function get($args, $opts)
{
- $this->opts = $opts;
+ $mailOptions = PEAR::getStaticProperty('Mail','options');
+
- $this->transObj = DB_DataObject::Factory('core_enum');
+ HTML_FlexyFramework::get()->Mail['helo'] = 'test';
- $this->transObj->query('BEGIN');
+ $pg = HTML_FlexyFramework::get()->Mail;
+ print_R($pg);exit;
- PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($this, 'onPearError'));
+ $this->opts = $opts;
if(empty($this->opts['group'])){
$this->jerr('Missing group - try add [-t {group name}]');
$this->jerr("{$this->opts['group']} does not has any memeber");
}
-// $events = DB_DataObject::factory('Events');
-// $events->selectAdd();
-// $events->selectAdd("
-// DISTINCT(Events.action) AS action,
-// COUNT(Events.id) AS total
-// ");
-//
-// $events->whereAdd("Events.event_when > NOW() - INTERVAL 1 DAY");
-//
-// if(!empty($this->opts['exclude'])){
-// $exclude = array_unique(array_filter(array_map('trim', explode(',', $this->opts['exclude']))));
-//
-// if(!empty($exclude)){
-// $events->whereAddIn('!Events.action', $exclude, 'string');
-// }
-// }
-//
-// $events->groupBy('Events.action');
-// $events->orderBy('Events.action ASC');
-//
-// $totals = $events->fetchAll('action', 'total');
-//
-// if(empty($totals)){
-// $this->jerr('Nothing to be sent');
-// }
-//
-// $subject = array();
-//
-// foreach ($totals as $k => $v){
-// $subject[] = "{$v} {$k}";
-// }
-//
-// $subject = implode(', ', $subject);
-//
-// if(!empty($this->opts['subject'])){
-// $subject = "{$this->opts['subject']} $subject";
-// }
+ $events = DB_DataObject::factory('Events');
+ $events->selectAdd();
+ $events->selectAdd("
+ DISTINCT(Events.action) AS action,
+ COUNT(Events.id) AS total
+ ");
+
+ $events->whereAdd("Events.event_when > NOW() - INTERVAL 1 DAY");
+
+ if(!empty($this->opts['exclude'])){
+ $exclude = array_unique(array_filter(array_map('trim', explode(',', $this->opts['exclude']))));
+
+ if(!empty($exclude)){
+ $events->whereAddIn('!Events.action', $exclude, 'string');
+ }
+ }
+
+ $events->groupBy('Events.action');
+ $events->orderBy('Events.action ASC');
+
+ $summary = $events->fetchAll('action', 'total');
+
+ if(empty($summary)){
+ $this->jerr('Nothing to be sent');
+ }
+
+ $subject = array();
+
+ foreach ($summary as $k => $v){
+ $subject[] = "{$v} {$k}";
+ }
+
+ $subject = implode(', ', $subject);
+
+ if(!empty($this->opts['subject'])){
+ $subject = "{$this->opts['subject']} $subject";
+ }
$events = DB_DataObject::factory('Events');
$events->autoJoin();
$events->selectAdd();
$events->selectAdd("
+ Events.id AS id,
Events.event_when AS event_when,
Events.action AS action,
- Events.remarks AS remarks
+ Events.remarks AS remarks,
CASE WHEN Events.person_id != 0 THEN
join_person_id_id.email
WHEN Events.hydra_person_id != 0 THEN
$events->whereAdd("Events.event_when > NOW() - INTERVAL 1 DAY");
+ $exclude = array_unique(array_filter(array_map('trim', explode(',', $this->opts['exclude']))));
+
if(!empty($exclude)){
$events->whereAddIn('!Events.action', $exclude, 'string');
}
- $events->groupBy('Events.action');
- $events->orderBy('Events.action ASC');
+ if(!$events->count()){
+ $this->jerr('Nothing to be sent');
+ }
+
+ $errors = $events->fetchAll();
+ $content = array(
+ 'template' => 'EVENT_ERRORS_REPORT',
+ 'rcpts' => $rcpts,
+ 'errors' => $errors,
+ 'subject' => $subject
+ );
+
+ $sent = DB_DataObject::factory('core_email')->send($content);
+
+ if(!is_object($sent)){
+ $this->jok("Done");
+ }
- $this->jok("Done");
+ $this->jerr($sent);
}