projects
/
Pman.Core
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
DataObjects/Core_email.php
[Pman.Core]
/
DataObjects
/
Core_email.php
diff --git
a/DataObjects/Core_email.php
b/DataObjects/Core_email.php
index
cf82334
..
63dab85
100644
(file)
--- a/
DataObjects/Core_email.php
+++ b/
DataObjects/Core_email.php
@@
-2,7
+2,7
@@
/**
* Table Definition for core_email
*/
/**
* Table Definition for core_email
*/
-require_once 'DB/DataObject.php';
+
class_exists('DB_DataObject') ? '' :
require_once 'DB/DataObject.php';
class Pman_Core_DataObjects_Core_email extends DB_DataObject
{
class Pman_Core_DataObjects_Core_email extends DB_DataObject
{
@@
-41,6
+41,18
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
$tn.subject LIKE '%{$this->escape($q['search']['nameortitle'])}%'
");
}
$tn.subject LIKE '%{$this->escape($q['search']['nameortitle'])}%'
");
}
+
+ $this->selectAdd("
+ (
+ SELECT
+ count(user_id)
+ FROM
+ core_group_member
+ WHERE
+ to_group_id = core_group_member.group_id
+ )
+ AS group_member_count
+ ");
}
function beforeDelete($dependants_array, $roo)
}
function beforeDelete($dependants_array, $roo)
@@
-61,6
+73,18
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
$this->makeCopy($roo);
}
$this->makeCopy($roo);
}
+
+ if ($this->to_group != -1) {
+
+ $c = DB_DataObject::factory('core_group_member');
+ $c->whereAdd("group_id = {$this->to_group}");
+
+ if (!$c->find(true)) {
+ if (!empty($request['_ignore_group_count']) && !$request['_ignore_group_count']) {
+ $roo->jerr('not found');
+ }
+ }
+ }
}
function makeCopy($roo)
}
function makeCopy($roo)
@@
-301,23
+325,27
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
function toMailer($obj,$force=false)
{
function toMailer($obj,$force=false)
{
+ require_once 'PEAR.php';
+
$p = new PEAR();
$contents = (array)$obj;
$p = new PEAR();
$contents = (array)$obj;
-
-
+
if(empty($this->id) && !empty($contents['template'])){
$this->get('name', $contents['template']);
}
if(empty($this->id) && !empty($contents['template'])){
$this->get('name', $contents['template']);
}
+
if(empty($this->active)){
return $p->raiseError("template [{$contents['template']}] is Disabled");
}
if(empty($this->active)){
return $p->raiseError("template [{$contents['template']}] is Disabled");
}
+
if(empty($this->id)){
return $p->raiseError("template [{$contents['template']}] has not been set");
}
// fill in BCC
if(empty($this->id)){
return $p->raiseError("template [{$contents['template']}] has not been set");
}
// 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) && empty($contents['rcpts_group'])) {
$admin = DB_DAtaObject::Factory('core_group')->lookupMembersByGroupId($this->bcc_group,'email');
@@
-337,13
+365,20
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
$contents['rcpts'] = $admin;
}
$contents['rcpts'] = $admin;
}
+ //subject replacement
if(empty($contents['subject'])){
$contents['subject'] = $this->subject;
}
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']);
+ }
+ }
if(!empty($contents['rcpts']) && is_array($contents['rcpts'])){
$contents['rcpts'] = implode(',', $contents['rcpts']);
if(!empty($contents['rcpts']) && is_array($contents['rcpts'])){
$contents['rcpts'] = implode(',', $contents['rcpts']);
- }
+ }
$ui = posix_getpwuid(posix_geteuid());
$ui = posix_getpwuid(posix_geteuid());
@@
-354,6
+389,7
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
}
require_once 'Pman/Core/Mailer.php';
}
require_once 'Pman/Core/Mailer.php';
+
$templateDir = session_save_path() . '/email-cache-' . $ui['name'] ;
//print_r($this);
$templateDir = session_save_path() . '/email-cache-' . $ui['name'] ;
//print_r($this);
@@
-366,14
+402,19
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
'contents' => $contents,
'css_embed' => true, // we should always try and do this with emails...
);
'contents' => $contents,
'css_embed' => true, // we should always try and do this with emails...
);
+
if (isset($contents['rcpts'])) {
$cfg['rcpts'] = $contents['rcpts'];
}
if (isset($contents['rcpts'])) {
$cfg['rcpts'] = $contents['rcpts'];
}
+
+ if (isset($contents['attachments'])) {
+ $cfg['attachments'] = $contents['attachments'];
+ }
+
if (isset($contents['mailer_opts']) && is_array($contents['mailer_opts'])) {
$cfg = array_merge($contents['mailer_opts'], $cfg);
}
if (isset($contents['mailer_opts']) && is_array($contents['mailer_opts'])) {
$cfg = array_merge($contents['mailer_opts'], $cfg);
}
-
$r = new Pman_Core_Mailer($cfg);
$imageCache = session_save_path() . '/email-cache-' . $ui['name'] . '/mail/' . $this->tableName() . '-' . $this->id . '-images.txt';
$r = new Pman_Core_Mailer($cfg);
$imageCache = session_save_path() . '/email-cache-' . $ui['name'] . '/mail/' . $this->tableName() . '-' . $this->id . '-images.txt';
@@
-397,6
+438,15
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
/**
*
* DEPRICATED !!! - DO NOT USE THIS !!!
/**
*
* DEPRICATED !!! - DO NOT USE THIS !!!
+ *
+ * use: toMailerData() -- to return the email data..
+ * or
+ * $mailer = $core_email->toMailer($obj, false);
+ * $sent = is_a($mailer,'PEAR_Error') ? false : $mailer->send();
+
+ * toMailer($obj, false)->send()
+ *
+ *
*/
function send($obj, $force = true, $send = true)
*/
function send($obj, $force = true, $send = true)
@@
-404,11
+454,12
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
if (!$send) {
return $this->toMailerData($obj,$force);
}
if (!$send) {
return $this->toMailerData($obj,$force);
}
+
$r = $this->toMailer($obj, $force);
$r = $this->toMailer($obj, $force);
+
if (is_a($r, 'PEAR_Error')) {
return $r;
}
if (is_a($r, 'PEAR_Error')) {
return $r;
}
-
return $r->send();
}
return $r->send();
}
@@
-437,7
+488,7
@@
class Pman_Core_DataObjects_Core_email extends DB_DataObject
fwrite($fh, implode("\n", array(
"From: {if:t.messageFrom}{t.messageFrom:h}{else:}{t.messageFrom():h}{end:}",
"To: {if:t.person}{t.person.getEmailFrom():h}{else:}{rcpts:h}{end:}",
fwrite($fh, implode("\n", array(
"From: {if:t.messageFrom}{t.messageFrom:h}{else:}{t.messageFrom():h}{end:}",
"To: {if:t.person}{t.person.getEmailFrom():h}{else:}{rcpts:h}{end:}",
- "Subject: {t.subject} ",
+ "Subject: {t.subject
:h
} ",
"X-Message-ID: {t.id} ",
"{if:t.replyTo}Reply-To: {t.replyTo:h}{end:}",
"{if:t.mailgunVariables}X-Mailgun-Variables: {t.mailgunVariables:h}{end:}"
"X-Message-ID: {t.id} ",
"{if:t.replyTo}Reply-To: {t.replyTo:h}{end:}",
"{if:t.mailgunVariables}X-Mailgun-Variables: {t.mailgunVariables:h}{end:}"