register_notification_object('object', 'blog', elgg_echo('blog:newpost'));
elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'blog_notify_message');
- elgg_register_plugin_hook_handler('register', 'menu:user_ownerblock', 'blog_user_ownerblock_menu');
+ elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'blog_owner_block_menu');
// pingbacks
//elgg_register_event_handler('create', 'object', 'blog_incoming_ping');
}
/**
- * Add a menu item to the user ownerblock
+ * Add a menu item to an ownerblock
*/
-function blog_user_ownerblock_menu($hook, $type, $return, $params) {
- $item = new ElggMenuItem('blog', elgg_echo('blog'), "pg/blog/owner/{$params['user']->username}");
- elgg_register_menu_item('user_ownerblock', $item);
+function blog_owner_block_menu($hook, $type, $return, $params) {
+ if (elgg_instanceof($params['entity'], 'user')) {
+ $url = "pg/blog/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('blog', elgg_echo('blog'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ } else {
+ if ($params['entity']->blog_enable != "no") {
+ $url = "pg/blog/group/{$params['entity']->guid}/owner";
+ $item = new ElggMenuItem('blog', elgg_echo('blog:group'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ }
+ }
}
/**
$group = elgg_get_page_owner();
+if ($group->blog_enable == "no") {
+ return true;
+}
+
$all_link = elgg_view('output/url', array(
'href' => "pg/blog/group/$group->guid/owner",
'text' => elgg_echo('link:view:all'),
'bookmarks:friends' => "Friends' bookmarks",
'bookmarks:all' => "All site bookmarks",
'bookmarks:user' => "%s's bookmarks",
- 'bookmarks:group' => "Bookmarks",
+ 'bookmarks:group' => "Group bookmarks",
'bookmarks:this' => "Bookmark this",
'bookmarks:ingroup' => "in the group",
'bookmarks:this:group' => "Bookmark in %s",
// Add group menu option
add_group_tool_option('bookmarks',elgg_echo('bookmarks:enablebookmarks'),true);
- elgg_register_plugin_hook_handler('register', 'menu:user_ownerblock', 'bookmarks_user_ownerblock_menu');
+ elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'bookmarks_owner_block_menu');
// Extend Groups profile page
elgg_extend_view('groups/tool_latest','bookmarks/group_bookmarks');
}
/**
- * Add a menu item to the user ownerblock
+ * Add a menu item to an ownerblock
*/
-function bookmarks_user_ownerblock_menu($hook, $type, $return, $params) {
- $item = new ElggMenuItem('bookmarks', elgg_echo('bookmarks'), "pg/bookmarks/owner/{$params['user']->username}");
- elgg_register_menu_item('user_ownerblock', $item);
+function bookmarks_owner_block_menu($hook, $type, $return, $params) {
+ if (elgg_instanceof($params['entity'], 'user')) {
+ $url = "pg/bookmarks/owner/{$params['user']->username}";
+ $item = new ElggMenuItem('bookmarks', elgg_echo('bookmarks'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ } else {
+ if ($params['entity']->bookmarks_enable != "no") {
+ $url = "pg/bookmarks/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('bookmarks', elgg_echo('bookmarks:group'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ }
+ }
}
/**
// Register entity type
register_entity_type('object','file');
- elgg_register_plugin_hook_handler('register', 'menu:user_ownerblock', 'file_user_ownerblock_menu');
+ elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'file_owner_block_menu');
// embed support
elgg_register_plugin_hook_handler('embed_get_sections', 'all', 'file_embed_get_sections');
}
- /**
- * Sets up submenus for the file system. Triggered on pagesetup.
- *
- */
- function file_submenus() {
-
- global $CONFIG;
-
- $page_owner = elgg_get_page_owner();
-
- // Group submenu option
- if ($page_owner instanceof ElggGroup && elgg_get_context() == "groups") {
- if($page_owner->file_enable != "no"){
- add_submenu_item(elgg_echo("file:group",array($page_owner->name)), $CONFIG->wwwroot . "pg/file/" . $page_owner->username);
- }
- }
- }
-
/**
* File page handler
*
/**
* Add a menu item to the user ownerblock
*/
-function file_user_ownerblock_menu($hook, $type, $return, $params) {
- $item = new ElggMenuItem('file', elgg_echo('file'), "pg/file/owner/{$params['user']->username}");
- elgg_register_menu_item('user_ownerblock', $item);
+function file_owner_block_menu($hook, $type, $return, $params) {
+ if (elgg_instanceof($params['entity'], 'user')) {
+ $url = "pg/file/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('file', elgg_echo('file'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ } else {
+ if ($params['entity']->file_enable != "no") {
+ $url = "pg/file/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('file', elgg_echo('file:group'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ }
+ }
}
/**
// Make sure test_init is called on initialisation
elgg_register_event_handler('init','system','file_init');
- elgg_register_event_handler('pagesetup','system','file_submenus');
// Register actions
elgg_register_action("file/upload", $CONFIG->pluginspath . "file/actions/upload.php");
* @package ElggGroups
*/
+$group = $vars['entity'];
+
+$icon = elgg_view("groups/icon", array(
+ 'entity' => $group,
+ 'size' => 'tiny',
+));
+
+//get the membership type
+$membership = $group->membership;
+if ($membership == ACCESS_PUBLIC) {
+ $mem = elgg_echo("groups:open");
+} else {
+ $mem = elgg_echo("groups:closed");
+}
+
+// number of members
+$num_members = '17 ' . elgg_echo('groups:member');
+
+$metadata = "<ul class=\"elgg-list-metadata\"><li>$mem</li>";
+$metadata .= "<li>$num_members</li>";
+//. " / <b>" . get_group_members($vars['entity']->guid, 10, 0, 0, true) ."</b> " . elgg_echo("groups:member");
+
+// feature link
+if (isadminloggedin()) {
+ if ($group->featured_group == "yes") {
+ $url = "action/groups/featured?group_guid={$group->guid}&action_type=unfeature";
+ $wording = elgg_echo("groups:makeunfeatured");
+ } else {
+ $url = "action/groups/featured?group_guid={$group->guid}&action_type=feature";
+ $wording = elgg_echo("groups:makefeatured");
+ }
+ $feature_link = elgg_view('output/url', array(
+ 'href' => $url,
+ 'text' => $wording,
+ 'is_action' => true,
+ ));
+ $metadata .= "<li>$feature_link</li>";
+}
+
+$metadata .= elgg_view("entity/metadata", array('entity' => $group));
+
+$metadata .= "</ul>";
+
+if (elgg_in_context('owner_block') || elgg_in_context('widgets')) {
+ $metadata = '';
+}
+
+
if ($vars['full']) {
echo elgg_view("groups/groupprofile",$vars);
} else {
- echo elgg_view("groups/grouplisting",$vars);
+ // brief view
+
+ $params = array(
+ 'entity' => $group,
+ 'metadata' => $metadata,
+ 'subtitle' => $group->briefdescription,
+ );
+ $list_body = elgg_view('layout/objects/list/body', $params);
+
+ echo elgg_view_image_block($icon, $list_body);
}
-?>
\ No newline at end of file
'write_access_id' => 'access',
);
- elgg_register_plugin_hook_handler('register', 'menu:user_ownerblock', 'pages_user_ownerblock_menu');
+ elgg_register_plugin_hook_handler('register', 'menu:owner_block', 'pages_owner_block_menu');
// register ecml views to parse
elgg_register_plugin_hook_handler('get_views', 'ecml', 'pages_ecml_views_hook');
return "pg/pages/view/{$entity->guid}/$title";
}
-/**
- * Sets up submenus for the pages system. Triggered on pagesetup.
- *
- */
-function pages_submenus() {
-
- global $CONFIG;
-
- $page_owner = elgg_get_page_owner();
-
- // Group submenu option
- if ($page_owner instanceof ElggGroup && elgg_get_context() == 'groups') {
- if($page_owner->pages_enable != "no"){
- add_submenu_item(elgg_echo("pages:group", array($page_owner->name)), "pg/pages/owned/" . $page_owner->username);
- }
- }
-}
-
/**
* Add a menu item to the user ownerblock
*/
-function pages_user_ownerblock_menu($hook, $type, $return, $params) {
- $item = new ElggMenuItem('pages', elgg_echo('pages'), "pg/pages/owner/{$params['user']->username}");
- elgg_register_menu_item('user_ownerblock', $item);
+function pages_owner_block_menu($hook, $type, $return, $params) {
+ if (elgg_instanceof($params['entity'], 'user')) {
+ $url = "pg/pages/owner/{$params['entity']->username}";
+ $item = new ElggMenuItem('pages', elgg_echo('pages'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ } else {
+ if ($params['entity']->pages_enable != "no") {
+ $url = "pg/pages/owned/group:{$vars['entity']->guid}";
+ $item = new ElggMenuItem('pages', elgg_echo('pages:group'), $url);
+ elgg_register_menu_item('owner_block', $item);
+ }
+ }
}
/**
// Make sure the pages initialisation function is called on initialisation
elgg_register_event_handler('init','system','pages_init');
-elgg_register_event_handler('pagesetup','system','pages_submenus');
\ No newline at end of file
}
// content links
-$menu = elgg_view_menu('user_ownerblock', array('user' => elgg_get_page_owner()));
+$menu = elgg_view_menu('owner_block', array('entity' => elgg_get_page_owner()));
//contruct the display
$display = <<<EOT
/* ***************************************
PAGE MENU
*************************************** */
-.elgg-sidebar .elgg-menu a {
+.elgg-page-menu a {
display: block;
-webkit-border-radius: 8px;
-moz-border-radius: 8px;
margin: 0 0 3px 0;
padding: 2px 4px 2px 8px;
}
-.elgg-sidebar .elgg-menu a:hover {
+.elgg-page-menu a:hover {
background-color: #0054A7;
color: white;
text-decoration: none;
}
-.elgg-sidebar .elgg-menu .selected a {
+.elgg-page-menu .selected a {
background-color: #4690D6;
color: white;
}
text-decoration:none;
}
+.elgg-owner-block-menu li {
+ float: left;
+ width: 50%;
+ font-size: 90%;
+}
\ No newline at end of file
/***** PAGE BODY ******/
+.elgg-page-body > .elgg-inner {
+ min-height: 360px;
+}
.elgg-classic .elgg-page-body > .elgg-inner {
width: 990px;
margin: 0 auto;
*
*/
-$contents = "";
+elgg_push_context('owner_block');
-// Are there feeds to display?
-global $autofeed;
-if (isset($autofeed) && $autofeed == true) {
- $url = full_url();
- if (substr_count($url,'?')) {
- $url .= "&view=rss";
- } else {
- $url .= "?view=rss";
- }
- $url = elgg_format_url($url);
- $label = elgg_echo('feed:rss');
- $contents .= <<<END
- <div class="rss-link clearfix"><a href="{$url}" rel="nofollow" title="{$label}">{$label}</a></div>
-END;
-}
-
-if(is_plugin_enabled('profile')) {
- // Is there a page owner?
- $owner = elgg_get_page_owner();
- if ($owner instanceof ElggGroup ||
- ($owner instanceof ElggUser && $owner->getGUID() != get_loggedin_userid())
- ) {
- $icon = elgg_view('profile/icon', array('entity' => $owner, 'size' => 'tiny'));
- $owner_url = $owner->getURL();
- $display = "<div class='owner_block_icon'>$icon</div>";
- $display .= '<div class="owner_block_contents clearfix">';
- $display .= "<h3><a href=\"$owner_url\">{$owner->name}</a></h3>";
+// groups and other users get owner block
+$owner = elgg_get_page_owner();
+if ($owner instanceof ElggGroup ||
+ ($owner instanceof ElggUser && $owner->getGUID() != get_loggedin_userid())) {
- if ($owner->briefdescription) {
- $display .= "<p class=\"profile_info briefdescription\">{$owner->briefdescription}</p>";
- }
-
- $location = elgg_view('output/tags', array('value' => $owner->location));
- $display .= "<p class=\"profile_info location\">$location</p>";
-
- $display .= '</div>';
-
- // Trigger owner block menu
- $params = array('owner' => $owner);
- $links = elgg_trigger_plugin_hook('profile_menu', 'profile', $params, array());
- if (is_array($links) && !empty($links)) {
- // sort the links by name
- usort($links, create_function(
- '$a, $b',
- 'return strnatcasecmp($a[\'text\'], $b[\'text\']);'
- ));
-
- $display .= '<div class="owners_content_links"><ul>';
- foreach ($links as $link) {
- $display .= "<li><a href=\"{$link['href']}\">{$link['text']}</a></li>";
- }
- $display .= '</ul></div>';
- }
-
- // Allow plugins to extend the owner block contents
- $display .= elgg_view('owner_block/profile_extend');
+ $header = elgg_view_entity($owner, false);
- $contents .= "<div id='owner_block' class='clearfix'>$display</div>";
- }
-}
+ $body = elgg_view_menu('owner_block', array(
+ 'entity' => $owner,
+ 'class' => 'elgg-owner-block-menu',
+ ));
-$contents .= elgg_view('owner_block/extend');
+ $body .= elgg_view('layout/elements/owner_block/extend', $vars);
+ echo elgg_view('layout/objects/module', array(
+ 'header' => $header,
+ 'body' => $body,
+ 'class' => 'elgg-owner-block',
+ ));
+}
-echo $contents;
+elgg_pop_context();
\ No newline at end of file
* @uses $vars['sidebar'] Optional content that is displayed at the bottom of sidebar
*/
+// Are there feeds to display?
+global $autofeed;
+if (isset($autofeed) && $autofeed == true) {
+ $url = full_url();
+ if (substr_count($url,'?')) {
+ $url .= "&view=rss";
+ } else {
+ $url .= "?view=rss";
+ }
+ $url = elgg_format_url($url);
+ $label = elgg_echo('feed:rss');
+ echo <<<END
+ <div class="rss-link clearfix"><a href="{$url}" rel="nofollow" title="{$label}">{$label}</a></div>
+END;
+}
+
echo elgg_view('layout/elements/owner_block');
echo elgg_view('navigation/sidebar_menu');
-echo elgg_view_menu('page', array('sort_by' => 'name'));
+echo elgg_view_menu('page', array(
+ 'sort_by' => 'name',
+ 'class' => 'elgg-page-menu',
+));
// optional 'sidebar' parameter
if (isset($vars['sidebar'])) {
$title_link = elgg_get_array_value('title', $vars, '');
if ($title_link === '') {
+ if (isset($entity->title)) {
+ $text = $entity->title;
+ } else {
+ $text = $entity->name;
+ }
$params = array(
- 'text' => $entity->title,
+ 'text' => $text,
'href' => $entity->getURL(),
);
$title_link = elgg_view('output/url', $params);
<?php
+/**
+ * Default menu
+ *
+ * @uses $vars['menu']
+ * @uses $vars['class']
+ */
+
+$class = 'elgg-menu';
+if (isset($vars['class'])) {
+ $class = "$class {$vars['class']}";
+}
foreach ($vars['menu'] as $section => $menu_items) {
- echo '<ul class="elgg-menu">';
+ echo "<ul class=\"$class\">";
foreach ($menu_items as $menu_item) {
echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
}
echo '</ul>';
-}
\ No newline at end of file
+}
* @subpackage Core
*/
-if ($vars['full']) {
- echo elgg_view("profile/userdetails",$vars);
+$user = $vars['entity'];
+
+$icon = elgg_view('profile/icon', array('entity' => $user, 'size' => 'tiny'));
+
+// Simple XFN
+$rel = '';
+if (get_loggedin_userid() == $user->guid) {
+ $rel = 'rel="me"';
+} elseif (check_entity_relationship(get_loggedin_userid(), 'friend', $user->guid)) {
+ $rel = 'rel="friend"';
+}
+
+$title = "<a href=\"" . $user->getUrl() . "\" $rel>" . $user->name . "</a>";
+
+
+$metadata = "<ul class=\"elgg-list-metadata\"><li>$user->location</li>";
+$metadata .= elgg_view("entity/metadata", array('entity' => $user));
+$metadata .= "</ul>";
+
+if (elgg_in_context('owner_block') || elgg_in_context('widgets')) {
+ $metadata = '';
+}
+
+if ($user->isBanned()) {
+ $params = array(
+ 'entity' => $user,
+ 'title' => $title,
+ 'metadata' => '<ul class="elgg-list-metadata"><li>banned</li></ul>',
+ );
} else {
- if (get_input('listtype') == "gallery") {
- echo elgg_view('profile/gallery',$vars);
- } else {
- echo elgg_view("profile/listing",$vars);
- }
+ $params = array(
+ 'entity' => $user,
+ 'title' => $title,
+ 'metadata' => $metadata,
+ 'subtitle' => $user->briefdescription,
+ 'content' => elgg_view('user/status', array('entity' => $user)),
+ );
}
+
+$list_body = elgg_view('layout/objects/list/body', $params);
+
+echo elgg_view_image_block($icon, $list_body);