Archive for the 'ipx' Category

11
Apr
08

Составной primary key

Сейчас сессии в базе разделяются на типы путём добавления префикса к идентификатору, это было сделано для индивидуализации записей, т. к. записей разного типа, но с одним ид, может быть несколько. Возможно, внести небольшие изменения в базу, добавив ещё один столбец с типом (как некогда уже было, кстати). И объявить составной primary key из ид сессии и её типа.

Advertisements
03
Apr
08

RSS cache

Сделал честный кэш для рсс-френдленты. Свой для каждого канала. Ура, лень сдаётся)

02
Apr
08

Таймауты

Сделал таймауты для всего, для чего только мог придумать:

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

Ожидание таймаута, если он есть проходит в функции обновления сессии средствами функции sleep, что, наверное не самый удачный вариант, но его всегда можно будет заменить выводом страницы, сообщающей, что, мол, ты, сестрёнка или братишка, слишком скоростная или скоростной. А с другой стороны, штатно работающий пользователь ничего не увидит, а если сильно заторопится, то просто дождётся загрузки следующей страницы без лишних отягощающих сообщений.

Технически это выглядит не очень элегантно: для каждого клиента заводится несколько сессий с одним идентификатором, но различными префиксами. В строке сессии хранится её уже упомянутый идентификатор с префиксом, id-номер зарегистрированного пользователя или ноль для гостя, ip-адрес и время последнего действия. Обновление сессии происходит по её идентификатору и префиксу (типу), но для обманщиков (которые скрыли или изменили идентификатор сессии) существует ещё и проверка по ip-адресу, чтобы все честно выжидали назначенное им время и не флудили, например.

SQL: Так как тип сессии обозначает её префикс, специальная колонка для типа была упразднена.

16
Mar
08

rss в другую кучу

Продолжил расширять типы записей, всё валю в одну кучу. Создал новый тип, поэтому rss теперь тоже в ней. Получил более сложную реализацию, на скорости, если и отразилось, то неявно. Плюсы: возможность настройки прав для каналов (публичные, непубличные, черновые); meta может быть почищена без страшных потерь (таблица сразу планировалась как некритичная).

ALTER TABLE `mack_ipx_entries` CHANGE `type` `type` ENUM( 'page', 'news', 'event', 'comment', 'file', 'rss' ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL DEFAULT 'comment'

05
Mar
08

Циклические стили

Организовал сегодня обработку нескольких стилей для повторяющихся элементов типа таблиц. Можно указать в html-шаблоне несколько id, разделив их запятыми. Например, <div id=”black,silver,white”>, при показе эти стили будут чередоваться, т. е. при наличии нескольких элементов с таким стилем мы получим:

<div id="black">
<div id="silver">
<div id="white">
<div id="black">

22
Feb
08

завершение

https://mudlo.wordpress.com/2008/02/12/Изменения-в-структуре-таблицы-записей

Только сегодня лениво завершил революцию. Т. е. подогнал скрипты под новые таблицы. Скрины ниже. Continue reading ‘завершение’

12
Feb
08

Изменения в структуре таблицы записей

Сегодня несколько реструктурировал основную таблицу:

Слил две ячейки с содержанием записи в одну, разделив их условно последовательностью «<!–IPX_SPLITTER–>», что даст возможность немного сократить занимаемое таблицей место, и главное: уберёт ограничение на количество колонок в таблице, т. е. их может быть не только одна или две, но и произвольное количество.

Доступность комментариев теперь не зависит от количеств колонок в записи.

SQL-код приведён ниже. Continue reading ‘Изменения в структуре таблицы записей’