コード例 #1
0
 public function indexAction()
 {
     $model = new SettingsModel();
     $form = Call::form('Index');
     $countrysList = $model->getCountryList();
     if (isPost()) {
         if ($form->isValid(allPost()) and (isset($form->data["email"]) or isset($form->data["password"]) and isset($form->data["password1"]))) {
             if (Request::getParam('user')->password == md5($form->data['password'])) {
                 $data = [];
                 if ($form->data['password1'] != '') {
                     $data['password'] = md5($form->data['password1']);
                 }
                 if (isset($form->data['email'])) {
                     $data['email'] = $form->data["email"];
                 }
                 if ($form->data['news'] == 1) {
                     $data['newsletter'] = $form->data["news"];
                 }
                 $model->setSettings(Request::getParam('user')->id, $data);
                 redirect(url('settings'));
             }
         } else {
             $this->view->error = printError($form->error, 'INDEX_ERROR_');
         }
     }
     $this->view->countrysList = $countrysList;
     $this->view->title = Lang::translate('INDEX_TITLE');
 }
コード例 #2
0
 public function passwordResetAction()
 {
     if (isset(Request::getUri()[0])) {
         $model = new PageModel();
         if ($model->recoveryHashExist(Request::getUri()[0])) {
             $this->view->success = false;
             if (isPost()) {
                 $post = allPost();
                 if (isset($post['email']) && isset($post['password']) && isset($post['password2'])) {
                     if ($post['password'] == $post['password2']) {
                         if (checkLenght($post['password'], 6, 20)) {
                             if ($model->recoveryHashExist(Request::getUri()[0], $post['email'])) {
                                 if ($model->resetPassword($post['email'], $post['password'])) {
                                     $this->view->msg = "You have successfully changed password.";
                                     $this->view->success = true;
                                     $message = "Dear,<br/>Your account password at <a href=\"" . SITE_URL . "\">" . SITE_NAME . "</a> was changed.<br/>" . "New password is " . $post['password'] . "<br/>" . "Please do not share him!" . "<br/><br/>" . "Thanks for using our service,<br/>" . "Best regards,<br/>Administration.";
                                     $headers = "MIME-Version: 1.0\r\n" . "Content-type: text/html; charset=utf-8\r\n";
                                     if (mail($post['email'], "Password Reset", $message, $headers)) {
                                         $this->view->msg .= " Notification about password reset was sent to your email.";
                                     }
                                 } else {
                                     $this->view->msg = "Something wrong. Please try again later.";
                                 }
                             } else {
                                 $this->view->msg = "Wrong email. Please check entered data";
                             }
                         } else {
                             $this->view->msg = "Allowed password length may be from 6 to 20 characters.";
                         }
                     } else {
                         $this->view->msg = "Passwords aren't similar! Try again";
                     }
                 } else {
                     $this->view->msg = "You must fill all fields! Try again";
                 }
             }
             $model->deleteOldRecovery();
             $this->view->langPars = true;
             $this->view->hash = Request::getUri()[0];
             $this->view->title = Lang::translate("PASSWORD_RESET_TITLE");
         } else {
             setMyCookie('error', "Wrong password recovery code.", time() + 5);
             redirect(url('page', 'recovery'));
         }
     } else {
         redirect(url());
     }
 }
