91
hesk/theme/hesk3/customer/util/kb-search.php
Normal file
91
hesk/theme/hesk3/customer/util/kb-search.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<?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
|
||||
}
|
||||
Reference in New Issue
Block a user