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; }
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; }
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']; }
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); } } }
public function actionIndex() { $response = parent::actionIndex(); DLEIntegration_DLE::getInstance()->logout(); return $response; }