X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=UpdateDatabase%2FMysqlLinks.php;h=02db5481d7a7dca3fb27cba0a97106717adace5a;hb=3dfa28ee12e72e27f69a7734bef807c2628e5d53;hp=62a66873ed09c1af9f1450fc3cbc81586b8d7d1e;hpb=3dcbc41df6beb5dde73f46537e22057ca4d4bf90;p=Pman.Core diff --git a/UpdateDatabase/MysqlLinks.php b/UpdateDatabase/MysqlLinks.php index 62a66873..02db5481 100644 --- a/UpdateDatabase/MysqlLinks.php +++ b/UpdateDatabase/MysqlLinks.php @@ -40,7 +40,7 @@ class Pman_Core_UpdateDatabase_MysqlLinks { var $dburl; var $schema; - var $links; + var $links = array(); function __construct() { @@ -49,15 +49,20 @@ class Pman_Core_UpdateDatabase_MysqlLinks { $this->updateTableComments(); $ff = HTML_FlexyFramework::get(); - if (!empty($ff->Pman['enable_trigger_tests'])) { + if (empty($ff->Pman['enable_trigger_tests'])) { + return; + } + if (!empty($ff->page->opts['disable-create-triggers'])) { + return; + } // note we may want to override some of these... - to do special triggers.. // as you can only have one trigger per table for each action. - $this->createDeleteTriggers(); - $this->createInsertTriggers(); - $this->createUpdateTriggers(); - } + $this->createDeleteTriggers(); + $this->createInsertTriggers(); + $this->createUpdateTriggers(); + } @@ -73,13 +78,17 @@ class Pman_Core_UpdateDatabase_MysqlLinks { $dbini = 'ini_'. basename($this->dburl['path']); - $iniCache = $ff->DB_DataObject[$dbini]; + $iniCache = isset( $ff->PDO_DataObject) ? $ff->PDO_DataObject['schema_location'] : $ff->DB_DataObject[$dbini]; + if (strpos($iniCache, DIRECTORY_SEPARATOR) !== false) { + echo "SKIP links code - cached ini file has not been created\n"; + return; + } $this->schema = parse_ini_file($iniCache, true); $this->links = parse_ini_file(preg_replace('/\.ini$/', '.links.ini', $iniCache), true); $lcfg = &$this->links; - $cfg = HTML_FlexyFramework::get()->DB_DataObject; + $cfg = empty($ff->DB_DataObject) ? array() : $ff->DB_DataObject; if (!empty($cfg['table_alias'])) { $ta = $cfg['table_alias']; @@ -134,7 +143,7 @@ class Pman_Core_UpdateDatabase_MysqlLinks { FROM information_schema.TABLES WHERE - TABLE_SCHEMA = '{$q->escape($q->database())}' + TABLE_SCHEMA = DATABASE() AND TABLE_NAME = '{$q->escape($tbl)}' "); @@ -437,14 +446,6 @@ class Pman_Core_UpdateDatabase_MysqlLinks { $q = DB_DataObject::factory('core_enum'); $q->query($trigger); echo "CREATED TRIGGER {$tbl}_before_update\n"; - if ($tbl == 'core_email') { - echo $trigger; - exit; - } - - - - }