diff options
Diffstat (limited to 'views/default/page/layouts')
| -rw-r--r-- | views/default/page/layouts/admin.php | 60 | ||||
| -rw-r--r-- | views/default/page/layouts/content.php | 14 | ||||
| -rw-r--r-- | views/default/page/layouts/content/filter.php | 52 | ||||
| -rw-r--r-- | views/default/page/layouts/content/footer.php | 8 | ||||
| -rw-r--r-- | views/default/page/layouts/content/header.php | 43 | ||||
| -rw-r--r-- | views/default/page/layouts/content/sidebar.php | 8 | ||||
| -rw-r--r-- | views/default/page/layouts/error.php | 12 | ||||
| -rw-r--r-- | views/default/page/layouts/one_column.php | 23 | ||||
| -rw-r--r-- | views/default/page/layouts/one_sidebar.php | 12 | ||||
| -rw-r--r-- | views/default/page/layouts/two_column_left_sidebar.php | 2 | ||||
| -rw-r--r-- | views/default/page/layouts/two_sidebar.php | 21 | ||||
| -rw-r--r-- | views/default/page/layouts/walled_garden.php | 16 | ||||
| -rw-r--r-- | views/default/page/layouts/widgets.php | 19 | ||||
| -rw-r--r-- | views/default/page/layouts/widgets/add_button.php | 16 | ||||
| -rw-r--r-- | views/default/page/layouts/widgets/add_panel.php | 62 |
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> |
