function KB_searchmain() { global $context, $modSettings, $txt, $scripturl, $user_info, $smcFunc; $context['sub_template'] = 'kb_searchmain'; $context['page_title'] = $txt['kb_searchforform1']; $context['linktree'][] = array('url' => $scripturl . '?action=kb;area=searchmain', 'name' => $txt['kb_searchforform1']); isAllowedTo('search_kb'); if (empty($modSettings['kb_esearch'])) { redirectexit(); } if ($context['user']['is_guest']) { $groupid = -1; } else { $groupid = $user_info['groups'][0]; } $result = $smcFunc['db_query']('', ' SELECT c.kbid, c.name, c.id_parent, p.view FROM {db_prefix}kb_category AS c LEFT JOIN {db_prefix}kb_catperm AS p ON (p.id_group = {int:groupid} AND c.kbid = p.id_cat)', array('groupid' => $groupid)); $context['knowcat'] = array(); while ($row = $smcFunc['db_fetch_assoc']($result)) { $context['knowcat'][] = $row; } $smcFunc['db_free_result']($result); KB_PrettyCategory(); }
function KB_edit() { global $smcFunc, $scripturl, $modSettings, $sourcedir, $user_info, $kname, $txt, $context; if (!isset($_GET['save']) || isset($_REQUEST['preview'])) { $context['sub_template'] = 'kb_edit'; $request = $smcFunc['db_query']('', ' SELECT title,id_cat,id_member FROM {db_prefix}kb_articles WHERE kbnid = {int:kbnid} AND approved = 1 LIMIT 1', array('kbnid' => (int) $_GET['aid'])); list($kname, $cat, $memberid) = $smcFunc['db_fetch_row']($request); $smcFunc['db_free_result']($request); $context['linktree'][] = array('url' => $scripturl . '?action=kb;area=edit;aid=' . $_GET['aid'] . '', 'name' => '' . $txt['kb_xubcat2'] . ' - ' . $kname . ''); if (!KBAllowedto($cat, 'editanyarticle') && $memberid != $user_info['id']) { fatal_lang_error('cannot_add_knowledge', false); } $result = $smcFunc['db_query']('', ' SELECT k.kbnid,k.content,k.source,k.title,k.id_cat,k.id_member,k.featured FROM {db_prefix}kb_articles AS k WHERE kbnid = {int:kbnid} LIMIT 1', array('kbnid' => (int) $_GET['aid'])); $context['edit'] = array(); while ($row = $smcFunc['db_fetch_assoc']($result)) { $context['edit'][] = array('content' => $row['content'], 'source' => $row['source'], 'title' => $row['title'], 'kbnid' => $row['kbnid'], 'id_cat' => $row['id_cat'], 'id_member' => $row['id_member'], 'featured' => $row['featured']); } if (isset($_REQUEST['preview'])) { KB_showediterpreview($_POST['name'], $_POST['description'], 'kb_edit'); } KB_showediter(!empty($_POST['description']) ? $_POST['description'] : $context['edit'][0]['content'], 'description'); if ($context['user']['is_guest']) { $groupid = -1; } else { $groupid = $user_info['groups'][0]; } $result = $smcFunc['db_query']('', ' SELECT c.kbid, c.name, p.view, c.id_parent FROM {db_prefix}kb_category AS c LEFT JOIN {db_prefix}kb_catperm AS p ON (p.id_group = {int:groupid} AND c.kbid = p.id_cat)', array('groupid' => $groupid)); $context['knowcat'] = array(); while ($row = $smcFunc['db_fetch_assoc']($result)) { $context['knowcat'][] = $row; } KB_PrettyCategory(); $context['kb_article_images'] = array(); $dbresult = $smcFunc['db_query']('', "\n\t\t SELECT thumbnail, filesize, filename, id_file \n\t\t\tFROM {db_prefix}kb_attachments \n\t\t\tWHERE id_article = " . (int) $_GET['aid']); $context['kb_article_images'] = array(); while ($row = $smcFunc['db_fetch_assoc']($dbresult)) { $context['kb_article_images'][] = $row; } $smcFunc['db_free_result']($dbresult); } if (isset($_GET['save']) && !isset($_REQUEST['preview'])) { checkSession(); kb_checkAttachment(); if (allowedTo('manage_kb')) { $_POST['memid'] = $_POST['memid']; } else { $_POST['memid'] = $context['edit'][0]['id_member']; } $_POST['name'] = $smcFunc['htmlspecialchars']($_POST['name'], ENT_QUOTES); $_POST['description'] = $smcFunc['htmlspecialchars']($_POST['description'], ENT_QUOTES); $_POST['memid'] = (int) $_POST['memid']; $_POST['featured'] = isset($_POST['featured']) ? 1 : 0; if (empty($_POST['name'])) { fatal_lang_error('knowledgebase_emtytitle', false); } if (empty($_POST['description'])) { fatal_lang_error('knowledgebase_emtytitle', false); } $attachment_params = array('article_id' => (int) $_GET['aid'], 'article_edit' => true); kb_makeAttachment($attachment_params); if (allowedTo('manage_kb')) { $query_params = array('table' => 'kb_articles', 'set' => 'title = {string:name}, source = {string:source}, content = {string:description}, id_cat = {int:cat}, id_member = {int:memid}, featured = {int:featured}', 'where' => 'kbnid = {int:kbid}'); } else { $query_params = array('table' => 'kb_articles', 'set' => 'title = {string:name}, source = {string:source}, content = {string:description}, id_cat = {int:cat}, featured = {int:featured}', 'where' => 'kbnid = {int:kbid}'); } $query_data = array('kbid' => (int) $_GET['aid'], 'name' => $_POST['name'], 'source' => $_POST['source'], 'description' => $_POST['description'], 'cat' => $_POST['cat'], 'featured' => (int) $_POST['featured']); if (allowedTo('manage_kb')) { $query_data['memid'] = $_POST['memid']; } kb_UpdateData($query_params, $query_data); KBrecountItems(); KB_cleanCache(); $mes = '' . $txt['kb_log_text5'] . ' <strong><a href="' . $scripturl . '?action=kb;area=article;cont=' . $_GET['aid'] . '">' . $_POST['name'] . '</a></strong>'; KB_log_actions('edit_article', $_GET['aid'], $mes); redirectexit('action=kb;area=article;cont=' . $_GET['aid'] . ';edited'); } }