Данная статья описывает вопрос предоставления пользователям прав на добавление и публикацию материалов в Joomla 1.5. Т.е. чтобы сразу после регистрации на сайте пользователь автоматически получал возможность прибавлять материалы на сайт.
По умолчанию в Joomla после регистрации пользователю присваивается группа Registered. Однако пользователи этой группы не имеют прав на добавление материалов, следовательно чтобы дать пользователю возможность прибавлять материалы необходимо его перевести в группу Author. Либо каким-то образом предоставить группе Registered права на добавление материалов.
Если пользователей, которым вы хотите разрешить прибавлять материалы немного, то проще только перевести их в группу Author. И не производить никаких модификаций. Если же необходимо дать права на добавление материалов всем зарегистрированным пользователям на сайте, то проще только расширить права группы Registered выполнив небольшую модификацию.
Cтатья посвящена обсуждению способов предоставления возможности добавления материалов зарегистрированными пользователями. Вопросы возможности предоставления прав на модификацию или публикацию материалов не рассматриваются.
Изменение прав группы 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' );









Комментарии
временное решение: собственно надо было поправить записи в нем и в com_contentsubm it (viev.html.php в submit, а конролленрс в другом). если кто ещё чего0нибудь придумает - пишите.
Сделал написанное в руководстве, всё работает до нажатия на кнопку сохранить. При её нажатии выкидывает с ошибкой 403.
Пробовал переделать, перестанавливал компонент; комментирование всех вызовов 403 внутри компонента не помогло.
Права нового пользователя = Автор!
И никаких модификаций!
Вроде всё сделала так как надо.
Единственное - не нашла как изменить в админпанели уровень доступа - просто не нашла, его там вроже и нет...
Подскажите, пожалуйста, как решить эту проблему?
Спасибо.
Заходите в админпанель. Нажимаете на пункт ВСЕ МЕНЮ. Далее в выпадающем меню отображаются все меню, которые созданы на сайте. Выбираете нужное меню для редактирования его пунктов.
что мне делать я не могу войти в админ панель
пишет мне такое
Login Confirmation - authorization
но почемуто не опубликовано
Опубликовано, но приостановлено