示例#1
0
            header($_SERVER["SERVER_PROTOCOL"] . " 401 Unauthorized");
            header('WWW-Authenticate: Bearer realm="Device KEY", error="invalid_devicekey", error_description="Invalid device key"');
            print "Invalid device key";
            $log = new EmonLogger(__FILE__);
            $log->error("Invalid device key '" . $devicekey . "'");
            exit;
        }
    } else {
        $session = $user->emon_session_start();
    }
}
// 4) Language
if (!isset($session['lang'])) {
    $session['lang'] = '';
}
set_emoncms_lang($session['lang']);
// 5) Get route and load controller
$route = new Route(get('q'), server('DOCUMENT_ROOT'), server('REQUEST_METHOD'));
if (get('embed') == 1) {
    $embed = 1;
} else {
    $embed = 0;
}
// If no route specified use defaults
if ($route->isRouteNotDefined()) {
    if (!isset($session['read']) || isset($session['read']) && !$session['read']) {
        // Non authenticated defaults
        $route->controller = $default_controller;
        $route->action = $default_action;
        $route->subaction = "";
    } else {
示例#2
0
//---------------------------------------------------------------------------------
// SESSION CONTROL
// if the apikey is set then the session is controlled by the apikey
// otherwise it is controlled by the cookie based php session.
//---------------------------------------------------------------------------------
if (isset($_GET['apikey']) && $_GET['apikey']) {
    $session = user_apikey_session_control($_GET['apikey']);
} else {
    emon_session_start();
    $session = $_SESSION;
    if (!isset($session['userid'])) {
        $session['userid'] = 0;
    }
}
// Set user language on every page load to avoid apache multithread setlocale error
set_emoncms_lang($session['userid']);
// Set emoncms theme TODO: get from user preferences
$GLOBALS['theme'] = 'basic';
// Redirect to login screen if user is no longer logged in (eg. after session timeout)
if ($controller == '' && $action == '') {
    $controller = "user";
    $action = "login";
    // Don't show login page if user IS logged in.  Redirect them to dashboard list instead.
    if ($session['userid'] > 0) {
        header("Location: " . $path . "dashboard/list");
    }
}
//---------------------------------------------------------------------------------
// CREATE OUTPUT CONTENT ARRAY
// All content is stored in the $output array
//---------------------------------------------------------------------------------