private $email;
private $pub;
private $web;
+ private $number;
public function __construct()
{
$this->email = new ProfileEmail();
$this->pub = new ProfilePub();
$this->web = new ProfileWeb();
+ $this->number = new ProfileNumber();
}
public function value(ProfilePage &$page, $field, $value, &$success)
$network['address'] = $this->web->value($page, 'address', $network['address'], $s);
} elseif ($filters[$network['type']] == 'email') {
$network['address'] = $this->email->value($page, 'address', $network['address'], $s);
+ } elseif ($filters[$network['type']] == 'number') {
+ $network['address'] = $this->number->value($page, 'address', $network['address'], $s);
}
if (!$s) {
$success = false;
}
}
+class ProfileNumber extends ProfileNoSave
+{
+ public function value(ProfilePage &$page, $field, $value, &$success)
+ {
+ if (is_null($value)) {
+ return isset($page->values[$field]) ? $page->values[$field] : S::v($field);
+ }
+ $value = trim($value);
+ $success = empty($value) || is_numeric($value);
+ if (!$success) {
+ global $page;
+ $page->trigError('Numéro invalide');
+ }
+ return $value;
+ }
+}
+
class ProfileTel extends ProfileNoSave
{
`network_type` tinyint unsigned NOT NULL,
`name` varchar(30) NOT NULL,
`icon` varchar(50) NOT NULL COMMENT 'icon filename',
- `filter` enum('email','web','none') NOT NULL DEFAULT 'none' COMMENT 'filter type for addresses',
+ `filter` enum('email','web','number','none') NOT NULL DEFAULT 'none' COMMENT 'filter type for addresses',
PRIMARY KEY (`network_type`)
) CHARSET=utf8 COMMENT='types of networking addresses';