Exemplo n.º 1
0
/**
 * Vouchers plugin initialization functions.
 */
function vouchers_init()
{
    // register a library of helper functions
    elgg_register_library('elgg:vouchers', elgg_get_plugins_path() . 'vouchers/lib/vouchers.php');
    // Register subtype
    run_function_once('vouchers_manager_run_once_subtypes');
    // Register entity_type for search
    elgg_register_entity_type('object', Voucher::SUBTYPE);
    // Site navigation
    $item = new ElggMenuItem('vouchers', elgg_echo('vouchers:menu'), 'vouchers/all');
    elgg_register_menu_item('site', $item);
    // Extend CSS
    elgg_extend_view('css/elgg', 'vouchers/css');
    elgg_register_css('vouchers_tooltip_css', '//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css');
    // Extend js
    elgg_register_js('vouchersjs', elgg_get_site_url() . 'mod/vouchers/assets/vouchers.js');
    elgg_register_js('vouchers_tooltip_js', '//code.jquery.com/ui/1.11.1/jquery-ui.js');
    // Register a page handler, so we can have nice URLs
    elgg_register_page_handler('vouchers', 'vouchers_page_handler');
    // Register a URL handler for voucher
    $release = get_version(true);
    // Register a URL handler for agora
    if ($release < 1.9) {
        // version 1.8
        elgg_register_entity_url_handler('object', 'vouchers', 'voucher_url');
    } else {
        // use this since Elgg 1.9
        elgg_register_plugin_hook_handler('entity:url', 'object', 'vouchers_set_url');
    }
    // Register menu item to an ownerblock
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'vouchers_owner_block_menu');
    // Register admin transaction log menu under "Utilities"
    elgg_register_admin_menu_item('administer', 'vouchers_transactions_log', 'administer_utilities');
    // register plugin hooks
    elgg_register_plugin_hook_handler("public_pages", "walled_garden", "vouchers_walled_garden_hook");
    // Register actions
    $action_path = elgg_get_plugins_path() . 'vouchers/actions';
    elgg_register_action("vouchers/addvoucher", "{$action_path}/addvoucher.php");
    elgg_register_action("vouchers/delete", "{$action_path}/delvoucher.php");
    elgg_register_action("vouchers/set_featured", "{$action_path}/vouchers/set_featured.php");
    // set a voucher post as featured
    elgg_register_action("vouchers/unset_featured", "{$action_path}/vouchers/unset_featured.php");
    // unset a voucher post from featured
    elgg_register_action("vouchers/get_with_points", "{$action_path}/vouchers/get_with_points.php");
    // voucher purchase with points only
    elgg_register_action('vouchers/be_interested', "{$action_path}/be_interested.php");
    // send interest
    elgg_register_action("vouchers/usersettings", "{$action_path}/usersettings.php");
    // save user settings
    // extend group main page
    elgg_extend_view('groups/tool_latest', 'vouchers/group_module');
    //elgg_extend_view("print", "printpreview/pageshell/pageshell");
    // add the group vouchers tool option
    add_group_tool_option('vouchers', elgg_echo('vouchers:group:enablevouchers'), true);
    // Add vouchers widgets
    elgg_register_widget_type('vouchers', elgg_echo('vouchers:widget'), elgg_echo('vouchers:widget:description'), 'profile,groups,dashboard');
    // member's voucher posts
    elgg_register_widget_type('vouchers_featured', elgg_echo('vouchers:widget:featured'), elgg_echo('vouchers:widget:featured:description'), 'dashboard');
    // featured vouchers for dashboard
}
Exemplo n.º 2
0
/**
 * Sets up submenus. Triggered on pagesetup.
 *
 */
function add_submenus()
{
    $plugins_base = elgg_get_site_url() . "plugins";
    if (elgg_get_context() == 'admin') {
        elgg_register_admin_menu_item('administer', 'statistics', 'community_plugins');
        elgg_register_admin_menu_item('administer', 'utilities', 'community_plugins');
        elgg_register_admin_menu_item('configure', 'community_plugins', 'settings');
        return;
    }
    if (elgg_get_context() != "plugins") {
        return;
    }
    $page_owner = elgg_get_page_owner_entity();
    if (elgg_is_logged_in() && elgg_get_page_owner_guid() == elgg_get_logged_in_user_guid()) {
        elgg_register_menu_item('page', array('href' => "{$plugins_base}/developer/{$page_owner->username}", 'name' => 'plugins:yours', 'text' => elgg_echo("plugins:yours", array(elgg_echo('plugins:types:')))));
    } else {
        if (elgg_get_page_owner_guid()) {
            $title = elgg_echo("plugins:user", array($page_owner->name, elgg_echo('plugins:types:')));
            elgg_register_menu_item('page', array('href' => "{$plugins_base}/developer/{$page_owner->username}", 'name' => 'plugins:user', 'text' => $title));
        }
    }
    elgg_register_menu_item('page', array('href' => '/plugins', 'name' => 'plugins:all', 'text' => elgg_echo('plugins:all')));
    // add upload link when viewing own plugin page
    if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) {
        elgg_register_menu_item('page', array('href' => "{$plugins_base}/new/project/{$page_owner->username}", 'name' => 'plugins:upload', 'text' => elgg_echo('plugins:upload')));
    }
}
Exemplo n.º 3
0
/**
 * Set some views_counter links on elgg system
 */
