'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']}";
-
$this->initEmails(
- $mail_dir,
+ !empty($mail['template_dir']) ? "{$this->rootDir}{$mail['template_dir']}" : '',
array($k => $mail),
false
);
$opts = array(
'update' => 1,
- 'file' => $templateDir. $name .'.html'
);
-
+ if (!empty($templateDir)) {
+ $opts['file'] = $templateDir. $name .'.html';
+ }
+ if (!empty($data['raw_content'])) {
+ $opts['raw_content'] = $data['raw_content'];
+ $opts['name'] = $name;
+ }
if (!empty($data['master'])) {
$opts['master'] = $templateDir . $master .'.html';
}
$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();
'gifsicle', // used for gif conversions
);
-
-
+
// these are prefered - but may have complicated depenacies
$pref = $pref !== false ? $pref : array(
'abiword',
- 'faad',
+ //'faad',
'ffmpeg',
'html2text', // not availabe in debian squeeze
'pdftocairo', //poppler-utils - not available in debian squeeze.
- 'lame',
+ //'lame',
'ssconvert',
'unoconv',
'wkhtmltopdf',
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' ),