/**
  * view method
  *
  * @access public
  * @return void
  * @author ida
  */
 public function view()
 {
     $this->prefectures = \Config::get('master.prefectures');
     $this->mail_magazine_types = \Model_Mail_Magazine::getMailMagazinTypes();
     $this->reservation_fleamarket_list = $this->getReservationFleamarket();
     $this->waiting_fleamarket_list = $this->getWaitingFleamarket();
 }
 /**
  * 表示に必要なデータを取得し設定する
  *
  * @access private
  * @param array $input_data 入力データ
  * @return array
  * @author ida
  */
 private function setupData($data)
 {
     $replace_data = array();
     $replace_data['user'] = $this->user;
     $mail_magazine_type = $data['mail_magazine_type'];
     switch ($mail_magazine_type) {
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_ALL:
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_REQUEST:
             $this->set('prefectures', \Config::get('master.prefectures'), false);
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_RESEVED_ENTRY:
             $fleamarket_id = $data['reserved_fleamarket_id'];
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             $this->set('fleamarket', $fleamarket, false);
             break;
         case \Model_Mail_Magazine::MAIL_MAGAZINE_TYPE_WAITING_ENTRY:
             $fleamarket_id = $data['waiting_fleamarket_id'];
             $fleamarket = \Model_Fleamarket::find($fleamarket_id);
             $replace_data['fleamarket'] = $fleamarket;
             $this->set('fleamarket', $fleamarket, false);
             break;
     }
     $users = \Model_Mail_Magazine_User::findListByMailMagazineId($this->mail_magazine_id, null, null);
     $this->set('users', $users, false);
     $body = $data['body'];
     $pattern = \Model_Mail_Magazine::getPatternParameter($mail_magazine_type);
     list($pattern, $replacement) = \Model_Mail_Magazine::createReplaceParameter($body, $pattern, $replace_data);
     $body = \Model_Mail_Magazine::replaceByParam($body, $pattern, $replacement);
     $this->set('body', $body, false);
     $this->set('input_data', $data, false);
 }
 /**
  * view method
  *
  * @access public
  * @return void
  * @author ida
  */
 public function view()
 {
     $this->prefectures = \Config::get('master.prefectures');
     $this->mail_magazine_types = \Model_Mail_Magazine::getMailMagazinTypes();
 }
 /**
  * view method
  *
  * @access public
  * @return void
  * @author ida
  */
 public function view()
 {
     $this->mail_magazine = \Model_Mail_Magazine::find($this->mail_magazine_id);
     $this->send_status = \Model_Mail_Magazine_User::getSendStatuses();
 }
 /**
  * 入力値をセッションから取得する
  *
  * @access private
  * @param bool $is_delete 削除
  * @return array
  * @author ida
  */
 private function getInputData($is_delete = false)
 {
     $input_data = \Session::get('mail_magazine.input_data', null, true);
     if ($is_delete) {
         \Session::delete('mail_magazine.input_data');
     }
     if (!$input_data) {
         $fieldset = \Model_Mail_Magazine::createFieldset();
         $input_data = $fieldset->repopulate()->input();
     }
     return $input_data;
 }
 /**
  * view method
  *
  * @access public
  * @return void
  * @author ida
  */
 public function view()
 {
     $this->mail_magazine_types = \Model_Mail_Magazine::getMailMagazinTypes();
     $this->send_statuses = \Model_Mail_Magazine::getSendStatuses();
 }
 /**
  * メール送信処理
  *
  * @access public
  * @param array $mail_magazine_user 送信先ユーザ情報
  * @param array $mail_magazine メルマガ情報
  * @param array $replace_data 本文リプレイス情報
  * @return bool/string
  * @author ida
  */
 private function send($mail_magazine_user, $mail_magazine, $replace_data)
 {
     if (empty($mail_magazine_user->email)) {
         throw new \Exception('email is not registered');
     }
     if ($mail_magazine_user->email === '*****@*****.**') {
         throw new \Exception('email is anonymous@');
     }
     $mail_magazine_type = $mail_magazine['mail_magazine_type'];
     $from_name = $mail_magazine['from_name'];
     $from_email = $mail_magazine['from_email'];
     $to = $mail_magazine_user->email;
     $subject = \Model_Mail_Magazine::convertEncoding($mail_magazine['subject']);
     $body = $mail_magazine['body'];
     $replace_data['user'] = $mail_magazine_user;
     $pattern = \Model_Mail_Magazine::getPatternParameter($mail_magazine_type);
     list($pattern, $replacement) = \Model_Mail_Magazine::createReplaceParameter($body, $pattern, $replace_data);
     $body = \Model_Mail_Magazine::replaceByParam($body, $pattern, $replacement);
     $result = \Model_Mail_Magazine::sendMail($from_name, $from_email, $to, $subject, $body);
     if (true === $result) {
         $result = \Model_Mail_Magazine_User::SEND_STATUS_NORMAL_END;
     } elseif (false === $send_result) {
         $result = \Model_Mail_Magazine_User::SEND_STATUS_UNSENT;
     }
     return $result;
 }