CB Авторизация

Ваш логин в:

Меню пользователя
Скачать
Статьи на сайте
 
Плагины пользователя (часть 2)
Написал Kotofeich   
14.08.2007

Боты пользователя
Боты пользователя - это методы или функции, вызывающие специфические события CommunityBuilder. Они позволяют отлавливать хендл событий и выводить: сообщения, ошибки, а также блокировать операции CB. Большая осторожность должна быть проявлена к работе тех мест, где происходит модификация данных.

Перед вызовом, бот пользователя должен быть зарегистрирован.
Для этого, CB API содержит функцию:

/**
* Регистрация функции к специфическому событию
* @param string Имя события
* @param string Имя функции
*/
function registerFunction( $event, $method, $class=null )
вызывается так:
global $_PLUGINS
$_PLUGIN->registerFunction

Эта функция, в основном, содержится в главном php-файле плагина, и например, для функции pluginExampleBeforeSaveUser() обьявляется так:

$_PLUGINS->registerFunction( 'onBeforeUserUpdate', 'pluginExampleBeforeSaveUser' );

 и, следующим образом, для метода pluginExampleBeforeSaveUser () класса 'getExampleTab':

$_PLUGINS->registerFunction('onBeforeUserUpdate',
'pluginExampleBeforeSaveUser','getExampleTab' );

Пожалуйста, заметьте еще раз, что все пользовательские параметры работают во всех случаях независимо от настроек магических кавычек PHP-настроек, и, если Вы хотите использовать их в sql-запросах, их нужно должным образом обработать, например, так: $database-> getEscaped ($row->username).

Далее, опишем список всех событий, которые могут быть использованы вами, и параметры которые нужно в них вводить.

Виды пользовательских событий
CB дает возможность управлять множеством событий, так что вы сможете синхронизировать пользовательские данные с событиями CB и каким-нибудь третьим приложением или расширить функциональность CommunityBuilder.

Большая часть кода ботов CB основана на коде Mambo/Joomla.

Как минимум, вы должны зарегистрировать функции, которые хотите расширить событиями CB.
Следующая таблица показывает имена событий, идентичные именам функций и их параметры:

// Событие добавления нового пользователя через админку
function onBeforeNewUser (&$row, &$rowExtras, false)
function onAfterNewUser ($row, $rowExtras, false, true)

//Событие регистрации нового пользователя
function onBeforeUserRegistration (&$row,&$rowExtras, false)
function onAfterUserRegistration ($row, $rowExtras, true)

//Событие подтверждения нового пользователя
function onBeforeUserConfirm ($userObject)
function onAfterUserConfirm ($userObject, true)

//Событие одобрения/отклонения нового пользователя
function onBeforeUserApproval ($row, $approved)
function onAfterUserApproval ($row, $approved, $success)
function onUserActive ($row, $activated=true)

//Событие обновления настроек пользователя
function onBeforeUserUpdate (&$row,&$rowExtras)
function onAfterUserUpdate ($row, $rowExtras, true)

//Событие удаления пользователя
function onBeforeDeleteUser ($row->id)
function onAfterDeleteUser ($row->id,true)


Пользовательские события сессии

CommunityBuilder вызывает два пользовательских события сессии. Их можно использовать, чтобы подтвердить подлинность пользователей через внешние сайты, например форумы LDAP или 3PD (это зарубежные форумы, так что не обращайте внимания).

//События авторизации пользователя
function onBeforeLogin ($username, $passwd2)
function onAfterLogin ($row, true)

//Событие выхода пользователя
function onLogout ($row, true)

События просмотра профиля 

При просмотре пользователя, плагины генерируют следующие события:
1) Прежде, чтобы позволить просматривать и изменять профиль, и после, чтобы выполнить другие действия (в случае необходимости).
2) После выполнения действий

// События просмотра профиля
function onBeforeUserProfileDisplay ($user, $ui, $cbUserIsModerator, $cbMyIsModerator) //
ui=1 фронтенд, ui=2 бакенд, 2* boolean
function onAfterUserProfileDisplay ($user, $succes=true)

События, связанные с друзьями
События френдинга (добавления/удаления друзей) сделаны, чтобы позволить плагинам выполнять специфические действия во время этих изменений.

// События, связанные с друзьями

//Перед добавлением друга
function onBeforeAddConnection ($userid,$connectionid, $ueConfig['useMutualConnections'],
$ueConfig['autoAddConnections'],&$userMessage)

//После добавления друга
function onAfterAddConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections'])

//Перед удалением друга
function onBeforeRemoveConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections'])

//После удаления друга
function onAfterRemoveConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections'])

//Перед отклонением дружбы
function onBeforeDenyConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections']))

//После отклонения дружбы
function onAfterDenyConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections']))

//Перед подтверждением дружбы
function onBeforeAcceptConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections']))

//После подтверждения дружбы
function onAfterAcceptConnection ($userid,$connectionid,
$ueConfig['useMutualConnections'],$ueConfig['autoAddConnections']))
 
< Пред.   След. >

 

© 2011 Русский сайт поддержки Community Builder
Все права принадлежат Sunshine studio, LLC
Партнерки
Модуль SunBlog
CB поиск пользователя

CB Online

Посетителей нет.
CB статистика
5039 зарегестрировано
0 сегодня
0 за неделю
0 за месяц
Последние: Denis85

Дружина
хостится тут

и отзывы о хостинге для Joomla от дружинников