aboutsummaryrefslogtreecommitdiff
path: root/views/default/page
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/page')
-rw-r--r--views/default/page/admin.php27
-rw-r--r--views/default/page/components/list.php19
-rw-r--r--views/default/page/default.php33
-rw-r--r--views/default/page/elements/comments.php5
-rw-r--r--views/default/page/elements/head.php6
-rw-r--r--views/default/page/elements/messages.php2
-rw-r--r--views/default/page/error.php14
-rw-r--r--views/default/page/layouts/error.php12
-rw-r--r--views/default/page/layouts/walled_garden.php16
-rw-r--r--views/default/page/layouts/widgets.php1
-rw-r--r--views/default/page/layouts/widgets/add_panel.php9
-rw-r--r--views/default/page/walled_garden.php15
12 files changed, 118 insertions, 41 deletions
diff --git a/views/default/page/admin.php b/views/default/page/admin.php
index cd03541d5..7045edd91 100644
--- a/views/default/page/admin.php
+++ b/views/default/page/admin.php
@@ -5,16 +5,11 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['title'] The page title
- * @uses $vars['body'] The main content of the page
+ * @uses $vars['title'] The page title
+ * @uses $vars['body'] The main content of the page
* @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
*/
-// Set the content type
-header("Content-type: text/html; charset=UTF-8");
-
-$messages = $vars['sysmessages'];
-
$notices_html = '';
$notices = elgg_get_admin_notices();
if ($notices) {
@@ -25,6 +20,16 @@ if ($notices) {
$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">
@@ -36,21 +41,21 @@ if ($notices) {
<div class="elgg-inner">
<div class="elgg-page-header">
<div class="elgg-inner clearfix">
- <?php echo elgg_view('admin/header'); ?>
+ <?php echo $header; ?>
</div>
</div>
<div class="elgg-page-messages">
- <?php echo elgg_view('page/elements/messages', array('object' => $messages)); ?>
+ <?php echo $messages; ?>
<?php echo $notices_html; ?>
</div>
<div class="elgg-page-body">
<div class="elgg-inner">
- <?php echo $vars['body']; ?>
+ <?php echo $body; ?>
</div>
</div>
<div class="elgg-page-footer">
<div class="elgg-inner">
- <?php echo elgg_view('admin/footer'); ?>
+ <?php echo $footer; ?>
</div>
</div>
</div>
diff --git a/views/default/page/components/list.php b/views/default/page/components/list.php
index c0db50bc5..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)
@@ -40,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,
@@ -51,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, $vars);
- $html .= '</li>';
}
$html .= '</ul>';
}
diff --git a/views/default/page/default.php b/views/default/page/default.php
index 0e27cda52..567494d0c 100644
--- a/views/default/page/default.php
+++ b/views/default/page/default.php
@@ -6,57 +6,68 @@
* @package Elgg
* @subpackage Core
*
- * @uses $vars['title'] The page title
- * @uses $vars['body'] The main content of the page
+ * @uses $vars['title'] The page title
+ * @uses $vars['body'] The main content of the page
* @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
*/
// backward compatability support for plugins that are not using the new approach
// of routing through admin. See reportedcontent plugin for a simple example.
if (elgg_get_context() == 'admin') {
- elgg_deprecated_notice("admin plugins should route through 'admin'.", 1.8);
+ if (get_input('handler') != 'admin') {
+ elgg_deprecated_notice("admin plugins should route through 'admin'.", 1.8);
+ }
elgg_admin_add_plugin_settings_menu();
elgg_unregister_css('elgg');
echo elgg_view('page/admin', $vars);
return true;
}
+// render content before head so that JavaScript and CSS can be loaded. See #4032
+$topbar = elgg_view('page/elements/topbar', $vars);
+$messages = elgg_view('page/elements/messages', array('object' => $vars['sysmessages']));
+$header = elgg_view('page/elements/header', $vars);
+$body = elgg_view('page/elements/body', $vars);
+$footer = elgg_view('page/elements/footer', $vars);
+
// Set the content type
header("Content-type: text/html; charset=UTF-8");
+$lang = get_current_language();
+
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $lang; ?>" lang="<?php echo $lang; ?>">
<head>
<?php echo elgg_view('page/elements/head', $vars); ?>
</head>
<body>
<div class="elgg-page elgg-page-default">
<div class="elgg-page-messages">
- <?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
+ <?php echo $messages; ?>
</div>
- <?php if (elgg_is_logged_in()): ?>
+ <?php if (elgg_is_logged_in()){ ?>
<div class="elgg-page-topbar">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/topbar', $vars); ?>
+ <?php echo $topbar; ?>
</div>
</div>
- <?php endif; ?>
+ <?php } ?>
<div class="elgg-page-header">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/header', $vars); ?>
+ <?php echo $header; ?>
</div>
</div>
<div class="elgg-page-body">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/body', $vars); ?>
+ <?php echo $body; ?>
</div>
</div>
<div class="elgg-page-footer">
<div class="elgg-inner">
- <?php echo elgg_view('page/elements/footer', $vars); ?>
+ <?php echo $footer; ?>
</div>
</div>
</div>
diff --git a/views/default/page/elements/comments.php b/views/default/page/elements/comments.php
index ebc7d3df5..97cb9574e 100644
--- a/views/default/page/elements/comments.php
+++ b/views/default/page/elements/comments.php
@@ -12,7 +12,7 @@ $show_add_form = elgg_extract('show_add_form', $vars, true);
$id = '';
if (isset($vars['id'])) {
- $id = "id =\"{$vars['id']}\"";
+ $id = "id=\"{$vars['id']}\"";
}
$class = 'elgg-comments';
@@ -36,8 +36,7 @@ if ($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/head.php b/views/default/page/elements/head.php
index e968e95ce..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 {
@@ -66,7 +66,9 @@ $release = get_version(true);
<?php } ?>
<script type="text/javascript">
+// <![CDATA[
<?php echo elgg_view('js/initialize_elgg'); ?>
+// ]]>
</script>
<?php
@@ -76,4 +78,4 @@ $metatags = elgg_view('metatags', $vars);
if ($metatags) {
elgg_deprecated_notice("The metatags view has been deprecated. Extend page/elements/head instead", 1.8);
echo $metatags;
-} \ No newline at end of file
+}
diff --git a/views/default/page/elements/messages.php b/views/default/page/elements/messages.php
index a35a48586..edd40d71e 100644
--- a/views/default/page/elements/messages.php
+++ b/views/default/page/elements/messages.php
@@ -18,7 +18,7 @@ if (isset($vars['object']) && is_array($vars['object']) && sizeof($vars['object'
foreach ($vars['object'] as $type => $list ) {
foreach ($list as $message) {
echo "<li class=\"elgg-message elgg-state-$type\">";
- echo autop($message);
+ echo elgg_autop($message);
echo '</li>';
}
}
diff --git a/views/default/page/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/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/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 e3819cc20..c6b162516 100644
--- a/views/default/page/layouts/widgets.php
+++ b/views/default/page/layouts/widgets.php
@@ -31,6 +31,7 @@ if (elgg_can_edit_widget_layout($context)) {
'widgets' => $widgets,
'context' => $context,
'exact_match' => $exact_match,
+ 'show_access' => $show_access,
);
echo elgg_view('page/layouts/widgets/add_panel', $params);
}
diff --git a/views/default/page/layouts/widgets/add_panel.php b/views/default/page/layouts/widgets/add_panel.php
index 9eb78cdb6..d9b11342a 100644
--- a/views/default/page/layouts/widgets/add_panel.php
+++ b/views/default/page/layouts/widgets/add_panel.php
@@ -50,10 +50,13 @@ foreach ($widgets as $column_widgets) {
?>
</ul>
<?php
- $params = array(
+ echo elgg_view('input/hidden', array(
'name' => 'widget_context',
'value' => $context
- );
- echo elgg_view('input/hidden', $params);
+ ));
+ echo elgg_view('input/hidden', array(
+ 'name' => 'show_access',
+ 'value' => (int)$vars['show_access']
+ ));
?>
</div>
diff --git a/views/default/page/walled_garden.php b/views/default/page/walled_garden.php
index ff8e317c7..b280cf6b2 100644
--- a/views/default/page/walled_garden.php
+++ b/views/default/page/walled_garden.php
@@ -5,6 +5,12 @@
* 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");
?>
@@ -18,10 +24,17 @@ header("Content-type: text/html; charset=UTF-8");
<div class="elgg-page-messages">
<?php echo elgg_view('page/elements/messages', array('object' => $vars['sysmessages'])); ?>
</div>
- <div class="elgg-body-walledgarden">
+ <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