function views_counter_pagesetup()
{
    if (elgg_is_admin_logged_in() && elgg_get_context() == 'admin' || elgg_get_context() == 'views_counter') {
        $item = new ElggMenuItem('views_counter_admin', elgg_echo('views_counter:admin_page'), elgg_get_site_url() . 'views_counter/list_entities/user');
        elgg_register_menu_item('page', $item);
    }
}
Exemplo n.º 4
0
function wet4_theme_init()
{
    //reload groups library to have our sidebar changes
    elgg_register_library('elgg:groups', elgg_get_plugins_path() . 'wet4/lib/groups.php');
    elgg_register_event_handler('pagesetup', 'system', 'wet4_theme_pagesetup', 1000);
    elgg_register_event_handler('pagesetup', 'system', 'wet4_riverItem_remove');
    elgg_register_event_handler('pagesetup', 'system', 'messages_notifier');
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_elgg_entity_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:river', 'wet4_elgg_river_menu_setup');
    elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_likes_entity_menu_setup', 400);
    //elgg_register_plugin_hook_handler('register', 'menu:entity', 'wet4_delete_entity_menu', 400);
    // theme specific CSS
    elgg_extend_view('css/elgg', 'wet4_theme/css');
    //elgg_unextend_view('page/elements/header', 'search/header');
    //elgg_extend_view('page/elements/sidebar', 'search/header', 0);
    elgg_register_plugin_hook_handler('head', 'page', 'wet4_theme_setup_head');
    elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'my_owner_block_handler');
    //replace files lost while removing require.js
    elgg_register_js('elgg/dev', elgg_get_site_url() . 'mod/wet4/views/default/js/elgg/dev.js', 'footer');
    elgg_register_js('elgg/reportedcontent', elgg_get_site_url() . 'mod/wet4/views/default/js/elgg/reportedcontent.js', 'footer');
    // 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');
    }
}
Exemplo n.º 5
0
/**
 * replace any http images with https urls
 * 
 * @param type $h
 * @param type $t
 * @param type $r
 * @param type $p
 * @return type
 */
function view_hook($h, $t, $r, $p)
{
    $http_url = str_replace('https://', 'http://', elgg_get_site_url());
    if (preg_match_all('/<img[^>]+src\\s*=\\s*["\']?([^"\' ]+)[^>]*>/', $r, $extracted_image)) {
        foreach ($extracted_image[0] as $key => $i) {
            if (strpos($extracted_image[1][$key], elgg_get_site_url()) !== false) {
                continue;
                // already one of our links
            }
            // check if this is our url being requested over http, and rewrite to https
            if (strpos($extracted_image[1][$key], $http_url) === 0) {
                $https_image = str_replace('http://', 'https://', $extracted_image[1][$key]);
                $replacement_image = str_replace($extracted_image[1][$key], $https_image, $i);
                $r = str_replace($i, $replacement_image, $r);
                continue;
            }
            if (!is_https($extracted_image[1][$key])) {
                // replace this url
                $url = urlencode($extracted_image[1][$key]);
                if (strpos($url, 'http') === 0) {
                    $token = get_token($extracted_image[1][$key]);
                    $new_url = elgg_normalize_url('mod/image_proxy/image.php?url=' . $url . '&token=' . $token);
                    $replacement_image = str_replace($extracted_image[1][$key], $new_url, $i);
                    $r = str_replace($i, $replacement_image, $r);
                }
            }
        }
    }
    return $r;
}
Exemplo n.º 6
0
function event_manager_init()
{
    // Register subtype
    run_function_once("event_manager_run_once_subtypes");
    // Register entity_type for search
    elgg_register_entity_type("object", Event::SUBTYPE);
    elgg_extend_view("css/elgg", "event_manager/css/site");
    elgg_extend_view("js/elgg", "js/event_manager/site");
    elgg_extend_view("page/elements/head", "event_manager/metatags");
    elgg_register_page_handler("events", "event_manager_page_handler");
    // Register granular notification for this type
    register_notification_object("object", Event::SUBTYPE, elgg_echo("event_manager:notification:subject"));
    // Listen to notification events and supply a more useful message
    elgg_register_plugin_hook_handler("notify:entity:message", "object", "event_manager_notify_message");
    // add site menu item
    elgg_register_menu_item("site", array("name" => "event_manager", "text" => elgg_echo("event_manager:menu:title"), "href" => "/events"));
    // add group tool option
    add_group_tool_option("event_manager", elgg_echo("groups:enableevents"), true);
    // add to group profile
    elgg_extend_view("groups/tool_latest", "event_manager/group_module");
    // add widgets
    elgg_register_widget_type("events", elgg_echo("event_manager:widgets:events:title"), elgg_echo("event_manager:widgets:events:description"), "index,dashboard,profile,groups");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "event_manager_widget_events_url");
    // register js libraries
    $maps_key = elgg_get_plugin_setting("google_api_key", "event_manager");
    elgg_register_simplecache_view("js/event_manager/googlemaps");
    $em_maps_js = elgg_get_simplecache_url("js", "event_manager/googlemaps");
    elgg_register_js("event_manager.maps.helper", $em_maps_js);
    elgg_register_js("event_manager.maps.base", "//maps.googleapis.com/maps/api/js?key=" . $maps_key . "&sensor=true");
    elgg_register_js("addthisevent", elgg_get_site_url() . "mod/event_manager/vendors/addthisevent/atemay.js");
}
Exemplo n.º 7
0
/**
 * Generate an email activation code.
 *
 * @param int    $user_guid     The guid of the user
 * @param string $email_address Email address
 * @return string
 * @deprecated 2.3
 */
