/**
  * Constructor
  */
 public function __construct($options = null)
 {
     $this->core = Zend_Registry::get('Core');
     /**
      * Zend_Form_SubForm
      */
     parent::__construct($options);
     /**
      * Use our own PluginLoader
      */
     $objLoader = new PluginLoader();
     $objLoader->setPluginLoader($this->getPluginLoader(PluginLoader::TYPE_FORM_ELEMENT));
     $objLoader->setPluginType(PluginLoader::TYPE_FORM_ELEMENT);
     $this->setPluginLoader($objLoader, PluginLoader::TYPE_FORM_ELEMENT);
     /**
      * clear all decorators
      */
     $this->clearDecorators();
     /**
      * add standard decorators
      */
     $this->addDecorator('FormElements')->addDecorator('Tab');
     /**
      * add prefix path to own elements
      */
     //$this->addPrefixPath('Form_Element', '', 'element');
     /**
      * elements prefixes
      */
     $this->addElementPrefixPath('Form_Decorator', dirname(__FILE__) . '/decorators/', 'decorator');
     /**
      * regions prefixes
      */
     $this->addDisplayGroupPrefixPath('Form_Decorator', dirname(__FILE__) . '/decorators/');
 }
 /**
  * constructor
  * @param $spec
  * @param $options
  */
 public function __construct($spec, $options = null)
 {
     $objLoader = new PluginLoader();
     $objLoader->setPluginLoader($this->getPluginLoader(PluginLoader::TYPE_FORM_DECORATOR));
     $objLoader->setPluginType(PluginLoader::TYPE_FORM_DECORATOR);
     $this->setPluginLoader($objLoader, PluginLoader::TYPE_FORM_DECORATOR);
     parent::__construct($spec, $options);
 }
 /**
  * initForm
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0
  */
 protected function initForm()
 {
     $this->objForm = new Zend_Form();
     /**
      * Use our own PluginLoader
      */
     $objLoader = new PluginLoader();
     $objLoader->setPluginLoader($this->objForm->getPluginLoader(PluginLoader::TYPE_FORM_ELEMENT));
     $objLoader->setPluginType(PluginLoader::TYPE_FORM_ELEMENT);
     $this->objForm->setPluginLoader($objLoader, PluginLoader::TYPE_FORM_ELEMENT);
     /**
      * clear all decorators
      */
     $this->objForm->clearDecorators();
     /**
      * add standard decorators
      */
     $this->objForm->addDecorator('TabContainer');
     $this->objForm->addDecorator('FormElements');
     $this->objForm->addDecorator('Form');
     /**
      * add form prefix path
      */
     $this->objForm->addPrefixPath('Form_Decorator', GLOBAL_ROOT_PATH . 'library/massiveart/generic/forms/decorators/', 'decorator');
     /**
      * elements prefixes
      */
     $this->objForm->addElementPrefixPath('Form_Decorator', GLOBAL_ROOT_PATH . 'library/massiveart/generic/forms/decorators/', 'decorator');
     /**
      * regions prefixes
      */
     $this->objForm->addDisplayGroupPrefixPath('Form_Decorator', GLOBAL_ROOT_PATH . 'library/massiveart/generic/forms/decorators/');
     $this->objForm->setAttrib('id', 'genForm');
     $this->objForm->setAttrib('onsubmit', 'return false;');
     $this->objForm->addElement('hidden', 'id', array('decorators' => array('Hidden')));
     $this->objForm->addElement('text', 'title', array('label' => $this->core->translate->_('title', false), 'decorators' => array('Input'), 'columns' => 12, 'class' => 'text keyfield', 'required' => true));
     $this->objForm->addElement('text', 'key', array('label' => $this->core->translate->_('key', false), 'decorators' => array('Input'), 'columns' => 12, 'class' => 'text', 'required' => true));
     $this->objForm->addDisplayGroup(array('title', 'key'), 'main-resource');
     $this->objForm->getDisplayGroup('main-resource')->setLegend($this->core->translate->_('General_information', false));
     $this->objForm->getDisplayGroup('main-resource')->setDecorators(array('FormElements', 'Region'));
     $arrGroups = array();
     $sqlStmt = $this->core->dbh->query("SELECT `id`, `title` FROM `groups` ORDER BY `title`")->fetchAll();
     foreach ($sqlStmt as $arrSql) {
         $arrGroups[$arrSql['id']] = $arrSql['title'];
     }
     $this->objForm->addElement('multiCheckbox', 'groups', array('label' => $this->core->translate->_('groups', false), 'value' => $this->arrGroups, 'decorators' => array('Input'), 'columns' => 6, 'class' => 'multiCheckbox', 'MultiOptions' => $arrGroups));
     $this->objForm->addDisplayGroup(array('groups'), 'groups-group');
     $this->objForm->getDisplayGroup('groups-group')->setLegend($this->core->translate->_('Resource_groups', false));
     $this->objForm->getDisplayGroup('groups-group')->setDecorators(array('FormElements', 'Region'));
 }
