示例#1
0
function monashees_profile_page_handler($page)
{
    if (isset($page[0])) {
        $username = $page[0];
        $user = get_user_by_username($username);
        elgg_set_page_owner_guid($user->guid);
    } elseif (elgg_is_logged_in()) {
        forward(elgg_get_logged_in_user_entity()->getURL());
    }
    // short circuit if invalid or banned username
    if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) {
        register_error(elgg_echo('profile:notfound'));
        forward();
    }
    $action = NULL;
    if (isset($page[1])) {
        $action = $page[1];
    }
    if ($action == 'edit') {
        // use the core profile edit page
        $base_dir = elgg_get_root_path();
        require "{$base_dir}pages/profile/edit.php";
        return true;
    }
    // main profile page
    /*$params = array (
              'content' => elgg_view ( 'profile/wrapper' ),
              'num_columns' => 3 
      );*/
    //$content = elgg_view_layout ( 'widgets', $params );
    $body = elgg_view_layout('two_sidebar', array('content' => elgg_view('profile/wrapper') . "" . elgg_view("profile/owner_block") . "" . elgg_view("profile/homeposts"), 'username' => $username));
    echo elgg_view_page($user->name, $body);
    return true;
}
示例#2
0
/**
 * Get page components to show news with publish dates between $lower and $upper
 *
 * @param int $owner_guid The GUID of the owner of this page
 * @param int $lower      Unix timestamp
 * @param int $upper      Unix timestamp
 * @return array
 */
function news_get_page_content_archive($owner_guid, $lower = 0, $upper = 0)
{
    $owner = get_entity($owner_guid);
    elgg_set_page_owner_guid($owner_guid);
    $crumbs_title = $owner->name;
    if (elgg_instanceof($owner, 'user')) {
        $url = "news/owner/{$owner->username}";
    } else {
        $url = "news/group/{$owner->guid}/all";
    }
    elgg_push_breadcrumb($crumbs_title, $url);
    elgg_push_breadcrumb(elgg_echo('news:archives'));
    if ($lower) {
        $lower = (int) $lower;
    }
    if ($upper) {
        $upper = (int) $upper;
    }
    $options = array('type' => 'object', 'subtype' => 'news', 'full_view' => false, 'no_results' => elgg_echo('news:none'), 'preload_owners' => true, 'distinct' => false);
    if ($owner instanceof ElggGroup) {
        $options['container_guid'] = $owner_guid;
    } elseif ($owner instanceof ElggUser) {
        $options['owner_guid'] = $owner_guid;
    }
    if ($lower) {
        $options['created_time_lower'] = $lower;
    }
    if ($upper) {
        $options['created_time_upper'] = $upper;
    }
    $content = elgg_list_entities($options);
    $title = elgg_echo('date:month:' . date('m', $lower), array(date('Y', $lower)));
    return array('content' => $content, 'title' => $title, 'filter' => '');
}
示例#3
0
 /**
  * {@inheritdoc}
  */
 public function setup()
 {
     parent::setup();
     $this->post = get_entity($this->guid);
     $this->poster = elgg_get_logged_in_user_entity();
     // GUIDs of friends that were tagged in the post
     if (!is_array($this->friend_guids)) {
         $this->friend_guids = string_to_tag_array((string) $this->friend_guids);
     }
     if (!is_array($this->attachment_guids)) {
         $this->attachment_guids = string_to_tag_array((string) $this->attachment_guids);
     }
     if (!is_array($this->upload_guids)) {
         $this->upload_guids = array();
     }
     $this->subtype = Post::SUBTYPE;
     $this->container = $this->poster;
     if ($this->container_guid) {
         $container = get_entity($this->container_guid);
         if ($container) {
             $this->container = $container;
         }
         if ($this->container->guid != $this->poster->guid) {
             $this->subtype = hypeWall()->config->getPostSubtype();
         }
     }
     // For underlying views to know who the container is
     elgg_set_page_owner_guid($this->container->guid);
 }
示例#4
0
文件: start.php 项目: lorea/Hydra-dev
/**
 * Serve pages. URLs in the form:
 *
 * pg/block_users/blocked_users/<username> - Users blocked by <username>. If not set, defaults to logged in.
 * pg/block_users/blocked - The page to display when a user is blocked. 
 *
 * @param array $page
 * @return bool Depending on success
 */
