diff options
author | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-09-12 07:30:55 +0000 |
---|---|---|
committer | Karl 'vollmerk' Vollmer <vollmer@ampache.org> | 2007-09-12 07:30:55 +0000 |
commit | bff9e37fa5fa41111b5b06ce6cdcb0eb8e5c21f9 (patch) | |
tree | f9f61787479b286e5ae5efb96447107c10dd553e /lib/class/preference.class.php | |
parent | c99ad11ee04fa811aaf6988a2daa0567ab6ee0d8 (diff) | |
download | ampache-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.php | 42 |
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 |