Создание capabilities для управления настройками плагина

БАЗА:

wp 2.3.2
плагин WP Shopping Cart (E-Commerce) v3.5.1 (http://www.instinct.co.nz/) – онлайн-магазин
плагин Role Manager v2.2.2 (http://www.im-web-gefunden.de/wordpress-plugins/role-manager/) – управление ролями и способностями

ОПИСАНИЕ СИТУАЦИИ:

Управление настройками плагина WP Shopping Cart (E-Commerce) осуществляется через созданное им в админ-панели меню e-Commerce (Доска объявлений Написать Управление Комментарии Ссылки Внешний вид Плагины Пользователи Настройки e-Commerce)

В wp существует набор предопределённых способностей (http://codex.wordpress.org/Roles_and_Capabilities#Capabilities) для формирования ролей пользователей. Установлен плагин Role Manager для комфортного управления ролями и способностями

ЦЕЛЬ:

Создать новую способность, которая определяла бы доступ к пункту меню e-Commerce для изменения настроек магазина. По аналогии можно будет создавать способности для доступа к меню любых плагинов (AdSence, Sape и т.д.) и поручать управление ими отдельным пользователям

ЗАТРУДНЕНИЯ:

Пытался выяснить, где определён перечень уже существующих способностей (типа switch_themes, edit_plugins, moderate_comments и т.п.). Оказалось, что они упоминаются в файлах
/wp-admin/includes/schema.php
/wp-admin/menu.php
и в базе данных wp, таблица wp-options, строки wp_user_roles (создаётся при инсталляции wp) и IWG_RoleMan_CapList (создаётся при инсталляции плагина Role Manager)

Пример строки из menu.php:
$menu[25] = array(__(‘Presentation’), ‘switch_themes’, ‘themes.php’);

Т.е. нужно создать что-то типа
array(__(‘e-Commerce’), ‘e_commerce’, ‘admin.php?page=wp-shopping-cart/display-log.php’);

Role Manager позволяет задать имя (e_commerce) для новой способности. Но совершенно неясно, где надо прописывать "псевдоним" (e-Commerce), который отображается в настройках Role Manager (название, понятное для человека) и путь

Думал сделать по аналогии со стандартными capabilities. Фраза Delete Published Pages ("псевдоним" способности удалять опубликованные страницы) отображается в списке способностей в настройках Role Manager, но… эта фраза – Delete Published Pages – не содержится ни в одном из файлов в папке WordPress со всеми подпапками! Не нашёл я её и в базе данных… логически не понимаю, как такое может быть %-p

В строке IWG_RoleMan_CapList таблицы wp_options базы вордпресса лежит:
a:37:{i:0;s:16:"activate_plugins";i:1;s:12:"create_users";i:2;s:19:"delete_others_pages";i:3;s:19:"delete_others_posts";i:4;s:12:"delete_pages";i:5;s:12:"delete_posts";i:6;s:20:"delete_private_pages";
ну и так далее… в строке wp_users_roles что-то типа того, т.е. никакого объявления путей – сплошная вордпрессовская интуиция )))

БУДУ РАД ЛЮБЫМ ИДЕЯМ! =Р
ЗАРАНЕЕ СПАСИБО!

P.S. ПОХОЖИЕ СИТУАЦИИ:

http://wordpress.org/support/topic/159762

Max, Mikolka, Sonika! Неужели никому не любопытно разобраться в ситуации!?

Вы же самые мощные мастера WP у нас и могли бы сделать из этого классный материал для своего блога =D

Представляете, делегирование полномочий по управлению рекламой на Ваших блогах выделенным пользователям! А ведь это не единственное применение ситуации……

это все хорошо, но php — ваще не мой конек, я его не знаю 🙂
Может Вам удасться разобраться как к плагину cforms прикручена поддержка role manager и это наведет на свои мысли относительно WP Shopping Cart?

Спасибо, Sonika! А то у меня вообще уж было сложилось впечатление, что моего сообщения никто до конца не дочитал ))))

Не знаю, что такое cforms, но сейчас обязательно погуглю… спасибо за ответ!

Всем спасибо, ситуация решена! Наконец понял, как устанавливать доступ к конкретному пункту админ-панели для выбранного пользователя…….. Кому надо – могу поделиться опытом ))

Обязательно поделитесь. Луше в разделе FAQ.

Ок, ув.Ю.Б., не могли бы Вы создать (или указать, если уже создана) соответствующую тему в факе….. хотя, вроде это не такая уж и частая ситуация, стоит ли постить именно там?

Конечно создавайте топик в факе и постите.
Пародокс: те, у кото есть что-то интересное, стесняются в ФАКе топики создавать, зато те, кто пишет «срочно!!!!!! съехал сайдбар!!!! help!!!!!» — никак не стесняются их в FAQ загонять 🙂

Прошу прощения за задержку, время на написание ответов найти всегда сложнее, чем на задавание вопросов )) каюсь, грешен!

Решение ситуации запостил тут:
http://forum.maxsite.org/viewtopic.php?pid=26776#p26776

Если у кого-то возникнут вопросы – u r welcome! 😛

Anonymous
Отправить
Ответ на: