erLhcoreClassUserValidator::validateUser PHP Method

validateUser() public static method

public static validateUser ( &$userData, $params = [] )
    public static function validateUser(&$userData, $params = array())
    {
        $definition = array('Password' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Password1' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Email' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'validate_email'), 'Name' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Surname' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'ChatNickname' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Username' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'UserDisabled' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'HideMyStatus' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'UserInvisible' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'ReceivePermissionRequest' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'JobTitle' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'UserTimeZone' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'DefaultGroup' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'int', null, FILTER_REQUIRE_ARRAY), 'Skype' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'XMPPUsername' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'));
        $form = new ezcInputForm(INPUT_POST, $definition);
        $Errors = array();
        if (isset($params['user_new']) && $params['user_new'] == true) {
            if (!$form->hasValidData('Username') || $form->Username == '') {
                $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Please enter a username');
            } else {
                $userData->username = $form->Username;
                if (erLhcoreClassModelUser::userExists($userData->username) === true) {
                    $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'User exists');
                }
            }
            if ($form->hasValidData('Password') && $form->hasValidData('Password1')) {
                $userData->password_temp_1 = $form->Password;
                $userData->password_temp_2 = $form->Password1;
            }
            if (!$form->hasValidData('Password') || !$form->hasValidData('Password1') || $form->Password == '' || $form->Password1 == '' || $form->Password != $form->Password1) {
                $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Passwords mismatch');
            } else {
                $userData->setPassword($form->Password);
                $userData->password_front = $form->Password;
            }
        } elseif ($params['user_edit'] && $params['user_edit'] == true) {
            if (!$form->hasValidData('Username') || $form->Username == '') {
                $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Please enter a username');
            } else {
                if ($form->Username != $userData->username) {
                    $userData->username = $form->Username;
                    if (erLhcoreClassModelUser::userExists($userData->username) === true) {
                        $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'User exists');
                    }
                }
            }
            if ($form->hasValidData('Password') && $form->hasValidData('Password1')) {
                $userData->password_temp_1 = $form->Password;
                $userData->password_temp_2 = $form->Password1;
            }
            if ($form->hasInputField('Password') && (!$form->hasInputField('Password1') || $form->Password != $form->Password1)) {
                $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Passwords mismatch');
            } else {
                if ($form->hasInputField('Password') && $form->hasInputField('Password1') && $form->Password != '' && $form->Password1 != '') {
                    $userData->setPassword($form->Password);
                    $userData->password_front = $form->Password;
                }
            }
        } else {
            $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'User action type not set');
        }
        if ($form->hasValidData('ChatNickname') && $form->ChatNickname != '') {
            $userData->chat_nickname = $form->ChatNickname;
        } else {
            $userData->chat_nickname = '';
        }
        if (!$form->hasValidData('Email')) {
            $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Wrong email address');
        } else {
            $userData->email = $form->Email;
        }
        if (!$form->hasValidData('Name') || $form->Name == '') {
            $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Please enter a name');
        } else {
            $userData->name = $form->Name;
        }
        if ($form->hasValidData('Surname') && $form->Surname != '') {
            $userData->surname = $form->Surname;
        } else {
            $userData->surname = '';
        }
        if ($form->hasValidData('JobTitle') && $form->JobTitle != '') {
            $userData->job_title = $form->JobTitle;
        } else {
            $userData->job_title = '';
        }
        if ($form->hasValidData('UserTimeZone') && $form->UserTimeZone != '') {
            $userData->time_zone = $form->UserTimeZone;
        } else {
            $userData->time_zone = '';
        }
        if ($form->hasValidData('Skype') && $form->Skype != '') {
            $userData->skype = $form->Skype;
        } else {
            $userData->skype = '';
        }
        if ($form->hasValidData('XMPPUsername') && $form->XMPPUsername != '') {
            $userData->xmpp_username = $form->XMPPUsername;
        } else {
            $userData->xmpp_username = '';
        }
        if ($form->hasValidData('UserDisabled') && $form->UserDisabled == true) {
            $userData->disabled = 1;
        } else {
            $userData->disabled = 0;
        }
        if ($form->hasValidData('HideMyStatus') && $form->HideMyStatus == true) {
            $userData->hide_online = 1;
        } else {
            $userData->hide_online = 0;
        }
        if ($form->hasValidData('UserInvisible') && $form->UserInvisible == true) {
            $userData->invisible_mode = 1;
        } else {
            $userData->invisible_mode = 0;
        }
        if ($form->hasValidData('ReceivePermissionRequest') && $form->ReceivePermissionRequest == true) {
            $userData->rec_per_req = 1;
        } else {
            $userData->rec_per_req = 0;
        }
        if ($form->hasValidData('DefaultGroup')) {
            $userData->user_groups_id = $form->DefaultGroup;
        } else {
            $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/validator', 'Please choose a default user group');
        }
        return $Errors;
    }