aboutsummaryrefslogtreecommitdiff
path: root/pages
diff options
context:
space:
mode:
Diffstat (limited to 'pages')
-rw-r--r--pages/account/forgotten_password.php25
-rw-r--r--pages/account/login.php28
-rw-r--r--pages/account/register.php54
-rw-r--r--pages/account/reset_password.php40
-rw-r--r--pages/avatar/edit.php32
-rw-r--r--pages/avatar/view.php54
-rw-r--r--pages/dashboard/index.php23
-rw-r--r--pages/dashboard/latest.php27
-rw-r--r--pages/entities/index.php12
-rw-r--r--pages/entities/list.php15
-rw-r--r--pages/friends/add.php23
-rw-r--r--pages/friends/collections.php20
-rw-r--r--pages/friends/collections/add.php22
-rw-r--r--pages/friends/collections/pickercallback.php (renamed from pages/friends/pickercallback.php)31
-rw-r--r--pages/friends/collections/view.php21
-rw-r--r--pages/friends/edit.php30
-rw-r--r--pages/friends/index.php37
-rw-r--r--pages/friends/of.php37
-rw-r--r--pages/profile/edit.php32
-rw-r--r--pages/river.php61
-rw-r--r--pages/settings/account.php28
-rw-r--r--pages/settings/index.php19
-rw-r--r--pages/settings/plugins.php23
-rw-r--r--pages/settings/statistics.php20
-rw-r--r--pages/settings/tools.php29
-rw-r--r--pages/settings/user.php22
26 files changed, 480 insertions, 285 deletions
diff --git a/pages/account/forgotten_password.php b/pages/account/forgotten_password.php
index 546dbfd62..f464f98c9 100644
--- a/pages/account/forgotten_password.php
+++ b/pages/account/forgotten_password.php
@@ -6,13 +6,22 @@
* @subpackage Registration
*/
-require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
+if (elgg_is_logged_in()) {
+ forward();
+}
+
+$title = elgg_echo("user:password:lost");
+$content = elgg_view_title($title);
-if (!isloggedin()) {
- $area1 = elgg_view_title(elgg_echo("user:password:lost"));
- $area2 = elgg_view("account/forms/forgotten_password");
- $content = elgg_view_layout("one_column_with_sidebar", $area1 . $area2);
- page_draw(elgg_echo('user:password:lost'), $content);
+$content .= elgg_view_form('user/requestnewpassword', array(
+ 'class' => 'elgg-form-account',
+));
+
+if (elgg_get_config('walled_garden')) {
+ elgg_load_css('elgg.walled_garden');
+ $body = elgg_view_layout('walled_garden', array('content' => $content));
+ echo elgg_view_page($title, $body, 'walled_garden');
} else {
- forward();
-} \ No newline at end of file
+ $body = elgg_view_layout('one_column', array('content' => $content));
+ echo elgg_view_page($title, $body);
+}
diff --git a/pages/account/login.php b/pages/account/login.php
new file mode 100644
index 000000000..6aa3752d0
--- /dev/null
+++ b/pages/account/login.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Assembles and outputs a login page.
+ *
+ * This page serves as a fallback for non-JS users who click on the login
+ * drop down link.
+ *
+ * If the user is logged in, this page will forward to the front page.
+ *
+ * @package Elgg.Core
+ * @subpackage Accounts
+ */
+
+if (elgg_is_logged_in()) {
+ forward('');
+}
+
+$title = elgg_echo('login');
+$content = elgg_view('core/account/login_box');
+
+if (elgg_get_config('walled_garden')) {
+ elgg_load_css('elgg.walled_garden');
+ $body = elgg_view_layout('walled_garden', array('content' => $content));
+ echo elgg_view_page($title, $body, 'walled_garden');
+} else {
+ $body = elgg_view_layout('one_column', array('content' => $content));
+ echo elgg_view_page($title, $body);
+}
diff --git a/pages/account/register.php b/pages/account/register.php
index 2500d11fc..2fe8b74c0 100644
--- a/pages/account/register.php
+++ b/pages/account/register.php
@@ -2,7 +2,7 @@
/**
* Assembles and outputs the registration page.
*
- * Since 1.8 registration can be disabled via administration. If this is
+ * Since 1.8, registration can be disabled via administration. If this is
* the case, calls to this page will forward to the network front page.
*
* If the user is logged in, this page will forward to the network
@@ -12,19 +12,8 @@
* @subpackage Registration
*/
-/**
- * Start the Elgg engine
- *
- * Why? In the case this file is called thru a page handler: $CONFIG
- * is not within the global scope (the page handler function does not include it).
- * BUT, there _might_ exist direct calls to this file, requiring the engine
- * to be started. Logic for both cases follow.
- */
-require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-global $CONFIG;
-
// check new registration allowed
-if (!$CONFIG->allow_registration) {
+if (elgg_get_config('allow_registration') == false) {
register_error(elgg_echo('registerdisabled'));
forward();
}
@@ -32,15 +21,38 @@ if (!$CONFIG->allow_registration) {
$friend_guid = (int) get_input('friend_guid', 0);
$invitecode = get_input('invitecode');
-// If we're not logged in, display the registration page
-if (!isloggedin()) {
- $area1 = elgg_view_title(elgg_echo("register"));
- $area2 = elgg_view("account/forms/register",
- array('friend_guid' => $friend_guid, 'invitecode' => $invitecode));
+// only logged out people need to register
+if (elgg_is_logged_in()) {
+ forward();
+}
+
+$title = elgg_echo("register");
+
+$content = elgg_view_title($title);
+
+// create the registration url - including switching to https if configured
+$register_url = elgg_get_site_url() . 'action/register';
+if (elgg_get_config('https_login')) {
+ $register_url = str_replace("http:", "https:", $register_url);
+}
+$form_params = array(
+ 'action' => $register_url,
+ 'class' => 'elgg-form-account',
+);
+
+$body_params = array(
+ 'friend_guid' => $friend_guid,
+ 'invitecode' => $invitecode
+);
+$content .= elgg_view_form('register', $form_params, $body_params);
- page_draw(elgg_echo("register"), elgg_view_layout("one_column_with_sidebar", $area1 . $area2));
+$content .= elgg_view('help/register');
- // Otherwise, forward to the index page
+if (elgg_get_config('walled_garden')) {
+ elgg_load_css('elgg.walled_garden');
+ $body = elgg_view_layout('walled_garden', array('content' => $content));
+ echo elgg_view_page($title, $body, 'walled_garden');
} else {
- forward();
+ $body = elgg_view_layout('one_column', array('content' => $content));
+ echo elgg_view_page($title, $body);
}
diff --git a/pages/account/reset_password.php b/pages/account/reset_password.php
new file mode 100644
index 000000000..3ab8ccf3e
--- /dev/null
+++ b/pages/account/reset_password.php
@@ -0,0 +1,40 @@
+<?php
+/**
+ * Page for resetting a forgotten password
+ *
+ * @package Elgg.Core
+ * @subpackage Registration
+ */
+
+if (elgg_is_logged_in()) {
+ forward();
+}
+
+$user_guid = get_input('u');
+$code = get_input('c');
+
+$user = get_entity($user_guid);
+
+// don't check code here to avoid automated attacks
+if (!$user instanceof ElggUser) {
+ register_error(elgg_echo('user:passwordreset:unknown_user'));
+ forward();
+}
+
+$params = array(
+ 'guid' => $user_guid,
+ 'code' => $code,
+);
+$form = elgg_view_form('user/passwordreset', array('class' => 'elgg-form-account'), $params);
+
+$title = elgg_echo('resetpassword');
+$content = elgg_view_title(elgg_echo('resetpassword')) . $form;
+
+if (elgg_get_config('walled_garden')) {
+ elgg_load_css('elgg.walled_garden');
+ $body = elgg_view_layout('walled_garden', array('content' => $content));
+ echo elgg_view_page($title, $body, 'walled_garden');
+} else {
+ $body = elgg_view_layout('one_column', array('content' => $content));
+ echo elgg_view_page($title, $body);
+}
diff --git a/pages/avatar/edit.php b/pages/avatar/edit.php
new file mode 100644
index 000000000..56aede887
--- /dev/null
+++ b/pages/avatar/edit.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Upload and crop an avatar page
+ */
+
+// Only logged in users
+gatekeeper();
+
+elgg_set_context('profile_edit');
+
+$title = elgg_echo('avatar:edit');
+
+$entity = elgg_get_page_owner_entity();
+if (!elgg_instanceof($entity, 'user') || !$entity->canEdit()) {
+ register_error(elgg_echo('avatar:noaccess'));
+ forward(REFERER);
+}
+
+$content = elgg_view('core/avatar/upload', array('entity' => $entity));
+
+// only offer the crop view if an avatar has been uploaded
+if (isset($entity->icontime)) {
+ $content .= elgg_view('core/avatar/crop', array('entity' => $entity));
+}
+
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/avatar/view.php b/pages/avatar/view.php
new file mode 100644
index 000000000..10d81fef1
--- /dev/null
+++ b/pages/avatar/view.php
@@ -0,0 +1,54 @@
+<?php
+/**
+ * View an avatar
+ */
+
+// page owner library sets this based on URL
+$user = elgg_get_page_owner_entity();
+
+// Get the size
+$size = strtolower(get_input('size'));
+if (!in_array($size, array('master', 'large', 'medium', 'small', 'tiny', 'topbar'))) {
+ $size = 'medium';
+}
+
+// If user doesn't exist, return default icon
+if (!$user) {
+ $url = "_graphics/icons/default/{$size}.png";
+ $url = elgg_normalize_url($url);
+ forward($url);
+}
+
+$user_guid = $user->getGUID();
+
+// Try and get the icon
+$filehandler = new ElggFile();
+$filehandler->owner_guid = $user_guid;
+$filehandler->setFilename("profile/{$user_guid}{$size}.jpg");
+
+$success = false;
+
+try {
+ if ($filehandler->open("read")) {
+ if ($contents = $filehandler->read($filehandler->size())) {
+ $success = true;
+ }
+ }
+} catch (InvalidParameterException $e) {
+ elgg_log("Unable to get avatar for user with GUID $user_guid", 'ERROR');
+}
+
+
+if (!$success) {
+ $url = "_graphics/icons/default/{$size}.png";
+ $url = elgg_normalize_url($url);
+ forward($url);
+}
+
+header("Content-type: image/jpeg", true);
+header('Expires: ' . gmdate('D, d M Y H:i:s \G\M\T', strtotime("+6 months")), true);
+header("Pragma: public", true);
+header("Cache-Control: public", true);
+header("Content-Length: " . strlen($contents));
+
+echo $contents;
diff --git a/pages/dashboard/index.php b/pages/dashboard/index.php
deleted file mode 100644
index 6fbbec035..000000000
--- a/pages/dashboard/index.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/**
- * Elgg dashboard
- *
- * @package Elgg
- * @subpackage Core
- */
-
-// Ensure that only logged-in users can see this page
-gatekeeper();
-
-// Set context and title
-set_context('dashboard');
-set_page_owner(get_loggedin_userid());
-$title = elgg_echo('dashboard');
-
-// wrap intro message in a div
-$intro_message = elgg_view('dashboard/blurb');
-
-// Try and get the user from the username and set the page body accordingly
-$body = elgg_view_layout('widgets', "", "", $intro_message);
-
-page_draw($title, $body); \ No newline at end of file
diff --git a/pages/dashboard/latest.php b/pages/dashboard/latest.php
deleted file mode 100644
index 3c81207f0..000000000
--- a/pages/dashboard/latest.php
+++ /dev/null
@@ -1,27 +0,0 @@
-<?php
-/**
- * Elgg latest content page
- *
- * @package Elgg
- * @subpackage Core
- */
-
-/**
- * Start the Elgg engine
- */
-require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-
-// Load the front page
-global $CONFIG;
-
-if (is_plugin_enabled('riverdashboard')) {
- $title = elgg_view_title(elgg_echo('content:latest'));
- set_context('search');
- $content = elgg_list_registered_entities(array('limit' => 10, 'full_view' => FALSE,
- 'allowed_types' => array('object','group')));
- set_context('latest');
-} else {
- $content = "Riverdashboard not loaded";
-}
-$content = elgg_view_layout('one_column_with_sidebar', $title . $content);
-page_draw(elgg_echo('content:latest'), $content);
diff --git a/pages/entities/index.php b/pages/entities/index.php
index bbd110689..e73d65db4 100644
--- a/pages/entities/index.php
+++ b/pages/entities/index.php
@@ -19,15 +19,15 @@ if ($shell == "no") {
$context = get_input('context');
if ($context) {
- set_context($context);
+ elgg_set_context($context);
}
// Get the entity, if possible
if ($entity = get_entity($guid)) {
if ($entity->container_guid) {
- set_page_owner($entity->container_guid);
+ elgg_set_page_owner_guid($entity->container_guid);
} else {
- set_page_owner($entity->owner_guid);
+ elgg_set_page_owner_guid($entity->owner_guid);
}
// Set the body to be the full view of the entity, and the title to be its title
@@ -36,9 +36,9 @@ if ($entity = get_entity($guid)) {
} else if ($entity instanceof ElggEntity) {
$title = $entity->name;
}
- $area1 = elgg_view_entity($entity, true);
+ $area1 = elgg_view_entity($entity, array('full_view' => true));
if ($shell) {
- $body = elgg_view_layout('one_column_with_sidebar', $area1);
+ $body = elgg_view_layout('one_column', array('content' => $area1));
} else {
$body = $area1;
}
@@ -48,7 +48,7 @@ if ($entity = get_entity($guid)) {
// Display the page
if ($shell) {
- page_draw($title, $body);
+ echo elgg_view_page($title, $body);
} else {
header("Content-type: text/html; charset=UTF-8");
echo $title;
diff --git a/pages/entities/list.php b/pages/entities/list.php
deleted file mode 100644
index 0eb55286b..000000000
--- a/pages/entities/list.php
+++ /dev/null
@@ -1,15 +0,0 @@
-<?php
-/**
- * Entity viewer
- *
- * @package Elgg
- * @subpackage Core
- */
-
-set_context('search');
-$area2 = elgg_list_entities();
-set_context('entities');
-
-$body = elgg_view_layout('two_column_left_sidebar', $area1, $area2);
-
-page_draw("", $body); \ No newline at end of file
diff --git a/pages/friends/add.php b/pages/friends/add.php
deleted file mode 100644
index 34944d624..000000000
--- a/pages/friends/add.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/**
- * Elgg add a collection of friends
- *
- * @package Elgg
- * @subpackage Core
- */
-
-// You need to be logged in for this one
-gatekeeper();
-
-$title = elgg_echo('friends:collections:add');
-
-$content = elgg_view_title($title);
-
-$content .= elgg_view('friends/forms/edit', array(
- 'friends' => get_user_friends(get_loggedin_userid(), "", 9999)
- )
-);
-
-$body = elgg_view_layout('one_column_with_sidebar', $content);
-
-page_draw(elgg_echo('friends:collections:add'), $body);
diff --git a/pages/friends/collections.php b/pages/friends/collections.php
deleted file mode 100644
index 9cf0c58a6..000000000
--- a/pages/friends/collections.php
+++ /dev/null
@@ -1,20 +0,0 @@
-<?php
-/**
- * Elgg collections of friends
- *
- * @package Elgg
- * @subpackage Core
- */
-
-// You need to be logged in for this one
-gatekeeper();
-
-$title = elgg_echo('friends:collections');
-
-$content = elgg_view_title($title);
-
-$content .= elgg_view_access_collections(get_loggedin_userid());
-
-$body = elgg_view_layout('one_column_with_sidebar', $content);
-
-page_draw($title, $body);
diff --git a/pages/friends/collections/add.php b/pages/friends/collections/add.php
new file mode 100644
index 000000000..60f7586ba
--- /dev/null
+++ b/pages/friends/collections/add.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Elgg add a collection of friends
+ *
+ * @package Elgg.Core
+ * @subpackage Social.Collections
+ */
+
+// You need to be logged in for this one
+gatekeeper();
+
+$title = elgg_echo('friends:collections:add');
+
+$content = elgg_view_title($title);
+
+$content .= elgg_view_form('friends/collections/add', array(), array(
+ 'friends' => get_user_friends(elgg_get_logged_in_user_guid(), "", 9999),
+));
+
+$body = elgg_view_layout('one_sidebar', array('content' => $content));
+
+echo elgg_view_page(elgg_echo('friends:collections:add'), $body);
diff --git a/pages/friends/pickercallback.php b/pages/friends/collections/pickercallback.php
index 00661c2b1..c6ed61cf0 100644
--- a/pages/friends/pickercallback.php
+++ b/pages/friends/collections/pickercallback.php
@@ -2,13 +2,14 @@
/**
* Elgg friends picker callback
*
- * @package Elgg
- * @subpackage Core
+ * @package Elgg.Core
+ * @subpackage Social.Collections
*/
// Load Elgg engine
-require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php");
-global $CONFIG;
+require_once(dirname(dirname(dirname(dirname(__FILE__)))) . "/engine/start.php");
+
+$site_url = elgg_get_site_url();
// Get callback type (list or picker)
$type = get_input('type', 'picker');
@@ -22,7 +23,7 @@ if (!$members) {
$friendspicker = (int) get_input('friendspicker', 0);
// Get page owner (bomb out if there isn't one)
-$pageowner = elgg_get_page_owner();
+$pageowner = elgg_get_page_owner_entity();
if (!$pageowner) {
forward();
exit;
@@ -31,21 +32,25 @@ if (!$pageowner) {
// Depending on the view type, launch a different view
switch($type) {
case 'list':
- $js_segment = elgg_view('friends/tablelistcountupdate',
- array('friendspicker' => $friendspicker, 'count' => sizeof($members)));
- $content = elgg_view('friends/tablelist',
- array('entities' => $members, 'content' => $js_segment));
+ $js_segment = elgg_view('core/friends/tablelistcountupdate', array(
+ 'friendspicker' => $friendspicker,
+ 'count' => sizeof($members),
+ ));
+ $content = elgg_view('core/friends/tablelist', array(
+ 'entities' => $members,
+ 'content' => $js_segment,
+ ));
break;
default:
$friends = $pageowner->getFriends('', 9999);
- $content = elgg_view('friends/picker', array(
+
+ $content = elgg_view('input/friendspicker', array(
'entities' => $friends,
'value' => $members,
'callback' => true,
'friendspicker' => $friendspicker,
- 'formcontents' => elgg_view('friends/forms/collectionfields',
- array('collection' => get_access_collection($collection))),
- 'formtarget' => $CONFIG->wwwroot . 'action/friends/editcollection',
+ 'collection_id' => $collection,
+ 'formtarget' => $site_url . 'action/friends/collections/edit',
));
break;
}
diff --git a/pages/friends/collections/view.php b/pages/friends/collections/view.php
new file mode 100644
index 000000000..0d72fe788
--- /dev/null
+++ b/pages/friends/collections/view.php
@@ -0,0 +1,21 @@
+<?php
+/**
+ * Elgg collections of friends
+ *
+ * @package Elgg.Core
+ * @subpackage Social.Collections
+ */
+
+$title = elgg_echo('friends:collections');
+elgg_register_title_button('collections', 'add');
+
+$content = elgg_view_access_collections(elgg_get_logged_in_user_guid());
+
+$body = elgg_view_layout('content', array(
+ 'filter' => false,
+ 'content' => $content,
+ 'title' => $title,
+ 'context' => 'collections',
+));
+
+echo elgg_view_page($title, $body);
diff --git a/pages/friends/edit.php b/pages/friends/edit.php
deleted file mode 100644
index ddc7f9650..000000000
--- a/pages/friends/edit.php
+++ /dev/null
@@ -1,30 +0,0 @@
-<?php
-/**
- * Elgg add a collection of friends
- *
- * @package Elgg
- * @subpackage Core
- */
-
-// You need to be logged in for this one
-gatekeeper();
-
-$title = elgg_echo('friends:collectionedit');
-
-$content = elgg_view_title($title);
-
-//grab the collection id passed to the edit form
-$collection_id = get_input('collection');
-
-//get the full collection
-$collection = get_access_collection($collection_id);
-
-//get all members of the collection
-$collection_members = get_members_of_access_collection($collection_id);
-
-$content .= elgg_view('friends/forms/edit', array('collection' => $collection,
- 'collection_members' => $collection_members));
-
-$body = elgg_view_layout('one_column_with_sidebar', $content);
-
-page_draw($title, $body); \ No newline at end of file
diff --git a/pages/friends/index.php b/pages/friends/index.php
index e9ff87c16..63518a413 100644
--- a/pages/friends/index.php
+++ b/pages/friends/index.php
@@ -2,25 +2,34 @@
/**
* Elgg friends page
*
- * @package Elgg
- * @subpackage Core
+ * @package Elgg.Core
+ * @subpackage Social.Friends
*/
-$owner = elgg_get_page_owner();
+$owner = elgg_get_page_owner_entity();
if (!$owner) {
- gatekeeper();
- set_page_owner(get_loggedin_userid());
- $owner = elgg_get_page_owner();
+ // unknown user so send away (@todo some sort of 404 error)
+ forward();
}
-$title = sprintf(elgg_echo("friends:owned"), $owner->name);
+$title = elgg_echo("friends:owned", array($owner->name));
-$content = elgg_view_title($title);
-
-$content .= "<div class='members_list'>"
- . list_entities_from_relationship('friend', $owner->getGUID(), FALSE, 'user', '', 0, 10, FALSE)
- . "</div>";
+$options = array(
+ 'relationship' => 'friend',
+ 'relationship_guid' => $owner->getGUID(),
+ 'inverse_relationship' => FALSE,
+ 'type' => 'user',
+ 'full_view' => FALSE
+);
+$content = elgg_list_entities_from_relationship($options);
+if (!$content) {
+ $content = elgg_echo('friends:none');
+}
-$body = elgg_view_layout('one_column_with_sidebar', $content);
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
-page_draw($title, $body);
+echo elgg_view_page($title, $body);
diff --git a/pages/friends/of.php b/pages/friends/of.php
index 0e09e09f0..aa9ee8bee 100644
--- a/pages/friends/of.php
+++ b/pages/friends/of.php
@@ -2,25 +2,34 @@
/**
* Elgg friends of page
*
- * @package Elgg
- * @subpackage Core
+ * @package Elgg.Core
+ * @subpackage Social.Friends
*/
-$owner = elgg_get_page_owner();
+$owner = elgg_get_page_owner_entity();
if (!$owner) {
- gatekeeper();
- set_page_owner(get_loggedin_userid());
- $owner = elgg_get_page_owner();
+ // unknown user so send away (@todo some sort of 404 error)
+ forward();
}
-$title = sprintf(elgg_echo("friends:of:owned"), $owner->name);
+$title = elgg_echo("friends:of:owned", array($owner->name));
-$content = elgg_view_title($title);
-
-$content .= "<div class='members_list'>"
- . list_entities_from_relationship('friend', $owner->getGUID(), TRUE, 'user', '', 0, 10, FALSE)
- . "</div>";
+$options = array(
+ 'relationship' => 'friend',
+ 'relationship_guid' => $owner->getGUID(),
+ 'inverse_relationship' => TRUE,
+ 'type' => 'user',
+ 'full_view' => FALSE
+);
+$content = elgg_list_entities_from_relationship($options);
+if (!$content) {
+ $content = elgg_echo('friends:none');
+}
-$body = elgg_view_layout('one_column_with_sidebar', $content);
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
-page_draw($title, $body);
+echo elgg_view_page($title, $body);
diff --git a/pages/profile/edit.php b/pages/profile/edit.php
new file mode 100644
index 000000000..0ffb8783f
--- /dev/null
+++ b/pages/profile/edit.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Edit profile page
+ */
+
+gatekeeper();
+
+$user = elgg_get_page_owner_entity();
+if (!$user) {
+ register_error(elgg_echo("profile:notfound"));
+ forward();
+}
+
+// check if logged in user can edit this profile
+if (!$user->canEdit()) {
+ register_error(elgg_echo("profile:noaccess"));
+ forward();
+}
+
+elgg_set_context('profile_edit');
+
+$title = elgg_echo('profile:edit');
+
+$content = elgg_view_form('profile/edit', array(), array('entity' => $user));
+
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/river.php b/pages/river.php
new file mode 100644
index 000000000..801d9f664
--- /dev/null
+++ b/pages/river.php
@@ -0,0 +1,61 @@
+<?php
+/**
+ * Main activity stream list page
+ */
+
+$options = array();
+
+$page_type = preg_replace('[\W]', '', get_input('page_type', 'all'));
+$type = preg_replace('[\W]', '', get_input('type', 'all'));
+$subtype = preg_replace('[\W]', '', get_input('subtype', ''));
+if ($subtype) {
+ $selector = "type=$type&subtype=$subtype";
+} else {
+ $selector = "type=$type";
+}
+
+if ($type != 'all') {
+ $options['type'] = $type;
+ if ($subtype) {
+ $options['subtype'] = $subtype;
+ }
+}
+
+switch ($page_type) {
+ case 'mine':
+ $title = elgg_echo('river:mine');
+ $page_filter = 'mine';
+ $options['subject_guid'] = elgg_get_logged_in_user_guid();
+ break;
+ case 'friends':
+ $title = elgg_echo('river:friends');
+ $page_filter = 'friends';
+ $options['relationship_guid'] = elgg_get_logged_in_user_guid();
+ $options['relationship'] = 'friend';
+ break;
+ default:
+ $title = elgg_echo('river:all');
+ $page_filter = 'all';
+ break;
+}
+
+$activity = elgg_list_river($options);
+if (!$activity) {
+ $activity = elgg_echo('river:none');
+}
+
+$content = elgg_view('core/river/filter', array('selector' => $selector));
+
+$sidebar = elgg_view('core/river/sidebar');
+
+$params = array(
+ 'title' => $title,
+ 'content' => $content . $activity,
+ 'sidebar' => $sidebar,
+ 'filter_context' => $page_filter,
+ 'class' => 'elgg-river-layout',
+);
+
+$body = elgg_view_layout('content', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/settings/account.php b/pages/settings/account.php
new file mode 100644
index 000000000..962e1fc37
--- /dev/null
+++ b/pages/settings/account.php
@@ -0,0 +1,28 @@
+<?php
+/**
+ * Elgg user account settings.
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+// Only logged in users
+gatekeeper();
+
+// Make sure we don't open a security hole ...
+if ((!elgg_get_page_owner_entity()) || (!elgg_get_page_owner_entity()->canEdit())) {
+ register_error(elgg_echo('noaccess'));
+ forward('/');
+}
+
+$title = elgg_echo('usersettings:user');
+
+$content = elgg_view('core/settings/account');
+
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/settings/index.php b/pages/settings/index.php
deleted file mode 100644
index dbc8c87da..000000000
--- a/pages/settings/index.php
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-/**
- * Elgg user settings system index
- *
- * @package Elgg
- * @subpackage Core
- */
-
-if (!elgg_get_page_owner_guid()) {
- set_page_owner(get_loggedin_userid());
-}
-
-// Make sure we don't open a security hole ...
-if ((!elgg_get_page_owner()) || (!elgg_get_page_owner()->canEdit())) {
- set_page_owner(get_loggedin_userid());
-}
-
-// Forward to the user settings
-forward('pg/settings/user/' . elgg_get_page_owner()->username . "/"); \ No newline at end of file
diff --git a/pages/settings/plugins.php b/pages/settings/plugins.php
deleted file mode 100644
index a768e69d7..000000000
--- a/pages/settings/plugins.php
+++ /dev/null
@@ -1,23 +0,0 @@
-<?php
-/**
- * Elgg user plugin settings.
- *
- * @package Elgg
- * @subpackage Core
- */
-
-// Make sure only valid users can see this
-gatekeeper();
-
-// Make sure we don't open a security hole ...
-if ((!elgg_get_page_owner()) || (!elgg_get_page_owner()->canEdit())) {
- set_page_owner(get_loggedin_userid());
-}
-
-$content = elgg_view_title(elgg_echo("usersettings:plugins"));
-$content .= elgg_view("usersettings/plugins",
- array('installed_plugins' => get_installed_plugins()));
-
-$body = elgg_view_layout('one_column_with_sidebar', $content);
-
-page_draw(elgg_echo("usersettings:plugins"), $body);
diff --git a/pages/settings/statistics.php b/pages/settings/statistics.php
index 38b0094ee..9dcc9211d 100644
--- a/pages/settings/statistics.php
+++ b/pages/settings/statistics.php
@@ -6,17 +6,23 @@
* @subpackage Core
*/
-// Make sure only valid admin users can see this
+// Only logged in users
gatekeeper();
// Make sure we don't open a security hole ...
-if ((!elgg_get_page_owner()) || (!elgg_get_page_owner()->canEdit())) {
- set_page_owner(get_loggedin_userid());
+if ((!elgg_get_page_owner_entity()) || (!elgg_get_page_owner_entity()->canEdit())) {
+ register_error(elgg_echo('noaccess'));
+ forward('/');
}
-$content = elgg_view_title(elgg_echo("usersettings:statistics"));
-$content .= elgg_view("usersettings/statistics");
+$title = elgg_echo("usersettings:statistics");
-$body = elgg_view_layout('one_column_with_sidebar', $content);
+$content = elgg_view("core/settings/statistics");
-page_draw(elgg_echo("usersettings:statistics"), $body);
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/settings/tools.php b/pages/settings/tools.php
new file mode 100644
index 000000000..ed6b941c0
--- /dev/null
+++ b/pages/settings/tools.php
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Elgg user tools settings
+ *
+ * @package Elgg
+ * @subpackage Core
+ */
+
+// Only logged in users
+gatekeeper();
+
+// Make sure we don't open a security hole ...
+if ((!elgg_get_page_owner_entity()) || (!elgg_get_page_owner_entity()->canEdit())) {
+ register_error(elgg_echo('noaccess'));
+ forward('/');
+}
+
+$title = elgg_echo("usersettings:plugins");
+
+$content = elgg_view("core/settings/tools",
+ array('installed_plugins' => elgg_get_plugins()));
+
+$params = array(
+ 'content' => $content,
+ 'title' => $title,
+);
+$body = elgg_view_layout('one_sidebar', $params);
+
+echo elgg_view_page($title, $body);
diff --git a/pages/settings/user.php b/pages/settings/user.php
deleted file mode 100644
index 62a3bb1ba..000000000
--- a/pages/settings/user.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-/**
- * Elgg user account settings.
- *
- * @package Elgg
- * @subpackage Core
- */
-
-// Make sure only valid admin users can see this
-gatekeeper();
-
-// Make sure we don't open a security hole ...
-if ((!elgg_get_page_owner()) || (!elgg_get_page_owner()->canEdit())) {
- set_page_owner(get_loggedin_userid());
-}
-
-$content = elgg_view_title(elgg_echo('usersettings:user'));
-$content .= elgg_view("usersettings/form");
-
-$body = elgg_view_layout("one_column_with_sidebar", $content);
-
-page_draw(elgg_echo("usersettings:user"), $body);