function uservalidationbyemail_generate_code($user_guid, $email_address)
{
    elgg_deprecated_notice(__FUNCTION__ . ' has been deprecated. Validation now relies on signed URL API', '2.3');
    // Note: binding to site URL for multisite.
    $site_url = elgg_get_site_url();
    return elgg_build_hmac([(int) $user_guid, $email_address, $site_url])->getToken();
}
Exemplo n.º 8
0
function questions_notify_message_handler($hook, $entity_type, $returnvalue, $params)
{
    $entity = $params['entity'];
    $to_entity = $params['to_entity'];
    $method = $params['method'];
    if (elgg_instanceof($entity, 'object', 'question')) {
        $descr = $entity->description;
        $title = $entity->title;
        $url = $entity->getURL();
        $owner = $entity->getOwnerEntity();
        $via = elgg_echo("questions:via");
        if ($method == 'sms') {
            //shortening the url for sms
            $url = elgg_get_site_url() . "view/{$entity->guid}";
            return "{$owner->name} {$via}: {$url} ({$title})";
        }
        if ($method == 'email') {
            return "{$owner->name} {$via}: {$title} \n\n {$descr} \n\n {$url}";
        }
        if ($method == 'web') {
            return "{$owner->name} {$via}: {$title} \n\n {$descr} \n\n {$url}";
        }
    }
    return null;
}
Exemplo n.º 9
0
/**
 * Test to see if a given uuid is for this domain, returning true if so.
 *
 * @param string $uuid A unique ID
 *
 * @return bool
 */
function is_uuid_this_domain($uuid)
{
    if (strpos($uuid, elgg_get_site_url()) === 0) {
        return true;
    }
    return false;
}
Exemplo n.º 10
0
 /**
  * Adds a new menu item
  *
  * @param array $params parameters of the menu item
  *
  * @return void
  */
 public function addMenuItem($params = [])
 {
     if (empty($params)) {
         return;
     }
     $defaults = ['access_id' => ACCESS_PUBLIC, 'is_action' => false, 'priority' => time()];
     $menu_item = array_merge($defaults, $params);
     $current_config = $this->getMenuConfig();
     $name = elgg_extract('name', $menu_item);
     if (empty($name)) {
         $time = time();
         $name = "menu_name_{$time}";
         while (array_key_exists($name, $current_config)) {
             $time++;
             $name = "menu_name_{$time}";
         }
         $menu_item['name'] = $name;
     }
     if (isset($menu_item['href'])) {
         if (strpos($menu_item['href'], elgg_get_site_url()) === 0) {
             $menu_item['href'] = substr($menu_item['href'], strlen(elgg_get_site_url()));
         }
     }
     $current_config[$name] = $menu_item;
     $this->setMenuConfig($current_config);
 }
Exemplo n.º 11
0
/**
 * parse allowable views and set classes on links for video rendering
 * 
 * @staticvar type $allowable_views
 * @param type $hook
 * @param type $type
 * @param type $return
 * @param type $params
 * @return type
 */
