diff options
Diffstat (limited to 'views/default/page')
38 files changed, 474 insertions, 299 deletions
diff --git a/views/default/page/admin.php b/views/default/page/admin.php index 0738991d3..7045edd91 100644 --- a/views/default/page/admin.php +++ b/views/default/page/admin.php @@ -5,25 +5,31 @@ * @package Elgg * @subpackage Core * - * @uses $vars['title'] The page title - * @uses $vars['body'] The main content of the page + * @uses $vars['title'] The page title + * @uses $vars['body'] The main content of the page * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages() */ -// Set the content type -header("Content-type: text/html; charset=UTF-8"); - -$messages = $vars['sysmessages']; - $notices_html = ''; -if ($notices = elgg_get_admin_notices()) { +$notices = elgg_get_admin_notices(); +if ($notices) { foreach ($notices as $notice) { $notices_html .= elgg_view_entity($notice); } - $notices_html = "<div class=\"admin_notices\">$notices_html</div>"; + $notices_html = "<div class=\"elgg-admin-notices\">$notices_html</div>"; } +// render content before head so that JavaScript and CSS can be loaded. See #4032 +$messages = elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); +$header = elgg_view('admin/header', $vars); +$body = $vars['body']; +$footer = elgg_view('admin/footer', $vars); + + +// Set the content type +header("Content-type: text/html; charset=UTF-8"); + ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> @@ -32,27 +38,29 @@ if ($notices = elgg_get_admin_notices()) { </head> <body> <div class="elgg-page elgg-page-admin"> - <div class="elgg-page-header"> - <div class="elgg-inner clearfix"> - <?php echo elgg_view('admin/header'); ?> + <div class="elgg-inner"> + <div class="elgg-page-header"> + <div class="elgg-inner clearfix"> + <?php echo $header; ?> + </div> </div> - </div> - <div class="elgg-page-messages"> - <?php echo elgg_view('page/elements/messages', array('object' => $messages)); ?> - <?php echo $notices_html; ?> - </div> - <div class="elgg-page-body"> - <div class="elgg-inner"> - <?php echo $vars['body']; ?> + <div class="elgg-page-messages"> + <?php echo $messages; ?> + <?php echo $notices_html; ?> </div> - </div> - <div class="elgg-page-footer"> - <div class="elgg-inner"> - <?php echo elgg_view('admin/footer'); ?> + <div class="elgg-page-body"> + <div class="elgg-inner"> + <?php echo $body; ?> + </div> + </div> + <div class="elgg-page-footer"> + <div class="elgg-inner"> + <?php echo $footer; ?> + </div> </div> </div> </div> - <?php echo elgg_view('footer/analytics'); ?> + <?php echo elgg_view('page/elements/foot'); ?> </body> </html>
\ No newline at end of file diff --git a/views/default/page/components/gallery.php b/views/default/page/components/gallery.php index f57cc99ba..e8b3f477e 100644 --- a/views/default/page/components/gallery.php +++ b/views/default/page/components/gallery.php @@ -2,13 +2,21 @@ /** * Gallery view * - * @uses $vars['items'] + * Implemented as an unorder list * - * @todo not complete - number of columns + * @uses $vars['items'] Array of ElggEntity or ElggAnnotation objects + * @uses $vars['offset'] Index of the first list item in complete list + * @uses $vars['limit'] Number of items per page + * @uses $vars['count'] Number of items in the complete list + * @uses $vars['pagination'] Show pagination? (default: true) + * @uses $vars['position'] Position of the pagination: before, after, or both + * @uses $vars['full_view'] Show the full view of the items (default: false) + * @uses $vars['gallery_class'] Additional CSS class for the <ul> element + * @uses $vars['item_class'] Additional CSS class for the <li> elements */ $items = $vars['items']; -if (!is_array($items) && sizeof($items) == 0) { +if (!is_array($items) || sizeof($items) == 0) { return true; } @@ -18,13 +26,20 @@ $offset = $vars['offset']; $limit = $vars['limit']; $count = $vars['count']; $pagination = elgg_extract('pagination', $vars, true); -$full_view = elgg_extract('full_view', $vars, false); $offset_key = elgg_extract('offset_key', $vars, 'offset'); $position = elgg_extract('position', $vars, 'after'); -$num_columns = 4; +$gallery_class = 'elgg-gallery'; +if (isset($vars['gallery_class'])) { + $gallery_class = "$gallery_class {$vars['gallery_class']}"; +} +$item_class = 'elgg-item'; +if (isset($vars['item_class'])) { + $item_class = "$item_class {$vars['item_class']}"; +} +$nav = ''; if ($pagination && $count) { $nav .= elgg_view('navigation/pagination', array( 'offset' => $offset, @@ -39,33 +54,20 @@ if ($position == 'before' || $position == 'both') { } ?> -<table class="elgg-gallery"> -<?php - -$col = 0; -foreach ($items as $item) { - if ($col == 0) { - echo '<tr>'; - } - $col++; - - echo '<td>'; - echo elgg_view_list_item($item, $full_view, $vars); - echo "</td>"; - - if ($col == $num_columns) { - echo '</tr>'; - $col = 0; - } -} - -if ($col > 0) { - echo '</tr>'; -} - -?> - -</table> +<ul class="<?php echo $gallery_class; ?>"> + <?php + foreach ($items as $item) { + if (elgg_instanceof($item)) { + $id = "elgg-{$item->getType()}-{$item->getGUID()}"; + } else { + $id = "item-{$item->getType()}-{$item->id}"; + } + echo "<li id=\"$id\" class=\"$item_class\">"; + echo elgg_view_list_item($item, $vars); + echo "</li>"; + } + ?> +</ul> <?php if ($position == 'after' || $position == 'both') { diff --git a/views/default/page/components/list.php b/views/default/page/components/list.php index 374922ecd..28ed58ddf 100644 --- a/views/default/page/components/list.php +++ b/views/default/page/components/list.php @@ -6,7 +6,7 @@ * * @uses $vars['items'] Array of ElggEntity or ElggAnnotation objects * @uses $vars['offset'] Index of the first list item in complete list - * @uses $vars['limit'] Number of items per page + * @uses $vars['limit'] Number of items per page. Only used as input to pagination. * @uses $vars['count'] Number of items in the complete list * @uses $vars['base_url'] Base URL of list (optional) * @uses $vars['pagination'] Show pagination? (default: true) @@ -17,23 +17,22 @@ */ $items = $vars['items']; -$offset = $vars['offset']; -$limit = $vars['limit']; -$count = $vars['count']; -$base_url = $vars['base_url']; +$offset = elgg_extract('offset', $vars); +$limit = elgg_extract('limit', $vars); +$count = elgg_extract('count', $vars); +$base_url = elgg_extract('base_url', $vars, ''); $pagination = elgg_extract('pagination', $vars, true); -$full_view = elgg_extract('full_view', $vars, false); $offset_key = elgg_extract('offset_key', $vars, 'offset'); $position = elgg_extract('position', $vars, 'after'); $list_class = 'elgg-list'; if (isset($vars['list_class'])) { - $list_class = "{$vars['list_class']} $list_class"; + $list_class = "$list_class {$vars['list_class']}"; } -$item_class = 'elgg-list-item'; +$item_class = 'elgg-item'; if (isset($vars['item_class'])) { - $item_class = "{$vars['item_class']} $item_class"; + $item_class = "$item_class {$vars['item_class']}"; } $html = ""; @@ -41,7 +40,7 @@ $nav = ""; if ($pagination && $count) { $nav .= elgg_view('navigation/pagination', array( - 'baseurl' => $base_url, + 'base_url' => $base_url, 'offset' => $offset, 'count' => $count, 'limit' => $limit, @@ -52,14 +51,15 @@ if ($pagination && $count) { if (is_array($items) && count($items) > 0) { $html .= "<ul class=\"$list_class\">"; foreach ($items as $item) { - if (elgg_instanceof($item)) { - $id = "elgg-{$item->getType()}-{$item->getGUID()}"; - } else { - $id = "item-{$item->getType()}-{$item->id}"; + $li = elgg_view_list_item($item, $vars); + if ($li) { + if (elgg_instanceof($item)) { + $id = "elgg-{$item->getType()}-{$item->getGUID()}"; + } else { + $id = "item-{$item->getType()}-{$item->id}"; + } + $html .= "<li id=\"$id\" class=\"$item_class\">$li</li>"; } - $html .= "<li id=\"$id\" class=\"$item_class\">"; - $html .= elgg_view_list_item($item, $full_view, $vars); - $html .= '</li>'; } $html .= '</ul>'; } diff --git a/views/default/page/components/list/body.php b/views/default/page/components/list/body.php deleted file mode 100644 index 578e9b9cf..000000000 --- a/views/default/page/components/list/body.php +++ /dev/null @@ -1,53 +0,0 @@ -<?php -/** - * List body - * - * Sample output - * <ul class="elgg-menu elgg-menu-metadata"><li>Public</li><li>Like this</li></ul> - * <h3><a href="">Title</a></h3> - * <p class="elgg-subtext">Posted 3 hours ago by George</p> - * <p class="elgg-tags"><a href="">one</a>, <a href="">two</a></p> - * <div class="elgg-list-content">Excerpt text</div> - * - * @uses $vars['entity'] ElggEntity - * @uses $vars['title'] Title link (optional) false = no title, '' = default - * @uses $vars['metadata'] HTML for entity metadata and actions (optional) - * @uses $vars['subtitle'] HTML for the subtitle (optional) - * @uses $vars['tags'] HTML for the tags (optional) - * @uses $vars['content'] HTML for the entity content (optional) - */ - -$entity = $vars['entity']; - -$title_link = elgg_extract('title', $vars, ''); -if ($title_link === '') { - if (isset($entity->title)) { - $text = $entity->title; - } else { - $text = $entity->name; - } - $params = array( - 'text' => $text, - 'href' => $entity->getURL(), - ); - $title_link = elgg_view('output/url', $params); -} - -$metadata = elgg_extract('metadata', $vars, ''); -$subtitle = elgg_extract('subtitle', $vars, ''); -$content = elgg_extract('content', $vars, ''); - -$tags = elgg_extract('tags', $vars, ''); -if ($tags !== false) { - $tags = elgg_view('output/tags', array('tags' => $entity->tags)); -} - -if ($metadata) { - echo $metadata; -} -echo "<h3>$title_link</h3>"; -echo "<div class=\"elgg-subtext\">$subtitle</div>"; -echo $tags; -if ($content) { - echo "<div class=\"elgg-list-content\">$content</div>"; -} diff --git a/views/default/page/components/module.php b/views/default/page/components/module.php index f7b9da59c..7e1eaff20 100644 --- a/views/default/page/components/module.php +++ b/views/default/page/components/module.php @@ -2,10 +2,10 @@ /** * Elgg module element * - * @uses $vars['title'] Title text - * @uses $vars['header'] HTML content of the header + * @uses $vars['title'] Optional title text (do not pass header with this option) + * @uses $vars['header'] Optional HTML content of the header * @uses $vars['body'] HTML content of the body - * @uses $vars['footer'] HTML content of the footer + * @uses $vars['footer'] Optional HTML content of the footer * @uses $vars['class'] Optional additional class for module * @uses $vars['id'] Optional id for module * @uses $vars['show_inner'] Optional flag to leave out inner div (default: false) @@ -29,19 +29,15 @@ if (isset($vars['id'])) { } if (isset($vars['header'])) { - if ($vars['header']) { - $header = "<div class=\"elgg-head\">$header</div>"; - } -} else { + $header = "<div class=\"elgg-head\">$header</div>"; +} elseif ($title) { $header = "<div class=\"elgg-head\"><h3>$title</h3></div>"; } $body = "<div class=\"elgg-body\">$body</div>"; -if (isset($vars['footer'])) { - if ($vars['footer']) { - $footer = "<div class=\"elgg-foot\">$footer</div>"; - } +if ($footer) { + $footer = "<div class=\"elgg-foot\">$footer</div>"; } $contents = $header . $body . $footer; diff --git a/views/default/page/components/summary.php b/views/default/page/components/summary.php new file mode 100644 index 000000000..ea61a6e4b --- /dev/null +++ b/views/default/page/components/summary.php @@ -0,0 +1,4 @@ +<?php + +// Deprecated in favor of type/elements/summary +echo elgg_view('object/elements/summary', $vars); diff --git a/views/default/page/default.php b/views/default/page/default.php index a7190c90e..567494d0c 100644 --- a/views/default/page/default.php +++ b/views/default/page/default.php @@ -6,60 +6,71 @@ * @package Elgg * @subpackage Core * - * @uses $vars['title'] The page title - * @uses $vars['body'] The main content of the page + * @uses $vars['title'] The page title + * @uses $vars['body'] The main content of the page * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages() */ // backward compatability support for plugins that are not using the new approach -// of routing through pg/admin. See reportedcontent plugin for a simple example. +// of routing through admin. See reportedcontent plugin for a simple example. if (elgg_get_context() == 'admin') { - elgg_deprecated_notice("admin plugins should route through pg/admin.", 1.8); + if (get_input('handler') != 'admin') { + elgg_deprecated_notice("admin plugins should route through 'admin'.", 1.8); + } elgg_admin_add_plugin_settings_menu(); elgg_unregister_css('elgg'); - echo elgg_view('page/shells/admin', $vars); + echo elgg_view('page/admin', $vars); return true; } +// render content before head so that JavaScript and CSS can be loaded. See #4032 +$topbar = elgg_view('page/elements/topbar', $vars); +$messages = elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); +$header = elgg_view('page/elements/header', $vars); +$body = elgg_view('page/elements/body', $vars); +$footer = elgg_view('page/elements/footer', $vars); + // Set the content type header("Content-type: text/html; charset=UTF-8"); +$lang = get_current_language(); + ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $lang; ?>" lang="<?php echo $lang; ?>"> <head> <?php echo elgg_view('page/elements/head', $vars); ?> </head> <body> <div class="elgg-page elgg-page-default"> <div class="elgg-page-messages"> - <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?> + <?php echo $messages; ?> </div> - <?php if (elgg_is_logged_in()): ?> + <?php if (elgg_is_logged_in()){ ?> <div class="elgg-page-topbar"> <div class="elgg-inner"> - <?php echo elgg_view('page/elements/topbar', $vars); ?> + <?php echo $topbar; ?> </div> </div> - <?php endif; ?> + <?php } ?> <div class="elgg-page-header"> <div class="elgg-inner"> - <?php echo elgg_view('page/elements/header', $vars); ?> + <?php echo $header; ?> </div> </div> <div class="elgg-page-body"> <div class="elgg-inner"> - <?php echo elgg_view('page/elements/body', $vars); ?> + <?php echo $body; ?> </div> </div> <div class="elgg-page-footer"> <div class="elgg-inner"> - <?php echo elgg_view('page/elements/footer', $vars); ?> + <?php echo $footer; ?> </div> </div> </div> -<?php echo elgg_view('footer/analytics'); ?> +<?php echo elgg_view('page/elements/foot'); ?> </body> </html>
\ No newline at end of file diff --git a/views/default/page/elements/comments.php b/views/default/page/elements/comments.php index 3d44f5785..97cb9574e 100644 --- a/views/default/page/elements/comments.php +++ b/views/default/page/elements/comments.php @@ -5,19 +5,25 @@ * @uses $vars['entity'] ElggEntity * @uses $vars['show_add_form'] Display add form or not * @uses $vars['id'] Optional id for the div + * @uses $vars['class'] Optional additional class for the div */ $show_add_form = elgg_extract('show_add_form', $vars, true); $id = ''; if (isset($vars['id'])) { - $id = "id =\"{$vars['id']}\""; + $id = "id=\"{$vars['id']}\""; +} + +$class = 'elgg-comments'; +if (isset($vars['class'])) { + $class = "$class {$vars['class']}"; } // work around for deprecation code in elgg_view() unset($vars['internalid']); -echo "<div $id class=\"elgg-comments\">"; +echo "<div $id class=\"$class\">"; $options = array( 'guid' => $vars['entity']->getGUID(), @@ -25,14 +31,12 @@ $options = array( ); $html = elgg_list_annotations($options); if ($html) { - echo '<h3>Comments</h3>'; + echo '<h3>' . elgg_echo('comments') . '</h3>'; echo $html; } -//echo strlen($html); if ($show_add_form) { - $form_vars = array('name' => 'elgg_add_comment'); - echo elgg_view_form('comments/add', $form_vars, $vars); + echo elgg_view_form('comments/add', array(), $vars); } echo '</div>'; diff --git a/views/default/page/elements/comments_block.php b/views/default/page/elements/comments_block.php new file mode 100644 index 000000000..d0f8ab809 --- /dev/null +++ b/views/default/page/elements/comments_block.php @@ -0,0 +1,45 @@ +<?php +/** + * Display the latest related comments + * + * Generally used in a sidebar. Does not work with groups currently. + * + * @uses $vars['subtypes'] Object subtype string or array of subtypes + * @uses $vars['owner_guid'] The owner of the content being commented on + * @uses $vars['limit'] The number of comments to display + */ + +$owner_guid = elgg_extract('owner_guid', $vars, ELGG_ENTITIES_ANY_VALUE); +if (!$owner_guid) { + $owner_guid = ELGG_ENTITIES_ANY_VALUE; +} + +$owner_entity = get_entity($owner_guid); +if ($owner_entity && elgg_instanceof($owner_entity, 'group')) { + // not supporting groups so return + return true; +} + +$options = array( + 'annotation_name' => 'generic_comment', + 'owner_guid' => $owner_guid, + 'reverse_order_by' => true, + 'limit' => elgg_extract('limit', $vars, 4), + 'type' => 'object', + 'subtypes' => elgg_extract('subtypes', $vars, ELGG_ENTITIES_ANY_VALUE), +); + +$title = elgg_echo('generic_comments:latest'); +$comments = elgg_get_annotations($options); +if ($comments) { + $body = elgg_view('page/components/list', array( + 'items' => $comments, + 'pagination' => false, + 'list_class' => 'elgg-latest-comments', + 'full_view' => false, + )); +} else { + $body = '<p>' . elgg_echo('generic_comment:none') . '</p>'; +} + +echo elgg_view_module('aside', $title, $body); diff --git a/views/default/page/elements/foot.php b/views/default/page/elements/foot.php new file mode 100644 index 000000000..a56b373b4 --- /dev/null +++ b/views/default/page/elements/foot.php @@ -0,0 +1,11 @@ +<?php + +echo elgg_view('footer/analytics'); + +$js = elgg_get_loaded_js('footer'); +foreach ($js as $script) { ?> + <script type="text/javascript" src="<?php echo $script; ?>"></script> +<?php +} + +?>
\ No newline at end of file diff --git a/views/default/page/elements/footer.php b/views/default/page/elements/footer.php index 5c8caf2de..ded2cea9a 100644 --- a/views/default/page/elements/footer.php +++ b/views/default/page/elements/footer.php @@ -8,4 +8,15 @@ * */ -echo elgg_view_menu('footer', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
\ No newline at end of file +echo elgg_view_menu('footer', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz')); + +$powered_url = elgg_get_site_url() . "_graphics/powered_by_elgg_badge_drk_bckgnd.gif"; + +echo '<div class="mts clearfloat float-alt">'; +echo elgg_view('output/url', array( + 'href' => 'http://elgg.org', + 'text' => "<img src=\"$powered_url\" alt=\"Powered by Elgg\" width=\"106\" height=\"15\" />", + 'class' => '', + 'is_trusted' => true, +)); +echo '</div>'; diff --git a/views/default/page/elements/head.php b/views/default/page/elements/head.php index 209eb35f4..d4a95b4d0 100644 --- a/views/default/page/elements/head.php +++ b/views/default/page/elements/head.php @@ -14,7 +14,7 @@ if (empty($vars['title'])) { global $autofeed; if (isset($autofeed) && $autofeed == true) { - $url = full_url(); + $url = current_page_url(); if (substr_count($url,'?')) { $url .= "&view=rss"; } else { @@ -30,8 +30,8 @@ END; $feedref = ""; } -$js = elgg_get_js('head'); -$css = elgg_get_css(); +$js = elgg_get_loaded_js('head'); +$css = elgg_get_loaded_css(); $version = get_version(); $release = get_version(true); @@ -40,7 +40,7 @@ $release = get_version(true); <meta name="ElggRelease" content="<?php echo $release; ?>" /> <meta name="ElggVersion" content="<?php echo $version; ?>" /> <title><?php echo $title; ?></title> - <link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" /> + <?php echo elgg_view('page/elements/shortcut_icon', $vars); ?> <?php foreach ($css as $link) { ?> <link rel="stylesheet" href="<?php echo $link; ?>" type="text/css" /> @@ -48,11 +48,15 @@ $release = get_version(true); <?php $ie_url = elgg_get_simplecache_url('css', 'ie'); + $ie7_url = elgg_get_simplecache_url('css', 'ie7'); $ie6_url = elgg_get_simplecache_url('css', 'ie6'); ?> - <!--[if gt IE 6]> + <!--[if gt IE 7]> <link rel="stylesheet" type="text/css" href="<?php echo $ie_url; ?>" /> <![endif]--> + <!--[if IE 7]> + <link rel="stylesheet" type="text/css" href="<?php echo $ie7_url; ?>" /> + <![endif]--> <!--[if IE 6]> <link rel="stylesheet" type="text/css" href="<?php echo $ie6_url; ?>" /> <![endif]--> @@ -62,7 +66,9 @@ $release = get_version(true); <?php } ?> <script type="text/javascript"> +// <![CDATA[ <?php echo elgg_view('js/initialize_elgg'); ?> +// ]]> </script> <?php @@ -70,7 +76,6 @@ echo $feedref; $metatags = elgg_view('metatags', $vars); if ($metatags) { - elgg_deprecated_notice("The metatags view has been deprecated for html_head/extend", 1.8); + elgg_deprecated_notice("The metatags view has been deprecated. Extend page/elements/head instead", 1.8); echo $metatags; } -echo elgg_view('html_head/extend', $vars); diff --git a/views/default/page/elements/header.php b/views/default/page/elements/header.php index 2361644f2..1a1f5d211 100644 --- a/views/default/page/elements/header.php +++ b/views/default/page/elements/header.php @@ -1,8 +1,8 @@ <?php /** - * Elgg header contents - * This file holds the header output that a user will see - **/ + * Elgg page header + * In the default theme, the header lives between the topbar and main content area. + */ // link back to main site. echo elgg_view('page/elements/header_logo', $vars); diff --git a/views/default/page/elements/header_logo.php b/views/default/page/elements/header_logo.php index 4295deaa4..7fe721c40 100644 --- a/views/default/page/elements/header_logo.php +++ b/views/default/page/elements/header_logo.php @@ -1,13 +1,15 @@ <?php /** * Elgg header logo - * The logo to display in elgg-header. */ $site = elgg_get_site_entity(); $site_name = $site->name; +$site_url = elgg_get_site_url(); ?> <h1> - <a class="elgg-heading-site" href="<?php echo elgg_get_site_url(); ?>"><?php echo $site_name; ?></a> + <a class="elgg-heading-site" href="<?php echo $site_url; ?>"> + <?php echo $site_name; ?> + </a> </h1> diff --git a/views/default/page/elements/messages.php b/views/default/page/elements/messages.php index a35a48586..edd40d71e 100644 --- a/views/default/page/elements/messages.php +++ b/views/default/page/elements/messages.php @@ -18,7 +18,7 @@ if (isset($vars['object']) && is_array($vars['object']) && sizeof($vars['object' foreach ($vars['object'] as $type => $list ) { foreach ($list as $message) { echo "<li class=\"elgg-message elgg-state-$type\">"; - echo autop($message); + echo elgg_autop($message); echo '</li>'; } } diff --git a/views/default/page/elements/owner_block.php b/views/default/page/elements/owner_block.php index c525a38aa..fc7f0f6d2 100644 --- a/views/default/page/elements/owner_block.php +++ b/views/default/page/elements/owner_block.php @@ -15,7 +15,7 @@ $owner = elgg_get_page_owner_entity(); if ($owner instanceof ElggGroup || ($owner instanceof ElggUser && $owner->getGUID() != elgg_get_logged_in_user_guid())) { - $header = elgg_view_entity($owner, false); + $header = elgg_view_entity($owner, array('full_view' => false)); $body = elgg_view_menu('owner_block', array('entity' => $owner)); diff --git a/views/default/page/elements/shortcut_icon.php b/views/default/page/elements/shortcut_icon.php new file mode 100644 index 000000000..12fe9c1f8 --- /dev/null +++ b/views/default/page/elements/shortcut_icon.php @@ -0,0 +1,6 @@ +<?php +/** + * Displays the default shortcut icon + */ +?> +<link rel="SHORTCUT ICON" href="<?php echo elgg_get_site_url(); ?>_graphics/favicon.ico" />
\ No newline at end of file diff --git a/views/default/page/elements/sidebar.php b/views/default/page/elements/sidebar.php index 6d40daf20..fe6bb450e 100644 --- a/views/default/page/elements/sidebar.php +++ b/views/default/page/elements/sidebar.php @@ -5,7 +5,10 @@ * @uses $vars['sidebar'] Optional content that is displayed at the bottom of sidebar */ -echo elgg_view_menu('extras', array('sort_by' => 'name')); +echo elgg_view_menu('extras', array( + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', +)); echo elgg_view('page/elements/owner_block', $vars); diff --git a/views/default/page/elements/sidebar_alt.php b/views/default/page/elements/sidebar_alt.php index 41982539e..6d91ca58b 100644 --- a/views/default/page/elements/sidebar_alt.php +++ b/views/default/page/elements/sidebar_alt.php @@ -1,4 +1,12 @@ <?php /** * Elgg secondary sidebar contents + * + * You can override, extend, or pass content to it + * + * @uses $vars['sidebar_alt] HTML content for the alternate sidebar */ + +$sidebar = elgg_extract('sidebar_alt', $vars, ''); + +echo $sidebar; diff --git a/views/default/page/elements/tagcloud_block.php b/views/default/page/elements/tagcloud_block.php new file mode 100644 index 000000000..258951c41 --- /dev/null +++ b/views/default/page/elements/tagcloud_block.php @@ -0,0 +1,58 @@ +<?php +/** + * Display content-based tags + * + * Generally used in a sidebar. Does not work with groups currently. + * + * @uses $vars['subtypes'] Object subtype string or array of subtypes + * @uses $vars['owner_guid'] The owner of the content being tagged + * @uses $vars['limit'] The maxinum number of tags to display + */ + +$owner_guid = elgg_extract('owner_guid', $vars, ELGG_ENTITIES_ANY_VALUE); +if (!$owner_guid) { + $owner_guid = ELGG_ENTITIES_ANY_VALUE; +} + +$owner_entity = get_entity($owner_guid); +if ($owner_entity && elgg_instanceof($owner_entity, 'group')) { + // not supporting groups so return + return true; +} + +$options = array( + 'type' => 'object', + 'subtype' => elgg_extract('subtypes', $vars, ELGG_ENTITIES_ANY_VALUE), + 'owner_guid' => $owner_guid, + 'threshold' => 0, + 'limit' => elgg_extract('limit', $vars, 50), + 'tag_name' => 'tags', +); + +$title = elgg_echo('tagcloud'); +if (is_array($options['subtype']) && count($options['subtype']) > 1) { + // we cannot provide links to tagged objects with multiple types + $tag_data = elgg_get_tags($options); + $cloud = elgg_view("output/tagcloud", array( + 'value' => $tag_data, + 'type' => $type, + )); +} else { + $cloud = elgg_view_tagcloud($options); +} +if (!$cloud) { + return true; +} + +// add a link to all site tags +$cloud .= '<p class="small">'; +$cloud .= elgg_view_icon('tag'); +$cloud .= elgg_view('output/url', array( + 'href' => 'tags', + 'text' => elgg_echo('tagcloud:allsitetags'), + 'is_trusted' => true, +)); +$cloud .= '</p>'; + + +echo elgg_view_module('aside', $title, $cloud); diff --git a/views/default/page/elements/topbar.php b/views/default/page/elements/topbar.php index 17c5d938b..e4c6c86bb 100644 --- a/views/default/page/elements/topbar.php +++ b/views/default/page/elements/topbar.php @@ -1,14 +1,16 @@ <?php /** - * Elgg top toolbar + * Elgg topbar * The standard elgg top toolbar */ - - // Elgg logo echo elgg_view_menu('topbar', array('sort_by' => 'priority', array('elgg-menu-hz'))); // elgg tools menu // need to echo this empty view for backward compatibility. -echo elgg_view("navigation/topbar_tools"); +$content = elgg_view("navigation/topbar_tools"); +if ($content) { + elgg_deprecated_notice('navigation/topbar_tools was deprecated. Extend the topbar menus or the page/elements/topbar view directly', 1.8); + echo $content; +} diff --git a/views/default/page/elements/wrapper.php b/views/default/page/elements/wrapper.php new file mode 100644 index 000000000..61828832d --- /dev/null +++ b/views/default/page/elements/wrapper.php @@ -0,0 +1,22 @@ +<?php +/** + * Deprecated content wrapper view from Elgg 1.5 through 1.7 + * + * @uses $vars['body'] The content to display inside content wrapper + * @uses $vars['subclass'] Additional css class + */ + +elgg_deprecated_notice("The 'page_elements/contentwrapper' has been deprecated", 1.8); +?> + +<div class="contentWrapper<?php + + if (isset($vars['subclass'])) { + echo ' ' . $vars['subclass']; + } + +?>"> +<?php + echo $vars['body']; +?> +</div> diff --git a/views/default/page/error.php b/views/default/page/error.php new file mode 100644 index 000000000..b7ba3ae9b --- /dev/null +++ b/views/default/page/error.php @@ -0,0 +1,14 @@ +<?php +/** + * Page shell for errors + * + * This is for errors that are not unhandled exceptions. Those are handled + * through the failsafe viewtype to guarantee that no further exceptions occur. + * An example error would be 404 (page not found). + * + * @uses $vars['title'] The page title + * @uses $vars['body'] The main content of the page + * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages() + */ + +echo elgg_view('page/default', $vars); diff --git a/views/default/page/layouts/admin.php b/views/default/page/layouts/admin.php index 890c8a06e..8dbdc27e6 100644 --- a/views/default/page/layouts/admin.php +++ b/views/default/page/layouts/admin.php @@ -21,6 +21,11 @@ <div class="elgg-main elgg-body"> <div class="elgg-head"> <?php + echo elgg_view_menu('title', array( + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', + )); + if (isset($vars['title'])) { echo elgg_view_title($vars['title']); } diff --git a/views/default/page/layouts/content.php b/views/default/page/layouts/content.php index 454fbd73f..c406c9faf 100644 --- a/views/default/page/layouts/content.php +++ b/views/default/page/layouts/content.php @@ -10,7 +10,6 @@ * @uses $vars['filter'] HTML of the content area filter (override) * @uses $vars['title'] Title text (override) * @uses $vars['context'] Page context (override) - * @uses $vars['buttons'] Content header buttons (override) * @uses $vars['filter_context'] Filter context: everyone, friends, mine * @uses $vars['class'] Additional class to apply to layout */ @@ -21,9 +20,6 @@ $params = $vars; $params['content'] = $sidebar_content; $sidebar = elgg_view('page/layouts/content/sidebar', $params); -// navigation defaults to breadcrumbs -$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs')); - // allow page handlers to override the default header if (isset($vars['header'])) { $vars['header_override'] = $vars['header']; @@ -45,7 +41,7 @@ $params = $vars; $params['content'] = $footer_content; $footer = elgg_view('page/layouts/content/footer', $params); -$body = $nav . $header . $filter . $content . $footer; +$body = $header . $filter . $content . $footer; $params = array( 'content' => $body, diff --git a/views/default/page/layouts/content/filter.php b/views/default/page/layouts/content/filter.php index 0af293e24..701c6418a 100644 --- a/views/default/page/layouts/content/filter.php +++ b/views/default/page/layouts/content/filter.php @@ -24,19 +24,19 @@ if (elgg_is_logged_in() && $context) { $tabs = array( 'all' => array( 'text' => elgg_echo('all'), - 'href' => (isset($vars['all_link'])) ? $vars['all_link'] : "pg/$context/all/", + 'href' => (isset($vars['all_link'])) ? $vars['all_link'] : "$context/all", 'selected' => ($filter_context == 'all'), 'priority' => 200, ), 'mine' => array( 'text' => elgg_echo('mine'), - 'href' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$context/owner/$username/", + 'href' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "$context/owner/$username", 'selected' => ($filter_context == 'mine'), 'priority' => 300, ), 'friend' => array( 'text' => elgg_echo('friends'), - 'href' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$context/friends/$username/", + 'href' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "$context/friends/$username", 'selected' => ($filter_context == 'friends'), 'priority' => 400, ), diff --git a/views/default/page/layouts/content/header.php b/views/default/page/layouts/content/header.php index 830c33885..1e66e52db 100644 --- a/views/default/page/layouts/content/header.php +++ b/views/default/page/layouts/content/header.php @@ -2,50 +2,42 @@ /** * Main content header * - * This includes a title and a new content button by default + * Title and title menu * * @uses $vars['header_override'] HTML for overriding the default header (override) * @uses $vars['title'] Title text (override) * @uses $vars['context'] Page context (override) - * @uses $vars['buttons'] Content header buttons (override) */ +if (isset($vars['buttons'])) { + // it was a bad idea to implement buttons with a pass through + elgg_deprecated_notice("Use elgg_register_menu_item() to register for the title menu", 1.0); +} + if (isset($vars['header_override'])) { echo $vars['header_override']; return true; } $context = elgg_extract('context', $vars, elgg_get_context()); -if ($context) { - $title = elgg_extract('title', $vars, ''); - if (!$title) { - $title = elgg_echo($context); - } - if (isset($vars['buttons'])) { - $buttons = $vars['buttons']; - } else { - if (elgg_is_logged_in() && $context) { - $owner = elgg_get_page_owner_entity(); - if (elgg_instanceof($owner, 'group')) { - $guid = $owner->getGUID(); - } else { - $guid = elgg_get_logged_in_user_guid(); - } - - elgg_register_menu_item('title', array( - 'name' => 'add', - 'href' => elgg_extract('new_link', $vars, "pg/$context/add/$guid"), - 'text' => elgg_echo("$context:add"), - 'class' => 'elgg-button elgg-button-action', - )); - } - - $buttons = elgg_view_menu('title', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz')); - } - echo <<<HTML +$title = elgg_extract('title', $vars, ''); +if (!$title) { + $title = elgg_echo($context); +} +$title = elgg_view_title($title, array('class' => 'elgg-heading-main')); + +if (isset($vars['buttons']) && $vars['buttons']) { + $buttons = $vars['buttons']; +} else { + $buttons = elgg_view_menu('title', array( + 'sort_by' => 'priority', + 'class' => 'elgg-menu-hz', + )); +} + +echo <<<HTML <div class="elgg-head clearfix"> - <h2 class="elgg-heading-main">$title</h2>$buttons + $title$buttons </div> HTML; -} diff --git a/views/default/page/layouts/error.php b/views/default/page/layouts/error.php new file mode 100644 index 000000000..cdce28a8e --- /dev/null +++ b/views/default/page/layouts/error.php @@ -0,0 +1,12 @@ +<?php +/** + * Error layout + */ + +$class = 'elgg-layout-error'; +if (isset($vars['class'])) { + $class = "$class {$vars['class']}"; +} +$vars['class'] = $class; + +echo elgg_view('page/layouts/one_column', $vars); diff --git a/views/default/page/layouts/one_column.php b/views/default/page/layouts/one_column.php index c59a574e7..491d5b459 100644 --- a/views/default/page/layouts/one_column.php +++ b/views/default/page/layouts/one_column.php @@ -13,13 +13,26 @@ $class = 'elgg-layout elgg-layout-one-column clearfix'; if (isset($vars['class'])) { $class = "$class {$vars['class']}"; } + +// navigation defaults to breadcrumbs +$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs')); + ?> <div class="<?php echo $class; ?>"> - <div class="elgg-body"> - <?php echo $vars['content']; ?> + <div class="elgg-body elgg-main"> <?php + echo $nav; + + if (isset($vars['title'])) { + echo elgg_view_title($vars['title']); + } + + echo $vars['content']; + // @deprecated 1.8 - echo $vars['area1']; + if (isset($vars['area1'])) { + echo $vars['area1']; + } ?> </div> </div>
\ No newline at end of file diff --git a/views/default/page/layouts/one_sidebar.php b/views/default/page/layouts/one_sidebar.php index 1e308f979..d74dad53d 100644 --- a/views/default/page/layouts/one_sidebar.php +++ b/views/default/page/layouts/one_sidebar.php @@ -9,6 +9,7 @@ * @uses $vars['sidebar'] Optional content that is displayed in the sidebar * @uses $vars['title'] Optional title for main content area * @uses $vars['class'] Additional class to apply to layout + * @uses $vars['nav'] HTML of the page nav (override) (default: breadcrumbs) */ $class = 'elgg-layout elgg-layout-one-sidebar clearfix'; @@ -16,6 +17,9 @@ if (isset($vars['class'])) { $class = "$class {$vars['class']}"; } +// navigation defaults to breadcrumbs +$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs')); + ?> <div class="<?php echo $class; ?>"> @@ -27,6 +31,8 @@ if (isset($vars['class'])) { <div class="elgg-main elgg-body"> <?php + echo $nav; + if (isset($vars['title'])) { echo elgg_view_title($vars['title']); } diff --git a/views/default/page/layouts/two_column_left_sidebar.php b/views/default/page/layouts/two_column_left_sidebar.php index 97f4d2719..e395a5053 100644 --- a/views/default/page/layouts/two_column_left_sidebar.php +++ b/views/default/page/layouts/two_column_left_sidebar.php @@ -17,7 +17,7 @@ unset($vars['area2']); unset($vars['area3']); // backward compatability support for plugins that are not using the new approach -// of routing through pg/admin +// of routing through 'admin' if (elgg_get_context() == 'admin') { echo elgg_view('page/layouts/admin', $vars); return true; diff --git a/views/default/page/layouts/two_sidebar.php b/views/default/page/layouts/two_sidebar.php index 4e0bab21b..7521dd44f 100644 --- a/views/default/page/layouts/two_sidebar.php +++ b/views/default/page/layouts/two_sidebar.php @@ -5,10 +5,10 @@ * @package Elgg * @subpackage Core * - * @uses $vars['content'] The content string for the main column - * @uses $vars['sidebar'] Optional content that is displayed in the sidebar + * @uses $vars['content'] The content string for the main column + * @uses $vars['sidebar'] Optional content that is displayed in the sidebar * @uses $vars['sidebar_alt'] Optional content that is displayed in the alternate sidebar - * @uses $vars['class'] Additional class to apply to layout + * @uses $vars['class'] Additional class to apply to layout */ $class = 'elgg-layout elgg-layout-two-sidebar clearfix'; @@ -25,12 +25,7 @@ if (isset($vars['class'])) { </div> <div class="elgg-sidebar-alt"> <?php - //$params = $vars; - //$params['sidebar'] = $vars['sidebar_alt']; - $params = array( - 'sidebar' => elgg_view_module('test', 'Testing', 'Hello, world!'), - ); - echo elgg_view('page/elements/sidebar_alt', $params); + echo elgg_view('page/elements/sidebar_alt', $vars); ?> </div> diff --git a/views/default/page/layouts/walled_garden.php b/views/default/page/layouts/walled_garden.php new file mode 100644 index 000000000..6ecd941ef --- /dev/null +++ b/views/default/page/layouts/walled_garden.php @@ -0,0 +1,16 @@ +<?php +/** + * Walled Garden layout + * + * @uses $vars['content'] Main content + * @uses $vars['class'] CSS classes + * @uses $vars['id'] CSS id + */ + +$class = elgg_extract('class', $vars, 'elgg-walledgarden-single'); +echo elgg_view_module('walledgarden', '', $vars['content'], array( + 'class' => $class, + 'id' => elgg_extract('id', $vars, ''), + 'header' => ' ', + 'footer' => ' ', +)); diff --git a/views/default/page/layouts/widgets.php b/views/default/page/layouts/widgets.php index 342150f70..c6b162516 100644 --- a/views/default/page/layouts/widgets.php +++ b/views/default/page/layouts/widgets.php @@ -16,6 +16,8 @@ $show_access = elgg_extract('show_access', $vars, true); $owner = elgg_get_page_owner_entity(); +$widget_types = elgg_get_widget_types(); + $context = elgg_get_context(); elgg_push_context('widgets'); @@ -29,6 +31,7 @@ if (elgg_can_edit_widget_layout($context)) { 'widgets' => $widgets, 'context' => $context, 'exact_match' => $exact_match, + 'show_access' => $show_access, ); echo elgg_view('page/layouts/widgets/add_panel', $params); } @@ -37,12 +40,18 @@ echo $vars['content']; $widget_class = "elgg-col-1of{$num_columns}"; for ($column_index = 1; $column_index <= $num_columns; $column_index++) { - $column_widgets = $widgets[$column_index]; + if (isset($widgets[$column_index])) { + $column_widgets = $widgets[$column_index]; + } else { + $column_widgets = array(); + } echo "<div class=\"$widget_class elgg-widgets\" id=\"elgg-widget-col-$column_index\">"; - if (is_array($column_widgets) && sizeof($column_widgets) > 0) { + if (sizeof($column_widgets) > 0) { foreach ($column_widgets as $widget) { - echo elgg_view_entity($widget, array('show_access' => $show_access)); + if (array_key_exists($widget->handler, $widget_types)) { + echo elgg_view_entity($widget, array('show_access' => $show_access)); + } } } echo '</div>'; diff --git a/views/default/page/layouts/widgets/add_button.php b/views/default/page/layouts/widgets/add_button.php index a8670146b..c33a45f99 100644 --- a/views/default/page/layouts/widgets/add_button.php +++ b/views/default/page/layouts/widgets/add_button.php @@ -4,7 +4,13 @@ */ ?> <div class="elgg-widget-add-control"> - <a class="elgg-button elgg-button-action elgg-toggler" href="#widgets-add-panel"> - <?php echo elgg_echo('widgets:add'); ?> - </a> +<?php + echo elgg_view('output/url', array( + 'href' => '#widgets-add-panel', + 'text' => elgg_echo('widgets:add'), + 'class' => 'elgg-button elgg-button-action', + 'rel' => 'toggle', + 'is_trusted' => true, + )); +?> </div> diff --git a/views/default/page/layouts/widgets/add_panel.php b/views/default/page/layouts/widgets/add_panel.php index 2786e83b2..d9b11342a 100644 --- a/views/default/page/layouts/widgets/add_panel.php +++ b/views/default/page/layouts/widgets/add_panel.php @@ -12,6 +12,7 @@ $context = $vars['context']; $exact = elgg_extract('exact_match', $vars, false); $widget_types = elgg_get_widget_types($context, $exact); +uasort($widget_types, create_function('$a,$b', 'return strcmp($a->name,$b->name);')); $current_handlers = array(); foreach ($widgets as $column_widgets) { @@ -49,10 +50,13 @@ foreach ($widgets as $column_widgets) { ?> </ul> <?php - $params = array( + echo elgg_view('input/hidden', array( 'name' => 'widget_context', 'value' => $context - ); - echo elgg_view('input/hidden', $params); + )); + echo elgg_view('input/hidden', array( + 'name' => 'show_access', + 'value' => (int)$vars['show_access'] + )); ?> </div> diff --git a/views/default/page/upgrade.php b/views/default/page/upgrade.php index 9cbd45944..1a92042be 100644 --- a/views/default/page/upgrade.php +++ b/views/default/page/upgrade.php @@ -7,7 +7,7 @@ ?> <html> <head> - <title><?php echo elgg_echo('upgrading'); ?></title> + <?php echo elgg_view('page/elements/head', $vars); ?> <meta http-equiv="refresh" content="1;url=<?php echo elgg_get_site_url(); ?>upgrade.php?upgrade=upgrade"/> </head> <body> diff --git a/views/default/page/walled_garden.php b/views/default/page/walled_garden.php index 74b4f3029..b280cf6b2 100644 --- a/views/default/page/walled_garden.php +++ b/views/default/page/walled_garden.php @@ -1,78 +1,40 @@ <?php /** - * + * Walled garden page shell + * + * Used for the walled garden index page */ -// Set the content type -header("Content-type: text/html; charset=UTF-8"); - -// Set title -$site_title = elgg_get_config('sitename'); -if (empty($vars['title'])) { - $title = $site_title; -} else if (empty($site_title)) { - $title = $vars['title']; -} else { - $title = $site_title . ": " . $vars['title']; +$is_sticky_register = elgg_is_sticky_form('register'); +$wg_body_class = 'elgg-body-walledgarden'; +if ($is_sticky_register) { + $wg_body_class .= ' hidden'; } -// @todo - move the css below into it's own style-sheet -// that is called when running as a private network +// Set the content type +header("Content-type: text/html; charset=UTF-8"); ?> -<html> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <?php echo elgg_view('page/elements/head', $vars); ?> - <style type="text/css"> - /* *************************************** - WalledGarden - *************************************** */ - .elgg-grid-walledgarden { - margin:100px auto 0 auto; - padding:0; - width:600px; - text-align: left; - word-wrap:break-word; - background: gray; - } - - .elgg-grid-walledgarden > .elgg-col { - background: white; - } - - .elgg-heading-walledgarden { - color:#666666; - margin-top:80px; - line-height: 1.1em; - } - - .walledgardenlogin h2 { - color:#666666; - border-bottom:1px solid #CCCCCC; - margin-bottom:5px; - padding-bottom:5px; - } - - - </style> </head> <body> <div class="elgg-page elgg-page-walledgarden"> <div class="elgg-page-messages"> <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?> </div> - <div class="elgg-page-body"> - <div class="elgg-inner"> - <div class="elgg-grid elgg-grid-walledgarden"> - <div class="elgg-col elgg-col-1of2"> - <h1 class="elgg-heading-walledgarden">Welcome to:<br /><?php echo $title; ?></h1> - </div> - <div class="elgg-col elgg-col-1of2"> - <?php echo $vars['body']; ?> - </div> - </div> - </div> + <div class="<?php echo $wg_body_class; ?>"> + <?php echo $vars['body']; ?> </div> </div> -<?php echo elgg_view('footer/analytics'); ?> +<?php if ($is_sticky_register): ?> +<script type="text/javascript"> +elgg.register_hook_handler('init', 'system', function() { + $('.registration_link').trigger('click'); +}); +</script> +<?php endif; ?> +<?php echo elgg_view('page/elements/foot'); ?> </body> </html>
\ No newline at end of file |
