function filterShoppingCartWorkout($filterChain) { if (isset($_POST['ajax']) && strpos($_POST['ajax'], 'buy-form') === 0) { $model = new BasketForm(); echo CActiveForm::validate($model); Yii::app()->end(); } if (isset($_GET['ajax']) && $_GET['ajax'] === 'basket' && $_GET['operation'] === 'clear') { Yii::app()->shoppingCart->clear(); } if (isset($_POST['BasketForm'])) { $model = new BasketForm(); $model->attributes = $_POST['BasketForm']; if ($model->validate()) { list($class, $id) = preg_split('/_/', $model->id); $cart = Yii::app()->shoppingCart; $class = new $class(); $cart->put($class->findByPk($id), $model->quantity); } else { echo CActiveForm::validate($model); Yii::app()->end(); } } $filterChain->run(); }