Ejemplo n.º 1
0
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}"));
    }
}
Ejemplo n.º 2
0
 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;
 }