GcModule\Form\Module::init PHP Method

init() public method

Init Module form
public init ( ) : void
return void
    public function init()
    {
        $this->setAttribute('class', 'relative');
        $fileInfo = new Info();
        $modulesInfos = array();
        $options = array('' => 'Select an option');
        foreach ($this->getServiceLocator()->get('ModulesList') as $path => $dir) {
            $options[$dir] = $dir;
            $configFile = $path . '/module.info';
            if ($fileInfo->fromFile($configFile) === true) {
                $modulesInfos[$dir] = $fileInfo->render();
            }
        }
        $collection = new ModuleCollection();
        $modules = $collection->getModules();
        foreach ($modules as $module) {
            if (in_array($module->getName(), $options)) {
                unset($options[$module->getName()]);
                unset($modulesInfos[$module->getName()]);
            }
        }
        $module = new Element\Select('module');
        $module->setLabel('Module')->setLabelAttributes(array('class' => 'required'));
        $module->setAttribute('id', 'module')->setAttribute('class', 'form-control')->setAttribute('modules_info', $modulesInfos)->setValueOptions($options);
        $this->add($module);
        $inputFilterFactory = new InputFilterFactory();
        $inputFilter = $inputFilterFactory->createInputFilter(array('module' => array('name' => 'module', 'required' => true, 'validators' => array(array('name' => 'not_empty')))));
        $this->setInputFilter($inputFilter);
    }

Usage Example

Beispiel #1
0
 /**
  * Test
  *
  * @return void
  */
 public function testInit()
 {
     $moduleModel = ModuleModel::fromArray(array('name' => 'Sitemap'));
     $moduleModel->save();
     $this->assertNull($this->object->init());
     $moduleModel->delete();
 }
Module