function page_handler($page)
{
    gatekeeper();
    if (!isset($page[0])) {
        $page[0] = 'blocked_users';
    }
    switch ($page[0]) {
        case 'blocked_user_content':
            $site = elgg_get_site_entity();
            elgg_set_page_owner_guid($site->guid);
            include dirname(__FILE__) . '/pages/block_users/blocked_user_content.php';
            break;
        case 'blocked_content':
            $site = elgg_get_site_entity();
            elgg_set_page_owner_guid($site->guid);
            include dirname(__FILE__) . '/pages/block_users/blocked_content.php';
            break;
        default:
        case 'blocked_users':
            $logged_in_user = elgg_get_logged_in_user_entity();
            if (!isset($page[1])) {
                $page[1] = $logged_in_user->username;
            }
            set_input('blocking_username', $page[1]);
            // only admins can see another user's block list
            if ($page[1] != $logged_in_user->username) {
                admin_gatekeeper();
            }
            include dirname(__FILE__) . '/pages/block_users/blocked_users.php';
    }
    return true;
}
示例#5
0
 /**
  * https://github.com/Elgg/Elgg/pull/6393
  * Hook handlers for 'access:collections:write','all' hook should respect
  * group's content access mode and container write permissions
  */
 public function testWriteAccessArray()
 {
     $membersonly = ElggGroup::CONTENT_ACCESS_MODE_MEMBERS_ONLY;
     $unrestricted = ElggGroup::CONTENT_ACCESS_MODE_UNRESTRICTED;
     $original_page_owner = elgg_get_page_owner_entity();
     elgg_set_page_owner_guid($this->group->guid);
     $ia = elgg_set_ignore_access(false);
     // User is not a member of the group
     // Member-only group
     $this->group->setContentAccessMode($membersonly);
     $write_access = get_write_access_array($this->user->guid, true);
     $this->assertFalse(array_key_exists($this->group->group_acl, $write_access));
     // Unrestricted group
     $this->group->setContentAccessMode($unrestricted);
     $write_access = get_write_access_array($this->user->guid, true);
     $this->assertFalse(array_key_exists($this->group->group_acl, $write_access));
     // User is a member (can write to container)
     $this->group->join($this->user);
     // Member-only group
     $this->group->setContentAccessMode($membersonly);
     $write_access = get_write_access_array($this->user->guid, true);
     $this->assertTrue(array_key_exists($this->group->group_acl, $write_access));
     // Unrestricted group
     $this->group->setContentAccessMode($unrestricted);
     $write_access = get_write_access_array($this->user->guid, true);
     $this->assertTrue(array_key_exists($this->group->group_acl, $write_access));
     elgg_set_ignore_access($ia);
     $this->group->leave($this->user);
     $original_page_owner_guid = elgg_instanceof($original_page_owner) ? $original_page_owner->guid : 0;
     elgg_set_page_owner_guid($original_page_owner_guid);
 }
示例#6
0
文件: start.php 项目: rasul/Elgg
/**
 * Profile page handler
 *
 * @param array $page Array of page elements, forwarded by the page handling mechanism
 */
function profile_page_handler($page)
{
    if (isset($page[0])) {
        $username = $page[0];
        $user = get_user_by_username($username);
        elgg_set_page_owner_guid($user->guid);
    }
    // short circuit if invalid or banned username
    if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) {
        register_error(elgg_echo('profile:notfound'));
        forward();
    }
    $action = NULL;
    if (isset($page[1])) {
        $action = $page[1];
    }
    if ($action == 'edit') {
        // use the core profile edit page
        $base_dir = elgg_get_root_path();
        require "{$base_dir}pages/profile/edit.php";
        return;
    }
    // main profile page
    $params = array('content' => elgg_view('profile/wrapper'), 'num_columns' => 3);
    $content = elgg_view_layout('widgets', $params);
    $body = elgg_view_layout('one_column', array('content' => $content));
    echo elgg_view_page($title, $body);
}
示例#7
0
 /**
  * Handle /file_tools URLs
  *
  * @param array $page URL segments
  *
  * @return bool
  */
 public static function fileTools($page)
 {
     switch (elgg_extract(0, $page)) {
         case 'list':
             elgg_ajax_gatekeeper();
             $params = [];
             elgg_set_page_owner_guid(elgg_extract(1, $page));
             $folder_guid = get_input('folder_guid', false);
             if ($folder_guid !== false) {
                 $params['folder_guid'] = (int) $folder_guid;
                 $params['draw_page'] = false;
             }
             if (isset($page[2])) {
                 $params['folder_guid'] = (int) $page[2];
             }
             echo elgg_view_resource('file_tools/file/list', $params);
             return true;
             break;
         case 'folder':
             switch (elgg_extract(1, $page)) {
                 case 'new':
                     elgg_set_page_owner_guid(elgg_extract(2, $page));
                     echo elgg_view_resource('file_tools/folder/new');
                     return true;
                     break;
                 case 'edit':
                     $params = ['folder_guid' => (int) elgg_extract(2, $page)];
                     echo elgg_view_resource('file_tools/folder/edit', $params);
                     return true;
                     break;
             }
             break;
     }
     return false;
 }
