Version Notes
Init extension version
Download this release
Release Info
| Developer | Conlabz GmbH |
| Extension | Conlabz_Useroptin |
| Version | 1.0.0 |
| Comparing to | |
| See all releases | |
Version 1.0.0
- app/code/local/Conlabz/Useroptin/Model/Newsletter/Subscriber.php +82 -0
- app/code/local/Conlabz/Useroptin/controllers/AccountController.php +148 -0
- app/code/local/Conlabz/Useroptin/controllers/ManageController.php +43 -0
- app/code/local/Conlabz/Useroptin/etc/config.xml +69 -0
- app/code/local/Conlabz/Useroptin/etc/system.xml +22 -0
- app/etc/modules/Conlabz_Useroptin.xml +9 -0
- package.xml +20 -0
app/code/local/Conlabz/Useroptin/Model/Newsletter/Subscriber.php
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
class Conlabz_Useroptin_Model_Newsletter_Subscriber extends Mage_Newsletter_Model_Subscriber
|
| 3 |
+
{
|
| 4 |
+
|
| 5 |
+
const XML_PATH_LOGGED_CONFIRM_EMAIL_TEMPLATE = 'newsletter/subscription/confirm_logged_email_template';
|
| 6 |
+
|
| 7 |
+
/**
|
| 8 |
+
* Subscribes by email
|
| 9 |
+
*
|
| 10 |
+
* @param string $email
|
| 11 |
+
* @throws Exception
|
| 12 |
+
* @return int
|
| 13 |
+
*/
|
| 14 |
+
public function subscribe($email)
|
| 15 |
+
{
|
| 16 |
+
$this->loadByEmail($email);
|
| 17 |
+
$customerSession = Mage::getSingleton('customer/session');
|
| 18 |
+
|
| 19 |
+
if(!$this->getId()) {
|
| 20 |
+
$this->setSubscriberConfirmCode($this->randomSequence());
|
| 21 |
+
}
|
| 22 |
+
|
| 23 |
+
$isConfirmNeed = (Mage::getStoreConfig(self::XML_PATH_CONFIRMATION_FLAG) == 1) ? true : false;
|
| 24 |
+
$isOwnSubscribes = false;
|
| 25 |
+
$ownerId = Mage::getModel('customer/customer')
|
| 26 |
+
->setWebsiteId(Mage::app()->getStore()->getWebsiteId())
|
| 27 |
+
->loadByEmail($email)
|
| 28 |
+
->getId();
|
| 29 |
+
$isSubscribeOwnEmail = $customerSession->isLoggedIn() && $ownerId == $customerSession->getId();
|
| 30 |
+
|
| 31 |
+
if (!$this->getId() || $this->getStatus() == self::STATUS_UNSUBSCRIBED
|
| 32 |
+
|| $this->getStatus() == self::STATUS_NOT_ACTIVE
|
| 33 |
+
) {
|
| 34 |
+
if ($isConfirmNeed === true) {
|
| 35 |
+
// if user subscribes own login email - confirmation is not needed
|
| 36 |
+
$isOwnSubscribes = $isSubscribeOwnEmail;
|
| 37 |
+
if ($isOwnSubscribes == true){
|
| 38 |
+
if (Mage::getStoreConfig(self::XML_PATH_LOGGED_CONFIRM_EMAIL_TEMPLATE) == 1){
|
| 39 |
+
$this->setStatus(self::STATUS_NOT_ACTIVE);
|
| 40 |
+
}else{
|
| 41 |
+
$this->setStatus(self::STATUS_SUBSCRIBED);
|
| 42 |
+
}
|
| 43 |
+
} else {
|
| 44 |
+
$this->setStatus(self::STATUS_NOT_ACTIVE);
|
| 45 |
+
}
|
| 46 |
+
} else {
|
| 47 |
+
$this->setStatus(self::STATUS_SUBSCRIBED);
|
| 48 |
+
}
|
| 49 |
+
$this->setSubscriberEmail($email);
|
| 50 |
+
}
|
| 51 |
+
|
| 52 |
+
if ($isSubscribeOwnEmail) {
|
| 53 |
+
$this->setStoreId($customerSession->getCustomer()->getStoreId());
|
| 54 |
+
$this->setCustomerId($customerSession->getCustomerId());
|
| 55 |
+
} else {
|
| 56 |
+
$this->setStoreId(Mage::app()->getStore()->getId());
|
| 57 |
+
$this->setCustomerId(0);
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
$this->setIsStatusChanged(true);
|
| 61 |
+
|
| 62 |
+
try {
|
| 63 |
+
$this->save();
|
| 64 |
+
if ($isConfirmNeed === true
|
| 65 |
+
&& $isOwnSubscribes === false
|
| 66 |
+
) {
|
| 67 |
+
$this->sendConfirmationRequestEmail();
|
| 68 |
+
} else {
|
| 69 |
+
if (Mage::getStoreConfig(self::XML_PATH_LOGGED_CONFIRM_EMAIL_TEMPLATE) == 1){
|
| 70 |
+
$this->sendConfirmationRequestEmail();
|
| 71 |
+
}else{
|
| 72 |
+
$this->sendConfirmationSuccessEmail();
|
| 73 |
+
}
|
| 74 |
+
}
|
| 75 |
+
|
| 76 |
+
return $this->getStatus();
|
| 77 |
+
} catch (Exception $e) {
|
| 78 |
+
throw new Exception($e->getMessage());
|
| 79 |
+
}
|
| 80 |
+
}
|
| 81 |
+
|
| 82 |
+
}
|
app/code/local/Conlabz/Useroptin/controllers/AccountController.php
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
include "Mage/Customer/controllers/AccountController.php";
|
| 3 |
+
|
| 4 |
+
class Conlabz_Useroptin_AccountController extends Mage_Customer_AccountController
|
| 5 |
+
{
|
| 6 |
+
/**
|
| 7 |
+
* Create customer account action
|
| 8 |
+
*/
|
| 9 |
+
public function createPostAction()
|
| 10 |
+
{
|
| 11 |
+
$session = $this->_getSession();
|
| 12 |
+
if ($session->isLoggedIn()) {
|
| 13 |
+
$this->_redirect('*/*/');
|
| 14 |
+
return;
|
| 15 |
+
}
|
| 16 |
+
$session->setEscapeMessages(true); // prevent XSS injection in user input
|
| 17 |
+
if ($this->getRequest()->isPost()) {
|
| 18 |
+
$errors = array();
|
| 19 |
+
|
| 20 |
+
if (!$customer = Mage::registry('current_customer')) {
|
| 21 |
+
$customer = Mage::getModel('customer/customer')->setId(null);
|
| 22 |
+
}
|
| 23 |
+
|
| 24 |
+
/* @var $customerForm Mage_Customer_Model_Form */
|
| 25 |
+
$customerForm = Mage::getModel('customer/form');
|
| 26 |
+
$customerForm->setFormCode('customer_account_create')
|
| 27 |
+
->setEntity($customer);
|
| 28 |
+
|
| 29 |
+
$customerData = $customerForm->extractData($this->getRequest());
|
| 30 |
+
|
| 31 |
+
if (Mage::getStoreConfig("newsletter/subscription/confirm_logged_email_template") == 1){
|
| 32 |
+
|
| 33 |
+
$status = Mage::getModel("newsletter/subscriber")->subscribe($this->getRequest()->getPost('email'));
|
| 34 |
+
if ($status == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
|
| 35 |
+
Mage::getSingleton('customer/session')->addSuccess($this->__('Confirmation request has been sent.'));
|
| 36 |
+
}
|
| 37 |
+
else {
|
| 38 |
+
Mage::getSingleton('customer/session')->addSuccess($this->__('Thank you for your subscription.'));
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
}else{
|
| 42 |
+
|
| 43 |
+
|
| 44 |
+
if ($this->getRequest()->getParam('is_subscribed', false)) {
|
| 45 |
+
$customer->setIsSubscribed(1);
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
}
|
| 49 |
+
/**
|
| 50 |
+
* Initialize customer group id
|
| 51 |
+
*/
|
| 52 |
+
$customer->getGroupId();
|
| 53 |
+
|
| 54 |
+
if ($this->getRequest()->getPost('create_address')) {
|
| 55 |
+
/* @var $address Mage_Customer_Model_Address */
|
| 56 |
+
$address = Mage::getModel('customer/address');
|
| 57 |
+
/* @var $addressForm Mage_Customer_Model_Form */
|
| 58 |
+
$addressForm = Mage::getModel('customer/form');
|
| 59 |
+
$addressForm->setFormCode('customer_register_address')
|
| 60 |
+
->setEntity($address);
|
| 61 |
+
|
| 62 |
+
$addressData = $addressForm->extractData($this->getRequest(), 'address', false);
|
| 63 |
+
$addressErrors = $addressForm->validateData($addressData);
|
| 64 |
+
if ($addressErrors === true) {
|
| 65 |
+
$address->setId(null)
|
| 66 |
+
->setIsDefaultBilling($this->getRequest()->getParam('default_billing', false))
|
| 67 |
+
->setIsDefaultShipping($this->getRequest()->getParam('default_shipping', false));
|
| 68 |
+
$addressForm->compactData($addressData);
|
| 69 |
+
$customer->addAddress($address);
|
| 70 |
+
|
| 71 |
+
$addressErrors = $address->validate();
|
| 72 |
+
if (is_array($addressErrors)) {
|
| 73 |
+
$errors = array_merge($errors, $addressErrors);
|
| 74 |
+
}
|
| 75 |
+
} else {
|
| 76 |
+
$errors = array_merge($errors, $addressErrors);
|
| 77 |
+
}
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
try {
|
| 81 |
+
$customerErrors = $customerForm->validateData($customerData);
|
| 82 |
+
if ($customerErrors !== true) {
|
| 83 |
+
$errors = array_merge($customerErrors, $errors);
|
| 84 |
+
} else {
|
| 85 |
+
$customerForm->compactData($customerData);
|
| 86 |
+
$customer->setPassword($this->getRequest()->getPost('password'));
|
| 87 |
+
$customer->setConfirmation($this->getRequest()->getPost('confirmation'));
|
| 88 |
+
$customerErrors = $customer->validate();
|
| 89 |
+
if (is_array($customerErrors)) {
|
| 90 |
+
$errors = array_merge($customerErrors, $errors);
|
| 91 |
+
}
|
| 92 |
+
}
|
| 93 |
+
|
| 94 |
+
$validationResult = count($errors) == 0;
|
| 95 |
+
|
| 96 |
+
if (true === $validationResult) {
|
| 97 |
+
$customer->save();
|
| 98 |
+
|
| 99 |
+
Mage::dispatchEvent('customer_register_success',
|
| 100 |
+
array('account_controller' => $this, 'customer' => $customer)
|
| 101 |
+
);
|
| 102 |
+
|
| 103 |
+
if ($customer->isConfirmationRequired()) {
|
| 104 |
+
$customer->sendNewAccountEmail(
|
| 105 |
+
'confirmation',
|
| 106 |
+
$session->getBeforeAuthUrl(),
|
| 107 |
+
Mage::app()->getStore()->getId()
|
| 108 |
+
);
|
| 109 |
+
$session->addSuccess($this->__('Account confirmation is required. Please, check your email for the confirmation link. To resend the confirmation email please <a href="%s">click here</a>.', Mage::helper('customer')->getEmailConfirmationUrl($customer->getEmail())));
|
| 110 |
+
$this->_redirectSuccess(Mage::getUrl('*/*/index', array('_secure'=>true)));
|
| 111 |
+
return;
|
| 112 |
+
} else {
|
| 113 |
+
$session->setCustomerAsLoggedIn($customer);
|
| 114 |
+
$url = $this->_welcomeCustomer($customer);
|
| 115 |
+
$this->_redirectSuccess($url);
|
| 116 |
+
return;
|
| 117 |
+
}
|
| 118 |
+
} else {
|
| 119 |
+
$session->setCustomerFormData($this->getRequest()->getPost());
|
| 120 |
+
if (is_array($errors)) {
|
| 121 |
+
foreach ($errors as $errorMessage) {
|
| 122 |
+
$session->addError($errorMessage);
|
| 123 |
+
}
|
| 124 |
+
} else {
|
| 125 |
+
$session->addError($this->__('Invalid customer data'));
|
| 126 |
+
}
|
| 127 |
+
}
|
| 128 |
+
} catch (Mage_Core_Exception $e) {
|
| 129 |
+
$session->setCustomerFormData($this->getRequest()->getPost());
|
| 130 |
+
if ($e->getCode() === Mage_Customer_Model_Customer::EXCEPTION_EMAIL_EXISTS) {
|
| 131 |
+
$url = Mage::getUrl('customer/account/forgotpassword');
|
| 132 |
+
$message = $this->__('There is already an account with this email address. If you are sure that it is your email address, <a href="%s">click here</a> to get your password and access your account.', $url);
|
| 133 |
+
$session->setEscapeMessages(false);
|
| 134 |
+
} else {
|
| 135 |
+
$message = $e->getMessage();
|
| 136 |
+
}
|
| 137 |
+
$session->addError($message);
|
| 138 |
+
} catch (Exception $e) {
|
| 139 |
+
$session->setCustomerFormData($this->getRequest()->getPost())
|
| 140 |
+
->addException($e, $this->__('Cannot save the customer.'));
|
| 141 |
+
}
|
| 142 |
+
}
|
| 143 |
+
|
| 144 |
+
$this->_redirectError(Mage::getUrl('*/*/create', array('_secure' => true)));
|
| 145 |
+
}
|
| 146 |
+
|
| 147 |
+
|
| 148 |
+
}
|
app/code/local/Conlabz/Useroptin/controllers/ManageController.php
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?php
|
| 2 |
+
include "Mage/Newsletter/controllers/ManageController.php";
|
| 3 |
+
class Conlabz_Useroptin_ManageController extends Mage_Newsletter_ManageController {
|
| 4 |
+
|
| 5 |
+
public function saveAction()
|
| 6 |
+
{
|
| 7 |
+
if (!$this->_validateFormKey()) {
|
| 8 |
+
return $this->_redirect('customer/account/');
|
| 9 |
+
}
|
| 10 |
+
try {
|
| 11 |
+
|
| 12 |
+
if (Mage::getStoreConfig("newsletter/subscription/confirm_logged_email_template") == 1){
|
| 13 |
+
|
| 14 |
+
$status = Mage::getModel("newsletter/subscriber")->subscribe(Mage::getSingleton('customer/session')->getCustomer()->getEmail());
|
| 15 |
+
if ($status == Mage_Newsletter_Model_Subscriber::STATUS_NOT_ACTIVE) {
|
| 16 |
+
Mage::getSingleton('customer/session')->addSuccess($this->__('Confirmation request has been sent.'));
|
| 17 |
+
}
|
| 18 |
+
else {
|
| 19 |
+
Mage::getSingleton('customer/session')->addSuccess($this->__('Thank you for your subscription.'));
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
}else{
|
| 23 |
+
Mage::getSingleton('customer/session')->getCustomer()
|
| 24 |
+
->setStoreId(Mage::app()->getStore()->getId())
|
| 25 |
+
->setIsSubscribed((boolean)$this->getRequest()->getParam('is_subscribed', false))
|
| 26 |
+
->save();
|
| 27 |
+
if ((boolean)$this->getRequest()->getParam('is_subscribed', false)) {
|
| 28 |
+
Mage::getSingleton('customer/session')->addSuccess($this->__('The subscription has been saved.'));
|
| 29 |
+
} else {
|
| 30 |
+
Mage::getSingleton('customer/session')->addSuccess($this->__('The subscription has been removed.'));
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
}
|
| 35 |
+
catch (Exception $e) {
|
| 36 |
+
Mage::getSingleton('customer/session')->addError($e->getMessage());
|
| 37 |
+
Mage::getSingleton('customer/session')->addError($this->__('An error occurred while saving your subscription.'));
|
| 38 |
+
}
|
| 39 |
+
$this->_redirect('customer/account/');
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
|
| 43 |
+
}
|
app/code/local/Conlabz/Useroptin/etc/config.xml
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<Conlabz_Useroptin>
|
| 5 |
+
<version>1.0.0</version>
|
| 6 |
+
</Conlabz_Useroptin>
|
| 7 |
+
</modules>
|
| 8 |
+
<global>
|
| 9 |
+
<helpers>
|
| 10 |
+
<useroptin>
|
| 11 |
+
<class>Conlabz_Useroptin_Helper</class>
|
| 12 |
+
</useroptin>
|
| 13 |
+
</helpers>
|
| 14 |
+
<models>
|
| 15 |
+
<newsletter>
|
| 16 |
+
<rewrite>
|
| 17 |
+
<subscriber>Conlabz_Useroptin_Model_Newsletter_Subscriber</subscriber>
|
| 18 |
+
</rewrite>
|
| 19 |
+
</newsletter>
|
| 20 |
+
<useroptin>
|
| 21 |
+
<class>Conlabz_Useroptin_Model</class>
|
| 22 |
+
</useroptin>
|
| 23 |
+
</models>
|
| 24 |
+
</global>
|
| 25 |
+
<frontend>
|
| 26 |
+
<routers>
|
| 27 |
+
<useroptin>
|
| 28 |
+
<use>standard</use>
|
| 29 |
+
<args>
|
| 30 |
+
<module>Conlabz_Useroptin</module>
|
| 31 |
+
<frontName>Useroptin</frontName>
|
| 32 |
+
</args>
|
| 33 |
+
</useroptin>
|
| 34 |
+
<newsletter>
|
| 35 |
+
<use>standard</use>
|
| 36 |
+
<args>
|
| 37 |
+
<modules>
|
| 38 |
+
<Conlabz_Useroptin before="Mage_Newsletter">Conlabz_Useroptin</Conlabz_Useroptin>
|
| 39 |
+
</modules>
|
| 40 |
+
</args>
|
| 41 |
+
</newsletter>
|
| 42 |
+
<customer>
|
| 43 |
+
<args>
|
| 44 |
+
<modules>
|
| 45 |
+
<Conlabz_Useroptin before="Mage_Customer">Conlabz_Useroptin</Conlabz_Useroptin>
|
| 46 |
+
</modules>
|
| 47 |
+
</args>
|
| 48 |
+
</customer>
|
| 49 |
+
</routers>
|
| 50 |
+
<layout>
|
| 51 |
+
<updates>
|
| 52 |
+
<useroptin>
|
| 53 |
+
<file>useroptin.xml</file>
|
| 54 |
+
</useroptin>
|
| 55 |
+
</updates>
|
| 56 |
+
</layout>
|
| 57 |
+
</frontend>
|
| 58 |
+
<adminhtml>
|
| 59 |
+
<translate>
|
| 60 |
+
<modules>
|
| 61 |
+
<Conlabz_Useroptin>
|
| 62 |
+
<files>
|
| 63 |
+
<default>Conlabz_CleverReach.csv</default>
|
| 64 |
+
</files>
|
| 65 |
+
</Conlabz_Useroptin>
|
| 66 |
+
</modules>
|
| 67 |
+
</translate>
|
| 68 |
+
</adminhtml>
|
| 69 |
+
</config>
|
app/code/local/Conlabz/Useroptin/etc/system.xml
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<sections>
|
| 4 |
+
<newsletter>
|
| 5 |
+
<groups>
|
| 6 |
+
<subscription>
|
| 7 |
+
<fields>
|
| 8 |
+
<confirm_logged_email_template translate="label">
|
| 9 |
+
<label>Logged user need to confirm</label>
|
| 10 |
+
<frontend_type>select</frontend_type>
|
| 11 |
+
<source_model>adminhtml/system_config_source_yesno</source_model>
|
| 12 |
+
<sort_order>20</sort_order>
|
| 13 |
+
<show_in_default>1</show_in_default>
|
| 14 |
+
<show_in_website>1</show_in_website>
|
| 15 |
+
<show_in_store>1</show_in_store>
|
| 16 |
+
</confirm_logged_email_template>
|
| 17 |
+
</fields>
|
| 18 |
+
</subscription>
|
| 19 |
+
</groups>
|
| 20 |
+
</newsletter>
|
| 21 |
+
</sections>
|
| 22 |
+
</config>
|
app/etc/modules/Conlabz_Useroptin.xml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<config>
|
| 3 |
+
<modules>
|
| 4 |
+
<Conlabz_Useroptin>
|
| 5 |
+
<active>true</active>
|
| 6 |
+
<codePool>local</codePool>
|
| 7 |
+
</Conlabz_Useroptin>
|
| 8 |
+
</modules>
|
| 9 |
+
</config>
|
package.xml
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<?xml version="1.0"?>
|
| 2 |
+
<package>
|
| 3 |
+
<name>Conlabz_Useroptin</name>
|
| 4 |
+
<version>1.0.0</version>
|
| 5 |
+
<stability>stable</stability>
|
| 6 |
+
<license uri="http://www.opensource.org/licenses/gpl-license.php">GNU General Public License (GPL)</license>
|
| 7 |
+
<channel>community</channel>
|
| 8 |
+
<extends/>
|
| 9 |
+
<summary>Newsletter opt-in for registered users</summary>
|
| 10 |
+
<description>Extension will give possibility enable newsletter confirmation (opt-in) for already registered users.
|
| 11 |
+

|
| 12 |
+
Die Extension unterstützt die Möglichkeit einer E-Mail Bestätigung für bereits registrierte Nutzer.</description>
|
| 13 |
+
<notes>Init extension version</notes>
|
| 14 |
+
<authors><author><name>Conlabz GmbH</name><user>conlabz</user><email>info@conlabz.de</email></author></authors>
|
| 15 |
+
<date>2012-10-31</date>
|
| 16 |
+
<time>12:35:08</time>
|
| 17 |
+
<contents><target name="magelocal"><dir name="Conlabz"><dir name="Useroptin"><dir><dir name="Model"><dir name="Newsletter"><file name="Subscriber.php" hash="caf374c0edd74e7790156b9e11dbeeb5"/></dir></dir><dir name="controllers"><file name="AccountController.php" hash="ce0480909da1e826004c369683f869f8"/><file name="ManageController.php" hash="5c992a56639ff73d7e11b727d7234bd7"/></dir><dir name="etc"><file name="config.xml" hash="1f8bbe36a855612700d547cbf7d0f65a"/><file name="system.xml" hash="c1b2c86ab52c60983cc2418b351b4b97"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Conlabz_Useroptin.xml" hash="3ea42c7b0f6070edce5ffc159374a8f3"/></dir></target></contents>
|
| 18 |
+
<compatible/>
|
| 19 |
+
<dependencies><required><php><min>5.2.13</min><max>5.4.7</max></php></required></dependencies>
|
| 20 |
+
</package>
|
