Skip to content
Snippets Groups Projects
Commit e722ef1d authored by Peter Rotich's avatar Peter Rotich
Browse files

Fix bug where setting overwrote all config rows because of missing where...

Fix bug where setting overwrote all config rows because of missing where clause - (hint: multiple configs coming...)
parent 5f092177
Branches
Tags
No related merge requests found
...@@ -44,22 +44,15 @@ class Config { ...@@ -44,22 +44,15 @@ class Config {
$this->config=db_fetch_array($res); $this->config=db_fetch_array($res);
$this->id=$this->config['id']; $this->id=$this->config['id'];
$this->setMysqlTZ(db_timezone());
return true; return true;
} }
//Initialize some default values.
function init() {
list($mysqltz)=db_fetch_row(db_query('SELECT @@session.time_zone '));
$this->setMysqlTZ($mysqltz);
}
function reload() { function reload() {
if(!$this->load($this->getId())) if(!$this->load($this->getId()))
return false; return false;
$this->init();
return true; return true;
} }
...@@ -584,7 +577,7 @@ class Config { ...@@ -584,7 +577,7 @@ class Config {
return false; return false;
} }
function updateGeneralSetting($vars,&$errors) { function updateGeneralSetting($vars, &$errors) {
$f=array(); $f=array();
$f['helpdesk_url']=array('type'=>'string', 'required'=>1, 'error'=>'Helpdesk URl required'); $f['helpdesk_url']=array('type'=>'string', 'required'=>1, 'error'=>'Helpdesk URl required');
...@@ -594,29 +587,29 @@ class Config { ...@@ -594,29 +587,29 @@ class Config {
$f['staff_session_timeout']=array('type'=>'int', 'required'=>1, 'error'=>'Enter idle time in minutes'); $f['staff_session_timeout']=array('type'=>'int', 'required'=>1, 'error'=>'Enter idle time in minutes');
$f['client_session_timeout']=array('type'=>'int', 'required'=>1, 'error'=>'Enter idle time in minutes'); $f['client_session_timeout']=array('type'=>'int', 'required'=>1, 'error'=>'Enter idle time in minutes');
if(!Validator::process($f,$vars,$errors) || $errors) if(!Validator::process($f, $vars, $errors) || $errors)
return false; return false;
$sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',isonline='.db_input($vars['isonline']). .',isonline='.db_input($vars['isonline'])
',helpdesk_title='.db_input($vars['helpdesk_title']). .',helpdesk_title='.db_input($vars['helpdesk_title'])
',helpdesk_url='.db_input($vars['helpdesk_url']). .',helpdesk_url='.db_input($vars['helpdesk_url'])
',default_dept_id='.db_input($vars['default_dept_id']). .',default_dept_id='.db_input($vars['default_dept_id'])
',default_template_id='.db_input($vars['default_template_id']). .',default_template_id='.db_input($vars['default_template_id'])
',max_page_size='.db_input($vars['max_page_size']). .',max_page_size='.db_input($vars['max_page_size'])
',log_level='.db_input($vars['log_level']). .',log_level='.db_input($vars['log_level'])
',log_graceperiod='.db_input($vars['log_graceperiod']). .',log_graceperiod='.db_input($vars['log_graceperiod'])
',passwd_reset_period='.db_input($vars['passwd_reset_period']). .',passwd_reset_period='.db_input($vars['passwd_reset_period'])
',staff_max_logins='.db_input($vars['staff_max_logins']). .',staff_max_logins='.db_input($vars['staff_max_logins'])
',staff_login_timeout='.db_input($vars['staff_login_timeout']). .',staff_login_timeout='.db_input($vars['staff_login_timeout'])
',staff_session_timeout='.db_input($vars['staff_session_timeout']). .',staff_session_timeout='.db_input($vars['staff_session_timeout'])
',staff_ip_binding='.db_input(isset($vars['staff_ip_binding'])?1:0). .',staff_ip_binding='.db_input(isset($vars['staff_ip_binding'])?1:0)
',client_max_logins='.db_input($vars['client_max_logins']). .',client_max_logins='.db_input($vars['client_max_logins'])
',client_login_timeout='.db_input($vars['client_login_timeout']). .',client_login_timeout='.db_input($vars['client_login_timeout'])
',client_session_timeout='.db_input($vars['client_session_timeout']). .',client_session_timeout='.db_input($vars['client_session_timeout'])
',clickable_urls='.db_input(isset($vars['clickable_urls'])?1:0). .',clickable_urls='.db_input(isset($vars['clickable_urls'])?1:0)
',enable_auto_cron='.db_input(isset($vars['enable_auto_cron'])?1:0). .',enable_auto_cron='.db_input(isset($vars['enable_auto_cron'])?1:0)
' WHERE id='.$this->getId(); .' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
...@@ -633,14 +626,14 @@ class Config { ...@@ -633,14 +626,14 @@ class Config {
if(!Validator::process($f,$vars,$errors) || $errors) if(!Validator::process($f,$vars,$errors) || $errors)
return false; return false;
$sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',time_format='.db_input($vars['time_format']). .',time_format='.db_input($vars['time_format'])
',date_format='.db_input($vars['date_format']). .',date_format='.db_input($vars['date_format'])
',datetime_format='.db_input($vars['datetime_format']). .',datetime_format='.db_input($vars['datetime_format'])
',daydatetime_format='.db_input($vars['daydatetime_format']). .',daydatetime_format='.db_input($vars['daydatetime_format'])
',default_timezone_id='.db_input($vars['default_timezone_id']). .',default_timezone_id='.db_input($vars['default_timezone_id'])
',enable_daylight_saving='.db_input(isset($vars['enable_daylight_saving'])?1:0). .',enable_daylight_saving='.db_input(isset($vars['enable_daylight_saving'])?1:0)
' WHERE id='.$this->getId(); .' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
...@@ -665,22 +658,23 @@ class Config { ...@@ -665,22 +658,23 @@ class Config {
if(!Validator::process($f,$vars,$errors) || $errors) if(!Validator::process($f,$vars,$errors) || $errors)
return false; return false;
$sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',random_ticket_ids='.db_input($vars['random_ticket_ids']). .',random_ticket_ids='.db_input($vars['random_ticket_ids'])
',default_priority_id='.db_input($vars['default_priority_id']). .',default_priority_id='.db_input($vars['default_priority_id'])
',default_sla_id='.db_input($vars['default_sla_id']). .',default_sla_id='.db_input($vars['default_sla_id'])
',max_open_tickets='.db_input($vars['max_open_tickets']). .',max_open_tickets='.db_input($vars['max_open_tickets'])
',autolock_minutes='.db_input($vars['autolock_minutes']). .',autolock_minutes='.db_input($vars['autolock_minutes'])
',allow_priority_change='.db_input(isset($vars['allow_priority_change'])?1:0). .',allow_priority_change='.db_input(isset($vars['allow_priority_change'])?1:0)
',use_email_priority='.db_input(isset($vars['use_email_priority'])?1:0). .',use_email_priority='.db_input(isset($vars['use_email_priority'])?1:0)
',enable_captcha='.db_input(isset($vars['enable_captcha'])?1:0). .',enable_captcha='.db_input(isset($vars['enable_captcha'])?1:0)
',log_ticket_activity='.db_input(isset($vars['log_ticket_activity'])?1:0). .',log_ticket_activity='.db_input(isset($vars['log_ticket_activity'])?1:0)
',auto_assign_reopened_tickets='.db_input(isset($vars['auto_assign_reopened_tickets'])?1:0). .',auto_assign_reopened_tickets='.db_input(isset($vars['auto_assign_reopened_tickets'])?1:0)
',show_assigned_tickets='.db_input(isset($vars['show_assigned_tickets'])?1:0). .',show_assigned_tickets='.db_input(isset($vars['show_assigned_tickets'])?1:0)
',show_answered_tickets='.db_input(isset($vars['show_answered_tickets'])?1:0). .',show_answered_tickets='.db_input(isset($vars['show_answered_tickets'])?1:0)
',show_related_tickets='.db_input(isset($vars['show_related_tickets'])?1:0). .',show_related_tickets='.db_input(isset($vars['show_related_tickets'])?1:0)
',show_notes_inline='.db_input(isset($vars['show_notes_inline'])?1:0). .',show_notes_inline='.db_input(isset($vars['show_notes_inline'])?1:0)
',hide_staff_name='.db_input(isset($vars['hide_staff_name'])?1:0); .',hide_staff_name='.db_input(isset($vars['hide_staff_name'])?1:0)
.' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
...@@ -702,15 +696,18 @@ class Config { ...@@ -702,15 +696,18 @@ class Config {
if(!Validator::process($f,$vars,$errors) || $errors) if(!Validator::process($f,$vars,$errors) || $errors)
return false; return false;
$sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',default_email_id='.db_input($vars['default_email_id']). .',default_email_id='.db_input($vars['default_email_id'])
',alert_email_id='.db_input($vars['alert_email_id']). .',alert_email_id='.db_input($vars['alert_email_id'])
',default_smtp_id='.db_input($vars['default_smtp_id']). .',default_smtp_id='.db_input($vars['default_smtp_id'])
',admin_email='.db_input($vars['admin_email']). .',admin_email='.db_input($vars['admin_email'])
',enable_mail_polling='.db_input(isset($vars['enable_mail_polling'])?1:0). .',enable_mail_polling='.db_input(isset($vars['enable_mail_polling'])?1:0)
',enable_email_piping='.db_input(isset($vars['enable_email_piping'])?1:0). .',enable_email_piping='.db_input(isset($vars['enable_email_piping'])?1:0)
',strip_quoted_reply='.db_input(isset($vars['strip_quoted_reply'])?1:0). .',strip_quoted_reply='.db_input(isset($vars['strip_quoted_reply'])?1:0)
',reply_separator='.db_input($vars['reply_separator']); .',reply_separator='.db_input($vars['reply_separator'])
.' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
...@@ -741,36 +738,33 @@ class Config { ...@@ -741,36 +738,33 @@ class Config {
if($errors) return false; if($errors) return false;
$sql= 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql= 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',allow_attachments='.db_input(isset($vars['allow_attachments'])?1:0). .',allow_attachments='.db_input(isset($vars['allow_attachments'])?1:0)
',allowed_filetypes='.db_input(strtolower(preg_replace("/\n\r|\r\n|\n|\r/", '',trim($vars['allowed_filetypes'])))). .',allowed_filetypes='.db_input(strtolower(preg_replace("/\n\r|\r\n|\n|\r/", '',trim($vars['allowed_filetypes']))))
',max_file_size='.db_input($vars['max_file_size']). .',max_file_size='.db_input($vars['max_file_size'])
',max_user_file_uploads='.db_input($vars['max_user_file_uploads']). .',max_user_file_uploads='.db_input($vars['max_user_file_uploads'])
',max_staff_file_uploads='.db_input($vars['max_staff_file_uploads']). .',max_staff_file_uploads='.db_input($vars['max_staff_file_uploads'])
',email_attachments='.db_input(isset($vars['email_attachments'])?1:0). .',email_attachments='.db_input(isset($vars['email_attachments'])?1:0)
',allow_email_attachments='.db_input(isset($vars['allow_email_attachments'])?1:0). .',allow_email_attachments='.db_input(isset($vars['allow_email_attachments'])?1:0)
',allow_online_attachments='.db_input(isset($vars['allow_online_attachments'])?1:0). .',allow_online_attachments='.db_input(isset($vars['allow_online_attachments'])?1:0)
',allow_online_attachments_onlogin='.db_input(isset($vars['allow_online_attachments_onlogin'])?1:0). .',allow_online_attachments_onlogin='.db_input(isset($vars['allow_online_attachments_onlogin'])?1:0)
' WHERE id='.db_input($this->getId()); .' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
function updateAutoresponderSetting($vars,&$errors) { function updateAutoresponderSetting($vars,&$errors) {
if($errors) return false; if($errors) return false;
$sql= 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql ='UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',ticket_autoresponder='.db_input($vars['ticket_autoresponder']). .',ticket_autoresponder='.db_input($vars['ticket_autoresponder'])
',message_autoresponder='.db_input($vars['message_autoresponder']). .',message_autoresponder='.db_input($vars['message_autoresponder'])
',ticket_notice_active='.db_input($vars['ticket_notice_active']). .',ticket_notice_active='.db_input($vars['ticket_notice_active'])
',overlimit_notice_active='.db_input($vars['overlimit_notice_active']); .',overlimit_notice_active='.db_input($vars['overlimit_notice_active'])
.' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
...@@ -778,10 +772,11 @@ class Config { ...@@ -778,10 +772,11 @@ class Config {
if($errors) return false; if($errors) return false;
$sql= 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql = 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',enable_kb='.db_input(isset($vars['enable_kb'])?1:0). .',enable_kb='.db_input(isset($vars['enable_kb'])?1:0)
',enable_premade='.db_input(isset($vars['enable_premade'])?1:0); .',enable_premade='.db_input(isset($vars['enable_premade'])?1:0)
.' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
...@@ -832,38 +827,44 @@ class Config { ...@@ -832,38 +827,44 @@ class Config {
if($errors) return false; if($errors) return false;
$sql= 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '. $sql= 'UPDATE '.CONFIG_TABLE.' SET updated=NOW() '
',ticket_notice_active='.db_input($vars['ticket_notice_active']). .',ticket_notice_active='.db_input($vars['ticket_notice_active'])
',ticket_alert_active='.db_input($vars['ticket_alert_active']). .',ticket_alert_active='.db_input($vars['ticket_alert_active'])
',ticket_alert_admin='.db_input(isset($vars['ticket_alert_admin'])?1:0). .',ticket_alert_admin='.db_input(isset($vars['ticket_alert_admin'])?1:0)
',ticket_alert_dept_manager='.db_input(isset($vars['ticket_alert_dept_manager'])?1:0). .',ticket_alert_dept_manager='.db_input(isset($vars['ticket_alert_dept_manager'])?1:0)
',ticket_alert_dept_members='.db_input(isset($vars['ticket_alert_dept_members'])?1:0). .',ticket_alert_dept_members='.db_input(isset($vars['ticket_alert_dept_members'])?1:0)
',message_alert_active='.db_input($vars['message_alert_active']). .',message_alert_active='.db_input($vars['message_alert_active'])
',message_alert_laststaff='.db_input(isset($vars['message_alert_laststaff'])?1:0). .',message_alert_laststaff='.db_input(isset($vars['message_alert_laststaff'])?1:0)
',message_alert_assigned='.db_input(isset($vars['message_alert_assigned'])?1:0). .',message_alert_assigned='.db_input(isset($vars['message_alert_assigned'])?1:0)
',message_alert_dept_manager='.db_input(isset($vars['message_alert_dept_manager'])?1:0). .',message_alert_dept_manager='.db_input(isset($vars['message_alert_dept_manager'])?1:0)
',note_alert_active='.db_input($vars['note_alert_active']). .',note_alert_active='.db_input($vars['note_alert_active'])
',note_alert_laststaff='.db_input(isset($vars['note_alert_laststaff'])?1:0). .',note_alert_laststaff='.db_input(isset($vars['note_alert_laststaff'])?1:0)
',note_alert_assigned='.db_input(isset($vars['note_alert_assigned'])?1:0). .',note_alert_assigned='.db_input(isset($vars['note_alert_assigned'])?1:0)
',note_alert_dept_manager='.db_input(isset($vars['note_alert_dept_manager'])?1:0). .',note_alert_dept_manager='.db_input(isset($vars['note_alert_dept_manager'])?1:0)
',assigned_alert_active='.db_input($vars['assigned_alert_active']). .',assigned_alert_active='.db_input($vars['assigned_alert_active'])
',assigned_alert_staff='.db_input(isset($vars['assigned_alert_staff'])?1:0). .',assigned_alert_staff='.db_input(isset($vars['assigned_alert_staff'])?1:0)
',assigned_alert_team_lead='.db_input(isset($vars['assigned_alert_team_lead'])?1:0). .',assigned_alert_team_lead='.db_input(isset($vars['assigned_alert_team_lead'])?1:0)
',assigned_alert_team_members='.db_input(isset($vars['assigned_alert_team_members'])?1:0). .',assigned_alert_team_members='.db_input(isset($vars['assigned_alert_team_members'])?1:0)
',transfer_alert_active='.db_input($vars['transfer_alert_active']). .',transfer_alert_active='.db_input($vars['transfer_alert_active'])
',transfer_alert_assigned='.db_input(isset($vars['transfer_alert_assigned'])?1:0). .',transfer_alert_assigned='.db_input(isset($vars['transfer_alert_assigned'])?1:0)
',transfer_alert_dept_manager='.db_input(isset($vars['transfer_alert_dept_manager'])?1:0). .',transfer_alert_dept_manager='.db_input(isset($vars['transfer_alert_dept_manager'])?1:0)
',transfer_alert_dept_members='.db_input(isset($var['transfer_alert_dept_members'])?1:0). .',transfer_alert_dept_members='.db_input(isset($var['transfer_alert_dept_members'])?1:0)
',overdue_alert_active='.db_input($vars['overdue_alert_active']). .',overdue_alert_active='.db_input($vars['overdue_alert_active'])
',overdue_alert_assigned='.db_input(isset($vars['overdue_alert_assigned'])?1:0). .',overdue_alert_assigned='.db_input(isset($vars['overdue_alert_assigned'])?1:0)
',overdue_alert_dept_manager='.db_input(isset($vars['overdue_alert_dept_manager'])?1:0). .',overdue_alert_dept_manager='.db_input(isset($vars['overdue_alert_dept_manager'])?1:0)
',overdue_alert_dept_members='.db_input(isset($var['overdue_alert_dept_members'])?1:0). .',overdue_alert_dept_members='.db_input(isset($var['overdue_alert_dept_members'])?1:0)
',send_sys_errors='.db_input(isset($vars['send_sys_errors'])?1:0). .',send_sys_errors='.db_input(isset($vars['send_sys_errors'])?1:0)
',send_sql_errors='.db_input(isset($vars['send_sql_errors'])?1:0). .',send_sql_errors='.db_input(isset($vars['send_sql_errors'])?1:0)
',send_login_errors='.db_input(isset($vars['send_login_errors'])?1:0); .',send_login_errors='.db_input(isset($vars['send_login_errors'])?1:0)
.' WHERE id='.db_input($this->getId());
return (db_query($sql)); return (db_query($sql));
} }
/** static **/
function lookup($id) {
return ($id && ($cfg = new Config($id)) && $cfg->getId()==$id)?$cfg:null;
}
} }
?> ?>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment