Exemple #1
0
 /**
  * KSSystem::getDefaultAddress()
  *
  * @param mixed $uid
  * @return
  */
 public static function getDefaultAddress($uid)
 {
     $db = JFactory::getDbo();
     $query = $db->getQuery(true);
     $query->select(KSDb::quoteName(array('city', 'zip', 'street', 'house', 'floor', 'flat', 'coords')));
     $query->from(KSDb::quoteName('#__ksen_user_addresses'));
     $query->where(KSDb::quoteName('user_id') . '=' . $db->escape($uid));
     $query->where(KSDb::quoteName('default') . '=1');
     $db->setQuery($query);
     $address_struct = $db->loadObject();
     return KSSystem::formatAddress($address_struct);
 }
" id="default_<?php 
        echo $address->id;
        ?>
" value="1"<?php 
        echo $address->default == 1 ? ' checked' : '';
        ?>
 />
						<?php 
        echo JText::_('KSM_PROFILE_ADDRESSES_USE_AS_DEFAULT');
        ?>
					</label>
					<input type="hidden" id="address_<?php 
        echo $address->id;
        ?>
" value="<?php 
        echo KSSystem::formatAddress($address);
        ?>
" />
					<input type="hidden" id="coords_<?php 
        echo $address->id;
        ?>
" value="<?php 
        echo $address->coords;
        ?>
" />
				</td>
			</tr>
            <tr style="display: none;" class="edit_address" data-exp-tr="<?php 
        echo $address->id;
        ?>
">
    public function getInput()
    {
        $db = JFactory::getDBO();
        $session = JFactory::getSession();
        $shipping_id = $this->form->getValue('shipping_id');
        $user_id = $this->form->getValue('user_id');
        $query = $db->getQuery(true);
        $query->select('*')->from('#__ksen_user_addresses')->where('user_id=' . (int) $user_id);
        $db->setQuery($query);
        $user_addresses = $db->loadObjectList();
        $html = '';
        $query = $db->getQuery(true);
        $query->select('*')->from('#__ksenmart_shipping_fields')->where('shipping_id=' . (int) $shipping_id)->where('position=' . $db->quote('address'))->where('published=1')->order('ordering');
        $db->setQuery($query);
        $address_fields = $db->loadObjectList();
        $html .= '<div class="positions">';
        if (count($user_addresses) > 0) {
            $html .= '<div class="position">';
            $html .= '	<select name="user_address" id="user-addresses">';
            $html .= '		<option value="" selected>' . JText::_('ksm_orders_order_address_lbl') . '</option>';
            foreach ($user_addresses as $user_address) {
                $html .= '	<option value="' . $user_address->id . '" data-city="' . $user_address->city . '" data-zip="' . $user_address->zip . '" data-street="' . $user_address->street . '" data-house="' . $user_address->house . '" data-entrance="' . $user_address->entrance . '" data-floor="' . $user_address->floor . '" data-flat="' . $user_address->flat . '">' . KSSystem::formatAddress($user_address) . '</option>';
            }
            $html .= '	</select>';
            $html .= '</div>';
        }
        if (count($address_fields)) {
            foreach ($address_fields as $address_field) {
                $html .= '<div class="position">';
                if ($address_field->system && isset($this->value[$address_field->title])) {
                    $value = $this->value[$address_field->title];
                } elseif (!$address_field->system && isset($this->value[$address_field->id])) {
                    $value = $this->value[$address_field->id];
                } else {
                    $value = '';
                }
                $name = $address_field->system ? $address_field->title : $address_field->id;
                $address_field->title = $address_field->system ? JText::_('ksm_orders_order_field_' . $address_field->title) : $address_field->title;
                $html .= '<label class="inputname">' . $address_field->title . '</label>';
                if ($address_field->type == 'select') {
                    $query = $db->getQuery(true);
                    $query->select('*')->from('#__ksenmart_shipping_fields_values')->where('field_id=' . $address_field->id);
                    $db->setQuery($query);
                    $address_field->values = $db->loadObjectList();
                    $html .= '<select name="' . $this->name . '[' . $name . ']" class="sel">';
                    foreach ($address_field->values as $value) {
                        $html .= '<option value="' . $value->id . '" ' . ($value->id == $value ? 'selected' : '') . '>' . $value->title . '</option>';
                    }
                    $html .= '</select>';
                } else {
                    $html .= '<input type="text" class="inputbox address_field" ' . ($address_field->system == 1 ? 'id="address_' . $name . '"' : '') . ' name="' . $this->name . '[' . $name . ']" value="' . $value . '">';
                }
                $html .= '</div>';
            }
        } else {
            $html .= '	<div class="position empty-position">';
            $html .= '		<h3>' . JText::_('KSM_ORDERS_ORDER_NO_ADDRESSFIELDS') . '</h3>';
            $html .= '	</div>';
        }
        $html .= '</div>';
        $script = '
		jQuery(document).ready(function(){
		
			jQuery("body").on("change","#user-addresses",function(){
				var address_id = jQuery(this).val();
				if (address_id!="")
				{
					var option = jQuery(this).find("option[value=\'"+address_id+"\']");
					jQuery("#address_city").val(option.data().city);
					jQuery("#address_zip").val(option.data().zip);
					jQuery("#address_street").val(option.data().street);
					jQuery("#address_house").val(option.data().house);
					jQuery("#address_entrance").val(option.data().entrance);
					jQuery("#address_floor").val(option.data().floor);
					jQuery("#address_flat").val(option.data().flat);
				}
			});
			
		});
		';
        $document = JFactory::getDocument();
        $document->addScriptDeclaration($script);
        return $html;
    }