Esempio n. 1
0
 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;
 }
Esempio n. 2
0
 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());
         }
     }
 }