diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2006-11-04 02:02:10 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2006-11-04 02:02:10 +0000 |
commit | 0cf24d0deb9955fb9a1d3d0b0c92b59e3957fed4 (patch) | |
tree | a31fa03d208888f46330b296b22f083dcb58244f /lib | |
parent | f6c313e5502c38706de8a28bfe239a3c1ea04d00 (diff) | |
download | ampache-0cf24d0deb9955fb9a1d3d0b0c92b59e3957fed4.tar.gz ampache-0cf24d0deb9955fb9a1d3d0b0c92b59e3957fed4.tar.bz2 ampache-0cf24d0deb9955fb9a1d3d0b0c92b59e3957fed4.zip |
added ability to define required user level on a per permission basis
Diffstat (limited to 'lib')
-rw-r--r-- | lib/class/song.class.php | 3 | ||||
-rw-r--r-- | lib/general.lib.php | 1 | ||||
-rw-r--r-- | lib/init.php | 2 | ||||
-rw-r--r-- | lib/preferences.php | 59 |
4 files changed, 50 insertions, 15 deletions
diff --git a/lib/class/song.class.php b/lib/class/song.class.php index f72506f8..69a7b9a6 100644 --- a/lib/class/song.class.php +++ b/lib/class/song.class.php @@ -148,6 +148,9 @@ class Song { case 'flac'; $this->mime = "audio/x-flac"; break; + case 'wv': + $this->mime = 'audio/x-wavpack'; + break; case 'aac': case 'mp4': case 'm4a': diff --git a/lib/general.lib.php b/lib/general.lib.php index fc60db3e..6cce88b8 100644 --- a/lib/general.lib.php +++ b/lib/general.lib.php @@ -988,5 +988,4 @@ function get_user_from_username($username) { } // get_user_from_username - ?> diff --git a/lib/init.php b/lib/init.php index 3cd54d46..5458ce43 100644 --- a/lib/init.php +++ b/lib/init.php @@ -77,7 +77,7 @@ $results['version'] = '3.3.3-Alpha2 Build (002)'; $results['raw_web_path'] = $results['web_path']; $results['web_path'] = $http_type . $_SERVER['HTTP_HOST'] . $results['web_path']; -$results['catalog_file_pattern']= 'mp3|mpc|m4p|m4a|mp4|aac|ogg|rm|wma|asf|flac|spx|ra|ape|shn'; +$results['catalog_file_pattern']= 'mp3|mpc|m4p|m4a|mp4|aac|ogg|rm|wma|asf|flac|spx|ra|ape|shn|wv'; $results['http_port'] = $_SERVER['SERVER_PORT']; if (!$results['prefix']) { $results['prefix'] = $prefix; diff --git a/lib/preferences.php b/lib/preferences.php index d3c8ce63..e46ad8e0 100644 --- a/lib/preferences.php +++ b/lib/preferences.php @@ -179,25 +179,21 @@ function update_preference($username,$name,$pref_id,$value) { */ function has_preference_access($name) { + /* If it's a demo they don't get jack */ if (conf('demo_mode')) { return false; } - switch($name) { + $name = sql_escape($name); - case 'download': - case 'upload': - case 'quarantine': - case 'upload_dir': - case 'sample_rate': - case 'direct_link': - $level = 100; - break; - default: - $level = 25; - break; - } // end switch key + /* Check Against the Database Row */ + $sql = "SELECT level FROM preferences " . + "WHERE name='$name'"; + $db_results = mysql_query($sql, dbh()); + $data = mysql_fetch_assoc($db_results); + + $level = $data['level']; if ($GLOBALS['user']->has_access($level)) { return true; @@ -454,4 +450,41 @@ function show_import_playlist() { } // show_import_playlist +/** + * get_preferences + * This returns an array of all current preferences in the + * preferences table, this isn't a users preferences + */ +function get_preferences() { + + $sql = "SELECT * FROM preferences"; + $db_results = mysql_query($sql, dbh()); + + $results = array(); + + while ($r = mysql_fetch_assoc($db_results)) { + $results[] = $r; + } + + return $results; + +} // get_preferences + +/** + * update_preference_level + * This function updates the level field in the preferences table + * this has nothing to do with a users actuall preferences + */ +function update_preference_level($name,$level) { + + $name = sql_escape($name); + $level = sql_escape($level); + + $sql = "UPDATE preferences SET `level`='$level' WHERE `name`='$name'"; + $db_results = mysql_query($sql,dbh()); + + return true; + +} // update_preference_level + ?> |