19 public function actionAdd()
25 if(isset($_POST[
'Item']) && is_numeric($_POST[
'Item'][
'quantity']) && $_POST[
'Item'][
'quantity'] > 0)
27 $order_id = Order::getOrder(
true);
30 $exist_model =
Item::model()->find(
'item_id=:item_id AND order_id=:order_id',
31 array(
':item_id' =>$item_id,
32 ':order_id'=>$order_id
36 if(isset($exist_model)){
37 $model = $exist_model;
38 $model->quantity += $_POST[
'Item'][
'quantity'];
39 $model->ordered_at =
new CDbExpression(
'NOW()');
42 $model->quantity =$_POST[
'Item'][
'quantity'];
44 $model->item_id =$item_id;
47 $model->order_id =$order_id;
48 $model->item_referrer =$_POST[
'Item'][
'item_referrer'];
50 $model->ip_address =$_SERVER[
'REMOTE_ADDR'];
51 $model->referrer =$_SERVER[
'HTTP_REFERER'];
53 if($model->getItemChecksum()==$_POST[
'checksum']){
58 $cookie =
new CHttpCookie(
'user_id', Order::getUser(
true));
59 $cookie->expire = time()+60 * Yii::app()->getModule(
'shoppingcart')->max_lifetime;
60 if(isset(Yii::app()->getModule(
'shoppingcart')->cookie_domain)){
61 $cookie->domain = Yii::app()->getModule(
'shoppingcart')->cookie_domain;
63 Yii::app()->request->cookies[
'user_id'] = $cookie;
70 if (!empty($_POST[
'shoppingcart_link'])) {
71 $this->redirect($_POST[
'shoppingcart_link']);
72 } elseif(isset($_SERVER[
'HTTP_REFERER'])) {
73 Yii::app()->user->setState(
'criticalReferrer',$_SERVER[
'HTTP_REFERER']);
74 $this->redirect($_SERVER[
'HTTP_REFERER'].
'#item-'.$model->item_id);
82 public function actionRemove()
86 if (isset($_GET[
'id'])) {
89 if (isset($model) && (Order::getOrder(
true)==$model->order_id)) {
93 throw new CHttpException(403);
95 if(isset($_SERVER[
'HTTP_REFERER'])){
96 $this->redirect($_SERVER[
'HTTP_REFERER']);