From 737394eb15a2ef0c1f5a085d7f5958d2f3e66b89 Mon Sep 17 00:00:00 2001 From: marcus Date: Mon, 23 Jun 2008 16:27:05 +0000 Subject: Refs #76: User settings page (to Elgg Classic standard). Committing some work before shutting down for the day. git-svn-id: https://code.elgg.org/elgg/trunk@1068 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/plugins.php | 36 +++++++++++++++ engine/lib/usersettings.php | 51 ++++++++++++++++++++++ engine/start.php | 1 - languages/en.php | 20 +++++++++ usersettings/index.php | 26 +++++++++++ usersettings/plugins/index.php | 22 ++++++++++ usersettings/statistics/index.php | 22 ++++++++++ usersettings/user/index.php | 22 ++++++++++ views/default/admin/main_opt/plugins.php | 2 +- views/default/admin/main_opt/site.php | 2 +- views/default/admin/main_opt/statistics.php | 2 +- views/default/admin/main_opt/user.php | 2 +- views/default/object/plugin.php | 5 ++- views/default/usersettings/main.php | 16 +++++++ views/default/usersettings/main_opt/plugins.php | 19 ++++++++ views/default/usersettings/main_opt/statistics.php | 17 ++++++++ views/default/usersettings/main_opt/user.php | 17 ++++++++ views/default/usersettings/plugins.php | 43 ++++++++++++++++++ views/default/usersettings/plugins_opt/plugin.php | 38 ++++++++++++++++ views/default/usersettings/statistics.php | 16 +++++++ views/default/usersettings/user.php | 3 ++ 21 files changed, 375 insertions(+), 7 deletions(-) create mode 100644 engine/lib/usersettings.php create mode 100644 usersettings/index.php create mode 100644 usersettings/plugins/index.php create mode 100644 usersettings/statistics/index.php create mode 100644 usersettings/user/index.php create mode 100644 views/default/usersettings/main.php create mode 100644 views/default/usersettings/main_opt/plugins.php create mode 100644 views/default/usersettings/main_opt/statistics.php create mode 100644 views/default/usersettings/main_opt/user.php create mode 100644 views/default/usersettings/plugins.php create mode 100644 views/default/usersettings/plugins_opt/plugin.php create mode 100644 views/default/usersettings/statistics.php create mode 100644 views/default/usersettings/user.php diff --git a/engine/lib/plugins.php b/engine/lib/plugins.php index c3f1d0d25..073869a52 100644 --- a/engine/lib/plugins.php +++ b/engine/lib/plugins.php @@ -169,6 +169,42 @@ return $plugin; } + return false; + } + + /** + * Find the plugin settings for a user. + * + * @param string $plugin_name Plugin name. + * @param int $user_guid The guid who's settings to retrieve. + */ + function find_plugin_usersettings($plugin_name = "", $user_guid = 0) + { + $plugin_name = sanitise_string($plugin_name); + $user_guid = (int)$user_guid; + + if (!$plugin_name) + $plugin_name = get_plugin_name(); + + if ($user_guid == 0) $user_guid = $_SESSION['user']->guid; + + + + + + + + + + + + + + + + + + return false; } diff --git a/engine/lib/usersettings.php b/engine/lib/usersettings.php new file mode 100644 index 000000000..487ea9230 --- /dev/null +++ b/engine/lib/usersettings.php @@ -0,0 +1,51 @@ + \ No newline at end of file diff --git a/engine/start.php b/engine/start.php index 3d59b1894..174c8f8b4 100644 --- a/engine/start.php +++ b/engine/start.php @@ -119,7 +119,6 @@ asort($files); // Include them - foreach($files as $file) { if (isset($CONFIG->debug) && $CONFIG->debug) error_log("Loading $file..."); if (!@include_once($file)) diff --git a/languages/en.php b/languages/en.php index fbeb84678..d5f45176d 100644 --- a/languages/en.php +++ b/languages/en.php @@ -281,6 +281,26 @@ 'admin:user:ban:yes' => "User banned.", 'admin:user:delete:no' => "Can not delete user", 'admin:user:delete:yes' => "User deleted", + + /** + * User settings + */ + 'usersettings:description' => "The user settings panel allows you to control all your personal settings, from user management to how plugins behave. Choose an option below to get started.", + + 'usersettings:statistics' => "Your statistics", + 'usersettings:statistics:description' => "This panel will allow you to view statistics about you.", + 'usersettings:statistics:opt:description' => "View statistical information about users and objects on your site.", + 'usersettings:statistics:opt:linktext' => "View statistics...", + + 'usersettings:user' => "Your settings", + 'usersettings:user:opt:description' => "This allows you to control user settings.", + 'usersettings:user:opt:linktext' => "Configure your user settings...", + + 'usersettings:plugins' => "Tools", + 'usersettings:plugins:opt:description' => "Configure settings for your active tools.", + 'usersettings:plugins:opt:linktext' => "Configure your tools...", + + 'usersettings:plugins:description' => "This panel allows you to control and configure the personal settings for the tools installed by your system administrator.", /** diff --git a/usersettings/index.php b/usersettings/index.php new file mode 100644 index 000000000..47cf9caba --- /dev/null +++ b/usersettings/index.php @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/usersettings/plugins/index.php b/usersettings/plugins/index.php new file mode 100644 index 000000000..d9c5de6fb --- /dev/null +++ b/usersettings/plugins/index.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/usersettings/statistics/index.php b/usersettings/statistics/index.php new file mode 100644 index 000000000..303838a81 --- /dev/null +++ b/usersettings/statistics/index.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/usersettings/user/index.php b/usersettings/user/index.php new file mode 100644 index 000000000..274e86e9b --- /dev/null +++ b/usersettings/user/index.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/views/default/admin/main_opt/plugins.php b/views/default/admin/main_opt/plugins.php index f110007a8..64b6dade9 100644 --- a/views/default/admin/main_opt/plugins.php +++ b/views/default/admin/main_opt/plugins.php @@ -15,5 +15,5 @@


