public $active;
public $bcc_group_id;
public $test_class;
-
-
-
+
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
bcc_group_id = {$cgm}.group_id
) AS bcc_group_member_count
");
+
+
+ if (!empty($_REQUEST['_hide_system_emails'])) {
+ $this->whereAddIn("!{$this->tableName()}.name", array('EVENT_ERRORS_REPORT'), 'string');
+ }
+
}
function beforeDelete($dependants_array, $roo)
$i->ontable = $this->tableName();
$i->find();
while ($i->fetch()){
- $i->beforeDelete();
+ $i->beforeDelete(array(), $roo);
$i->delete();
}
}
$c = DB_DataObject::factory('core_group_member');
$c->group_id = $this->to_group_id;
- if (!$c->count()) {
- //cannot go to second check
- if (!empty($request['_ignore_group_count'])) {
- if (!$request['_ignore_group_count']) {
- $roo->jerr('no_member',array('errcode'=> 100));
- }
- } else {
- $roo->jerr('no_member',array('errcode'=> 100));
- }
+ if (!$c->count() && empty($request['_ignore_group_count'])) {
+ $roo->jerr('Failed to create email template - No member found in recieptent group',array('errcode'=> 100));
}
-
}
}
if (!$replace_links) {
continue;
}
+ if (empty($cfg)) {
+ continue;
+ }
+ // not available if server_baseurl not set... and crm module not used.
$link = DB_DataObject::factory('crm_mailing_list_link');
$link->setFrom(array(
'url' => $href
}
- if(!empty($unsubscribe)){
+ if(!empty($unsubscribe) && !empty($cfg)){
$element = $doc->createElement('img');
$element->setAttribute('mailembed', 'no');
$element->setAttribute('src', $cfg ['server_baseurl'] . '/Crm/Open/' . $this->id . '/{person.id}.html');
$html->item(0)->appendChild($element);
}
- $this->plaintext = str_replace("{unsubscribe_link}", $unsubscribe, $this->plaintext);
+ $this->plaintext = str_replace("{unsubscribe_link}", $unsubscribe, empty($this->plaintext) ? '' : $this->plaintext);
}
// fill in BCC
- if (!empty($this->bcc_group_id) && $this->bcc_group_id > 0 && empty($contents['rcpts_group'])) {
+ if (!empty($this->bcc_group_id) && $this->bcc_group_id > 0 && empty($contents['bcc']) && empty($contents['rcpts_group'])) {
$admin_grp = DB_DAtaObject::Factory('core_group')->load($this->bcc_group_id);
- $admin = $admin_grp->members('email');
+
+ $admin = $admin_grp ? $admin_grp->members('email') : false;
if (empty($admin) && $admin_grp->name != 'Empty Group') { // allow 'empty group mname'
return $p->raiseError("template [{$contents['template']}] - bcc group is empty");
}
$contents['rcpts'] = $admin;
}
-
+ if (empty($contents['rcpts']) && $this->to_group_id > 0) {
+ $members = $this->to_group()->members();
+ $contents['rcpts'] = array();
+ foreach($this->to_group()->members() as $m) {
+ $contents['rcpts'][] = $m->email;
+ }
+ //var_dump($contents['rcpts']);
+
+ }
//subject replacement
if(empty($contents['subject'])){
$contents['subject'] = $this->subject;
}
-
+
if (!empty($contents['subject_replace'])) {
+
+ // do not use the mapping
if (isset($contents['mapping'])) {
foreach ($contents['mapping'] as $pattern => $replace) {
$contents['subject'] = preg_replace($pattern,$replace,$contents['subject']);
}
}
+
foreach ($contents as $k => $v) {
if (is_string($v)) {
$contents['subject'] = str_replace('{'. $k . '}', $v, $contents['subject']);
}
require_once 'Pman/Core/Mailer.php';
-
$templateDir = session_save_path() . '/email-cache-' . $ui['name'] ;
- //print_r($this);
-
$cfg = array(
'template'=> $this->tableName() . '-' . $this->id,
}
+ function testData($person, $dt , $core_notify)
+ {
+
+ // should return the formated email???
+ $pg = HTML_FlexyFramework::get()->page;
+
+
+
+
+ if(empty($this->test_class)){
+ $pg->jerr("[{$this->name}] does not has test class");
+ }
+
+ require_once "{$this->test_class}.php";
+
+ $cls = str_replace('/', '_', $this->test_class);
+
+ $x = new $cls;
+
+ $method = "test_{$this->name}";
+
+ if(!method_exists($x, $method)){
+ $pg->jerr("{$method} does not exists in {$cls}");
+ }
+
+ $content = $x->{$method}($this, $person);
+ $content['to'] = $person->getEmailFrom();
+
+ $content['bcc'] = array();
+ $data = $this->toMailerData($content);
+ return $data;
+
+
+ }
+ function to_group()
+ {
+ $g = DB_DataObject::Factory('core_group');
+ $g->get($this->to_group_id);
+ return $g;
+ }
}