| | |
| | | $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; |
| | | } |
| | | |
| | |
| | | $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) |
| | |
| | | |
| | | //* 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'"); |
| | | 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; |
| | |
| | | // 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') { |
| | |
| | | return $affected_rows; |
| | | } |
| | | |
| | | //* Start VM |
| | | public function openvz_vm_start($session_id, $vm_id) |
| | | { |
| | | global $app; |
| | | |
| | | if(!$this->checkPerm($session_id, 'vm_openvz')) { |
| | | $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); |
| | | return false; |
| | | } |
| | | |
| | | $app->uses('remoting_lib'); |
| | | $app->remoting_lib->loadFormDef('../vm/form/openvz_vm.tform.php'); |
| | | $vm = $app->remoting_lib->getDataRecord($vm_id); |
| | | |
| | | if(!is_array($vm)) { |
| | | $this->server->fault('action_pending', 'No VM with this ID available.'); |
| | | return false; |
| | | } |
| | | |
| | | if($vm['active'] == 'n') { |
| | | $this->server->fault('action_pending', 'VM is not in active state.'); |
| | | return false; |
| | | } |
| | | |
| | | $action = 'openvz_start_vm'; |
| | | |
| | | $tmp = $app->db->queryOneRecord("SELECT count(action_id) as actions FROM sys_remoteaction |
| | | WHERE server_id = '".$vm['server_id']."' |
| | | AND action_type = '$action' |
| | | AND action_param = '".$vm['veid']."' |
| | | AND action_state = 'pending'"); |
| | | |
| | | if($tmp['actions'] > 0) { |
| | | $this->server->fault('action_pending', 'There is already a action pending for this VM.'); |
| | | return false; |
| | | } else { |
| | | $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) " . |
| | | "VALUES (". |
| | | (int)$vm['server_id'] . ", ". |
| | | time() . ", ". |
| | | "'".$action."', ". |
| | | $vm['veid'].", ". |
| | | "'pending', ". |
| | | "''". |
| | | ")"; |
| | | $app->db->query($sql); |
| | | } |
| | | } |
| | | |
| | | //* Stop VM |
| | | public function openvz_vm_stop($session_id, $vm_id) |
| | | { |
| | | global $app; |
| | | |
| | | if(!$this->checkPerm($session_id, 'vm_openvz')) { |
| | | $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); |
| | | return false; |
| | | } |
| | | |
| | | $app->uses('remoting_lib'); |
| | | $app->remoting_lib->loadFormDef('../vm/form/openvz_vm.tform.php'); |
| | | $vm = $app->remoting_lib->getDataRecord($vm_id); |
| | | |
| | | if(!is_array($vm)) { |
| | | $this->server->fault('action_pending', 'No VM with this ID available.'); |
| | | return false; |
| | | } |
| | | |
| | | if($vm['active'] == 'n') { |
| | | $this->server->fault('action_pending', 'VM is not in active state.'); |
| | | return false; |
| | | } |
| | | |
| | | $action = 'openvz_stop_vm'; |
| | | |
| | | $tmp = $app->db->queryOneRecord("SELECT count(action_id) as actions FROM sys_remoteaction |
| | | WHERE server_id = '".$vm['server_id']."' |
| | | AND action_type = '$action' |
| | | AND action_param = '".$vm['veid']."' |
| | | AND action_state = 'pending'"); |
| | | |
| | | if($tmp['actions'] > 0) { |
| | | $this->server->fault('action_pending', 'There is already a action pending for this VM.'); |
| | | return false; |
| | | } else { |
| | | $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) " . |
| | | "VALUES (". |
| | | (int)$vm['server_id'] . ", ". |
| | | time() . ", ". |
| | | "'".$action."', ". |
| | | $vm['veid'].", ". |
| | | "'pending', ". |
| | | "''". |
| | | ")"; |
| | | $app->db->query($sql); |
| | | } |
| | | } |
| | | |
| | | //* Restart VM |
| | | public function openvz_vm_restart($session_id, $vm_id) |
| | | { |
| | | global $app; |
| | | |
| | | if(!$this->checkPerm($session_id, 'vm_openvz')) { |
| | | $this->server->fault('permission_denied', 'You do not have the permissions to access this function.'); |
| | | return false; |
| | | } |
| | | |
| | | $app->uses('remoting_lib'); |
| | | $app->remoting_lib->loadFormDef('../vm/form/openvz_vm.tform.php'); |
| | | $vm = $app->remoting_lib->getDataRecord($vm_id); |
| | | |
| | | if(!is_array($vm)) { |
| | | $this->server->fault('action_pending', 'No VM with this ID available.'); |
| | | return false; |
| | | } |
| | | |
| | | if($vm['active'] == 'n') { |
| | | $this->server->fault('action_pending', 'VM is not in active state.'); |
| | | return false; |
| | | } |
| | | |
| | | $action = 'openvz_restart_vm'; |
| | | |
| | | $tmp = $app->db->queryOneRecord("SELECT count(action_id) as actions FROM sys_remoteaction |
| | | WHERE server_id = '".$vm['server_id']."' |
| | | AND action_type = '$action' |
| | | AND action_param = '".$vm['veid']."' |
| | | AND action_state = 'pending'"); |
| | | |
| | | if($tmp['actions'] > 0) { |
| | | $this->server->fault('action_pending', 'There is already a action pending for this VM.'); |
| | | return false; |
| | | } else { |
| | | $sql = "INSERT INTO sys_remoteaction (server_id, tstamp, action_type, action_param, action_state, response) " . |
| | | "VALUES (". |
| | | (int)$vm['server_id'] . ", ". |
| | | time() . ", ". |
| | | "'".$action."', ". |
| | | $vm['veid'].", ". |
| | | "'pending', ". |
| | | "''". |
| | | ")"; |
| | | $app->db->query($sql); |
| | | } |
| | | } |
| | | |
| | | |
| | | |