/** * 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'); }
function elgg_file_viewer_init() { // Registering a new viewtype for output buffer elgg_register_viewtype('ob'); elgg_register_viewtype_fallback('ob'); // Exposing a function for remote access to non-public files expose_function('efv.download', 'elgg_file_viewer_download', array('guid' => array('type' => 'int', 'required' => true)), 'Access a non-public file from a remote location', 'GET', false, true); // Projekktor for Video/Audio support elgg_register_js('projekktor', '/mod/elgg_file_viewer/vendors/projekktor-1.2.38r332/projekktor-1.2.38r332.min.js'); elgg_register_simplecache_view('js/elgg_file_viewer/projekktor'); elgg_register_js('elgg.projekktor', elgg_get_simplecache_url('js', 'elgg_file_viewer/projekktor'), 'footer'); elgg_register_css('projekktor', '/mod/elgg_file_viewer/vendors/projekktor-1.2.38r332/theme/maccaco/projekktor.style.css'); // Syntax highlighter / text support elgg_register_js('syntaxhighlighter', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/scripts/shCore.js', 'footer'); elgg_register_js('syntaxhighlighter.css', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/scripts/shBrushCss.js', 'footer'); elgg_register_js('syntaxhighlighter.xml', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/scripts/shBrushXml.js', 'footer'); elgg_register_js('syntaxhighlighter.plain', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/scripts/shBrushPlain.js', 'footer'); elgg_register_js('syntaxhighlighter.js', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/scripts/shBrushJScript.js', 'footer'); elgg_register_js('syntaxhighlighter.php', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/scripts/shBrushPhp.js', 'footer'); elgg_register_simplecache_view('js/elgg_file_viewer/syntaxhighlighter'); elgg_register_js('elgg.syntaxhighlighter', elgg_get_simplecache_url('js', 'elgg_file_viewer/syntaxhighlighter'), 'footer'); elgg_register_css('syntaxhighlighter.core', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/styles/shCore.css'); elgg_register_css('syntaxhighlighter.theme', '/mod/elgg_file_viewer/vendors/syntaxhighlighter_3.0.83/styles/shThemeDefault.css'); // FFmpeg class elgg_register_class('FFmpeg', elgg_get_plugins_path() . 'elgg_file_viewer/vendors/ffmpeg/src/ffmpeg.class.php'); elgg_register_page_handler('projekktor', 'elgg_file_viewer_projekktor_video'); }
function init() { elgg_register_library('events:upgrades', __DIR__ . '/lib/upgrades.php'); elgg_extend_view('notifications/subscriptions/personal', 'core/settings/calendar/notifications'); elgg_register_css('jquery-ui', 'mod/events_ui/vendors/jquery-ui/jquery-ui.min.css'); elgg_register_css('fullcalendar', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.css'); elgg_register_css('fullcalendar:print', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.print.css'); elgg_register_js('fullcalendar', 'mod/events_ui/vendors/fullcalendar-1.6/fullcalendar/fullcalendar.min.js'); elgg_register_js('moment.js', 'mod/events_ui/vendors/jquery/moment.min.js'); elgg_register_viewtype('ical'); elgg_register_simplecache_view('css/events_ui'); $url = elgg_get_simplecache_url('css', 'events_ui'); elgg_register_css('events-ui', $url); elgg_register_simplecache_view('js/events_ui'); $url = elgg_get_simplecache_url('js', 'events_ui'); elgg_register_js('events-ui', $url); elgg_register_simplecache_view('js/events_timezone'); $url = elgg_get_simplecache_url('js', 'events_timezone'); elgg_register_js('events/timezone', $url); elgg_register_page_handler('calendar', __NAMESPACE__ . '\\page_handler'); elgg_register_page_handler('events', __NAMESPACE__ . '\\event_pagehandler'); elgg_register_entity_url_handler('object', 'calendar', __NAMESPACE__ . '\\url_handler'); elgg_register_entity_url_handler('object', 'event', __NAMESPACE__ . '\\url_handler'); elgg_register_action('events_ui/settings/save', __DIR__ . '/actions/plugins/settings/save.php', 'admin'); elgg_register_plugin_hook_handler('register', 'menu:owner_block', __NAMESPACE__ . '\\owner_block_menu_setup'); elgg_register_plugin_hook_handler('register', 'menu:entity', __NAMESPACE__ . '\\entity_menu_setup'); elgg_register_plugin_hook_handler('entity:icon:url', 'object', __NAMESPACE__ . '\\entity_icon_url'); elgg_register_plugin_hook_handler('container_permissions_check', 'object', __NAMESPACE__ . '\\container_permissions_check'); elgg_register_plugin_hook_handler('action', 'notificationsettings/save', __NAMESPACE__ . '\\notification_settings_save'); elgg_register_plugin_hook_handler('cron', 'minute', __NAMESPACE__ . '\\event_reminders'); elgg_register_plugin_hook_handler('subscription_types', 'comment_tracker', __NAMESPACE__ . '\\register_comment_tracker'); elgg_register_plugin_hook_handler('public_pages', 'walled_garden', __NAMESPACE__ . '\\setup_public_pages'); elgg_register_plugin_hook_handler('export:instance', 'events_api', __NAMESPACE__ . '\\export_event_instance'); elgg_register_event_handler('create', 'object', __NAMESPACE__ . '\\event_create'); elgg_register_event_handler('update', 'object', __NAMESPACE__ . '\\event_update'); elgg_register_event_handler('events_api', 'add_to_calendar', __NAMESPACE__ . '\\add_to_calendar'); elgg_register_event_handler('shutdown', 'system', __NAMESPACE__ . '\\vroom_functions'); add_group_tool_option('calendar', elgg_echo('events:calendar:groups:enable'), true); elgg_register_widget_type('events', elgg_echo('events:widget:name'), 'events:widget:description', 'profile,dashboard,group'); elgg_register_ajax_view('events_ui/ajax/picker'); elgg_register_ajax_view('events_ui/ajax/ical_modal'); elgg_register_ajax_view('widgets/events/content'); // Timezone logic elgg_extend_view('forms/account/settings', 'core/settings/account/timezone', 100); elgg_register_plugin_hook_handler('usersettings:save', 'user', __NAMESPACE__ . '\\save_default_user_timezone'); elgg_register_plugin_hook_handler('timezones', 'events_api', __NAMESPACE__ . '\\filter_timezones'); elgg_extend_view('js/initialize_elgg', 'js/events_ui/config'); // migration stuff elgg_register_event_handler('upgrade', 'system', __NAMESPACE__ . '\\upgrades'); elgg_register_admin_menu_item('administer', 'events_migrate', 'administer_utilities'); elgg_register_action('events/migrate', __DIR__ . '/actions/events/migrate.php', 'admin'); }
/** * Initialize viewtypes on system boot event * This ensures simplecache is cleared during upgrades. See #2252 * * @return void * @access private * @elgg_event_handler boot system */ function elgg_views_boot() { global $CONFIG; elgg_register_simplecache_view('css/ie'); elgg_register_simplecache_view('css/ie7'); elgg_register_simplecache_view('css/ie8'); elgg_register_simplecache_view('js/text.js'); elgg_register_js('elgg.require_config', elgg_get_simplecache_url('js', 'elgg/require_config'), 'head'); elgg_register_js('require', '/vendors/requirejs/require-2.1.10.min.js', 'head'); elgg_register_js('jquery', '/vendors/jquery/jquery-1.11.0.min.js', 'head'); elgg_register_js('jquery-migrate', '/vendors/jquery/jquery-migrate-1.2.1.min.js', 'head'); elgg_register_js('jquery-ui', '/vendors/jquery/jquery-ui-1.10.4.min.js', 'head'); // this is the only lib that isn't required to be loaded sync in head elgg_define_js('jquery.form', array('src' => '/vendors/jquery/jquery.form.min.js', 'deps' => array('jquery'), 'exports' => 'jQuery.fn.ajaxForm')); $elgg_js_url = elgg_get_simplecache_url('js', 'elgg'); elgg_register_js('elgg', $elgg_js_url, 'head'); elgg_load_js('elgg.require_config'); elgg_load_js('require'); elgg_load_js('jquery'); elgg_load_js('jquery-migrate'); elgg_load_js('jquery-ui'); elgg_load_js('elgg'); $lightbox_js_url = elgg_get_simplecache_url('js', 'lightbox'); elgg_register_js('lightbox', $lightbox_js_url); elgg_register_css('lightbox', 'vendors/jquery/colorbox/theme/colorbox.css'); $elgg_css_url = elgg_get_simplecache_url('css', 'elgg'); elgg_register_css('elgg', $elgg_css_url); elgg_load_css('elgg'); elgg_register_ajax_view('js/languages'); elgg_register_plugin_hook_handler('simplecache:generate', 'js', '_elgg_views_amd'); elgg_register_plugin_hook_handler('simplecache:generate', 'css', '_elgg_views_minify'); elgg_register_plugin_hook_handler('simplecache:generate', 'js', '_elgg_views_minify'); elgg_register_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); elgg_register_plugin_hook_handler('output:before', 'page', '_elgg_views_send_header_x_frame_options'); // discover the core viewtypes // @todo the cache is loaded in load_plugins() but we need to know viewtypes earlier $view_path = $CONFIG->viewpath; $viewtype_dirs = scandir($view_path); foreach ($viewtype_dirs as $viewtype) { if (_elgg_is_valid_viewtype($viewtype) && is_dir($view_path . $viewtype)) { elgg_register_viewtype($viewtype); } } // set default icon sizes - can be overridden in settings.php or with plugin if (!isset($CONFIG->icon_sizes)) { $icon_sizes = array('topbar' => array('w' => 16, 'h' => 16, 'square' => true, 'upscale' => true), 'tiny' => array('w' => 25, 'h' => 25, 'square' => true, 'upscale' => true), 'small' => array('w' => 40, 'h' => 40, 'square' => true, 'upscale' => true), 'medium' => array('w' => 100, 'h' => 100, 'square' => true, 'upscale' => true), 'large' => array('w' => 200, 'h' => 200, 'square' => false, 'upscale' => false), 'master' => array('w' => 550, 'h' => 550, 'square' => false, 'upscale' => false)); elgg_set_config('icon_sizes', $icon_sizes); } }
/** * Registers the plugin's views * * @throws PluginException * @return true */ protected function registerViews() { $view_dir = "{$this->path}/views/"; // plugins don't have to have views. if (!is_dir($view_dir)) { return true; } // but if they do, they have to be readable $handle = opendir($view_dir); if (!$handle) { $msg = elgg_echo('ElggPlugin:Exception:CannotRegisterViews', array($this->getID(), $this->guid, $view_dir)); throw new PluginException($msg); } while (FALSE !== ($view_type = readdir($handle))) { $view_type_dir = $view_dir . $view_type; if ('.' !== substr($view_type, 0, 1) && is_dir($view_type_dir)) { if (autoregister_views('', $view_type_dir, $view_dir, $view_type)) { elgg_register_viewtype($view_type); } else { $msg = elgg_echo('ElggPlugin:Exception:CannotRegisterViews', array($this->getID(), $view_type_dir)); throw new PluginException($msg); } } } return true; }
/** * Initialize viewtypes on system boot event * This ensures simplecache is cleared during upgrades. See #2252 * * @return void * @access private * @elgg_event_handler boot system */ function elgg_views_boot() { global $CONFIG; elgg_register_simplecache_view('css/elgg'); elgg_register_simplecache_view('css/ie'); elgg_register_simplecache_view('css/ie6'); elgg_register_simplecache_view('js/elgg'); elgg_register_js('jquery', '/vendors/jquery/jquery-1.5.min.js', 'head', 1); elgg_register_js('jquery-ui', '/vendors/jquery/jquery-ui-1.8.9.min.js', 'head', 2); elgg_register_js('jquery.form', '/vendors/jquery/jquery.form.js'); elgg_load_js('jquery'); elgg_load_js('jquery-ui'); elgg_load_js('jquery.form'); elgg_register_simplecache_view('js/lightbox'); $lightbox_js_url = elgg_get_simplecache_url('js', 'lightbox'); elgg_register_js('lightbox', $lightbox_js_url); $lightbox_css_url = 'vendors/jquery/fancybox/jquery.fancybox-1.3.4.css'; elgg_register_css('lightbox', $lightbox_css_url); elgg_register_event_handler('ready', 'system', 'elgg_views_register_core_head_elements'); elgg_register_event_handler('pagesetup', 'system', 'elgg_views_add_rss_link'); // discover the built-in view types // @todo the cache is loaded in load_plugins() but we need to know view_types earlier $view_path = $CONFIG->viewpath; $views = scandir($view_path); foreach ($views as $view) { if ('.' !== substr($view, 0, 1) && is_dir($view_path . $view)) { elgg_register_viewtype($view); } } }
/** * Register a plugin's views * * @param string $path Base path of the plugin * @param string $failed_dir This var is set to the failed directory if registration fails * @return bool * * @access private */ public function registerPluginViews($path, &$failed_dir = '') { $path = rtrim($path, "\\/"); $view_dir = "{$path}/views/"; // plugins don't have to have views. if (!is_dir($view_dir)) { return true; } // but if they do, they have to be readable $handle = opendir($view_dir); if (!$handle) { $failed_dir = $view_dir; return false; } while (false !== ($view_type = readdir($handle))) { $view_type_dir = $view_dir . $view_type; if ('.' !== substr($view_type, 0, 1) && is_dir($view_type_dir)) { if ($this->autoregisterViews('', $view_type_dir, $view_type)) { elgg_register_viewtype($view_type); } else { $failed_dir = $view_type_dir; return false; } } } return true; }
/** * Initialize viewtypes on system boot event * This ensures simplecache is cleared during upgrades. See #2252 * * @return void * @access private * @elgg_event_handler boot system */ function elgg_views_boot() { if (!elgg_get_config('system_cache_loaded')) { _elgg_services()->views->registerPluginViews(realpath(__DIR__ . '/../../')); } global $CONFIG; if (!elgg_get_config('system_cache_loaded')) { _elgg_services()->views->registerPluginViews(realpath(__DIR__ . '/../../')); } // on every page // jQuery and UI must come before require. See #9024 elgg_register_js('jquery', elgg_get_simplecache_url('jquery.js'), 'head'); elgg_load_js('jquery'); elgg_register_js('jquery-ui', elgg_get_simplecache_url('jquery-ui.js'), 'head'); elgg_load_js('jquery-ui'); elgg_register_js('elgg.require_config', elgg_get_simplecache_url('elgg/require_config.js'), 'head'); elgg_load_js('elgg.require_config'); elgg_register_js('require', elgg_get_simplecache_url('require.js'), 'head'); elgg_load_js('require'); elgg_register_js('elgg', elgg_get_simplecache_url('elgg.js'), 'head'); elgg_load_js('elgg'); elgg_register_css('font-awesome', elgg_get_simplecache_url('font-awesome/css/font-awesome.css')); elgg_load_css('font-awesome'); elgg_register_css('elgg', elgg_get_simplecache_url('elgg.css')); elgg_load_css('elgg'); // optional stuff elgg_register_js('lightbox', elgg_get_simplecache_url('lightbox.js')); elgg_register_css('lightbox', elgg_get_simplecache_url('lightbox/elgg-colorbox-theme/colorbox.css')); elgg_register_js('elgg.autocomplete', elgg_get_simplecache_url('elgg/ui.autocomplete.js')); elgg_register_js('jquery.ui.autocomplete.html', elgg_get_simplecache_url('jquery.ui.autocomplete.html.js')); elgg_define_js('jquery.ui.autocomplete.html', ['deps' => ['jquery-ui']]); elgg_register_js('elgg.friendspicker', elgg_get_simplecache_url('elgg/ui.friends_picker.js')); elgg_register_js('elgg.avatar_cropper', elgg_get_simplecache_url('elgg/ui.avatar_cropper.js')); elgg_register_js('elgg.ui.river', elgg_get_simplecache_url('elgg/ui.river.js')); elgg_register_js('jquery.imgareaselect', elgg_get_simplecache_url('jquery.imgareaselect.js')); elgg_register_css('jquery.imgareaselect', elgg_get_simplecache_url('jquery.imgareaselect.css')); elgg_register_ajax_view('languages.js'); elgg_register_plugin_hook_handler('simplecache:generate', 'js', '_elgg_views_amd'); elgg_register_plugin_hook_handler('simplecache:generate', 'css', '_elgg_views_minify'); elgg_register_plugin_hook_handler('simplecache:generate', 'js', '_elgg_views_minify'); elgg_register_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); elgg_register_plugin_hook_handler('output:before', 'page', '_elgg_views_send_header_x_frame_options'); // @todo the cache is loaded in load_plugins() but we need to know viewtypes earlier $view_path = $GLOBALS['_ELGG']->view_path; $viewtype_dirs = scandir($view_path); foreach ($viewtype_dirs as $viewtype) { if (_elgg_is_valid_viewtype($viewtype) && is_dir($view_path . $viewtype)) { elgg_register_viewtype($viewtype); } } // Declared views. Unlike plugins, Elgg's root views/ is never scanned, so Elgg cannot override // these view traditional view files. $file = dirname(__DIR__) . '/views.php'; if (is_file($file)) { $spec = (include $file); if (is_array($spec)) { _elgg_services()->views->mergeViewsSpec($spec); } } // set default icon sizes - can be overridden in settings.php or with plugin if (!isset($CONFIG->icon_sizes)) { $icon_sizes = array('topbar' => array('w' => 16, 'h' => 16, 'square' => true, 'upscale' => true), 'tiny' => array('w' => 25, 'h' => 25, 'square' => true, 'upscale' => true), 'small' => array('w' => 40, 'h' => 40, 'square' => true, 'upscale' => true), 'medium' => array('w' => 100, 'h' => 100, 'square' => true, 'upscale' => true), 'large' => array('w' => 200, 'h' => 200, 'square' => false, 'upscale' => false), 'master' => array('w' => 550, 'h' => 550, 'square' => false, 'upscale' => false)); elgg_set_config('icon_sizes', $icon_sizes); } }
/** * Initialize viewtypes on system boot event * This ensures simplecache is cleared during upgrades. See #2252 * * @return void * @access private * @elgg_event_handler boot system */ function elgg_views_boot() { global $CONFIG; elgg_register_simplecache_view('css/elgg'); elgg_register_simplecache_view('css/ie'); elgg_register_simplecache_view('css/ie6'); elgg_register_simplecache_view('css/ie7'); elgg_register_simplecache_view('js/elgg'); elgg_register_js('jquery', '/vendors/jquery/jquery-1.6.4.min.js', 'head'); elgg_register_js('jquery-ui', '/vendors/jquery/jquery-ui-1.8.16.min.js', 'head'); elgg_register_js('jquery.form', '/vendors/jquery/jquery.form.js'); $elgg_js_url = elgg_get_simplecache_url('js', 'elgg'); elgg_register_js('elgg', $elgg_js_url, 'head'); elgg_load_js('jquery'); elgg_load_js('jquery-ui'); elgg_load_js('elgg'); elgg_register_simplecache_view('js/lightbox'); elgg_register_simplecache_view('css/lightbox'); $lightbox_js_url = elgg_get_simplecache_url('js', 'lightbox'); elgg_register_js('lightbox', $lightbox_js_url); $lightbox_css_url = elgg_get_simplecache_url('css', 'lightbox'); elgg_register_css('lightbox', $lightbox_css_url); $elgg_css_url = elgg_get_simplecache_url('css', 'elgg'); elgg_register_css('elgg', $elgg_css_url); elgg_load_css('elgg'); elgg_register_ajax_view('js/languages'); elgg_register_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); // discover the built-in view types // @todo the cache is loaded in load_plugins() but we need to know view_types earlier $view_path = $CONFIG->viewpath; $views = scandir($view_path); foreach ($views as $view) { if ('.' !== substr($view, 0, 1) && is_dir($view_path . $view)) { elgg_register_viewtype($view); } } // set default icon sizes - can be overridden in settings.php or with plugin if (!elgg_get_config('icon_sizes')) { $icon_sizes = array('topbar' => array('w' => 16, 'h' => 16, 'square' => TRUE, 'upscale' => TRUE), 'tiny' => array('w' => 25, 'h' => 25, 'square' => TRUE, 'upscale' => TRUE), 'small' => array('w' => 40, 'h' => 40, 'square' => TRUE, 'upscale' => TRUE), 'medium' => array('w' => 100, 'h' => 100, 'square' => TRUE, 'upscale' => TRUE), 'large' => array('w' => 200, 'h' => 200, 'square' => FALSE, 'upscale' => FALSE), 'master' => array('w' => 550, 'h' => 550, 'square' => FALSE, 'upscale' => FALSE)); elgg_set_config('icon_sizes', $icon_sizes); } }
/** * Initialize viewtypes on system boot event * This ensures simplecache is cleared during upgrades. See #2252 * * @return void * @access private * @elgg_event_handler boot system */ function elgg_views_boot() { global $CONFIG; elgg_register_simplecache_view('css/elgg'); elgg_register_simplecache_view('css/ie'); elgg_register_simplecache_view('css/ie6'); elgg_register_simplecache_view('js/elgg'); elgg_register_js('jquery', '/vendors/jquery/jquery-1.6.2.min.js', 'head'); elgg_register_js('jquery-ui', '/vendors/jquery/jquery-ui-1.8.16.min.js', 'head'); elgg_register_js('jquery.form', '/vendors/jquery/jquery.form.js'); $elgg_js_url = elgg_get_simplecache_url('js', 'elgg'); elgg_register_js('elgg', $elgg_js_url, 'head'); elgg_load_js('jquery'); elgg_load_js('jquery-ui'); elgg_load_js('jquery.form'); elgg_load_js('elgg'); elgg_register_simplecache_view('js/lightbox'); $lightbox_js_url = elgg_get_simplecache_url('js', 'lightbox'); elgg_register_js('lightbox', $lightbox_js_url); $lightbox_css_url = elgg_get_simplecache_url('css', 'lightbox'); elgg_register_css('lightbox', $lightbox_css_url); $elgg_css_url = elgg_get_simplecache_url('css', 'elgg'); elgg_register_css('elgg', $elgg_css_url, 1); elgg_load_css('elgg'); elgg_register_plugin_hook_handler('output:before', 'layout', 'elgg_views_add_rss_link'); // discover the built-in view types // @todo the cache is loaded in load_plugins() but we need to know view_types earlier $view_path = $CONFIG->viewpath; $views = scandir($view_path); foreach ($views as $view) { if ('.' !== substr($view, 0, 1) && is_dir($view_path . $view)) { elgg_register_viewtype($view); } } }
/** * Initialize viewtypes on system boot event * This ensures simplecache is cleared during upgrades. See #2252 * * @return void * @access private * @elgg_event_handler boot system */ function elgg_views_boot() { global $CONFIG; if (!elgg_get_config('system_cache_loaded')) { // Core view files in /views _elgg_services()->views->registerPluginViews(realpath(__DIR__ . '/../../')); // Core view definitions in /engine/views.php $file = dirname(__DIR__) . '/views.php'; if (is_file($file)) { $spec = Includer::includeFile($file); if (is_array($spec)) { _elgg_services()->views->mergeViewsSpec($spec); } } } // on every page // jQuery and UI must come before require. See #9024 elgg_register_js('jquery', elgg_get_simplecache_url('jquery.js'), 'head'); elgg_load_js('jquery'); elgg_register_js('jquery-ui', elgg_get_simplecache_url('jquery-ui.js'), 'head'); elgg_load_js('jquery-ui'); elgg_register_js('elgg.require_config', elgg_get_simplecache_url('elgg/require_config.js'), 'head'); elgg_load_js('elgg.require_config'); elgg_register_js('require', elgg_get_simplecache_url('require.js'), 'head'); elgg_load_js('require'); elgg_register_js('elgg', elgg_get_simplecache_url('elgg.js'), 'head'); elgg_load_js('elgg'); elgg_register_css('font-awesome', elgg_get_simplecache_url('font-awesome/css/font-awesome.css')); elgg_load_css('font-awesome'); elgg_register_css('elgg', elgg_get_simplecache_url('elgg.css')); elgg_load_css('elgg'); elgg_register_simplecache_view('elgg/init.js'); elgg_register_css('lightbox', elgg_get_simplecache_url('lightbox/elgg-colorbox-theme/colorbox.css')); elgg_load_css('lightbox'); elgg_define_js('jquery.ui.autocomplete.html', ['deps' => ['jquery-ui']]); elgg_register_js('elgg.friendspicker', elgg_get_simplecache_url('elgg/ui.friends_picker.js')); elgg_register_js('elgg.avatar_cropper', elgg_get_simplecache_url('elgg/ui.avatar_cropper.js')); // @deprecated 2.2 elgg_register_js('elgg.ui.river', elgg_get_simplecache_url('elgg/ui.river.js')); elgg_register_js('jquery.imgareaselect', elgg_get_simplecache_url('jquery.imgareaselect.js')); elgg_register_css('jquery.imgareaselect', elgg_get_simplecache_url('jquery.imgareaselect.css')); elgg_register_ajax_view('languages.js'); elgg_register_plugin_hook_handler('simplecache:generate', 'js', '_elgg_views_amd'); elgg_register_plugin_hook_handler('simplecache:generate', 'css', '_elgg_views_minify'); elgg_register_plugin_hook_handler('simplecache:generate', 'js', '_elgg_views_minify'); elgg_register_plugin_hook_handler('output:before', 'page', '_elgg_views_send_header_x_frame_options'); // registered with high priority for BC // prior to 2.2 registration used to take place in _elgg_views_prepare_head() before the hook was triggered elgg_register_plugin_hook_handler('head', 'page', '_elgg_views_prepare_favicon_links', 1); // @todo the cache is loaded in load_plugins() but we need to know viewtypes earlier $view_path = _elgg_services()->views->view_path; $viewtype_dirs = scandir($view_path); foreach ($viewtype_dirs as $viewtype) { if (_elgg_is_valid_viewtype($viewtype) && is_dir($view_path . $viewtype)) { elgg_register_viewtype($viewtype); } } // set default icon sizes - can be overridden in settings.php or with plugin if (!isset($CONFIG->icon_sizes)) { $icon_sizes = array('topbar' => array('w' => 16, 'h' => 16, 'square' => true, 'upscale' => true), 'tiny' => array('w' => 25, 'h' => 25, 'square' => true, 'upscale' => true), 'small' => array('w' => 40, 'h' => 40, 'square' => true, 'upscale' => true), 'medium' => array('w' => 100, 'h' => 100, 'square' => true, 'upscale' => true), 'large' => array('w' => 200, 'h' => 200, 'square' => false, 'upscale' => false), 'master' => array('w' => 550, 'h' => 550, 'square' => false, 'upscale' => false)); elgg_set_config('icon_sizes', $icon_sizes); } // Patches and features that were included between major releases // sometimes require additional styling, but adding them to core CSS files // is not always feasible, because those can be replaced by themes. // @todo Remove in 3.0 elgg_extend_view('elgg.css', 'elements/pathces.css'); elgg_extend_view('admin.css', 'elements/pathces.css'); }