本文整理汇总了PHP中group_gatekeeper函数的典型用法代码示例。如果您正苦于以下问题:PHP group_gatekeeper函数的具体用法?PHP group_gatekeeper怎么用?PHP group_gatekeeper使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了group_gatekeeper函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: tblog_get_page_content_list
function tblog_get_page_content_list($guid)
{
$container_guid = NULL;
$return = array();
$return['filter_context'] = $container_guid ? 'mine' : 'all';
$options = array('type' => 'object', 'subtype' => 'blog', 'full_view' => FALSE);
$loggedin_userid = elgg_get_logged_in_user_guid();
if ($container_guid) {
// access check for closed groups
group_gatekeeper();
$options['container_guid'] = $container_guid;
$container = get_entity($container_guid);
if (!$container) {
}
$return['title'] = elgg_echo('blog:title:user_blogs', array($container->name));
$crumbs_title = $container->name;
elgg_push_breadcrumb($crumbs_title);
if ($container_guid == $loggedin_userid) {
$return['filter_context'] = 'mine';
} else {
if (elgg_instanceof($container, 'group')) {
$return['filter'] = false;
} else {
// do not show button or select a tab when viewing someone else's posts
$return['filter_context'] = 'none';
}
}
} else {
$return['filter_context'] = 'all';
$return['title'] = elgg_echo('blogbook:select a blog');
elgg_pop_breadcrumb();
elgg_push_breadcrumb(elgg_echo('blog:blogs'));
}
//elgg_register_title_button();
// show all posts for admin or users looking at their own blogs
// show only published posts for other users.
if (!(elgg_is_admin_logged_in() || elgg_is_logged_in() && $container_guid == $loggedin_userid)) {
$options['metadata_name_value_pairs'] = array(array('name' => 'status', 'value' => 'published'));
}
$tblog = get_entity($guid);
$bidlist = explode(",", $tblog->bids);
foreach ($bidlist as $value) {
$aBlog = get_entity($value);
$form_data .= "<input type='checkbox' name='bids[]' value='{$value}' /> {$aBlog->title}<br />";
}
$form_data .= "<input type='hidden' name='guid' value='{$guid}' />";
// TODO the problem is thst $guid is empty
$form_data .= elgg_view('input/submit', array('value' => elgg_echo('Remove')));
$list .= elgg_view("input/form", array("body" => $form_data, "action" => "/action/blogbook/remove", "id" => "tblog_insert_form", "class" => "elgg-form-alt"));
if (!$list) {
$return['content'] = elgg_echo('blog:none');
} else {
$return['content'] = $list;
}
return $return;
}
开发者ID:mustafabicer,项目名称:elggplugins,代码行数:56,代码来源:removeblog.php
示例2: blog_get_page_content_list
/**
* Get page components to list a user's or all blogs.
*
* @param int $container_guid The GUID of the page owner or NULL for all blogs
* @return array
*/
function blog_get_page_content_list($container_guid = NULL)
{
$return = array();
$return['filter_context'] = $container_guid ? 'mine' : 'all';
$order = get_input('order');
$order ? $order = $order : ($order = "DESC");
$order == "DESC" ? $currentSort = elgg_echo('hj:forum:latest') : ($currentSort = elgg_echo('hj:forum:oldest'));
$options = array('type' => 'object', 'subtype' => 'blog', 'full_view' => false, 'order_by' => 'e.time_created ' . $order);
$current_user = elgg_get_logged_in_user_entity();
if ($container_guid) {
// access check for closed groups
group_gatekeeper();
$options['container_guid'] = $container_guid;
$container = get_entity($container_guid);
if (!$container) {
}
$return['title'] = elgg_echo('blog:title:user_blogs', array($container->name));
$crumbs_title = $container->name;
elgg_push_breadcrumb($crumbs_title);
if ($current_user && $container_guid == $current_user->guid) {
$return['filter_context'] = 'mine';
} else {
if (elgg_instanceof($container, 'group')) {
$return['filter'] = false;
} else {
// do not show button or select a tab when viewing someone else's posts
$return['filter_context'] = 'none';
}
}
$list = "<div id='filter-dropdown' class='clearfix blog-filter'><span>" . elgg_echo('blog:sort') . "</span><a href=''>" . $currentSort . "</a>\n\t\t\t<ul>\n\t\t\t\t<li>" . elgg_view('output/url', array('href' => 'blog/group/' . $container->guid . '/all?order=DESC', 'text' => '' . elgg_echo('hj:forum:latest') . '')) . "</li>\n\t\t\t\t<li>" . elgg_view('output/url', array('href' => 'blog/group/' . $container->guid . '/all?order=ASC', 'text' => '' . elgg_echo('hj:forum:oldest') . '')) . "</li>\n\t\t\t</ul>\n\t\t</div>";
} else {
$return['filter_context'] = 'all';
$return['title'] = elgg_echo('blog:title:all_blogs');
elgg_pop_breadcrumb();
elgg_push_breadcrumb(elgg_echo('blog:blogs'));
}
elgg_register_title_button();
// show all posts for admin or users looking at their own blogs
// show only published posts for other users.
$show_only_published = true;
if ($current_user) {
if ($current_user->guid == $container_guid || $current_user->isAdmin()) {
$show_only_published = false;
}
}
if ($show_only_published) {
$options['metadata_name_value_pairs'] = array(array('name' => 'status', 'value' => 'published'));
}
$list .= elgg_list_entities_from_metadata($options);
if (!$list) {
$return['content'] = elgg_echo('blog:none');
} else {
$return['content'] = $list;
}
return $return;
}
开发者ID:amcfarlane1251,项目名称:ongarde,代码行数:62,代码来源:blog.php
示例3: blog_get_page_content_list
/**
* Get page components to list a user's or all blogs.
*
* @param int $container_guid The GUID of the page owner or NULL for all blogs
* @return array
*/
function blog_get_page_content_list($container_guid = NULL)
{
$return = array();
$return['filter_context'] = $container_guid ? 'mine' : 'all';
$options = array('type' => 'object', 'subtype' => 'blog', 'full_view' => false);
$current_user = elgg_get_logged_in_user_entity();
if ($container_guid) {
// access check for closed groups
group_gatekeeper();
// COLDTRICK: FIXES listing of users blogs
$container = get_entity($container_guid);
if ($container instanceof ElggGroup) {
$options['container_guid'] = $container_guid;
} else {
$options['owner_guid'] = $container_guid;
}
$return['title'] = elgg_echo('blog:title:user_blogs', array($container->name));
$crumbs_title = $container->name;
elgg_push_breadcrumb($crumbs_title);
if ($current_user && $container_guid == $current_user->guid) {
$return['filter_context'] = 'mine';
} else {
if (elgg_instanceof($container, 'group')) {
$return['filter'] = false;
} else {
// do not show button or select a tab when viewing someone else's posts
$return['filter_context'] = 'none';
}
}
} else {
$return['filter_context'] = 'all';
$return['title'] = elgg_echo('blog:title:all_blogs');
elgg_pop_breadcrumb();
elgg_push_breadcrumb(elgg_echo('blog:blogs'));
}
elgg_register_title_button();
// show all posts for admin or users looking at their own blogs
// show only published posts for other users.
$show_only_published = true;
if ($current_user) {
if ($current_user->guid == $container_guid || $current_user->isAdmin()) {
$show_only_published = false;
}
}
if ($show_only_published) {
$options['metadata_name_value_pairs'] = array(array('name' => 'status', 'value' => 'published'));
}
$list = elgg_list_entities_from_metadata($options);
if (!$list) {
$return['content'] = elgg_echo('blog:none');
} else {
$return['content'] = $list;
}
return $return;
}
开发者ID:pleio,项目名称:subsite_manager,代码行数:61,代码来源:blog.php
示例4: podcasts_get_page_content_list
/**
* Get page components to list a user's or all podcast episodes.
*
* @param int $container_guid The GUID of the page owner or NULL for all podcasts
*
* @return array
*/
function podcasts_get_page_content_list($container_guid = NULL)
{
$return = array();
$return['filter_context'] = $container_guid ? 'mine' : 'all_episodes';
$options = array('type' => 'object', 'subtype' => 'podcast', 'full_view' => false, 'podcast_list_class' => 'elgg-list-podcast-episodes', 'podcast_item_class' => 'elgg-podcast-episode');
$current_user = elgg_get_logged_in_user_entity();
if ($container_guid) {
// access check for closed groups
group_gatekeeper();
$options['container_guid'] = $container_guid;
$container = get_entity($container_guid);
if (!$container) {
}
$return['title'] = elgg_echo('podcasts:title:owner_podcasts', array($container->name));
$crumbs_title = $container->name;
elgg_push_breadcrumb($crumbs_title);
if ($current_user && $container_guid == $current_user->guid) {
$return['filter_context'] = 'mine';
} else {
if (elgg_instanceof($container, 'group')) {
$return['filter'] = false;
} else {
// do not show button or select a tab when viewing someone else's podcasts
$return['filter_context'] = 'none';
}
}
// Default feed
$return['feed_description'] = elgg_echo('podcasts:feed:description', array($container->name));
elgg_extend_view('page/elements/owner_block', 'podcasts/info_sidebar', 1);
//$return['sidebar'] = elgg_view('podcasts/info_sidebar');
} else {
set_input('show_podcast_container', 1);
$return['filter_context'] = 'all';
$return['title'] = elgg_echo('podcasts:title:allpodcastepisodes');
elgg_pop_breadcrumb();
elgg_push_breadcrumb(elgg_echo('podcasts'), 'podcasts/all');
elgg_push_breadcrumb(elgg_echo('podcasts:filter:allepisodes'));
}
elgg_register_title_button();
$list = elgg_list_entities($options, 'elgg_get_entities_from_metadata', 'podcasts_list');
if ($list) {
$return['content'] = $list;
} else {
if (elgg_get_viewtype() == 'default') {
$return['content'] = elgg_echo('podcasts:episodes:none');
}
}
return $return;
}
开发者ID:amcfarlane1251,项目名称:ongarde,代码行数:56,代码来源:podcasts.php
示例5: gvchat_page_handler
/**
* gvchat page handler
* isegoria chat: chat
* group chat: chat/group/<guid>
*/
function gvchat_page_handler($page)
{
$pages = dirname(__FILE__) . '/pages';
if (isset($page[0])) {
switch ($page[0]) {
case 'group':
if (isset($page[1])) {
group_gatekeeper();
set_input('groupguid', $page[1]);
include "{$pages}/group.php";
}
break;
default:
return false;
}
} else {
include "{$pages}/isegoria.php";
}
return true;
}
开发者ID:remy40,项目名称:gvrs,代码行数:25,代码来源:start.php
示例6: messageboard_page_handler
/**
* Messageboard dispatcher for flat message board.
* Profile (and eventually group) widgets handle their own.
*
* URLs take the form of
* User's messageboard: messageboard/owner/<username>
* Y's history of posts on X's board: messageboard/owner/<X>/history/<Y>
* New post: messageboard/add/<guid> (container: user or group)
* Group messageboard: messageboard/group/<guid>/all (not implemented)
*
* @param array $page Array of page elements
* @return bool
*/
function messageboard_page_handler($page)
{
$new_section_one = array('owner', 'add', 'group');
// if the first part is a username, forward to new format
if (isset($page[0]) && !in_array($page[0], $new_section_one) && get_user_by_username($page[0])) {
register_error(elgg_echo("changebookmark"));
$url = "messageboard/owner/{$page[0]}";
forward($url);
}
$pages = dirname(__FILE__) . '/pages/messageboard';
switch ($page[0]) {
case 'owner':
//@todo if they have the widget disabled, don't allow this.
$owner_name = elgg_extract(1, $page);
$owner = get_user_by_username($owner_name);
set_input('page_owner_guid', $owner->guid);
$history = elgg_extract(2, $page);
$username = elgg_extract(3, $page);
if ($history && $username) {
set_input('history_username', $username);
}
include "{$pages}/owner.php";
break;
case 'add':
$container_guid = elgg_extract(1, $page);
set_input('container_guid', $container_guid);
include "{$pages}/add.php";
break;
case 'group':
group_gatekeeper();
$owner_guid = elgg_extract(1, $page);
set_input('page_owner_guid', $owner_guid);
include "{$pages}/owner.php";
break;
default:
return false;
}
return true;
}
开发者ID:nogsus,项目名称:Elgg,代码行数:52,代码来源:start.php
示例7: wespot_msg_page_handler
/**
* ARLean Message Board dispatcher for flat message board.
*
* Group messageboard: wespot_msg/group/<guid>/all
*
* @param array $page Array of page elements
* @return bool
*/
function wespot_msg_page_handler($page)
{
elgg_load_library('elgg:wespot_arlearn');
elgg_load_library('elgg:wespot_msg');
$pages = dirname(__FILE__) . '/pages/wespot_msg';
//elgg_load_library('elgg:wespot_arlearnservices');
switch ($page[0]) {
case 'group':
group_gatekeeper();
$owner_guid = elgg_extract(1, $page);
elgg_set_page_owner_guid($owner_guid);
//nasko
set_input('page_owner_guid', $owner_guid);
$threadId = elgg_extract(2, $page);
set_input('threadId', $threadId);
include "{$pages}/group.php";
break;
default:
return false;
}
return true;
}
开发者ID:aggeorgiev,项目名称:wespot_msg,代码行数:30,代码来源:start.php
示例8: gvthewire_route_handler
function gvthewire_route_handler($hook, $type, $return_value, $params)
{
/**
* $return_value contains:
* $return_value['handler'] => requested handler
* $return_value['segments'] => url parts ($page)
*/
$result = $return_value;
if (!empty($return_value) && is_array($return_value)) {
$page = $return_value['segments'];
$base_dir = elgg_get_plugins_path() . 'gvthewire/pages/';
switch ($page[0]) {
case "group":
if (isset($page[1])) {
group_gatekeeper();
set_input('container_guid', $page[1]);
include "{$base_dir}/group.php";
$result = false;
}
break;
case "owner":
include "{$base_dir}/owner.php";
$result = false;
break;
case "all":
case "friends":
// remove this url to avoid sitewite thewire access
forward(REFERER);
$result = false;
break;
default:
break;
}
}
return $result;
}
开发者ID:remy40,项目名称:gvrs,代码行数:36,代码来源:start.php
示例9: event_calendar_page_handler
/**
* Dispatches event calendar pages.
*
* URLs take the form of
* Site event calendar: event_calendar/list/<start_date>/<display_mode>/<filter_context>/<region>
* Single event: event_calendar/view/<event_guid>/<title>
* New event: event_calendar/add
* Edit event: event_calendar/edit/<event_guid>
* Group event calendar: event_calendar/group/<group_guid>/<start_date>/<display_mode>/<filter_context>/<region>
* Add group event: event_calendar/add/<group_guid>
* Review requests: event_calendar/review_requests/<event_guid>
* Display event subscribers: event_calendar/display_users/<event_guid>
* Events for a user's calendar: event_calendar/owner/<username>/<start_date>/<display_mode>/<filter_context>/<region>
*
* Title is ignored
*
* @param array $page
* @return NULL
*/
function event_calendar_page_handler($page)
{
elgg_load_library('elgg:event_calendar');
$page_type = $page[0];
switch ($page_type) {
case 'list':
if (isset($page[1])) {
$start_date = $page[1];
if (isset($page[2])) {
$display_mode = $page[2];
if (isset($page[3])) {
$filter_mode = $page[3];
if (isset($page[4])) {
$region = $page[4];
} else {
$region = '';
}
} else {
$filter_mode = '';
}
} else {
$display_mode = '';
}
} else {
$start_date = 0;
}
echo event_calendar_get_page_content_list($page_type, 0, $start_date, $display_mode, $filter_mode, $region);
break;
case 'view':
echo event_calendar_get_page_content_view($page[1]);
break;
case 'view_light_box':
echo event_calendar_get_page_content_view($page[1], TRUE);
break;
case 'display_users':
echo event_calendar_get_page_content_display_users($page[1]);
break;
case 'manage_users':
echo event_calendar_get_page_content_manage_users($page[1]);
break;
case 'schedule':
case 'add':
if (isset($page[1])) {
group_gatekeeper();
$group_guid = $page[1];
} else {
gatekeeper();
$group_guid = 0;
}
echo event_calendar_get_page_content_edit($page_type, $group_guid, $page[2]);
break;
case 'edit':
gatekeeper();
echo event_calendar_get_page_content_edit($page_type, $page[1]);
break;
case 'group':
group_gatekeeper();
if (isset($page[1])) {
$group_guid = $page[1];
if (isset($page[2])) {
$start_date = $page[2];
if (isset($page[3])) {
$display_mode = $page[3];
if (isset($page[4])) {
$filter_mode = $page[4];
if (isset($page[5])) {
$region = $page[5];
} else {
$region = '';
}
} else {
$filter_mode = '';
}
} else {
$display_mode = '';
}
} else {
$start_date = '';
}
} else {
$group_guid = 0;
//.........这里部分代码省略.........
开发者ID:amcfarlane1251,项目名称:ongarde,代码行数:101,代码来源:start.php
示例10: bookmarks_page_handler
/**
* 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>/all
* 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');
// 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;
}
开发者ID:redvabel,项目名称:Vabelgg,代码行数:73,代码来源:start.php
示例11: discussion_handle_view_page
/**
* View a discussion topic
*
* @param int $guid GUID of topic
*/
function discussion_handle_view_page($guid)
{
// We now have RSS on topics
global $autofeed;
$autofeed = true;
$topic = get_entity($guid);
if (!$topic) {
register_error(elgg_echo('noaccess'));
$_SESSION['last_forward_from'] = current_page_url();
forward('');
}
$group = $topic->getContainerEntity();
if (!$group) {
register_error(elgg_echo('group:notfound'));
forward();
}
elgg_set_page_owner_guid($group->getGUID());
group_gatekeeper();
elgg_push_breadcrumb($group->name, "discussion/owner/{$group->guid}");
elgg_push_breadcrumb($topic->title);
$content = elgg_view_entity($topic, array('full_view' => true));
if ($topic->status == 'closed') {
$content .= elgg_view('discussion/replies', array('entity' => $topic, 'show_add_form' => false));
$content .= elgg_view('discussion/closed');
} elseif ($group->canWriteToContainer(0, 'object', 'groupforumtopic') || elgg_is_admin_logged_in()) {
$content .= elgg_view('discussion/replies', array('entity' => $topic, 'show_add_form' => true));
} else {
$content .= elgg_view('discussion/replies', array('entity' => $topic, 'show_add_form' => false));
}
$params = array('content' => $content, 'title' => $topic->title, 'sidebar' => elgg_view('discussion/sidebar'), 'filter' => '');
$body = elgg_view_layout('content', $params);
echo elgg_view_page($topic->title, $body);
}
开发者ID:xingcuntian,项目名称:threads,代码行数:38,代码来源:discussion.php
示例12: page_handler
/**
* Categories page handler
*
* @param array $page Array of url segments
* @return boolean
*/
function page_handler($page)
{
switch ($page[0]) {
case 'all':
$container = get_entity($page[1]);
if (!elgg_instanceof($container)) {
$container = elgg_get_site_entity();
}
elgg_push_breadcrumb(elgg_echo('categories'));
$title = elgg_echo('categories');
$content = elgg_view('framework/categories/all', array('container' => $container));
$layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'filter' => false));
echo elgg_view_page($title, $layout);
return true;
break;
// categories/manage/$container_guid
// categories/manage/$container_guid
case 'manage':
$container = get_entity($page[1]);
if (!elgg_instanceof($container)) {
$container = elgg_get_site_entity();
}
// Categories can only be contained by the site or a group
if (!elgg_instanceof($container, 'site') && !elgg_instanceof($container, 'group')) {
return false;
}
// User should be able to edit an entity to add categories to it
if (!$container->canEdit()) {
return false;
}
if (elgg_instanceof($container, 'group')) {
elgg_set_page_owner_guid($container->guid);
$title = elgg_echo('categories:group', array($container->name));
$layout = 'one_sidebar';
$shell = 'default';
} else {
elgg_set_context('admin');
$title = elgg_echo('categories:site');
$layout = 'admin';
$shell = 'admin';
}
$content = elgg_view_form('categories/manage', array('enctype' => 'multipart/form-data'), array('container' => $container));
$layout = elgg_view_layout($layout, array('title' => $title, 'content' => $content));
echo elgg_view_page($title, $layout, $shell);
return true;
break;
case 'view':
$guid = elgg_extract(1, $page);
$entity = get_entity($guid);
if (!elgg_instanceof($entity, 'object', HYPECATEGORIES_SUBTYPE)) {
return false;
}
$crumbs = get_hierarchy($entity->guid, false);
if ($crumbs) {
foreach ($crumbs as $crumb) {
if (elgg_instanceof($crumb)) {
elgg_push_breadcrumb($crumb->title, $crumb->getURL());
$container = $crumb->getContainerEntity();
if (elgg_instanceof($container, 'group')) {
elgg_set_page_owner_guid($container->guid);
}
}
}
}
elgg_push_breadcrumb($entity->title);
$title = elgg_echo('categories:category', array($entity->title));
$content = elgg_view_entity($entity, array('full_view' => true));
$sidebar = elgg_view('framework/categories/filter', array('entity' => $entity));
$layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'sidebar' => $sidebar, 'filter' => false));
echo elgg_view_page($title, $layout);
return true;
break;
case 'group':
if (!HYPECATEGORIES_GROUP_CATEGORIES) {
return false;
}
$group_guid = elgg_extract(1, $page);
$guid = elgg_extract(2, $page);
$entity = get_entity($guid);
elgg_set_page_owner_guid($group_guid);
group_gatekeeper();
if (!elgg_instanceof($entity, 'object', HYPECATEGORIES_SUBTYPE)) {
return false;
}
$crumbs = get_hierarchy($entity->guid, false);
if ($crumbs) {
foreach ($crumbs as $crumb) {
elgg_push_breadcrumb($crumb->title, $crumb->getURL());
}
}
elgg_push_breadcrumb($entity->title);
$title = elgg_echo('categories:category', array($entity->title));
$content = elgg_view_entity($entity, array('full_view' => true));
$layout = elgg_view_layout('content', array('title' => $title, 'content' => $content, 'filter' => false));
//.........这里部分代码省略.........
开发者ID:amcfarlane1251,项目名称:ongarde,代码行数:101,代码来源:page_handlers.php
示例13: answers_page_handler
/**
* Dispatcher for answers.
*
* URLs take the form of
* All questions: answers/all
* User's questions: answers/owner/<username>
* Friends' questions: answers/friends/<username>
* View questions: answers/view/<guid>/<title>
* New questions: answers/add/<guid> (container: user, group, parent)
* Edit questions: answers/edit/<guid>
* Group questions: answers/group/<guid>/all
*
* Title is ignored
* @param array $page From the page_handler function
* @return true|false Depending on success
*/
function answers_page_handler($page)
{
elgg_load_library('answers:utilities');
if (!isset($page[0])) {
$page[0] = 'all';
}
elgg_push_breadcrumb(elgg_echo('answers'), 'answers/all');
$pages = dirname(__FILE__) . '/pages/answers';
switch ($page[0]) {
case "read":
case "view":
set_input('question_id', $page[1]);
include "{$pages}/view.php";
break;
case "owner":
include "{$pages}/owner.php";
break;
case "friends":
include "{$pages}/friends.php";
break;
case "add":
gatekeeper();
include "{$pages}/add.php";
break;
case "edit":
set_input('question_guid', $page[1]);
gatekeeper();
include "{$pages}/edit.php";
break;
case "group":
group_gatekeeper();
include "{$pages}/owner.php";
break;
case "all":
case "world":
include "{$pages}/world.php";
break;
default:
return false;
break;
}
return true;
}
开发者ID:hejosadi,项目名称:PiGo-LMS,代码行数:59,代码来源:start.php
示例14: groups_handle_members_page
/**
* Group members page
*
* @param int $guid Group entity GUID
*/
function groups_handle_members_page($guid)
{
elgg_set_page_owner_guid($guid);
$group = get_entity($guid);
if (!$group || !elgg_instanceof($group, 'group')) {
forward();
}
group_gatekeeper();
$title = elgg_echo('groups:members:title', array($group->name));
elgg_push_breadcrumb($group->name, $group->getURL());
elgg_push_breadcrumb(elgg_echo('groups:members'));
$content = elgg_list_entities_from_relationship(array('relationship' => 'member', 'relationship_guid' => $group->guid, 'inverse_relationship' => true, 'types' => 'user', 'limit' => 20));
$params = array('content' => $content, 'title' => $title, 'filter' => '');
$body = elgg_view_layout('content', $params);
echo elgg_view_page($title, $body);
}
开发者ID:redvabel,项目名称:Vabelgg,代码行数:21,代码来源:groups.php
示例15: simplekaltura_page_handler
/**
* Serves pages for URLs like:
*
* All videos: videos/all
* User's videos: videos/owner/<username>
* Friends' videos: videos/friends/<username>
* View video: videos/view/<guid>/<title>
* New video: videos/add/<guid>
* Edit video: videos/edit/<guid>
* Group videos: videos/group/<guid>/owner
*
* @param string $page
*/
function simplekaltura_page_handler($page)
{
elgg_push_context('simplekaltura');
elgg_push_breadcrumb(elgg_echo('videos'), 'videos');
if (!isset($page[0])) {
$page[0] = 'all';
}
$page_type = $page[0];
$pages_dir = dirname(__FILE__) . '/pages/simplekaltura';
switch ($page_type) {
case 'owner':
include "{$pages_dir}/owner.php";
break;
case 'friends':
include "{$pages_dir}/friends.php";
break;
case 'view':
set_input('guid', elgg_extract(1, $page));
include "{$pages_dir}/view.php";
break;
case 'add':
gatekeeper();
group_gatekeeper();
include "{$pages_dir}/add.php";
break;
case 'edit':
set_input('guid', elgg_extract(1, $page));
include "{$pages_dir}/edit.php";
break;
case 'group':
group_gatekeeper();
include "{$pages_dir}/owner.php";
break;
case 'all':
default:
include "{$pages_dir}/all.php";
break;
}
return true;
}
开发者ID:beck24,项目名称:Simplekaltura,代码行数:53,代码来源:start.php
示例16: page_handler
/**
* Digital products pagehandler
*
* @param array $page Array of URL segments
* @param string $handler Handler name
* @return boolean
*/
function page_handler($page, $handler)
{
elgg_push_breadcrumb(elgg_echo('places'), $handler);
$context = elgg_extract(0, $page, 'all');
switch ($context) {
case 'all':
case 'featured':
elgg_register_title_button('places', 'create');
$title = elgg_echo("places:{$context}");
elgg_push_breadcrumb($title);
$vars = array('filter_context' => $context);
$content = elgg_view('framework/places/list', $vars);
$filter = elgg_view('framework/places/filter', $vars);
$sidebar = elgg_view('framework/places/sidebar', $vars);
break;
case 'owner':
$username = $page[1];
if ($username) {
$user = get_user_by_username($username);
} else {
if (elgg_is_logged_in()) {
$user = elgg_get_logged_in_user_entity();
}
}
elgg_set_page_owner_guid($user->guid);
if (elgg_get_logged_in_user_guid() == $user->guid) {
elgg_register_title_button('places', 'create');
$title = elgg_echo('places:mine');
} else {
$title = elgg_echo('places:owner', array($user->name));
}
elgg_push_breadcrumb($user->name, $handler . '/owner/' . $user->username);
$vars = array('filter_context' => $context);
$content = elgg_view('framework/places/list', $vars);
$filter = elgg_view('framework/places/filter', $vars);
$sidebar = elgg_view('framework/places/sidebar', $vars);
break;
case 'group':
$group = get_entity($page[1]);
if (!elgg_instanceof($group, 'group')) {
return false;
}
elgg_set_page_owner_guid($group->guid);
if ($group->canWriteToContainer(0, 'object', Place::SUBTYPE)) {
elgg_register_title_button('places', 'create');
}
elgg_push_breadcrumb($group->name, $handler . '/group/' . $group->guid);
$content = elgg_view('framework/places/group', $vars);
$filter = false;
$sidebar = false;
break;
case 'bookmarked':
gatekeeper();
$username = $page[1];
if ($username) {
$user = get_user_by_username($username);
} else {
if (elgg_is_logged_in()) {
$user = elgg_get_logged_in_user_entity();
}
}
if (!$user->canEdit()) {
return false;
}
elgg_set_page_owner_guid($user->guid);
if (elgg_get_logged_in_user_guid() == $user->guid) {
elgg_register_title_button('places', 'create');
$title = elgg_echo('places:bookmarked:mine');
} else {
$title = elgg_echo('places:bookmarked:owner', array($user->name));
}
elgg_push_breadcrumb($user->name, $handler . '/owner/' . $user->username);
elgg_push_breadcrumb($title, $handler . '/bookmarked/' . $user->username);
$vars = array('filter_context' => $context);
$content = elgg_view('framework/places/list', $vars);
$filter = elgg_view('framework/places/filter', $vars);
$sidebar = elgg_view('framework/places/sidebar', $vars);
break;
case 'view':
case 'profile':
$entity_guid = $page[1];
$entity = get_entity($entity_guid);
if (!$entity instanceof Place) {
return false;
}
$container = $entity->getContainerEntity();
if (elgg_instanceof($container, 'group')) {
elgg_set_page_owner_guid($container->guid);
group_gatekeeper(true);
elgg_push_breadcrumb($container->name, $handler . '/group/' . $container->guid);
} else {
$owner = $entity->getOwnerEntity();
elgg_push_breadcrumb($owner->name, $handler . '/owner/' . $owner->username);
//.........这里部分代码省略.........
开发者ID:hypejunction,项目名称:hypeplaces,代码行数:101,代码来源:page_handlers.php
示例17: questions_page_handler
function questions_page_handler($segments)
{
elgg_push_breadcrumb(elgg_echo('questions'), "/questions/all");
$pages = dirname(__FILE__) . "/pages/questions";
switch ($segments[0]) {
case "all":
include "{$pages}/all.php";
break;
case "owner":
include "{$pages}/owner.php";
break;
case "friends":
gatekeeper();
include "{$pages}/friends.php";
break;
case "view":
set_input('guid', $segments[1]);
include "{$pages}/view.php";
break;
case "add":
gatekeeper();
include "{$pages}/add.php";
break;
case "edit":
gatekeeper();
set_input('guid', $segments[1]);
include "{$pages}/edit.php";
break;
case 'group':
group_gatekeeper();
include "{$pages}/owner.php";
break;
default:
return false;
}
elgg_pop_context();
return true;
}
开发者ID:rickterheide,项目名称:elgg-questions,代码行数:38,代码来源:start.php
示例18: amapnews_page_handler
/**
* Dispatches amapnews pages.
*
* @param array $page
* @return bool
*/
function amapnews_page_handler($page)
{
elgg_push_breadcrumb(elgg_echo('amapnews'), 'news');
if (!isset($page[0])) {
$page[0] = 'all';
}
$vars = array();
$vars['page'] = $page[0];
$resource_vars = array();
switch ($page[0]) {
case "add":
$resource_vars['guid'] = elgg_extract(1, $page);
echo elgg_view_resource('amapnews/add', $resource_vars);
break;
case "photo_view":
$resource_vars['guid'] = elgg_extract(1, $page);
$resource_vars['size'] = elgg_extract(2, $page);
$resource_vars['tu'] = elgg_extract(3, $page);
$resource_vars['ia'] = elgg_extract(4, $page);
echo elgg_view_resource('amapnews/photo_view', $resource_vars);
break;
case "add_existed":
$resource_vars['cguid'] = elgg_extract(1, $page);
echo elgg_view_resource('amapnews/add_existed', $resource_vars);
|
请发表评论