コード例 #1
0
ファイル: start.php プロジェクト: socialweb/PiGo
/**
 *
 * 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');
}
コード例 #2
0
ファイル: start.php プロジェクト: iionly/celebrations
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);
    }
}
コード例 #3
0
ファイル: start.php プロジェクト: vsheokeen/Elgg-Plugins
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');
}
コード例 #4
0
ファイル: start.php プロジェクト: n8b/VMN
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;
    }
}
コード例 #5
0
ファイル: start.php プロジェクト: duanhv/mdg-social
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);
}
コード例 #6
0
ファイル: start.php プロジェクト: lorea/Hydra-dev
/**
 * 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;
}
コード例 #7
0
ファイル: start.php プロジェクト: elgg/elgg
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');
    }
}
コード例 #8
0
ファイル: start.php プロジェクト: lweddewer/facebook_api
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');
}
コード例 #9
0
ファイル: start.php プロジェクト: pleio/simplesaml
/**
 * 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");
}
コード例 #10
0
ファイル: start.php プロジェクト: nhunaro/Elgg
/**
 * 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;
}
コード例 #11
0
ファイル: start.php プロジェクト: amcfarlane1251/ongarde
/**
 * 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');
}
コード例 #12
0
ファイル: start.php プロジェクト: amcfarlane1251/ongarde
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);
    }
}
コード例 #13
0
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/');
}
コード例 #14
0
ファイル: start.php プロジェクト: lorea/Hydra-dev
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');
}
コード例 #15
0
ファイル: start.php プロジェクト: n8b/VMN
function upgrades()
{
    if (elgg_is_admin_logged_in()) {
        elgg_load_library(PLUGIN_ID . ':upgrades');
        run_function_once(__NAMESPACE__ . '\\upgrade_20150321');
    }
}
コード例 #16
0
ファイル: start.php プロジェクト: redvabel/Vabelgg
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');
}
コード例 #17
0
ファイル: start.php プロジェクト: amcfarlane1251/ongarde
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');
}
コード例 #18
0
ファイル: start.php プロジェクト: coldtrick/simplesaml
/**
 * 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');
}
コード例 #19
0
ファイル: start.php プロジェクト: beck24/Simplekaltura
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;
}
コード例 #20
0
ファイル: start.php プロジェクト: iionly/message_queue
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');
}
コード例 #21
0
ファイル: start.php プロジェクト: elahegol/APIPlugin
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');
}
コード例 #22
0
ファイル: start.php プロジェクト: elahegol/APIPlugin
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');
}
コード例 #23
0
ファイル: start.php プロジェクト: elahegol/APIPlugin
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');
}
コード例 #24
0
ファイル: start.php プロジェクト: elahegol/APIPlugin
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');
}
コード例 #25
0
ファイル: functions.php プロジェクト: lorea/Hydra-dev
/**
 * 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);
        }
    }
}
コード例 #26
0
ファイル: events.php プロジェクト: bgunn/spam_login_filter
function upgrades()
{
    if (!elgg_is_admin_logged_in()) {
        return true;
    }
    elgg_load_library(__NAMESPACE__ . '\\upgrades');
    run_function_once(__NAMESPACE__ . '\\upgrade_20141130');
}
コード例 #27
0
ファイル: izapLib.php プロジェクト: iionly/izap_videos
/**
 * 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}");
    }
}
コード例 #28
0
ファイル: start.php プロジェクト: elainenaomi/labxp2014
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');
}
コード例 #29
0
ファイル: start.php プロジェクト: rasul/Elgg
/**
 * 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;
}
コード例 #30
0
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);
}