PageRenderTime 45ms CodeModel.GetById 20ms RepoModel.GetById 0ms app.codeStats 0ms

/administrator/components/com_pago/views/payoptions/tmpl/add_address.php

https://gitlab.com/lankerd/paGO---Testing-Site
PHP | 312 lines | 265 code | 39 blank | 8 comment | 34 complexity | 57fbfc24cf830aa8fbad5f1320509430 MD5 | raw file
  1. <?php defined('_JEXEC') or die('Restricted access');
  2. /**
  3. * @package paGO Commerce
  4. * @author 'corePHP', LLC
  5. * @copyright (C) 2013 - 'corePHP' LLC and paGO Commerce
  6. * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html
  7. **/
  8. $user_address = JFactory::getApplication()->input->get('user_address', array(0), 'array');
  9. $user_fields_model = JModelLegacy::getInstance( 'User_fields','PagoModel' );
  10. $doc = JFactory::getDocument();
  11. $doc->addScript( JURI::root(true) . '/components/com_pago/javascript/jquery.chained.mini.js' );
  12. $js = 'jQuery(document).ready(function() {
  13. jQuery("#countystate").chained("#addresscountry");
  14. });
  15. ';
  16. //$doc->addScriptDeclaration( $js );
  17. $countries = $user_fields_model->get_countries();
  18. $options = array();
  19. $options[0] = array(
  20. 'id' => '',
  21. 'name' => JText::_("PAGO_PLEASE_SELECT_COUNTRY"),
  22. );
  23. foreach($countries as $k=>$v){
  24. $options[] = array(
  25. 'id' => $v,
  26. 'name' => $k
  27. );
  28. }
  29. $value = 0;
  30. if ( !empty( $user_address[0]['country'] )){
  31. $value = $user_address[0]['country'];
  32. }
  33. $selected_country = $value;
  34. $country_select = JHTML::_(
  35. 'select.genericlist',
  36. $options, 'address[country]',
  37. 'class="pg-dropdown required country" title="' . JText::_('PAGO_COUNTRY_REQUIRED') . '" data-placeholder="'.JText::_("PAGO_PLEASE_SELECT_COUNTRY").'"',
  38. 'id',
  39. 'name',
  40. $value,
  41. 'address[country]'
  42. );
  43. $states = $user_fields_model->get_countries_states();
  44. $value = false;
  45. if ( !empty( $user_address[0]['state'] ) ){
  46. $value = $user_address[0]['state'];
  47. }
  48. array_unshift($states['attribs'],'');
  49. ob_start();?>
  50. <select data-placeholder="<?php echo JText::_("PAGO_PLEASE_SELECT_STATE"); ?>" class="pg-dropdown countystate" id="countystate" name="address[state]">
  51. <?php foreach( $states['attribs'] as $state => $class ):
  52. if( $state == $value ){
  53. $selected = 'selected="selected"';
  54. } else {
  55. $selected = '';
  56. } ?>
  57. <?php
  58. $style="";
  59. if($selected_country===0 || $class=="class=\"".$selected_country."\"") $style="style=\"display:none;\"";
  60. ?>
  61. <?php if($state===0){ ?>
  62. <option <?php echo $selected ?> value="" <?php echo $class ?>></option>
  63. <?php }else{ ?>
  64. <option <?php echo $selected ?> value="<?php echo $state ?>" <?php echo $class ?>><?php echo $state ?></option>
  65. <?php } ?>
  66. <?php endforeach ?>
  67. </select>
  68. <?php
  69. $state_select = ob_get_clean();
  70. //END STUFF FOR COUNTRY AND STATE DYNAMIC SELECTION
  71. ?>
  72. <script src="<?php echo JURI::root(true); ?>/components/com_pago/javascript/jquery.chained.mini.js"></script>
  73. <div id="pg-account-addresses" class="pg-wrapper-container pg-account-addresses clearfix">
  74. <h3></h3>
  75. <div class="marg_padd"></div>
  76. <div>
  77. <div>
  78. <form id="pg-account-address-form" action="<?php echo JRoute::_('index.php'); ?>" method="POST">
  79. <div id="pg-account-address-shipping" class="pg-account-address" style="margin-left: 20px;">
  80. <div id="pg-system-messages"></div>
  81. <div class="add_address_div">
  82. <div>
  83. <label for="company" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_COMPANY_NAME' );?> (optional)</label>
  84. </div>
  85. <input id="company" name="address[company]" type="text" value="<?php if($user_address[0]['company']) echo $user_address[0]['company'] ?>" class="pg-inputbox" />
  86. </div>
  87. <div class="add_address_div">
  88. <div>
  89. <label for="firstname" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_FIRST_NAME' );?> <span class="required">(required)</span></label>
  90. </div>
  91. <input id="firstname" name="address[firstname]" type="text" class="pg-inputbox required" value="<?php if($user_address[0]['first_name']) echo $user_address[0]['first_name'] ?>" placeholder="John" />
  92. </div>
  93. <div class="add_address_div">
  94. <div>
  95. <label for="lastname" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_LAST_NAME' );?> <span class="required">(required)</span></label>
  96. </div>
  97. <input id="lastname" name="address[lastname]" type="text" class="pg-inputbox required" value="<?php if($user_address[0]['last_name']) echo $user_address[0]['last_name'] ?>" placeholder="Doe" />
  98. </div>
  99. <div class="add_address_div">
  100. <div>
  101. <label for="address1" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_ADDRESS_1' );?> <span class="required">(required)</span></label>
  102. </div>
  103. <input id="address1" name="address[address1]" type="text" class="pg-inputbox required" value="<?php if($user_address[0]['address_1']) echo $user_address[0]['address_1'] ?>" placeholder="123 Apple St." />
  104. </div>
  105. <div class="add_address_div">
  106. <div>
  107. <label for="address2" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_ADDRESS_2' );?> (optional)</label>
  108. </div>
  109. <input id="address2" name="address[address2]" type="text" value="<?php if($user_address[0]['address_2']) echo $user_address[0]['address_2'] ?>" class="pg-inputbox" /><br/>
  110. </div>
  111. <div class="add_address_div">
  112. <div>
  113. <label for="city" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_CITY' );?> <span class="required">(required)</span></label>
  114. </div>
  115. <input id="city" name="address[city]" type="text" class="pg-inputbox required" value="<?php if($user_address[0]['city']) echo $user_address[0]['city'] ?>" placeholder="Plainsville" />
  116. </div>
  117. <div class="add_address_div">
  118. <div>
  119. <label for="country" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_COUNTRY' );?> <span class="required">(required)</span></label>
  120. </div>
  121. <?php echo $country_select ?>
  122. </div>
  123. <div class="add_address_div">
  124. <div>
  125. <label for="countystate" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_STATE' );?></label>
  126. </div>
  127. <?php echo $state_select ?>
  128. </div>
  129. <div class="add_address_div">
  130. <div>
  131. <label for="postcodezip" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_ZIP' );?> <span class="required">(required)</span></label>
  132. </div>
  133. <input id="postcodezip" name="address[postcodezip]" type="text" class="pg-inputbox required" value="<?php if($user_address[0]['zip']) echo $user_address[0]['zip'] ?>" placeholder="49001" />
  134. </div>
  135. <div class="add_address_div">
  136. <div>
  137. <label for="telephoneno" class="pg-label"><?php echo JText::_( 'PAGO_SHOPPER_FORM_PHONE' );?> <span class="required">(required)</span></label>
  138. </div>
  139. <input id="telephoneno" name="address[telephoneno]" type="text" class="pg-inputbox required " value="<?php if($user_address[0]['phone_1']) echo $user_address[0]['phone_1'] ?>" placeholder="(555) 555-5555" />
  140. </div>
  141. <div class="add_address_div">
  142. <div>
  143. <label class = "pg-label"><?php echo JText::_('PAGO_CHECKOUT_SHIPPING_INFO_CONTACT_TITLE'); ?></label>
  144. </div>
  145. <p style="width: 90%"><?php echo JText::_('PAGO_CHECKOUT_SHIPPING_INFO_CONTACT_DESC'); ?></p>
  146. </div>
  147. <div class="add_address_div">
  148. <div>
  149. <label for="pg-email" class="pg-label">Email Address <span>(required)</span></label>
  150. </div>
  151. <input id="pg-email" name="address[email]" type="text" class="pg-inputbox required" value="<?php if($user_address[0]['user_email']) echo $user_address[0]['user_email'] ?>" />
  152. </div>
  153. <br />
  154. <input type="hidden" name="address[user_id]" value="<?php if($user_address[0]['user_id']) echo $user_address[0]['user_id'] ?>" class="user_id"/>
  155. <input type="hidden" name="address[addr_type]" value="<?php if($user_address[0]['address_type']) echo $user_address[0]['address_type'] ?>" class="addr_type"/>
  156. <?php if($user_address[0]['id']){?> <input type="hidden" name="address[id]" value="<?php echo $user_address[0]['id'] ?>"/> <?php } ?>
  157. <input type="hidden" name="option" value="com_pago" />
  158. <input type="hidden" name="view" value="customers" />
  159. <input type="hidden" name="task" value="storeAddress" />
  160. <?php echo JHTML::_( 'form.token' ) ?>
  161. <div class="add_address_button">
  162. <button type="button" class="pg-button pg-green-text-btn add_save_btn pull-left" style="margin-right:10px;"><?php echo JText::_('PAGO_ACCOUNT_ADDRESSES_SAVE_ACCOUNT_BUTTON'); ?></button>
  163. <button type="button" class="pg-button pg-gray-background-btn add_cancel_btn pull-left"><?php echo JText::_('PAGO_CANCEL_BUTTON'); ?></a></button>
  164. </div>
  165. </div>
  166. </form>
  167. </div>
  168. </div>
  169. </div>
  170. <script>
  171. jQuery(document).ready(function() {
  172. jQuery('.add_save_btn').click(function() {
  173. var form = jQuery(".pg-account-addresses form");
  174. var data = new Object();
  175. var error = '';
  176. var filter = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
  177. form.find('input').each(function(){
  178. data[jQuery(this).attr('name')] = jQuery(this).val();
  179. })
  180. form.find('select').each(function(){
  181. data[jQuery(this).attr('name')] = jQuery(this).val();
  182. })
  183. data['tmpl'] = 'component';
  184. data['view'] = 'customers';
  185. data['task'] = 'storeAddress';
  186. if(!data['address[email]']) {
  187. error += '<div>Email is required</div>';
  188. jQuery('#pg-email').css('border', '1px solid red');
  189. }
  190. else{
  191. if (!filter.test(data['address[email]'])){
  192. error += '<div>Email is wrong</div>';
  193. jQuery('#pg-email').css('border', '1px solid red');
  194. }
  195. }
  196. if(!data['address[firstname]']){
  197. error += '<div>First name is required</div>';
  198. jQuery('#firstname').css('border', '1px solid red');
  199. }
  200. if(!data['address[lastname]']){
  201. error += '<div>Last name is required</div>';
  202. jQuery('#lastname').css('border', '1px solid red');
  203. }
  204. if(!data['address[address1]']){
  205. error += '<div>Address is required</div>';
  206. jQuery('#address1').css('border', '1px solid red');
  207. }
  208. if(!data['address[city]']){
  209. error += '<div>City is required</div>';
  210. jQuery('#city').css('border', '1px solid red');
  211. }
  212. if(data['address[country]'] == '0'){
  213. error += '<div>Country is required</div>';
  214. jQuery('#addresscountry').css('border', '1px solid red');
  215. }
  216. if(!data['address[postcodezip]']){
  217. error += '<div>Zip is required</div>';
  218. jQuery('#postcodezip').css('border', '1px solid red');
  219. }
  220. if(!data['address[telephoneno]']){
  221. error += '<div>Phone is required</div>';
  222. jQuery('#telephoneno').css('border', '1px solid red');
  223. }
  224. if(error != '')
  225. {
  226. alert("You have error in form !!");
  227. return false;
  228. }
  229. jQuery.ajax({
  230. type: "POST",
  231. url: 'index.php',
  232. data: data,
  233. success: function(response){
  234. if (response){
  235. jQuery.ajax({
  236. type: "POST",
  237. url: 'index.php',
  238. data: 'option=com_pago&view=customers&task=getCustomerAccount&userId='+response+'&async=1',
  239. success: function(response){
  240. jQuery('#pg-account').html(response);
  241. }
  242. });
  243. }
  244. }
  245. });
  246. });
  247. jQuery('.add_cancel_btn').click(function() {
  248. jQuery.ajax({
  249. type: "POST",
  250. url: 'index.php',
  251. data: 'option=com_pago&view=customers&task=getCustomerAccount&userId='+jQuery('.user_id').val()+'&async=1',
  252. success: function(response){
  253. jQuery('#pg-account').html(response);
  254. }
  255. });
  256. });
  257. jQuery("#countystate").chained("#addresscountry");
  258. jQuery("#countystate, #addresscountry").chosen({"disable_search": true, "disable_search_threshold": 6});
  259. var PAGO_PLEASE_SELECT_STATE='<?php echo JText::_("PAGO_PLEASE_SELECT_STATE"); ?>';
  260. jQuery("#countystate option:first").text(PAGO_PLEASE_SELECT_STATE);
  261. jQuery("#countystate").trigger("chosen:updated");
  262. jQuery('#addresscountry').on('change', function() {
  263. jQuery('#countystate').parent().addClass("disabled");
  264. jQuery("#countystate option:first").text(PAGO_PLEASE_SELECT_STATE);
  265. jQuery("#countystate").trigger("chosen:updated");
  266. if(jQuery('#countystate').is('[disabled=disabled]')){
  267. }else{
  268. jQuery('#countystate').parent().removeClass("disabled");
  269. }
  270. return false;
  271. });
  272. });
  273. </script>