function views_parse($hook, $type, $return, $params)
{
    static $allowable_views, $allow_internal;
    if (!is_array($allowable_views)) {
        $allowable_views = get_allowable_views();
    }
    if (!in_array($type, $allowable_views)) {
        return $return;
    }
    if (is_null($allow_internal)) {
        $allow_internal = elgg_get_plugin_setting('internal_urls', PLUGIN_ID, 0);
    }
    // we're potentially adding items
    elgg_require_js('embedly_cards/embedly_cards');
    // mark all links as embedly-video and let embedly sort it out
    libxml_use_internal_errors(true);
    $doc = new \DOMDocument();
    $doc->loadHTML($return);
    foreach ($doc->getElementsByTagName('a') as $tag) {
        $href = $tag->hasAttribute('href') ? $tag->getAttribute('href') : null;
        if (!$href || strpos($href, 'http') !== 0) {
            continue;
        }
        if (strpos($href, elgg_get_site_url()) === 0 && !$allow_internal) {
            continue;
        }
        $tag->setAttribute('class', ($tag->hasAttribute('class') ? $tag->getAttribute('class') . ' ' : '') . 'embedly-video');
    }
    libxml_clear_errors();
    return $doc->saveHTML();
}
Exemplo n.º 12
0
function au_group_tag_menu_page_handler($page, $identifier)
{
    //show the page of search results
    // assumes url of group/guid/tag
    // if the tag is 'all' then will display a tagcloud
    switch ($page[0]) {
        case 'group':
            $entity = get_entity($page[1]);
            if (!elgg_instanceof($entity, 'group') || $entity->au_group_tag_menu_enable == 'no') {
                return false;
            }
            elgg_push_breadcrumb($entity->name, $entity->getURL());
            //should be OK if this is empty
            $tag = $page[2];
            elgg_push_breadcrumb($tag);
            if ($tag == "all") {
                //show a tag cloud for all group tags
                //arbitrarily set to a max of 640 tags - should be enough for anyone :-)
                $title = elgg_echo("au_group_tag_menu:tagcloud");
                $options = array('container_guid' => $entity->getGUID(), 'type' => 'object', 'threshold' => 0, 'limit' => 640, 'tag_names' => array('tags'));
                $thetags = elgg_get_tags($options);
                //make it an alphabetical tag cloud, not with most popular first
                sort($thetags);
                //find the highest tag count for scaling the font
                $max = 0;
                foreach ($thetags as $key) {
                    if ($key->total > $max) {
                        $max = $key->total;
                    }
                }
                $content = "  ";
                //loop through and generate tags so they display nicely
                //in the group, not as a dumb search page
                foreach ($thetags as $key) {
                    $url = elgg_get_site_url() . "group_tag_menu/group/" . $entity->getGUID() . "/" . urlencode($key->tag);
                    $taglink = elgg_view('output/url', array('text' => ' ' . $key->tag, 'href' => $url, 'title' => "{$key->tag} ({$key->total})", 'rel' => 'tag'));
                    //  get the font size for the tag (taken from elgg's own tagcloud code - not sure I love this)
                    $size = round(log($key->total) / log($max + 0.0001) * 100) + 30;
                    if ($size < 100) {
                        $size = 100;
                    }
                    // generate the link
                    $content .= " <a href='{$url}' style='font-size:{$size}%'>" . $key->tag . "</a> &nbsp; ";
                }
            } else {
                //show the results for the selected tag
                $title = elgg_echo("au_group_tag_menu:title") . "{$tag}";
                $options = array('type' => 'object', 'metadata_name' => 'tags', 'metadata_value' => $tag, 'container_guid' => $entity->guid, 'full_view' => false);
                $content = elgg_list_entities_from_metadata($options);
            }
            //display the page
            if (!$content) {
                $content = elgg_echo('au_group_tag_menu:noresults');
            }
            $layout = elgg_view_layout('content', array('title' => elgg_view_title($title), 'content' => $content, 'filter' => false));
            echo elgg_view_page($title, $layout);
            break;
    }
    return true;
}
Exemplo n.º 13
0
 /**
  * {@inheritdoc}
  */
 protected function handle()
 {
     $uri = '/' . ltrim($this->argument('uri'), '/');
     $method = $this->argument('method') ?: 'GET';
     $add_csrf_tokens = $this->option('tokens');
     $site_url = elgg_get_site_url();
     $uri = substr(elgg_normalize_url($uri), strlen($site_url));
     $path_key = Application::GET_PATH_KEY;
     $parameters = [];
     $query = trim((string) $this->option('query'), '?');
     parse_str($query, $parameters);
     if ($add_csrf_tokens) {
         $ts = time();
         $parameters['__elgg_ts'] = $ts;
         $parameters['__elgg_token'] = _elgg_services()->actions->generateActionToken($ts);
     }
     $request = Request::create("?{$path_key}=" . urlencode($uri), $method, $parameters);
     $cookie_name = _elgg_services()->config->getCookieConfig()['session']['name'];
     $session_id = _elgg_services()->session->getId();
     $request->cookies->set($cookie_name, $session_id);
     $request->headers->set('Referer', elgg_normalize_url());
     if ($this->option('export')) {
         elgg_set_viewtype('json');
         $request->headers->set('X-Elgg-Ajax-API', '2');
     }
     _elgg_services()->setValue('request', $request);
     Application::index();
 }
