Пример #1
0
function auth_get_modules($site_id = 0, $is_front = null, $mod_type = null, $is_admin = null, $mcat_id = null)
{
    $user_id = get_login_id();
    if (empty($user_id)) {
        return null;
    }
    $available_funcs = auth_get_functions($user_id, $site_id);
    if (empty($available_funcs)) {
        return null;
    }
    $sql_values = "'" . implode("','", $available_funcs) . "'";
    $sql = "SELECT DISTINCT m.mod_id, m.mod_name, m.mcat_id, m.mod_order FROM sys_functions AS f, sys_modules AS m ";
    $sql .= "WHERE mod_enable = 1 AND func_id IN ({$sql_values}) AND f.mod_id = m.mod_id ";
    if (isset($is_admin)) {
        $sql .= "AND m.mod_admin = '" . ($is_admin ? 1 : 0) . "' ";
    }
    if (isset($is_front)) {
        $sql .= "AND mod_frontname IS " . ($is_front ? "NOT" : "") . " NULL ";
    }
    if (isset($mod_type)) {
        $mod_type = addslashes($mod_type);
        $sql .= "AND m.mod_type = '{$mod_type}' ";
    }
    if (isset($mcat_id)) {
        $mcat_id = addslashes($mcat_id);
        $sql .= "AND m.mcat_id = '{$mcat_id}' ";
    }
    //避免在子站出現不支援的功能
    if ($site_id > 0) {
        $sql .= "AND m.mod_multi_site = '1' ";
    }
    $sql .= "ORDER BY m.mod_order, f.func_order";
    $db = init_db();
    $results = $db->get_results($sql);
    if (isset($results)) {
        foreach ($results as $row) {
            $sub_funcs = auth_get_func_calls($site_id, $row->mod_id);
            $data[] = array('mod_id' => $row->mod_id, 'mcat_id' => $row->mcat_id, 'mod_name' => $row->mod_name, 'mod_order' => $row->mod_order, 'func_call' => $sub_funcs);
        }
    }
    return $data;
}
Пример #2
0
			<ul>
			<li>
			<a href="javascript:popup('<?php 
echo WEBROOT . "/cms/admin/content/inc/page2-online.php?cmsid=-2&order=0&action=edit";
?>
','',600,400);"><?php 
echo "1.0 關於我們(影音)";
?>
</a>
			</li>
			</ul>
			</li>
<?php 
//抓取其擁有的權限
$counter = 2;
$funcs = auth_get_functions();
//抓取plugin之xml
foreach ($sx->plugin as $plugin) {
    if (in_array($plugin['folder'], $funcs) || is_maintainer()) {
        if ($plugin->active == 'on') {
            $folder = $plugin['folder'];
            $file = $plugin->front;
            $admin = $plugin->admin;
            $sub_counter = 0;
            $pattern = '/^\\//i';
            if (preg_match($pattern, $admin)) {
                $adminUrl = $admin;
            } else {
                $adminUrl = $_SERVER['WEBROOT'] . '/cms/admin/index.php?pluName=' . $folder . '&pluAdmin=' . $admin . '&time=' . time();
            }
            ?>