Version Notes
initial Release
Download this release
Release Info
Developer | Mathis Klooss |
Extension | Loewenstark_Newsletter |
Version | 1.5.0.1 |
Comparing to | |
See all releases |
Code changes from version 1.1.0 to 1.5.0.1
- app/code/community/Loewenstark/Newsletter/Block/Resendrequest.php +70 -0
- app/code/community/Loewenstark/Newsletter/Block/Unsubscribe.php +0 -17
- app/code/community/Loewenstark/Newsletter/Block/Unsubscriber.php +25 -0
- app/code/community/Loewenstark/Newsletter/Helper/Data.php +14 -0
- app/code/community/Loewenstark/Newsletter/Model/Subscriber.php +220 -0
- app/code/community/Loewenstark/Newsletter/Model/Unsubscribe.php +0 -58
- app/code/community/Loewenstark/Newsletter/Model/Unsubscriber.php +32 -0
- app/code/community/Loewenstark/Newsletter/controllers/ManageController.php +28 -0
- app/code/community/Loewenstark/Newsletter/controllers/SubscriberController.php +63 -0
- app/code/community/Loewenstark/Newsletter/controllers/UnsubscriberController.php +12 -4
- app/code/community/Loewenstark/Newsletter/etc/config.xml +30 -5
- app/code/community/Loewenstark/Newsletter/etc/system.xml +39 -0
- app/design/frontend/base/default/layout/loewenstark/newsletter.xml +24 -1
- app/design/frontend/base/default/template/newsletter/manage/resend.phtml +1 -0
- app/design/frontend/base/default/template/newsletter/unsubscribe.phtml +8 -7
- app/etc/modules/Loewenstark_Newsletter.xml +18 -7
- app/locale/de_DE/Loewenstark_Newsletter.csv +6 -3
- app/locale/en_US/Loewenstark_Newsletter.csv +6 -3
- package.xml +8 -8
app/code/community/Loewenstark/Newsletter/Block/Resendrequest.php
ADDED
@@ -0,0 +1,70 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_Block_Resendrequest
|
12 |
+
extends Mage_Customer_Block_Account_Dashboard
|
13 |
+
{
|
14 |
+
|
15 |
+
/**
|
16 |
+
* get resend url
|
17 |
+
*
|
18 |
+
* @return string
|
19 |
+
*/
|
20 |
+
public function getResendUrl()
|
21 |
+
{
|
22 |
+
return $this->getUrl('*/*/resend', array('_secure' => true));
|
23 |
+
}
|
24 |
+
|
25 |
+
/**
|
26 |
+
* Type is Enabled
|
27 |
+
*
|
28 |
+
* @return type
|
29 |
+
*/
|
30 |
+
public function isEnabled()
|
31 |
+
{
|
32 |
+
return !Mage::getStoreConfigFlag(Loewenstark_Newsletter_Model_Subscriber::XML_PATH_ADVANCED_DOUBELOPTIN);
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* get Current
|
37 |
+
* @return type
|
38 |
+
*/
|
39 |
+
public function getStatus()
|
40 |
+
{
|
41 |
+
return (int) $this->getSubscriptionObject()->getStatus();
|
42 |
+
}
|
43 |
+
|
44 |
+
/**
|
45 |
+
* Subscriber Model
|
46 |
+
*
|
47 |
+
* @return Loewenstark_Newsletter_SubscriberController
|
48 |
+
*/
|
49 |
+
public function getSubscription()
|
50 |
+
{
|
51 |
+
return $this->getSubscriptionObject();
|
52 |
+
}
|
53 |
+
|
54 |
+
/**
|
55 |
+
* Simple Mapping
|
56 |
+
*
|
57 |
+
* @param type $string
|
58 |
+
* @return type
|
59 |
+
*/
|
60 |
+
public function getStatusByName($string)
|
61 |
+
{
|
62 |
+
$return = array(
|
63 |
+
"STATUS_SUBSCRIBED" => Loewenstark_Newsletter_Model_Subscriber::STATUS_SUBSCRIBED,
|
64 |
+
"STATUS_NOT_ACTIVE" => Loewenstark_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE,
|
65 |
+
"STATUS_UNSUBSCRIBED" => Loewenstark_Newsletter_Model_Subscriber::STATUS_UNSUBSCRIBED,
|
66 |
+
"STATUS_UNCONFIRMED" => Loewenstark_Newsletter_Model_Subscriber::STATUS_UNCONFIRMED,
|
67 |
+
);
|
68 |
+
return isset($return[$string]) ? $return[$string] : null;
|
69 |
+
}
|
70 |
+
}
|
app/code/community/Loewenstark/Newsletter/Block/Unsubscribe.php
DELETED
@@ -1,17 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Loewenstark_Newsletter_Block_Unsubscribe
|
4 |
-
extends Mage_Newsletter_Block_Subscribe
|
5 |
-
{
|
6 |
-
|
7 |
-
/**
|
8 |
-
* Retrieve form action url and set "secure" param to avoid confirm
|
9 |
-
* message when we submit form from secure page to unsecure
|
10 |
-
*
|
11 |
-
* @return string
|
12 |
-
*/
|
13 |
-
public function getFormActionUrl()
|
14 |
-
{
|
15 |
-
return $this->getUrl('newsletter/unsubscribe', array('_secure' => true));
|
16 |
-
}
|
17 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Loewenstark/Newsletter/Block/Unsubscriber.php
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_Block_Unsubscriber
|
12 |
+
extends Mage_Newsletter_Block_Subscribe
|
13 |
+
{
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Retrieve form action url and set "secure" param to avoid confirm
|
17 |
+
* message when we submit form from secure page to unsecure
|
18 |
+
*
|
19 |
+
* @return string
|
20 |
+
*/
|
21 |
+
public function getFormActionUrl()
|
22 |
+
{
|
23 |
+
return $this->getUrl('newsletter/unsubscriber', array('_secure' => true));
|
24 |
+
}
|
25 |
+
}
|
app/code/community/Loewenstark/Newsletter/Helper/Data.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_Helper_Data
|
12 |
+
extends Mage_Newsletter_Helper_Data
|
13 |
+
{
|
14 |
+
}
|
app/code/community/Loewenstark/Newsletter/Model/Subscriber.php
ADDED
@@ -0,0 +1,220 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_Model_Subscriber
|
12 |
+
extends Mage_Newsletter_Model_Subscriber
|
13 |
+
{
|
14 |
+
// configuration
|
15 |
+
CONST XML_PATH_ADVANCED_DOUBELOPTIN = "newsletter/advanced/doubleoptinmagedefault";
|
16 |
+
|
17 |
+
/** @var bool $_sendConfirmationSuccessEmail check if email already send **/
|
18 |
+
protected $_sendConfirmationSuccessEmail = true;
|
19 |
+
/** @var bool $_sendConfirmationRequestEmail check if email already send **/
|
20 |
+
protected $_sendConfirmationRequestEmail = true;
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Subscribes by email
|
24 |
+
*
|
25 |
+
* @param string $email
|
26 |
+
* @throws Exception
|
27 |
+
* @return int
|
28 |
+
*/
|
29 |
+
public function subscribe($email)
|
30 |
+
{
|
31 |
+
// fall back to default
|
32 |
+
if(Mage::getStoreConfigFlag(self::XML_PATH_ADVANCED_DOUBELOPTIN))
|
33 |
+
{
|
34 |
+
return parent::subscribe($email);
|
35 |
+
}
|
36 |
+
|
37 |
+
$this->loadByEmail($email);
|
38 |
+
$customerSession = Mage::getSingleton('customer/session');
|
39 |
+
|
40 |
+
if(!$this->getId()) {
|
41 |
+
$this->setSubscriberConfirmCode($this->randomSequence());
|
42 |
+
}
|
43 |
+
|
44 |
+
$isConfirmNeed = (Mage::getStoreConfig(self::XML_PATH_CONFIRMATION_FLAG) == 1) ? true : false;
|
45 |
+
$isOwnSubscribes = false;
|
46 |
+
$ownerId = Mage::getModel('customer/customer')
|
47 |
+
->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
|
48 |
+
->loadByEmail($email)
|
49 |
+
->getId();
|
50 |
+
$isSubscribeOwnEmail = $customerSession->isLoggedIn() && $ownerId == $customerSession->getId();
|
51 |
+
|
52 |
+
if (!$this->getId() || $this->getStatus() == self::STATUS_UNSUBSCRIBED
|
53 |
+
|| $this->getStatus() == self::STATUS_NOT_ACTIVE
|
54 |
+
) {
|
55 |
+
if ($isConfirmNeed === true) {
|
56 |
+
// BOF: changed for force double opt in
|
57 |
+
$this->setStatus(self::STATUS_UNCONFIRMED);
|
58 |
+
// EOF: changed for force double opt in
|
59 |
+
} else {
|
60 |
+
$this->setStatus(self::STATUS_SUBSCRIBED);
|
61 |
+
}
|
62 |
+
$this->setSubscriberEmail($email);
|
63 |
+
}
|
64 |
+
|
65 |
+
if ($isSubscribeOwnEmail) {
|
66 |
+
$this->setStoreId($customerSession->getCustomer()->getStoreId());
|
67 |
+
$this->setCustomerId($customerSession->getCustomerId());
|
68 |
+
} else {
|
69 |
+
$this->setStoreId(Mage::app()->getStore()->getId());
|
70 |
+
$this->setCustomerId(0);
|
71 |
+
}
|
72 |
+
|
73 |
+
$this->setIsStatusChanged(true);
|
74 |
+
|
75 |
+
try {
|
76 |
+
$this->save();
|
77 |
+
if ($isConfirmNeed === true
|
78 |
+
&& $isOwnSubscribes === false
|
79 |
+
) {
|
80 |
+
$this->sendConfirmationRequestEmail();
|
81 |
+
} else {
|
82 |
+
$this->sendConfirmationSuccessEmail();
|
83 |
+
}
|
84 |
+
|
85 |
+
return $this->getStatus();
|
86 |
+
} catch (Exception $e) {
|
87 |
+
throw new Exception($e->getMessage());
|
88 |
+
}
|
89 |
+
}
|
90 |
+
|
91 |
+
/**
|
92 |
+
* Saving customer subscription status
|
93 |
+
*
|
94 |
+
* @param Mage_Customer_Model_Customer $customer
|
95 |
+
* @return Mage_Newsletter_Model_Subscriber
|
96 |
+
*/
|
97 |
+
public function subscribeCustomer($customer)
|
98 |
+
{
|
99 |
+
// fall back to default
|
100 |
+
if(Mage::getStoreConfigFlag(self::XML_PATH_ADVANCED_DOUBELOPTIN))
|
101 |
+
{
|
102 |
+
return parent::subscribeCustomer($customer);
|
103 |
+
}
|
104 |
+
|
105 |
+
$this->loadByCustomer($customer);
|
106 |
+
|
107 |
+
if ($customer->getImportMode()) {
|
108 |
+
$this->setImportMode(true);
|
109 |
+
}
|
110 |
+
|
111 |
+
if (!$customer->getIsSubscribed() && !$this->getId()) {
|
112 |
+
// If subscription flag not set or customer is not a subscriber
|
113 |
+
// and no subscribe below
|
114 |
+
return $this;
|
115 |
+
}
|
116 |
+
|
117 |
+
if(!$this->getId()) {
|
118 |
+
$this->setSubscriberConfirmCode($this->randomSequence());
|
119 |
+
}
|
120 |
+
|
121 |
+
/*
|
122 |
+
* Logical mismatch between customer registration confirmation code and customer password confirmation
|
123 |
+
*/
|
124 |
+
$confirmation = null;
|
125 |
+
if ($customer->isConfirmationRequired() && ($customer->getConfirmation() != $customer->getPassword())) {
|
126 |
+
$confirmation = $customer->getConfirmation();
|
127 |
+
}
|
128 |
+
|
129 |
+
$sendInformationEmail = false;
|
130 |
+
if ($customer->hasIsSubscribed()) {
|
131 |
+
$status = $customer->getIsSubscribed() ? self::STATUS_UNCONFIRMED : self::STATUS_UNSUBSCRIBED;
|
132 |
+
/**
|
133 |
+
* If subscription status has been changed then send email to the customer
|
134 |
+
*/
|
135 |
+
if($status == self::STATUS_UNCONFIRMED) {
|
136 |
+
$sendInformationEmail = true;
|
137 |
+
}
|
138 |
+
} elseif (($this->getStatus() == self::STATUS_UNCONFIRMED) && (is_null($confirmation))) {
|
139 |
+
$status = self::STATUS_UNCONFIRMED;
|
140 |
+
$sendInformationEmail = true;
|
141 |
+
} else {
|
142 |
+
$status = ($this->getStatus() == self::STATUS_NOT_ACTIVE ? self::STATUS_UNSUBSCRIBED : $this->getStatus());
|
143 |
+
}
|
144 |
+
|
145 |
+
if($status != $this->getStatus()) {
|
146 |
+
$this->setIsStatusChanged(true);
|
147 |
+
}
|
148 |
+
|
149 |
+
$this->setStatus($status);
|
150 |
+
|
151 |
+
if(!$this->getId()) {
|
152 |
+
$storeId = $customer->getStoreId();
|
153 |
+
if ($customer->getStoreId() == 0) {
|
154 |
+
$storeId = Mage::app()->getWebsite($customer->getWebsiteId())->getDefaultStore()->getId();
|
155 |
+
}
|
156 |
+
$this->setStoreId($storeId)
|
157 |
+
->setCustomerId($customer->getId())
|
158 |
+
->setEmail($customer->getEmail());
|
159 |
+
} else {
|
160 |
+
$this->setStoreId($customer->getStoreId())
|
161 |
+
->setEmail($customer->getEmail());
|
162 |
+
}
|
163 |
+
|
164 |
+
$this->save();
|
165 |
+
if($this->getIsStatusChanged())
|
166 |
+
{
|
167 |
+
$sendSubscription = $customer->getData('sendSubscription') || $sendInformationEmail;
|
168 |
+
if (is_null($sendSubscription) xor $sendSubscription) {
|
169 |
+
if ($this->getIsStatusChanged() && $status == self::STATUS_UNSUBSCRIBED) {
|
170 |
+
$this->sendUnsubscriptionEmail();
|
171 |
+
} elseif ($this->getIsStatusChanged() && $status == self::STATUS_SUBSCRIBED) {
|
172 |
+
$this->sendConfirmationSuccessEmail();
|
173 |
+
} elseif ($this->getIsStatusChanged() && $status == self::STATUS_UNCONFIRMED) {
|
174 |
+
$this->sendConfirmationRequestEmail();
|
175 |
+
}
|
176 |
+
}
|
177 |
+
}
|
178 |
+
return $this;
|
179 |
+
}
|
180 |
+
|
181 |
+
/**
|
182 |
+
* Confirms subscriber newsletter
|
183 |
+
*
|
184 |
+
* @param string $code
|
185 |
+
* @return boolean
|
186 |
+
*/
|
187 |
+
public function confirm($code)
|
188 |
+
{
|
189 |
+
$parent = (bool) parent::confirm($code);
|
190 |
+
if( $parent ) {
|
191 |
+
$this->sendConfirmationSuccessEmail();
|
192 |
+
return true;
|
193 |
+
}
|
194 |
+
return false;
|
195 |
+
}
|
196 |
+
|
197 |
+
/**
|
198 |
+
* Sends out confirmation success email
|
199 |
+
*
|
200 |
+
* @see Mage_Newsletter_Model_Subscriber::sendConfirmationSuccessEmail
|
201 |
+
*
|
202 |
+
* @return Mage_Newsletter_Model_Subscriber
|
203 |
+
*/
|
204 |
+
public function sendConfirmationSuccessEmail() {
|
205 |
+
// do not send two E-Mails, may Magento will be implements this line in methode self::confirm($code)
|
206 |
+
if( $this->_sendConfirmationSuccessEmail ) {
|
207 |
+
parent::sendConfirmationSuccessEmail();
|
208 |
+
$this->_sendConfirmationSuccessEmail = !$this->_sendConfirmationSuccessEmail;
|
209 |
+
}
|
210 |
+
return $this;
|
211 |
+
}
|
212 |
+
|
213 |
+
public function sendConfirmationRequestEmail() {
|
214 |
+
if( $this->_sendConfirmationRequestEmail ) {
|
215 |
+
parent::sendConfirmationRequestEmail();
|
216 |
+
$this->_sendConfirmationRequestEmail = !$this->_sendConfirmationRequestEmail;
|
217 |
+
}
|
218 |
+
return $this;
|
219 |
+
}
|
220 |
+
}
|
app/code/community/Loewenstark/Newsletter/Model/Unsubscribe.php
DELETED
@@ -1,58 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class Loewenstark_Newsletter_Block_Unsubscribe
|
4 |
-
extends Mage_Newsletter_Model_Subscriber
|
5 |
-
{
|
6 |
-
/** @var bool $_sendConfirmationSuccessEmail check if email already send **/
|
7 |
-
private $_sendConfirmationSuccessEmail = true;
|
8 |
-
|
9 |
-
/**
|
10 |
-
* unsubscribes by email
|
11 |
-
*
|
12 |
-
* @param string $email
|
13 |
-
* @throws Exception
|
14 |
-
* @return int
|
15 |
-
*/
|
16 |
-
public function unsubscribeByEmail($email) {
|
17 |
-
$this->setStoreId(Mage::app()->getStore()->getId());
|
18 |
-
$this->loadByEmail($email);
|
19 |
-
if( !$this->getId() ) {
|
20 |
-
return false;
|
21 |
-
}
|
22 |
-
$this->setCheckCode($this->getCode());
|
23 |
-
$this->unsubscribe();
|
24 |
-
return $this->getStatus();
|
25 |
-
}
|
26 |
-
|
27 |
-
/**
|
28 |
-
* Confirms subscriber newsletter
|
29 |
-
*
|
30 |
-
* @param string $code
|
31 |
-
* @return boolean
|
32 |
-
*/
|
33 |
-
public function confirm($code)
|
34 |
-
{
|
35 |
-
$parent = (bool) parent::confirm($code);
|
36 |
-
if( $parent ) {
|
37 |
-
$this->sendConfirmationSuccessEmail();
|
38 |
-
return true;
|
39 |
-
}
|
40 |
-
return false;
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Sends out confirmation success email
|
45 |
-
*
|
46 |
-
* @see Mage_Newsletter_Model_Subscriber::sendConfirmationSuccessEmail
|
47 |
-
*
|
48 |
-
* @return Mage_Newsletter_Model_Subscriber
|
49 |
-
*/
|
50 |
-
public function sendConfirmationSuccessEmail() {
|
51 |
-
// do not send two E-Mails, may Magento will be implements this line in methode self::confirm($code)
|
52 |
-
if( $this->_sendConfirmationSuccessEmail ) {
|
53 |
-
parent::sendConfirmationSuccessEmail();
|
54 |
-
$this->_sendConfirmationSuccessEmail = !$this->_sendConfirmationSuccessEmail;
|
55 |
-
}
|
56 |
-
return $this;
|
57 |
-
}
|
58 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
app/code/community/Loewenstark/Newsletter/Model/Unsubscriber.php
ADDED
@@ -0,0 +1,32 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_Model_Unsubscriber
|
12 |
+
extends Loewenstark_Newsletter_Model_Subscriber
|
13 |
+
{
|
14 |
+
|
15 |
+
/**
|
16 |
+
* unsubscribes by email
|
17 |
+
*
|
18 |
+
* @param string $email
|
19 |
+
* @throws Exception
|
20 |
+
* @return int
|
21 |
+
*/
|
22 |
+
public function unsubscribeByEmail($email) {
|
23 |
+
$this->setStoreId(Mage::app()->getStore()->getId());
|
24 |
+
$this->loadByEmail($email);
|
25 |
+
if( !$this->getId() ) {
|
26 |
+
return false;
|
27 |
+
}
|
28 |
+
$this->setCheckCode($this->getCode());
|
29 |
+
$this->unsubscribe();
|
30 |
+
return $this->getStatus();
|
31 |
+
}
|
32 |
+
}
|
app/code/community/Loewenstark/Newsletter/controllers/ManageController.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_ManageController
|
12 |
+
extends Mage_Core_Controller_Front_Action
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* New subscription action
|
16 |
+
*/
|
17 |
+
public function resendAction()
|
18 |
+
{
|
19 |
+
if(Mage::helper('customer')->isLoggedIn()) {
|
20 |
+
try {
|
21 |
+
$customer = Mage::getSingleton('customer/session')->getCustomer();
|
22 |
+
Mage::getModel('newsletter/subscriber')->loadByCustomer($customer)->sendConfirmationRequestEmail();
|
23 |
+
} catch(Exception $e) {}
|
24 |
+
Mage::getSingleton('core/session')->addSuccess(Mage::helper('lws_newsletter')->__('Newsletter confirmation E-Mail has been send!'));
|
25 |
+
}
|
26 |
+
$this->_redirectReferer();
|
27 |
+
}
|
28 |
+
}
|
app/code/community/Loewenstark/Newsletter/controllers/SubscriberController.php
ADDED
@@ -0,0 +1,63 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_SubscriberController
|
12 |
+
extends Mage_Core_Controller_Front_Action
|
13 |
+
{
|
14 |
+
/**
|
15 |
+
* New subscription action
|
16 |
+
*/
|
17 |
+
public function newAction()
|
18 |
+
{
|
19 |
+
if ($this->getRequest()->isPost() && $this->getRequest()->getPost('email')) {
|
20 |
+
$session = Mage::getSingleton('core/session');
|
21 |
+
$customerSession = Mage::getSingleton('customer/session');
|
22 |
+
$helper = Mage::helper("lws_newsletter");
|
23 |
+
$email = (string) $this->getRequest()->getPost('email');
|
24 |
+
|
25 |
+
try {
|
26 |
+
if (!Zend_Validate::is($email, 'EmailAddress')) {
|
27 |
+
Mage::throwException($helper->__('Please enter a valid email address.'));
|
28 |
+
}
|
29 |
+
|
30 |
+
if (Mage::getStoreConfig(Mage_Newsletter_Model_Subscriber::XML_PATH_ALLOW_GUEST_SUBSCRIBE_FLAG) != 1 &&
|
31 |
+
!$customerSession->isLoggedIn()) {
|
32 |
+
Mage::throwException($helper->__('Sorry, but administrator denied subscription for guests. Please <a href="%s">register</a>.', Mage::helper('customer')->getRegisterUrl()));
|
33 |
+
}
|
34 |
+
|
35 |
+
if(Mage::getStoreConfigFlag(Loewenstark_Newsletter_Model_Subscriber::XML_PATH_ADVANCED_DOUBELOPTIN))
|
36 |
+
{
|
37 |
+
$ownerId = Mage::getModel('customer/customer')
|
38 |
+
->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
|
39 |
+
->loadByEmail($email)
|
40 |
+
->getId();
|
41 |
+
if ($ownerId !== null && $ownerId != $customerSession->getId()) {
|
42 |
+
Mage::throwException($helper->__('This email address is already assigned to another user.'));
|
43 |
+
}
|
44 |
+
}
|
45 |
+
|
46 |
+
$status = Mage::getModel('newsletter/subscriber')->subscribe($email);
|
47 |
+
if ($status == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
|
48 |
+
$session->addSuccess($helper->__('Confirmation request has been sent.'));
|
49 |
+
}
|
50 |
+
else {
|
51 |
+
$session->addSuccess($helper->__('Thank you for your subscription.'));
|
52 |
+
}
|
53 |
+
}
|
54 |
+
catch (Mage_Core_Exception $e) {
|
55 |
+
$session->addException($e, $helper->__('There was a problem with the subscription: %s', $e->getMessage()));
|
56 |
+
}
|
57 |
+
catch (Exception $e) {
|
58 |
+
$session->addException($e, $helper->__('There was a problem with the subscription.'));
|
59 |
+
}
|
60 |
+
}
|
61 |
+
$this->_redirectReferer();
|
62 |
+
}
|
63 |
+
}
|
app/code/community/Loewenstark/Newsletter/controllers/UnsubscriberController.php
CHANGED
@@ -1,6 +1,14 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
extends Mage_Core_Controller_Front_Action
|
5 |
{
|
6 |
public function indexAction()
|
@@ -14,7 +22,7 @@ extends Mage_Core_Controller_Front_Action
|
|
14 |
Mage::throwException($this->__('Please enter a valid email address.'));
|
15 |
}
|
16 |
|
17 |
-
$status = Mage::getModel('newsletter/
|
18 |
$session->addSuccess($this->__('You have been unsubscribed.'));
|
19 |
}
|
20 |
catch (Mage_Core_Exception $e) {
|
@@ -26,4 +34,4 @@ extends Mage_Core_Controller_Front_Action
|
|
26 |
}
|
27 |
$this->_redirectReferer();
|
28 |
}
|
29 |
-
}
|
1 |
<?php
|
2 |
+
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
+
class Loewenstark_Newsletter_UnsubscriberController
|
12 |
extends Mage_Core_Controller_Front_Action
|
13 |
{
|
14 |
public function indexAction()
|
22 |
Mage::throwException($this->__('Please enter a valid email address.'));
|
23 |
}
|
24 |
|
25 |
+
$status = Mage::getModel('newsletter/unsubscriber')->unsubscribeByEmail($email);
|
26 |
$session->addSuccess($this->__('You have been unsubscribed.'));
|
27 |
}
|
28 |
catch (Mage_Core_Exception $e) {
|
34 |
}
|
35 |
$this->_redirectReferer();
|
36 |
}
|
37 |
+
}
|
app/code/community/Loewenstark/Newsletter/etc/config.xml
CHANGED
@@ -1,8 +1,19 @@
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<config>
|
3 |
<modules>
|
4 |
<Loewenstark_Newsletter>
|
5 |
-
<version>1.
|
6 |
</Loewenstark_Newsletter>
|
7 |
</modules>
|
8 |
<frontend>
|
@@ -37,13 +48,19 @@
|
|
37 |
</secure_url>
|
38 |
</frontend>
|
39 |
<global>
|
|
|
|
|
|
|
|
|
|
|
40 |
<models>
|
41 |
<lws_newsletter>
|
42 |
<class>Loewenstark_Newsletter_Model</class>
|
43 |
</lws_newsletter>
|
44 |
<newsletter>
|
45 |
<rewrite>
|
46 |
-
<
|
|
|
47 |
</rewrite>
|
48 |
</newsletter>
|
49 |
</models>
|
@@ -52,10 +69,18 @@
|
|
52 |
<class>Loewenstark_Newsletter_Block</class>
|
53 |
</lws_newsletter>
|
54 |
<newsletter>
|
55 |
-
<rewrite>
|
56 |
-
<
|
|
|
57 |
</rewrite>
|
58 |
</newsletter>
|
59 |
</blocks>
|
60 |
</global>
|
61 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Loewenstark_Newsletter
|
5 |
+
*
|
6 |
+
* @category Loewenstark
|
7 |
+
* @package Loewenstark_Newsletter
|
8 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
9 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
10 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
11 |
+
*/
|
12 |
+
//-->
|
13 |
<config>
|
14 |
<modules>
|
15 |
<Loewenstark_Newsletter>
|
16 |
+
<version>1.5.0.0</version>
|
17 |
</Loewenstark_Newsletter>
|
18 |
</modules>
|
19 |
<frontend>
|
48 |
</secure_url>
|
49 |
</frontend>
|
50 |
<global>
|
51 |
+
<helpers>
|
52 |
+
<lws_newsletter>
|
53 |
+
<class>Loewenstark_Newsletter_Helper</class>
|
54 |
+
</lws_newsletter>
|
55 |
+
</helpers>
|
56 |
<models>
|
57 |
<lws_newsletter>
|
58 |
<class>Loewenstark_Newsletter_Model</class>
|
59 |
</lws_newsletter>
|
60 |
<newsletter>
|
61 |
<rewrite>
|
62 |
+
<unsubscriber>Loewenstark_Newsletter_Model_Unsubscriber</unsubscriber>
|
63 |
+
<subscriber>Loewenstark_Newsletter_Model_Subscriber</subscriber>
|
64 |
</rewrite>
|
65 |
</newsletter>
|
66 |
</models>
|
69 |
<class>Loewenstark_Newsletter_Block</class>
|
70 |
</lws_newsletter>
|
71 |
<newsletter>
|
72 |
+
<rewrite>
|
73 |
+
<unsubscriber>Loewenstark_Newsletter_Block_Unsubscriber</unsubscriber>
|
74 |
+
<unsubscribe>Loewenstark_Newsletter_Block_Unsubscriber</unsubscribe><!-- fallback //-->
|
75 |
</rewrite>
|
76 |
</newsletter>
|
77 |
</blocks>
|
78 |
</global>
|
79 |
+
<default>
|
80 |
+
<newsletter>
|
81 |
+
<advanced>
|
82 |
+
<doubleoptinmagedefault>0</doubleoptinmagedefault>
|
83 |
+
</advanced>
|
84 |
+
</newsletter>
|
85 |
+
</default>
|
86 |
+
</config>
|
app/code/community/Loewenstark/Newsletter/etc/system.xml
ADDED
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Loewenstark_Newsletter
|
5 |
+
*
|
6 |
+
* @category Loewenstark
|
7 |
+
* @package Loewenstark_Newsletter
|
8 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
9 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
10 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
11 |
+
*/
|
12 |
+
//-->
|
13 |
+
<config>
|
14 |
+
<sections>
|
15 |
+
<newsletter translate="label" module="lws_newsletter">
|
16 |
+
<groups>
|
17 |
+
<advanced translate="label">
|
18 |
+
<label>Advanced</label>
|
19 |
+
<frontend_type>text</frontend_type>
|
20 |
+
<sort_order>1</sort_order>
|
21 |
+
<show_in_default>1</show_in_default>
|
22 |
+
<show_in_website>1</show_in_website>
|
23 |
+
<show_in_store>1</show_in_store>
|
24 |
+
<fields>
|
25 |
+
<doubleoptinmagedefault translate="label">
|
26 |
+
<label>Double Opt-In Magento Default</label>
|
27 |
+
<frontend_type>select</frontend_type>
|
28 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
29 |
+
<sort_order>1</sort_order>
|
30 |
+
<show_in_default>1</show_in_default>
|
31 |
+
<show_in_website>1</show_in_website>
|
32 |
+
<show_in_store>1</show_in_store>
|
33 |
+
</doubleoptinmagedefault>
|
34 |
+
</fields>
|
35 |
+
</advanced>
|
36 |
+
</groups>
|
37 |
+
</newsletter>
|
38 |
+
</sections>
|
39 |
+
</config>
|
app/design/frontend/base/default/layout/loewenstark/newsletter.xml
CHANGED
@@ -1,8 +1,31 @@
|
|
1 |
<?xml version="1.0"?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<layout version="0.2.0">
|
|
|
3 |
<default>
|
4 |
<reference name="left">
|
5 |
-
<block type="newsletter/
|
6 |
</reference>
|
7 |
</default>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
</layout>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Loewenstark_Newsletter
|
5 |
+
*
|
6 |
+
* @category Loewenstark
|
7 |
+
* @package Loewenstark_Newsletter
|
8 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
9 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
10 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
11 |
+
*/
|
12 |
+
//-->
|
13 |
<layout version="0.2.0">
|
14 |
+
|
15 |
<default>
|
16 |
<reference name="left">
|
17 |
+
<block type="newsletter/unsubscriber" name="newsletter.unsubscriber" as="newsletter_unsubscriber" after="newsletter" template="newsletter/unsubscribe.phtml" translate="label"/>
|
18 |
</reference>
|
19 |
</default>
|
20 |
+
|
21 |
+
<!-- add resend link -->
|
22 |
+
<newsletter_manage_index>
|
23 |
+
<reference name="customer_newsletter">
|
24 |
+
<!-- Missing core/text_list in Magento Default //-->
|
25 |
+
<block type="core/text_list" name="customer.form.newsletter.extra" translate="label">
|
26 |
+
<block type="lws_newsletter/resendrequest" name="resend.newsletter" template="newsletter/manage/resend.phtml" />
|
27 |
+
</block>
|
28 |
+
</reference>
|
29 |
+
</newsletter_manage_index>
|
30 |
+
|
31 |
</layout>
|
app/design/frontend/base/default/template/newsletter/manage/resend.phtml
ADDED
@@ -0,0 +1 @@
|
|
|
|
0 |
* Loewenstark_Newsletter
|
1 |
*
|
2 |
* @category Loewenstark
|
3 |
* @package Loewenstark_Newsletter
|
4 |
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
5 |
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
6 |
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
7 |
*/
|
8 |
<li class="control resend_link"><a href="<?php echo $this->getResendUrl() ?>" title="<?php echo $this->__("resend subscription request")?>"><?php echo $this->__("resend subscription request")?></a></li>
|
1 |
+
<?php
|
2 |
* Loewenstark_Newsletter
|
3 |
*
|
4 |
* @category Loewenstark
|
5 |
* @package Loewenstark_Newsletter
|
6 |
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
7 |
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
8 |
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
9 |
*/
|
10 |
<li class="control resend_link"><a href="<?php echo $this->getResendUrl() ?>" title="<?php echo $this->__("resend subscription request")?>"><?php echo $this->__("resend subscription request")?></a></li>
|
app/design/frontend/base/default/template/newsletter/unsubscribe.phtml
CHANGED
@@ -1,12 +1,13 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
|
|
10 |
?>
|
11 |
<div class="block block-subscribe block-unsubscribe">
|
12 |
<div class="block-title">
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Loewenstark_Newsletter
|
4 |
+
*
|
5 |
+
* @category Loewenstark
|
6 |
+
* @package Loewenstark_Newsletter
|
7 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
8 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
9 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
10 |
+
*/
|
11 |
?>
|
12 |
<div class="block block-subscribe block-unsubscribe">
|
13 |
<div class="block-title">
|
app/etc/modules/Loewenstark_Newsletter.xml
CHANGED
@@ -1,12 +1,23 @@
|
|
1 |
<?xml version="1.0"?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
<config>
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
<depends>
|
8 |
<Mage_Newsletter />
|
9 |
</depends>
|
10 |
-
|
11 |
-
|
12 |
-
</config>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<!--
|
3 |
+
/**
|
4 |
+
* Loewenstark_Newsletter
|
5 |
+
*
|
6 |
+
* @category Loewenstark
|
7 |
+
* @package Loewenstark_Newsletter
|
8 |
+
* @author Mathis Klooss <m.klooss@loewenstark.de>
|
9 |
+
* @copyright 2013 Loewenstark Web-Solution GmbH (http://www.loewenstark.de). All rights served.
|
10 |
+
* @license https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md
|
11 |
+
*/
|
12 |
+
//-->
|
13 |
<config>
|
14 |
+
<modules>
|
15 |
+
<Loewenstark_Newsletter>
|
16 |
+
<active>true</active>
|
17 |
+
<codePool>community</codePool>
|
18 |
<depends>
|
19 |
<Mage_Newsletter />
|
20 |
</depends>
|
21 |
+
</Loewenstark_Newsletter>
|
22 |
+
</modules>
|
23 |
+
</config>
|
app/locale/de_DE/Loewenstark_Newsletter.csv
CHANGED
@@ -1,3 +1,6 @@
|
|
1 |
-
"Newsletter Unsubscribe","Newsletter Abmelden"
|
2 |
-
"Unsubscribe Our Newsletter:","Vom Newsletter abmelden:"
|
3 |
-
"Unsubscribe","Abmelden"
|
|
|
|
|
|
1 |
+
"Newsletter Unsubscribe","Newsletter Abmelden"
|
2 |
+
"Unsubscribe Our Newsletter:","Vom Newsletter abmelden:"
|
3 |
+
"Unsubscribe","Abmelden"
|
4 |
+
"Advanced","Erweitert"
|
5 |
+
"Double Opt-In Magento Default","Double Opt-In Magento Standard"
|
6 |
+
"Newsletter confirmation E-Mail has been send!","Bestätigungsemail wurde erneuert versendet."
|
app/locale/en_US/Loewenstark_Newsletter.csv
CHANGED
@@ -1,3 +1,6 @@
|
|
1 |
-
"Newsletter Unsubscribe","Newsletter Unsubscribe"
|
2 |
-
"Unsubscribe Our Newsletter:","Unsubscribe Our Newsletter:"
|
3 |
-
"Unsubscribe","Unsubscribe"
|
|
|
|
|
|
1 |
+
"Newsletter Unsubscribe","Newsletter Unsubscribe"
|
2 |
+
"Unsubscribe Our Newsletter:","Unsubscribe Our Newsletter:"
|
3 |
+
"Unsubscribe","Unsubscribe"
|
4 |
+
"Advanced","Advanced"
|
5 |
+
"Double Opt-In Magento Default","Double Opt-In Magento Default"
|
6 |
+
"Newsletter confirmation E-Mail has been send!","Newsletter confirmation E-Mail has been send!"
|
package.xml
CHANGED
@@ -1,18 +1,18 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Loewenstark_Newsletter</name>
|
4 |
-
<version>1.
|
5 |
<stability>stable</stability>
|
6 |
-
<license uri="https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md">GPL-3</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
-
<summary>
|
10 |
-
<description>
|
11 |
-
<notes>initial
|
12 |
<authors><author><name>Mathis Klooss</name><user>mklooss</user><email>m.klooss@loewenstark.de</email></author></authors>
|
13 |
-
<date>
|
14 |
-
<time>
|
15 |
-
<contents><target name="magecommunity"><dir name="Loewenstark"><dir name="Newsletter"><dir><dir name="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.12</min><max>7.0.0</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Loewenstark_Newsletter</name>
|
4 |
+
<version>1.5.0.1</version>
|
5 |
<stability>stable</stability>
|
6 |
+
<license uri="https://github.com/mklooss/Loewenstark_Newsletter/blob/master/README.md#licence">GPL-3</license>
|
7 |
<channel>community</channel>
|
8 |
<extends/>
|
9 |
+
<summary>improvements for newsletter</summary>
|
10 |
+
<description>Change some Methodes and use always Double-OptIn</description>
|
11 |
+
<notes>initial Release</notes>
|
12 |
<authors><author><name>Mathis Klooss</name><user>mklooss</user><email>m.klooss@loewenstark.de</email></author></authors>
|
13 |
+
<date>2013-03-13</date>
|
14 |
+
<time>12:56:53</time>
|
15 |
+
<contents><target name="magecommunity"><dir name="Loewenstark"><dir name="Newsletter"><dir name="Block"><file name="Resendrequest.php" hash="b69b793afe05f10b3956514b1e78f89d"/><file name="Unsubscriber.php" hash="e197602d9029cfbb61d75964c22d65e2"/></dir><dir name="Helper"><file name="Data.php" hash="7abb3899d5a9beb28c70593c970bd458"/></dir><dir name="Model"><file name="Subscriber.php" hash="04640f5b6ab1eed90c9d00dfe6176389"/><file name="Unsubscriber.php" hash="4b9551e6582fe055fe20371b9046d78a"/></dir><dir name="controllers"><file name="ManageController.php" hash="028d8b15ca87cd6450dea721ff72777c"/><file name="SubscriberController.php" hash="3ab7d648854f8daac7f232f898d44e2b"/><file name="UnsubscriberController.php" hash="34c861574a275e4cf3021492c125cbe2"/></dir><dir name="etc"><file name="config.xml" hash="f23bdc5514051581898676de560ab9b1"/><file name="system.xml" hash="42d98424453a6163fe8423f30781ec96"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Loewenstark_Newsletter.xml" hash="b1a0188e4caba4de30dfa3d82144bb37"/></dir></target><target name="magelocale"><dir name="de_DE"><file name="Loewenstark_Newsletter.csv" hash="f3ea8e88e78c77da134445ec58c83467"/></dir><dir name="en_US"><file name="Loewenstark_Newsletter.csv" hash="54027db990f7964ac148005a2a38632f"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><dir name="loewenstark"><file name="newsletter.xml" hash="55163ff7baa8b71647770bc9c9369b38"/></dir></dir><dir name="template"><dir name="newsletter"><file name="unsubscribe.phtml" hash="d0bbd72e2290c1f180b6cbc8c8bef5b2"/><dir name="manage"><file name="resend.phtml" hash="2d97ac03260c125f7a63fccc88027031"/></dir></dir></dir></dir></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.2.12</min><max>7.0.0</max></php></required></dependencies>
|
18 |
</package>
|