pluginspath . "apiadmin/actions/revokekey.php", true); register_action("apiadmin/generate",false, $CONFIG->pluginspath . "apiadmin/actions/generate.php", true); } /** * Page setup. Adds admin controls to the admin panel. * */ function apiadmin_pagesetup() { if (get_context() == 'admin' && isadminloggedin()) { global $CONFIG; add_submenu_item(elgg_echo('apiadmin'), $CONFIG->wwwroot . 'pg/apiadmin/'); } } function apiadmin_page_handler($page) { global $CONFIG; if ($page[0]) { switch ($page[0]) { default : include($CONFIG->pluginspath . "apiadmin/index.php"); } } else include($CONFIG->pluginspath . "apiadmin/index.php"); } function apiadmin_delete_key($event, $object_type, $object = null) { global $CONFIG; if (($object) && ($object->subtype == get_subtype_id('object', 'api_key'))) { // Delete return remove_api_user($CONFIG->site_id, $object->public); } return true; } // Make sure test_init is called on initialisation register_elgg_event_handler('init','system','apiadmin_init'); register_elgg_event_handler('pagesetup','system','apiadmin_pagesetup'); // Hook into delete to revoke secret keys register_elgg_event_handler('delete','object','apiadmin_delete_key'); ?>