easymaintanance_module - Version 0.1.0

Version Notes

-New Release

Download this release

Release Info

Developer Biztech
Extension easymaintanance_module
Version 0.1.0
Comparing to
See all releases


Version 0.1.0

Files changed (35) hide show
  1. app/code/local/Biztech/Easymaintanance/Block/Adminhtml/System/Config/Date.php +21 -0
  2. app/code/local/Biztech/Easymaintanance/Block/Adminhtml/System/Config/Editor.php +10 -0
  3. app/code/local/Biztech/Easymaintanance/Block/Feedback.php +27 -0
  4. app/code/local/Biztech/Easymaintanance/Helper/Data.php +6 -0
  5. app/code/local/Biztech/Easymaintanance/Model/Observer.php +159 -0
  6. app/code/local/Biztech/Easymaintanance/controllers/IndexController.php +106 -0
  7. app/code/local/Biztech/Easymaintanance/etc/config.xml +193 -0
  8. app/code/local/Biztech/Easymaintanance/etc/system.xml +186 -0
  9. app/design/adminhtml/default/default/layout/easymaintanance.xml +14 -0
  10. app/design/frontend/default/default/layout/easymaintanance.xml +8 -0
  11. app/design/frontend/default/default/template/easymaintanance/easymaintanance.phtml +105 -0
  12. app/design/frontend/default/default/template/easymaintanance/popup_html.phtml +53 -0
  13. app/etc/modules/Biztech_Easymaintanance.xml +17 -0
  14. app/locale/de_DE/Biztech_Easymaintanance.csv +31 -0
  15. app/locale/en_GB/Biztech_Easymaintanance.csv +31 -0
  16. app/locale/en_US/Biztech_Easymaintanance.csv +31 -0
  17. app/locale/en_US/template/email/easymaintanance/contactus.html +15 -0
  18. app/locale/fr_FR/Biztech_Easymaintanance.csv +31 -0
  19. app/locale/it_IT/Biztech_Easymaintanance.csv +31 -0
  20. app/locale/nl_NL/Biztech_Easymaintanance.csv +31 -0
  21. package.xml +27 -0
  22. skin/frontend/default/default/easymaintanance/css/easymaintanance.css +42 -0
  23. skin/frontend/default/default/easymaintanance/css/popup.css +82 -0
  24. skin/frontend/default/default/easymaintanance/images/Thumbs.db +0 -0
  25. skin/frontend/default/default/easymaintanance/images/ajax-loader-onestep.gif +0 -0
  26. skin/frontend/default/default/easymaintanance/images/bg-body.png +0 -0
  27. skin/frontend/default/default/easymaintanance/images/bg-header.gif +0 -0
  28. skin/frontend/default/default/easymaintanance/images/closebox.png +0 -0
  29. skin/frontend/default/default/easymaintanance/images/feedbacktab.png +0 -0
  30. skin/frontend/default/default/easymaintanance/images/general-btn.gif +0 -0
  31. skin/frontend/default/default/easymaintanance/images/general-input-bg.jpg +0 -0
  32. skin/frontend/default/default/easymaintanance/images/i_msg-error.gif +0 -0
  33. skin/frontend/default/default/easymaintanance/images/i_msg-success.gif +0 -0
  34. skin/frontend/default/default/easymaintanance/images/time-bg.gif +0 -0
  35. skin/frontend/default/default/easymaintanance/js/popup.js +51 -0
