Giter Site home page Giter Site logo

Comments (5)

Flaxing avatar Flaxing commented on July 2, 2024

Решил добавлением в файл \system\Model\File.php своего говнокода и получилась

Новая функция showTree с работающим контролем доступа

(для установки можно заменить функцию целиком)

    function showTree($pid, $admin = false) {
    $sql="SELECT * FROM fm_users_priv WHERE id=:uid";
        $res = $this->registry['db']->prepare($sql);
        $param = array(":uid" => $_SESSION['login']['id']);
        $res->execute($param);
        $data = $res->fetch(PDO::FETCH_ASSOC);
        $group=$data['group'];

        if ($admin) {
            $sql = "SELECT id,name,pid FROM fm_dirs WHERE pid = :pid ORDER BY name";
        } else {
            $sql = "SELECT fm_dirs.id as id,name,pid,fm_dirs_chmod.right FROM fm_dirs LEFT JOIN fm_dirs_chmod ON fm_dirs.id=fm_dirs_chmod.did WHERE pid = :pid AND close = 0 ORDER BY name";
        }

        $res = $this->registry['db']->prepare($sql);
        $param = array(":pid" => $pid);
        $res->execute($param);
        $data = $res->fetchAll(PDO::FETCH_ASSOC);

        if (count($data) > 0) {
            $this->_tree .= "<ul>";
            foreach($data as $part) {

    $arr=json_decode(stripslashes($part['right']));

    if(count($arr)>0 && !$admin)
    if(!array_key_exists("user".$_SESSION['login']['id'],$arr) && !array_key_exists("fg".$group,$arr) && !array_key_exists("frall",$arr)) continue;         
                $id1 = $part["id"];
                $this->_tree .= "<li>";

                $this->_tree .= "<span class='folder' title='d_" . $part["id"] . "'><a class='tbranch' href='" . $this->registry["uri"] . "fm/?id=" . rawurlencode($part["id"]) . "'>" . $part["name"] . "</a></span>";
                $this->showTree($id1, $admin);
            }
            $this->_tree .= "</ul>";
        }
    }

from fm.

Zazza avatar Zazza commented on July 2, 2024

Класс, а получится сделать pull request?

from fm.

Flaxing avatar Flaxing commented on July 2, 2024

Если честно на моём сервере с PHP 5.3.3 скрипт много ошибок даёт, исправив несколько (добавление count($array)>0 для циклов foreach некоторых классов), решил всё-таки съехать и написал свой AutoIndex, используя стандартный модуль apache и bootstrap :D
Могу поделиться результатом на почту.

from fm.

Zazza avatar Zazza commented on July 2, 2024

Я уже не поддерживаю этот проект. Поэтому, врядли найду время на его установку и проверку. Поэтому лучший вариант, если всё же вы сделаете pull request (если вообще нужно).
У меня сейчас есть похожий проект, только он более накручен, на falcon и с удалённым хранилищем файлов. Если интересно позже могу выложить в паблик.
И, кстати, интеренсо, где вы используете этот fm и какие функции наиболее востребованы?

from fm.

Flaxing avatar Flaxing commented on July 2, 2024

Я свой простенький написал на модуле Apache AutoIndex, бутстрапе и немного
PHP с Basic auth.
http://files.mamaev.pro
могу поделиться, если интересно

C уважением, Александр Николаевич Мамаев
инженер-программист информационно-технического отдела
БУ ХМАО-Югры "Ханты-Мансийской клинической стоматологической поликлиники"
тел.: 8 (3467) 351-740
e-mail: [email protected]
ICQ: 2080090
Skype: mamaev.pro

10 марта 2015 г., 11:24 пользователь zazza [email protected]
написал:

Я уже не поддерживаю этот проект. Поэтому, врядли найду время на его
установку и проверку. Поэтому лучший вариант, если всё же вы сделаете pull
request (если вообще нужно).
У меня сейчас есть похожий проект, только он более накручен, на falcon и с
удалённым хранилищем файлов. Если интересно позже могу выложить в паблик.
И, кстати, интеренсо, где вы используете этот fm и какие функции наиболее
востребованы?


Reply to this email directly or view it on GitHub
#14 (comment).

from fm.

Related Issues (12)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.