public function actionIndex() { if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->homeUrl); } $this->pageTitle = Yii::t('title', 'Character list'); $criteria = new CDbCriteria(); $criteria->select = 'name, account_id, account_name, exp, race, player_class, creation_date'; $criteria->join = 'INNER JOIN ' . Config::db('db') . '.log_referals ON (log_referals.slave_id = t.account_id AND log_referals.master_id = "' . Yii::app()->user->id . '" AND status = "unpaid")'; $referals = Players::model()->findAll($criteria); $form = new LogReferals(); if (isset($_POST['LogReferals'])) { $form->attributes = $_POST['LogReferals']; $check_isset = LogReferals::model()->count('master_id = ' . Yii::app()->user->id . ' AND slave_id = ' . $form->slave_id . ' AND status = "unpaid"'); if ($check_isset != 1) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('pers', 'You have no referrаls.') . '</div>'); $this->refresh(); } $master = AccountData::model()->find('id = ' . Yii::app()->user->id); $check_ip = AccountData::model()->count('id = ' . $form->slave_id . ' AND last_ip = "' . $master->last_ip . '"'); if ($check_ip != 0) { $log = LogReferals::model()->find('master_id = ' . Yii::app()->user->id . ' AND slave_id = ' . $form->slave_id . ' AND status = "unpaid"'); $log->status = 'blocked'; $log->update(false); Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('pers', 'You have no referrаls.') . '</div>'); $this->refresh(); } $criteria = new CDbCriteria(); $criteria->select = 'exp'; $criteria->condition = 'account_id = ' . $form->slave_id; $criteria->order = 'exp DESC'; $criteria->limit = 1; $check_lvl = Players::model()->find($criteria); if (Info::lvl($check_lvl->exp) < Config::get('referal_level')) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('pers', 'Less than the minimum level.') . '</div>'); $this->refresh(); } $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] + Config::get('referal_bonus'); $money->save(); $criteria = new CDbCriteria(); $criteria->condition = 'id = ' . $form->slave_id; $money = AccountData::model()->find($criteria); $money[Yii::app()->params->money] = $money[Yii::app()->params->money] + Config::get('referal_bonus_ref'); $money->save(); $log = LogReferals::model()->find('master_id = ' . Yii::app()->user->id . ' AND slave_id = ' . $form->slave_id . ' AND status = "unpaid"'); $log->status = 'complete'; $log->update(false); Yii::app()->user->setFlash('message', '<div class="flash_success">' . Yii::t('pers', 'Bonus credit applied!') . '</div>'); $this->refresh(); } $this->render('/pers', array('model' => Players::getPlayers(), 'referals' => $referals)); }
public function actionReferals() { 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 - Referrals list'); $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->order = 'id DESC'; $pages = new CPagination(LogReferals::model()->count($criteria)); $pages->pageSize = 25; $pages->applyLimit($criteria); $model = LogReferals::model()->findAll($criteria); $this->render('/admin/log_referals', array('model' => $model, 'pages' => $pages)); }
public function actionRegister() { $this->pageTitle = Yii::t('title', 'Registration'); $settings = Settings::model()->find(); $form = new AccountData(); $form->scenario = 'register'; if (isset($_GET['id'])) { $id = $_GET['id']; $cookie = new CHttpCookie('pow_referal', $id); $cookie->expire = time() + 60 * 60 * 24; Yii::app()->request->cookies['pow_referal'] = $cookie; } if (isset($_POST['AccountData'])) { $form->attributes = $_POST['AccountData']; if ($form->save()) { if ($settings->referal_enable == 1 and isset(Yii::app()->request->cookies['pow_referal']->value)) { $master = AccountData::model()->findByPk(Yii::app()->request->cookies['pow_referal']->value); $model = new LogReferals(); $model->master = $master->name; $model->master_id = $master->id; $model->slave = $form->name; $model->slave_id = $form->id; $model->save(false); unset(Yii::app()->request->cookies['pow_referal']); } if ($settings->trial_enable == 1) { $model = AccountData::model()->findByPk($form->id); $model->scenario = 'membership'; $model->membership = $settings->trial_type; $model->expire = date("Y-m-d", mktime() + $settings->trial_days * 86400); $model->save(false); } if ($settings->email_activation == 1) { $code = substr(md5(uniqid(rand(), true)), 0, rand(10, 15)); $link = '<a href="' . Yii::app()->homeUrl . 'account/activation/' . $code . '">' . Yii::app()->homeUrl . 'account/activation/' . $code . '</a>'; $model = AccountData::model()->findByPk($form->id); $model->activated = 0; $model->activation = $code; $model->save(false); $to = $model->email; $subject = 'Account activation'; $message = 'You have successfully registered as <a href="' . Yii::app()->homeUrl . '">' . Yii::app()->name . '</a><br /><br />To activate your account, click the following link: ' . $link; $headers = 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $headers .= 'To: ' . $model->name . ' <' . $model->email . '>' . "\r\n"; $headers .= 'From: ' . Yii::app()->name . ' <' . Yii::app()->params['adminEmail'] . '>' . "\r\n"; mail($to, $subject, $message, $headers); Yii::app()->user->setFlash('message', '<div class="flash_success">' . Yii::t('account', 'Account successfully created! Please check your email inbox for the activation link.') . '</div>'); $this->refresh(); } Yii::app()->user->setFlash('message', '<div class="flash_success">' . Yii::t('account', 'Account creation successful!') . '</div>'); $this->refresh(); } } $this->render('register', array('form' => $form)); }