/** * * Initializes the Roles plugin */ function roles_init($event, $type, $object) { elgg_register_library('roles', elgg_get_plugins_path() . 'roles/lib/roles.php'); elgg_register_library('roles_config', elgg_get_plugins_path() . 'roles/lib/config.php'); elgg_load_library('roles'); elgg_load_library('roles_config'); // Provides default roles by own handler. This should be extended by site specific handlers elgg_register_plugin_hook_handler('roles:config', 'role', 'roles_get_roles_config'); // Catch all actions and page route requests elgg_register_plugin_hook_handler('action', 'all', 'roles_actions_permissions'); elgg_register_plugin_hook_handler('route', 'all', 'roles_pages_permissions'); // Due to dynamically created (or extended) menus, we need to catch all 'register' hooks _after_ other modules added/removed their menu items elgg_register_plugin_hook_handler('register', 'all', 'roles_menus_permissions', 9999); // Set up roles based hooks and event listener, after all plugin is initialized elgg_register_event_handler('ready', 'system', 'roles_hooks_permissions'); elgg_register_event_handler('ready', 'system', 'roles_events_permissions'); // Check for role configuration updates if (elgg_is_admin_logged_in()) { // @TODO think through if this should rather be a role-based permission run_function_once('roles_update_100_to_101'); elgg_register_event_handler('ready', 'system', 'roles_check_update'); } // Set up roles based view management elgg_register_event_handler('ready', 'system', 'roles_register_views'); }
function celebrations_init() { elgg_register_library('celebrations_lib', elgg_get_plugins_path() . 'celebrations/lib/celebrations_lib.php'); elgg_load_library('celebrations_lib'); if (elgg_get_plugin_setting("ViewReminder", "celebrations") == 'yes') { elgg_register_event_handler('login:after', 'user', 'show_next_celebrations'); } elgg_register_plugin_hook_handler('profile:fields', 'profile', 'celebrations_profile_fields_plugin_handler'); if (elgg_is_logged_in()) { elgg_register_menu_item('site', array('name' => 'celebrations', 'text' => elgg_echo('celebrations:shorttitle'), 'href' => "celebrations/celebrations")); } // Extend system CSS elgg_extend_view('css/elgg', 'celebrations/css'); // Register a page handler, so we can have nice URLs elgg_register_page_handler('celebrations', 'celebrations_page_handler'); //add widgets elgg_register_widget_type('today_celebrations', elgg_echo("today_celebrations:title"), elgg_echo("today_celebrations:description")); elgg_register_widget_type('next_celebrations', elgg_echo("next_celebrations:title"), elgg_echo("next_celebrations:description")); //add index widgets for Widget Manager plugin elgg_register_widget_type('index_today_celebrations', elgg_echo('today_celebrations:title'), elgg_echo('today_celebrations:description'), array("index")); elgg_register_widget_type('index_next_celebrations', elgg_echo('next_celebrations:title'), elgg_echo('next_celebrations:description'), array("index")); elgg_register_plugin_hook_handler("entity:url", "object", "celebrations_widget_urls"); elgg_register_action('celebrations/settings/save', elgg_get_plugins_path() . "celebrations/actions/celebrations/settings.php", 'admin'); if (elgg_is_active_plugin('profile_manager')) { $profile_options = array("show_on_register" => "no", "mandatory" => "no", "user_editable" => "yes", "output_as_tags" => "no", "admin_only" => "no", "count_for_completeness" => "yes"); profile_manager_add_custom_field_type("custom_profile_field_types", "day_anniversary", "day_anniversary", $profile_options); profile_manager_add_custom_field_type("custom_profile_field_types", "yearly", "day_anniversary", $profile_options); } }
function groupuserpoints_init() { // Register library elgg_register_library('groupuserpoints_library', elgg_get_plugins_path() . 'elggx_groupuserpoints/lib/groupuserpoint.php'); elgg_load_library('groupuserpoints_library'); elgg_register_plugin_hook_handler('expirationdate:expire_entity', 'all', 'elggx_groupuserpoints_expire'); elgg_extend_view('css/elgg', 'elggx_groupuserpoints/css'); elgg_extend_view('icon/user/default', 'elggx_groupuserpoints/icon'); //elgg_register_widget_type('topgrouppoints', elgg_echo('elggx_groupuserpoints:toppoints'), elgg_echo('elggx_groupuserpoints:widget:toppoints:info')); //elgg_register_widget_type('index_topgrouppoints', elgg_echo('elggx_groupuserpoints:toppoints'), elgg_echo('elggx_groupuserpoints:toppoints'), array('index')); // Hooks for awarding points //elgg_register_plugin_hook_handler('action', 'invitefriends/invite', 'elggx_groupuserpoints_invite'); //elgg_register_plugin_hook_handler('action', 'groups/invite', 'elggx_groupuserpoints_invite'); elgg_register_plugin_hook_handler('action', 'likes/add', 'elggx_groupuserpoints_like'); elgg_register_plugin_hook_handler('action', 'poll/vote', 'elggx_groupuserpoints_vote'); elgg_register_plugin_hook_handler('action', 'recommendations/new', 'elggx_groupuserpoints_recommendations'); elgg_register_plugin_hook_handler('action', 'recommendations/approve', 'elggx_groupuserpoints_recommendations'); elgg_register_event_handler('create', 'object', 'elggx_groupuserpoints_object'); elgg_register_event_handler('delete', 'object', 'elggx_groupuserpoints_object'); elgg_register_event_handler('delete', 'entity', 'elggx_groupuserpoints_object'); elgg_register_event_handler('create', 'annotation', 'elggx_groupuserpoints_annotate_create'); elgg_register_event_handler('create', 'group', 'elggx_groupuserpoints_group'); elgg_register_event_handler('delete', 'group', 'elggx_groupuserpoints_group'); elgg_register_admin_menu_item('administer', 'elggx_groupuserpoints', 'administer_utilities'); // Register actions $base_dir = elgg_get_plugins_path() . 'elggx_groupuserpoints/actions'; elgg_register_action("elggx_groupuserpoints/settings", "{$base_dir}/settings.php", 'admin'); elgg_register_action("elggx_groupuserpoints/delete", "{$base_dir}/delete.php", 'admin'); elgg_register_action("elggx_groupuserpoints/moderate", "{$base_dir}/moderate.php", 'admin'); elgg_register_action("elggx_groupuserpoints/add", "{$base_dir}/add.php", 'admin'); elgg_register_action("elggx_groupuserpoints/scaling", "{$base_dir}/scaling.php", 'admin'); elgg_register_action("elggx_groupuserpoints/reset", "{$base_dir}/reset.php", 'admin'); elgg_register_action("elggx_groupuserpoints/restore", "{$base_dir}/restore.php", 'admin'); elgg_register_action("elggx_groupuserpoints/restore_all", "{$base_dir}/restore_all.php", 'admin'); }
function fix_orientation($source, $name) { $imginfo = getimagesize($source); $requiredMemory1 = ceil($imginfo[0] * $imginfo[1] * 5.35); $requiredMemory2 = ceil($imginfo[0] * $imginfo[1] * ($imginfo['bits'] / 8) * $imginfo['channels'] * 2.5); $requiredMemory = (int) max($requiredMemory1, $requiredMemory2); $mem_avail = elgg_get_ini_setting_in_bytes('memory_limit'); $mem_used = memory_get_usage(); $mem_avail = $mem_avail - $mem_used - 2097152; // 2 MB buffer if ($requiredMemory > $mem_avail) { // we don't have enough memory for any manipulation // @TODO - we should only throw an error if the image needs rotating... //register_error(elgg_echo('image_orientation:toolarge')); return false; } elgg_load_library('imagine'); $name = uniqid() . $name; $tmp_location = elgg_get_config('dataroot') . 'image_orientation/' . $name; //@note - need to copy to a tmp_location as // imagine doesn't like images with no file extension copy($source, $tmp_location); try { $imagine = new Imagine(); $imagine->setMetadataReader(new ExifMetadataReader()); $autorotate = new Autorotate(); $autorotate->apply($imagine->open($tmp_location))->save($tmp_location); copy($tmp_location, $source); unlink($tmp_location); return true; } catch (Imagine\Exception\Exception $exc) { // fail silently, we don't need to rotate it bad enough to kill the script return false; } }
function cas_auth_authenticate($credentials) { elgg_load_library('elgg:cas_auth'); $config = elgg_get_calling_plugin_entity('cas_auth'); // Perform the authentication return authCAS($config, $credentials); }
/** * CRUD page handler * * URLs take the form of * List crud objects in group: <crud_type>/owner/<guid> * View crud object: <crud_type>/view/<guid> * Add crud object: <crud_type>/add/<guid> * Edit crud object: <crud_type>/edit/<guid> * * @param array $page Array of url segments for routing * @return bool */ function crud_page_handler($page) { elgg_load_library('elgg:crud'); if (!isset($page[0])) { $page[0] = 'all'; } $page_url = current_page_url(); $site_url = elgg_get_site_url(); $current_url = str_replace($site_url, "", $page_url); $crud_type = current(explode('/', $current_url)); $crud_handler = crud_get_handler($crud_type); $crud_module = $crud_handler->module; elgg_push_breadcrumb(elgg_echo($crud_module), ''); switch ($page[0]) { case 'owner': case 'group': crud_handle_list_page($crud_handler, $page[1]); break; case 'add': crud_handle_edit_page($crud_handler, 'add', $page[1]); break; case 'edit': crud_handle_edit_page($crud_handler, 'edit', $page[1]); break; case 'view': crud_handle_view_page($crud_handler, $page[1]); break; case 'edit_general': crud_handle_edit_page($crud_handler, 'edit_general', $page[1]); break; default: return false; } return true; }
function twitter_api_init() { // require libraries $base = __DIR__; elgg_register_class('TwitterOAuth', "{$base}/vendors/twitteroauth/twitterOAuth.php"); elgg_register_library('twitter_api', "{$base}/lib/twitter_api.php"); elgg_load_library('twitter_api'); // extend site views //elgg_extend_view('metatags', 'twitter_api/metatags'); elgg_extend_view('elgg.css', 'twitter_api/css'); elgg_extend_view('admin.css', 'twitter_api/css'); elgg_extend_view('elgg.js', 'twitter_api/js'); // sign on with twitter if (twitter_api_allow_sign_on_with_twitter()) { elgg_extend_view('login/extend', 'twitter_api/login'); } // register page handler elgg_register_page_handler('twitter_api', 'twitter_api_pagehandler'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'twitter_api_public_pages'); // push wire post messages to twitter if (elgg_get_plugin_setting('wire_posts', 'twitter_api') == 'yes') { elgg_register_plugin_hook_handler('status', 'user', 'twitter_api_tweet'); } }
function facebook_api_init() { global $CONFIG; $base = elgg_get_plugins_path() . 'facebook_api'; elgg_register_library('facebook', "{$base}/vendors/facebookoauth/src/facebook.php"); elgg_register_library('facebook_api', "{$base}/lib/facebook_api.php"); elgg_load_library('facebook_api'); elgg_extend_view('css/elgg', 'facebook_api/css'); // sign on with facebook if (facebook_api_allow_sign_on_with_facebook()) { elgg_extend_view('login/extend', 'facebook_api/login'); } // register page handler elgg_register_page_handler('facebook_api', 'facebook_api_pagehandler'); // allow plugin authors to hook into this service elgg_register_plugin_hook_handler('post', 'facebook_service', 'facebookservice_post'); elgg_register_plugin_hook_handler('viewnote', 'facebook_service', 'facebookservice_viewnote'); elgg_register_plugin_hook_handler('postnote', 'facebook_service', 'facebookservice_postnote'); elgg_register_plugin_hook_handler('viewwall', 'facebook_service', 'facebookservice_viewwall'); elgg_register_plugin_hook_handler('viewstatus', 'facebook_service', 'facebookservice_viewstatus'); elgg_register_plugin_hook_handler('viewfeed', 'facebook_service', 'facebookservice_viewfeed'); elgg_register_plugin_hook_handler('viewfeedgraph', 'facebook_service', 'facebookservice_viewfeedgraph'); elgg_register_plugin_hook_handler('viewcomment', 'facebook_service', 'facebookservice_viewcomment'); elgg_register_plugin_hook_handler('viewusername', 'facebook_service', 'facebookservice_viewusername'); elgg_register_plugin_hook_handler('viewlike', 'facebook_service', 'facebookservice_viewlike'); elgg_register_plugin_hook_handler('postcomment', 'facebook_service', 'facebookservice_postcomment'); elgg_register_plugin_hook_handler('postlike', 'facebook_service', 'facebookservice_postlike'); elgg_register_plugin_hook_handler('friendrequest', 'facebook_service', 'facebookservice_friendrequest'); }
/** * Called on the 'init' 'system' event * * @return void */ function simplesaml_init() { // load libraries elgg_load_library("simplesamlphp"); require_once dirname(__FILE__) . "/lib/events.php"; require_once dirname(__FILE__) . "/lib/functions.php"; require_once dirname(__FILE__) . "/lib/hooks.php"; require_once dirname(__FILE__) . "/lib/page_handlers.php"; // check for force authentication elgg_extend_view("page/default", "simplesaml/force_authentication", 200); elgg_extend_view("page/walled_garden", "simplesaml/force_authentication", 200); elgg_register_library("pgregg.ipcheck", dirname(__FILE__) . "/vendors/pgregg/ip_check.php"); // extend CSS/JS elgg_extend_view("js/admin", "js/simplesaml/admin"); // allow login elgg_extend_view("forms/login", "simplesaml/login"); // register page_handler for nice URL's elgg_register_page_handler("saml", "simplesaml_page_handler"); // register widgets elgg_register_widget_type("simplesaml", elgg_echo("login"), elgg_echo("simplesaml:widget:description"), "index", true); // register events elgg_register_event_handler("login", "user", "simplesaml_login_event_handler"); // register plugin hooks elgg_register_plugin_hook_handler("public_pages", "walled_garden", "simplesaml_walled_garden_hook"); elgg_register_plugin_hook_handler("widget_url", "widget_manager", "simplesaml_widget_url_hook"); elgg_register_plugin_hook_handler("setting", "plugin", "simplesaml_plugin_setting_save_hook"); elgg_register_plugin_hook_handler("action", "logout", "simplesaml_logout_action_hook"); // register actions elgg_register_action("simplesaml/register", dirname(__FILE__) . "/actions/register.php", "public"); elgg_register_action("simplesaml/unlink", dirname(__FILE__) . "/actions/unlink.php"); }
/** * Dispatches blog pages. * URLs take the form of * All blogs: blog/all * User's blogs: blog/owner/<username> * Friends' blog: blog/friends/<username> * User's archives: blog/archives/<username>/<time_start>/<time_stop> * Blog post: blog/view/<guid>/<title> * New post: blog/add/<guid> * Edit post: blog/edit/<guid>/<revision> * Preview post: blog/preview/<guid> * Group blog: blog/group/<guid>/all * * Title is ignored * * @todo no archives for all blogs or friends * * @param array $page * @return bool */ function blog_page_handler($page) { elgg_load_library('elgg:blog'); // @todo remove the forwarder in 1.9 // forward to correct URL for blog pages pre-1.7.5 blog_url_forwarder($page); // push all blogs breadcrumb elgg_push_breadcrumb(elgg_echo('blog:blogs'), "blog/all"); if (!isset($page[0])) { $page[0] = 'all'; } $page_type = $page[0]; switch ($page_type) { case 'owner': $user = get_user_by_username($page[1]); $params = blog_get_page_content_list($user->guid); break; case 'friends': $user = get_user_by_username($page[1]); $params = blog_get_page_content_friends($user->guid); break; case 'archive': $user = get_user_by_username($page[1]); $params = blog_get_page_content_archive($user->guid, $page[2], $page[3]); break; case 'view': case 'read': // Elgg 1.7 compatibility $params = blog_get_page_content_read($page[1]); break; case 'add': gatekeeper(); $params = blog_get_page_content_edit($page_type, $page[1]); break; case 'edit': gatekeeper(); $params = blog_get_page_content_edit($page_type, $page[1], $page[2]); break; case 'group': if ($page[2] == 'all') { $params = blog_get_page_content_list($page[1]); } else { $params = blog_get_page_content_archive($page[1], $page[3], $page[4]); } break; case 'all': $params = blog_get_page_content_list(); break; default: return false; } if (isset($params['sidebar'])) { $params['sidebar'] .= elgg_view('blog/sidebar', array('page' => $page_type)); } else { $params['sidebar'] = elgg_view('blog/sidebar', array('page' => $page_type)); } $body = elgg_view_layout('content', $params); echo elgg_view_page($params['title'], $body); return true; }
/** * Initialize the projects plugin. * */ function surveys_init() { // register a library of helper functions elgg_register_library('surveys', elgg_get_plugins_path() . 'surveys/lib/surveys.php'); elgg_load_library('surveys'); //register css $css_url = 'mod/surveys/css/styles.css'; elgg_register_css('surveysCss', $css_url); elgg_load_css('surveysCss'); // register a project handler, so we can have nice URLs elgg_register_page_handler('surveys', 'surveys_page_handler'); // register a url handler elgg_register_entity_url_handler('object', 'survey', 'surveys_url'); // register entity type for search elgg_register_entity_type('object', 'survey'); // register some actions $action_base = elgg_get_plugins_path() . 'surveys/actions'; elgg_register_action("surveys/submit", "{$action_base}/submit.php"); elgg_register_action("surveys/delete", "{$action_base}/delete.php"); elgg_register_action("surveys/edit", "{$action_base}/edit.php"); // Language short codes must be of the form "projects:key" // where key is the array key below elgg_set_config('surveys', array('hear[]' => 'custom_checkbox', 'reason[]' => 'custom_checkbox', 'overall' => 'dropdown', 'speakers' => 'dropdown', 'facilitators' => 'dropdown', 'topics' => 'dropdown', 'structure' => 'dropdown', 'relevance' => 'dropdown', 'venue' => 'dropdown', 'overall_length' => 'dropdown', 'presentations' => 'dropdown', 'breaks' => 'dropdown', 'networking' => 'dropdown', 'groups' => 'dropdown', 'plenaries' => 'dropdown', 'worked' => 'plaintext', 'not_useful' => 'plaintext', 'useful' => 'plaintext', 'willAttend' => 'radio', 'attendExplain' => 'plaintext', 'help' => 'radio', 'helpExplain' => 'plaintext', 'recommend' => 'radio', 'otherDeparts' => 'radio', 'otherDepartsExplain' => 'plaintext', 'usefulDev' => 'radio', 'usefulDevExplain' => 'plaintext', 'suggestion' => 'plaintext', 'final1' => 'radio', 'final2' => 'radio', 'final3' => 'radio', 'final4' => 'radio', 'final5' => 'radio', 'final6' => 'radio', 'final7' => 'radio', 'final8[]' => 'custom_checkbox', 'final9' => 'plaintext', 'final10' => 'text')); // register the hook handler //elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'projects_owner_block_menu'); // Access permissions //elgg_register_plugin_hook_handler('access:collections:write', 'all', 'projects_write_acl_plugin_hook'); //elgg_register_plugin_hook_handler('access:collections:read', 'all', 'projects_read_acl_plugin_hook'); }
function hj_framework_init() { $path_libraries = elgg_get_root_path() . 'mod/hypeFramework/lib/'; elgg_register_library('framework:base', $path_libraries . 'base.php'); elgg_load_library('framework:base'); hj_framework_check_release('hypeFramework', HYPEFRAMEWORK_RELEASE); // Classes elgg_register_classes(elgg_get_root_path() . 'mod/hypeFramework/classes/'); // Libraries $libraries = array('forms', 'page_handlers', 'actions', 'assets', 'views', 'ajax', 'menus', 'files', 'lists', 'hierarchies', 'location', 'knowledge', 'deprecated'); foreach ($libraries as $lib) { $path = "{$path_libraries}{$lib}.php"; if (file_exists($path)) { elgg_register_library("framework:library:{$lib}", $path); elgg_load_library("framework:library:{$lib}"); } } // Vendor Libraries // DomPDF library is not included by default // Download and unzip to vendors/dompdf $dompdf = elgg_get_root_path() . 'mod/hypeFramework/vendors/dompdf/dompdf_config.inc.php'; if (file_exists($dompdf)) { elgg_register_library('framework:dompdf', $dompdf); } }
function staticsites_init() { // Register backbone elgg_register_library('elgg:backbone', elgg_get_plugins_path() . 'staticsites/lib/backbone/backbone.php'); elgg_load_library('elgg:backbone'); elgg_register_library('elgg:staticsites', elgg_get_plugins_path() . 'staticsites/lib/staticsites.php'); elgg_load_library('elgg:staticsites'); // Include plugin vendors require elgg_get_plugins_path() . 'staticsites/vendor/autoload.php'; // Static sites CSS elgg_extend_view('css/elgg', 'css/staticsites/css'); // Register underscore with requirejs (and elgg) elgg_define_js('underscore', array('src' => 'mod/staticsites/vendors/underscore-min.js', 'location' => 'footer', 'exports' => '_')); // Register backbone with requirejs (and elgg) elgg_define_js('backbone', array('src' => 'mod/staticsites/vendors/backbone-min.js', 'location' => 'footer', 'deps' => array('jquery'), 'exports' => 'Backbone')); // Alloy Editor elgg_define_js('alloyEditor', array('src' => 'mod/staticsites/vendors/alloy-editor/alloy-editor-all-min.js', 'location' => 'footer', 'exports' => 'AlloyEditor')); // Alloy Editor CSS elgg_register_css('alloyeditor', 'mod/staticsites/vendors/alloy-editor/assets/alloy-editor-ocean-min.css'); elgg_load_css('alloyeditor'); // Set up group admin tools menu elgg_register_plugin_hook_handler('register', 'menu:groups:admin', 'staticsites_groups_admin_menu_setup'); // Register main page handler elgg_register_page_handler('staticsites', 'staticsites_page_handler'); // Actions $action_base = elgg_get_plugins_path() . "staticsites/actions/staticsites"; elgg_register_action('staticsites/save_page', "{$action_base}/save_page.php"); elgg_register_action('staticsites/delete_page', "{$action_base}/delete_page.php"); // Whitelist template dir for ajax loads backbone_whitelist_templates(elgg_get_plugins_path() . 'staticsites/views/default/staticsites/templates/'); }
function gnusocial_api_init() { // require libraries $base = elgg_get_plugins_path() . 'gnusocial_api'; elgg_register_class('GNUSocialOAuth', "{$base}/vendors/gnusocialoauth/gnusocialOAuth.php"); elgg_register_library('gnusocial_api', "{$base}/lib/gnusocial_api.php"); elgg_load_library('gnusocial_api'); // extend site views //elgg_extend_view('metatags', 'gnusocial_api/metatags'); elgg_extend_view('css/elgg', 'gnusocial_api/css'); elgg_extend_view('css/admin', 'gnusocial_api/css'); elgg_extend_view('js/elgg', 'gnusocial_api/js'); // sign on with gnusocial if (gnusocial_api_allow_sign_on_with_gnusocial()) { elgg_extend_view('login/extend', 'gnusocial_api/login'); } // register page handler elgg_register_page_handler('gnusocial_api', 'gnusocial_api_pagehandler'); // backward compatibility elgg_register_page_handler('gnusocialservice', 'gnusocial_api_pagehandler_deprecated'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'gnusocial_api_public_pages'); // push wire post messages to gnusocial if (elgg_get_plugin_setting('wire_posts', 'gnusocial_api') == 'yes') { elgg_register_plugin_hook_handler('status', 'user', 'gnusocial_api_tweet'); } $actions = dirname(__FILE__) . '/actions/gnusocial_api'; elgg_register_action('gnusocial_api/interstitial_settings', "{$actions}/interstitial_settings.php", 'logged_in'); }
function upgrades() { if (elgg_is_admin_logged_in()) { elgg_load_library(PLUGIN_ID . ':upgrades'); run_function_once(__NAMESPACE__ . '\\upgrade_20150321'); } }
function twitter_api_init() { // require libraries $base = elgg_get_plugins_path() . 'twitter_api'; elgg_register_class('TwitterOAuth', "{$base}/vendors/twitteroauth/twitterOAuth.php"); elgg_register_library('twitter_api', "{$base}/lib/twitter_api.php"); elgg_load_library('twitter_api'); // extend site views //elgg_extend_view('metatags', 'twitter_api/metatags'); elgg_extend_view('css/elgg', 'twitter_api/css'); elgg_extend_view('css/admin', 'twitter_api/css'); // sign on with twitter if (twitter_api_allow_sign_on_with_twitter()) { elgg_extend_view('login/extend', 'twitter_api/login'); } // register page handler elgg_register_page_handler('twitter_api', 'twitter_api_pagehandler'); // backward compatibility elgg_register_page_handler('twitterservice', 'twitter_api_pagehandler_deprecated'); // register Walled Garden public pages elgg_register_plugin_hook_handler('public_pages', 'walled_garden', 'twitter_api_public_pages'); // push status messages to twitter elgg_register_plugin_hook_handler('status', 'user', 'twitter_api_tweet'); $actions = dirname(__FILE__) . '/actions/twitter_api'; elgg_register_action('twitter_api/interstitial_settings', "{$actions}/interstitial_settings.php", 'logged_in'); }
function modules_init() { // Register and load library elgg_register_library('ajaxmodule', elgg_get_plugins_path() . 'modules/lib/ajaxmodule.php'); elgg_load_library('ajaxmodule'); // Ajax module page handler elgg_register_page_handler('ajaxmodule', 'ajaxmodule_page_handler'); // Register view hook handler elgg_register_plugin_hook_handler('view', 'all', 'ajaxmodule_view_hook_handler'); // Register icon handlers elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simpleicon_hook_handler', 600); // Register JS $ajaxmodule_js = elgg_get_simplecache_url('js', 'modules/ajaxmodule'); elgg_register_simplecache_view('js/modules/ajaxmodule'); elgg_register_js('elgg.modules.ajaxmodule', $ajaxmodule_js); // Register JS $genericmodule_js = elgg_get_simplecache_url('js', 'modules/genericmodule'); elgg_register_simplecache_view('js/modules/genericmodule'); elgg_register_js('elgg.modules.genericmodule', $genericmodule_js); // Register CSS $m_css = elgg_get_simplecache_url('css', 'modules/css'); elgg_register_simplecache_view('css/modules/css'); elgg_register_css('elgg.modules', $m_css); // Load JS/CSS elgg_load_js('elgg.modules.ajaxmodule'); elgg_load_js('elgg.modules.genericmodule'); elgg_load_css('lightbox'); elgg_load_js('lightbox'); elgg_load_css('elgg.modules'); }
/** * Called on the 'init' 'system' event * * @return void */ function simplesaml_init() { // load libraries elgg_load_library('simplesamlphp'); require_once dirname(__FILE__) . '/lib/functions.php'; // check for force authentication elgg_extend_view('page/default', 'simplesaml/force_authentication', 200); elgg_extend_view('page/walled_garden', 'simplesaml/force_authentication', 200); // allow login elgg_extend_view('forms/login', 'simplesaml/login'); // register page_handler for nice URL's elgg_register_page_handler('saml', '\\ColdTrick\\SimpleSAML\\PageHandler::saml'); // register widgets elgg_register_widget_type('simplesaml', elgg_echo('login'), elgg_echo('simplesaml:widget:description'), ['index'], true); // register events elgg_register_event_handler('login:after', 'user', '\\ColdTrick\\SimpleSAML\\Login::loginEvent'); // register plugin hooks elgg_register_plugin_hook_handler('public_pages', 'walled_garden', '\\ColdTrick\\SimpleSAML\\WalledGarden::publicPages'); elgg_register_plugin_hook_handler('entity:url', 'object', '\\ColdTrick\\SimpleSAML\\WidgetManager::widgetURL'); elgg_register_plugin_hook_handler('setting', 'plugin', '\\ColdTrick\\SimpleSAML\\PluginSettings::saveSetting'); elgg_register_plugin_hook_handler('action', 'logout', '\\ColdTrick\\SimpleSAML\\Logout::action'); // register actions elgg_register_action('simplesaml/register', dirname(__FILE__) . '/actions/register.php', 'public'); elgg_register_action('simplesaml/unlink', dirname(__FILE__) . '/actions/unlink.php'); }
function simplekaltura_init() { $plugin_root = dirname(__FILE__); elgg_register_library('simplekaltura', "{$plugin_root}/lib/simplekaltura_lib.php"); elgg_register_library('KalturaClient', "{$plugin_root}/vendors/kaltura_client/KalturaClient.php"); elgg_load_library('simplekaltura'); // helper libs $libs = array('swfobject', 'html5', 'utility', 'thumbs'); foreach ($libs as $lib) { $url = elgg_get_simplecache_url('js', "simplekaltura/{$lib}"); elgg_register_js("simplekaltura:{$lib}", $url); } // Register SKUploader elgg_register_external_view('js/simplekaltura/SKUploader.js', TRUE); // Include html5 js library elgg_load_js('simplekaltura:html5'); elgg_load_js('simplekaltura:utility'); elgg_extend_view('css/elgg', 'simplekaltura/css'); // If plugin is properly configured if (simplekaltura_is_configured()) { // Add to main menu $item = new ElggMenuItem('simplekaltura', elgg_get_plugin_setting('kaltura_entity_title', 'simplekaltura'), 'videos'); elgg_register_menu_item('site', $item); // Register page handler elgg_register_page_handler('videos', 'simplekaltura_page_handler'); } else { elgg_add_admin_notice('simpkaltura_not_configured', elgg_echo('simplekaltura:error:pluginnotconfigured')); } // add the group pages tool option add_group_tool_option('simplekaltura', elgg_echo('groups:enablesimplekaltura'), TRUE); // Profile block hook elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'simplekaltura_owner_block_menu'); // Modify entity menu for addional video items elgg_register_plugin_hook_handler('register', 'menu:entity', 'simplekaltura_setup_entity_menu'); // notifications elgg_register_notification_event('object', 'simplekaltura_video', array('create')); elgg_register_plugin_hook_handler('prepare', 'notification:publish:object:simplekaltura_video', 'simplekaltura_prepare_notification'); // actions $actions_root = "{$plugin_root}/actions/simplekaltura"; elgg_register_action('simplekaltura/save', "{$actions_root}/save.php"); elgg_register_action('simplekaltura/update', "{$actions_root}/update.php"); elgg_register_action('simplekaltura/get_embed', "{$actions_root}/get_embed.php"); elgg_register_action('simplekaltura/featured', "{$actions_root}/featured.php", 'admin'); elgg_register_action('videos/delete', "{$actions_root}/delete.php"); elgg_register_action('simplekaltura/migrate', "{$actions_root}/migrate.php", 'admin'); // entity url and icon handlers elgg_register_plugin_hook_handler('entity:url', 'object', 'simplekaltura_url_handler'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', 'simplekaltura_icon_url_override'); // Register type elgg_register_entity_type('object', 'simplekaltura_video'); // register CRON hook to poll video plays/duration/etc.. elgg_register_plugin_hook_handler('cron', 'fifteenmin', 'simplekaltura_bulk_update'); // Most Played Sidebar elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/featured'); elgg_extend_view('simplekaltura/sidebar', 'simplekaltura/most_played'); // Whitelist ajax views elgg_register_ajax_view('simplekaltura/popup'); return TRUE; }
function message_queue_init() { elgg_register_library('elgg:message_queue', elgg_get_plugins_path() . 'message_queue/models/model.php'); elgg_load_library('elgg:message_queue'); elgg_register_plugin_hook_handler('cron', 'fiveminute', 'message_queue_send_emails'); // let cron jobs edit and delete message queue messages elgg_register_plugin_hook_handler('permissions_check', 'object', 'message_queue_permission_check'); }
function membersAPI_init() { global $CONFIG; $actionspath = $CONFIG->pluginspath . "membersAPI/actions/membersAPI"; elgg_register_action("membersAPI/usersettings/save", "{$actionspath}/usersettings/save.php"); elgg_register_library('member:show', elgg_get_plugins_path() . 'membersAPI/lib/member.php'); elgg_load_library('member:show'); }
function friendAPI_init() { global $CONFIG; $actionspath = $CONFIG->pluginspath . "friendAPI/actions/friendAPI"; elgg_register_action("friendAPI/usersettings/save", "{$actionspath}/usersettings/save.php"); elgg_register_library('friend:show', elgg_get_plugins_path() . 'friendAPI/lib/friend.php'); elgg_load_library('friend:show'); }
function adduserAPI_init() { global $CONFIG; $actionspath = $CONFIG->pluginspath . "adduserAPI/actions/adduserAPI"; elgg_register_action("adduserAPI/usersettings/save", "{$actionspath}/usersettings/save.php"); elgg_register_library('user:add', elgg_get_plugins_path() . 'adduserAPI/lib/adduser.php'); elgg_load_library('user:add'); }
function twoapp2_init() { global $CONFIG; $actionspath = $CONFIG->pluginspath . "twoapp2/actions/twoapp2"; elgg_register_action("twoapp2/usersettings/save", "{$actionspath}/usersettings/save.php"); elgg_register_library('twoapp2:show', elgg_get_plugins_path() . 'twoapp2/lib/twoapp2.php'); elgg_load_library('twoapp2:show'); }
/** * Load all the configured social network libraries * * @return void */ function socialink_load_networks() { if ($networks = socialink_get_available_networks()) { foreach ($networks as $network) { elgg_load_library("socialink:" . $network); } } }
function upgrades() { if (!elgg_is_admin_logged_in()) { return true; } elgg_load_library(__NAMESPACE__ . '\\upgrades'); run_function_once(__NAMESPACE__ . '\\upgrade_20141130'); }
/** * iZAP Videos plugin by iionly * (based on version 3.71b of the original izap_videos plugin for Elgg 1.7) * Contact: iionly@gmx.de * https://github.com/iionly * * Original developer of the iZAP Videos plugin: * @package Elgg videotizer, by iZAP Web Solutions * @license GNU Public License version 2 * @Contact iZAP Team "<*****@*****.**>" * @Founder Tarun Jangra "<*****@*****.**>" * @link http://www.izap.in/ * */ function izapLoadLib_izap_videos() { $base_dir = elgg_get_plugins_path() . 'izap_videos/lib'; $files = array('settings', 'convert', 'curl', 'getFeed', 'izap_api', 'izap_sqlite', 'izap_videos', 'video_feed'); foreach ($files as $file) { elgg_register_library("izap_videos:{$file}", "{$base_dir}/{$file}.php"); elgg_load_library("izap_videos:{$file}"); } }
function filters_init() { elgg_register_library('elgg:filters', elgg_get_plugins_path() . 'filters/lib/filters.php'); elgg_register_event_handler('update', 'all', 'filters_save_entity'); elgg_register_event_handler('create', 'all', 'filters_save_entity'); //associate an save action in filter admin with the function filters_save_admin_categories elgg_register_plugin_hook_handler('action', 'plugins/settings/save', 'filters_save_admin_categories'); elgg_load_library('elgg:filters'); }
/** * Dispatcher for bookmarks. * * URLs take the form of * All bookmarks: bookmarks/all * User's bookmarks: bookmarks/owner/<username> * Friends' bookmarks: bookmarks/friends/<username> * View bookmark: bookmarks/view/<guid>/<title> * New bookmark: bookmarks/add/<guid> (container: user, group, parent) * Edit bookmark: bookmarks/edit/<guid> * Group bookmarks: bookmarks/group/<guid>/owner * Bookmarklet: bookmarks/bookmarklet/<guid> (user) * * Title is ignored * * @param array $page */ function bookmarks_page_handler($page) { elgg_load_library('elgg:bookmarks'); elgg_push_breadcrumb(elgg_echo('bookmarks'), 'bookmarks/all'); elgg_push_context('bookmarks'); // old group usernames if (substr_count($page[0], 'group:')) { preg_match('/group\\:([0-9]+)/i', $page[0], $matches); $guid = $matches[1]; if ($entity = get_entity($guid)) { bookmarks_url_forwarder($page); } } // user usernames $user = get_user_by_username($page[0]); if ($user) { bookmarks_url_forwarder($page); } $pages = dirname(__FILE__) . '/pages/bookmarks'; switch ($page[0]) { case "all": include "{$pages}/all.php"; break; case "owner": include "{$pages}/owner.php"; break; case "friends": include "{$pages}/friends.php"; break; case "read": case "view": set_input('guid', $page[1]); include "{$pages}/view.php"; break; case "add": gatekeeper(); include "{$pages}/add.php"; break; case "edit": gatekeeper(); set_input('guid', $page[1]); include "{$pages}/edit.php"; break; case 'group': group_gatekeeper(); include "{$pages}/owner.php"; break; case "bookmarklet": set_input('container_guid', $page[1]); include "{$pages}/bookmarklet.php"; break; default: return false; } elgg_pop_context(); return true; }
function izapProfileVisitors() { // Register library elgg_register_library('izap_profile_visitors_library', elgg_get_plugins_path() . 'izap_profile_visitors/lib/izap_profile_visitors_lib.php'); elgg_load_library('izap_profile_visitors_library'); elgg_register_widget_type('izapProfileVisitors', elgg_echo('izapProfileVisitor:Widget'), elgg_echo('izapProfileVisitor:WidgetDescription')); elgg_extend_view('css/elgg', 'izapprofilevisitor/css'); elgg_extend_view('profile/details', 'izapprofilevisitor/userdetails', 1); }