commercesciences - Version 0.0.8

Version Notes

stable

Download this release

Release Info

Developer Magento Core Team
Extension commercesciences
Version 0.0.8
Comparing to
See all releases


Code changes from version 0.0.6 to 0.0.8

app/code/local/Commercesciences/Base/Block/Adminhtml/Config/Form/Renderer/About.php CHANGED
@@ -23,65 +23,23 @@ class Commercesciences_Base_Block_Adminhtml_Config_Form_Renderer_About extends M
23
  * @return string
24
  */
25
  public function render(Varien_Data_Form_Element_Abstract $element){
26
- $html = '<div class="cs_styles">
27
- <div class="cs_wrap">
28
  <div id="main" style="">
29
 
30
  <div class="cs_key-text-block">
31
  <div class="cs_container">
32
  <div class="cs_row">
33
- <div class="cs_span12">
34
- <h3><strong>The Personal Bar<span class="cs_sans-serif cs_tm">™</span> Is a free E-Commerce add-on, floating at the bottom of your site\'s pages,</strong></h3>
35
- <h3><strong>designed to ease navigation, increase engagement and revenue</strong></h3>
36
- </div>
37
  </div>
38
- <div class="cs_setup-takes-2-min"></div>
39
- </div>
40
- </div>
41
-
42
- <div class="cs_bar-guide-block">
43
- <div class="cs_bar-guide-img"></div>
44
- </div>
45
-
46
- <div class="cs_details-block">
47
- <div class="cs_container">
48
- <div class="cs_row cs_highlight-details" id="getIntuitive">
49
- <div class="cs_span2 cs_feature-icon"></div>
50
- <div class="cs_span10 cs_highlight-details-desc">
51
- <h3><strong>Get Intuitive.</strong> Enable quick access to key site\'s assets, anywhere.</h3>
52
- <p>Avoid shoppers abandonment due to complex navigation. Improve site usability by gathering all key assets in one intuitive place which is always-on. Adding a <strong>Personal Bar</strong>™ will ease navigation with <i>Search &amp; Checkout</i>, emphasize customer care with <i>Chat &amp; Feedback</i>, boost social with <i>Facebook Like &amp; Google’s +1</i>. It\'s based on your existing site capabilities (e.g. search) as well as offers many new experiences.</p>
53
- </div>
54
- </div>
55
-
56
- <div class="cs_row highlight-details" id="standOut">
57
- <div class="cs_span10 cs_highlight-details-desc">
58
- <h3><strong>Stand Out.</strong> Add a stunning edge to your online store in minutes.</h3>
59
- <p>Improve your brand recognition through a compelling shopping experience. Creating your own <strong>Personal Bar</strong>™ is easy. You don\'t need to be a web designer or developer. Just choose or create a <strong>Personal Bar</strong>™ theme you love and customize it to your needs through our easy-to-use Config Panel. Upload your own logo and add a lovable Personal Shopper to enhance your store’s design.</p>
60
- </div>
61
- <div class="cs_span2 cs_feature-icon cs_stand-out"></div>
62
- </div>
63
-
64
- <div class="cs_row cs_highlight-details" id="growSales">
65
- <div class="cs_span2 cs_feature-icon cs_grow-sales"></div>
66
- <div class="cs_span10 cs_highlight-details-desc">
67
- <h3><strong>Grow Sales.</strong> Increase your traffic and Facebook fanbase.</h3>
68
- <p>In today\'s era of Social SEO, gaining social visibility is critical to your store\'s success. Recent studies show that up to 30% of traffic comes from social networks such as Facebook, Google +1 and Pinterest. The <strong>Personal Bar</strong>™ is designed to enable shoppers to easily share with their Facebook friends, join your fanbase, and click on +1 improving your Google ranking. And the best part - it encourages shoppers to further engage by rewarding them with a compelling coupon.</p>
69
- </div>
70
- </div>
71
-
72
-
73
- </div>
74
- </div>
75
-
76
- <div class="cs_ending-block">
77
- <div class="link-ph">
78
- <p>Have Questions? <a class="start-now" href="http://commercesciences.com/contact">contact us</a></p>
79
  </div>
80
  </div>
81
 
 
 
82
  </div>
83
- </div>
84
- </div>';
85
 
86
 
87
  return $html;
23
  * @return string
24
  */
25
  public function render(Varien_Data_Form_Element_Abstract $element){
26
+ $html = ' <div class="cs_wrap">
 
27
  <div id="main" style="">
28
 
29
  <div class="cs_key-text-block">
30
  <div class="cs_container">
31
  <div class="cs_row">
32
+ <h3>The Personal Bar<span class="cs_sans-serif cs_tm">™</span> Is a free E-Commerce add-on, floating at the bottom of your site\'s pages,</h3>
33
+ <h3>designed to ease navigation, increase engagement and revenue</h3>
 
 
34
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  </div>
36
  </div>
37
 
38
+ <div class="cs_bar-guide-block">
39
+ <div class="cs_bar-guide-img"></div>
40
  </div>
41
+ </div>
42
+ </div>';
43
 
44
 
45
  return $html;
app/code/local/Commercesciences/Base/Block/Adminhtml/Config/Form/Renderer/Campaignid.php CHANGED
@@ -1,110 +1,111 @@
1
- <?php
2
-
3
- class Commercesciences_Base_Block_Adminhtml_Config_Form_Renderer_Campaignid extends Mage_Adminhtml_Block_System_Config_Form_Field
4
- {
5
- protected $_csHelper = null;
6
-
7
- /**
8
- * retrieve the module helper
9
- * @return Commercesciences_Base_Helper_Data
10
- */
11
- protected function getCsHelper(){
12
- if(!$this->_csHelper){
13
- $this->_csHelper = Mage::helper("commercesciences_base");
14
- }
15
- return $this->_csHelper;
16
- }
17
-
18
-
19
- /**
20
- * renders and returns the full HTML of the upper part (email) on the configurations panel
21
- * here we can decide just not to show anything
22
- *
23
- * @param Varien_Data_Form_Element_Abstract $element
24
- * @return string
25
- */
26
- public function render(Varien_Data_Form_Element_Abstract $element){
27
- $html = '<script type="text/javascript">
28
- document.observe("dom:loaded", function() {
29
-
30
- $$(".scalable.save").each(function(element){
31
- element.writeAttribute("onclick",null);
32
- element.observe("click", function(event){
33
- $$(".scalable.save").each(function(element){
34
- element.writeAttribute("disabled","disabled");
35
- });
36
- configForm.submit();
37
- });
38
-
39
- });
40
-
41
- });
42
- </script>
43
- ';
44
-
45
- try{
46
-
47
- $step = $this->getCsHelper()->getStep();
48
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
49
-
50
- if(!$element->getValue()){
51
- $currentUser = Mage::getSingleton('admin/session');
52
- $currentUserEmail = $currentUser->getUser()->getEmail();
53
-
54
- $element->setValue($currentUserEmail);
55
- }
56
- $inputBox = $element->getElementHtml();
57
- $configEditBlock = Mage::getBlockSingleton("adminhtml/system_config_edit");
58
- /* @var Mage_Adminhtml_Block_Widget_Button $saveButton */
59
- $saveButton = $configEditBlock->getLayout()->createBlock('adminhtml/widget_button')
60
- ->setData(array(
61
- 'label' => Mage::helper('adminhtml')->__('Create My Account &#187;'),
62
- 'onclick' => 'configForm.submit()',
63
- 'class' => 'save',
64
- ));
65
- if($step == Commercesciences_Base_Helper_Data::STEP_ZERO){
66
- $html .= '<div class="cswrapper form-list">';
67
- $html .= '<div class="csexp1">'.$this->__("You're almost there! Please enter your email below to activate your account (Note: this email would be used to provide you updates and reports).").'</div>';
68
- $html .= '<div class="csexp2"><div class="csexp2_left">Email Address</div><div class="csexp2_right">'.$inputBox.'</div></div>';
69
- $html .= '<div class="csexp3"><div class="csexp3_left">Is Live on your store?</div><div class="csexp2_right"><select class="csexpt_right_select" disabled="disabled"><option>No</option></select><p class="note"><span>The personal bar will be hidden from your shoppers until you click "Go Live" from your Config Panel or your Magento dashboard.</span></p>'.$saveButton->toHtml().'</div></div>';
70
- $html .= '</div>';
71
-
72
- return $html;
73
- }
74
- if($step == Commercesciences_Base_Helper_Data::STEP_ONE){
75
- $linkToConfBar = 'http://commercesciences.com/magento/configureInitial?userID='.$csConfig->getUserId().'&securityToken='.$csConfig->getSecurityToken();
76
-
77
- $html .= '<div class="cswrapper form-list">';
78
- $html .= '<div class="csexp11">';
79
- $html .= '<div class="csexp11_1">'.$this->__("Congratulations! Your new Personal Bar account is now ready.").'</div>';
80
- $html .= '<div class="csexp11_2">'.$this->__("To configure the Personal Bar Experiences, Style and more, please click on Go to my Config Panel below.").'</div>';
81
- $html .= '<div class="csexp11_3">'.$this->__("Your personal Bar will remain hidden from your store visitors until you Publish it.").'</div>';
82
- $html .= '<div class="csexp11_4">'.$this->__("You can either Publish the Personal Bar from your Config Panel or from the drop list below.").'</div>';
83
- $html .= '</div>';
84
- $html .= '<div class="csexp11_5">'.$this->__("Personal Bar Settings").'</div>';
85
- $html .= '<div class="csexp11_6">'.$this->__("The Personal Bar is fully customizable to fit your store's look & feel and to help you increase engagement and revenue.").'</div>';
86
- $html .= '<div class="csexp11_7"><a href="'.$linkToConfBar.'" target="_blank">'.$this->__("Go to my Config Panel&#187;").'</a></div>';
87
-
88
- $html .= '</div>';
89
-
90
- return $html;
91
- }
92
- if($step == Commercesciences_Base_Helper_Data::STEP_TWO){
93
- $linkToConfBar = 'http://commercesciences.com/magento/configureInitial?userID='.$csConfig->getUserId().'&securityToken='.$csConfig->getSecurityToken();
94
-
95
- $html .= '<div class="cswrapper form-list">';
96
- $html .= '<div class="csexp21">'.$this->__("Personal Bar Settings").'</div>';
97
- $html .= '<div class="csexp22">'.$this->__("The Personal Bar is fully customizable to fit your store’s look & feel and to help you increase engagement and revenue.").'</div>';
98
- $html .= '<div class="csexp23"><a href="'.$linkToConfBar.'" target="_blank">'.$this->__("Go to my Config Panel&#187;").'</a></div>';
99
- $html .= '</div>';
100
-
101
- return $html;
102
- }
103
-
104
- return '';
105
- }catch(Exception $e){
106
- return '';
107
- }
108
- }
109
-
 
110
  }
1
+ <?php
2
+
3
+ class Commercesciences_Base_Block_Adminhtml_Config_Form_Renderer_Campaignid extends Mage_Adminhtml_Block_System_Config_Form_Field
4
+ {
5
+ protected $_csHelper = null;
6
+
7
+ /**
8
+ * retrieve the module helper
9
+ * @return Commercesciences_Base_Helper_Data
10
+ */
11
+ protected function getCsHelper(){
12
+ if(!$this->_csHelper){
13
+ $this->_csHelper = Mage::helper("commercesciences_base");
14
+ }
15
+ return $this->_csHelper;
16
+ }
17
+
18
+
19
+ /**
20
+ * renders and returns the full HTML of the upper part (email) on the configurations panel
21
+ * here we can decide just not to show anything
22
+ *
23
+ * @param Varien_Data_Form_Element_Abstract $element
24
+ * @return string
25
+ */
26
+ public function render(Varien_Data_Form_Element_Abstract $element){
27
+ $html = '<tr><td><script type="text/javascript">
28
+ document.observe("dom:loaded", function() {
29
+
30
+ $$(".scalable.save").each(function(element){
31
+ element.writeAttribute("onclick",null);
32
+ element.observe("click", function(event){
33
+ $$(".scalable.save").each(function(element){
34
+ element.writeAttribute("disabled","disabled");
35
+ });
36
+ configForm.submit();
37
+ });
38
+
39
+ });
40
+
41
+ });
42
+ </script>
43
+ ';
44
+
45
+ try{
46
+
47
+ $step = $this->getCsHelper()->getStep();
48
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
49
+
50
+ if(!$element->getValue()){
51
+ $currentUser = Mage::getSingleton('admin/session');
52
+ $currentUserEmail = $currentUser->getUser()->getEmail();
53
+
54
+ $element->setValue($currentUserEmail);
55
+ }
56
+ $inputBox = $element->getElementHtml();
57
+ $configEditBlock = Mage::getBlockSingleton("adminhtml/system_config_edit");
58
+ /* @var Mage_Adminhtml_Block_Widget_Button $saveButton */
59
+ $saveButton = $configEditBlock->getLayout()->createBlock('adminhtml/widget_button')
60
+ ->setData(array(
61
+ 'label' => Mage::helper('adminhtml')->__('Create My Account &#187;'),
62
+ 'onclick' => 'configForm.submit()',
63
+ 'class' => 'save',
64
+ ));
65
+ if($step == Commercesciences_Base_Helper_Data::STEP_ZERO){
66
+ $html .= '<div class="cswrapper form-list">';
67
+ $html .= '<div class="csexp1">'.$this->__("You're almost there! Please enter your email below to activate your account (Note: this email would be used to provide you updates and reports).").'</div>';
68
+ $html .= '<div class="csexp2"><div class="csexp2_left">Email Address</div><div class="csexp2_right">'.$inputBox.'</div></div>';
69
+ $html .= '<div class="csexp3"><div class="csexp3_left"></div><div class="csexp2_right"><p class="note"><span>The personal bar will be hidden from your shoppers until you click "Go Live" from your Config Panel or your Magento dashboard.</span></p>'.$saveButton->toHtml();
70
+ $html .= '<p class="note"><span style="color:#ff0000;">Before clicking "Create My Account" - Please make sure you have logged-out and logged back in from your Magento admin, <br>and that you have clicked "Flush Magento Cache" (under System &gt; Cache Management)</span></p>';
71
+ $html .= '</div></div>';
72
+ $html .= '</div></td></tr>';
73
+
74
+ return $html;
75
+ }
76
+ if($step == Commercesciences_Base_Helper_Data::STEP_ONE){
77
+ $linkToConfBar = 'http://commercesciences.com/magento/configureInitial?userID='.$csConfig->getUserId().'&securityToken='.$csConfig->getSecurityToken();
78
+
79
+ $html .= '<div class="cswrapper form-list">';
80
+ $html .= '<div class="csexp11">';
81
+ $html .= '<div class="csexp11_1">'.$this->__("Congratulations! Your new Personal Bar account is now ready.").'</div>';
82
+ $html .= '<div class="csexp11_2">'.$this->__("To configure the Personal Bar Experiences, Style and more, please click on \"Go to my Config Panel\" below.").'</div>';
83
+ $html .= '<div class="csexp11_3">'.$this->__("Your personal Bar will remain hidden from your store visitors until you Publish it.").'</div>';
84
+ $html .= '</div>';
85
+ $html .= '<div class="csexp11_5">'.$this->__("Personal Bar Settings").'</div>';
86
+ $html .= '<div class="csexp11_6">'.$this->__("The Personal Bar is fully customizable to fit your store's look & feel and to help you increase engagement and revenue.").'</div>';
87
+ $html .= '<div class="csexp11_7"><a href="'.$linkToConfBar.'" target="_blank">'.$this->__("Go to my Config Panel&#187;").'</a></div>';
88
+
89
+ $html .= '</div>';
90
+
91
+ return $html;
92
+ }
93
+ if($step == Commercesciences_Base_Helper_Data::STEP_TWO){
94
+ $linkToConfBar = 'http://commercesciences.com/magento/configureInitial?userID='.$csConfig->getUserId().'&securityToken='.$csConfig->getSecurityToken();
95
+
96
+ $html .= '<div class="cswrapper form-list">';
97
+ $html .= '<div class="csexp21">'.$this->__("Personal Bar Settings").'</div>';
98
+ $html .= '<div class="csexp22">'.$this->__("The Personal Bar is fully customizable to fit your store’s look & feel and to help you increase engagement and revenue.").'</div>';
99
+ $html .= '<div class="csexp23"><a href="'.$linkToConfBar.'" target="_blank">'.$this->__("Go to my Config Panel&#187;").'</a></div>';
100
+ $html .= '</div>';
101
+
102
+ return $html;
103
+ }
104
+
105
+ return '';
106
+ }catch(Exception $e){
107
+ return '';
108
+ }
109
+ }
110
+
111
  }
app/code/local/Commercesciences/Base/Block/Adminhtml/Config/Form/Renderer/Isactive.php CHANGED
@@ -59,7 +59,7 @@ class Commercesciences_Base_Block_Adminhtml_Config_Form_Renderer_Isactive extend
59
  if($step == Commercesciences_Base_Helper_Data::STEP_ONE){
60
  $html = '<div class="cswrapper form-list">';
61
  $html .= '<div class="csexp12"><div class="csexp12_left">Enabled?</div><div class="csexp12_right">'.$selectBox.$saveButton->toHtml().'</div></div>';
62
- $html .= '</div>';
63
 
64
  return $html;
65
  }
@@ -67,7 +67,7 @@ class Commercesciences_Base_Block_Adminhtml_Config_Form_Renderer_Isactive extend
67
  $html = '<div class="cswrapper form-list">';
68
  $html .= '<div class="csexp24"><div class="csexp24_left">Is Live on my store?</div><div class="csexp24_right">'.$selectBox.$saveButton->toHtml().'</div></div>';
69
  $html .= '<div class="csexp25"><div class="csexp25_left">'.$this->__("Have questions? contact our").'</div> <a class="csexp25_left2" href="mailto: support@commercesciences.com">'.$this->__("support team").'</a></div>';
70
- $html .= '</div>';
71
 
72
  return $html;
73
  }
59
  if($step == Commercesciences_Base_Helper_Data::STEP_ONE){
60
  $html = '<div class="cswrapper form-list">';
61
  $html .= '<div class="csexp12"><div class="csexp12_left">Enabled?</div><div class="csexp12_right">'.$selectBox.$saveButton->toHtml().'</div></div>';
62
+ $html .= '</div></td></tr>';
63
 
64
  return $html;
65
  }
67
  $html = '<div class="cswrapper form-list">';
68
  $html .= '<div class="csexp24"><div class="csexp24_left">Is Live on my store?</div><div class="csexp24_right">'.$selectBox.$saveButton->toHtml().'</div></div>';
69
  $html .= '<div class="csexp25"><div class="csexp25_left">'.$this->__("Have questions? contact our").'</div> <a class="csexp25_left2" href="mailto: support@commercesciences.com">'.$this->__("support team").'</a></div>';
70
+ $html .= '</div></td></tr>';
71
 
72
  return $html;
73
  }
