-// {{{ class Phone
-class Phone
-{
- const TYPE_FAX = 'fax';
- const TYPE_FIXED = 'fixed';
- const TYPE_MOBILE = 'mobile';
- public $type;
-
- public $search;
- public $display;
- public $comment = '';
-
- const LINK_JOB = 'job';
- const LINK_ADDRESS = 'address';
- const LINK_PROFILE = 'user';
- const LINK_COMPANY = 'hq';
- public $link_type;
- public $link_id;
-
- /** Fields are :
- * $type, $search, $display, $link_type, $link_id, $comment, $pid, $id
- */
- public function __construct($data)
- {
- foreach ($data as $key => $val) {
- $this->$key = $val;
- }
- }
-
- public function hasFlags($flags) {
- return $this->hasType($flags) && $this->hasLink($flags);
- }
-
- /** Returns true if this phone's type matches the flags
- */
- public function hasType($flags) {
- $flags = $flags & Profile::PHONE_TYPE_ANY;
- return (
- ($flags == Profile::PHONE_TYPE_ANY)
- ||
- (($flags & Profile::PHONE_TYPE_FAX) && $this->type == self::TYPE_FAX)
- ||
- (($flags & Profile::PHONE_TYPE_FIXED) && $this->type == self::TYPE_FIXED)
- ||
- (($flags & Profile::PHONE_TYPE_MOBILE) && $this->type == self::TYPE_MOBILE)
- );
- }
-
- /** Returns true if this phone's link matches the flags
- */
- public function hasLink($flags) {
- $flags = $flags & Profile::PHONE_LINK_ANY;
- return (
- ($flags == Profile::PHONE_LINK_ANY)
- ||
- (($flags & Profile::PHONE_LINK_COMPANY) && $this->link_type == self::LINK_COMPANY)
- ||
- (($flags & Profile::PHONE_LINK_JOB) && $this->link_type == self::LINK_JOB)
- ||
- (($flags & Profile::PHONE_LINK_ADDRESS) && $this->link_type == self::LINK_ADDRESS)
- ||
- (($flags & Profile::PHONE_LINK_PROFILE) && $this->link_type == self::LINK_PROFILE)
- );
- }
-}
-// }}}