コード例 #1
0
 /**
  * getSaveData()
  * overwrite FrontendModule::getSaveData
  */
 public function getSaveData($mData)
 {
     $oFlash = new Flash($mData);
     $oFlash->checkForValue(self::DISPLAY_MODE, 'display_mode_required');
     if ($mData['display_mode'] !== 'newsletter_unsubscribe') {
         $oFlash->checkForValue('subscriber_group_id', 'subscriber_group_required');
     }
     $oFlash->finishReporting();
     if ($oFlash->hasMessages()) {
         throw new ValidationException($oFlash);
     }
     return parent::getSaveData($mData);
 }
コード例 #2
0
 /** prepareForSending()
  *
  * @param array of mail_group values [int subscriber_group_id, string external_mail_group]
  * @param string SenderMail
  * @param string SenderName
  *
  * description: prepare batch processing
  * • validates send form
  *
  * @return int batch count
  */
 public function prepareForSending($aMailGroups = null, $sSenderEmail = null, $sSenderName = null)
 {
     if (!$sSenderEmail) {
         $sSenderEmail = LinkUtil::getDomainHolderEmail('newsletter');
     }
     $this->sSenderEmail = $sSenderEmail;
     if ($sSenderName !== $sSenderEmail) {
         $this->sSenderName = $sSenderName;
     }
     $this->aRecipients = self::getSubscribersBySubscriberGroupMembership($aMailGroups);
     FilterModule::getFilters()->handleMailGroupsRecipients($aMailGroups, array(&$this->aRecipients));
     // Validate prepareForSending
     $sError = null;
     if ($aMailGroups === null) {
         $sError = 'mail_group_required';
     } else {
         if (count($this->aRecipients) === 0) {
             $sError = 'no_recipients_available';
         }
     }
     $oFlash = new Flash();
     if ($sError) {
         $oFlash->addMessage($sError);
     }
     $oFlash->finishReporting();
     if ($oFlash->hasMessages()) {
         throw new ValidationException($oFlash);
     }
     $this->aMailGroups = is_array($aMailGroups) ? $aMailGroups : array($aMailGroups);
     return ceil(count($this->aRecipients) / $this->iBatchSize);
 }