2010-moteur-site-simple/cms2/modules/admin/admin-utilisateurs.php
2010-10-06 11:00:29 +02:00

101 lines
2.6 KiB
PHP

<?php
class AdminListeUtilisateurs extends Page {
public static function ressources_statiques() {
return qw("i_icône_nouvelle_page c_style");
}
public static function ressources_dynamiques() {
return qw("h_page h_liste_mots_de_passe");
}
public static function types_enfants() {
return qw("AdminUtilisateur");
}
public static function attributs() {
return qw();
}
public function res_i_icône_nouvelle_page() {
return StockageFichiers::envoyer_fichier_statique(Path::combine(dirname(__FILE__), "nouvel_utilisateur.png"));
}
public function res_c_style() {
niy("res_c_style");
}
public function res_h_page($d) {
$d->w_titre("Utilisateurs");
$l = $d->article()->w_liste($this->enfants(true, "nom asc prenom asc"), function($e, $li) {
$e->rendu("h_admin", $li);
});
$nouveau = $l->li();
$nouveau->text("Nouvel utilisateur");
return $d;
}
public function res_h_liste_mots_de_passe($d) {
$d->w_titre("Liste de mots de passe.");
$l = $d->article()->w_liste($this->enfants("@groupe = utilisateurs", "nom asc prenom asc"), function($e, $li) {
$e->rendu("h_admin_mdp", $li);
});
return $d;
}
}
class AdminUtilisateur extends Page {
public static function ressources_statiques() {
return qw("c_style");
}
public static function ressources_dynamiques() {
// TODO : h_page = affichage "en grand" de l'utilisateur (~= page perso, par ex. destination d'un lien de la page contacts).
return qw("h_admin");
}
public static function types_enfants() {
return qw("AdminUtilisateur");
}
public static function attributs() {
return array(
"nom" => "Dupondt",
"prenom" => "Jean",
"equipe" => null, // TODO
"mot_de_passe" => "",
"groupe" => "utilisateurs",
"peut_se_connecter" => false // TODO : permissions différentes (l'utilisateur ne peut pas modifier ça).
);
}
public function res_c_style() {
niy("res_c_style");
}
public function res_h_admin($d) {
// Vue de l'utilisateur pour inclusion dans admin/utilisateurs.
$a = $d->article();
//$d->w_titre("" . $this->nom . $this->prenom);
$a->w_field($this->nom);
$a->w_field($this->prenom);
$a->w_field($this->equipe);
$a->w_field($this->mot_de_passe);
$a->w_field($this->groupe); // TODO : menu de séléction
$a->w_field($this->peut_se_connecter); // TODO : checkbox
return $a;
}
public function res_h_admin_mdp($d) {
// Vue de l'utilisateur pour inclusion dans admin/utilisateurs/liste des mots de passe.
$a = $d->article();
$a->w_field($this->nom);
$a->w_field($this->prenom);
$a->w_field($this->mot_de_passe);
return $a;
}
}
Page::ajouter_type("AdminListeUtilisateurs");
?>