tbrehm
2010-02-10 bc5697289b7dedc662f0c90887a0055cc126ae02
Improved error handling on decoding errors in the server part.
1 files modified
17 ■■■■■ changed files
server/lib/classes/modules.inc.php 17 ●●●●● patch | view | raw | blame | history
server/lib/classes/modules.inc.php
@@ -98,14 +98,12 @@
                    $data = unserialize($d["data"]);
                }
                //** Decode data back to locale
                /*
                foreach($data['old'] as $key => $val) {
                    $data['old'][$key] = utf8_decode($val);
                }
                foreach($data['new'] as $key => $val) {
                    $data['new'][$key] = utf8_decode($val);
                }
                */
                
                $replication_error = false;
                
@@ -165,7 +163,12 @@
                
                
                    if($replication_error == false) {
                        $this->raiseTableHook($d["dbtable"],$d["action"],$data);
                        if(is_array($data['old']) || is_array($data['new'])) {
                            $this->raiseTableHook($d["dbtable"],$d["action"],$data);
                        } else {
                            $app->log("Data array was empty for datalog_id ".$d["datalog_id"],LOGLEVEL_WARN);
                        }
                        //$this->raiseTableHook($d["dbtable"],$d["action"],$data);
                        //$app->dbmaster->query("DELETE FROM sys_datalog WHERE datalog_id = ".$d["datalog_id"]);
                        //$app->log("Deleting sys_datalog ID ".$d["datalog_id"],LOGLEVEL_DEBUG);
                        $app->dbmaster->query("UPDATE server SET updated = ".$d["datalog_id"]." WHERE server_id = ".$conf["server_id"]);
@@ -194,17 +197,19 @@
                    $data = unserialize($d["data"]);
                }
                //** decode data back to current locale
                /*
                foreach($data['old'] as $key => $val) {
                    $data['old'][$key] = utf8_decode($val);
                }
                foreach($data['new'] as $key => $val) {
                    $data['new'][$key] = utf8_decode($val);
                }
                */
                
                $this->current_datalog_id = $d["datalog_id"];
                $this->raiseTableHook($d["dbtable"],$d["action"],$data);
                if(is_array($data['old']) || is_array($data['new'])) {
                    $this->raiseTableHook($d["dbtable"],$d["action"],$data);
                } else {
                    $app->log("Data array was empty for datalog_id ".$d["datalog_id"],LOGLEVEL_WARN);
                }
                //$app->db->query("DELETE FROM sys_datalog WHERE datalog_id = ".$rec["datalog_id"]);
                //$app->log("Deleting sys_datalog ID ".$rec["datalog_id"],LOGLEVEL_DEBUG);
                $app->db->query("UPDATE server SET updated = ".$d["datalog_id"]." WHERE server_id = ".$conf["server_id"]);