null, json_encode($data), $context, 'alerting_com_config_component_saved', bfEvents::onSavedComponentOptions ); } public function onExtensionAfterUninstall() { bfLog::log(__METHOD__); } public function onExtensionAfterUpdate() { bfLog::log(__METHOD__); } public function onExtensionBeforeInstall() { bfLog::log(__METHOD__); } public function onExtensionBeforeSave($context, $table, $isNew) { bfLog::log(__METHOD__); } public function onExtensionBeforeUninstall() { bfLog::log(__METHOD__); } public function onFinderAfterDelete() { bfLog::log(__METHOD__); } public function onFinderAfterSave() { bfLog::log(__METHOD__); } public function onFinderBeforeDelete() { bfLog::log(__METHOD__); } public function onFinderBeforeSave() { bfLog::log(__METHOD__); } public function onFinderCategoryChangeState() { bfLog::log(__METHOD__); } public function onFinderChangeState() { bfLog::log(__METHOD__); } public function onGetContent() { bfLog::log(__METHOD__); } public function onGetIcons() { bfLog::log(__METHOD__); } public function onGetInsertMethod() { bfLog::log(__METHOD__); } public function onGetWebServices() { bfLog::log(__METHOD__); } public function onInit() { bfLog::log(__METHOD__); } public function onInstallerAfterInstaller() { bfLog::log(__METHOD__); } public function onInstallerBeforeInstallation() { bfLog::log(__METHOD__); } public function onInstallerBeforeInstaller() { bfLog::log(__METHOD__); } public function onSave() { bfLog::log(__METHOD__); } public function onSearch() { bfLog::log(__METHOD__); } public function onSearchAreas() { bfLog::log(__METHOD__); } public function onSetContent() { bfLog::log(__METHOD__); } /** * Alert when a Super Admin logs in to admin console Alert when a non-super admin attempts to login to admin. * * @param $user - Note user's id is NOT in this array :-( */ public function onUserLogin($user, $options = array()) { bfLog::log(__METHOD__); if ('administrator' == JFactory::getApplication()->getName()) { // Reload the user from the database $userFromDb = JFactory::getUser(JUserHelper::getUserId($user['username'])); // Check the user is authorised to login here $result = (bool) $userFromDb->authorise($options['action']); $what = (false === $result ? 'login attempt not authorised' : 'logged in'); $alert = (false === $result ? 'alerting_superadminfailedlogin' : 'alerting_superadminlogin'); bfActivitylog::getInstance()->log( $userFromDb->name, $userFromDb->id, $what, 'onUserLogin', '0', null, null, json_encode($options), $options['action'], $alert, bfEvents::onAdminLogin ); } } /** * Alert when a Super Admin logs out of the admin console. */ public function onUserLogout($user, $options = array()) { bfLog::log(__METHOD__); if ('administrator' == JFactory::getApplication()->getName()) { $userFromDb = JFactory::getUser(JUserHelper::getUserId($user['id'])); bfActivitylog::getInstance()->log( $userFromDb->name, $user['id'], 'logged out', 'onUserLogout', '0', null, null, json_encode($options), (1 == $options['clientid'] ? 'core.logout.admin' : 'core.logout.site'), (1 == $options['clientid'] ? 'alerting_superadminlogout' : 'alerting_normaluserlogout'), (1 == $options['clientid'] ? bfEvents::onAdminLogout : bfEvents::onUserLogout) ); } } /** * After user group save event handler. */ public function onUserAfterSaveGroup($context, $data, $isNew) { bfLog::log(__METHOD__); } /** * Before user group delete event handler. */ public function onUserBeforeDeleteGroup($group_properties) { bfLog::log(__METHOD__); } /** * After user group delete event handler. */ public function onUserAfterDeleteGroup($group_properties, $mysterious_arg, $error) { bfLog::log(__METHOD__); } /** * Alert when a new user is created Alert when a users details are saved. */ public function onUserAfterSave($user, $isNew, $success, $msg) { bfLog::log(__METHOD__); $jinput = JFactory::getApplication()->input; $com_name = $jinput->get('option', '', 'cmd'); $loggedInUser = JFactory::getUser(); if (true === $isNew) { bfActivitylog::getInstance()->log( $loggedInUser->name, $loggedInUser->id, 'created a new user', 'onUserAfterSave', $this->getExtensionId($com_name), null, null, json_encode(array( 'id' => $user['id'], 'username' => $user['username'], )), 'com_users', 'alerting_newuser', bfEvents::onUserCreated ); } else { bfActivitylog::getInstance()->log( $loggedInUser->name, $loggedInUser->id, 'updated user', 'onUserAfterSave', $this->getExtensionId($com_name), null, null, json_encode(array( 'id' => $user['id'], 'username' => $user['username'], )), 'com_users', 'alerting_saveuser', bfEvents::onUserModified ); } } /** * After user delete event handler. */ public function onUserAfterDelete($user, $success, $msg) { bfLog::log(__METHOD__); } /** * Get the extension id from the db. * * @param string $element * * @return int */ private function getExtensionId($element) { $sql = 'SELECT extension_id FROM #__extensions WHERE element = %s'; $this->db->setQuery(sprintf($sql, $this->db->quote($element))); return (int) $this->db->loadResult(); } /** * convert com_something into a english string. * * @param string $com_name * * @return string */ private function getExtensionName($com_name) { $lang = JFactory::getLanguage(); $lang->load($com_name); $lang->load($com_name, JPATH_ADMINISTRATOR, 'en-GB', true); $lang->load($com_name, JPATH_ADMINISTRATOR, null, true); $lang->load($com_name, JPATH_ADMINISTRATOR . '/components/' . $com_name . '/', null, true); $lang->load($com_name, JPATH_SITE, 'en-GB', true); $lang->load($com_name, JPATH_SITE, null, true); $lang->load($com_name, JPATH_SITE . '/components/' . $com_name . '/', null, true); // convert some known crappiness :-( if ('com_jce' == $com_name) { $com_name = 'WF_ADMIN_TITLE'; } return JText::_($com_name); } /** * @use $this->debug($user, $options); */ private function debug() { echo '
'; foreach (func_get_args() as $row) { var_dump($row); } echo ''; exit; } } }