コード例 #1
0
function http_auth()
{
    // Abfragen ob man bereits über das koaLA Interface eingeloggt ist
    // Wenn ja, kein HTTP_AUTH notwendig
    if (isset($_SESSION["LMS_USER"]) && $_SESSION["LMS_USER"] instanceof lms_user && $_SESSION["LMS_USER"]->is_logged_in()) {
        $lms_user = $_SESSION["LMS_USER"];
        lms_steam::connect(STEAM_SERVER, STEAM_PORT, $lms_user->get_login(), $lms_user->get_password());
        return true;
    } else {
        // Wenn nicht, untenstehende checks durchführen
        if (!isset($_SERVER['PHP_AUTH_USER']) || !isset($_SERVER['PHP_AUTH_PW']) || $_SERVER['PHP_AUTH_USER'] === "" || $_SERVER['PHP_AUTH_PW'] === "") {
            // User abort
            header('WWW-Authenticate: Basic realm="koaLA"');
            header('HTTP/1.0 401 Unauthorized');
            return false;
        } else {
            // Correct Login
            $lms_user_new = new lms_user($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']);
            if (!$lms_user_new->login()) {
                header('WWW-Authenticate: Basic realm="koaLA"');
                header('HTTP/1.0 401 Unauthorized');
                return false;
            }
            $_SESSION["LMS_USER"] = $lms_user_new;
            return true;
        }
    }
}
コード例 #2
0
ファイル: reset_paul_sync.php プロジェクト: rolwi/koala
<?php

require_once "../../etc/koala.conf.php";
echo "**************** reset sync script ****************" . $newline;
try {
    echo "check root access to server";
    $steam_user = new lms_user(STEAM_ROOT_LOGIN, STEAM_ROOT_PW);
    //TODO: use phpsteam here. this fails if wrong login data for root
    $steam_user->login();
    echo "\t\t\t\t\t\t\t\t\t[OK]" . $newline;
    echo "reset lock flag";
    $paulsync_folder = steam_factory::path_to_object($GLOBALS["STEAM"]->get_id(), "/home/root/documents/paulsync");
    if (is_object($paulsync_folder)) {
        $paulsync_folder->set_attribute("PAUL_SYNC_RUNNING", "FALSE");
        echo "\t\t\t\t\t\t\t\t\t\t\t[OK]" . $newline;
    } else {
        echo "\t\t\t\t\t\t[FAIL]" . $newline;
        echo "--> ERROR: is server should not be synced with paul" . $newline;
    }
} catch (Exception $e) {
    echo "\t\t\t\t\t\t[FAIL]" . $newline;
    echo "--> ERROR: failed to connect to steam:" . $ex->getMessage() . $newline;
}
exit;