'.$hesklang['kb_text'].'' : $hesklang['kb_text']; if ($hesk_settings['kb_search'] && $query) { hesk_kb_search($query); } elseif ($artid) { // Get article from DB, make sure that article and category are public $result = hesk_dbQuery("SELECT t1.*, t2.`name` AS `cat_name` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` AS `t1` LEFT JOIN `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` AS `t2` ON `t1`.`catid` = `t2`.`id` WHERE `t1`.`id` = '{$artid}' AND `t1`.`type` = '0' AND `t2`.`type` = '0' "); $article = hesk_dbFetchAssoc($result) or hesk_error($hesklang['kb_art_id']); hesk_show_kb_article($artid); } else { hesk_show_kb_category($catid); } echo ''; require_once(HESK_PATH . 'inc/footer.inc.php'); exit(); /*** START FUNCTIONS ***/ function hesk_kb_header($kb_link) { global $hesk_settings, $hesklang; ?>

()

'.$hesklang['nosr'].'

 

'; hesk_show_kb_category(1,1); } else { ?>
 
'.$alt.''; } else { $rat = ''; } echo ' '; } ?>
'.$rat.'
'.$article['subject'].'
'.$txt.'

 
«

'; } else { $goBackText = ''; } echo '

'.$goBackText.' '.$article['subject'].'

'.$hesklang['as'].'

' . $article['content'].'
'; if ( ! empty($article['attachments'])) { echo '

'.$hesklang['attachments'].':
'; $att=explode(',',substr($article['attachments'], 0, -1)); foreach ($att as $myatt) { list($att_id, $att_name) = explode('#', $myatt); echo ''.$att_name.' '.$att_name.'
'; } echo '

'; } // Article rating if ($hesk_settings['kb_rating'] && strpos( hesk_COOKIE('hesk_kb_rate'),'a'.$artid.'%')===false ) { echo ' '; } // Related articles if ($hesk_settings['kb_related']) { $showRelated = false; $column = 'col-md-12'; require(HESK_PATH . 'inc/mail/email_parser.php'); $query = hesk_dbEscape( $article['subject'] . ' ' . convert_html_to_text($article['content']) ); // Get relevant articles from the database $res = hesk_dbQuery("SELECT t1.`id`, t1.`subject`, MATCH(`subject`,`content`,`keywords`) AGAINST ('{$query}') AS `score` FROM `".hesk_dbEscape($hesk_settings['db_pfix']).'kb_articles` AS t1 LEFT JOIN `'.hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` AS t2 ON t1.`catid` = t2.`id` WHERE t1.`type`='0' AND t2.`type`='0' AND MATCH(`subject`,`content`,`keywords`) AGAINST ('{$query}') LIMIT ".intval($hesk_settings['kb_related']+1)); // Array with related articles $related_articles = array(); while ($related = hesk_dbFetchAssoc($res)) { // Get base match score from the first article if ( ! isset($base_score) ) { $base_score = $related['score']; } // Ignore this article if ( $related['id'] == $artid ) { continue; } // Stop when articles reach less than 10% of base score if ($related['score'] / $base_score < 0.10) { break; } // This is a valid related article $related_articles[$related['id']] = $related['subject']; } // Print related articles if we have any valid matches if ( count($related_articles) ) { $column = 'col-md-6'; $showRelated = true; } } if ($article['catid']==1) { $link = 'knowledgebase.php'; } else { $link = 'knowledgebase.php?category='.$article['catid']; } ?>

:

:

:

:

'.$hesklang['rating'].' ('.$hesklang['votes'].'): '.$alt.' ('.$article['votes'].')

'; } ?>

$subject) { echo ' '.$subject.'
'; } ?>
 '.$hesklang['kb_cat'].': '.$thiscat['name'].'
'; } $result = hesk_dbQuery("SELECT `id`,`name`,`articles` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` WHERE `parent`='{$catid}' AND `type`='0' ORDER BY `cat_order` ASC"); if (hesk_dbNumRows($result) > 0) { ?>

'; } echo ' '; if ($i == $per_col) { echo ''; $i = 0; } $i++; } /* Finish the table if needed */ if ($i != 1) { for ($j=1;$j<=$per_col;$j++) { echo ''; if ($i == $per_col) { echo ''; break; } $i++; } } ?>
'; /* Print most popular/sticky articles */ if ($hesk_settings['kb_numshow'] && $cat['articles']) { $res = hesk_dbQuery("SELECT `id`,`subject` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `catid`='{$cat['id']}' AND `type`='0' ORDER BY `sticky` DESC, `views` DESC, `art_order` ASC LIMIT " . (intval($hesk_settings['kb_numshow']) + 1) ); $num = 1; while ($art = hesk_dbFetchAssoc($res)) { echo ' '; if ($num == $hesk_settings['kb_numshow']) { break; } else { $num++; } } if (hesk_dbNumRows($res) > $hesk_settings['kb_numshow']) { echo ''; } } echo '
 '.$cat['name'].'
       '.$art['subject'].'
» '.$hesklang['m'].'
 
0 ?>

'; } else { while ($article = hesk_dbFetchAssoc($res)) { $txt = hesk_kbArticleContentPreview($article['content']); if ($hesk_settings['kb_rating']) { $alt = $article['rating'] ? sprintf($hesklang['kb_rated'], sprintf("%01.1f", $article['rating'])) : $hesklang['kb_not_rated']; $rat = ''; } else { $rat = ''; } echo ' '.$rat.' '; } } ?>
'.$hesklang['noac'].'
'.$alt.'
'.$article['subject'].'
'.$txt.'