АвторСообщение
автор ToMB




Зарегистрирован: 03.08.06
Фото:
ссылка на сообщение  Отправлено: 02.12.06 02:41. Заголовок: Отчёт о разработке ТоМВ v2.30




Спасибо: 0 
Профиль Цитата Ответить
Ответов - 5 [только новые]


автор ToMB




Зарегистрирован: 03.08.06
Фото:
ссылка на сообщение  Отправлено: 09.12.06 22:31. Заголовок: Re:


31.10.2006


Текущие отличия версии 2.30 от её предшественницы - глючной 2.20-3 :

1. Ну, то что теперь окна открываются во всех браузерах хорошо с поддержкой JS - это и так ясно )))
2. Изменена структура табличная, чтобы верхнее меню не уезжало вправо при попытке растянуть слишком длинным сообщением фрейм.
3. Теперь работают гиперссылки! Чтобы избежать глюков с JS и тем, как понимают регулярные выражения Лис и Ишак, пришлось всё делать на РНР в обработке сообщения перед выводом - см. функцию print_msgs($min,$max,$value) из библиотеки чата library.php
4. Устранена дырка на зафлуживание чата с последующим переполнением файла БД. Теперь ники и сообщения обрезаются по длине не только при отображении формы, но и при получении данных серверным сценарием (А пришла бы эта мысль, если бы не могучий InetCrack ?!)
5. Изменения коснулись и формата Базы Данных. Теперь необходимо заменить в файле data.php в самом начале символы
<?die;?>
на
<?$value='
А в самом конце файла добавить
';?>
Это будет работать только при переходе от версии 2.20-3 до 2.30 . Иначе могут быть конфликты с экранированием кавычек, и скрипт попросту сотрёт базу данных, записав верный формат, но с пустыми ячейками.
6. Раньше казалось, скрипт открывает файловый манипулятор базы данных один раз за обновление страницы. Что может быть лучше? А нет предела совершенству! Теперь файловый манипулятор открывается только тогда, когда отправляется сообщение в чат. А сама база данных банально инклудится в текущий экземпляр сценария автоматически :)
7. Теперь фрейм отправки сообщения работает без глюков и сравнительно сносно пашет добавление фаст-ника в форму. Кроме того, форма теперь генерируется не скриптом, а представляет собой статичный HTML-код, иногда изменяемый на стороне клиента, при необходимости, конечно. А за счёт этого файл JS-сценариев к шкуркам чата уменьшился по размерам почти вдвое - от 4-х, почти 5-ти килобайт (смерть модемника!) до 2-х-с-половиной .
8. Появилась возможность разрезать слишком длинные слова в сообщении на меньшие по размеру (полезно, если в чат отправляет большое сообщение с минимумом пробелов, а фрейм при этом может растянуться в ширину). За количество символов, максимально допустимое в одном слове сообщения, отвечает переменная
$tomb[max_word] = .. ;
в файле config.php . По умолчанию, стоит значение 50 символов.
9. Теперь в наборе смайликов по умолчанию хранится не 7 самописных, а 37 какого-то из стилей VBulletin , которые ещё год назад использовались на фасте :)

Спасибо: 0 
Профиль Цитата Ответить
автор ToMB




Зарегистрирован: 03.08.06
Фото:
ссылка на сообщение  Отправлено: 09.12.06 22:33. Заголовок: Re:


01.11.2006


Закрыта ещё одна дырка. Про символ перевода строки, который не фильтровался в сообщении и нике пользователя, потому как просто не было раньше мысли о том, что они как-то туда попадут. База Данных остаётся цела, но её отображение не выходит, а браузер верещит от ошибок.
InetCrack - великая вещь

Спасибо: 0 
Профиль Цитата Ответить
автор ToMB




Зарегистрирован: 03.08.06
Фото:
ссылка на сообщение  Отправлено: 09.12.06 22:33. Заголовок: Re:


02.11.2006


