From 92357032ae549cd2ad59a625b8e278387cc59722 Mon Sep 17 00:00:00 2001 From: mcramer <m.cramer@pixcept.de> Date: Mon, 19 Aug 2013 11:01:30 -0400 Subject: [PATCH] - Fixed: new remoting functions for client templates did not raise event client_update correctly --- interface/lib/classes/remoting.inc.php | 27 +++++++++++++++++++++++++++ 1 files changed, 27 insertions(+), 0 deletions(-) diff --git a/interface/lib/classes/remoting.inc.php b/interface/lib/classes/remoting.inc.php index ca5928e..55759f4 100644 --- a/interface/lib/classes/remoting.inc.php +++ b/interface/lib/classes/remoting.inc.php @@ -1254,6 +1254,27 @@ } } + private function _set_client_formdata($client_id) { + global $app; + + $this->id = $client_id; + $this->dataRecord = $app->db->queryOneRecord('SELECT * FROM `client` WHERE `client_id` = ' . $client_id); + $this->oldDataRecord = $this->dataRecord; + + $this->oldTemplatesAssigned = $app->db->queryAllRecords('SELECT * FROM `client_template_assigned` WHERE `client_id` = ' . $client_id); + if(!is_array($this->oldTemplatesAssigned) || count($this->oldTemplatesAssigned) < 1) { + // check previous type of storing templates + $tpls = explode('/', $this->oldDataRecord['template_additional']); + $this->oldTemplatesAssigned = array(); + foreach($tpls as $item) { + $item = trim($item); + if(!$item) continue; + $this->oldTemplatesAssigned[] = array('assigned_template_id' => 0, 'client_template_id' => $item, 'client_id' => $client_id); + } + unset($tpls); + } + } + public function client_template_additional_add($session_id, $client_id, $template_id) { global $app; @@ -1275,6 +1296,9 @@ $this->server->fault('Invalid template'); return false; } + + // for the update event we have to cheat a bit + $this->_set_client_formdata($client_id); $sql = "INSERT INTO `client_template_assigned` (`client_id`, `client_template_id`) VALUES (" . $client_id . ", " . $template_id . ")"; $app->db->query($sql); @@ -1311,6 +1335,9 @@ return false; } + // for the update event we have to cheat a bit + $this->_set_client_formdata($client_id); + $sql = "DELETE FROM `client_template_assigned` WHERE `assigned_template_id` = " . $template_id . " AND `client_id` = " . $client_id; $app->db->query($sql); $affected_rows = $app->db->affectedRows(); -- Gitblit v1.9.1