Last update (I hope)
Michael M Slusarz
slusarz@bigworm.colorado.edu
Thu, 16 Aug 2001 22:32:24 -0600
Hopefully this will be the last time you hear from me :) (And I'm not trying
to be a little kid that needs to be walked through the process. It's just that
this patch would alter people's mailboxes in somewhat severe ways - as has been
pointed out here before. Also, it appears in a critical place (right after
login) so it affects everyone if it is coded bad. so I want to make sure it
looks good because it would be really cool if it gets stuck into the mainstream
product.)
So, here come the pics again (yeah!).
1. http://bigworm.colorado.edu/imp-patches/5/picture1.png
Here is the confirmation screen again. Preferences are as follows:
'delete_sentmail_monthly' is locked (thus, it doesnt show up)
'rename_sentmail_monthly' is turned off (it shows up, but is not checked)
'purge_trash' is turned on (it shows up, and is checked)
I think this was the consensus idea from everyone on how this page should
behave. (BTW, the preferences screen for this setup is shown at
http://bigworm.colorado.edu/imp-patches/5/picture3.png
2. http://bigworm.colorado.edu/imp-patches/5/picture2.png
This is what you get after you click on the 'Do Maintenance Operations' button.
In this case, only the Trash was purged - as you see it shows you the # of
messages that were purged.
3. http://bigworm.colorado.edu/imp-patches/5/picture4.png
Finally, I went ahead and implemented not just monthly maintenance, but daily,
weekly, and yearly also. Jon posted something mentioning the idea of weekly
tasks, so I built in the functionality to the class (BTW, most of this stuff is
run out of a class called IMP_Maintenance). I tried to make it as configurable
as possible - so that if you wanted to implement in the future another
maintenance operation, all you have to do is the following:
1. Make a new prefs entry (called PREFNAME) for the operation
2. [Optional] make a new prefs entry to set the interval - not needed, as you
can just set a default interval in the class
3. Add two functions to IMP_Maintenance:
'do_PREFNAME' - does the actual operation
'descrip_PREFNAME' - returns info on the operation used to build the
confirmation page
4. Add the PREFNAME to the tasks array at the top of IMP_Maintenance.
That's it (more detailed info is in the IMP_Maintenance class). I realize that
I may be way in over my head here by doing this - but this seemed the easiest
way to allow future people to add functionality easily. It's actually pretty
cool - if you add new functions, you don't need to change prefs.php,
maintenance.php, or mailbox.php. Everything is dynamically handled by the
class. At least I think it's cool. Then again, it has probably opened up a
security hole the size of Mexico.
once again, i am going to check the code again and make sure it looks good
before I try to send it in.
Do I have to be so long-winded about everything? That's what a law school
education gives you I guess :)
michael
_______________________________________________
Michael Slusarz [slusarz@bigworm.colorado.edu]
The University of Colorado at Boulder