X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=index.php;h=cf7ea3e28f818f05d9213302a2ac4f728eb827d4;hb=4f6f3550400742dcf712afcbe46dbf51150df679;hp=cf1292443b403b89c4c576c98b2ab57f6bf35746;hpb=1ef1b9696a5067fedf79458af4fcb1eeb1a9a790;p=github%2Fwallabag%2Fwallabag.git diff --git a/index.php b/index.php index cf129244..cf7ea3e2 100755 --- a/index.php +++ b/index.php @@ -8,69 +8,48 @@ * @license http://www.wtfpl.net/ see COPYING file */ -/** - * TODO - * gestion des erreurs sqlite (duplicate tout ça) - * gérer si url vide - * traiter les variables passées en get - * récupérer le titre de la page pochée (cf readityourself.php) - * actions archive, fav et delete à traiter - * bookmarklet - * améliorer présentation des liens - * améliorer présentation d'un article - * aligner verticalement les icones d'action - * afficher liens mis en favoris et archivés - * tri des liens - */ -require_once dirname(__FILE__).'/inc/Readability.php'; -require_once dirname(__FILE__).'/inc/Encoding.php'; -include dirname(__FILE__).'/inc/functions.php'; - -try -{ - $db_handle = new PDO('sqlite:db/poche.sqlite'); - $db_handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); -} -catch (Exception $e) -{ - die('database error : '.$e->getMessage()); -} +include dirname(__FILE__).'/inc/config.php'; +$db = new db(DB_PATH); $action = (isset ($_GET['action'])) ? htmlspecialchars($_GET['action']) : ''; -$view = (isset ($_GET['view'])) ? htmlspecialchars($_GET['view']) : ''; -$id = (isset ($_GET['id'])) ? htmlspecialchars($_GET['id']) : ''; +$view = (isset ($_GET['view'])) ? htmlspecialchars($_GET['view']) : ''; +$id = (isset ($_GET['id'])) ? htmlspecialchars($_GET['id']) : ''; -switch ($action) { +switch ($action) +{ case 'add': $url = (isset ($_GET['url'])) ? $_GET['url'] : ''; - $url = html_entity_decode(trim($url)); - $title = $url; - // if url use https protocol change it to http - if (!preg_match('!^https?://!i', $url)) $url = 'http://'.$url; - // convert page to utf-8 + if ($url == '') + continue; + + $url = html_entity_decode(trim($url)); + + // We remove the annoying parameters added by FeedBurner and GoogleFeedProxy (?utm_source=...) + // from shaarli, by sebsauvage + $i=strpos($url,'&utm_source='); if ($i!==false) $url=substr($url,0,$i); + $i=strpos($url,'?utm_source='); if ($i!==false) $url=substr($url,0,$i); + $i=strpos($url,'#xtor=RSS-'); if ($i!==false) $url=substr($url,0,$i); + + $title = $url; + if (!preg_match('!^https?://!i', $url)) + $url = 'http://' . $url; + $html = Encoding::toUTF8(get_external_file($url,15)); - if(isset($html) and strlen($html) > 0) { - // send result to readability library + if (isset($html) and strlen($html) > 0) + { $r = new Readability($html, $url); - if($r->init()) { + if($r->init()) + { $title = $r->articleTitle->innerHTML; } } - $query = $db_handle->prepare('INSERT INTO entries ( url, title ) VALUES (?, ?)'); + $query = $db->getHandle()->prepare('INSERT INTO entries ( url, title ) VALUES (?, ?)'); $query->execute(array($url, $title)); break; - case 'toggle_fav' : - $sql_action = "UPDATE entries SET is_fav=~is_fav WHERE id=?"; - $params_action = array($id); - break; - case 'toggle_archive' : - $sql_action = "UPDATE entries SET is_read=~is_read WHERE id=?"; - $params_action = array($id); - break; case 'delete': - $sql_action = "DELETE FROM entries WHERE id=?"; - $params_action = array($id); + $sql_action = "DELETE FROM entries WHERE id=?"; + $params_action = array($id); break; default: break; @@ -79,8 +58,9 @@ switch ($action) { try { # action query - if (isset($sql_action)) { - $query = $db_handle->prepare($sql_action); + if (isset($sql_action)) + { + $query = $db->getHandle()->prepare($sql_action); $query->execute($params_action); } } @@ -89,25 +69,27 @@ catch (Exception $e) die('query error : '.$e->getMessage()); } -switch ($view) { +switch ($view) +{ case 'archive': - $sql = "SELECT * FROM entries WHERE is_read=?"; + $sql = "SELECT * FROM entries WHERE is_read=? ORDER BY id desc"; $params = array(-1); break; case 'fav' : - $sql = "SELECT * FROM entries WHERE is_fav=?"; + $sql = "SELECT * FROM entries WHERE is_fav=? ORDER BY id desc"; $params = array(-1); break; default: - $sql = "SELECT * FROM entries WHERE is_read=?"; + $sql = "SELECT * FROM entries WHERE is_read=? ORDER BY id desc"; $params = array(0); + $view = 'index'; break; } # view query try { - $query = $db_handle->prepare($sql); + $query = $db->getHandle()->prepare($sql); $query->execute($params); $entries = $query->fetchAll(); } @@ -127,31 +109,53 @@ catch (Exception $e) - poche : queue + poche, a read it later open source system + + + +
-

logo pochepoche, a read it later open source system

+

logo pochepoche

-
+
- +
-