Example #1
0
 public function run()
 {
     $session = new CHttpSession();
     $session->open();
     $surSess = Yii::app()->session->get("favorites");
     if (!Yii::app()->user->isGuest) {
         Yii::import('mod.users.models.UserFavorites');
         $modelClass = $this->model;
         $currentModule = Yii::app()->controller->module->id;
         echo Html::openTag('div', array('id' => 'fav' . $this->model->id, 'class' => 'favorite'));
         $modelc = UserFavorites::model()->findAll(array('condition' => '`t`.`user_id`=:userid', 'params' => array(':userid' => Yii::app()->user->getId())));
         if (count($modelc) < Yii::app()->settings->get('users', 'favorite_limit')) {
             if (isset($modelClass)) {
                 $model = UserFavorites::model()->find(array('condition' => '`t`.`user_id`=:userid AND `t`.`model_class`=:model_class AND `t`.`object_id`=:id', 'params' => array(':userid' => Yii::app()->user->getId(), ':model_class' => $modelClass->getModelName(), ':id' => $modelClass->id)));
                 if ($this->view && !isset($model)) {
                     //
                     $view = "add";
                     $params = array('model' => $this->model, 'mod' => $currentModule);
                 } else {
                     $view = "remove";
                     $params = array('favorite_id' => $model->id, 'model' => $this->model, 'object_id' => $this->model->id, 'mod' => $currentModule);
                 }
             }
         }
         $this->render($view, $params);
         echo Html::closeTag('div');
     }
 }
Example #2
0
 public function run()
 {
     if (Yii::app()->request->isAjaxRequest) {
         $action = $_POST['action'];
         $request = Yii::app()->request;
         if ($request->isAjaxRequest && !Yii::app()->user->isGuest) {
             $modelName = $_POST['model'];
             $mod = $_POST['mod'];
             Yii::import("mod.{$mod}.models.*");
             if ($action == 'add') {
                 $m = $modelName::model()->findByPk($_POST['id']);
                 if (isset($m)) {
                     $model = new UserFavorites();
                     $model->object_id = $m->primaryKey;
                     $model->owner_title = $m->getOwnerTitle();
                     $model->url = $m->getUrl();
                     $model->model_class = $m->getModelName();
                     $model->user_id = Yii::app()->user->id;
                     if ($model->save(false, false)) {
                         $this->controller->render('mod.users.widgets.favorites.views.remove', array('favorite_id' => $model->id, 'model' => $m, 'object_id' => $_POST['id'], 'view' => false));
                         // $this->controller->widget('mod.users.widgets.favorites.FavoritesWidget', array('id' => $model->object_id, 'model' => $m, 'view' => false));
                     }
                 }
             } elseif ($action == 'delete') {
                 $id = (int) $_POST['id'];
                 $model = (string) $_POST['model'];
                 $modelFavorite = UserFavorites::model()->findByPk($id);
                 $m = $model::model()->findByPk($modelFavorite->object_id);
                 if (isset($modelFavorite)) {
                     $modelFavorite->delete();
                     $this->controller->render('mod.users.widgets.favorites.views.add', array('model' => $m, 'view' => true, 'mod' => $mod));
                     //  $this->controller->widget('mod.users.widgets.favorites.FavoritesWidget', array('model' => $m,'view' => true));
                 }
             } else {
                 throw new CHttpException(400);
             }
         }
     } else {
         throw new CHttpException(401);
     }
 }