app/code/local/Commercesciences/Base/Helper/Data.php CHANGED
@@ -1,330 +1,334 @@
1
- <?php
2
-
3
- class Commercesciences_Base_Helper_Data extends Mage_Core_Helper_Abstract{
4
-
5
- const STEP_ZERO = 0;
6
- const STEP_ONE = 1;
7
- const STEP_TWO = 2;
8
-
9
- const CONFIG_EMAIL = 'commercesciences/required_param/email';
10
- const DEFAULT_MYSQL_TIMEOUT = 10;
11
-
12
- /**
13
- * handles the errors
14
- */
15
- public function handleError($error){
16
- //Mage::log("Error:".$error, null, 'cs-error.log', true);
17
- throw new Exception($error);
18
- }
19
-
20
- /**
21
- * return the current step of the system
22
- *
23
- * @return int
24
- */
25
- public function getStep(){
26
- if(!$this->_step){
27
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
28
- if(!$csConfig || !$csConfig->getId()){
29
- $csConfig = Mage::getModel("commercesciences_base/config");
30
- $csConfig->save();
31
- }
32
- if(!$csConfig->getUserId()){
33
- $this->_step = Commercesciences_Base_Helper_Data::STEP_ZERO;
34
- return $this->_step;
35
- }
36
-
37
- //we have userId its step 1 or 2
38
- $aStateArr = $this->getActiveState();
39
- if($aStateArr['error'] != false){
40
- $this->handleError($aStateArr['error']);
41
- return;
42
- }
43
- if($aStateArr['data'] == 'NotConfigured'){
44
- $this->_step = Commercesciences_Base_Helper_Data::STEP_ONE;
45
- }elseif($aStateArr['data'] == 'Hidden' || $aStateArr['data'] == 'Visible'){
46
- $this->_step = Commercesciences_Base_Helper_Data::STEP_TWO;
47
- }else{
48
- $error = $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 005)");
49
- //Mage::log("Error:".$error, null, 'cs-error.log', true);
50
- throw new Exception($error);
51
- return;
52
- }
53
- }
54
-
55
- return $this->_step;
56
- }
57
-
58
- /**
59
- * converts the first layer of stdObject to array
60
- * @param stdObject $stdObj
61
- * @return array
62
- */
63
- public function stdObject2Array($stdObj)
64
- {
65
- if (is_object($stdObj)){
66
- $stdObj = get_object_vars($stdObj);
67
- }
68
- return $stdObj;
69
- }
70
-
71
- /**
72
- * register the email + domain on commercesciences
73
- *
74
- * @return array - format [error] => ''
75
- */
76
- public function register($email, $storeUrl){
77
-
78
- $RESTClient = new Zend_Rest_Client("http://api.commercesciences.com");
79
-
80
- $httpClient = $RESTClient->getHttpClient();
81
- $httpClient->setConfig(array(
82
- "timeout" => 30
83
- ));
84
-
85
- try {
86
-
87
- //Mage::log("xxx", null, "debug6.log", true);
88
-
89
- $timeBeforeApiCall = time();
90
-
91
- $response = $RESTClient->restPost("/magento/registerPost", array('email' => $email, 'storeURL'=>$storeUrl));
92
- $responseJson = $response->getBody();
93
-
94
- $timeAfterApiCall = time();
95
- //Mage::log("yyy-".$responseJson, null, "debug6.log", true);
96
- //Mage::log("zzz-".($timeAfterApiCall-$timeBeforeApiCall), null, "debug6.log", true);
97
-
98
- //fictive
99
- //$responseJson = '{"good":true,"data":{"securityToken":"qfJpXFdiccH2LtAXy3U3mMZFRNiAbMsiGocKpk9RLarqda9001YYxXjYyQwy","userID":12296,"tag":"\u003c!-- CS Bar --\u003e\r\n\u003cscript type\u003d\u0027text/javascript\u0027\u003e\r\nvar script \u003d document.createElement(\u0027script\u0027);\r\nscript.type \u003d \u0027text/javascript\u0027;\r\nscript.src \u003d ((document.location.protocol \u003d\u003d \u0027https:\u0027) ? \u0027https://\u0027 : \u0027http://\u0027) +\r\n \u0027app.cdn-cs.com/b/4Udqvg/k9rip6/l/cs_all.js\u0027;\r\ndocument.getElementsByTagName(\u0027head\u0027)[0].appendChild(script);\r\n\u003c/script\u003e\r\n\u003c!-- end CS --\u003e\r\n"}}';
100
-
101
- //Mage::log("response-".$responseJson, null, 'debug4.log', true);
102
-
103
- //fictive response for testing
104
-
105
- /*$parsedResponse = array(
106
- 'security_token' => 'abcdefghijklmnop',
107
- 'user_id' => '123456',
108
- 'tag' => '<script type="text/javascript">alert(\'Hello!\');</script>'
109
- );
110
- */
111
-
112
- $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson));
113
- if(!isset($parsedResponseArr['good'])){
114
- //timeout occured
115
- return array('error' => $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 003)"));
116
- }
117
- if($parsedResponseArr['good'] == false){
118
- if(isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']){
119
- $fieldErrorsArr = $parsedResponseArr['fieldErrors'];
120
- $errorMsg = '';
121
- foreach($fieldErrorsArr as $field => $fError){
122
- $errorMsg .= $this->__($fError).",";
123
- }
124
- //remove the last comma
125
- $errorMsg = substr($errorMsg, 0, strlen($errorMsg)-1);
126
- return array('error' => $errorMsg);
127
- }elseif(isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']){
128
- return array('error' => $this->__($parsedResponseArr['globalError']));
129
- }
130
- }
131
- $parsedResponse = $this->stdObject2Array($parsedResponseArr['data']);
132
-
133
- if(!isset($parsedResponse['securityToken']) || !$parsedResponse['securityToken']
134
- || !isset($parsedResponse['userID']) || !$parsedResponse['userID']
135
- || !isset($parsedResponse['tag']) || !$parsedResponse['tag']){
136
- return $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 001)");
137
- }
138
-
139
- if($timeAfterApiCall-$timeBeforeApiCall > self::DEFAULT_MYSQL_TIMEOUT){
140
- //Mage::log("ffff", null, "debug6.log", true);
141
-
142
- //pobably mysql serer has gone away, save data in the session
143
-
144
- $adminSession = Mage::getModel('customer/session');
145
- $adminSession->setCsUserId($parsedResponse['userID']);
146
- $adminSession->setCsSecurityToken($parsedResponse['securityToken']);
147
- $adminSession->setCsTag($parsedResponse['tag']);
148
- }else{
149
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
150
- if(!$csConfig){
151
- $csConfig = Mage::getModel("commercesciences_base/config");
152
- }
153
- $csConfig->setStep(Commercesciences_Base_Helper_Data::STEP_ONE)
154
- ->setSecurityToken($parsedResponse['securityToken'])
155
- ->setUserId($parsedResponse['userID'])
156
- ->setTag($parsedResponse['tag'])
157
- ->save();
158
- }
159
-
160
-
161
-
162
-
163
- return array('error' => false);
164
- }catch(Exception $e){
165
- //timeout or other unhandled exception was thrown
166
- return array('error' => $this->__($e->getMessage()));
167
- }
168
- }
169
-
170
- /**
171
- * Change the is_state of the bar
172
- *
173
- * @param int $changeTo
174
- * @return array
175
- */
176
- protected function changeActiveState($changeTo=1){
177
-
178
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
179
- if(!$csConfig || !$csConfig->getUserId() || !$csConfig->getSecurityToken()){
180
- //we must be already at least on step 1, so the DB record has to exist
181
- return array('error' => $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 002)"));
182
- }
183
-
184
- $RESTClient = new Zend_Rest_Client("http://api.commercesciences.com");
185
-
186
- $httpClient = $RESTClient->getHttpClient();
187
- $httpClient->setConfig(array(
188
- "timeout" => 30
189
- ));
190
-
191
- try{
192
- if($changeTo){
193
- $response = $RESTClient->restPost("/magento/showBarPost", array('userID' => $csConfig->getUserId(), 'securityToken'=>$csConfig->getSecurityToken()));
194
- }else{
195
- $response = $RESTClient->restPost("/magento/hideBarPost", array('userID' => $csConfig->getUserId(), 'securityToken'=>$csConfig->getSecurityToken()));
196
- }
197
-
198
- $responseJson = $response->getBody();
199
- //Mage::log("activation-response-".$responseJson, null, 'debug4.log', true);
200
-
201
- $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson));
202
- if(!isset($parsedResponseArr['good'])){
203
- return $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 004)");
204
- }
205
- if($parsedResponseArr['good'] == false){
206
- if(isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']){
207
- $fieldErrorsArr = $parsedResponseArr['fieldErrors'];
208
- $errorMsg = '';
209
- foreach($fieldErrorsArr as $field => $fError){
210
- $errorMsg .= $this->__($fError).",";
211
- }
212
- //remove the last comma
213
- $errorMsg = substr($errorMsg, 0, strlen($errorMsg)-1);
214
- return array('error' => $errorMsg);
215
- }elseif(isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']){
216
- return array('error' => $this->__($parsedResponseArr['globalError']));
217
- }
218
- }
219
-
220
- return array('error'=> false, 'data' => ($parsedResponseArr['data']==true ? 1 : 0));
221
-
222
-
223
- }catch(Exception $e){
224
- //timeout or other unhandled exception was thrown
225
- return array('error' => $this->__($e->getMessage()));
226
- }
227
- }
228
-
229
- /**
230
- * activate the CS bar
231
- *
232
- * @return array
233
- */
234
- public function activate(){
235
- $this->changeActiveState(1);
236
- }
237
-
238
- /**
239
- * deactivate the CS bar
240
- *
241
- * @return array
242
- */
243
- public function deactivate(){
244
- $this->changeActiveState(0);
245
- }
246
-
247
- /**
248
- * get commercesciences tag
249
- *
250
- * @return string
251
- */
252
- public function getTag(){
253
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
254
- if(!$csConfig){
255
- return '';
256
- }
257
- return ($csConfig->getTag() ? $csConfig->getTag() : '');
258
- }
259
-
260
- /**
261
- * check whether the bar is active
262
- *
263
- * @return array
264
- */
265
- public function getActiveState(){
266
-
267
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
268
- if(!$csConfig){
269
- //we must be already at least on step 1, so the DB record has to exist
270
- return array('error' => $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 005)"));
271
- }
272
-
273
-
274
- $RESTClient = new Zend_Rest_Client("http://api.commercesciences.com");
275
-
276
- $httpClient = $RESTClient->getHttpClient();
277
- $httpClient->setConfig(array(
278
- "timeout" => 30
279
- ));
280
-
281
- try{
282
- $response = $RESTClient->restGet("/magento/getBarStatus", array('userID' => $csConfig->getUserId(), 'securityToken'=>$csConfig->getSecurityToken()));
283
-
284
- $responseJson = $response->getBody();
285
- //dummy response
286
- //$responseJson = '{"good":true,"data":"Hidden"}';
287
-
288
- $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson));
289
-
290
-
291
- if(!isset($parsedResponseArr['good'])){
292
- return array('error' => $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 006)"));
293
- }
294
- if($parsedResponseArr['good'] == false){
295
- if(isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']){
296
- $fieldErrorsArr = $parsedResponseArr['fieldErrors'];
297
- $errorMsg = '';
298
- foreach($fieldErrorsArr as $field => $fError){
299
- $errorMsg .= $fError.",";
300
- }
301
- $errorMsg = substr($errorMsg, 0, strlen($errorMsg)-1);
302
- return array('error' => $errorMsg);
303
- }elseif(isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']){
304
- return array('error' =>$parsedResponseArr['globalError']);
305
- }
306
- }
307
- return array('error'=> false, 'data' => $parsedResponseArr['data']);
308
- }catch(Exception $e){
309
- return array('error' => $this->__($e->getMessage()));
310
- }
311
- }
312
-
313
- /*
314
- * get a code of the first store in the magento installation
315
- */
316
- public function getFirstStoreCode(){
317
- if(!$this->_firstStore){
318
- foreach (Mage::app()->getWebsites() as $website) {
319
- foreach ($website->getGroups() as $group) {
320
- $stores = $group->getStores();
321
- foreach ($stores as $store) {
322
- $this->_firstStore = $store->getCode();
323
- break;
324
- }
325
- }
326
- }
327
- }
328
- return $this->_firstStore;
329
- }
 
 
 
 
330
  }
