public $owner_id;
public $is_system;
public $active;
- public $bcc_group;
+ public $bcc_group_id;
public $test_class;
-
-
+
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
$tn.subject LIKE '%{$this->escape($q['search']['nameortitle'])}%'
");
}
-
+ $cgm = DB_DataObject::Factory('core_group_member')->tableName();;
+
$this->selectAdd("
- (
- SELECT
- count(user_id)
- FROM
- core_group_member
- WHERE
- to_group_id = core_group_member.group_id
- )
- AS group_member_count
+ (
+ SELECT
+ count(id)
+ FROM
+ {$cgm}
+ WHERE
+ to_group_id = {$cgm}.group_id
+ ) AS group_member_count,
+
+ (
+ SELECT
+ count(id)
+ FROM
+ {$cgm}
+ WHERE
+ 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)
}
- if ($this->to_group != -1) {
+ if ($this->to_group_id != -1) {
$c = DB_DataObject::factory('core_group_member');
- $c->whereAdd("group_id = {$this->to_group}");
+ $c->group_id = $this->to_group_id;
- if (!$c->find(true)) {
- if (empty($request['_ignore_group_count'])) {
- $roo->jerr(array('errcode'=> '100'));
- }
-
- if (!$request['_ignore_group_count']) {
- $roo->jerr('no_member',array('errcode'=> '100'));
- }
- }
+ 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 (!$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');
// fill in BCC
- if (!empty($this->bcc_group) && empty($contents['rcpts_group'])) {
- $admin = DB_DAtaObject::Factory('core_group')->lookupMembersByGroupId($this->bcc_group,'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");
}
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']);
+ }
}
}
}
require_once 'Pman/Core/Mailer.php';
-
$templateDir = session_save_path() . '/email-cache-' . $ui['name'] ;
- //print_r($this);
-
$cfg = array(
'template'=> $this->tableName() . '-' . $this->id,
$cfg = array_merge($contents['mailer_opts'], $cfg);
}
+ if(isset($contents['css_inline'])){
+ $cfg['css_inline'] = $contents['css_inline'];
+ }
+
$r = new Pman_Core_Mailer($cfg);
$imageCache = session_save_path() . '/email-cache-' . $ui['name'] . '/mail/' . $this->tableName() . '-' . $this->id . '-images.txt';
mkdir(dirname($cachePath), 0700, true);
}
- file_put_contents($cachePath, $this->bodytext);
+ if (empty($this->use_file)) {
+ file_put_contents($cachePath, $this->bodytext);
+ return;
+ }
+ // use-file -- uses the original template...
+ $mailtext = file_get_contents($this->use_file);
+
+ require_once 'Mail/mimeDecode.php';
+ require_once 'Mail/RFC822.php';
+ $decoder = new Mail_mimeDecode($mailtext);
+ $parts = $decoder->getSendArray();
+ file_put_contents($cachePath,$parts[2]);
+
}
function cachedImages()
return false;
}
+ if (!empty($this->use_file)) {
+ $ctime = filemtime($cachePath);
+ $mtime = filemtime($this->use_file);
+ if($ctime >= $mtime){
+ return true;
+ }
+ return false;
+
+ }
+
+
$ctime = filemtime($cachePath);
$mtime = array();
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);