|
|
|
|
@ -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; |
|
|
|
|
@ -335,6 +337,8 @@ class ExtraField extends Model |
|
|
|
|
$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': |
|
|
|
|
@ -1442,6 +1446,57 @@ EOF; |
|
|
|
|
['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; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|