Задачи контроллера |
Для ввода и редактирования подписки из панели инструментов на экране диспетчера выбираются задачи subscription.add и subscription.edit соответственно. Как пояснялось ранее, это означает, что для выполнения первой задачи вызывается метод Класс этого контроллера расширяет класс JControllerForm и лишь переопределяет два метода Ниже приведена первая часть исходного кода из файла controllers/subscription.php, где метод defined('_JEXEC) or die; jimport('j oomla.application.component.controllerform'); * Класс контроллера для компонента Joomprosubs. */ class JoomproSubsControllerSubscription extends JControllerForm { В приведенном выше коде определяется сам класс и первый его метод. Следует также заметить, что в этом классе определяется поле Метод allowAdd () очень похож на аналогичный метод из класса WeblinksControllerWeblink. В нем предпринимается попытка извлечь идентификатор категории из запроса. Он может быть получен в результате фильтрации исходных данных по категории. Если идентификатор категории обнаружен, то далее проверяется, разрешено ли текущему пользователю вводить элемент в этой категории. Если это ему не разрешено, то проверяются полномочия на уровне компонента, для чего вызывается метод allowAdd () из родительского класса. В остальной части исходного кода рассматриваемого здесь класса переопределяется метод /* Переопределяемый метод для проверки полномочий пользователя на редактирование записи. @param array $data Массив исходных данных. @param string $key Имя первичного ключа. ©return boolean */ protected function allowEdit($data = array(), $key = 'id') { Как правило, при выполнении этого метода уже должен быть в наличии достоверный идентификатор подписки. В данном случае идентификатор категории извлекается из подписки и затем проверяются полномочия текущего пользователя на редактирование подписок данной категории. Если же достоверный идентификатор подписки отсутствует по какой-нибудь причине, то проверяются полномочия данного пользователя на редактирование подписок на уровне компонента.
Понравился материал? Пригодилась информация? Плюсани в социалки!
Теги:
|
Похожие новости | |