2010-06-08, 04:33 AM
I'm currently rewriting my Advanced Forum Signatures plugin like I said I would ages ago (I got a job and haven't had much free time) and while doing so realized I could have done much better when deleting my plugin's settings when deactivating. Before it looked like this:
Horrifying, right? Using SQL's LIKE and wildcards, I'm doing this in the new version:
Niiiiice.
So next time you update your plugin/write a new one, remember this simple trick (if you're not already doing it).
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_enabled'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_cache'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_default_userid'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_custom_title'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_gradient'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_gradient_start'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_gradient_end'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_custom_image'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_default_font'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_default_fontsize'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_default_fontcolor'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_show_url'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_short_copyright'");
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name`='afs_allow_url_params'");
$db->query("DELETE FROM `".TABLE_PREFIX."settinggroups` WHERE `name`='afsignatures'");
Horrifying, right? Using SQL's LIKE and wildcards, I'm doing this in the new version:
$db->query("DELETE FROM `".TABLE_PREFIX."settings` WHERE `name` LIKE 'afs\_%'");
$db->query("DELETE FROM `".TABLE_PREFIX."settinggroups` WHERE `name`='afsignatures'");
Niiiiice.
So next time you update your plugin/write a new one, remember this simple trick (if you're not already doing it).