コード例 #3
0
 public function setLoseAction()
 {
     $response['error'] = 0;
     if (isPost()) {
         $post = allPost();
         $model = new ProfileModel();
         if ($post['mid']) {
             $match = $model->getMatchByID($post['mid']);
             if ($match->blocked && !($match->pwin == "1" && $match->uwin == "2") && !($match->pwin == "2" && $match->uwin == "1")) {
                 if (Request::getParam('user')->id == $match->uid) {
                     $data['uwin'] = '2';
                     if ($match->pwin == "1") {
                         $data['status'] = 2;
                         $winner = $match->pid;
                         $loser = $match->uid;
                     }
                 } elseif (Request::getParam('user')->id == $match->pid) {
                     $data['pwin'] = '2';
                     if ($match->uwin == "1") {
                         $data['status'] = 2;
                         $winner = $match->uid;
                         $loser = $match->pid;
                     }
                 }
                 if ($data && $model->updateMatchWL($post['mid'], $data)) {
                     if ($winner && $loser) {
                         if ($winner == Request::getParam('user')->id) {
                             $userW = Request::getParam('user');
                             $userL = $model->getUserByID($loser);
                         } else {
                             $userW = $model->getUserByID($winner);
                             $userL = Request::getParam('user');
                         }
                         $countGamesW = $userW->wins + $userW->losses + 1;
                         $countGamesL = $userL->wins + $userL->losses + 1;
                         $eloW = elo($userW->elo, $userL->elo, $countGamesW, 1);
                         $eloL = elo($userL->elo, $userW->elo, $countGamesL, 0);
                         $model->updateWLStat($winner, $loser, $eloW, $eloL);
                     }
                 } else {
                     $response['error'] = Lang::translate("MATCH_DB_ERROR");
                 }
             } else {
                 $response['error'] = Lang::translate("MATCH_ENDED");
             }
         }
     } else {
         $response['error'] = Lang::translate("MATCH_EMPTY_DATA");
     }
     echo json_encode($response);
     exit;
 }
コード例 #4
0
 public function serversAction()
 {
     $model = new AdminModel();
     if (Request::getUri()[0]) {
         switch (Request::getUri()[0]) {
             case "add":
                 $response['error'] = 0;
                 if (isPost()) {
                     $post = allPost();
                     //if () {}
                     if (!empty($post['__name']) && !empty($post['__addr']) && !empty($post['__pic'])) {
                         $data['name'] = $post['__name'];
                         $data['addr'] = $post['__addr'];
                         $data['pic'] = $post['__pic'];
                         $response['error'] = !$model->addServer($data);
                     } else {
                         $response['error'] = Lang::translate("SERVERS_ADD_EMPTY_FIELDS");
                     }
                 } else {
                     $response['error'] = Lang::translate("SERVERS_ADD_EMPTY_POST");
                 }
                 echo json_encode($response);
                 exit;
             case "delete":
                 $response['error'] = 0;
                 if (!empty(Request::getUri()[1])) {
                     $response['error'] = !$model->deleteServer(Request::getUri()[1]);
                 } else {
                     $response['error'] = Lang::translate("SERVERS_DELETE_EMPTY_REQUEST");
                 }
                 echo json_encode($response);
                 exit;
             case "edit":
                 $response['error'] = 0;
                 if (!empty(Request::getUri()[1])) {
                     $server = $model->getServer(Request::getUri()[1]);
                     if ($server) {
                         $response['id'] = $server->id;
                         $response['name'] = $server->name;
                         $response['addr'] = $server->addr;
                         $response['pic'] = $server->pic;
                     } else {
                         $response['error'] = Lang::translate("SERVERS_EDIT_WRONG_SERVER");
                     }
                 } else {
                     $response['error'] = Lang::translate("SERVERS_EDIT_EMPTY_REQUEST");
                 }
                 echo json_encode($response);
                 exit;
             case "save":
                 $response['error'] = 0;
                 if (!empty(Request::getUri()[1]) && isPost()) {
                     $post = allPost();
                     if (!empty($post['__name']) && !empty($post['__addr']) && !empty($post['__pic'])) {
                         $data['name'] = $post['__name'];
                         $data['addr'] = $post['__addr'];
                         $data['pic'] = $post['__pic'];
                         $response['error'] = !$model->editServer(Request::getUri()[1], $data);
                     } else {
                         $response['error'] = Lang::translate("SERVERS_SAVE_EMPTY_FIELDS");
                     }
                 } else {
                     $response['error'] = Lang::translate("SERVERS_SAVE_EMPTY_POST");
                 }
                 echo json_encode($response);
                 exit;
             case "get":
                 $response['error'] = 0;
                 $response['target_h']['#servers'] = "";
                 $servers = $model->getServers();
                 if (count($servers) > 0) {
                     foreach ($servers as $server) {
                         $response['target_h']['#servers'] .= '<div>' . '<div>#' . $server->id . '. ' . $server->name . '</div>' . '<div class="font-sm c_green">' . $server->addr . '</div>' . '<div class="font-sm c_red">' . $server->pic . '</div>' . '<div><textarea class="serv-code"><a href="' . $server->addr . '"><img src="' . $server->pic . '" alt="' . $server->name . '"></a></textarea></div>' . '<div>' . '<button onclick="editServer(' . $server->id . ');">' . Lang::translate('SERVERS_EDIT') . '</button>' . '<button onclick="delServer(' . $server->id . ');">' . Lang::translate('SERVERS_DELETE') . '</button>' . '</div>' . '</div>';
                     }
                 } else {
                     $response['target_h']['#servers'] = Lang::translate("SERVERS_NO_SERVER");
                 }
                 echo json_encode($response);
                 exit;
             default:
                 echo json_encode(array("error" => Lang::translate("SERVERS_WRONG_REQUEST")));
                 exit;
         }
     }
     $this->view->title = Lang::translate("SERVERS_TITLE");
 }
