public static function location($module, $function = null, array $arguments = null, array $constructor_args = null, array $other_href_args = array()) { return location(array_merge($other_href_args, Base_BoxCommon::create_href_array(null, $module, $function, $arguments, $constructor_args))); }
} public static function homepage_icon() { Utils_ShortcutCommon::add(array('Ctrl', 'H'), 'function(){' . Module::create_href_js(array('Base_HomePage_load' => '1')) . '}'); } public static function get_my_homepage() { $clearance = Base_AclCommon::get_clearance(); $sql = 'SELECT home_page FROM base_home_page AS bhp WHERE '; $vals = array(); if ($clearance != null) { $sql .= ' NOT EXISTS (SELECT * FROM base_home_page_clearance WHERE home_page_id=bhp.id AND ' . implode(' AND ', array_fill(0, count($clearance), 'clearance!=%s')) . ')'; $vals = array_values($clearance); } else { $sql .= ' NOT EXISTS (SELECT * FROM base_home_page_clearance WHERE home_page_id=bhp.id)'; } $sql .= ' ORDER BY priority'; $page = DB::GetOne($sql, $vals); $pages = self::get_home_pages(); return isset($pages[$page]) ? $pages[$page] : array(); } public static function get_href() { return Module::create_href(array('Base_HomePage_load' => '1')); } } if (isset($_REQUEST['Base_HomePage_load'])) { unset($_REQUEST['Base_HomePage_load']); $_REQUEST = array_merge($_REQUEST, Base_BoxCommon::create_href_array(null, Base_BoxCommon::get_main_module_name())); } on_init(array('Base_HomePageCommon', 'homepage_icon'));
public static function create_href_js($mod, $arr, $ret = 'js') { $main_mod = $arr['box_main_module']; unset($arr['box_main_module']); if (isset($arr['box_main_function'])) { $main_func = $arr['box_main_function']; unset($arr['box_main_function']); } else { $main_func = null; } if (isset($arr['box_main_arguments'])) { $main_args = $arr['box_main_arguments']; unset($arr['box_main_arguments']); } else { $main_args = null; } if (isset($arr['box_main_constructor_arguments'])) { $constr_args = $arr['box_main_constructor_arguments']; unset($arr['box_main_constructor_arguments']); } else { $constr_args = null; } switch ($ret) { case 'js': return $mod->create_main_href_js($main_mod, $main_func, $main_args, $constr_args, $arr); case 'href': return $mod->create_main_href($main_mod, $main_func, $main_args, $constr_args, $arr); case 'array': return array_merge($arr, Base_BoxCommon::create_href_array($mod, $main_mod, $main_func, $main_args, $constr_args)); } return ''; }