public function actionRemoveFavourite($id)
 {
     $favId = $id;
     $UserId = Yii::app()->user->getId();
     $model = Favourites::model()->findByAttributes(array('UserId' => $UserId));
     if ($model) {
         $favlist = explode(',', $model->FavouriteIds);
         if ($count = count($favlist) == 1) {
             $model->delete();
         } else {
             $key = array_search($favId, $favlist);
             unset($favlist[$key]);
             $model->FavouriteIds = implode(',', $favlist);
             $model->save();
         }
     }
 }
 /**
  * This is the default 'index' action that is invoked
  * when an action is not explicitly requested by users.
  */
 public function actionIndex()
 {
     if (Yii::app()->user->isGuest) {
         $this->layout = 'login';
         $model = new LoginForm();
         // if it is ajax validation request
         if (isset($_POST['ajax']) && $_POST['ajax'] === 'login-form') {
             echo CActiveForm::validate($model);
             Yii::app()->end();
         }
         // collect user input data
         if (isset($_POST['LoginForm'])) {
             $date = date('Y-m-d H:i:s');
             $model->attributes = $_POST['LoginForm'];
             // validate user input and redirect to the previous page if valid
             if ($model->validate() && $model->login()) {
                 $loginUserID = Yii::app()->user->getId();
                 Users::model()->updateByPk($loginUserID, array('LoginStatus' => 1, 'LastLoginDate' => $date));
                 /* $this->redirect(array('site/index')); */
                 $this->redirect(Yii::app()->user->returnUrl);
             }
         }
         // display the login form
         $this->render('login', array('model' => $model));
     } else {
         $pageCount = 20;
         $loginUserId = Yii::app()->user->getId();
         $favourites = Favourites::model()->findByAttributes(array('UserId' => $loginUserId));
         if (!empty($favourites)) {
             $favourites = explode(',', $favourites->FavouriteIds);
         }
         $criteria = new CDbCriteria();
         $condition = "Status=1 AND SearchStatus=1 AND Objid <> {$loginUserId}";
         if (isset($_GET['searchAttList'])) {
             $criteria->condition = "UserId !='" . $loginUserId . "'";
             $options_list = UserOptions::model()->findAll($criteria);
             $key = array();
             $i = 0;
             $hasAttrUser = array();
             if ($_GET['searchAttList'] !== '') {
                 $values = explode(',', $_GET['searchAttList']);
                 foreach ($options_list as $option) {
                     $AttrOption = CJSON::decode($option->AttributeValueId);
                     foreach ($AttrOption['basic'] as $attr) {
                         if (is_array($attr)) {
                             foreach ($values as $value) {
                                 array_push($key, in_array($value, $attr));
                             }
                         }
                     }
                     foreach ($values as $value) {
                         array_push($key, in_array($value, $AttrOption['basic']));
                     }
                     $key = array_filter($key);
                     if (count($key) == count($values)) {
                         $hasAttrUser[$i++] = $option->UserId;
                     }
                 }
                 $condition .= !empty($hasAttrUser) ? " AND Objid IN(" . implode(',', $hasAttrUser) . ")" : ' AND Objid = 0';
             }
         }
         if (isset($_GET['MinAge']) && isset($_GET['MaxAge'])) {
             $minAge = $_GET['MinAge'];
             $maxAge = $_GET['MaxAge'];
             $minAge1 = $_GET['MinAge'] - 1;
             $maxAge1 = $_GET['MaxAge'] + 1;
             $toDate = date('Y-m-d', strtotime('-' . $minAge1 . ' years'));
             $fromDate = date('Y-m-d', strtotime('-' . $maxAge1 . ' years'));
             $condition .= " AND DateOfBirth BETWEEN '" . $fromDate . "' AND '" . $toDate . "'";
         }
         if (isset($_GET['Gender'])) {
             $condition .= $_GET['Gender'] !== '' ? " AND Gender=" . $_GET['Gender'] : " AND Gender=0 OR Gender=1";
         }
         $criteria->addCondition($condition);
         if (isset($_GET['type'])) {
             $criteria->compare("LoginStatus", 1, true);
         }
         $model = Profile::model()->findAll($criteria);
         $count = Profile::model()->count($criteria);
         $pages = new CPagination($count);
         $pages->pageSize = $pageCount;
         $pages->applyLimit($criteria);
         $this->render('list', array('models' => $model, 'pages' => $pages, 'pageCount' => $pageCount, 'favourites' => $favourites));
     }
 }
        } else {
            ?>
                                      <span class="mail"><?php 
            echo CHtml::link('Mail', array('/upgradepack/'));
            ?>
</span>
                                      <span class="chat"><?php 
            echo CHtml::link('Chat', array('/upgradepack/'));
            ?>
</span>
                                      <?php 
        }
        ?>
                                      <?php 
        $loginUserIds = Yii::app()->user->getId();
        if (Favourites::model()->findByAttributes(array('UserId' => $loginUserIds, 'FavouriteIds' => $model->Objid))) {
            ?>
                                      <span class="favactive fav" id="favouriteBlock<?php 
            echo $model->UserId;
            ?>
">Fav</span>
																			<?php 
        } else {
            ?>
                                        
                                      <?php 
            echo CHtml::ajaxLink('<span class="favinactive fav" id="favouriteBlock<?php echo $model->UserId; ?>">Fav</span>', Yii::app()->createUrl('/message/addToFavourite'), array('data' => array('id' => $model->Objid), 'update' => '#favouriteBlock' . $model->UserId));
            ?>

                                     <?php 
        }