#216 Improve layout of knowledgebase section
This commit is contained in:
parent
0efb2250f3
commit
b103a39b90
@ -394,3 +394,11 @@ button.dropdown-submit {
|
||||
.plaintext-editor {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.table-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.indent-15 {
|
||||
margin-left: 15px;
|
||||
}
|
@ -384,3 +384,15 @@ max-height: 80px;
|
||||
max-width: 80px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.plaintext-editor {
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.table-fixed {
|
||||
table-layout: fixed;
|
||||
}
|
||||
|
||||
.indent-15 {
|
||||
margin-right: 15px;
|
||||
}
|
@ -94,10 +94,10 @@ function hesk_kbTopArticles($how_many, $index = 1)
|
||||
<div class="panel-heading">
|
||||
<h4 class="text-left"><?php echo $hesklang['popart_no_colon']; ?></h4>
|
||||
</div>
|
||||
<table border="0" width="100%" class="table table-striped">
|
||||
<table border="0" width="100%" class="table table-striped table-fixed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th> </th>
|
||||
<th class="col-xs-8 col-sm-9"> </th>
|
||||
<?php
|
||||
/* Get list of articles from the database */
|
||||
$res = hesk_dbQuery("SELECT `t1`.`id`,`t1`.`subject`,`t1`.`views` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` AS `t1`
|
||||
@ -108,7 +108,7 @@ function hesk_kbTopArticles($how_many, $index = 1)
|
||||
/* Show number of views? */
|
||||
if ($hesk_settings['kb_views'] && hesk_dbNumRows($res) != 0)
|
||||
{
|
||||
echo '<th><i>' . $hesklang['views'] . '</i></th>';
|
||||
echo '<th class="col-xs-4 col-sm-3"><i>' . $hesklang['views'] . '</i></th>';
|
||||
}
|
||||
?>
|
||||
</tr>
|
||||
@ -141,12 +141,12 @@ function hesk_kbTopArticles($how_many, $index = 1)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td '.$colspan.'>
|
||||
<i class="fa fa-file"></i> <a href="knowledgebase.php?article="'.$article['id'].'">'.$article['subject'].'</a>
|
||||
<td class="col-xs-8 col-sm-9" '.$colspan.'>
|
||||
<i class="fa fa-file"></i> <a href="knowledgebase.php?article='.$article['id'].'">'.$article['subject'].'</a>
|
||||
</td>
|
||||
';
|
||||
if ($hesk_settings['kb_views']) {
|
||||
echo '<td>'.$article['views'].'</td>';
|
||||
echo '<td class="col-xs-4 col-sm-3">'.$article['views'].'</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
}
|
||||
@ -197,7 +197,7 @@ function hesk_kbLatestArticles($how_many, $index = 1)
|
||||
<div class="panel-heading">
|
||||
<h4 class="text-left"><?php echo $hesklang['latart_no_colon']; ?></h4>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<table class="table table-striped table-fixed">
|
||||
<thead>
|
||||
<tr>
|
||||
<?php
|
||||
@ -214,10 +214,10 @@ function hesk_kbLatestArticles($how_many, $index = 1)
|
||||
/* Show number of views? */
|
||||
if (hesk_dbNumRows($res) != 0)
|
||||
{
|
||||
echo '<th '.$colspan.'> </th>';
|
||||
echo '<th class="col-xs-9" '.$colspan.'> </th>';
|
||||
if ($hesk_settings['kb_date'])
|
||||
{
|
||||
echo '<th><i>' . $hesklang['dta'] . '</i></th>';
|
||||
echo '<th class="col-xs-3"><i>' . $hesklang['dta'] . '</i></th>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -248,14 +248,16 @@ function hesk_kbLatestArticles($how_many, $index = 1)
|
||||
{
|
||||
echo '
|
||||
<tr>
|
||||
<td '.$colspan.'>
|
||||
<td class="col-xs-9" '.$colspan.'>
|
||||
<i class="fa fa-file"></i> <a href="knowledgebase.php?article='.$article['id'].'">'.$article['subject'].'</a>
|
||||
</td>';
|
||||
if ($hesk_settings['kb_date']) {
|
||||
echo '<td>' . hesk_date($article['dt'], true) . '</td>';
|
||||
echo '<td class="col-xs-3">' . hesk_date($article['dt'], true) . '</td>';
|
||||
}
|
||||
echo '</tr>';
|
||||
} ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
|
@ -139,7 +139,7 @@ else
|
||||
{
|
||||
hesk_show_kb_category($catid);
|
||||
}
|
||||
|
||||
echo '</div>';
|
||||
require_once(HESK_PATH . 'inc/footer.inc.php');
|
||||
exit();
|
||||
|
||||
@ -276,8 +276,15 @@ function hesk_show_kb_article($artid)
|
||||
{
|
||||
hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` SET `views`=`views`+1 WHERE `id`={$artid} LIMIT 1");
|
||||
}
|
||||
if (!isset($_GET['suggest'])) {
|
||||
$historyNumber = isset($_GET['rated']) ? '-2' : '-1';
|
||||
$goBackText = '<a href="javascript:history.go('.$historyNumber.')">
|
||||
<i class="fa fa-arrow-circle-left" data-toggle="tooltip" data-placement="top" title="'.$hesklang['back'].'"></i></a>';
|
||||
} else {
|
||||
$goBackText = '';
|
||||
}
|
||||
|
||||
echo '<h3 class="text-left">'.$article['subject'].'</h3>
|
||||
echo '<h3 class="text-left">'.$goBackText.' '.$article['subject'].'</h3>
|
||||
<div class="footerWithBorder blankSpace"></div>
|
||||
<h4 class="text-left">'.$hesklang['as'].'</h4>
|
||||
<div class="kbContent">'
|
||||
@ -409,22 +416,7 @@ function hesk_show_kb_article($artid)
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
|
||||
<?php
|
||||
if (!isset($_GET['suggest']))
|
||||
{
|
||||
?>
|
||||
<p><a href="javascript:history.go(<?php echo isset($_GET['rated']) ? '-2' : '-1'; ?>)"><span class="glyphicon glyphicon-circle-arrow-left"></span> <?php echo $hesklang['back']; ?></a></p>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<p> </p>
|
||||
<?php
|
||||
}
|
||||
|
||||
<?php
|
||||
} // END hesk_show_kb_article()
|
||||
|
||||
|
||||
@ -456,8 +448,7 @@ function hesk_show_kb_category($catid, $is_search = 0) {
|
||||
if ($thiscat['parent'])
|
||||
{
|
||||
$link = ($thiscat['parent'] == 1) ? 'knowledgebase.php' : 'knowledgebase.php?category='.$thiscat['parent'];
|
||||
echo '<h3 class="text-left">'.$hesklang['kb_cat'].': '.$thiscat['name'].' </h3>
|
||||
<p class="text-left"><a href="javascript:history.go(-1)" title="'.$hesklang['back'].'"><span class="glyphicon glyphicon-circle-arrow-left"></span>'.$hesklang['back'].'</a></p>
|
||||
echo '<h3 class="text-left"><a href="javascript:history.go(-1)"><i class="fa fa-arrow-circle-left" data-toggle="tooltip" data-placement="top" title="'.$hesklang['back'].'"></i></a> '.$hesklang['kb_cat'].': '.$thiscat['name'].' </h3>
|
||||
<div class="footerWithBorder blankSpace"></div>
|
||||
<div class="blankSpace"></div>
|
||||
';
|
||||
@ -468,153 +459,137 @@ function hesk_show_kb_category($catid, $is_search = 0) {
|
||||
{
|
||||
?>
|
||||
|
||||
<h4 class="text-left"><?php echo $hesklang['kb_cat_sub']; ?></h4>
|
||||
<div class="footerWithBorder blankSpace"></div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="text-left"><?php echo $hesklang['kb_cat_sub']; ?></h4>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
|
||||
<table border="0" cellspacing="1" cellpadding="3" width="100%">
|
||||
<?php
|
||||
$per_col = $hesk_settings['kb_cols'];
|
||||
$i = 1;
|
||||
|
||||
<?php
|
||||
$per_col = $hesk_settings['kb_cols'];
|
||||
$i = 1;
|
||||
while ($cat = hesk_dbFetchAssoc($result))
|
||||
{
|
||||
|
||||
while ($cat = hesk_dbFetchAssoc($result))
|
||||
{
|
||||
if ($i == 1)
|
||||
{
|
||||
echo '<tr>';
|
||||
}
|
||||
|
||||
if ($i == 1)
|
||||
{
|
||||
echo '<tr>';
|
||||
}
|
||||
echo '
|
||||
<td width="50%" valign="top">
|
||||
<table border="0">
|
||||
<tr><td><i class="fa fa-folder"></i> <a href="knowledgebase.php?category='.$cat['id'].'">'.$cat['name'].'</a></td></tr>
|
||||
';
|
||||
|
||||
echo '
|
||||
<td width="50%" valign="top">
|
||||
<table border="0">
|
||||
<tr><td><span class="glyphicon glyphicon-folder-close"></span> <a href="knowledgebase.php?category='.$cat['id'].'">'.$cat['name'].'</a></td></tr>
|
||||
';
|
||||
|
||||
/* 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 '
|
||||
/* 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 '
|
||||
<tr>
|
||||
<td> <span class="glyphicon glyphicon-file"></span>
|
||||
<a href="knowledgebase.php?article='.$art['id'].'" class="article">'.$art['subject'].'</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.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.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>
|
||||
|
||||
</td>
|
||||
<td class="roundcornersright"> </td>
|
||||
</tr>
|
||||
</table>
|
||||
?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
} // END if NumRows > 0
|
||||
?>
|
||||
|
||||
<h4 class="text-left"><?php echo $hesklang['ac']; ?></h4>
|
||||
<div class="footerWithBorder blankSpace"></div>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<h4 class="text-left"><?php echo $hesklang['ac_no_colon']; ?></h4>
|
||||
</div>
|
||||
<table class="table table-striped">
|
||||
<tbody>
|
||||
<?php
|
||||
$res = hesk_dbQuery("SELECT `id`, `subject`, LEFT(`content`, ".max(200, $hesk_settings['kb_substrart'] * 2).") AS `content`, `rating` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `catid`='{$catid}' AND `type`='0' ORDER BY `sticky` DESC, `art_order` ASC");
|
||||
if (hesk_dbNumRows($res) == 0)
|
||||
{
|
||||
echo '<tr><td><i>'.$hesklang['noac'].'</i></td></tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
while ($article = hesk_dbFetchAssoc($res))
|
||||
{
|
||||
$txt = hesk_kbArticleContentPreview($article['content']);
|
||||
|
||||
<table width="100%" border="0" cellspacing="0" cellpadding="0">
|
||||
if ($hesk_settings['kb_rating'])
|
||||
{
|
||||
$alt = $article['rating'] ? sprintf($hesklang['kb_rated'], sprintf("%01.1f", $article['rating'])) : $hesklang['kb_not_rated'];
|
||||
$rat = '<td><img src="img/star_'.(hesk_round_to_half($article['rating'])*10).'.png" width="85" height="16" alt="'.$alt.'" title="'.$alt.'" border="0" style="vertical-align:text-bottom" /></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$rat = '';
|
||||
}
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<?php
|
||||
$res = hesk_dbQuery("SELECT `id`, `subject`, LEFT(`content`, ".max(200, $hesk_settings['kb_substrart'] * 2).") AS `content`, `rating` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."kb_articles` WHERE `catid`='{$catid}' AND `type`='0' 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))
|
||||
{
|
||||
$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 = '<td width="1" valign="top"><img src="img/star_'.(hesk_round_to_half($article['rating'])*10).'.png" width="85" height="16" alt="'.$alt.'" title="'.$alt.'" border="0" style="vertical-align:text-bottom" /></td>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$rat = '';
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="1">
|
||||
<tr>
|
||||
<td width="1" valign="top"><span class="glyphicon glyphicon-file"></span></td>
|
||||
<td valign="top"><a href="knowledgebase.php?article='.$article['id'].'">'.$article['subject'].'</a></td>
|
||||
'.$rat.'
|
||||
</tr>
|
||||
</table>
|
||||
<table border="0" width="100%" cellspacing="0" cellpadding="1">
|
||||
<tr>
|
||||
<td width="1" valign="top"><img src="img/blank.gif" width="16" height="10" style="vertical-align:middle" alt="" /></td>
|
||||
<td><span class="article_list">'.$txt.'</span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>';
|
||||
}
|
||||
echo '</table></div>';
|
||||
}
|
||||
?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
echo '
|
||||
<tr>
|
||||
<td>
|
||||
<i class="fa fa-file"></i>
|
||||
<a href="knowledgebase.php?article='.$article['id'].'">'.$article['subject'].'</a>
|
||||
<br>
|
||||
<span class="indent-15">'.$txt.'</span>
|
||||
</td>
|
||||
'.$rat.'
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
/* On the main KB page print out top and latest articles if needed */
|
||||
@ -626,6 +601,5 @@ function hesk_show_kb_category($catid, $is_search = 0) {
|
||||
/* Get list of latest articles */
|
||||
hesk_kbLatestArticles($hesk_settings['kb_latest'], 0);
|
||||
}
|
||||
|
||||
} // END hesk_show_kb_category()
|
||||
?>
|
||||
|
@ -22,8 +22,9 @@ $hesklang['_COLLATE']='utf8_unicode_ci';
|
||||
$hesklang['EMAIL_HR']='------ Reply above this line ------';
|
||||
|
||||
// ADDED OR MODIFIED IN Mods for HESK 2.2.1
|
||||
$hesklang['popart_no_colon']='Top Knowledgebase Articles';
|
||||
$hesklang['latart_no_colon']='Latest Knowledgebase Articles';
|
||||
$hesklang['popart_no_colon']='Top Knowledgebase Articles'; // same as $hesklang['popart'] but without a colon (:)
|
||||
$hesklang['latart_no_colon']='Latest Knowledgebase Articles'; // same as $hesklang['latart'] but without a colon (:)
|
||||
$hesklang['ac_no_colon']='Articles in this Category'; // same as $hesklang['ac'] but without a colon (:)
|
||||
|
||||
// ADDED OR MODIFIED IN Mods for HESK 2.2.0
|
||||
$hesklang['email_templates'] = 'Email templates';
|
||||
|
Loading…
x
Reference in New Issue
Block a user