~vcs-imports/helix/helix

« back to all changes in this revision

Viewing changes to trunk/modules/Forum/Generated/Objects/Types/PostTypeTable.php

  • Committer: damianobrien
  • Date: 2015-06-12 05:13:06 UTC
  • Revision ID: svn-v4:05b9009a-c606-4cef-bdc0-1359a4facf5f::417

Show diffs side-by-side

added added

removed removed

Lines of Context:
78
78
                $object = new PostType();
79
79
                $object->_snapshot = $date;
80
80
                $db = Database::getInstance();
81
 
                $db->changeDatabase($db->getDatabase() . "_log");
 
81
                $database = $db->getDatabase();
 
82
                $db->changeDatabase($database . "_log");
82
83
 
83
84
                if (isset($id)) {
84
85
                        $condition = "{$db->le}post_type{$db->re}.{$db->le}id{$db->re}={$db->queryValue($id)}";
94
95
                                "WHERE {$condition}"
95
96
                        ));
96
97
 
 
98
                        $query .= "ORDER BY {$db->le}post_type{$db->re}.log_sequence desc limit 1";
97
99
                        $db->query($query);
98
100
 
99
101
                        if ($db->getRecord() && $db->getNumRows()===1) {
112
114
                        }
113
115
                }
114
116
                
 
117
                $db->changeDatabase($database);
115
118
                return $object;
116
119
        }
117
120
 
229
232
 
230
233
        protected function log() {
231
234
                if (isset($this->_snapshot)) {return false;}
 
235
                parent::log();
232
236
                $db = Database::getInstance();
233
237
                $database = $db->getDatabase();
 
238
                $record = PostType::select($db->encapsulate("post_type") . ".mdate as fdate,null as tdate,{$db->encapsulate("post_type")}.*",null,$db->encapsulate("post_type").".id={$this->id}")->first();
234
239
                $log = "{$database}_log";
235
 
                $db->changeDatabase($log);
 
240
                $dbLog = Database::getInstance(null,null,null,null,$log);
 
241
                foreach($record as $k=>$v){
 
242
                    if(!is_int($v)){
 
243
                        $record[$k] = $dbLog->queryValue($v);
 
244
                    }
 
245
                }
 
246
                $insertColumns = $dbLog->le.implode("{$dbLog->le},{$dbLog->re}",array_keys($record)).$dbLog->re;
 
247
                $insertValues = implode(",",$record);
236
248
                $query = implode(NL, array(
237
 
                        "INSERT INTO {$db->le}{$log}{$db->re}.{$db->le}post_type{$db->re} (",
238
 
                        "SELECT",
239
 
                        "       NULL,",
240
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}mdate{$db->re},",
241
 
                        "       NULL,",
242
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}id{$db->re},",
243
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}name{$db->re},",
244
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}description{$db->re},",
245
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}updated_by_id{$db->re},",
246
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}mdate{$db->re},",
247
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}cdate{$db->re},",
248
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}deleted{$db->re}",
249
 
                        "FROM {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}",
250
 
                        "WHERE {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
 
249
                        "INSERT INTO {$dbLog->le}post_type{$dbLog->re} (",
 
250
                        $insertColumns,
 
251
                        ") VALUES (",
 
252
                        $insertValues,
251
253
                        ")"
252
254
                ));
253
 
                $status = $db->query($query);
254
 
 
255
 
                $logSequence = $db->getInsertedId();
256
 
 
257
 
                $query = implode(NL, array(
258
 
                        "SELECT {$db->le}log_sequence{$db->re}",
259
 
                        "FROM {$db->le}post_type{$db->re}",
260
 
                        "WHERE {$db->le}post_type{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
261
 
                        "       AND {$db->le}log_sequence{$db->re}<'{$logSequence}'",
262
 
                        "ORDER BY {$db->le}log_sequence{$db->re} DESC",
263
 
                        "LIMIT 0,1"
264
 
                ));
265
 
                $db->query($query);
266
 
 
267
 
                if ($db->getRecord()) {
268
 
                        $updateSequence = (int)$db->record["log_sequence"];
 
255
                $status = $dbLog->query($query);
 
256
 
 
257
                $logSequence = $dbLog->getInsertedId();
 
258
 
 
259
                if ($logSequence){
269
260
                        $query = implode(NL, array(
270
 
                                "UPDATE {$db->le}{$log}{$db->re}.{$db->le}post_type{$db->re}",
271
 
                                "INNER JOIN {$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re} ON {$db->le}{$log}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}id{$db->re}={$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}id{$db->re}",
272
 
                                "       AND {$db->le}{$log}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}log_sequence{$db->re}={$db->queryValue($updateSequence)}",
273
 
                                "SET {$db->le}{$log}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}tdate{$db->re}={$db->le}{$database}{$db->re}.{$db->le}post_type{$db->re}.{$db->le}mdate{$db->re}"
 
261
                                "SELECT {$dbLog->le}log_sequence{$dbLog->re}",
 
262
                                "FROM {$dbLog->le}post_type{$dbLog->re}",
 
263
                                "WHERE {$dbLog->le}post_type{$dbLog->re}.{$dbLog->le}id{$dbLog->re}={$this->id}",
 
264
                                "       AND {$dbLog->le}log_sequence{$dbLog->re}<{$logSequence}",
 
265
                                "ORDER BY {$dbLog->le}log_sequence{$dbLog->re} DESC",
 
266
                                $dbLog::limitOffsetString(1,0)
274
267
                        ));
275
 
                        $db->query($query);
 
268
                        $dbLog->query($query);
 
269
 
 
270
                        if ($dbLog->getRecord()) {
 
271
                                $updateSequence = (int)$dbLog->record["log_sequence"];
 
272
                                $query = implode(NL, array(
 
273
                                        "UPDATE {$dbLog->le}post_type{$dbLog->re}",
 
274
                                        "SET {$dbLog->le}tdate{$dbLog->re}={$record["mdate"]}",
 
275
                                        "where log_sequence={$updateSequence}"
 
276
                                ));
 
277
                                $dbLog->query($query);
 
278
                        }
276
279
                }
277
280
                $db->changeDatabase($database);
278
281
                return $status;