/** * * controller for all actions on administrator * * @param \Symfony\Component\HttpFoundation\Request $request */ public function action(Request $request) { switch ($request->get("action")) { case "modifier": $noms = $request->request->get("nom"); $error = array(); foreach ($noms as $id => $nom) { try { AdministrateurAdmin::getInstance($id)->modify($nom, $request->request->get("prenom[" . $id . "]", null, true), $request->request->get("identifiant[" . $id . "]", null, true), $request->request->get("lang[" . $id . "]", null, true)); } catch (TheliaAdminException $e) { $error[$id][] = $e->getCode(); } } if (!empty($error)) { throw new TheliaAdminException("multiple errors", TheliaAdminException::ADMIN_MULTIPLE_ERRORS, null, $error); } redirige("gestadm.php"); break; case "delete": AdministrateurAdmin::getInstance($request->query->get("administrateur"))->delete(); break; case "ajouter": AdministrateurAdmin::getInstance()->add($request->request->get("nom"), $request->request->get("prenom"), $request->request->get("identifiant"), $request->request->get("password"), $request->request->get("verifyPassword"), $request->request->get("lang"), $request->request->get("profil")); break; case "modifier_password": AdministrateurAdmin::getInstance($request->request->get("id"))->modifyPassword($request->request->get("password"), $request->request->get("verifyPassword")); break; case "change_droits_admin": AdministrateurAdmin::getInstance($request->request->get("administrateur"))->changePermissions($request->request->get("profil"), $request->request->get("droits_g"), $request->request->get("droits_m")); break; } }
?> </th> <th><?php echo trad('Identifiant', 'admin'); ?> </th> <th><?php echo trad('Langue', 'admin'); ?> </th> <th></th> </tr> </thead> <tbody> <?php foreach (AdministrateurAdmin::getInstance()->getList() as $admin) { ?> <tr <?php if ($errorMultiple && array_key_exists($admin->id, $errorMultipleArray)) { ?> class="error" <?php } ?> > <td><input type="text" name="nom[<?php echo $admin->id; ?> ]" value="<?php echo $admin->nom; ?> "></td>
<?php require_once "auth.php"; require_once "../fonctions/divers.php"; if (!est_autorise("acces_configuration")) { exit; } $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals(); if (false == ($lang = $request->get("lang", false))) { $lang = ActionsLang::instance()->get_id_langue_courante(); } $autorisation = new Autorisation(); $administrateur = new AdministrateurAdmin($request->get("administrateur", 0)); if (!$administrateur->id || $administrateur->id == $_SESSION['util']->id) { redirige('gestadm.php'); } $profilAdministrateur = $administrateur->getProfile(); if (false == ($langue = $request->get("lang", false))) { $langue = ActionsLang::instance()->get_id_langue_courante(); } try { ActionsAdminAdministrateur::getInstance()->action($request); } catch (TheliaAdminException $e) { Tlog::error($e->getMessage()); $errorCode = $e->getCode(); $errorMessage = $e->getMessage(); if ($e->getCode() == TheliaAdminException::ADMIN_MULTIPLE_ERRORS) { $errorMultiple = true; $errorMultipleArray = $e->getData(); } }