WackoWiki: WakkaToDo/Upload2 ...

Home Page | Изменения | Новые Комменты | Пользователи | Каталог | Регистрация | Вход:  Пароль:  

Концепция загрузки файлов в WackoWiki

Оглавление документа

Состояние на 20 февраля 2004, утро — 50% estimate

Как поставить ссылку на файл

Через URL 

Через Вака-синтаксис

Опции конфига

Модели прав

Реализуются следующие модели загрузки и последующей доступности файлов:

  1. «Всё всем»:
    • загружать могут привилегированные пользователи (в частном случае – все)
    • на любой файл можно сослаться с любой страницы
    • файл может сгрузить любой
  2. «Права на страницы»:
    • загружать могут привилегированные пользователи, имеющие права записи на данную страницу
    • файл, загруженный на эту страницу, доступен только с неё
    • файл может сгрузить только имеющий доступ на чтение к данной странице

Пока не учитывается версионинг (поддержка версий) файлов.
При закачке файла можно выбрать, будет ли он доступен всем или только читателям данной страницы.
Общедоступные файлы будут храниться в одной папке, файлы с правами – в другой (с хтакссес-денай-фор-олл) и снабжаться префиксами-именами страниц.
Необходимо не забыть, что нужно защититься от возможности загрузки общедоступных файлов *.php, *.pl, *.cgi, *.phtml etc.

Модели представления

Реализуются следуюшие модели для представления ссылок на файлы:

  1. «Экшн без параметров»
    • при вызове экшна {{Files}} отображается список файлов, доступных к скачиванию с данной страницы
    • совместимо с моделью «Права на страницы»
  2. «Сатисфэкшн с параметрами»
    • при вызове {{Files for="/WakkaToDo/Up"}}
  3. «Экшн»
    • при вызове экшна {{Files files="file1.doc file2.xls ..."}} отображается список файлов, перечисленных в параметре files.
    • совместимо с моделями «Всё всем» и «Права на файлы»
  4. «Ссылка»
    • wacko-форматтер расширяется новым синтаксисом для простановки ссылки на единичный файл и/или вызов изображения.
    • совместимо с моделями «Всё всем», «Права на файлы» и «Права на страницы» (менее удобно в этом случае).
    • Не понимаю, почему «Ссылка» несовместима с «Права на страницы». По идее тут может быть та же проверка прав и тот же замочек, что и для ссылок на страницу этого файла.

SQL код создания таблицы в БД

CREATE TABLE wakka_upload (
  id int(11NOT NULL auto_increment,
  page_id int(11NOT NULL default '0',
  filename varchar(250NOT NULL default '',
  description varchar(250NOT NULL default '',
  uploaded_dt datetime NOT NULL default '0000-00-00 00:00:00',
  filesize int(11NOT NULL default '0',
  picture_w int(11NOT NULL default '0',
  picture_h int(11NOT NULL default '0',
  file_ext varchar(10NOT NULL default '',
  user varchar(80NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY page_id (page_id,filename),
  KEY page_id_2 (page_id,uploaded_dt),
  KEY user_id (user,page_id)
) TYPE=MyISAM;



Filenames may not:


 
Файлов нет. [Показать файлы/форму]
Комментариев нет. [Показать комментарии/форму]
Donate
Время работы: 10.158 s
Использовано памяти: 2.806 Mb