Esempio n. 1
0
 /**
  * Helper method to handle the mailing for abos of postings and forums
  */
 public static function aboMailing($args)
 {
     $id = $args['id'];
     $parent = $args['parent'];
     if ($parent == '') {
         $parent = 0;
     }
     $title = $args['title'];
     $text = $args['text'];
     if (ModUtil::available('BBCode')) {
         $text = ModUtil::apiFunc('BBCode', 'user', 'transform', array('message' => $text));
     }
     if (ModUtil::available('BBSmile')) {
         $text = ModUtil::apiFunc('BBSmile', 'user', 'transform', array('text' => $text));
     }
     // we get a repository for abos
     $repository = MUBoard_Util_Model::getAboRepository();
     // we get a repository for forums
     $repository2 = MUBoard_Util_Model::getForumRepository();
     // we get a repository for postings
     $repository3 = MUBoard_Util_Model::getPostingRepository();
     // we get the just saved posting
     $savedPosting = $repository3->selectById($id);
     $createdUserId = $savedPosting->getCreatedUserId();
     $forum = $savedPosting->getForum();
     $forumid = $forum->getId();
     // we get serviceManager and handler
     $serviceManager = ServiceUtil::getManager();
     $handler = new Zikula_Form_View($serviceManager, 'MUBoard');
     // We build the url for the email message
     $host = System::serverGetVar('HTTP_HOST') . '/';
     // workaround because of bug in MOST or doctrine2 TODO
     if ($parent == 0) {
         $url = 'http://' . $host . ModUtil::url('MUBoard', 'user', 'display', array('ot' => 'posting', 'id' => $id));
     } else {
         $url = 'http://' . $host . ModUtil::url('MUBoard', 'user', 'display', array('ot' => 'posting', 'id' => $parent));
     }
     // We get the name of the site
     $from = ModUtil::getVar('ZConfig', 'sitename') . ' ';
     // We get the adminmail
     $fromaddress = ModUtil::getVar('ZConfig', 'adminmail');
     $toaddress = self::getForumAbos($forumid, $createdUserId);
     foreach ($toaddress as $address) {
         if (filter_var($address, FILTER_VALIDATE_EMAIL)) {
             $messagecontent = self::getMailContent($from, $fromaddress, $address, $forum, $title, $text, $url, $kind, $parent);
             ModUtil::apiFunc('Mailer', 'user', 'sendmessage', $messagecontent);
         }
     }
 }
Esempio n. 2
0
 /**
  * This method gives back if new postings are in the
  * forum since last login and show the relevant icon
  * @param itemid          id of the relevant item
  * @param kind            1 we check for forums, 2 we check for issues
  */
 public static function PostingsSinceLastLogin($itemid, $kind = 1)
 {
     $dom = ZLanguage::getModuleDomain('MUBoard');
     if ($kind == 1) {
         // get repositoy for Forum
         $repository = MUBoard_Util_Model::getForumRepository();
         // get forum by id
         $forum = $repository->selectById($itemid);
         $forumid = $forum->getId();
         // we get the saved postingids
         $postingids = SessionUtil::getVar('muboardpostingids');
         if (count($postingids) > 0 && is_array($postingids)) {
             $postingids = implode(",", $postingids);
             // get repository for Posting
             $repository2 = MUBoard_Util_Model::getPostingRepository();
             $where = 'tbl.forum = \'' . DataUtil::formatForStore($itemid) . '\'';
             $where .= ' AND ';
             $where .= 'tbl.id IN (' . $postingids . ')';
             $countpostings = $repository2->selectCount($where);
             if ($countpostings > 0) {
                 $out = self::getOut();
             } else {
                 $out = self::getOut(2);
             }
         } else {
             $out = self::getOut(2);
         }
     }
     if ($kind == 2) {
         // get repository for Posting
         $repository = MUBoard_Util_Model::getPostingRepository();
         // get postingid
         $posting = $repository->selectById($itemid);
         $postingid = $posting->getId();
         $postingids = SessionUtil::getVar('muboardpostingids');
         if ($postingids) {
             if (in_array($postingid, $postingids)) {
                 $out = self::getOut();
             } else {
                 $out = self::getOut(2);
             }
         } else {
             $out = self::getOut(2);
         }
     }
     return $out;
 }