Update to HESK 2.7.2
This commit is contained in:
parent
6b0e7f17bb
commit
081fcf779c
@ -264,7 +264,7 @@ $modsForHesk_settings = mfh_getSettings();
|
|||||||
document.getElementById('servertime').innerHTML = h + ":" + m;
|
document.getElementById('servertime').innerHTML = h + ":" + m;
|
||||||
s = s + 1;
|
s = s + 1;
|
||||||
today.setSeconds(s);
|
today.setSeconds(s);
|
||||||
t = setTimeout('startTime()', 1000);
|
t = setTimeout(function() { startTime(); },1000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkTime(i) {
|
function checkTime(i) {
|
||||||
@ -591,6 +591,32 @@ $modsForHesk_settings = mfh_getSettings();
|
|||||||
placeholder="<?php echo htmlspecialchars($hesklang['navbar_title_url']); ?>"/>
|
placeholder="<?php echo htmlspecialchars($hesklang['navbar_title_url']); ?>"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="s_hesk_title" class="col-sm-3 control-label"><?php echo $hesklang['hesk_title']; ?>
|
||||||
|
<a href="Javascript:void(0)"
|
||||||
|
onclick="Javascript:hesk_window('<?php echo $help_folder; ?>helpdesk.html#6','400','500')"><i
|
||||||
|
class="fa fa-question-circle settingsquestionmark"></i></a></label>
|
||||||
|
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" class="form-control"
|
||||||
|
placeholder="<?php echo htmlspecialchars($hesklang['hesk_title']); ?>"
|
||||||
|
name="s_hesk_title" size="40" maxlength="255"
|
||||||
|
value="<?php echo $hesk_settings['hesk_title']; ?>"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="s_hesk_url" class="col-sm-3 control-label"><?php echo $hesklang['hesk_url']; ?> <a
|
||||||
|
href="Javascript:void(0)"
|
||||||
|
onclick="Javascript:hesk_window('<?php echo $help_folder; ?>helpdesk.html#7','400','500')"><i
|
||||||
|
class="fa fa-question-circle settingsquestionmark"></i></a></label>
|
||||||
|
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" class="form-control"
|
||||||
|
placeholder="<?php echo htmlspecialchars($hesklang['hesk_url']); ?>"
|
||||||
|
name="s_hesk_url" size="40" maxlength="255"
|
||||||
|
value="<?php echo $hesk_settings['hesk_url']; ?>"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="s_webmaster_email"
|
<label for="s_webmaster_email"
|
||||||
class="col-sm-3 control-label"><?php echo $hesklang['email_wm']; ?> <a
|
class="col-sm-3 control-label"><?php echo $hesklang['email_wm']; ?> <a
|
||||||
@ -805,32 +831,6 @@ $modsForHesk_settings = mfh_getSettings();
|
|||||||
</div>
|
</div>
|
||||||
<div class="box-body">
|
<div class="box-body">
|
||||||
<h4 class="bold"><?php echo $hesklang['hd']; ?></h4>
|
<h4 class="bold"><?php echo $hesklang['hd']; ?></h4>
|
||||||
<div class="form-group">
|
|
||||||
<label for="s_hesk_title" class="col-sm-3 control-label"><?php echo $hesklang['hesk_title']; ?>
|
|
||||||
<a href="Javascript:void(0)"
|
|
||||||
onclick="Javascript:hesk_window('<?php echo $help_folder; ?>helpdesk.html#6','400','500')"><i
|
|
||||||
class="fa fa-question-circle settingsquestionmark"></i></a></label>
|
|
||||||
|
|
||||||
<div class="col-sm-9">
|
|
||||||
<input type="text" class="form-control"
|
|
||||||
placeholder="<?php echo htmlspecialchars($hesklang['hesk_title']); ?>"
|
|
||||||
name="s_hesk_title" size="40" maxlength="255"
|
|
||||||
value="<?php echo $hesk_settings['hesk_title']; ?>"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="s_hesk_url" class="col-sm-3 control-label"><?php echo $hesklang['hesk_url']; ?> <a
|
|
||||||
href="Javascript:void(0)"
|
|
||||||
onclick="Javascript:hesk_window('<?php echo $help_folder; ?>helpdesk.html#7','400','500')"><i
|
|
||||||
class="fa fa-question-circle settingsquestionmark"></i></a></label>
|
|
||||||
|
|
||||||
<div class="col-sm-9">
|
|
||||||
<input type="text" class="form-control"
|
|
||||||
placeholder="<?php echo htmlspecialchars($hesklang['hesk_url']); ?>"
|
|
||||||
name="s_hesk_url" size="40" maxlength="255"
|
|
||||||
value="<?php echo $hesk_settings['hesk_url']; ?>"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="s_admin_dir" class="col-sm-3 control-label"><?php echo $hesklang['adf']; ?> <a
|
<label for="s_admin_dir" class="col-sm-3 control-label"><?php echo $hesklang['adf']; ?> <a
|
||||||
href="Javascript:void(0)"
|
href="Javascript:void(0)"
|
||||||
@ -3831,7 +3831,7 @@ $modsForHesk_settings = mfh_getSettings();
|
|||||||
}
|
}
|
||||||
|
|
||||||
// No cached file or older than 3600 seconds, try to get an update
|
// No cached file or older than 3600 seconds, try to get an update
|
||||||
$hesk_version_url = 'http://heskcom.s3.amazonaws.com/hesk_version.txt';
|
$hesk_version_url = 'https://hesk.com/version';
|
||||||
|
|
||||||
// Try using cURL
|
// Try using cURL
|
||||||
if (function_exists('curl_init')) {
|
if (function_exists('curl_init')) {
|
||||||
@ -3845,7 +3845,7 @@ $modsForHesk_settings = mfh_getSettings();
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Try using a simple PHP function instead
|
// Try using a simple PHP function instead
|
||||||
if ($latest = file_get_contents($hesk_version_url)) {
|
if ($latest = @file_get_contents($hesk_version_url)) {
|
||||||
return hesk_cacheLatestVersion($latest);
|
return hesk_cacheLatestVersion($latest);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,6 +52,9 @@ $set = array();
|
|||||||
$set['site_title'] = hesk_input(hesk_POST('s_site_title'), $hesklang['err_sname']);
|
$set['site_title'] = hesk_input(hesk_POST('s_site_title'), $hesklang['err_sname']);
|
||||||
$set['site_title'] = str_replace('\\"', '"', $set['site_title']);
|
$set['site_title'] = str_replace('\\"', '"', $set['site_title']);
|
||||||
$set['site_url'] = hesk_input(hesk_POST('s_site_url'), $hesklang['err_surl']);
|
$set['site_url'] = hesk_input(hesk_POST('s_site_url'), $hesklang['err_surl']);
|
||||||
|
$set['hesk_title'] = hesk_input(hesk_POST('s_hesk_title'), $hesklang['err_htitle']);
|
||||||
|
$set['hesk_title'] = str_replace('\\"', '"', $set['hesk_title']);
|
||||||
|
$set['hesk_url'] = rtrim(hesk_input(hesk_POST('s_hesk_url'), $hesklang['err_hurl']), '/');
|
||||||
$set['webmaster_mail'] = hesk_validateEmail(hesk_POST('s_webmaster_mail'), $hesklang['err_wmmail']);
|
$set['webmaster_mail'] = hesk_validateEmail(hesk_POST('s_webmaster_mail'), $hesklang['err_wmmail']);
|
||||||
$set['noreply_mail'] = hesk_validateEmail(hesk_POST('s_noreply_mail'), $hesklang['err_nomail']);
|
$set['noreply_mail'] = hesk_validateEmail(hesk_POST('s_noreply_mail'), $hesklang['err_nomail']);
|
||||||
$set['noreply_name'] = hesk_input(hesk_POST('s_noreply_name'));
|
$set['noreply_name'] = hesk_input(hesk_POST('s_noreply_name'));
|
||||||
@ -78,11 +81,6 @@ if (hesk_testMySQL()) {
|
|||||||
|
|
||||||
/*** HELP DESK ***/
|
/*** HELP DESK ***/
|
||||||
|
|
||||||
/* --> Helpdesk settings */
|
|
||||||
$set['hesk_title'] = hesk_input(hesk_POST('s_hesk_title'), $hesklang['err_htitle']);
|
|
||||||
$set['hesk_title'] = str_replace('\\"', '"', $set['hesk_title']);
|
|
||||||
$set['hesk_url'] = rtrim(hesk_input(hesk_POST('s_hesk_url'), $hesklang['err_hurl']), '/');
|
|
||||||
|
|
||||||
// ---> check admin folder
|
// ---> check admin folder
|
||||||
$set['admin_dir'] = isset($_POST['s_admin_dir']) && !is_array($_POST['s_admin_dir']) ? preg_replace('/[^a-zA-Z0-9_-]/', '', $_POST['s_admin_dir']) : 'admin';
|
$set['admin_dir'] = isset($_POST['s_admin_dir']) && !is_array($_POST['s_admin_dir']) ? preg_replace('/[^a-zA-Z0-9_-]/', '', $_POST['s_admin_dir']) : 'admin';
|
||||||
/*
|
/*
|
||||||
@ -544,6 +542,8 @@ $settings_file_content = '<?php
|
|||||||
// --> General settings
|
// --> General settings
|
||||||
$hesk_settings[\'site_title\']=\'' . $set['site_title'] . '\';
|
$hesk_settings[\'site_title\']=\'' . $set['site_title'] . '\';
|
||||||
$hesk_settings[\'site_url\']=\'' . $set['site_url'] . '\';
|
$hesk_settings[\'site_url\']=\'' . $set['site_url'] . '\';
|
||||||
|
$hesk_settings[\'hesk_title\']=\'' . $set['hesk_title'] . '\';
|
||||||
|
$hesk_settings[\'hesk_url\']=\'' . $set['hesk_url'] . '\';
|
||||||
$hesk_settings[\'webmaster_mail\']=\'' . $set['webmaster_mail'] . '\';
|
$hesk_settings[\'webmaster_mail\']=\'' . $set['webmaster_mail'] . '\';
|
||||||
$hesk_settings[\'noreply_mail\']=\'' . $set['noreply_mail'] . '\';
|
$hesk_settings[\'noreply_mail\']=\'' . $set['noreply_mail'] . '\';
|
||||||
$hesk_settings[\'noreply_name\']=\'' . $set['noreply_name'] . '\';
|
$hesk_settings[\'noreply_name\']=\'' . $set['noreply_name'] . '\';
|
||||||
@ -566,8 +566,6 @@ $hesk_settings[\'db_vrsn\']=' . $set['db_vrsn'] . ';
|
|||||||
// ==> HELP DESK
|
// ==> HELP DESK
|
||||||
|
|
||||||
// --> Help desk settings
|
// --> Help desk settings
|
||||||
$hesk_settings[\'hesk_title\']=\'' . $set['hesk_title'] . '\';
|
|
||||||
$hesk_settings[\'hesk_url\']=\'' . $set['hesk_url'] . '\';
|
|
||||||
$hesk_settings[\'admin_dir\']=\'' . $set['admin_dir'] . '\';
|
$hesk_settings[\'admin_dir\']=\'' . $set['admin_dir'] . '\';
|
||||||
$hesk_settings[\'attach_dir\']=\'' . $set['attach_dir'] . '\';
|
$hesk_settings[\'attach_dir\']=\'' . $set['attach_dir'] . '\';
|
||||||
$hesk_settings[\'cache_dir\']=\'' . $set['cache_dir'] . '\';
|
$hesk_settings[\'cache_dir\']=\'' . $set['cache_dir'] . '\';
|
||||||
@ -708,8 +706,8 @@ $hesk_settings[\'open_only\']=' . $set['open_only'] . ';
|
|||||||
$hesk_settings[\'ticket_list\']=array(' . $set['ticket_list'] . ');
|
$hesk_settings[\'ticket_list\']=array(' . $set['ticket_list'] . ');
|
||||||
|
|
||||||
// --> Other
|
// --> Other
|
||||||
$hesk_settings[\'submittedformat\']=\'' . $set['submittedformat'] . '\';
|
$hesk_settings[\'submittedformat\']=' . $set['submittedformat'] . ';
|
||||||
$hesk_settings[\'updatedformat\']=\'' . $set['updatedformat'] . '\';
|
$hesk_settings[\'updatedformat\']=' . $set['updatedformat'] . ';
|
||||||
|
|
||||||
|
|
||||||
// ==> MISC
|
// ==> MISC
|
||||||
|
@ -196,8 +196,7 @@ function hesk_suggestKB() {
|
|||||||
xmlHttp.send(params);
|
xmlHttp.send(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout('hesk_suggestKB();', 2000);
|
setTimeout(function() { hesk_suggestKB(); }, 2000);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function hesk_suggestKBsearch(isAdmin) {
|
function hesk_suggestKBsearch(isAdmin) {
|
||||||
@ -238,7 +237,7 @@ function hesk_suggestKBsearch(isAdmin) {
|
|||||||
xmlHttp.send(params);
|
xmlHttp.send(params);
|
||||||
}
|
}
|
||||||
|
|
||||||
setTimeout('hesk_suggestKBsearch(' + isAdmin + ');', 2000);
|
setTimeout(function() { hesk_suggestKBsearch(isAdmin); }, 2000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function hesk_suggestEmail(emailField, displayDiv, padDiv, isAdmin, allowMultiple) {
|
function hesk_suggestEmail(emailField, displayDiv, padDiv, isAdmin, allowMultiple) {
|
||||||
|
@ -89,12 +89,6 @@ function hesk_kbTopArticles($how_many, $index = 1)
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
/* Get list of articles from the database */
|
|
||||||
$res = hesk_dbQuery("SELECT `t1`.`id`,`t1`.`subject`,`t1`.`dt`, `t1`.`views`,`t1`.`sticky` 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`='0' AND `t2`.`type`='0'
|
|
||||||
ORDER BY `t1`.`sticky` DESC, `t1`.`views` DESC, `t1`.`art_order` ASC LIMIT " . intval($how_many));
|
|
||||||
|
|
||||||
/* If no results found end here */
|
/* If no results found end here */
|
||||||
if (hesk_dbNumRows($res) == 0) {
|
if (hesk_dbNumRows($res) == 0) {
|
||||||
$colspan = '';
|
$colspan = '';
|
||||||
@ -109,7 +103,13 @@ function hesk_kbTopArticles($how_many, $index = 1)
|
|||||||
if (!$hesk_settings['kb_views']) {
|
if (!$hesk_settings['kb_views']) {
|
||||||
$colspan = 'colspan="2"';
|
$colspan = 'colspan="2"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Remember what articles are printed for "Top" so we don't print them again in "Latest"
|
||||||
|
$hesk_settings['kb_top_articles_printed'] = array();
|
||||||
|
|
||||||
while ($article = hesk_dbFetchAssoc($res)) {
|
while ($article = hesk_dbFetchAssoc($res)) {
|
||||||
|
$hesk_settings['kb_top_articles_printed'][] = $article['id'];
|
||||||
|
|
||||||
$icon = 'fa fa-file';
|
$icon = 'fa fa-file';
|
||||||
$style = '';
|
$style = '';
|
||||||
|
|
||||||
@ -176,6 +176,12 @@ function hesk_kbLatestArticles($how_many, $index = 1)
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<?php
|
<?php
|
||||||
|
// Don't include articles that have already been printed under "Top" articles
|
||||||
|
$sql_top = '';
|
||||||
|
if (isset($hesk_settings['kb_top_articles_printed']) && count($hesk_settings['kb_top_articles_printed'])) {
|
||||||
|
$sql_top = ' AND `t1`.`id` NOT IN ('.implode(',', $hesk_settings['kb_top_articles_printed']).')';
|
||||||
|
}
|
||||||
|
|
||||||
$colspan = '';
|
$colspan = '';
|
||||||
if (!$hesk_settings['kb_date']) {
|
if (!$hesk_settings['kb_date']) {
|
||||||
$colspan = 'colspan="2"';
|
$colspan = 'colspan="2"';
|
||||||
@ -183,7 +189,7 @@ function hesk_kbLatestArticles($how_many, $index = 1)
|
|||||||
/* Get list of articles from the database */
|
/* Get list of articles from the database */
|
||||||
$res = hesk_dbQuery("SELECT `t1`.* FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "kb_articles` AS `t1`
|
$res = hesk_dbQuery("SELECT `t1`.* 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`
|
LEFT JOIN `" . hesk_dbEscape($hesk_settings['db_pfix']) . "kb_categories` AS `t2` ON `t1`.`catid` = `t2`.`id`
|
||||||
WHERE `t1`.`type`='0' AND `t2`.`type`='0'
|
WHERE `t1`.`type`='0' AND `t2`.`type`='0' {$sql_top}
|
||||||
ORDER BY `t1`.`dt` DESC LIMIT " . intval($how_many));
|
ORDER BY `t1`.`dt` DESC LIMIT " . intval($how_many));
|
||||||
|
|
||||||
/* Show number of views? */
|
/* Show number of views? */
|
||||||
@ -198,11 +204,6 @@ function hesk_kbLatestArticles($how_many, $index = 1)
|
|||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
/* Get list of articles from the database */
|
|
||||||
$res = hesk_dbQuery("SELECT `t1`.* 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`='0' AND `t2`.`type`='0'
|
|
||||||
ORDER BY `t1`.`dt` DESC LIMIT " . intval($how_many));
|
|
||||||
|
|
||||||
/* If no results found end here */
|
/* If no results found end here */
|
||||||
if (hesk_dbNumRows($res) == 0) {
|
if (hesk_dbNumRows($res) == 0) {
|
||||||
|
@ -378,12 +378,12 @@ function hesk_stripQuotedText($message)
|
|||||||
function hesk_isReturnedEmail($tmpvar)
|
function hesk_isReturnedEmail($tmpvar)
|
||||||
{
|
{
|
||||||
// Check noreply email addresses
|
// Check noreply email addresses
|
||||||
if (preg_match('/not?[\-_]reply@/i', $tmpvar['email'])) {
|
if (preg_match('/not?[\-_\.]?reply@/i', $tmpvar['email'])) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check mailer daemon email addresses
|
// Check mailer daemon email addresses
|
||||||
if (preg_match('/mail(er)?[\-_]daemon@/i', $tmpvar['email'])) {
|
if (preg_match('/mail(er)?[\-_\.]?daemon@/i', $tmpvar['email'])) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,11 +25,13 @@ if (!isset($admins)) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* List of categories */
|
/* List of categories */
|
||||||
$orderBy = $modsForHesk_settings['category_order_column'];
|
if ( ! isset($hesk_settings['categories'])) {
|
||||||
$hesk_settings['categories'] = array();
|
$orderBy = $modsForHesk_settings['category_order_column'];
|
||||||
$res2 = hesk_dbQuery('SELECT `id`, `name` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'categories` WHERE ' . hesk_myCategories('id') . ' ORDER BY `' . $orderBy . '` ASC');
|
$hesk_settings['categories'] = array();
|
||||||
while ($row = hesk_dbFetchAssoc($res2)) {
|
$res2 = hesk_dbQuery('SELECT `id`, `name` FROM `' . hesk_dbEscape($hesk_settings['db_pfix']) . 'categories` WHERE ' . hesk_myCategories('id') . ' ORDER BY `' . $orderBy . '` ASC');
|
||||||
|
while ($row = hesk_dbFetchAssoc($res2)) {
|
||||||
$hesk_settings['categories'][$row['id']] = $row['name'];
|
$hesk_settings['categories'][$row['id']] = $row['name'];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Current MySQL time */
|
/* Current MySQL time */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user