Документ взят из кэша поисковой машины. Адрес оригинального документа : http://wasp.phys.msu.ru/forum/lofiversion/index.php?t3850.html
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 10:05:23 2016
Кодировка: Windows-1251
Студенческий форум Физфака МГУ > Пишем форум
Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Пишем форум
Студенческий форум Физфака МГУ > Физфак и учеба > Форумы групп > Реальные Акустики !
kdmitrie
Ну так и вот.
Лично мне не нужна такая функциональность и глюкавость, как на ИПБ или ПХПББ. Зато нужны фрмулы и картинки. Картинки - это специальный формат хранения изображений на базе хмл и объектов. Удобно для рисования всяких физических схем - тележек, блоков, решеток и т.д.
Соответственно, объявляется клич. Кто готов за это взяться? Сроки на реализацию базовой функциональности - месяц.

Имя я уже придумал... fforum (физический форум). smile.gif
DiVeR
моно, достаточно все будет делать модулями... тогда все можно будет реализовать... smile.gif
kdmitrie
Подвисло как-то сие благое начинание... Короче, сегодня вечером начинаю забатывать потихоньку. Сначала сделаю картинки, там посмотрим.
kdmitrie
Ну, начнем потихоньку...

Соображения следующие:
1. Размещаемся на генфизе, туда больше всего людей в случае необходимости может поиметь доступ.
2. Необходимо сразу предусмотреть возможность встроить форум в любой пхп-сайт в качестве модуля. Поэтому все имена функций и глобальных переменных идут с префиксом ff_.
3. По той же причине операторы echo, print и подобные не используем. Все выводим в переменную $ff_out, которую уже потом можно вывести куда угодно.
4. На классы забьем, т.е. не используем.
5. БД - как минимум MySQL4.1, т.е. поддерживающая вложенные запросы. Удобно. Хотя, на генфизе как бы не 3-я стоит...
6. Форум должен быть самодостаточным. Это значит, нельзя использовать какие-то уже имеющиеся модули. Как минимум надо переобозвать функции с префиксами.
7. Отдельный класс модулей - interfaces, в эти модули выносится все, что не может быть в какой-то мере универсально. Например - авторизация, понятно, что в конкретной схеме можно хотеть сделать ее по-разному. Или вообще без нее обойтись. А вот формулы и картинки можно сделать универсально.
8. Дизайн - должен быть не пересекающимся в плане css и javascript ввиду возможности использования форума внутри имеющейся страницы. Поэтому их тоже делаем с префиксами.

Даты - 20 июня надо запустить первое приближение. Самое сложное - точно хорошо продумать модель, чтоб потом не переписывать, остальное приложится.

И если кроме Diverа ко мне кто-то присоединится, то будет совсем хорошо. Ибо работа большая.
DiVeR
1. есть проблема, там недавно сгорел блок питания, поэтому сервак будет переноситься на другую машинку после сессии... так что лучше размещать где-нить еще...
2. Вообщем-то согласен, хотя это можно еще и решить другим путем: создав один массив со всеми настройками (т.е. глобальные переменные мы таким образом уберем...) а вот с функциями прийдется так и поступить...
3. ну... еще есть выход номер 2: буферизация вывода...
4. на самом деле они-то как раз и могли бы решить проблему с пространством имен функций...
5. Полностью за!!!
6. +1
7. ну.... проще говоря, разделить все на ядро и плагины...
8. +1. можно так же все генерить скриптом, чтобы он подставлял правильные имена...
kdmitrie
1.1. Ну тогда на дубине. В крайнем случае - на аеске, но я этого не хочу. Можно на лаб.аеске, там правда инет не очень, но потянет.
1.2-3. Это удобно. Так и сделаем.
1.4. Думаешь с классами будет удобней? Вообще наверно да.
1.7. Именно так. Причем плагины должны быть максимально понятно написаны и хорошо закомментированы, чтоб потом можно было сходу что-то свое написать.
1.8. Да. Причем имя префикса при желании можно менять тогда.
1.9. Имеется страница index.php, которая реализует собственно форум. Все остальное инклудится в нее при необходимости в зависисмости от параметра act.

Ну вроде насчет основных положений все проясняется. Теперь насчет структуры.