Фактически, теперь 2.30 стал неубиваемым чатиком. Остаётся только админку к нему приделать и выложу :)
Пока в админке есть возможности:
- Управление конфигурацией чата ( достаточно убогое, потому как любой нестандартный элемент в конфиге после операции над ним из ТоМВАдмина удаляется)
- Превью чата
- Качественная система авторизации
- Хромающая панель модерирования, на которй я собственно и астрял сейчас. Реализовал ультрабыстрый алгоритм самоперезаписывающегося ассоциативного массива (лучше бы я класс нормальный сварганил), который начинает глючить при выборе более чем одного элемента на удаление/редактирование. Вся нелепость в некорректной обработке переменной-"шагомера" $step . После этого гимора останется самая малость - редакторы файлов чата, утилиты операций над бд (копирвоание, опустошение, загрузка из файла, изменение конфигурации). Даже можно будет систему автообновления чата заделать :) (за счёт разницы между переменной конфига $tomb[version] и имеющихся архивов на каком-нить файлообменнике, с которым устанавливает связть ТоМВАдмин

Спасибо: 0 
Профиль Цитата Ответить
автор ToMB




Зарегистрирован: 03.08.06
Фото:
ссылка на сообщение  Отправлено: 09.12.06 22:35. Заголовок: Re:


06.11.2006


Ничего другого больше не придумал, кроме как сделать два пакета библиотек:
• "платный хостинг" - высокая производительность, но безопасность слегка занижена. Впрочем, исправить легко, засунув базу данных куда-нибудь вне дерева веб-каталогов. То же можно сделать и на халявном, но там доступно сделать "шагомер" по документам сервера и выйти напрямую к директории с данными чата, а туда запихнуть произвольный РНР-код.
• "бесплатный хостинг" - два файловых манипулятора открываются в случае чтения БД и записи в неё, один - только если надо считать данные. Способ не самый быстрый, но зато безопасный. В случае перезаписи данных в файле будет просто выведено сообщение о повреждении бд. В то время как версия для "платного" выполняет этот произвоьный код, инклудя его в экземпляр приложения.

Что побудило это сделать? То, что технология для "платного хостинга" чрезвычайно быстрая и качественная, но никем не используется. Почему? Вот и стал думать над этим вопросом. Потом понял, что обезопасить файл так просто не удастся. Шифровать его имя в файле конфигурации бы не получилось - шагомер и туда доберётся. Правами манипулировать на сервере - долго. Хотя и было бы хорошо, но результат не из самых производительных. Конечно, делать специально программу для выбранного беплатного хоста, чтобы напасть на скромного пользователя чатика - это маловероятное событие. Но получить контроль над сервером через чатик - это уже дело, достойное благородного дона. Жаль, что не каждый благородный дон воспользуется этим во благо хостера.

Теперь нужно будет сделать нормальный инсталлятор и приклеить две утилиты к дистрибутиву:
• reinstall.php - переустановка чата в случае переезда с одного хоста на другой (или при добавлении какой-нибудь важной папки для последующего апгрейда)
• rebuild.php - утилита переписывания базы данных из одного формата в другой и замены соответствующих данных в config.php
Также добавится в файл config.php новый элемент массива $tomb :
$tomb[datalib] = 'адрес до нужной библиотеки';
В этой переменной будет прописываться адрес до той библиотеки с функциями write_db() и read_db(), которая специализирована под работу с данным типом базы данных.

Спасибо: 0 
Профиль Цитата Ответить
автор ToMB




Зарегистрирован: 03.08.06
Фото:
ссылка на сообщение  Отправлено: 09.12.06 22:36. Заголовок: Re:


08.12.2006


В принципе, работу можно, наверное, считать законченной.
Библиотеки чата переведены на Объектно-ориентированный манер. Теперь всем заправляет класс $database, который включает методы
init() - создание структуры БД, получая на входе массив с данными чата
write_db() - запись в БД
read_db() - чтение БД
print_msgs() - выведение собственно сообщений чата на страницу
lockFile() - блокирование файла БД на совместном использовании несколькими приложениями

Админка полностью функционирует (за исключением модуля на правку смайликов. Его планирую сделать на манер модуля ModeRAT v0.3, разработанного совместно с st.Anger (вернее, разрабатывалась совместно с ним только версия первая. Дальше я уже сам модифицыровывал и изменял алгоритм)

Чат будет готов к выходу как только настрою маршрутизатор к ноуту :)

Для установки чата инсталлятор уже не нужен будет ))
Но выйдет только тестовая версия ToMB v2.27 - вдруг придётся что-то изменять. Если ничего особо плохого не будет замечено - переименую в 2.30 и завершится серия CBox-подобных мини-чатиков ToMB v2.x

Спасибо: 0 
Профиль Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 0
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет



Некоммерческие ссылки:
Посмотреть Демо-версию ToMB v2.19 alpha
Клуб любителей биатлона