1
+ <?php
2
+
3
+ class Commercesciences_Base_Helper_Data extends Mage_Core_Helper_Abstract{
4
+
5
+ const STEP_ZERO = 0;
6
+ const STEP_ONE = 1;
7
+ const STEP_TWO = 2;
8
+
9
+ const CONFIG_EMAIL = 'commercesciences/required_param/email';
10
+ const DEFAULT_MYSQL_TIMEOUT = 10;
11
+
12
+ /**
13
+ * handles the errors
14
+ */
15
+ public function handleError($error){
16
+ //Mage::log("Error:".$error, null, 'cs-error.log', true);
17
+ throw new Exception($error);
18
+ }
19
+
20
+ /**
21
+ * return the current step of the system
22
+ *
23
+ * @return int
24
+ */
25
+ public function getStep(){
26
+ if(!$this->_step){
27
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
28
+ if(!$csConfig || !$csConfig->getId()){
29
+ $csConfig = Mage::getModel("commercesciences_base/config");
30
+ $csConfig->save();
31
+ }
32
+ if(!$csConfig->getUserId()){
33
+ $this->_step = Commercesciences_Base_Helper_Data::STEP_ZERO;
34
+ return $this->_step;
35
+ }
36
+
37
+ //we have userId its step 1 or 2
38
+ $aStateArr = $this->getActiveState();
39
+ if($aStateArr['error'] != false){
40
+ $this->handleError($aStateArr['error']);
41
+ return;
42
+ }
43
+ if($aStateArr['data'] == 'NotConfigured'){
44
+ $this->_step = Commercesciences_Base_Helper_Data::STEP_ONE;
45
+ }elseif($aStateArr['data'] == 'Hidden' || $aStateArr['data'] == 'Visible'){
46
+ $this->_step = Commercesciences_Base_Helper_Data::STEP_TWO;
47
+ }else{
48
+ $error = $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 005)");
49
+ //Mage::log("Error:".$error, null, 'cs-error.log', true);
50
+ throw new Exception($error);
51
+ return;
52
+ }
53
+ }
54
+
55
+ return $this->_step;
56
+ }
57
+
58
+ /**
59
+ * converts the first layer of stdObject to array
60
+ * @param stdObject $stdObj
61
+ * @return array
62
+ */
63
+ public function stdObject2Array($stdObj)
64
+ {
65
+ if (is_object($stdObj)){
66
+ $stdObj = get_object_vars($stdObj);
67
+ }
68
+ return $stdObj;
69
+ }
70
+
71
+ /**
72
+ * register the email + domain on commercesciences
73
+ *
74
+ * @return array - format [error] => ''
75
+ */
76
+ public function register($email, $storeUrl){
77
+
78
+ $RESTClient = new Zend_Rest_Client("http://api.commercesciences.com");
79
+
80
+ $httpClient = $RESTClient->getHttpClient();
81
+ $httpClient->setConfig(array(
82
+ "timeout" => 30
83
+ ));
84
+
85
+ try {
86
+
87
+ //Mage::log("xxx", null, "debug6.log", true);
88
+
89
+ $timeBeforeApiCall = time();
90
+
91
+ $response = $RESTClient->restPost("/magento/registerPost", array('email' => $email, 'storeURL'=>$storeUrl));
92
+ $responseJson = $response->getBody();
93
+
94
+ $timeAfterApiCall = time();
95
+ //Mage::log("yyy-".$responseJson, null, "debug6.log", true);
96
+ //Mage::log("zzz-".($timeAfterApiCall-$timeBeforeApiCall), null, "debug6.log", true);
97
+
98
+ //fictive
99
+ //$responseJson = '{"good":true,"data":{"securityToken":"qfJpXFdiccH2LtAXy3U3mMZFRNiAbMsiGocKpk9RLarqda9001YYxXjYyQwy","userID":12296,"tag":"\u003c!-- CS Bar --\u003e\r\n\u003cscript type\u003d\u0027text/javascript\u0027\u003e\r\nvar script \u003d document.createElement(\u0027script\u0027);\r\nscript.type \u003d \u0027text/javascript\u0027;\r\nscript.src \u003d ((document.location.protocol \u003d\u003d \u0027https:\u0027) ? \u0027https://\u0027 : \u0027http://\u0027) +\r\n \u0027app.cdn-cs.com/b/4Udqvg/k9rip6/l/cs_all.js\u0027;\r\ndocument.getElementsByTagName(\u0027head\u0027)[0].appendChild(script);\r\n\u003c/script\u003e\r\n\u003c!-- end CS --\u003e\r\n"}}';
100
+
101
+ //Mage::log("response-".$responseJson, null, 'debug4.log', true);
102
+
103
+ //fictive response for testing
104
+
105
+ /*$parsedResponse = array(
106
+ 'security_token' => 'abcdefghijklmnop',
107
+ 'user_id' => '123456',
108
+ 'tag' => '<script type="text/javascript">alert(\'Hello!\');</script>'
109
+ );
110
+ */
111
+
112
+ $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson));
113
+ if(!isset($parsedResponseArr['good'])){
114
+ //timeout occured
115
+ return array('error' => $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 003)"));
116
+ }
117
+ if($parsedResponseArr['good'] == false){
118
+ if(isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']){
119
+ $fieldErrorsArr = $this->stdObject2Array($parsedResponseArr['fieldErrors']);
120
+ $errorMsg = '';
121
+ foreach($fieldErrorsArr as $field => $fError){
122
+ $errorMsg .= "<br />";
123
+ $errorMsg .= $this->__($field).": ".$this->__($fError);
124
+ }
125
+ return array('error' => $errorMsg);
126
+ }elseif(isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']){
127
+ return array('error' => $this->__($parsedResponseArr['globalError']));
128
+ }
129
+ }
130
+ $parsedResponse = $this->stdObject2Array($parsedResponseArr['data']);
131
+
132
+ if(!isset($parsedResponse['securityToken']) || !$parsedResponse['securityToken']
133
+ || !isset($parsedResponse['userID']) || !$parsedResponse['userID']
134
+ || !isset($parsedResponse['tag']) || !$parsedResponse['tag']){
135
+ return $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 001)");
136
+ }
137
+
138
+ if($timeAfterApiCall-$timeBeforeApiCall > self::DEFAULT_MYSQL_TIMEOUT){
139
+ //Mage::log("ffff", null, "debug6.log", true);
140
+
141
+ //pobably mysql serer has gone away, save data in the session
142
+
143
+ $adminSession = Mage::getModel('customer/session');
144
+ $adminSession->setCsUserId($parsedResponse['userID']);
145
+ $adminSession->setCsSecurityToken($parsedResponse['securityToken']);
146
+ $adminSession->setCsTag($parsedResponse['tag']);
147
+ }else{
148
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
149
+ if(!$csConfig){
150
+ $csConfig = Mage::getModel("commercesciences_base/config");
151
+ }
152
+ $csConfig->setSecurityToken($parsedResponse['securityToken'])
153
+ ->setUserId($parsedResponse['userID'])
154
+ ->setTag($parsedResponse['tag'])
155
+ ->save();
156
+ }
157
+
158
+
159
+ $message = '';
160
+ if(isset($parsedResponse['message']) && $parsedResponse['message']){
161
+ $message = $parsedResponse['message'];
162
+ }
163
+
164
+ return array('error' => false, 'message' => $message);
165
+
166
+ }catch(Exception $e){
167
+ //timeout or other unhandled exception was thrown
168
+ return array('error' => $this->__($e->getMessage()));
169
+ }
170
+ }
171
+
172
+ /**
173
+ * Change the is_state of the bar
174
+ *
175
+ * @param int $changeTo
176
+ * @return array
177
+ */
178
+ protected function changeActiveState($changeTo=1){
179
+
180
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
181
+ if(!$csConfig || !$csConfig->getUserId() || !$csConfig->getSecurityToken()){
182
+ //we must be already at least on step 1, so the DB record has to exist
183
+ return array('error' => $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 002)"));
184
+ }
185
+
186
+ $RESTClient = new Zend_Rest_Client("http://api.commercesciences.com");
187
+
188
+ $httpClient = $RESTClient->getHttpClient();
189
+ $httpClient->setConfig(array(
190
+ "timeout" => 30
191
+ ));
192
+
193
+ try{
194
+ if($changeTo){
195
+ $response = $RESTClient->restPost("/magento/showBarPost", array('userID' => $csConfig->getUserId(), 'securityToken'=>$csConfig->getSecurityToken()));
196
+ }else{
197
+ $response = $RESTClient->restPost("/magento/hideBarPost", array('userID' => $csConfig->getUserId(), 'securityToken'=>$csConfig->getSecurityToken()));
198
+ }
199
+
200
+ $responseJson = $response->getBody();
201
+ //Mage::log("activation-response-".$responseJson, null, 'debug4.log', true);
202
+
203
+ $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson));
204
+ if(!isset($parsedResponseArr['good'])){
205
+ return $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 004)");
206
+ }
207
+ if($parsedResponseArr['good'] == false){
208
+ if(isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']){
209
+ $fieldErrorsArr = $this->stdObject2Array($parsedResponseArr['fieldErrors']);
210
+ $errorMsg = '';
211
+ foreach($fieldErrorsArr as $field => $fError){
212
+ $errorMsg .= "<br />";
213
+ $errorMsg .= $this->__($field).": ".$this->__($fError);
214
+ }
215
+ //remove the last comma
216
+ $errorMsg = substr($errorMsg, 0, strlen($errorMsg)-1);
217
+ return array('error' => $errorMsg);
218
+ }elseif(isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']){
219
+ return array('error' => $this->__($parsedResponseArr['globalError']));
220
+ }
221
+ }
222
+
223
+ return array('error'=> false, 'data' => ($parsedResponseArr['data']==true ? 1 : 0));
224
+
225
+
226
+ }catch(Exception $e){
227
+ //timeout or other unhandled exception was thrown
228
+ return array('error' => $this->__($e->getMessage()));
229
+ }
230
+ }
231
+
232
+ /**
233
+ * activate the CS bar
234
+ *
235
+ * @return array
236
+ */
237
+ public function activate(){
238
+ $this->changeActiveState(1);
239
+ }
240
+
241
+ /**
242
+ * deactivate the CS bar
243
+ *
244
+ * @return array
245
+ */
246
+ public function deactivate(){
247
+ $this->changeActiveState(0);
248
+ }
249
+
250
+ /**
251
+ * get commercesciences tag
252
+ *
253
+ * @return string
254
+ */
255
+ public function getTag(){
256
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
257
+ if(!$csConfig){
258
+ return '';
259
+ }
260
+ return ($csConfig->getTag() ? $csConfig->getTag() : '');
261
+ }
262
+
263
+ /**
264
+ * check whether the bar is active
265
+ *
266
+ * @return array
267
+ */
268
+ public function getActiveState(){
269
+
270
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
271
+ if(!$csConfig){
272
+ //we must be already at least on step 1, so the DB record has to exist
273
+ return array('error' => $this->__("Error ocurred. Your updates weren't saved. Please contact ComemrceScience for support (error id: 005)"));
274
+ }
275
+
276
+
277
+ $RESTClient = new Zend_Rest_Client("http://api.commercesciences.com");
278
+
279
+ $httpClient = $RESTClient->getHttpClient();
280
+ $httpClient->setConfig(array(
281
+ "timeout" => 30
282
+ ));
283
+
284
+ try{
285
+ $response = $RESTClient->restGet("/magento/getBarStatus", array('userID' => $csConfig->getUserId(), 'securityToken'=>$csConfig->getSecurityToken()));
286
+
287
+ $responseJson = $response->getBody();
288
+ //dummy response
289
+ //$responseJson = '{"good":true,"data":"Hidden"}';
290
+
291
+ $parsedResponseArr = $this->stdObject2Array(json_decode($responseJson));
292
+
293
+
294
+ if(!isset($parsedResponseArr['good'])){
295
+ return array('error' => $this->__("The CommerceSciences server is currently busy, your updates weren't saved. Please try again later. (error id: 006)"));
296
+ }
297
+ if($parsedResponseArr['good'] == false){
298
+ if(isset($parsedResponseArr['fieldErrors']) && $parsedResponseArr['fieldErrors']){
299
+ $fieldErrorsArr = $this->stdObject2Array($parsedResponseArr['fieldErrors']);
300
+ $errorMsg = '';
301
+ foreach($fieldErrorsArr as $field => $fError){
302
+ $errorMsg .= "<br />";
303
+ $errorMsg .= $this->__($field).": ".$this->__($fError);
304
+ }
305
+ $errorMsg = substr($errorMsg, 0, strlen($errorMsg)-1);
306
+ return array('error' => $errorMsg);
307
+ }elseif(isset($parsedResponseArr['globalError']) && $parsedResponseArr['globalError']){
308
+ return array('error' =>$parsedResponseArr['globalError']);
309
+ }
310
+ }
311
+ return array('error'=> false, 'data' => $parsedResponseArr['data']);
312
+ }catch(Exception $e){
313
+ return array('error' => $this->__($e->getMessage()));
314
+ }
315
+ }
316
+
317
+ /*
318
+ * get a code of the first store in the magento installation
319
+ */
320
+ public function getFirstStoreCode(){
321
+ if(!$this->_firstStore){
322
+ foreach (Mage::app()->getWebsites() as $website) {
323
+ foreach ($website->getGroups() as $group) {
324
+ $stores = $group->getStores();
325
+ foreach ($stores as $store) {
326
+ $this->_firstStore = $store->getCode();
327
+ break;
328
+ }
329
+ }
330
+ }
331
+ }
332
+ return $this->_firstStore;
333
+ }
334
  }
