Example #1
0
 public function process()
 {
     if (!parent::process()) {
         $this->redirectNoSession();
     }
     $affiliateIds = array($this->getRequestVar('affiliateid', array(1, 4, 7)));
     $data = array('emailText' => '', 'mailSubject' => '');
     if (is_null($affiliateIds[0])) {
         $this->redirect('affiliate/list');
     }
     if (!is_null($this->getRequestVar('mailData'))) {
         $data = array_merge($data, $this->getRequestVar('mailData'));
         if (strpos($data['mailRecipients'], PHP_EOL) == false) {
             str_replace(PHP_EOL, ';', $data['mailRecipients']);
         }
         $recipients = explode(';', $data['mailRecipients']);
         $sendRecipients = array();
         $affiliateList = new \model\affiliate_list($this->dbconnection);
         foreach ($affiliateList->getAffiliateIdsByEmail($recipients) as $affiliateIdArr) {
             $affiliate = new \model\affiliate($this->getDbconnection(), $affiliateIdArr['id']);
             $category = new \model\category($this->getDbconnection(), $affiliate->getAffiliateCategory());
             $replacers = array('pagename' => $affiliate->getPageName(), 'pageurl' => $affiliate->getPageUrl(), 'adminname' => $affiliate->getPageAdminName(), 'adminmail' => $affiliate->getPageAdminEmail(), 'category' => $category->getName());
             $mailtext = $data['emailText'];
             foreach ($replacers as $key => $value) {
                 $mailtext = str_replace('{{' . $key . '}}', $value, $mailtext);
             }
             $mailData = array('mailTo' => $affiliate->getPageAdminEmail(), 'mailSubject' => $this->filterRequest($data['mailSubject'], array(1, 4, 7, 2)), 'mailText' => $this->filterRequest($mailtext, array(1, 4, 7, 2)), 'mailFrom' => 'affiliat_r_no_reply@' . $_SERVER['HTTP_HOST']);
             \messages::sendEMail($mailData);
             $sendRecipients[] = $affiliate->getPageAdminEmail();
         }
         $mailtext = $data['emailText'];
         foreach ($replacers as $key => $value) {
             $mailtext = str_replace('{{' . $key . '}}', '', $mailtext);
         }
         foreach ($recipients as $recipient) {
             if (in_array($recipient, $sendRecipients)) {
                 continue;
             }
             $mailData = array('mailTo' => $recipient, 'mailSubject' => $this->filterRequest($data['mailSubject'], array(1, 4, 7, 2)), 'mailText' => $this->filterRequest($mailtext, array(1, 4, 7, 2)), 'mailFrom' => 'affiliat_r_no_reply@' . $_SERVER['HTTP_HOST']);
             \messages::sendEMail($mailData);
         }
         $this->redirect('affiliate/list');
     } else {
         $affiliate = new \model\affiliate($this->getDbconnection(), $affiliateIds[0]);
         $recipients = array($affiliate->getPageAdminEmail());
     }
     $data['recipients'] = implode(';', $recipients);
     $view = new \model\view_acp('contact');
     foreach ($data as $key => $value) {
         $view->assign($key, $value);
     }
     $view->render();
 }