X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=include%2Fclass_mail-methods-cyrus.inc;h=1c361877b8e18009fb6074399c9644ef078d8b52;hb=895712accc11cf9defc13cdbc64a6b3c7e7e548a;hp=0e51a9c86d9ab027119270e423097bc3a5622535;hpb=83a13f0efe06d2f804a8226b5cc50bc11902f8f3;p=gosa.git diff --git a/include/class_mail-methods-cyrus.inc b/include/class_mail-methods-cyrus.inc index 0e51a9c86..1c361877b 100644 --- a/include/class_mail-methods-cyrus.inc +++ b/include/class_mail-methods-cyrus.inc @@ -70,15 +70,27 @@ class mailMethodCyrus extends mailMethod if(is_array($quota_value)) { if (isset($quota_value["STORAGE"]) && is_array($quota_value["STORAGE"])){ /* use for PHP >= 4.3 */ - $result['quotaUsage']= $quota_value["STORAGE"]['usage']; - $result['gosaMailQuota']= $quota_value["STORAGE"]['limit']; + if($quota_value["STORAGE"]['limit'] == 2147483647){ + $result['quotaUsage']= (int) ($quota_value["STORAGE"]['usage'] / 1024); + $result['gosaMailQuota']= (int) ($quota_value["STORAGE"]['limit'] ); + }else{ + $result['quotaUsage']= (int) ($quota_value["STORAGE"]['usage'] / 1024); + $result['gosaMailQuota']= (int) ($quota_value["STORAGE"]['limit'] / 1024); + } } else { /* backward icompatible */ - $result['quotaUsage']= $quota_value['usage']; - $result['gosaMailQuota']= $quota_value['limit']; + if($quota_value['usage'] == 2147483647){ + $result['quotaUsage']= (int) ($quota_value['usage'] / 1024); + $result['gosaMailQuota']= (int) ($quota_value['limit'] ); + }else{ + $result['quotaUsage']= (int) ($quota_value['usage'] / 1024); + $result['gosaMailQuota']= (int) ($quota_value['limit'] / 1024); + } } }elseif(!$quota_value){ - return(false); + + /* If there is no quota defined for this account, the function imap_get_quota returns false. */ + return(array("quotaUsage"=>"","gosaMailQuota"=>"")); } error_reporting (E_ALL); @@ -124,10 +136,13 @@ class mailMethodCyrus extends mailMethod function setQuota($folder, $gosaMailQuota) { /* Workaround for the php imap extension */ - if ($gosaMailQuota == ""){ + if (($gosaMailQuota == "") || ($gosaMailQuota== "2147483647")){ $gosaMailQuota= "2147483647"; + }elseif($gosaMailQuota > 0){ + $gosaMailQuota = $gosaMailQuota *1024; } - + + /* Write mail quota */ if (!imap_set_quota($this->mbox, $folder, $gosaMailQuota)){ print_red(sprintf(_("Can't write IMAP quota. Server says '%s'."), imap_last_error()));