]> git.immae.eu Git - github/wallabag/wallabag.git/commitdiff
remove duplicates by import, code changes: tabs replaced with spaces
authorMaryana Rozhankivska <mariroz@mr.lviv.ua>
Tue, 8 Apr 2014 08:41:06 +0000 (11:41 +0300)
committerMaryana Rozhankivska <mariroz@mr.lviv.ua>
Tue, 8 Apr 2014 08:41:06 +0000 (11:41 +0300)
inc/poche/Poche.class.php

index a662f695eaffd261a85514e8a7401bfc094516ae..90fbcb2da99b504171a5383ec14c17ce60954695 100755 (executable)
@@ -828,7 +828,7 @@ class Poche
         define('IMPORT_LIMIT', 5);
       }
       if (!defined('IMPORT_DELAY')) {
-       define('IMPORT_DELAY', 5);
+        define('IMPORT_DELAY', 5);
       }
 
       if ( isset($_FILES['file']) ) {
@@ -844,18 +844,18 @@ class Poche
           $read = 0;
           foreach (array('ol','ul') as $list) {
             foreach ($html->find($list) as $ul) {
-               foreach ($ul->find('li') as $li) {
-                 $tmpEntry = array();
-                       $a = $li->find('a');
-                       $tmpEntry['url'] = $a[0]->href;
-                       $tmpEntry['tags'] = $a[0]->tags;
-                       $tmpEntry['is_read'] = $read;
-                       if ($tmpEntry['url']) {
-                         $data[] = $tmpEntry;
-                       }
-               }
-               # the second <ol/ul> is for read links
-               $read = ((sizeof($data) && $read)?0:1);
+              foreach ($ul->find('li') as $li) {
+                $tmpEntry = array();
+                $a = $li->find('a');
+                $tmpEntry['url'] = $a[0]->href;
+                $tmpEntry['tags'] = $a[0]->tags;
+                $tmpEntry['is_read'] = $read;
+                if ($tmpEntry['url']) {
+                  $data[] = $tmpEntry;
+                }
+              }
+              # the second <ol/ul> is for read links
+              $read = ((sizeof($data) && $read)?0:1);
             }
           }
         }
@@ -866,16 +866,16 @@ class Poche
             $data[] = $record;
             foreach ($record as $record2) {
               if (is_array($record2)) {
-               $data[] = $record2;
+                $data[] = $record2;
               }
             }
           }
         }
 
-        $i = 0; //counter for articles inserted
+        $urlsInserted = array(); //urls of articles inserted
         foreach ($data as $record) {
           $url = trim( isset($record['article__url']) ? $record['article__url'] : (isset($record['url']) ? $record['url'] : '') );
-          if ( $url ) {
+          if ( $url and !in_array($url, $urlsInserted) ) {
             $title = (isset($record['title']) ? $record['title'] :  _('Untitled - Import - ').'</a> <a href="./?import">'._('click to finish import').'</a><a>');
             $body = (isset($record['content']) ? $record['content'] : '');
             $isRead = (isset($record['is_read']) ? intval($record['is_read']) : (isset($record['archive'])?intval($record['archive']):0));
@@ -883,16 +883,17 @@ class Poche
             //insert new record
             $id = $this->store->add($url, $title, $body, $this->user->getId(), $isFavorite, $isRead);
             if ( $id ) {
-              //increment no of records inserted
-              $i++;
+              $urlsInserted[] = $url; //add
+
               if ( isset($record['tags']) && trim($record['tags']) ) {
-               //@TODO: set tags
+                //@TODO: set tags
 
               }
             }
           }
         }
 
+        $i = sizeof($urlsInserted);
         if ( $i > 0 ) {
           $this->messages->add('s', _('Articles inserted: ').$i._('. Please note, that some may be marked as "read".'));
         }
@@ -919,17 +920,17 @@ class Poche
           $purifier = new HTMLPurifier($config);
 
           foreach ($items as $item) {
-               $url = new Url(base64_encode($item['url']));
-               $content = Tools::getPageContent($url);
+            $url = new Url(base64_encode($item['url']));
+            $content = Tools::getPageContent($url);
 
-               $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled'));
-               $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined'));
+            $title = (($content['rss']['channel']['item']['title'] != '') ? $content['rss']['channel']['item']['title'] : _('Untitled'));
+            $body = (($content['rss']['channel']['item']['description'] != '') ? $content['rss']['channel']['item']['description'] : _('Undefined'));
 
-               //clean content to prevent xss attack
-               $title = $purifier->purify($title);
-               $body = $purifier->purify($body);
+            //clean content to prevent xss attack
+            $title = $purifier->purify($title);
+            $body = $purifier->purify($body);
 
-               $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId());
+            $this->store->updateContentAndTitle($item['id'], $title, $body, $this->user->getId());
           }
 
         }
@@ -944,8 +945,8 @@ class Poche
      */
     public function export()
     {
-               $filename = "wallabag-export-".$this->user->getId()."-".date("Y-m-d").".json";
-               header('Content-Disposition: attachment; filename='.$filename);
+    $filename = "wallabag-export-".$this->user->getId()."-".date("Y-m-d").".json";
+    header('Content-Disposition: attachment; filename='.$filename);
 
         $entries = $this->store->retrieveAll($this->user->getId());
         echo $this->tpl->render('export.twig', array(
@@ -978,13 +979,13 @@ class Poche
     public function generateToken()
     {
         if (ini_get('open_basedir') === '') {
-                       if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
-                       echo 'This is a server using Windows!';
-                       // alternative to /dev/urandom for Windows
-                       $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
-                       } else {
-                       $token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15);
-                       }
+      if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
+      echo 'This is a server using Windows!';
+      // alternative to /dev/urandom for Windows
+      $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);
+      } else {
+      $token = substr(base64_encode(file_get_contents('/dev/urandom', false, null, 0, 20)), 0, 15);
+      }
         }
         else {
             $token = substr(base64_encode(uniqid(mt_rand(), true)), 0, 20);