Пример #1
0
 /**
  * @copydoc GridConfig::__construct
  */
 public function __construct($config, $className, $moduleName)
 {
     parent::__construct($config, $className, $moduleName);
     $this->registerState('domains', array('/domains/[any]/', '/[site_id]/domains/[any]/'));
     $this->registerState('go', array('/goto/[site_id]/'));
 }
Пример #2
0
 /**
  * 
  * Enter description here ...
  * @param unknown_type $uiConfig
  * @return GridConfig
  */
 public function getGridConfig($uiConfig = 'default')
 {
     if (!isset($this->_gridconfig[$this->_modelName][$uiConfig])) {
         $uiconfig = $this->getConfig();
         $tmpconfig = @$uiconfig->config->ui->{$uiConfig};
         if ($tmpconfig instanceof Zend_Config) {
             //	echo "C1";
             $config = $tmpconfig;
         } else {
             //	echo "C2";
             $config = $config->config;
         }
         $parentUI = $config->parentui;
         // print_r($config);
         // echo $uiConfig;
         $parentconfig = null;
         if (trim($parentUI) != '') {
             $parentconfig = @$uiconfig->config->ui->{$parentUI};
             $config = $parentconfig->mergeWith($config);
         }
         //  $tmpconfig->mergeWith($otherConfig)
         //=  Zend_Config::merge( $parentconfig,$config);
         // print_r($parentconfig);
         $gridconfig = new GridConfig();
         if (isset($config->grid->config) and is_array($config->grid->config->toArray())) {
             foreach ($config->grid->config->toArray() as $key => $val) {
                 $gridconfig->{$key} = $val;
             }
         }
         if (isset($config->grid->columns)) {
             foreach ($config->grid->columns as $name => $field) {
                 $field->id = $name;
                 $gridconfig->addfield($name, $field);
             }
         } elseif (isset($config->grid->field)) {
             foreach ($config->grid->field as $name => $field) {
                 $gridconfig->addfield($name, $field);
             }
             // print_r($Gridfields);
         }
         if (isset($config->grid->plugins)) {
             $plugins = $config->grid->plugins->script->toArray();
             //print_r($plugins);
             //echo  count($plugins['script']);
             if (isset($config->grid->plugins->script->name)) {
                 $script = $config->grid->plugins->script;
                 $gridscript = new GridScript();
                 $gridscript->name = $script->name;
                 if (isset($script->param->name)) {
                     $gridscript->addParam($script->param->name);
                 } else {
                     foreach ($script->param as $param) {
                         $gridscript->addParam($param->name);
                     }
                 }
                 $gridconfig->addscript($gridscript);
             } else {
                 foreach ($config->grid->plugins->script as $script) {
                     $gridscript = new GridScript();
                     $gridscript->name = $script->name;
                     // echo $script->name ,"\n";
                     // echo $script->param->name,"\n";
                     if (isset($script->param->name)) {
                         $gridscript->addParam($script->param->name);
                     } else {
                         foreach ($script->param as $param) {
                             // echo $param->name,"\n";
                             $gridscript->addParam($param->name);
                         }
                     }
                     // print_r($gridscript);
                     $gridconfig->addscript($gridscript);
                 }
             }
             // print_r($Gridfields);
         }
         if (isset($config->grid->actions)) {
             $actions = $config->grid->actions->toArray();
             foreach ($actions as $actionName => $allow) {
                 //die(" $actionName => $allow ");
                 $isallow = $allow == 'disabled' ? 'disabled' : 'enabled';
                 $gridconfig->addActionIcon($actionName, $isallow);
             }
         }
         $this->_gridconfig[$this->_modelName][$uiConfig] = $gridconfig;
     }
     return $this->_gridconfig[$this->_modelName][$uiConfig];
 }