Skip to content

User Address Loading

Darryl Hein edited this page May 24, 2014 · 1 revision

An example of Cart::load_user_address($order);

	/**
	 * Loads the user's information into the order.
	 * Called while loading the checkout page.
	 * Checks to make sure the shipping address isn't already filled out.
	 *
	 * @param   Model_Cart_Order  $order  The order model.
	 *
	 * @return  Model_Cart_Order
	 */
	public static function load_user_address($order) {
		if (Auth::instance()->logged_in()) {
			$user_data = Auth::instance()->get_user()->as_array();

			// will return just a comma if the address is empty
			// using a cloned order because shipping_formatted() set's the model's mode
			$_order = clone $order;
			$shipping_address = trim($_order->shipping_formatted());

			if ($shipping_address == ',') {
				$order->values(array(
						'shipping_first_name' => $user_data['first_name'],
						'shipping_last_name' => $user_data['last_name'],
						'shipping_company' => $user_data['company'],
						'shipping_address_1' => $user_data['address_1'],
						'shipping_address_2' => $user_data['address_2'],
						'shipping_municipality' => $user_data['municipality'],
						'shipping_state_id' => $user_data['state_id'],
						'shipping_postal_code' => $user_data['postal_code'],
						'shipping_phone' => $user_data['phone'],
						'shipping_email' => $user_data['username'],
					));
			}
		}

		return $order;
	}
Clone this wiki locally