Skip to content

Commit

Permalink
Create only_letters and alphanumeric types of extra fields - refs BT#…
Browse files Browse the repository at this point in the history
…10139
  • Loading branch information
AngelFQC committed Aug 7, 2015
1 parent 6a280f2 commit e296bc8
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions main/inc/lib/extra_field.lib.php
Expand Up @@ -61,6 +61,8 @@ class ExtraField extends Model
const FIELD_TYPE_FLOAT = 17;
const FIELD_TYPE_FILE = 18;
const FIELD_TYPE_VIDEO_URL = 19;
const FIELD_TYPE_LETTERS_ONLY = 20;
const FIELD_TYPE_ALPHANUMERIC = 21;

public $type = 'user';
public $pageName;
Expand Down Expand Up @@ -335,6 +337,8 @@ public static function get_extra_fields_by_handler($handler)
$types[self::FIELD_TYPE_FLOAT] = get_lang('FieldTypeFloat');
$types[self::FIELD_TYPE_FILE] = get_lang('FieldTypeFile');
$types[self::FIELD_TYPE_VIDEO_URL] = get_lang('FieldTypeVideoUrl');
$types[self::FIELD_TYPE_LETTERS_ONLY] = get_lang('FieldTypeAlphabetic');
$types[self::FIELD_TYPE_ALPHANUMERIC] = get_lang('FieldTypeAlphanumeric');

switch ($handler) {
case 'course':
Expand Down Expand Up @@ -1442,6 +1446,57 @@ public function set_extra_fields_in_form(
['placeholder' => 'https://']
);
break;
case ExtraField::FIELD_TYPE_LETTERS_ONLY:
$form->addElement(
'text',
'extra_'.$field_details['variable'],
$field_details['display_text'],
[
'pattern' => '[a-zA-Z]+',
'title' => get_lang('OnlyLetters')
]
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->addRule(
'extra_'.$field_details['variable'],
get_lang('OnlyLetters'),
'lettersonly'
);

if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
}
}
break;
case ExtraField::FIELD_TYPE_ALPHANUMERIC:
$form->addElement(
'text',
'extra_'.$field_details['variable'],
$field_details['display_text'],
[
'pattern' => '[a-zA-Z0-9]+',
'title' => get_lang('OnlyLettersAndNumbers')
]
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->addRule(
'extra_'.$field_details['variable'],
get_lang('OnlyLettersAndNumbers'),
'alphanumeric'
);
if (!$admin_permissions) {
if ($field_details['visible'] == 0) {
$form->freeze(
'extra_'.$field_details['variable']
);
}
}
break;
}
}
}
Expand Down

0 comments on commit e296bc8

Please sign in to comment.