X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=index.php;h=f46ddf10e237f0f01554fb92782428ac11c4b0d1;hb=c594aedf8c37e275ded35e4dcf499fc11974c9db;hp=167c4401cc792774b1210646281b7cee54539680;hpb=aa8e0a27e21c88dcaaf99af602219f1e79188a88;p=github%2Fwallabag%2Fwallabag.git diff --git a/index.php b/index.php index 167c4401..f46ddf10 100755 --- a/index.php +++ b/index.php @@ -8,58 +8,96 @@ * @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 - */ +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']) : ''; + +switch ($action) +{ + case 'add': + $url = (isset ($_GET['url'])) ? $_GET['url'] : ''; + 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) + { + $r = new Readability($html, $url); + if($r->init()) + { + $title = $r->articleTitle->innerHTML; + } + } + + $query = $db->getHandle()->prepare('INSERT INTO entries ( url, title ) VALUES (?, ?)'); + $query->execute(array($url, $title)); + break; + case 'delete': + $sql_action = "DELETE FROM entries WHERE id=?"; + $params_action = array($id); + break; + default: + break; +} try { - $db_handle = new PDO('sqlite:poche.sqlite'); - $db_handle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + # action query + if (isset($sql_action)) + { + $query = $db->getHandle()->prepare($sql_action); + $query->execute($params_action); + } } catch (Exception $e) { - die('error : '.$e->getMessage()); + die('query error : '.$e->getMessage()); } -$action = (isset ($_GET['action'])) ? htmlspecialchars($_GET['action']) : ''; - -switch ($action) { - case 'add': - $url = (isset ($_GET['url'])) ? htmlspecialchars($_GET['url']) : ''; - $title = $url; - $query = $db_handle->prepare('INSERT INTO entries ( url, title ) VALUES (?, ?)'); - $query->execute(array($url, $title)); - break; +switch ($view) +{ case 'archive': + $sql = "SELECT * FROM entries WHERE is_read=? ORDER BY id desc"; + $params = array(-1); break; case 'fav' : - break; - case 'delete': + $sql = "SELECT * FROM entries WHERE is_fav=? ORDER BY id desc"; + $params = array(-1); break; default: + $sql = "SELECT * FROM entries WHERE is_read=? ORDER BY id desc"; + $params = array(0); + $view = 'index'; break; } -function url(){ - $protocol = "http"; - if(isset($_SERVER['HTTPS'])) - if($_SERVER['HTTPS'] != "off") - $protocol = "https"; - - return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; +# view query +try +{ + $query = $db->getHandle()->prepare($sql); + $query->execute($params); + $entries = $query->fetchAll(); } +catch (Exception $e) +{ + die('query error : '.$e->getMessage()); +} + ?> @@ -71,36 +109,58 @@ function url(){ - poche : queue + poche, a read it later open source system + + + + -
-

poche, a read it later open source system

-
-
- - prepare("SELECT * FROM entries WHERE read=?"); - $query->execute(array('FALSE')); - $entries = $query->fetchAll(); - ?> - -
-