Exemplo n.º 14
0
function widget_manager_pagesetup()
{
    $context = elgg_get_context();
    if (elgg_is_admin_logged_in() && $context == "admin") {
        // move defaultwidgets menu item
        elgg_unregister_menu_item("page", "appearance:default_widgets");
        elgg_register_menu_item('page', array('name' => "appearance:default_widgets", 'href' => "admin/appearance/default_widgets", 'text' => elgg_echo("admin:appearance:default_widgets"), 'context' => 'admin', 'parent_name' => "widgets", 'section' => "configure"));
        // add own menu items
        elgg_register_admin_menu_item('configure', 'manage', 'widgets');
        if (elgg_get_plugin_setting("custom_index", "widget_manager") == "1|0") {
            // a special link to manage homepages that are only available if logged out
            elgg_register_menu_item('page', array('name' => "admin:widgets:manage:index", 'href' => elgg_get_site_url() . "?override=true", 'text' => elgg_echo("admin:widgets:manage:index"), 'context' => 'admin', 'parent_name' => "widgets", 'section' => "configure"));
        }
    }
    // update fixed widgets if needed
    if (in_array($context, array("profile", "dashboard")) && ($page_owner_guid = elgg_get_page_owner_guid())) {
        // only check things if you are viewing a profile or dashboard page
        $fixed_ts = elgg_get_plugin_setting($context . "_fixed_ts", "widget_manager");
        if (empty($fixed_ts)) {
            // there should always be a fixed ts, so fix it now. This situation only occurs after activating widget_manager the first time.
            $fixed_ts = time();
            elgg_set_plugin_setting($context . "_fixed_ts", $fixed_ts, "widget_manager");
        }
        // get the ts of the profile/dashboard you are viewing
        $user_fixed_ts = elgg_get_plugin_user_setting($context . "_fixed_ts", $page_owner_guid, "widget_manager");
        if ($user_fixed_ts < $fixed_ts) {
            widget_manager_update_fixed_widgets($context, $page_owner_guid);
        }
    }
    if (widget_manager_multi_dashboard_enabled()) {
        if (get_input("internal_dashboard") == "yes") {
            elgg_set_view_location("page/default", dirname(__FILE__) . "/views_alt/");
        }
    }
}
Exemplo n.º 15
0
function event_manager_entity_menu($hook, $entity_type, $returnvalue, $params)
{
    $result = $returnvalue;
    if (elgg_in_context("widgets")) {
        return $result;
    }
    if (($entity = elgg_extract("entity", $params)) && elgg_instanceof($entity, "object", Event::SUBTYPE)) {
        $attendee_menu_options = array("name" => "attendee_count", "priority" => 50, "text" => elgg_echo("event_manager:event:relationship:event_attending:entity_menu", array($entity->countAttendees())), "href" => false);
        $result[] = ElggMenuItem::factory($attendee_menu_options);
        // change some of the basic menus
        if (!empty($result) && is_array($result)) {
            foreach ($result as &$item) {
                switch ($item->getName()) {
                    case "edit":
                        $item->setHref("events/event/edit/" . $entity->getGUID());
                        break;
                    case "delete":
                        $href = elgg_get_site_url() . "action/event_manager/event/delete?guid=" . $entity->getGUID();
                        $href = elgg_add_action_tokens_to_url($href);
                        $item->setHref($href);
                        $item->setConfirmText(elgg_echo("deleteconfirm"));
                        break;
                }
            }
        }
        // show an unregister link for non logged in users
        if (!elgg_is_logged_in() && $entity->register_nologin) {
            $result[] = ElggMenuItem::factory(array("name" => "unsubscribe", "text" => elgg_echo("event_manager:menu:unsubscribe"), "href" => "events/unsubscribe/" . $entity->getGUID() . "/" . elgg_get_friendly_title($entity->title), "priority" => 300));
        }
    }
    return $result;
}
Exemplo n.º 16
0
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");
    }
}
Exemplo n.º 17
0
function rijkshuisstijl_site_menu_prepare($hook, $type, $value, $params)
{
    $selected = false;
    foreach ($value as $section) {
        foreach ($section as $item) {
            if ($item->getSelected()) {
                $selected = true;
                break 2;
            }
        }
    }
    if (!$selected) {
        $current_url = current_page_url();
        $site_url = elgg_get_site_url();
        foreach ($value as $section_name => $section) {
            foreach ($section as $key => $item) {
                // do not highlight external links
                if (strpos($item->getHref(), $site_url) !== 0) {
                    continue;
                }
                // do not highlight links to main site URL
                if ($item->getHref() == $site_url) {
                    continue;
                }
                if (strpos($current_url, $item->getHref()) === 0) {
                    $value[$section_name][$key]->setSelected(true);
                    break 2;
                }
            }
        }
    }
    return $return;
}
Exemplo n.º 18
0
/**
 * Handles old pg/twitterservice/ handler
 *
 * @param array $page
 */
function twitter_api_pagehandler_deprecated($page)
{
    $url = elgg_get_site_url() . 'pg/twitter_api/authorize';
    $msg = elgg_echo('twitter_api:deprecated_callback_url', array($url));
    register_error($msg);
    return twitter_api_pagehandler($page);
}
Exemplo n.º 19
0
function elggchat_init()
{
    elgg_extend_view('css/admin', 'elggchat/admin_css');
    elgg_extend_view('css/elgg', 'elggchat/css');
    $js_elggchat_sound = elgg_get_simplecache_url('js', 'elggchat/buzz.js');
    elgg_register_simplecache_view('js/elggchat/buzz.js');
    elgg_register_js('elggchat_sound', $js_elggchat_sound, 'head', 400);
    elgg_define_js('elggchat_scroll', array('src' => elgg_get_site_url() . 'mod/elggchat/views/default/js/elggchat/jquery.scrollTo.js'));
    if (elgg_is_logged_in()) {
        if (elgg_get_plugin_user_setting("enableChat", 0, "elggchat") != "no") {
            elgg_extend_view('page/elements/footer', 'elggchat/session_monitor');
        }
    }
    elgg_register_admin_menu_item('administer', 'elggchat', 'administer_utilities');
    // Extend avatar hover menu
    elgg_register_plugin_hook_handler('register', 'menu:user_hover', 'elggchat_user_hover_menu');
    // Register cron job
    $keepsessions = elgg_get_plugin_setting("keepsessions", "elggchat");
    if (elgg_get_plugin_setting("keepsessions", "elggchat") != "yes") {
        elgg_register_plugin_hook_handler('cron', 'hourly', 'elggchat_session_cleanup');
    }
    // Actions
    $action_path = elgg_get_plugins_path() . 'elggchat/actions';
    elgg_register_action("elggchat/create", "{$action_path}/create.php", "logged_in");
    elgg_register_action("elggchat/post_message", "{$action_path}/post_message.php", "logged_in");
    elgg_register_action("elggchat/poll", "{$action_path}/poll.php", "logged_in");
    elgg_register_action("elggchat/invite", "{$action_path}/invite.php", "logged_in");
    elgg_register_action("elggchat/leave", "{$action_path}/leave.php", "logged_in");
    elgg_register_action("elggchat/get_smiley", "{$action_path}/get_smiley.php", "logged_in");
    elgg_register_action("elggchat/admin_message", "{$action_path}/admin_message.php", "admin");
    elgg_register_action("elggchat/delete_session", "{$action_path}/delete_session.php", "admin");
    // Logout event handler
    elgg_register_event_handler('logout:before', 'user', 'elggchat_logout_handler');
}
Exemplo n.º 20
0
/**
 * Called during system init
 *
 * @return void
 */
