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/'); }
/** * External pages page handler * * @param array $page URL segements * @param string $handler Handler identifier * @return bool */ function expages_page_handler($page, $handler) { if ($handler == 'expages') { expages_url_forwarder($page[1]); } $type = strtolower($handler); $title = elgg_echo("expages:{$type}"); $header = elgg_view_title($title); $object = elgg_get_entities(array('type' => 'object', 'subtype' => $type, 'limit' => 1)); if ($object) { $content .= elgg_view('output/longtext', array('value' => $object[0]->description)); } else { $content .= elgg_echo("expages:notset"); } $content = elgg_view('expages/wrapper', array('content' => $content)); if (elgg_is_logged_in() || !elgg_get_config('walled_garden')) { $body = elgg_view_layout('one_column', array('title' => $title, 'content' => $content)); echo elgg_view_page($title, $body); } else { elgg_load_css('elgg.walled_garden'); $body = elgg_view_layout('walled_garden', array('content' => $header . $content)); echo elgg_view_page($title, $body, 'walled_garden'); } return true; }
/** * External pages page handler * * @param array $page URL segements * @param string $handler Handler identifier * @return bool */ function expages_page_handler($page, $handler) { if ($handler == 'expages') { expages_url_forwarder($page[1]); } $type = strtolower($handler); $title = elgg_echo("expages:{$type}"); $header = elgg_view_title($title); $object = elgg_get_entities(array('type' => 'object', 'subtype' => $type, 'limit' => 1)); if ($object) { $content .= elgg_view('output/longtext', array('value' => $object[0]->description)); } else { $content .= elgg_echo("expages:notset"); } $content = elgg_view('expages/wrapper', array('content' => $content)); if (elgg_is_admin_logged_in()) { elgg_register_menu_item('title', array('name' => 'edit', 'text' => elgg_echo('edit'), 'href' => "admin/appearance/expages?type={$type}", 'link_class' => 'elgg-button elgg-button-action')); } if (elgg_is_logged_in() || !elgg_get_config('walled_garden')) { $body = elgg_view_layout('one_column', array('title' => $title, 'content' => $content)); echo elgg_view_page($title, $body); } else { elgg_load_css('elgg.walled_garden'); $body = elgg_view_layout('walled_garden', array('content' => $header . $content)); echo elgg_view_page($title, $body, 'walled_garden'); } return true; }
function twitter_bootswatch_init() { $bootswatch_style = elgg_get_plugin_setting('bootswatch_style', 'twitter_bootswatch'); switch ($bootswatch_style) { case 'amelia': case 'cerulean': case 'cosmo': case 'cyborg': case 'flatty': case 'journal': case 'readable': case 'simplex': case 'slate': case 'spacelab': case 'spruce': case 'superhero': case 'united': break; default: $bootswatch_style = 'cyborg'; } // Unextend the default bootstrap override css elgg_unextend_view('css/elgg', 'twitter_bootstrap/css'); // Extend system CSS with our own styles elgg_extend_view('css/elgg', 'twitter_bootswatch/css'); // united bootstrap $bootstrap_css = 'mod/twitter_bootswatch/vendors/bootstrap-' . $bootswatch_style . '.min.css'; elgg_register_css('twitter_bootswatch_css', $bootstrap_css, 5); //unload default bootstrap css and load new one elgg_unregister_css('bootstrap_css'); if (get_context() != 'admin') { elgg_load_css('twitter_bootswatch_css'); } }
/** * Initialize the theme * * @return void */ function theme_eersel_init() { elgg_register_css('font-awesome', 'mod/theme_eersel/vendors/font-awesome-4.3.0/css/font-awesome.min.css'); elgg_load_css('font-awesome'); // extend views elgg_extend_view("js/elgg", "js/theme_eersel"); elgg_extend_view("css/elgg", "css/theme_eersel"); elgg_extend_view("css/elgg", "css/theme_eersel_images"); elgg_extend_view("page/layouts/widgets", "theme_eersel/widgets_fix"); elgg_extend_view('icon/default', 'theme_eersel/group/icon', 400); elgg_unextend_view("page/elements/header", "search/header"); elgg_unextend_view("page/elements/owner_block/extend", "group_tools/owner_block"); // page handlers elgg_register_page_handler("theme_eersel", "theme_eersel_page_handler"); elgg_register_page_handler("profile", "theme_eersel_profile_page_handler"); elgg_register_js('jquery.flexslider', 'mod/theme_eersel/vendors/jquery.flexslider/jquery.flexslider-min.js'); elgg_load_js('jquery.flexslider'); // register widgets elgg_register_widget_type("profile_owner_block", elgg_echo("theme_eersel:widgets:profile_owner_block:title"), elgg_echo("theme_eersel:widgets:profile_owner_block:description"), "profile"); elgg_register_widget_type("index_photos", elgg_echo("theme_eersel:widgets:index_photos:title"), elgg_echo("theme_eersel:widgets:index_photos:description"), "index"); elgg_register_widget_type("index_sidebar", elgg_echo("theme_eersel:widgets:index_sidebar:title"), elgg_echo("theme_eersel:widgets:index_sidebar:description"), "index"); // register plugin hooks elgg_register_plugin_hook_handler("register", "menu:topbar", "theme_eersel_register_topbar_menu_handler"); elgg_register_plugin_hook_handler("prepare", "menu:owner_block", "theme_eersel_prepare_owner_block_menu_handler"); elgg_register_plugin_hook_handler('route', 'groups', 'theme_eersel_route_groups_handler'); // register events elgg_register_event_handler('pagesetup', 'system', 'theme_eersel_pagesetup'); // register admin menu item elgg_register_admin_menu_item("configure", "theme_eersel", "appearance"); // register actions elgg_register_action("theme_eersel/slider_upload", dirname(__FILE__) . "/actions/slider_upload.php", "admin"); elgg_register_action("theme_eersel/links", dirname(__FILE__) . "/actions/links.php", "admin"); }
/** * Initialize the plugin * * @return void */ function notifier_init() { notifier_set_view_listener(); // Add hidden popup module to topbar elgg_extend_view('page/elements/topbar', 'notifier/popup'); elgg_require_js('notifier/notifier'); // Must always have lightbox loaded because views needing it come via AJAX elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_register_page_handler('notifier', 'notifier_page_handler'); // Add css elgg_extend_view('elgg.css', 'notifier/notifier.css'); elgg_register_notification_method('notifier'); elgg_register_plugin_hook_handler('send', 'notification:notifier', 'notifier_notification_send'); elgg_register_plugin_hook_handler('route', 'friendsof', 'notifier_read_friends_notification'); elgg_register_event_handler('create', 'relationship', 'notifier_relationship_notifications'); elgg_register_event_handler('delete', 'relationship', 'notifier_read_group_invitation_notification'); // Hook handler for cron that removes old messages elgg_register_plugin_hook_handler('cron', 'daily', 'notifier_cron'); elgg_register_plugin_hook_handler('register', 'menu:topbar', 'notifier_topbar_menu_setup'); elgg_register_event_handler('create', 'user', 'notifier_enable_for_new_user'); elgg_register_event_handler('join', 'group', 'notifier_enable_for_new_group_member'); $action_path = elgg_get_plugins_path() . 'notifier/actions/notifier/'; elgg_register_action('notifier/dismiss', $action_path . 'dismiss.php'); elgg_register_action('notifier/clear', $action_path . 'clear.php'); elgg_register_action('notifier/delete', $action_path . 'delete.php'); }
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'); }
/** * Initialize the plugin. */ function tour_init() { $js_lib = elgg_get_plugin_setting('js_library', 'tour'); if ($js_lib == 'joyride') { elgg_register_css('joyride', '/mod/tour/vendors/joyride/joyride-2.1.css'); elgg_load_css('joyride'); elgg_define_js('joyride', array('src' => '/mod/tour/vendors/joyride/jquery.joyride-2.1.js', 'exports' => 'joyride')); } else { elgg_register_css('hopscotch', '/mod/tour/vendors/hopscotch/css/hopscotch.min.css'); elgg_load_css('hopscotch'); elgg_define_js('hopscotch', array('src' => '/mod/tour/vendors/hopscotch/hopscotch.min.js', 'exports' => 'hopscotch')); } elgg_require_js('elgg/tour/display'); //elgg_require_js('elgg/tour/edit'); elgg_register_ajax_view('ajax/tour_stop/save'); elgg_extend_view('page/elements/footer', 'tour/outline'); elgg_extend_view('css/elgg', 'css/tour'); elgg_extend_view('css/admin', 'css/tour_admin'); elgg_register_action('tour_page/save', __DIR__ . '/actions/tour_page/save.php', 'admin'); elgg_register_action('tour_page/reorder', __DIR__ . '/actions/tour_page/reorder.php', 'admin'); elgg_register_action('tour_page/delete', __DIR__ . '/actions/tour_page/delete.php', 'admin'); elgg_register_action('tour_stop/save', __DIR__ . '/actions/tour_stop/save.php', 'admin'); elgg_register_action('tour_stop/delete', __DIR__ . '/actions/tour_stop/delete.php', 'admin'); elgg_register_page_handler('tour', 'tour_page_handler'); elgg_register_page_handler('tour_stop', 'tour_page_handler'); // For convenience elgg_register_admin_menu_item('administer', 'tour', 'administer_utilities'); elgg_register_menu_item('topbar', array('name' => 'tour', 'href' => '', 'text' => elgg_echo('tour:start'), 'id' => 'tour-start', 'section' => 'alt', 'data-library' => $js_lib)); elgg_register_plugin_hook_handler('register', 'menu:entity', array('Tour\\Page\\EntityMenu', 'setUp')); elgg_register_plugin_hook_handler('register', 'menu:entity', array('Tour\\Stop\\EntityMenu', 'setUp')); elgg_register_viewtype('json'); }
/** * 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 hydra_theme_init() { elgg_unextend_view('page/elements/header', 'search/header'); elgg_extend_view('page/elements/sidebar', 'search/header', 0); if (elgg_get_context() != "admin") { elgg_require_js("lorea_hydra/js"); } $bower = elgg_get_site_url() . "mod/lorea_hydra/vendors/bower_components/"; elgg_register_css("bootstrap", "{$bower}bootstrap/dist/css/bootstrap.css", 0); elgg_register_css("bootstrap-select", "{$bower}bootstrap-select/dist/css/bootstrap-select.min.css"); elgg_register_css("jasny", "{$bower}jasny-bootstrap/dist/css/jasny-bootstrap.min.css"); elgg_register_css("lorea_hydra", elgg_get_site_url() . "mod/hydra_theme/css/lorea_hydra.css", 10000); elgg_define_js("bootstrap", array("src" => "{$bower}bootstrap/dist/js/bootstrap.min.js")); //elgg_register_js("bootstrap", "{$bower}bootstrap/dist/js/bootstrap.min.js"); elgg_register_js("bootstrap-select", "{$bower}bootstrap-select/dist/js/bootstrap-select.min.js"); elgg_register_js("jasny", "{$bower}jasny-bootstrap/dist/js/jasny-bootstrap.min.js"); elgg_register_js("lorea_hydra", elgg_get_site_url() . "mod/hydra_theme/css/lorea_hydra.css", 10000); if (elgg_get_context() != "admin") { elgg_load_css("bootstrap"); elgg_load_css("bootstrap-select"); elgg_load_css("lorea_hydra"); elgg_load_css("jasny"); elgg_load_js("bootstrap"); elgg_load_js("jasny"); elgg_load_js("bootstrap-select"); elgg_load_js("lorea_hydra"); } }
function elgg_clean_init() { elgg_unextend_view('page/elements/header', 'search/header'); elgg_extend_view('page/elements/sidebar', 'search/header', 0); if (elgg_get_context() != "admin") { elgg_require_js("elgg_clean/js"); } elgg_register_event_handler('pagesetup', 'system', 'elgg_clean_pagesetup', 1000); elgg_register_plugin_hook_handler('head', 'page', 'elgg_clean_setup_head'); $bower = elgg_get_site_url() . "mod/elgg_clean/vendors/bower_components/"; elgg_register_css("bootstrap", "{$bower}bootstrap/dist/css/bootstrap.css", 0); elgg_register_css("open", "http://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic"); elgg_register_css("passion", "http://fonts.googleapis.com/css?family=Passion+One"); elgg_register_css("elgg_clean", elgg_get_site_url() . "mod/elgg_clean/css/elgg_clean.css", 10000); elgg_register_css("font-awesome", "{$bower}fontawesome/css/font-awesome.min.css"); elgg_register_css("bootstrap-select", "{$bower}bootstrap-select/dist/css/bootstrap-select.min.css"); elgg_register_css("jasny", "{$bower}jasny-bootstrap/dist/css/jasny-bootstrap.min.css"); elgg_register_css("fuelux", "{$bower}fuelux/dist/css/fuelux.min.css"); elgg_register_css("agency", elgg_get_site_url() . "mod/elgg_clean/css/agency.css", 20000); elgg_register_css("home", elgg_get_site_url() . "mod/elgg_clean/css/home.css", 30000); elgg_register_js('respond', '{$bower}respond/src/respond.js'); elgg_define_js("bootstrap", array("src" => "{$bower}bootstrap/dist/js/bootstrap.min.js")); elgg_register_js("bootstrap-select", "{$bower}bootstrap-select/dist/js/bootstrap-select.min.js"); elgg_register_js("jasny", "{$bower}jasny-bootstrap/dist/js/jasny-bootstrap.min.js"); elgg_register_js("agency", elgg_get_site_url() . "mod/elgg_clean/js/agency.js"); elgg_register_js("cbpAnimatedHeader", elgg_get_site_url() . "mod/elgg_clean/js/cbpAnimatedHeader.js"); elgg_register_js("classie", elgg_get_site_url() . "mod/elgg_clean/js/classie.js"); elgg_register_js("contact_me", elgg_get_site_url() . "mod/elgg_clean/js/contact_me.js"); elgg_register_js("scrollspy", "{$bower}scrollspy/jquery.scrollspy.js"); elgg_register_js("parallax", "{$boder}jquery-parallax/scripts/jquery.parallax-1.13.js"); elgg_register_js("scrollto", "{$bower}jquery-parallax/scripts/jquery.scrollTo-1.4.2-min.js"); elgg_define_js('fuelux', array('src' => "{$bower}fuelux/dist/js/fuelux.min.js")); if (elgg_get_context() != "admin") { elgg_load_js('respond'); elgg_load_js("bootstrap"); elgg_load_js("jscolor"); elgg_load_js("elgg_clean"); elgg_load_js("bootstrap-select"); elgg_load_js("jasny"); elgg_load_js("agency"); elgg_load_js("parallax"); elgg_load_js("scrollto"); elgg_require_js("fuelux"); elgg_load_css("bootstrap"); elgg_load_css("open"); elgg_load_css("passion"); elgg_load_css("font-awesome"); elgg_load_css("bootstrap-select"); elgg_load_css("elgg_clean"); elgg_load_css("jasny"); elgg_load_css("fuelux"); elgg_load_css("agency"); } // non-members do not get visible links to RSS feeds if (!elgg_is_logged_in()) { elgg_unregister_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); } elgg_register_action("elgg_clean/contact", elgg_get_plugins_path() . "elgg_clean/actions/contact.php", "public"); }
function shortcodes_longtext_menu($hook, $type, $items, $vars) { $url = 'shortcodes'; $items[] = ElggMenuItem::factory(array('name' => 'shortcodes', 'href' => $url, 'text' => elgg_echo('shortcodes:link'), 'rel' => 'lightbox', 'link_class' => "elgg-longtext-control elgg-lightbox", 'priority' => 50)); elgg_load_js('lightbox'); elgg_load_css('lightbox'); return $items; }
/** * Gets called when the Elgg system initializes * * @return void */ function fontawesome_init() { // add CSS / JS elgg_extend_view("css/elements/forms", "css/fontawesome/forms"); elgg_extend_view("css/admin", "css/fontawesome/admin"); // register css elgg_register_css("fontawesome", "mod/fontawesome/vendor/fortawesome/font-awesome/css/font-awesome.min.css"); elgg_load_css("fontawesome"); }
function etherpad_page_handler($page, $handler) { // elgg_load_library('elgg:pages'); if ($handler == 'pages') { // add the jquery treeview files for navigation elgg_load_js('jquery-treeview'); elgg_load_css('jquery-treeview'); } if (!isset($page[0])) { $page[0] = 'all'; } elgg_push_breadcrumb(elgg_echo($handler), "{$handler}/all"); $base_dir = elgg_get_plugins_path() . "etherpad/pages/{$handler}"; $page_type = $page[0]; switch ($page_type) { case 'owner': include "{$base_dir}/owner.php"; break; case 'friends': include "{$base_dir}/friends.php"; break; case 'view': set_input('guid', $page[1]); include "{$base_dir}/view.php"; break; case 'add': set_input('guid', $page[1]); include "{$base_dir}/new.php"; break; case 'edit': set_input('guid', $page[1]); include "{$base_dir}/edit.php"; break; case 'group': include "{$base_dir}/owner.php"; break; case 'history': set_input('guid', $page[1]); include "{$base_dir}/history.php"; break; case 'revision': set_input('id', $page[1]); include "{$base_dir}/revision.php"; break; case 'all': include "{$base_dir}/world.php"; break; case "cross": include "{$base_dir}/cross.php"; break; default: return false; } return true; }
/** * Add the embed menu item to the long text menu * * @param string $hook * @param string $type * @param array $items * @param array $vars * @return array */ function embed_longtext_menu($hook, $type, $items, $vars) { if (elgg_get_context() == 'embed') { return $items; } $items[] = ElggMenuItem::factory(array('name' => 'embed', 'href' => "embed", 'text' => elgg_echo('embed:media'), 'rel' => 'lightbox', 'link_class' => "elgg-longtext-control elgg-lightbox embed-control embed-control-{$vars['id']}", 'priority' => 10)); elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_load_js('elgg.embed'); return $items; }
/** * plugin init */ function init() { elgg_extend_view('css/elgg', 'css/suggested_friends'); elgg_register_page_handler('suggested_friends', __NAMESPACE__ . '\\suggested_friends_page_handler'); elgg_register_widget_type('suggested_friends', elgg_echo('suggested_friends:people:you:may:know'), elgg_echo('suggested_friends:widget:description'), array('dashboard', 'profile')); elgg_register_event_handler('pagesetup', 'system', __NAMESPACE__ . '\\pagesetup'); elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_register_ajax_view('suggested_friends/mutual'); elgg_register_ajax_view('suggested_friends/groups'); }
function init() { elgg_register_page_handler('elgg_copy', __NAMESPACE__ . '\\pagehandler'); elgg_register_action('elgg_copy/reset', __DIR__ . "/actions/reset.php", 'admin'); elgg_register_action('elgg_copy/regenerate_key', __DIR__ . '/actions/regenerate_key.php', 'admin'); elgg_register_plugin_hook_handler('register', 'menu:admin_control_panel', __NAMESPACE__ . '\\control_panel'); elgg_register_plugin_hook_handler('public_pages', 'walled_garden', __NAMESPACE__ . '\\public_pages'); if (elgg_in_context('admin')) { elgg_load_js('lightbox'); elgg_load_css('lightbox'); } }
function zhaohu_mobile_theme_init() { if (!elgg_in_context('admin')) { elgg_load_css('elgg.mobile'); elgg_load_css('elgg.mobilize'); } // need to register index handler elgg_register_plugin_hook_handler('index', 'system', 'zhaohu_index_page_handler'); // add Settings link to owner block elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'zhaohu_user_hover_menu'); elgg_register_event_handler('pagesetup', 'system', 'prepare_zhaohu_footer'); elgg_register_page_handler('zhaohu_about', 'zhaohu_about_pages_handler'); }
/** * Change the name/function of the group join button * * @param string $hook the name of the hook * @param string $type the type of the hook * @param \ElggMenuItem[] $return_value current return value * @param array $params supplied params * * @return void|\ElggMenuItem[] */ public static function groupMembership($hook, $type, $return_value, $params) { if (!elgg_in_context('groups')) { return; } $page_owner = elgg_get_page_owner_entity(); $user = elgg_get_logged_in_user_entity(); if (!$page_owner instanceof \ElggGroup || !$user instanceof \ElggUser) { return; } if (empty($return_value) || !is_array($return_value)) { return; } foreach ($return_value as $menu_item) { // group join button? if ($menu_item->getName() !== 'groups:joinrequest') { continue; } if (check_entity_relationship($user->getGUID(), 'membership_request', $page_owner->getGUID())) { // user already requested to join this group $menu_item->setText(elgg_echo('group_tools:joinrequest:already')); $menu_item->setTooltip(elgg_echo('group_tools:joinrequest:already:tooltip')); $menu_item->setHref("action/groups/killrequest?user_guid={$user->getGUID()}&group_guid={$page_owner->getGUID()}"); $menu_item->is_action = true; } elseif (check_entity_relationship($page_owner->getGUID(), 'invited', $user->getGUID())) { // the user was invited, so let him/her join $menu_item->setName('groups:join'); $menu_item->setText(elgg_echo('groups:join')); $menu_item->setTooltip(elgg_echo('group_tools:join:already:tooltip')); $menu_item->setHref("action/groups/join?user_guid={$user->getGUID()}&group_guid={$page_owner->getGUID()}"); $menu_item->is_action = true; } elseif (group_tools_check_domain_based_group($page_owner, $user)) { // user has a matching email domain $menu_item->setName('groups:join'); $menu_item->setText(elgg_echo('groups:join')); $menu_item->setTooltip(elgg_echo('group_tools:join:domain_based:tooltip')); $menu_item->setHref("action/groups/join?user_guid={$user->getGUID()}&group_guid={$page_owner->getGUID()}"); $menu_item->is_action = true; } elseif (group_tools_join_motivation_required($page_owner)) { // a join motivation is required elgg_load_js('lightbox'); elgg_load_css('lightbox'); $menu_item->setHref("ajax/view/group_tools/forms/motivation?guid={$page_owner->getGUID()}"); $menu_item->addLinkClass('elgg-lightbox'); $opts = 'data-colorbox-opts'; $menu_item->{$opts} = json_encode(['width' => '500px']); } break; } return $return_value; }
function group_custom_layout_pagesetup() { $group = elgg_get_page_owner_entity(); if (!empty($group) && elgg_instanceof($group, "group")) { if (group_custom_layout_allow($group) && $group->canEdit()) { // add menu item for group admins to edit layout elgg_register_menu_item("page", array("name" => "group_layout", "text" => elgg_echo("group_custom_layout:edit"), "href" => "group_custom_layout/" . $group->getGUID(), "context" => "group_profile")); } if ($layout = group_custom_layout_get_layout($group)) { elgg_register_css("custom_group_layout", "group_custom_layout/group_css/" . $layout->getGUID() . "/" . $layout->time_updated . ".css"); elgg_load_css("custom_group_layout"); } } }
/** * Dispatcher for pages. * URLs take the form of * All pages: pages/all * User's pages: pages/owner/<username> * Friends' pages: pages/friends/<username> * View page: pages/view/<guid>/<title> * New page: pages/add/<guid> (container: user, group, parent) * Edit page: pages/edit/<guid> * History of page: pages/history/<guid> * Revision of page: pages/revision/<id> * Group pages: pages/group/<guid>/owner * * Title is ignored * * @param array $page */ function pages_page_handler($page) { elgg_load_library('elgg:pages'); // add the jquery treeview files for navigation elgg_load_js('jquery-treeview'); elgg_load_css('jquery-treeview'); if (!isset($page[0])) { $page[0] = 'all'; } elgg_push_breadcrumb(elgg_echo('pages'), 'pages/all'); $base_dir = elgg_get_plugins_path() . 'pages/pages/pages'; $page_type = $page[0]; switch ($page_type) { case 'owner': include "{$base_dir}/owner.php"; break; case 'friends': include "{$base_dir}/friends.php"; break; case 'view': set_input('guid', $page[1]); include "{$base_dir}/view.php"; break; case 'add': set_input('guid', $page[1]); include "{$base_dir}/new.php"; break; case 'edit': set_input('guid', $page[1]); include "{$base_dir}/edit.php"; break; case 'group': include "{$base_dir}/owner.php"; break; case 'history': set_input('guid', $page[1]); include "{$base_dir}/history.php"; break; case 'revision': set_input('id', $page[1]); include "{$base_dir}/revision.php"; break; case 'all': default: include "{$base_dir}/world.php"; break; } return; }
function hypeWall_extended_init() { // register plugin library elgg_register_library('elgg:hypeWall_extended', elgg_get_plugins_path() . 'hypeWall_extended/lib/hypeWall_extended.php'); // extend CSS elgg_extend_view('css/elgg', 'hypeWall_extended/css'); elgg_register_css('hypeWall_extended_css', elgg_get_site_url() . 'mod/' . HYPEWALL_EXTENDED_ID . '/views/default/hypeWall_extended/hypeWall_extended.css'); // load awesome fonts elgg_register_css('hypeWall_extended_awesome', elgg_get_site_url() . 'mod/' . HYPEWALL_EXTENDED_ID . '/vendors/font-awesome/css/font-awesome.css'); elgg_load_css('hypeWall_extended_awesome'); // extend JS elgg_extend_view('js/elgg', 'js/hypeWall_extended/set_css_options'); // actions //elgg_register_action("wall/events", dirname(__FILE__) . "/../event_manager/actions/event/edit.php"); // obs }
/** * Initialize the plugin */ function hj_themex_init() { if (elgg_in_context('admin')) { return; } elgg_unextend_view('page/elements/header', 'search/header'); // Very annoying extention that needs to disappear elgg_unextend_view('css/elgg', 'custom_index/css'); elgg_unextend_view('css/elgg', 'groups/css'); elgg_unextend_view('css/elgg', 'messages/css'); elgg_unextend_view('css/elgg', 'profile/css'); elgg_unextend_view('css/elgg', 'search/css'); elgg_extend_view('page/elements/head', 'page/elements/metatags'); $jquery_ui = JQUERY_UI_THEME; elgg_register_css('jquery-ui', "/mod/hypeThemeX/stylesheets/jquery-ui-themes-1.10.3/themes/{$jquery_ui}/jquery-ui.min.css", 300); elgg_load_css('jquery-ui'); $theme = ELGG_THEME; elgg_register_css('elgg.theme', "/mod/hypeThemeX/stylesheets/themes/{$theme}/theme.css", 400); elgg_load_css('elgg.theme'); elgg_register_js('modernizr', '/mod/hypeThemeX/javascripts/vendor/custom.modernizr.js', 'head', 100); elgg_register_js('jquery', '/mod/hypeThemeX/javascripts/vendor/jquery-1.10.2.min.js', 'head', 125); elgg_register_js('jquery-migrate', '/mod/hypeThemeX/javascripts/vendor/jquery-migrate-1.2.1.min.js', 'head', 150); elgg_register_js('jquery-ui', '/mod/hypeThemeX/javascripts/vendor/jquery-ui-1.10.3.custom.min.js', 'head', 175); elgg_register_js('foundation', '/mod/hypeThemeX/javascripts/foundation/foundation.js', 'footer', 200); elgg_register_js('foundation.abide', '/mod/hypeThemeX/javascripts/foundation/foundation.abide.js', 'footer', 201); elgg_register_js('foundation.alerts', '/mod/hypeThemeX/javascripts/foundation/foundation.alerts.js', 'footer', 201); elgg_register_js('foundation.clearing', '/mod/hypeThemeX/javascripts/foundation/foundation.clearing.js', 'footer', 201); elgg_register_js('foundation.cookie', '/mod/hypeThemeX/javascripts/foundation/foundation.cookie.js', 'footer', 201); elgg_register_js('foundation.dropdown', '/mod/hypeThemeX/javascripts/foundation/foundation.dropdown.js', 'footer', 201); elgg_register_js('foundation.forms', '/mod/hypeThemeX/javascripts/foundation/foundation.forms.js', 'footer', 201); elgg_register_js('foundation.interchange', '/mod/hypeThemeX/javascripts/foundation/foundation.interchange.js', 'footer', 201); elgg_register_js('foundation.joyride', '/mod/hypeThemeX/javascripts/foundation/foundation.joyride.js', 'footer', 201); elgg_register_js('foundation.magellan', '/mod/hypeThemeX/javascripts/foundation/foundation.magellan.js', 'footer', 201); elgg_register_js('foundation.orbit', '/mod/hypeThemeX/javascripts/foundation/foundation.orbit.js', 'footer', 201); elgg_register_js('foundation.placeholder', '/mod/hypeThemeX/javascripts/foundation/foundation.placeholder.js', 'footer', 201); elgg_register_js('foundation.reveal', '/mod/hypeThemeX/javascripts/foundation/foundation.reveal.js', 'footer', 201); elgg_register_js('foundation.section', '/mod/hypeThemeX/javascripts/foundation/foundation.section.js', 'footer', 201); elgg_register_js('foundation.tooltips', '/mod/hypeThemeX/javascripts/foundation/foundation.tooltips.js', 'footer', 201); elgg_register_js('foundation.topbar', '/mod/hypeThemeX/javascripts/foundation/foundation.topbar.js', 'footer', 201); elgg_load_js('modernizr'); elgg_load_js('jquery'); // Foundation needs higher version of jquery than that in Elgg elgg_load_js('jquery-migrate'); elgg_load_js('jquery-ui'); elgg_load_js('foundation'); // loads Foundation js elgg_extend_view('js/elgg', 'js/theme/init'); }
/** * Add a menu item in the long text inputs (like embed and tinymce) * * @param string $hook name of the hook * @param string $type type of the hook * @param array $returnvalue Default menu items * @param array $params params for the hook * * @return array Menu items */ public static function longtextRegister($hook, $type, $returnvalue, $params) { $id = elgg_extract('id', $params); if (strpos($id, 'newsletter-edit-content-') !== 0) { return; } if (!newsletter_embed_available()) { return; } $guid = str_replace('newsletter-edit-content-', '', $id); $returnvalue[] = \ElggMenuItem::factory(['name' => 'newsletter-embed-content', 'href' => "newsletter/embed/{$guid}", 'text' => elgg_echo('newsletter:menu:longtext:embed_content'), 'link_class' => 'elgg-longtext-control elgg-lightbox', 'priority' => 5]); elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_require_js('newsletter/embed'); return $returnvalue; }
/** * Adds the menu items to the todolist * * @param string $hook name of the hook * @param string $type type of the hook * @param ElggMenuItem[] $return return value * @param array $params hook parameters * * @return ElggMenuItem[] */ function todos_todolist_menu_register($hook, $type, $return, $params) { if (empty($params) || !is_array($params)) { return $return; } $entity = elgg_extract('entity', $params); if (empty($entity) || !elgg_instanceof($entity, 'object', TodoList::SUBTYPE)) { return $return; } if ($entity->canEdit()) { elgg_load_js('lightbox'); elgg_load_css('lightbox'); $return[] = ElggMenuItem::factory(array('name' => 'edit', 'text' => elgg_echo('edit'), 'href' => "ajax/view/todos/todolist/form?guid={$entity->getGUID()}", 'link_class' => 'elgg-lightbox')); $return[] = ElggMenuItem::factory(array('name' => 'delete', 'text' => elgg_echo('delete'), 'href' => "action/todos/todolist/delete?guid={$entity->getGUID()}", 'confirm' => elgg_echo('deleteconfirm'))); } return $return; }
/** * Gets called when the Elgg system initializes * * @return void */ function fontawesome_init() { // add CSS / JS elgg_extend_view("css/elements/forms", "css/fontawesome/forms"); elgg_extend_view("css/admin", "css/fontawesome/admin"); // register css $root_path = elgg_get_root_path(); $plugins_path = elgg_get_plugins_path(); if (file_exists("{$root_path}/vendor/fortawesome/font-awesome/css/font-awesome.min.css")) { // this plugin was installed as a composer dependency elgg_register_css("fontawesome", "vendor/fortawesome/font-awesome/css/font-awesome.min.css"); } elseif (file_exists("{$plugins_path}/fontawesome/vendor/fortawesome/font-awesome/css/font-awesome.min.css")) { // this plugin was installed stand-alone elgg_register_css("fontawesome", "mod/fontawesome/vendor/fortawesome/font-awesome/css/font-awesome.min.css"); } elgg_load_css("fontawesome"); }
/** * Add the embed menu item to the long text menu * * @param string $hook * @param string $type * @param array $items * @param array $vars * @return array */ function embed_longtext_menu($hook, $type, $items, $vars) { if (elgg_get_context() == 'embed') { return $items; } $url = 'embed'; $page_owner = elgg_get_page_owner_entity(); if (elgg_instanceof($page_owner, 'group') && $page_owner->isMember()) { $url = 'embed?container_guid=' . $page_owner->getGUID(); } $items[] = ElggMenuItem::factory(array('name' => 'embed', 'href' => $url, 'text' => elgg_echo('embed:media'), 'rel' => "embed-lightbox-{$vars['id']}", 'link_class' => "elgg-longtext-control elgg-lightbox embed-control embed-control-{$vars['id']}", 'priority' => 10)); elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_load_js('jquery.form'); elgg_load_js('elgg.embed'); return $items; }
function developers_process_settings() { $settings = elgg_get_plugin_from_id('developers')->getAllSettings(); ini_set('display_errors', (int) (!empty($settings['display_errors']))); if (!empty($settings['screen_log'])) { // don't show in action/simplecache $path = substr(current_page_url(), strlen(elgg_get_site_url())); if (!preg_match('~^(cache|action)/~', $path)) { $cache = new ElggLogCache(); elgg_set_config('log_cache', $cache); elgg_register_plugin_hook_handler('debug', 'log', array($cache, 'insertDump')); elgg_register_plugin_hook_handler('view_vars', 'page/elements/html', function ($hook, $type, $vars, $params) { $vars['body'] .= elgg_view('developers/log'); return $vars; }); } } if (!empty($settings['show_strings'])) { // Beginning and end to make sure both early-rendered and late-loaded translations get included elgg_register_event_handler('init', 'system', 'developers_decorate_all_translations', 1); elgg_register_event_handler('init', 'system', 'developers_decorate_all_translations', 1000); } if (!empty($settings['show_modules'])) { elgg_require_js('elgg/dev/amd_monitor'); } if (!empty($settings['wrap_views'])) { elgg_register_plugin_hook_handler('view', 'all', 'developers_wrap_views', 600); } if (!empty($settings['log_events'])) { elgg_register_event_handler('all', 'all', 'developers_log_events', 1); elgg_register_plugin_hook_handler('all', 'all', 'developers_log_events', 1); } if (!empty($settings['show_gear']) && elgg_is_admin_logged_in() && !elgg_in_context('admin')) { elgg_require_js('elgg/dev/gear'); elgg_load_js('lightbox'); elgg_load_css('lightbox'); elgg_register_ajax_view('developers/gear_popup'); elgg_register_simplecache_view('elgg/dev/gear.html'); // TODO use ::class in 2.0 $handler = ['Elgg\\DevelopersPlugin\\Hooks', 'alterMenuSectionVars']; elgg_register_plugin_hook_handler('view_vars', 'navigation/menu/elements/section', $handler); $handler = ['Elgg\\DevelopersPlugin\\Hooks', 'alterMenuSections']; elgg_register_plugin_hook_handler('view', 'navigation/menu/elements/section', $handler); } }
/** * Initialize the theme * * @return void */ function theme_oirschot_init() { elgg_register_css('font-awesome', 'mod/theme_oirschot/vendors/font-awesome-4.0.3/css/font-awesome.min.css'); elgg_load_css('font-awesome'); elgg_extend_view("js/elgg", "js/theme_oirschot"); elgg_extend_view("css/elgg", "css/theme_oirschot"); elgg_extend_view("page/layouts/widgets", "theme_oirschot/widgets_fix"); elgg_register_js('jquery.flexslider', 'mod/theme_oirschot/vendors/jquery.flexslider/jquery.flexslider-min.js'); elgg_load_js('jquery.flexslider'); elgg_unextend_view("page/elements/header", "search/header"); elgg_unextend_view("page/elements/owner_block/extend", "group_tools/owner_block"); elgg_register_page_handler("theme_oirschot", "theme_oirschot_page_handler"); elgg_register_widget_type("profile_owner_block", elgg_echo("theme_oirschot:widgets:profile_owner_block:title"), elgg_echo("theme_oirschot:widgets:profile_owner_block:description"), "profile"); elgg_register_plugin_hook_handler("register", "menu:site", "theme_oirschot_register_site_menu_handler"); elgg_register_plugin_hook_handler("prepare", "menu:owner_block", "theme_oirschot_prepare_owner_block_menu_handler"); elgg_register_plugin_hook_handler("route", "groups", "theme_oirschot_groups_route_handler"); elgg_register_admin_menu_item("configure", "theme_oirschot", "appearance"); elgg_register_action("theme_oirschot/slider_upload", dirname(__FILE__) . "/actions/slider_upload.php", "admin"); }
/** * Initialize the community groups extension plugin */ function community_groups_init() { $action_path = elgg_get_plugins_path() . 'community_groups/actions'; elgg_extend_view('css/elgg', 'community_groups/css'); // admin controls use a lightbox if (elgg_in_context('discussion') && elgg_is_admin_logged_in()) { elgg_load_js('lightbox'); elgg_load_css('lightbox'); } // group tabs if (elgg_in_context('groups')) { elgg_register_plugin_hook_handler('register', 'menu:filter', 'community_groups_filter_menu'); } elgg_register_plugin_hook_handler('route', 'groups', 'community_groups_router'); elgg_register_plugin_hook_handler('route', 'discussion', 'community_discussions_router'); // do not need normal sidebar menu in community site elgg_unregister_event_handler('pagesetup', 'system', 'groups_setup_sidebar_menus'); // only admins can create groups elgg_register_plugin_hook_handler('register', 'menu:title', 'community_groups_restrict_group_add_button'); elgg_register_plugin_hook_handler('action', 'groups/edit', 'community_groups_restrict_group_edit_action'); // attempt to join a group on first post elgg_register_plugin_hook_handler('action', 'discussion/save', 'community_groups_discussion_save_handler'); // groups administration elgg_register_menu_item('page', array('name' => 'groups', 'href' => 'admin/groups/main', 'text' => elgg_echo('admin:groups'), 'context' => 'admin', 'priority' => 200, 'section' => 'administer')); elgg_register_action('groups/combine', "{$action_path}/groups/combine.php", 'admin'); elgg_register_action('groups/categorize', "{$action_path}/groups/categorize.php", 'admin'); elgg_register_action("groups/delete", elgg_get_plugins_path() . "groups/actions/groups/delete.php", 'admin'); elgg_register_action("groups/saveblogsettings", "{$action_path}/groups/saveblogsettings.php", 'admin'); elgg_register_action("groups/change_owner", "{$action_path}/groups/change_owner.php", 'admin'); // set up site menu for discussion $item = new ElggMenuItem('discussion', elgg_echo('discussion'), 'discussion/all'); elgg_register_menu_item('site', $item); // modify the menus on discussion posts if (elgg_is_admin_logged_in()) { elgg_register_plugin_hook_handler('register', 'menu:cg:moderator', 'community_groups_moderator_menu'); elgg_extend_view('object/discussion', 'community_groups/discussion/controls'); elgg_extend_view('object/discussion_reply', 'community_groups/discussion/controls'); elgg_register_ajax_view('community_groups/discussion/offtopic'); } elgg_register_plugin_hook_handler('register', 'menu:entity', 'community_groups_limit_editing'); elgg_register_action('discussion/remove_ad', "{$action_path}/discussion/remove_ad.php", 'admin'); elgg_register_action('discussion/offtopic', "{$action_path}/discussion/offtopic.php", 'admin'); }