app/code/local/Biztech/Easymaintanance/Block/Adminhtml/System/Config/Date.php ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Biztech_Easymaintanance_Block_Adminhtml_System_Config_Date extends Mage_Adminhtml_Block_System_Config_Form_Field
3
+ {
4
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
5
+ {
6
+ $date = new Varien_Data_Form_Element_Date;
7
+ $format = Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT);
8
+
9
+ $data = array(
10
+ 'name' => $element->getName(),
11
+ 'html_id' => $element->getId(),
12
+ 'image' => $this->getSkinUrl('images/grid-cal.gif'),
13
+ );
14
+ $date->setData($data);
15
+ $date->setValue($element->getValue(), $format);
16
+ $date->setFormat(Mage::app()->getLocale()->getDateFormat(Mage_Core_Model_Locale::FORMAT_TYPE_SHORT));
17
+ $date->setForm($element->getForm());
18
+
19
+ return $date->getElementHtml();
20
+ }
21
+ }
app/code/local/Biztech/Easymaintanance/Block/Adminhtml/System/Config/Editor.php ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Biztech_Easymaintanance_Block_Adminhtml_System_Config_Editor extends Mage_Adminhtml_Block_System_Config_Form_Field implements Varien_Data_Form_Element_Renderer_Interface
3
+ {
4
+ protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element){
5
+
6
+ $element->setWysiwyg(true);
7
+ $element->setConfig(Mage::getSingleton('cms/wysiwyg_config')->getConfig());
8
+ return parent::_getElementHtml($element);
9
+ }
10
+ }
app/code/local/Biztech/Easymaintanance/Block/Feedback.php ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Biztech_Easymaintanance_Block_Feedback extends Mage_Core_Block_Template
3
+ {
4
+ public function _prepareLayout()
5
+ {
6
+ return parent::_prepareLayout();
7
+ }
8
+
9
+ public function getFeedback()
10
+ {
11
+ if (!$this->hasData('feedback')) {
12
+ $this->setData('feedback', Mage::registry('feedback'));
13
+ }
14
+ return $this->getData('feedback');
15
+
16
+ }
17
+
18
+ public function addItem($type, $path)
19
+ {
20
+ $config = Mage::getStoreConfig('easymaintanance/contactus/active');
21
+ if($config == "1")
22
+ {
23
+ $head = $this->getLayout()->getBlock('head');
24
+ return $head->addItem($type,$path);
25
+ }
26
+ }
27
+ }
app/code/local/Biztech/Easymaintanance/Helper/Data.php ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
1
+ <?php
2
+
3
+ class Biztech_Easymaintanance_Helper_Data extends Mage_Core_Helper_Abstract
4
+ {
5
+
6
+ }
app/code/local/Biztech/Easymaintanance/Model/Observer.php ADDED
@@ -0,0 +1,159 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Biztech_Easymaintanance_Model_Observer
3
+ {
4
+ const XML_PATH_EMAIL_SENDER = 'contacts/email/sender_email_identity';
5
+ public function initControllerRouters($request)
6
+ {
7
+ $adminFrontName = (string)Mage::getConfig()->getNode('admin/routers/adminhtml/args/frontName');
8
+
9
+ $area = Mage::app()->getRequest()->getOriginalPathInfo();
10
+ if((!preg_match('/'.$adminFrontName.'/',$area)) && (!preg_match('/postFeedback/',$area)))
11
+ {
12
+ $storeId = Mage::app()->getStore()->getStoreId();
13
+ $isEnabled = Mage::getStoreConfig('easymaintanance/general/enabled',$storeId);
14
+
15
+ if ($isEnabled == 1)
16
+ {
17
+ $allowedIPs = Mage::getStoreConfig('easymaintanance/general/allowedIPs',$storeId);
18
+ $allowedIPs = preg_replace('/ /', '', $allowedIPs);
19
+ $IPs = array();
20
+ if ('' !== trim($allowedIPs))
21
+ {
22
+ $IPs = explode(',', $allowedIPs);
23
+ }
24
+ $currentIP = $_SERVER['REMOTE_ADDR'];
25
+ $allowForAdmin = Mage::getStoreConfig('easymaintanance/general/allowforadmin',$storeId);
26
+ $adminIp = null;
27
+ if ($allowForAdmin == 1)
28
+ {
29
+ Mage::getSingleton('core/session', array('name' => 'adminhtml'));
30
+ $adminSession = Mage::getSingleton('admin/session');
31
+ if ($adminSession->isLoggedIn()) {
32
+ $adminIp = $adminSession['_session_validator_data']['remote_addr'];
33
+ }
34
+ }
35
+ if ($currentIP === $adminIp)
36
+ {
37
+ $this->createLog('Access granted for admin with IP: ' . $currentIP . ' and store ' . $storeId, $storeId);
38
+
39
+ } else {
40
+ if (!in_array($currentIP, $IPs))
41
+ {
42
+ $this->createLog('Access denied for IP: ' . $currentIP . ' and store ' . $storeId, $storeId);
43
+
44
+ $html = Mage::getSingleton('core/layout')->createBlock('core/template')->setTemplate('easymaintanance/easymaintanance.phtml')->toHtml();
45
+
46
+ if ('' !== $html)
47
+ {
48
+ Mage::getSingleton('core/session', array('name' => 'front'));
49
+ $response = $request->getEvent()->getFront()->getResponse();
50
+ $response->setHeader('HTTP/1.1', '503 Service Temporarily Unavailable');
51
+ $response->setHeader('Status', '503 Service Temporarily Unavailable');
52
+ $response->setHeader('Retry-After', '5000');
53
+ $response->setBody($html);
54
+ $response->sendHeaders();
55
+ $response->outputBody();
56
+ }
57
+ exit();
58
+ } else {
59
+ $this->createLog('Access granted for IP: ' . $currentIP . ' and store ' . $storeId, $storeId);
60
+ }
61
+ }
62
+ }
63
+
64
+ }
65
+ }
66
+
67
+
68
+ private function createLog($text, $storeId = null, $zendLevel = Zend_Log::DEBUG)
69
+ {
70
+ $logFile = trim(Mage::getStoreConfig('easymaintanance/general/logFileName',$storeId));
71
+ if ('' === $logFile)
72
+ {
73
+ $logFile = 'easymaintenance.log';
74
+ }
75
+ Mage::log($text, $zendLevel, $logFile);
76
+ }
77
+
78
+ public function timeralert()
79
+ {
80
+
81
+ $storeId = Mage::app()->getStore()->getStoreId();
82
+ $hour = Mage::getStoreConfig('easymaintanance/timer/timer_hour',$storeId);
83
+ $min = Mage::getStoreConfig('easymaintanance/timer/timer_min',$storeId);
84
+
85
+ $isEnabled = Mage::getStoreConfig('easymaintanance/general/enabled',$storeId);
86
+ if ($isEnabled == 1)
87
+ {
88
+ $time1 = Mage::getStoreConfig('easymaintanance/timer/timer_date',$storeId)." ".$hour.":".$min.":"."00";
89
+ $time2 = date("Y-m-d H:i:s", Mage::getModel('core/date')->timestamp(time()));
90
+ $precision = 6;
91
+ if (!is_int($time1)) {
92
+ $time1 = strtotime($time1);
93
+ }
94
+ if (!is_int($time2)) {
95
+ $time2 = strtotime($time2);
96
+ }
97
+ if ($time1 > $time2) {
98
+ $ttime = $time1;
99
+ $time1 = $time2;
100
+ $time2 = $ttime;
101
+ }
102
+ $intervals = array('minute');
103
+ $diffs = array();
104
+
105
+ foreach ($intervals as $interval) {
106
+ $ttime = strtotime('+1 ' . $interval, $time1);
107
+ $add = 1;
108
+ $looped = 0;
109
+ while ($time2 >= $ttime) {
110
+ $add++;
111
+ $ttime = strtotime("+" . $add . " " . $interval, $time1);
112
+ $looped++;
113
+ }
114
+
115
+ $time1 = strtotime("+" . $looped . " " . $interval, $time1);
116
+ $diffs[$interval] = $looped;
117
+ }
118
+
119
+ $count = 0;
120
+
121
+ foreach ($diffs as $interval => $value) {
122
+ if ($count >= $precision) {
123
+ break;
124
+ }
125
+ if ($value > 0) {
126
+ if ($value != 1) {
127
+ $interval .= "s";
128
+ }
129
+ $times= $value;
130
+ $count++;
131
+ }
132
+ }
133
+
134
+ $storeId = Mage::app()->getStore()->getStoreId();
135
+ $alert_min = Mage::getStoreConfig('easymaintanance/timer/timer_alert',$storeId);
136
+ if($times <= $alert_min)
137
+ {
138
+ $fromEmail = Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER);
139
+ $toEmail = Mage::getStoreConfig('easymaintanance/timer/timer_email');
140
+ $message = Mage::getStoreConfig('easymaintanance/timer/timer_email_template');
141
+ $subject = "Timer Alert";
142
+
143
+ try{
144
+ $mail = new Zend_Mail();
145
+ $mail->setFrom($fromEmail);
146
+ $mail->addTo($toEmail);
147
+ $mail->setSubject($subject);
148
+ $mail->setBodyHtml($message);
149
+ $mail->send();
150
+
151
+ }catch(Exception $e){
152
+ echo $e->getMassage();
153
+
154
+ }
155
+ }
156
+ }
157
+ }
158
+
159
+ }
app/code/local/Biztech/Easymaintanance/controllers/IndexController.php ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ class Biztech_Easymaintanance_IndexController extends Mage_Core_Controller_Front_Action
3
+ {
4
+ const XML_PATH_EMAIL_RECIPIENT = 'easymaintanance/contactus/from_mail';
5
+ const XML_PATH_EMAIL_SENDER = 'contacts/email/sender_email_identity';
6
+ const XML_PATH_EMAIL_CONTACTS = 'contacts/email/recipient_email';
7
+
8
+ public function indexAction()
9
+ {
10
+ $this->loadLayout();
11
+ $this->getLayout()->getBlock('head')->setTitle(Mage::helper('customer')->__('Contact Us Form'));
12
+ $this->renderLayout();
13
+
14
+ }
15
+
16
+ public function postFeedbackAction(){
17
+ {
18
+ $post = $this->getRequest()->getPost();
19
+ if ($post) {
20
+ $translate = Mage::getSingleton('core/translate');
21
+ /* @var $translate Mage_Core_Model_Translate */
22
+ $translate->setTranslateInline(false);
23
+ try {
24
+ $postObject = new Varien_Object();
25
+ $post['feedbackdetails'] = nl2br($post['feedbackdetails']);
26
+ if($post['feedbackheard'] == null || $post['feedbackheard'] == '')
27
+ {
28
+ $post['feedbackheard'] = 'N/A';
29
+ }
30
+ $postObject->setData($post);
31
+
32
+ $error = false;
33
+ if(!empty($post['feedbackbuname'])){
34
+ if (!Zend_Validate::is(trim($post['feedbackbuname']) , 'NotEmpty')) {
35
+ $error = true;
36
+ }
37
+ }
38
+ if (!Zend_Validate::is(trim($post['feedbackmail']), 'EmailAddress')) {
39
+ $error = true;
40
+ }
41
+ if(!empty($post['feedbackdetails'])){
42
+ if (!Zend_Validate::is(trim($post['feedbackdetails']) , 'NotEmpty')) {
43
+ $error = true;
44
+ }
45
+ }
46
+
47
+ if ($error) {
48
+ throw new Exception($e);
49
+ }
50
+ $recipient="";
51
+ if(Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT)==""){
52
+ $recipient=Mage::getStoreConfig(self::XML_PATH_EMAIL_CONTACTS);
53
+ }else{
54
+ $recipient=Mage::getStoreConfig(self::XML_PATH_EMAIL_RECIPIENT);
55
+ }
56
+ $store=Mage::app()->getStore();
57
+ $mailTemplate = Mage::getModel('core/email_template');
58
+ /* @var $mailTemplate Mage_Core_Model_Email_Template */
59
+ $mailTemplate->setDesignConfig(array('area' => 'frontend'))
60
+ ->setReplyTo($post['feedback_email'])
61
+ ->sendTransactional(
62
+ 'feedback_email_template',
63
+ Mage::getStoreConfig(self::XML_PATH_EMAIL_SENDER),
64
+ $recipient,
65
+ null,
66
+ array(
67
+ 'data' => $postObject,
68
+ 'store'=> $store
69
+ )
70
+ );
71
+
72
+ if (!$mailTemplate->getSentSuccess()) {
73
+ throw new Exception($e);
74
+ }
75
+ $translate->setTranslateInline(true);
76
+ $var1["result"]="success";
77
+ $var1["message"]='Your request has been sent';
78
+ $data=json_encode($var1);
79
+ $this->getResponse()->setBody($data);
80
+ return;
81
+
82
+ } catch (Exception $e) {
83
+ $var1["result"]="error";
84
+ $message=$e->getMessage();
85
+ if($message==""){
86
+ $var1["message"]="Unable to submit your request. Please, try again later";
87
+ }else{
88
+ $var1["message"]=$message;
89
+ }
90
+ $data=json_encode($var1);
91
+ $this->getResponse()->setBody($data);
92
+ return;
93
+ }
94
+
95
+ }
96
+ else {
97
+ $var1["result"]="error";
98
+ $var1["message"]="Unable to submit your request. Please, try again later";
99
+ $data=json_encode($var1);
100
+ $this->getResponse()->setBody($data);
101
+ return;
102
+ }
103
+ }
104
+ }
105
+
106
+ }
app/code/local/Biztech/Easymaintanance/etc/config.xml ADDED
@@ -0,0 +1,193 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * @category Biztech
5
+ * @package Biztech_Easymaintanance
6
+ * @author ModuleCreator
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
8
+ */
9
+ -->
10
+ <config>
11
+ <modules>
12
+ <Biztech_Easymaintanance>
13
+ <version>0.1.0</version>
14
+ </Biztech_Easymaintanance>
15
+ </modules>
16
+ <frontend>
17
+ <routers>
18
+ <easymaintanance>
19
+ <use>standard</use>
20
+ <args>
21
+ <module>Biztech_Easymaintanance</module>
22
+ <frontName>easymaintanance</frontName>
23
+ </args>
24
+ </easymaintanance>
25
+ </routers>
26
+ <layout>
27
+ <updates>
28
+ <easymaintanance>
29
+ <file>easymaintanance.xml</file>
30
+ </easymaintanance>
31
+ </updates>
32
+ </layout>
33
+ <translate>
34
+ <modules>
35
+ <Biztech_Easymaintanance>
36
+ <files>
37
+ <default>Biztech_Easymaintanance.csv</default>
38
+ </files>
39
+ </Biztech_Easymaintanance>
40
+ </modules>
41
+ </translate>
42
+ </frontend>
43
+ <admin>
44
+ <routers>
45
+ <easymaintanance>
46
+ <use>admin</use>
47
+ <args>
48
+ <module>Biztech_Easymaintanance</module>
49
+ <frontName>easymaintanance</frontName>
50
+ </args>
51
+ </easymaintanance>
52
+ </routers>
53
+ </admin>
54
+ <adminhtml>
55
+ <acl>
56
+ <resources>
57
+ <all>
58
+ <title>Allow Everything</title>
59
+ </all>
60
+ <admin>
61
+ <children>
62
+ <Biztech_Easymaintanance>
63
+ <title>Easymaintanance Module</title>
64
+ <sort_order>10</sort_order>
65
+ </Biztech_Easymaintanance>
66
+ <system>
67
+ <children>
68
+ <config>
69
+ <children>
70
+ <easymaintanance>
71
+ <title>Easymaintanance</title>
72
+ </easymaintanance>
73
+ </children>
74
+ </config>
75
+ </children>
76
+ </system>
77
+ </children>
78
+ </admin>
79
+ </resources>
80
+ </acl>
81
+ <layout>
82
+ <updates>
83
+ <easymaintanance>
84
+ <file>easymaintanance.xml</file>
85
+ </easymaintanance>
86
+ </updates>
87
+ </layout>
88
+ <translate>
89
+ <modules>
90
+ <Biztech_Easymaintanance>
91
+ <files>
92
+ <default>Biztech_Easymaintanance.csv</default>
93
+ </files>
94
+ </Biztech_Easymaintanance>
95
+ </modules>
96
+ </translate>
97
+ </adminhtml>
98
+ <global>
99
+ <models>
100
+ <easymaintanance>
101
+ <class>Biztech_Easymaintanance_Model</class>
102
+ <resourceModel>easymaintanance_mysql4</resourceModel>
103
+ </easymaintanance>
104
+ <easymaintanance_mysql4>
105
+ <class>Biztech_Easymaintanance_Model_Mysql4</class>
106
+ <entities>
107
+ <easymaintanance>
108
+ <table>easymaintanance</table>
109
+ </easymaintanance>
110
+ </entities>
111
+ </easymaintanance_mysql4>
112
+ </models>
113
+ <resources>
114
+ <easymaintanance_setup>
115
+ <setup>
116
+ <module>Biztech_Easymaintanance</module>
117
+ </setup>
118
+ <connection>
119
+ <use>core_setup</use>
120
+ </connection>
121
+ </easymaintanance_setup>
122
+ <easymaintanance_write>
123
+ <connection>
124
+ <use>core_write</use>
125
+ </connection>
126
+ </easymaintanance_write>
127
+ <easymaintanance_read>
128
+ <connection>
129
+ <use>core_read</use>
130
+ </connection>
131
+ </easymaintanance_read>
132
+ </resources>
133
+ <blocks>
134
+ <easymaintanance>
135
+ <class>Biztech_Easymaintanance_Block</class>
136
+ </easymaintanance>
137
+ </blocks>
138
+ <helpers>
139
+ <easymaintanance>
140
+ <class>Biztech_Easymaintanance_Helper</class>
141
+ </easymaintanance>
142
+ </helpers>
143
+ <template>
144
+ <email>
145
+ <feedback_email_template translate="label" module="easymaintanance">
146
+ <label>Feedback</label>
147
+ <file>easymaintanance/contactus.html</file>
148
+ <type>html</type>
149
+ </feedback_email_template>
150
+ </email>
151
+ </template>
152
+ <events>
153
+ <controller_front_init_routers>
154
+ <observers>
155
+ <easymaintanance>
156
+ <type>singleton</type>
157
+ <class>easymaintanance/observer</class>
158
+ <method>initControllerRouters</method>
159
+ </easymaintanance>
160
+ </observers>
161
+ </controller_front_init_routers>
162
+ </events>
163
+
164
+ </global>
165
+
166
+ <default>
167
+ <easymaintanance>
168
+ <general>
169
+ <allowforadmin>1</allowforadmin>
170
+ <logFileName>easymaintenance.log</logFileName>
171
+ <maintenanceHtml><![CDATA[
172
+ <div id="header" class="clearfix">
173
+ <div class="container">
174
+ <h2>we are sorry , this site is down for maintenance</h2>
175
+ <p>Lorem ipsum dolor sit amet, mea porro commodo delectus ad, malorum ceteros aliquando cu sit. Menandri partiendo salutatus sed te, ne gubergren ullamcorper ius. Sit purto justo ei. Ut affert fabellas eam, ius oblique moderatius eu, quo at clita omnes volumus.</p>
176
+ </div>
177
+ </div>]]></maintenanceHtml>
178
+ </general>
179
+ </easymaintanance>
180
+ </default>
181
+ <crontab>
182
+ <jobs>
183
+ <notify_timer_complete>
184
+ <schedule>
185
+ <cron_expr>*/5 * * * *</cron_expr>
186
+ </schedule>
187
+ <run>
188
+ <model>easymaintanance/observer::timeralert</model>
189
+ </run>
190
+ </notify_timer_complete>
191
+ </jobs>
192
+ </crontab>
193
+ </config>
app/code/local/Biztech/Easymaintanance/etc/system.xml ADDED
@@ -0,0 +1,186 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <config>
3
+ <sections>
4
+ <easymaintanance translate="label" module="easymaintanance">
5
+ <label>Easy Site Maintenance</label>
6
+ <tab>advanced</tab>
7
+ <frontend_type>text</frontend_type>
8
+ <sort_order>998</sort_order>
9
+ <show_in_default>1</show_in_default>
10
+ <show_in_website>1</show_in_website>
11
+ <show_in_store>1</show_in_store>
12
+ <groups>
13
+ <general translate="label">
14
+ <label>Maintenance Configuration</label>
15
+ <frontend_type>text</frontend_type>
16
+ <sort_order>1</sort_order>
17
+ <show_in_default>1</show_in_default>
18
+ <show_in_website>1</show_in_website>
19
+ <show_in_store>1</show_in_store>
20
+ <fields>
21
+ <enabled translate="label">
22
+ <label>Site Maintenance</label>
23
+ <comment>enable or disable Site Maintenance</comment>
24
+ <frontend_type>select</frontend_type>
25
+ <source_model>adminhtml/system_config_source_yesno</source_model>
26
+ <sort_order>1</sort_order>
27
+ <show_in_default>1</show_in_default>
28
+ <show_in_website>1</show_in_website>
29
+ <show_in_store>1</show_in_store>
30
+ </enabled>
31
+ <allowforadmin translate="label">
32
+ <label>Allow Frontend for Admin</label>
33
+ <comment>Frontend is allow for logged admin user</comment>
34
+ <frontend_type>select</frontend_type>
35
+ <source_model>adminhtml/system_config_source_yesno</source_model>
36
+ <sort_order>2</sort_order>
37
+ <show_in_default>1</show_in_default>
38
+ <show_in_website>1</show_in_website>
39
+ <show_in_store>1</show_in_store>
40
+ </allowforadmin>
41
+ <allowedIPs translate="label">
42
+ <label>Allowed IPs</label>
43
+ <comment>IPs that can access Site</comment>
44
+ <frontend_type>text</frontend_type>
45
+ <sort_order>3</sort_order>
46
+ <show_in_default>1</show_in_default>
47
+ <show_in_website>1</show_in_website>
48
+ <show_in_store>1</show_in_store>
49
+ </allowedIPs>
50
+ <logFileName translate="label">
51
+ <label>Log file</label>
52
+ <comment>Create log file to know who access while site is under maintenance mode.</comment>
53
+ <frontend_type>text</frontend_type>
54
+ <sort_order>5</sort_order>
55
+ <show_in_default>1</show_in_default>
56
+ <show_in_website>1</show_in_website>
57
+ <show_in_store>1</show_in_store>
58
+ </logFileName>
59
+ <maintenanceHtml translate="label">
60
+ <label>Maintenance Page HTML</label>
61
+ <comment>Show this HTML content when site is under maintanance</comment>
62
+ <frontend_type>editor</frontend_type>
63
+ <frontend_model>easymaintanance/adminhtml_system_config_editor</frontend_model>
64
+ <sort_order>6</sort_order>
65
+ <show_in_default>1</show_in_default>
66
+ <show_in_website>0</show_in_website>
67
+ <show_in_store>1</show_in_store>
68
+ </maintenanceHtml>
69
+ </fields>
70
+ </general>
71
+ <timer translate="label">
72
+ <label>Timer Configuration</label>
73
+ <frontend_type>text</frontend_type>
74
+ <sort_order>2</sort_order>
75
+ <show_in_default>1</show_in_default>
76
+ <show_in_website>1</show_in_website>
77
+ <show_in_store>1</show_in_store>
78
+ <fields>
79
+ <timer_enabled translate="label">
80
+ <label>Timer?</label>
81
+ <comment>enable or disable Timer</comment>
82
+ <frontend_type>select</frontend_type>
83
+ <source_model>adminhtml/system_config_source_yesno</source_model>
84
+ <sort_order>1</sort_order>
85
+ <show_in_default>1</show_in_default>
86
+ <show_in_website>1</show_in_website>
87
+ <show_in_store>1</show_in_store>
88
+ </timer_enabled>
89
+ <timer_text translate="label">
90
+ <label>Timer text</label>
91
+ <comment>Add text for timer</comment>
92
+ <frontend_type>text</frontend_type>
93
+ <sort_order>2</sort_order>
94
+ <show_in_default>1</show_in_default>
95
+ <show_in_website>1</show_in_website>
96
+ <show_in_store>1</show_in_store>
97
+ </timer_text>
98
+ <timer_date translate="label">
99
+ <label>Date</label>
100
+ <comment>Add Date for set timer</comment>
101
+ <frontend_type>text</frontend_type>
102
+ <frontend_model>easymaintanance/adminhtml_system_config_date</frontend_model>
103
+ <sort_order>3</sort_order>
104
+ <show_in_default>1</show_in_default>
105
+ <show_in_website>1</show_in_website>
106
+ <show_in_store>1</show_in_store>
107
+ <validate>required-entry</validate>
108
+ </timer_date>
109
+ <timer_hour translate="label">
110
+ <label>Hour</label>
111
+ <comment>Add Hour in 24-hour format when you want to finish timer</comment>
112
+ <frontend_type>text</frontend_type>
113
+ <sort_order>4</sort_order>
114
+ <show_in_default>1</show_in_default>
115
+ <show_in_website>1</show_in_website>
116
+ <show_in_store>1</show_in_store>
117
+ <validate>required-entry</validate>
118
+ </timer_hour>
119
+ <timer_min translate="label">
120
+ <label>Minute</label>
121
+ <comment>Add Minute when you want to finish timer</comment>
122
+ <frontend_type>text</frontend_type>
123
+ <sort_order>5</sort_order>
124
+ <show_in_default>1</show_in_default>
125
+ <show_in_website>1</show_in_website>
126
+ <show_in_store>1</show_in_store>
127
+ <validate>required-entry</validate>
128
+ </timer_min>
129
+ <timer_alert translate="label">
130
+ <label>Alert Minutes</label>
131
+ <comment>Add Minute to notify when timer comes to end</comment>
132
+ <frontend_type>text</frontend_type>
133
+ <sort_order>6</sort_order>
134
+ <show_in_default>1</show_in_default>
135
+ <show_in_website>1</show_in_website>
136
+ <show_in_store>1</show_in_store>
137
+ </timer_alert>
138
+ <timer_email translate="label">
139
+ <label>Recipient Email</label>
140
+ <frontend_type>text</frontend_type>
141
+ <sort_order>7</sort_order>
142
+ <show_in_default>1</show_in_default>
143
+ <show_in_website>1</show_in_website>
144
+ <show_in_store>1</show_in_store>
145
+ </timer_email>
146
+ <timer_email_template translate="label">
147
+ <label>Email Template</label>
148
+ <frontend_type>textarea</frontend_type>
149
+ <sort_order>8</sort_order>
150
+ <show_in_default>1</show_in_default>
151
+ <show_in_website>1</show_in_website>
152
+ <show_in_store>1</show_in_store>
153
+ </timer_email_template>
154
+ </fields>
155
+ </timer>
156
+ <contactus translate="label">
157
+ <label>Contact Us Configuration</label>
158
+ <frontend_type>text</frontend_type>
159
+ <sort_order>10</sort_order>
160
+ <show_in_default>1</show_in_default>
161
+ <show_in_website>1</show_in_website>
162
+ <show_in_store>1</show_in_store>
163
+ <fields>
164
+ <active translate="label">
165
+ <label>Enable</label>
166
+ <frontend_type>select</frontend_type>
167
+ <source_model>adminhtml/system_config_source_yesno</source_model>
168
+ <sort_order>1</sort_order>
169
+ <show_in_default>1</show_in_default>
170
+ <show_in_website>1</show_in_website>
171
+ <show_in_store>1</show_in_store>
172
+ </active>
173
+ <from_mail translate="label">
174
+ <label>Recipient Email</label>
175
+ <frontend_type>text</frontend_type>
176
+ <sort_order>2</sort_order>
177
+ <show_in_default>1</show_in_default>
178
+ <show_in_website>1</show_in_website>
179
+ <show_in_store>1</show_in_store>
180
+ </from_mail>
181
+ </fields>
182
+ </contactus>
183
+ </groups>
184
+ </easymaintanance>
185
+ </sections>
186
+ </config>
app/design/adminhtml/default/default/layout/easymaintanance.xml ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <easymaintanance_adminhtml_easymaintanance_index>
4
+ <reference name="content">
5
+ <block type="easymaintanance/adminhtml_easymaintanance" name="easymaintanance" />
6
+ </reference>
7
+ </easymaintanance_adminhtml_easymaintanance_index>
8
+ <adminhtml_system_config_edit>
9
+ <update handle="editor"/>
10
+ <reference name="head">
11
+ <action method="setCanLoadTinyMce"><load>1</load></action>
12
+ </reference>
13
+ </adminhtml_system_config_edit>
14
+ </layout>
app/design/frontend/default/default/layout/easymaintanance.xml ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <layout version="0.1.0">
3
+ <easymaintanance_index_index>
4
+ <reference name="content">
5
+ <block type="easymaintanance/easymaintanance" name="easymaintanance" template="easymaintanance/easymaintanance.phtml" />
6
+ </reference>
7
+ </easymaintanance_index_index>
8
+ </layout>
app/design/frontend/default/default/template/easymaintanance/easymaintanance.phtml ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php /* ?>
2
+ <script language="javascript" type="text/javascript">setTimeout("location.reload();",20000);</script>
3
+ <?php */ ?>
4
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl("easymaintanance/css/easymaintanance.css") ?>">
5
+ <?php $storeId = Mage::app()->getStore()->getStoreId(); ?>
6
+ <html>
7
+ <title>Store Maintenance</title>
8
+
9
+ <?php
10
+ $date = Mage::getStoreConfig('easymaintanance/timer/timer_date',$storeId);
11
+ $formatedDate = date('m/d/Y',strtotime($date));
12
+ $date = explode('/', $formatedDate);
13
+ $year = $date[2];
14
+ $month = $date[0];
15
+ $day = $date[1];
16
+ $hour = Mage::getStoreConfig('easymaintanance/timer/timer_hour',$storeId);
17
+ $min = Mage::getStoreConfig('easymaintanance/timer/timer_min',$storeId);
18
+ ?>
19
+ <?php
20
+ $maintenancePage = trim(Mage::getStoreConfig('easymaintanance/general/maintenanceHtml',$storeId));
21
+ echo $maintenancePage;
22
+ ?>
23
+ <?php if(Mage::getStoreConfig('easymaintanance/timer/timer_enabled',$storeId) == 1): ?>
24
+ <div class="message clearfix" id="timer-text">
25
+ <?php $text = Mage::getStoreConfig('easymaintanance/timer/timer_text',$storeId); ?>
26
+ <h2 id="launch-text"><?php echo $text; ?></h2>
27
+ </div>
28
+
29
+
30
+
31
+ <script type="text/javascript">
32
+
33
+ var current="Time is over!";
34
+ var year='<?php echo $year; ?>';
35
+ var month='<?php echo $month; ?>';
36
+ var day='<?php echo $day; ?>';
37
+ var hour='<?php echo $hour; ?>';
38
+ var minute='<?php echo $min; ?>';
39
+ // DO NOT CHANGE THE CODE BELOW!
40
+ var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
41
+ function countdown(yr,m,d,hr,min){
42
+
43
+ theyear=yr;themonth=m;theday=d;thehour=hr;theminute=min;
44
+ var today=new Date();
45
+ var todayy=today.getYear();
46
+ if (todayy < 1000)
47
+ todayy+=1900;
48
+ var todaym=today.getMonth();
49
+ var todayd=today.getDate();
50
+ var todayh=today.getHours();
51
+ var todaymin=today.getMinutes();
52
+ var todaysec=today.getSeconds();
53
+ var todaystring=montharray[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec;
54
+ var futurestring=montharray[m-1]+" "+d+", "+yr+" "+hr+":"+min+":"+"00";
55
+ var dd=Date.parse(futurestring)-Date.parse(todaystring);
56
+ var dday=Math.floor(dd/(60*60*1000*24)*1);
57
+ var dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1);
58
+ var dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
59
+ var dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
60
+ if(dday<=0&&dhour<=0&&dmin<=0&&dsec<=0){
61
+
62
+ document.getElementById('timer-text').style.display="none";
63
+ document.getElementById('timer-table').style.display="none";
64
+ return;
65
+ }
66
+ else {
67
+ document.getElementById('count2').style.display="none";
68
+ document.getElementById('dday').innerHTML=dday;
69
+ document.getElementById('dhour').innerHTML=dhour;
70
+ document.getElementById('dmin').innerHTML=dmin;
71
+ document.getElementById('dsec').innerHTML=dsec;
72
+ setTimeout("countdown(theyear,themonth,theday,thehour,theminute)",1000);
73
+ }
74
+
75
+ }
76
+ </script>
77
+
78
+ <body onLoad="countdown(year,month,day,hour,minute)">
79
+ <div class="countdown" >
80
+ <div class="timer" id="timer-table">
81
+ <div class="numbers" id="count2" style="padding: 5px 0 0 0; "></div>
82
+ <div><strong id="dday"></strong>Days</div>
83
+ <div><strong id="dhour"></strong>Hours</div>
84
+ <div><strong id="dmin"></strong>Minutes</div>
85
+ <div class="last"><strong id="dsec"></strong>Seconds</div>
86
+ </div>
87
+ </div>
88
+ </body>
89
+ <?php endif; ?>
90
+
91
+ <?php
92
+ /*$date1 = date("Y-m-d H:i:s", Mage::getModel('core/date')->timestamp(time()));
93
+ $date2 = Mage::getStoreConfig('easymaintanance/timer/timer_date',$storeId)." ".$hour.":".$min.":"."00";
94
+ Mage::helper('easymaintanance')->dateDiff($date2, $date1);*/
95
+ ?>
96
+
97
+ <?php if(Mage::getStoreConfig('easymaintanance/contactus/active',$storeId) == 1): ?>
98
+ <link rel="stylesheet" type="text/css" href="<?php echo $this->getSkinUrl("easymaintanance/css/popup.css") ?>">
99
+ <script src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS)."prototype/prototype.js" ?>"></script>
100
+ <script src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS)."prototype/effects.js" ?>"></script>
101
+ <script src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_JS)."prototype/validation.js" ?>"></script>
102
+ <script src="<?php echo $this->getSkinUrl("easymaintanance/js/popup.js") ?>"></script>
103
+ <?php echo Mage::getSingleton('core/layout')->createBlock('core/template')->setTemplate('easymaintanance/popup_html.phtml')->toHtml(); ?>
104
+ <?php endif; ?>
105
+ </html>
app/design/frontend/default/default/template/easymaintanance/popup_html.phtml ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $config = Mage::getStoreConfig('easymaintanance/contactus/active');
3
+ $customer=Mage::helper('customer');
4
+ if($customer->isLoggedIn()){
5
+ $name=Mage::getSingleton('customer/session')->getCustomer()->getName();
6
+ $email=Mage::getSingleton('customer/session')->getCustomer()->getEmail();
7
+ }
8
+ ?>
9
+ <?php if($config=="1") { ?>
10
+ <div class="side-feedback">
11
+ <a href="javascript:void(0)" onclick="openFeedbackWindow('feedback_information')" title="Feedback" id="link_feedback"></a>
12
+ </div>
13
+ <div id="backgroundpopup" class="background-opacity" style="display: none; background: none repeat scroll 0% 0% rgb(0, 0, 0);"></div>
14
+ <div style="display: none;" id="feedback_information" class="feedback-container">
15
+ <a class="feedback_close" title="close" href="#" onclick="closeFeedbackWindow('feedback_information'); return false;"></a>
16
+ <div class="feedback-popup-content">
17
+ <div class="feedback-title"> <?php echo $this->__('Contact Us') ?> </div>
18
+ <div class="feedback-content">
19
+ <form action="<?php echo $this->getUrl("easymaintanance/index/postFeedback") ?>" method="post" id="frm_feedback">
20
+ <div id="success_message" style="display: none;" class="feedback-success-msg"></div>
21
+ <div id="loader" class="loader-feedback" style="text-align: center;display: none;"><p><img src='<?php echo $this->getSkinUrl('easymaintanance/images/ajax-loader-onestep.gif') ?>' alt='' title=''/></p></div>
22
+ <br/>
23
+ <ul class="form-list" id="feedback_options">
24
+ <li>
25
+ <label for="fname"><?php echo $this->__('Your Full Name').":" ?> <span class="required">*</span></label>
26
+ <input name="feedbackbuname" value="<?php echo $this->htmlEscape($name) ?>" title="<?php echo $this->__('Name') ?>" id="fname" type="text" class="input-text required-entry" />
27
+ </li>
28
+ <li>
29
+ <label for="email"><?php echo $this->__('Your E-mail').":" ?> <span class="required">*</span></label>
30
+ <input name="feedbackmail" value="<?php echo $this->htmlEscape($email) ?>" title="<?php echo $this->__('Email Address') ?>" id="email" type="text" class="input-text required-entry validate-email" />
31
+ </li>
32
+ <li>
33
+ <label for="heard_about_us"><?php echo $this->__('Where did you hear about us')."?" ?></label>
34
+ <input name="feedbackheard" value="" title="<?php echo $this->__('Email Address') ?>" id="heard_about_us" type="text" class="input-text" />
35
+ </li>
36
+ <li>
37
+ <label for="details"><?php echo $this->__('Details').":" ?> <span class="required">*</span></label>
38
+ <textarea id="details" class="input-text required-entry" name="feedbackdetails" rows="10" col="50"></textarea>
39
+ </li>
40
+ <li>
41
+ <button id="btnsubmit" name="btnsubmit" type="button" class="button-feedback" onclick="sendFeedback('<?php echo $this->getUrl("easymaintanance/index/postFeedback"); ?>')">
42
+ <span><span><?php echo $this->__('Submit') ?></span></span></button>
43
+ </li>
44
+ </ul>
45
+ </form>
46
+
47
+ <script type="text/javascript">
48
+ var feedback_form = new Validation($('frm_feedback'));
49
+ </script>
50
+ </div>
51
+ </div>
52
+ </div>
53
+ <?php } ?>
app/etc/modules/Biztech_Easymaintanance.xml ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <!--
3
+ /**
4
+ * @category Biztech
5
+ * @package Biztech_Easymaintanance
6
+ * @author ModuleCreator
7
+ * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
8
+ */
9
+ -->
10
+ <config>
11
+ <modules>
12
+ <Biztech_Easymaintanance>
13
+ <active>true</active>
14
+ <codePool>local</codePool>
15
+ </Biztech_Easymaintanance>
16
+ </modules>
17
+ </config>
app/locale/de_DE/Biztech_Easymaintanance.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Site Maintenance,Site Maintenance
2
+ Allow Frontend for Admin,Erlauben Frontend für Admin
3
+ Allowed IPs,erlaubte IPs
4
+ Log file,Log-Datei
5
+ Maintenance Page HTML,Wartung Page HTML
6
+ Timer?,Timer?
7
+ Timer text,Timer Text
8
+ Date,Datum
9
+ Hour,Stunde
10
+ Minute,Minute
11
+ Alert Minutes,Alert-Protokoll
12
+ Recipient Email,Empfänger E-Mail
13
+ Email Template,E-Mail Vorlage
14
+ Enable,ermöglichen
15
+ Recipient Email,Empfänger E-Mail
16
+ enable or disable Site Maintenance,aktivieren oder deaktivieren Site Maintenance
17
+ Frontend is allow for logged admin user,Frontend ist damit für eingeloggte Benutzer admin
18
+ IPs that can access Site,"IPs, die Website zugreifen können"
19
+ Create log file to know who access while site is under maintenance mode.,"Erstellen Sie Protokolldateien, wer Zugang kennen, während Seite befindet sich im Wartungsmodus."
20
+ Show this HTML content when site is under maintanance,"Dieses HTML-Inhalte, wenn Website ist unter maintanance"
21
+ enable or disable Timer,aktivieren oder deaktivieren Timer
22
+ Add text for timer,Fügen Sie Text für Timer
23
+ Add Date for set timer,Aufgenommen für Timer einstellen
24
+ Add Hour in 24-hour format when you want to finish timer,"In Stunde im 24-Stunden-Format, wenn Sie Timer beenden möchten"
25
+ Add Minute when you want to finish timer,"In Minute, wenn Sie Timer beenden möchten"
26
+ Add Minute to notify when timer comes to end,"In Minute zu benachrichtigen, wenn der Timer kommt bis zum Ende"
27
+ Maintenance Configuration,Wartung Configuration
28
+ Timer Configuration,Timer-Konfiguration
29
+ Contact Us Configuration,Kontakt Konfiguration
30
+ Yes,Ja
31
+ No,Keine
app/locale/en_GB/Biztech_Easymaintanance.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Site Maintenance,Site Maintenance
2
+ Allow Frontend for Admin,Allow Frontend for Admin
3
+ Allowed IPs,Allowed IPs
4
+ Log file,Log file
5
+ Maintenance Page HTML,Maintenance Page HTML
6
+ Timer?,Timer?
7
+ Timer text,Timer text
8
+ Date,Date
9
+ Hour,Hour
10
+ Minute,Minute
11
+ Alert Minutes,Alert Minutes
12
+ Recipient Email,Recipient Email
13
+ Email Template,Email Template
14
+ Enable,Enable
15
+ Recipient Email,Recipient Email
16
+ enable or disable Site Maintenance,enable or nobble Site Maintenance
17
+ Frontend is allow for logged admin user,Frontend is allow for logged admin user
18
+ IPs that can access Site,IPs that can access Site
19
+ Create log file to know who access while site is under maintenance mode.,Create log file to know who access whilst site is under maintenance mode.
20
+ Show this HTML content when site is under maintanance,Show this HTML content when site is under maintanance
21
+ enable or disable Timer,enable or nobble Timer
22
+ Add text for timer,Add text for timer
23
+ Add Date for set timer,Add Date for set timer
24
+ Add Hour in 24-hour format when you want to finish timer,Add Hour in 24-hour format when thou want to finish timer
25
+ Add Minute when you want to finish timer,Add Minute when thou want to finish timer
26
+ Add Minute to notify when timer comes to end,Add Minute to notify when timer comes to end
27
+ Maintenance Configuration,Maintenance Configuration
28
+ Timer Configuration,Timer Configuration
29
+ Contact Us Configuration,Contact Us Configuration
30
+ Yes,Yes
31
+ No,No
app/locale/en_US/Biztech_Easymaintanance.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Site Maintenance,Site Maintenance
2
+ Allow Frontend for Admin,Allow Frontend for Admin
3
+ Allowed IPs,Allowed IPs
4
+ Log file,Log file
5
+ Maintenance Page HTML,Maintenance Page HTML
6
+ Timer?,Timer?
7
+ Timer text,Timer text
8
+ Date,Date
9
+ Hour,Hour
10
+ Minute,Minute
11
+ Alert Minutes,Alert Minutes
12
+ Recipient Email,Recipient Email
13
+ Email Template,Email Template
14
+ Enable,Enable
15
+ Recipient Email,Recipient Email
16
+ enable or disable Site Maintenance,enable or disable Site Maintenance
17
+ Frontend is allow for logged admin user,Frontend is allow for logged admin user
18
+ IPs that can access Site,IPs that can access Site
19
+ Create log file to know who access while site is under maintenance mode.,Create log file to know who access while site is under maintenance mode.
20
+ Show this HTML content when site is under maintanance,Show this HTML content when site is under maintanance
21
+ enable or disable Timer,enable or disable Timer
22
+ Add text for timer,Add text for timer
23
+ Add Date for set timer,Add Date for set timer
24
+ Add Hour in 24-hour format when you want to finish timer,Add Hour in 24-hour format when you want to finish timer
25
+ Add Minute when you want to finish timer,Add Minute when you want to finish timer
26
+ Add Minute to notify when timer comes to end,Add Minute to notify when timer comes to end
27
+ Maintenance Configuration,Maintenance Configuration
28
+ Timer Configuration,Timer Configuration
29
+ Contact Us Configuration,Contact Us Configuration
30
+ Yes,Yes
31
+ No,No
app/locale/en_US/template/email/easymaintanance/contactus.html ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!--@subject {{var store.getFrontendName()}}: Customer Feedback @-->
2
+ <!--@vars
3
+ {"var data.feedbackbuname":"Sender Name",
4
+ "var data.feedbackmail":"Sender Email",
5
+ "var data.feedbackheard":"Where did you heard about us :",
6
+ "var data.feedbackdetails":"Message"
7
+ }
8
+ @-->
9
+ Name: {{var data.feedbackbuname}}
10
+ <br/>
11
+ E-mail: {{var data.feedbackmail}}
12
+ <br/>
13
+ Where did you heard about us : {{var data.feedbackheard}}
14
+ <br/>
15
+ Comment: {{var data.feedbackdetails}}
app/locale/fr_FR/Biztech_Easymaintanance.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Site Maintenance,Maintenance du site
2
+ Allow Frontend for Admin,Laisser Frontend for Admin
3
+ Allowed IPs,IPs admis
4
+ Log file,fichier journal
5
+ Maintenance Page HTML,Entretien Page HTML
6
+ Timer?,Minuterie?
7
+ Timer text,Texte de la minuterie
8
+ Date,Date d'
9
+ Hour,heure
10
+ Minute,minute
11
+ Alert Minutes,Procés-verbal d'alerte
12
+ Recipient Email,Email du destinataire
13
+ Email Template,Modéle de courriel
14
+ Enable,permettre
15
+ Recipient Email,Email du destinataire
16
+ enable or disable Site Maintenance,activer ou désactiver Maintenance du site
17
+ Frontend is allow for logged admin user,Frontend est de permettre connecté utilisateur admin
18
+ IPs that can access Site,IP qui peuvent accéder au site
19
+ Create log file to know who access while site is under maintenance mode.,Créer un fichier log pour savoir qui l'accés tout site est en mode maintenance.
20
+ Show this HTML content when site is under maintanance,Montrer ce contenu HTML quand le site est sous maintanance
21
+ enable or disable Timer,activer ou désactiver la minuterie
22
+ Add text for timer,Ajoutez le texte pour minuterie
23
+ Add Date for set timer,Ajouter la date pour réglez la minuterie
24
+ Add Hour in 24-hour format when you want to finish timer,Ajouter heure au format 24 heures lorsque vous voulez terminer minuterie
25
+ Add Minute when you want to finish timer,Ajouter minute quand vous voulez terminer minuterie
26
+ Add Minute to notify when timer comes to end,Ajouter Minute de notifier lorsque la minuterie arrive àla fin
27
+ Maintenance Configuration,Configuration de maintenance
28
+ Timer Configuration,Configuration de la minuterie
29
+ Contact Us Configuration,Contactez-nous Configuration
30
+ Yes,Oui
31
+ No,Non
app/locale/it_IT/Biztech_Easymaintanance.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Site Maintenance,Manutenzione del sito
2
+ Allow Frontend for Admin,Lasciare Frontend for Admin
3
+ Allowed IPs,IP consentiti
4
+ Log file,Il file di log
5
+ Maintenance Page HTML,Manutenzione Pagina HTML
6
+ Timer?,Timer?
7
+ Timer text,testo Timer
8
+ Date,data
9
+ Hour,Hour
10
+ Minute,minute
11
+ Alert Minutes,Minuti alert
12
+ Recipient Email,destinatario Email
13
+ Email Template,email Template
14
+ Enable,Attiva
15
+ Recipient Email,destinatario Email
16
+ enable or disable Site Maintenance,attivare o disattivare la manutenzione del sito
17
+ Frontend is allow for logged admin user,Frontend é consentire ingresso utente admin
18
+ IPs that can access Site,Indirizzi IP che possono accedere sito
19
+ Create log file to know who access while site is under maintenance mode.,Creare file di log per sapere chi di accesso mentre il sito é in modalità di manutenzione.
20
+ Show this HTML content when site is under maintanance,Mostra questo contenuto HTML quando sito é in fase maintanance
21
+ enable or disable Timer,attivare o disattivare il timer
22
+ Add text for timer,Aggiunta di testo per timer
23
+ Add Date for set timer,Aggiungi la data di timer impostato
24
+ Add Hour in 24-hour format when you want to finish timer,Aggiungere ora in formato 24 ore quando si desidera terminare il timer
25
+ Add Minute when you want to finish timer,Aggiungi Minute quando si vuole terminare il timer
26
+ Add Minute to notify when timer comes to end,Aggiungi Minute per notificare quando il timer arriva a fine
27
+ Maintenance Configuration,Configurazione manutenzione
28
+ Timer Configuration,Configurazione del timer
29
+ Contact Us Configuration,Contattaci Configurazione
30
+ Yes,Si
31
+ No,No
app/locale/nl_NL/Biztech_Easymaintanance.csv ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ Site Maintenance,Site Maintenance
2
+ Allow Frontend for Admin,Laat Frontend voor Admin
3
+ Allowed IPs,toegestaan ??IP's
4
+ Log file,log file
5
+ Maintenance Page HTML,Onderhoud Pagina HTML
6
+ Timer?,Timer?
7
+ Timer text,timer tekst
8
+ Date,datum
9
+ Hour,uur
10
+ Minute,minuut
11
+ Alert Minutes,alert minuten
12
+ Recipient Email,ontvanger E-mail
13
+ Email Template,Email Template
14
+ Enable,in staat stellen
15
+ Recipient Email,ontvanger E-mail
16
+ enable or disable Site Maintenance,stellen Site Maintenance of uitschakelen
17
+ Frontend is allow for logged admin user,Frontend is mogelijk voor ingelogde admin gebruiker
18
+ IPs that can access Site,IP's die toegang hebben tot Site
19
+ Create log file to know who access while site is under maintenance mode.,Maak een log-bestand naar die toegang weten terwijl site is in onderhoud modus.
20
+ Show this HTML content when site is under maintanance,Laat deze HTML-inhoud wanneer site is onder maintanance
21
+ enable or disable Timer,stellen timer of uitschakelen
22
+ Add text for timer,Voeg tekst voor timer
23
+ Add Date for set timer,Voeg Datum voor set timer
24
+ Add Hour in 24-hour format when you want to finish timer,Voeg Uur in 24-uurs formaat wanneer u wilt timer af
25
+ Add Minute when you want to finish timer,Voeg Minute wanneer u wilt timer af
26
+ Add Minute to notify when timer comes to end,Voeg Minute te waarschuwen wanneer timer komt naar einde
27
+ Maintenance Configuration,onderhoud Vorm
28
+ Timer Configuration,timer Configuratie
29
+ Contact Us Configuration,Contact Configuration
30
+ Yes,ja
31
+ No,geen
package.xml ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?xml version="1.0"?>
2
+ <package>
3
+ <name>easymaintanance_module</name>
4
+ <version>0.1.0</version>
5
+ <stability>stable</stability>
6
+ <license uri="http://opensource.org/licenses/osl-3.0.php">OSL v3.0</license>
7
+ <channel>community</channel>
8
+ <extends/>
9
+ <summary>Easy Store Maintenance Extension allows you to put your online store in maintenance mode for specified period of time.</summary>
10
+ <description>Sometimes, due to some technical issues, server related problem, or if you want to change some feature or theme of your live website, you require putting your site under maintenance mode. At that moment, Easy Site Maintenance extension is a boon for online merchants. &#xD;
11
+ Easy Store Maintenance Extension allows you to put your online store in maintenance mode for specified period of time from the frontend and configure it from the backend. &#xD;
12
+ Features&#xD;
13
+ &#x2022; After installing and activating this extension no one can have access to your website. Only administrator of the site can access the site. There is also a facility where the admin can specify few IP address from admin side and site would be accessed from those IP addresses too. This helps the developer to apply the changes required in the site from specified IP address.&#xD;
14
+ &#x2022; This extension allows you to display how long your website or e-store will be under maintenance. Facility for displaying countdown timer is also available.&#xD;
15
+ &#x2022; You can keep track of your visitors when your site was under maintenance with the help of Log file. Log file is maintained from admin side. When any one tries to reach your website while it is in maintenance mode, the IP address of that visitor is recorded in the log file.&#xD;
16
+ &#x2022; Provision for filling up contact us form is also there when the site is in construction mode. This will allow your customers to reach you even though your site is under construction least missing any fruitful opportunity.&#xD;
17
+ &#x2022; Works for multi-store too. If you run multiple store and manage all the stores from single admin panel, no issue will be encountered if you either want to put one, few or all stores under maintenance.&#xD;
18
+ &#x2022; Though we provide a custom message for the maintenance page, but you can also display your own custom message. The choice is upto you either to display the default template provides by us or create your own. If you want to display your own custom message then you just need to add the html code, there is no need to create a separate page or redirect the maintenance page on another page for that. You can also display images.&#xD;
19
+ </description>
20
+ <notes>-New Release</notes>
21
+ <authors><author><name>Biztech</name><user>biztechcon</user><email>sales@biztechconsultancy.com</email></author></authors>
22
+ <date>2013-12-24</date>
23
+ <time>05:15:11</time>
24
+ <contents><target name="mageetc"><dir name="modules"><file name="Biztech_Easymaintanance.xml" hash="22aa128a5b8ecf28fd6d88c788bac656"/></dir></target><target name="magelocal"><dir name="Biztech"><dir name="Easymaintanance"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Date.php" hash="ee437e973792a66815eebcfadb62584c"/><file name="Editor.php" hash="b1c1cdb34820495f0c811caa07ad4272"/></dir></dir></dir><file name="Feedback.php" hash="827f19a5a94483c876070312cdbe8e0f"/></dir><dir name="Helper"><file name="Data.php" hash="f52b2b6e309841b1efba302688953d47"/></dir><dir name="Model"><file name="Observer.php" hash="14c611e2ee87e9c383d0e55142b7f303"/></dir><dir name="controllers"><file name="IndexController.php" hash="5750a3ff4f8745028f4ca850ae9de310"/></dir><dir name="etc"><file name="config.xml" hash="97584f368a9125d670a5d8c511b652a9"/><file name="system.xml" hash="93ce1079172c6d0f35877a881bbec9ae"/></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="easymaintanance.xml" hash="04c01164b83cb5743da28d0eae2c887e"/></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="layout"><file name="easymaintanance.xml" hash="319a86fc876ab31de8248b5f41848bd1"/></dir><dir name="template"><dir name="easymaintanance"><file name="easymaintanance.phtml" hash="84b4477b8f0ba4e4cbc0c08439bc1ef4"/><file name="popup_html.phtml" hash="edb30aa368b4894d802afcba57007d88"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="default"><dir name="default"><dir name="easymaintanance"><dir name="css"><file name="easymaintanance.css" hash="e395eea5cbe7a4322a48cf9eafa2a1d6"/><file name="popup.css" hash="dd4fb902dca93ab74455d82a6a14eb77"/></dir><dir name="images"><file name="Thumbs.db" hash="704df17cf4fd6a04134fa0395524a447"/><file name="ajax-loader-onestep.gif" hash="cf9953e0d5241b49c3dee9d0051cca3d"/><file name="bg-body.png" hash="2b8a442e1a4728207161a643ca1c75d2"/><file name="bg-header.gif" hash="9fc333bfa0e1d03f9fb27c4108df8bcd"/><file name="closebox.png" hash="f2aace763cfcc4d6f3427a8a0842e55c"/><file name="feedbacktab.png" hash="d288691dbb16c7b73187f1e2e9e96ba0"/><file name="general-btn.gif" hash="d04f8bf3e7bc194a031bb5b2ac7433ba"/><file name="general-input-bg.jpg" hash="5a63d17240be2d5acdd8d432c4e1caff"/><file name="i_msg-error.gif" hash="e4f28607f075a105e53fa3113d84bd26"/><file name="i_msg-success.gif" hash="834dfafd5f8b44c4b24a4c00add56fcf"/><file name="time-bg.gif" hash="4ed0b926562d76560fc1855022bdea14"/></dir><dir name="js"><file name="popup.js" hash="26d079eddc5e3b8cd72b033ed964919c"/></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><dir name="template"><dir name="email"><dir name="easymaintanance"><file name="contactus.html" hash="fad80bccd037f798f48fb4208bb8871a"/></dir></dir></dir><file name="Biztech_Easymaintanance.csv" hash="137a9fad5574a71471e008f15f061c54"/></dir><dir name="de_DE"><file name="Biztech_Easymaintanance.csv" hash="a3e7b748ff67994bb3d70b129f12ea11"/></dir><dir name="en_GB"><file name="Biztech_Easymaintanance.csv" hash="bbfbc1fd89f2c5de32b9d77d543a6588"/></dir><dir name="fr_FR"><file name="Biztech_Easymaintanance.csv" hash="99bef05b08798c87253c6f66a0c7cac6"/></dir><dir name="it_IT"><file name="Biztech_Easymaintanance.csv" hash="47f2d301a1610d4958bc54ac3832b286"/></dir><dir name="nl_NL"><file name="Biztech_Easymaintanance.csv" hash="90158980169e2e869ab7618ef5748380"/></dir></target></contents>
25
+ <compatible/>
26
+ <dependencies><required><php><min>5.1.0</min><max>6.0.0</max></php></required></dependencies>
27
+ </package>
skin/frontend/default/default/easymaintanance/css/easymaintanance.css ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ body{ margin:0; background: url("../images/bg-body.png") repeat #B3B3B3; text-align:center; font-family:Arial, Helvetica, sans-serif; }
2
+ .numbers {
3
+ padding: 0px;
4
+ width: 45px;
5
+ text-align: center;
6
+ font-family: Arial;
7
+ font-size: 28px;
8
+ font-weight: bold;
9
+ font-style: normal;
10
+ color: #FFFFFF;
11
+ }
12
+ .title {
13
+ border-style: none;
14
+ padding: 0px 0px 3px 0px;
15
+ width: 45px;
16
+ text-align: center;
17
+ font-family: Arial;
18
+ font-size: 10px;
19
+ font-weight: bold;
20
+ color: #FFFFFF;
21
+ }
22
+ #timer-table {
23
+ }
24
+
25
+ .container {
26
+ margin: 0 auto;
27
+ position: relative;
28
+ width: 740px;
29
+ }
30
+ #header{ background: url("../images/bg-header.gif") repeat-x scroll center bottom #404040; padding: 65px 0 15px; text-align: center; color:#fff; font-size:18px; }
31
+
32
+ #header .logo { margin: 0 0 40px; }
33
+ .countdown {
34
+ display: block;
35
+ text-align: center;
36
+ width: auto;
37
+ }
38
+ .countdown .timer{ clear: both; display: inline-block; height: 85px; margin: 0 auto; *float:left; *margin-left:42%; padding: 0 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; background: url("../images/time-bg.gif") repeat-x scroll 0 0 transparent; }
39
+ .timer div { clear: right; display: block; float: left; font-size: 14px; height: 45px; padding: 14px 10px; border-right:1px solid #363636; color:#868686; }
40
+ .timer div.last { border-right: 0 none; }
41
+ .timer strong { color: #FFFFFF; display: block; font-size: 24px; font-weight: bold; letter-spacing: 0; margin: 3px 0 7px; color:#fff; }
42
+ #launch-text{ color:#c3181f;}
skin/frontend/default/default/easymaintanance/css/popup.css ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .side-feedback{ border:none; left: 0px; padding: 0px; position: fixed; *position: absolute; *left:0; top: 315px; width: 40px; height:117px; z-index:9;}
2
+ .side-feedback a{ height:100%; width:100%; float:left;background:url(../images/feedbacktab.png) no-repeat -10px 0; z-index:200;}
3
+ .side-feedback a:hover{ height:100%; width:100%; float:left;background:url(../images/feedbacktab.png) no-repeat -6px 0; z-index:200;}
4
+
5
+ .background-opacity { background: none repeat scroll 0 0 #000000; border: 1px solid #CECECE; display: none; height: 100%; left: 0; opacity: 0.7; filter:alpha(opacity=70); position: fixed; top: 0; width: 100%; z-index: 9999;}
6
+ .feedback_close {color: #000000; float: right; font: bold 20px arial; margin: 10px 10px 0 0; text-decoration: none;}
7
+ .feedback-container {border: 3px solid #CCCCCC !important; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; height: auto !important; left: 38% !important; max-width: 650px !important; min-height: 246px; padding: 20px !important;text-align: left; top: 55px !important; width: 400px; z-index: 9999; background:#fff; padding:25px; position:absolute;}
8
+ .feedback_close { background: url("../images/closebox.png") no-repeat scroll 0 0 transparent; height: 30px; position: absolute; right: -23px; top: -26px; width: 30px;}
9
+ .feedback-content .form-list .required { color: #EB340A;}
10
+
11
+ .feedback-popup-content{float:left; width:370px; background: none; padding:0px;}
12
+ .feedback-title{ background: none repeat scroll 0 0 #E0E0E0; border: 1px solid #D1D1D1; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; color: #E11E26; font-size: 12px; font-weight: bold; left: 22px;
13
+ padding: 5px 0; position: relative; text-align: center; top: 14px; width: 93px;}
14
+ .feedback-content {background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #DDDDDD; -webkit-border-radius: 15px; -moz-border-radius: 15px; border-radius: 15px; float: left; padding: 32px 20px 20px; width: 358px;}
15
+ .feedback-content .form-list li label{ font-weight:bold; float:left; width:100%; font-size:12px;}
16
+ .feedback-content .form-list li input.input-text{ padding:4px 5px; background:url("../images/general-input-bg.jpg") repeat-x scroll 0 0 #fff; height:28px; width:300px; float: left;}
17
+ .feedback-content .form-list li textarea{width:300px; float: left;}
18
+ .feedback-content .form-list li button.button{margin-top:10px;}
19
+ .feedback-content input, .feedback-content select, .feedback-content textarea, .feedback-content button { font:12px/15px Arial, Helvetica, sans-serif; vertical-align:middle; color:#343434; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}
20
+ .feedback-content input.input-text, .feedback-content select, .feedback-content textarea { background:#fff; border:1px solid #d1d1d1; }
21
+ .feedback-content input.input-text, .feedback-content textarea { padding:2px; }
22
+ .feedback-content input.input-text{ background:url(../images/general-input-bg.jpg) repeat-x; height:24px; line-height:24px; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px;}
23
+ .feedback-content .form-list label {
24
+ color: #343434;
25
+ float: left;
26
+ font-weight: normal;
27
+ margin-bottom: 5px;
28
+ position: relative;
29
+ z-index: 0;
30
+ }
31
+ .feedback-content form {
32
+ display: inline;
33
+ }
34
+ .feedback-content .form-list li p:after {
35
+ clear: both;
36
+ content: ".";
37
+ display: inline !important;
38
+ font-size: 0;
39
+ height: 0;
40
+ line-height: 0;
41
+ overflow: hidden;
42
+ }
43
+ .feedback-content ul, ol {
44
+ list-style: none outside none; padding:0; margin:0;
45
+ }
46
+ .feedback-content input.input-text:focus, .feedback-content select:focus, .feedback-content textarea:focus { border:1px solid #e11e26; }
47
+
48
+
49
+
50
+ .button-feedback { overflow:visible; width:auto; border:0; padding:0; margin:0; background:transparent; cursor:pointer; height:auto; *height:40px !important; margin-top: 10px; position: relative; left: 0;}
51
+ .button-feedback span { float:left; height:30px; background:transparent url(../images/general-btn.gif) 0 0 no-repeat; padding:0 0 0 3px; font:bold 11px/30px Arial, Helvetica, sans-serif; text-transform:uppercase; text-align:center; white-space:nowrap; color:#fff; }
52
+ .button-feedback span span { background-position:100% 0; padding:0 30px 0 8px; }
53
+ .feedback-content button.disabled span { border-color:#bbb !important; background:#bbb !important; }
54
+ .feedback-content .feedback-success-msg, .feedback-content .feedback-error-msg {
55
+ background-position: 10px 9px !important;
56
+ background-repeat: no-repeat !important;
57
+ border-style: solid !important;
58
+ border-width: 1px !important;
59
+ font-size: 11px !important;
60
+ font-weight: bold !important;
61
+ min-height: 24px !important;
62
+ padding: 8px 8px 8px 32px !important;
63
+ }
64
+ .feedback-content .feedback-error-msg {
65
+ background-color: #FAEBE7;
66
+ background-image: url("../images/i_msg-error.gif");
67
+ border-color: #F16048;
68
+ color: #DF280A;
69
+ }
70
+ .feedback-content .feedback-success-msg
71
+ {
72
+ background-color: #EFF5EA !important;
73
+ background-image: url("../images/i_msg-success.gif") !important;
74
+ border-color: #446423;
75
+ color: #3D6611;
76
+ }
77
+ .feedback-content .form-list li {
78
+ margin: 0 0 8px; float:left; width:100%;
79
+ }
80
+ .validation-advice{
81
+ color: red; float:left; width:100%; font-size:12px;
82
+ }
skin/frontend/default/default/easymaintanance/images/Thumbs.db ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/ajax-loader-onestep.gif ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/bg-body.png ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/bg-header.gif ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/closebox.png ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/feedbacktab.png ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/general-btn.gif ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/general-input-bg.jpg ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/i_msg-error.gif ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/i_msg-success.gif ADDED
Binary file
skin/frontend/default/default/easymaintanance/images/time-bg.gif ADDED
Binary file
skin/frontend/default/default/easymaintanance/js/popup.js ADDED
@@ -0,0 +1,51 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ function openFeedbackWindow(ele,upd_ele,id)
2
+ {
3
+ Effect.Appear(ele);
4
+ var back1 = document.getElementById ('backgroundpopup');
5
+ back1.style.display = "block";
6
+ }
7
+ function closeFeedbackWindow(ele1){
8
+ var val1=document.getElementById(ele1);
9
+ var background=document.getElementById('backgroundpopup');
10
+ Effect.Fade(val1);
11
+ Effect.Fade(background);
12
+ $$('div.error-massage').each(function(ele){
13
+ ele.hide();
14
+ });
15
+ }
16
+ function sendFeedback(url){
17
+ if(feedback_form && feedback_form.validate()){
18
+ $('loader').show();
19
+ $('btnsubmit').setAttribute('disabled', true);
20
+ var parameters=$('frm_feedback').serialize(true);
21
+ new Ajax.Request(url, {
22
+ method: 'post',
23
+ dataType: 'json',
24
+ parameters: parameters,
25
+ onSuccess: function(transport) {
26
+ if(transport.status == 200) {
27
+ var response=transport.responseText.evalJSON();
28
+ $('success_message').innerHTML=response.message;
29
+ if(response.result=='success'){
30
+ $('success_message').removeClassName('feedback-error-msg');
31
+ $('success_message').addClassName('feedback-success-msg');
32
+ }
33
+ else{
34
+ $('success_message').removeClassName('feedback-success-msg');
35
+ $('success_message').addClassName('feedback-error-msg');
36
+ }
37
+ $('loader').hide();
38
+ $('success_message').show();
39
+ Effect.toggle('success_message', 'appear',{ duration: 5.0});
40
+ setTimeout(function (){
41
+ closeFeedbackWindow('feedback_information');
42
+ $('frm_feedback').reset();
43
+ $('btnsubmit').removeAttribute('disabled');
44
+ },6000);
45
+ return false;
46
+ }
47
+ }
48
+ });
49
+ return false;
50
+ }
51
+ }