function pages_tools_init()
{
    // register DOM PDF as a library
    elgg_register_library("dompdf", dirname(__FILE__) . "/vendor/dompdf/dompdf/dompdf_config.inc.php");
    // extend site css
    elgg_extend_view("css/elgg", "css/pages_tools/site");
    // extend site js
    elgg_extend_view("js/elgg", "js/pages_tools/site");
    // register JS library
    elgg_register_js("jquery.tree", elgg_get_site_url() . "mod/pages_tools/vendors/jstree/jquery.tree.min.js");
    elgg_register_css("jquery.tree", elgg_get_site_url() . "mod/pages_tools/vendors/jstree/themes/classic/style.css");
    // add widgets (overrule default pages widget, to add group support)
    elgg_register_widget_type("pages", elgg_echo("pages"), elgg_echo("pages:widget:description"), array("profile", "dashboard", "groups"));
    elgg_register_widget_type("index_pages", elgg_echo("pages"), elgg_echo("pages_tools:widgets:index_pages:description"), array("index"), true);
    // register plugin hooks
    elgg_register_plugin_hook_handler("route", "pages", "pages_tools_route_pages_hook");
    elgg_register_plugin_hook_handler("register", "menu:entity", "pages_tools_entity_menu_hook");
    elgg_register_plugin_hook_handler("permissions_check:comment", "object", "pages_tools_permissions_comment_hook");
    elgg_register_plugin_hook_handler("widget_url", "widget_manager", "pages_tools_widget_url_hook");
    elgg_register_plugin_hook_handler("cron", "daily", "pages_tools_daily_cron_hook");
    // events
    elgg_register_event_handler('create', 'object', 'pages_tools_cache_handler');
    elgg_register_event_handler('update', 'object', 'pages_tools_cache_handler');
    elgg_register_event_handler('delete', 'object', 'pages_tools_cache_handler');
    // register actions
    elgg_register_action("pages/export", dirname(__FILE__) . "/actions/export.php", "public");
    elgg_register_action("pages/reorder", dirname(__FILE__) . "/actions/reorder.php");
    elgg_register_action("pages_tools/update_edit_notice", dirname(__FILE__) . "/actions/update_edit_notice.php");
    // overrule action
    elgg_register_action("pages/edit", dirname(__FILE__) . "/actions/pages/edit.php");
    elgg_register_action("pages/delete", dirname(__FILE__) . "/actions/pages/delete.php");
}
Exemplo n.º 21
0
/**
 * 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;
}
Exemplo n.º 22
0
Arquivo: hooks.php Projeto: n8b/VMN
/**
 * hook called on route, all
 * check if $returnvalue['handler'] to see if we need to replace it
 * if the handler is an original handler, we want to foward it to the new url
 * 
 * @param type $hook
 * @param type $type
 * @param type $returnvalue
 * @param type $params
 * @return array
 */
function router($hook, $type, $returnvalue, $params)
{
    if (elgg_get_config('pagehandler_hijack')) {
        return $returnvalue;
    }
    $handlers = get_replacement_handlers();
    if (in_array($returnvalue['handler'], array_keys($handlers))) {
        // we have been given an old handler -> we should forward to the replacement
        // probably from an old link or something
        $currenturl = current_page_url();
        //get everything after the pagehandler
        $afterhandler = str_replace(elgg_get_site_url() . $returnvalue['handler'], "", $currenturl);
        $newurl = elgg_get_site_url() . $handlers[$returnvalue['handler']] . $afterhandler;
        // forward to the new url
        forward($newurl);
    }
    if (in_array($returnvalue['handler'], $handlers)) {
        // we need to do something about it
        // get the original handler
        $original = array_search($returnvalue['handler'], $handlers);
        if (!empty($original)) {
            // reset the context for non-hijack aware code
            elgg_set_context($original);
            // let the system load content for the original handler
            $returnvalue['handler'] = $original;
            $returnvalue['identifier'] = $original;
            // set a flag so we don't infinite loop ourselves in route hooks
            elgg_set_config('pagehandler_hijack', true);
            return elgg_trigger_plugin_hook('route', $original, null, $returnvalue);
        }
    }
}
Exemplo n.º 23
0
/**
 * Post to a facebook users wall.
 *
 * @param unknown_type $hook
 * @param unknown_type $entity_type
 * @param unknown_type $returnvalue
 * @param unknown_type $params
 */
