Exemple #1
0
 public function handleAttached(Form $form)
 {
     $presenters = array();
     foreach ($form->presenter->context->findByTag('presenter') as $name => $item) {
         if (substr($name, -7) === 'Factory') {
             $name = substr($name, 0, -7);
         }
         $presenter = $this->presenterFactory->formatPresenterFromServiceName($name);
         $class = $this->presenterFactory->getPresenterClass($presenter);
         if (!is_subclass_of($class, '\\CmsModule\\Content\\Presenters\\PagePresenter')) {
             continue;
         }
         $name = substr($name, 0, -9);
         $name = explode('.', $name);
         $name = implode(':', $name);
         $presenters[$name] = $name;
     }
     $components = array();
     foreach ($this->widgetManager->getWidgets() as $name => $factory) {
         $components[$factory['class']] = ucfirst($name) . 'Control';
     }
     $form['presenter']->setItems($presenters);
     $form['component']->setItems($components);
     $module = $form['target']->value ? $form['target']->value : key($this->modules);
     $form['layout']->setItems(array_keys($this->templateManager->getLayoutsByModule($module)), FALSE)->setDisabled(FALSE)->setPrompt('-- All --');
 }
Exemple #2
0
 /**
  * Array of all resources.
  *
  * @return array
  */
 protected function scanResources()
 {
     $ret = array();
     foreach ($this->presenterFactory->getPresenters() as $class => $name) {
         $schema = $this->reader->getSchema($class);
         foreach ($schema as $item) {
             if (!array_key_exists($item['resource'], $ret)) {
                 $ret[$item['resource']] = array();
             }
             $ret[$item['resource']] = array_unique(array_merge($ret[$item['resource']], $item['privilege'] ? (array) $item['privilege'] : array()));
         }
     }
     return $ret;
 }