示例#8
0
/**
 * Stripe related pages
 *
 * @param array $page
 * @param string $handler
 * @return boolean
 */
function stripe_page_handler($page, $handler)
{
    gatekeeper();
    $username = elgg_extract(0, $page, false);
    if ($username) {
        $user = get_user_by_username($username);
    }
    if (!elgg_instanceof($user) || !$user->canEdit()) {
        $user = elgg_get_logged_in_user_entity();
        forward("{$handler}/{$user->username}");
    }
    elgg_set_context('settings');
    elgg_set_page_owner_guid($user->guid);
    elgg_push_breadcrumb(elgg_echo('stripe:billing'), 'billing');
    $context = elgg_extract(1, $page, 'cards');
    $action = elgg_extract(2, $page, 'all');
    $view = "stripe/pages/{$context}/{$action}";
    if (elgg_view_exists($view)) {
        $params = array('entity' => $user, 'id' => elgg_extract(3, $page, false), 'context' => $page);
        $title = elgg_echo("stripe:{$context}:{$action}");
        $content = elgg_view($view, $params);
        $sidebar = elgg_view('stripe/sidebar', $params);
        $filter = elgg_view("stripe/filters/{$context}/{$action}", $params);
    }
    if ($content) {
        if (elgg_is_xhr()) {
            echo $content;
        } else {
            $layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'sidebar' => $sidebar, 'filter' => $filter));
            echo elgg_view_page($title, $layout);
        }
        return true;
    }
    return false;
}
/**
 * Profile page handler
 *
 * @param array $page Array of URL segments passed by the page handling mechanism
 * @return bool
 */
function profile_page_handler($page)
{
    if (isset($page[0])) {
        $username = $page[0];
        $user = get_user_by_username($username);
        elgg_set_page_owner_guid($user->guid);
    } elseif (elgg_is_logged_in()) {
        forward(elgg_get_logged_in_user_entity()->getURL());
    }
    // short circuit if invalid or banned username
    if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) {
        register_error(elgg_echo('profile:notfound'));
        forward();
    }
    $action = NULL;
    if (isset($page[1])) {
        $action = $page[1];
    }
    if ($action == 'edit') {
        // use the core profile edit page
        $base_dir = elgg_get_root_path();
        require "{$base_dir}pages/profile/edit.php";
        return true;
    }
    $content = elgg_view('profile/layout', array('entity' => $user));
    $body = elgg_view_layout('one_column', array('content' => $content));
    echo elgg_view_page($user->name, $body);
    return true;
}
示例#10
0
/**
 * User settings page handler
 *
 * @param array $segments URL segments
 * @return bool
 */
function user_settings_page_handler($segments)
{
    elgg_gatekeeper();
    $page = array_shift($segments);
    $username = array_shift($segments);
    if (!$page) {
        $page = 'user';
    }
    if (!$username) {
        $user = elgg_get_logged_in_user_entity();
    } else {
        $user = get_user_by_username($username);
    }
    if (!$user) {
        forward('', '404');
    }
    if (!$user->canEdit()) {
        forward('', '403');
    }
    elgg_set_page_owner_guid($user->guid);
    $resource = elgg_view_resource("settings/{$page}", array('username' => $user->username, 'entity' => $user, 'segments' => $segments));
    if ($resource) {
        echo $resource;
        return true;
    }
    return false;
}
示例#11
0
function customstyle_page_handler($page)
{
    gatekeeper();
    elgg_set_context('customstyle');
    elgg_set_page_owner_guid(elgg_get_logged_in_user_guid());
    $title = elgg_echo('customstyle');
    $base_dir = elgg_get_plugins_path() . 'customstyle/pages/customstyle';
    switch ($page[0]) {
        case 'colors':
            $body = elgg_view('customstyle/colors');
            break;
        case 'background':
            $body = elgg_view('customstyle/background');
            break;
        case 'personalize':
            $body = elgg_view('customstyle/default');
            break;
        default:
            $body = elgg_view('customstyle/default');
            break;
    }
    $params = array('content' => $body, 'title' => $title);
    $body = elgg_view_layout('one_sidebar', $params);
    echo elgg_view_page($title, $body);
    return true;
}
示例#12
0
文件: start.php 项目: elgg/elgg
/**
 * Profile page handler
 *
 * @param array $page Array of URL segments passed by the page handling mechanism
 * @return bool
 */
