LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
27.05.2012, 17:38:03 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: DOCman: разделить права просмотра и скачивания  (Прочитано 5085 раз)
0 Пользователей и 1 Гость смотрят эту тему.
canislc
Joostina
*****

Репутация: +11/-0
Offline Offline

Пол: Мужской
Сообщений: 131


« : 05.10.2007, 17:25:28 »

Снес недавно Remository, потому что он не мог задавать права доступа на отдельные файлы, только на папки.
Поставил DOCman: компонент хороший, но вот права просмотра и скачивания файлов не разделены (тупизм блин).
То есть заходит в файловый архив пользователь, у которого нет прав и видит... ничего не видит - пустой файловый архив.

Может кто подскажет, как сделать так, чтобы файлы можно было видеть, читать описания, смотреть превьюхи, но нельзя было скачать.
Записан
alexecon
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Сообщений: 147


« Ответ #1 : 12.11.2007, 02:25:44 »

Там в настройках компонента, кажись, всё это есть. Т.е. можно указать, что Гости могут делать с файлами, что другим (зарегистрированным пользователям) позволено. Или Вы о другом?
Записан
rman
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 125


учусь сайтам уже 4 года))


« Ответ #2 : 18.02.2009, 23:08:21 »

canislc, скажите: А Вы не решили этот вопрос?
Дело в том, что никак не получается сделать так, чтобы гости могли смотреть на файлы.
Ведь, если гости не могут их видеть - то и поисковые боты их тоже не видят (Имхо).
Записан
medvegatko
Осваиваюсь на форуме
***

Репутация: +0/-2
Offline Offline

Сообщений: 58


« Ответ #3 : 03.03.2009, 21:57:29 »

Вопрос очень АКТУАЛЕН!!!!! Нужно сделать так чтобы каждый человек имел доступ к определенным разделам.
Напимер: Есть РАЗДЕЛ 1-подраздел 1.1-подраздел 1.2-подраздел 1.n   (Этот (раздел и подразделы) должны видить только группа "Автор")
                     РАЗДЕЛ 2-подраздел 2.1-подраздел 2.2-подраздел 2.n   (Этот (раздел и подразделы) должны видить только группа "Редактор")
                     РАЗДЕЛ N-подраздел n.1-подраздел n.2-подраздел n.n   (Этот (раздел и подразделы) должны видить только группа "Публикатор")

Встроенными группами доступа это все сделать хорошо, но..........незареестрированный пользователь не увидит ничего.......и поисковики тоже.....

Помогите хоть советом, хоть упреком..... Может можно что-то другое для этого использовать???

Надеюсь откликнетесь на просьбу.

Спасибо зарание
Записан
shaverma
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 69


« Ответ #4 : 09.04.2009, 15:50:24 »

схожая проблема... надо сделать так, чтобы просмаотривать файлы и их описание могли все зрегистрированные пользователи, а скачивать - только "избранные"...
пытался копаться в коде, но ничего у меня не вышло...
Записан
Vislouh
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #5 : 21.06.2009, 17:13:16 »

