Merge branch 'hesk-2-8-2' into 'master'

HESK 2.8.2 Update

See merge request mike-koch/Mods-for-HESK!101
master^2
Mike Koch 6 years ago
commit 179df881c1

@ -1,4 +1,4 @@
<?php
// Define the current build
define('MODS_FOR_HESK_BUILD', 52);
define('MODS_FOR_HESK_BUILD', 53);

@ -222,10 +222,10 @@ function hesk_mergeTickets($merge_these, $merge_into)
$total = 0;
$staffreplies = 0;
$res = hesk_dbQuery("SELECT COUNT(*) as `cnt`, `staffid` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "replies` WHERE `replyto`=" . intval($ticket['id']) . " GROUP BY CASE WHEN `staffid` = 0 THEN 0 ELSE 1 END ASC");
$res = hesk_dbQuery("SELECT COUNT(*) as `cnt`, (CASE WHEN `staffid` = 0 THEN 0 ELSE 1 END) AS `staffcnt` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "replies` WHERE `replyto`=" . intval($ticket['id']) . " GROUP BY CASE WHEN `staffid` = 0 THEN 0 ELSE 1 END ASC");
while ($row = hesk_dbFetchAssoc($res)) {
$total += $row['cnt'];
$staffreplies += ($row['staffid'] ? $row['cnt'] : 0);
$staffreplies += ($row['staffcnt'] ? $row['cnt'] : 0);
}
$replies_sql = " `replies`={$total}, `staffreplies`={$staffreplies} , ";

@ -390,7 +390,7 @@ function hesk_mb_strlen($in)
} // END hesk_mb_strlen()
function hesk_mb_strtolower($in) {
return function_exists('mb_strtolower') ? mb_strtolower($in) : strtolower($in);
return function_exists('mb_strtolower') ? mb_strtolower($in, 'UTF-8') : strtolower($in);
} // END hesk_mb_strtolower()
function hesk_ucfirst($in) {

@ -1010,5 +1010,21 @@ function hesk_generateMessageID() {
$id = uniqid('', true);
}
return '<' . $id . '.' . gmdate('YmdHis') . '@' . $_SERVER['SERVER_NAME'] . '>';
// If run from CLI, set the Hesk URL as host name
if (isset($_SERVER['SERVER_NAME'])) {
$host = $_SERVER['SERVER_NAME'];
} else {
global $hesk_settings;
$parts = parse_url($hesk_settings['hesk_url']);
if (empty($parts['host'])) {
$host = gethostname();
$host = str_replace('>', '', $host);
} else {
$host = $parts['host'];
}
}
return '<' . $id . '.' . gmdate('YmdHis') . '@' . $host . '>';
} // END hesk_generateMessageID()

@ -60,10 +60,10 @@ https://www.hesk.com/buy.php
$hesk_settings['hesk_license']('HAgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBjb
GFzcz0ic21hbGxlciI+Jm5ic3A7PGJyIC8+UG93ZXJlZCBieSA8YSBocmVmPSJodHRwczovL3d3dy5oZ
XNrLmNvbSIgY2xhc3M9InNtYWxsZXIiIHRpdGxlPSJGcmVlIFBIUCBIZWxwIERlc2sgU29mdHdhcmUiP
khlbHAgRGVzayBTb2Z0d2FyZTwvYT4gPGI+SEVTSzwvYj4sIGJyb3VnaHQgdG8geW91IGJ5IDxhIGhyZ
WY9Imh0dHBzOi8vd3d3LnN5c2FpZC5jb20vP3V0bV9zb3VyY2U9SGVzayZhbXA7dXRtX21lZGl1bT1jc
GMmYW1wO3V0bV9jYW1wYWlnbj1IZXNrUHJvZHVjdF9Ub19IUCI+U3lzQWlkPC9hPjwvc3Bhbj48L3A+'
,"\120");
khlbHAgRGVzayBTb2Z0d2FyZTwvYT4gPGI+SEVTSzwvYj4sIGluIHBhcnRuZXJzaGlwIHdpdGggPGEga
HJlZj0iaHR0cHM6Ly93d3cuc3lzYWlkLmNvbS8/dXRtX3NvdXJjZT1IZXNrJmFtcDt1dG1fbWVkaXVtP
WNwYyZhbXA7dXRtX2NhbXBhaWduPUhlc2tQcm9kdWN0X1RvX0hQIj5TeXNBaWQgVGVjaG5vbG9naWVzP
C9hPjwvc3Bhbj48L3A+',"\120");
include(HESK_PATH . 'footer.txt');

@ -15,8 +15,8 @@
if (!defined('IN_SCRIPT')) {die('Invalid attempt');}
// We will be installing this HESK version:
define('HESK_NEW_VERSION','2.8.1');
define('MODS_FOR_HESK_NEW_VERSION','2018.1.0');
define('HESK_NEW_VERSION','2.8.2');
define('MODS_FOR_HESK_NEW_VERSION','2018.1.1');
define('REQUIRE_PHP_VERSION','5.3.0');
define('REQUIRE_MYSQL_VERSION','5.0.7');

@ -231,5 +231,8 @@ function getAllMigrations() {
173 => new UpdateMigration('3.3.1', '3.3.0', 173),
// 2018.1.0
174 => new UpdateMigration('2018.1.0', '3.3.1', 174),
// 2018.1.1
175 => new \vv201811\MigrateServiceMessageLanguages(175),
176 => new UpdateMigration('2018.1.1', '2018.1.0', 176),
);
}

@ -0,0 +1,49 @@
<?php
namespace vv201811;
class MigrateServiceMessageLanguages extends \AbstractUpdatableMigration {
function innerUp($hesk_settings) {
// Get all service messages with non-null language (only HESK will populate this; MFH won't)
$rs = hesk_dbQuery("SELECT `id`, `language` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "service_messages`
WHERE `language` IS NOT NULL");
$languageMap = array();
while ($row = hesk_dbFetchAssoc($rs)) {
// Get the MFH language
if (count($languageMap) === 0) {
// Initialize the map for the first run
foreach($hesk_settings['languages'] as $name => $info) {
$languageMap[$name] = $info['folder'];
}
}
$mfh_language = $languageMap[$row['language']];
hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "service_messages`
SET `mfh_language` = '" . hesk_dbEscape($mfh_language) . "' WHERE `id` = " . intval($row['id']));
}
}
function innerDown($hesk_settings) {
// Get all service messages with non-null language (only HESK will populate this; MFH won't)
$rs = hesk_dbQuery("SELECT `id`, `mfh_language` FROM `" . hesk_dbEscape($hesk_settings['db_pfix']) . "service_messages`");
$language_map = array();
while ($row = hesk_dbFetchAssoc($rs)) {
// Get the language
if (count($language_map) === 0) {
// Initialize the map for the first run
foreach($hesk_settings['languages'] as $name => $info) {
$language_map[$info['folder']] = $name;
}
}
$language = $row['mfh_language'] === 'ALL' ? 'NULL' : "'" . hesk_dbEscape($language_map[$row['mfh_language']]) . "'";
hesk_dbQuery("UPDATE `" . hesk_dbEscape($hesk_settings['db_pfix']) . "service_messages`
SET `language` = {$language} WHERE `id` = " . intval($row['id']));
}
}
}
Loading…
Cancel
Save