function profile_page_handler($page)
{
    if (isset($page[0])) {
        $username = $page[0];
        $user = get_user_by_username($username);
        elgg_set_page_owner_guid($user->guid);
    } elseif (elgg_is_logged_in()) {
        forward(elgg_get_logged_in_user_entity()->getURL());
    }
    // short circuit if invalid or banned username
    if (!$user || $user->isBanned() && !elgg_is_admin_logged_in()) {
        register_error(elgg_echo('profile:notfound'));
        forward();
    }
    $action = NULL;
    if (isset($page[1])) {
        $action = $page[1];
    }
    if ($action == 'edit') {
        // use the core profile edit page
        echo elgg_view_resource('profile/edit');
        return true;
    }
    echo elgg_view_resource('profile/view', ['username' => $page[0]]);
    return true;
}
示例#13
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;
}
示例#14
0
/**
 * The page handler vor vacaturebank
 *
 * @param array $page url segments
 *
 * @return bool
 */
function haarlem_tangram_page_handler($page)
{
    $include_file = false;
    $pages_root = dirname(dirname(__FILE__)) . '/pages/';
    $page_owner_guid = haarlem_tangram_get_page_owner_guid();
    if (!empty($page_owner_guid)) {
        elgg_set_page_owner_guid($page_owner_guid);
    }
    switch ($page[0]) {
        case 'all':
            $include_file = "{$pages_root}all.php";
            break;
        case 'view':
            set_input('vacaturenummer', $page[1]);
            $include_file = "{$pages_root}view.php";
            break;
        default:
            forward('vacaturebank/all');
            break;
    }
    if (!empty($include_file)) {
        include $include_file;
        return true;
    }
    return false;
}
示例#15
0
function file_tools_page_handler($page)
{
    $include_file = false;
    switch ($page[0]) {
        case "list":
            if (elgg_is_xhr() && !empty($page[1])) {
                elgg_set_page_owner_guid($page[1]);
                if (get_input("folder_guid", false) !== false) {
                    set_input("draw_page", false);
                }
                if (isset($page[2])) {
                    set_input("folder_guid", $page[2]);
                }
                $include_file = dirname(dirname(__FILE__)) . "/pages/list.php";
            }
            break;
        case "folder":
            if ($page[1] == 'new') {
                if (!empty($page[2])) {
                    elgg_set_page_owner_guid($page[2]);
                }
                $include_file = dirname(dirname(__FILE__)) . "/pages/folder/new.php";
            } elseif ($page[1] == 'edit') {
                if (!empty($page[2])) {
                    set_input("folder_guid", $page[2]);
                    $include_file = dirname(dirname(__FILE__)) . "/pages/folder/edit.php";
                }
            }
            break;
        case "file":
            if ($page[1] == 'new') {
                if (!empty($page[2])) {
                    elgg_set_page_owner_guid($page[2]);
                }
                $include_file = dirname(dirname(__FILE__)) . "/pages/file/new.php";
            } elseif ($page[1] == 'edit') {
                set_input("guid", $page[2]);
                $include_file = dirname(dirname(__FILE__)) . "/pages/file/edit.php";
            } elseif ($page[1] == 'download') {
                $include_file = dirname(dirname(__FILE__)) . "/pages/file/download.php";
            }
            break;
        case "proc":
            if (file_exists(dirname(dirname(__FILE__)) . "/procedures/" . $page[1] . "/" . $page[2] . ".php")) {
                $include_file = dirname(dirname(__FILE__)) . "/procedures/" . $page[1] . "/" . $page[2] . ".php";
            } else {
                echo json_encode(array('valid' => 0));
                exit;
            }
            break;
    }
    if (!empty($include_file)) {
        include $include_file;
        return true;
    } else {
        forward("file/all");
    }
}
示例#16
0
function customstyle_pagesetup()
{
    if (!elgg_get_page_owner_guid() && elgg_is_logged_in()) {
        elgg_set_page_owner_guid($_SESSION['user']->getGUID());
    }
    if ($_SERVER['PHP_SELF'] != "/index.php" && elgg_get_page_owner_guid() != 0) {
        elgg_extend_view('page/elements/foot', 'customstyle/metatags');
    }
}
示例#17
0
/**
 * Page handlers for hypeFramework
 *
 *
 * @param type $page
 * @return type
 */