- ">

+ ">

\ No newline at end of file diff --git a/views/default/admin/main_opt/site.php b/views/default/admin/main_opt/site.php index 40373e647..258c6647a 100644 --- a/views/default/admin/main_opt/site.php +++ b/views/default/admin/main_opt/site.php @@ -13,5 +13,5 @@


- ">

+ ">

\ No newline at end of file diff --git a/views/default/admin/main_opt/statistics.php b/views/default/admin/main_opt/statistics.php index da37decf6..524fe2963 100644 --- a/views/default/admin/main_opt/statistics.php +++ b/views/default/admin/main_opt/statistics.php @@ -13,5 +13,5 @@


- ">

+ ">

diff --git a/views/default/admin/main_opt/user.php b/views/default/admin/main_opt/user.php index 8505098fd..416cca6ea 100644 --- a/views/default/admin/main_opt/user.php +++ b/views/default/admin/main_opt/user.php @@ -13,5 +13,5 @@


- ">

+ ">

\ No newline at end of file diff --git a/views/default/object/plugin.php b/views/default/object/plugin.php index edaf1f0db..12e22bd15 100644 --- a/views/default/object/plugin.php +++ b/views/default/object/plugin.php @@ -12,13 +12,14 @@ $entity = $vars['entity']; $plugin = $vars['plugin']; - + $prefix = $vars['prefix']; // Do we want to show admin settings (default) or user settings + ?>

diff --git a/views/default/usersettings/main.php b/views/default/usersettings/main.php new file mode 100644 index 000000000..1b0ed11e8 --- /dev/null +++ b/views/default/usersettings/main.php @@ -0,0 +1,16 @@ +" . nl2br(elgg_echo("usersettings:description")) . "

"; +?> \ No newline at end of file diff --git a/views/default/usersettings/main_opt/plugins.php b/views/default/usersettings/main_opt/plugins.php new file mode 100644 index 000000000..7a5030579 --- /dev/null +++ b/views/default/usersettings/main_opt/plugins.php @@ -0,0 +1,19 @@ + +
+

+


+ ">

+
\ No newline at end of file diff --git a/views/default/usersettings/main_opt/statistics.php b/views/default/usersettings/main_opt/statistics.php new file mode 100644 index 000000000..973c4f7ce --- /dev/null +++ b/views/default/usersettings/main_opt/statistics.php @@ -0,0 +1,17 @@ + +
+

+


+ ">

+
diff --git a/views/default/usersettings/main_opt/user.php b/views/default/usersettings/main_opt/user.php new file mode 100644 index 000000000..77d3340e3 --- /dev/null +++ b/views/default/usersettings/main_opt/user.php @@ -0,0 +1,17 @@ + +
+

+


+ ">

+
\ No newline at end of file diff --git a/views/default/usersettings/plugins.php b/views/default/usersettings/plugins.php new file mode 100644 index 000000000..730950178 --- /dev/null +++ b/views/default/usersettings/plugins.php @@ -0,0 +1,43 @@ +" . nl2br(elgg_echo("usersettings:plugins:description")) . "

"; + + $limit = get_input('limit', 10); + $offset = get_input('offset', 0); + + + // Get the installed plugins + $installed_plugins = $vars['installed_plugins']; + $count = count($installed_plugins); + + // Display list of plugins + $n = 0; + foreach ($installed_plugins as $plugin => $data) + { + if (($n>=$offset) && ($n < $offset+$limit)) + echo elgg_view("usersettings/plugins_opt/plugin", array('plugin' => $plugin, 'details' => $data)); + + $n++; + } + + // Diplay nav + if ($count) + { + echo elgg_view('navigation/pagination',array( + 'baseurl' => $_SERVER['REQUEST_URI'], + 'offset' => $offset, + 'count' => $count, + )); + } +?> \ No newline at end of file diff --git a/views/default/usersettings/plugins_opt/plugin.php b/views/default/usersettings/plugins_opt/plugin.php new file mode 100644 index 000000000..228245efd --- /dev/null +++ b/views/default/usersettings/plugins_opt/plugin.php @@ -0,0 +1,38 @@ +guid; +?> +
"> +

+ + +
+ + + +
+ $plugin, 'entity' => find_plugin_usersettings($plugin, $user_guid), 'prefix' => 'user')) ?> +
+ +
\ No newline at end of file diff --git a/views/default/usersettings/statistics.php b/views/default/usersettings/statistics.php new file mode 100644 index 000000000..f01e48bc8 --- /dev/null +++ b/views/default/usersettings/statistics.php @@ -0,0 +1,16 @@ +" . nl2br(elgg_echo("usersettings:statistics:description")) . "

"; +?> \ No newline at end of file diff --git a/views/default/usersettings/user.php b/views/default/usersettings/user.php new file mode 100644 index 000000000..15c5adc7f --- /dev/null +++ b/views/default/usersettings/user.php @@ -0,0 +1,3 @@ + \ No newline at end of file -- cgit v1.2.3