summaryrefslogtreecommitdiffstats
path: root/lib/class/preference.class.php
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-09-12 07:30:55 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-09-12 07:30:55 +0000
commitbff9e37fa5fa41111b5b06ce6cdcb0eb8e5c21f9 (patch)
treef9f61787479b286e5ae5efb96447107c10dd553e /lib/class/preference.class.php
parentc99ad11ee04fa811aaf6988a2daa0567ab6ee0d8 (diff)
downloadampache-bff9e37fa5fa41111b5b06ce6cdcb0eb8e5c21f9.tar.gz
ampache-bff9e37fa5fa41111b5b06ce6cdcb0eb8e5c21f9.tar.bz2
ampache-bff9e37fa5fa41111b5b06ce6cdcb0eb8e5c21f9.zip
more work on the localplay stuff, most details ironed out, just needs some code to back it up, also tweaked plugins and threw in some extra goodies in the preference class, also pimped out the error class
Diffstat (limited to 'lib/class/preference.class.php')
-rw-r--r--lib/class/preference.class.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/class/preference.class.php b/lib/class/preference.class.php
index 6fb707fe..ef8a0a05 100644
--- a/lib/class/preference.class.php
+++ b/lib/class/preference.class.php
@@ -175,4 +175,46 @@ class Preference {
} // insert
+ /**
+ * delete
+ * This deletes the specified preference, a name or a ID can be passed
+ */
+ public static function delete($preference) {
+
+ // First prepare
+ if (!is_numeric($preference)) {
+ $id = self::id_from_name($preference);
+ $name = $preference;
+ }
+ else {
+ $name = self::name_from_id($preference);
+ $id = $preference;
+ }
+
+ $id = Dba::escape($id);
+
+ // Remove the preference, then the user records of it
+ $sql = "DELETE FROM `preference` WHERE `id`='$id'";
+ $db_results = Dba::query($sql);
+
+ self::rebuild_preferences();
+
+ } // delete
+
+ /**
+ * rebuild_preferences
+ * This removes any garbage and then adds back in anything missing preferences wise
+ */
+ public static function rebuild_preferences() {
+
+ // First remove garbage
+ $sql = "DELETE FROM `user_preference` USING `user_preference` LEFT JOIN `preference` ON `preference`.`id`=`user_preference`.`preference` " .
+ "WHERE `preference`.`id` IS NULL";
+ $db_results = Dba::query($sql);
+
+ // Now add anything that we are missing back in, except System
+ $sql = "SELECT * FROM `preference` WHERE `type`!='system'";
+
+ } // rebuild_preferences
+
} // end Preference class