$FROM = " FROM #--users";
$WHERE = "";
$WHERE .= (isset($alpha) ? ($WHERE ? " AND" : " WHERE")." LEFT(login, 1)=".$this->eq($alpha) : "");
$FROM = " FROM #--users";
$WHERE = "";
$WHERE .= (isset($alpha) ? ($WHERE ? " AND" : " WHERE")." LEFT(login, 1)=".$this->eq($alpha) : "");
while($v_rst = $sgbd->fetch_assoc($rst)) $users["list"][$v_rst["id"]] = $v_rst;
$sgbd->free_result($rst);
foreach($users["list"] as $id_user => $user){
while($v_rst = $sgbd->fetch_assoc($rst)) $users["list"][$v_rst["id"]] = $v_rst;
$sgbd->free_result($rst);
foreach($users["list"] as $id_user => $user){
- if(($status = $this->list_user_status($id_user)) !== false){
- $users["list"][$id_user]["status"] = $status;
+ if(($roles = $this->list_user_roles($id_user)) !== false){
+ $users["list"][$id_user]["roles"] = $roles;
$rst = $sgbd->query($sql);
if($v_rst = $sgbd->fetch_assoc($rst)) $user = $v_rst;
$sgbd->free_result($rst);
$rst = $sgbd->query($sql);
if($v_rst = $sgbd->fetch_assoc($rst)) $user = $v_rst;
$sgbd->free_result($rst);
- function add_user($login, $password, $email, $status){
+ function add_user($login, $password, $email, $roles){
- function set_user($id, $login, $password, $email, $status){
+ function set_user($id, $login, $password, $email, $roles){
- $sql = "INSERT INTO #--action_status(action, id_status) VALUES(".$this->eq($action).", ".$this->eq($id_role).")";
+ $sql = "INSERT INTO #--actions_roles(action, id_role) VALUES(".$this->eq($action).", ".$this->eq($id_role).")";
- function status(){
- if(!isset($this->user_status)) return false;
- return $this->user_status;
- }
-
- function get_user_status(){
- $user_status = array();
+ function get_user_roles(){
+ $user_roles = array();
$user = $this->get_session_user();
if($user && isset($user["id"])){
$sgbd = $this->sgbd();
try{
$sql = "SELECT id_role FROM #--users_roles WHERE id_user=".$this->eq($user["id"]);
$rst = $sgbd->query($sql);
$user = $this->get_session_user();
if($user && isset($user["id"])){
$sgbd = $this->sgbd();
try{
$sql = "SELECT id_role FROM #--users_roles WHERE id_user=".$this->eq($user["id"]);
$rst = $sgbd->query($sql);
- function init_action_status($status = array()){
- if(!isset($this->user_status)) return false;
- $this->action_status = $this->read_action_status();
- return $this->action_status;
+ function init_actions_roles(){
+ if(!isset($this->roles)) return false;
+ $this->actions_roles = $this->read_actions_roles();
+ return $this->actions_roles;
- if(!isset($action_status[$v_rst["action"]])) $action_status[$v_rst["action"]] = array();
- $action_status[$v_rst["action"]][] = $v_rst["id_status"];
+ if(!isset($actions_roles[$v_rst["action"]])) $actions_roles[$v_rst["action"]] = array();
+ $actions_roles[$v_rst["action"]][] = $v_rst["id_role"];
- function get_action_status($mod, $controller = "index", $action = "index", $set_status = array()){
+ function get_action_roles($mod, $controller = "index", $action = "index"){
- "SELECT action, id_status"
- ." FROM #--action_status"
+ "SELECT action, id_role"
+ ." FROM #--actions_roles"
." WHERE action=".$this->eq($mod)
." OR action=".$this->eq($mod."/".$controller)
." OR action=".$this->eq($mod."/".$controller."/".$action);
$rst = $sgbd->query($sql);
while($v_rst = $sgbd->fetch_assoc($rst)){
." WHERE action=".$this->eq($mod)
." OR action=".$this->eq($mod."/".$controller)
." OR action=".$this->eq($mod."/".$controller."/".$action);
$rst = $sgbd->query($sql);
while($v_rst = $sgbd->fetch_assoc($rst)){
- if(!isset($status[$v_rst["action"]])) $status[$v_rst["action"]] = array();
- $status[$v_rst["action"]][$v_rst["id_status"]] = true;
+ if(!isset($roles[$v_rst["action"]])) $roles[$v_rst["action"]] = array();
+ $roles[$v_rst["action"]][$v_rst["id_role"]] = true;
foreach($actions as $module_name => $module){
if(isset($id_role)) $actions[$module_name]["module_allowed"] =
foreach($actions as $module_name => $module){
if(isset($id_role)) $actions[$module_name]["module_allowed"] =
- isset($action_status[$module_name])
- && in_array($id_role, $action_status[$module_name]);
+ isset($actions_roles[$module_name])
+ && in_array($id_role, $actions_roles[$module_name]);
- isset($action_status[$module_name])
- && in_array(0, $action_status[$module_name]);
+ isset($actions_roles[$module_name])
+ && in_array(0, $actions_roles[$module_name]);
foreach($module["controleurs"] as $controleur_name => $controleur){
if(isset($id_role)) $actions[$module_name]["controleurs"][$controleur_name]["controleur_allowed"] =
foreach($module["controleurs"] as $controleur_name => $controleur){
if(isset($id_role)) $actions[$module_name]["controleurs"][$controleur_name]["controleur_allowed"] =
- isset($action_status[$module_name."/".$controleur_name])
- && in_array($id_role, $action_status[$module_name."/".$controleur_name]);
+ isset($actions_roles[$module_name."/".$controleur_name])
+ && in_array($id_role, $actions_roles[$module_name."/".$controleur_name]);
- isset($action_status[$module_name."/".$controleur_name])
- && in_array(0, $action_status[$module_name."/".$controleur_name]);
+ isset($actions_roles[$module_name."/".$controleur_name])
+ && in_array(0, $actions_roles[$module_name."/".$controleur_name]);
foreach($controleur["als"] as $index_als => $al){
if($al["actions"]){
if(isset($id_role)){
$HAS_ACTION_NOT_ALLOWED = false;
foreach($al["actions"] as $action_name){
if(
foreach($controleur["als"] as $index_als => $al){
if($al["actions"]){
if(isset($id_role)){
$HAS_ACTION_NOT_ALLOWED = false;
foreach($al["actions"] as $action_name){
if(
- !isset($action_status[$module_name."/".$controleur_name."/".$action_name])
- || !in_array($id_role, $action_status[$module_name."/".$controleur_name."/".$action_name])
+ !isset($actions_roles[$module_name."/".$controleur_name."/".$action_name])
+ || !in_array($id_role, $actions_roles[$module_name."/".$controleur_name."/".$action_name])
- !isset($action_status[$module_name."/".$controleur_name."/".$action_name])
- || !in_array(0, $action_status[$module_name."/".$controleur_name."/".$action_name])
+ !isset($actions_roles[$module_name."/".$controleur_name."/".$action_name])
+ || !in_array(0, $actions_roles[$module_name."/".$controleur_name."/".$action_name])