aboutsummaryrefslogtreecommitdiff
path: root/views/default/page/layouts
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/page/layouts')
-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
15 files changed, 280 insertions, 88 deletions
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>