2 error_reporting(E_ALL);
4 include_once("config.php"); /* needs to be first in list, since other includes use this */
5 include_once("./include/output.php"); /* html output only */
6 include_once("./include/db.php"); /* database only */
7 include_once("./include/functions.php"); /* the rest */
9 /* make sure that user has set all variables in config.php */
12 /* open the database */
16 /* only callable via cron or CLI */
17 if(isset($_SERVER['REMOTE_ADDR']))
20 /* get userid for users that have digest set != digest-off */
21 $users = DB_get_digest_users();
23 global $defaulttimezone;
24 foreach($users as $uid)
28 $zone = DB_get_user_timezone($uid);
29 date_default_timezone_set($zone);
30 $time = (int)(date("H"));
32 // calculate mod by digest-time
33 $PREF = DB_get_PREF($uid);
34 switch($PREF['digest'])
61 // make default time to send email 18:00
62 if( ( ($time-18) % $every) == 0 )
64 $email = DB_get_email('userid',$uid);
67 $messages = DB_get_digest_message_by_email($email);
74 foreach($messages as $mess )
76 $text[$i] = $mess[1]."\n++++++++++++++++++++++++++++++++++++++++++++++++++++++\n";
80 $text = implode("\n",$text);
82 // add header, footer, sent out
83 $name = DB_get_name('userid',$uid);
84 $header = "Hello $name\n\nHere is a digest of the latest emails:\n\n";
86 $footer = "\nHave a nice day\n".
87 " your E-Doko digester\n\n".
89 "You can change your mail delivery mode in the preference menu.\n".
90 'web: http://doko.nubati.net '.
91 'help: http://wiki.nubati.net/EmailDoko '.
92 'bugs: http://wiki.nubati.net/EmailDokoIssues';
94 $subject = "$EmailName Digest";
96 sendmail($email,$subject,$header.$text.$footer);
99 // delete all messages
100 foreach($messages as $mess )
101 DB_digest_delete_message($mess[0]);
103 } /* end foreach users */