コード例 #5
0
 public function cancelBanAction()
 {
     $response['error'] = 'Wrong data provided to process ban canceling request.';
     if (isPost()) {
         $post = allPost();
         $model = new FriendsModel();
         if (isset($post['pid'])) {
             if ($model->userExist($post['pid'])) {
                 $status = $model->friendsStatus(Request::getParam('user')->id, $post['pid']);
                 if (empty($status)) {
                     $response['error'] = "Information about your relationships with this user not found.";
                 } else {
                     if (!$status['status'] && $status['ban']) {
                         if ($status['uid'] == Request::getParam('user')->id) {
                             if ($model->processFriend('cancelBan', Request::getParam('user')->id, $post['pid'])) {
                                 $response['error'] = 0;
                                 $response['target_h']['#request'] = 'You have remove this user from blacklist.';
                             } else {
                                 $response['error'] = 'Error occurs while processing ban request. Please try later.';
                             }
                         } else {
                             $response['error'] = 'You is banned by this user.';
                         }
                     }
                 }
             }
         }
     }
     echo json_encode($response);
     exit;
 }
コード例 #6
0
ファイル: Form.php プロジェクト: terrasystems/csgobattlecom
 public function printForm()
 {
     $partForm = '';
     $fields = '';
     foreach ($this->elements as $key => $input) {
         // Data
         $data = allPost();
         // Filter
         $filter = $input['filter'];
         // Class
         if ($input['class']) {
             $fields .= '<div class="' . $input['class'] . '">';
         }
         // Label
         if ($input['label']) {
             $fields .= '<label';
             if ($input['name']) {
                 $fields .= ' for="' . $input['name'] . '"';
             }
             if ($filter['required']) {
                 $fields .= ' class="required"';
             }
             $fields .= '>' . $input['label'] . ($filter['required'] ? '*' : '') . '</label>';
         }
         // Input
         $fields .= '<input';
         if ($input['type']) {
             $fields .= ' type="' . $input['type'] . '"';
         }
         if ($input['name']) {
             $fields .= ' name="' . $input['name'] . '"';
         }
         if ($input['id']) {
             $fields .= ' id="' . $input['id'] . '"';
         }
         if ($input['value']) {
             $fields .= ' value="' . $input['value'] . '"';
         }
         if ($filter['value'] === true) {
             $fields .= ' value="' . $data[$input['name']] . '"';
         }
         if ($input['placeholder']) {
             $fields .= ' placeholder="' . $input['placeholder'] . '"';
         }
         if ($input['autocomplete'] === false) {
             $fields .= ' autocomplete="off"';
         }
         $fields .= '>';
         if ($input['class']) {
             $fields .= '</div>';
         }
     }
     // Form
     if ($this->id) {
         $partForm .= ' id="' . $this->name . '"';
     }
     if ($this->class) {
         $partForm .= ' class="' . $this->class . '"';
     }
     $partForm .= ' method="' . $this->method . '" action="' . $this->action . '"';
     $form = '<form' . $partForm . '>' . $fields . '</form>';
     return $form;
 }