Пытаюсь разобраться в коде одного проекта, и там очень странный момент, в общем есть класс router, который подключает модели классов в зависимости от адреса страницы.
А еще он же подключает класс ACL на всех страницах. Так вот с этим ACL как раз и проблема, когда создается экземпляр класса new Model_ACL, то выпадает ошибка
Cannot redeclare class Template in <b>/helpers/template.class.php
Пытался понять почему он думает что я создаю экземляр Template, хотя он создается только в классе View.
вот сам Model_ACL
Свернутый текст
class Model_ACL extends Model
{
public function __construct($cfg)
{
$this->host = $cfg->getConfig('host');
$this->port = $cfg->getConfig('port');
$this->user = $cfg->getConfig('user');
$this->pass = $cfg->getConfig('pass');
$this->base = $cfg->getConfig('base');
$this->setParams();
}
public function getPermissions($user, $group, $page, $object='all')
{
//сначала получаем права группы (или права по умолчанию, если права группы не указаны)
$sql = 'SELECT `groupId`, `permission`
FROM `group_permissions`
WHERE (`groupId`={?} OR `groupId`={?})
AND `page`={?}
AND `object`={?}';
$groupPerms = $this->select($sql, array($group, 'all', $page, $object));
$groupPerms = (count($groupPerms)==2) //если получено 2 значения
? (($groupPerms[0]['groupId']==0) //если первое правило для гостя
? $groupPerms[1]['permission'] //тогда присвоить права второго правила
: $groupPerms[0]['permission']) //или присвоить права первого правила
: $groupPerms[0]['groupId'];//если значение одно, то присвоить его. (правило по умолчанию)
//когда получены права для группы, проверяем не определены ли личные права пользователя
$sql = 'SELECT `permission`
FROM `user_permissions`
WHERE `page`={?}
AND `userId`={?}';
$access = $this->selectCell($sql, array($page, $user));
return (empty($access)) ? $groupPerms : $access; //если есть личные права, то возвращаем их, или возвращаем права группы
}
Не понимаю как этот код вообще связан с классом View
_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки