diff options
author | ewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-22 00:59:57 +0000 |
---|---|---|
committer | ewinslow <ewinslow@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2011-02-22 00:59:57 +0000 |
commit | 434223ef35bd67cdece1ce8cb0fc829a0811daf7 (patch) | |
tree | dc99bca9099235ed3a9b3dadd25d1e6c468e9842 /views/default/page | |
parent | 5fdb5b33324fc6b8ceaa388ff73ae620d95f42a9 (diff) | |
download | elgg-434223ef35bd67cdece1ce8cb0fc829a0811daf7.tar.gz elgg-434223ef35bd67cdece1ce8cb0fc829a0811daf7.tar.bz2 |
Refs #2950: Moved /layout/ views into /page/ dir -- still not satisfied with page/components/list/body, page/layouts/content/* and page/layouts/widgets/add_button
git-svn-id: http://code.elgg.org/elgg/trunk@8400 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'views/default/page')
-rw-r--r-- | views/default/page/components/list/body.php | 53 | ||||
-rw-r--r-- | views/default/page/layouts/content/filter.php | 43 | ||||
-rw-r--r-- | views/default/page/layouts/content/footer.php | 8 | ||||
-rw-r--r-- | views/default/page/layouts/content/header.php | 49 | ||||
-rw-r--r-- | views/default/page/layouts/content/sidebar.php | 8 | ||||
-rw-r--r-- | views/default/page/layouts/widgets/add_button.php | 10 | ||||
-rw-r--r-- | views/default/page/layouts/widgets/add_panel.php | 58 |
7 files changed, 229 insertions, 0 deletions
diff --git a/views/default/page/components/list/body.php b/views/default/page/components/list/body.php new file mode 100644 index 000000000..ef62df198 --- /dev/null +++ b/views/default/page/components/list/body.php @@ -0,0 +1,53 @@ +<?php +/** + * List body + * + * Sample output + * <ul class="elgg-list-metadata"><li>Public</li><li>Like this</li></ul> + * <h3><a href="">Title</a></h3> + * <p class="elgg-subtext">Posted 3 hours ago by George</p> + * <p class="elgg-tags"><a href="">one</a>, <a href="">two</a></p> + * <div class="elgg-list-content">Excerpt text</div> + * + * @uses $vars['entity'] ElggEntity + * @uses $vars['title'] Title link (optional) false = no title, '' = default + * @uses $vars['metadata'] HTML for entity metadata and actions (optional) + * @uses $vars['subtitle'] HTML for the subtitle (optional) + * @uses $vars['tags'] HTML for the tags (optional) + * @uses $vars['content'] HTML for the entity content (optional) + */ + +$entity = $vars['entity']; + +$title_link = elgg_extract('title', $vars, ''); +if ($title_link === '') { + if (isset($entity->title)) { + $text = $entity->title; + } else { + $text = $entity->name; + } + $params = array( + 'text' => $text, + 'href' => $entity->getURL(), + ); + $title_link = elgg_view('output/url', $params); +} + +$metadata = elgg_extract('metadata', $vars, ''); +$subtitle = elgg_extract('subtitle', $vars, ''); +$content = elgg_extract('content', $vars, ''); + +$tags = elgg_extract('tags', $vars, ''); +if ($tags !== false) { + $tags = elgg_view('output/tags', array('tags' => $entity->tags)); +} + +if ($metadata) { + echo $metadata; +} +echo "<h3>$title_link</h3>"; +echo "<p class=\"elgg-subtext\">$subtitle</p>"; +echo $tags; +if ($content) { + echo "<div class=\"elgg-list-content\">$content</div>"; +} diff --git a/views/default/page/layouts/content/filter.php b/views/default/page/layouts/content/filter.php new file mode 100644 index 000000000..9daee6d71 --- /dev/null +++ b/views/default/page/layouts/content/filter.php @@ -0,0 +1,43 @@ +<?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( + 'title' => elgg_echo('all'), + 'url' => (isset($vars['all_link'])) ? $vars['all_link'] : "pg/$context/all/", + 'selected' => ($filter_context == 'all'), + ), + 'mine' => array( + 'title' => elgg_echo('mine'), + 'url' => (isset($vars['mine_link'])) ? $vars['mine_link'] : "pg/$context/owner/$username/", + 'selected' => ($filter_context == 'mine'), + ), + 'friend' => array( + 'title' => elgg_echo('friends'), + 'url' => (isset($vars['friend_link'])) ? $vars['friend_link'] : "pg/$context/friends/$username/", + 'selected' => ($filter_context == 'friends'), + ), + ); + + echo elgg_view('navigation/tabs', array('tabs' => $tabs)); +} 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..7a3ab1ae9 --- /dev/null +++ b/views/default/page/layouts/content/header.php @@ -0,0 +1,49 @@ +<?php +/** + * Main content header + * + * This includes a title and a new content button by default + * + * @uses $vars['header_override'] HTML for overriding the default header (override) + * @uses $vars['title'] Title text (override) + * @uses $vars['context'] Page context (override) + * @uses $vars['buttons'] Content header buttons (override) + */ + +if (isset($vars['header_override'])) { + echo $vars['header_override']; + return true; +} + +$context = elgg_extract('context', $vars, elgg_get_context()); +if ($context) { + $title = elgg_extract('title', $vars, ''); + if (!$title) { + $title = elgg_echo($context); + } + + if (isset($vars['buttons'])) { + $buttons = $vars['buttons']; + } else { + if (elgg_is_logged_in() && $context) { + $owner = elgg_get_page_owner_entity(); + if (elgg_instanceof($owner, 'group')) { + $guid = $owner->getGUID(); + } else { + $guid = elgg_get_logged_in_user_guid(); + } + $new_link = elgg_extract('new_link', $vars, "pg/$context/add/$guid/"); + $params = array( + 'href' => $new_link = elgg_normalize_url($new_link), + 'text' => elgg_echo("$context:add"), + 'class' => 'elgg-button-action', + ); + $buttons = elgg_view('output/url', $params); + } + } + echo <<<HTML +<div class="elgg-head clearfix"> + <h2 class="elgg-heading-main">$title</h2>$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/widgets/add_button.php b/views/default/page/layouts/widgets/add_button.php new file mode 100644 index 000000000..0304c50a0 --- /dev/null +++ b/views/default/page/layouts/widgets/add_button.php @@ -0,0 +1,10 @@ +<?php +/** + * Button area for showing the add widgets panel + */ +?> +<div class="elgg-widget-add-control"> + <a class="elgg-button-action elgg-toggle" id="elgg-toggler-add-widgets"> + <?php echo elgg_echo('widgets:add'); ?> + </a> +</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..38c133c4a --- /dev/null +++ b/views/default/page/layouts/widgets/add_panel.php @@ -0,0 +1,58 @@ +<?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); + +$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="elgg-togglee-add-widgets"> + <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 + $params = array( + 'name' => 'widget_context', + 'value' => $context + ); + echo elgg_view('input/hidden', $params); +?> +</div> |