function hj_framework_page_handlers($page)
{
    if (!isset($page[0])) {
        forward();
    }
    $path_pages = elgg_get_root_path() . 'mod/hypeFramework/pages/';
    switch ($page[0]) {
        case 'edit':
            set_input('guid', $page[1]);
            include $path_pages . 'edit/object.php';
            break;
        case 'icon':
            set_input('guid', $page[1]);
            set_input('size', $page[2]);
            include $path_pages . "icon/icon.php";
            break;
        case 'download':
            set_input('guid', $page[1]);
            include $path_pages . "file/download.php";
            break;
        case 'file':
            switch ($page[1]) {
                case 'create':
                    gatekeeper();
                    $container_guid = elgg_extract(2, $page, false);
                    if (!$container_guid) {
                        $container_guid = elgg_get_logged_in_user_guid();
                    }
                    elgg_set_page_owner_guid($container_guid);
                    set_input('container_guid', $container_guid);
                    include "{$path_pages}create/file.php";
                    break;
                case 'edit':
                    gatekeeper();
                    set_input('guid', $page[2]);
                    include "{$path_pages}edit/object.php";
                    break;
                case 'view':
                    if (!isset($page[2])) {
                        return false;
                    }
                    $entity = get_entity($page[2]);
                    if (!$entity) {
                        return false;
                    }
                    $sidebar = elgg_view('framework/file/dashboard/sidebar', array('entity' => $entity));
                    echo elgg_view_page($entity->title, elgg_view_layout('framework/entity', array('entity' => $entity, 'sidebar' => $sidebar)));
                    break;
            }
            break;
        default:
            return false;
            break;
    }
    return true;
}
/**
 * Serves the content for the embed lightbox
 *
 * @param array $page URL segments
 */
function embed_page_handler($page)
{
    $container_guid = (int) get_input('container_guid');
    if ($container_guid) {
        elgg_set_page_owner_guid($container_guid);
    }
    echo elgg_view('embed/layout');
    // exit because this is in a modal display.
    exit;
}
示例#19
0
/**
 * Extends thewire pagehandler with some extra pages
 *
 * @param string $hook_name   'route'
 * @param string $entity_type 'thewire'
 * @param bool   $return      the default return value
 * @param array  $params      supplied params
 *
 * @return bool
 */
function thewire_tools_route_thewire($hook_name, $entity_type, $return, $params)
{
    $page = elgg_extract("segments", $return);
    if (is_array($page)) {
        switch ($page[0]) {
            case "group":
                if (!empty($page[1])) {
                    set_input("group_guid", $page[1]);
                    // @todo is this still needed or replace with page_owner in page
                    if (!empty($page[2])) {
                        set_input("wire_username", $page[2]);
                        // @todo is this still needed?
                    }
                    $include_file = "pages/group.php";
                    break;
                }
            case "tag":
            case "search":
                if (isset($page[1])) {
                    if ($page[0] == "tag") {
                        set_input("query", "#" . $page[1]);
                    } else {
                        set_input("query", $page[1]);
                    }
                }
                $include_file = "pages/search.php";
                break;
            case "autocomplete":
                $include_file = "procedures/autocomplete.php";
                break;
            case "conversation":
                if (isset($page[1])) {
                    set_input("guid", $page[1]);
                }
                $include_file = "procedures/conversation.php";
                break;
            case "thread":
                elgg_push_context("thewire_thread");
            case "reply":
                if (!empty($page[1])) {
                    $entity = get_entity($page[1]);
                    if (!empty($entity) && elgg_instanceof($entity->getContainerEntity(), "group")) {
                        elgg_set_page_owner_guid($entity->getContainerGUID());
                    }
                }
                break;
        }
        if (!empty($include_file)) {
            include dirname(dirname(__FILE__)) . "/" . $include_file;
            $return = false;
        }
    }
    return $return;
}
示例#20
0
function importer_page_handler($page)
{
    gatekeeper();
    elgg_set_context('friends');
    elgg_set_page_owner_guid(elgg_get_logged_in_user_guid());
    $title = elgg_echo('import:contacts');
    $body = elgg_view('importer/form');
    $params = array('content' => $body, 'title' => $title);
    $body = elgg_view_layout('one_sidebar', $params);
    echo elgg_view_page($title, $body);
    return true;
}
示例#21
0
/**
 * Page handler for embeds
 * 
 * @param array $page
 */
