Koenig,
`cms_modules`
`id` int(11) unsigned NOT NULL auto_increment,
`module` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
-------------------
`cms_access_list`
`gid` int(11) unsigned NOT NULL, -- Идентификатор группы
`mid` int(11) unsigned NOT NULL, -- Идентификатор модуля
PRIMARY KEY (`gid`, `mid`)
-------------------
`users_groups`
`id` int(11) unsigned NOT NULL auto_increment,
`name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
-------------------
`users`
`id` int(11) unsigned NOT NULL auto_increment,
-- кучка полей --
`group` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`)
-------------------У мну есть функция для вывода ссылок
string Functions::anchor(string $uri, string $title, string $attributes)Есть мысля добавить флаг $protected и в зависимости от его значения проверять привилегии, если доступа нет, то возвращать пустую строку.
Както так я себе это представляю
function anchor($uri = '', $title, $attributes = '', $protected = FALSE) {
$link = '<a href="' . HOMEURL . '/' . $uri . '">' . htmlspecialchars($title) . '</a>';
if ($protected === TRUE) {
$module = System::$db->query("SELECT `id` FROM `cms_modules` WHERE `module` = '" . System::$db->real_escape_string($uri) . "'");
if ($module) {
$module = $module->fetch_assoc();
$access = System::$db->query(
"SELECT COUNT(*) FROM `cms_access_list` " .
"WHERE `gid` = '" . System::$user->group .
"', `mid` = '" . $module['id'] . "'"
);
if (!System::$db->result($access)) {
return '';
}
}
}
return $link;
}