а вот как сделать так чтобы гости могли скачивать файлы? everybody ставлю-и не могу скачать( страница просто обновляется и все.
Записан
Vislouh
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 5


« Ответ #6 : 21.06.2009, 17:16:04 »

и еще у меня почему то в документах в графе Checked out  ставится Administrator. как это убрать я не пойму
Записан
woodman
Захожу иногда
**

Репутация: +2/-0
Offline Offline

Сообщений: 7


« Ответ #7 : 05.01.2011, 03:41:53 »

Столкнулся с этой же проблемой. Готового решения не нашел, поделюсь тем что сделал для себя (ковырялся в исходниках docman-v1.5.9.ru)
Начитка перечня документов для отображения происходит в ф-ции getDocsByUserAccess файл \administrator\components\com_docman\classes\DOCMAN_utils.class.php строка 889

Самое интересное для нас - построение запроса к базе - начиная со строки 925:
Код:
$query = "SELECT d.*, c.title AS cat_title FROM #__docman AS d"
         . "\n LEFT JOIN #__categories AS c ON d.catid = c.id ";

         if (!$user->userid)
         {
         if(!$_DOCMAN->getCfg('registered')) {
         return array();
         }

            $query .= "WHERE d.published=1 AND d.approved=1";
/* * original DOCman code *
            $query .= "WHERE d.dmowner=" . _DM_PERMIT_EVERYONE
                 . "\n AND d.published=1 AND d.approved=1";*/

           $query .= $catid ? "\n AND d.catid IN ($catid) " : "";

        }
Это уже измененный код, который приводит к тому что незарегистрированным пользователям видны ВСЕ документы (скачивать их они не смогут, только посмотреть детали - это обеспечивается стандартным кодом DOCman'a)
Вот собственно и все что нужно сделать что бы гости (в том числе поисковики) видели перечень всех документов/файлов с описанием, но не смогли их скачать.

Для решения задачи
Цитировать
чтобы просматривать файлы и их описание могли все зрегистрированные пользователи, а скачивать - только "избранные"...
(у меня стояла такая же цель)

В том же файле ниже комментируем часть построения запроса для зарегистрированных пользователей.
Код:
else
       {
         if ($user->isSpecial) {
         $query .= $catid ? "\n WHERE d.catid IN ($catid) " : "";
         } elseif ($user->canApprove()) {
         $query .= $catid ? "\n WHERE d.catid IN ($catid) " : "";
         } elseif ($user->canPublish()) {
         $query .= "WHERE d.approved=1";
         $query .= $catid ? "\n AND d.catid IN ($catid) " : "";
         } elseif ($user->userid) {
             $query .= "WHERE d.published=1 AND d.approved=1";            
/* * this part of code was commented & semicolon (;) was added in previous line *
             . "\n AND (d.dmowner=" . $user->userid
             . "\n OR d.dmmantainedby=" . $user->userid
             . "\n OR d.dmowner=" . _DM_PERMIT_EVERYONE
             . "\n OR d.dmowner=" . _DM_PERMIT_REGISTERED;
           if ($user->groupsIn != '0,0') {
                 $query .= "\n OR d.dmowner IN (" . $user->groupsIn . ")";
                 $query .= "\n OR d.dmmantainedby IN (" . $user->groupsIn . ")";
           }
             if ($_DOCMAN->getCfg('author_can')!= _DM_AUTHOR_NONE) {
                 $query .= "\n OR d.dmsubmitedby = " . $user->userid;
             }
             $query .= ")";
*/
             $query .= $catid ? "\n AND d.catid IN ($catid) " : "";
         }
         }
Вот и все. Надеюсь, кому-то пригодится.
Записан
Vikitos
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 64



« Ответ #8 : 22.02.2012, 01:56:28 »

Начитка перечня документов для отображения происходит в ф-ции getDocsByUserAccess файл \administrator\components\com_docman\classes\DOCMAN_utils.class.php строка 889

Самое интересное для нас - построение запроса к базе - начиная со строки 925:
Спасибо за помощь! Давно искал данную информацию. Работает на DocMAN 1.5.1, корректировал строки начиная с 849.  Cheesy Жму "+"
А не подскажите - возможно ли ограничивать для пользователей количество скачиваемых файлов за один сеанс (определенное время, например за 24 часа) с одного IP. Информации ноль, не найти.  Smiley
Записан
Vikitos
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 64



« Ответ #9 : 26.02.2012, 16:49:49 »

Это уже измененный код, который приводит к тому что незарегистрированным пользователям видны ВСЕ документы (скачивать их они не смогут, только посмотреть детали - это обеспечивается стандартным кодом DOCman'a)
Вот собственно и все что нужно сделать что бы гости (в том числе поисковики) видели перечень всех документов/файлов с описанием, но не смогли их скачать.
После изменения кода, гости стали видеть только первую страницу (страниц несколько) с документами открытыми только для определенной группы, внизу пропали нимера страниц для перехода.

Зарегистрированные пользователи обоих групп видят все.

DOCMan 1.5.1 Не подскажите в чем проблема  Sad
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet