projects
/
Pman.Core
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix #8131 - chinese translations
[Pman.Core]
/
UpdateDatabase.php
diff --git
a/UpdateDatabase.php
b/UpdateDatabase.php
index
8398e9d
..
6973f56
100644
(file)
--- a/
UpdateDatabase.php
+++ b/
UpdateDatabase.php
@@
-67,6
+67,12
@@
class Pman_Core_UpdateDatabase extends Pman
'min' => 1,
'max' => 1,
),
'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' => '',
'procedures-only' => array(
'desc' => 'Only import procedures (not supported by most modules yet) - ignores sql directory',
'default' => '',
@@
-148,14
+154,14
@@
class Pman_Core_UpdateDatabase extends Pman
'active' => 1,
'description' => '9.1 Management System Password Reset',
'template_dir' => '/Pman/Core/templates/mail/'
'active' => 1,
'description' => '9.1 Management System Password Reset',
'template_dir' => '/Pman/Core/templates/mail/'
-
-
+
)
);
var $required_extensions = array(
'curl',
)
);
var $required_extensions = array(
'curl',
- 'gd'
+ 'gd',
+ 'mbstring'
);
function getAuth() {
);
function getAuth() {
@@
-170,7
+176,7
@@
class Pman_Core_UpdateDatabase extends Pman
parent::getAuth(); // load company!
$au = $this->getAuthUser();
if (!$au || $au->company()->comptype != 'OWNER') {
parent::getAuth(); // load company!
$au = $this->getAuthUser();
if (!$au || $au->company()->comptype != 'OWNER') {
- $this->jerr
(
"Not authenticated", array('authFailure' => true));
+ $this->jerr
or("LOGIN-NOAUTH",
"Not authenticated", array('authFailure' => true));
}
$this->authUser = $au;
return true;
}
$this->authUser = $au;
return true;
@@
-243,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..)
// 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'])) {
$this->runExtensions();
if (empty($opts['data-only'])) {
+ echo "Import SQL\n";
$this->importSQL();
}
if (!empty($opts['only-module-sql'])) {
return;
}
$this->importSQL();
}
if (!empty($opts['only-module-sql'])) {
return;
}
-
+ echo "run Update Modules Data\n";
$this->runUpdateModulesData();
$this->runUpdateModulesData();
@@
-490,6
+498,7
@@
class Pman_Core_UpdateDatabase extends Pman
$mysql_cmd = $mysql .
' -h ' . $dburl['host'] .
$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']);
' -u' . escapeshellarg($dburl['user']) .
(!empty($dburl['pass']) ? ' -p' . escapeshellarg($dburl['pass']) : '') .
' ' . basename($dburl['path']);
@@
-604,7
+613,10
@@
class Pman_Core_UpdateDatabase extends Pman
$extra[] = "create sequence {$tbl}_seq;";
}
$extra[] = "create sequence {$tbl}_seq;";
}
-
+ if ($tbl && preg_match('#engine=\S+#i', $l, $m)) {
+ $l = preg_replace('#engine=\S+#i', '', $l);
+
+ }
if (preg_match('#alter\s+table\s+(\`[a-z0-9_]+\`)#i', $l, $m)){
$l = preg_replace('#alter\s+table\s+(\`[a-z0-9_]+\`)#i', "ALTER TABLE {$tbl}", $l);
}
if (preg_match('#alter\s+table\s+(\`[a-z0-9_]+\`)#i', $l, $m)){
$l = preg_replace('#alter\s+table\s+(\`[a-z0-9_]+\`)#i', "ALTER TABLE {$tbl}", $l);
}
@@
-758,6
+770,7
@@
class Pman_Core_UpdateDatabase extends Pman
if(!method_exists($x, 'updateData')){
continue;
};
if(!method_exists($x, 'updateData')){
continue;
};
+ $x->rootDir = $this->rootDir;
echo "$module\n";
$x->updateData();
}
echo "$module\n";
$x->updateData();
}
@@
-840,21
+853,25
@@
class Pman_Core_UpdateDatabase extends Pman
array(
'name' => 'bcc-email', // group who are bcc'ed on all requests.
'type' => 0, // system
array(
'name' => 'bcc-email', // group who are bcc'ed on all requests.
'type' => 0, // system
+ 'is_system' => 1,
'display_name' => 'Standard BCC Group'
),
array(
'name' => 'system-email-from',
'type' => 0, // system
'display_name' => 'Standard BCC Group'
),
array(
'name' => 'system-email-from',
'type' => 0, // system
+ 'is_system' => 1,
'display_name' => 'Standard System Email From Group'
),
array(
'name' => 'core-person-signup-bcc',
'type' => 0, // system
'display_name' => 'Standard System Email From Group'
),
array(
'name' => 'core-person-signup-bcc',
'type' => 0, // system
+ 'is_system' => 1,
'display_name' => 'Standard Person Signup BCC Group'
),
array(
'name' => 'Empty Group', // use for no bcc emails.
'type' => 0,
'display_name' => 'Standard Person Signup BCC Group'
),
array(
'name' => 'Empty Group', // use for no bcc emails.
'type' => 0,
+ 'is_system' => 1,
'display_name' => 'Standard Empty Group'
)
'display_name' => 'Standard Empty Group'
)
@@
-907,12
+924,13
@@
class Pman_Core_UpdateDatabase extends Pman
function updateDataEmails()
{
function updateDataEmails()
{
+ if (!empty($this->opts['skip-email-import'])) {
+ return;
+ }
foreach ($this->emailTemplates as $k => $mail) {
foreach ($this->emailTemplates as $k => $mail) {
- $mail_dir = "{$this->rootDir}{$mail['template_dir']}";
-
$this->initEmails(
$this->initEmails(
-
$mail_dir
,
+
!empty($mail['template_dir']) ? "{$this->rootDir}{$mail['template_dir']}" : ''
,
array($k => $mail),
false
);
array($k => $mail),
false
);
@@
-936,11
+954,11
@@
class Pman_Core_UpdateDatabase extends Pman
$g = DB_DataObject::Factory('core_group')->lookup('name',$data['bcc_group']);
$g = DB_DataObject::Factory('core_group')->lookup('name',$data['bcc_group']);
- if (empty($g->id)) {
+ if (empty($g->id)) {
// Admin group as bcc will not have any member at initialization.
$this->jerr("bcc_group {$data['bcc_group']} does not exist when importing template $name");
}
$this->jerr("bcc_group {$data['bcc_group']} does not exist when importing template $name");
}
- if (!$g->members('email') && $g->name != 'Empty Group') {
+ if (!$g->members('email') && $g->name != 'Empty Group'
&& $g->name != 'Administrators'
) {
$this->jerr("bcc_group {$data['bcc_group']} does not have any members");
}
$this->jerr("bcc_group {$data['bcc_group']} does not have any members");
}
@@
-1012,9
+1030,14
@@
class Pman_Core_UpdateDatabase extends Pman
$opts = array(
'update' => 1,
$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';
}
if (!empty($data['master'])) {
$opts['master'] = $templateDir . $master .'.html';
}
@@
-1217,6
+1240,7
@@
class Pman_Core_UpdateDatabase extends Pman
if (!file_exists(__DIR__.'/UpdateDatabase/'. $scls .'.php')) {
return;
}
if (!file_exists(__DIR__.'/UpdateDatabase/'. $scls .'.php')) {
return;
}
+ echo "Running : {$fn}\n";
require_once $fn;
$c = new $cls();
require_once $fn;
$c = new $cls();
@@
-1242,17
+1266,16
@@
class Pman_Core_UpdateDatabase extends Pman
'gifsicle', // used for gif conversions
);
'gifsicle', // used for gif conversions
);
-
-
+
// these are prefered - but may have complicated depenacies
$pref = $pref !== false ? $pref : array(
'abiword',
// 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.
'ffmpeg',
'html2text', // not availabe in debian squeeze
'pdftocairo', //poppler-utils - not available in debian squeeze.
- 'lame',
+
//
'lame',
'ssconvert',
'unoconv',
'wkhtmltopdf',
'ssconvert',
'unoconv',
'wkhtmltopdf',