Хак на Content – Индивидуальный материал
- Подробности
- Автор: Никифоров Сергей Викторович
- Просмотров: 3505
Данный хак тестировался на Joomla 1.0.15, но думаю с приложенной головой будет работать и на более старых версиях
Иной раз необходимо опубликовать материал для конкретного пользователя, что бы его мог видеть только тот, кому он предназначен.
Использовать будем мало кем используемое поле в базе данных created_by_alias
Открываем файл components/com_content/content.php на редактирование и ищем начало функции отображения материала на странице.
function show( $row, $params, $gid, &$access, $pop, $option='com_content', $ItemidCount=NULL ) {
Так как нам придется работать с пользователями добавляем в после функции код:
global $my;
идем далее и находим код:
$cache ->call( 'HTML_content::show', $row, $params, $access, $page );
заменяем данный код на:
if ($row->created_by_alias){
// Выводим статью только тем чья статья, и не забываем про Администратора ;)
if (($row->created_by_alias==$my->name) || ($my->id==62)){
$cache->call( 'HTML_content::show', $row, $params, $access, $page );
}
}else{
$cache->call( 'HTML_content::show', $row, $params, $access, $page );
}
На выходе получаем, что все статьи у которых в поле Псевдоним автора: введено Имя пользователя (таблица jos_users поле name), будет виден только пользователю у которого это имя совподает(если конечно он авторизован на сайте), администратор сайта будет видеть все статьи не зависимо от введенных имен в поле Псевдоним автора.

