public function actionIndex() { if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->homeUrl); } $this->pageTitle = Yii::t('title', 'Webshop'); $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->order = 'category_id'; $model = WebshopCategory::model()->findAll($criteria); $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->order = 'id'; $membership = Membership::model()->findAll($criteria); if (isset($_POST['Membership'])) { $account = AccountData::model()->findByPk(Yii::app()->user->id); $info = Membership::model()->findByPk($_POST['Membership']['id']); if ($account->membership == 0) { if ($account[Yii::app()->params->money] >= $info->price) { $account->membership = $info->type; $account->expire = date("Y-m-d", mktime() + $info->duration * 86400); $account[Yii::app()->params->money] = $account[Yii::app()->params->money] - $info->price; $account->save(); $log = new LogMembership(); $log->account = Yii::app()->user->name; $log->title = $info->title; $log->type = Info::membership($info->type); $log->duration = $info->duration; $log->price = $info->price; $log->save(); Yii::app()->user->setFlash('message', '<div class="flash_success">' . Yii::t('webshop', 'Account updated!') . '</div>'); $this->redirect('webshop'); } else { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('webshop', 'Insufficient funds.') . '</div>'); $this->redirect('webshop'); } } else { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('webshop', 'You have outdated privileges still active, please update them.') . '</div>'); $this->redirect('webshop'); } } $this->render('index', array('model' => $model, 'membership' => $membership)); }
public function actionMembership() { if (Yii::app()->user->isGuest or Yii::app()->user->access_level < Config::get('access_level_admin')) { $this->redirect(Yii::app()->homeUrl); } $this->pageTitle = Yii::t('title', 'Report - Privileges purchased'); $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->order = 'id DESC'; $pages = new CPagination(LogMembership::model()->count($criteria)); $pages->pageSize = 25; $pages->applyLimit($criteria); $model = LogMembership::model()->findAll($criteria); $this->render('/admin/log_membership', array('model' => $model, 'pages' => $pages)); }