data();
if(($this->status = $data->status()) === false) return "impossible de lire la liste des statuts";
return true;
}
function index(&$env)
{ $data = $env->data();
if
( $env->set_out
( "users",
$data->users
( $_GET[$env->param("start")] ? $_GET[$env->param("start")] : 0,
$_GET[$env->param("alpha")],
$_GET[$env->param("status")]
)
) !== false
)
{ if($this->status)
{ $env->set_out("status", $this->status);
}
else $env->erreur("impossible de lire la liste des status");
}
else $env->erreur("impossible de lire la liste des utilisateurs");
}
function add(&$env)
{ $data = $env->data();
if($this->status)
{ $env->set_out("status", $this->status);
$env->set_out("user", array("status" => $data->creation_default_status()));
if($_POST)
{ $env->set_out("user", $_POST);
if($_POST["login"])
{ if(($exists = $data->user($_POST["login"])) !== false)
{ if(!$exists)
{ $VALID = true;
if(!$_POST["email"])
{ $env->message("merci de preciser un email");
$VALID = false;
}
if(!$_POST["password"])
{ $env->message("merci de preciser un mot de passe");
$VALID = false;
}
if($_POST["password"] != $_POST["password_confirm"])
{ $env->message("la confirmation du mot de passe est incorrecte");
$VALID = false;
}
if($VALID)
{ if
( $data->add_user
( $_POST["login"],
md5($_POST["password"]),
$_POST["email"],
$_POST["status"]
)
)
$env->redirect
( $env->url("admin/users"),
"l'utilisateur ".$_POST["login"]." a été ajouté"
);
else $env->erreur("Impossible d'ajouter l'utilisateur");
}
}
else $env->message("ce login existe déjà");
}
else $env->erreur("impossible de savoir si cet login existe déjà");
}
else $env->message("merci de préciser un login");
}
}
else $env->erreur("impossible de lire la liste des status");
}
function edit(&$env)
{ $data = $env->data();
if($this->status)
{ $env->set_out("status", $this->status);
if($env->set_out("user", $data->user($_GET[$env->param("id")])))
{ if($_POST)
{ $user = $env->out("user");
$id = $user["id"];
$login = $user["login"];
$password = $user["password"];
$_POST["login"] = $login;
$env->set_out("user", $_POST);
$VALID = true;
if(!$_POST["email"])
{ $env->message("merci de preciser un email");
$VALID = false;
}
if(isset($_POST["change_password"]) && $_POST["change_password"])
{ if(!$_POST["password"])
{ $env->message("merci de preciser un mot de passe");
$VALID = false;
}
if($_POST["password"] != $_POST["password_confirm"])
{ $env->message("la confirmation du mot de passe est incorrecte");
$VALID = false;
}
}
if($VALID)
{ if
( $data->set_user
( $id,
$login,
isset($_POST["change_password"]) && $_POST["change_password"] ? md5($_POST["password"]) : $password,
$_POST["email"],
$_POST["status"]
)
)
$env->redirect
( $env->url("admin/users"),
"l'utilisateur ".$login." a été modifié"
);
else $env->erreur("Impossible de mettre à jour l'utilisateur");
}
}
}
else $env->erreur("Impossible de lire les informations de cet utilisateur");
}
else $env->erreur("impossible de lire la liste des status");
}
function del(&$env)
{ $data = $env->data();
if($env->set_out("user", $data->user($_GET[$env->param("id")])))
{ $user = $env->out("user");
if($data->del_user($_GET[$env->param("id")])) $env->redirect
( $env->url("admin/users"),
"l'utilisateur ".$user["login"]." a été supprimé"
);
else $env->erreur("Impossible de supprimer l'utilisateur");
}
else $env->erreur("Impossible de lire les informations de cet utilisateur");
}
}
?>