コード例 #1
0
 /**
  * 
  * 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;
     }
 }
コード例 #2
0
ファイル: gestadm.php プロジェクト: anti-conformiste/thelia1
?>
</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>
コード例 #3
0
<?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();
    }
}