erLhcoreClassUserValidator::validateUserNew PHP Method

validateUserNew() public static method

public static validateUserNew ( &$userData, &$params = [] )
    public static function validateUserNew(&$userData, &$params = array())
    {
        $params['user_new'] = true;
        $Errors = self::validateUser($userData, $params);
        if (isset($params['global_departament'])) {
            $params['global_departament'] = self::validateDepartments($userData);
        }
        if (isset($params['show_all_pending'])) {
            $params['show_all_pending'] = self::validateShowAllPendingOption();
        }
        erLhcoreClassChatEventDispatcher::getInstance()->dispatch('user.new_user', array('userData' => &$userData, 'errors' => &$Errors));
        return $Errors;
    }

Usage Example

Example #1
0
<?php

$tpl = erLhcoreClassTemplate::getInstance('lhuser/new.tpl.php');
$UserData = new erLhcoreClassModelUser();
$UserDepartaments = isset($_POST['UserDepartament']) ? $_POST['UserDepartament'] : array();
$userDepartamentsGroup = isset($_POST['UserDepartamentGroup']) ? $_POST['UserDepartamentGroup'] : array();
$userParams = array('show_all_pending' => 1, 'global_departament' => array());
$tpl->set('tab', $Params['user_parameters_unordered']['tab'] == 'canned' ? 'tab_canned' : '');
if (isset($_POST['Update_account'])) {
    if (!isset($_POST['csfr_token']) || !$currentUser->validateCSFRToken($_POST['csfr_token'])) {
        erLhcoreClassModule::redirect('user/new');
        exit;
    }
    $Errors = erLhcoreClassUserValidator::validateUserNew($UserData, $userParams);
    if (count($Errors) == 0) {
        try {
            $db = ezcDbInstance::get();
            $db->beginTransaction();
            erLhcoreClassUser::getSession()->save($UserData);
            if (count($userParams['global_departament']) > 0) {
                erLhcoreClassUserDep::addUserDepartaments($userParams['global_departament'], $UserData->id, $UserData);
            }
            $UserData->setUserGroups();
            $userPhotoErrors = erLhcoreClassUserValidator::validateUserPhoto($UserData);
            if ($userPhotoErrors !== false && count($userPhotoErrors) == 0) {
                $UserData->saveThis();
            }
            erLhcoreClassModelDepartamentGroupUser::addUserDepartmentGroups($UserData, erLhcoreClassUserValidator::validateDepartmentsGroup($UserData));
            erLhcoreClassModelUserSetting::setSetting('show_all_pending', $userParams['show_all_pending'], $UserData->id);
            erLhcoreClassChatEventDispatcher::getInstance()->dispatch('user.user_created', array('userData' => &$UserData, 'password' => $UserData->password_front));
            $db->commit();