Esempio n. 4
0
 /**
  * Get the front controller instance
  */
 $front = Zend_Controller_Front::getInstance();
 $front->setControllerDirectory('../application/website/default/controllers');
 $front->addControllerDirectory('../application/zoolu/modules/core/controllers', 'zoolu');
 $front->addModuleDirectory('../application/zoolu/modules');
 /**
  * add helper path
  */
 $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer(new Zend_View());
 /**
  * Add the own plugin loader
  */
 $objLoader = new PluginLoader();
 $objLoader->setPluginLoader($viewRenderer->view->getPluginLoader(PluginLoader::TYPE_FORM_HELPER));
 $objLoader->setPluginType(PluginLoader::TYPE_FORM_HELPER);
 $viewRenderer->view->setPluginLoader($objLoader, PluginLoader::TYPE_FORM_HELPER);
 //$viewRenderer->view->addHelperPath('../library/massiveart/generic/forms/helpers', 'Form_Helper');
 Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
 /**
  * if log priority is DEBUG and firebug logging is true add firebug writer to logger
  * (needs an instance of Zend_Controller_Front)
  */
 if ($sysConfig->logger->priority == Zend_Log::DEBUG && $sysConfig->logger->firebug == 'true') {
     $writerFireBug = new Zend_Log_Writer_Firebug();
     $core->logger->addWriter($writerFireBug);
 }
 /**
  * Routing for modules (cms, blog, ...)
  */
 /**
  * Constructor
  */
 public function __construct($options = null)
 {
     $this->core = Zend_Registry::get('Core');
     /**
      * Zend_Form
      */
     parent::__construct($options);
     /**
      * Use our own PluginLoader
      */
     $objLoader = new PluginLoader();
     $objLoader->setPluginLoader($this->getPluginLoader(PluginLoader::TYPE_FORM_ELEMENT));
     $objLoader->setPluginType(PluginLoader::TYPE_FORM_ELEMENT);
     $this->setPluginLoader($objLoader, PluginLoader::TYPE_FORM_ELEMENT);
     /**
      * new generic setup object
      */
     $this->setup = new GenericSetup();
     /**
      * clear all decorators
      */
     $this->clearDecorators();
     /**
      * add standard decorators
      */
     $this->addDecorator('TabContainer');
     $this->addDecorator('FormElements');
     $this->addDecorator('Form');
     /**
      * add form prefix path
      */
     $this->addPrefixPath('Form_Decorator', dirname(__FILE__) . '/decorators/', 'decorator');
     /**
      * add prefix path for own elements
      */
     //$this->addPrefixPath('Form_Element', dirname(__FILE__).'/elements/', 'element');
     /**
      * elements prefixes
      */
     $this->addElementPrefixPath('Form_Decorator', dirname(__FILE__) . '/decorators/', 'decorator');
     /**
      * regions prefixes
      */
     $this->addDisplayGroupPrefixPath('Form_Decorator', dirname(__FILE__) . '/decorators/');
     $this->setAttrib('id', 'genForm');
     $this->setAttrib('onsubmit', 'return false;');
 }
 /**
  * initForm
  * @author Thomas Schedler <*****@*****.**>
  * @version 1.0
  */
 protected function initForm()
 {
     $this->objForm = new Zend_Form();
     /**
      * Use our own PluginLoader
      */
     $objLoader = new PluginLoader();
     $objLoader->setPluginLoader($this->objForm->getPluginLoader(PluginLoader::TYPE_FORM_ELEMENT));
     $objLoader->setPluginType(PluginLoader::TYPE_FORM_ELEMENT);
     $this->objForm->setPluginLoader($objLoader, PluginLoader::TYPE_FORM_ELEMENT);
     /**
      * clear all decorators
      */
     $this->objForm->clearDecorators();
     /**
      * add standard decorators
      */
     $this->objForm->addDecorator('TabContainer');
     $this->objForm->addDecorator('FormElements');
     $this->objForm->addDecorator('Form');
     /**
      * add form prefix path
      */
     $this->objForm->addPrefixPath('Form_Decorator', GLOBAL_ROOT_PATH . 'library/massiveart/generic/forms/decorators/', 'decorator');
     /**
      * elements prefixes
      */
     $this->objForm->addElementPrefixPath('Form_Decorator', GLOBAL_ROOT_PATH . 'library/massiveart/generic/forms/decorators/', 'decorator');
     /**
      * regions prefixes
      */
     $this->objForm->addDisplayGroupPrefixPath('Form_Decorator', GLOBAL_ROOT_PATH . 'library/massiveart/generic/forms/decorators/');
     $arrGroupTypeOptions = array();
     $sqlStmt = $this->core->dbh->query("SELECT `id`, `title` FROM `groupTypes`")->fetchAll();
     foreach ($sqlStmt as $arrSql) {
         $arrGroupTypeOptions[$arrSql['id']] = ucfirst($arrSql['title']);
     }
     $this->objForm->setAttrib('id', 'genForm');
     $this->objForm->setAttrib('onsubmit', 'return false;');
     $this->objForm->addElement('hidden', 'id', array('decorators' => array('Hidden')));
     $this->objForm->addElement('text', 'title', array('label' => $this->core->translate->_('title', false), 'decorators' => array('Input'), 'columns' => 12, 'class' => 'text keyfield', 'required' => true));
     $this->objForm->addElement('text', 'key', array('label' => $this->core->translate->_('key', false), 'decorators' => array('Input'), 'columns' => 12, 'class' => 'text', 'required' => true));
     $this->objForm->addElement('textarea', 'description', array('label' => $this->core->translate->_('description', false), 'decorators' => array('Input'), 'columns' => 12, 'class' => 'text'));
     $this->objForm->addElement('multiCheckbox', 'groupTypes', array('label' => $this->core->translate->_('groupTypes', false), 'value' => $this->arrGroupTypes, 'decorators' => array('Input'), 'columns' => 6, 'class' => 'multiCheckbox', 'MultiOptions' => $arrGroupTypeOptions));
     $this->objForm->addDisplayGroup(array('title', 'key', 'description', 'groupTypes'), 'main-group', array('columns' => 9));
     $this->objForm->getDisplayGroup('main-group')->setLegend($this->core->translate->_('General_information', false));
     $this->objForm->getDisplayGroup('main-group')->setDecorators(array('FormElements', 'Region'));
     $arrPermissionOptions = array();
     $sqlStmt = $this->core->dbh->query("SELECT `id`, UCASE(`title`) AS title FROM `permissions`")->fetchAll();
     foreach ($sqlStmt as $arrSql) {
         $arrPermissionOptions[$arrSql['id']] = $arrSql['title'];
     }
     $arrLanguageOptions = array();
     $arrLanguageOptions['0'] = $this->core->translate->_('All_languages', false);
     $sqlStmt = $this->core->dbh->query("SELECT `id`, `title` FROM `languages`")->fetchAll();
     foreach ($sqlStmt as $arrSql) {
         $arrLanguageOptions[$arrSql['id']] = $arrSql['title'];
     }
     $strRegionInstances = '';
     $intRegionCounter = 0;
     /**
      * create group permisson regions
      */
     foreach ($this->arrPermissions as $arrPermission) {
         $intRegionCounter++;
         $this->objForm->addElement('radio', 'language_' . $intRegionCounter, array('label' => $this->core->translate->_('language', false), 'value' => $arrPermission['language'], 'decorators' => array('Input'), 'columns' => 6, 'class' => 'radio', 'MultiOptions' => $arrLanguageOptions));
         $this->objForm->addElement('multiCheckbox', 'permissions_' . $intRegionCounter, array('label' => $this->core->translate->_('permissions', false), 'value' => $arrPermission['permissions'], 'decorators' => array('Input'), 'columns' => 6, 'class' => 'multiCheckbox', 'MultiOptions' => $arrPermissionOptions));
         $this->objForm->addDisplayGroup(array('language_' . $intRegionCounter, 'permissions_' . $intRegionCounter), 'Permission_' . $intRegionCounter, array('columns' => 9, 'regionTypeId' => 1, 'collapsable' => 0, 'regionCounter' => $intRegionCounter, 'regionId' => 'Permission', 'regionExt' => $intRegionCounter, 'isMultiply' => true, 'regionTitle' => $this->core->translate->_('Language_specific', false)));
         $this->objForm->getDisplayGroup('Permission_' . $intRegionCounter)->setLegend($this->core->translate->_('Permissions', false));
         $this->objForm->getDisplayGroup('Permission_' . $intRegionCounter)->setDecorators(array('FormElements', 'Region'));
         $strRegionInstances .= '[' . $intRegionCounter . ']';
     }
     $this->objForm->addElement('radio', 'language_REPLACE_n', array('label' => $this->core->translate->_('language', false), 'decorators' => array('Input'), 'columns' => 6, 'class' => 'radio', 'MultiOptions' => $arrLanguageOptions));
     $this->objForm->addElement('multiCheckbox', 'permissions_REPLACE_n', array('label' => $this->core->translate->_('permissions', false), 'decorators' => array('Input'), 'columns' => 6, 'class' => 'multiCheckbox', 'MultiOptions' => $arrPermissionOptions));
     $this->objForm->addDisplayGroup(array('language_REPLACE_n', 'permissions_REPLACE_n'), 'Permission_REPLACE_n', array('columns' => 9, 'regionTypeId' => 1, 'collapsable' => 0, 'regionId' => 'Permission', 'regionExt' => 'REPLACE_n', 'isMultiply' => true, 'isEmptyWidget' => true, 'regionTitle' => $this->core->translate->_('Language_specific', false)));
     $this->objForm->getDisplayGroup('Permission_REPLACE_n')->setLegend('Rechte');
     $this->objForm->getDisplayGroup('Permission_REPLACE_n')->setDecorators(array('FormElements', 'Region'));
     $this->objForm->addElement('hidden', 'Region_Permission_Instances', array('value' => $strRegionInstances, 'decorators' => array('Hidden')));
     $this->objForm->addElement('hidden', 'Region_Permission_Order', array('value' => '', 'decorators' => array('Hidden')));
 }