Нулевое приближение.
2.1 Авторизацию пока не делаем, т.е. кто угодно пишет что угодно куда угодно.
2.2 Структура самого форума мне очень нравится на флокале. То есть, весь форум состоит из нескольких разделов. Каждый раздел содержит несколько форумов, каждый из таких форумов - несколько тем. В каждой теме есть посты и, что важно, к каждому посту есть комментарии, которые показываются если нажать на ссылку "показать/добавить комментарий". Оказывается очень удобно вести в одной теме такое 2-мерное обсуждение.
2.3 Все выше означенное счастье лежит в 1 таблице, с индексацией, конечно. Есть поле type - тип записи из 5 выше приведенных. Поле pid указывает на id parent-а, таким образом создаем какое угодно дерево. Поле owner указывает на id владельца, пока оставляем его пустым. Поле text и name - пояснять не нужно. Для постов и комментериев поле name не определяется.
2.4 Создаем базовую структуру через phpmyadmin, делаем возможность добавления постов через форум.
Сроки на раелизацию - 2-3 дня после того как определимся с хостингом.
kdmitrie
Ну, я потихоньку начал.

Значит так. Все пути обозначены как $ff["path_***"]. Все, что касается sql - как $ff["sql_***"]. В include будут лежать mysql.inc, потом - и postgresql.inc; в них - основные sql-функции, но сделанные типично для каждого типа БД. В interface - настройки. Щас я туда выложил пароли.
DiVeR
Цитата(kdmitrie @ 11 июня 2006г. - 13:50)
Значит так. Все пути обозначены как $ff["path_***"]. Все, что касается sql - как $ff["sql_***"]. В include будут лежать mysql.inc, потом - и postgresql.inc; в них - основные sql-функции, но сделанные типично для каждого типа БД. В interface - настройки. Щас я туда выложил пароли.

*

Аналогично для ссылок: $ff["url_***"]
Я пока в основном буду готовиться к электроду, так что что-то смогу делать вообщем-то только после 17-го... конфиги предлагаю хранить в configs.inc
И еще, во всех ссылках на директории и т.п. предлагаю не дописывать в конце слеш, т.е. для http://mail.ru/ ссылка будет выглядить http://mail.ru, аналогично для директорий (к примеру для /usr/local/etc/ будет /usr/local/etc)
kdmitrie
Добавил таблицу posts, в ней лежит вся структура форума. В соответствии вышеуказанной концепции, она имеет поля: id, text, name, pid. Поле type может быть g,f,t,p,c; по умолчанию - р. (group, forum, topic, post, comment). В дальнейшем надо добавить owner и date. И индексировать это счастье надо очень злостно.
kdmitrie
Добавил поддержку языков. В папке lang будут лежать переводы. Файлы переводов должны иметь формат <countrycode>-<encoding>.inc. Для английского <encoding> не ставится, ибо не нужен.
В корне создал симлинк на .htconfig - файл .htdefault. Когда закончим форум, он будет анализировать переменную $ff и если что не так, изменять или дополнять по дефалту.
kdmitrie
Целесообразно сделать слои, как на флокале. То есть, модер имеет право не только удалить пост, но и снести его в ниже лежащий слой. А у юзеров в настройках прописывается, какие слои они видят.
kdmitrie
Я сделал отображение списков групп форумов и форумов. Также отображение тем. Пока это все, естественно, без футеров-хедеров. Доступно по адресу: FForum.

Идеалогия немного поменялась. Теперь структура форума такая:
\
.htaccess
.htconfig - главный конфиг
.htdefault - конфиг по дефалту
.htinclude - инклудит все базовые библиотеки, которые лежат в include
index.php
NOTES

css\ - css, доступна из браузера
design\ - структура страницы, основные элементы + дополнительный html
images\
include\ - библиотеки
lang\ - локализация
modules\ - модули; каждый отвечает за отдельный тип страницы, инклудится в index.php в зависимости от параметра act
Нася
офигеть...115.gif
e-solo
я бы даже так сказал post-6765-1149089215.gif или все же вот так post-6765-1149089180.gif
kdmitrie
Цитата(Нася @ 19 июня 2006г. - 11:10)
офигеть...115.gif
*

Тебе нравится?
Нася
впечатляет! thumbsup.gif
kdmitrie
Ну, пока только мало что работает... А почему не флудим?
e-solo
а че надо флудить? легко
Нася
Цитата(e-solo @ 20 июня 2006г. - 16:04)
а че надо флудить? легко
*


прошу, маэстро! 77.gif
kdmitrie
Ну что, может допишем все-таки? В перерывах между пересдачами по электроду?
DiVeR
гг, теперь можно писать и не в перерывах wink.gif
kdmitrie
ff_GetParam надо переименовать в ff_getparam
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Русская версия IP.Board © 2001-2016 IPS, Inc.