/** * KsenMartModelProfile::getOrder() * * @param integer $order_id * @return */ public function getOrder($order_id = 0) { $this->onExecuteBefore('getOrder', array(&$order_id)); if ($order_id == 0) { $order_id = JRequest::getVar('id', 0); } $user = KSUsers::getUser(); $order = KSMOrders::getOrder($order_id); $order->shipping_title = $this->getShippingTitle($order->shipping_id); if (empty($order->email)) { $order->email = $user->email; } if (empty($order->name)) { $order->name = $user->name; } if (empty($order->phone)) { $order->phone = $user->phone; } if (!empty($order)) { $order->items = KSMOrders::getOrderItems($order_id); } $this->onExecuteAfter('getOrder', array(&$order)); return $order; }
public function getCart() { $this->onExecuteBefore('getCart'); $Itemid = KSSystem::getShopItemid(); if (!empty($this->order_id)) { $cart = KSMOrders::getOrder($this->order_id); $this->setDefaultCartValues($cart); $cart->items = KSMOrders::getOrderItems($this->order_id); for ($k = 0; $k < count($cart->items); $k++) { $cart->items[$k]->del_link = JRoute::_('index.php?option=com_ksenmart&view=cart&task=cart.update_cart&item_id=' . $cart->items[$k]->id . '&count=0&Itemid=' . $Itemid); $cart->total_prds += $cart->items[$k]->count; $cart->products_sum += $cart->items[$k]->count * $cart->items[$k]->price; } } else { $this->setDefaultCartValues($cart); } $cart->products_sum_val = KSMPrice::showPriceWithTransform($cart->products_sum); $cart->total_sum = $cart->products_sum; $cart->total_sum_val = KSMPrice::showPriceWithTransform($cart->total_sum); $this->onExecuteAfter('getCart', array(&$cart)); return $cart; }
public static function sendOrderMail($order_id, $admin = false) { self::onExecuteBefore(array(&$order_id, &$admin)); $db = JFactory::getDBO(); JRequest::setVar('id', $order_id); $model = KSSystem::getModel('orders'); $order = $model->getOrder(); $order->items = KSMOrders::getOrderItems($order_id); $query = $db->getQuery(true); $query->select('*')->from('#__ksenmart_shipping_fields')->where('shipping_id=' . $order->shipping_id)->where('position=' . $db->quote('address'))->where('published=1')->order('ordering'); $db->setQuery($query); $address_fields = $db->loadObjectList(); $address = array(); foreach ($address_fields as $address_field) { if ($address_field->system && isset($order->address_fields[$address_field->title])) { $value = $order->address_fields[$address_field->title]; } elseif (!$address_field->system && isset($order->address_fields[$address_field->id])) { $value = $order->address_fields[$address_field->id]; } else { $value = ''; } $title = $address_field->system ? JText::_('ksm_cart_shipping_field_' . $address_field->title) : $address_field->title; $address[] = $title . ' - ' . $value; } $order->address_fields = implode(', ', $address); $order->customer_name = ''; if (isset($order->customer_fields['name']) && !empty($order->customer_fields['name'])) { $order->customer_name .= $order->customer_fields['name']; } if (isset($order->customer_fields['last_name']) && !empty($order->customer_fields['last_name'])) { $order->customer_name .= $order->customer_fields['last_name'] . ' '; } if (isset($order->customer_fields['first_name']) && !empty($order->customer_fields['first_name'])) { $order->customer_name .= $order->customer_fields['first_name'] . ' '; } if (isset($order->customer_fields['middle_name']) && !empty($order->customer_fields['middle_name'])) { $order->customer_name .= $order->customer_fields['middle_name']; } $order->phone = isset($order->customer_fields['phone']) && !empty($order->customer_fields['phone']) ? $order->customer_fields['phone'] : ''; $mail = JFactory::getMailer(); $params = JComponentHelper::getParams('com_ksenmart'); $sender = array($params->get('shop_email'), $params->get('shop_name')); $content = KSSystem::loadTemplate(array('order' => $order), 'order', 'default', 'mail'); $mail->isHTML(true); $mail->setSender($sender); $mail->Subject = 'Новый заказ №' . $order_id; $mail->Body = $content; if (!$admin) { $mail->AddAddress($order->customer_fields['email'], $order->customer_fields['name']); } else { $mail->AddAddress($params->get('shop_email'), $params->get('shop_name')); } $mail->Send(); self::onExecuteAfter(); return true; }