userExists() public static method

public static userExists ( $username )
コード例 #1
0
 public static function loginBySSO($params)
 {
     $settings = (include 'extension/singlesignon/settings/settings.ini.php');
     // Try to find operator by our logins
     if (isset($params[$settings['attr_map']['username']][0])) {
         $username = $params[$settings['attr_map']['username']][0];
         if (erLhcoreClassModelUser::userExists($username)) {
             $user = array_shift(erLhcoreClassModelUser::getUserList(array('limit' => 1, 'filter' => array('username'))));
             erLhcoreClassUser::instance()->setLoggedUser($user->id);
         } else {
             $user = new erLhcoreClassModelUser();
             foreach ($settings['attr_map'] as $attr => $ssoAttr) {
                 $user->{$attr} = $params[$settings['attr_map'][$attr]][0];
             }
             foreach ($settings['default_attributes'] as $attr => $value) {
                 $user->{$attr} = $value;
             }
             $user->password = sha1(erLhcoreClassModelForgotPassword::randomPassword() . rand(0, 1000) . microtime());
             $user->saveThis();
             // Set that users sees all pending chats
             erLhcoreClassModelUserSetting::setSetting('show_all_pending', 1, $user->id);
             // Set default departments
             erLhcoreClassUserDep::addUserDepartaments($settings['default_departments'], $user->id, $user);
             // Cleanup if previously existed
             erLhcoreClassModelGroupUser::removeUserFromGroups($user->id);
             // Assign user to default group
             foreach ($settings['default_user_groups'] as $group_id) {
                 $groupUser = new erLhcoreClassModelGroupUser();
                 $groupUser->group_id = $group_id;
                 $groupUser->user_id = $user->id;
                 $groupUser->saveThis();
             }
             erLhcoreClassUser::instance()->setLoggedUser($user->id);
         }
         return true;
     } else {
         throw new Exception('Username field not found');
     }
 }
コード例 #2
0
ファイル: edit.php プロジェクト: nagyistoce/livehelperchat
<?php

$tpl = erLhcoreClassTemplate::getInstance('lhuser/edit.tpl.php');
$UserData = erLhcoreClassUser::getSession()->load('erLhcoreClassModelUser', (int) $Params['user_parameters']['user_id']);
if (isset($_POST['Update_account']) || isset($_POST['Save_account'])) {
    $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'), 'Username' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'JobTitle' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Skype' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'XMPPUsername' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'UserTimeZone' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'UserDisabled' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'HideMyStatus' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'UserInvisible' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'DefaultGroup' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'int', null, FILTER_REQUIRE_ARRAY));
    if (!isset($_POST['csfr_token']) || !$currentUser->validateCSFRToken($_POST['csfr_token'])) {
        erLhcoreClassModule::redirect('user/userlist');
        exit;
    }
    $form = new ezcInputForm(INPUT_POST, $definition);
    $Errors = array();
    if (!$form->hasValidData('Username')) {
        $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/account', 'Please enter a username!');
    } elseif ($form->hasValidData('Username') && $form->Username != $UserData->username && !erLhcoreClassModelUser::userExists($form->Username)) {
        $UserData->username = $form->Username;
    } elseif ($form->hasValidData('Username') && $form->Username != $UserData->username) {
        $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/account', 'User exists!');
    }
    if (!$form->hasValidData('Email')) {
        $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/edit', 'Wrong email address');
    }
    if (!$form->hasValidData('Name') || $form->Name == '') {
        $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/edit', 'Please enter a name');
    }
    if ($form->hasValidData('Surname') && $form->Surname != '') {
        $UserData->surname = $form->Surname;
    } else {
        $UserData->surname = '';
    }
    if ($form->hasValidData('UserTimeZone') && $form->UserTimeZone != '') {
コード例 #3
0
ファイル: new.php プロジェクト: sudogitguy/livehelperchat
     $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('Username') || $form->Username == '') {
     $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/new', 'Please enter a username');
 }
 if ($form->hasValidData('Username') && $form->Username != '' && erLhcoreClassModelUser::userExists($form->Username) === true) {
     $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/new', 'User exists');
 }
 if (!$form->hasValidData('Password') || !$form->hasValidData('Password1') || $form->Password == '' || $form->Password1 == '' || $form->Password != $form->Password1) {
     $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/new', 'Passwords mismatch');
 }
 if ($form->hasValidData('DefaultGroup')) {
     $UserData->user_groups_id = $form->DefaultGroup;
 } else {
     $Errors[] = erTranslationClassLhTranslation::getInstance()->getTranslation('user/new', 'Please choose a default user group');
 }
 if ($form->hasValidData('UserDisabled') && $form->UserDisabled == true) {
     $UserData->disabled = 1;
 } else {
     $UserData->disabled = 0;
 }
コード例 #4
0
 public static function validateAccount(&$userData)
 {
     $definition = array('Password' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Password1' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Email' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::REQUIRED, 'validate_email'), 'Name' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::REQUIRED, 'unsafe_raw'), 'Surname' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::REQUIRED, 'unsafe_raw'), 'Username' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'JobTitle' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'Skype' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'XMPPUsername' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'ChatNickname' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'UserTimeZone' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'unsafe_raw'), 'UserInvisible' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'), 'ReceivePermissionRequest' => new ezcInputFormDefinitionElement(ezcInputFormDefinitionElement::OPTIONAL, 'boolean'));
     $form = new ezcInputForm(INPUT_POST, $definition);
     $Errors = array();
     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;
         }
     }
     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;
         CSCacheAPC::getMem()->setSession('lhc_user_timezone', $userData->time_zone, true);
     } else {
         CSCacheAPC::getMem()->setSession('lhc_user_timezone', '', true);
         $userData->time_zone = '';
     }
     if (erLhcoreClassUser::instance()->hasAccessTo('lhuser', 'changevisibility')) {
         if ($form->hasValidData('UserInvisible') && $form->UserInvisible == true) {
             $userData->invisible_mode = 1;
         } else {
             $userData->invisible_mode = 0;
         }
     }
     if (erLhcoreClassUser::instance()->hasAccessTo('lhuser', 'receivepermissionrequest')) {
         if ($form->hasValidData('ReceivePermissionRequest') && $form->ReceivePermissionRequest == true) {
             $userData->rec_per_req = 1;
         } else {
             $userData->rec_per_req = 0;
         }
     }
     if (erLhcoreClassUser::instance()->hasAccessTo('lhuser', 'changeskypenick')) {
         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 = '';
     }
     return $Errors;
 }