コード例 #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}"));
    }
}
コード例 #2
0
 function doLogin($username, $password)
 {
     global $JLMS_CONFIG, $JLMS_DB;
     if ($JLMS_CONFIG->get('is_cb_installed', 0)) {
         $query = "SELECT * " . "\n FROM #__users u, " . "\n #__comprofiler ue " . "\n WHERE u.username="******" AND u.id = ue.id";
     } else {
         $query = "SELECT *, 1 as approved, 1 as confirmed " . "\n FROM #__users u " . "\n WHERE u.username=" . $JLMS_DB->Quote($username);
     }
     $is_success = false;
     $is_error = false;
     $JLMS_DB->setQuery($query);
     $row = $JLMS_DB->loadObject();
     $app =& JFactory::getApplication();
     if (is_object($row) && JLMS_HashPassword($password, $row)) {
         if ($row->approved == 2 || $row->approved == 0 || $row->block == 1) {
             $is_error = true;
         } elseif ($row->confirmed != 1) {
             $is_error = true;
         }
         $is_loaded_user = false;
         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) {
             $is_loaded_user = true;
         }
         if (!$is_loaded_user) {
             $is_error = true;
         }
     }
     if (!$is_error) {
         if ($app->login(array('username' => $username, 'password' => $password), array()) === true) {
             $is_success = true;
         } else {
             $is_success = false;
         }
     }
     return $is_success;
 }