예제 #1
0
 public static function getInstance()
 {
     if (!self::$instance) {
         self::$instance = new NewsletterDAO();
     }
     return self::$instance;
 }
 public function send_mail($subscribers, $sender, $subject, $contents)
 {
     $contents = $this->parse_contents($contents) . $this->add_unsubscribe_link();
     foreach ($subscribers as $values) {
         $mail_subscriber = !empty($values['mail']) ? $values['mail'] : NewsletterDAO::get_mail_for_member($values['user_id']);
         if (!empty($mail_subscriber)) {
             $mail = new Mail();
             $mail->set_sender($sender);
             $mail->set_is_html(true);
             $mail->set_subject($subject);
             $mail->set_content($contents);
             $mail->add_recipient($mail_subscriber);
             //TODO gestion des erreurs
             AppContext::get_mail_service()->try_to_send($mail);
         }
     }
 }
 public static function unsubscriber_all_streams_visitor($mail)
 {
     if (NewsletterDAO::mail_existed($mail)) {
         NewsletterDAO::unsubscriber_all_streams_visitor($mail);
     }
 }
예제 #4
0
 public static function __static()
 {
     self::$db_querier = PersistenceContext::get_querier();
 }
예제 #5
0
 public function excel()
 {
     $this->NewsletterDAO = NewsletterDAO::getInstance();
     if (false) {
         $this->NewsletterDAO = new NewsletterDAO();
         $UserDetailDAO = new UserDetailDAO();
     }
     $UserDetailDAO = UserDetailDAO::getInstance();
     //iniciando o retorno padrao em http result
     $returnResult = new HttpResult();
     //fazendo o que precisa fazer para ter os dados
     $ReturnDataUserVO = $UserDetailDAO->select(UserDetailDAO::RETURN_STD_OBJECT, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL);
     if ($ReturnDataUserVO->success) {
         //			Debug::print_r($ReturnDataUserVO);
         $tempCount = $ReturnDataUserVO->count_total;
     }
     $ReturnDataNewsletterVO = $this->NewsletterDAO->select(NewsletterDAO::RETURN_STD_OBJECT, NULL, 1, NULL);
     if ($ReturnDataNewsletterVO->success) {
         //			Debug::print_r($ReturnDataNewsletterVO);
         $tempCount = $tempCount + $ReturnDataNewsletterVO->count_total;
     }
     //Debug::print_r($ReturnDataVO);
     $html[] = "<table><tr><td>email</td><td>data</td></tr></table>";
     foreach ($ReturnDataNewsletterVO->result as $newsVO) {
         $html[] = "<table><tr><td>{$newsVO->email}</td><td>{$newsVO->date}</td></tr></table>";
     }
     foreach ($ReturnDataUserVO->result as $userVO) {
         $html[] = "<table><tr><td>{$userVO->email}</td><td>{$userVO->registred}</td></tr></table>";
     }
     $arquivo = Config::getRootPath("view/newsletter/excel.xls");
     header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
     header("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
     header("Cache-Control: no-cache, must-revalidate");
     header("Pragma: no-cache");
     header("Content-type: application/x-msexcel");
     header("Content-Disposition: attachment; filename={$arquivo}");
     header("Content-Description: PHP Generated Data");
     for ($i = 0; $i <= count($html); $i++) {
         if (isset($html[$i])) {
             echo $html[$i];
         }
     }
     exit;
 }