aboutsummaryrefslogtreecommitdiff
path: root/views/default/page
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/page')
-rw-r--r--views/default/page/admin.php66
-rw-r--r--views/default/page/components/gallery.php66
-rw-r--r--views/default/page/components/list.php34
-rw-r--r--views/default/page/components/module.php18
-rw-r--r--views/default/page/components/summary.php4
-rw-r--r--views/default/page/components/widget.php70
-rw-r--r--views/default/page/default.php76
-rw-r--r--views/default/page/elements/comments.php22
-rw-r--r--views/default/page/elements/comments_block.php45
-rw-r--r--views/default/page/elements/content_header.php94
-rw-r--r--views/default/page/elements/content_header_member.php24
-rw-r--r--views/default/page/elements/foot.php11
-rw-r--r--views/default/page/elements/footer.php16
-rw-r--r--views/default/page/elements/head.php19
-rw-r--r--views/default/page/elements/header.php11
-rw-r--r--views/default/page/elements/header_logo.php6
-rw-r--r--views/default/page/elements/messages.php8
-rw-r--r--views/default/page/elements/owner_block.php8
-rw-r--r--views/default/page/elements/page_links.php37
-rw-r--r--views/default/page/elements/shortcut_icon.php6
-rw-r--r--views/default/page/elements/sidebar.php5
-rw-r--r--views/default/page/elements/sidebar_alt.php12
-rw-r--r--views/default/page/elements/tagcloud_block.php58
-rw-r--r--views/default/page/elements/topbar.php62
-rw-r--r--views/default/page/elements/wrapper.php22
-rw-r--r--views/default/page/error.php14
-rw-r--r--views/default/page/layouts/admin.php60
-rw-r--r--views/default/page/layouts/content.php14
-rw-r--r--views/default/page/layouts/content/filter.php52
-rw-r--r--views/default/page/layouts/content/footer.php8
-rw-r--r--views/default/page/layouts/content/header.php43
-rw-r--r--views/default/page/layouts/content/sidebar.php8
-rw-r--r--views/default/page/layouts/error.php12
-rw-r--r--views/default/page/layouts/one_column.php23
-rw-r--r--views/default/page/layouts/one_sidebar.php12
-rw-r--r--views/default/page/layouts/two_column_left_sidebar.php2
-rw-r--r--views/default/page/layouts/two_sidebar.php21
-rw-r--r--views/default/page/layouts/walled_garden.php16
-rw-r--r--views/default/page/layouts/widgets.php19
-rw-r--r--views/default/page/layouts/widgets/add_button.php16
-rw-r--r--views/default/page/layouts/widgets/add_panel.php62
-rw-r--r--views/default/page/shells/admin.php28
-rw-r--r--views/default/page/shells/default.php65
-rw-r--r--views/default/page/shells/upgrade.php22
-rw-r--r--views/default/page/shells/walled_garden.php78
-rw-r--r--views/default/page/upgrade.php18
-rw-r--r--views/default/page/walled_garden.php40
47 files changed, 773 insertions, 660 deletions
diff --git a/views/default/page/admin.php b/views/default/page/admin.php
new file mode 100644
index 000000000..7045edd91
--- /dev/null
+++ b/views/default/page/admin.php
@@ -0,0 +1,66 @@
+<?php
+/**
+ * Elgg pageshell for the admin area
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @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()
+ */
+
+$notices_html = '';
+$notices = elgg_get_admin_notices();
+if ($notices) {
+ foreach ($notices as $notice) {
+ $notices_html .= elgg_view_entity($notice);
+ }
+
+ $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">
+<head>
+<?php echo elgg_view('page/elements/head', $vars); ?>
+</head>
+<body>
+ <div class="elgg-page elgg-page-admin">
+ <div class="elgg-inner">
+ <div class="elgg-page-header">
+ <div class="elgg-inner clearfix">
+ <?php echo $header; ?>
+ </div>
+ </div>
+ <div class="elgg-page-messages">
+ <?php echo $messages; ?>
+ <?php echo $notices_html; ?>
+ </div>
+ <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('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/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/components/widget.php b/views/default/page/components/widget.php
deleted file mode 100644
index e7a16b318..000000000
--- a/views/default/page/components/widget.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-/**
- * Widget object
- *
- * @uses $vars['entity'] ElggWidget
- * @uses $vars['show_access'] Show the access control in edit area? (true)
- */
-
-$widget = $vars['entity'];
-if (!elgg_instanceof($widget, 'object', 'widget')) {
- return true;
-}
-
-$show_access = elgg_extract('show_access', $vars, true);
-
-// @todo catch for disabled plugins
-$widget_types = elgg_get_widget_types('all');
-
-$handler = $widget->handler;
-
-$title = $widget->getTitle();
-
-$edit_area = '';
-$can_edit = $widget->canEdit();
-if ($can_edit) {
- $edit_area = elgg_view('layout/objects/widget/settings', array(
- 'widget' => $widget,
- 'show_access' => $show_access,
- ));
-}
-$controls = elgg_view('layout/objects/widget/controls', array(
- 'widget' => $widget,
- 'show_edit' => $edit_area != '',
-));
-
-// don't show content for default widgets
-if (elgg_in_context('default_widgets')) {
- $content = '';
-} else {
- if (elgg_view_exists("widgets/$handler/content")) {
- $content = elgg_view("widgets/$handler/content", $vars);
- } else {
- elgg_deprecated_notice("widgets use content as the display view", 1.8);
- $content = elgg_view("widgets/$handler/view", $vars);
- }
-}
-
-$widget_id = "elgg-widget-$widget->guid";
-$widget_instance = "elgg-widget-instance-$handler";
-$widget_class = "elgg-module elgg-module-widget";
-if ($can_edit) {
- $widget_class .= " elgg-state-draggable $widget_instance";
-} else {
- $widget_class .= " elgg-state-fixed $widget_instance";
-}
-
-echo <<<HTML
-<div class="$widget_class" id="$widget_id">
- <div class="elgg-head">
- <h3>$title</h3>
- $controls
- </div>
- <div class="elgg-body">
- $edit_area
- <div class="elgg-widget-content">
- $content
- </div>
- </div>
-</div>
-HTML;
diff --git a/views/default/page/default.php b/views/default/page/default.php
new file mode 100644
index 000000000..567494d0c
--- /dev/null
+++ b/views/default/page/default.php
@@ -0,0 +1,76 @@
+<?php
+/**
+ * Elgg pageshell
+ * The standard HTML page shell that everything else fits into
+ *
+ * @package Elgg
+ * @subpackage Core
+ *
+ * @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 admin. See reportedcontent plugin for a simple example.
+if (elgg_get_context() == 'admin') {
+ 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/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="<?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 $messages; ?>
+ </div>
+
+ <?php if (elgg_is_logged_in()){ ?>
+ <div class="elgg-page-topbar">
+ <div class="elgg-inner">
+ <?php echo $topbar; ?>
+ </div>
+ </div>
+ <?php } ?>
+
+ <div class="elgg-page-header">
+ <div class="elgg-inner">
+ <?php echo $header; ?>
+ </div>
+ </div>
+ <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>
+<?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 c27a146ab..97cb9574e 100644
--- a/views/default/page/elements/comments.php
+++ b/views/default/page/elements/comments.php
@@ -5,26 +5,38 @@
* @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']}\"";
}
-echo "<div $id class=\"elgg-comments\">";
+$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=\"$class\">";
$options = array(
'guid' => $vars['entity']->getGUID(),
'annotation_name' => 'generic_comment'
);
-echo elgg_list_annotations($options);
+$html = elgg_list_annotations($options);
+if ($html) {
+ echo '<h3>' . elgg_echo('comments') . '</h3>';
+ echo $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/content_header.php b/views/default/page/elements/content_header.php
deleted file mode 100644
index 10ba4b052..000000000
--- a/views/default/page/elements/content_header.php
+++ /dev/null
@@ -1,94 +0,0 @@
-<?php
-/**
- * Displays the Add New button, and the All, Mine, My Friends tabs for plugins
- * If a user is not logged in, this only displays the All tab.
- * If this is in a group context, it doesn't display any tabs
- *
- * @uses string $vars['type'] The section type. Should be the same as the page handler. Used for generating URLs.
- * @uses string $vars['context'] Which filter we're looking at: all, mine, friends, or action. Nothing to do with get_context().
- *
- * @uses string $vars['all_link'] Optional. The URL to use for the "All" tab link. Defaults to mod/$type/all.php
- * @uses string $vars['mine_link'] Optional. The URL to use for the "Mine" tab link. Defaults to pg/$type/$username
- * @uses string $vars['friends_link'] Optional. The URL to use for the "Friends" tab link. Defaults to pg/$type/$username/friends
- * @uses string $vars['new_link'] Optional. The URL to use for the "New" button. Defaults to pg/$type/$username/new
- * @uses array $vars['tabs'] Optional. Override all tab generation. See view:navgiation/tabs for formatting
- *
- * @package Elgg
- * @subpackage Core
- */
-
-$page_owner = elgg_get_page_owner_entity();
-$logged_in_user = elgg_get_logged_in_user_entity();
-$username = $logged_in_user->username;
-
-if (!$page_owner) {
- $page_owner = $logged_in_user;
-}
-
-// so we know if the user is looking at their own, everyone's or all friends
-$filter_context = $vars['context'];
-
-// get the object type
-$type = $vars['type'];
-
-// create an empty string to start with
-$new_button = '';
-
-// generate a list of default tabs
-$default_tabs = array(
- 'all' => array(
- 'title' => elgg_echo('all'),
- 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "mod/$type/all.php",
- 'selected' => ($filter_context == 'everyone'),
- ),
- 'mine' => array(
- 'title' => elgg_echo('mine'),
- 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$type/$username",
- 'selected' => ($filter_context == 'mine'),
- ),
- 'friend' => array(
- 'title' => elgg_echo('friends'),
- 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$type/$username/friends",
- 'selected' => ($filter_context == 'friends'),
- ),
-);
-
-// determine if using default or overwritten tabs
-$tabs = (isset($vars['tabs'])) ? $vars['tabs'] : $default_tabs;
-$tab_list = elgg_view('navigation/tabs', array('tabs' => $tabs));
-
-$title = elgg_echo($type);
-$title = '<div class="content-header-title">' . elgg_view_title($title) . '</div>';
-
-// must be logged in to see any action buttons
-if (elgg_is_logged_in()) {
- // only show the new button when not on the add form.
- // hide the tabs when on the add form.
- if ($filter_context == 'action') {
- $tab_list = '';
- } else {
- // @todo remove the hard coded reference to the videolist plugin
- if (elgg_get_context() == "videolist"){
- $video_link = elgg_get_site_url() . "pg/videolist/browse/$username/";
- $new_button = "<a href=\"{$video_link}\" class='elgg-button-action'>" . elgg_echo('videolist:browsemenu') . '</a>';
- } else {
- $new_link = elgg_normalize_url((isset($vars['new_link'])) ? $vars['new_link'] : "pg/$type/$username/new");
- $new_button = "<a href=\"{$new_link}\" class='elgg-button-action'>" . elgg_echo($type . ':new') . '</a>';
- }
- $new_button = "<div class='content-header-options'>$new_button</div>";
- }
-
- // also hide the tabs if in a group context (ie, listing groups) or
- // when viewing tools belonging to a group
- if (elgg_get_context() == 'groups' || $page_owner instanceof ElggGroup) {
- $tab_list = '';
- }
-}
-
-echo <<<HTML
-<div id="content-header" class="clearfix">
- $title $new_button
-</div>
-HTML;
-
-echo $tab_list;
diff --git a/views/default/page/elements/content_header_member.php b/views/default/page/elements/content_header_member.php
deleted file mode 100644
index 4f21cbcce..000000000
--- a/views/default/page/elements/content_header_member.php
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-/**
- * When looking at a users blog, bookmarks, video etc only show
- * the users name and the tool you are viewing
- *
- * @package Elgg
- * @subpackage Core
- *
- */
-
-$page_owner = elgg_get_page_owner_entity();
-$name = elgg_get_page_owner_entity()->name;
-
-// get the object type
-$type = $vars['type'];
-
-$title = elgg_echo($type);
-$title = $name . "'s " . $type;
-?>
-
-<div id="content-header" class="clearfix">
- <?php echo '<div class="content-header-title">' . elgg_view_title($title) . '</div>'; ?>
-</div>
-
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 001d856b1..ded2cea9a 100644
--- a/views/default/page/elements/footer.php
+++ b/views/default/page/elements/footer.php
@@ -8,11 +8,15 @@
*
*/
-echo elgg_view_menu('footer', array('class' => 'elgg-menu-footer'));
-echo elgg_view('footer/links');
+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";
-<a href="http://www.elgg.org" class="elgg-alt">
- <img src="<?php echo elgg_get_site_url(); ?>_graphics/powered_by_elgg_badge_drk_bckgnd.gif" alt="Powered by Elgg" />
-</a>
+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 972c90272..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);
@@ -11,7 +11,4 @@ echo elgg_view('page/elements/header_logo', $vars);
echo elgg_view('core/account/login_dropdown');
// insert site-wide navigation
-echo elgg_view_menu('site');
-
-// insert a view which can be extended
-echo elgg_view('header/extend');
+echo elgg_view_menu('site'); \ No newline at end of file
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 e4e6030f1..edd40d71e 100644
--- a/views/default/page/elements/messages.php
+++ b/views/default/page/elements/messages.php
@@ -11,14 +11,14 @@
echo '<ul class="elgg-system-messages">';
+// hidden li so we validate
+echo '<li class="hidden"></li>';
+
if (isset($vars['object']) && is_array($vars['object']) && sizeof($vars['object']) > 0) {
foreach ($vars['object'] as $type => $list ) {
foreach ($list as $message) {
echo "<li class=\"elgg-message elgg-state-$type\">";
- echo elgg_view('output/longtext', array(
- 'value' => $message,
- 'parse_urls' => false
- ));
+ 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 2f9fc8603..fc7f0f6d2 100644
--- a/views/default/page/elements/owner_block.php
+++ b/views/default/page/elements/owner_block.php
@@ -15,16 +15,12 @@ $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,
- 'class' => 'elgg-owner-block-menu',
- ));
+ $body = elgg_view_menu('owner_block', array('entity' => $owner));
$body .= elgg_view('page/elements/owner_block/extend', $vars);
- //@todo elgg-module-owner-block?
echo elgg_view('page/components/module', array(
'header' => $header,
'body' => $body,
diff --git a/views/default/page/elements/page_links.php b/views/default/page/elements/page_links.php
deleted file mode 100644
index fb9acbfb7..000000000
--- a/views/default/page/elements/page_links.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-/**
- * Page links: RSS link, reported content link, etc.
- */
-
-// Are there feeds to display?
-global $autofeed;
-$rss_link = '';
-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');
-
- $rss_link = elgg_view('output/url', array(
- 'text' => '<span class="elgg-icon elgg-icon-rss"></span>',
- 'href' => $url,
- 'title' => $label,
- 'rel' => 'nofollow',
- 'encode_text' => false,
- 'class' => 'right',
- ));
-}
-
-// view to extend by plugins
-$links = elgg_view('page/links', $vars);
-
-if ($links || $rss_link) {
- echo '<div class="elgg-page-links clearfix mbm">';
- echo $rss_link;
- echo $links;
- echo '</div>';
-}
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 8950c5f3f..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('page/elements/page_links', $vars);
+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
new file mode 100644
index 000000000..6d91ca58b
--- /dev/null
+++ b/views/default/page/elements/sidebar_alt.php
@@ -0,0 +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 987326119..e4c6c86bb 100644
--- a/views/default/page/elements/topbar.php
+++ b/views/default/page/elements/topbar.php
@@ -1,66 +1,16 @@
<?php
/**
- * Elgg top toolbar
+ * Elgg topbar
* The standard elgg top toolbar
*/
-$user = elgg_get_logged_in_user_entity();
-
-//@todo echo elgg_view_menu('topbar', array('class' => 'elgg-menu-topbar'));
-
// Elgg logo
-$image = '<img src="' . elgg_get_site_url() . '_graphics/elgg_toolbar_logo.gif" alt="Elgg logo" />';
-echo elgg_view('output/url', array(
- 'href' => 'http://www.elgg.org/',
- 'text' => $image,
-));
-
-// avatar
-$user_link = $user->getURL();
-$user_image = $user->getIconURL('topbar');
-$image = "<img src=\"$user_image\" alt=\"$user->name\" class=\"bab\" />";
-echo elgg_view('output/url', array(
- 'href' => $user_link,
- 'text' => $image,
-));
-
-// friends
-echo elgg_view('output/url', array(
- 'href' => elgg_get_site_url() . "pg/friends/{$user->username}/",
- 'text' => '<span class="elgg-icon elgg-icon-friends"></span>',
- 'title' => elgg_echo('friends'),
-));
-
-// logout link
-echo elgg_view('output/url', array(
- 'href' => "action/logout",
- 'text' => elgg_echo('logout'),
- 'is_action' => TRUE,
- 'class' => 'elgg-alt',
-));
+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.
-// @todo -- do we really? So much else is broken, and the new menu system is so much nicer...
-echo elgg_view("navigation/topbar_tools");
-
-// enable elgg topbar extending
-echo elgg_view('elgg_topbar/extend', $vars);
-
-//@todo echo elgg_view_menu('topbar2', array('class' => 'elgg-menu-topbar elgg-alt'));
-
-// user settings
-echo elgg_view('output/url', array(
- 'href' => elgg_get_site_url() . "pg/settings/user/{$user->username}",
- 'text' => '<span class="elgg-icon elgg-icon-settings"></span>' . elgg_echo('settings'),
- 'class' => 'elgg-alt',
-));
-
-// The administration link is for admin or site admin users only
-if ($user->isAdmin()) {
- echo elgg_view('output/url', array(
- 'href' => elgg_get_site_url() . 'pg/admin/',
- 'text' => '<span class="elgg-icon elgg-icon-settings"></span>' . elgg_echo('admin'),
- 'class' => 'elgg-alt',
- ));
+$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 7ba4abbd1..8dbdc27e6 100644
--- a/views/default/page/layouts/admin.php
+++ b/views/default/page/layouts/admin.php
@@ -10,61 +10,22 @@
* @uses $vars['title'] Title string
*/
-$admin_title = elgg_get_site_entity()->name . ' ' . elgg_echo('admin');
-
-$view_site = elgg_view('output/url', array(
- 'href' => elgg_get_site_url(),
- 'text' => elgg_echo('admin:view_site'),
-));
-$logout = elgg_view('output/url', array(
- 'href' => 'action/logout',
- 'text' => elgg_echo('logout'),
-));
?>
-<div class="elgg-page-header">
- <div class="elgg-inner clearfix">
- <h1 class="elgg-heading-site">
- <a href="<?php echo elgg_get_site_url(); ?>pg/admin/">
- <?php echo $admin_title; ?>
- </a>
- </h1>
- <ul class="elgg-menu-user">
- <li><?php echo elgg_echo('admin:loggedin', array(elgg_get_logged_in_user_entity()->name)); ?></li>
- <li><?php echo $view_site; ?></li>
- <li><?php echo $logout; ?></li>
- </ul>
- </div>
-</div>
-
-<?php
-// @todo clean up system messages code
-$messages = null;
-if (count_messages()) {
- // get messages - try for errors first
- $messages = system_messages(NULL, "error");
- if (count($messages["error"]) == 0) {
- // no errors so grab rest of messages
- $messages = system_messages(null, "");
- } else {
- // we have errors - clear out remaining messages
- system_messages(null, "");
- }
-}
-echo elgg_view('page/elements/messages', array('object' => $messages));
-?>
-
-<div class="elgg-page-body">
+<div class="elgg-layout elgg-layout-one-sidebar">
<div class="elgg-sidebar clearfix">
<?php
- echo elgg_view('admin/sidebar/top', $vars);
- echo elgg_view('layout/shells/admin/menu', $vars);
- echo elgg_view('admin/sidebar/bottom', $vars);
+ echo elgg_view('admin/sidebar', $vars);
?>
</div>
<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']);
}
@@ -76,9 +37,4 @@ echo elgg_view('page/elements/messages', array('object' => $messages));
}
?>
</div>
-</div>
-<div class="elgg-page-footer">
-</div>
-<?php
-
-echo elgg_view('footer/analytics');
+</div> \ No newline at end of file
diff --git a/views/default/page/layouts/content.php b/views/default/page/layouts/content.php
index 69772985a..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
*/
@@ -19,22 +18,19 @@
$sidebar_content = elgg_extract('sidebar', $vars, '');
$params = $vars;
$params['content'] = $sidebar_content;
-$sidebar = elgg_view('layout/shells/content/sidebar', $params);
-
-// navigation defaults to breadcrumbs
-$nav = elgg_extract('nav', $vars, elgg_view('navigation/breadcrumbs'));
+$sidebar = elgg_view('page/layouts/content/sidebar', $params);
// allow page handlers to override the default header
if (isset($vars['header'])) {
$vars['header_override'] = $vars['header'];
}
-$header = elgg_view('layout/shells/content/header', $vars);
+$header = elgg_view('page/layouts/content/header', $vars);
// allow page handlers to override the default filter
if (isset($vars['filter'])) {
$vars['filter_override'] = $vars['filter'];
}
-$filter = elgg_view('layout/shells/content/filter', $vars);
+$filter = elgg_view('page/layouts/content/filter', $vars);
// the all important content
$content = elgg_extract('content', $vars, '');
@@ -43,9 +39,9 @@ $content = elgg_extract('content', $vars, '');
$footer_content = elgg_extract('footer', $vars, '');
$params = $vars;
$params['content'] = $footer_content;
-$footer = elgg_view('layout/shells/content/footer', $params);
+$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
new file mode 100644
index 000000000..701c6418a
--- /dev/null
+++ b/views/default/page/layouts/content/filter.php
@@ -0,0 +1,52 @@
+<?php
+/**
+ * Main content filter
+ *
+ * Select between user, friends, and all content
+ *
+ * @uses $vars['filter_context'] Filter context: all, friends, mine
+ * @uses $vars['filter_override'] HTML for overriding the default filter (override)
+ * @uses $vars['context'] Page context (override)
+ */
+
+if (isset($vars['filter_override'])) {
+ echo $vars['filter_override'];
+ return true;
+}
+
+$context = elgg_extract('context', $vars, elgg_get_context());
+
+if (elgg_is_logged_in() && $context) {
+ $username = elgg_get_logged_in_user_entity()->username;
+ $filter_context = elgg_extract('filter_context', $vars, 'all');
+
+ // generate a list of default tabs
+ $tabs = array(
+ 'all' => array(
+ 'text' => elgg_echo('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'] : "$context/owner/$username",
+ 'selected' => ($filter_context == 'mine'),
+ 'priority' => 300,
+ ),
+ 'friend' => array(
+ 'text' => elgg_echo('friends'),
+ 'href' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "$context/friends/$username",
+ 'selected' => ($filter_context == 'friends'),
+ 'priority' => 400,
+ ),
+ );
+
+ foreach ($tabs as $name => $tab) {
+ $tab['name'] = $name;
+
+ elgg_register_menu_item('filter', $tab);
+ }
+
+ echo elgg_view_menu('filter', array('sort_by' => 'priority', 'class' => 'elgg-menu-hz'));
+}
diff --git a/views/default/page/layouts/content/footer.php b/views/default/page/layouts/content/footer.php
new file mode 100644
index 000000000..66f5d3ff8
--- /dev/null
+++ b/views/default/page/layouts/content/footer.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Main content footer
+ *
+ * @uses $vars['content'] The content for the footer
+ */
+
+echo $vars['content'];
diff --git a/views/default/page/layouts/content/header.php b/views/default/page/layouts/content/header.php
new file mode 100644
index 000000000..1e66e52db
--- /dev/null
+++ b/views/default/page/layouts/content/header.php
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Main content header
+ *
+ * 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)
+ */
+
+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());
+
+$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">
+ $title$buttons
+</div>
+HTML;
diff --git a/views/default/page/layouts/content/sidebar.php b/views/default/page/layouts/content/sidebar.php
new file mode 100644
index 000000000..86ca8435f
--- /dev/null
+++ b/views/default/page/layouts/content/sidebar.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * Main content sidebar
+ *
+ * @uses $vars['content] The content for the sidebar
+ */
+
+echo $vars['content'];
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 ab6a24878..491d5b459 100644
--- a/views/default/page/layouts/one_column.php
+++ b/views/default/page/layouts/one_column.php
@@ -9,17 +9,30 @@
* @uses $vars['class'] Additional class to apply to layout
*/
-$class = 'elgg-inner clearfix';
+$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; ?>" id="elgg-layout-one-column">
- <div class="elgg-body">
- <?php echo $vars['content']; ?>
+<div class="<?php echo $class; ?>">
+ <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 53f065b3e..d74dad53d 100644
--- a/views/default/page/layouts/one_sidebar.php
+++ b/views/default/page/layouts/one_sidebar.php
@@ -9,17 +9,21 @@
* @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-inner clearfix';
+$class = 'elgg-layout elgg-layout-one-sidebar 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; ?>" id="elgg-layout-sidebar">
- <div class="elgg-sidebar elgg-aside">
+<div class="<?php echo $class; ?>">
+ <div class="elgg-sidebar">
<?php
echo elgg_view('page/elements/sidebar', $vars);
?>
@@ -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 1e6c2aae7..7521dd44f 100644
--- a/views/default/page/layouts/two_sidebar.php
+++ b/views/default/page/layouts/two_sidebar.php
@@ -5,32 +5,27 @@
* @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-inner clearfix';
+$class = 'elgg-layout elgg-layout-two-sidebar clearfix';
if (isset($vars['class'])) {
$class = "$class {$vars['class']}";
}
?>
-<div class="<?php echo $class; ?>" id="elgg-layout-two-sidebar">
- <div class="elgg-sidebar elgg-aside">
+<div class="<?php echo $class; ?>">
+ <div class="elgg-sidebar">
<?php
echo elgg_view('page/elements/sidebar', $vars);
?>
</div>
- <div class="elgg-sidebar elgg-alt elgg-aside">
+ <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', $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 eac9d43fc..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');
@@ -23,26 +25,33 @@ $widgets = elgg_get_widgets($owner->guid, $context);
if (elgg_can_edit_widget_layout($context)) {
if ($show_add_widgets) {
- echo elgg_view('layout/shells/widgets/add_button');
+ echo elgg_view('page/layouts/widgets/add_button');
}
$params = array(
'widgets' => $widgets,
'context' => $context,
'exact_match' => $exact_match,
+ 'show_access' => $show_access,
);
- echo elgg_view('layout/shells/widgets/add_panel', $params);
+ echo elgg_view('page/layouts/widgets/add_panel', $params);
}
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
new file mode 100644
index 000000000..c33a45f99
--- /dev/null
+++ b/views/default/page/layouts/widgets/add_button.php
@@ -0,0 +1,16 @@
+<?php
+/**
+ * Button area for showing the add widgets panel
+ */
+?>
+<div class="elgg-widget-add-control">
+<?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
new file mode 100644
index 000000000..d9b11342a
--- /dev/null
+++ b/views/default/page/layouts/widgets/add_panel.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * Widget add panel
+ *
+ * @uses $vars['widgets'] Array of current widgets
+ * @uses $vars['context'] The context for this widget layout
+ * @uses $vars['exact_match'] Only use widgets that match the context
+ */
+
+$widgets = $vars['widgets'];
+$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) {
+ foreach ($column_widgets as $widget) {
+ $current_handlers[] = $widget->handler;
+ }
+}
+
+?>
+<div class="elgg-widgets-add-panel hidden clearfix" id="widgets-add-panel">
+ <p>
+ <?php echo elgg_echo('widgets:add:description'); ?>
+ </p>
+ <ul>
+<?php
+ foreach ($widget_types as $handler => $widget_type) {
+ $id = "elgg-widget-type-$handler";
+ // check if widget added and only one instance allowed
+ if ($widget_type->multiple == false && in_array($handler, $current_handlers)) {
+ $class = 'elgg-state-unavailable';
+ $tooltip = elgg_echo('widget:unavailable');
+ } else {
+ $class = 'elgg-state-available';
+ $tooltip = $widget_type->description;
+ }
+
+ if ($widget_type->multiple) {
+ $class .= ' elgg-widget-multiple';
+ } else {
+ $class .= ' elgg-widget-single';
+ }
+
+ echo "<li title=\"$tooltip\" id=\"$id\" class=\"$class\">$widget_type->name</li>";
+ }
+?>
+ </ul>
+<?php
+ echo elgg_view('input/hidden', array(
+ 'name' => 'widget_context',
+ 'value' => $context
+ ));
+ echo elgg_view('input/hidden', array(
+ 'name' => 'show_access',
+ 'value' => (int)$vars['show_access']
+ ));
+?>
+</div>
diff --git a/views/default/page/shells/admin.php b/views/default/page/shells/admin.php
deleted file mode 100644
index 211bd4037..000000000
--- a/views/default/page/shells/admin.php
+++ /dev/null
@@ -1,28 +0,0 @@
-<?php
-/**
- * Elgg pageshell for the admin area
- *
- * @package Elgg
- * @subpackage Core
- *
- * @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");
-?>
-<!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); ?>
-</head>
-<body>
- <div class="elgg-page elgg-page-admin">
- <?php echo $vars['body']; ?>
- </div>
- <?php echo elgg_view('footer/analytics'); ?>
-</body>
-
-</html> \ No newline at end of file
diff --git a/views/default/page/shells/default.php b/views/default/page/shells/default.php
deleted file mode 100644
index 775eb4acc..000000000
--- a/views/default/page/shells/default.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php
-/**
- * Elgg pageshell
- * The standard HTML page shell that everything else fits into
- *
- * @package Elgg
- * @subpackage Core
- *
- * @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.
-if (elgg_get_context() == 'admin') {
- elgg_deprecated_notice("admin plugins should route through pg/admin.", 1.8);
- elgg_admin_add_plugin_settings_menu();
- elgg_unregister_css('screen');
- echo elgg_view('page/shells/admin', $vars);
- return true;
-}
-
-// 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">
-<head>
-<?php echo elgg_view('page/elements/head', $vars); ?>
-</head>
-<body>
-<div class="elgg-page elgg-page-classic">
- <div class="elgg-page-messages">
- <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
- </div>
-
- <?php if (elgg_is_logged_in()): ?>
- <div class="elgg-page-topbar">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/topbar', $vars); ?>
- </div>
- </div>
- <?php endif; ?>
-
- <div class="elgg-page-header">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/header', $vars); ?>
- </div>
- </div>
- <div class="elgg-page-body">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/body', $vars); ?>
- </div>
- </div>
- <div class="elgg-page-footer">
- <div class="elgg-inner">
- <?php echo elgg_view('page/elements/footer', $vars); ?>
- </div>
- </div>
-</div>
-<?php echo elgg_view('footer/analytics'); ?>
-</body>
-</html> \ No newline at end of file
diff --git a/views/default/page/shells/upgrade.php b/views/default/page/shells/upgrade.php
deleted file mode 100644
index b598c3c6a..000000000
--- a/views/default/page/shells/upgrade.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Page shell for upgrade script
- *
- * Displays an ajax loader until upgrade is complete
- */
-?>
-<html>
- <head>
- <title><?php echo elgg_echo('upgrading'); ?></title>
- <meta http-equiv="refresh" content="1;url=<?php echo elgg_get_site_url(); ?>upgrade.php?upgrade=upgrade"/>
- </head>
- <body bgcolor="white">
- <table width="100%" height="100%" border="0" style="margin: 0px; padding: 0px">
- <tr>
- <td width="100%" height="100%" valign="middle" align="center">
- <img src="<?php echo elgg_get_site_url(); ?>_graphics/ajax_loader_bw.gif" alt="upgrading" />
- </td>
- </tr>
- </table>
- </body>
-</html> \ No newline at end of file
diff --git a/views/default/page/shells/walled_garden.php b/views/default/page/shells/walled_garden.php
deleted file mode 100644
index 74b4f3029..000000000
--- a/views/default/page/shells/walled_garden.php
+++ /dev/null
@@ -1,78 +0,0 @@
-<?php
-/**
- *
- */
-
-// 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'];
-}
-
-// @todo - move the css below into it's own style-sheet
-// that is called when running as a private network
-?>
-<html>
-<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>
-</div>
-<?php echo elgg_view('footer/analytics'); ?>
-</body>
-</html> \ No newline at end of file
diff --git a/views/default/page/upgrade.php b/views/default/page/upgrade.php
new file mode 100644
index 000000000..1a92042be
--- /dev/null
+++ b/views/default/page/upgrade.php
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Page shell for upgrade script
+ *
+ * Displays an ajax loader until upgrade is complete
+ */
+?>
+<html>
+ <head>
+ <?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>
+ <div style="margin-top:200px">
+ <?php echo elgg_view('graphics/ajax_loader', array('hidden' => false)); ?>
+ </div>
+ </body>
+</html> \ No newline at end of file
diff --git a/views/default/page/walled_garden.php b/views/default/page/walled_garden.php
new file mode 100644
index 000000000..b280cf6b2
--- /dev/null
+++ b/views/default/page/walled_garden.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Walled garden page shell
+ *
+ * Used for the walled garden index page
+ */
+
+$is_sticky_register = elgg_is_sticky_form('register');
+$wg_body_class = 'elgg-body-walledgarden';
+if ($is_sticky_register) {
+ $wg_body_class .= ' hidden';
+}
+
+// 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">
+<head>
+<?php echo elgg_view('page/elements/head', $vars); ?>
+</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="<?php echo $wg_body_class; ?>">
+ <?php echo $vars['body']; ?>
+ </div>
+</div>
+<?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