Статья дает краткое описание структуры таблиц RUNCMS версии 1.2. Кроме "системных" таблиц, описываются таблицы для некоторых стандартных модулей (пока только для модуля News/Новости).
Все таблицы RUNCMS можно разделить на "системные" - в них содержаться данные необходимые для функционирования портала в целом и "таблицы модулей" - таблицы с данными конкретных модулей.
К системным таблицам RUNCMS относятся:
groups - данные о группах пользователей
groups_blocks_link - таблица связей между блоками и группами
groups_modules_link - таблица связей между модулями и группами
groups_users_link - таблица связей между пользователями и группами
modules - данные о модулях портала
newblocks - данные о блоках портала
ranks - данные о "рангах" пользователей
session - таблица для хранения временных данных об авторизованном пользователе
smiles - данные о смайликах
users - данные о пользователях
Системные таблицы RUNCMS
Таблица: groups - данные о группах пользователей
Индексы:
Имя
Тип
Primary Index
groupid
idx
type
Поля:
Имя
Тип
По умолчанию
Комментарии
groupid
mediumint(8) unsigned
Уникальный идентификатор группы
name
varchar(30)
Имя группы
description
varchar(255)
Описание группы
type
enum('Admin','User','Anonymous','Custom')
Custom
Тип группы *
* Возможны четыре значения "Admin", "User", "Anonymous" и "Custom"
Таблица: groups_blocks_link - таблица связей между блоками и группами
Поля:
Имя
Тип
По умолчанию
Комментарии
groupid
mediumint(8) unsigned
0
Идентификатор группы
block_id
mediumint(8) unsigned
0
Идентификатор модуля
type
char(1)
Тип доступа к модулю
Таблица: groups_modules_link - таблица связей между модулями и группами
Поля:
Имя
Тип
По умолчанию
Комментарии
groupid
mediumint(8) unsigned
0
Идентификатор группы
mid
mediumint(8) unsigned
0
Идентификатор модуля
type
char(1)
Тип доступа к блоку
Таблица: groups_users_link - таблица связей между пользователями и группами
Поля:
Имя
Тип
По умолчанию
Комментарии
groupid
mediumint(8) unsigned
0
Идентификатор группы
uid
mediumint(8) unsigned
0
Идентификатор пользователя
Таблица: modules - данные о модулях портала
Индексы:
Имя
Тип
Primary Index
mid
Поля:
Имя
Тип
По умолчанию
Комментарии
mid
mediumint(8) unsigned
Уникальный идентификатор модуля
name
varchar(60)
Имя модуля
version
float(3,2) unsigned
1.00
Версия модуля
last_update
int(10) unsigned
0
Дата последнего обновления модуля
weight
smallint(3)
0
Позиция ссылки на модуль в меню
isactive
tinyint(1) unsigned
0
Установка активации модуля (да/нет)
dirname
varchar(30)
Имя директории модуля
config
text
Неиспользуемое поле
hasmain
tinyint(1) unsigned
0
Активация ссылки на модуль в меню (да/нет)
hasadmin
tinyint(1) unsigned
0
Активация ссылки в админ-меню (да/нет)
hassearch
tinyint(1) unsigned
0
Активация поиска по модулю (да/нет)
haswaiting
tinyint(1) unsigned
0
Активация функции показа обновлений (да/нет)
sidebar
tinyint(1) unsigned
3
Активация показа правых и левых блоков
Таблица: newblocks - данные о блоках портала
Индексы:
Имя
Тип
Primary Index
bid
idx
mid, isactive, side, visible
Поля:
Имя
Тип
По умолчанию
Комментарии
bid
mediumint(8) unsigned
Уникальный идентификатор блока
mid
mediumint(8) unsigned
0
Идентификатор модуля блока
func_num
tinyint(3) unsigned
0
"техническое" поле, нужное для обновления модулей
options
varchar(255)
Опции блока
name
varchar(60)
Предустановленное имя блока
position
tinyint(1) unsigned
0
Положение дополнительного контента блока*
title
varchar(60)
Изменяемое имя блока
content
text
Дополнительный контент модуля
side
tinyint(3) unsigned
0
Сторона блока - боковой блок, центральный... и т.д.
weight
smallint(3)
0
Позиция блока на странице
visible
tinyint(1) unsigned
0
Показывать блок или нет на страницах сайта
type
char(1)
C
Тип блока (системный/модуля/кастом) **
c_type
char(1)
Тип дополнительного контента блока ***
isactive
tinyint(1) unsigned
0
Признак активности блока (активен или нет) ****
iscopy
tinyint(1) unsigned
0
Признак копирования блока (копия или нет)
dirname
varchar(30)
Имя модуля, которому принадлежит блок
func_file
varchar(30)
Имя фала блока
show_func
varchar(30)
Имя функции для построения блока
show_mid
varchar(255)
0
Модули, где блок будет показан
show_template
varchar(40)
standard
Шаблон блока
page_style
tinyint(2) unsigned
3
Категории страниц, где будет показан блок *****
edit_func
varchar(30)
Имя функции для редактирования блока
* Ниже или выше оригинального контента
** S - системный блок, M - блок модуля, C - кастом блок
*** H - код HTML, P - код PHP, S - автоформат, смайлики включены, T - автоформат, смайлики выключены
**** 1 - стартовая сайта, 2 - главная страница модуля, 4 - все остальные страницы модулей, 8 - "специальная страница" - страницы поиска, личных настроек и т.д.
*****Зависит от активации модуля.
Таблица: ranks - данные о "рангах" пользователей
Индексы:
Имя
Тип
Primary Index
rank_id
Поля:
Имя
Тип
По умолчанию
Комментарии
rank_id
mediumint(8) unsigned
Уникальный идентификатор ранга
rank_title
varchar(60)
Название ранга
rank_min
int(10)
0
Минимум сообщений
rank_max
int(10)
0
Максимум сообщений
rank_special
tinyint(1) unsigned
0
Установка "специального" ранга
rank_image
varchar(255)
Путь к изображению ранга
Таблица: session - таблица для хранения временных данных об авторизованном пользователе
Индексы:
Имя
Тип
idx
uid, hash
Поля:
Имя
Тип
По умолчанию
Комментарии
uid
mediumint(8) unsigned
0
Уникальный идентификатор сессии
uname
varchar(30)
Ник пользователя
time
int(10) unsigned
0
Время начала сессии
ip
varchar(15)
IP пользователя
mid
mediumint(8) unsigned
0
Идентификатор модуля
hash
varchar(32)
md5-хэш сессии
Таблица: smiles - данные о смайликах
Индексы:
Имя
Тип
Primary Index
id
Поля:
Имя
Тип
По умолчанию
Комментарии
id
mediumint(8) unsigned
Уникальный идентификатор смайлика
code
varchar(30)
Код смайлика
smile_url
varchar(255)
Путь к изображению смайлика
emotion
varchar(60)
Описание смайлика
Таблица: users - данные о пользователях
Индексы:
Имя
Тип
Primary Index
uid
email
email
uname
uname
idx
uname
Поля:
Имя
Тип
По умолчанию
Комментарии
uid
mediumint(8) unsigned
Уникальный идентификатор пользователя
name
varchar(30)
Настоящее имя пользователя
uname
varchar(30)
Ник (логин) пользователя
email
varchar(60)
E-mail пользователя
url
varchar(255)
Адрес сайта пользователя
user_avatar
varchar(255)
"Аватар" пользователя
user_regdate
int(10) unsigned
0
Дата регистрации пользователя
user_icq
varchar(15)
ICQ пользователя
user_from
varchar(60)
"Местонахождение" пользователя (город, страна и т.д.)
user_sig
varchar(255)
Подпись *
user_viewemail
tinyint(1) unsigned
0
Разрешить другим пользователям видеть адрес e-mail
actkey
varchar(8)
Код активации (нужен при регистрации)
user_aim
varchar(60)
AIM адрес пользователя
user_yim
varchar(60)
Yahoo Messenger пользователя
user_msnm
varchar(60)
MSN Messenger пользователя
pass
varchar(32)
md5-хэш пароля пользователя **
posts
smallint(5) unsigned
0
Количество сообщений пользователя***
attachsig
tinyint(1) unsigned
0
Показывать "подпись" в комментариях и сообщениях?
rank
int(5)
0
Ранг пользователя
level
int(5)
1
Статус пользователя (зарегистрированный/незарегистрированный)
TDeme
varchar(30)
Графическая тема пользователя (скин) ****
timezone_offset
tinyint(2)
0
Часовой пояс пользователя
last_login
int(10) unsigned
0
Дата последней авторизации
umode
enum('flat','TDread','0')
flat
Способ отображения комментариев
uorder
tinyint(1) unsigned
0
Порядок сортировки комментариев
user_occ
varchar(60)
Занятие (вид деятельности) пользователя
bio
varchar(255)
Дополнительная информация о пользователе
user_intrest
varchar(255)
Интересы (увлечения) пользователя
user_mailok
tinyint(1) unsigned
1
Разрешение на отправку уведомлений пользователю по почте
*Подпись (утверждение, девиз и т.д.), отображается в учетной записи пользователя, его сообщениях на форуме и комментариях
**Пароли пользователей не хранятся в базе данных. Вместо них сохраняется md5-хэш пароля
*** Включает в себя, количество комментариев и сообщений на форуме
**** Графическое оформление (тема) сайта
Таблицы модуля News
К таблицам модуля News относятся:
stories - таблица хранит тексты новостей и дополнительные данные о них
topics - данные о разделах новостей
comments- таблица содержит комментарии к новостям
Таблица: stories - таблица хранит тексты новостей и дополнительные данные о них
Индексы:
Имя
Тип
Primary Index
storyid
idx
topicid, published, ihome, created
Поля:
Имя
Тип
По умолчанию
Комментарии
storyid
mediumint(8) unsigned
Уникальный идентификатор новости
uid
mediumint(8) unsigned
0
Идентификатор пользователя разместившего новость
title
varchar(60)
Заголовок новости
created
int(10) unsigned
0
Дата создания (добавления)
published
int(10) unsigned
0
Дата публикации (одобрения)
hostname
varchar(15)
IP разместившего новость
allow_html
tinyint(1) unsigned
0
Активация обработки HTML
allow_smileys
tinyint(1) unsigned
0
Активация обработки смайликов
allow_bbcode
tinyint(1) unsigned
1
Активация обработки BB-кода
hometext
text
Краткий текст новости (введение)
bodytext
text
Полный текст новости
counter
mediumint(8) unsigned
0
Количество просмотров новости
topicid
mediumint(8) unsigned
1
Идентификатор раздела новости
ihome
tinyint(1) unsigned
0
Показывать новость на главной странице модуля
notifypub
tinyint(1) unsigned
0
Установка оповещения пользователя после одобрения новости
type
enum('admin','user')
user
Статус разместившего новость (влияет на обработку текста) *
topicdisplay
tinyint(1) unsigned
0
Показывать или нет логотип раздела
topicalign
enum('R','L','0')
0
Расположение логотипа раздела
*Возможны два значения "admin" и "user"
Таблица: topics - данные о разделах новостей
Индексы:
Имя
Тип
Primary Index
topic_id
idx
topic_pid
Поля:
Имя
Тип
По умолчанию
Комментарии
topic_id
mediumint(8) unsigned
Уникальный идентификатор раздела
topic_pid
mediumint(8) unsigned
0
Идентификатор родительского раздела
topic_imgurl
varchar(255)
Путь к логотипу раздела
topic_title
varchar(60)
Наименование раздела
Таблица: comments - таблица содержит комментарии к новостям
Индексы:
Имя
Тип
Primary Index
comment_id
idx
item_id
Поля:
Имя
Тип
По умолчанию
Комментарии
comment_id
mediumint(8) unsigned
Уникальный идентификатор комментария
pid
mediumint(8) unsigned
0
Идентификатор родительского комментария
item_id
mediumint(8) unsigned
0
Идентификатор статьи
date
int(10) unsigned
0
Дата комментария
user_id
mediumint(8) unsigned
0
Идентификатор пользователя
ip
varchar(15)
IP пользователя
subject
varchar(60)
Заголовок комментария
comment
text
Текст комментария
allow_html
tinyint(1) unsigned
0
Активация обработки HTML
allow_smileys
tinyint(1) unsigned
0
Активация обработки смайликов
allow_bbcode
tinyint(1) unsigned
0
Активация обработки BB-кода
type
enum('admin','user')
user
Статус разместившего комментарий (влияет на обработку текста) *