コード例 #1
0
    $admin->valeur = $valeur;
    $admin->nom = $nom;
    $admin->prenom = $prenom;
    $admin->identifiant = $identifiant;
    $motdepasse1 = trim($motdepasse1);
    $admin->motdepasse = $motdepasse1;
    $admin->profil = $_POST['profil'];
    $admin->crypter();
    $lastid = $admin->add();
    $autorisation_profil = new Autorisation_profil();
    $query = "select * from {$autorisation_profil->table} where profil=\"" . $_POST['profil'] . "\"";
    $resul = mysql_query($query, $autorisation_profil->link);
    while ($row = mysql_fetch_object($resul)) {
        $autorisation_administrateur = new Autorisation_administrateur();
        $autorisation_administrateur->administrateur = $lastid;
        $autorisation_administrateur->autorisation = $row->autorisation;
        $autorisation_administrateur->lecture = $row->lecture;
        $autorisation_administrateur->ecriture = $row->ecriture;
        $autorisation_administrateur->add();
    }
    redirige("gestadm.php");
}
if ($action == "supprimer") {
    $autorisation_administrateur = new Autorisation_administrateur();
    $query = "delete from {$autorisation_administrateur->table} where administrateur=\"{$id}\"";
    $resul = mysql_query($query, $autorisation_administrateur->link);
    $admin = new Administrateur();
    $admin->charger_id($id);
    $admin->delete();
    redirige("gestadm.php");
}
コード例 #2
0
 public function changePermissions($profil, $generalPermissions, $pluginsPermissions)
 {
     $this->verifyLoaded();
     if ($generalPermissions === null) {
         $generalPermissions = array();
     }
     if ($pluginsPermissions === null) {
         $pluginsPermissions = array();
     }
     $testProfil = new Profil();
     if (!$testProfil->charger_id($profil) && $profil != 0) {
         throw new TheliaAdminException('Incorrect parameter $profil : could not load Profil.', TheliaAdminException::PROFIL_NOT_FOUND);
     }
     if ($profil != 0) {
         $this->profil = $profil;
         $this->maj();
     }
     if ($this->profil != ProfilAdmin::ID_PROFIL_SUPERADMINISTRATEUR) {
         foreach ($this->query_liste("SELECT * FROM " . Autorisation::TABLE) as $row) {
             $autorisation_administrateur = new Autorisation_administrateur();
             $autorisation_administrateur->charger($row->id, $this->id);
             if (array_key_exists($row->id, $generalPermissions) && $generalPermissions[$row->id] == 'on') {
                 if (!$autorisation_administrateur->id) {
                     $autorisation_administrateur->administrateur = $this->id;
                     $autorisation_administrateur->autorisation = $row->id;
                     $autorisation_administrateur->lecture = 0;
                     $autorisation_administrateur->ecriture = 0;
                     $autorisation_administrateur->id = $autorisation_administrateur->add();
                 }
                 $autorisation_administrateur->lecture = 1;
                 $autorisation_administrateur->ecriture = 1;
                 $autorisation_administrateur->maj();
             } else {
                 if ($autorisation_administrateur->id) {
                     $autorisation_administrateur->lecture = 0;
                     $autorisation_administrateur->ecriture = 0;
                     $autorisation_administrateur->maj();
                 }
             }
         }
         foreach (ActionsAdminModules::instance()->lister(false, true) as $module) {
             if (ActionsAdminModules::instance()->est_administrable($module->nom)) {
                 $autorisation_modules = new Autorisation_modules();
                 $autorisation_modules->charger($module->id, $this->id);
                 if (array_key_exists($module->id, $pluginsPermissions) && $pluginsPermissions[$module->id] == 'on') {
                     if (!$autorisation_modules->id) {
                         $autorisation_modules->administrateur = $this->id;
                         $autorisation_modules->module = $module->id;
                         $autorisation_modules->id = $autorisation_modules->add();
                     }
                     $autorisation_modules->autorise = 1;
                     $autorisation_modules->maj();
                 } else {
                     if ($autorisation_modules->id) {
                         $autorisation_modules->autorise = 0;
                         $autorisation_modules->maj();
                     }
                 }
             }
         }
     }
     ActionsModules::instance()->appel_module("changePermissionsAdmin", new Administrateur($this->id));
     redirige('gestadm_droits.php?administrateur=' . $this->id);
 }