From 3602405ec0dbc576fce09ff9e865ba2404622080 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 11 Jul 2014 16:03:59 +0200 Subject: WHAT. A. BIG. REFACTOR. + new license (we moved to MIT one) --- index.php | 132 ++++---------------------------------------------------------- 1 file changed, 7 insertions(+), 125 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 481841ec..825e9d5a 100755 --- a/index.php +++ b/index.php @@ -5,139 +5,21 @@ * @category wallabag * @author Nicolas Lœuillet * @copyright 2013 - * @license http://www.wtfpl.net/ see COPYING file + * @license http://opensource.org/licenses/MIT see COPYING file */ -define ('POCHE', '1.7.1'); +define ('POCHE', '1.8.0'); require 'check_setup.php'; require_once 'inc/poche/global.inc.php'; -# Set error reporting level if (defined('ERROR_REPORTING')) { error_reporting(ERROR_REPORTING); } -# Start session -Session::$sessionName = 'poche'; +// Start session +Session::$sessionName = 'wallabag'; Session::init(); -# Start Poche -$poche = new Poche(); -$notInstalledMessage = $poche -> getNotInstalledMessage(); - -# Parse GET & REFERER vars -$referer = empty($_SERVER['HTTP_REFERER']) ? '' : $_SERVER['HTTP_REFERER']; -$view = Tools::checkVar('view', 'home'); -$action = Tools::checkVar('action'); -$id = Tools::checkVar('id'); -$_SESSION['sort'] = Tools::checkVar('sort', 'id'); -$url = new Url((isset ($_GET['url'])) ? $_GET['url'] : ''); - -# vars to _always_ send to templates -$tpl_vars = array( - 'referer' => $referer, - 'view' => $view, - 'poche_url' => Tools::getPocheUrl(), - 'title' => _('wallabag, a read it later open source system'), - 'token' => Session::getToken(), - 'theme' => $poche->getTheme() -); - -if (! empty($notInstalledMessage)) { - if (! Poche::$canRenderTemplates || ! Poche::$configFileAvailable) { - # We cannot use Twig to display the error message - echo '

Errors

    '; - foreach ($notInstalledMessage as $message) { - echo '
  1. ' . $message . '
  2. '; - } - echo '