app/code/local/Commercesciences/Base/Model/Adminhtml/System/Config/Source/Fontstyle.php DELETED
@@ -1,32 +0,0 @@
1
- <?php
2
-
3
-
4
- class Commercesciences_Base_Model_Adminhtml_System_Config_Source_Fontstyle{
5
-
6
- /**
7
- * Options getter
8
- *
9
- * @return array
10
- */
11
- public function toOptionArray()
12
- {
13
- $helper = Mage::helper("commercesciences_base");
14
- $options = array(
15
- array('value' => 0, 'label'=>$helper->__('normal')),
16
- array('value' => 1, 'label'=>$helper->__('italic')),
17
- array('value' => 2, 'label'=>$helper->__('oblique')),
18
- );
19
-
20
- return $options;
21
- }
22
-
23
- public function toAssocArray(){
24
- $helper = Mage::helper("commercesciences_base");
25
- $assocArr = array(
26
- '0' => $helper->__('normal'),
27
- '1' => $helper->__('italic'),
28
- '2' => $helper->__('oblique')
29
- );
30
- return $assocArr;
31
- }
32
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Commercesciences/Base/Model/Observer.php CHANGED
@@ -1,163 +1,168 @@
1
- <?php
2
- class Commercesciences_Base_Model_Observer
3
- {
4
- private $_putcommercesciences = false;
5
-
6
- /**
7
- * retrieve the module helper
8
- * @return Commercesciences_Base_Helper_Data
9
- */
10
- protected function getCsHelper(){
11
- if(!$this->_csHelper){
12
- $this->_csHelper = Mage::helper("commercesciences_base");
13
- }
14
- return $this->_csHelper;
15
- }
16
-
17
- /**
18
- * observer for the event core_block_abstract_to_html_after
19
- * adds the tag of commercescience to the block html
20
- *
21
- * @param $observer
22
- * @return mixed
23
- */
24
- public function addCommercesciencesHtml($observer)
25
- {
26
- if($this->_putcommercesciences){
27
- return;
28
- }
29
-
30
- $request = Mage::app()->getRequest();
31
- if(($request->getRouteName() == "adminhtml")){
32
- return;
33
- }
34
-
35
-
36
-
37
- $commercesciencesTag = Mage::helper("commercesciences_base")->getTag();
38
- if(!$commercesciencesTag){
39
- return;
40
- }
41
-
42
- $block = $observer->getBlock();
43
- $transport = $observer->getTransport();
44
-
45
- if($block->getNameInLayout() == "footer"){
46
- $transportHTML = $transport->getHtml();
47
- $transport->setHtml($transportHTML.$commercesciencesTag);
48
- $this->_putcommercesciences = true;
49
- return;
50
- }
51
-
52
- if($block->getNameInLayout() == "before_body_end"){
53
- $transportHTML = $transport->getHtml();
54
- $transport->setHtml($transportHTML.$commercesciencesTag);
55
- $this->_putcommercesciences = true;
56
- return;
57
- }
58
-
59
- }
60
-
61
-
62
- /**
63
- * observer for event model_config_data_save_before:
64
- * before the configurations are saved on the admin panel,
65
- * perform the logic of the flow
66
- *
67
- * @param $observer
68
- * @return void
69
- */
70
- public function performStepLogic($observer){
71
- $request = Mage::app()->getRequest();
72
- $params = $request->getParams();
73
- $savedConfigSection = $params['section'];
74
- if($savedConfigSection != 'commercesciences'){
75
- return;
76
- }
77
-
78
-
79
-
80
- $step = $this->getCsHelper()->getStep();
81
- $csHelper = $this->getCsHelper();
82
-
83
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
84
- if(!$csConfig || !$csConfig->getId()){
85
- $csConfig = Mage::getModel("commercesciences_base/config");
86
- $csConfig->save();
87
- }
88
-
89
- $firstStoreCode = $csHelper->getFirstStoreCode();
90
- $storeUrl = Mage::app()->getStore($firstStoreCode)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
91
-
92
- if($step == Commercesciences_Base_Helper_Data::STEP_ZERO){
93
- //check valid email
94
- if(!isset($params['groups']['required_param']['fields']['email']['value'])
95
- || !trim($params['groups']['required_param']['fields']['email']['value'])){
96
- $csHelper->handleError($csHelper->__('The email should not be empty'));
97
- return;
98
- }
99
- $email = trim($params['groups']['required_param']['fields']['email']['value']);
100
- $email = filter_var($email, FILTER_VALIDATE_EMAIL);
101
- if(!$email){
102
- $csHelper->handleError($csHelper->__('The email %s is not valid', $email));
103
- return;
104
- }
105
-
106
- //register
107
- $result = $csHelper->register($email, $storeUrl);
108
- if($result['error']){
109
- $csHelper->handleError($result['error']);
110
- return;
111
- }
112
-
113
- //customer registered - clear the cache
114
- Mage::app()->cleanCache();
115
- }
116
-
117
- if($step == Commercesciences_Base_Helper_Data::STEP_ONE
118
- || $step == Commercesciences_Base_Helper_Data::STEP_TWO){
119
- if(!isset($params['groups']['required_param']['fields']['is_active']['value'])){
120
- return;
121
- }
122
- $newIsActiveConfig = $params['groups']['required_param']['fields']['is_active']['value'];
123
-
124
-
125
- if($newIsActiveConfig==0){
126
- $csHelper->deactivate();
127
- }else{
128
- $csHelper->activate();
129
- }
130
- }
131
- return;
132
- }
133
-
134
- public function beforeTabLoaded($observer){
135
- $controller_action = $observer->getControllerAction();
136
- $request = $controller_action->getRequest();
137
- if($controller_action->getFullActionName() == "adminhtml_system_config_edit"){
138
- if($request->getParam('section') == 'commercesciences'){
139
- $adminSession = Mage::getModel('customer/session');
140
- //Mage::log("vvvv", null, "debug6.log", true);
141
- if($adminSession->getCsUserId()
142
- && $adminSession->getCsSecurityToken()
143
- && $adminSession->getCsTag()){
144
- $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
145
- if(!$csConfig || !$csConfig->getId()){
146
- $csConfig = Mage::getModel("commercesciences_base/config");
147
- }
148
- $csConfig->setUserId($adminSession->getCsUserId());
149
- $csConfig->setSecurityToken($adminSession->getCsSecurityToken());
150
- $csConfig->setTag($adminSession->getCsTag());
151
- $csConfig->save();
152
-
153
- $adminSession->unsetData("cs_user_id");
154
- $adminSession->unsetData("cs_security_token");
155
- $adminSession->unsetData("cs_tag");
156
-
157
- //Mage::log("ppp-".$csConfig->getUserId(), null, "debug6.log", true);
158
- }
159
- }
160
- }
161
- }
162
-
 
 
 
 
 
163
  }
1
+ <?php
2
+ class Commercesciences_Base_Model_Observer
3
+ {
4
+ private $_putcommercesciences = false;
5
+
6
+ /**
7
+ * retrieve the module helper
8
+ * @return Commercesciences_Base_Helper_Data
9
+ */
10
+ protected function getCsHelper(){
11
+ if(!$this->_csHelper){
12
+ $this->_csHelper = Mage::helper("commercesciences_base");
13
+ }
14
+ return $this->_csHelper;
15
+ }
16
+
17
+ /**
18
+ * observer for the event core_block_abstract_to_html_after
19
+ * adds the tag of commercescience to the block html
20
+ *
21
+ * @param $observer
22
+ * @return mixed
23
+ */
24
+ public function addCommercesciencesHtml($observer)
25
+ {
26
+ if($this->_putcommercesciences){
27
+ return;
28
+ }
29
+
30
+ $request = Mage::app()->getRequest();
31
+ if(($request->getRouteName() == "adminhtml")){
32
+ return;
33
+ }
34
+
35
+
36
+
37
+ $commercesciencesTag = Mage::helper("commercesciences_base")->getTag();
38
+ if(!$commercesciencesTag){
39
+ return;
40
+ }
41
+
42
+ $block = $observer->getBlock();
43
+ $transport = $observer->getTransport();
44
+
45
+ if($block->getNameInLayout() == "footer"){
46
+ $transportHTML = $transport->getHtml();
47
+ $transport->setHtml($transportHTML.$commercesciencesTag);
48
+ $this->_putcommercesciences = true;
49
+ return;
50
+ }
51
+
52
+ if($block->getNameInLayout() == "before_body_end"){
53
+ $transportHTML = $transport->getHtml();
54
+ $transport->setHtml($transportHTML.$commercesciencesTag);
55
+ $this->_putcommercesciences = true;
56
+ return;
57
+ }
58
+
59
+ }
60
+
61
+
62
+ /**
63
+ * observer for event model_config_data_save_before:
64
+ * before the configurations are saved on the admin panel,
65
+ * perform the logic of the flow
66
+ *
67
+ * @param $observer
68
+ * @return void
69
+ */
70
+ public function performStepLogic($observer){
71
+ $request = Mage::app()->getRequest();
72
+ $params = $request->getParams();
73
+ $savedConfigSection = $params['section'];
74
+ if($savedConfigSection != 'commercesciences'){
75
+ return;
76
+ }
77
+
78
+
79
+
80
+ $step = $this->getCsHelper()->getStep();
81
+ $csHelper = $this->getCsHelper();
82
+
83
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
84
+ if(!$csConfig || !$csConfig->getId()){
85
+ $csConfig = Mage::getModel("commercesciences_base/config");
86
+ $csConfig->save();
87
+ }
88
+
89
+ $firstStoreCode = $csHelper->getFirstStoreCode();
90
+ $storeUrl = Mage::app()->getStore($firstStoreCode)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_WEB);
91
+
92
+ if($step == Commercesciences_Base_Helper_Data::STEP_ZERO){
93
+ //check valid email
94
+ if(!isset($params['groups']['required_param']['fields']['email']['value'])
95
+ || !trim($params['groups']['required_param']['fields']['email']['value'])){
96
+ $csHelper->handleError($csHelper->__('The email should not be empty'));
97
+ return;
98
+ }
99
+ $email = trim($params['groups']['required_param']['fields']['email']['value']);
100
+ $email = filter_var($email, FILTER_VALIDATE_EMAIL);
101
+ if(!$email){
102
+ $csHelper->handleError($csHelper->__('The email %s is not valid', $email));
103
+ return;
104
+ }
105
+
106
+ //register
107
+ $result = $csHelper->register($email, $storeUrl);
108
+ if($result['error']){
109
+ $csHelper->handleError($result['error']);
110
+ return;
111
+ }
112
+
113
+ if($result['message']){
114
+ //Mage::log("ffff-".$result['message'], null, "debug6.log", true);
115
+ Mage::getSingleton('adminhtml/session')->addNotice($result['message']);
116
+ }
117
+
118
+ //customer registered - clear the cache
119
+ Mage::app()->cleanCache();
120
+ }
121
+
122
+ if($step == Commercesciences_Base_Helper_Data::STEP_ONE
123
+ || $step == Commercesciences_Base_Helper_Data::STEP_TWO){
124
+ if(!isset($params['groups']['required_param']['fields']['is_active']['value'])){
125
+ return;
126
+ }
127
+ $newIsActiveConfig = $params['groups']['required_param']['fields']['is_active']['value'];
128
+
129
+
130
+ if($newIsActiveConfig==0){
131
+ $csHelper->deactivate();
132
+ }else{
133
+ $csHelper->activate();
134
+ }
135
+ }
136
+ return;
137
+ }
138
+
139
+ public function beforeTabLoaded($observer){
140
+ $controller_action = $observer->getControllerAction();
141
+ $request = $controller_action->getRequest();
142
+ if($controller_action->getFullActionName() == "adminhtml_system_config_edit"){
143
+ if($request->getParam('section') == 'commercesciences'){
144
+ $adminSession = Mage::getModel('customer/session');
145
+ //Mage::log("vvvv", null, "debug6.log", true);
146
+ if($adminSession->getCsUserId()
147
+ && $adminSession->getCsSecurityToken()
148
+ && $adminSession->getCsTag()){
149
+ $csConfig = Mage::getModel("commercesciences_base/config")->load("1");
150
+ if(!$csConfig || !$csConfig->getId()){
151
+ $csConfig = Mage::getModel("commercesciences_base/config");
152
+ }
153
+ $csConfig->setUserId($adminSession->getCsUserId());
154
+ $csConfig->setSecurityToken($adminSession->getCsSecurityToken());
155
+ $csConfig->setTag($adminSession->getCsTag());
156
+ $csConfig->save();
157
+
158
+ $adminSession->unsetData("cs_user_id");
159
+ $adminSession->unsetData("cs_security_token");
160
+ $adminSession->unsetData("cs_tag");
161
+
162
+ //Mage::log("ppp-".$csConfig->getUserId(), null, "debug6.log", true);
163
+ }
164
+ }
165
+ }
166
+ }
167
+
168
  }
