Private KB follows new UI
This commit is contained in:
parent
e62e6233a6
commit
822c35f2ce
@ -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">
|
||||
|
||||
<?php hesk_kbSearchLarge(1); ?>
|
||||
|
||||
<section style="padding: 15px;">
|
||||
<?php hesk_kbSearchLarge(1); ?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
} // END hesk_kb_header()
|
||||
@ -154,41 +148,43 @@ 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 '<i>'.$hesklang['nosr'].'</i>';
|
||||
$show_default_category = true;
|
||||
} else {
|
||||
?>
|
||||
<table class="table table-striped">
|
||||
<?php
|
||||
while ($article = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$txt = hesk_kbArticleContentPreview($article['content']);
|
||||
|
||||
<?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%">
|
||||
<?php
|
||||
while ($article = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$txt = hesk_kbArticleContentPreview($article['content']);
|
||||
if ($hesk_settings['kb_rating'])
|
||||
{
|
||||
$rat = '<td width="1" valign="top">' . mfh_get_stars($article['rating']) . '</td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$rat = '';
|
||||
}
|
||||
|
||||
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>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$rat = '';
|
||||
}
|
||||
|
||||
echo '
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="1">
|
||||
@ -207,18 +203,16 @@ function hesk_kb_search($query)
|
||||
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
</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>
|
||||
}
|
||||
?>
|
||||
</table>
|
||||
<a href="javascript:history.go(-1)"><span class="glyphicon glyphicon-circle-arrow-left"></span> <?php echo $hesklang['back']; ?></a>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<?php
|
||||
} // END else
|
||||
|
||||
return $show_default_category;
|
||||
} // END hesk_kb_search()
|
||||
|
||||
|
||||
@ -233,132 +227,163 @@ 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>
|
||||
?>
|
||||
<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-paperclip"></i> <a href="../download_attachment.php?kb_att='.$att_id.'" rel="nofollow">'.$att_name.'</a><br />';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
|
||||
|
||||
<h4>'.$hesklang['as'].'</h4>
|
||||
'. $article['content'];
|
||||
|
||||
if ( ! empty($article['attachments']))
|
||||
{
|
||||
echo '<p><b>'.$hesklang['attachments'].':</b><br />';
|
||||
$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 />';
|
||||
if ($article['catid']==1)
|
||||
{
|
||||
$link = 'knowledgebase_private.php';
|
||||
}
|
||||
echo '</p>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$link = 'knowledgebase_private.php?category='.$article['catid'];
|
||||
}
|
||||
?>
|
||||
<br><br>
|
||||
<div class="row">
|
||||
<?php
|
||||
$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 `id`, `subject`, MATCH(`subject`,`content`,`keywords`) AGAINST ('{$query}') AS `score` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `type` IN ('0','1') AND MATCH(`subject`,`content`,`keywords`) AGAINST ('{$query}') LIMIT ".intval($hesk_settings['kb_related']+1));
|
||||
|
||||
if ($article['catid']==1)
|
||||
{
|
||||
$link = 'knowledgebase_private.php';
|
||||
}
|
||||
else
|
||||
{
|
||||
$link = 'knowledgebase_private.php?category='.$article['catid'];
|
||||
}
|
||||
?>
|
||||
<br><br>
|
||||
<div class="row">
|
||||
<?php
|
||||
$showRelated = false;
|
||||
$column = 'col-md-12';
|
||||
require(HESK_PATH . 'inc/mail/email_parser.php');
|
||||
// Array with related articles
|
||||
$related_articles = array();
|
||||
|
||||
$query = hesk_dbEscape( $article['subject'] . ' ' . convert_html_to_text($article['content']) );
|
||||
while ($related = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
// Get base match score from the first (this) article
|
||||
if ( ! isset($base_score) )
|
||||
{
|
||||
$base_score = $related['score'];
|
||||
}
|
||||
|
||||
// Get relevant articles from the database
|
||||
$res = hesk_dbQuery("SELECT `id`, `subject`, MATCH(`subject`,`content`,`keywords`) AGAINST ('{$query}') AS `score` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `type` IN ('0','1') AND MATCH(`subject`,`content`,`keywords`) AGAINST ('{$query}') LIMIT ".intval($hesk_settings['kb_related']+1));
|
||||
// Ignore this article
|
||||
if ($related['id'] == $artid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
// Array with related articles
|
||||
$related_articles = array();
|
||||
// Stop when articles reach less than 10% of base score
|
||||
if ($related['score'] / $base_score < 0.10)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
while ($related = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
// Get base match score from the first (this) article
|
||||
if ( ! isset($base_score) )
|
||||
{
|
||||
$base_score = $related['score'];
|
||||
}
|
||||
// This is a valid related article
|
||||
$related_articles[$related['id']] = $related['subject'];
|
||||
}
|
||||
|
||||
// Ignore this article
|
||||
if ($related['id'] == $artid)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
// Print related articles if we have any valid matches
|
||||
if ( count($related_articles) ) {
|
||||
$column = 'col-md-6';
|
||||
$showRelated = true;
|
||||
}
|
||||
?>
|
||||
<div class="<?php echo $column; ?> col-sm-12">
|
||||
<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>
|
||||
<td><?php echo $article['id']; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $hesklang['category']; ?>: </td>
|
||||
<td><a href="<?php echo $link; ?>"><?php echo $article['cat_name']; ?></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $hesklang['dta']; ?>: </td>
|
||||
<td><?php echo hesk_date($article['dt'], true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $hesklang['views']; ?>: </td>
|
||||
<td><?php echo (isset($_GET['rated']) ? $article['views'] : $article['views']+1); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($showRelated) { ?>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<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)
|
||||
{
|
||||
echo '<span class="glyphicon glyphicon-file" style="font-size: 16px;"></span> <a href="knowledgebase_private.php?article='.$id.'">'.$subject.'</a><br />';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
// 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;
|
||||
}
|
||||
?>
|
||||
<div class="<?php echo $column; ?> col-sm-12">
|
||||
<h4><?php echo $hesklang['ad']; ?></h4>
|
||||
<div class="footerWithBorder blankSpace"></div>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td><?php echo $hesklang['aid']; ?>: </td>
|
||||
<td><?php echo $article['id']; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $hesklang['category']; ?>: </td>
|
||||
<td><a href="<?php echo $link; ?>"><?php echo $article['cat_name']; ?></a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $hesklang['dta']; ?>: </td>
|
||||
<td><?php echo hesk_date($article['dt'], true); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $hesklang['views']; ?>: </td>
|
||||
<td><?php echo (isset($_GET['rated']) ? $article['views'] : $article['views']+1); ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<?php if ($showRelated) { ?>
|
||||
<div class="col-md-6 col-sm-12">
|
||||
<h4><?php echo $hesklang['relart']; ?></h4>
|
||||
<div class="footerWithBorder blankSpace"></div>
|
||||
<?php
|
||||
// Related articles
|
||||
foreach ($related_articles as $id => $subject)
|
||||
{
|
||||
echo '<span class="glyphicon glyphicon-file" style="font-size: 16px;"></span> <a href="knowledgebase_private.php?article='.$id.'">'.$subject.'</a><br />';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if (!isset($_GET['back']))
|
||||
{
|
||||
?>
|
||||
<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
|
||||
}
|
||||
<?php
|
||||
if (!isset($_GET['back']))
|
||||
{
|
||||
?>
|
||||
<p><br /><a href="javascript:history.go(-1)"><span class="glyphicon glyphicon-circle-arrow-left"></span> <?php echo $hesklang['back']; ?></a></p>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
<?php
|
||||
|
||||
} // END hesk_show_kb_article()
|
||||
|
||||
@ -370,148 +395,151 @@ 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>';
|
||||
}
|
||||
|
||||
$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%">
|
||||
|
||||
?>
|
||||
<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
|
||||
$per_col = $hesk_settings['kb_cols'];
|
||||
$i = 1;
|
||||
endif;
|
||||
|
||||
while ($cat = hesk_dbFetchAssoc($result))
|
||||
{
|
||||
$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 ($i == 1)
|
||||
{
|
||||
echo '<tr>';
|
||||
}
|
||||
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;
|
||||
|
||||
$private = ($cat['type'] == 1) ? ' *' : '';
|
||||
while ($cat = hesk_dbFetchAssoc($result))
|
||||
{
|
||||
|
||||
echo '
|
||||
if ($i == 1)
|
||||
{
|
||||
echo '<tr>';
|
||||
}
|
||||
|
||||
$private = ($cat['type'] == 1) ? ' *' : '';
|
||||
|
||||
echo '
|
||||
<td width="50%" valign="top">
|
||||
<table border="0">
|
||||
<tr><td><span class="glyphicon glyphicon-folder-close"></span> <a href="knowledgebase_private.php?category='.$cat['id'].'">'.$cat['name'].'</a>'.$private.'</td></tr>
|
||||
';
|
||||
|
||||
/* Print most popular/sticky articles */
|
||||
if ($hesk_settings['kb_numshow'] && $cat['articles'])
|
||||
{
|
||||
$res = hesk_dbQuery("SELECT `id`,`subject`,`type` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `catid`='".intval($cat['id'])."' AND `type` IN ('0','1') ORDER BY `sticky` DESC, `views` DESC, `art_order` ASC LIMIT " . (intval($hesk_settings['kb_numshow']) + 1) );
|
||||
$num = 1;
|
||||
while ($art = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$private = ($art['type'] == 1) ? ' *' : '';
|
||||
echo '
|
||||
/* Print most popular/sticky articles */
|
||||
if ($hesk_settings['kb_numshow'] && $cat['articles'])
|
||||
{
|
||||
$res = hesk_dbQuery("SELECT `id`,`subject`,`type` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `catid`='".intval($cat['id'])."' AND `type` IN ('0','1') ORDER BY `sticky` DESC, `views` DESC, `art_order` ASC LIMIT " . (intval($hesk_settings['kb_numshow']) + 1) );
|
||||
$num = 1;
|
||||
while ($art = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$private = ($art['type'] == 1) ? ' *' : '';
|
||||
echo '
|
||||
<tr>
|
||||
<td> <span class="glyphicon glyphicon-file"></span>
|
||||
<a href="knowledgebase_private.php?article='.$art['id'].'" class="article">'.$art['subject'].'</a>'.$private.'</td>
|
||||
</tr>';
|
||||
|
||||
if ($num == $hesk_settings['kb_numshow'])
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
$num++;
|
||||
}
|
||||
}
|
||||
if (hesk_dbNumRows($res) > $hesk_settings['kb_numshow'])
|
||||
{
|
||||
echo '<tr><td>» <a href="knowledgebase_private.php?category='.$cat['id'].'"><i>'.$hesklang['m'].'</i></a></td></tr>';
|
||||
}
|
||||
}
|
||||
if ($num == $hesk_settings['kb_numshow'])
|
||||
{
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
$num++;
|
||||
}
|
||||
}
|
||||
if (hesk_dbNumRows($res) > $hesk_settings['kb_numshow'])
|
||||
{
|
||||
echo '<tr><td>» <a href="knowledgebase_private.php?category='.$cat['id'].'"><i>'.$hesklang['m'].'</i></a></td></tr>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
echo '
|
||||
</table>
|
||||
</td>
|
||||
';
|
||||
|
||||
if ($i == $per_col)
|
||||
{
|
||||
echo '</tr>';
|
||||
$i = 0;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
/* Finish the table if needed */
|
||||
if ($i != 1)
|
||||
{
|
||||
for ($j=1;$j<=$per_col;$j++)
|
||||
{
|
||||
echo '<td width="50%"> </td>';
|
||||
if ($i == $per_col)
|
||||
{
|
||||
echo '</tr>';
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
if ($i == $per_col)
|
||||
{
|
||||
echo '</tr>';
|
||||
$i = 0;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
/* Finish the table if needed */
|
||||
if ($i != 1)
|
||||
{
|
||||
for ($j=1;$j<=$per_col;$j++)
|
||||
{
|
||||
echo '<td width="50%"> </td>';
|
||||
if ($i == $per_col)
|
||||
{
|
||||
echo '</tr>';
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
</table>
|
||||
?>
|
||||
</table>
|
||||
</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 '<i>'.$hesklang['noac'].'</i>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<table border="0" cellspacing="1" cellpadding="3" width="100%">';
|
||||
while ($article = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$private = ($article['type'] == 1) ? ' *' : '';
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
$txt = hesk_kbArticleContentPreview($article['content']);
|
||||
|
||||
<?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>
|
||||
|
||||
<?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>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<div align="center"><table border="0" cellspacing="1" cellpadding="3" width="100%">';
|
||||
while ($article = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$private = ($article['type'] == 1) ? ' *' : '';
|
||||
|
||||
$txt = hesk_kbArticleContentPreview($article['content']);
|
||||
|
||||
echo '
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="1">
|
||||
@ -528,14 +556,16 @@ function hesk_show_kb_category($catid, $is_search = 0) {
|
||||
</table>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table></div>';
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
}
|
||||
echo '</table>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div class="box-footer">
|
||||
<?php echo $hesklang['private_article_star']; ?>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<?php
|
||||
} // END hesk_show_kb_category()
|
||||
|
||||
|
@ -30,6 +30,8 @@ $hesklang['main_navigation_uppercase'] = 'MAIN NAVIGATION';
|
||||
$hesklang['x_system_warnings'] = '%s System %s'; // %s: Number of warnings, $s: "Warning" or "Warnings", depending on #
|
||||
$hesklang['warnings_title_case'] = 'Warnings';
|
||||
$hesklang['articles_in_category_x'] = 'Articles in Category %s'; // %s: category name
|
||||
$hesklang['private_category_star'] = 'Private categories indicated by *';
|
||||
$hesklang['private_article_star'] = 'Private articles indicated by *';
|
||||
|
||||
// ADDED OR MODIFIED IN Mods for HESK 2.6.0
|
||||
$hesklang['search_logs'] = 'Search Logs';
|
||||
|
Loading…
x
Reference in New Issue
Block a user