Example #1
0
 /**
  * Applique les différents filtres du thème courant
  *
  * @return void
  */
 private static function applyTheme()
 {
     if (function_exists('boxTemplate')) {
         $boxTemplate = call_user_func('boxTemplate');
     } else {
         throw new PubwichErreur(Pubwich::__('You must define a boxTemplate function in your theme\'s functions.php file.'));
     }
     foreach (self::$classes as $classe) {
         $functions = array();
         $parent = get_parent_class($classe);
         $classname = get_class($classe);
         $variable = $classe->getVariable();
         if (!$classe->getBoxTemplate()->hasTemplate() && $boxTemplate) {
             $classe->setBoxTemplate($boxTemplate);
         }
         if ($parent != 'Service') {
             $functions = array($parent, $parent . '_' . $classname, $parent . '_' . $classname . '_' . $variable);
         } else {
             $functions = array($classname, $classname . '_' . $variable);
         }
         foreach ($functions as $f) {
             $box_f = $f . '_boxTemplate';
             $item_f = $f . '_itemTemplate';
             if (function_exists($box_f)) {
                 $classe->setBoxTemplate(call_user_func($box_f));
             }
             if (function_exists($item_f)) {
                 $classe->setItemTemplate(call_user_func($item_f));
             }
         }
     }
 }