var $local_base_url = false;
+ var $emailTemplates = array(
+ 'EVENT_ERRORS_REPORT' => array(
+ 'bcc_group' => 'Empty Group',
+ 'test_class' => 'Pman/Admin/Report/SendEventErrors',
+ 'to_group' => 'Administrators',
+ 'active' => 1,
+ 'description' => '9. System Error Messages',
+ 'template_dir' => '/Pman/Admin/templates/mail/'
+ )
+ );
+
function getAuth() {
$this->checkSystem();
+ $this->verifyExtensions(array('curl'));
+
if (class_exists('PDO_DataObjects_Introspection')) {
PDO_DataObject_Introspection::$cache = array();
}
// new -- sql directory..
// new style will not support migrate ... they have to go into mysql-migrate.... directories..
// new style will not support pg.sql etc.. naming - that's what the direcotries are for..
+ $dbdir = $dbtype == 'mysqli' ? 'mysql' : $dbtype;
$this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/sql");
- $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbtype}");
+ $this->{$dirmethod}($dburl, $this->rootDir. "/Pman/$m/{$dbdir}");
array(
'name' => 'bcc-email', // group who are bcc'ed on all requests.
'type' => 0, // system
+ 'display_name' => 'Standard BCC Group'
),
array(
'name' => 'system-email-from',
'type' => 0, // system
+ 'display_name' => 'Standard System Email From Group'
),
array(
'name' => 'core-person-signup-bcc',
'type' => 0, // system
+ 'display_name' => 'Standard Person Signup BCC Group'
),
-
+ array(
+ 'name' => 'Empty Group', // use for no bcc emails.
+ 'type' => 0,
+ 'display_name' => 'Standard Empty Group'
+ )
));
}
+ function updateDataEmails()
+ {
+ foreach ($this->emailTemplates as $k => $mail) {
+
+ $mail_dir = "{$this->rootDir}{$mail['template_dir']}";
+
+ $this->initEmails(
+ $mail_dir,
+ array($k => $mail),
+ false
+ );
+ }
+ }
function initEmails($templateDir, $emails, $mapping = false)
{
if (empty($data['bcc_group'])) {
$this->jerr("missing bcc_group for template $name");
}
+
$g = DB_DataObject::Factory('core_group')->lookup('name',$data['bcc_group']);
if (empty($g->id)) {
$this->jerr("bcc_group {$data['bcc_group']} does not exist when importing template $name");
}
- if (!$g->members('email')) {
+ if (!$g->members('email') && $g->name != 'Empty Group') {
$this->jerr("bcc_group {$data['bcc_group']} does not have any members");
}
}
// initEmails will always have the latest location of the test class - in theory the user should not be changign the value of this...
//if (empty($cm->test_class)) {
- if (empty($data['test_class'])) {
- $this->jerr("missing test_class for template $name");
- }
- $cm->test_class = $data['test_class'];
+ if (empty($data['test_class'])) {
+ $this->jerr("missing test_class for template $name");
+ }
+
+ $cm->test_class = $data['test_class'];
//}
if(isset($cm->to_group_id)) {
print_r('isset');
$cm->active = $data['active'];
}
+ /*
+ * Set description to email.
+ * However we do not update if it is been set.
+ */
+ if(empty($cm->description) && !empty($data['description'])){
+ $cm->description = $cm->escape($data['description']);
+ }
+
require_once $cm->test_class . '.php';
$clsname = str_replace('/','_', $cm->test_class);
$this->updateDataGroups();
$this->updateDataCompanies();
+ $this->updateDataEmails();
+
$c = DB_DataObject::Factory('I18n');
$c->buildDB();
return $response;
}
- function verifyExtensions($extensions)
+ static function verifyExtensions($extensions)
{
$error = array();
continue;
}
- $error[] = "Error: Please install php {$e} extensions";
+ $error[] = "Error: Please install php extension: {$e}";
}
if(empty($error)){
- return;
+ return true;
}
+ $ff = HTML_FLexyFramework::get();
- die(implode('\n', $error));
+ $ff->page->jerr(implode('\n', $error));
}
}