]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
Merge branch 'dev' of github.com:wallabag/wallabag into dev
authorThomas Citharel <tcit@tcit.fr>
Thu, 19 Feb 2015 00:39:47 +0000 (01:39 +0100)
committerThomas Citharel <tcit@tcit.fr>
Thu, 19 Feb 2015 00:39:47 +0000 (01:39 +0100)
1  2 
inc/poche/Poche.class.php

index 6a48f2adfd5cfaed376d58fe7417cd6eb802ff4b,fd2600f3058bc3853be925fdee28cec8cff5f208..30d42c61bb3ffb9ee6b9632d7b6fc44729236640
@@@ -200,34 -200,27 +200,34 @@@ class Poch
  
                  //search for possible duplicate
                  $duplicate = NULL;
 -                $duplicate = $this->store->retrieveOneByURL($url->getUrl(), $this->user->getId());
 +                $clean_url = $url->getUrl();
  
 -                $last_id = $this->store->add($url->getUrl(), $title, $body, $this->user->getId());
 +                // Clean URL to remove parameters from feedburner and all this stuff. Taken from Shaarli.
 +                $i=strpos($clean_url,'&utm_source='); if ($i!==false) $clean_url=substr($clean_url,0,$i);
 +                $i=strpos($clean_url,'?utm_source='); if ($i!==false) $clean_url=substr($clean_url,0,$i);
 +                $i=strpos($clean_url,'#xtor=RSS-'); if ($i!==false) $clean_url=substr($clean_url,0,$i);
 +
 +                $duplicate = $this->store->retrieveOneByURL($clean_url, $this->user->getId());
 +
 +                $last_id = $this->store->add($clean_url, $title, $body, $this->user->getId());
                  if ( $last_id ) {
 -                    Tools::logm('add link ' . $url->getUrl());
 +                    Tools::logm('add link ' . $clean_url);
                      if (DOWNLOAD_PICTURES) {
 -                        $content = Picture::filterPicture($body, $url->getUrl(), $last_id);
 +                        $content = Picture::filterPicture($body, $clean_url, $last_id);
                          Tools::logm('updating content article');
                          $this->store->updateContent($last_id, $content, $this->user->getId());
                      }
  
                      if ($duplicate != NULL) {
                          // duplicate exists, so, older entry needs to be deleted (as new entry should go to the top of list), BUT favorite mark and tags should be preserved
 -                        Tools::logm('link ' . $url->getUrl() . ' is a duplicate');
 +                        Tools::logm('link ' . $clean_url . ' is a duplicate');
                          // 1) - preserve tags and favorite, then drop old entry
                          $this->store->reassignTags($duplicate['id'], $last_id);
                          if ($duplicate['is_fav']) {
                            $this->store->favoriteById($last_id, $this->user->getId());
                          }
                          if ($this->store->deleteById($duplicate['id'], $this->user->getId())) {
 -                          Tools::logm('previous link ' . $url->getUrl() .' entry deleted');
 +                          Tools::logm('previous link ' . $clean_url .' entry deleted');
                          }
                      }
  
                  }
                  else {
                      $this->messages->add('e', _('error during insertion : the link wasn\'t added'));
 -                    Tools::logm('error during insertion : the link wasn\'t added ' . $url->getUrl());
 +                    Tools::logm('error during insertion : the link wasn\'t added ' . $clean_url);
                  }
  
                  if ($autoclose == TRUE) {
          Tools::logm('Import of articles finished: '.$i.' articles added (w/o content if not provided).');
        }
        else {
-         $this->messages->add('s', _('Did you forget to select a file?'));
+         $this->messages->add('e', _('Did you forget to select a file?'));
        }
          // file parsing finished here
          // now download article contents if any