Пример #1
0
 public function form()
 {
     $timezoneList = timezone_identifiers_list();
     sort($timezoneList);
     $timezoneList = array_combine($timezoneList, $timezoneList);
     // Общие настроки
     $ret = array('elements' => array(Form::tab(Yii::t('cms', 'General settings')), 'sitename' => array('type' => 'text', 'size' => 60), 'adminEmail' => array('type' => 'text', 'size' => 60), 'language' => array('type' => 'LanguageSelect', 'empty' => null), 'timezone' => array('type' => 'dropdownlist', 'items' => $timezoneList), 'autoSave' => array('type' => 'checkbox'), 'slugTransliterate' => array('type' => 'checkbox'), 'slugLowercase' => array('type' => 'checkbox'), 'pageOnError403' => array('type' => 'PageSelect'), 'pageOnError404' => array('type' => 'PageSelect'), Form::tab(Yii::t('cms', 'Appearance')), 'theme' => array('type' => 'ThemeSelect', 'empty' => null), 'defaultsPerPage' => array('type' => 'Slider', 'options' => array('min' => 1, 'max' => 50)), 'showWidgetAppearance' => array('type' => 'checkbox'), 'ajaxPager' => array('type' => 'checkbox'), 'ajaxPagerScroll' => array('type' => 'checkbox'), Form::tab(Yii::t('cms', 'Users')), 'defaultsShowEmail' => array('type' => 'dropdownlist', 'items' => Role::builtInRoles()), 'defaultsSendMessage' => array('type' => 'dropdownlist', 'items' => Role::builtInRoles()), 'userExtraFields' => array('type' => 'FieldSet'), Form::tab(Yii::t('cms', 'Performance')), 'cacheTime' => array('type' => 'Slider', 'options' => array('min' => 0, 'max' => 3600, 'step' => 60), 'hint' => Yii::t('cms', 'in seconds, 0 = off, 3600 - one hour'))));
     // Настройки для юнитов
     $units = ContentUnit::getInstalledUnits();
     $ret['elements'][] = Form::tab(Yii::t('cms', 'Units settings'));
     foreach ($units as $unitClass) {
         if (method_exists($unitClass, 'settings')) {
             $elems = call_user_func(array($unitClass, 'settings'), $unitClass);
             if (is_array($elems) && !empty($elems)) {
                 $ret['elements'][] = Form::section(call_user_func(array($unitClass, 'name')));
                 foreach ($elems as $k => $elem) {
                     $ret['elements'][$unitClass . '.' . $k] = $elem;
                 }
             }
         }
     }
     return self::localizedForm($ret);
 }
Пример #2
0
        height: Math.ceil(\$(window).height()*0.5),
        width: 400
    });
    return false;
}
JS
) : null)));
$buttons = array('filemanager' => array('icon' => 'files', 'title' => Yii::t('cms', 'File manager'), 'click' => 'js:function()' . <<<JS
{
            var url = '/?r=files/manager&language={$language}';
            window.open( url, 'filemanager','width=950, height=550, location=0, status=no, toolbar=no, menubar=no, scrollbars=yes, resizable=yes');
            return false;
}
JS
));
$units = ContentUnit::getInstalledUnits(true);
$modelToolbars = '';
foreach ($units as $unitClassName => $unitName) {
    $widgets = call_user_func(array($unitClassName, 'widgets'));
    $models = array();
    foreach ($widgets as $widgetClassName) {
        $models[] = call_user_func(array($widgetClassName, 'modelClassName'));
    }
    $models = array_diff(call_user_func(array($unitClassName, 'models')), $models);
    foreach ($models as $modelClassName) {
        $buttons[$modelClassName] = array('icon' => 'data', 'title' => call_user_func(array($modelClassName, 'modelName')), 'click' => 'js:function()' . <<<JS
{
                        cmsLoadDialog('/?r=records/list&className={$modelClassName}&language={$language}');
                        return false;
}
JS
Пример #3
0
 public static function getInstalledModels($flatten = false)
 {
     $units = ContentUnit::getInstalledUnits(true);
     $return = array();
     $unitConfig = ContentUnit::loadConfig();
     foreach ($units as $unitClassName => $name) {
         $unit = array('className' => $unitClassName, 'name' => $name, 'icon' => call_user_func(array($unitClassName, 'icon')), 'models' => array());
         $dir = strtolower(substr($unitClassName, 4));
         $models = call_user_func(array($unitClassName, 'models'));
         foreach ($models as $className => $alias) {
             if (is_int($className)) {
                 $className = $alias;
                 $alias = $unitConfig[$unitClassName] . '.' . $dir . '.' . $className;
             }
             $unit['models'][] = array('className' => $className, 'name' => call_user_func(array($className, 'modelName')), 'icon' => call_user_func(array($className, 'icon')));
         }
         $return[] = $unit;
     }
     if ($flatten) {
         $units = $return;
         $models = array();
         foreach ($units as $unit) {
             foreach ($unit['models'] as $model) {
                 $models[$model['className']] = $model['name'];
             }
         }
         $return = $models;
     }
     return $return;
 }
Пример #4
0
 public static function getInstalledWidgets()
 {
     $units = ContentUnit::getInstalledUnits(true);
     $return = array();
     $unitConfig = ContentUnit::loadConfig();
     foreach ($units as $unitClassName => $name) {
         $unit = array('className' => $unitClassName, 'name' => $name, 'icon' => call_user_func(array($unitClassName, 'icon')), 'widgets' => array());
         $dir = strtolower(substr($unitClassName, 4));
         $widgets = call_user_func(array($unitClassName, 'widgets'));
         foreach ($widgets as $className => $alias) {
             if (is_int($className)) {
                 $className = $alias;
                 $alias = $unitConfig[$unitClassName] . '.' . $dir . '.' . $className;
             }
             $unit['widgets'][] = array('className' => $className, 'name' => call_user_func(array($className, 'name')), 'icon' => call_user_func(array($className, 'icon')));
         }
         $return[] = $unit;
     }
     return $return;
 }