'; - die(); - } else { - # Twig is installed, put the error message in the template - $tpl_file = Tools::getTplFile('error'); - $tpl_vars = array_merge($tpl_vars, array('msg' => $poche->getNotInstalledMessage())); - echo $poche->tpl->render($tpl_file, $tpl_vars); - exit; - } -} - -# poche actions -if (isset($_GET['login'])) { - # hello you - $poche->login($referer); -} elseif (isset($_GET['logout'])) { - # see you soon ! - $poche->logout(); -} elseif (isset($_GET['config'])) { - # Update password - $poche->updatePassword(); -} elseif (isset($_GET['newuser'])) { - $poche->createNewUser(); -} elseif (isset($_GET['deluser'])) { - $poche->deleteUser(); -} elseif (isset($_GET['epub'])) { - $poche->createEpub(); -} elseif (isset($_GET['import'])) { - $import = $poche->import(); - $tpl_vars = array_merge($tpl_vars, $import); -} elseif (isset($_GET['download'])) { - Tools::download_db(); -} elseif (isset($_GET['empty-cache'])) { - $poche->emptyCache(); -} elseif (isset($_GET['export'])) { - $poche->export(); -} elseif (isset($_GET['updatetheme'])) { - $poche->updateTheme(); -} elseif (isset($_GET['updatelanguage'])) { - $poche->updateLanguage(); -} elseif (isset($_GET['uploadfile'])) { - $poche->uploadFile(); -} elseif (isset($_GET['feed'])) { - if (isset($_GET['action']) && $_GET['action'] == 'generate') { - $poche->generateToken(); - } - else { - $tag_id = (isset($_GET['tag_id']) ? intval($_GET['tag_id']) : 0); - $poche->generateFeeds($_GET['token'], filter_var($_GET['user_id'],FILTER_SANITIZE_NUMBER_INT), $tag_id, $_GET['type']); - } -} - -elseif (isset($_GET['plainurl']) && !empty($_GET['plainurl'])) { - $plain_url = new Url(base64_encode($_GET['plainurl'])); - $poche->action('add', $plain_url); -} - -if (Session::isLogged()) { - $poche->action($action, $url, $id); - $tpl_file = Tools::getTplFile($view); - $tpl_vars = array_merge($tpl_vars, $poche->displayView($view, $id)); -} elseif(isset($_SERVER['PHP_AUTH_USER'])) { - if($poche->store->userExists($_SERVER['PHP_AUTH_USER'])) { - $poche->login($referer); - } else { - $poche->messages->add('e', _('login failed: user doesn\'t exist')); - Tools::logm('user doesn\'t exist'); - $tpl_file = Tools::getTplFile('login'); - $tpl_vars['http_auth'] = 1; - } -} elseif(isset($_SERVER['REMOTE_USER'])) { - if($poche->store->userExists($_SERVER['REMOTE_USER'])) { - $poche->login($referer); - } else { - $poche->messages->add('e', _('login failed: user doesn\'t exist')); - Tools::logm('user doesn\'t exist'); - $tpl_file = Tools::getTplFile('login'); - $tpl_vars['http_auth'] = 1; - } -} else { - $tpl_file = Tools::getTplFile('login'); - $tpl_vars['http_auth'] = 0; - Session::logout(); -} - -# because messages can be added in $poche->action(), we have to add this entry now (we can add it before) -$messages = $poche->messages->display('all', FALSE); -$tpl_vars = array_merge($tpl_vars, array('messages' => $messages)); - -# display poche -echo $poche->tpl->render($tpl_file, $tpl_vars); +// Let's rock ! +$wallabag = new Poche(); +$wallabag->run(); -- cgit v1.2.3 From b3cda72e93fff3a4c3476e9e7e78ef2b2a3f02b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Fri, 11 Jul 2014 17:06:51 +0200 Subject: PicoFarad framework for routing --- index.php | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 9 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 825e9d5a..6f190518 100755 --- a/index.php +++ b/index.php @@ -12,14 +12,56 @@ define ('POCHE', '1.8.0'); require 'check_setup.php'; require_once 'inc/poche/global.inc.php'; -if (defined('ERROR_REPORTING')) { - error_reporting(ERROR_REPORTING); -} -// Start session -Session::$sessionName = 'wallabag'; -Session::init(); +use PicoFarad\Router; +use PicoFarad\Response; +use PicoFarad\Request; +use PicoFarad\Session; -// Let's rock ! -$wallabag = new Poche(); -$wallabag->run(); +// Called before each action +Router\before(function($action) { + + // Open a session only for the specified directory + Session\open(dirname($_SERVER['PHP_SELF'])); + + // HTTP secure headers + Response\csp(); + Response\xframe(); + Response\xss(); + Response\nosniff(); +}); + +// Show help +Router\get_action('unread', function() use ($wallabag) { + $view = 'home'; + $id = 0; + + $tpl_vars = array( + 'referer' => $wallabag->routing->referer, + 'view' => $wallabag->routing->view, + 'poche_url' => Tools::getPocheUrl(), + 'title' => _('wallabag, a read it later open source system'), + 'token' => \Session::getToken(), + 'theme' => $wallabag->tpl->getTheme(), + 'entries' => '', + 'page_links' => '', + 'nb_results' => '', + 'listmode' => (isset($_COOKIE['listmode']) ? true : false), + ); + + $count = $wallabag->store->getEntriesByViewCount($view, $wallabag->user->getId(), $id); + + if ($count > 0) { + $wallabag->pagination->set_total($count); + $page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')), + $wallabag->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . (($id)?'&id='.$id:'') . '&' )); + $tpl_vars['entries'] = $wallabag->store->getEntriesByView($view, $wallabag->user->getId(), $wallabag->pagination->get_limit(), $id); + $tpl_vars['page_links'] = $page_links; + $tpl_vars['nb_results'] = $count; + } + + $wallabag->routing->render('home.twig', $tpl_vars); + + Tools::logm('display ' . $view . ' view'); + +}); -- cgit v1.2.3 From 26b77483ee7545c0e4f8eeb205a5743bf3589adb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Sat, 12 Jul 2014 16:39:31 +0200 Subject: remove PicoFarad MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I’ll implement it an other day. --- index.php | 57 +++++---------------------------------------------------- 1 file changed, 5 insertions(+), 52 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 6f190518..e199956c 100755 --- a/index.php +++ b/index.php @@ -12,56 +12,9 @@ define ('POCHE', '1.8.0'); require 'check_setup.php'; require_once 'inc/poche/global.inc.php'; +// Start session +Session::$sessionName = 'wallabag'; +Session::init(); -use PicoFarad\Router; -use PicoFarad\Response; -use PicoFarad\Request; -use PicoFarad\Session; - -// Called before each action -Router\before(function($action) { - - // Open a session only for the specified directory - Session\open(dirname($_SERVER['PHP_SELF'])); - - // HTTP secure headers - Response\csp(); - Response\xframe(); - Response\xss(); - Response\nosniff(); -}); - -// Show help -Router\get_action('unread', function() use ($wallabag) { - $view = 'home'; - $id = 0; - - $tpl_vars = array( - 'referer' => $wallabag->routing->referer, - 'view' => $wallabag->routing->view, - 'poche_url' => Tools::getPocheUrl(), - 'title' => _('wallabag, a read it later open source system'), - 'token' => \Session::getToken(), - 'theme' => $wallabag->tpl->getTheme(), - 'entries' => '', - 'page_links' => '', - 'nb_results' => '', - 'listmode' => (isset($_COOKIE['listmode']) ? true : false), - ); - - $count = $wallabag->store->getEntriesByViewCount($view, $wallabag->user->getId(), $id); - - if ($count > 0) { - $wallabag->pagination->set_total($count); - $page_links = str_replace(array('previous', 'next'), array(_('previous'), _('next')), - $wallabag->pagination->page_links('?view=' . $view . '&sort=' . $_SESSION['sort'] . (($id)?'&id='.$id:'') . '&' )); - $tpl_vars['entries'] = $wallabag->store->getEntriesByView($view, $wallabag->user->getId(), $wallabag->pagination->get_limit(), $id); - $tpl_vars['page_links'] = $page_links; - $tpl_vars['nb_results'] = $count; - } - - $wallabag->routing->render('home.twig', $tpl_vars); - - Tools::logm('display ' . $view . ' view'); - -}); +// Let's rock ! +$wallabag = new Poche(); -- cgit v1.2.3 From b6a3c8866a4cb88b009e7ba45c5e223e0fdae188 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicolas=20L=C5=93uillet?= Date: Sat, 12 Jul 2014 16:41:55 +0200 Subject: forgot run() call --- index.php | 1 + 1 file changed, 1 insertion(+) (limited to 'index.php') diff --git a/index.php b/index.php index e199956c..a26f458a 100755 --- a/index.php +++ b/index.php @@ -18,3 +18,4 @@ Session::init(); // Let's rock ! $wallabag = new Poche(); +$wallabag->run(); \ No newline at end of file -- cgit v1.2.3