function facebookservice_post($hook, $entity_type, $returnvalue, $params)
{
    $user_id = $params['userid'];
    $access_token = elgg_get_plugin_user_setting('access_token', $user_id, 'facebook_api');
    $target = elgg_get_plugin_user_setting('uid', $user_id, 'facebook_api');
    $site = elgg_get_site_entity();
    if (!$params['name']) {
        $site_name = $site->name;
    } else {
        $site_name = $params['name'];
    }
    if (!$params['logo']) {
        $logo = elgg_get_site_url() . '_graphics/elgg_logo.png';
    } else {
        $logo = $params['logo'];
    }
    if (!$params['link']) {
        $link = elgg_get_site_url();
    } else {
        $link = $params['link'];
    }
    $attachment = array('access_token' => $access_token, 'message' => $params['message'], 'name' => $site_name, 'link' => $link, 'description' => $params['description'], 'picture' => $logo);
    if (!($access_token && $target)) {
        return NULL;
    }
    $facebook = facebookservice_api();
    $ret_code = $facebook->api('/me/feed', 'POST', $attachment);
    return TRUE;
}
Exemplo n.º 24
0
function zelev_template_init()
{
    // Extend system CSS with our own styles
    //elgg_extend_view('page/elements/elgg','page/elements/header_logo');
    //elgg_extend_view('page/elements/elgg','page/elements/sidebar');
    //elgg_extend_view('css/elements/elgg','css/elements/layout');
    elgg_unregister_menu_item('topbar', 'elgg_logo');
    $logo_url = elgg_get_site_url() . "mod/zelev/zelev_files/logo.png";
    elgg_register_menu_item('topbar', array('name' => 'my_logo', 'href' => '/', 'text' => "<img src=\"{$logo_url}\" alt=\"My logo\" width=\"275\" height=\"45\" />", 'priority' => 1, 'link_class' => 'elgg-topbar-logo'));
    //
    if (!elgg_is_admin_logged_in()) {
        elgg_unregister_page_handler('activity');
    }
    // Replace the default index page
    register_plugin_hook('index', 'system', 'zelev_index');
    elgg_unregister_plugin_hook_handler('prepare', 'menu:site', 'elgg_site_menu_setup');
    elgg_unregister_menu_item('site', 'file');
    elgg_unregister_menu_item('site', 'bookmarks');
    elgg_unregister_menu_item('site', 'reportedcontent');
    elgg_unregister_menu_item('site', 'izap-contest');
    elgg_unregister_menu_item('site', 'activity');
    elgg_unregister_menu_item('site', 'groups');
    $item_1 = new ElggMenuItem('homw', elgg_echo('Inicio'), '/');
    elgg_register_menu_item('site', $item_1);
    $user = elgg_get_logged_in_user_entity();
    if ($user) {
        $url = "groups/member/{$user->username}";
        $item = new ElggMenuItem('groups:member', elgg_echo('groups:yours'), $url);
        elgg_register_menu_item('site', $item);
    }
}
Exemplo n.º 25
0
/**
 * initialization of plugin
 *
 * @return void
 */
