Прошло 2.5 года с момента публикации материала Добавление материалов пользователями, многое изменилось, вышла Joomla 1.5 и руководство слегка устарело. Поэтому я решил написать вторую статью на эту же тему, но уже непосредственно применительно к Joomla 1.5. Данная статья описывает вопрос предоставления пользователям прав на добавление и публикацию материалов в Joomla 1.5. Т.е. чтобы сразу после регистрации на сайте пользователь автоматически получал возможность добавлять материалы на сайт. По умолчанию в Joomla после регистрации пользователю присваивается группа Registered. Однако пользователи этой группы не имеют прав на добавление материалов, поэтому чтобы дать пользователю возможность добавлять материалы необходимо его перевести в группу Author. Либо каким-то образом предоставить группе Registered права на добавление материалов. Если пользователей, которым вы хотите разрешить добавлять материалы немного, то проще всего перевести их в группу Author. И не производить никаких модификаций. Если же необходимо дать права на добавление материалов всем зарегистрированным пользователям на сайте, то проще всего расширить права группы Registered выполнив небольшую модификацию. Примечание: статья посвящена обсуждению способов предоставления возможности добавления материалов зарегистрированными пользователями. Вопросы возможности предоставления прав на модификацию или публикацию материалов не рассматриваются.
ИЗМЕНЕНИЕ ПРАВ ГРУППЫ REGISTERED Данный метод основан на добавлении группе Registered прав на добавление материалов. Важно заметить, что данная модификация распространяется не только на новых пользователей, но и уже на существующих пользователей группы Registered - Находим в файле /libraries/joomla/user/authorization.php код:
$this->addACL( 'com_content', 'publish', 'users', 'super administrator', 'content', 'all' ); - Вставляем после него следующие строки:
$this->addACL( 'com_content', 'add', 'users', 'registered', 'content', 'all' );
$this->addACL( 'com_content', 'edit', 'users', 'registered', 'content', 'own' );
- Сохраняем измененный файл
- Открываем файл /components/com_content/controller.php, находим и удаляем в нем код:
if ($user->get('gid') < 19) {
JError::raiseError( 403, JText::_('ALERTNOTAUTH') );
return;
} - Сохраняем измененный файл
- Открываем файл /components/com_content/views/article/view.html.php, находим и удаляем в нем код:
if ($user->get('gid') < 19) {
JError::raiseError( 403, JText::_('ALERTNOTAUTH') );
return;
} - Сохраняем измененный файл
- В административной панели, открываем менеджер меню, выбираем User menu и меняем уровень доступа к пункту добавления материалов с Special на Registered.
После проведения указанных модификаций у всех авторизованных пользователей в пользовательском меню станет доступен пункт Submit an Article и они смогут добавлять материалы на сайт (с премодерацией). Если же, необходимо, чтобы пользователи могли не просто добавлять материалы, но и сразу их публиковать, то при внесении изменений в файл /libraries/joomla/user/authorization.php необходимо добавить помимо указанных 2-х строк, еще одну: $this->addACL( 'com_content', 'publish', 'users', 'registered', 'content', 'all' );
|