function KB_manage() { global $total_report, $total_approvecom, $total_approve, $txt, $scripturl, $context; $context['sub_template'] = 'kbmanage'; $context['kb_do'] = $txt['kb_manage1']; isAllowedTo('manage_kb'); $context['linktree'][] = array('url' => $scripturl . '?action=kb;area=manage', 'name' => $txt['kb_manage1']); KB_approvecounts(); KB_approvecomcounts(); KB_reportcounts(); KB_mreports(); KB_approvecom(); KB_approve(); }
function KB_Menu() { global $total_report, $total_approvecom, $total_approve, $txt, $sourcedir, $smcFunc, $scripturl, $sc, $user_info, $modSettings, $context, $kb_menutype; //Get approve, approve comments, report counts KB_approvecounts(); KB_approvecomcounts(); KB_reportcounts(); //Add them all together $mcounts = $total_report + $total_approvecom + $total_approve; //Are we on an article? if (isset($_REQUEST['cont']) || isset($_GET['aid'])) { if (($context['knowmini'] = cache_get_data('kb_articles_menuinfo' . (isset($_GET['cont']) ? $_GET['cont'] : $_GET['aid']) . '', 3600)) === null) { //Guess so lets get some info on this article $result = $smcFunc['db_query']('', ' SELECT k.kbnid,k.id_cat,k.approved,id_member FROM {db_prefix}kb_articles AS k WHERE kbnid = {int:kbnid}', array('kbnid' => isset($_GET['cont']) ? (int) $_GET['cont'] : (int) $_GET['aid'])); $context['knowmini'] = array(); while ($row = $smcFunc['db_fetch_assoc']($result)) { $context['knowmini']['kbid'] = $row['kbnid']; $context['knowmini']['approved'] = $row['approved']; $context['knowmini']['id_cat'] = $row['id_cat']; $context['knowmini']['id_member'] = $row['id_member']; } $smcFunc['db_free_result']($result); cache_put_data('kb_articles_menuinfo' . (isset($_GET['cont']) ? $_GET['cont'] : $_GET['aid']) . '', $context['knowmini'], 3600); } } //Some menu Vars to use in menu $memid = !empty($context['knowmini']['id_member']) ? $context['knowmini']['id_member'] : 0; $category = !empty($_REQUEST['cat']) ? $_REQUEST['cat'] : 0; $category1 = !empty($context['knowmini']['id_cat']) ? $context['knowmini']['id_cat'] : 0; $cont = !empty($context['knowmini']['kbid']) ? $context['knowmini']['kbid'] : 0; $approved = !empty($context['knowmini']['approved']) ? 1 : 0; $categorynew = $category1 ? $category1 : $category; if (isset($_REQUEST['area'])) { $searchtab = $_REQUEST['area'] == 'searchmain' ? 'searchmain' : 'search'; $editcattab = $_REQUEST['area'] == 'listcat' ? 'listcat' : 'permcat'; } else { $searchtab = ''; $editcattab = ''; } //menu areas array $menuAreas = array('kb' => array('title' => $txt['kb_manage_main'], 'areas' => array('main' => array('label' => $txt['knowledgebase'], 'custom_url' => $scripturl . '?action=kb'), $searchtab => array('label' => $txt['kb_searchforform'], 'enabled' => allowedTo('search_kb') && !empty($modSettings['kb_esearch']), 'custom_url' => $scripturl . '?action=kb;area=searchmain'))), 'tools' => array('title' => $txt['kb_tool_main'], 'areas' => array('addknow' => array('label' => $txt['knowledgebasecataddedit1'], 'enabled' => KBAllowedto($categorynew, 'addarticle') || allowedTo('manage_kb'), 'custom_url' => $scripturl . '?action=kb;area=addknow;cat=' . $categorynew), 'reporta' => array('label' => $txt['kb_reports22'], 'enabled' => allowedTo('rparticle_kb') && isset($_GET['cont']), 'custom_url' => $scripturl . '?action=kb;area=reporta;aid=' . $cont), 'unapprove' => array('label' => $txt['kb_alist2'], 'enabled' => allowedTo('manage_kb') && isset($_GET['cont']) && $approved == 1, 'custom_url' => $scripturl . '?action=kb;area=article;unapprove;inap=' . $cont . ';sesc=' . $sc . ''), 'approve' => array('label' => $txt['kb_alist1'], 'enabled' => allowedTo('manage_kb') && isset($_GET['cont']) && $approved == 0, 'custom_url' => $scripturl . '?action=kb;area=article;approve;aid=' . $cont . ';sesc=' . $sc . ''), 'delete' => array('label' => $txt['knowledgebase_del'], 'enabled' => KBAllowedto($category1, 'delanyarticle') && isset($_GET['cont']) || KBAllowedto($category1, 'delarticle') && $memid == $user_info['id'] && isset($_GET['cont']), 'custom_url' => $scripturl . '?action=kb;area=del;et=' . $cont . ';sesc=' . $sc . '" onclick="return confirm(\'' . $txt['knowledgebaseeditedsure'] . '\'); '), 'edit' => array('label' => $txt['knowledgebase_edit'], 'enabled' => KBAllowedto($category1, 'editanyarticle') && isset($_GET['cont']) || KBAllowedto($category1, 'editarticle') && $memid == $user_info['id'] && isset($_GET['cont']), 'custom_url' => $scripturl . '?action=kb;area=edit;aid=' . $cont), 'print' => array('label' => $txt['kb_print'], 'enabled' => isset($_GET['cont']), 'custom_url' => $scripturl . '?action=kb;area=article;cont=' . $cont . ';print'))), 'manage' => array('title' => $txt['kb_manage1'], 'areas' => array('admin' => array('label' => $txt['admin'], 'enabled' => allowedTo('admin_forum'), 'custom_url' => $scripturl . '?action=admin;area=kb'), 'manage' => array('label' => $txt['kb_manage1'] . ' (' . $mcounts . ')', 'enabled' => allowedTo('manage_kb'), 'custom_url' => $scripturl . '?action=kb;area=manage'), 'catadd' => array('label' => $txt['knowledgebasecatadd'], 'enabled' => allowedTo('manage_kb'), 'custom_url' => $scripturl . '?action=kb;area=catadd'), $editcattab => array('label' => $txt['knowledgebasecataddedit'], 'enabled' => allowedTo('manage_kb'), 'custom_url' => $scripturl . '?action=kb;area=listcat'), 'cache' => array('label' => $txt['kb_menu_cache'], 'enabled' => allowedTo('manage_kb'), 'custom_url' => $scripturl . '?action=kb;cache_clean'), 'recounta' => array('label' => $txt['kb_menu_ra'], 'enabled' => allowedTo('manage_kb'), 'custom_url' => $scripturl . '?action=kb;article_recount'), 'recountc' => array('label' => $txt['kb_menu_rc'], 'enabled' => allowedTo('manage_kb') && !empty($modSettings['kb_ecom']), 'custom_url' => $scripturl . '?action=kb;comment_recount')))); if (!allowedTo('manage_kb')) { unset($menuAreas['manage']); } //Work out the current area $current_area = isset($_REQUEST['area']) ? $_REQUEST['area'] : 'main'; //These are needed when using toggle button if (isset($_GET['cat']) && $current_area == 'cats') { $context['current_get'] = ';cat=' . $_GET['cat']; } elseif (isset($_GET['cont']) && $current_area == 'article') { $context['current_get'] = ';cont=' . $_GET['cont']; } elseif (isset($_GET['aid']) && $current_area == 'reporta') { $context['current_get'] = ';aid=' . $_GET['aid']; } elseif (isset($_GET['cat']) && isset($_GET['aid']) && $current_area == 'edit') { $context['current_get'] = ';aid=' . $_GET['aid'] . ';cat=' . $_GET['cat']; } elseif (isset($_GET['aid']) && $current_area == 'edit') { $context['current_get'] = ';aid=' . $_GET['aid']; } elseif (isset($_GET['cat']) && $current_area == 'addknow') { $context['current_get'] = ';cat=' . $_GET['cat']; } elseif (isset($_GET['perm']) && $current_area == 'permcat') { $context['current_get'] = ';perm=' . $_GET['perm']; } elseif (isset($_GET['edit']) && $current_area == 'listcat') { $context['current_get'] = ';edit=' . $_GET['edit']; } elseif ($current_area == 'search' && isset($_REQUEST['search'])) { $context['current_get'] = ';q=' . (!empty($_SESSION['kb_search_query_encoded']) ? $_SESSION['kb_search_query_encoded'] : '') . ';sesc=' . $sc . ''; } elseif ($current_area == 'search' && isset($_REQUEST['q'])) { $context['current_get'] = ';q=' . (!empty($_SESSION['kb_search_query_encoded']) ? $_SESSION['kb_search_query_encoded'] : '') . ';sesc=' . $sc . ''; } else { $context['current_get'] = ''; } //Define our menu type $menu_type = empty($modSettings['kb_menutype']) ? '_dropdown' : '_sidebar'; //menu options array $menuOptions = array('menu_type' => $menu_type, 'disable_url_session_check' => true, 'toggle_redirect_url' => $scripturl . '?action=kb;area=' . $current_area . '' . $context['current_get'], 'toggle_url' => $scripturl . '?action=kb;area=' . $current_area . '' . $context['current_get'] . ';togglebar'); //Member Choice if ($modSettings['kb_menutype'] == 2) { unset($menuOptions['menu_type']); } require_once $sourcedir . '/Subs-Menu.php'; $kbmod_data = createMenu($menuAreas, $menuOptions); }