$rs = $db->SelectLimit($sql, LINKS_PER_PAGE, LINKS_PER_PAGE * ($page - 1)); $list = $rs->GetAssoc(true); // Go through each link to get category path foreach ($list as $category => $category_row) { $list[$category]['CATEGORY_PATH'] = get_path($list[$category]['CATEGORY_ID']); } $tpl->assign('list', $list); } else { $list_total = $db->GetOne("SELECT COUNT(*) FROM `{$tables['user_permission']['name']}` {$where} AND (" . str_replace("ID", "CATEGORY_ID", $_SESSION['user_grant_permission']) . ")"); $page = get_page($list_total); $tpl->assign('list_limit', LINKS_PER_PAGE); $tpl->assign('list_total', $list_total); $sql = "SELECT U.*, " . $db->IfNull('C.TITLE', "'Top'") . " AS CATEGORY FROM {$tables['user_permission']['name']} AS U LEFT OUTER JOIN {$tables['category']['name']} AS C ON U.CATEGORY_ID = C.ID {$where} AND (" . str_replace("ID", "U.CATEGORY_ID", $_SESSION['user_grant_permission']) . ") {$orderBy}"; $rs = $db->SelectLimit($sql, LINKS_PER_PAGE, LINKS_PER_PAGE * ($page - 1)); $list = $rs->GetAssoc(true); // Go through each link to get category path foreach ($list as $category => $category_row) { $list[$category]['CATEGORY_PATH'] = get_path($list[$category]['CATEGORY_ID']); } $tpl->assign('list', $list); } $categs = get_grant_categs_tree(0); $tpl->assign('categs', $categs); $user_detail = $db->GetRow("SELECT `LOGIN`, `NAME` FROM `{$tables['user']['name']}` WHERE `ID` = " . $db->qstr($u)); $tpl->assign('user_detail', $user_detail); $content = $tpl->fetch('conf_user_permissions.tpl'); $tpl->assign('content', $content); //Clean whitespace $tpl->loadFilter('output', 'trimwhitespace'); //Make output echo $tpl->fetch('main.tpl');
function get_grant_categs_tree($id = 0) { global $db, $tables; static $categs = array("0" => "[Top]"); static $level = 0; $level++; $rs = $db->Execute("SELECT `ID`, `TITLE` FROM `{$tables['category']['name']}` WHERE `PARENT_ID` = " . $db->qstr($id) . " AND `SYMBOLIC` <> 1 ORDER BY `TITLE`"); while (!$rs->EOF) { if ($_SESSION['is_admin']) { $categs[$rs->Fields('ID')] = str_repeat('| ', $level - 1) . '|___' . $rs->Fields('TITLE'); } else { if (in_array($rs->Fields('ID'), $_SESSION['user_grant_permission_array'])) { $categs[$rs->Fields('ID')] = str_repeat('| ', $level - 1) . '|___' . $rs->Fields('TITLE'); } } get_grant_categs_tree($rs->Fields('ID')); $rs->MoveNext(); } $level--; return $categs; }