]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - inc/poche/Routing.class.php
Merge branch 'dev' into sendmailatregistration
[github/wallabag/wallabag.git] / inc / poche / Routing.class.php
old mode 100644 (file)
new mode 100755 (executable)
index e01d812..82ff20d
@@ -33,6 +33,7 @@ class Routing
         $this->view         = Tools::checkVar('view', 'home');
         $this->action       = Tools::checkVar('action');
         $this->id           = Tools::checkVar('id');
+        $this->autoclose    = Tools::checkVar('autoclose',FALSE);
         $_SESSION['sort']   = Tools::checkVar('sort', 'id');
         $this->url          = new Url((isset ($_GET['url'])) ? $_GET['url'] : '');
     }
@@ -64,7 +65,7 @@ class Routing
         $tplVars = array();
 
         if (\Session::isLogged()) {
-            $this->wallabag->action($this->action, $this->url, $this->id);
+            $this->wallabag->action($this->action, $this->url, $this->id, FALSE, $this->autoclose);
             $tplFile = Tools::getTplFile($this->view);
             $tplVars = array_merge($this->vars, $this->wallabag->displayView($this->view, $this->id));
         } elseif(isset($_SERVER['PHP_AUTH_USER'])) {
@@ -98,59 +99,64 @@ class Routing
     private function _launchAction()
     {
         if (isset($_GET['login'])) {
-            // hello you
-            $this->wallabag->login($this->referer);
-        } elseif (isset($_GET['logout'])) {
-            // see you soon !
-            $this->wallabag->logout();
-        } elseif (isset($_GET['config'])) {
-            // update password
-            $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
-        } elseif (isset($_GET['newuser'])) {
-            $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser']);
-        } elseif (isset($_GET['deluser'])) {
-            $this->wallabag->deleteUser($_POST['password4deletinguser']);
-        } elseif (isset($_GET['epub'])) {
-            $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']);
-            $epub->produceEpub();
-        } elseif (isset($_GET['mobi'])) {
-            $mobi = new WallabagMobi($this->wallabag, $_GET['method'], $_GET['value']);
-            $mobi->produceMobi();
-        } elseif (isset($_GET['pdf'])) {
-            $pdf = new WallabagPDF($this->wallabag, $_GET['method'], $_GET['value']);
-            $pdf->producePDF();
-        } elseif (isset($_GET['import'])) {
-            $import = $this->wallabag->import();
-            $tplVars = array_merge($this->vars, $import);
-        } elseif (isset($_GET['download'])) {
-            Tools::downloadDb();
-        } elseif (isset($_GET['empty-cache'])) {
-            Tools::emptyCache();
-        } elseif (isset($_GET['export'])) {
-            $this->wallabag->export();
-        } elseif (isset($_GET['updatetheme'])) {
-            $this->wallabag->tpl->updateTheme($_POST['theme']);
-        } elseif (isset($_GET['updatelanguage'])) {
-            $this->wallabag->language->updateLanguage($_POST['language']);
-        } elseif (isset($_GET['uploadfile'])) {
-            $this->wallabag->uploadFile();
-        } elseif (isset($_GET['feed'])) {
-            if (isset($_GET['action']) && $_GET['action'] == 'generate') {
+               // hello to you
+               $this->wallabag->login($this->referer);
+        } elseif (isset($_GET['feed']) && isset($_GET['user_id'])) {
+            $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
+            $limit = (isset($_GET['limit']) ? intval($_GET['limit']) : 0);
+            $this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type'], $limit);
+        }
+        
+        //allowed ONLY to logged in user
+        if (\Session::isLogged() === true) 
+        {
+            if (isset($_GET['logout'])) {
+                // see you soon !
+                $this->wallabag->logout();
+            } elseif (isset($_GET['config'])) {
+                // update password
+                $this->wallabag->updatePassword($_POST['password'], $_POST['password_repeat']);
+            } elseif (isset($_GET['newuser'])) {
+                $this->wallabag->createNewUser($_POST['newusername'], $_POST['password4newuser'], $_POST['newuseremail'], true);
+            } elseif (isset($_GET['deluser'])) {
+                $this->wallabag->deleteUser($_POST['password4deletinguser']);
+            } elseif (isset($_GET['epub'])) {
+                $epub = new WallabagEpub($this->wallabag, $_GET['method'], $_GET['value']);
+                $epub->prepareData();
+                $epub->produceEpub();
+            } elseif (isset($_GET['mobi'])) {
+                $mobi = new WallabagMobi($this->wallabag, $_GET['method'], $_GET['value']);
+                $mobi->prepareData();
+                $mobi->produceMobi();
+            } elseif (isset($_GET['pdf'])) {
+                $pdf = new WallabagPDF($this->wallabag, $_GET['method'], $_GET['value']);
+                $pdf->prepareData();
+                $pdf->producePDF();
+            } elseif (isset($_GET['import'])) {
+                $import = $this->wallabag->import();
+                $tplVars = array_merge($this->vars, $import);
+            } elseif (isset($_GET['empty-cache'])) {
+                Tools::emptyCache();
+            } elseif (isset($_GET['export'])) {
+                $this->wallabag->export();
+            } elseif (isset($_GET['updatetheme'])) {
+                $this->wallabag->tpl->updateTheme($_POST['theme']);
+            } elseif (isset($_GET['updatelanguage'])) {
+                $this->wallabag->language->updateLanguage($_POST['language']);
+            } elseif (isset($_GET['uploadfile'])) {
+                $this->wallabag->uploadFile();
+            } elseif (isset($_GET['feed']) && isset($_GET['action']) && $_GET['action'] == 'generate') {
                 $this->wallabag->updateToken();
             }
-            else {
-                $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0);
-                $this->wallabag->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']);
+            elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) {
+                $plainUrl = new Url(base64_encode($_GET['plainurl']));
+                $this->wallabag->action('add', $plainUrl);
             }
         }
-        elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) {
-            $plainUrl = new Url(base64_encode($_GET['plainurl']));
-            $this->wallabag->action('add', $plainUrl);
-        }
     }
 
     public function _render($file, $vars)
     {
         echo $this->wallabag->tpl->render($file, $vars);
     }
-} 
\ No newline at end of file
+}