Еще один блог :)

Список таблиц PottoCMS


База данных Potto CMS

Примечание: prefix - префикс таблицы, каждый префикс идентифицирует сайт, что позволяет в одной базе размещать сведения о разных сайтах, например homepage, store и т.п.

Основной модуль

1. *users - список пользователей


Структура таблицы

 1     user     varchar(20)     utf8_unicode_ci
 2     ukey     varchar(255)     utf8_unicode_ci
 3     role     varchar(20)     utf8_unicode_ci
 4     online     int(11)

Описание полей
user - уникальный для сайта ник пользователя
ukey - ID пользователя, используется для сессионной идентификации
role - ID группы, в которой состоит пользователь
online = 0, если пользователь оффлайн | 1 - если пользователь онлайн

SQL запрос на создание таблицы

CREATE TABLE IF NOT EXISTS `prefix__users` (
  `user` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `ukey` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `role` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `online` int(11) NOT NULL,
  PRIMARY KEY (`user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

2. *useroptions - пользовательские настройки

Структура таблицы

1     username     varchar(32)     utf8_general_ci
2    optname     varchar(34)     utf8_general_ci
3    optvalue     text     utf8_general_ci

Описание полей

username - ник пользователя
optname - ID настройки
optvalue - значение настройки

Список возможных настроек

   email - электронная почта пользователя
   deviz - подпись на форуме
   adres1  - адрес доставки
   adres2  - адрес доставки
   country - страна
   region  - область
   city   - населенный пункт
   sex   - пол
   birthday  - день рождения
   webpage - ссылка на персональный сайт или страницу в социальной сети
   phone - телефон


SQL запрос на создание таблицы

CREATE TABLE IF NOT EXISTS `prefix__useroptions` (
  `username` varchar(32) CHARACTER SET utf8 NOT NULL,
  `optname` varchar(34) CHARACTER SET utf8 NOT NULL,
  `optvalue` text CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`username`,`optname`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;



3. *options - Глобальные настройки сайта


Структура

 1     optname     varchar(255)     utf8_unicode_ci
 2     optvalue     text     utf8_unicode_ci
 3     optnote     text     utf8_unicode_ci

SQL запрос

CREATE TABLE IF NOT EXISTS `prefix__options` (
  `optname` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
  `optvalue` text COLLATE utf8_unicode_ci NOT NULL,
  `optnote` text COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`optname`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

Обязательные настройки

CACHE = ON|OFF - Кэширование включено/выключено
CLOSED = ON|OFF - Сайт закрыт для посещений (кроме администратора)
CLOSED_MESSAGE = Сообщение о закрытии сайта
META_KEYWORDS = Ключевые слова
META_DESCRIPTION = Описание сайта
EMAIL_ADMIN = me@some.net Адрес администратора для уведомлений
SITE_NAME = Название сайта
MAIN_TEMPLATE = Основной шаблон /template/.../file.tpl
SHOP_ITEMSPERPAGE = Число элементов в выдаче витрины магазина
SKLAD_ITEMSPERPAGE    =    Склад: Число элементов в выдаче
SHOP_MAXCOL =   4    Витрина: Число столбцов на странице + 1
SHOP_ITEMSPRICESEARCH    =  12    Витрина: Число элементов в выдаче при поиске по це...
SHOP_COLSPRICESEARCH   =  4    Витрина: Число колонок в выдаче при поиске по цене
SHOP_ITEMSTAGSEARCH     = 12    Витрина: Число элементов в выдаче при поиске по тегам (меткам)
SHOP_COLSSTAGSEARCH  =   4    Витрина: Число колонок в выдаче при поиске по тегам.
ARTICLES = 8 Число страниц в выдаче новостей (блог)
COLUMNS = 3 Число колонок в выдаче новостей (блог)

4. *permissions - хранит привилегии для групп пользователей


Примечание: ограничитель - число, значение которого в целом либо отдельные разряды определяют права списка групп пользователей совершать части действий внутри метода модуле или вызывать метод модуля в целом. Может использоваться как битовая маска ограничителя групповой роли.

список групп = all - все группы ИЛИ группа1;группа2 - ID групп через точку с запятой

имя метода = _ACCESS_ - доступ в целом | название функции

Структура таблицы

1     module     varchar(40)     utf8_general_ci
2     action     varchar(40)     utf8_general_ci
3     roles     text     utf8_general_ci
4     access     int(11)

SQL запрос

CREATE TABLE IF NOT EXISTS `prefix__permissions` (
  `module` varchar(40) NOT NULL,
  `action` varchar(40) NOT NULL,
  `roles` text NOT NULL,
  `access` int(11) NOT NULL,
  PRIMARY KEY (`module`,`action`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


5. *roles - роли пользователей


Структура таблицы

1     role     varchar(20)     utf8_general_ci
2     rolename     varchar(255)     utf8_general_ci
3     access     int(11)

Назначения полей

role - ID группы, например admin - администратор, user - пользователь, seller - продавец
rolename - Название группы, н-р “Администраторы”
access - ограничитель доступа

SQL - запрос

CREATE TABLE IF NOT EXISTS `prefix__roles` (
  `role` varchar(20) NOT NULL,
  `rolename` varchar(255) NOT NULL,
  `access` int(11) NOT NULL,
  PRIMARY KEY (`role`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

6. *blocks - хранит глобальные блоки сайта

Глобальный блок - это небольшой html/css/js код, который используется в качестве шаблона оформления

Структура таблицы

1     blockname     varchar(255)     utf8_general_ci
2     blockdescription     text     utf8_general_ci
3     blockview     text     utf8_general_ci

Назначение полей

blockname - ID блока, например footer
blockdescription - напоминание об использовании блока
blockview - код блока

SQL-запрос

CREATE TABLE IF NOT EXISTS `prefix__blocks` (
  `blockname` varchar(255) CHARACTER SET utf8 NOT NULL,
  `blockdescription` text CHARACTER SET utf8 NOT NULL,
  `blockview` text CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`blockname`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;




7. *categories - список разделов сайта

Структура таблицы

1    category     varchar(20)     utf8_unicode_ci
2     cat_name     varchar(255)     utf8_unicode_ci
3     parent     varchar(20)     utf8_unicode_ci
4     template     varchar(600)     utf8_unicode_ci

Назначение полей

category - ID раздела, например spring
cat_name - название категории, например “Весенний сборник”
parent - ID родительского раздела, например blog
template - путь к файлу шаблона, например, /templates/readers/usr/myblog.tpl

SQL - запрос

CREATE TABLE IF NOT EXISTS `prefix__pages` (
  `id` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `title` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `body` text COLLATE utf8_unicode_ci NOT NULL,
  `category` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `status` varchar(25) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'public',
  `username` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `created` datetime NOT NULL,
  `visitors` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


9. *pages - материалы сайта

Структура таблицы

    1     id     varchar(20)     utf8_unicode_ci
    2     title     varchar(20)     utf8_unicode_ci
    3     body     text     utf8_unicode_ci
    4     category     varchar(20)     utf8_unicode_ci
    5     status     varchar(25)     utf8_unicode_ci
    6     username     varchar(20)     utf8_unicode_ci
    7     created     datetime
    8     visitors     int(11)

Описание полей

id - уникальный идентификатор страницы, например mainpage
title - название материала
body - html разметка материала
category - ID раздела, в котором размещается материал
status - состояние материала (public - опубликован, draft - черновик)
username - ник автора материала
created - дата обновления материала
visitors - число просмотров полной версии материала

SQL - запрос

CREATE TABLE IF NOT EXISTS `prefix__pages` (
  `id` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `title` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `body` text COLLATE utf8_unicode_ci NOT NULL,
  `category` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `status` varchar(25) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'public',
  `username` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `created` datetime NOT NULL,
  `visitors` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;


9. *comments - комментарии

Cтруктура таблицы

1     id_comment     int(11)
2     id_page     text     utf8_unicode_ci
3     comment     text     utf8_unicode_ci
4     rating     int(11)
5     username     varchar(20)     utf8_unicode_ci
6     created     datetime
7     status     int(11)

Назначение полей

id_comment - номер комментария
id_page - адрес страницы, на которой оставлен комментарий
comment - текст комментария
rating - оценка материала
username - ник комментатора
created - время отправки комментария
status - одобрение комментария

SQL-запрос

CREATE TABLE IF NOT EXISTS `prefix__comments` (
  `id_comment` int(11) NOT NULL,
  `id_page` text COLLATE utf8_unicode_ci NOT NULL,
  `comment` text COLLATE utf8_unicode_ci NOT NULL,
  `rating` int(11) NOT NULL,
  `username` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `created` datetime NOT NULL,
  `status` int(11) NOT NULL,
  PRIMARY KEY (`id_comment`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;



10. *pm  - Личные сообщения

Структура таблицы

1  id_pm     int(11)    	 UNSIGNED
2     usr1     varchar(20)     utf8_unicode_ci
3     usr2     varchar(20)     utf8_unicode_ci
4     message     varchar(1000)     utf8_unicode_ci
5     readed     varchar(20)     utf8_unicode_ci

Назначение полей

id_pm - номер личного сообщения
usr1 - ник отправителя
usr2 - ник получателя
message - текст сообщения
readed - статус сообщения

SQL - запрос

CREATE TABLE IF NOT EXISTS `prefix__pm` (
  `id_pm` int(11) unsigned NOT NULL,
  `usr1` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `usr2` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
  `message` varchar(1000) COLLATE utf8_unicode_ci NOT NULL,
  `readed` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT 'no',
  PRIMARY KEY (`id_pm`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;




Модуль форума

11. *forums - хранит список форумов (url форума, название форума, число тем, число сообщений)

Структура

    1     forum_url     varchar(255)     utf8_general_ci
    2     forum_name     varchar(255)     utf8_general_ci
    3     themes_count     int(11)
    4     messages_count     int(11)

Назначение полей

forum_url - ID адреса раздела форума, н-р games
forum_name - название раздела, н-р Игры
themes_count - счетчик тем
messages_count - счетчик сообщений

Sql - запрос

CREATE TABLE IF NOT EXISTS `prefix__forums` (
  `forum_url` varchar(255) CHARACTER SET utf8 NOT NULL,
  `forum_name` varchar(255) CHARACTER SET utf8 NOT NULL,
  `themes_count` int(11) NOT NULL,
  `messages_count` int(11) NOT NULL,
  PRIMARY KEY (`forum_url`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

12. *themes -  темы форума

Структура таблицы

    1     theme_url     varchar(255)     utf8_general_ci
    2     theme_name     varchar(255)     utf8_general_ci
    3     sd     int(11)
    4     replies     int(11)
    5     new_message     datetime
    6     created     datetime
    7     forum_url     varchar(255)     utf8_general_ci


Назначение полей

theme_url - ID темы в разделе, н-р BestGames2012
theme_name - название темы, н-р Лучшие игры 2012
sd - число просмотров
replies - число ответов
new_message - дата последнего обновления
created - дата создания темы
forum_url - ID форумного раздела, в котором тема открыта


SQL запрос

CREATE TABLE IF NOT EXISTS `prefix__themes` (
  `theme_url` varchar(255) CHARACTER SET utf8 NOT NULL,
  `theme_name` varchar(255) CHARACTER SET utf8 NOT NULL,
  `sd` int(11) NOT NULL,
  `replies` int(11) NOT NULL,
  `new_message` datetime NOT NULL,
  `created` datetime NOT NULL,
  `forum_url` varchar(255) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`theme_url`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;



13. *messages - хранит сообщения форума

Структура

    1     message_id     int(11)
    2     message     text     utf8_general_ci
    3     username     varchar(255)     utf8_general_ci
    4     created     datetime
    5     theme_url     varchar(255)     utf8_general_ci

Поля

message_id - номер сообщения

message - текст ответа в теме

username - ник пользователя

created - время обновления, создания

theme_url - ID темы, в которой оставлен ответ


SQL

CREATE TABLE IF NOT EXISTS `prefix__messages` (
  `message_id` int(11) NOT NULL,
  `message` text CHARACTER SET utf8 NOT NULL,
  `username` varchar(255) CHARACTER SET utf8 NOT NULL,
  `created` datetime NOT NULL,
  `theme_url` varchar(255) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`message_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

Модуль магазина

14. *trade_sklad - Основная информация о товарах на складе

Структура

   1     artikul     varchar(255)     utf8_general_ci
    2     type     varchar(255)     utf8_general_ci
    3     captiontxt     text     utf8_general_ci
    4     description     text     utf8_general_ci
    5     note     text     utf8_general_ci
    6     count     int(11)
    7     price     float
    8     photo     varchar(255)     utf8_general_ci
    9     visitors     varchar(11)     utf8_general_ci
    10     tags     text     utf8_general_ci
    11     see_also     varchar(255)     utf8_general_ci

Поля

 artikul     - артикул (код) изделия
 type      - ID товарной категории
 captiontxt    - название товара
 description - подробное описание товара
 note     служебное примечание к товару
 count    - число товаров на складе
 price     - отпускная цена
 photo     - путь к фотографии товара
visitors    - число просмотров подробного описания товара
tags  - метки (теги) через запятую
see_also  - ID рекомендуемых или похожих товаров через запятую

SQL

CREATE TABLE IF NOT EXISTS `prefix__trade_sklad` (
  `artikul` varchar(255) NOT NULL,
  `type` varchar(255) NOT NULL,
  `captiontxt` text NOT NULL,
  `description` text NOT NULL,
  `note` text NOT NULL,
  `count` int(11) NOT NULL,
  `price` float NOT NULL,
  `photo` varchar(255) NOT NULL,
  `visitors` varchar(11) NOT NULL DEFAULT '0',
  `tags` text NOT NULL,
  `see_also` varchar(255) NOT NULL,
  PRIMARY KEY (`artikul`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

15. *trade_structure - Разделы товарного каталога

Структура

    1     category     varchar(255)     utf8_general_ci
    2     catname     varchar(255)     utf8_general_ci
    3     parent     varchar(255)     utf8_general_ci

Поля

category -ID раздела, например pvh
catname - название категории, например ПВХ
parent - ID родительского раздела, например doors

SQL

CREATE TABLE IF NOT EXISTS `prefix_trade_structure` (
  `category` varchar(255) NOT NULL,
  `catname` varchar(255) NOT NULL,
  `parent` varchar(255) NOT NULL,
  PRIMARY KEY (`category`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

16. *trade_operations - Журнал операций

Структура

   1     operation     varchar(255)     utf8_general_ci
    2     username     varchar(255)     utf8_general_ci
    3     dtype     varchar(255)     utf8_general_ci
    4     agent     varchar(255)     utf8_general_ci
    5     date     datetime
    6     status     varchar(255)     utf8_general_ci

Поля

operation - номер операции
username - инициатор операции / пользователь
agent - контрагент
date -  дата и время операции
dtype - тип сделки
status - статус операции

SQL

CREATE TABLE IF NOT EXISTS `prefix__trade_operations` (
  `operation` varchar(255) NOT NULL,
  `username` varchar(255) NOT NULL,
  `dtype` varchar(255) NOT NULL,
  `agent` varchar(255) NOT NULL,
  `date` datetime NOT NULL,
  `status` varchar(255) NOT NULL,
  PRIMARY KEY (`operation`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

17. *trade_operations_details - Детализация операций по товарам

Структура

    1    operation     varchar(255)     utf8_general_ci
    2     artikul     varchar(255)     utf8_general_ci
    3     price     float
    4     count     int(11)

Поля

operation - номер операции
artikul - код товара
price - цена товара
count - число единиц товара

SQL запрос

CREATE TABLE IF NOT EXISTS `prefix__trade_operations_details` (
  `operation` varchar(255) NOT NULL,
  `artikul` varchar(255) NOT NULL,
  `price` float NOT NULL,
  `count` int(11) NOT NULL,
  PRIMARY KEY (`operation`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;


18. *trade_sales - Журнал продаж (аналитический)

Структура

    1     date     datetime
    2     username     varchar(255)     utf8_general_ci
    3     artikul     varchar(255)     utf8_general_ci
    4     price     float
    5     count     int(11)
    6     buyer     tex
    7     totally     float

Поля

date - дата продажи
username - ник продавца
artikul - артикул изделия
count - число заказанных изделий
buyer - ник покупателя
totally - итоговая отпускная цена, возможно с учетом доставки, скидки и т.п.

SQL

CREATE TABLE IF NOT EXISTS `prefix__trade_sales` (
  `date` datetime NOT NULL,
  `username` varchar(255) NOT NULL,
  `artikul` varchar(255) NOT NULL,
  `price` float NOT NULL,
  `count` int(11) NOT NULL,
  `buyer` text NOT NULL,
  `totally` float NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

Модуль Галерея

20. Использует таблицу galleries

Структура таблицы

id - ID галереи
gcaption - название галереи
gpath - путь к каталогу с картинками

Модуль Локализации

Признак языка устанавливается в сессионой переменной $_SESSION[‘lang’]

21. Использует таблицу voc - переводы отдельных слов и фраз

Структура таблицы

lang - идентификатор языка (eng/rus)
orig - оригинал на русском языке
wrd - перевод на другой язык


22. Использует таблицу translation - переводы материалов сайта

Структура таблицы

lang - идентификатор языка (eng/rus)
id - идентификатор страницы (см. *pages)
body - перевод содержания на другой язык
caption - перевод заголовка на другой язык

Опубликовано в категории Публикации по PottoCMS

×