X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fufbuilder.inc.php;h=d5123a97320e6ac6eb55faf7788e09ecc4709c7d;hb=abc8b908704ff4cf1afe51aef381557f678f7982;hp=5785ea7783356e409b03083481cff38a71687943;hpb=e93255ef54304c697ef7ac101247f23dc5f7b31f;p=platal.git diff --git a/include/ufbuilder.inc.php b/include/ufbuilder.inc.php index 5785ea7..d5123a9 100644 --- a/include/ufbuilder.inc.php +++ b/include/ufbuilder.inc.php @@ -1071,19 +1071,26 @@ class UFBF_Dead extends UFBF_Enum class UFBF_AddressMixed extends UFBF_Mixed { protected $onlycurrentfield; + protected $onlyaxmailfield; - public function __construct($envfieldtext, $envfieldindex, $formtext = '', $addressfield, $onlycurrentfield = 'only_current') + public function __construct($envfieldtext, $envfieldindex, $formtext = '', $addressfield, $onlycurrentfield = 'only_current', $onlyaxmailfield = 'only_ax_mail') { parent::__construct($envfieldtext, $envfieldindex, $formtext); $this->onlycurrentfield = $onlycurrentfield; + $this->onlyaxmailfield = $onlyaxmailfield; $this->direnum = constant('DirEnum::' . $addressfield); } protected function buildUFC(UserFilterBuilder $ufb) { + $flags = UFC_Address::FLAG_NONE; if ($ufb->isOn($this->onlycurrentfield)) { - $flags = UFC_Address::FLAG_CURRENT; - } else { + $flags |= UFC_Address::FLAG_CURRENT; + } + if ($ufb->isOn($this->onlyaxmailfield)) { + $flags |= UFC_Address::FLAG_AX_MAIL; + } + if ($flags == UFC_Address::FLAG_NONE) { $flags = UFC_Address::FLAG_ANY; } @@ -1092,7 +1099,7 @@ class UFBF_AddressMixed extends UFBF_Mixed public function getEnvFieldNames() { - return array($this->envfield, $this->envfieldindex, $this->onlycurrentfield); + return array($this->envfield, $this->envfieldindex, $this->onlycurrentfield, $this->onlyaxmailfield); } } // }}} @@ -1102,20 +1109,27 @@ class UFBF_AddressIndex extends UFBF_Index { protected $direnum; protected $onlycurrentfield; + protected $onlyaxmailfield; - public function __construct($envfield, $formtext = '', $addressfield, $onlycurrentfield = 'only_current') + public function __construct($envfield, $formtext = '', $addressfield, $onlycurrentfield = 'only_current', $onlyaxmailfield = 'only_ax_mail') { parent::__construct($envfield, $formtext); $this->onlycurrentfield = $onlycurrentfield; + $this->onlyaxmailfield = $onlyaxmailfield; $this->direnum = constant('DirEnum::' . $addressfield); } protected function buildUFC(UserFilterBuilder $ufb) { + $flags = UFC_Address::FLAG_NONE; if ($ufb->isOn($this->onlycurrentfield)) { - $flags = UFC_Address::FLAG_CURRENT; - } else { + $flags |= UFC_Address::FLAG_CURRENT; + } + if ($ufb->isOn($this->onlyaxmailfield)) { + $flags |= UFC_Address::FLAG_AX_MAIL; + } + if ($flags == UFC_Address::FLAG_NONE) { $flags = UFC_Address::FLAG_ANY; } @@ -1124,7 +1138,7 @@ class UFBF_AddressIndex extends UFBF_Index public function getEnvFieldNames() { - return array($this->envfield, $this->onlycurrentfield); + return array($this->envfield, $this->onlycurrentfield, $this->onlyaxmailfield); } } // }}}