Небольшой файлообменник

Главные вкладки

Аватар пользователя lux.place lux.place 9 августа 2007 в 20:28

Как бы на друпале реализовать такую хотелку:
Каждой член избранной группы пользователей может аплоадить файлы через простую веб-форму. При аплоаде выбирается один из режимов "публичный", "приватный", "закрытый". При аплоаде "закрытого" файла дополнительно вводится соответствующий ему пароль.
Любой посетитель может посмотреть список публичных файлов конкретного пользователя и скачать их. Также любой посетитель может ввести сообщённый ему пароль. После этого он получает доступ к файлам, закрытым этим паролем.

Комментарии

Аватар пользователя Макс К. Макс К. 9 августа 2007 в 22:23

Так, чтобы по простому, без хранения паролей в базе, можно хранить пароль в имени файла.

Закрытые файлы пользователи заливают на сайт (например, через модуль webform). Каждый файл кладется в какую-то известную папку. Но имя файла выступает как пароль. Пользователь присваивает файлу имя, например, 257-11-34521234234.rar , где 257 это номер ID пользователя, 11- порядковый номер файла, 34521234234 - пароль.

По указанному имени (точнее, URL) файла посетитель может напрямую скачать его. А если посетитель укажет пароль, то несложный скрипт перероет все файлы в папке и выведет URL-ы всех файлов с соответствующей парольной частью.

Отдельный скрипт выводит все публичные файлы данного пользователя, у которых парольная часть пустая, например с именем 257-12-.rar.

Аватар пользователя lux.place lux.place 10 августа 2007 в 9:24

Отдельный скрипт просто забивается в отдельный Page? Может тогда есть смысл чуть-чуть поизучать api и реализовать на этой Page целиком всю хотелку, а таблицу в БД просто ручками добавить?
Или это не самый правильный способ?

Аватар пользователя Макс К. Макс К. 10 августа 2007 в 20:09

lux.place says: Отдельный скрипт просто забивается в отдельный Page? Может тогда есть смысл чуть-чуть поизучать api и реализовать на этой Page целиком всю хотелку, а таблицу в БД просто ручками добавить?
Или это не самый правильный способ?

От бюджета зависит, который на Вашу хотелку выделен.

Если он маленький, а сами Вы не программируете, то скрипт для Page Вам напишет за бутылку пива какой-нибудь PHP-программист, каковых море.

Если денег на хотелку ноль, то присмотритесь к варианту Василия: "Любой FTP сервер с разделением по группам и архив с паролем...".

Если денег много, то можете целый модуль заказать, который будет делать все нужное Вам.

Про бюджет Вы ничего не сказали, про степень Вашего владения PHP и API Друпала тоже ничего не известно. Так что выбирать самый правильный для Вашей хотелки вариант придется Вам, мы лишь подкидываем варианты.

Аватар пользователя sas@drupal.org sas@drupal.org 10 августа 2007 в 10:18

IMHO
1) Материал - файл с аттачем и полем ( поле password_field для cck) /доступ по ролям/ группам можно и через taxonomy access/
2) Файловая система - приватный
3) Все остальное user_ref и т.д. - поля cck "по вкусу"