X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=UpdateDatabase.php;h=d3ec063c95a0423afa74e430ff1558c78b5c3d8d;hp=f24f98f8da1df1a8e65613f5ff20bfed5c50cab2;hb=c1af5e6bb6064e88469651271f4d9aaff34d69c0;hpb=b583fc1eef07fb6104335794cab231dfbdb8e976 diff --git a/UpdateDatabase.php b/UpdateDatabase.php index f24f98f8..d3ec063c 100644 --- a/UpdateDatabase.php +++ b/UpdateDatabase.php @@ -67,12 +67,24 @@ class Pman_Core_UpdateDatabase extends Pman 'min' => 1, 'max' => 1, ), + 'skip-email-import' => array( + 'desc' => 'Skip email import', + 'default' => '', + 'min' => 1, + 'max' => 1, + ), 'procedures-only' => array( 'desc' => 'Only import procedures (not supported by most modules yet) - ignores sql directory', 'default' => '', 'min' => 1, 'max' => 1, ), + 'disable-create-triggers' => array( + 'desc' => 'So not create the mysql triggers', + 'default' => '', + 'min' => 1, + 'max' => 1, + ), 'json-person' => array( 'desc' => 'Person JSON file', @@ -90,17 +102,7 @@ class Pman_Core_UpdateDatabase extends Pman ), ); - var $emailTemplates = array( - 'ADMIN_PASSWORD_RESET' => array( - 'bcc_group' => 'Administrators', - 'test_class' => 'Pman/Core/DataObjects/Core_person', - 'to_group' => '', - 'active' => 1, - 'description' => '99. Management System Password Reset' - - ) - ); - + static function cli_opts() { @@ -142,8 +144,18 @@ class Pman_Core_UpdateDatabase extends Pman 'test_class' => 'Pman/Admin/Report/SendEventErrors', 'to_group' => 'Administrators', 'active' => 1, - 'description' => '9. System Error Messages', + 'description' => '9.2 System Error Messages', 'template_dir' => '/Pman/Admin/templates/mail/' + ), + 'ADMIN_PASSWORD_RESET' => array( + 'bcc_group' => 'Administrators', + 'test_class' => 'Pman/Core/DataObjects/Core_person', + 'to_group' => '', + 'active' => 1, + 'description' => '9.1 Management System Password Reset', + 'template_dir' => '/Pman/Core/templates/mail/' + + ) ); @@ -237,18 +249,20 @@ class Pman_Core_UpdateDatabase extends Pman // this will trigger errors about freetext indexes - we will have to remove them manually.? // otherwise we need to do an sql query to find them, then remove them (not really worth it as it only affects really old code..) - + echo "Run extensions\n"; + $this->runExtensions(); if (empty($opts['data-only'])) { + echo "Import SQL\n"; $this->importSQL(); } if (!empty($opts['only-module-sql'])) { return; } - + echo "run Update Modules Data\n"; $this->runUpdateModulesData(); @@ -265,29 +279,7 @@ class Pman_Core_UpdateDatabase extends Pman $this->clearApacheAssetCache(); - $core_group = DB_DataObject::factory('core_group'); - $core_group->get('name', 'Administrators'); - if(!empty($core_group->memberCount())) { - - $core_company = DB_DataObject::factory('core_company'); - $core_company->get('comptype', 'OWNER'); - - - - foreach ($this->emailTemplates as $k => $mail) { - $mail_dir = $this->client_path.'/mail/'; - - if (!file_exists($mail_dir."{$k}.html")) { - $mail_dir = $ff->page->rootDir. '/Pman/Core/templates/mail/'; - } - - $this->initEmails( - $mail_dir, - array($k => $mail), - array() - ); - } - } + @@ -923,6 +915,9 @@ class Pman_Core_UpdateDatabase extends Pman function updateDataEmails() { + if (!empty($this->opts['skip-email-import'])) { + return; + } foreach ($this->emailTemplates as $k => $mail) { $mail_dir = "{$this->rootDir}{$mail['template_dir']}"; @@ -1222,15 +1217,18 @@ class Pman_Core_UpdateDatabase extends Pman $dburl = parse_url($ff->database); $dbtype = $dburl['scheme']; - + $dbtype = ($dbtype == 'mysqli') ? 'mysql' : $dbtype; + foreach($this->extensions as $ext) { $scls = ucfirst($dbtype). $ext; $cls = __CLASS__ . '_'. $scls; $fn = implode('/',explode('_', $cls)).'.php'; + if (!file_exists(__DIR__.'/UpdateDatabase/'. $scls .'.php')) { return; } + echo "Running : {$fn}\n"; require_once $fn; $c = new $cls(); @@ -1299,10 +1297,13 @@ class Pman_Core_UpdateDatabase extends Pman function clearApacheDataobjectsCache() { - echo "Clearing Database Cache\n"; + // this needs to clear it's own cache along with remote one.. $url = "http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache"; + + echo "Clearing Database Cache : http://localhost{$this->local_base_url}/Core/RefreshDatabaseCache\n"; + $response = $this->curl($url); $json = json_decode($response, true); @@ -1319,7 +1320,7 @@ class Pman_Core_UpdateDatabase extends Pman function clearApacheAssetCache() { - echo "Clearing Asset Cache\n"; + echo "Clearing Asset Cache : http://localhost{$this->local_base_url}/Core/Asset\n"; $response = $this->curl( "http://localhost{$this->local_base_url}/Core/Asset", array( '_clear_cache' => 1 ,'returnHTML' => 'NO' ),