X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_email.php;h=9774303edd9705595ab411699bf9083dd9cdd6fb;hb=a3aee94f26d113c118d2fc75eea8a75fa99d8098;hp=51094f69075032343b8b193e582ea15aa1e3b8a4;hpb=7f43bc7fa4d4b91f3daa0d382c915c99e95efca5;p=Pman.Core diff --git a/DataObjects/Core_email.php b/DataObjects/Core_email.php index 51094f69..9774303e 100644 --- a/DataObjects/Core_email.php +++ b/DataObjects/Core_email.php @@ -61,6 +61,11 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject 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) @@ -88,6 +93,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject $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)); @@ -262,6 +268,10 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject 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 @@ -281,7 +291,7 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject } - 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'); @@ -359,10 +369,11 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject // fill in BCC - if (!empty($this->bcc_group_id) && empty($contents['rcpts_group'])) { - $admin = DB_DAtaObject::Factory('core_group')->lookupMembersByGroupId($this->bcc_group_id,'email'); + 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'); - if (empty($admin)) { + if (empty($admin) && $admin_grp->name != 'Empty Group') { // allow 'empty group mname' return $p->raiseError("template [{$contents['template']}] - bcc group is empty"); } @@ -382,10 +393,20 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject if(empty($contents['subject'])){ $contents['subject'] = $this->subject; } - + if (!empty($contents['subject_replace'])) { - foreach ($contents['mapping'] as $pattern => $replace) { - $contents['subject'] = preg_replace($pattern,$replace,$contents['subject']); + + // 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']); + } } } @@ -402,11 +423,8 @@ class Pman_Core_DataObjects_Core_email extends DB_DataObject } require_once 'Pman/Core/Mailer.php'; - $templateDir = session_save_path() . '/email-cache-' . $ui['name'] ; - //print_r($this); - $cfg = array( 'template'=> $this->tableName() . '-' . $this->id, @@ -656,7 +674,7 @@ Content-Transfer-Encoding: 7bit if (!empty($master)) { $opts['master'] = $mail_template_dir . $master .'.html'; } - print_r($opts); + //print_r($opts); require_once 'Pman/Core/Import/Core_email.php'; $x = new Pman_Core_Import_Core_email(); $x->get('', $opts);