public function actionIndex() { if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->homeUrl); } $this->pageTitle = Yii::t('title', 'Accounts'); $criteria = new CDbCriteria(); $criteria->select = 'id, name, access_level, membership, last_ip, expire, ' . Yii::app()->params->money . ' AS toll, email'; $criteria->condition = 'id = ' . Yii::app()->user->id; $model = AccountData::model()->find($criteria); $ref_link = Yii::app()->homeUrl . 'register/' . Yii::app()->user->id; $transfer = new LogPoints(); if (isset($_POST['LogPoints'])) { $transfer->attributes = $_POST['LogPoints']; $transfer->sender = Yii::app()->user->name; if ($transfer->validate()) { $criteria = new CDbCriteria(); $criteria->select = 'account_id, account_name, online'; $criteria->condition = 'name = "' . $transfer->recipient . '"'; $account_id = Players::model()->find($criteria); if (!$account_id) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('account', 'Error - Character not found.') . '</div>'); $this->redirect('account'); } $criteria = new CDbCriteria(); $criteria->select = Yii::app()->params->money; $criteria->condition = 'id = ' . Yii::app()->user->id; $balance = AccountData::model()->find($criteria); if ($transfer->sum > $balance[Yii::app()->params->money]) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('account', 'Error - Insufficient funds.') . '</div>'); $this->redirect('account'); } $criteria = new CDbCriteria(); $criteria->condition = 'account_id = ' . Yii::app()->user->id . ' AND online = 1'; $check_online = Players::model()->count($criteria); if ($check_online > 0) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('account', 'Error - You must first be logged out from the game server.') . '</div>'); $this->redirect('account'); } $criteria = new CDbCriteria(); $criteria->condition = 'id = ' . Yii::app()->user->id; $money = AccountData::model()->find($criteria); $money[Yii::app()->params->money] = $money[Yii::app()->params->money] - $transfer->sum; $money->save(); $criteria = new CDbCriteria(); $criteria->condition = 'id = ' . $account_id->account_id; $money = AccountData::model()->find($criteria); $money[Yii::app()->params->money] = $money[Yii::app()->params->money] + $transfer->sum; $money->save(); $transfer->recipient = $account_id->account_name; $transfer->save(false); Yii::app()->user->setFlash('message', '<div class="flash_success">' . Yii::t('account', 'Points listed!') . '</div>'); $this->redirect('account'); } } $this->render('account', array('model' => $model, 'ref_link' => $ref_link, 'form' => $transfer)); }
public function actionPoints() { 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 - Points transferred'); $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->order = 'id DESC'; $pages = new CPagination(LogPoints::model()->count($criteria)); $pages->pageSize = 25; $pages->applyLimit($criteria); $model = LogPoints::model()->findAll($criteria); $this->render('/admin/log_points', array('model' => $model, 'pages' => $pages)); }