We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 40921
    • 27 Posts
    Здравствуйте, сделал регистрацию менеджеров.
    Для каждого нового менеджера создается группа пользователей (имя группы - логин) и группа документов (имя группы - логин) вместе с документами. Все связано. Собственно менеджер связан с группой пользователей, группа пользователей с группой документов, группа документов с документами.

    На данный момент в дереве документов видны все документы, но доступ менеджер имеет только к своим документам. Вообщем необходимо как-то сделать так, чтобы отображались только те документы, на которые у менеджера имеется право доступа. Как я могу это реализовать?

    This question has been answered by dapperkop. See the first response.

      • 31246 ☆ A M B ☆
      • 428 Posts
      Безопастность -> Настройка форм
      Более подробно http://rtfm.modx.com/display/revolution20/Customizing+the+Manager
        Valentin Rasulov - Industrial design (Hobbies - Web Development)
        Development not standard projects on CMF MODx Revolution.
        Small sample of extensions
        • 40921
        • 27 Posts
        Спасибо большое))) Вот только есть небольшой нюанс, проект на эво - соответственно данная проблема имеет место быть...
          • 31246 ☆ A M B ☆
          • 428 Posts
          С ево не работал, но слышал там есть Док Менеджер или что-то подобное.....
          если не найдёте, в этой версии ево он есть . https://github.com/dmi3yy/modx.evo.custom
            Valentin Rasulov - Industrial design (Hobbies - Web Development)
            Development not standard projects on CMF MODx Revolution.
            Small sample of extensions
            • 40921
            • 27 Posts
            Спасибо, покопаюсь в нем!))
              • 40921
              • 27 Posts
              ((( Все-таки выхода пока не нашел... Может кто знает в каком файле выводится дерево документов?
              • discuss.answer
                • 40921
                • 27 Posts
                Решилось только, как результат частного случая. В файле /manager/frames/nodes.php есть переменная parent, которая является корнем дерева документов, но!!! Является она корнем только в случае, когда равна Null, если не Null, то будет браться как корень идентификатор интересующего документа.
                Есть еще одно но!!! Если передается параметр GET, то есть, если мы разворачиваем какую-то папку, то дерево будет разворачиваться (но не полностью, а лишь наше поддерево)... В общем, смысл вроде донес...
                В общем мне нужно было, чтобы менеджер имел возможность видеть только предназначенные для него документы, которые расположены в одной из подпапок, я ему и предоставил содержимое этой подпапки.
                Если же некоторые из файлов он не должен иметь возможности редактировать, то это лечится написанием плагина...

                А вот и кусочек кода для ясности:
                if (empty($_GET['parent']))
                {
                if ($_SESSION['mgrRole'] == 1)
                {
                $parent = $_GET['parent'];
                }
                else
                {
                $id_doc = $modx->db->select('id', $modx->getFullTableName('site_content'), 'pagetitle=\''.$_SESSION['mgrShortname'].'\' AND template=\'22\'');
                if ($modx->db->getRecordCount($id_doc))
                {
                $parent = $modx->db->getValue($id_doc);
                }
                }
                }
                else
                {
                $parent = $_GET['parent'];
                }

                Это вместо:

                $parent = $_GET['parent'];