Example #1
0
 /**
  * Generic factory for first order media subcomponents
  * @param string $name
  * @return mixed
  */
 public function createComponent($name)
 {
     $nsClassName = 'Bubo\\Media\\Components\\' . ucfirst($name);
     if (class_exists($nsClassName)) {
         return new $nsClassName($this, $name);
     }
     return parent::createComponent($name);
 }
Example #2
0
 /**
  * Generic factory for popup forms
  * @param string $name
  * @return mixed
  */
 public function createComponent($name)
 {
     if (preg_match('([a-zA-Z0-9]+Form)', $name)) {
         // detect section
         $classname = "Bubo\\Media\\Components\\Content\\PopUp\\" . ucfirst($name);
         if (class_exists($classname)) {
             $form = new $classname($this, $name);
             //$section->setTranslator($this->presenter->context->translator);
             return $form;
         }
     }
     return parent::createComponent($name);
 }
Example #3
0
 /**
  * Factory method for all context menus
  * 
  * @param type $name
  * @return classname 
  */
 public function createComponent($name)
 {
     if (preg_match('#([a-zA-Z0-9]+ContextMenu)_([^_]+)_([^_]+)#', $name, $matches)) {
         $className = $matches[1];
         $menuSelector = $matches[2];
         $snippetName = $matches[3];
         $classname = "ContextMenu\\" . ucfirst($className);
         if (class_exists($classname)) {
             $contextMenu = new $classname($this, $name, $menuSelector, $snippetName);
             return $contextMenu;
         }
     } else {
         return parent::createComponent($name);
     }
 }