/** * @Authorize * @Route("my-schedule") */ public function mySchedule() { //echo "vlezna"; $userId = $this->httpContext->getLoggedUser()->getId(); $myLectures = Database::getUserLectures($userId); // $viewModels = []; // // foreach ($myLectures as $myLecture) { // $viewModel = new LectureViewModel(); // $viewModel->setLecture($myLecture['Lecture']); // $viewModel->setEndtime($myLecture['EndTime']); // $viewModel->setStarttime($myLecture['StartTime']); // $viewModel->setHall($myLecture['Hall']); // $viewModel->setSpeker($myLecture['Speaker']); // $viewModels[] = $viewModel; // } var_dump($myLectures); // return View('lecture', $viewModels); }
public static function isValid(string $property, HttpContext $httpContext) : bool { //var_dump($httpContext); //echo "<br/>logged User:</br>"; //var_dump($httpContext->getLoggedUser()); $loggedUser = $httpContext->getLoggedUser(); if ($loggedUser != null) { $loggedUserId = $httpContext->getLoggedUser()->getId(); if ($loggedUserId != null) { if (preg_match("#Roles=['\"](.*?)['\"]#", $property, $match)) { $roles = explode(",", strtolower($match[1])); //var_dump($roles); $dbRoles = Database::getUserRoles($loggedUserId); //var_dump($dbRoles); //die; foreach ($dbRoles as $dbRole) { $del_val = strtolower($dbRole); // remove from roles if the role is available in the db if (($key = array_search($del_val, $roles)) !== false) { unset($roles[$key]); } } //var_dump($roles); // if all roles are founded the $roles will be empty if (count($roles) == 0) { return true; } return false; } else { if ($property == 'Authorize') { return true; } } return false; } } return false; }
public static function addRoleToUser(int $userId, int $roleId) { $db = Database::getInstance('app'); $result = $db->prepare("\r\n insert into user_roles values(:userId, :roleId);\r\n "); $result->execute([':userId' => $userId, ':roleId' => $roleId]); }
/** * @Route("register") * @POST */ public function register(UserBindingModel $model) { try { $isOkCSRF = $this->checkCSRF(); if (!$isOkCSRF) { throw new \Exception("Invalid Request!"); } $errorMsgs = ''; if ($model->getUsername() == null) { $errorMsgs = "Missing username. "; } $username = $model->getUsername(); if ($model->getPassword() == null) { $errorMsgs .= "Missing password. "; } $password = $model->getPassword(); if ($model->getConfirm() == null) { $errorMsgs .= "Missing confirm password. "; } $confirm = $model->getConfirm(); if ($password !== $confirm) { $errorMsgs .= "Password and Confirm password are different. "; } $dbUserModel = $this->dbContext->getIdentityUsersRepository()->filterByUsername($username)->findOne(); if ($dbUserModel == null) { if (strlen($password) >= 4) { $userClassName = UserConfig::UserIdentityClassName; $userModel = new $userClassName($username, password_hash($password, PASSWORD_DEFAULT)); } else { $errorMsgs .= "The password should be at least 4 characters. "; } } else { $errorMsgs .= "User with this username already exist! "; } if ($errorMsgs != '') { throw new \Exception($errorMsgs); } $this->dbContext->getIdentityUsersRepository()->add($userModel); $this->dbContext->getIdentityUsersRepository()->save(); $userId = $this->dbContext->getIdentityUsersRepository()->filterByUsername($username)->findOne()->getId(); $roleId = 1; Database::addRoleToUser($userId, $roleId); $this->initLogin($username, $password); } catch (\Exception $e) { $message = $e->getMessage(); $this->httpContext->getSession()->error = $message; return new View($model); } return new View(); }
private static function insert(Lecture $model) { $db = Database::getInstance('app'); $query = "INSERT INTO lectures (id,speakerid,hallid,name,startdatatime,enddatatime)\r\n VALUES (':id', ':speakerid', ':hallid', ':name', ':startdatatime', ':enddatatime')"; $result = $db->prepare($query); $result->execute([':id' => $model->getId(), ':speakerid' => $model->getSpeakerId(), ':hallid' => $model->getHallId(), ':name' => $model->getName(), ':startdatatime' => $model->getStartDateTime(), ':enddatatime' => $model->getEndDateTime()]); $model->setId((int) $db->lastId()); }
private static function insert(Hall $model) { $db = Database::getInstance('app'); $query = "INSERT INTO halls (id,name,venueid,userlimit)\r\n VALUES (':id', ':name', ':venueid','userlimit')"; $result = $db->prepare($query); $result->execute([':id' => $model->getId(), ':name' => $model->getName(), ':venueid' => $model->getVenueId(), ':userlimit' => $model->getUserLimit()]); $model->setId((int) $db->lastId()); }
private static function insert(Venue $model) { $db = Database::getInstance('app'); $query = "INSERT INTO venues (id,name,address)\r\n VALUES (':id', ':name', ':address')"; $result = $db->prepare($query); $result->execute([':id' => $model->getId(), ':name' => $model->getName(), ':address' => $model->getAddress()]); $model->setId((int) $db->lastId()); }
private function checkBuildDb() { if (\SoftUni\Config\ApplicationRunConfig::BuildDB) { Database::updateModelTable('\\SoftUni\\Models\\Conference'); Database::updateModelTable('\\SoftUni\\Models\\Venue'); Database::updateModelTable('\\SoftUni\\Models\\Hall'); Database::updateModelTable('\\SoftUni\\Models\\Lecture'); Database::updateManyToManyTable('user_lectures', 'user_id', 'lecture_id'); } }
private static function insert(Conference $model) { $db = Database::getInstance('app'); $query = "INSERT INTO conferences (ownerid,administratorid,venueid,name,startdatatime,enddatatime)\r\n VALUES (':ownerid', ':administratorid', ':venueid', ':name', ':startdatatime', ':enddatatime')"; $result = $db->prepare($query); $result->execute([':ownerid' => $model->getOwnerId(), ':administratorid' => $model->getAdministratorId(), ':id' => $model->getId(), ':venueid' => $model->getVenueId(), ':name' => $model->getName(), ':startdatatime' => $model->getStartDateTime(), ':enddatatime' => $model->getEndDateTime()]); $model->setId((int) $db->lastId()); }
private static function insert(IdentityUser $model) { $db = Database::getInstance('app'); $query = "INSERT INTO users (username,password) VALUES ('" . $model->getUsername() . "', '" . $model->getPassword() . "')"; $result = $db->prepare($query); $result->execute([]); $model->setId((int) $db->lastId()); }