@ -37,6 +37,7 @@ require(HESK_PATH . 'hesk_settings.inc.php');
require(HESK_PATH . 'inc/common.inc.php');
require(HESK_PATH . 'inc/admin_functions.inc.php');
require(HESK_PATH . 'inc/knowledgebase_functions.inc.php');
require(HESK_PATH . 'inc/mail_functions.inc.php');
hesk_load_database_functions();
hesk_session_start();
@ -56,6 +57,7 @@ $can_man_kb = hesk_checkPermission('can_man_kb',0);
$catid = intval( hesk_GET('category', 1) );
$artid = intval( hesk_GET('article', 0) );
if (isset($_GET['search']))
{
$query = hesk_input( hesk_GET('search') );
@ -69,7 +71,9 @@ $hesk_settings['kb_link'] = ($artid || $catid != 1 || $query) ? '<a href="knowle
if ($hesk_settings['kb_search'] & & $query)
{
hesk_kb_search($query);
if (hesk_kb_search($query)) {
hesk_show_kb_category(1,1);
}
}
elseif ($artid)
{
@ -98,7 +102,7 @@ else
{
hesk_show_kb_category($catid);
}
?> </ div > <?php
require_once(HESK_PATH . 'inc/footer.inc.php');
exit();
@ -114,11 +118,6 @@ function hesk_kb_header($kb_link, $catid=1)
require_once(HESK_PATH . 'inc/show_admin_nav.inc.php');
?>
< / td >
< / tr >
< tr >
< td >
< ol class = "breadcrumb" >
<?php
if ($can_man_kb)
@ -130,15 +129,10 @@ function hesk_kb_header($kb_link, $catid=1)
?>
< li class = "active" > <?php echo $kb_link ; ?> </ li >
< / ol >
<!-- SUB NAVIGATION -->
<?php show_subnav ( 'view' , $catid ); ?>
<!-- SUB NAVIGATION -->
< div style = "margin-left:40px;margin-right:40px" >
< section style = "padding: 15px;" >
<?php hesk_kbSearchLarge ( 1 ); ?>
< / section >
<?php
} // END hesk_kb_header()
@ -154,25 +148,28 @@ function hesk_kb_search($query)
$res = hesk_dbQuery('SELECT t1.`id`, t1.`subject`, LEFT(`t1`.`content`, '.max(200, $hesk_settings['kb_substrart'] * 2).') AS `content`, t1.`rating` 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` IN ('0','1') AND MATCH(`subject`,`content`,`keywords`) AGAINST ('".hesk_dbEscape($query)."') LIMIT ".intval($hesk_settings['kb_search_limit']));
$num = hesk_dbNumRows($res);
$show_default_category = false;
?>
< h4 > <?php echo $hesklang [ 'sr' ]; ?> (<?php echo $num ; ?> )</ h4 >
< div class = "footerWithBorder blankSpace" > < / div >
< section style = "padding: 15px" >
< div class = "box" >
< div class = "box-header with-border" >
< h1 class = "box-title" >
<?php echo $hesklang [ 'sr' ]; ?> (<?php echo $num ; ?> )
< / h1 >
< div class = "box-tools pull-right" >
< button type = "button" class = "btn btn-box-tool" data-widget = "collapse" >
< i class = "fa fa-minus" > < / i >
< / button >
< / div >
< / div >
< div class = "box-body" >
<?php
if ($num == 0)
{
echo '< p style = "margin-left:20px" > < i > '.$hesklang['nosr'].'< / i > < / p > ';
hesk_show_kb_category(1,1);
}
else
{
?>
< table width = "100%" border = "0" cellspacing = "0" cellpadding = "0" >
< tr >
< td >
< div align = "center" >
< table border = "0" cellspacing = "1" cellpadding = "3" width = "100%" >
if ($num == 0) {
echo '< i > '.$hesklang['nosr'].'< / i > ';
$show_default_category = true;
} else {
?>
< table class = "table table-striped" >
<?php
while ($article = hesk_dbFetchAssoc($res))
{
@ -180,8 +177,7 @@ function hesk_kb_search($query)
if ($hesk_settings['kb_rating'])
{
$alt = $article['rating'] ? sprintf($hesklang['kb_rated'], sprintf("%01.1f", $article['rating'])) : $hesklang['kb_not_rated'];
$rat = '< td width = "1" valign = "top" > < img src = "../img/star_'.(hesk_round_to_half($article['rating'])*10).'.png" width = "85" height = "16" alt = "'.$alt.'" border = "0" style = "vertical-align:text-bottom" / > < / td > ';
$rat = '< td width = "1" valign = "top" > ' . mfh_get_stars($article['rating']) . '< / td > ';
}
else
{
@ -210,15 +206,13 @@ function hesk_kb_search($query)
}
?>
< / table >
< a href = "javascript:history.go(-1)" >< span class = "glyphicon glyphicon-circle-arrow-left" ></ span > <?php echo $hesklang [ 'back' ]; ?> </ a >
<?php } ?>
< / div >
< / td >
< / tr >
< / table >
< p >< br />< a href = "javascript:history.go(-1)" >< span class = "glyphicon glyphicon-circle-arrow-left" ></ span > <?php echo $hesklang [ 'back' ]; ?> </ a ></ p >
< / div >
< / section >
<?php
} // END else
return $show_default_category;
} // END hesk_kb_search()
@ -233,27 +227,37 @@ function hesk_show_kb_article($artid)
// Update views by 1
hesk_dbQuery('UPDATE `'.hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` SET `views`=`views`+1 WHERE `id`={$artid} LIMIT 1");
echo '< h3 > '.$article['subject'].'< / h3 >
< div class = "footerWithBorder blankSpace" > < / div >
< h4 > '.$hesklang['as'].'< / h4 >
'. $article['content'];
if ( ! empty($article['attachments']))
{
echo '< p > < b > '.$hesklang['attachments'].':< / b > < br / > ';
?>
< section class = "content" >
< div class = "box" >
< div class = "box-header with-border" >
< h1 class = "box-title" >
<?php echo $article [ 'subject' ]; ?>
< / h1 >
< div class = "box-tools pull-right" >
< button type = "button" class = "btn btn-box-tool" data-widget = "collapse" >
< i class = "fa fa-minus" > < / i >
< / button >
< / div >
< / div >
< div class = "box-body" >
<?php echo $article [ 'content' ]; ?>
< / div >
<?php if ( ! empty ( $article [ 'attachments' ])) : ?>
< div class = "box-footer" >
< p >< b > <?php echo $hesklang [ 'attachments' ]; ?> </ b ></ p >
<?php
$att=explode(',',substr($article['attachments'], 0, -1));
foreach ($att as $myatt)
{
list($att_id, $att_name) = explode('#', $myatt);
echo '< i class = "fa fa-papercip" > < / i > < a href = "../download_attachment.php?kb_att='.$att_id.'" rel = "nofollow" > '.$att_name.'< / a > < br / > ';
}
echo '< / p > ';
echo '< i class = "fa fa-paperclip" > < / i > < a href = "../download_attachment.php?kb_att='.$att_id.'" rel = "nofollow" > '.$att_name.'< / a > < br / > ';
}
?>
< / div >
<?php endif ; ?>
< / div >
<?php
if ($article['catid']==1)
{
@ -310,8 +314,18 @@ function hesk_show_kb_article($artid)
}
?>
< div class = " <?php echo $column ; ?> col-sm-12" >
< h4 > <?php echo $hesklang [ 'ad' ]; ?> </ h4 >
< div class = "footerWithBorder blankSpace" > < / div >
< div class = "box" >
< div class = "box-header with-border" >
< h1 class = "box-title" >
<?php echo $hesklang [ 'ad' ]; ?>
< / h1 >
< div class = "box-tools pull-right" >
< button type = "button" class = "btn btn-box-tool" data-widget = "collapse" >
< i class = "fa fa-minus" > < / i >
< / button >
< / div >
< / div >
< div class = "box-body" >
< table border = "0" >
< tr >
< td > <?php echo $hesklang [ 'aid' ]; ?> : </ td >
@ -331,10 +345,22 @@ function hesk_show_kb_article($artid)
< / tr >
< / table >
< / div >
< / div >
< / div >
<?php if ( $showRelated ) { ?>
< div class = "col-md-6 col-sm-12" >
< h4 > <?php echo $hesklang [ 'relart' ]; ?> </ h4 >
< div class = "footerWithBorder blankSpace" > < / div >
< div class = "box" >
< div class = "box-header with-border" >
< h1 class = "box-title" >
<?php echo $hesklang [ 'relart' ]; ?>
< / h1 >
< div class = "box-tools pull-right" >
< button type = "button" class = "btn btn-box-tool" data-widget = "collapse" >
< i class = "fa fa-minus" > < / i >
< / button >
< / div >
< / div >
< div class = "box-body" >
<?php
// Related articles
foreach ($related_articles as $id => $subject)
@ -343,6 +369,8 @@ function hesk_show_kb_article($artid)
}
?>
< / div >
< / div >
< / div >
<?php } ?>
< / div >
@ -353,12 +381,9 @@ function hesk_show_kb_article($artid)
< p >< br />< a href = "javascript:history.go(-1)" >< span class = "glyphicon glyphicon-circle-arrow-left" ></ span > <?php echo $hesklang [ 'back' ]; ?> </ a ></ p >
<?php
}
else
{
?>
< p > < / p >
<?php
}
< / section >
<?php
} // END hesk_show_kb_article()
@ -370,38 +395,39 @@ function hesk_show_kb_category($catid, $is_search = 0) {
{
/* Print header */
hesk_kb_header($hesk_settings['kb_link'], $catid);
if ($catid == 1)
{
echo $hesklang['priv'];
}
}
$res = hesk_dbQuery("SELECT `name`,`parent` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` WHERE `id`='".intval($catid)."' LIMIT 1");
$thiscat = hesk_dbFetchAssoc($res) or hesk_error($hesklang['kb_cat_inv']);
if ($thiscat['parent'])
{
$link = ($thiscat['parent'] == 1) ? 'knowledgebase_private.php' : 'knowledgebase_private.php?category='.$thiscat['parent'];
echo '< h3 > '.$hesklang['kb_cat'].': '.$thiscat['name'].'< / h3 >
< p align = "left" > < a href = "javascript:history.go(-1)" > < span class = "glyphicon glyphicon-circle-arrow-left" > < / span > '.$hesklang['back'].'< / a > < / p >
< div class = "footerWithBorder blankSpace" > < / div > ';
}
?>
< section class = "content" >
<?php if ( $thiscat [ 'parent' ]) : ?>
< h3 > <?php echo $hesklang [ 'kb_cat' ] . ': ' . $thiscat [ 'name' ]; ?> </ h3 >
< p align = "left" > < a href = "javascript:history.go(-1)" >
< span class = "glyphicon glyphicon-circle-arrow-left" > < / span >
<?php echo $hesklang [ 'back' ]; ?>
< / a > < / p >
<?php
endif;
$result = hesk_dbQuery("SELECT `id`,`name`,`articles`,`type` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_categories` WHERE `parent`='".intval($catid)."' ORDER BY `parent` ASC, `cat_order` ASC");
if (hesk_dbNumRows($result) > 0)
{
?>
< h4 > <?php echo $hesklang [ 'kb_cat_sub' ]; ?> </ h4 >
< div class = "footerWithBorder blankSpace" > < / div >
< table width = "100%" border = "0" cellspacing = "0" cellpadding = "0" >
< tr >
< td >
< table border = "0" cellspacing = "1" cellpadding = "3" width = "100%" >
if (hesk_dbNumRows($result) > 0) {
?>
< div class = "box" >
< div class = "box-header with-border" >
< h1 class = "box-title" >
<?php echo $hesklang [ 'kb_cat_sub' ]; ?>
< / h1 >
< div class = "box-tools pull-right" >
< button type = "button" class = "btn btn-box-tool" data-widget = "collapse" >
< i class = "fa fa-minus" > < / i >
< / button >
< / div >
< / div >
< div class = "box-body" >
< table class = "table table-striped" >
<?php
$per_col = $hesk_settings['kb_cols'];
$i = 1;
@ -480,31 +506,33 @@ function hesk_show_kb_category($catid, $is_search = 0) {
?>
< / table >
< / td >
< / tr >
< / table >
<?php
} // END if NumRows > 0
?>
< br >
< h4 > <?php echo $hesklang [ 'ac' ]; ?> </ h4 >
< div class = "footerWithBorder blankSpace" > < / div >
< table width = "100%" border = "0" cellspacing = "0" cellpadding = "0" >
< tr >
< td >
< / div >
< div class = "box-footer" >
<?php echo $hesklang [ 'private_category_star' ]; ?>
< / div >
< / div >
<?php } ?>
< div class = "box" >
< div class = "box-header with-border" >
< h1 class = "box-title" >
<?php echo $hesklang [ 'ac' ]; ?>
< / h1 >
< div class = "box-tools pull-right" >
< button type = "button" class = "btn btn-box-tool" data-widget = "collapse" >
< i class = "fa fa-minus" > < / i >
< / button >
< / div >
< / div >
< div class = "box-body" >
<?php
$res = hesk_dbQuery("SELECT `id`, `subject`, LEFT(`content`, ".max(200, $hesk_settings['kb_substrart'] * 2).") AS `content`, `rating`, `type` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `catid`='".intval($catid)."' AND `type` IN ('0','1') ORDER BY `sticky` DESC, `art_order` ASC");
if (hesk_dbNumRows($res) == 0)
{
echo '< p > < i > '.$hesklang['noac'].'< / i > < / p > ';
echo '< i > '.$hesklang['noac'].'< / i > ';
}
else
{
echo '< div align = "center" > < table border = "0" cellspacing = "1" cellpadding = "3" width = "100%" > ';
echo '< table border = "0" cellspacing = "1" cellpadding = "3" width = "100%" > ';
while ($article = hesk_dbFetchAssoc($res))
{
$private = ($article['type'] == 1) ? ' *' : '';
@ -529,13 +557,15 @@ function hesk_show_kb_category($catid, $is_search = 0) {
< / td >
< / tr > ';
}
echo '< / table > < / div > ';
echo '< / table > ';
}
?>
< / td >
< / tr >
< / table >
< / div >
< div class = "box-footer" >
<?php echo $hesklang [ 'private_article_star' ]; ?>
< / div >
< / div >
< / section >
<?php
} // END hesk_show_kb_category()