]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Fixed #54 - récupération de l'id améliorée et utilisation de action_to_do() pour...
authornicosomb <nicolas@loeuillet.org>
Thu, 18 Apr 2013 08:15:46 +0000 (10:15 +0200)
committernicosomb <nicolas@loeuillet.org>
Thu, 18 Apr 2013 08:15:46 +0000 (10:15 +0200)
import.php
inc/config.php
inc/functions.php

index 497e32fb81e32be6bf80214d2bdef5dfbf0e7016..9b42071b9a9138c62d1bf0fdb5da854a8614c357 100644 (file)
@@ -29,26 +29,8 @@ else {
             $a = $li->find('a');
             $url = $a[0]->href;
 
-            # FIXME corriger cette génération d'ID
-            $req = $db->getHandle()->query("SELECT id FROM entries ORDER BY id DESC");
-            $id = $req->fetchColumn()+1;
 
-            $parametres_url = prepare_url($url, $id);
-            $sql_action     = 'INSERT INTO entries ( url, title, content, is_read ) VALUES (?, ?, ?, ?)';
-            $params_action  = array($url, $parametres_url['title'], $parametres_url['content'], $read);
-            try
-            {
-                # action query
-                if (isset($sql_action))
-                {
-                    $query = $db->getHandle()->prepare($sql_action);
-                    $query->execute($params_action);
-                }
-            }
-            catch (Exception $e)
-            {
-                logm('error during pocket import : ' . $e->getMessage());
-            }
+            action_to_do('add', $url, $token);
         }
         # Pocket génère un fichier HTML avec deux <ul>
         # Le premier concerne les éléments non lus
index 4db3cf40232c5ac2c91bac7cc36bc145fc7b0f46..386fd0360fb941f193b86ef39aef04a9d8e1410e 100644 (file)
@@ -14,6 +14,7 @@ if (!is_dir('db/')) {
 
 define ('DB_PATH', 'sqlite:./db/poche.sqlite');
 define ('ABS_PATH', 'assets/');
+define ('CONVERT_LINKS_FOOTNOTES', TRUE);
 define ('DOWNLOAD_PICTURES', TRUE);
 
 include 'db.php';
@@ -50,5 +51,5 @@ $url                = (isset ($_GET['url'])) ? $_GET['url'] : '';
 $token              = (isset ($_REQUEST['token'])) ? $_REQUEST['token'] : '';
 
 if ($action != '') {
-    action_to_do($action, $id, $url, $token);
+    action_to_do($action, $url, $token, $id);
 }
index f572d983f1356f93dfa15bbc13f5764becb7eaca..936ec6ea8d4f44f7fce3c37c7d57899215792a68 100644 (file)
@@ -88,7 +88,7 @@ function get_external_file($url)
 /**
  * Préparation de l'URL avec récupération du contenu avant insertion en base
  */
-function prepare_url($url, $id)
+function prepare_url($url)
 {
     $parametres = array();
     $url    = html_entity_decode(trim($url));
@@ -107,14 +107,11 @@ function prepare_url($url, $id)
     if (isset($html) and strlen($html) > 0)
     {
         $r = new Readability($html, $url);
-        $r->convertLinksToFootnotes = TRUE;
+        $r->convertLinksToFootnotes = CONVERT_LINKS_FOOTNOTES;
         if($r->init())
         {
             $content = $r->articleContent->innerHTML;
             $parametres['title'] = $r->articleTitle->innerHTML;
-            if (DOWNLOAD_PICTURES) {
-                $content = filtre_picture($content, $url, $id);
-            }
             $parametres['content'] = $content;
             return $parametres;
         }
@@ -233,7 +230,7 @@ function remove_directory($directory)
  * Appel d'une action (mark as fav, archive, delete)
  */
 
-function action_to_do($action, $id, $url, $token)
+function action_to_do($action, $url, $token, $id = 0)
 {
     global $db;
 
@@ -243,13 +240,9 @@ function action_to_do($action, $id, $url, $token)
             if ($url == '')
                 continue;
 
-            # FIXME corriger cette génération d'ID
-            $req = $db->getHandle()->query("SELECT id FROM entries ORDER BY id DESC");
-            $id = $req->fetchColumn()+1;
-
-            if($parametres_url = prepare_url($url, $id)) {
-                $sql_action     = 'INSERT INTO entries ( id, url, title, content ) VALUES (?,?, ?, ?)';
-                $params_action  = array($id,$url, $parametres_url['title'], $parametres_url['content']);
+            if($parametres_url = prepare_url($url)) {
+                $sql_action     = 'INSERT INTO entries ( url, title, content ) VALUES (?, ?, ?)';
+                $params_action  = array($url, $parametres_url['title'], $parametres_url['content']);
             }
 
             logm('add link ' . $url);
@@ -290,6 +283,17 @@ function action_to_do($action, $id, $url, $token)
         {
             $query = $db->getHandle()->prepare($sql_action);
             $query->execute($params_action);
+            # if we add a link, we have to download pictures
+            if ($action == 'add') {
+                $last_id = $db->getHandle()->lastInsertId();
+                if (DOWNLOAD_PICTURES) {
+                    $content        = filtre_picture($parametres_url['content'], $url, $last_id);
+                    $sql_update     = "UPDATE entries SET content=? WHERE id=?";
+                    $params_update  = array($content, $last_id);
+                    $query_update   = $db->getHandle()->prepare($sql_update);
+                    $query_update->execute($params_update);
+                }
+            }
         }
     }
     catch (Exception $e)