X-Git-Url: http://git.roojs.org/?p=Pman.Core;a=blobdiff_plain;f=UpdateDatabase.php;h=f2f1663bc7030da146e0f45eadcfdf2c3e39d837;hp=d3ec063c95a0423afa74e430ff1558c78b5c3d8d;hb=HEAD;hpb=581a3326f8c30baf3b33873f2335042753295d2b diff --git a/UpdateDatabase.php b/UpdateDatabase.php index d3ec063c..6973f564 100644 --- a/UpdateDatabase.php +++ b/UpdateDatabase.php @@ -154,14 +154,14 @@ class Pman_Core_UpdateDatabase extends Pman 'active' => 1, 'description' => '9.1 Management System Password Reset', 'template_dir' => '/Pman/Core/templates/mail/' - - + ) ); var $required_extensions = array( 'curl', - 'gd' + 'gd', + 'mbstring' ); function getAuth() { @@ -176,7 +176,7 @@ class Pman_Core_UpdateDatabase extends Pman parent::getAuth(); // load company! $au = $this->getAuthUser(); if (!$au || $au->company()->comptype != 'OWNER') { - $this->jerr("Not authenticated", array('authFailure' => true)); + $this->jerror("LOGIN-NOAUTH", "Not authenticated", array('authFailure' => true)); } $this->authUser = $au; return true; @@ -498,6 +498,7 @@ class Pman_Core_UpdateDatabase extends Pman $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']); @@ -612,7 +613,10 @@ class Pman_Core_UpdateDatabase extends Pman $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); } @@ -766,6 +770,7 @@ class Pman_Core_UpdateDatabase extends Pman if(!method_exists($x, 'updateData')){ continue; }; + $x->rootDir = $this->rootDir; echo "$module\n"; $x->updateData(); } @@ -848,21 +853,25 @@ class Pman_Core_UpdateDatabase extends Pman 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 + 'is_system' => 1, '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, + 'is_system' => 1, 'display_name' => 'Standard Empty Group' ) @@ -920,10 +929,8 @@ class Pman_Core_UpdateDatabase extends Pman } 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 ); @@ -947,11 +954,11 @@ class Pman_Core_UpdateDatabase extends Pman $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"); } - 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"); } @@ -1023,9 +1030,14 @@ class Pman_Core_UpdateDatabase extends Pman $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'; } @@ -1254,17 +1266,16 @@ class Pman_Core_UpdateDatabase extends Pman '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',