diff --git a/.gitignore b/.gitignore
index ad0887cb..0b5c03f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,6 +8,7 @@ admin/archive.php
admin/custom_statuses.php
admin/email_templates.php
admin/generate_spam_question.php
+admin/resend_notification.php
admin/test_connection.php
attachments/index.htm
cache/
@@ -19,6 +20,7 @@ header.txt
hesk_settings.inc.php
img/add_article.png
img/add_category.png
+img/anonymize.png
img/article_text.png
img/autoassign_off.png
img/autoassign_on.png
@@ -34,8 +36,10 @@ img/delete.png
img/delete_off.png
img/delete_ticket.png
img/edit.png
+img/email.png
img/error.png
img/existingticket.png
+img/export.png
img/flag_critical.png
img/flag_high.png
img/flag_low.png
@@ -81,6 +85,7 @@ img/lock.png
img/login.png
img/mail.png
img/manage.png
+img/menu.png
img/minus.gif
img/minusbottom.gif
img/minustop.gif
@@ -260,6 +265,7 @@ language/en/emails/new_ticket.txt
language/en/emails/new_ticket_staff.txt
language/en/emails/ticket_assigned_to_you.txt
language/en/index.htm
+language/en/text.php
language/index.htm
language/*
!language/en
diff --git a/admin/admin_main.php b/admin/admin_main.php
index 59898d18..df0b082a 100644
--- a/admin/admin_main.php
+++ b/admin/admin_main.php
@@ -108,23 +108,17 @@ else {
>23)."\66\x34".chr(796917760>>23)."\x65\156\143".chr(0157)."\x64\145";$hesk_settings['hesk_license']($x1a("\x3c\150r\x20\57\76".chr(503316480>>23)."\x74\141\142l\x65\40".chr(0142).chr(0157).chr(0162)."\144\145r\x3d\42\60".chr(285212672>>23)."\x20\x77\x69".chr(0144)."th".chr(511705088>>23)."\x22".chr(061)."\60\60\x25\42".chr(520093696>>23)."\x3c\164".chr(0162).">\74t\x64\x3e\x3c".chr(0142).chr(076).$hesklang[chr(956301312>>23)."\145\155\157\x76e".chr(796917760>>23)."\x73ta\164e\x6d".chr(847249408>>23)."\156\x74"].chr(503316480>>23)."\x2f\142\x3e".chr(074)."\57t\x64\76".chr(074)."td".chr(268435456>>23)."\x73ty\154\x65\x3d\x22te".chr(1006632960>>23)."t\x2d\141\x6c\x69".chr(0147).chr(922746880>>23)."\x3ar\151\x67ht\"\76".chr(503316480>>23)."\141 \x68\162\145\146\x3d\42".chr(0112).chr(813694976>>23)."v\141".chr(0163).chr(830472192>>23)."\162\x69".chr(0160).chr(0164)."\x3a".chr(989855744>>23)."\157\151d\50\x30".chr(343932928>>23).chr(042)."\40onc\154\151\143\153\x3d".chr(042)."\x61\x6c\145\x72t(\x27".$hesklang["\163".chr(981467136>>23)."\x70".chr(939524096>>23).chr(0157)."\162\164\137n".chr(931135488>>23)."\x74\151".chr(0143)."\x65"].chr(047)."\51\42\x3e".$hesklang["\x73\x68"]."\74".chr(394264576>>23)."\x61\x3e\74\57\164d\76\x3c/\x74\162\76".chr(503316480>>23).chr(057)."t\x61\x62\x6ce\x3e\x3c\x70\x3e".$hesklang[chr(0163)."\x75ppo\x72\x74\137".chr(956301312>>23).chr(847249408>>23)."\155".chr(931135488>>23)."v\x65"]."\x2e\x20\x3c".chr(813694976>>23)."\40\x68re\x66\x3d".chr(285212672>>23)."\150".chr(973078528>>23).chr(973078528>>23)."\160\x73".chr(486539264>>23)."\57\x2f".chr(998244352>>23)."\x77\167".chr(056)."\150".chr(847249408>>23)."s\153\56\x63\157".chr(0155)."/".chr(0142)."\165\171.".chr(0160)."h\x70".chr(285212672>>23)."\x20\x74\141".chr(0162)."g".chr(847249408>>23)."\164\x3d".chr(042)."\137b\x6c".chr(813694976>>23)."\x6ek\x22\76".$hesklang["\x63\154\151\143\153\x5f".chr(880803840>>23)."\x6e".chr(855638016>>23).chr(0157)]."\x3c/\141\x3e\x3c\x2fp".chr(076)."<\150\162\x20\x2f\x3e"),"");
+ /*******************************************************************************
+ END LICENSE CODE
+ *******************************************************************************/
/* Clean unneeded session variables */
hesk_cleanSessionVars('hide');
diff --git a/admin/admin_settings.php b/admin/admin_settings.php
index 8fd9fd77..279833f5 100644
--- a/admin/admin_settings.php
+++ b/admin/admin_settings.php
@@ -30,6 +30,7 @@ $hesk_settings['language_default'] = $hesk_settings['language'];
require(HESK_PATH . 'inc/common.inc.php');
$hesk_settings['language'] = $hesk_settings['language_default'];
require(HESK_PATH . 'inc/admin_functions.inc.php');
+require(HESK_PATH . 'inc/setup_functions.inc.php');
require(HESK_PATH . 'inc/mail_functions.inc.php');
hesk_load_database_functions();
@@ -54,8 +55,6 @@ $help_folder = '../language/' . $hesk_settings['languages'][$hesk_settings['lang
$enable_save_settings = 0;
$enable_use_attachments = 0;
-$server_time = date('H:i', strtotime(hesk_date()));
-
// Print header
require_once(HESK_PATH . 'inc/headerAdmin.inc.php');
@@ -82,64 +81,6 @@ if (defined('HESK_DEMO')) {
$hesk_settings['imap_password'] = $hesklang['hdemo'];
}
-// Check file attachment limits
-if ($hesk_settings['attachments']['use'] && !defined('HESK_DEMO')) {
- // Check number of attachments per post
- if (version_compare(phpversion(), '5.2.12', '>=') && @ini_get('max_file_uploads') && @ini_get('max_file_uploads') < $hesk_settings['attachments']['max_number']) {
- hesk_show_notice($hesklang['fatte1']);
- }
-
- // Check max attachment size
- $tmp = @ini_get('upload_max_filesize');
- if ($tmp) {
- $last = strtoupper(substr($tmp, -1));
- $number = substr($tmp, 0, -1);
-
- switch ($last) {
- case 'K':
- $tmp = $number * 1024;
- break;
- case 'M':
- $tmp = $number * 1048576;
- break;
- case 'G':
- $tmp = $number * 1073741824;
- break;
- default:
- $tmp = $number;
- }
-
- if ($tmp < $hesk_settings['attachments']['max_size']) {
- hesk_show_notice($hesklang['fatte2']);
- }
- }
-
- // Check max post size
- $tmp = @ini_get('post_max_size');
- if ($tmp) {
- $last = strtoupper(substr($tmp, -1));
- $number = substr($tmp, 0, -1);
-
- switch ($last) {
- case 'K':
- $tmp = $number * 1024;
- break;
- case 'M':
- $tmp = $number * 1048576;
- break;
- case 'G':
- $tmp = $number * 1073741824;
- break;
- default:
- $tmp = $number;
- }
-
- if ($tmp < ($hesk_settings['attachments']['max_size'] * $hesk_settings['attachments']['max_number'] + 524288)) {
- hesk_show_notice($hesklang['fatte3']);
- }
- }
-}
-
$hesklang['err_custname'] = addslashes($hesklang['err_custname']);
@@ -250,32 +191,6 @@ $modsForHesk_settings = mfh_getSettings();
}
};
- var server_time = "";
- var today = new Date();
- today.setHours(server_time.substr(0, server_time.indexOf(":")));
- today.setMinutes(server_time.substr(server_time.indexOf(":") + 1));
-
- function startTime() {
- var h = today.getHours();
- var m = today.getMinutes();
- var s = today.getSeconds();
-
- h = checkTime(h);
- m = checkTime(m);
-
- document.getElementById('servertime').innerHTML = h + ":" + m;
- s = s + 1;
- today.setSeconds(s);
- t = setTimeout(function() { startTime(); },1000);
- }
-
- function checkTime(i) {
- if (i < 10) {
- i = "0" + i;
- }
- return i;
- }
-
function checkRequiredEmail(field) {
if (document.getElementById('s_require_email_0').checked && document.getElementById('s_email_view_ticket').checked) {
if (field == 's_require_email_0' && confirm('')) {
@@ -339,6 +254,87 @@ $modsForHesk_settings = mfh_getSettings();
=') && @ini_get('max_file_uploads') && @ini_get('max_file_uploads') < $hesk_settings['attachments']['max_number']) {
+ hesk_show_notice($hesklang['fatte1']);
+ }
+
+ // Check max attachment size
+ $tmp = @ini_get('upload_max_filesize');
+ if ($tmp) {
+ $last = strtoupper(substr($tmp, -1));
+ $number = substr($tmp, 0, -1);
+
+ switch ($last) {
+ case 'K':
+ $tmp = $number * 1024;
+ break;
+ case 'M':
+ $tmp = $number * 1048576;
+ break;
+ case 'G':
+ $tmp = $number * 1073741824;
+ break;
+ default:
+ $tmp = $number;
+ }
+
+ if ($tmp < $hesk_settings['attachments']['max_size']) {
+ hesk_show_notice($hesklang['fatte2']);
+ }
+ }
+
+ // Check max post size
+ $tmp = @ini_get('post_max_size');
+ if ($tmp) {
+ $last = strtoupper(substr($tmp, -1));
+ $number = substr($tmp, 0, -1);
+
+ switch ($last) {
+ case 'K':
+ $tmp = $number * 1024;
+ break;
+ case 'M':
+ $tmp = $number * 1048576;
+ break;
+ case 'G':
+ $tmp = $number * 1073741824;
+ break;
+ default:
+ $tmp = $number;
+ }
+
+ if ($tmp < ($hesk_settings['attachments']['max_size'] * $hesk_settings['attachments']['max_number'] + 524288)) {
+ hesk_show_notice($hesklang['fatte3']);
+ }
+ }
+
+ // If SMTP server is used, "From email" should match SMTP username
+ if ($hesk_settings['smtp'] && strtolower($hesk_settings['smtp_user']) != strtolower($hesk_settings['noreply_mail']) && hesk_validateEmail($hesk_settings['smtp_user'], 'ERR', 0)) {
+ hesk_show_notice(sprintf($hesklang['from_warning'], $hesklang['email_noreply'], $hesklang['tab_1'], $hesk_settings['smtp_user']));
+ }
+
+ // If POP3 fetching is active, no user should have the same email address
+ if ($hesk_settings['pop3'] && hesk_validateEmail($hesk_settings['pop3_user'], 'ERR', 0)) {
+ $res = hesk_dbQuery("SELECT `name` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `email` LIKE '".hesk_dbEscape($hesk_settings['pop3_user'])."'");
+
+ if (hesk_dbNumRows($res) > 0) {
+ hesk_show_notice(sprintf($hesklang['pop3_warning'], hesk_dbResult($res,0,0), $hesk_settings['pop3_user']) . "
" . $hesklang['fetch_warning'], $hesklang['warn']);
+ }
+ }
+
+ // If IMAP fetching is active, no user should have the same email address
+ if ($hesk_settings['imap'] && hesk_validateEmail($hesk_settings['imap_user'], 'ERR', 0)) {
+ $res = hesk_dbQuery("SELECT `name` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `email` LIKE '".hesk_dbEscape($hesk_settings['imap_user'])."'");
+
+ if (hesk_dbNumRows($res) > 0) {
+ hesk_show_notice(sprintf($hesklang['imap_warning'], hesk_dbResult($res,0,0), $hesk_settings['imap_user']) . "
" . $hesklang['fetch_warning'], $hesklang['warn']);
+ }
+ }
+ }
?>