public function actionOrder()
 {
     $model = new YumMembership();
     if (isset($_POST['YumMembership'])) {
         $model->attributes = $_POST['YumMembership'];
         if ($model->save()) {
             $this->redirect(array('index'));
         }
     }
     $this->render('order', array('model' => $model));
 }
 public static function syncMemberships()
 {
     if (!Yii::app()->user->isGuest) {
         foreach (YumMembership::model()->findAll('user_id = :uid and end_date != 0 and end_date < :date', array(':uid' => Yii::app()->user->id, ':date' => time())) as $membership) {
             if ($membership->subscribed != -1) {
                 // renew membership
                 $new_membership = new YumMembership();
                 $new_membership->user_id = Yii::app()->user->id;
                 $new_membership->payment_id = $membership->payment_id;
                 $new_membership->payment_date = time();
                 // the user has choosen to up/downgrade to another membership
                 if ($membership->subscribed > 0) {
                     $new_membership->membership_id = $membership->subscribed;
                 } else {
                     $new_membership->membership_id = $membership->membership_id;
                 }
                 $role = YumRole::model()->findByPk($new_membership->membership_id);
                 $new_membership->end_date = time() + $role->duration * 86400;
                 $new_membership->save();
             }
             $membership->end_date = 0;
             $membership->save();
         }
     }
 }