Example #1
0
 public static function getEmailDigest($delivery, $userid, $subjecttype)
 {
     $res = array();
     $from = '';
     //30*24*3600
     if ($delivery == NewsDeliveryType::D_DAILY_DIGEST) {
         $from = 24 * 3600;
     } else {
         if ($delivery == NewsDeliveryType::D_MONTHLY_DIGEST) {
             $from = 30 * 24 * 3600;
         } else {
             if ($delivery == NewsDeliveryType::D_WEEKLY_DIGEST) {
                 $from = 7 * 24 * 3600;
             }
         }
     }
     $mails = new Default_Model_MailSubscriptions();
     $mails->filter->researcherid->equals($userid)->and($mails->filter->delivery->hasbit($delivery))->and($mails->filter->subjecttype->equals($subjecttype));
     if (count($mails->items) == 0) {
         return array();
     }
     $mails->refresh();
     foreach ($mails->items as $m) {
         $req = self::createNewsRequest('', $m->name, $m->events, $m->subjecttype, $m->flt, $from, '');
         $news = array();
         $flatnews = self::getNews($req);
         if ($flatnews->count() > 0) {
             $fl = $flatnews->items;
             foreach ($fl as $fn) {
                 $news[] = array("parsed" => self::parseApplicationEntry($fn), "item" => $fn);
             }
             $res[] = array("news" => $news, "subscription" => $m);
         }
     }
     return $res;
 }