PageRenderTime 49ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/app/code/local/Springhills/Sortzone/controllers/IndexController.php

https://bitbucket.org/kdms/sh-magento
PHP | 249 lines | 205 code | 27 blank | 17 comment | 56 complexity | 1bb2d62eef05cf30d973cf1b47a5ba94 MD5 | raw file
  1. <?php
  2. class Springhills_Sortzone_IndexController extends Mage_Core_Controller_Front_Action
  3. {
  4. public function indexAction()
  5. {
  6. $this->loadLayout();
  7. $this->renderLayout();
  8. }
  9. public function removeAction(){
  10. $cookieValue = $this->getRequest()->getParam('cookieValue',false);
  11. $pageLimit = $this->getRequest()->getParam('pageLimit',false);
  12. $limit='';
  13. if($pageLimit !=null){
  14. $limit = '&limit='.$pageLimit ;
  15. }
  16. if(!empty($cookieValue)){
  17. Mage::getModel('core/cookie')->set('zone',null,0);
  18. $pageAction = $this->getRequest()->getParam('currentPage',false);
  19. $pageUrl = $this->getRequest()->getParam('pageUrl',false);
  20. if($pageAction == 'catalog_category_view'){
  21. if($pageUrl):
  22. $redirectUrl = Mage::getBaseUrl().$pageUrl.'?order=zone0&dir=asc'.$limit;
  23. else:
  24. $redirectUrl = Mage::getBaseUrl().$pageUrl.'?order=zone0&dir=asc'.$limit;
  25. endif;
  26. }
  27. if($pageAction == 'catalogsearch_result_index'){
  28. $q = $this->getRequest()->getParam('ss');
  29. if($q!=null)
  30. $redirectUrl = Mage::getBaseUrl().$pageUrl.'/?ss='.$q.'&dir=asc'.$limit;
  31. else
  32. $redirectUrl = Mage::getBaseUrl().$pageUrl.'/?dir=asc'.$limit;
  33. }
  34. if($pageAction == 'catalogsearch_advanced_result'){
  35. $category = $this->getRequest()->getParam('category',false);
  36. $web_search = $this->getRequest()->getParam('web_search',false);
  37. $full = $this->getRequest()->getParam('full_sun',false);
  38. $shade = $this->getRequest()->getParam('shade',false);
  39. $partial = $this->getRequest()->getParam('partial_shade',false);
  40. $redirectUrl = Mage::getBaseUrl()."catalogsearch/advanced/result/?plantfinder=yes&dir=asc".$limit;
  41. if($category)
  42. $redirectUrl .= '&category='.$category;
  43. if($web_search)
  44. $redirectUrl .= '&web_search_zone='.$web_search;
  45. if($shade)
  46. $redirectUrl .= '&shade='.$shade;
  47. if($full)
  48. $redirectUrl .= '&full_sun='.$full;
  49. if($partial)
  50. $redirectUrl .= '&partial_shade='.$partial;
  51. }
  52. $this->_redirectUrl($redirectUrl);
  53. }
  54. }
  55. public function postAction()
  56. {
  57. /**** Cookie Value from Toolbar ***/
  58. $cookieValue = $this->getRequest()->getParam('cookieValue',false);
  59. $pageLimit = $this->getRequest()->getParam('pageLimit',false);
  60. $post = $this->getRequest()->getPost();
  61. if ($post || $cookieValue!='') {
  62. $translate = Mage::getSingleton('core/translate');
  63. /* @var $translate Mage_Core_Model_Translate */
  64. $translate->setTranslateInline(false);
  65. try {
  66. $quertSp = '&';
  67. $limit='';
  68. if($pageLimit !=null){
  69. $limit = $quertSp.'limit='.$pageLimit ;
  70. }
  71. if(empty($cookieValue)){
  72. $postObject = new Varien_Object();
  73. $postObject->setData($post);
  74. $error = false;
  75. if (!Zend_Validate::is(trim($post['sort-zip-code']) , 'NotEmpty')) {
  76. $error = true;
  77. }
  78. /* Retrieving Post Values */
  79. $data['sort-zip-code']=trim($post['sort-zip-code']);
  80. $data['currpageAction']=trim($post['currpageAction']);
  81. $mainUrl = explode("?", $post['currpageUrl'] );
  82. $data['currpageUrl']= Mage::getBaseUrl().trim($mainUrl['0']);
  83. $pageUrl = strstr($data['currpageUrl'], '?', true);
  84. /* Fetch data based on Zipcode */
  85. $write = Mage::getSingleton("core/resource")->getConnection("core_write");
  86. $value = $write->query("SELECT * from hardiness_zone where zipcode='".$data['sort-zip-code']."' ");
  87. $row = $value->fetch();
  88. if($row) {
  89. $related_zone = $row['zone'];
  90. $actual_zone = substr_replace($related_zone,"",-1);
  91. $name = 'zone';
  92. $value = $related_zone;
  93. /*** Redirection for different pages with params conditions ***/
  94. if($data['currpageAction'] == 'catalog_category_view'):
  95. Mage::getModel('core/cookie')->set('zone', $value);
  96. if($pageUrl):
  97. $redirectUrl = $data['currpageUrl'].$quertSp.'dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  98. else:
  99. $redirectUrl = $data['currpageUrl'].'?dir=asc&order=zone'.$actual_zone.$limit;
  100. //echo $redirectUrl; exit;
  101. endif;
  102. elseif($data['currpageAction'] == 'catalogsearch_result_index'):
  103. Mage::getModel('core/cookie')->set('zone', $value);
  104. $q = $this->getRequest()->getParam('ss');
  105. if($q!=null)
  106. $redirectUrl = $data['currpageUrl'].'?ss='.$q.$quertSp.'dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  107. else
  108. $redirectUrl = $data['currpageUrl'].'?dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  109. elseif($data['currpageAction'] == 'catalogsearch_advanced_result'):
  110. Mage::getModel('core/cookie')->set('zone', $value);
  111. $redirectUrl = $data['currpageUrl']."?dir=asc".$limit;
  112. if($actual_zone)
  113. $redirectUrl .= $quertSp.'order=zone'.$actual_zone;
  114. if($post['category'])
  115. $redirectUrl .= $quertSp.'category='.$post['category'];
  116. if($post['web_search_zone'])
  117. $redirectUrl .= $quertSp.'web_search_zone='.$post['web_search_zone'];
  118. if(empty ($post['web_search_zone']))
  119. $redirectUrl .= $quertSp.'web_search_zone='.$actual_zone;
  120. if($post['plantfinder'])
  121. $redirectUrl .= $quertSp.'plantfinder='.$post['plantfinder'];
  122. if($post['shade'])
  123. $redirectUrl .= $quertSp.'shade='.$post['shade'];
  124. if($post['full_sun'])
  125. $redirectUrl .= $quertSp.'full_sun='.$post['full_sun'];
  126. if($post['partial_shade'])
  127. $redirectUrl .= $quertSp.'partial_shade='.$post['partial_shade'];
  128. endif;
  129. $email = $post['hzoneemail'];
  130. if($email != null && $email != 'Email Address' ){
  131. Mage::getModel('core/cookie')->set('email_id', $email);
  132. }
  133. //echo $redirectUrl;die();
  134. if(!empty($email)){
  135. $redirectUrl .= '&lflg=1&hzip='.$post['sort-zip-code'];
  136. $status = Mage::getModel('newsletter/subscriber')->subscribe($email);
  137. // Transactional Email Template's ID Use template id of template created for newsletter
  138. $templateId = 3;
  139. // Set sender information
  140. $senderName = Mage::getStoreConfig('trans_email/ident_general/name');
  141. $senderEmail = Mage::getStoreConfig('trans_email/ident_general/email');
  142. // $senderName ="Amit";
  143. // $senderEmail = "amits@kensium.com";
  144. $sender = array('name' => $senderName,
  145. 'email' => $senderEmail);
  146. // Set recepient information
  147. $recepientEmail = $email;
  148. $recepientName = $email;
  149. // Get Store ID
  150. $storeId = Mage::app()->getStore()->getId();
  151. // Set variables that can be used in email template
  152. $vars = array('customerEmail' => $email);
  153. $translate = Mage::getSingleton('core/translate');
  154. // Send Transactional Email
  155. Mage::getModel('core/email_template')
  156. ->sendTransactional($templateId, $sender, $recepientEmail, $recepientName, $vars, $storeId);
  157. $translate->setTranslateInline(true);
  158. }
  159. $this->_redirectUrl($redirectUrl);
  160. }else {
  161. $redirectUrl = Mage::getBaseUrl().$post['currpageUrl'];
  162. Mage::getSingleton('core/session')->addError('Zone is not available for the entered zip code');
  163. $this->_redirectUrl($redirectUrl);
  164. }
  165. }else{
  166. /**** If Toolbar cookie exists *****/
  167. if(!empty($cookieValue)){
  168. $pageAction = $this->getRequest()->getParam('currentPage',false);
  169. $pageUrl = $this->getRequest()->getParam('pageUrl',false);
  170. $actual_zone = substr_replace($cookieValue,"",-1);
  171. if($pageAction == 'catalog_category_view'){
  172. Mage::getModel('core/cookie')->set('zone', $cookieValue);
  173. if($pageUrl):
  174. $redirectUrl = Mage::getBaseUrl().$pageUrl.'?dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  175. else:
  176. $redirectUrl = Mage::getBaseUrl().$pageUrl.'?dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  177. endif;
  178. }
  179. if($pageAction == 'catalogsearch_result_index'){
  180. Mage::getModel('core/cookie')->set('zone', $cookieValue);
  181. $q = $this->getRequest()->getParam('ss');
  182. if($q!=null)
  183. $redirectUrl = Mage::getBaseUrl().$pageUrl.'/result/?ss='.$q.$quertSp.'dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  184. else
  185. $redirectUrl = Mage::getBaseUrl().$pageUrl.'/result/?dir=asc'.$quertSp.'order=zone'.$actual_zone.$limit;
  186. }
  187. if($pageAction == 'catalogsearch_advanced_result'){
  188. Mage::getModel('core/cookie')->set('zone', $cookieValue);
  189. $category = $this->getRequest()->getParam('category',false);
  190. $web_search = $this->getRequest()->getParam('web_search',false);
  191. $full = $this->getRequest()->getParam('full_sun',false);
  192. $shade = $this->getRequest()->getParam('shade',false);
  193. $partial = $this->getRequest()->getParam('partial_shade',false);
  194. $redirectUrl = Mage::getBaseUrl()."catalogsearch/advanced/result/?plantfinder=yes".$quertSp."dir=asc".$limit;
  195. if($actual_zone)
  196. $redirectUrl .= $quertSp.'order=zone'.$actual_zone;
  197. if($category)
  198. $redirectUrl .= $quertSp.'category='.$category;
  199. if($web_search)
  200. $redirectUrl .= $quertSp.'web_search_zone='.$actual_zone;
  201. if($shade)
  202. $redirectUrl .= $quertSp.'shade='.$shade;
  203. if($full)
  204. $redirectUrl .= $quertSp.'full_sun='.$full;
  205. if($partial)
  206. $redirectUrl .= $quertSp.'partial_shade='.$partial;
  207. }
  208. //echo $web_search.$redirectUrl;die;
  209. $this->_redirectUrl($redirectUrl);
  210. }
  211. }
  212. } catch (Exception $e) {
  213. $translate->setTranslateInline(true);
  214. $this->_redirect('*/*/');
  215. return;
  216. }
  217. } else {
  218. $this->_redirect('*/*/');
  219. }
  220. }
  221. }
  222. ?>