class Pman_Core_Notify extends Pman
{
- static $cli_desc = "Send out notification emails (usually from cron)";
+ static $cli_desc = "Runs the notification queue (usually from cron)
+ Normally used to sends out emails to anyone in the notification list.
+
+ /etc/cron.d/pman-core-notify
+ * * * * * www-data /usr/bin/php /home/gitlive/web.mtrack/admin.php Core/Notify > /dev/null
+
+";
static $cli_opts = array(
'debug' => array(
'min' => 0,
'max' => 0,
),
+ 'generate' => array(
+ 'desc' => 'Generate notifications for a table, eg. cash_invoice',
+ 'default' => '',
+ 'short' => 'g',
+ 'min' => 0,
+ 'max' => 1,
+ ),
);
var $target = 'Core/NotifySend';
var $evtype = ''; // any notification...
// this script should only handle EMAIL notifications..
-
+ var $force = false;
function getAuth()
{
$ff = HTML_FlexyFramework::get();
if (is_a($w, 'DB_DataObject')) {
$w->generateNotifications();
}
-
+ if (!empty($opts['generate'])) {
+ $w = DB_DataObject::factory($opts['generate']);
+ if (is_a($w, 'DB_DataObject')) {
+ $w->generateNotifications();
+ }
+ exit;
+
+
+ }
//DB_DataObject::debugLevel(1);
$w = DB_DataObject::factory($this->table);
if (!$showold) {
- $w->whereAdd('act_when > sent'); // eg.. sent is not valid..
+ // standard
+
+ $w->whereAdd('act_when > sent'); // eg.. sent is not valid..
+ $w->whereAdd('act_start > NOW() - INTERVAL 14 DAY'); // ignore the ones stuck in the queue
if (!$this->force) {
$w->whereAdd('act_when < NOW()'); // eg.. not if future..
}
return false;
}
-
+
function output()
{
die("Done\n");