function embed_page_handler($page)
{
    $params = array('output' => '', 'status' => 0, 'system_messages' => array('error' => array(), 'success' => array()));
    $container_guid = get_input('container_guid');
    if ($container_guid && get_entity($container_guid)) {
        elgg_set_page_owner_guid($container_guid);
    }
    switch ($page[0]) {
        default:
        case 'tab':
            $default_tab = elgg_is_active_plugin('file') ? 'file' : 'content_items';
            $embed_tab = elgg_extract(1, $page, $default_tab);
            $title = elgg_echo("embed:embed");
            $filter = elgg_view('embed/filter', array('filter_context' => $embed_tab));
            $view = "embed/tab/{$embed_tab}";
            if (elgg_view_exists($view)) {
                $content = elgg_view($view);
            } else {
                $embed_tab = elgg_get_config('embed_tab');
                if ($embed_tab instanceof \ElggMenuItem) {
                    $view = $embed_tab->getData('view');
                    $options = $embed_tab->getData('options');
                    if ($view) {
                        $content = elgg_view($view);
                    } else {
                        if ($options) {
                            $content = elgg_view('embed/get_list', array('options' => $options));
                        }
                    }
                }
            }
            if (empty($content)) {
                $content = elgg_autop(elgg_echo('embed:section:invalid'));
            }
            $params['output'] = elgg_view_layout('one_column', array('title' => $title, 'content' => $filter . $content, 'class' => 'embed-wrapper'));
            break;
    }
    $system_messages = system_messages(NULL, "");
    if (isset($system_messages['success'])) {
        $params['system_messages']['success'] = $system_messages['success'];
    }
    if (isset($system_messages['error'])) {
        $params['system_messages']['error'] = $system_messages['error'];
        $params['status'] = -1;
    }
    // We do not want to serve this page via non-xhr requests
    if (!elgg_is_xhr()) {
        register_error(elgg_echo('embed:error:non_xhr_request'));
        return false;
    }
    echo json_encode($params);
    exit;
}
示例#22
0
文件: start.php 项目: remy40/gvrs
/**
 * GV isegoria page handler.
 */
function isegoria_page_handler()
{
    // Ensure that only logged-in users can see this page
    gatekeeper();
    // Set context and title
    elgg_set_context('dashboard');
    elgg_set_page_owner_guid(elgg_get_logged_in_user_guid());
    $title = elgg_echo('dashboard');
    $params = array('num_columns' => 3, 'show_access' => false);
    $widgets = elgg_view_layout('widgets', $params);
    $body = elgg_view_layout('one_column', array('content' => $widgets));
    echo elgg_view_page($title, $body);
    return true;
}
示例#23
0
文件: start.php 项目: elgg/elgg
/**
 * Page handler
 *
 * /site_notifications/view/<username>
 *
 * @param array $segments URL segments
 * @return boolean
 */
function site_notifications_page_handler($segments)
{
    elgg_gatekeeper();
    if (!isset($segments[1])) {
        $segments[1] = elgg_get_logged_in_user_entity()->username;
    }
    $user = get_user_by_username($segments[1]);
    if (!$user) {
        return false;
    }
    elgg_set_page_owner_guid($user->guid);
    echo elgg_view_resource('site_notifications/view');
    return true;
}
示例#24
0
function livewire_river_page_handler($page)
{
    global $CONFIG;
    elgg_set_page_owner_guid(elgg_get_logged_in_user_guid());
    // make a URL segment available in page handler script
    $page_type = elgg_extract(0, $page, $param);
    $page_type = preg_replace('[\\W]', '', $page_type);
    if ($page_type == 'owner') {
        $page_type = 'mine';
    }
    set_input('page_type', $page_type);
    require_once "{$CONFIG->path}mod/livewire/pages/river.php";
    return true;
}
示例#25
0
/**
 * Serves the content for the embed lightbox
 *
 * @param array $page URL segments
 */
