function JLMS_forum_SetSMFCookie($id, $option) { global $my, $JLMS_DB, $Itemid, $JLMS_CONFIG; if ($JLMS_CONFIG->get('plugin_forum')) { $query = "SELECT add_forum FROM #__lms_courses WHERE id = {$id}"; $JLMS_DB->SetQuery($query); $is_c_forum = $JLMS_DB->LoadResult(); if ($is_c_forum) { $username = strval(mosGetParam($_REQUEST, 'username', '')); $password = strval(mosGetParam($_REQUEST, 'passwd', '')); $query = "SELECT id, name, username, password, usertype, block" . "\n FROM #__users" . "\n WHERE username = "******" AND id = {$my->id}"; $JLMS_DB->setQuery($query); $row = $JLMS_DB->loadObject(); $is_loaded_user = false; if (is_object($row)) { if (JLMS_Jversion() == 1 || JLMS_Jversion() == 2) { $parts = explode(':', $row->password); $crypt = $parts[0]; $salt = @$parts[1]; } else { $crypt = $row->password; $salt = ''; } $testcrypt = JLMS_getCryptedPassword($password, $salt, 'md5-hex'); if ($crypt == $testcrypt) { $query = "SELECT * FROM `#__users` WHERE id = {$row->id}"; $JLMS_DB->setQuery($query); $user = $JLMS_DB->loadObject(); $is_loaded_user = true; } } if ($is_loaded_user && isset($user->id)) { JLMS_createForumUser($user, $password); } JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}&task=course_forum&id={$id}")); } else { JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}&task=details_course&id={$id}")); } } else { JLMSRedirect(sefRelToAbs("index.php?option={$option}&Itemid={$Itemid}&task=details_course&id={$id}")); } }
function register($from_cb = 0, $freeCourse = false) { global $Itemid, $JLMS_DB, $JLMS_CONFIG, $JLMS_SESSION, $version, $task, $my; $reg_success = false; $msg = ''; $username = JRequest::getVar('username'); $password = JRequest::getVar('password'); $usersConfig =& JComponentHelper::getParams('com_users'); $app =& JFactory::getApplication(); if ($from_cb) { global $task; $task = 'saveregisters'; $_REQUEST['task'] = 'saveregisters'; $_GET['task'] = 'saveregisters'; $_POST['task'] = 'saveregisters'; JRequest::setVar('task', $task); ob_start(); global $ueConfig; $_CB_joomla_adminpath = $JLMS_CONFIG->get('absolute_path') . "/administrator"; $_CB_adminpath = $_CB_joomla_adminpath . "/components/com_comprofiler"; include_once $_CB_adminpath . "/ue_config.php"; if ($usersConfig->get('allowUserRegistration')) { $allowUserRegistration = true; } else { $allowUserRegistration = false; } // check if CB registration is allowed if (!$allowUserRegistration && (!isset($ueConfig['reg_admin_allowcbregistration']) || $ueConfig['reg_admin_allowcbregistration'] != '1') || $my->id) { $msg = _JLMS_REGISTRATION_DISABLED; $reg_success = false; } else { $existingUser = null; $query = "SELECT * " . "\n FROM #__users u " . "\n WHERE u.username = '******'"; $JLMS_DB->setQuery($query); $existingUser = $JLMS_DB->loadObjectList(); // new registration will be failed if user with such username is already exists. if (isset($existingUser[0])) { $reg_success = false; } require_once JPATH_SITE . '/components/com_comprofiler/comprofiler.html.php'; require_once JPATH_SITE . '/components/com_comprofiler/comprofiler.php'; $msg = @ob_get_contents(); $msg = str_replace('<br />', '**br**', $msg); $msg = str_replace('</div><div', '**br**', $msg); $msg = strip_tags($msg); $msg = str_replace('**br**', '<br />', $msg); $msg = trim($msg); if (substr($msg, 0, 6) == 'alert(') { preg_match('`alert\\(\'(.*)\'\\);(.*)`isU', $msg, $matches2); # <script...>(#our_content#)</script> areas if (isset($matches2[1])) { $msg = $matches2[1]; } } @ob_end_clean(); $filter =& JFilterInput::getInstance(); if ($filter->clean($msg) == $filter->clean(_UE_REG_COMPLETE)) { $msg = ''; $reg_success = true; } } } else { if (JLMS_Jversion() == 2) { if (JLMS_J16version()) { $lang =& JFactory::getLanguage(); $lang->load('com_users'); require_once JPATH_SITE . DS . 'components' . DS . 'com_users' . DS . 'models' . DS . 'registration.php'; // Create the controller $model = new UsersModelRegistration(); $requestData = JRequest::getVar('jform', array(), 'post', 'array'); $username = $requestData['username']; $password = $requestData['password1']; JForm::addFormPath(JPATH_SITE . '/components/com_users/models/forms'); JForm::addFieldPath(JPATH_SITE . '/components/com_users/models/fields'); $form = $model->getForm(); $return = $model->validate($form, $requestData); // Save the data in the session. if ($return === false) { $errors = $model->getErrors(); // Push up to three validation messages out to the user. for ($i = 0, $n = count($errors); $i < $n && $i < 3; $i++) { $msg .= '<br />' . $errors[$i]; } $app->setUserState('users.registration.form.data', $requestData); } else { $return = $model->register($requestData); if ($return === false) { $msg .= '<br />' . JText::sprintf('COM_USERS_REGISTRATION_SAVE_FAILED', $model->getError()); $app->setUserState('users.registration.form.data', $requestData); } } if ($return === 'adminactivate') { $reg_complete_activate_found = true; } else { if ($return === 'useractivate') { $reg_complete_activate_found = true; } else { if ($return !== false) { $reg_success = true; $reg_complete_found = true; } } } } else { $lang =& JFactory::getLanguage(); $lang->load('com_user'); require_once JPATH_SITE . '/components/com_user/controller.php'; require_once JPATH_SITE . '/components/com_user/views/register/view.html.php'; // Create the controller $controller = new UserController(); $controller->_basePath = JPATH_SITE . '/components/com_user'; ob_start(); $controller->execute('register_save'); ob_end_clean(); $t = JError::getError(true); $reg_complete_found = false; $reg_complete_activate_found = false; // this variable is not used yet... for future if (isset($t->message) && $t->message == JText::_('REG_COMPLETE')) { $reg_success = true; $reg_complete_found = true; } elseif (isset($t->message) && $t->message == JText::_('REG_COMPLETE_ACTIVATE')) { $reg_complete_activate_found = true; } elseif (isset($controller->_message) && $controller->_message == JText::_('REG_COMPLETE')) { $reg_success = true; $reg_complete_found = true; } elseif (isset($controller->_message) && $controller->_message == JText::_('REG_COMPLETE_ACTIVATE')) { $reg_complete_activate_found = true; } } } } $login_success = false; if ($reg_success) { $login_success = JLMS_UserSessions::doLogin($username, $password); } $app->set('_messageQueue', null); if ($reg_success && $login_success) { if ($freeCourse) { $msg .= '<br />' . _JLMS_REGISTRATION_COMPLETE . "<br />" . _JLMS_LOGIN_SUCCESS . "<br />" . _JLMS_SUBSCRIBE_CONTINUE; } else { $msg .= '<br />' . _JLMS_REGISTRATION_COMPLETE . "<br />" . _JLMS_LOGIN_SUCCESS . "<br />"; } } elseif ($reg_success) { $msg .= '<br />' . _JLMS_REGISTRATION_COMPLETE; } else { if ($usersConfig->get('useractivation') && !$reg_success) { $msg .= '<br />' . _JLMS_REGISTRATION_ACTIVATION; } } return $msg; }