Commit 92bea0b6 authored by tbrehm's avatar tbrehm
Browse files

Updated the remoting functions.

parent b92d7086
......@@ -81,7 +81,19 @@ class remoting {
return ($app->db->affectedRows() == 1);
}
//* Get mail domain details
public function mail_domain_get($session_id, $domain_id)
{
if(!$this->checkPerm($session_id, 'mail_domain_get')) {
$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('../mail/form/mail_domain.tform.php');
return $app->remoting_lib->getDataRecord($domain_id);
}
//* Add a mail domain
public function mail_domain_add($session_id, $client_id, $params)
{
if(!$this->checkPerm($session_id, 'mail_domain_add')) {
......@@ -92,21 +104,34 @@ class remoting {
return $domain_id;
}
//* Update a mail domain
public function mail_domain_update($session_id, $client_id, $domain_id, $params)
{
if(!$this->checkPerm($session_id, 'mail_domain_update')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$domain_id = $this->updateQuery('../mail/form/mail_domain.tform.php',$client_id,$domain_id,$params);
return $domain_id;
$affected_rows = $this->updateQuery('../mail/form/mail_domain.tform.php',$client_id,$domain_id,$params);
return $affected_rows;
}
//* Delete a mail domain
public function mail_domain_delete($session_id, $domain_id)
{
if(!$this->checkPerm($session_id, 'mail_domain_delete')) {
$this->server->fault('permission_denied', 'You do not have the permissions to access this function.');
return false;
}
$affected_rows = $this->updateQuery('../mail/form/mail_domain.tform.php',$domain_id);
return $affected_rows;
}
//** private functions -----------------------------------------------------------------------------------
private function updateQuery($formdef_file, $client_id, $primary_id, $params)
private function insertQuery($formdef_file, $client_id, $params)
{
global $app;
......@@ -119,7 +144,7 @@ class remoting {
$app->remoting_lib->loadUserProfile($client_id);
//* Get the SQL query
$sql = $app->remoting_lib->getSQL($params,'UPDATE',$primary_id);
$sql = $app->remoting_lib->getSQL($params,'INSERT',0);
if($app->remoting_lib->errorMessage != '') {
$this->server->fault('data_processing_error', $app->remoting_lib->errorMessage);
return false;
......@@ -132,16 +157,22 @@ class remoting {
return false;
}
$affected_rows = $app->db->affectedRows();
$insert_id = $app->db->insertID();
//* TODO: Save changes to Datalog
//* Save changes to Datalog
if($app->remoting_lib->formDef["db_history"] == 'yes') {
$new_rec = $app->remoting_lib->getDataRecord($insert_id);
$app->tform->datalogSave('INSERT',$primary_id,array(),$new_rec);
}
return $affected_rows;
return $insert_id;
}
private function insertQuery($formdef_file, $client_id, $params)
private function updateQuery($formdef_file, $client_id, $primary_id, $params)
{
global $app;
......@@ -154,12 +185,14 @@ class remoting {
$app->remoting_lib->loadUserProfile($client_id);
//* Get the SQL query
$sql = $app->remoting_lib->getSQL($params,'INSERT',0);
$sql = $app->remoting_lib->getSQL($params,'UPDATE',$primary_id);
if($app->remoting_lib->errorMessage != '') {
$this->server->fault('data_processing_error', $app->remoting_lib->errorMessage);
return false;
}
$old_rec = $app->remoting_lib->getDataRecord($primary_id);
$app->db->query($sql);
if($app->db->errorMessage != '') {
......@@ -167,14 +200,48 @@ class remoting {
return false;
}
$insert_id = $app->db->insertID();
$affected_rows = $app->db->affectedRows();
//* TODO: Save changes to Datalog
//* Save changes to Datalog
if($app->remoting_lib->formDef["db_history"] == 'yes') {
$new_rec = $app->remoting_lib->getDataRecord($primary_id);
$app->tform->datalogSave('UPDATE',$primary_id,$old_rec,$new_rec);
}
return $affected_rows;
}
private function deleteQuery($formdef_file, $primary_id)
{
global $app;
return $insert_id;
$app->uses('remoting_lib');
//* Load the form definition
$app->remoting_lib->loadFormDef($formdef_file);
//* Get the SQL query
$sql = $app->remoting_lib->getDeleteSQL($primary_id);
$app->db->query($sql);
if($app->db->errorMessage != '') {
$this->server->fault('database_error', $app->db->errorMessage . ' '.$sql);
return false;
}
$affected_rows = $app->db->affectedRows();
//* Save changes to Datalog
if($app->remoting_lib->formDef["db_history"] == 'yes') {
$rec = $app->remoting_lib->getDataRecord($primary_id);
$app->tform->datalogSave('DELETE',$primary_id,$rec,array());
}
return $affected_rows;
}
......
......@@ -584,6 +584,18 @@ class remoting_lib {
return $sql;
}
function getDeleteSQL($primary_id) {
if(stristr($this->formDef['db_table'],'.')) {
$escape = '';
} else {
$escape = '`';
}
$sql = "DELETE FROM ".$escape.$this->formDef['db_table'].$escape." WHERE ".$this->formDef['db_table_idx']." = ".$primary_id;
return $sql;
}
function getDataRecord($primary_id) {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment