*/ /** * Klasa stNewsletterFrontendActions. * * @package stNewsletterPlugin * @subpackage actions */ class stNewsletterUserBackendActions extends autoStNewsletterUserBackendActions { protected function saveNewsletterUser($newsletter_user) { parent::saveNewsletterUser($newsletter_user); $newsletter_user -> setLanguage($this -> getRequestParameter('newsletter_user[language]')); $newsletter_user -> save(); $c = new Criteria(); $c -> add(NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_USER_ID, $newsletter_user -> getId()); BasePeer::doDelete($c, Propel::getConnection()); $newsletter_group = $this -> getRequestParameter('newsletter_user[newsletter_group]'); foreach ($newsletter_group as $id) { $ng = new NewsletterUserHasNewsletterGroup(); $ng -> setNewsletterGroupId($id); $ng -> setNewsletterUserId($newsletter_user -> getId()); $ng -> save(); } if ($this -> hasRequestParameter('save_and_send_confirm')) { $c = new Criteria(); $c -> addJoin(NewsletterGroupPeer::ID, NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_GROUP_ID); $c -> add(NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_USER_ID, $newsletter_user -> getId()); $c -> add(NewsletterGroupPeer::IS_PUBLIC, 1); $choseGroup = NewsletterGroupPeer::doSelect($c); return ($this -> sendMailConfirm($newsletter_user, $choseGroup, $newsletter_user -> getHash())); } } protected function addFiltersCriteria($c) { parent::addFiltersCriteria($c); if ($this->getRequestParameter('group')) { $c -> addJoin(NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_USER_ID, NewsletterUserPeer::ID); $c -> add(NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_GROUP_ID, $this->getRequestParameter('group')); } } protected function savesfGuardUser($sf_guard_user) { if (!$sf_guard_user -> getId()) { $sf_guard_user -> addGroupByName('user'); $sf_guard_user -> setHashCode(md5(microtime())); } parent::savesfGuardUser($sf_guard_user); } /** * Obsługuje wysyłanie mail'i */ function SendMailConfirm($user, $group, $hash) { $mail_error = $this -> mailWithConfirmRegisterToUser($user, $group, $hash); return $mail_error; } /** * Wysyła mail z zamówieniem do administratora */ protected function mailWithConfirmRegisterToUser($user, $group, $hash) { $mail_config = stConfig::getInstance($this->getContext(), 'stMailAccountBackend'); $mailHead = stMailer::getHtmlMailDescription("header"); $mailFoot = stMailer::getHtmlMailDescription("footer"); $sendConfirmRegisterToUserHtmlMailMessage = stMailTemplate::render('confirmUserHtml', array('user' => $user, 'group' => $group, 'hash' => $hash, 'head' => $mailHead, 'foot' => $mailFoot, 'mail_config'=>$mail_config )); $sendConfirmRegisterToUserPlainMailMessage = stMailTemplate::render('confirmUserPlain', array('user' => $user, 'group' => $group, 'hash' => $hash, )); $mail = stMailer::getInstance(); return $mail -> setSubject($this -> getContext() -> getI18N() -> __('Rejestracja na liście subskrypcji.')) -> setHtmlMessage($sendConfirmRegisterToUserHtmlMailMessage) -> setPlainMessage($sendConfirmRegisterToUserPlainMailMessage) -> setTo($user -> getEmail()) -> sendToClient(); } }