function advanced_statistics_init()
{
    // register page handler for nice URLs
    elgg_register_page_handler("advanced_statistics", "advanced_statistics_page_handler");
    if (elgg_is_admin_logged_in()) {
        elgg_register_admin_menu_item('administer', 'users', 'advanced_statistics');
        elgg_register_admin_menu_item('administer', 'groups', 'advanced_statistics');
        elgg_register_admin_menu_item('administer', 'content', 'advanced_statistics');
        elgg_register_admin_menu_item('administer', 'activity', 'advanced_statistics');
        elgg_register_admin_menu_item('administer', 'widgets', 'advanced_statistics');
        elgg_register_admin_menu_item('administer', 'system', 'advanced_statistics');
        elgg_extend_view("js/admin", "js/advanced_statistics/admin");
        $vendors = elgg_get_site_url() . "mod/advanced_statistics/vendors/";
        elgg_register_js("excanvas", $vendors . "jqplot/excanvas.min.js");
        // only for IE < 9
        // jqplot base library
        elgg_register_js("jquery.jqplot", $vendors . "jqplot/jquery.jqplot.js");
        // jqplot plugins
        elgg_register_js("jquery.jqplot.barRenderer", $vendors . "jqplot/plugins/jqplot.barRenderer.js");
        elgg_register_js("jquery.jqplot.pieRenderer", $vendors . "jqplot/plugins/jqplot.pieRenderer.js");
        elgg_register_js("jquery.jqplot.canvasAxisTickRenderer", $vendors . "jqplot/plugins/jqplot.canvasAxisTickRenderer.js");
        elgg_register_js("jquery.jqplot.canvasTextRenderer", $vendors . "jqplot/plugins/jqplot.canvasTextRenderer.js");
        elgg_register_js("jquery.jqplot.categoryAxisRenderer", $vendors . "jqplot/plugins/jqplot.categoryAxisRenderer.js");
        elgg_register_js("jquery.jqplot.dateAxisRenderer", $vendors . "jqplot/plugins/jqplot.dateAxisRenderer.js");
        elgg_register_js("jquery.jqplot.pointLabels", $vendors . "jqplot/plugins/jqplot.pointLabels.js");
        elgg_register_js("jquery.jqplot.highlighter", $vendors . "jqplot/plugins/jqplot.highlighter.js");
        elgg_register_simplecache_view("css/advanced_statistics/jqplot");
        elgg_register_css("jquery.jqplot", elgg_get_simplecache_url("css", "advanced_statistics/jqplot"));
        // register admin widgets
        elgg_register_widget_type("advanced_statistics", elgg_echo("advanced_statistics:widgets:advanced_statistics:title"), elgg_echo("advanced_statistics:widgets:advanced_statistics:description"), array("admin"), true);
        elgg_register_widget_type("online_user_count", elgg_echo("advanced_statistics:widgets:online_user_count:title"), elgg_echo("advanced_statistics:widgets:online_user_count:description"), array("admin"));
        elgg_register_ajax_view("widgets/online_user_count/content");
    }
}
Exemplo n.º 26
0
function au_subgroups_pagehandler($page)
{
    // dirty check to avoid duplicate page handlers
    // since this should only be called from the route, groups hook
    if (strpos(current_page_url(), elgg_get_site_url() . 'au_subgroups') === 0) {
        return false;
    }
    switch ($page[0]) {
        case 'add':
            set_input('au_subgroup', true);
            set_input('au_subgroup_parent_guid', $page[1]);
            elgg_set_page_owner_guid($page[1]);
            echo elgg_view('resources/au_subgroups/add');
            return true;
            break;
        case 'list':
            elgg_set_page_owner_guid($page[1]);
            echo elgg_view('resources/au_subgroups/list');
            break;
        case 'delete':
            elgg_set_page_owner_guid($page[1]);
            echo elgg_view('resources/au_subgroups/delete');
            break;
        case 'openclosed':
            set_input('filter', $page[1]);
            echo elgg_view('resources/au_subgroups/openclosed');
            return true;
            break;
    }
    return false;
}
Exemplo n.º 27
0
Arquivo: start.php Projeto: n8b/VMN
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");
}
Exemplo n.º 28
0
/**
 * Rearrange menu items
 * Reorganizar los elementos del menu.
 */
function podemos_theme19_pagesetup()
{
    /*
    //DESXTENDER LA VISTA search/header DE LA DE page/elements/header
    //¿QUE ESTARÁ EXTENDIDA POR EL CORE?
    elgg_unextend_view('page/elements/header', 'search/header');
    //SOLO SE EXTIENDE A LOS USUARIOS LOGUEADOS.
    if (elgg_is_logged_in()) {
    	elgg_extend_view('page/elements/topbar', 'search/header', 0);
    }
    */
    if (elgg_is_logged_in()) {
        /*CAMBIAMOS EL TEXTO (TEXT) POR UNA IMAGEN (antes elgg_echo('account'))*/
        elgg_register_menu_item('topbar', array('name' => 'account', 'text' => "<img src='" . elgg_get_site_url() . "/mod/podemos_theme19/graphics/cuenta.png'/>", 'href' => "#", 'priority' => 100, 'section' => 'alt', 'link_class' => 'elgg-topbar-dropdown'));
        if (elgg_is_active_plugin('dashboard')) {
            $item = elgg_unregister_menu_item('topbar', 'dashboard');
            if ($item) {
                $item->setText(elgg_echo('dashboard'));
                $item->setSection('default');
                elgg_register_menu_item('site', $item);
            }
        }
        $item = elgg_get_menu_item('topbar', 'usersettings');
        if ($item) {
            $item->setParentName('account');
            $item->setText(elgg_echo('settings'));
            $item->setPriority(103);
        }
        $item = elgg_get_menu_item('topbar', 'logout');
        if ($item) {
            $item->setParentName('account');
            $item->setText(elgg_echo('logout'));
            $item->setPriority(104);
        }
        $item = elgg_get_menu_item('topbar', 'administration');
        if ($item) {
            $item->setParentName('account');
            $item->setText(elgg_echo('admin'));
            $item->setPriority(101);
        }
        if (elgg_is_active_plugin('site_notifications')) {
            $item = elgg_get_menu_item('topbar', 'site_notifications');
            if ($item) {
                $item->setParentName('account');
                $item->setText(elgg_echo('site_notifications:topbar'));
                $item->setPriority(102);
            }
        }
        if (elgg_is_active_plugin('reportedcontent')) {
            $item = elgg_unregister_menu_item('footer', 'report_this');
            if ($item) {
                $item->setText(elgg_view_icon('report-this'));
                $item->setPriority(500);
                $item->setSection('default');
                elgg_register_menu_item('extras', $item);
            }
        }
    }
}
Exemplo n.º 29
0
function community_theme_forward($h, $t, $v, $p)
{
    // odds are we want the Community URL instead of the home page
    $site = elgg_get_site_url();
    if ($v === $site) {
        return "{$site}activity";
    }
}
Exemplo n.º 30
0
 /**
  * Called before each test method.
  */
 public function setUp()
 {
     $this->client = new ElggApiClient(elgg_get_site_url(), $this->apikey->public);
     $result = $this->client->obtainAuthToken($this->user->username, 'pass123');
     if (!$result) {
         echo "Error in getting auth token!\n";
     }
 }