Gc\Media\Info::render PHP Method

render() public method

Render info file to html
public render ( ) : string | false
return string | false
    public function render()
    {
        $infos = $this->getInfos();
        if (empty($infos) or !is_array($infos)) {
            return false;
        }
        $translator = Registry::get('Application')->getServiceManager()->get('MvcTranslator');
        $escaper = Registry::get('Application')->getServiceManager()->get('ViewManager')->getHelperManager()->get('escapehtml');
        $return = '<dl>';
        foreach ($infos as $key => $info) {
            if (!empty($this->optionsArray[$key])) {
                $return .= sprintf('<dt>%s</dt>', $translator->translate($this->optionsArray[$key]));
                if (!is_array($info)) {
                    $info = array($info);
                }
                foreach ($info as $value) {
                    $return .= sprintf('<dd>%s</dd>', $escaper($value));
                }
            } elseif (!empty($this->optionsString[$key])) {
                $return .= sprintf('<dt>%s</dt>', $translator->translate($this->optionsString[$key]));
                $return .= sprintf('<dd>%s</dd>', $escaper($info));
            } elseif (!empty($this->optionsLinks[$key])) {
                $return .= sprintf('<dt>%s</dt>', $translator->translate($this->optionsLinks[$key]));
                $return .= sprintf('<dd><a href="%s">%s</a></dd>', $escaper($info), $translator->translate($key));
            }
        }
        return $return .= '</dl>';
    }

Usage Example

Example #1
0
 /**
  * Init Module form
  *
  * @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);
 }
All Usage Examples Of Gc\Media\Info::render