| Плагины пользователя (часть 2) |
| Написал Kotofeich | |
| 14.08.2007 | |
|
Боты пользователя
/**
* Регистрация функции к специфическому событию * @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'])) |
| < Пред. | След. > |
|---|







