X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=UpdateDatabase%2FMysqlLinks.php;h=02db5481d7a7dca3fb27cba0a97106717adace5a;hp=409a0d737706cd2e740f5fa0cd8002ca98ce0bc0;hb=a6a160eee7c216e90ccdc6ed6568ad8364759eb0;hpb=80e6f0532a0a190e5462397bb7ffdb0c7bb05da1 diff --git a/UpdateDatabase/MysqlLinks.php b/UpdateDatabase/MysqlLinks.php index 409a0d73..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)}' ");