~vcs-imports/helix/helix

« back to all changes in this revision

Viewing changes to trunk/modules/Project/Generated/Relationships/ProjectentityTaskTable.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:
86
86
                $object = new ProjectentityTask();
87
87
                $object->_snapshot = $date;
88
88
                $db = Database::getInstance();
89
 
                $db->changeDatabase($db->getDatabase() . "_log");
 
89
                $database = $db->getDatabase();
 
90
                $db->changeDatabase($database . "_log");
90
91
 
91
92
                if (isset($id)) {
92
93
                        $condition = "{$db->le}projectentity_task{$db->re}.{$db->le}id{$db->re}={$db->queryValue($id)}";
102
103
                                "WHERE {$condition}"
103
104
                        ));
104
105
 
 
106
                        $query .= "ORDER BY {$db->le}projectentity_task{$db->re}.log_sequence desc limit 1";
105
107
                        $db->query($query);
106
108
 
107
109
                        if ($db->getRecord() && $db->getNumRows()===1) {
122
124
                        }
123
125
                }
124
126
                
 
127
                $db->changeDatabase($database);
125
128
                return $object;
126
129
        }
127
130
 
245
248
 
246
249
        protected function log() {
247
250
                if (isset($this->_snapshot)) {return false;}
 
251
                parent::log();
248
252
                $db = Database::getInstance();
249
253
                $database = $db->getDatabase();
 
254
                $record = ProjectentityTask::select($db->encapsulate("projectentity_task") . ".mdate as fdate,null as tdate,{$db->encapsulate("projectentity_task")}.*",null,$db->encapsulate("projectentity_task").".id={$this->id}")->first();
250
255
                $log = "{$database}_log";
251
 
                $db->changeDatabase($log);
 
256
                $dbLog = Database::getInstance(null,null,null,null,$log);
 
257
                foreach($record as $k=>$v){
 
258
                    if(!is_int($v)){
 
259
                        $record[$k] = $dbLog->queryValue($v);
 
260
                    }
 
261
                }
 
262
                $insertColumns = $dbLog->le.implode("{$dbLog->le},{$dbLog->re}",array_keys($record)).$dbLog->re;
 
263
                $insertValues = implode(",",$record);
252
264
                $query = implode(NL, array(
253
 
                        "INSERT INTO {$db->le}{$log}{$db->re}.{$db->le}projectentity_task{$db->re} (",
254
 
                        "SELECT",
255
 
                        "       NULL,",
256
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}mdate{$db->re},",
257
 
                        "       NULL,",
258
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}id{$db->re},",
259
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}projectentity_id{$db->re},",
260
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}task_id{$db->re},",
261
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}projectentity_task_type_id{$db->re},",
262
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}primary{$db->re},",
263
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}updated_by_id{$db->re},",
264
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}mdate{$db->re},",
265
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}cdate{$db->re},",
266
 
                        "       {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}deleted{$db->re}",
267
 
                        "FROM {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}",
268
 
                        "WHERE {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
 
265
                        "INSERT INTO {$dbLog->le}projectentity_task{$dbLog->re} (",
 
266
                        $insertColumns,
 
267
                        ") VALUES (",
 
268
                        $insertValues,
269
269
                        ")"
270
270
                ));
271
 
                $status = $db->query($query);
272
 
 
273
 
                $logSequence = $db->getInsertedId();
274
 
 
275
 
                $query = implode(NL, array(
276
 
                        "SELECT {$db->le}log_sequence{$db->re}",
277
 
                        "FROM {$db->le}projectentity_task{$db->re}",
278
 
                        "WHERE {$db->le}projectentity_task{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
279
 
                        "       AND {$db->le}log_sequence{$db->re}<'{$logSequence}'",
280
 
                        "ORDER BY {$db->le}log_sequence{$db->re} DESC",
281
 
                        "LIMIT 0,1"
282
 
                ));
283
 
                $db->query($query);
284
 
 
285
 
                if ($db->getRecord()) {
286
 
                        $updateSequence = (int)$db->record["log_sequence"];
 
271
                $status = $dbLog->query($query);
 
272
 
 
273
                $logSequence = $dbLog->getInsertedId();
 
274
 
 
275
                if ($logSequence){
287
276
                        $query = implode(NL, array(
288
 
                                "UPDATE {$db->le}{$log}{$db->re}.{$db->le}projectentity_task{$db->re}",
289
 
                                "INNER JOIN {$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re} ON {$db->le}{$log}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}id{$db->re}={$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}id{$db->re}",
290
 
                                "       AND {$db->le}{$log}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}log_sequence{$db->re}={$db->queryValue($updateSequence)}",
291
 
                                "SET {$db->le}{$log}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}tdate{$db->re}={$db->le}{$database}{$db->re}.{$db->le}projectentity_task{$db->re}.{$db->le}mdate{$db->re}"
 
277
                                "SELECT {$dbLog->le}log_sequence{$dbLog->re}",
 
278
                                "FROM {$dbLog->le}projectentity_task{$dbLog->re}",
 
279
                                "WHERE {$dbLog->le}projectentity_task{$dbLog->re}.{$dbLog->le}id{$dbLog->re}={$this->id}",
 
280
                                "       AND {$dbLog->le}log_sequence{$dbLog->re}<{$logSequence}",
 
281
                                "ORDER BY {$dbLog->le}log_sequence{$dbLog->re} DESC",
 
282
                                $dbLog::limitOffsetString(1,0)
292
283
                        ));
293
 
                        $db->query($query);
 
284
                        $dbLog->query($query);
 
285
 
 
286
                        if ($dbLog->getRecord()) {
 
287
                                $updateSequence = (int)$dbLog->record["log_sequence"];
 
288
                                $query = implode(NL, array(
 
289
                                        "UPDATE {$dbLog->le}projectentity_task{$dbLog->re}",
 
290
                                        "SET {$dbLog->le}tdate{$dbLog->re}={$record["mdate"]}",
 
291
                                        "where log_sequence={$updateSequence}"
 
292
                                ));
 
293
                                $dbLog->query($query);
 
294
                        }
294
295
                }
295
296
                $db->changeDatabase($database);
296
297
                return $status;