Exemplo n.º 1
0
 /**
  *
  * @return self
  */
 public static function getInstance()
 {
     if (!self::$_instance) {
         self::$_instance = new self();
     }
     return self::$_instance;
 }
Exemplo n.º 2
0
 protected function _completeRegistration(array $user, array $extraParams = array())
 {
     $response = parent::_completeRegistration($user, $extraParams);
     $password = $this->_input->filterSingle('password', XenForo_Input::STRING);
     DLEIntegration_DLE::getInstance()->login($user['username'], $password);
     return $response;
 }
Exemplo n.º 3
0
 public function resetPassword($userId, $sendEmail = true)
 {
     $password = parent::resetPassword($userId, $sendEmail);
     $dw = XenForo_DataWriter::create('XenForo_DataWriter_User');
     $dw->setExistingData($userId);
     $dw->get('username');
     DLEIntegration_DLE::getInstance()->update($dw->get('username'), array('password' => md5(md5(DLEIntegration_DLE::getInstance()->convertEncodingToDLE($password)))));
     return $password;
 }
Exemplo n.º 4
0
 public function validateAuthentication($nameOrEmail, $password, &$error = '')
 {
     /** @var $error XenForo_Phrase */
     $user_id = parent::validateAuthentication($nameOrEmail, $password, $error);
     $DLE = DLEIntegration_DLE::getInstance();
     if ($user_id) {
         $DLE->login($nameOrEmail, $password);
         return $user_id;
     }
     if ($error->getPhraseName() !== 'requested_user_x_not_found') {
         return $user_id;
     }
     $user = $DLE->findDLEUser($nameOrEmail, $password);
     if (!$user) {
         return $user_id;
     }
     $data = array('username' => $DLE->convertEncodingFromDLE($user->name), 'email' => $DLE->convertEncodingFromDLE($user->email), 'last_activity' => $user->lastdate, 'register_date' => $user->reg_date);
     $options = XenForo_Application::getOptions();
     $writer = XenForo_DataWriter::create('XenForo_DataWriter_User');
     if ($options->registrationDefaults) {
         $writer->bulkSet($options->registrationDefaults, array('ignoreInvalidFields' => true));
     }
     $writer->bulkSet($data);
     $writer->setPassword($password, false, null, true);
     $writer->set('user_group_id', XenForo_Model_User::$defaultRegisteredGroupId);
     $writer->set('language_id', XenForo_Visitor::getInstance()->get('language_id'));
     $writer->advanceRegistrationUserState();
     $writer->preSave();
     $writer->save();
     $user = $writer->getMergedData();
     if ($user['user_state'] == 'email_confirm') {
         XenForo_Model::create('XenForo_Model_UserConfirmation')->sendEmailConfirmation($user);
     }
     $error = '';
     $DLE->login($nameOrEmail, $password);
     return $user['user_id'];
 }
Exemplo n.º 5
0
 protected function _save()
 {
     parent::_save();
     $fields = array();
     foreach ($this->_newData as $data) {
         foreach ($data as $column => $value) {
             if (in_array($column, $this->fieldsDLE2Xen)) {
                 $fields[array_search($column, $this->fieldsDLE2Xen)] = $value;
             }
         }
     }
     if ($fields || $this->password) {
         if ($this->password) {
             $fields['password'] = md5(md5(DLEIntegration_DLE::getInstance()->convertEncodingToDLE($this->password)));
         }
         if ($this->isUpdate()) {
             if ($username = $this->getExisting('username')) {
                 DLEIntegration_DLE::getInstance()->update($username, $fields);
             }
         } else {
             DLEIntegration_DLE::getInstance()->insert($fields);
         }
     }
 }
Exemplo n.º 6
0
 public function actionIndex()
 {
     $response = parent::actionIndex();
     DLEIntegration_DLE::getInstance()->logout();
     return $response;
 }