public function executeIndex(HTTPRequest $request) { $this->run(); if ($request->method() == 'POST') { $member = new Member(['username' => $request->postData('username'), 'password' => $request->postData('password')]); } else { $member = new Member(); } $formBuilder = new AutorFormBuilder($member); $formBuilder->build($this->managers->getManagerOf('Member')); $form = $formBuilder->form(); $formHandler = new FormHandler($form, $this->managers->getManagerOf('Member'), $request); $entier = (int) $this->managers->getManagerOf('Member')->getId($member->username()); if ($formHandler->process()) { $this->app->user()->setMember(1); // on met 1 pour auteur, il faudrait le faire dynamiquement ? (récupérer $member->priority() ? $this->app->user()->setUsername($member->username()); $this->app->user()->setId($entier); //récupérer l'id du member $this->app->user()->setFlash('Tu es connecté'); $this->app->httpResponse()->redirect($this->app->router()->getBuiltRoute('News', 'index', [])); } $this->page->addVar('title', 'Connexion'); $this->page->addVar('Member', $member); $this->page->addVar('form', $form->createView()); }
public function processForm(HTTPRequest $request) { if ($request->method() == "POST") { $member = new Member(['login' => $request->postData('login'), 'password' => $request->postData('password'), 'level' => $request->postData('level')]); if ($request->getExists('id')) { $member->setId($request->getData('id')); } } else { // L'identifiant de l'utilisateur est transmis si on veut le modifier if ($request->getExists('id')) { $member = $this->managers->getManagerOf('Member')->getUnique($request->getData('id')); } else { $member = new Member(); } } $formBuilder = new AdminFormBuilder($member); $formBuilder->build(); $form = $formBuilder->form(); // On récupère le gestionnaire de formulaire (le paramètre de getManagerOf() est bien entendu à remplacer). $formHandler = new \OCFram\FormHandler($form, $this->managers->getManagerOf('Member'), $request); if ($formHandler->process()) { if ($member->id() == $this->app->user()->getAttribute('user')->id()) { $this->app->user()->setAttribute('user', $member); } // Ici ne résident plus que les opérations à effectuer une fois l'entité du formulaire enregistrée // (affichage d'un message informatif, redirection, etc.). $this->app->user()->setFlash($member->isNew() ? 'L \'utilisateur a bien été ajouté !' : 'L\'utiilsateur a bien été modifié !'); $this->app->httpResponse()->redirect('/admin/members.html'); } $this->page->addVar('form', $form->createView()); $this->run(); }
/** * Méthode permettant d'enregistrer un membre. * @param $member Member le membre à enregistrer * @see self::add() * @see self::modify() * @return void */ public function save(Member $member) { if ($member->isValid()) { $member->isNew() ? $this->add($member) : $this->modify($member); } else { throw new \RuntimeException('Le membre doit être validé pour être enregistré'); } }
public function save(Member $member) { if ($member->isValid()) { $member->description() ? $this->add($member) : true; //bien vérifier que le pseudo n'est pas déjà utilisé erreur potentiel ici attention } else { throw new \RuntimeException('L\\inscription n\'est pas valide'); } }
protected function add(Member $member) { $requete = $this->dao->prepare('INSERT INTO T_mem_memberc SET mmc_username = :username, mmc_password = :password, mmc_description = :description, mmc_mail = :mail'); $requete->bindValue(':username', htmlspecialchars($member->username())); $requete->bindValue(':password', htmlspecialchars($member->password())); $requete->bindValue(':description', htmlspecialchars($member->description())); $requete->bindValue(':mail', htmlspecialchars($member->mail())); $requete->execute(); }
public function executeInscription(HTTPRequest $Request) { $this->page->addVar('title', 'Inscription'); $this->run(); if ($Request->method() == 'POST') { $Member = new Member(); $Member->setLogin($Request->postData('login')); $Member->setPassword($Request->postData('password')); $Member->setPassword_confirmation($Request->postData('password_confirmation')); $Member->setEmail($Request->postData('email')); $Member->setLevel(3); } else { $Member = new Member(); } $FormBuilder = new MemberFormBuilder($Member, $this->managers->getManagerOf('Member')); $FormBuilder->build(); $Form = $FormBuilder->form(); // On récupère le gestionnaire de formulaire. $FormHandler = new \OCFram\FormHandler($Form, $this->managers->getManagerOf('Member'), $Request); if ($FormHandler->process()) { // Ici ne résident plus que les opérations à effectuer une fois l'entité du formulaire enregistrée // (affichage d'un message informatif, redirection, etc.). $this->app->user()->setFlash('Le membre a bien été ajouté, merci !'); $this->app->user()->setAuthenticated(true); $this->app->user()->setAttribute('user', $Member); $this->app->httpResponse()->redirect('.'); } $Router = new Router(); $this->page->addVar('form', $Form->createView()); $this->page->addVar('router', $Router); }
protected function modify(Member $member) { $requete = $this->dao->prepare('UPDATE T_NEW_memberc SET NMC_pseudo = :pseudo, NMC_password = :password, NMC_philosophy = :philosophy, NMC_fk_NMY = :type WHERE NMC_id = :id'); $requete->bindValue(':pseudo', $member->pseudo()); $requete->bindValue(':password', $member->password()); $requete->bindValue(':philosophy', $member->philosophy()); $requete->bindValue(':type', $member->type(), \PDO::PARAM_INT); $requete->bindValue(':id', (int) $member->id(), \PDO::PARAM_INT); $requete->execute(); }
public function __construct() { parent::__construct(); }
public function getImg() { $this->__load(); return parent::getImg(); }
public function modify(Member $Member) { $requete = $this->dao->prepare('UPDATE T_FOR_memberc SET FMC_login = :login, FMC_password = :password, FMC_fk_FMY = :level, FMC_dateupdate = NOW() WHERE FMC_id = :id'); $requete->bindValue(':login', $Member->login(), \PDO::PARAM_STR); $requete->bindValue(':password', $Member->password(), \PDO::PARAM_STR); $requete->bindValue(':level', $Member->level(), \PDO::PARAM_INT); $requete->bindValue(':id', (int) $Member->id(), \PDO::PARAM_INT); $requete->execute(); }