/** Flags for addresses
*/
+ const FLAG_NONE = 0x0000;
const FLAG_CURRENT = 0x0001;
const FLAG_TEMP = 0x0002;
const FLAG_SECOND = 0x0004;
const FLAG_MAIL = 0x0008;
const FLAG_CEDEX = 0x0010;
+ const FLAG_AX_MAIL = 0x0020;
// Binary OR of those flags
- const FLAG_ANY = 0x001F;
+ const FLAG_ANY = 0x003F;
/** Text of these flags
*/
self::FLAG_SECOND => 'secondary',
self::FLAG_MAIL => 'mail',
self::FLAG_CEDEX => 'cedex',
+ self::FLAG_AX_MAIL => 'ax_mail',
);
protected $flags;
Platal::page()->killError('Invalid address field type: ' . $this->fieldtype);
}
+ $flags = 0x20;
parent::__construct($type, $flags);
if (!is_array($val)) {
$val = array($val);
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;
}
public function getEnvFieldNames()
{
- return array($this->envfield, $this->envfieldindex, $this->onlycurrentfield);
+ return array($this->envfield, $this->envfieldindex, $this->onlycurrentfield, $this->onlyaxmailfield);
}
}
// }}}
{
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;
}
public function getEnvFieldNames()
{
- return array($this->envfield, $this->onlycurrentfield);
+ return array($this->envfield, $this->onlycurrentfield, $this->onlyaxmailfield);
}
}
// }}}