}
}
+// class MailStorage {{{1
+class MailStorage {
+ protected $uid;
+ protected $name;
+ protected $storage;
+
+ public function __construct($_uid, $_name)
+ {
+ $this->uid = $_uid;
+ $this->name = $_name;
+
+ $res = XDB::query("SELECT mail_storage
+ FROM auth_user_md5
+ WHERE user_id = {?}", $this->uid);
+ $this->storages = new FlagSet($res->fetchOneCell());
+ }
+
+ public function disable()
+ {
+ $this->storages->rmFlag($this->name);
+ XDB::execute("UPDATE auth_user_md5
+ SET mail_storage = {?}
+ WHERE user_id = {?}", $this->storages->flags(), $this->uid);
+ }
+
+ public function enable()
+ {
+ $this->storages->addFlag($this->name);
+ XDB::execute("UPDATE auth_user_md5
+ SET mail_storage = {?}
+ WHERE user_id = {?}", $this->storages->flags(), $this->uid);
+ }
+}
+
+class MailStorageIMAP extends MailStorage {
+ public function __construct($_uid)
+ {
+ parent::__construct($_uid, 'imap');
+ }
+}
+
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>