summaryrefslogtreecommitdiffstats
path: root/preferences.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-06-11 05:16:20 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-06-11 05:16:20 +0000
commit689517e332c874ac09bb41398602622a1fc36af8 (patch)
treec97a077bd164e594211ed213405eb0cfbbf77b1c /preferences.php
parent7327a025db941554501bbbe79c057fa308fb205c (diff)
downloadampache-689517e332c874ac09bb41398602622a1fc36af8.tar.gz
ampache-689517e332c874ac09bb41398602622a1fc36af8.tar.bz2
ampache-689517e332c874ac09bb41398602622a1fc36af8.zip
fixed preferences mostly, also fixed some genre issues and other stuff I am forgetting now
Diffstat (limited to 'preferences.php')
-rw-r--r--preferences.php100
1 files changed, 38 insertions, 62 deletions
diff --git a/preferences.php b/preferences.php
index 8f8423c2..a83890d2 100644
--- a/preferences.php
+++ b/preferences.php
@@ -24,81 +24,57 @@ require 'lib/init.php';
/* Scrub in the needed mojo */
if (!$_REQUEST['tab']) { $_REQUEST['tab'] = 'interface'; }
-$user_id = scrub_in($_REQUEST['user_id']);
// Switch on the action
switch($_REQUEST['action']) {
- case 'update_user':
- /* Verify permissions */
- if (!$GLOBALS['user']->has_access(25) || Config::get('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']);
-
-
- /* 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']);
+ case 'update_preferences':
+ if ($_REQUEST['method'] == 'admin' && !$GLOBALS['user']->has_access('100')) {
+ access_denied();
+ exit;
+ }
- /* Haha I'm fired... it's not an error but screw it */
- $GLOBALS['error']->add_error('password',_('Password Updated'));
+ /* Reset the Theme */
+ if ($_REQUEST['method'] == 'admin') {
+ $user_id = '-1';
+ $fullname = _('Server');
}
+ else {
+ $user_id = $GLOBALS['user']->id;
+ $fullname = $GLOBALS['user']->fullname;
+ }
- /* Check for stats */
- if ($_REQUEST['clear_stats'] == '1') {
- $this_user->delete_stats();
- }
- break;
- case 'update_preferences':
-
- /* Do the work */
+ /* Update and reset preferences */
update_preferences($user_id);
-
- /* Reload the Preferences */
- $GLOBALS['user']->set_preferences();
-
- /* Reset the conf values */
init_preferences();
- /* Reset the Theme */
- set_theme();
- default:
- if (!$user_id) { $user_id = $GLOBALS['user']->id; }
- $preferences = $GLOBALS['user']->get_preferences(0,$_REQUEST['tab']);
+ $preferences = $GLOBALS['user']->get_preferences($user_id,$_REQUEST['tab']);
+ break;
+ case 'admin':
+ // Make sure only admins here
+ if (!$GLOBALS['user']->has_access('100')) {
+ access_denied();
+ exit;
+ }
+ $fullname= _('Server');
+ $preferences = $GLOBALS['user']->get_preferences(-1,$_REQUEST['tab']);
+ break;
+ default:
+ $fullname = $GLOBALS['user']->fullname;
+ $preferences = $GLOBALS['user']->get_preferences(0,$_REQUEST['tab']);
break;
-
} // End Switch Action
-if (!$GLOBALS['user']->fullname) {
- $fullname = "Site";
-}
-else {
- $fullname = $GLOBALS['user']->fullname;
-}
-
-
-// HEADER
-require_once Config::get('prefix') . '/templates/header.inc.php';
-// HEADER
-
-// Set Target
-$target = "/preferences.php";
-
-// Show the default preferences page
-require Config::get('prefix') . '/templates/show_preferences.inc.php';
+show_header();
+/**
+ * switch on the view
+ */
+switch ($_REQUEST['action']) {
+ default:
+ // Show the default preferences page
+ require Config::get('prefix') . '/templates/show_preferences.inc.php';
+ break;
+} // end switch on action
-// FOOTER
show_footer();
?>