Exemplo n.º 1
0
 public function render($position, $params = array(), $content = null)
 {
     $renderer = $this->_doc->loadRenderer('module');
     $buffer = '';
     foreach (MModuleHelper::getModules($position) as $mod) {
         $buffer .= $renderer->render($mod, $params, $content);
     }
     return $buffer;
 }
Exemplo n.º 2
0
 public static function startWidgets($option)
 {
     $modules = MModuleHelper::getModules();
     foreach ($modules as $module) {
         if (!is_object($module)) {
             continue;
         }
         if (!strpos($module->module, $option)) {
             continue;
         }
         $class_name = $module->module . '_widget';
         if (!defined($class_name)) {
             define($class_name, $class_name);
         }
         eval('class ' . $class_name . ' extends MWidget {public $class_name = ' . $class_name . ';};');
         add_action('widgets_init', create_function('', 'return register_widget(' . $class_name . ');'));
     }
 }
Exemplo n.º 3
0
 public function modulePreDisplay()
 {
     # check
     $option = MRequest::getCmd('option');
     if (!empty($option)) {
         return;
     }
     # get all sidebar widgets
     $sidebars_widgets = wp_get_sidebars_widgets();
     unset($sidebars_widgets['wp_inactive_widgets']);
     # get all miwi modules
     mimport('framework.application.module.helper');
     $modules = MModuleHelper::getModules();
     # load sidebar modules
     foreach ($modules as $module) {
         foreach ($sidebars_widgets as $_sidebars_widgets) {
             $is_in = preg_grep("/" . $module->id . "_widget./", $_sidebars_widgets);
             if (!empty($is_in)) {
                 MModuleHelper::renderModule($module);
                 $loaded[$module->id] = $module->id;
                 break;
             }
         }
     }
 }
Exemplo n.º 4
0
 public function countModules($condition)
 {
     $operators = '(\\+|\\-|\\*|\\/|==|\\!=|\\<\\>|\\<|\\>|\\<=|\\>=|and|or|xor)';
     $words = preg_split('# ' . $operators . ' #', $condition, null, PREG_SPLIT_DELIM_CAPTURE);
     for ($i = 0, $n = count($words); $i < $n; $i += 2) {
         // odd parts (modules)
         $name = strtolower($words[$i]);
         $words[$i] = isset(parent::$_buffer['modules'][$name]) && parent::$_buffer['modules'][$name] === false ? 0 : count(MModuleHelper::getModules($name));
     }
     $str = 'return ' . implode(' ', $words) . ';';
     return eval($str);
 }