/**
* Displays a particular model.
* @param integer $id the ID of the model to be displayed
*/
public function actionAdditem($item_id)
{
$user_id = Yii::app()->user->id;
// find the users cart
$user = User::model()->find(array('condition' => 'id=:user_id', 'params' => array(':user_id' => $user_id)));
// find the users cart
$cart = Cart::model()->find(array('condition' => 'cart_owner=:cart_owner', 'params' => array(':cart_owner' => $user_id)));
// find the item being reffered to by item_id
$item = Item::model()->find(array('condition' => 'id=:item_id', 'params' => array(':item_id' => $item_id)));
if (is_null($cart)) {
// if the cart is not found. create a cart for the user.
$cart = new Cart();
$cart->cart_owner = $user->id;
$cart->save();
}
// check if the same order was already made & increment else, create new
$order = Order::model()->find(array('condition' => 'item_id=:item_id AND cart_id=:cart_id AND order_by=:order_by', 'params' => array(':item_id' => $item_id, ':cart_id' => $cart->id, ':order_by' => $user->id)));
if (is_null($order)) {
$order = new Order();
$order->create_time = time();
$order->quantity = 1;
$order->item_id = $item->id;
$order->cart_id = $cart->id;
$order->order_by = $user->id;
} else {
$order->quantity = 1 + $order->quantity;
$order->update_time = time();
}
$order->save();
// find all orders by this user.
$orders = Order::model()->findAll('cart_id=:cart_id AND order_by=:order_by', array(':cart_id' => $cart->id, ':order_by' => $user->id));
$return = array('success' => true, 'data' => $orders);
echo CJavaScript::jsonEncode($return);
Yii::app()->end();
}