public function Save() { // Create view $pageView = $this->ctrlHelper->CreateView('PageView'); // Load file dependencies $this->ctrlHelper->LoadDALModel('UserDAL'); $this->ctrlHelper->LoadDALModel('LoginDAL'); // Create objects $pages = $this->ctrlHelper->CreateDALModel('PageDAL'); $auth = $this->ctrlHelper->CreateService('AuthService'); if ($auth->IsUserLoggedIn()) { // Get page info from view $pageInfoArray = $pageView->GetPageInfo(); // Get logged in user $user = $auth->GetLoggedInUser(); // Create new page $page = new \model\Page($pageInfoArray['pageId'], $pageInfoArray['header'], $pageInfoArray['content'], $user->GetUsername()); // Check if there was validation errors if (!\model\ValidationService::IsValid()) { \model\ValidationService::ConvertErrorsToFlashMessages(); $pageId = $page->GetPageId(); } else { // Generate slug $page->GenerateSlug(); $pageId = $pages->Save($page); \model\FlashMessageService::Add("Sidan sparades med ett lyckat resultat."); } // Get controller name $ctrlName = $this->ctrlHelper->CtrlToString($this); // Redirect $this->ctrlHelper->RedirectTo($ctrlName . "/show/" . $pageId . '/' . $page->GetSlug()); } }
public function Login() { // Create view $loginView = $this->ctrlHelper->CreateView('LoginView'); // Load file dependencies $this->ctrlHelper->LoadBLLModel('User'); $this->ctrlHelper->LoadDALModel('UserDAL'); $this->ctrlHelper->LoadDALModel('LoginDAL'); $this->ctrlHelper->LoadService('UserClientService'); // Create Auth service $auth = $this->ctrlHelper->CreateService('AuthService'); // If user is already logged in if ($auth->IsUserLoggedIn()) { $this->ctrlHelper->RedirectTo("page"); } // If user wants to login if ($loginView->UserWantsToLogin()) { // Get login attempt $loginAttemptArray = $loginView->GetLoginAttempt(); // Create new user from login attempt $loginAttemptUser = new \model\User(NULL, $loginAttemptArray['username'], "", "", $loginAttemptArray['password'], false); // If there are no validation errors, proceed. if (\model\ValidationService::IsValid()) { // Try to authenticate user if ($user = $auth->Authenticate($loginAttemptUser)) { // Store logged in user object in sessions cookie $auth->KeepUserLoggedInForSession($user); if ($loginView->UserWantsLoginToBeRemembered()) { // Save persistent login on server $auth->SaveLoginOnServer($user); $loginView->SaveLoginOnClient($user); } \model\FlashMessageService::Add("Inloggningen lyckades."); $this->ctrlHelper->RedirectTo("page/show"); } else { // The user was denied access \model\FlashMessageService::Add("Fel användarnamn eller lösenord", "warning"); } } else { // Move errors to flash messages, witch will be displayed for user. \model\ValidationService::ConvertErrorsToFlashMessages(); } } $this->ctrlHelper->RedirectTo($this); }