226
229
protected function log() {
227
230
if (isset($this->_snapshot)) {return false;}
228
232
$db = Database::getInstance();
229
233
$database = $db->getDatabase();
234
$record = Paymentmethod::select($db->encapsulate("paymentmethod") . ".mdate as fdate,null as tdate,{$db->encapsulate("paymentmethod")}.*",null,$db->encapsulate("paymentmethod").".id={$this->id}")->first();
230
235
$log = "{$database}_log";
231
$db->changeDatabase($log);
236
$dbLog = Database::getInstance(null,null,null,null,$log);
237
foreach($record as $k=>$v){
239
$record[$k] = $dbLog->queryValue($v);
242
$insertColumns = $dbLog->le.implode("{$dbLog->le},{$dbLog->re}",array_keys($record)).$dbLog->re;
243
$insertValues = implode(",",$record);
232
244
$query = implode(NL, array(
233
"INSERT INTO {$db->le}{$log}{$db->re}.{$db->le}paymentmethod{$db->re} (",
236
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}mdate{$db->re},",
238
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}id{$db->re},",
239
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}name{$db->re},",
240
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}description{$db->re},",
241
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}updated_by_id{$db->re},",
242
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}mdate{$db->re},",
243
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}cdate{$db->re},",
244
" {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}deleted{$db->re}",
245
"FROM {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}",
246
"WHERE {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
245
"INSERT INTO {$dbLog->le}paymentmethod{$dbLog->re} (",
249
$status = $db->query($query);
251
$logSequence = $db->getInsertedId();
253
$query = implode(NL, array(
254
"SELECT {$db->le}log_sequence{$db->re}",
255
"FROM {$db->le}paymentmethod{$db->re}",
256
"WHERE {$db->le}paymentmethod{$db->re}.{$db->le}id{$db->re}={$db->queryValue($this->id)}",
257
" AND {$db->le}log_sequence{$db->re}<'{$logSequence}'",
258
"ORDER BY {$db->le}log_sequence{$db->re} DESC",
263
if ($db->getRecord()) {
264
$updateSequence = (int)$db->record["log_sequence"];
251
$status = $dbLog->query($query);
253
$logSequence = $dbLog->getInsertedId();
265
256
$query = implode(NL, array(
266
"UPDATE {$db->le}{$log}{$db->re}.{$db->le}paymentmethod{$db->re}",
267
"INNER JOIN {$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re} ON {$db->le}{$log}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}id{$db->re}={$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}id{$db->re}",
268
" AND {$db->le}{$log}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}log_sequence{$db->re}={$db->queryValue($updateSequence)}",
269
"SET {$db->le}{$log}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}tdate{$db->re}={$db->le}{$database}{$db->re}.{$db->le}paymentmethod{$db->re}.{$db->le}mdate{$db->re}"
257
"SELECT {$dbLog->le}log_sequence{$dbLog->re}",
258
"FROM {$dbLog->le}paymentmethod{$dbLog->re}",
259
"WHERE {$dbLog->le}paymentmethod{$dbLog->re}.{$dbLog->le}id{$dbLog->re}={$this->id}",
260
" AND {$dbLog->le}log_sequence{$dbLog->re}<{$logSequence}",
261
"ORDER BY {$dbLog->le}log_sequence{$dbLog->re} DESC",
262
$dbLog::limitOffsetString(1,0)
264
$dbLog->query($query);
266
if ($dbLog->getRecord()) {
267
$updateSequence = (int)$dbLog->record["log_sequence"];
268
$query = implode(NL, array(
269
"UPDATE {$dbLog->le}paymentmethod{$dbLog->re}",
270
"SET {$dbLog->le}tdate{$dbLog->re}={$record["mdate"]}",
271
"where log_sequence={$updateSequence}"
273
$dbLog->query($query);
273
276
$db->changeDatabase($database);