Merge branch 'platal-0.9.15'
[platal.git] / include / emails.inc.php
index f03f801..bf1ba1a 100644 (file)
@@ -409,5 +409,46 @@ class Redirect
     }
 }
 
+// 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:
 ?>