function getDB() { $this->db = new ImpPDO('sqlite:' . $this->TempFile); $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); DBObject::$DB = $this->db; ImpSQLBuilder::$DB = $this->db; }
private function recordChanges() { assert($this->_trackChanges === true); assert(is_array($this->_initialValues)); assert(!empty($this->_initialValues)); assert(!empty($this->ID)); // We only track changes against stored data assert(!empty($_SERVER['PHP_AUTH_USER'])); $Q = new ImpSQLBuilder('ChangeLog'); $Q->addValue('TargetTable', $this->DBTable); $Q->addValue('RecordID', $this->ID); $Q->addValue('Admin', $_SERVER['PHP_AUTH_USER']); foreach ($this->Properties as $Name => $def) { if (is_array($def) and $def['type'] == 'collection') { continue; } $NewValue = $this->_convertValueToChangeString($this->{$Name}); $OldValue = $this->_convertValueToChangeString($this->_initialValues[$Name]); if (empty($this->_ignoreChanges[$Name]) and $NewValue != $OldValue) { $Q->addValue('Property', $Name, 'STRING'); $Q->addValue('OldValue', $OldValue, 'STRING'); $Q->addValue('NewValue', $NewValue, 'STRING'); self::$DB->execute($Q->generateInsert()); } } }