From dc48ab33efda6f56c30d408182cfec868ef4d91f Mon Sep 17 00:00:00 2001 From: xaver <xaver@ispconfig3> Date: Sat, 24 Mar 2012 09:01:29 -0400 Subject: [PATCH] Bug #2143, wrong filter url --- interface/lib/classes/remoting.inc.php | 66 +++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 12 deletions(-) diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php index 26199c2..12b9c7e 100644 --- a/interface/lib/classes/remoting.inc.php +++ b/interface/lib/classes/remoting.inc.php @@ -67,13 +67,21 @@ { global $app, $conf, $server; + // Maintenance mode + $app->uses('ini_parser,getconf'); + $server_config_array = $app->getconf->get_global_config('misc'); + if($server_config_array['maintenance_mode'] == 'y'){ + $this->server->fault('maintenance_mode', 'This ISPConfig installation is currently under maintenance. We should be back shortly. Thank you for your patience.'); + return false; + } + if(empty($username)) { - $this->server->fault('login_username_empty', 'The login username is empty'); + $this->server->fault('login_username_empty', 'The login username is empty.'); return false; } if(empty($password)) { - $this->server->fault('login_password_empty', 'The login password is empty'); + $this->server->fault('login_password_empty', 'The login password is empty.'); return false; } @@ -348,8 +356,8 @@ $this->server->fault('permission_denied','You do not have the permissions to access this function.'); return false; } - $affected_rows = $this->deleteQuery('../mail/form/mail_user_filter.tform.php', $primary_id); - $app->plugin->raiseEvent('mail:mail_user_filter:on_after_delete',$this); + $affected_rows = $this->deleteQuery('../mail/form/mail_user_filter.tform.php', $primary_id,'mail:mail_user_filter:on_after_delete'); + // $app->plugin->raiseEvent('mail:mail_user_filter:on_after_delete',$this); return $affected_rows; } @@ -1558,6 +1566,30 @@ $app->remoting_lib->loadFormDef('../dns/form/dns_soa.tform.php'); return $app->remoting_lib->getDataRecord($primary_id); } + + //* Get record id by origin + public function dns_zone_get_id($session_id, $origin) + { + global $app; + + if(!$this->checkPerm($session_id, 'dns_zone_get_id')) { + $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); + return false; + } + + if (preg_match('/^[a-z0-9][a-z0-9\-]+[a-z0-9](\.[a-z]{2,4})+$/i', $origin)) { + $this->server->fault('no_domain_found', 'Invalid domain name.'); + return false; + } + + $rec = $app->db->queryOneRecord("SELECT id FROM dns_soa WHERE origin like '".$origin.'%'); + if(isset($rec['id'])) { + return intval($rec['id']); + } else { + $this->server->fault('no_domain_found', 'There is no domain ID with informed domain name.'); + return false; + } + } //* Add a record public function dns_zone_add($session_id, $client_id, $params) @@ -2156,19 +2188,28 @@ //* Get the SQL query $sql = $app->remoting_lib->getSQL($params,'INSERT',0); - $app->db->query($sql); //* Check if no system user with that username exists $username = $app->db->quote($params["username"]); - $tmp = $app->db->queryOneRecord("SELECT count(userid) as number FROm sys_user WHERE username = '$username'"); + $tmp = $app->db->queryOneRecord("SELECT count(userid) as number FROM sys_user WHERE username = '$username'"); if($tmp['number'] > 0) $app->remoting_lib->errorMessage .= "Duplicate username<br />"; + //* Stop on error while preparing the sql query if($app->remoting_lib->errorMessage != '') { $this->server->fault('data_processing_error', $app->remoting_lib->errorMessage); return false; } + //* Execute the SQL query + $app->db->query($sql); $insert_id = $app->db->insertID(); + + + //* Stop on error while executing the sql query + if($app->remoting_lib->errorMessage != '') { + $this->server->fault('data_processing_error', $app->remoting_lib->errorMessage); + return false; + } $this->id = $insert_id; $this->dataRecord = $params; @@ -2308,22 +2349,23 @@ // set a few values for compatibility with tform actions, mostly used by plugins $this->oldDataRecord = $old_rec; $this->id = $primary_id; - $this->dataRecord = $params; + $this->dataRecord = $old_rec; + //$this->dataRecord = $params; //* Get the SQL query $sql = $app->remoting_lib->getDeleteSQL($primary_id); - + $app->db->errorMessage = ''; $app->db->query($sql); + $affected_rows = $app->db->affectedRows(); if($app->db->errorMessage != '') { - - if($event_identifier != '') $app->plugin->raiseEvent($event_identifier,$this); - $this->server->fault('database_error', $app->db->errorMessage . ' '.$sql); return false; } - $affected_rows = $app->db->affectedRows(); + if($event_identifier != '') { + $app->plugin->raiseEvent($event_identifier,$this); + } //* Save changes to Datalog if($app->remoting_lib->formDef["db_history"] == 'yes') { -- Gitblit v1.9.1