<?php namespace FaZeBook\Page; require_once(__DIR__.'/../../Application/Page/PageInterface.php'); use Application\Page\PageInterface; use FaZeBook\Data; use FaZeBook\Session; class EditProfile implements PageInterface { public function getId() { return "editprofile"; } public function hasNavigationItem() { return true; } public function getTitle() { return 'Profil bearbeiten'; } public function getViewScript() { return __DIR__.'/../../../view/app/editprofile.php'; } public function getViewVariables() { $currUser = Session::getInstance()->currentUser(); if(null != $currUser->getBirthday()){ $bday = $currUser->getBirthday()->format('Y-m-d'); } if(isset($_POST['firstname'])){ $currUser->setFirstName(htmlspecialchars($_POST['firstname'])); $currUser->setLastName(htmlspecialchars($_POST['lastname'])); $currUser->setBirthday(new \DateTimeImmutable($_POST['birthday'])); if(Data::getInstance()->getUserByEmail($_POST['email'])==null){ $currUser->setEmail(htmlspecialchars($_POST['email'])); } if($_POST['phone']!== ""){ $currUser->setPhoneNumber(htmlspecialchars($_POST['phone'])); } if(is_numeric($_POST['politicalDir']) && $_POST['politicalDir'] <= 50 && $_POST['politicalDir']>=-50){ $currUser->setPoliticalDirection($_POST['politicalDir']); } if(isset($_POST['avatarUrl']) && strlen($_POST['avatarUrl']) > 0) { $currUser->setAvatarUrl(htmlspecialchars($_POST['avatarUrl'])); } else { $currUser->setAvatarUrl(null); } } return [ 'firstName' => $currUser->getFirstName(), 'lastName' => $currUser->getLastName(), 'bday' => $bday, 'email' => $currUser->getEmail(), 'phone' => $currUser->getPhoneNumber(), 'profileChanged' => isset($_POST['firstname']), 'politicalDir' => $currUser->getPoliticalDirection(), 'avatarUrl' => is_null($currUser->getAvatarUrl()) ? "" : $currUser->getAvatarUrl() ]; } }