]> git.immae.eu Git - github/wallabag/wallabag.git/blobdiff - inc/functions.php
découpage des vues dans plusieurs fichiers tpl
[github/wallabag/wallabag.git] / inc / functions.php
index 37a560385889d826e967998d56c7aa598c3f41d9..ffd400ef3ecd811646d4dc437bbdbe7787a40433 100755 (executable)
@@ -3,7 +3,7 @@
 /**
  * Permet de générer l'URL de poche pour le bookmarklet
  */
-function url()
+function get_poche_url()
 {
     $protocol = "http";
     if(isset($_SERVER['HTTPS'])) {
@@ -15,29 +15,6 @@ function url()
     return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
 }
 
-/**
- * Génération de la page "vue d'un article"
- */
-function generate_page($entry)
-{
-    raintpl::$tpl_dir = './tpl/';
-    raintpl::$cache_dir = "./cache/";
-    raintpl::$base_url = url();
-    raintpl::configure( 'path_replace', false );
-    raintpl::configure('debug', false);
-
-    $tpl = new raintpl();
-
-    $tpl->assign("id", $entry['id']);
-    $tpl->assign("url", $entry['url']);
-    $tpl->assign("title", $entry['title']);
-    $tpl->assign("content", $entry['content']);
-    $tpl->assign("is_fav", $entry['is_fav']);
-    $tpl->assign("is_read", $entry['is_read']);
-
-    $tpl->draw( "index");
-}
-
 // function define to retrieve url content
 function get_external_file($url, $timeout)
 {
@@ -109,4 +86,38 @@ function get_external_file($url, $timeout)
     else {
         return FALSE;
     }
+}
+
+/**
+ * Préparation de l'URL avec récupération du contenu avant insertion en base
+ */
+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