Wmdlogincheck - Version 1.0.1

Version Notes

Installation Instructions:
http://eklatant.ch/customer-service/

Extension Readme:
http://eklatant.ch/wmdlogincheck-readme/

- fixed error in Helper/Observer
- fixed error for pathInfo /
- added error for disallowing CMS Start Page

Download this release

Release Info

Developer Dominik Wyss
Extension Wmdlogincheck
Version 1.0.1
Comparing to
See all releases


Version 1.0.1

app/code/community/Wmd/Wmdlogincheck/Helper/Data.php ADDED
@@ -0,0 +1,84 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Wmd_Wmdlogincheck_Helper_Data
4
+ *
5
+ * WMD Web-Manufaktur/Digiswiss
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the EULA
9
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
10
+ *
11
+ * @category Wmd
12
+ * @package Wmd_Wmdlogincheck
13
+ * @author Dominik Wyss <info@eklatant.ch>
14
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
15
+ * @link http://www.eklatant.ch/
16
+ * @license http://eklatant.ch/WMD-License-Community.txt
17
+ */?>
18
+ <?php
19
+ class Wmd_Wmdlogincheck_Helper_Data extends Mage_Core_Helper_Abstract
20
+ {
21
+
22
+ const CUSTOMER_ACCOUNT_CREATE = 'customer_account_create';
23
+
24
+ const CUSTOMER_ACCOUNT_FORGOTPASSWORD = 'customer_account_forgotpassword';
25
+
26
+ protected $_allowedActionNames;
27
+
28
+ /**
29
+ * return allowed actions.
30
+ *
31
+ * @return string
32
+ */
33
+
34
+ protected function _returnAllowed()
35
+ {
36
+ if (!$this->_allowedActionNames) {
37
+ $this->_allowedActionNames = Mage::getStoreConfig('wmdlogincheck/actions/allowed');
38
+ }
39
+ return $this->_allowedActionNames;
40
+ }
41
+
42
+ /**
43
+ * Check for customer_account_forgotpassword in allowed actions.
44
+ *
45
+ * @return boolean
46
+ */
47
+ public function returnTitle()
48
+ {
49
+ if (!$this->canCreateAccount())
50
+ {
51
+ return 'Login';
52
+ }
53
+ return 'Login or Create an Account';
54
+ }
55
+
56
+ /**
57
+ * Check for customer_account_create in allowed actions.
58
+ *
59
+ * @return boolean
60
+ */
61
+ public function canCreateAccount()
62
+ {
63
+ if (strstr($this->_returnAllowed(), $this::CUSTOMER_ACCOUNT_CREATE))
64
+ {
65
+ return true;
66
+ }
67
+ return false;
68
+ }
69
+
70
+ /**
71
+ * Check for customer_account_forgotpassword in allowed actions.
72
+ *
73
+ * @return boolean
74
+ */
75
+ public function canGetNewPassword()
76
+ {
77
+ if (strstr($this->_returnAllowed(), $this::CUSTOMER_ACCOUNT_FORGOTPASSWORD))
78
+ {
79
+ return true;
80
+ }
81
+ return false;
82
+ }
83
+
84
+ }
app/code/community/Wmd/Wmdlogincheck/Helper/Observer.php ADDED
@@ -0,0 +1,80 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Wmd_Wmdlogincheck_Helper_Observer
4
+ *
5
+ * WMD Web-Manufaktur/Digiswiss
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the EULA
9
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
10
+ *
11
+ * @category Wmd
12
+ * @package Wmd_Wmdlogincheck
13
+ * @author Dominik Wyss <info@eklatant.ch>
14
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
15
+ * @link http://www.eklatant.ch/
16
+ * @license http://eklatant.ch/WMD-License-Community.txt
17
+ */?>
18
+ <?php
19
+ class Wmd_Wmdlogincheck_Helper_Observer extends Mage_Core_Helper_Abstract
20
+ {
21
+ /**
22
+ * Customer session check for isLoggedIn.
23
+ * Ignore allowed paths and allowed customer account actions.
24
+ * Redirect all other requests to customer account login page.
25
+ *
26
+ * @param object $observer
27
+ *
28
+ * @return object
29
+ */
30
+
31
+ public function checkLogin($observer)
32
+ {
33
+ if (1 == Mage::getStoreConfig('wmdlogincheck/general/enable'))
34
+ {
35
+ $isLoggedIn = Mage::getSingleton( 'customer/session' )->isLoggedIn();
36
+
37
+ $allowedPath = false;
38
+ // set the customer account action names you want users to be able to access whitout being logged in
39
+ $allowedPathInfos = Mage::getStoreConfig('wmdlogincheck/pages/allowed');
40
+
41
+ $allowedAction = false;
42
+ // set the cms pages url keys you want users to be able to access whitout being logged in
43
+ $allowedActionNames = Mage::getStoreConfig('wmdlogincheck/actions/allowed');
44
+
45
+ // make sure the account login page remains accessible
46
+ $allowedActionNames .= ',\'customer_account_login\',\'customer_account_confirm\'';
47
+
48
+ // call event from observer
49
+ $event = $observer->getEvent();
50
+ // call action from event
51
+ $controller = $event->getAction();
52
+
53
+ // get pathInfo of controller request
54
+ $requestPathInfo = $controller->getRequest()->getPathInfo();
55
+
56
+ // set allowedPath to true if allowedPathInfos contains the current PathInfo
57
+ if ($path = str_replace('/','', $requestPathInfo))
58
+ {
59
+ $allowedPath = is_int(strpos($allowedPathInfos, $path));
60
+ }
61
+ elseif ('/' == $requestPathInfo)
62
+ {
63
+ $allowedPath = is_int(strpos($allowedPathInfos, Mage::getStoreConfig('web/default/cms_home_page')));
64
+ }
65
+
66
+ // set allowedAction to true if allowedActionNames contains the current FullActionName
67
+ $allowedAction = is_int(strpos($allowedActionNames, $controller->getFullActionName()));
68
+
69
+ // redirect to account login: if there is no login,
70
+ // not an allowed cms page nor an allowed customer account action
71
+ if (!$isLoggedIn && !$allowedPath && !$allowedAction)
72
+ {
73
+ $controller->getResponse()->setRedirect(Mage::getUrl('customer/account/login'));
74
+ }
75
+ }
76
+ return $this;
77
+ }
78
+
79
+
80
+ }
app/code/community/Wmd/Wmdlogincheck/Model/System/Config/Backend/Wmdlogincheck/Pages/Allowed.php ADDED
@@ -0,0 +1,38 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Wmd_Wmdlogincheck_Model_System_Config_Backend_Wmdlogincheck_Pages_Allowed
4
+ *
5
+ * WMD Web-Manufaktur/Digiswiss
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the EULA
9
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
10
+ *
11
+ * @category Wmd
12
+ * @package Wmd_Wmdlogincheck
13
+ * @author Dominik Wyss <info@eklatant.ch>
14
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
15
+ * @link http://www.eklatant.ch/
16
+ * @license http://eklatant.ch/WMD-License-Community.txt
17
+ */?>
18
+ <?php
19
+ class Wmd_Wmdlogincheck_Model_System_Config_Backend_Wmdlogincheck_Pages_Allowed extends Mage_Core_Model_Config_Data
20
+ {
21
+ public function _beforeSave()
22
+ {
23
+ if ($this->isValueChanged() && $this->getValue()) {
24
+ $cmsHomePage = Mage::getStoreConfig('web/default/cms_home_page');
25
+ // throw error if the configurations cms_home_page is not in the array of allowed pages
26
+ if (!in_array($cmsHomePage, $this->getValue())) {
27
+ Mage::getSingleton('adminhtml/session')->addError(
28
+ Mage::helper('wmdlogincheck')->__(
29
+ 'System/Configuration/Web/Default Pages/CMS Home Page identifier is \'%s\'. '
30
+ . 'You should allow this page or set CMS Home Page to some page you allow here '
31
+ . 'to avoid this requests being forwarded to the Customer Login page.', $cmsHomePage)
32
+ );
33
+ }
34
+ }
35
+
36
+ return $this;
37
+ }
38
+ }
app/code/community/Wmd/Wmdlogincheck/Model/System/Config/Source/Customer/Logincheck/Actions.php ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Wmd_Wmdlogincheck_Model_System_Config_Source_Customer_Logincheck_Actions
4
+ *
5
+ * WMD Web-Manufaktur/Digiswiss
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the EULA
9
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
10
+ *
11
+ * @category Wmd
12
+ * @package Wmd_Wmdlogincheck
13
+ * @author Dominik Wyss <info@eklatant.ch>
14
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
15
+ * @link http://www.eklatant.ch/
16
+ * @license http://eklatant.ch/WMD-License-Community.txt
17
+ */?>
18
+ <?php
19
+ class Wmd_Wmdlogincheck_Model_System_Config_Source_Customer_Logincheck_Actions
20
+ {
21
+ /**
22
+ * Actions
23
+ * @var array
24
+ */
25
+ protected $_options;
26
+
27
+ /**
28
+ * Return the avaiable customer account actions
29
+ *
30
+ * @param boolean $isMultiselect if Multiselect for the order status selection is allowed
31
+ *
32
+ * @return array
33
+ */
34
+ public function toOptionArray($isMultiselect=false)
35
+ {
36
+ if (!$this->_options) {
37
+ $this->_options = array(
38
+ array('value' => '', 'label' => Mage::helper('wmdlogincheck')->__('Disable All')),
39
+ array('value' => '/customer_account_create/', 'label' => Mage::helper('wmdlogincheck')->__('Customer Account Create')),
40
+ array('value' => '/customer_account_forgotpassword/', 'label' => Mage::helper('wmdlogincheck')->__('Customer Account Forgot Password')),
41
+ // array('value' => '/customer_account_confirmation/', 'label' => Mage::helper('wmdlogincheck')->__('Customer Account Confirmation')),
42
+ );
43
+ return $this->_options;
44
+ }
45
+ }
46
+ }
app/code/community/Wmd/Wmdlogincheck/WMD-License-Community.txt ADDED
@@ -0,0 +1,77 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ WMD EULA
2
+ www.eklatant.ch
3
+ WM http://www.web-manufaktur.com/ D www.digiswiss.ch
4
+
5
+ THIS LICENSE AGREEMENT (HEREINAFTER AGREEMENT) IS AN AGREEMENT BETWEEN YOU (THE
6
+ PERSON OR COMPANY WHO IS BEING LICENSED TO USE THE SOFTWARE OR DOCUMENTATION)
7
+ AND WMD (HEREINAFTER WE/US/OUR). THE AGREEMENT APPLIES TO ALL
8
+ PRODUCTS/SOFTWARE/SCRIPTS/SERVICES YOU PURCHASE FROM US.
9
+
10
+ 1. By purchasing the Software you acknowledge that you have read this Agreement,
11
+ and that you agree to the content of the Agreement and its terms, and agree
12
+ to use the Software in compliance with this Agreement.
13
+
14
+ 2. The Agreement comes into legal force at the moment when you order our
15
+ Software from our site or receive it through email or on data medium at the
16
+ our discretion.
17
+
18
+ 3. We are the copyright holder of the Software. The Software or a portion of it
19
+ is a copyrightable matter and is liable to protection by the law. Any
20
+ activity that infringes terms of this Agreement violates copyright law and
21
+ will be prosecuted according to the current law. We reserve the right to
22
+ revoke the license of any user who is holding an invalid license.
23
+
24
+ 4. This Agreement gives you the right to use only one copy of the Software on
25
+ one Magento installation solely for your own personal or business use,
26
+ subject to all other terms of this Agreement. A separate License should be
27
+ purchased for each new Software installation. Any distribution of the Software
28
+ without our consent, including noncommercial distribution is regarded as
29
+ violation of this Agreement and entails liability, according to the current law.
30
+
31
+ 5. You may not use any part of the code in whole or part in any other software
32
+ or product or website.
33
+
34
+ 6. You may not give, sell, distribute, sub-license, rent, lease or lend any
35
+ portion of the Software or Documentation to anyone. You may not place the
36
+ Software on a server so that it is accessible via a public network such as
37
+ the Internet for distribution purposes.
38
+
39
+ 7. You are bound to preserve the copyright information intact, this includes the
40
+ text/link at bottom.
41
+
42
+ 8. We reserve the right to publish a selected list of users of our Software.
43
+
44
+ 9. We will not be liable to you for any damages (including any loss of
45
+ profits/saving, or incidental or consequential) caused to you, your
46
+ information and your business arising out of the use or inability to use
47
+ this Software.
48
+
49
+ 10. We are not liable for prosecution arising from use of the Software against
50
+ law or for any illegal use.
51
+
52
+ 11. If you fail to use the Software in accordance with the terms and conditions
53
+ of this License Agreement, it constitutes a breach of the agreement, and
54
+ your license to use the program is revoked.
55
+
56
+ 12. WMD reserves the right to change this license agreement at any
57
+ time and impose its clauses at any given time.
58
+
59
+ 13. License agreement remains effective until terminated. We retain the right to
60
+ terminate your license to use the Software at any time, if in its sole
61
+ discretion, you are not abiding by the terms of the Agreement, including,
62
+ but not limited to, obscuring or removing any link or copyright notice as
63
+ specified in this agreement. You may terminate it at any time by destroying
64
+ all copies of the Software. Termination of this Agreement does not bind us
65
+ to return you the amount spent for purchase of the Software.
66
+
67
+ 14. If you continue to use the Software after WMD gives you notice
68
+ of termination of your license, you hereby agree to accept an injunction to
69
+ enjoin you from its further use and to pay all costs (including but not
70
+ limited to reasonable attorney fees) to enforce our revocation of your
71
+ license and any damages suffered by us because of your misuse of
72
+ the Software.
73
+
74
+ 15. This software designed for Magento COMMUNITY edition WMD does not
75
+ guarantee correct work of this extension on any other Magento edition except
76
+ Magento COMMUNITY edition. WMD does not provide extension support in
77
+ case of incorrect edition usage.
app/code/community/Wmd/Wmdlogincheck/etc/config.xml ADDED
@@ -0,0 +1,95 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * WMD Web-Manufaktur/Digiswiss
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the EULA
8
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
9
+ *
10
+ * @category Wmd
11
+ * @package Wmd_Wmdlogincheck
12
+ * @author Dominik Wyss <info@eklatant.ch>
13
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
14
+ * @link http://www.eklatant.ch/
15
+ * @license http://eklatant.ch/WMD-License-Community.txt
16
+ */
17
+ -->
18
+ <config>
19
+ <modules>
20
+ <Wmd_Wmdlogincheck>
21
+ <version>1.0.0</version>
22
+ </Wmd_Wmdlogincheck>
23
+ </modules>
24
+ <frontend>
25
+ <events>
26
+ <controller_action_layout_load_before>
27
+ <observers>
28
+ <wmd_wmdlogincheck_observer>
29
+ <type>singleton</type>
30
+ <class>Wmd_Wmdlogincheck_Helper_Observer</class>
31
+ <method>checkLogin</method>
32
+ </wmd_wmdlogincheck_observer>
33
+ </observers>
34
+ </controller_action_layout_load_before>
35
+ </events>
36
+ </frontend>
37
+ <adminhtml>
38
+ <acl>
39
+ <resources>
40
+ <all>
41
+ <title>Allow Everything</title>
42
+ </all>
43
+ <admin>
44
+ <children>
45
+ <system>
46
+ <children>
47
+ <config>
48
+ <children>
49
+ <wmdlogincheck>
50
+ <title>Login Check</title>
51
+ </wmdlogincheck>
52
+ </children>
53
+ </config>
54
+ </children>
55
+ </system>
56
+ </children>
57
+ </admin>
58
+ </resources>
59
+ </acl>
60
+ <translate>
61
+ <modules>
62
+ <Wmd_Wmdlogincheck>
63
+ <files>
64
+ <default>Wmd_Wmdlogincheck.csv</default>
65
+ </files>
66
+ </Wmd_Wmdlogincheck>
67
+ </modules>
68
+ </translate>
69
+ </adminhtml>
70
+ <global>
71
+ <models>
72
+ <wmdlogincheck>
73
+ <class>Wmd_Wmdlogincheck_Model</class>
74
+ </wmdlogincheck>
75
+ </models>
76
+ <helpers>
77
+ <wmdlogincheck>
78
+ <class>Wmd_Wmdlogincheck_Helper</class>
79
+ </wmdlogincheck>
80
+ </helpers>
81
+ </global>
82
+ <default>
83
+ <wmdlogincheck>
84
+ <general>
85
+ <enable>0</enable>
86
+ </general>
87
+ <pages>
88
+ <allowed><![CDATA[no-route,home,about-magento-demo-store,customer-service,enable-cookies]]></allowed>
89
+ </pages>
90
+ <actions>
91
+ <allowed><![CDATA[/customer_account_create/,/customer_account_forgotpassword/]]></allowed>
92
+ </actions>
93
+ </wmdlogincheck>
94
+ </default>
95
+ </config>
app/code/community/Wmd/Wmdlogincheck/etc/system.xml ADDED
@@ -0,0 +1,93 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * WMD Web-Manufaktur/Digiswiss
5
+ * NOTICE OF LICENSE
6
+ *
7
+ * This source file is subject to the EULA
8
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
9
+ *
10
+ * @category Wmd
11
+ * @package Wmd_Wmdlogincheck
12
+ * @author Dominik Wyss <info@eklatant.ch>
13
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
14
+ * @link http://www.eklatant.ch/
15
+ * @license http://eklatant.ch/WMD-License-Community.txt
16
+ */
17
+ -->
18
+ <config>
19
+ <sections>
20
+ <wmdlogincheck translate="label" module="wmdlogincheck">
21
+ <class>separator-top</class>
22
+ <label>WMD Login Check</label>
23
+ <tab>customer</tab>
24
+ <sort_order>135</sort_order>
25
+ <show_in_default>1</show_in_default>
26
+ <show_in_website>1</show_in_website>
27
+ <show_in_store>1</show_in_store>
28
+ <groups>
29
+ <general translate="label">
30
+ <label>General Login Check Configuration</label>
31
+ <frontend_type>text</frontend_type>
32
+ <sort_order>10</sort_order>
33
+ <show_in_default>1</show_in_default>
34
+ <show_in_website>1</show_in_website>
35
+ <show_in_store>1</show_in_store>
36
+ <fields>
37
+ <enable translate="label,comment">
38
+ <label>Enable Login Check</label>
39
+ <frontend_type>select</frontend_type>
40
+ <source_model>adminhtml/system_config_source_yesno</source_model>
41
+ <sort_order>1</sort_order>
42
+ <show_in_default>1</show_in_default>
43
+ <show_in_website>1</show_in_website>
44
+ <show_in_store>1</show_in_store>
45
+ <comment><![CDATA[Select 'Yes' to stop users accessing the catalog without logging in.]]></comment>
46
+ </enable>
47
+ </fields>
48
+ </general>
49
+ <pages translate="label">
50
+ <label>Login Check Pages</label>
51
+ <frontend_type>text</frontend_type>
52
+ <sort_order>20</sort_order>
53
+ <show_in_default>1</show_in_default>
54
+ <show_in_website>1</show_in_website>
55
+ <show_in_store>1</show_in_store>
56
+ <fields>
57
+ <allowed translate="label,comment">
58
+ <label>Allowed Pages</label>
59
+ <frontend_type>multiselect</frontend_type>
60
+ <source_model>Mage_Cms_Model_Resource_Page_Collection</source_model>
61
+ <backend_model>wmdlogincheck/system_config_backend_wmdlogincheck_pages_allowed</backend_model>
62
+ <sort_order>10</sort_order>
63
+ <show_in_default>1</show_in_default>
64
+ <show_in_website>1</show_in_website>
65
+ <show_in_store>1</show_in_store>
66
+ <comment><![CDATA[Select(Ctrl + Click to select more then one) the pages users can access without logging in.]]></comment>
67
+ </allowed>
68
+ </fields>
69
+ </pages>
70
+ <actions translate="label">
71
+ <label>Login Check Actions</label>
72
+ <frontend_type>text</frontend_type>
73
+ <sort_order>30</sort_order>
74
+ <show_in_default>1</show_in_default>
75
+ <show_in_website>1</show_in_website>
76
+ <show_in_store>1</show_in_store>
77
+ <fields>
78
+ <allowed translate="label,comment">
79
+ <label>Allowed Actions</label>
80
+ <frontend_type>multiselect</frontend_type>
81
+ <source_model>Wmd_Wmdlogincheck_Model_System_Config_Source_Customer_Logincheck_Actions</source_model>
82
+ <sort_order>10</sort_order>
83
+ <show_in_default>1</show_in_default>
84
+ <show_in_website>1</show_in_website>
85
+ <show_in_store>1</show_in_store>
86
+ <comment><![CDATA[Select(Ctrl + Click to select more then one) the actions users can access without logging in.]]></comment>
87
+ </allowed>
88
+ </fields>
89
+ </actions>
90
+ </groups>
91
+ </wmdlogincheck>
92
+ </sections>
93
+ </config>
app/design/frontend/default/default/template/customer/form/login.phtml ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * /app/design/frontend/default/default/template/customer/form/login.phtml
4
+ *
5
+ * WMD Web-Manufaktur/Digiswiss
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the EULA
9
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
10
+ *
11
+ * @category Wmd
12
+ * @package Wmd_Wmdlogincheck
13
+ * @author Dominik Wyss <info@eklatant.ch>
14
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
15
+ * @link http://www.eklatant.ch/
16
+ * @license http://eklatant.ch/WMD-License-Community.txt
17
+ ?>
18
+ <?php
19
+ /**
20
+ * Customer login form template
21
+ *
22
+ * @see Mage_Customer_Block_Form_Login
23
+ */
24
+ ?>
25
+ <div class="account-login">
26
+ <div class="page-title">
27
+ <h1><?php echo $this->__(Mage::helper('wmdlogincheck')->returnTitle()) ?></h1>
28
+ </div>
29
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
30
+ <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
31
+ <div class="col2-set">
32
+ <div class="col-1 new-users">
33
+ <div class="content">
34
+ <?php if (Mage::helper('wmdlogincheck')->canCreateAccount()): ?>
35
+ <h2><?php echo $this->__('New Customers') ?></h2>
36
+ <p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
37
+ <?php endif; ?>
38
+ </div>
39
+ </div>
40
+ <div class="col-2 registered-users">
41
+ <div class="content">
42
+ <h2><?php echo $this->__('Registered Customers') ?></h2>
43
+ <p><?php echo $this->__('If you have an account with us, please log in.') ?></p>
44
+ <ul class="form-list">
45
+ <li>
46
+ <label for="email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
47
+ <div class="input-box">
48
+ <input type="text" name="login[username]" value="<?php echo $this->htmlEscape($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo $this->__('Email Address') ?>" />
49
+ </div>
50
+ </li>
51
+ <li>
52
+ <label for="pass" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
53
+ <div class="input-box">
54
+ <input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $this->__('Password') ?>" />
55
+ </div>
56
+ </li>
57
+ </ul>
58
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <div class="col2-set">
63
+ <div class="col-1 new-users">
64
+ <div class="buttons-set">
65
+ <?php if (Mage::helper('wmdlogincheck')->canCreateAccount()): ?>
66
+ <button type="button" title="<?php echo $this->__('Create an Account') ?>" class="button" onclick="window.location='<?php echo $this->getCreateAccountUrl() ?>';"><span><span><?php echo $this->__('Create an Account') ?></span></span></button>
67
+ <?php else: ?>
68
+ <button type="button" class="button" style="visibility:hidden;"><span><span> </span></span></button>
69
+ <?php endif; ?>
70
+ </div>
71
+ </div>
72
+ <div class="col-2 registered-users">
73
+ <div class="buttons-set">
74
+ <?php if (Mage::helper('wmdlogincheck')->canGetNewPassword()): ?>
75
+ <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
76
+ <?php endif; ?>
77
+ <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </form>
82
+ <script type="text/javascript">
83
+ //<![CDATA[
84
+ var dataForm = new VarienForm('login-form', true);
85
+ //]]>
86
+ </script>
87
+ </div>
app/design/frontend/default/default/template/persistent/customer/form/login.phtml ADDED
@@ -0,0 +1,87 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * /app/design/frontend/default/default/template/persistent/customer/form/login.phtml
4
+ *
5
+ * WMD Web-Manufaktur/Digiswiss
6
+ * NOTICE OF LICENSE
7
+ *
8
+ * This source file is subject to the EULA
9
+ * that you find at http://eklatant.ch/WMD-License-Community.txt
10
+ *
11
+ * @category Wmd
12
+ * @package Wmd_Wmdlogincheck
13
+ * @author Dominik Wyss <info@eklatant.ch>
14
+ * @copyright 2011 Dominik Wyss | Digiswiss (http://www.digiswiss.ch)
15
+ * @link http://www.eklatant.ch/
16
+ * @license http://eklatant.ch/WMD-License-Community.txt
17
+ ?>
18
+ <?php
19
+ /**
20
+ * Customer login form template
21
+ *
22
+ * @see Mage_Customer_Block_Form_Login
23
+ */
24
+ ?>
25
+ <div class="account-login">
26
+ <div class="page-title">
27
+ <h1><?php echo $this->__(Mage::helper('wmdlogincheck')->returnTitle()) ?></h1>
28
+ </div>
29
+ <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
30
+ <form action="<?php echo $this->getPostActionUrl() ?>" method="post" id="login-form">
31
+ <div class="col2-set">
32
+ <div class="col-1 new-users">
33
+ <div class="content">
34
+ <?php if (Mage::helper('wmdlogincheck')->canCreateAccount()): ?>
35
+ <h2><?php echo $this->__('New Customers') ?></h2>
36
+ <p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
37
+ <?php endif; ?>
38
+ </div>
39
+ </div>
40
+ <div class="col-2 registered-users">
41
+ <div class="content">
42
+ <h2><?php echo $this->__('Registered Customers') ?></h2>
43
+ <p><?php echo $this->__('If you have an account with us, please log in.') ?></p>
44
+ <ul class="form-list">
45
+ <li>
46
+ <label for="email" class="required"><em>*</em><?php echo $this->__('Email Address') ?></label>
47
+ <div class="input-box">
48
+ <input type="text" name="login[username]" value="<?php echo $this->htmlEscape($this->getUsername()) ?>" id="email" class="input-text required-entry validate-email" title="<?php echo $this->__('Email Address') ?>" />
49
+ </div>
50
+ </li>
51
+ <li>
52
+ <label for="pass" class="required"><em>*</em><?php echo $this->__('Password') ?></label>
53
+ <div class="input-box">
54
+ <input type="password" name="login[password]" class="input-text required-entry validate-password" id="pass" title="<?php echo $this->__('Password') ?>" />
55
+ </div>
56
+ </li>
57
+ </ul>
58
+ <p class="required"><?php echo $this->__('* Required Fields') ?></p>
59
+ </div>
60
+ </div>
61
+ </div>
62
+ <div class="col2-set">
63
+ <div class="col-1 new-users">
64
+ <div class="buttons-set">
65
+ <?php if (Mage::helper('wmdlogincheck')->canCreateAccount()): ?>
66
+ <button type="button" title="<?php echo $this->__('Create an Account') ?>" class="button" onclick="window.location='<?php echo $this->getCreateAccountUrl() ?>';"><span><span><?php echo $this->__('Create an Account') ?></span></span></button>
67
+ <?php else: ?>
68
+ <button type="button" class="button" style="visibility:hidden;"><span><span> </span></span></button>
69
+ <?php endif; ?>
70
+ </div>
71
+ </div>
72
+ <div class="col-2 registered-users">
73
+ <div class="buttons-set">
74
+ <?php if (Mage::helper('wmdlogincheck')->canGetNewPassword()): ?>
75
+ <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
76
+ <?php endif; ?>
77
+ <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
78
+ </div>
79
+ </div>
80
+ </div>
81
+ </form>
82
+ <script type="text/javascript">
83
+ //<![CDATA[
84
+ var dataForm = new VarienForm('login-form', true);
85
+ //]]>
86
+ </script>
87
+ </div>
app/etc/modules/Wmd_Wmdlogincheck.xml ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <modules>
4
+ <Wmd_Wmdlogincheck>
5
+ <active>true</active>
6
+ <codePool>community</codePool>
7
+ </Wmd_Wmdlogincheck>
8
+ </modules>
9
+ </config>
app/locale/de_CH/Wmd_Wmdlogincheck.csv ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "WMD Login Check","WMD Anmeldungsprüfung"
2
+ "General Login Check Configuration","Allgemeine Anmeldungsprüfung Konfiguration"
3
+ "Enable Login Check","Aktiviere Anmeldungsprüfung"
4
+ "Select 'Yes' to stop users accessing the catalog without logging in.","'Ja' anwählen um nur angemeldeten Nutzern Zugang zum Shop zu gewähren."
5
+ "Yes","Ja"
6
+ "No","Nein"
7
+ "Login Check Pages","Anmeldungsprüfung Seiten"
8
+ "Allowed Pages","Erlaubte Seiten"
9
+ "Select(Ctrl + Click to select more then one) the pages users can access without logging in.","Seiten auswählen(Strg + Klick um mehr als einen Eintrag auszuwählen) die Nutzer ohne Anmeldung besuchen können."
10
+ "Contacts","Kontakte"
11
+ "Enable Cookies","Cookies aktivieren"
12
+ "Home","Start"
13
+ "Customer Service","Kundendienst"
14
+ "Login Check Actions","Anmeldungsprüfung Aktionen"
15
+ "Allowed Actions","Erlaubte Aktionen"
16
+ "Select(Ctrl + Click to select more then one) the actions users can access without logging in.","Aktionen auswählen(Strg + Klick um mehr als einen Eintrag auszuwählen) die Nutzer ohne Anmeldung durchführen können."
17
+ "Disable All","Alle deaktivieren"
18
+ "Customer Account Login","Kundenkonto Anmeldung"
19
+ "Customer Account Create","Kundenkonto erstellen"
20
+ "Customer Account Forgot Password","Kundenkonto Passwort vergessen"
21
+ "Customer Account Confirmation","Kundenkonto Bestätigung"
22
+ "System/Configuration/Web/Default Pages/CMS Home Page identifier is '%s'. You should allow this page or set CMS Home Page to some page you allow here to avoid this requests being forwarded to the Customer Login page.","System/Konfiguration/Web/Standardseiten/Startseite Bezeichner ist '%s'. Sie sollten diese Seite erlauben oder eine Standardseite festlegen die hier erlaubt ist um zu verhindern, dass Anfragen für die Standardseite auf die Kundenlogin Seite weitergeleitet werden."
app/locale/de_DE/Wmd_Wmdlogincheck.csv ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "WMD Login Check","WMD Login Check"
2
+ "General Login Check Configuration","General Login Check Configuration"
3
+ "Enable Login Check","Enable Login Check"
4
+ "Select 'Yes' to stop users accessing the catalog without logging in.","Select 'Yes' to stop users accessing the catalog without loging in."
5
+ "Yes","Yes"
6
+ "No","No"
7
+ "Login Check Pages","Login Check Pages"
8
+ "Allow Pages","Allow Pages"
9
+ "Select(Ctrl + Click to select more then one) the pages users can access without logging in.","Select(Ctrl + Click to select more then one) the pages users can access without logging in."
10
+ "Contacts","Contacts"
11
+ "Enable Cookies","Enable Cookies"
12
+ "Home","Home"
13
+ "Customer Service","Customer Service"
14
+ "Login Check Actions","Login Check Actions"
15
+ "Allow Actions","Allow Actions"
16
+ "Select(Ctrl + Click to select more then one) the actions users can access without logging in.","Select(Ctrl + Click to select more then one) the actions users can access without logging in."
17
+ "Disable All","Disable All"
18
+ "Customer Account Login","Customer Account Login"
19
+ "Customer Account Create","Customer Account Create"
20
+ "Customer Account Forgot Password","Customer Account Forgot Password"
21
+ "Customer Account Confirmation","Customer Account Confirmation"
22
+ "System/Configuration/Web/Default Pages/CMS Home Page identifier is '%s'. You should allow this page or set CMS Home Page to some page you allow here to avoid this requests being forwarded to the Customer Login page.","System/Configuration/Web/Default Pages/CMS Home Page identifier is '%s'. You should allow this page or set CMS Home Page to some page you allow here to avoid this requests being forwarded to the Customer Login page."
app/locale/en_US/Wmd_Wmdlogincheck.csv ADDED
@@ -0,0 +1,22 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ "WMD Login Check","WMD Login Check"
2
+ "General Login Check Configuration","General Login Check Configuration"
3
+ "Enable Login Check","Enable Login Check"
4
+ "Select 'Yes' to stop users accessing the catalog without logging in.","Select 'Yes' to stop users accessing the catalog without loging in."
5
+ "Yes","Yes"
6
+ "No","No"
7
+ "Login Check Pages","Login Check Pages"
8
+ "Allow Pages","Allow Pages"
9
+ "Select(Ctrl + Click to select more then one) the pages users can access without logging in.","Select(Ctrl + Click to select more then one) the pages users can access without logging in."
10
+ "Contacts","Contacts"
11
+ "Enable Cookies","Enable Cookies"
12
+ "Home","Home"
13
+ "Customer Service","Customer Service"
14
+ "Login Check Actions","Login Check Actions"
15
+ "Allow Actions","Allow Actions"
16
+ "Select(Ctrl + Click to select more then one) the actions users can access without logging in.","Select(Ctrl + Click to select more then one) the actions users can access without logging in."
17
+ "Disable All","Disable All"
18
+ "Customer Account Login","Customer Account Login"
19
+ "Customer Account Create","Customer Account Create"
20
+ "Customer Account Forgot Password","Customer Account Forgot Password"
21
+ "Customer Account Confirmation","Customer Account Confirmation"
22
+ "System/Configuration/Web/Default Pages/CMS Home Page is %s. You should allow this page or set CMS Home Page to some page you allow here.","System/Configuration/Web/Default Pages/CMS Home Page is %s. You should allow this page or set CMS Home Page to some page you allow here."
package.xml ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>Wmdlogincheck</name>
4
+ <version>1.0.1</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://eklatant.ch/WMD-License-Community.txt">EULA</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>No access for users without login to your website, store or store view after a view clicks in the system configuration. Not logged in users can still access the CMS pages you did set to be allowed for users without login.</summary>
10
+ <description>The B2B / Alternative Sales Model Extension offering following features:&#xD;
11
+ &#xD;
12
+ - Keep not logged in users away from your catalog, the stores or store views of your choice.&#xD;
13
+ &#xD;
14
+ - Allow / disallow CMS Pages of your choice to not logged in users.&#xD;
15
+ &#xD;
16
+ - Control the customer account actions that can be taken by users.&#xD;
17
+ &#xD;
18
+ - Deactivate / activate the Create Account section on the user login page.&#xD;
19
+ &#xD;
20
+ - Deactivate / activate the Forgott Your Password? link</description>
21
+ <notes>Installation Instructions:&#xD;
22
+ http://eklatant.ch/customer-service/&#xD;
23
+ &#xD;
24
+ Extension Readme:&#xD;
25
+ http://eklatant.ch/wmdlogincheck-readme/&#xD;
26
+ &#xD;
27
+ - fixed error in Helper/Observer&#xD;
28
+ - fixed error for pathInfo /&#xD;
29
+ - added error for disallowing CMS Start Page&#xD;
30
+ </notes>
31
+ <authors><author><name>Dominik Wyss</name><user>justanother</user><email>info@digiswiss.ch</email></author></authors>
32
+ <date>2011-11-30</date>
33
+ <time>14:27:17</time>
34
+ <contents><target name="magecommunity"><dir name="Wmd"><dir name="Wmdlogincheck"><dir name="Helper"><file name="Data.php" hash="fe80d0e9852212b63bc22cfd0d49ca65"/><file name="Observer.php" hash="449d169f5827b0fad396053f8852f939"/></dir><dir name="Model"><dir name="System"><dir name="Config"><dir name="Backend"><dir name="Wmdlogincheck"><dir name="Pages"><file name="Allowed.php" hash="932395ced40e4e931e925a1f32bf0c51"/></dir></dir></dir><dir name="Source"><dir name="Customer"><dir name="Logincheck"><file name="Actions.php" hash="1ed14d757b15812d43205f4667c432a3"/></dir></dir></dir></dir></dir></dir><file name="WMD-License-Community.txt" hash="34cc12a7bececb9f52ece3f627a9cdab"/><dir name="etc"><file name="config.xml" hash="a346e27d4476c7db86e156d2bfab4935"/><file name="system.xml" hash="7b0d8f14a2b62fb860554a834a2dafc4"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Wmd_Wmdlogincheck.xml" hash="c1914255456abe4874374b07425a8532"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Wmd_Wmdlogincheck.csv" hash="cc187fd96f7a81228d03ceceabfb91d0"/></dir><dir name="de_DE"><file name="Wmd_Wmdlogincheck.csv" hash="85079262c7365fe165973ec758af88b0"/></dir><dir name="de_CH"><file name="Wmd_Wmdlogincheck.csv" hash="3f1fb4210b62366afc162be833e36986"/></dir></target><target name="magedesign"><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="customer"><dir name="form"><file name="login.phtml" hash="78ee7289350c77241a3916a40281fd8b"/></dir></dir><dir name="persistent"><dir name="customer"><dir name="form"><file name="login.phtml" hash="990bf665b00a93baea74017390444893"/></dir></dir></dir></dir></dir></dir></dir></target></contents>
35
+ <compatible/>
36
+ <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
37
+ </package>