Уровни доступа иле права доступа?

951
.
ramzes, роли я так понял теже группы в линупсе
.
L!MP (16.07.2012/11:25)
В основном, если это МVC система, то фронт-контроллер должен содержать инфу о текущем экшине.

http://mysite.ru/photo/32/edit

Внутри системы выглядит как:

controller = photo
action = edit
a
У меня это выглядит как
/photo/edit.php - $template
32 - $query[0]
Я не использую экшены и т.д., каждое большое действие в отдельном файле
Но суть вроде не меняется
.
(\/)____o_O____(\/)
ramzes, http://www.simplecoding.org/yi ... .html
там еще и наследование есть
.
Koenig, интересно, о таком я и не подумал
.
Koenig (16.07.2012/11:37)
ramzes, http://www.simplecoding.org/yi ... .html
там еще и наследование есть
До боли похоже на то, что я описывал, не так ли?
.
(\/)____o_O____(\/)
L!MP, надо будет с компа глянуть , реализация меня смутила, сама идея конечно интересна, с файлом ини я давно придумал подобный доступ, хотел прикрутить в фм, для управления контент-админов
.
(\/)____o_O____(\/)
ramzes, простой парсер
class conf {
 
private static $file; 
private static $data;
 
public function __construct($file) {
self::$file = $file; 
}
 
public static function get($section, $name=null) {
if (self::$data === null) {
self::$data = parse_ini_file(self::$file, true);
if (self::$data === false) {
throw new Exception('Файл отсутствует');
}
}
 
if (array_key_exists($section, self::$data)) {
if ($name && array_key_exists($name, self::$data[$section])) {
return self::$data[$section][$name];
} else {
return self::$data[$section];
}
} else {
return false;
}
}
 
}

new conf('ini/access.ini');
if (conf::get($access, $mode) === false)
.
да парсер у меня есть))
пока решил отложить, подумать
на скорую руку накатал что то типа
<?php
/*
 * Created by: ramzes
 * Date: 16.07.12
 * Time: 15:18
 * Only from SimpleCoreTPL Project
 * All right reserved.
 */

class access
{
    private  $module = false;
    private $acces = false;
    private $user_id = false;
    private $ini = false;

    public function __construct($sql=false){
        if($sql==false){
            global $sql;

        }
        if(AUT){
            $this->user_id = UID;

        }

        $this->ini = new ini('tmp/access.dat');
    }

    public function set_module($module){
        $this->module = $module;
    }

    public function create_access($data_array){
        $this->ini->_createSection($this->valid_name_object($data_array['object']), $data_array);
            return true;
    }

    public function get_object($id){
        $id = $this->valid_name_object($id);
        return $this->ini->_getSection($id);
    }


    function list_object(){
        return $this->ini->_getAll();
    }


    public function valid_name_object($name){
        return str_replace('/', '____', str_replace('.php', '', $name));
    }
}


class user_access{

    private $user_id = false;
    private $user_access = array();
    private $ini;


    public function __construct($id=false){
        $this->user_id = ($id!=false) ? $id : UID;
        $this->ini = new ini('tmp/user_access.dat');
        if($this->user_access = $this->ini->_getSection($this->user_id)){
        }else{
            $this->ini->_createSection($this->user_id, array('user_id' => $this->user_id));
            $this->user_access = $this->ini->_getSection($this->user_id);
        }
        $this->ini->_section($this->user_id);
    }

    public function get_current_access($object){
        $object = $this->valid_name_object($object);
        return ($this->ini->_get($object)!=0) ? true : false;
    }

    public function set_user_access($object, $access_level=1){
        $object = $this->valid_name_object($object);
        $this->ini->_set($object, $access_level);
    }


    public function valid_name_object($name){
        return str_replace('/', '____', str_replace('.php', '', $name));
    }

}

сам испугался))))))
Всего: 38