]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - index.php
tout est recentré sur index.php
[github/wallabag/wallabag.git] / index.php
old mode 100755 (executable)
new mode 100644 (file)
index 1cb32f5..9a81a74
--- a/index.php
+++ b/index.php
 
 include dirname(__FILE__).'/inc/config.php';
 
-$action = (isset ($_GET['action'])) ? htmlspecialchars($_GET['action']) : '';
-$view   = (isset ($_GET['view'])) ? htmlspecialchars($_GET['view']) : 'index';
-$id     = (isset ($_GET['id'])) ? htmlspecialchars($_GET['id']) : '';
-$url    = (isset ($_GET['url'])) ? $_GET['url'] : '';
+# initialize session
+Session::init();
+# XSRF protection with token
+if (!empty($_POST)) {
+    if (!Session::isToken($_POST['token'])) {
+        die('Wrong token.');
+    }
+    unset($_SESSION['tokens']);
+}
 
-action_to_do($action, $id);
-$entries = display_view($view);
+if (isset($_GET['login'])) {
+    // Login
+    if (!empty($_POST['login']) && !empty($_POST['password'])) {
+        if (Session::login('poche', 'poche', $_POST['login'], $_POST['password'])) {
+            logm('login successful');
+            if (!empty($_POST['longlastingsession'])) {
+                $_SESSION['longlastingsession'] = 31536000;
+                $_SESSION['expires_on'] = time() + $_SESSION['longlastingsession'];
+                session_set_cookie_params($_SESSION['longlastingsession']);
+            } else {
+                session_set_cookie_params(0); // when browser closes
+            }
+            session_regenerate_id(true);
 
-$tpl->assign('title', 'poche, a read it later open source system');
+            MyTool::redirect();
+        }
+        logm('login failed');
+        die("Login failed !");
+    } else {
+        logm('login failed');
+    }
+}
+elseif (isset($_GET['logout'])) {
+    logm('logout');
+    Session::logout();
+    MyTool::redirect();
+}
+
+# Traitement des paramètres et déclenchement des actions
+$view               = (isset ($_REQUEST['view'])) ? htmlentities($_REQUEST['view']) : 'index';
+$full_head          = (isset ($_REQUEST['full_head'])) ? htmlentities($_REQUEST['full_head']) : 'yes';
+$action             = (isset ($_REQUEST['action'])) ? htmlentities($_REQUEST['action']) : '';
+$_SESSION['sort']   = (isset ($_REQUEST['sort'])) ? htmlentities($_REQUEST['sort']) : 'id';
+$id                 = (isset ($_REQUEST['id'])) ? htmlspecialchars($_REQUEST['id']) : '';
+$url                = (isset ($_GET['url'])) ? $_GET['url'] : '';
+$ref                = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER'];
+
+$tpl->assign('isLogged', Session::isLogged());
+$tpl->assign('referer', $ref);
 $tpl->assign('view', $view);
 $tpl->assign('poche_url', get_poche_url());
-$tpl->assign('entries', $entries);
-$tpl->assign('load_all_js', 1);
-$tpl->draw('home');
\ No newline at end of file
+$tpl->assign('title', 'poche, a read it later open source system');
+
+if (Session::isLogged()) {
+    action_to_do($action, $url, $id);
+    display_view($view, $id, $full_head);
+}
+else {
+    $tpl->draw('login');
+}
\ No newline at end of file