tbrehm
2007-08-22 92bea0b6d070931704928493aa6d920bb12ce0cb
Updated the remoting functions.
2 files modified
153 ■■■■ changed files
interface/lib/classes/remoting.inc.php 141 ●●●● patch | view | raw | blame | history
interface/lib/classes/remoting_lib.inc.php 12 ●●●●● patch | view | raw | blame | history
interface/lib/classes/remoting.inc.php
@@ -81,7 +81,19 @@
        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,54 +104,32 @@
        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)
    {
        global $app;
        $app->uses('remoting_lib');
        //* Load the form definition
        $app->remoting_lib->loadFormDef($formdef_file);
        //* load the user profile of the client
        $app->remoting_lib->loadUserProfile($client_id);
        //* Get the SQL query
        $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;
        }
        $app->db->query($sql);
        if($app->db->errorMessage != '') {
            $this->server->fault('database_error', $app->db->errorMessage . ' '.$sql);
            return false;
        }
        $affected_rows = $app->db->affectedRows();
        //* TODO: Save changes to Datalog
        return $affected_rows;
    }
    
    private function insertQuery($formdef_file, $client_id, $params)
    {
@@ -169,7 +159,11 @@
        
        $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);
        }
        
        
        
@@ -178,6 +172,79 @@
    }
    
    
    private function updateQuery($formdef_file, $client_id, $primary_id, $params)
    {
        global $app;
        $app->uses('remoting_lib');
        //* Load the form definition
        $app->remoting_lib->loadFormDef($formdef_file);
        //* load the user profile of the client
        $app->remoting_lib->loadUserProfile($client_id);
        //* Get the SQL query
        $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 != '') {
            $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') {
            $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;
        $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;
    }
    private function checkPerm($session_id, $function_name)
    {
        $session = $this->getSession($session_id);
interface/lib/classes/remoting_lib.inc.php
@@ -584,6 +584,18 @@
                
                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) {