You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.9 KiB
85 lines
2.9 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
/**
|
|
* Class UserForm
|
|
* Extends formvalidator with import and export forms.
|
|
*
|
|
* @author Stijn Konings
|
|
*/
|
|
class UserForm extends FormValidator
|
|
{
|
|
public const TYPE_USER_INFO = 1;
|
|
public const TYPE_SIMPLE_SEARCH = 3;
|
|
|
|
/**
|
|
* Builds a form containing form items based on a given parameter.
|
|
*
|
|
* @param int $form_type 1 = user_info
|
|
* @param array $user
|
|
* @param string $form_name
|
|
* @param string $method
|
|
* @param string $action
|
|
*/
|
|
public function __construct($form_type, $user, $form_name, $method = 'post', $action = null)
|
|
{
|
|
parent::__construct($form_name, $method, $action);
|
|
$this->form_type = $form_type;
|
|
if (isset($user)) {
|
|
$this->user_info = $user;
|
|
}
|
|
if (isset($result_object)) {
|
|
$this->result_object = $result_object;
|
|
}
|
|
if (self::TYPE_USER_INFO == $this->form_type) {
|
|
$this->build_user_info_form();
|
|
} elseif (self::TYPE_SIMPLE_SEARCH == $this->form_type) {
|
|
$this->build_simple_search();
|
|
}
|
|
$this->setDefaults();
|
|
}
|
|
|
|
public function display()
|
|
{
|
|
parent::display();
|
|
}
|
|
|
|
public function setDefaults($defaultValues = [], $filter = null)
|
|
{
|
|
parent::setDefaults($defaultValues, $filter);
|
|
}
|
|
|
|
protected function build_simple_search()
|
|
{
|
|
if (isset($_GET['search']) && (!empty($_GET['search']))) {
|
|
$this->setDefaults([
|
|
'keyword' => Security::remove_XSS($_GET['search']),
|
|
]);
|
|
}
|
|
$renderer = &$this->defaultRenderer();
|
|
$renderer->setCustomElementTemplate('<span>{element}</span> ');
|
|
$this->addElement('text', 'keyword', '');
|
|
$this->addButtonSearch(get_lang('Search'), 'submit');
|
|
}
|
|
|
|
protected function build_user_info_form()
|
|
{
|
|
if (api_is_western_name_order()) {
|
|
$this->addElement('static', 'fname', get_lang('First name'), $this->user_info['firstname']);
|
|
$this->addElement('static', 'lname', get_lang('Last name'), $this->user_info['lastname']);
|
|
} else {
|
|
$this->addElement('static', 'lname', get_lang('Last name'), $this->user_info['lastname']);
|
|
$this->addElement('static', 'fname', get_lang('First name'), $this->user_info['firstname']);
|
|
}
|
|
$this->addElement('static', 'uname', get_lang('Username'), $this->user_info['username']);
|
|
$this->addElement(
|
|
'static',
|
|
'email',
|
|
get_lang('e-mail'),
|
|
'<a href="mailto:'.$this->user_info['email'].'">'.$this->user_info['email'].'</a>'
|
|
);
|
|
$this->addElement('static', 'ofcode', get_lang('Code'), $this->user_info['official_code']);
|
|
$this->addElement('static', 'phone', get_lang('Phone'), $this->user_info['phone']);
|
|
$this->addButtonSave(get_lang('Back'), 'submit');
|
|
}
|
|
}
|
|
|