app/code/local/Commercesciences/Base/controllers/ApiController.php DELETED
@@ -1,38 +0,0 @@
1
- <?php
2
-
3
-
4
- class Commercesciences_Base_ApiController extends Mage_Core_Controller_Front_Action
5
- {
6
- public function setisconfiguredAction()
7
- {
8
- $request = $this->getRequest();
9
- if ($request->isPost()) {
10
- $userId = $request->getParam('userId');
11
- $securityToken = $request->getParam('securityToken');
12
-
13
- $csConfig = Mage::getModel("commercesciences_base/config")->load('1');
14
- if($csConfig
15
- && $csConfig->getUserId()==$userId
16
- && $csConfig->getSecurityToken()==$securityToken){
17
- $csConfig->setStep(Commercesciences_Base_Helper_Data::STEP_TWO);
18
- $csConfig->save();
19
- $responseArray = array(
20
- 'good' => 'true'
21
- );
22
- }else{
23
- $responseArray = array(
24
- 'good' => 'false',
25
- 'error' => 'The customer doesnt have such user_id/security_token in his database'
26
- );
27
- }
28
- }else{
29
- $responseArray = array(
30
- 'good' => 'false',
31
- 'error' => 'The request should be of type POST'
32
- );
33
- }
34
-
35
- $this->getResponse()->setHeader('Content-Type', 'application/json', true)->setBody(json_encode($responseArray));
36
- return;
37
- }
38
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
app/code/local/Commercesciences/Base/etc/config.xml CHANGED
@@ -1,130 +1,130 @@
1
- <config>
2
- <modules>
3
- <Commercesciences_Base>
4
- <version>0.0.1</version>
5
- </Commercesciences_Base>
6
- </modules>
7
- <frontend>
8
- <routers>
9
- <commercesciences_base>
10
- <use>standard</use>
11
- <args>
12
- <module>Commercesciences_Base</module>
13
- <frontName>commercesciences</frontName>
14
- </args>
15
- </commercesciences_base>
16
- </routers>
17
- </frontend>
18
- <global>
19
- <events>
20
- <core_block_abstract_to_html_after>
21
- <observers>
22
- <commercesciences_core_block_abstract_to_html_after>
23
- <type>singleton</type>
24
- <class>Commercesciences_Base_Model_Observer</class>
25
- <method>addCommercesciencesHtml</method>
26
- </commercesciences_core_block_abstract_to_html_after>
27
- </observers>
28
- </core_block_abstract_to_html_after>
29
- <core_config_data_save_before>
30
- <observers>
31
- <commercesciences_admin_system_config_changed_section_commercesciences>
32
- <type>singleton</type>
33
- <class>Commercesciences_Base_Model_Observer</class>
34
- <method>performStepLogic</method>
35
- </commercesciences_admin_system_config_changed_section_commercesciences>
36
- </observers>
37
- </core_config_data_save_before>
38
- <controller_action_predispatch_adminhtml_system_config_edit>
39
- <observers>
40
- <commercesciences_controller_action_predispatch_adminhtml_system_config_edit>
41
- <type>singleton</type>
42
- <class>Commercesciences_Base_Model_Observer</class>
43
- <method>beforeTabLoaded</method>
44
- </commercesciences_controller_action_predispatch_adminhtml_system_config_edit>
45
- </observers>
46
- </controller_action_predispatch_adminhtml_system_config_edit>
47
- </events>
48
- <helpers>
49
- <commercesciences_base>
50
- <class>Commercesciences_Base_Helper</class>
51
- </commercesciences_base>
52
- </helpers>
53
- <blocks>
54
- <commercesciences_base>
55
- <class>Commercesciences_Base_Block</class>
56
- </commercesciences_base>
57
- </blocks>
58
- <models>
59
- <commercesciences_base>
60
- <class>Commercesciences_Base_Model</class>
61
- <resourceModel>commercesciences_base_mysql4</resourceModel>
62
- </commercesciences_base>
63
- <commercesciences_base_mysql4>
64
- <class>Commercesciences_Base_Model_Mysql4</class>
65
- <entities>
66
- <config>
67
- <table>commercesciences_base_config</table>
68
- </config>
69
- </entities>
70
- </commercesciences_base_mysql4>
71
- </models>
72
- <resources>
73
- <commercesciences_base_setup>
74
- <setup>
75
- <module>Commercesciences_Base</module>
76
- <class>Commercesciences_Base_Model_Resource_Setup</class>
77
- </setup>
78
- </commercesciences_base_setup>
79
- </resources>
80
- </global>
81
- <default>
82
- <commercesciences>
83
- <required_param>
84
- <is_active>1</is_active>
85
- </required_param>
86
- </commercesciences>
87
- </default>
88
- <admin>
89
- <routers>
90
- <commercesciences>
91
- <use>admin</use>
92
- <args>
93
- <module>Commercesciences_Base</module>
94
- <frontName>commercesciences</frontName>
95
- </args>
96
- </commercesciences>
97
- </routers>
98
- </admin>
99
- <adminhtml>
100
- <layout>
101
- <updates>
102
- <commercesciences>
103
- <file>commercesciences.xml</file>
104
- </commercesciences>
105
- </updates>
106
- </layout>
107
- <acl>
108
- <resources>
109
- <all>
110
- <title>Allow Everything</title>
111
- </all>
112
- <admin>
113
- <children>
114
- <system>
115
- <children>
116
- <config>
117
- <children>
118
- <commercesciences>
119
- <title>CommerceSciences</title>
120
- </commercesciences>
121
- </children>
122
- </config>
123
- </children>
124
- </system>
125
- </children>
126
- </admin>
127
- </resources>
128
- </acl>
129
- </adminhtml>
130
  </config>
1
+ <config>
2
+ <modules>
3
+ <Commercesciences_Base>
4
+ <version>1.0.6</version>
5
+ </Commercesciences_Base>
6
+ </modules>
7
+ <frontend>
8
+ <routers>
9
+ <commercesciences_base>
10
+ <use>standard</use>
11
+ <args>
12
+ <module>Commercesciences_Base</module>
13
+ <frontName>commercesciences</frontName>
14
+ </args>
15
+ </commercesciences_base>
16
+ </routers>
17
+ </frontend>
18
+ <global>
19
+ <events>
20
+ <core_block_abstract_to_html_after>
21
+ <observers>
22
+ <commercesciences_core_block_abstract_to_html_after>
23
+ <type>singleton</type>
24
+ <class>Commercesciences_Base_Model_Observer</class>
25
+ <method>addCommercesciencesHtml</method>
26
+ </commercesciences_core_block_abstract_to_html_after>
27
+ </observers>
28
+ </core_block_abstract_to_html_after>
29
+ <core_config_data_save_before>
30
+ <observers>
31
+ <commercesciences_admin_system_config_changed_section_commercesciences>
32
+ <type>singleton</type>
33
+ <class>Commercesciences_Base_Model_Observer</class>
34
+ <method>performStepLogic</method>
35
+ </commercesciences_admin_system_config_changed_section_commercesciences>
36
+ </observers>
37
+ </core_config_data_save_before>
38
+ <controller_action_predispatch_adminhtml_system_config_edit>
39
+ <observers>
40
+ <commercesciences_controller_action_predispatch_adminhtml_system_config_edit>
41
+ <type>singleton</type>
42
+ <class>Commercesciences_Base_Model_Observer</class>
43
+ <method>beforeTabLoaded</method>
44
+ </commercesciences_controller_action_predispatch_adminhtml_system_config_edit>
45
+ </observers>
46
+ </controller_action_predispatch_adminhtml_system_config_edit>
47
+ </events>
48
+ <helpers>
49
+ <commercesciences_base>
50
+ <class>Commercesciences_Base_Helper</class>
51
+ </commercesciences_base>
52
+ </helpers>
53
+ <blocks>
54
+ <commercesciences_base>
55
+ <class>Commercesciences_Base_Block</class>
56
+ </commercesciences_base>
57
+ </blocks>
58
+ <models>
59
+ <commercesciences_base>
60
+ <class>Commercesciences_Base_Model</class>
61
+ <resourceModel>commercesciences_base_mysql4</resourceModel>
62
+ </commercesciences_base>
63
+ <commercesciences_base_mysql4>
64
+ <class>Commercesciences_Base_Model_Mysql4</class>
65
+ <entities>
66
+ <config>
67
+ <table>commercesciences_base_config</table>
68
+ </config>
69
+ </entities>
70
+ </commercesciences_base_mysql4>
71
+ </models>
72
+ <resources>
73
+ <commercesciences_base_setup>
74
+ <setup>
75
+ <module>Commercesciences_Base</module>
76
+ <class>Commercesciences_Base_Model_Resource_Setup</class>
77
+ </setup>
78
+ </commercesciences_base_setup>
79
+ </resources>
80
+ </global>
81
+ <default>
82
+ <commercesciences>
83
+ <required_param>
84
+ <is_active>1</is_active>
85
+ </required_param>
86
+ </commercesciences>
87
+ </default>
88
+ <admin>
89
+ <routers>
90
+ <commercesciences>
91
+ <use>admin</use>
92
+ <args>
93
+ <module>Commercesciences_Base</module>
94
+ <frontName>commercesciences</frontName>
95
+ </args>
96
+ </commercesciences>
97
+ </routers>
98
+ </admin>
99
+ <adminhtml>
100
+ <layout>
101
+ <updates>
102
+ <commercesciences>
103
+ <file>commercesciences.xml</file>
104
+ </commercesciences>
105
+ </updates>
106
+ </layout>
107
+ <acl>
108
+ <resources>
109
+ <all>
110
+ <title>Allow Everything</title>
111
+ </all>
112
+ <admin>
113
+ <children>
114
+ <system>
115
+ <children>
116
+ <config>
117
+ <children>
118
+ <commercesciences>
119
+ <title>CommerceSciences</title>
120
+ </commercesciences>
121
+ </children>
122
+ </config>
123
+ </children>
124
+ </system>
125
+ </children>
126
+ </admin>
127
+ </resources>
128
+ </acl>
129
+ </adminhtml>
130
  </config>
app/code/local/Commercesciences/Base/etc/system.xml CHANGED
@@ -1,76 +1,76 @@
1
- <config>
2
- <tabs>
3
- <commercesciences>
4
- <label>CommerceSciences</label>
5
- <sort_order>800</sort_order>
6
- </commercesciences>
7
- </tabs>
8
- <sections>
9
- <commercesciences>
10
- <class>separator-top</class>
11
- <label><![CDATA[<span class="stadmin-csconfig_menu">Personal Bar Configuration</span>]]></label>
12
- <tab>commercesciences</tab>
13
- <frontend_type>text</frontend_type>
14
- <sort_order>10</sort_order>
15
- <show_in_default>1</show_in_default>
16
- <show_in_website>1</show_in_website>
17
- <show_in_store>1</show_in_store>
18
- <groups>
19
- <required_param>
20
- <label>Personal Bar account Details</label>
21
- <frontend_type>text</frontend_type>
22
- <sort_order>10</sort_order>
23
- <show_in_default>1</show_in_default>
24
- <show_in_website>1</show_in_website>
25
- <show_in_store>1</show_in_store>
26
- <expanded>1</expanded>
27
- <fields>
28
- <email>
29
- <label></label>
30
- <comment></comment>
31
- <frontend_type>text</frontend_type>
32
- <frontend_model>commercesciences_base/adminhtml_config_form_renderer_campaignid</frontend_model>
33
- <sort_order>0</sort_order>
34
- <show_in_default>1</show_in_default>
35
- <show_in_website>1</show_in_website>
36
- <show_in_store>1</show_in_store>
37
- </email>
38
- <is_active>
39
- <label>Is Active?</label>
40
- <comment>[Activate/Deactivate CommerceSciences bar]</comment>
41
- <frontend_type>select</frontend_type>
42
- <source_model>adminhtml/system_config_source_yesno</source_model>
43
- <frontend_model>commercesciences_base/adminhtml_config_form_renderer_isactive</frontend_model>
44
- <sort_order>1</sort_order>
45
- <show_in_default>1</show_in_default>
46
- <show_in_website>1</show_in_website>
47
- <show_in_store>1</show_in_store>
48
- </is_active>
49
- </fields>
50
- </required_param>
51
- <about_the_bar>
52
- <label>About the Personal Bar</label>
53
- <frontend_type>text</frontend_type>
54
- <sort_order>20</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
- <expanded>1</expanded>
59
- <frontend_model>commercesciences_base/adminhtml_config_form_renderer_group_about</frontend_model>
60
- <fields>
61
- <email>
62
- <label></label>
63
- <comment></comment>
64
- <frontend_type>text</frontend_type>
65
- <frontend_model>commercesciences_base/adminhtml_config_form_renderer_about</frontend_model>
66
- <sort_order>0</sort_order>
67
- <show_in_default>1</show_in_default>
68
- <show_in_website>1</show_in_website>
69
- <show_in_store>1</show_in_store>
70
- </email>
71
- </fields>
72
- </about_the_bar>
73
- </groups>
74
- </commercesciences>
75
- </sections>
76
  </config>
1
+ <config>
2
+ <tabs>
3
+ <commercesciences>
4
+ <label>Personal Bar</label>
5
+ <sort_order>800</sort_order>
6
+ </commercesciences>
7
+ </tabs>
8
+ <sections>
9
+ <commercesciences>
10
+ <class>separator-top</class>
11
+ <label><![CDATA[<span class="stadmin-csconfig_menu">Personal Bar Configuration</span>]]></label>
12
+ <tab>commercesciences</tab>
13
+ <frontend_type>text</frontend_type>
14
+ <sort_order>10</sort_order>
15
+ <show_in_default>1</show_in_default>
16
+ <show_in_website>1</show_in_website>
17
+ <show_in_store>1</show_in_store>
18
+ <groups>
19
+ <required_param>
20
+ <label>Personal Bar</label>
21
+ <frontend_type>text</frontend_type>
22
+ <sort_order>10</sort_order>
23
+ <show_in_default>1</show_in_default>
24
+ <show_in_website>1</show_in_website>
25
+ <show_in_store>1</show_in_store>
26
+ <expanded>1</expanded>
27
+ <fields>
28
+ <email>
29
+ <label></label>
30
+ <comment></comment>
31
+ <frontend_type>text</frontend_type>
32
+ <frontend_model>commercesciences_base/adminhtml_config_form_renderer_campaignid</frontend_model>
33
+ <sort_order>0</sort_order>
34
+ <show_in_default>1</show_in_default>
35
+ <show_in_website>1</show_in_website>
36
+ <show_in_store>1</show_in_store>
37
+ </email>
38
+ <is_active>
39
+ <label>Is Active?</label>
40
+ <comment>[Activate/Deactivate CommerceSciences bar]</comment>
41
+ <frontend_type>select</frontend_type>
42
+ <source_model>adminhtml/system_config_source_yesno</source_model>
43
+ <frontend_model>commercesciences_base/adminhtml_config_form_renderer_isactive</frontend_model>
44
+ <sort_order>1</sort_order>
45
+ <show_in_default>1</show_in_default>
46
+ <show_in_website>1</show_in_website>
47
+ <show_in_store>1</show_in_store>
48
+ </is_active>
49
+ </fields>
50
+ </required_param>
51
+ <about_the_bar>
52
+ <label>About the Personal Bar</label>
53
+ <frontend_type>text</frontend_type>
54
+ <sort_order>20</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
+ <expanded>1</expanded>
59
+ <frontend_model>commercesciences_base/adminhtml_config_form_renderer_group_about</frontend_model>
60
+ <fields>
61
+ <email>
62
+ <label></label>
63
+ <comment></comment>
64
+ <frontend_type>text</frontend_type>
65
+ <frontend_model>commercesciences_base/adminhtml_config_form_renderer_about</frontend_model>
66
+ <sort_order>0</sort_order>
67
+ <show_in_default>1</show_in_default>
68
+ <show_in_website>1</show_in_website>
69
+ <show_in_store>1</show_in_store>
70
+ </email>
71
+ </fields>
72
+ </about_the_bar>
73
+ </groups>
74
+ </commercesciences>
75
+ </sections>
76
  </config>
app/code/local/Commercesciences/Base/sql/commercesciences_base_setup/mysql4-install-0.0.1.php CHANGED
@@ -3,15 +3,10 @@
3
  $installer = $this;
4
  $installer->startSetup();
5
 
6
- /* iterate on the stores and delete old cs configurations */
7
- //@TODO
8
-
9
-
10
  $installer->run("
11
  DROP TABLE IF EXISTS `{$installer->getTable('commercesciences_base/config')}`;
12
  CREATE TABLE `{$installer->getTable('commercesciences_base/config')}` (
13
  `entity_id` int(1) unsigned NOT NULL default 1,
14
- `step` int(1) unsigned default NULL,
15
  `user_id` varchar(20) default NULL,
16
  `security_token` varchar(1024) default NULL,
17
  `tag` varchar(2048) default NULL,
3
  $installer = $this;
4
  $installer->startSetup();
5
 
 
 
 
 
6
  $installer->run("
7
  DROP TABLE IF EXISTS `{$installer->getTable('commercesciences_base/config')}`;
8
  CREATE TABLE `{$installer->getTable('commercesciences_base/config')}` (
9
  `entity_id` int(1) unsigned NOT NULL default 1,
 
10
  `user_id` varchar(20) default NULL,
11
  `security_token` varchar(1024) default NULL,
12
  `tag` varchar(2048) default NULL,
app/code/local/Commercesciences/Base/sql/commercesciences_base_setup/mysql4-upgrade-0.0.1-1.0.6.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ $installer = $this;
4
+ $installer->startSetup();
5
+
6
+ $installer->run("
7
+ DROP TABLE IF EXISTS `{$installer->getTable('commercesciences_base/config')}`;
8
+ CREATE TABLE `{$installer->getTable('commercesciences_base/config')}` (
9
+ `entity_id` int(1) unsigned NOT NULL default 1,
10
+ `user_id` varchar(20) default NULL,
11
+ `security_token` varchar(1024) default NULL,
12
+ `tag` varchar(2048) default NULL,
13
+ PRIMARY KEY (`entity_id`)
14
+ ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
15
+ ");
16
+
17
+ $installer->endSetup();
app/etc/modules/Commercesciences_Base.xml CHANGED
@@ -1,8 +1,8 @@
1
- <config>
2
- <modules>
3
- <Commercesciences_Base>
4
- <active>true</active>
5
- <codePool>local</codePool>
6
- </Commercesciences_Base>
7
- </modules>
8
  </config>
1
+ <config>
2
+ <modules>
3
+ <Commercesciences_Base>
4
+ <active>true</active>
5
+ <codePool>local</codePool>
6
+ </Commercesciences_Base>
7
+ </modules>
8
  </config>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>commercesciences</name>
4
- <version>0.0.6</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
- <summary>An extension which enables easy installation for CommerceSciences bar</summary>
10
- <description>With the installation of the extension, the user will be able to easily register to CommerceSciences and get the bar installed immediately in his website.</description>
11
- <notes>Stable release</notes>
12
- <authors><author><name>CommerceSciences</name><user>auto-converted</user><email>smartest_girl89@yahoo.com</email></author></authors>
13
- <date>2012-10-24</date>
14
- <time>09:03:01</time>
15
- <contents><target name="magelocal"><dir name="Commercesciences"><dir name="Base"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Form"><dir name="Renderer"><dir name="Group"><file name="About.php" hash="a16457268fe17d002e171059bae3c34f"/></dir><file name="About.php" hash="0cb1eb47f815edbc7bd73f7b99f5e993"/><file name="Campaignid.php" hash="b5d09b5f78b50a434c190423844d8e6a"/><file name="Isactive.php" hash="2a25355d0f457f28a413d6a87ab45d2a"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="2a4b02da1d698ec720db77e7330abd03"/></dir><dir name="Model"><dir name="Adminhtml"><dir name="System"><dir name="Config"><dir name="Source"><file name="Fontstyle.php" hash="c651dc8613a3a501ae7c43dd56f7ca10"/></dir></dir></dir></dir><dir name="Mysql4"><file name="Config.php" hash="4d66326f7313bbdf67ca8c16ed34e87d"/></dir><dir name="Resource"><file name="Setup.php" hash="fb19aa68ae9c60f3869247ca109904a4"/></dir><file name="Config.php" hash="5db637f6c8a9ed31c113dde29d87e9de"/><file name="Observer.php" hash="c459e567ba7a9efaee8ce115e714371b"/></dir><dir name="controllers"><file name="ApiController.php" hash="254e5482daed31d581689f988593a99b"/></dir><dir name="etc"><file name="config.xml" hash="7404d3aae752c3a638c5fa3b55a4fbd6"/><file name="system.xml" hash="a287393592ccbf8c03e25311b8f0f9bc"/></dir><dir name="sql"><dir name="commercesciences_base_setup"><file name="mysql4-install-0.0.1.php" hash="17057c596cd36ea4a1e9d87cf37bc0de"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Commercesciences_Base.xml" hash="3223d3e6acdeac74abe8b6f10d899522"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="commercesciences.xml" hash="85100232edb979c031e05c3977664781"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="commercesciences"><dir name="css"><file name="skin.css" hash="f8aba0a288182ad85cf7029012dfe24e"/></dir><dir name="images"><file name="CS-Logo-innerpage.png" hash="450dc4a05822cba236a3400bfa1535f7"/><file name="icons-boxed.png" hash="703749e7a6dd991cffc3767244f14887"/><file name="intro-img.png" hash="20f4193fef90371b49379e6df1e8d523"/><file name="setup-takes-2-minutes.png" hash="9b69dde5ccc771e6910adb3a153cf591"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>commercesciences</name>
4
+ <version>0.0.8</version>
5
  <stability>stable</stability>
6
  <license uri="http://opensource.org/licenses/osl-3.0.php">OSL</license>
7
  <channel>community</channel>
8
  <extends/>
9
+ <summary>commercesciences</summary>
10
+ <description>commercesciences</description>
11
+ <notes>stable</notes>
12
+ <authors><author><name>CSciences</name><user>auto-converted</user><email>avivr@commercesciences.com</email></author></authors>
13
+ <date>2012-10-31</date>
14
+ <time>17:08:05</time>
15
+ <contents><target name="magelocal"><dir name="Commercesciences"><dir name="Base"><dir name="Block"><dir name="Adminhtml"><dir name="Config"><dir name="Form"><dir name="Renderer"><dir name="Group"><file name="About.php" hash="a16457268fe17d002e171059bae3c34f"/></dir><file name="About.php" hash="9be2a31ad63d9dcb1442d44232249b1d"/><file name="Campaignid.php" hash="d61e135e2a88f46b7123dfd8d8592dab"/><file name="Isactive.php" hash="51aa285d7b5c2d82c9a86e16795793ef"/></dir></dir></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="f78f712dbb7dfe58bddf8c420504f30a"/></dir><dir name="Model"><dir name="Mysql4"><file name="Config.php" hash="4d66326f7313bbdf67ca8c16ed34e87d"/></dir><dir name="Resource"><file name="Setup.php" hash="fb19aa68ae9c60f3869247ca109904a4"/></dir><file name="Config.php" hash="5db637f6c8a9ed31c113dde29d87e9de"/><file name="Observer.php" hash="0ec5713a66e1c7d8a45a9c289b0be597"/></dir><dir name="etc"><file name="config.xml" hash="53a878ebb0b444e3300fe48acf73e342"/><file name="system.xml" hash="faf40d542d2850ea1898b834db6288a5"/></dir><dir name="sql"><dir name="commercesciences_base_setup"><file name="mysql4-install-0.0.1.php" hash="e7c5c8bd79dcd828c28daae5ee449ae0"/><file name="mysql4-upgrade-0.0.1-1.0.6.php" hash="e7c5c8bd79dcd828c28daae5ee449ae0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="commercesciences.xml" hash="85100232edb979c031e05c3977664781"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Commercesciences_Base.xml" hash="979188b17ce6ac750aec46a315f7d438"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="commercesciences"><dir name="css"><file name="skin.css" hash="ea9c6126bb549227a87f333f06615e30"/></dir><dir name="images"><file name="CS-Logo-innerpage.png" hash="450dc4a05822cba236a3400bfa1535f7"/><file name="icons-boxed.png" hash="703749e7a6dd991cffc3767244f14887"/><file name="intro-img.png" hash="20f4193fef90371b49379e6df1e8d523"/><file name="setup-takes-2-minutes.png" hash="9b69dde5ccc771e6910adb3a153cf591"/></dir></dir></dir></dir></dir></target></contents>
16
  <compatible/>
17
  <dependencies/>
18
  </package>
skin/adminhtml/default/default/commercesciences/css/skin.css CHANGED
@@ -20,8 +20,11 @@
20
  .cswrapper{
21
  padding: 0 10px;
22
  font-weight: bold;
 
23
  }
24
- .csexp2, .csexp3{
 
 
25
  width: 500px;
26
  margin: 20px 0 0;
27
  }
@@ -30,6 +33,10 @@
30
  }
31
  .csexp3{
32
  height: 75px;
 
 
 
 
33
  }
34
  .csexp2_left, .csexp3_left, .csexp12_left, .csexp24_left{
35
  float: left;
@@ -130,40 +137,18 @@
130
  color: #0064cd;
131
  text-decoration: underline;
132
  }
133
- .cs_row {
134
- margin-left: -20px;
135
- *zoom: 1;
136
- *zoom: 1;
137
- }
138
- .cs_row:before,
139
- .cs_row:after {
140
- display: table;
141
- content: "";
142
- }
143
- .cs_row:after {
144
- clear: both;
145
- }
146
  [class*="cs_span"] {
147
  float: left;
148
  margin-left: 20px;
149
  }
150
- .cs_container {
151
- width: 940px;
152
- }
153
- .cs_span12 {
154
- width: 940px;
155
- }
156
- .cs_span10 {
157
- width: 780px;
158
- }
159
- .cs_span2 {
160
- width: 140px;
161
- }
162
  .cs_row {
163
  margin-left: -20px;
164
  *zoom: 1;
165
  *zoom: 1;
166
  }
 
 
 
167
  .cs_row:before,
168
  .cs_row:after {
169
  display: table;
@@ -175,9 +160,6 @@
175
  .cs_container {
176
  width: 940px;
177
  }
178
- .cs_span12 {
179
- width: 940px;
180
- }
181
  .cs_span10 {
182
  width: 780px;
183
  }
@@ -224,10 +206,10 @@
224
  font-size: 75%;
225
  }
226
 
227
- .cs_key-text-block {
228
  text-align: center;
229
  }
230
- .cs_ending-block {
231
  text-align: center;
232
  }
233
  .cs_ending-block p {
@@ -309,4 +291,4 @@
309
  font-style: normal;
310
  font-weight: 400;
311
  src: local('Pontano Sans'), local('PontanoSans-Regular'), url(http://themes.googleusercontent.com/static/fonts/pontanosans/v1/gTHiwyxi6S7iiHpqAoiE3HhCUOGz7vYGh680lGh-uXM.woff) format('woff');
312
- }
20
  .cswrapper{
21
  padding: 0 10px;
22
  font-weight: bold;
23
+
24
  }
25
+
26
+
27
+ .csexp2, .csexp3, .csexp4{
28
  width: 500px;
29
  margin: 20px 0 0;
30
  }
33
  }
34
  .csexp3{
35
  height: 75px;
36
+ margin-top: 3px;
37
+ }
38
+ .csexp4{
39
+
40
  }
41
  .csexp2_left, .csexp3_left, .csexp12_left, .csexp24_left{
42
  float: left;
137
  color: #0064cd;
138
  text-decoration: underline;
139
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  [class*="cs_span"] {
141
  float: left;
142
  margin-left: 20px;
143
  }
 
 
 
 
 
 
 
 
 
 
 
 
144
  .cs_row {
145
  margin-left: -20px;
146
  *zoom: 1;
147
  *zoom: 1;
148
  }
149
+ .cs_row h3 {
150
+ font-weight: normal;
151
+ }
152
  .cs_row:before,
153
  .cs_row:after {
154
  display: table;
160
  .cs_container {
161
  width: 940px;
162
  }
 
 
 
163
  .cs_span10 {
164
  width: 780px;
165
  }
206
  font-size: 75%;
207
  }
208
 
209
+ .cs_key-text-block {
210
  text-align: center;
211
  }
212
+ .cs_ending-block {
213
  text-align: center;
214
  }
215
  .cs_ending-block p {
291
  font-style: normal;
292
  font-weight: 400;
293
  src: local('Pontano Sans'), local('PontanoSans-Regular'), url(http://themes.googleusercontent.com/static/fonts/pontanosans/v1/gTHiwyxi6S7iiHpqAoiE3HhCUOGz7vYGh680lGh-uXM.woff) format('woff');
294
+ }