From 3c8d80aec5f5ba15910014bb4dcb48e948041ec9 Mon Sep 17 00:00:00 2001 From: nicosomb Date: Mon, 15 Apr 2013 09:04:23 +0200 Subject: [PATCH] =?UTF-8?q?d=C3=A9placement=20code=20dans=20functions.php?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/functions.php | 31 +++++++++++++++++++++++++++++++ index.php | 27 ++++----------------------- 2 files changed, 35 insertions(+), 23 deletions(-) diff --git a/inc/functions.php b/inc/functions.php index 37a560385..0b9eb9369 100755 --- a/inc/functions.php +++ b/inc/functions.php @@ -109,4 +109,35 @@ function get_external_file($url, $timeout) else { return FALSE; } +} + +function prepare_url($url) +{ + $parametres = array(); + $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; + } + } + + $parametres['title'] = $title; + $parametres['content'] = $r->articleContent->innerHTML; + + return $parametres; } \ No newline at end of file diff --git a/index.php b/index.php index d40a6c951..d56c19410 100755 --- a/index.php +++ b/index.php @@ -14,41 +14,22 @@ $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']) : ''; +$url = (isset ($_GET['url'])) ? $_GET['url'] : ''; 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; - } - } + $parametres_url = prepare_url($url); try { # insert query $query = $db->getHandle()->prepare('INSERT INTO entries ( url, title, content ) VALUES (?, ?, ?)'); - $query->execute(array($url, $title, $r->articleContent->innerHTML)); + $query->execute(array($url, $parametres_url['title'], $parametres_url['content'])); } catch (Exception $e) {