2009-04-02 3 views

ответ

2

Off верхней части моей головы, следующий подход должен работать:

  1. крюк в userCan событие для «редактирования» действия, проверьте существование страницы (т.е. $title->exists()), и если оно не , проконсультируйтесь с некоторыми хранимыми счетами (см. ниже), и если достигнутое решение - запретить создание, установите $result на номер false и верните false, чтобы остановить дальнейшие перехватывающие решения.
  2. Подключиться к событию ArticleInsertComplete и обновить некоторые накопленные счета, чтобы отразить, что пользователь ($user) создал другую страницу.

Решение в # 1 может быть расширено с помощью дополнительной логики для поддержки нескольких политик в сочетании с, например, автоматическое назначение прав; например, разрешить пользователям создавать более одной страницы после того, как они достигнут так называемого «автоподтвержденного» состояния, или игнорировать проверку для администраторов или других пользователей с определенными правами.

0

Я не знаю, что именно вы хотите сделать, но я уверен, вы хотите позволить им сделать только страницу пользователя или что-то еще? Это может быть проще для вас только restrict their editing to a certain namespace, пока они не будут добавлены в какую-то специальную группу.

Дополнительная информация может помочь нам лучше ответить на вопросы. Вы также хотите ограничить их редактирование на страницу, которую они создают?

+0

Да Я нашел расширение, позволяющее им редактировать только созданные им страницы, но я хочу, чтобы они могли создавать одну статью в основном пространстве имен. – 2009-04-03 08:43:53

+0

Тогда я думаю, что редактирование кода - ваш лучший выбор. Вы могли бы сделать расширение и опубликовать его, если хотите! –

Смежные вопросы