first commit
This commit is contained in:
@@ -0,0 +1,281 @@
|
||||
<?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 stNewsletterBackendActions extends autoStNewsletterBackendActions {
|
||||
|
||||
public function executeSaveAndSendConfirm() {
|
||||
$this -> forward('stNewsletterBackend', 'edit');
|
||||
}
|
||||
|
||||
|
||||
public function executeNewsletterSend() {
|
||||
$newsletter = NewsletterMessagePeer::retrieveByPK($this -> getRequestParameter('id'));
|
||||
|
||||
|
||||
$this->count = $newsletter->countUsers(new Criteria());
|
||||
|
||||
$newsletter->countGmailUsers(new Criteria(),$this -> getRequestParameter('id'));
|
||||
|
||||
stNewsletterProgressBar::setParam('id', $newsletter->getId());
|
||||
}
|
||||
|
||||
public function executeSaveAndSend() {
|
||||
return $this->forward('stNewsletterBackend', 'edit');
|
||||
}
|
||||
|
||||
public function executeEditMessage()
|
||||
{
|
||||
|
||||
$message_id = $this->getRequestParameter('id');
|
||||
$message_draft_id = $this->getRequestParameter('draft_id');
|
||||
|
||||
$c = new Criteria();
|
||||
$c->add(NewsletterDraftMessagePeer::ID, $message_draft_id);
|
||||
$newsletterDraftMessage = NewsletterDraftMessagePeer::doSelectOne($c);
|
||||
|
||||
if ($newsletterDraftMessage) {
|
||||
|
||||
$c = new Criteria();
|
||||
$c->add(NewsletterMessagePeer::ID, $message_id);
|
||||
NewsletterMessagePeer::doDelete($c);
|
||||
|
||||
return $this -> redirect('stNewsletterDraftMessageBackend/edit?id=' . $message_draft_id);
|
||||
|
||||
} else{
|
||||
|
||||
$i18n = $this->getContext()->getI18n();
|
||||
$this->setFlash('error', $i18n->__('Nie można edytować tej wiadomości.'));
|
||||
|
||||
return $this -> redirect('stNewsletterBackend/edit?id='. $message_id);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
protected function saveNewsletterMessage($newsletter_message) {
|
||||
|
||||
|
||||
if ($this -> hasRequestParameter('create_copy')) {
|
||||
|
||||
$newsletter_draft_message = new NewsletterDraftMessage();
|
||||
|
||||
$newsletter_draft_message->setCulture($this->getRequestParameter('culture'));
|
||||
|
||||
$newsletter_draft_message->setMainImage($newsletter_message->getMainImage());
|
||||
|
||||
$newsletter_draft_message->setMainImageUrl($newsletter_message->getMainImageUrl());
|
||||
|
||||
|
||||
$newsletter_draft_message->setSubject($newsletter_message->getSubject());
|
||||
|
||||
$newsletter_draft_message->setContent($newsletter_message->getContent());
|
||||
|
||||
|
||||
$newsletter_draft_message->setCtaButtonName($newsletter_message->getCtaButtonName());
|
||||
|
||||
$newsletter_draft_message->setCtaButtonUrl($newsletter_message->getCtaButtonUrl());
|
||||
|
||||
$newsletter_draft_message->setCtaButtonPosition($newsletter_message->getCtaButtonPosition());
|
||||
|
||||
$newsletter_draft_message->setCtaDescriptionHead($newsletter_message->getCtaDescriptionHead());
|
||||
|
||||
$newsletter_draft_message->setCtaDescriptionFoot($newsletter_message->getCtaDescriptionFoot());
|
||||
|
||||
|
||||
$newsletter_draft_message->setRecommendsName($newsletter_message->getRecommendsName());
|
||||
|
||||
$newsletter_draft_message->setProductsName($newsletter_message->getProductsName());
|
||||
|
||||
|
||||
$hash = md5(microtime());
|
||||
$newsletter_draft_message->setHash($hash);
|
||||
|
||||
$newsletter_draft_message -> save();
|
||||
|
||||
$c = new Criteria();
|
||||
$c->add(NewsletterMessageHasProductPeer::NEWSLETTER_MESSAGE_ID, $newsletter_message->getId());
|
||||
$c->addJoin(ProductPeer::ID, NewsletterMessageHasProductPeer::PRODUCT_ID);
|
||||
$c->addAscendingOrderByColumn(NewsletterMessageHasProductPeer::ID);
|
||||
$products = ProductPeer::doSelect($c);
|
||||
|
||||
|
||||
foreach ($products as $token_product) {
|
||||
$nmhp = new NewsletterDraftMessageHasProduct();
|
||||
$nmhp->setNewsletterDraftMessageId($newsletter_draft_message->getId());
|
||||
$nmhp->setProductId($token_product->getId());
|
||||
$nmhp->save();
|
||||
}
|
||||
|
||||
$c = new Criteria();
|
||||
$c->add(NewsletterMessageHasBlogPeer::NEWSLETTER_MESSAGE_ID, $newsletter_message->getId());
|
||||
$c->addJoin(BlogPeer::ID, NewsletterMessageHasBlogPeer::BLOG_ID);
|
||||
$c->addAscendingOrderByColumn(NewsletterMessageHasBlogPeer::ID);
|
||||
$recommends = BlogPeer::doSelect($c);
|
||||
|
||||
foreach ($recommends as $token_blog) {
|
||||
$nmhb = new NewsletterDraftMessageHasBlog();
|
||||
$nmhb->setNewsletterDraftMessageId($newsletter_draft_message->getId());
|
||||
$nmhb->setBlogId($token_blog->getId());
|
||||
$nmhb->save();
|
||||
}
|
||||
|
||||
return $this -> redirect('stNewsletterDraftMessageBackend/edit?id=' . $newsletter_draft_message -> getId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
parent::saveNewsletterMessage($newsletter_message);
|
||||
|
||||
|
||||
if (!$newsletter_message->getHash()) {
|
||||
|
||||
$hash = md5(microtime());
|
||||
|
||||
$newsletter_message->setHash($hash);
|
||||
|
||||
$newsletter_message -> save();
|
||||
|
||||
}
|
||||
|
||||
|
||||
$c = new Criteria();
|
||||
|
||||
$c -> add(NewsletterMessageHasNewsletterGroupPeer::NEWSLETTER_MESSAGE_ID, $newsletter_message -> getId());
|
||||
|
||||
BasePeer::doDelete($c, Propel::getConnection());
|
||||
|
||||
$newsletter_group = $this -> getRequestParameter('newsletter_message[newsletter_group]');
|
||||
|
||||
foreach ($newsletter_group as $id) {
|
||||
$ng = new NewsletterMessageHasNewsletterGroup();
|
||||
|
||||
$ng -> setNewsletterGroupId($id);
|
||||
|
||||
$ng -> setNewsletterMessageId($newsletter_message -> getId());
|
||||
|
||||
$ng -> save();
|
||||
}
|
||||
|
||||
if ($this -> hasRequestParameter('save_and_send')) {
|
||||
return $this -> redirect('stNewsletterBackend/newsletterSend?id=' . $newsletter_message -> getId());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected function updateConfigFromRequest() {
|
||||
|
||||
parent::updateConfigFromRequest();
|
||||
|
||||
$config = $this -> getRequestParameter('config');
|
||||
|
||||
$this -> config -> set('newsletter_enabled', $config['newsletter_enabled'], false);
|
||||
|
||||
$this -> config -> set('newsletter_on', $config['newsletter_on'], false);
|
||||
|
||||
$this -> config -> set('newsletter_default_culture', $config['newsletter_default_culture'], false);
|
||||
|
||||
$this -> config -> set('templates_responsive', $config['templates_responsive'], false);
|
||||
|
||||
$this -> config -> set('register_message_on', $config['register_message_on'], false);
|
||||
|
||||
$this -> config -> set('register_message_title', $config['register_message_title'], true);
|
||||
|
||||
$this -> config -> set('register_message_templates', $config['register_message_templates'], true);
|
||||
|
||||
$this -> config -> set('register_text_title', $config['register_text_title'], true);
|
||||
|
||||
$this -> config -> set('register_text_description', $config['register_text_description'], true);
|
||||
|
||||
$this -> config -> set('register_text_under_register', $config['register_text_under_register'], true);
|
||||
|
||||
$this -> config -> set('register_text_widget_title', $config['register_text_widget_title'], true);
|
||||
|
||||
$this -> config -> set('register_text_widget_description', $config['register_text_widget_description'], true);
|
||||
|
||||
|
||||
|
||||
$this -> config -> set('template_color_header', $config['template_color_header'], false);
|
||||
|
||||
$this -> config -> set('template_color_background_a', $config['template_color_background_a'], false);
|
||||
|
||||
$this -> config -> set('template_color_background_b', $config['template_color_background_b'], false);
|
||||
|
||||
$this -> config -> set('template_color_background_font', $config['template_color_background_font'], false);
|
||||
|
||||
$this -> config -> set('template_color_font_a', $config['template_color_font_a'], false);
|
||||
|
||||
$this -> config -> set('template_color_font_b', $config['template_color_font_b'], false);
|
||||
|
||||
$this -> config -> set('template_color_font_c', $config['template_color_font_c'], false);
|
||||
|
||||
$this -> config -> set('template_show_subject', $config['template_show_subject'], false);
|
||||
|
||||
$this -> config -> set('template_cta_font', $config['template_cta_font'], false);
|
||||
|
||||
$this -> config -> set('template_cta_background', $config['template_cta_background'], false);
|
||||
|
||||
}
|
||||
|
||||
protected function saveConfig()
|
||||
{
|
||||
|
||||
parent::saveConfig();
|
||||
|
||||
WebpagePeer::clearCache();
|
||||
|
||||
stFastCacheManager::clearCache();
|
||||
|
||||
}
|
||||
|
||||
protected function addFiltersCriteria($c)
|
||||
{
|
||||
if ($this->forward_parameters['send']==0) {
|
||||
unset($this->filters['sent_at']);
|
||||
}else{
|
||||
|
||||
unset($this->filters['created_at']);
|
||||
}
|
||||
|
||||
parent::addFiltersCriteria($c);
|
||||
|
||||
if ($this->forward_parameters['send'] && (!isset($this->filters['sent_at']['from']) || "" === $this->filters['sent_at']['from']) && (!isset($this->filters['sent_at']['to']) || "" === $this->filters['sent_at']['to'])) {
|
||||
$c->add(NewsletterMessagePeer::SENT_AT, null, Criteria::ISNOTNULL);
|
||||
}
|
||||
elseif (!$this->forward_parameters['send'])
|
||||
{
|
||||
$c->add(NewsletterMessagePeer::SENT_AT, null, Criteria::ISNULL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
protected function newsletterTemplateMail($params)
|
||||
{
|
||||
$this->config = $params['config'];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,161 @@
|
||||
<?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: components.class.php 12207 2011-04-13 12:12:14Z marcin $
|
||||
* @author Bartosz Alejski <bartosz.alejski@sote.pl>
|
||||
*/
|
||||
|
||||
/**
|
||||
* Komponent stNewsletterFrontendComponents
|
||||
*
|
||||
* @package stNewsletterPlugin
|
||||
* @subpackage actions
|
||||
*/
|
||||
class stNewsletterBackendComponents extends autoStNewsletterBackendComponents
|
||||
{
|
||||
|
||||
public function executeNewsletterGroup()
|
||||
{
|
||||
$this->groups = NewsletterGroupPeer::doSelect(new Criteria());
|
||||
|
||||
if (isset($this->newsletter_message))
|
||||
{
|
||||
if ($this->getRequest()->getMethod() == sfRequest::POST)
|
||||
{
|
||||
$checked = $this->getRequestParameter('newsletter_message[newsletter_group]');
|
||||
}
|
||||
else
|
||||
{
|
||||
$checked = NewsletterMessagePeer::getAssignedById($this->newsletter_message->getId());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($this->getRequest()->getMethod() == sfRequest::POST)
|
||||
{
|
||||
$checked = $this->getRequestParameter('newsletter_user[newsletter_group]');
|
||||
}
|
||||
else
|
||||
{
|
||||
$checked = NewsletterUserPeer::getAssignedById($this->newsletter_user->getId());
|
||||
}
|
||||
}
|
||||
|
||||
$this->checked = $checked;
|
||||
}
|
||||
|
||||
|
||||
public function executeGroupInfo()
|
||||
{
|
||||
$this->groups = NewsletterGroupPeer::doSelect(new Criteria());
|
||||
|
||||
if (isset($this->newsletter_message)) {
|
||||
if ($this->getRequest()->getMethod() == sfRequest::POST) {
|
||||
$checked = $this->getRequestParameter('newsletter_message[newsletter_group]');
|
||||
} else {
|
||||
$checked = NewsletterMessagePeer::getAssignedById($this->newsletter_message->getId());
|
||||
}
|
||||
} else {
|
||||
if ($this->getRequest()->getMethod() == sfRequest::POST) {
|
||||
$checked = $this->getRequestParameter('newsletter_user[newsletter_group]');
|
||||
} else {
|
||||
$checked = NewsletterUserPeer::getAssignedById($this->newsletter_user->getId());
|
||||
}
|
||||
}
|
||||
|
||||
$this->checked = $checked;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wyświetlanie wyboru języków
|
||||
*/
|
||||
public function executeShowLanguages()
|
||||
{
|
||||
|
||||
$c = new Criteria();
|
||||
$languages = LanguagePeer::doSelect($c);
|
||||
|
||||
|
||||
$arrayLanguage = array();
|
||||
|
||||
foreach($languages as $language){
|
||||
$arrayLanguage[$language->getOriginalLanguage()] = $language->getOptName();
|
||||
}
|
||||
|
||||
$this->languages = $arrayLanguage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Wyświetlanie wyboru języków
|
||||
*/
|
||||
public function executeUserShowLanguages()
|
||||
{
|
||||
|
||||
$c = new Criteria();
|
||||
$languages = LanguagePeer::doSelect($c);
|
||||
|
||||
$arrayLanguage = array();
|
||||
|
||||
$arrayLanguage['none']= $this->getContext()->getI18N()->__('Brak');
|
||||
foreach($languages as $language){
|
||||
$arrayLanguage[$language->getOriginalLanguage()] = $language->getOptName();
|
||||
}
|
||||
$config = stConfig::getInstance($this->getContext(), 'stNewsletterBackend');
|
||||
|
||||
$this->languages = $arrayLanguage;
|
||||
$this->defaultLanguages = $config->get('newsletter_default_culture');
|
||||
}
|
||||
|
||||
|
||||
public function executeContent()
|
||||
{
|
||||
|
||||
$this->templates = stNewsletter::getTemplatesMessage($this->newsletter_message, true);
|
||||
$this->content = $this->newsletter_message->getContent();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function executeFrom()
|
||||
{
|
||||
$email = "";
|
||||
$from = "";
|
||||
|
||||
$c = new Criteria();
|
||||
$c->add(MailAccountPeer::IS_NEWSLETTER, 1);
|
||||
$newsletterMailAccount = MailAccountPeer::doSelectOne($c);
|
||||
|
||||
if (!$newsletterMailAccount) {
|
||||
$c = new Criteria();
|
||||
$c->add(MailAccountPeer::IS_DEFAULT, 1);
|
||||
$newsletterMailAccount = MailAccountPeer::doSelectOne($c);
|
||||
}
|
||||
|
||||
if ($newsletterMailAccount) {
|
||||
$email = $newsletterMailAccount->getEmail();
|
||||
$from = $newsletterMailAccount->getName();
|
||||
}
|
||||
|
||||
$address_content = $from." < ".$email." > ";
|
||||
|
||||
$this->address_content = $address_content;
|
||||
|
||||
}
|
||||
|
||||
public function executeTemplatesResponsivePre()
|
||||
{
|
||||
$this->templates = stNewsletter::getTemplatesMessage("config", true);
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user