113 lines
4.3 KiB
PHP
113 lines
4.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* SOTESHOP/stNewsletterPlugin
|
|
*
|
|
* Ten plik należy do aplikacji stNewsletterPlugin opartej na licencji (Professional License SOTE).
|
|
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
|
|
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
|
|
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
|
|
*
|
|
* @package stNewsletterPlugin
|
|
* @subpackage actions
|
|
* @copyright SOTE (www.sote.pl)
|
|
* @license http://www.sote.pl/license/sote (Professional License SOTE)
|
|
* @version $Id: actions.class.php 13778 2011-06-21 12:01:22Z bartek $
|
|
* @author Bartosz Alejski <bartosz.alejski@sote.pl>
|
|
*/
|
|
|
|
/**
|
|
* 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();
|
|
}
|
|
|
|
}
|