'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',
),
);
- 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()
{
'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/'
+
+
)
);
// 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();
$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()
- );
- }
- }
+
$mysql_cmd = $mysql .
' -h ' . $dburl['host'] .
+ (empty($dburl['port']) ? '' : " -P{$dburl['port']} ") .
' -u' . escapeshellarg($dburl['user']) .
(!empty($dburl['pass']) ? ' -p' . escapeshellarg($dburl['pass']) : '') .
' ' . basename($dburl['path']);
function updateDataEmails()
{
+ if (!empty($this->opts['skip-email-import'])) {
+ return;
+ }
foreach ($this->emailTemplates as $k => $mail) {
$mail_dir = "{$this->rootDir}{$mail['template_dir']}";
$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();
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);
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' ),