Files
hesk-docker/hesk/theme/hesk3/customer/util/kb-search.php
Luke Tainton 39782c53ef Initial commit
Signed-off-by: Luke Tainton <luke@tainton.uk>
2020-02-26 12:23:50 +00:00

91 lines
3.4 KiB
PHP

<?php
// This guard is used to ensure that users can't hit this outside of actual HESK code
if (!defined('IN_SCRIPT')) {
die();
}
function displayKbSearch() {
global $hesk_settings, $hesklang;
if ($hesk_settings['kb_search'] && $hesk_settings['kb_enable']): ?>
<form action="knowledgebase.php" method="get" style="display: inline; margin: 0;" name="searchform">
<div class="search__form">
<div class="form-group">
<button class="btn search__submit">
<svg class="icon icon-search">
<use xlink:href="<?php echo TEMPLATE_PATH; ?>customer/img/sprite.svg#icon-search"></use>
</svg>
</button>
<input id="kb_search" name="search" class="form-control" type="text" placeholder="<?php echo $hesklang['search_for_articles']; ?>">
<?php if ($hesk_settings['kb_search'] === 1): ?>
<button id="search-button" type="submit" class="btn btn-full"><?php echo $hesklang['search']; ?></button>
<?php endif; ?>
</div>
<div class="kb-suggestions" style="margin: 0 auto; width: 100%; max-width: 752px; display: none">
<div class="alert none">
<div class="alert__inner">
<div class="alert__head">
<h6 class="alert__title"><?php echo $hesklang['sc']; ?>:</h6>
</div>
<ul id="kb-suggestion-list" class="type--list">
</ul>
</div>
</div>
</div>
</div>
</form>
<?php
endif;
}
function outputSearchStyling() {
global $hesk_settings;
if (!$hesk_settings['kb_search'] || !$hesk_settings['kb_enable']) return;
if ($hesk_settings['kb_search'] === 1): ?>
#kb_search {
width: 70%;
}
#search-button {
width: 30%;
margin-left: 10px;
height: inherit;
}
<?php
endif;
}
function outputSearchJavascript() {
global $hesk_settings, $hesklang;
if (!$hesk_settings['kb_search'] || !$hesk_settings['kb_enable']) return;
?>
<script>
var noArticlesFoundText = <?php echo json_encode($hesklang['nsfo']); ?>;
$(document).ready(function() {
HESK_FUNCTIONS.getKbSearchSuggestions($('#kb_search'), function(data) {
$('.kb-suggestions').show();
var $suggestionList = $('#kb-suggestion-list');
$suggestionList.html('');
var format = '<li style="margin-bottom: 5px">' +
'<a class="link" href="knowledgebase.php?article={0}">{1}</a>' +
'<br>' +
'{2}' +
'</li>';
var results = false;
$.each(data, function() {
results = true;
$('#kb-suggestion-list').append(format.replace('{0}', this.id).replace('{1}', this.subject).replace('{2}', this.contentPreview));
});
if (!results) {
$suggestionList.append('<li>' + noArticlesFoundText + '</li>');
}
});
});
</script>
<?php
}