$search_str = ' kbdocuments.deleted =0'; //if node id is untagged, then create query for all untagged articles if ($n_id == 'UNTAGGED_NODE_ID') { $search_str .= " and kbdocuments.id NOT IN\n (select kbdocument_id from kbdocuments_kbtags where deleted = 0)"; } else { //create query for articles under this tag $search_str .= " and kbdocuments.id\n IN (\n SELECT kbd.id\n FROM kbdocuments kbd, kbdocuments_kbtags kbd_kt\n WHERE kbd.id = kbd_kt.kbdocument_id\n AND kbd.deleted = 0\n AND kbd_kt.deleted = 0\n AND kbd_kt.kbtag_id = '{$n_id}'\n )"; } //check to see if sortCol has been specified if (isset($_REQUEST['sortCol']) && !empty($_REQUEST['sortCol'])) { //if sorcol has been set to PAGINATE, then this is a pagination and requires //reversing the sort order so listview data can process correctly if ($_REQUEST['sortCol'] == 'PAGINATE') { if (isset($lvso) && !empty($lvso)) { $lvso = strcmp(strtolower($lvso), 'asc') == 0 ? 'DESC' : 'ASC'; } } else { //this is a normal sort column command, override sort order //with currently selected column (if this call is from sort event) $sortCol = $_REQUEST['sortCol']; } } //Set Request Object parameter so that Sort order will happen in get_fts_list method $_REQUEST['KBDocuments2_KBDOCUMENT_ORDER_BY'] = $sortCol; //if set to 'all tags', pass in query 'where' clause into method that returns list for admins if (!empty($zero_node) && strtolower($zero_node) == 'all_tags') { $results = get_admin_fts_list($search_str, false, true); } else { $results = get_fts_list($search_str, false, true); } echo $results;
if (isset($_POST['searchText']) && empty($_POST['searchText'])) { //if no search params were specified, but searchText is in post object, then this //is coming from an empty basic search form, do a blank basic search and return list $search_str = perform_basic_search('*', $focus); //display the result set $results = get_fts_list($search_str); } else { //If no params have been specified and searchText is not in Post object, //then this is first time entering the screen, perform a top ten article search //as long as we are not showing the browse screen initially if (isset($_POST['mode']) && $_POST['mode'] != 'browse') { $_REQUEST['orderBy'] = 'views_number'; $_REQUEST['sortOrder'] = 'desc'; $search_str = perform_advanced_search($focus, true); $results = "<table class='h3Row' width='100%' border='0' cellspacing='0' cellpadding='0'><tr><td nowrap ><h3>" . $mod_strings['LBL_LIST_MOST_VIEWED'] . "</h3></td></tr></table>"; $results .= get_fts_list($search_str); } } } $ss->assign('LIST', $results); //set canned search dropdown from post if (isset($_POST['canned_search'])) { $ss->assign("CANNED_SEARCH_OPTIONS", get_select_options_with_id($app_list_strings['kbdocument_canned_search'], $_POST['canned_search'])); } else { $ss->assign("CANNED_SEARCH_OPTIONS", get_select_options_with_id($app_list_strings['kbdocument_canned_search'], '')); } ////////////////////////////////// Browse Section /////////////////////////////////////// //print out the needed script tags for tree echo " <link rel='stylesheet' href='vendor/ytree/TreeView/css/folders/tree.css'>\n <script language='JavaScript' src='vendor/ytree/TreeView/TreeView.js'></script>\n <script language='JavaScript' src='vendor/ytree/TreeView/TaskNode.js'></script>\n <script language='JavaScript' src='vendor/ytree/treeutil.js'></script>"; $ss->assign('BROWSETAB', return_browse_tab()); ////////////////////////////////// Advanced Search Section ///////////////////////////////////////
function get_browse_documents($params) { $_REQUEST['module'] = 'KBDocuments'; if (empty($params['NODES']) || empty($params['TREE'])) { //return no documents found message echo "There was an error accessing this tag information"; } else { global $odd_bg, $even_bg, $hilite_bg, $current_user, $app_strings; $mod_strings = get_kbtag_strings(); $colorclass = ''; $bgColor = $even_bg; //query for documents under this node //get id of node selected $depth = $params['TREE']['depth']; $tag_id = $params['NODES'][$depth]['id']; //create query for documents under selected node $search_str = ' '; //check to see if this is the node that holds all untagged documents if ($tag_id == 'UNTAGGED_NODE_ID') { //create query to retrieve ALL UNTAGGED documents under this node $search_str = "kbdocuments.id NOT IN\n (select kbdocument_id from kbdocuments_kbtags where deleted=0) and kbdocuments.deleted = 0"; } else { //this is normal node, process for list of child documents $search_str = "kbdocuments.id\n IN (\n SELECT kbd.id\n FROM kbdocuments kbd, kbdocuments_kbtags kbd_kt\n WHERE kbd.id = kbd_kt.kbdocument_id\n AND kbd_kt.kbtag_id = '{$tag_id}'\n AND kbd_kt.deleted = 0\n AND kbd.deleted = 0\n )"; } require_once 'modules/KBDocuments/SearchUtils.php'; //pass in query 'where' clause into method that returns list $results = get_fts_list($search_str, false, true); $current_user->setPreference('KBSearchFormMode', 'browse', 0, 'KnowledgeBase'); echo $results; } }