public function actionIndex() { if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->homeUrl); } $this->pageTitle = Yii::t('title', 'Userbar creation'); $image = null; $model = new UserbarForm(); if (isset($_POST['UserbarForm'])) { $model->attributes = $_POST['UserbarForm']; if ($model->validate()) { $criteria = new CDbCriteria(); $criteria->select = 'id, name, exp, gender, race, player_class'; $player = Players::model()->with('abyssRank', 'lifeStats')->findByPK($model->player_id); $criteria = new CDbCriteria(); $criteria->select = 'name'; $legion = Legions::model()->with(array('legionMembers' => array('joinType' => 'INNER JOIN', 'condition' => 'player_id = ' . $model->player_id)))->find(); if ($legion == NULL) { $legion->name = null; } Yii::app()->ih->load($_SERVER['DOCUMENT_ROOT'] . Yii::app()->baseUrl . '/images/userbars/ub' . $model->fon . '.png')->text($player->name, Yii::app()->basePath . '/fonts/romic.ttf', 14, $this->rgb($model->shadow), CImageHandler::CORNER_LEFT_TOP, 8, 8)->text($player->name, Yii::app()->basePath . '/fonts/romic.ttf', 14, $this->rgb($model->name), CImageHandler::CORNER_LEFT_TOP, 8, 7)->text($legion->name, Yii::app()->basePath . '/fonts/monaco.ttf', 10, $this->rgb($model->shadow), CImageHandler::CORNER_LEFT_TOP, 8, 36)->text($legion->name, Yii::app()->basePath . '/fonts/monaco.ttf', 10, $this->rgb($model->legion), CImageHandler::CORNER_LEFT_TOP, 8, 35)->text(Info::class_text($player->player_class) . ', ' . $this->genderRace($player->gender, $player->race), Yii::app()->basePath . '/fonts/verdana.ttf', 8, $this->rgb($model->shadow), CImageHandler::CORNER_LEFT_BOTTOM, 8, 9)->text(Info::class_text($player->player_class) . ', ' . $this->genderRace($player->gender, $player->race), Yii::app()->basePath . '/fonts/verdana.ttf', 8, $this->rgb($model->class_race), CImageHandler::CORNER_LEFT_BOTTOM, 8, 10)->text(Info::lvl($player->exp) . ' Level', Yii::app()->basePath . '/fonts/romic.ttf', 14, $this->rgb($model->shadow), CImageHandler::CORNER_RIGHT_TOP, 8, 6)->text(Info::lvl($player->exp) . ' Level', Yii::app()->basePath . '/fonts/romic.ttf', 14, $this->rgb($model->level), CImageHandler::CORNER_RIGHT_TOP, 8, 5)->text($player->abyssRank->all_kill . '/' . $player->abyssRank->weekly_kill . ' Kills', Yii::app()->basePath . '/fonts/monaco.ttf', 10, $this->rgb($model->shadow), CImageHandler::CORNER_RIGHT_TOP, 8, 34)->text($player->abyssRank->all_kill . '/' . $player->abyssRank->weekly_kill . ' Kills', Yii::app()->basePath . '/fonts/monaco.ttf', 10, $this->rgb($model->kills), CImageHandler::CORNER_RIGHT_TOP, 8, 33)->text($player->lifeStats->hp . ' HP, ' . $player->lifeStats->mp . ' MP', Yii::app()->basePath . '/fonts/verdana.ttf', 8, $this->rgb($model->shadow), CImageHandler::CORNER_RIGHT_BOTTOM, 8, 9)->text($player->lifeStats->hp . ' HP, ' . $player->lifeStats->mp . ' MP', Yii::app()->basePath . '/fonts/verdana.ttf', 8, $this->rgb($model->stats), CImageHandler::CORNER_RIGHT_BOTTOM, 8, 10)->save($_SERVER['DOCUMENT_ROOT'] . Yii::app()->baseUrl . '/userbars/' . $model->player_id . '.png'); $image = Yii::app()->homeUrl . 'userbars/' . $model->player_id . '.png'; } } $this->render('/userbar', array('model' => $model, 'players' => Players::getPlayers(), 'image' => $image)); }
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 actionCategory($name) { if (Yii::app()->user->isGuest) { $this->redirect(Yii::app()->homeUrl); } $id = WebshopCategory::model()->find('alt_name = "' . $name . '"'); $this->pageTitle = Yii::t('title', 'Webshop') . ': ' . $id->name; $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->condition = 'category_id = ' . $id->category_id; $pages = new CPagination(Webshop::model()->count($criteria)); $pages->pageSize = Config::get('page_shop'); $pages->applyLimit($criteria); $model = Webshop::model()->findAll($criteria); $form = new Inventory(); $form->scenario = 'buy'; if (isset($_POST['Inventory'])) { $form->attributes = $_POST['Inventory']; if ($form->validate()) { $criteria = new CDbCriteria(); $criteria->select = '*'; $criteria->condition = 'item_id = ' . $form->item_id; $item = Webshop::model()->find($criteria); $real_price = ceil($form->new_amount * ($item->price / $item->amount)); $account = AccountData::model()->findByPk(Yii::app()->user->id); if ($account[Yii::app()->params->money] < $real_price) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('webshop', 'Insufficient funds.') . '</div>'); $this->refresh(); } $criteria = new CDbCriteria(); $criteria->condition = 'id = ' . $form->item_owner . ' AND online = 1'; $online = Players::model()->count($criteria); if ($online == 1) { Yii::app()->user->setFlash('message', '<div class="flash_error">' . Yii::t('webshop', 'Log-out') . '</div>'); $this->refresh(); } $criteria = new CDbCriteria(); $criteria->select = 'MAX(mail_unique_id) as mail_unique_id'; $last_mail_id = Mail::model()->find($criteria); $mail = new Mail(); $mail->mail_unique_id = $last_mail_id->mail_unique_id + 1; $mail->mail_recipient_id = $form->item_owner; $mail->sender_name = 'Admin'; $mail->mail_title = Yii::t('webshop', 'Delivery'); $mail->mail_message = Yii::t('webshop', 'Your purchase has been successful. Thank you, and we hope you enjoy the game!'); $mail->unread = 1; if ($form->item_id == 182400001) { $mail->attached_item_id = 0; $mail->attached_kinah_count = $form->new_amount; } else { $mail->attached_item_id = $this->add_item($form->item_id, $form->item_owner, $form->new_amount); $mail->attached_kinah_count = 0; } $mail->express = 1; $mail->save(false); $account[Yii::app()->params->money] = $account[Yii::app()->params->money] - $real_price; $account->save(false); $log = new LogWebshop(); $log->player_id = $form->item_owner; $log->item = $form->item_id; $log->amount = $form->new_amount; $log->price = $real_price; $log->save(false); Yii::app()->user->setFlash('message', '<div class="flash_success">' . Yii::t('webshop', 'Purchase successful!') . '</div>'); $this->refresh(); } } $this->render('category', array('model' => $model, 'id' => $id, 'form' => $form, 'players' => Players::getPlayers(), 'pages' => $pages)); }