summaryrefslogtreecommitdiffstats
path: root/preferences.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2006-03-16 05:25:00 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2006-03-16 05:25:00 +0000
commit16f655ba45459c5a0d1be76d1f43094f49dfd0a7 (patch)
tree2e365e5f6625e8ef307211e58b92a3233b016044 /preferences.php
parente2bf8254895b30b679865585b37e72aa1e867320 (diff)
downloadampache-16f655ba45459c5a0d1be76d1f43094f49dfd0a7.tar.gz
ampache-16f655ba45459c5a0d1be76d1f43094f49dfd0a7.tar.bz2
ampache-16f655ba45459c5a0d1be76d1f43094f49dfd0a7.zip
new tabbed preferences and account page is back
Diffstat (limited to 'preferences.php')
-rw-r--r--preferences.php45
1 files changed, 40 insertions, 5 deletions
diff --git a/preferences.php b/preferences.php
index 804405fd..985f225f 100644
--- a/preferences.php
+++ b/preferences.php
@@ -29,9 +29,44 @@
require('modules/init.php');
+/* Scrub in the needed mojo */
+if (!$_REQUEST['tab']) { $_REQUEST['tab'] = 'theme'; }
+$user_id = scrub_in($_REQUEST['user_id']);
+
+
switch(scrub_in($_REQUEST['action'])) {
+ case 'update_user':
+ /* Verify permissions */
+ if (!$GLOBALS['user']->has_access(25) || conf('demo_mode') || ($GLOBALS['user']->id != $user_id && !$GLOBALS['user']->has_access(100))) {
+ show_access_denied();
+ exit();
+ }
+
+ /* Go ahead and update normal stuff */
+ $this_user = new User($user_id);
+ $this_user->update_fullname($_REQUEST['fullname']);
+ $this_user->update_email($_REQUEST['email']);
+ $this_user->update_offset($_REQUEST['offset_limit']);
+
+ /* Check for password change */
+ if ($_REQUEST['password1'] !== $_REQUEST['password2'] && !empty($_REQUEST['password1'])) {
+ $GLOBALS['error']->add_error('password',_('Error: Password Does Not Match or Empty'));
+ break;
+ }
+ elseif (!empty($_REQUEST['password1'])) {
+ /* We're good change the mofo! */
+ $this_user->update_password($_REQUEST['password1']);
+
+ /* Haha I'm fired... it's not an error but screw it */
+ $GLOBALS['error']->add_error('password',_('Password Updated'));
+ }
+
+ /* Check for stats */
+ if ($_REQUEST['clear_stats'] == '1') {
+ $this_user->delete_stats();
+ }
+ break;
case 'update_preferences':
- $user_id = scrub_in($_REQUEST['user_id']);
/* Do the work */
update_preferences($user_id);
@@ -45,17 +80,17 @@ switch(scrub_in($_REQUEST['action'])) {
/* Reset the Theme */
set_theme();
default:
- $user_id = $user->username;
- $preferences = $user->get_preferences();
+ if (!$user_id) { $user_id = $GLOBALS['user']->id; }
+ $preferences = $GLOBALS['user']->get_preferences(0,$_REQUEST['tab']);
break;
} // End Switch Action
-if (!$user->fullname) {
+if (!$GLOBALS['user']->fullname) {
$fullname = "Site";
}
else {
- $fullname = $user->fullname;
+ $fullname = $GLOBALS['user']->fullname;
}