function embed_page_handler($page)
{
    $container_guid = (int) get_input('container_guid');
    if ($container_guid) {
        $container = get_entity($container_guid);
        if (elgg_instanceof($container, 'group') && $container->isMember()) {
            // embedding inside a group so save file to group files
            elgg_set_page_owner_guid($container_guid);
        }
    }
    echo elgg_view('embed/layout');
    // exit because this is in a modal display.
    exit;
}
示例#26
0
/**
 * Handles all question pages
 *
 * @param array $segments
 *
 * @return bool
 */
function questions_page_handler($segments)
{
    elgg_push_breadcrumb(elgg_echo('questions'), 'questions/all');
    $pages = dirname(dirname(__FILE__)) . '/pages/questions';
    switch ($segments[0]) {
        case 'all':
            include "{$pages}/all.php";
            break;
        case 'todo':
            if (isset($segments[1]) && is_numeric($segments[1])) {
                set_input('group_guid', $segments[1]);
            }
            include "{$pages}/todo.php";
            break;
        case 'owner':
            if (isset($segments[1]) && is_numeric($segments[1])) {
                elgg_set_page_owner_guid($segments[1]);
            }
            include "{$pages}/owner.php";
            break;
        case 'view':
            set_input('guid', $segments[1]);
            include "{$pages}/view.php";
            break;
        case 'add':
            elgg_gatekeeper();
            include "{$pages}/add.php";
            break;
        case 'edit':
            elgg_gatekeeper();
            set_input('guid', $segments[1]);
            include "{$pages}/edit.php";
            break;
        case 'group':
            elgg_group_gatekeeper();
            include "{$pages}/owner.php";
            break;
        case 'experts':
            if (isset($segments[1]) && is_numeric($segments[1])) {
                elgg_set_page_owner_guid($segments[1]);
            }
            include "{$pages}/experts.php";
            break;
        default:
            forward('questions/all');
            return false;
    }
    return true;
}
/**
 * Page handler function
 * 
 * @param array $page Page URL segments
 * @return bool
 */
function invitefriends_page_handler($page)
{
    elgg_gatekeeper();
    if (!elgg_get_config('allow_registration')) {
        return false;
    }
    elgg_set_context('friends');
    elgg_set_page_owner_guid(elgg_get_logged_in_user_guid());
    $title = elgg_echo('friends:invite');
    $body = elgg_view('invitefriends/form');
    $params = array('content' => $body, 'title' => $title);
    $body = elgg_view_layout('one_sidebar', $params);
    echo elgg_view_page($title, $body);
    return true;
}
示例#28
0
文件: start.php 项目: lorea/Hydra-dev
/**
 * Dispatches related groups pages.
 * URLs take the form of
 *  
 *  Group view related groups:      relatedgroups/owner/<group_guid>
 *  Group manage related groups:    relatedgroups/manage/<group_guid>
 *
 * @param array $page
 * @return NULL
 */
function relatedgroups_page_handler($page)
{
    $pages_path = elgg_get_plugins_path() . "relatedgroups/pages";
    switch ($page[0]) {
        case 'add':
        case 'edit':
            elgg_set_page_owner_guid($page[1]);
            include $pages_path . "/relatedgroups/edit.php";
            break;
        case 'owner':
            elgg_set_page_owner_guid($page[1]);
            include $pages_path . "/relatedgroups/owner.php";
            break;
    }
}
示例#29
0
function custom_friends_page_handler($page_elements, $handler)
{
    elgg_set_context('friends');
    if (isset($page_elements[0]) && ($user = get_user_by_username($page_elements[0]))) {
        elgg_set_page_owner_guid($user->getGUID());
    }
    if (elgg_get_logged_in_user_guid() == elgg_get_page_owner_guid()) {
        collections_submenu_items();
    }
    if (!isset($handler[0])) {
        $handler[0] = 'friends';
    }
    require_once dirname(__FILE__) . "/pages/friends/index.php";
    return true;
}
示例#30
0
function super_dashboard_page_handler($page)
{
    $current_user = elgg_get_logged_in_user_entity();
    if (isset($page[0])) {
        $username = $page[0];
        $user = get_user_by_username($username);
        elgg_set_page_owner_guid($user->guid);
    } elseif (elgg_is_logged_in()) {
        forward('super_dashboard/' . $current_user->username);
    } else {
        forward('404');
    }
    require_once dirname(__FILE__) . '/pages/super_dashboard.php';
    return true;
}