source: trunk/studio/classes/BxDolStudioUtils.php @ 15958

Last change on this file since 15958 was 15958, checked in by Anton Lesnikov, 3 years ago

"Sorting and Filter Selects" checklist

File size: 3.0 KB
Line 
1<?php
2/**
3 * Copyright (c) BoonEx Pty Limited - http://www.boonex.com/
4 * CC-BY License - http://creativecommons.org/licenses/by/3.0/
5 *
6 * @defgroup    DolphinStudio Dolphin Studio
7 * @{
8 */
9defined('BX_DOL') or die('hack attempt');
10
11bx_import('BxDol');
12
13define('BX_DOL_STUDIO_MODULE_SYSTEM', 'system');
14define('BX_DOL_STUDIO_MODULE_CUSTOM', 'custom');
15
16class BxDolStudioUtils extends BxDol {
17    function __construct() {
18        parent::BxDol();
19    }
20
21    public static function getSystemName($sValue) {
22        return str_replace(' ', '_', strtolower($sValue));
23    }
24
25    public static function getClassName($sValue) {
26        return str_replace(' ', '', ucwords(str_replace('_', ' ', $sValue)));
27    }
28
29    public static function getModuleIcon($sName, $sType = 'menu') {
30        $aType2Prefix = array('menu' => 'mi', 'page' => 'pi');
31   
32        $oTemplate = BxDolStudioTemplate::getInstance();
33        $sDefaultIcon = $oTemplate->getIconUrl($aType2Prefix[$sType] . '-mod-empty.png'); 
34   
35        bx_import('BxDolModuleQuery');
36        $aModule = BxDolModuleQuery::getInstance()->getModuleByName($sName);
37        if(!empty($aModule))
38            return $sDefaultIcon;
39   
40        $sModuleIcon = isset($aModule['path']) ? $oTemplate->getIconUrl('modules/' . $aModule['path'] . '|std-' . $aType2Prefix[$sType] . '.png') : '';
41        return !empty($sModuleIcon) ? $sModuleIcon : $sDefaultIcon;
42    }
43
44    public static function getModuleTitle($sName) {
45        $sPrefix = '_adm_txt_module_';
46   
47        if(in_array($sName, array(BX_DOL_STUDIO_MODULE_SYSTEM, BX_DOL_STUDIO_MODULE_CUSTOM)))
48            return _t($sPrefix . $sName);
49   
50        bx_import('BxDolModuleQuery');
51        $aModule = BxDolModuleQuery::getInstance()->getModuleByName($sName);
52        if(!empty($aModule))
53            return $aModule['title'];
54   
55        return _t($sPrefix . strtolower($sName));
56    }
57
58    public static function getModules($bShowCustom = true, $bShowSystem = true) {
59        $aResult = array();
60   
61        if($bShowSystem)
62            $aResult[BX_DOL_STUDIO_MODULE_SYSTEM] = self::getModuleTitle(BX_DOL_STUDIO_MODULE_SYSTEM);
63   
64        if($bShowCustom)
65            $aResult[BX_DOL_STUDIO_MODULE_CUSTOM] = self::getModuleTitle(BX_DOL_STUDIO_MODULE_CUSTOM);
66   
67        bx_import('BxDolModuleQuery');
68        $aModules = BxDolModuleQuery::getInstance()->getModulesBy(array('type' => 'modules', 'active' => 1));
69        foreach($aModules as $aModule)
70            $aResult[$aModule['name']] = $aModule['title'];
71   
72        return $aResult;
73    }
74
75    public static function addInArray($aInput, $sKey, $aValues) {
76        reset($aInput);
77        $iInput = count($aInput);
78        for($i = 0; $i < $iInput; $i++, next($aInput))
79            if(key($aInput) == $sKey)
80                break;
81   
82        $aOutput = array_slice($aInput, 0, $i + 1);
83        $aOutput = array_merge($aOutput, $aValues);
84        $aOutput = array_merge($aOutput, array_slice($aInput, $i + 1));
85   
86        return $aOutput;
87    }
88}
89/** @} */
Note: See TracBrowser for help on using the repository browser.