diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e14b07828..5f591330e 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,8 +1,8 @@
 # Contributing
 Read this when you want to:
 
-* file an issue (bug or feature request)
-* help translate the News file to your language
+* [file an issue (bug or feature request)](#Issues)
+* [help translate the News file to your language](#Translation)
 * start programming and change the way the News app works
 * add cool new feeds to the feed explore section
 * want to provide additional full text feed rules
@@ -119,16 +119,8 @@ We usually hang out on **irc.freenode.net** in the **#nextcloud-news** and **#ne
 
 ### Coding Style Guidelines
 
-* Use 4 spaces for indention. Why spaces? Because it looks the same on every machine and on the web where you can't normally control the tab width.
-* Place the open curly braces on the same line as the parameter block, e.g.:
-  ```php
-  if (condition) {
-      // code
-  } else {
-      // code
-  }
-  ```
+The PHP code should all adhere to [PSR-2](https://www.php-fig.org/psr/psr-2/).
+*Note that this is a different codestyle than nextcloud itself uses.*
+To test the codestyle you can run `make phpcs`.
 
-* Place a space before and after the parameter block for if, else, for, foreach, function
-* Everything should be in camelCase except classes which should be in PascalCase
-* For linting JavaScript, a [jshint file](https://github.com/nextcloud/news/blob/master/js/.jshintrc) is used that is run before compiling the JavaScript
+For linting JavaScript, a [jshint file](https://github.com/nextcloud/news/blob/master/js/.jshintrc) is used that is run before compiling the JavaScript
diff --git a/Makefile b/Makefile
index 048848014..d716d09da 100644
--- a/Makefile
+++ b/Makefile
@@ -108,6 +108,11 @@ endif
 clean:
 	rm -rf ./build
 
+# Reports PHP codestyle violations
+.PHONY: phpcs
+phpcs:
+	./vendor/bin/phpcs --standard=PSR2 lib
+
 # Same as clean but also removes dependencies installed by composer and
 # npm
 .PHONY: distclean
@@ -183,3 +188,4 @@ test:
 	./vendor/phpunit/phpunit/phpunit -c phpunit.xml --coverage-clover build/php-unit.clover
 	# \Test\TestCase is only allowed to access the db if TRAVIS environment variable is set
 	env TRAVIS=1 ./vendor/phpunit/phpunit/phpunit -c phpunit.integration.xml --coverage-clover build/php-unit.clover
+	$(MAKE) phpcs
diff --git a/composer.json b/composer.json
index efe82796e..4a03b86a2 100644
--- a/composer.json
+++ b/composer.json
@@ -36,7 +36,8 @@
         "nicolus/picofeed": "0.1.35"
     },
     "require-dev": {
-        "phpunit/phpunit": "^6.5"
+        "phpunit/phpunit": "^6.5",
+        "squizlabs/php_codesniffer": "^3.3"
     },
     "autoload": {
         "psr-4": {
diff --git a/composer.lock b/composer.lock
index 441af16c8..2c814bcd0 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "ac4e6dcfaee8b83840050366cacebc4c",
+    "content-hash": "f4a0d96b7e83ec4d9d232412b9e61566",
     "packages": [
         {
             "name": "ezyang/htmlpurifier",
@@ -322,262 +322,6 @@
             ],
             "time": "2017-07-22T11:58:36+00:00"
         },
-        {
-            "name": "guzzlehttp/guzzle",
-            "version": "6.3.3",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/guzzle/guzzle.git",
-                "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/guzzle/zipball/407b0cb880ace85c9b63c5f9551db498cb2d50ba",
-                "reference": "407b0cb880ace85c9b63c5f9551db498cb2d50ba",
-                "shasum": ""
-            },
-            "require": {
-                "guzzlehttp/promises": "^1.0",
-                "guzzlehttp/psr7": "^1.4",
-                "php": ">=5.5"
-            },
-            "require-dev": {
-                "ext-curl": "*",
-                "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
-                "psr/log": "^1.0"
-            },
-            "suggest": {
-                "psr/log": "Required for using the Log middleware"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "6.3-dev"
-                }
-            },
-            "autoload": {
-                "files": [
-                    "src/functions_include.php"
-                ],
-                "psr-4": {
-                    "GuzzleHttp\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Michael Dowling",
-                    "email": "mtdowling@gmail.com",
-                    "homepage": "https://github.com/mtdowling"
-                }
-            ],
-            "description": "Guzzle is a PHP HTTP client library",
-            "homepage": "http://guzzlephp.org/",
-            "keywords": [
-                "client",
-                "curl",
-                "framework",
-                "http",
-                "http client",
-                "rest",
-                "web service"
-            ],
-            "time": "2018-04-22T15:46:56+00:00"
-        },
-        {
-            "name": "guzzlehttp/promises",
-            "version": "v1.3.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/guzzle/promises.git",
-                "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646",
-                "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "^4.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "GuzzleHttp\\Promise\\": "src/"
-                },
-                "files": [
-                    "src/functions_include.php"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Michael Dowling",
-                    "email": "mtdowling@gmail.com",
-                    "homepage": "https://github.com/mtdowling"
-                }
-            ],
-            "description": "Guzzle promises library",
-            "keywords": [
-                "promise"
-            ],
-            "time": "2016-12-20T10:07:11+00:00"
-        },
-        {
-            "name": "guzzlehttp/psr7",
-            "version": "1.4.2",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/guzzle/psr7.git",
-                "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
-                "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.4.0",
-                "psr/http-message": "~1.0"
-            },
-            "provide": {
-                "psr/http-message-implementation": "1.0"
-            },
-            "require-dev": {
-                "phpunit/phpunit": "~4.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.4-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "GuzzleHttp\\Psr7\\": "src/"
-                },
-                "files": [
-                    "src/functions_include.php"
-                ]
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Michael Dowling",
-                    "email": "mtdowling@gmail.com",
-                    "homepage": "https://github.com/mtdowling"
-                },
-                {
-                    "name": "Tobias Schultze",
-                    "homepage": "https://github.com/Tobion"
-                }
-            ],
-            "description": "PSR-7 message implementation that also provides common utility methods",
-            "keywords": [
-                "http",
-                "message",
-                "request",
-                "response",
-                "stream",
-                "uri",
-                "url"
-            ],
-            "time": "2017-03-20T17:10:46+00:00"
-        },
-        {
-            "name": "kevinrob/guzzle-cache-middleware",
-            "version": "v2.1.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/Kevinrob/guzzle-cache-middleware.git",
-                "reference": "6952064f7747756b0be7b4c234c0fd7535ea4c8c"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/Kevinrob/guzzle-cache-middleware/zipball/6952064f7747756b0be7b4c234c0fd7535ea4c8c",
-                "reference": "6952064f7747756b0be7b4c234c0fd7535ea4c8c",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.5.0"
-            },
-            "require-dev": {
-                "cache/array-adapter": "^0.4",
-                "doctrine/cache": "^1.0",
-                "guzzlehttp/guzzle": "^6.0",
-                "illuminate/cache": "^5.0",
-                "league/flysystem": "^1.0",
-                "phpunit/phpunit": "^4.0 || ^5.0",
-                "psr/cache": "^1.0"
-            },
-            "suggest": {
-                "doctrine/cache": "This library have a lot of ready-to-use cache storage (to be use with Kevinrob\\GuzzleCache\\Storage\\DoctrineCacheStorage)",
-                "guzzlehttp/guzzle": "For using this library. It was created for Guzzle6. (but you can use it with any PSR-7 HTTP Client)",
-                "laravel/framework": "To be use with Kevinrob\\GuzzleCache\\Storage\\LaravelCacheStorage",
-                "league/flysystem": "To be use with Kevinrob\\GuzzleCache\\Storage\\FlysystemStorage",
-                "psr/cache": "To be use with Kevinrob\\GuzzleCache\\Storage\\Psr6CacheStorage"
-            },
-            "type": "library",
-            "autoload": {
-                "psr-4": {
-                    "Kevinrob\\GuzzleCache\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "Kevin Robatel",
-                    "email": "kevinrob2@gmail.com",
-                    "homepage": "https://github.com/Kevinrob"
-                }
-            ],
-            "description": "A HTTP/1.1 Cache for Guzzle 6. It's a simple Middleware to be added in the HandlerStack. (RFC 7234)",
-            "homepage": "https://github.com/Kevinrob/guzzle-cache-middleware",
-            "keywords": [
-                "Etag",
-                "Flysystem",
-                "Guzzle",
-                "cache",
-                "cache-control",
-                "doctrine",
-                "expiration",
-                "guzzle6",
-                "handler",
-                "http",
-                "http 1.1",
-                "middleware",
-                "performance",
-                "php",
-                "promise",
-                "psr6",
-                "psr7",
-                "rfc7234",
-                "validation"
-            ],
-            "time": "2017-08-17T12:23:43+00:00"
-        },
         {
             "name": "myclabs/deep-copy",
             "version": "1.8.1",
@@ -1335,56 +1079,6 @@
             ],
             "time": "2018-08-09T05:50:03+00:00"
         },
-        {
-            "name": "psr/http-message",
-            "version": "1.0.1",
-            "source": {
-                "type": "git",
-                "url": "https://github.com/php-fig/http-message.git",
-                "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
-            },
-            "dist": {
-                "type": "zip",
-                "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
-                "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
-                "shasum": ""
-            },
-            "require": {
-                "php": ">=5.3.0"
-            },
-            "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
-            "autoload": {
-                "psr-4": {
-                    "Psr\\Http\\Message\\": "src/"
-                }
-            },
-            "notification-url": "https://packagist.org/downloads/",
-            "license": [
-                "MIT"
-            ],
-            "authors": [
-                {
-                    "name": "PHP-FIG",
-                    "homepage": "http://www.php-fig.org/"
-                }
-            ],
-            "description": "Common interface for HTTP messages",
-            "homepage": "https://github.com/php-fig/http-message",
-            "keywords": [
-                "http",
-                "http-message",
-                "psr",
-                "psr-7",
-                "request",
-                "response"
-            ],
-            "time": "2016-08-06T14:39:51+00:00"
-        },
         {
             "name": "sebastian/code-unit-reverse-lookup",
             "version": "1.0.1",
@@ -1944,6 +1638,57 @@
             "homepage": "https://github.com/sebastianbergmann/version",
             "time": "2016-10-03T07:35:21+00:00"
         },
+        {
+            "name": "squizlabs/php_codesniffer",
+            "version": "3.3.2",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+                "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/6ad28354c04b364c3c71a34e4a18b629cc3b231e",
+                "reference": "6ad28354c04b364c3c71a34e4a18b629cc3b231e",
+                "shasum": ""
+            },
+            "require": {
+                "ext-simplexml": "*",
+                "ext-tokenizer": "*",
+                "ext-xmlwriter": "*",
+                "php": ">=5.4.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+            },
+            "bin": [
+                "bin/phpcs",
+                "bin/phpcbf"
+            ],
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "3.x-dev"
+                }
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "BSD-3-Clause"
+            ],
+            "authors": [
+                {
+                    "name": "Greg Sherwood",
+                    "role": "lead"
+                }
+            ],
+            "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+            "homepage": "http://www.squizlabs.com/php-codesniffer",
+            "keywords": [
+                "phpcs",
+                "standards"
+            ],
+            "time": "2018-09-23T23:08:17+00:00"
+        },
         {
             "name": "theseer/tokenizer",
             "version": "1.1.0",
diff --git a/docs/install.md b/docs/install.md
index db6d38c05..4eaf3aa9c 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -1,8 +1,8 @@
 # Installation/Update
 
 ## Dependencies
-* PHP >= 5.6
-* Nextcloud 12
+* PHP >= 7.0
+* Nextcloud 14
 * libxml >= 2.7.8 (2.9 recommended)
 * php-curl
 * iconv
diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php
index 9394e790b..d88bbbaec 100644
--- a/lib/AppInfo/Application.php
+++ b/lib/AppInfo/Application.php
@@ -31,7 +31,6 @@ use OCP\ILogger;
 use PicoFeed\Config\Config as PicoFeedConfig;
 use PicoFeed\Reader\Reader as PicoFeedReader;
 
-
 class Application extends App
 {
 
@@ -80,7 +79,6 @@ class Application extends App
             }
         });
 
-
         $container->registerService(Config::class, function (IContainer $c): Config {
             $config = new Config(
                 $c->query('ConfigView'),
@@ -168,8 +166,5 @@ class Application extends App
 
             return $fetcher;
         });
-
-
     }
-
 }
diff --git a/lib/Command/Updater/AfterUpdate.php b/lib/Command/Updater/AfterUpdate.php
index a9becf543..c80913fab 100644
--- a/lib/Command/Updater/AfterUpdate.php
+++ b/lib/Command/Updater/AfterUpdate.php
@@ -23,13 +23,13 @@ class AfterUpdate extends Command
 {
     private $updater;
 
-    public function __construct(Updater $updater) 
+    public function __construct(Updater $updater)
     {
         parent::__construct();
         $this->updater = $updater;
     }
 
-    protected function configure() 
+    protected function configure()
     {
         $this->setName('news:updater:after-update')
             ->setDescription(
@@ -38,9 +38,8 @@ class AfterUpdate extends Command
             );
     }
 
-    protected function execute(InputInterface $input, OutputInterface $output) 
+    protected function execute(InputInterface $input, OutputInterface $output)
     {
         $this->updater->afterUpdate();
     }
-
 }
diff --git a/lib/Command/Updater/AllFeeds.php b/lib/Command/Updater/AllFeeds.php
index 8947c714e..21471379d 100644
--- a/lib/Command/Updater/AllFeeds.php
+++ b/lib/Command/Updater/AllFeeds.php
@@ -19,18 +19,17 @@ use Symfony\Component\Console\Output\OutputInterface;
 
 use OCA\News\Service\FeedService;
 
-
 class AllFeeds extends Command
 {
     private $feedService;
 
-    public function __construct(FeedService $feedService) 
+    public function __construct(FeedService $feedService)
     {
         parent::__construct();
         $this->feedService = $feedService;
     }
 
-    protected function configure() 
+    protected function configure()
     {
         $json = '{"feeds": [{"id": 39, "userId": "john"}, // etc ]}';
 
@@ -41,7 +40,7 @@ class AllFeeds extends Command
             );
     }
 
-    protected function execute(InputInterface $input, OutputInterface $output) 
+    protected function execute(InputInterface $input, OutputInterface $output)
     {
         $feeds = $this->feedService->findAllFromAllUsers();
         $result = ['feeds' => []];
@@ -55,5 +54,4 @@ class AllFeeds extends Command
 
         print(json_encode($result));
     }
-
 }
diff --git a/lib/Command/Updater/BeforeUpdate.php b/lib/Command/Updater/BeforeUpdate.php
index 9d562d010..3a0b1ca72 100644
--- a/lib/Command/Updater/BeforeUpdate.php
+++ b/lib/Command/Updater/BeforeUpdate.php
@@ -23,13 +23,13 @@ class BeforeUpdate extends Command
 {
     private $updater;
 
-    public function __construct(Updater $updater) 
+    public function __construct(Updater $updater)
     {
         parent::__construct();
         $this->updater = $updater;
     }
 
-    protected function configure() 
+    protected function configure()
     {
         $this->setName('news:updater:before-update')
             ->setDescription(
@@ -39,9 +39,8 @@ class BeforeUpdate extends Command
             );
     }
 
-    protected function execute(InputInterface $input, OutputInterface $output) 
+    protected function execute(InputInterface $input, OutputInterface $output)
     {
         $this->updater->beforeUpdate();
     }
-
 }
diff --git a/lib/Command/Updater/UpdateFeed.php b/lib/Command/Updater/UpdateFeed.php
index b07cc3e4a..f5cda22ad 100644
--- a/lib/Command/Updater/UpdateFeed.php
+++ b/lib/Command/Updater/UpdateFeed.php
@@ -20,18 +20,17 @@ use Symfony\Component\Console\Output\OutputInterface;
 
 use OCA\News\Service\FeedService;
 
-
 class UpdateFeed extends Command
 {
     private $feedService;
 
-    public function __construct(FeedService $feedService) 
+    public function __construct(FeedService $feedService)
     {
         parent::__construct();
         $this->feedService = $feedService;
     }
 
-    protected function configure() 
+    protected function configure()
     {
         $this->setName('news:updater:update-feed')
             ->addArgument(
@@ -47,7 +46,7 @@ class UpdateFeed extends Command
             ->setDescription('Console API for updating a single user\'s feed');
     }
 
-    protected function execute(InputInterface $input, OutputInterface $output) 
+    protected function execute(InputInterface $input, OutputInterface $output)
     {
         $feedId = $input->getArgument('feed-id');
         $userId = $input->getArgument('user-id');
@@ -61,5 +60,4 @@ class UpdateFeed extends Command
             );
         }
     }
-
 }
diff --git a/lib/Config/Config.php b/lib/Config/Config.php
index 511582dbb..7c5cee74a 100644
--- a/lib/Config/Config.php
+++ b/lib/Config/Config.php
@@ -16,7 +16,6 @@ namespace OCA\News\Config;
 use OCP\ILogger;
 use OCP\Files\Folder;
 
-
 class Config
 {
 
@@ -34,7 +33,8 @@ class Config
     private $maxSize;
     private $exploreUrl;
 
-    public function __construct(Folder $fileSystem,
+    public function __construct(
+        Folder $fileSystem,
         ILogger $logger,
         $LoggerParameters
     ) {
@@ -42,7 +42,7 @@ class Config
         $this->autoPurgeMinimumInterval = 60;
         $this->autoPurgeCount = 200;
         $this->maxRedirects = 10;
-        $this->maxSize = 100*1024*1024; // 100Mb
+        $this->maxSize = 100 * 1024 * 1024; // 100Mb
         $this->feedFetcherTimeout = 60;
         $this->useCronUpdates = true;
         $this->logger = $logger;
@@ -50,7 +50,7 @@ class Config
         $this->loggerParams = $LoggerParameters;
     }
 
-    public function getAutoPurgeMinimumInterval() 
+    public function getAutoPurgeMinimumInterval()
     {
         if ($this->autoPurgeMinimumInterval > 60) {
             return $this->autoPurgeMinimumInterval;
@@ -59,103 +59,100 @@ class Config
         }
     }
 
-    public function getAutoPurgeCount() 
+    public function getAutoPurgeCount()
     {
         return $this->autoPurgeCount;
     }
 
 
-    public function getMaxRedirects() 
+    public function getMaxRedirects()
     {
         return $this->maxRedirects;
     }
 
 
-    public function getFeedFetcherTimeout() 
+    public function getFeedFetcherTimeout()
     {
         return $this->feedFetcherTimeout;
     }
 
 
-    public function getUseCronUpdates() 
+    public function getUseCronUpdates()
     {
         return $this->useCronUpdates;
     }
 
 
-    public function getMaxSize() 
+    public function getMaxSize()
     {
         return $this->maxSize;
     }
 
 
-    public function getExploreUrl() 
+    public function getExploreUrl()
     {
         return $this->exploreUrl;
     }
 
 
-    public function setAutoPurgeMinimumInterval($value) 
+    public function setAutoPurgeMinimumInterval($value)
     {
         $this->autoPurgeMinimumInterval = $value;
     }
 
 
-    public function setAutoPurgeCount($value) 
+    public function setAutoPurgeCount($value)
     {
         $this->autoPurgeCount = $value;
     }
 
 
-    public function setMaxRedirects($value) 
+    public function setMaxRedirects($value)
     {
         $this->maxRedirects = $value;
     }
 
 
-    public function setFeedFetcherTimeout($value) 
+    public function setFeedFetcherTimeout($value)
     {
         $this->feedFetcherTimeout = $value;
     }
 
 
-    public function setUseCronUpdates($value) 
+    public function setUseCronUpdates($value)
     {
         $this->useCronUpdates = $value;
     }
 
-    public function setMaxSize($value) 
+    public function setMaxSize($value)
     {
         $this->maxSize = $value;
     }
 
 
-    public function setExploreUrl($value) 
+    public function setExploreUrl($value)
     {
         $this->exploreUrl = $value;
     }
 
 
-    public function read($configPath, $createIfNotExists=false) 
+    public function read($configPath, $createIfNotExists = false)
     {
-        if($createIfNotExists && !$this->fileSystem->nodeExists($configPath)) {
+        if ($createIfNotExists && !$this->fileSystem->nodeExists($configPath)) {
             $this->fileSystem->newFile($configPath);
             $this->write($configPath);
-
         } else {
-
             $content = $this->fileSystem->get($configPath)->getContent();
             $configValues = parse_ini_string($content);
 
-            if($configValues === false || count($configValues) === 0) {
+            if ($configValues === false || count($configValues) === 0) {
                 $this->logger->warning(
                     'Configuration invalid. Ignoring values.',
                     $this->loggerParams
                 );
             } else {
-
-                foreach($configValues as $key => $value) {
-                    if(property_exists($this, $key)) {
+                foreach ($configValues as $key => $value) {
+                    if (property_exists($this, $key)) {
                         $type = gettype($this->$key);
                         settype($value, $type);
                         $this->$key = $value;
@@ -167,13 +164,12 @@ class Config
                         );
                     }
                 }
-
             }
         }
     }
 
 
-    public function write($configPath) 
+    public function write($configPath)
     {
         $ini =
             'autoPurgeMinimumInterval = ' .
@@ -194,6 +190,4 @@ class Config
 
         $this->fileSystem->get($configPath)->putContent($ini);
     }
-
-
 }
diff --git a/lib/Config/DependencyException.php b/lib/Config/DependencyException.php
index 4a6a168e3..6f9d21be6 100644
--- a/lib/Config/DependencyException.php
+++ b/lib/Config/DependencyException.php
@@ -26,6 +26,4 @@ class DependencyException extends \Exception
     {
         parent::__construct($msg);
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Controller/AdminController.php b/lib/Controller/AdminController.php
index 7feff907b..3ce09a0d1 100644
--- a/lib/Controller/AdminController.php
+++ b/lib/Controller/AdminController.php
@@ -28,9 +28,9 @@ use OCA\News\Service\ItemService;
  */
 class AdminController extends Controller
 {
-    private $_config;
-    private $_configPath;
-    private $_itemService;
+    private $config;
+    private $configPath;
+    private $itemService;
 
     /**
      * AdminController constructor.
@@ -41,13 +41,17 @@ class AdminController extends Controller
      * @param ItemService $itemService Service for items
      * @param string      $configFile  Path to the config
      */
-    public function __construct($appName, IRequest $request, Config $config,
-        ItemService $itemService, $configFile
+    public function __construct(
+        $appName,
+        IRequest $request,
+        Config $config,
+        ItemService $itemService,
+        $configFile
     ) {
         parent::__construct($appName, $request);
-        $this->_config      = $config;
-        $this->_configPath  = $configFile;
-        $this->_itemService = $itemService;
+        $this->config      = $config;
+        $this->configPath  = $configFile;
+        $this->itemService = $itemService;
     }
 
     /**
@@ -62,13 +66,13 @@ class AdminController extends Controller
     {
         $data = [
             'autoPurgeMinimumInterval' =>
-                $this->_config->getAutoPurgeMinimumInterval(),
-            'autoPurgeCount' => $this->_config->getAutoPurgeCount(),
-            'maxRedirects' => $this->_config->getMaxRedirects(),
-            'feedFetcherTimeout' => $this->_config->getFeedFetcherTimeout(),
-            'useCronUpdates' => $this->_config->getUseCronUpdates(),
-            'maxSize' => $this->_config->getMaxSize(),
-            'exploreUrl' => $this->_config->getExploreUrl(),
+                $this->config->getAutoPurgeMinimumInterval(),
+            'autoPurgeCount' => $this->config->getAutoPurgeCount(),
+            'maxRedirects' => $this->config->getMaxRedirects(),
+            'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(),
+            'useCronUpdates' => $this->config->getUseCronUpdates(),
+            'maxSize' => $this->config->getMaxSize(),
+            'exploreUrl' => $this->config->getExploreUrl(),
         ];
         return new TemplateResponse($this->appName, 'admin', $data, 'blank');
     }
@@ -87,29 +91,33 @@ class AdminController extends Controller
      *
      * @return array with the updated values
      */
-    public function update($autoPurgeMinimumInterval, $autoPurgeCount,
-        $maxRedirects, $feedFetcherTimeout, $maxSize,
-        $useCronUpdates, $exploreUrl
+    public function update(
+        $autoPurgeMinimumInterval,
+        $autoPurgeCount,
+        $maxRedirects,
+        $feedFetcherTimeout,
+        $maxSize,
+        $useCronUpdates,
+        $exploreUrl
     ) {
-        $this->_config->setAutoPurgeMinimumInterval($autoPurgeMinimumInterval);
-        $this->_config->setAutoPurgeCount($autoPurgeCount);
-        $this->_config->setMaxRedirects($maxRedirects);
-        $this->_config->setMaxSize($maxSize);
-        $this->_config->setFeedFetcherTimeout($feedFetcherTimeout);
-        $this->_config->setUseCronUpdates($useCronUpdates);
-        $this->_config->setExploreUrl($exploreUrl);
-        $this->_config->write($this->_configPath);
+        $this->config->setAutoPurgeMinimumInterval($autoPurgeMinimumInterval);
+        $this->config->setAutoPurgeCount($autoPurgeCount);
+        $this->config->setMaxRedirects($maxRedirects);
+        $this->config->setMaxSize($maxSize);
+        $this->config->setFeedFetcherTimeout($feedFetcherTimeout);
+        $this->config->setUseCronUpdates($useCronUpdates);
+        $this->config->setExploreUrl($exploreUrl);
+        $this->config->write($this->configPath);
 
         return [
             'autoPurgeMinimumInterval' =>
-                $this->_config->getAutoPurgeMinimumInterval(),
-            'autoPurgeCount' => $this->_config->getAutoPurgeCount(),
-            'maxRedirects' => $this->_config->getMaxRedirects(),
-            'maxSize' => $this->_config->getMaxSize(),
-            'feedFetcherTimeout' => $this->_config->getFeedFetcherTimeout(),
-            'useCronUpdates' => $this->_config->getUseCronUpdates(),
-            'exploreUrl' => $this->_config->getExploreUrl(),
+                $this->config->getAutoPurgeMinimumInterval(),
+            'autoPurgeCount' => $this->config->getAutoPurgeCount(),
+            'maxRedirects' => $this->config->getMaxRedirects(),
+            'maxSize' => $this->config->getMaxSize(),
+            'feedFetcherTimeout' => $this->config->getFeedFetcherTimeout(),
+            'useCronUpdates' => $this->config->getUseCronUpdates(),
+            'exploreUrl' => $this->config->getExploreUrl(),
         ];
     }
-
 }
diff --git a/lib/Controller/ApiController.php b/lib/Controller/ApiController.php
index d2a787a28..68caf9236 100644
--- a/lib/Controller/ApiController.php
+++ b/lib/Controller/ApiController.php
@@ -40,7 +40,8 @@ class ApiController extends BaseApiController
      * @param IRequest      $request        The request
      * @param IUserSession  $userSession    The user session
      */
-    public function __construct($appName, IRequest $request, IUserSession $userSession) {
+    public function __construct($appName, IRequest $request, IUserSession $userSession)
+    {
         parent::__construct($appName, $request);
         $this->userSession = $userSession;
     }
@@ -48,14 +49,16 @@ class ApiController extends BaseApiController
     /**
      * @return IUser
      */
-    protected function getUser() {
+    protected function getUser()
+    {
         return $this->userSession->getUser();
     }
 
     /**
      * @return string
      */
-    protected function getUserId() {
+    protected function getUserId()
+    {
         return $this->getUser()->getUID();
     }
 
@@ -74,5 +77,4 @@ class ApiController extends BaseApiController
             'apiLevels' => ['v1-2']
         ];
     }
-
 }
diff --git a/lib/Controller/EntityApiSerializer.php b/lib/Controller/EntityApiSerializer.php
index f624eb84c..78a9b1031 100644
--- a/lib/Controller/EntityApiSerializer.php
+++ b/lib/Controller/EntityApiSerializer.php
@@ -13,13 +13,12 @@ namespace OCA\News\Controller;
 
 use \OCA\News\Db\IAPI;
 
-
 class EntityApiSerializer
 {
 
     private $level;
 
-    public function __construct($level) 
+    public function __construct($level)
     {
         $this->level = $level;
     }
@@ -35,16 +34,16 @@ class EntityApiSerializer
      *                     * Response
      * @return array|mixed
      */
-    public function serialize($data) 
+    public function serialize($data)
     {
 
-        if($data instanceof IAPI) {
+        if ($data instanceof IAPI) {
             return [$this->level => [$data->toAPI()]];
         }
 
-        if(is_array($data) && array_key_exists($this->level, $data)) {
+        if (is_array($data) && array_key_exists($this->level, $data)) {
             $data[$this->level] = $this->convert($data[$this->level]);
-        } elseif(is_array($data)) {
+        } elseif (is_array($data)) {
             $data = [$this->level => $this->convert($data)];
         }
 
@@ -52,12 +51,12 @@ class EntityApiSerializer
     }
 
 
-    private function convert($entities) 
+    private function convert($entities)
     {
         $converted = [];
 
-        foreach($entities as $entity) {
-            if($entity instanceof IAPI) {
+        foreach ($entities as $entity) {
+            if ($entity instanceof IAPI) {
                 $converted[] = $entity->toAPI();
 
                 // break if it contains anything else than entities
@@ -68,5 +67,4 @@ class EntityApiSerializer
 
         return $converted;
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/Controller/ExportController.php b/lib/Controller/ExportController.php
index 07ce06f45..16bdfbd4e 100644
--- a/lib/Controller/ExportController.php
+++ b/lib/Controller/ExportController.php
@@ -33,7 +33,8 @@ class ExportController extends Controller
     private $itemService;
     private $userId;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         FolderService $folderService,
         FeedService $feedService,
@@ -60,7 +61,7 @@ class ExportController extends Controller
         $folders = $this->folderService->findAll($this->userId);
         $opml = $this->opmlExporter->build($folders, $feeds)->saveXML();
         $date = date('Y-m-d');
-        $name = "subscriptions-".$date.".opml";
+        $name = "subscriptions-" . $date . ".opml";
         $mimeType = 'text/xml';
         return new TextDownloadResponse($opml, $name, $mimeType);
     }
@@ -77,12 +78,12 @@ class ExportController extends Controller
 
         // build assoc array for fast access
         $feedsDict = [];
-        foreach($feeds as $feed) {
+        foreach ($feeds as $feed) {
             $feedsDict['feed' . $feed->getId()] = $feed;
         }
 
         $articles = [];
-        foreach($items as $item) {
+        foreach ($items as $item) {
             $articles[] = $item->toExport($feedsDict);
         }
 
@@ -93,6 +94,4 @@ class ExportController extends Controller
         );
         return $response;
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Controller/FeedApiController.php b/lib/Controller/FeedApiController.php
index 2e4a85eef..160a8bcd6 100644
--- a/lib/Controller/FeedApiController.php
+++ b/lib/Controller/FeedApiController.php
@@ -25,10 +25,8 @@ use \OCA\News\Service\ItemService;
 use \OCA\News\Service\ServiceNotFoundException;
 use \OCA\News\Service\ServiceConflictException;
 
-
 class FeedApiController extends ApiController
 {
-
     use JSONHttpError;
 
     private $itemService;
@@ -37,7 +35,8 @@ class FeedApiController extends ApiController
     private $loggerParams;
     private $serializer;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         IUserSession $userSession,
         FeedService $feedService,
@@ -59,7 +58,7 @@ class FeedApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function index() 
+    public function index()
     {
 
         $result = [
@@ -73,7 +72,7 @@ class FeedApiController extends ApiController
                 $this->itemService->getNewestItemId($this->getUserId());
 
             // in case there are no items, ignore
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
         }
 
         return $this->serializer->serialize($result);
@@ -89,7 +88,7 @@ class FeedApiController extends ApiController
      * @param int    $folderId
      * @return array|mixed|\OCP\AppFramework\Http\JSONResponse
      */
-    public function create($url, $folderId=0) 
+    public function create($url, $folderId = 0)
     {
         try {
             $this->feedService->purgeDeleted($this->getUserId(), false);
@@ -102,14 +101,13 @@ class FeedApiController extends ApiController
                     $this->itemService->getNewestItemId($this->getUserId());
 
                 // in case there are no items, ignore
-            } catch(ServiceNotFoundException $ex) {
+            } catch (ServiceNotFoundException $ex) {
             }
 
             return $this->serializer->serialize($result);
-
-        } catch(ServiceConflictException $ex) {
+        } catch (ServiceConflictException $ex) {
             return $this->error($ex, Http::STATUS_CONFLICT);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
     }
@@ -123,11 +121,11 @@ class FeedApiController extends ApiController
      * @param int $feedId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function delete($feedId) 
+    public function delete($feedId)
     {
         try {
             $this->feedService->delete($feedId, $this->getUserId());
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -143,7 +141,7 @@ class FeedApiController extends ApiController
      * @param int $feedId
      * @param int $newestItemId
      */
-    public function read($feedId, $newestItemId) 
+    public function read($feedId, $newestItemId)
     {
         $this->itemService->readFeed($feedId, $newestItemId, $this->getUserId());
     }
@@ -158,13 +156,15 @@ class FeedApiController extends ApiController
      * @param int $folderId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function move($feedId, $folderId) 
+    public function move($feedId, $folderId)
     {
         try {
             $this->feedService->patch(
-                $feedId, $this->getUserId(), ['folderId' => $folderId]
+                $feedId,
+                $this->getUserId(),
+                ['folderId' => $folderId]
             );
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -181,13 +181,15 @@ class FeedApiController extends ApiController
      * @param string $feedTitle
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function rename($feedId, $feedTitle) 
+    public function rename($feedId, $feedTitle)
     {
         try {
             $this->feedService->patch(
-                $feedId, $this->getUserId(), ['title' => $feedTitle]
+                $feedId,
+                $this->getUserId(),
+                ['title' => $feedTitle]
             );
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -199,7 +201,7 @@ class FeedApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function fromAllUsers() 
+    public function fromAllUsers()
     {
         $feeds = $this->feedService->findAllFromAllUsers();
         $result = ['feeds' => []];
@@ -221,18 +223,16 @@ class FeedApiController extends ApiController
      * @param string $userId
      * @param int    $feedId
      */
-    public function update($userId, $feedId) 
+    public function update($userId, $feedId)
     {
         try {
             $this->feedService->update($feedId, $userId);
             // ignore update failure
-        } catch(\Exception $ex) {
+        } catch (\Exception $ex) {
             $this->logger->debug(
                 'Could not update feed ' . $ex->getMessage(),
                 $this->loggerParams
             );
         }
     }
-
-
 }
diff --git a/lib/Controller/FeedController.php b/lib/Controller/FeedController.php
index cf323b58e..dbb36bb02 100644
--- a/lib/Controller/FeedController.php
+++ b/lib/Controller/FeedController.php
@@ -25,10 +25,8 @@ use OCA\News\Service\ServiceNotFoundException;
 use OCA\News\Service\ServiceConflictException;
 use OCA\News\Db\FeedType;
 
-
 class FeedController extends Controller
 {
-
     use JSONHttpError;
 
     private $feedService;
@@ -37,7 +35,8 @@ class FeedController extends Controller
     private $userId;
     private $settings;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         FolderService $folderService,
         FeedService $feedService,
@@ -88,32 +87,32 @@ class FeedController extends Controller
     {
         $feedId = (int) $this->settings->getUserValue(
             $this->userId,
-            $this->appName, 'lastViewedFeedId'
+            $this->appName,
+            'lastViewedFeedId'
         );
         $feedType = $this->settings->getUserValue(
-            $this->userId, $this->appName,
+            $this->userId,
+            $this->appName,
             'lastViewedFeedType'
         );
 
         // cast from null to int is 0
-        if($feedType !== null) {
+        if ($feedType !== null) {
             $feedType = (int) $feedType;
         }
 
         // check if feed or folder exists
         try {
-            if($feedType === FeedType::FOLDER) {
+            if ($feedType === FeedType::FOLDER) {
                 $this->folderService->find($feedId, $this->userId);
-
             } elseif ($feedType === FeedType::FEED) {
                 $this->feedService->find($feedId, $this->userId);
 
                 // if its the first launch, those values will be null
-            } elseif($feedType === null) {
+            } elseif ($feedType === null) {
                 throw new ServiceNotFoundException('');
             }
-
-        } catch (ServiceNotFoundException $ex){
+        } catch (ServiceNotFoundException $ex) {
             $feedId = 0;
             $feedType = FeedType::SUBSCRIPTIONS;
         }
@@ -137,8 +136,12 @@ class FeedController extends Controller
      * @param string $password
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function create($url, $parentFolderId, $title=null,
-        $user=null, $password=null
+    public function create(
+        $url,
+        $parentFolderId,
+        $title = null,
+        $user = null,
+        $password = null
     ) {
         try {
             // we need to purge deleted feeds if a feed is created to
@@ -146,9 +149,12 @@ class FeedController extends Controller
             $this->feedService->purgeDeleted($this->userId, false);
 
             $feed = $this->feedService->create(
-                $url, $parentFolderId,
-                $this->userId, $title,
-                $user, $password
+                $url,
+                $parentFolderId,
+                $this->userId,
+                $title,
+                $user,
+                $password
             );
             $params = ['feeds' => [$feed]];
 
@@ -162,13 +168,11 @@ class FeedController extends Controller
             }
 
             return $params;
-
-        } catch(ServiceConflictException $ex) {
+        } catch (ServiceConflictException $ex) {
             return $this->error($ex, Http::STATUS_CONFLICT);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
         }
-
     }
 
 
@@ -182,7 +186,7 @@ class FeedController extends Controller
     {
         try {
             $this->feedService->markDeleted($feedId, $this->userId);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -211,11 +215,9 @@ class FeedController extends Controller
                     ]
                 ]
             ];
-
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
-
     }
 
 
@@ -225,7 +227,7 @@ class FeedController extends Controller
      * @param array $json
      * @return array
      */
-    public function import($json) 
+    public function import($json)
     {
         $feed = $this->feedService->importArticles($json, $this->userId);
 
@@ -233,7 +235,7 @@ class FeedController extends Controller
             'starred' => $this->itemService->starredCount($this->userId)
         ];
 
-        if($feed) {
+        if ($feed) {
             $params['feeds'] = [$feed];
         }
 
@@ -273,7 +275,7 @@ class FeedController extends Controller
     {
         try {
             $this->feedService->unmarkDeleted($feedId, $this->userId);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -291,9 +293,14 @@ class FeedController extends Controller
      * @param int    $folderId
      * @param string $title
      */
-    public function patch($feedId, $pinned=null, $fullTextEnabled=null,
-        $updateMode=null, $ordering=null, $title=null,
-        $folderId=null
+    public function patch(
+        $feedId,
+        $pinned = null,
+        $fullTextEnabled = null,
+        $updateMode = null,
+        $ordering = null,
+        $title = null,
+        $folderId = null
     ) {
         $attributes = [
             'pinned' => $pinned,
@@ -305,18 +312,18 @@ class FeedController extends Controller
         ];
 
         $diff = array_filter(
-            $attributes, function ($value) {
+            $attributes,
+            function ($value) {
                 return $value !== null;
             }
         );
 
         try {
             $this->feedService->patch($feedId, $this->userId, $diff);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
         return [];
     }
-
 }
diff --git a/lib/Controller/FolderApiController.php b/lib/Controller/FolderApiController.php
index 348fefda6..eb98b8107 100644
--- a/lib/Controller/FolderApiController.php
+++ b/lib/Controller/FolderApiController.php
@@ -25,17 +25,16 @@ use \OCA\News\Service\ServiceNotFoundException;
 use \OCA\News\Service\ServiceConflictException;
 use \OCA\News\Service\ServiceValidationException;
 
-
 class FolderApiController extends ApiController
 {
-
     use JSONHttpError;
 
     private $folderService;
     private $itemService;
     private $serializer;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         IUserSession $userSession,
         FolderService $folderService,
@@ -53,7 +52,7 @@ class FolderApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function index() 
+    public function index()
     {
         return $this->serializer->serialize(
             $this->folderService->findAll($this->getUserId())
@@ -69,16 +68,16 @@ class FolderApiController extends ApiController
      * @param string $name
      * @return array|mixed|\OCP\AppFramework\Http\JSONResponse
      */
-    public function create($name) 
+    public function create($name)
     {
         try {
             $this->folderService->purgeDeleted($this->getUserId(), false);
             return $this->serializer->serialize(
                 $this->folderService->create($name, $this->getUserId())
             );
-        } catch(ServiceValidationException $ex) {
+        } catch (ServiceValidationException $ex) {
             return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
-        } catch(ServiceConflictException $ex) {
+        } catch (ServiceConflictException $ex) {
             return $this->error($ex, Http::STATUS_CONFLICT);
         }
     }
@@ -92,11 +91,11 @@ class FolderApiController extends ApiController
      * @param int $folderId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function delete($folderId) 
+    public function delete($folderId)
     {
         try {
             $this->folderService->delete($folderId, $this->getUserId());
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -112,16 +111,15 @@ class FolderApiController extends ApiController
      * @param string $name
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function update($folderId, $name) 
+    public function update($folderId, $name)
     {
         try {
             $this->folderService->rename($folderId, $name, $this->getUserId());
-
-        } catch(ServiceValidationException $ex) {
+        } catch (ServiceValidationException $ex) {
             return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
-        } catch(ServiceConflictException $ex) {
+        } catch (ServiceConflictException $ex) {
             return $this->error($ex, Http::STATUS_CONFLICT);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -137,10 +135,8 @@ class FolderApiController extends ApiController
      * @param int $folderId
      * @param int $newestItemId
      */
-    public function read($folderId, $newestItemId) 
+    public function read($folderId, $newestItemId)
     {
         $this->itemService->readFolder($folderId, $newestItemId, $this->getUserId());
     }
-
-
 }
diff --git a/lib/Controller/FolderController.php b/lib/Controller/FolderController.php
index 8b4dadcca..d3089178d 100644
--- a/lib/Controller/FolderController.php
+++ b/lib/Controller/FolderController.php
@@ -24,10 +24,8 @@ use \OCA\News\Service\ServiceNotFoundException;
 use \OCA\News\Service\ServiceConflictException;
 use \OCA\News\Service\ServiceValidationException;
 
-
 class FolderController extends Controller
 {
-
     use JSONHttpError;
 
     private $folderService;
@@ -35,7 +33,8 @@ class FolderController extends Controller
     private $itemService;
     private $userId;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         FolderService $folderService,
         FeedService $feedService,
@@ -53,7 +52,7 @@ class FolderController extends Controller
     /**
      * @NoAdminRequired
      */
-    public function index() 
+    public function index()
     {
         $folders = $this->folderService->findAll($this->userId);
         return ['folders' => $folders];
@@ -67,11 +66,11 @@ class FolderController extends Controller
      * @param bool $open
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function open($folderId, $open) 
+    public function open($folderId, $open)
     {
         try {
             $this->folderService->open($folderId, $open, $this->userId);
-        } catch(ServiceNotFoundException $ex) {
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -85,7 +84,7 @@ class FolderController extends Controller
      * @param string $folderName
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function create($folderName) 
+    public function create($folderName)
     {
         try {
             // we need to purge deleted folders if a folder is created to
@@ -94,13 +93,11 @@ class FolderController extends Controller
             $folder = $this->folderService->create($folderName, $this->userId);
 
             return ['folders' => [$folder]];
-
-        } catch(ServiceConflictException $ex) {
+        } catch (ServiceConflictException $ex) {
             return $this->error($ex, Http::STATUS_CONFLICT);
-        } catch(ServiceValidationException $ex) {
+        } catch (ServiceValidationException $ex) {
             return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
         }
-
     }
 
 
@@ -110,11 +107,11 @@ class FolderController extends Controller
      * @param int $folderId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function delete($folderId) 
+    public function delete($folderId)
     {
         try {
             $this->folderService->markDeleted($folderId, $this->userId);
-        } catch (ServiceNotFoundException $ex){
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -129,24 +126,23 @@ class FolderController extends Controller
      * @param int    $folderId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function rename($folderName, $folderId) 
+    public function rename($folderName, $folderId)
     {
         try {
             $folder = $this->folderService->rename(
-                $folderId, $folderName,
+                $folderId,
+                $folderName,
                 $this->userId
             );
 
             return ['folders' => [$folder]];
-
-        } catch(ServiceConflictException $ex) {
+        } catch (ServiceConflictException $ex) {
             return $this->error($ex, Http::STATUS_CONFLICT);
-        } catch(ServiceValidationException $ex) {
+        } catch (ServiceValidationException $ex) {
             return $this->error($ex, Http::STATUS_UNPROCESSABLE_ENTITY);
-        } catch (ServiceNotFoundException $ex){
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
-
     }
 
     /**
@@ -156,10 +152,12 @@ class FolderController extends Controller
      * @param int $highestItemId
      * @return array
      */
-    public function read($folderId, $highestItemId) 
+    public function read($folderId, $highestItemId)
     {
         $this->itemService->readFolder(
-            $folderId, $highestItemId, $this->userId
+            $folderId,
+            $highestItemId,
+            $this->userId
         );
 
         return ['feeds' => $this->feedService->findAll($this->userId)];
@@ -172,16 +170,14 @@ class FolderController extends Controller
      * @param int $folderId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function restore($folderId) 
+    public function restore($folderId)
     {
         try {
             $this->folderService->unmarkDeleted($folderId, $this->userId);
-        } catch (ServiceNotFoundException $ex){
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
         return [];
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Controller/ItemApiController.php b/lib/Controller/ItemApiController.php
index 601a3b409..cf4c7c730 100644
--- a/lib/Controller/ItemApiController.php
+++ b/lib/Controller/ItemApiController.php
@@ -24,13 +24,13 @@ use \OCA\News\Service\ServiceNotFoundException;
 
 class ItemApiController extends ApiController
 {
-
     use JSONHttpError;
 
     private $itemService;
     private $serializer;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         IUserSession $userSession,
         ItemService $itemService
@@ -54,12 +54,22 @@ class ItemApiController extends ApiController
      * @param bool $oldestFirst
      * @return array|mixed
      */
-    public function index($type=3, $id=0, $getRead=true, $batchSize=-1,
-        $offset=0, $oldestFirst=false
+    public function index(
+        $type = 3,
+        $id = 0,
+        $getRead = true,
+        $batchSize = -1,
+        $offset = 0,
+        $oldestFirst = false
     ) {
         return $this->serializer->serialize(
             $this->itemService->findAll(
-                $id, $type, $batchSize, $offset, $getRead, $oldestFirst,
+                $id,
+                $type,
+                $batchSize,
+                $offset,
+                $getRead,
+                $oldestFirst,
                 $this->getUserId()
             )
         );
@@ -76,7 +86,7 @@ class ItemApiController extends ApiController
      * @param int $lastModified
      * @return array|mixed
      */
-    public function updated($type=3, $id=0, $lastModified=0) 
+    public function updated($type = 3, $id = 0, $lastModified = 0)
     {
         // needs to be turned into a millisecond timestamp to work properly
         if (strlen((string) $lastModified) <= 10) {
@@ -86,18 +96,21 @@ class ItemApiController extends ApiController
         }
         return $this->serializer->serialize(
             $this->itemService->findAllNew(
-                $id, $type, $paddedLastModified,
-                true, $this->getUserId()
+                $id,
+                $type,
+                $paddedLastModified,
+                true,
+                $this->getUserId()
             )
         );
     }
 
 
-    private function setRead($isRead, $itemId) 
+    private function setRead($isRead, $itemId)
     {
         try {
             $this->itemService->read($itemId, $isRead, $this->getUserId());
-        } catch(ServiceNotFoundException $ex){
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -113,7 +126,7 @@ class ItemApiController extends ApiController
      * @param int $itemId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function read($itemId) 
+    public function read($itemId)
     {
         return $this->setRead(true, $itemId);
     }
@@ -127,19 +140,22 @@ class ItemApiController extends ApiController
      * @param int $itemId
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function unread($itemId) 
+    public function unread($itemId)
     {
         return $this->setRead(false, $itemId);
     }
 
 
-    private function setStarred($isStarred, $feedId, $guidHash) 
+    private function setStarred($isStarred, $feedId, $guidHash)
     {
         try {
             $this->itemService->star(
-                $feedId, $guidHash, $isStarred, $this->getUserId()
+                $feedId,
+                $guidHash,
+                $isStarred,
+                $this->getUserId()
             );
-        } catch(ServiceNotFoundException $ex){
+        } catch (ServiceNotFoundException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -156,7 +172,7 @@ class ItemApiController extends ApiController
      * @param string $guidHash
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function star($feedId, $guidHash) 
+    public function star($feedId, $guidHash)
     {
         return $this->setStarred(true, $feedId, $guidHash);
     }
@@ -171,7 +187,7 @@ class ItemApiController extends ApiController
      * @param string $guidHash
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function unstar($feedId, $guidHash) 
+    public function unstar($feedId, $guidHash)
     {
         return $this->setStarred(false, $feedId, $guidHash);
     }
@@ -184,18 +200,18 @@ class ItemApiController extends ApiController
      *
      * @param int $newestItemId
      */
-    public function readAll($newestItemId) 
+    public function readAll($newestItemId)
     {
         $this->itemService->readAll($newestItemId, $this->getUserId());
     }
 
 
-    private function setMultipleRead($isRead, $items) 
+    private function setMultipleRead($isRead, $items)
     {
-        foreach($items as $id) {
+        foreach ($items as $id) {
             try {
                 $this->itemService->read($id, $isRead, $this->getUserId());
-            } catch(ServiceNotFoundException $ex) {
+            } catch (ServiceNotFoundException $ex) {
                 continue;
             }
         }
@@ -209,7 +225,7 @@ class ItemApiController extends ApiController
      *
      * @param int[] item ids
      */
-    public function readMultiple($items) 
+    public function readMultiple($items)
     {
         $this->setMultipleRead(true, $items);
     }
@@ -222,21 +238,23 @@ class ItemApiController extends ApiController
      *
      * @param int[] item ids
      */
-    public function unreadMultiple($items) 
+    public function unreadMultiple($items)
     {
         $this->setMultipleRead(false, $items);
     }
 
 
-    private function setMultipleStarred($isStarred, $items) 
+    private function setMultipleStarred($isStarred, $items)
     {
-        foreach($items as $item) {
+        foreach ($items as $item) {
             try {
                 $this->itemService->star(
-                    $item['feedId'], $item['guidHash'],
-                    $isStarred, $this->getUserId()
+                    $item['feedId'],
+                    $item['guidHash'],
+                    $isStarred,
+                    $this->getUserId()
                 );
-            } catch(ServiceNotFoundException $ex) {
+            } catch (ServiceNotFoundException $ex) {
                 continue;
             }
         }
@@ -250,7 +268,7 @@ class ItemApiController extends ApiController
      *
      * @param int[] item ids
      */
-    public function starMultiple($items) 
+    public function starMultiple($items)
     {
         $this->setMultipleStarred(true, $items);
     }
@@ -263,10 +281,8 @@ class ItemApiController extends ApiController
      *
      * @param int[] item ids
      */
-    public function unstarMultiple($items) 
+    public function unstarMultiple($items)
     {
         $this->setMultipleStarred(false, $items);
     }
-
-
 }
diff --git a/lib/Controller/ItemController.php b/lib/Controller/ItemController.php
index 9c0801b1d..156f4d1d4 100644
--- a/lib/Controller/ItemController.php
+++ b/lib/Controller/ItemController.php
@@ -23,10 +23,8 @@ use \OCA\News\Service\ServiceNotFoundException;
 use \OCA\News\Service\ItemService;
 use \OCA\News\Service\FeedService;
 
-
 class ItemController extends Controller
 {
-
     use JSONHttpError;
 
     private $itemService;
@@ -34,7 +32,8 @@ class ItemController extends Controller
     private $userId;
     private $settings;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         FeedService $feedService,
         ItemService $itemService,
@@ -61,31 +60,45 @@ class ItemController extends Controller
      * @param string $search
      * @return array
      */
-    public function index($type=3, $id=0, $limit=50, $offset=0, $showAll=null,
-        $oldestFirst=null, $search=''
+    public function index(
+        $type = 3,
+        $id = 0,
+        $limit = 50,
+        $offset = 0,
+        $showAll = null,
+        $oldestFirst = null,
+        $search = ''
     ) {
 
         // in case this is called directly and not from the website use the
         // internal state
         if ($showAll === null) {
             $showAll = $this->settings->getUserValue(
-                $this->userId, $this->appName, 'showAll'
+                $this->userId,
+                $this->appName,
+                'showAll'
             ) === '1';
         }
 
         if ($oldestFirst === null) {
             $oldestFirst = $this->settings->getUserValue(
-                $this->userId, $this->appName, 'oldestFirst'
+                $this->userId,
+                $this->appName,
+                'oldestFirst'
             ) === '1';
         }
 
         $this->settings->setUserValue(
-            $this->userId, $this->appName,
-            'lastViewedFeedId', $id
+            $this->userId,
+            $this->appName,
+            'lastViewedFeedId',
+            $id
         );
         $this->settings->setUserValue(
-            $this->userId, $this->appName,
-            'lastViewedFeedType', $type
+            $this->userId,
+            $this->appName,
+            'lastViewedFeedType',
+            $type
         );
 
         $params = [];
@@ -100,11 +113,10 @@ class ItemController extends Controller
         }
 
         try {
-
             // the offset is 0 if the user clicks on a new feed
             // we need to pass the newest feeds to not let the unread count get
             // out of sync
-            if($offset === 0) {
+            if ($offset === 0) {
                 $params['newestItemId'] =
                     $this->itemService->getNewestItemId($this->userId);
                 $params['feeds'] = $this->feedService->findAll($this->userId);
@@ -113,13 +125,19 @@ class ItemController extends Controller
             }
 
             $params['items'] = $this->itemService->findAll(
-                $id, $type, $limit, $offset, $showAll, $oldestFirst,
-                $this->userId, $search
+                $id,
+                $type,
+                $limit,
+                $offset,
+                $showAll,
+                $oldestFirst,
+                $this->userId,
+                $search
             );
 
             // this gets thrown if there are no items
             // in that case just return an empty array
-        } catch(ServiceException $ex) {
+        } catch (ServiceException $ex) {
         }
 
         return $params;
@@ -134,10 +152,11 @@ class ItemController extends Controller
      * @param int $lastModified
      * @return array
      */
-    public function newItems($type, $id, $lastModified=0) 
+    public function newItems($type, $id, $lastModified = 0)
     {
         $showAll = $this->settings->getUserValue(
-            $this->userId, $this->appName,
+            $this->userId,
+            $this->appName,
             'showAll'
         ) === '1';
 
@@ -150,13 +169,16 @@ class ItemController extends Controller
             $params['starred'] =
                 $this->itemService->starredCount($this->userId);
             $params['items'] = $this->itemService->findAllNew(
-                $id, $type,
-                $lastModified, $showAll, $this->userId
+                $id,
+                $type,
+                $lastModified,
+                $showAll,
+                $this->userId
             );
 
             // this gets thrown if there are no items
             // in that case just return an empty array
-        } catch(ServiceException $ex) {
+        } catch (ServiceException $ex) {
         }
 
         return $params;
@@ -175,10 +197,12 @@ class ItemController extends Controller
     {
         try {
             $this->itemService->star(
-                $feedId, $guidHash, $isStarred,
+                $feedId,
+                $guidHash,
+                $isStarred,
                 $this->userId
             );
-        } catch(ServiceException $ex) {
+        } catch (ServiceException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -193,11 +217,11 @@ class ItemController extends Controller
      * @param bool $isRead
      * @return array|\OCP\AppFramework\Http\JSONResponse
      */
-    public function read($itemId, $isRead=true)
+    public function read($itemId, $isRead = true)
     {
         try {
             $this->itemService->read($itemId, $isRead, $this->userId);
-        } catch(ServiceException $ex) {
+        } catch (ServiceException $ex) {
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
 
@@ -223,16 +247,14 @@ class ItemController extends Controller
      *
      * @param int[] item ids
      */
-    public function readMultiple($itemIds) 
+    public function readMultiple($itemIds)
     {
-        foreach($itemIds as $id) {
+        foreach ($itemIds as $id) {
             try {
                 $this->itemService->read($id, true, $this->userId);
-            } catch(ServiceNotFoundException $ex) {
+            } catch (ServiceNotFoundException $ex) {
                 continue;
             }
         }
     }
-
-
 }
diff --git a/lib/Controller/JSONHttpError.php b/lib/Controller/JSONHttpError.php
index b79b77567..16d80f857 100644
--- a/lib/Controller/JSONHttpError.php
+++ b/lib/Controller/JSONHttpError.php
@@ -13,7 +13,6 @@ namespace OCA\News\Controller;
 
 use \OCP\AppFramework\Http\JSONResponse;
 
-
 trait JSONHttpError
 {
 
@@ -24,10 +23,8 @@ trait JSONHttpError
      * @param int        $code      the http error code
      * @return \OCP\AppFramework\Http\JSONResponse
      */
-    public function error(\Exception $exception, $code) 
+    public function error(\Exception $exception, $code)
     {
         return new JSONResponse(['message' => $exception->getMessage()], $code);
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Controller/PageController.php b/lib/Controller/PageController.php
index 3d3bab76b..6ae01811d 100644
--- a/lib/Controller/PageController.php
+++ b/lib/Controller/PageController.php
@@ -31,6 +31,7 @@ use OCA\News\Db\FeedType;
 
 class PageController extends Controller
 {
+    use JSONHttpError;
 
     private $settings;
     private $l10n;
@@ -38,11 +39,11 @@ class PageController extends Controller
     private $urlGenerator;
     private $config;
     private $recommendedSites;
+
     private $statusService;
 
-    use JSONHttpError;
-
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         IConfig $settings,
         IURLGenerator $urlGenerator,
@@ -67,20 +68,22 @@ class PageController extends Controller
      * @NoAdminRequired
      * @NoCSRFRequired
      */
-    public function index() 
+    public function index()
     {
         $status = $this->statusService->getStatus();
         $response = new TemplateResponse(
-            $this->appName, 'index', [
-            'warnings' => $status['warnings'],
-            'url_generator' => $this->urlGenerator
+            $this->appName,
+            'index',
+            [
+                'warnings' => $status['warnings'],
+                'url_generator' => $this->urlGenerator
             ]
         );
 
         $csp = new ContentSecurityPolicy();
         $csp->addAllowedImageDomain('*')
             ->addAllowedMediaDomain('*')
-            ->addAllowedConnectDomain('*')  // chrome breaks on audio elements
+            ->addAllowedConnectDomain('*')// chrome breaks on audio elements
             ->addAllowedFrameDomain('https://youtube.com')
             ->addAllowedFrameDomain('https://www.youtube.com')
             ->addAllowedFrameDomain('https://player.vimeo.com')
@@ -96,7 +99,7 @@ class PageController extends Controller
     /**
      * @NoAdminRequired
      */
-    public function settings() 
+    public function settings()
     {
         $settings = [
             'showAll',
@@ -110,7 +113,8 @@ class PageController extends Controller
         if (trim($exploreUrl) === '') {
             // default url should not feature the sites.en.json
             $exploreUrl = $this->urlGenerator->linkToRoute(
-                'news.page.explore', ['lang' => 'en']
+                'news.page.explore',
+                ['lang' => 'en']
             );
             $exploreUrl = preg_replace('/feeds\.en\.json$/', '', $exploreUrl);
         }
@@ -122,7 +126,9 @@ class PageController extends Controller
 
         foreach ($settings as $setting) {
             $result[$setting] = $this->settings->getUserValue(
-                $this->userId, $this->appName, $setting
+                $this->userId,
+                $this->appName,
+                $setting
             ) === '1';
         }
         return ['settings' => $result];
@@ -137,10 +143,15 @@ class PageController extends Controller
      * @param bool $preventReadOnScroll
      * @param bool $oldestFirst
      */
-    public function updateSettings($showAll, $compact, $preventReadOnScroll,
-        $oldestFirst, $compactExpand
+    public function updateSettings(
+        $showAll,
+        $compact,
+        $preventReadOnScroll,
+        $oldestFirst,
+        $compactExpand
     ) {
-        $settings = ['showAll',
+        $settings = [
+            'showAll',
             'compact',
             'preventReadOnScroll',
             'oldestFirst',
@@ -154,8 +165,10 @@ class PageController extends Controller
                 $value = '0';
             }
             $this->settings->setUserValue(
-                $this->userId, $this->appName,
-                $setting, $value
+                $this->userId,
+                $this->appName,
+                $setting,
+                $value
             );
         }
     }
@@ -165,15 +178,19 @@ class PageController extends Controller
      *
      * @param string $lang
      */
-    public function explore($lang) 
+    public function explore($lang)
     {
         $this->settings->setUserValue(
-            $this->userId, $this->appName,
-            'lastViewedFeedId', 0
+            $this->userId,
+            $this->appName,
+            'lastViewedFeedId',
+            0
         );
         $this->settings->setUserValue(
-            $this->userId, $this->appName,
-            'lastViewedFeedType', FeedType::EXPLORE
+            $this->userId,
+            $this->appName,
+            'lastViewedFeedType',
+            FeedType::EXPLORE
         );
 
         try {
@@ -182,6 +199,4 @@ class PageController extends Controller
             return $this->error($ex, Http::STATUS_NOT_FOUND);
         }
     }
-
-
 }
diff --git a/lib/Controller/UserApiController.php b/lib/Controller/UserApiController.php
index 2e0b04b5c..1a5f34f70 100644
--- a/lib/Controller/UserApiController.php
+++ b/lib/Controller/UserApiController.php
@@ -27,7 +27,8 @@ class UserApiController extends ApiController
     private $userSession;
     private $rootFolder;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         IUserSession $userSession,
         IRootFolder $rootFolder
@@ -41,7 +42,7 @@ class UserApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function index() 
+    public function index()
     {
         $user = $this->getUser();
 
@@ -71,5 +72,4 @@ class UserApiController extends ApiController
             'avatar' => $avatar
         ];
     }
-
 }
diff --git a/lib/Controller/UtilityApiController.php b/lib/Controller/UtilityApiController.php
index f88230c3b..ee9ca0900 100644
--- a/lib/Controller/UtilityApiController.php
+++ b/lib/Controller/UtilityApiController.php
@@ -23,7 +23,6 @@ use \OCP\AppFramework\Http;
 use \OCA\News\Utility\Updater;
 use \OCA\News\Service\StatusService;
 
-
 class UtilityApiController extends ApiController
 {
 
@@ -31,7 +30,8 @@ class UtilityApiController extends ApiController
     private $settings;
     private $statusService;
 
-    public function __construct($appName,
+    public function __construct(
+        $appName,
         IRequest $request,
         IUserSession $userSession,
         Updater $updater,
@@ -50,7 +50,7 @@ class UtilityApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function version() 
+    public function version()
     {
         $version = $this->settings->getAppValue(
             $this->appName,
@@ -64,7 +64,7 @@ class UtilityApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function beforeUpdate() 
+    public function beforeUpdate()
     {
         $this->updater->beforeUpdate();
     }
@@ -74,7 +74,7 @@ class UtilityApiController extends ApiController
      * @NoCSRFRequired
      * @CORS
      */
-    public function afterUpdate() 
+    public function afterUpdate()
     {
         $this->updater->afterUpdate();
     }
@@ -85,10 +85,8 @@ class UtilityApiController extends ApiController
      * @NoCSRFRequired
      * @NoAdminRequired
      */
-    public function status() 
+    public function status()
     {
         return $this->statusService->getStatus();
     }
-
-
 }
diff --git a/lib/Cron/Updater.php b/lib/Cron/Updater.php
index 5247ea6f5..55afe0a38 100644
--- a/lib/Cron/Updater.php
+++ b/lib/Cron/Updater.php
@@ -33,7 +33,9 @@ class Updater extends Job
      */
     private $updaterService;
 
-    public function __construct(Config $config, StatusService $status,
+    public function __construct(
+        Config $config,
+        StatusService $status,
         UpdaterService $updaterService
     ) {
         $this->config = $config;
@@ -41,9 +43,9 @@ class Updater extends Job
         $this->updaterService = $updaterService;
     }
 
-    protected function run($argument) 
+    protected function run($argument)
     {
-        if ($this->config->getUseCronUpdates() 
+        if ($this->config->getUseCronUpdates()
             && $this->status->isProperlyConfigured()
         ) {
             $this->updaterService->beforeUpdate();
@@ -51,5 +53,4 @@ class Updater extends Job
             $this->updaterService->afterUpdate();
         }
     }
-
 }
diff --git a/lib/Db/EntityJSONSerializer.php b/lib/Db/EntityJSONSerializer.php
index 72fbf99ec..3afc18202 100644
--- a/lib/Db/EntityJSONSerializer.php
+++ b/lib/Db/EntityJSONSerializer.php
@@ -17,14 +17,12 @@ trait EntityJSONSerializer
 {
 
 
-    public function serializeFields($properties) 
+    public function serializeFields($properties)
     {
         $result = [];
-        foreach($properties as $property) {
+        foreach ($properties as $property) {
             $result[$property] = $this->$property;
         }
         return $result;
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Db/Feed.php b/lib/Db/Feed.php
index e6bd73481..246ae9886 100644
--- a/lib/Db/Feed.php
+++ b/lib/Db/Feed.php
@@ -17,7 +17,6 @@ use OCP\AppFramework\Db\Entity;
 
 class Feed extends Entity implements IAPI, \JsonSerializable
 {
-
     use EntityJSONSerializer;
 
     /** @var string */
diff --git a/lib/Db/FeedMapper.php b/lib/Db/FeedMapper.php
index 00f4007a9..6446e484d 100644
--- a/lib/Db/FeedMapper.php
+++ b/lib/Db/FeedMapper.php
@@ -17,12 +17,11 @@ use OCA\News\Utility\Time;
 use OCP\IDBConnection;
 use OCP\AppFramework\Db\Entity;
 
-
 class FeedMapper extends NewsMapper
 {
 
 
-    public function __construct(IDBConnection $db, Time $time) 
+    public function __construct(IDBConnection $db, Time $time)
     {
         parent::__construct($db, 'news_feeds', Feed::class, $time);
     }
@@ -52,7 +51,7 @@ class FeedMapper extends NewsMapper
     {
         $sql = 'SELECT `feeds`.*, COUNT(`items`.`id`) AS `unread_count` ' .
             'FROM `*PREFIX*news_feeds` `feeds` ' .
-            'LEFT OUTER JOIN `*PREFIX*news_folders` `folders` '.
+            'LEFT OUTER JOIN `*PREFIX*news_folders` `folders` ' .
                 'ON `feeds`.`folder_id` = `folders`.`id` ' .
             'LEFT JOIN `*PREFIX*news_items` `items` ' .
                 'ON `feeds`.`id` = `items`.`feed_id` ' .
@@ -77,7 +76,7 @@ class FeedMapper extends NewsMapper
     {
         $sql = 'SELECT `feeds`.*, COUNT(`items`.`id`) AS `unread_count` ' .
             'FROM `*PREFIX*news_feeds` `feeds` ' .
-            'LEFT OUTER JOIN `*PREFIX*news_folders` `folders` '.
+            'LEFT OUTER JOIN `*PREFIX*news_folders` `folders` ' .
                 'ON `feeds`.`folder_id` = `folders`.`id` ' .
             'LEFT JOIN `*PREFIX*news_items` `items` ' .
                 'ON `feeds`.`id` = `items`.`feed_id` ' .
@@ -134,7 +133,7 @@ class FeedMapper extends NewsMapper
      * @param string $userId          if given returns only entries from the given user
      * @return array with the database rows
      */
-    public function getToDelete($deleteOlderThan=null, $userId=null) 
+    public function getToDelete($deleteOlderThan = null, $userId = null)
     {
         $sql = 'SELECT * FROM `*PREFIX*news_feeds` ' .
             'WHERE `deleted_at` > 0 ';
@@ -147,7 +146,7 @@ class FeedMapper extends NewsMapper
         }
 
         // we need to sometimes only delete feeds of a user
-        if($userId !== null) {
+        if ($userId !== null) {
             $sql .= 'AND `user_id` = ?';
             $params[] = $userId;
         }
@@ -162,11 +161,9 @@ class FeedMapper extends NewsMapper
      *
      * @param string $userId the name of the user
      */
-    public function deleteUser($userId) 
+    public function deleteUser($userId)
     {
         $sql = 'DELETE FROM `*PREFIX*news_feeds` WHERE `user_id` = ?';
         $this->execute($sql, [$userId]);
     }
-
-
 }
diff --git a/lib/Db/FeedType.php b/lib/Db/FeedType.php
index a8ae887f6..23adbefb3 100644
--- a/lib/Db/FeedType.php
+++ b/lib/Db/FeedType.php
@@ -13,7 +13,6 @@
 
 namespace OCA\News\Db;
 
-
 class FeedType
 {
     const FEED          = 0;
@@ -22,4 +21,4 @@ class FeedType
     const SUBSCRIPTIONS = 3;
     const SHARED        = 4;
     const EXPLORE       = 5;
-}
\ No newline at end of file
+}
diff --git a/lib/Db/Folder.php b/lib/Db/Folder.php
index f588cdacc..4f54524a8 100644
--- a/lib/Db/Folder.php
+++ b/lib/Db/Folder.php
@@ -17,7 +17,6 @@ use OCP\AppFramework\Db\Entity;
 
 class Folder extends Entity implements IAPI, \JsonSerializable
 {
-
     use EntityJSONSerializer;
 
     /** @var int|null */
diff --git a/lib/Db/FolderMapper.php b/lib/Db/FolderMapper.php
index d60864586..fe73093a9 100644
--- a/lib/Db/FolderMapper.php
+++ b/lib/Db/FolderMapper.php
@@ -20,7 +20,7 @@ use OCP\AppFramework\Db\Entity;
 class FolderMapper extends NewsMapper
 {
 
-    public function __construct(IDBConnection $db, Time $time) 
+    public function __construct(IDBConnection $db, Time $time)
     {
         parent::__construct($db, 'news_folders', Folder::class, $time);
     }
@@ -68,7 +68,7 @@ class FolderMapper extends NewsMapper
         $stmt = $this->execute($sql, $params);
         $stmt->closeCursor();
 
-        $sql = 'DELETE FROM `*PREFIX*news_items` WHERE `feed_id` NOT IN '.
+        $sql = 'DELETE FROM `*PREFIX*news_items` WHERE `feed_id` NOT IN ' .
             '(SELECT `feeds`.`id` FROM `*PREFIX*news_feeds` `feeds`)';
 
         $stmt = $this->execute($sql);
@@ -82,7 +82,7 @@ class FolderMapper extends NewsMapper
      * @param string $userId          if given returns only entries from the given user
      * @return array with the database rows
      */
-    public function getToDelete($deleteOlderThan=null, $userId=null) 
+    public function getToDelete($deleteOlderThan = null, $userId = null)
     {
         $sql = 'SELECT * FROM `*PREFIX*news_folders` ' .
             'WHERE `deleted_at` > 0 ';
@@ -95,7 +95,7 @@ class FolderMapper extends NewsMapper
         }
 
         // we need to sometimes only delete feeds of a user
-        if($userId !== null) {
+        if ($userId !== null) {
             $sql .= 'AND `user_id` = ?';
             $params[] = $userId;
         }
@@ -109,11 +109,9 @@ class FolderMapper extends NewsMapper
      *
      * @param string $userId the name of the user
      */
-    public function deleteUser($userId) 
+    public function deleteUser($userId)
     {
         $sql = 'DELETE FROM `*PREFIX*news_folders` WHERE `user_id` = ?';
         $this->execute($sql, [$userId]);
     }
-
-
 }
diff --git a/lib/Db/Item.php b/lib/Db/Item.php
index cd7606f22..1a8d284a2 100644
--- a/lib/Db/Item.php
+++ b/lib/Db/Item.php
@@ -17,7 +17,6 @@ use OCP\AppFramework\Db\Entity;
 
 class Item extends Entity implements IAPI, \JsonSerializable
 {
-
     use EntityJSONSerializer;
 
     /** @var string|null */
@@ -425,8 +424,7 @@ class Item extends Entity implements IAPI, \JsonSerializable
     public function setUrl(string $url = null)
     {
         $url = trim($url);
-        if (
-            (strpos($url, 'http') === 0 || strpos($url, 'magnet') === 0)
+        if ((strpos($url, 'http') === 0 || strpos($url, 'magnet') === 0)
             && $this->url !== $url
         ) {
             $this->url = $url;
diff --git a/lib/Db/ItemMapper.php b/lib/Db/ItemMapper.php
index 57561928a..82a38d67d 100644
--- a/lib/Db/ItemMapper.php
+++ b/lib/Db/ItemMapper.php
@@ -18,16 +18,17 @@ use OCA\News\Utility\Time;
 use OCP\DB\QueryBuilder\IQueryBuilder;
 use OCP\IDBConnection;
 
-
 class ItemMapper extends NewsMapper
 {
 
-    public function __construct(IDBConnection $db, Time $time) 
+    public function __construct(IDBConnection $db, Time $time)
     {
         parent::__construct($db, 'news_items', Item::class, $time);
     }
 
-    private function makeSelectQuery($prependTo = '', $oldestFirst = false,
+    private function makeSelectQuery(
+        $prependTo = '',
+        $oldestFirst = false,
         $distinctFingerprint = false
     ) {
         if ($oldestFirst) {
@@ -56,7 +57,7 @@ class ItemMapper extends NewsMapper
      * @param  int|null $type
      * @return string
      */
-    private function buildStatusQueryPart($showAll, $type = null) 
+    private function buildStatusQueryPart($showAll, $type = null)
     {
         $sql = '';
 
@@ -71,7 +72,7 @@ class ItemMapper extends NewsMapper
         return $sql;
     }
 
-    private function buildSearchQueryPart(array $search = []) 
+    private function buildSearchQueryPart(array $search = [])
     {
         return str_repeat('AND `items`.`search_index` LIKE ? ', count($search));
     }
@@ -82,13 +83,14 @@ class ItemMapper extends NewsMapper
      * @param  string[] $search an array of strings that should be searched
      * @return array with like parameters
      */
-    private function buildLikeParameters($search = []) 
+    private function buildLikeParameters($search = [])
     {
         return array_map(
             function ($param) {
                 $param = addcslashes($param, '\\_%');
                 return '%' . mb_strtolower($param, 'UTF-8') . '%';
-            }, $search
+            },
+            $search
         );
     }
 
@@ -97,13 +99,13 @@ class ItemMapper extends NewsMapper
      * @param string $userId
      * @return \OCA\News\Db\Item
      */
-    public function find($id, $userId) 
+    public function find($id, $userId)
     {
         $sql = $this->makeSelectQuery('AND `items`.`id` = ? ');
         return $this->findEntity($sql, [$userId, $id]);
     }
 
-    public function starredCount($userId) 
+    public function starredCount($userId)
     {
         $sql = 'SELECT COUNT(*) AS size FROM `*PREFIX*news_items` `items` ' .
             'JOIN `*PREFIX*news_feeds` `feeds` ' .
@@ -124,7 +126,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function readAll($highestItemId, $time, $userId) 
+    public function readAll($highestItemId, $time, $userId)
     {
         $sql = 'UPDATE `*PREFIX*news_items` ' .
             'SET unread = ? ' .
@@ -139,7 +141,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function readFolder($folderId, $highestItemId, $time, $userId) 
+    public function readFolder($folderId, $highestItemId, $time, $userId)
     {
         $sql = 'UPDATE `*PREFIX*news_items` ' .
             'SET unread = ? ' .
@@ -156,7 +158,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function readFeed($feedId, $highestItemId, $time, $userId) 
+    public function readFeed($feedId, $highestItemId, $time, $userId)
     {
         $sql = 'UPDATE `*PREFIX*news_items` ' .
             'SET unread = ? ' .
@@ -174,7 +176,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    private function getOperator($oldestFirst) 
+    private function getOperator($oldestFirst)
     {
         if ($oldestFirst) {
             return '>';
@@ -184,7 +186,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAllNew($updatedSince, $type, $showAll, $userId) 
+    public function findAllNew($updatedSince, $type, $showAll, $userId)
     {
         $sql = $this->buildStatusQueryPart($showAll, $type);
 
@@ -195,7 +197,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAllNewFolder($id, $updatedSince, $showAll, $userId) 
+    public function findAllNewFolder($id, $updatedSince, $showAll, $userId)
     {
         $sql = $this->buildStatusQueryPart($showAll);
 
@@ -207,7 +209,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAllNewFeed($id, $updatedSince, $showAll, $userId) 
+    public function findAllNewFeed($id, $updatedSince, $showAll, $userId)
     {
         $sql = $this->buildStatusQueryPart($showAll);
 
@@ -219,7 +221,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    private function findEntitiesIgnoringNegativeLimit($sql, $params, $limit) 
+    private function findEntitiesIgnoringNegativeLimit($sql, $params, $limit)
     {
         // ignore limit if negative to offer a way to return all feeds
         if ($limit >= 0) {
@@ -230,8 +232,14 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAllFeed($id, $limit, $offset, $showAll, $oldestFirst,
-        $userId, $search = []
+    public function findAllFeed(
+        $id,
+        $limit,
+        $offset,
+        $showAll,
+        $oldestFirst,
+        $userId,
+        $search = []
     ) {
         $params = [$userId];
         $params = array_merge($params, $this->buildLikeParameters($search));
@@ -251,8 +259,14 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAllFolder($id, $limit, $offset, $showAll, $oldestFirst,
-        $userId, $search = []
+    public function findAllFolder(
+        $id,
+        $limit,
+        $offset,
+        $showAll,
+        $oldestFirst,
+        $userId,
+        $search = []
     ) {
         $params = [$userId];
         $params = array_merge($params, $this->buildLikeParameters($search));
@@ -272,7 +286,13 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAll($limit, $offset, $type, $showAll, $oldestFirst, $userId,
+    public function findAll(
+        $limit,
+        $offset,
+        $type,
+        $showAll,
+        $oldestFirst,
+        $userId,
         $search = []
     ) {
         $params = [$userId];
@@ -292,7 +312,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findAllUnreadOrStarred($userId) 
+    public function findAllUnreadOrStarred($userId)
     {
         $params = [$userId, true, true];
         $sql = 'AND (`items`.`unread` = ? OR `items`.`starred` = ?) ';
@@ -301,7 +321,7 @@ class ItemMapper extends NewsMapper
     }
 
 
-    public function findByGuidHash($guidHash, $feedId, $userId) 
+    public function findByGuidHash($guidHash, $feedId, $userId)
     {
         $sql = $this->makeSelectQuery(
             'AND `items`.`guid_hash` = ? ' .
@@ -318,7 +338,7 @@ class ItemMapper extends NewsMapper
      *
      * @param int $threshold the number of items that should be deleted
      */
-    public function deleteReadOlderThanThreshold($threshold) 
+    public function deleteReadOlderThanThreshold($threshold)
     {
         $params = [false, false, $threshold];
 
@@ -335,7 +355,6 @@ class ItemMapper extends NewsMapper
         $result = $this->execute($sql, $params);
 
         while ($row = $result->fetch()) {
-
             $size = (int)$row['size'];
             $limit = $size - $threshold;
 
@@ -355,11 +374,10 @@ class ItemMapper extends NewsMapper
                 $this->execute($sql, $params);
             }
         }
-
     }
 
 
-    public function getNewestItemId($userId) 
+    public function getNewestItemId($userId)
     {
         $sql = 'SELECT MAX(`items`.`id`) AS `max_id` ' .
             'FROM `*PREFIX*news_items` `items` ' .
@@ -379,7 +397,7 @@ class ItemMapper extends NewsMapper
      *
      * @param string $userId the name of the user
      */
-    public function deleteUser($userId) 
+    public function deleteUser($userId)
     {
         $sql = 'DELETE FROM `*PREFIX*news_items` ' .
             'WHERE `feed_id` IN (' .
@@ -394,7 +412,7 @@ class ItemMapper extends NewsMapper
     /**
      * Returns a list of ids and userid of all items
      */
-    public function findAllIds($limit = null, $offset = null) 
+    public function findAllIds($limit = null, $offset = null)
     {
         $sql = 'SELECT `id` FROM `*PREFIX*news_items`';
         return $this->execute($sql, [], $limit, $offset)->fetchAll();
@@ -403,7 +421,7 @@ class ItemMapper extends NewsMapper
     /**
      * Update search indices of all items
      */
-    public function updateSearchIndices() 
+    public function updateSearchIndices()
     {
         // update indices in steps to prevent memory issues on larger systems
         $step = 1000;  // update 1000 items at a time
@@ -419,7 +437,7 @@ class ItemMapper extends NewsMapper
         }
     }
 
-    private function updateSearchIndex(array $items = []) 
+    private function updateSearchIndex(array $items = [])
     {
         foreach ($items as $row) {
             $sql = 'SELECT * FROM `*PREFIX*news_items` WHERE `id` = ?';
@@ -430,7 +448,7 @@ class ItemMapper extends NewsMapper
         }
     }
 
-    public function readItem($itemId, $isRead, $lastModified, $userId) 
+    public function readItem($itemId, $isRead, $lastModified, $userId)
     {
         $item = $this->find($itemId, $userId);
 
@@ -454,5 +472,4 @@ class ItemMapper extends NewsMapper
             $this->update($item);
         }
     }
-
 }
diff --git a/lib/Db/MapperFactory.php b/lib/Db/MapperFactory.php
index 679d2a934..635003c64 100644
--- a/lib/Db/MapperFactory.php
+++ b/lib/Db/MapperFactory.php
@@ -19,7 +19,6 @@ use OCP\IDBConnection;
 use OCA\News\Db\Mysql\ItemMapper as MysqlItemMapper;
 use OCA\News\DependencyInjection\IFactory;
 
-
 class MapperFactory implements IFactory
 {
 
@@ -30,21 +29,20 @@ class MapperFactory implements IFactory
      */
     private $time;
 
-    public function __construct(IDBConnection $db, $databaseType, Time $time) 
+    public function __construct(IDBConnection $db, $databaseType, Time $time)
     {
         $this->dbType = $databaseType;
         $this->db = $db;
         $this->time = $time;
     }
 
-    public function build() 
+    public function build()
     {
-        switch($this->dbType) {
-        case 'mysql':
-            return new MysqlItemMapper($this->db, $this->time);
-        default:
-            return new ItemMapper($this->db, $this->time);
+        switch ($this->dbType) {
+            case 'mysql':
+                return new MysqlItemMapper($this->db, $this->time);
+            default:
+                return new ItemMapper($this->db, $this->time);
         }
     }
-
 }
diff --git a/lib/Db/Mysql/ItemMapper.php b/lib/Db/Mysql/ItemMapper.php
index 4244faedb..42c3b44e1 100644
--- a/lib/Db/Mysql/ItemMapper.php
+++ b/lib/Db/Mysql/ItemMapper.php
@@ -45,12 +45,11 @@ class ItemMapper extends \OCA\News\Db\ItemMapper
         $params = [false, false, $threshold];
         $result = $this->execute($sql, $params);
 
-        while($row = $result->fetch()) {
-
+        while ($row = $result->fetch()) {
             $size = (int) $row['size'];
             $limit = $size - $threshold;
 
-            if($limit > 0) {
+            if ($limit > 0) {
                 $params = [false, false, $row['feed_id'], $limit];
 
                 $sql = 'DELETE FROM `*PREFIX*news_items` ' .
@@ -63,10 +62,9 @@ class ItemMapper extends \OCA\News\Db\ItemMapper
                 $this->execute($sql, $params);
             }
         }
-
     }
 
-    public function readItem($itemId, $isRead, $lastModified, $userId) 
+    public function readItem($itemId, $isRead, $lastModified, $userId)
     {
         $item = $this->find($itemId, $userId);
 
@@ -86,5 +84,4 @@ class ItemMapper extends \OCA\News\Db\ItemMapper
             $this->update($item);
         }
     }
-
 }
diff --git a/lib/Db/NewsMapper.php b/lib/Db/NewsMapper.php
index a913147b1..4fa001f31 100644
--- a/lib/Db/NewsMapper.php
+++ b/lib/Db/NewsMapper.php
@@ -26,20 +26,23 @@ abstract class NewsMapper extends Mapper
      */
     private $time;
 
-    public function __construct(IDBConnection $db, $table, $entity,
+    public function __construct(
+        IDBConnection $db,
+        $table,
+        $entity,
         Time $time
     ) {
         parent::__construct($db, $table, $entity);
         $this->time = $time;
     }
 
-    public function update(Entity $entity) 
+    public function update(Entity $entity)
     {
         $entity->setLastModified($this->time->getMicroTime());
         return parent::update($entity);
     }
 
-    public function insert(Entity $entity) 
+    public function insert(Entity $entity)
     {
         $entity->setLastModified($this->time->getMicroTime());
         return parent::insert($entity);
@@ -66,9 +69,9 @@ abstract class NewsMapper extends Mapper
      * @paran  int $offset
      * @return array
      */
-    public function where(array $search = [], $limit = null, $offset = null) 
+    public function where(array $search = [], $limit = null, $offset = null)
     {
-        $entity = new $this->entityClass;
+        $entity = new $this->entityClass();
 
         // turn keys into sql query filter, e.g. feedId -> feed_id = :feedId
         $filter = array_map(
@@ -83,7 +86,8 @@ abstract class NewsMapper extends Mapper
 
                 $column = $entity->propertyToColumn($property);
                 return $column . ' = :' . $property;
-            }, array_keys($search)
+            },
+            array_keys($search)
         );
 
         $andStatement = implode(' AND ', $filter);
@@ -96,5 +100,4 @@ abstract class NewsMapper extends Mapper
 
         return $this->findEntities($sql, $search, $limit, $offset);
     }
-
 }
diff --git a/lib/DependencyInjection/IFactory.php b/lib/DependencyInjection/IFactory.php
index b2099c225..73c283380 100644
--- a/lib/DependencyInjection/IFactory.php
+++ b/lib/DependencyInjection/IFactory.php
@@ -22,5 +22,4 @@ interface IFactory
      * @return mixed the constructed object
      */
     public function build();
-    
 }
diff --git a/lib/Explore/RecommendedSites.php b/lib/Explore/RecommendedSites.php
index b22c07e1d..504d63497 100644
--- a/lib/Explore/RecommendedSites.php
+++ b/lib/Explore/RecommendedSites.php
@@ -22,13 +22,13 @@ class RecommendedSites
      * @param string $exploreDir the absolute path to where the recommendation
      *                           config files lie without a trailing slash
      */
-    public function __construct($exploreDir) 
+    public function __construct($exploreDir)
     {
         $this->directory = $exploreDir;
     }
 
 
-    public function forLanguage($languageCode) 
+    public function forLanguage($languageCode)
     {
         $file = $this->directory . '/feeds.' . $languageCode . '.json';
 
@@ -40,6 +40,4 @@ class RecommendedSites
             throw new RecommendedSiteNotFoundException($msg);
         }
     }
-
-
 }
diff --git a/lib/Fetcher/FeedFetcher.php b/lib/Fetcher/FeedFetcher.php
index 9a2e67445..65a4b5526 100644
--- a/lib/Fetcher/FeedFetcher.php
+++ b/lib/Fetcher/FeedFetcher.php
@@ -47,7 +47,8 @@ class FeedFetcher implements IFeedFetcher
     private $time;
     private $clientService;
 
-    public function __construct(Reader $reader,
+    public function __construct(
+        Reader $reader,
         PicoFeedFaviconFactory $faviconFactory,
         IL10N $l10n,
         Time $time,
@@ -64,7 +65,7 @@ class FeedFetcher implements IFeedFetcher
     /**
      * This fetcher handles all the remaining urls therefore always returns true
      */
-    public function canHandle($url) 
+    public function canHandle($url)
     {
         return true;
     }
@@ -73,35 +74,35 @@ class FeedFetcher implements IFeedFetcher
     /**
      * Fetch a feed from remote
      *
-     * @param  string                                                        $url               remote url of the feed
-     * @param  boolean                                                       $getFavicon        if the favicon should also be fetched,
-     *                                                                                          defaults to true
-     * @param  string                                                        $lastModified      a last modified value from an http header
-     *                                                                                          defaults to false. If lastModified
-     *                                                                                          matches the http header from the feed no
-     *                                                                                          results are fetched
-     * @param  string                                                        $etag              an etag from an http header.
-     *                                                                                          If lastModified matches the
-     *                                                                                          http header from the feed no
-     *                                                                                          results are fetched
-     * @param  bool fullTextEnabled if true tells the fetcher to enhance the
-     * articles by fetching custom enhanced content
-     * @param  string                                                        $basicAuthUser     if given, basic auth is set for this feed
-     * @param  string                                                        $basicAuthPassword if given, basic auth is set for this
-     *                                                                                          feed. Ignored if user is null or an
-     *                                                                                          empty string
+     * @param  string  $url               remote url of the feed
+     * @param  boolean $getFavicon        if the favicon should also be fetched, defaults to true
+     * @param  string  $lastModified      a last modified value from an http header defaults to false.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  string  $etag              an etag from an http header.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  bool    $fullTextEnabled   if true tells the fetcher to enhance the articles by fetching more content
+     * @param  string  $basicAuthUser     if given, basic auth is set for this feed
+     * @param  string  $basicAuthPassword if given, basic auth is set for this feed. Ignored if user is empty
+     *
      * @throws FetcherException if it fails
      * @return array an array containing the new feed and its items, first
      * element being the Feed and second element being an array of Items
      */
-    public function fetch($url, $getFavicon = true, $lastModified = null,
-        $etag = null, $fullTextEnabled = false,
-        $basicAuthUser = null, $basicAuthPassword = null
+    public function fetch(
+        $url,
+        $getFavicon = true,
+        $lastModified = null,
+        $etag = null,
+        $fullTextEnabled = false,
+        $basicAuthUser = null,
+        $basicAuthPassword = null
     ) {
         try {
             if ($basicAuthUser !== null && trim($basicAuthUser) !== '') {
                 $resource = $this->reader->discover(
-                    $url, $lastModified, $etag,
+                    $url,
+                    $lastModified,
+                    $etag,
                     $basicAuthUser,
                     $basicAuthPassword
                 );
@@ -123,13 +124,24 @@ class FeedFetcher implements IFeedFetcher
 
             if ($fullTextEnabled) {
                 $parser->enableContentGrabber();
-                $parser->getItemPostProcessor()->register(new LWNProcessor($basicAuthUser, $basicAuthPassword, $this->clientService));
+                $parser->getItemPostProcessor()->register(
+                    new LWNProcessor(
+                        $basicAuthUser,
+                        $basicAuthPassword,
+                        $this->clientService
+                    )
+                );
             }
 
             $parsedFeed = $parser->execute();
 
             $feed = $this->buildFeed(
-                $parsedFeed, $url, $getFavicon, $lastModified, $etag, $location
+                $parsedFeed,
+                $url,
+                $getFavicon,
+                $lastModified,
+                $etag,
+                $location
             );
 
             $items = [];
@@ -138,114 +150,115 @@ class FeedFetcher implements IFeedFetcher
             }
 
             return [$feed, $items];
-
         } catch (Exception $ex) {
             $this->handleError($ex, $url);
         }
-
     }
 
 
-    private function handleError(Exception $ex, $url) 
+    private function handleError(Exception $ex, $url)
     {
         $msg = $ex->getMessage();
 
         if ($ex instanceof MalFormedXmlException) {
             $msg = $this->l10n->t('Feed contains invalid XML');
-        } else if ($ex instanceof SubscriptionNotFoundException) {
+        } elseif ($ex instanceof SubscriptionNotFoundException) {
             $msg = $this->l10n->t(
                 'Feed not found: Either the website ' .
                 'does not provide a feed or blocks access. To rule out ' .
                 'blocking, try to download the feed on your server\'s ' .
                 'command line using curl: curl ' . $url
             );
-        } else if ($ex instanceof UnsupportedFeedFormatException) {
+        } elseif ($ex instanceof UnsupportedFeedFormatException) {
             $msg = $this->l10n->t('Detected feed format is not supported');
-        } else if ($ex instanceof InvalidCertificateException) {
+        } elseif ($ex instanceof InvalidCertificateException) {
             $msg = $this->buildCurlSslErrorMessage($ex->getCode());
-        } else if ($ex instanceof InvalidUrlException) {
+        } elseif ($ex instanceof InvalidUrlException) {
             $msg = $this->l10n->t('Website not found');
-        } else if ($ex instanceof MaxRedirectException) {
+        } elseif ($ex instanceof MaxRedirectException) {
             $msg = $this->l10n->t('More redirects than allowed, aborting');
-        } else if ($ex instanceof MaxSizeException) {
+        } elseif ($ex instanceof MaxSizeException) {
             $msg = $this->l10n->t('Bigger than maximum allowed size');
-        } else if ($ex instanceof TimeoutException) {
+        } elseif ($ex instanceof TimeoutException) {
             $msg = $this->l10n->t('Request timed out');
-        } else if ($ex instanceof UnauthorizedException) {
+        } elseif ($ex instanceof UnauthorizedException) {
             $msg = $this->l10n->t(
                 'Required credentials for feed were ' .
                 'either missing or incorrect'
             );
-        } else if ($ex instanceof ForbiddenException) {
+        } elseif ($ex instanceof ForbiddenException) {
             $msg = $this->l10n->t('Forbidden to access feed');
         }
 
         throw new FetcherException($msg);
     }
 
-    private function buildCurlSslErrorMessage($errorCode) 
+    private function buildCurlSslErrorMessage($errorCode)
     {
         switch ($errorCode) {
-        case 35: // CURLE_SSL_CONNECT_ERROR
-            return $this->l10n->t(
-                'Certificate error: A problem occurred ' .
+            case 35: // CURLE_SSL_CONNECT_ERROR
+                return $this->l10n->t(
+                    'Certificate error: A problem occurred ' .
                     'somewhere in the SSL/TLS handshake. Could be ' .
                     'certificates (file formats, paths, permissions), ' .
                     'passwords, and others.'
-            );
-        case 51: // CURLE_PEER_FAILED_VERIFICATION
-            return $this->l10n->t(
-                'Certificate error: The remote server\'s SSL ' .
+                );
+            case 51: // CURLE_PEER_FAILED_VERIFICATION
+                return $this->l10n->t(
+                    'Certificate error: The remote server\'s SSL ' .
                     'certificate or SSH md5 fingerprint was deemed not OK.'
-            );
-        case 58: // CURLE_SSL_CERTPROBLEM
-            return $this->l10n->t(
-                'Certificate error: Problem with the local client ' .
+                );
+            case 58: // CURLE_SSL_CERTPROBLEM
+                return $this->l10n->t(
+                    'Certificate error: Problem with the local client ' .
                     'certificate.'
-            );
-        case 59: // CURLE_SSL_CIPHER
-            return $this->l10n->t(
-                'Certificate error: Couldn\'t use specified cipher.'
-            );
-        case 60: // CURLE_SSL_CACERT
-            return $this->l10n->t(
-                'Certificate error: Peer certificate cannot be ' .
+                );
+            case 59: // CURLE_SSL_CIPHER
+                return $this->l10n->t(
+                    'Certificate error: Couldn\'t use specified cipher.'
+                );
+            case 60: // CURLE_SSL_CACERT
+                return $this->l10n->t(
+                    'Certificate error: Peer certificate cannot be ' .
                     'authenticated with known CA certificates.'
-            );
-        case 64: // CURLE_USE_SSL_FAILED
-            return $this->l10n->t(
-                'Certificate error: Requested FTP SSL level failed.'
-            );
-        case 66: // CURLE_SSL_ENGINE_INITFAILED
-            return $this->l10n->t(
-                'Certificate error: Initiating the SSL engine failed.'
-            );
-        case 77: // CURLE_SSL_CACERT_BADFILE
-            return $this->l10n->t(
-                'Certificate error: Problem with reading the SSL CA ' .
+                );
+            case 64: // CURLE_USE_SSL_FAILED
+                return $this->l10n->t(
+                    'Certificate error: Requested FTP SSL level failed.'
+                );
+            case 66: // CURLE_SSL_ENGINE_INITFAILED
+                return $this->l10n->t(
+                    'Certificate error: Initiating the SSL engine failed.'
+                );
+            case 77: // CURLE_SSL_CACERT_BADFILE
+                return $this->l10n->t(
+                    'Certificate error: Problem with reading the SSL CA ' .
                     'cert (path? access rights?)'
-            );
-        case 83: // CURLE_SSL_ISSUER_ERROR
-            return $this->l10n->t(
-                'Certificate error: Issuer check failed'
-            );
-        default:
-            return $this->l10n->t('Unknown SSL certificate error!');
+                );
+            case 83: // CURLE_SSL_ISSUER_ERROR
+                return $this->l10n->t(
+                    'Certificate error: Issuer check failed'
+                );
+            default:
+                return $this->l10n->t('Unknown SSL certificate error!');
         }
     }
 
-    private function decodeTwice($string) 
+    private function decodeTwice($string)
     {
         return html_entity_decode(
             html_entity_decode(
-                $string, ENT_QUOTES | ENT_HTML5, 'UTF-8'
+                $string,
+                ENT_QUOTES | ENT_HTML5,
+                'UTF-8'
             ),
-            ENT_QUOTES | ENT_HTML5, 'UTF-8'
+            ENT_QUOTES | ENT_HTML5,
+            'UTF-8'
         );
     }
 
 
-    protected function determineRtl($parsedItem, $parsedFeed) 
+    protected function determineRtl($parsedItem, $parsedFeed)
     {
         $itemLang = $parsedItem->getLanguage();
         $feedLang = $parsedFeed->getLanguage();
@@ -258,7 +271,7 @@ class FeedFetcher implements IFeedFetcher
     }
 
 
-    protected function buildItem($parsedItem, $parsedFeed) 
+    protected function buildItem($parsedItem, $parsedFeed)
     {
         $item = new Item();
         $item->setUnread(true);
@@ -276,7 +289,8 @@ class FeedFetcher implements IFeedFetcher
         // purification is done in the service layer
         $body = $parsedItem->getContent();
         $body = mb_convert_encoding(
-            $body, 'HTML-ENTITIES',
+            $body,
+            'HTML-ENTITIES',
             mb_detect_encoding($body)
         );
         $item->setBody($body);
@@ -284,7 +298,7 @@ class FeedFetcher implements IFeedFetcher
         $enclosureUrl = $parsedItem->getEnclosureUrl();
         if ($enclosureUrl) {
             $enclosureType = $parsedItem->getEnclosureType();
-            if (stripos($enclosureType, 'audio/') !== false 
+            if (stripos($enclosureType, 'audio/') !== false
                 || stripos($enclosureType, 'video/') !== false
             ) {
                 $item->setEnclosureMime($enclosureType);
@@ -298,8 +312,13 @@ class FeedFetcher implements IFeedFetcher
     }
 
 
-    protected function buildFeed($parsedFeed, $url, $getFavicon, $modified,
-        $etag, $location
+    protected function buildFeed(
+        $parsedFeed,
+        $url,
+        $getFavicon,
+        $modified,
+        $etag,
+        $location
     ) {
         $feed = new Feed();
 
@@ -327,5 +346,4 @@ class FeedFetcher implements IFeedFetcher
 
         return $feed;
     }
-
 }
diff --git a/lib/Fetcher/Fetcher.php b/lib/Fetcher/Fetcher.php
index 81712ad2b..e78da0265 100644
--- a/lib/Fetcher/Fetcher.php
+++ b/lib/Fetcher/Fetcher.php
@@ -13,7 +13,6 @@
 
 namespace OCA\News\Fetcher;
 
-
 class Fetcher
 {
 
@@ -38,36 +37,38 @@ class Fetcher
     /**
      * Fetch a feed from remote
      *
-     * @param  string                                                        $url               remote url of the feed
-     * @param  boolean                                                       $getFavicon        if the favicon should also be fetched,
-     *                                                                                          defaults to true
-     * @param  string                                                        $lastModified      a last modified value from an http header
-     *                                                                                          defaults to false. If lastModified
-     *                                                                                          matches the http header from the feed no
-     *                                                                                          results are fetched
-     * @param  string                                                        $etag              an etag from an http header.
-     *                                                                                          If lastModified matches the
-     *                                                                                          http header from the feed no
-     *                                                                                          results are fetched
-     * @param  bool fullTextEnabled if true tells the fetcher to enhance the
-     * articles by fetching custom enhanced content
-     * @param  string                                                        $basicAuthUser     if given, basic auth is set for this feed
-     * @param  string                                                        $basicAuthPassword if given, basic auth is set for this
-     *                                                                                          feed. Ignored if user is null or an
-     *                                                                                          empty string
+     * @param  string  $url               remote url of the feed
+     * @param  boolean $getFavicon        if the favicon should also be fetched, defaults to true
+     * @param  string  $lastModified      a last modified value from an http header defaults to false.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  string  $etag              an etag from an http header.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  bool    $fullTextEnabled   if true tells the fetcher to enhance the articles by fetching more content
+     * @param  string  $basicAuthUser     if given, basic auth is set for this feed
+     * @param  string  $basicAuthPassword if given, basic auth is set for this feed. Ignored if user is empty
+     *
      * @throws FetcherException if simple pie fails
      * @return array an array containing the new feed and its items, first
      * element being the Feed and second element being an array of Items
      */
-    public function fetch($url, $getFavicon=true, $lastModified=null,
-        $etag=null, $fullTextEnabled=false,
-        $basicAuthUser=null, $basicAuthPassword=null
+    public function fetch(
+        $url,
+        $getFavicon = true,
+        $lastModified = null,
+        $etag = null,
+        $fullTextEnabled = false,
+        $basicAuthUser = null,
+        $basicAuthPassword = null
     ) {
-        foreach($this->fetchers as $fetcher){
-            if($fetcher->canHandle($url)) {
+        foreach ($this->fetchers as $fetcher) {
+            if ($fetcher->canHandle($url)) {
                 return $fetcher->fetch(
-                    $url, $getFavicon, $lastModified, $etag,
-                    $fullTextEnabled, $basicAuthUser,
+                    $url,
+                    $getFavicon,
+                    $lastModified,
+                    $etag,
+                    $fullTextEnabled,
+                    $basicAuthUser,
                     $basicAuthPassword
                 );
             }
@@ -75,6 +76,4 @@ class Fetcher
 
         return [null, []];
     }
-
-
 }
diff --git a/lib/Fetcher/FetcherException.php b/lib/Fetcher/FetcherException.php
index 4ef1df4f2..82772eaf5 100644
--- a/lib/Fetcher/FetcherException.php
+++ b/lib/Fetcher/FetcherException.php
@@ -25,5 +25,4 @@ class FetcherException extends \Exception
     {
         parent::__construct($msg);
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/Fetcher/IFeedFetcher.php b/lib/Fetcher/IFeedFetcher.php
index 14a392698..c96bd315b 100644
--- a/lib/Fetcher/IFeedFetcher.php
+++ b/lib/Fetcher/IFeedFetcher.php
@@ -17,37 +17,39 @@ interface IFeedFetcher
 {
 
     /**
-     * @param string                                                        $url               remote url of the feed
-     * @param boolean                                                       $getFavicon        if the favicon should also be fetched,
-     *                                                                                         defaults to true
-     * @param string                                                        $lastModified      a last modified value from an http header
-     *                                                                                         defaults to false. If lastModified
-     *                                                                                         matches the http header from the feed no
-     *                                                                                         results are fetched
-     * @param string                                                        $etag              an etag from an http header.
-     *                                                                                         If lastModified matches the
-     *                                                                                         http header from the feed no
-     *                                                                                         results are fetched
-     * @param bool fullTextEnabled if true tells the fetcher to enhance the
-     * articles by fetching custom enhanced content
-     * @param string                                                        $basicAuthUser     if given, basic auth is set for this feed
-     * @param string                                                        $basicAuthPassword if given, basic auth is set for this
-     *                                                                                         feed. Ignored if user is null or an
-     *                                                                                         empty string
+     * Fetch feed content.
+     *
+     * @param  string  $url               remote url of the feed
+     * @param  boolean $getFavicon        if the favicon should also be fetched, defaults to true
+     * @param  string  $lastModified      a last modified value from an http header defaults to false.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  string  $etag              an etag from an http header.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  bool    $fullTextEnabled   if true tells the fetcher to enhance the articles by fetching more content
+     * @param  string  $basicAuthUser     if given, basic auth is set for this feed
+     * @param  string  $basicAuthPassword if given, basic auth is set for this feed. Ignored if user is empty
+     *
      * @throws FetcherException if the fetcher encounters a problem
      * @return array an array containing the new feed and its items, first
      * element being the Feed and second element being an array of Items
      */
-    function fetch($url, $getFavicon=true, $lastModified=null, $etag=null,
-        $fullTextEnabled=false, $basicAuthUser=null,
-        $basicAuthPassword=null
+    public function fetch(
+        $url,
+        $getFavicon = true,
+        $lastModified = null,
+        $etag = null,
+        $fullTextEnabled = false,
+        $basicAuthUser = null,
+        $basicAuthPassword = null
     );
 
     /**
+     * Can a fetcher handle a feed.
+     *
      * @param string $url the url that should be fetched
+     *
      * @return boolean if the fetcher can handle the url. This fetcher will be
      * used exclusively to fetch the feed and the items of the page
      */
-    function canHandle($url);
-
+    public function canHandle($url);
 }
diff --git a/lib/Fetcher/YoutubeFetcher.php b/lib/Fetcher/YoutubeFetcher.php
index 90087e58c..a47b8fdb8 100644
--- a/lib/Fetcher/YoutubeFetcher.php
+++ b/lib/Fetcher/YoutubeFetcher.php
@@ -11,7 +11,6 @@
 
 namespace OCA\News\Fetcher;
 
-
 class YoutubeFetcher implements IFeedFetcher
 {
 
@@ -23,7 +22,7 @@ class YoutubeFetcher implements IFeedFetcher
     }
 
 
-    private function buildUrl($url) 
+    private function buildUrl($url)
     {
         $baseRegex = '%(?:https?://|//)?(?:www.)?youtube.com';
         $playRegex = $baseRegex . '.*?list=([^&]*)%';
@@ -49,36 +48,39 @@ class YoutubeFetcher implements IFeedFetcher
     /**
      * Fetch a feed from remote
      *
-     * @param  string                                                        $url               remote url of the feed
-     * @param  boolean                                                       $getFavicon        if the favicon should also be fetched,
-     *                                                                                          defaults to true
-     * @param  string                                                        $lastModified      a last modified value from an http header
-     *                                                                                          defaults to false. If lastModified
-     *                                                                                          matches the http header from the feed no
-     *                                                                                          results are fetched
-     * @param  string                                                        $etag              an etag from an http header.
-     *                                                                                          If lastModified matches the
-     *                                                                                          http header from the feed no
-     *                                                                                          results are fetched
-     * @param  bool fullTextEnabled if true tells the fetcher to enhance the
-     * articles by fetching custom enhanced content
-     * @param  string                                                        $basicAuthUser     if given, basic auth is set for this feed
-     * @param  string                                                        $basicAuthPassword if given, basic auth is set for this
-     *                                                                                          feed. Ignored if user is null or an
-     *                                                                                          empty string
+     * @param  string  $url               remote url of the feed
+     * @param  boolean $getFavicon        if the favicon should also be fetched, defaults to true
+     * @param  string  $lastModified      a last modified value from an http header defaults to false.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  string  $etag              an etag from an http header.
+     *                                    If lastModified matches the http header from the feed no results are fetched
+     * @param  bool    $fullTextEnabled   if true tells the fetcher to enhance the articles by fetching more content
+     * @param  string  $basicAuthUser     if given, basic auth is set for this feed
+     * @param  string  $basicAuthPassword if given, basic auth is set for this feed. Ignored if user is empty
+     *
      * @throws FetcherException if it fails
      * @return array an array containing the new feed and its items, first
      * element being the Feed and second element being an array of Items
      */
-    public function fetch($url, $getFavicon=true, $lastModified=null,
-        $etag=null, $fullTextEnabled=false,
-        $basicAuthUser=null, $basicAuthPassword=null
+    public function fetch(
+        $url,
+        $getFavicon = true,
+        $lastModified = null,
+        $etag = null,
+        $fullTextEnabled = false,
+        $basicAuthUser = null,
+        $basicAuthPassword = null
     ) {
         $transformedUrl = $this->buildUrl($url);
 
         $result = $this->feedFetcher->fetch(
-            $transformedUrl, $getFavicon, $lastModified, $etag,
-            $fullTextEnabled, $basicAuthUser, $basicAuthPassword
+            $transformedUrl,
+            $getFavicon,
+            $lastModified,
+            $etag,
+            $fullTextEnabled,
+            $basicAuthUser,
+            $basicAuthPassword
         );
 
         // reset feed url so we know the correct added url for the feed
@@ -86,6 +88,4 @@ class YoutubeFetcher implements IFeedFetcher
 
         return $result;
     }
-
-
 }
diff --git a/lib/Hooks/User.php b/lib/Hooks/User.php
index 0eb190cb3..1a494c5f2 100644
--- a/lib/Hooks/User.php
+++ b/lib/Hooks/User.php
@@ -21,7 +21,7 @@ use OCA\News\Service\FolderService;
 class User
 {
 
-    public static function deleteUser($params) 
+    public static function deleteUser($params)
     {
         $userId = $params['uid'];
 
@@ -33,5 +33,4 @@ class User
         $container->query(FeedService::class)->deleteUser($userId);
         $container->query(FolderService::class)->deleteUser($userId);
     }
-
 }
diff --git a/lib/Http/TextDownloadResponse.php b/lib/Http/TextDownloadResponse.php
index 23eec82b6..6a0f72e0c 100644
--- a/lib/Http/TextDownloadResponse.php
+++ b/lib/Http/TextDownloadResponse.php
@@ -15,7 +15,6 @@ namespace OCA\News\Http;
 
 use \OCP\AppFramework\Http\DownloadResponse;
 
-
 /**
  * Prompts the user to download the a text file
  */
@@ -49,6 +48,4 @@ class TextDownloadResponse extends DownloadResponse
     {
         return $this->content;
     }
-
-
 }
diff --git a/lib/Http/TextResponse.php b/lib/Http/TextResponse.php
index af5c84edb..fd97feae2 100644
--- a/lib/Http/TextResponse.php
+++ b/lib/Http/TextResponse.php
@@ -30,7 +30,7 @@ class TextResponse extends Response
      * @param string $contentType the mimetype. text/ is added automatically so
      *                            only plain or html can be added to get text/plain or text/html
      */
-    public function __construct($content, $contentType='plain')
+    public function __construct($content, $contentType = 'plain')
     {
         $this->content = $content;
         $this->addHeader('Content-type', 'text/' . $contentType);
@@ -46,6 +46,4 @@ class TextResponse extends Response
     {
         return $this->content;
     }
-
-
 }
diff --git a/lib/Migration/MigrateStatusFlags.php b/lib/Migration/MigrateStatusFlags.php
index 69de4e8a0..514b16f4a 100644
--- a/lib/Migration/MigrateStatusFlags.php
+++ b/lib/Migration/MigrateStatusFlags.php
@@ -21,12 +21,12 @@ class MigrateStatusFlags implements IRepairStep
 {
 
     /**
-     * @var IDBConnection 
+     * @var IDBConnection
      */
     private $db;
 
     /**
-     * @var IConfig 
+     * @var IConfig
      */
     private $config;
 
@@ -34,18 +34,18 @@ class MigrateStatusFlags implements IRepairStep
      * @param IDBConnection $db
      * @param IConfig       $config
      */
-    public function __construct(IDBConnection $db, IConfig $config) 
+    public function __construct(IDBConnection $db, IConfig $config)
     {
         $this->db = $db;
         $this->config = $config;
     }
 
-    public function getName() 
+    public function getName()
     {
         return 'Migrate binary status into separate boolean fields';
     }
 
-    public function run(IOutput $output) 
+    public function run(IOutput $output)
     {
         $version = $this->config->getAppValue('news', 'installed_version', '0.0.0');
         if (version_compare($version, '11.0.6', '>=')) {
@@ -61,4 +61,4 @@ class MigrateStatusFlags implements IRepairStep
             throw new \Exception('Could not migrate status');
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lib/Plugin/Client/Plugin.php b/lib/Plugin/Client/Plugin.php
index 7b45cb558..7c587e6bb 100644
--- a/lib/Plugin/Client/Plugin.php
+++ b/lib/Plugin/Client/Plugin.php
@@ -26,24 +26,23 @@ class Plugin
     private static $scripts = [];
     private static $styles = [];
 
-    public static function registerStyle($appName, $styleName) 
+    public static function registerStyle($appName, $styleName)
     {
         self::$styles[$appName] = $styleName;
     }
 
-    public static function registerScript($appName, $scriptName) 
+    public static function registerScript($appName, $scriptName)
     {
         self::$scripts[$appName] = $scriptName;
     }
 
-    public static function getStyles() 
+    public static function getStyles()
     {
         return self::$styles;
     }
 
-    public static function getScripts() 
+    public static function getScripts()
     {
         return self::$scripts;
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/PostProcessor/LWNProcessor.php b/lib/PostProcessor/LWNProcessor.php
index 3e4fbbdd0..1028df100 100644
--- a/lib/PostProcessor/LWNProcessor.php
+++ b/lib/PostProcessor/LWNProcessor.php
@@ -31,7 +31,7 @@ class LWNProcessor implements ItemProcessorInterface
      * @param $user
      * @param $password
      */
-    public function __construct($user, $password, IClientService $clientService) 
+    public function __construct($user, $password, IClientService $clientService)
     {
         $this->user = $user;
         $this->password = $password;
@@ -39,7 +39,7 @@ class LWNProcessor implements ItemProcessorInterface
         $this->cookieJar = new CookieJar();
     }
 
-    private function login() 
+    private function login()
     {
         if ($this->cookieJar->count() > 0) {
             return true;
@@ -50,7 +50,8 @@ class LWNProcessor implements ItemProcessorInterface
 
         $client = $this->clientService->newClient();
         $response = $client->post(
-            'https://lwn.net/login', [
+            'https://lwn.net/login',
+            [
             'cookies' => $this->cookieJar,
             'body' => [
                 'Username' => $this->user,
@@ -62,16 +63,18 @@ class LWNProcessor implements ItemProcessorInterface
         return ($response->getStatusCode() === 200 && $this->cookieJar->count() > 0);
     }
 
-    private function getBody($url) 
+    private function getBody($url)
     {
         $client = $this->clientService->newClient();
         $response = $client->get(
-            $url, [
+            $url,
+            [
             'cookies' => $this->cookieJar
             ]
         );
         $parser = new RuleParser(
-            $response->getBody(), [
+            $response->getBody(),
+            [
             'body' => array(
                 '//div[@class="ArticleText"]',
             ),
@@ -85,7 +88,7 @@ class LWNProcessor implements ItemProcessorInterface
         return str_replace('href="/', 'href="https://lwn.net/', $articleBody);
     }
 
-    private function canHandle($url) 
+    private function canHandle($url)
     {
         $regex = '%(?:https?://|//)?(?:www.)?lwn.net%';
 
@@ -100,7 +103,7 @@ class LWNProcessor implements ItemProcessorInterface
      * @param  Item $item
      * @return bool
      */
-    public function execute(Feed $feed, Item $item) 
+    public function execute(Feed $feed, Item $item)
     {
         if ($this->canHandle($item->getUrl())) {
             $loggedIn = $this->login();
diff --git a/lib/Service/FeedService.php b/lib/Service/FeedService.php
index fe9058b8e..2ccbb014b 100644
--- a/lib/Service/FeedService.php
+++ b/lib/Service/FeedService.php
@@ -28,7 +28,6 @@ use OCA\News\Fetcher\FetcherException;
 use OCA\News\Config\Config;
 use OCA\News\Utility\Time;
 
-
 class FeedService extends Service
 {
 
@@ -42,7 +41,8 @@ class FeedService extends Service
     private $purifier;
     private $loggerParams;
 
-    public function __construct(FeedMapper $feedMapper,
+    public function __construct(
+        FeedMapper $feedMapper,
         Fetcher $feedFetcher,
         ItemMapper $itemMapper,
         ILogger $logger,
@@ -82,7 +82,7 @@ class FeedService extends Service
      *
      * @return array of feeds
      */
-    public function findAllFromAllUsers() 
+    public function findAllFromAllUsers()
     {
         return $this->feedMapper->findAll();
     }
@@ -103,8 +103,13 @@ class FeedService extends Service
      * @throws ServiceNotFoundException if the url points to an invalid feed
      * @return Feed the newly created feed
      */
-    public function create($feedUrl, $folderId, $userId, $title=null,
-        $basicAuthUser=null, $basicAuthPassword=null
+    public function create(
+        $feedUrl,
+        $folderId,
+        $userId,
+        $title = null,
+        $basicAuthUser = null,
+        $basicAuthPassword = null
     ) {
         // first try if the feed exists already
         try {
@@ -113,8 +118,12 @@ class FeedService extends Service
              * @var Item[] $items
              */
             list($feed, $items) = $this->feedFetcher->fetch(
-                $feedUrl, true,
-                null, null, false, $basicAuthUser,
+                $feedUrl,
+                true,
+                null,
+                null,
+                false,
+                $basicAuthUser,
                 $basicAuthPassword
             );
 
@@ -126,7 +135,7 @@ class FeedService extends Service
                 );
 
                 // If no matching feed was found everything was ok
-            } catch(DoesNotExistException $ex){
+            } catch (DoesNotExistException $ex) {
             }
 
             // insert feed
@@ -146,7 +155,7 @@ class FeedService extends Service
             // insert items in reverse order because the first one is usually
             // the newest item
             $unreadCount = 0;
-            for($i=$itemCount-1; $i>=0; $i--){
+            for ($i = $itemCount - 1; $i >= 0; $i--) {
                 $item = $items[$i];
                 $item->setFeedId($feed->getId());
 
@@ -154,10 +163,12 @@ class FeedService extends Service
                 // and ignore it if it does
                 try {
                     $this->itemMapper->findByGuidHash(
-                        $item->getGuidHash(), $item->getFeedId(), $userId
+                        $item->getGuidHash(),
+                        $item->getFeedId(),
+                        $userId
                     );
                     continue;
-                } catch(DoesNotExistException $ex){
+                } catch (DoesNotExistException $ex) {
                     $unreadCount += 1;
                     $item->setBody($this->purifier->purify($item->getBody()));
                     $this->itemMapper->insert($item);
@@ -168,7 +179,7 @@ class FeedService extends Service
             $feed->setUnreadCount($unreadCount);
 
             return $feed;
-        } catch(FetcherException $ex){
+        } catch (FetcherException $ex) {
             $this->logger->debug($ex->getMessage(), $this->loggerParams);
             throw new ServiceNotFoundException($ex->getMessage());
         }
@@ -182,10 +193,10 @@ class FeedService extends Service
     {
         // TODO: this method is not covered by any tests
         $feeds = $this->feedMapper->findAll();
-        foreach($feeds as $feed){
+        foreach ($feeds as $feed) {
             try {
                 $this->update($feed->getId(), $feed->getUserId());
-            } catch(\Exception $ex){
+            } catch (\Exception $ex) {
                 // something is really wrong here, log it
                 $this->logger->error(
                     'Unexpected error when updating feed ' . $ex->getMessage(),
@@ -205,12 +216,12 @@ class FeedService extends Service
      * @throws ServiceNotFoundException if the feed does not exist
      * @return Feed the updated feed entity
      */
-    public function update($feedId, $userId, $forceUpdate=false)
+    public function update($feedId, $userId, $forceUpdate = false)
     {
         /** @var Feed $existingFeed */
         $existingFeed = $this->find($feedId, $userId);
 
-        if($existingFeed->getPreventUpdate() === true) {
+        if ($existingFeed->getPreventUpdate() === true) {
             return $existingFeed;
         }
 
@@ -257,20 +268,21 @@ class FeedService extends Service
 
             // insert items in reverse order because the first one is
             // usually the newest item
-            for($i=$itemCount-1; $i>=0; $i--){
+            for ($i = $itemCount - 1; $i >= 0; $i--) {
                 $item = $items[$i];
                 $item->setFeedId($existingFeed->getId());
 
                 try {
                     $dbItem = $this->itemMapper->findByGuidHash(
-                        $item->getGuidHash(), $feedId, $userId
+                        $item->getGuidHash(),
+                        $feedId,
+                        $userId
                     );
 
                     // in case of update
-                    if ($forceUpdate 
+                    if ($forceUpdate
                         || $item->getUpdatedDate() > $dbItem->getUpdatedDate()
                     ) {
-
                         $dbItem->setTitle($item->getTitle());
                         $dbItem->setUrl($item->getUrl());
                         $dbItem->setAuthor($item->getAuthor());
@@ -292,7 +304,7 @@ class FeedService extends Service
 
                         $this->itemMapper->update($dbItem);
                     }
-                } catch(DoesNotExistException $ex){
+                } catch (DoesNotExistException $ex) {
                     $item->setBody(
                         $this->purifier->purify($item->getBody())
                     );
@@ -303,10 +315,9 @@ class FeedService extends Service
             // mark feed as successfully updated
             $existingFeed->setUpdateErrorCount(0);
             $existingFeed->setLastUpdateError('');
-
-        } catch(FetcherException $ex){
+        } catch (FetcherException $ex) {
             $existingFeed->setUpdateErrorCount(
-                $existingFeed->getUpdateErrorCount()+1
+                $existingFeed->getUpdateErrorCount() + 1
             );
             $existingFeed->setLastUpdateError($ex->getMessage());
         }
@@ -323,7 +334,7 @@ class FeedService extends Service
      * @param  string $userId the username
      * @return Feed if one had to be created for nonexistent feeds
      */
-    public function importArticles($json, $userId) 
+    public function importArticles($json, $userId)
     {
         $url = 'http://nextcloud/nofeed';
         $urlHash = md5($url);
@@ -331,7 +342,7 @@ class FeedService extends Service
         // build assoc array for fast access
         $feeds = $this->findAll($userId);
         $feedsDict = [];
-        foreach($feeds as $feed) {
+        foreach ($feeds as $feed) {
             $feedsDict[$feed->getLink()] = $feed;
         }
 
@@ -343,10 +354,10 @@ class FeedService extends Service
             $item = Item::fromImport($entry);
             $feedLink = $entry['feedLink'];  // this is not set on the item yet
 
-            if(array_key_exists($feedLink, $feedsDict)) {
+            if (array_key_exists($feedLink, $feedsDict)) {
                 $feed = $feedsDict[$feedLink];
                 $item->setFeedId($feed->getId());
-            } elseif(array_key_exists($url, $feedsDict)) {
+            } elseif (array_key_exists($url, $feedsDict)) {
                 $feed = $feedsDict[$url];
                 $item->setFeedId($feed->getId());
             } else {
@@ -369,18 +380,20 @@ class FeedService extends Service
             try {
                 // if item exists, copy the status
                 $existingItem = $this->itemMapper->findByGuidHash(
-                    $item->getGuidHash(), $feed->getId(), $userId
+                    $item->getGuidHash(),
+                    $feed->getId(),
+                    $userId
                 );
                 $existingItem->setStatus($item->getStatus());
                 $this->itemMapper->update($existingItem);
-            } catch(DoesNotExistException $ex){
+            } catch (DoesNotExistException $ex) {
                 $item->setBody($this->purifier->purify($item->getBody()));
                 $item->generateSearchIndex();
                 $this->itemMapper->insert($item);
             }
         }
 
-        if($createdFeed) {
+        if ($createdFeed) {
             return $this->feedMapper->findByUrlHash($urlHash, $userId);
         }
 
@@ -395,7 +408,7 @@ class FeedService extends Service
      * @param  string $userId the name of the user for security reasons
      * @throws ServiceNotFoundException when feed does not exist
      */
-    public function markDeleted($feedId, $userId) 
+    public function markDeleted($feedId, $userId)
     {
         $feed = $this->find($feedId, $userId);
         $feed->setDeletedAt($this->timeFactory->getTime());
@@ -410,7 +423,7 @@ class FeedService extends Service
      * @param  string $userId the name of the user for security reasons
      * @throws ServiceNotFoundException when feed does not exist
      */
-    public function unmarkDeleted($feedId, $userId) 
+    public function unmarkDeleted($feedId, $userId)
     {
         $feed = $this->find($feedId, $userId);
         $feed->setDeletedAt(0);
@@ -426,7 +439,7 @@ class FeedService extends Service
      *                             entries in a given interval to give the user a chance to undo the
      *                             deletion
      */
-    public function purgeDeleted($userId=null, $useInterval=true) 
+    public function purgeDeleted($userId = null, $useInterval = true)
     {
         $deleteOlderThan = null;
 
@@ -449,7 +462,7 @@ class FeedService extends Service
      *
      * @param string $userId the name of the user
      */
-    public function deleteUser($userId) 
+    public function deleteUser($userId)
     {
         $this->feedMapper->deleteUser($userId);
     }
@@ -467,7 +480,7 @@ class FeedService extends Service
      * ]
      * @throws ServiceNotFoundException if feed does not exist
      */
-    public function patch($feedId, $userId, $diff=[]) 
+    public function patch($feedId, $userId, $diff = [])
     {
         $feed = $this->find($feedId, $userId);
 
@@ -487,5 +500,4 @@ class FeedService extends Service
 
         return $this->feedMapper->update($feed);
     }
-
 }
diff --git a/lib/Service/FolderService.php b/lib/Service/FolderService.php
index 75aa294e1..9ba6b35e2 100644
--- a/lib/Service/FolderService.php
+++ b/lib/Service/FolderService.php
@@ -19,7 +19,6 @@ use OCA\News\Db\FolderMapper;
 use OCA\News\Config\Config;
 use OCA\News\Utility\Time;
 
-
 class FolderService extends Service
 {
 
@@ -28,7 +27,8 @@ class FolderService extends Service
     private $autoPurgeMinimumInterval;
     private $folderMapper;
 
-    public function __construct(FolderMapper $folderMapper,
+    public function __construct(
+        FolderMapper $folderMapper,
         IL10N $l10n,
         Time $timeFactory,
         Config $config
@@ -47,7 +47,7 @@ class FolderService extends Service
      * @param  string $userId the name of the user
      * @return array of folders
      */
-    public function findAll($userId) 
+    public function findAll($userId)
     {
         return $this->folderMapper->findAllFromUser($userId);
     }
@@ -57,14 +57,13 @@ class FolderService extends Service
     {
         $existingFolders =
             $this->folderMapper->findByName($folderName, $userId);
-        if(count($existingFolders) > 0) {
-
+        if (count($existingFolders) > 0) {
             throw new ServiceConflictException(
                 $this->l10n->t('Can not add folder: Exists already')
             );
         }
 
-        if(mb_strlen($folderName) === 0) {
+        if (mb_strlen($folderName) === 0) {
             throw new ServiceValidationException(
                 'Folder name can not be empty'
             );
@@ -83,7 +82,7 @@ class FolderService extends Service
      * @throws ServiceValidationException if the folder has invalid parameters
      * @return Folder the newly created folder
      */
-    public function create($folderName, $userId, $parentId=0) 
+    public function create($folderName, $userId, $parentId = 0)
     {
         $this->validateFolder($folderName, $userId);
 
@@ -135,7 +134,7 @@ class FolderService extends Service
      * @param  string $userId   the name of the user for security reasons
      * @throws ServiceNotFoundException when folder does not exist
      */
-    public function markDeleted($folderId, $userId) 
+    public function markDeleted($folderId, $userId)
     {
         $folder = $this->find($folderId, $userId);
         $folder->setDeletedAt($this->timeFactory->getTime());
@@ -150,7 +149,7 @@ class FolderService extends Service
      * @param  string $userId   the name of the user for security reasons
      * @throws ServiceNotFoundException when folder does not exist
      */
-    public function unmarkDeleted($folderId, $userId) 
+    public function unmarkDeleted($folderId, $userId)
     {
         $folder = $this->find($folderId, $userId);
         $folder->setDeletedAt(0);
@@ -166,7 +165,7 @@ class FolderService extends Service
      *                             entries in a given interval to give the user a chance to undo the
      *                             deletion
      */
-    public function purgeDeleted($userId=null, $useInterval=true) 
+    public function purgeDeleted($userId = null, $useInterval = true)
     {
         $deleteOlderThan = null;
 
@@ -188,10 +187,8 @@ class FolderService extends Service
      *
      * @param string $userId the name of the user
      */
-    public function deleteUser($userId) 
+    public function deleteUser($userId)
     {
         $this->folderMapper->deleteUser($userId);
     }
-
-
 }
diff --git a/lib/Service/ItemService.php b/lib/Service/ItemService.php
index bc108b034..c41217ff6 100644
--- a/lib/Service/ItemService.php
+++ b/lib/Service/ItemService.php
@@ -22,7 +22,6 @@ use OCA\News\Db\FeedType;
 use OCA\News\Config\Config;
 use OCA\News\Utility\Time;
 
-
 class ItemService extends Service
 {
 
@@ -31,7 +30,8 @@ class ItemService extends Service
     private $itemMapper;
     private $systemConfig;
 
-    public function __construct(ItemMapper $itemMapper,
+    public function __construct(
+        ItemMapper $itemMapper,
         Time $timeFactory,
         Config $config,
         IConfig $systemConfig
@@ -58,19 +58,28 @@ class ItemService extends Service
      */
     public function findAllNew($id, $type, $updatedSince, $showAll, $userId)
     {
-        switch($type){
-        case FeedType::FEED:
-            return $this->itemMapper->findAllNewFeed(
-                $id, $updatedSince, $showAll, $userId
-            );
-        case FeedType::FOLDER:
-            return $this->itemMapper->findAllNewFolder(
-                $id, $updatedSince, $showAll, $userId
-            );
-        default:
-            return $this->itemMapper->findAllNew(
-                $updatedSince, $type, $showAll, $userId
-            );
+        switch ($type) {
+            case FeedType::FEED:
+                return $this->itemMapper->findAllNewFeed(
+                    $id,
+                    $updatedSince,
+                    $showAll,
+                    $userId
+                );
+            case FeedType::FOLDER:
+                return $this->itemMapper->findAllNewFolder(
+                    $id,
+                    $updatedSince,
+                    $showAll,
+                    $userId
+                );
+            default:
+                return $this->itemMapper->findAllNew(
+                    $updatedSince,
+                    $type,
+                    $showAll,
+                    $userId
+                );
         }
     }
 
@@ -90,24 +99,47 @@ class ItemService extends Service
      *                               or body
      * @return array of items
      */
-    public function findAll($id, $type, $limit, $offset, $showAll, $oldestFirst,
-        $userId, $search=[]
+    public function findAll(
+        $id,
+        $type,
+        $limit,
+        $offset,
+        $showAll,
+        $oldestFirst,
+        $userId,
+        $search = []
     ) {
-        switch($type){
-        case FeedType::FEED:
-            return $this->itemMapper->findAllFeed(
-                $id, $limit, $offset, $showAll, $oldestFirst, $userId,
-                $search
-            );
-        case FeedType::FOLDER:
-            return $this->itemMapper->findAllFolder(
-                $id, $limit, $offset, $showAll, $oldestFirst, $userId,
-                $search
-            );
-        default:
-            return $this->itemMapper->findAll(
-                $limit, $offset, $type, $showAll, $oldestFirst, $userId, $search
-            );
+        switch ($type) {
+            case FeedType::FEED:
+                return $this->itemMapper->findAllFeed(
+                    $id,
+                    $limit,
+                    $offset,
+                    $showAll,
+                    $oldestFirst,
+                    $userId,
+                    $search
+                );
+            case FeedType::FOLDER:
+                return $this->itemMapper->findAllFolder(
+                    $id,
+                    $limit,
+                    $offset,
+                    $showAll,
+                    $oldestFirst,
+                    $userId,
+                    $search
+                );
+            default:
+                return $this->itemMapper->findAll(
+                    $limit,
+                    $offset,
+                    $type,
+                    $showAll,
+                    $oldestFirst,
+                    $userId,
+                    $search
+                );
         }
     }
 
@@ -126,16 +158,18 @@ class ItemService extends Service
     {
         try {
             /**
- * @var Item $item 
+ * @var Item $item
 */
             $item = $this->itemMapper->findByGuidHash(
-                $guidHash, $feedId, $userId
+                $guidHash,
+                $feedId,
+                $userId
             );
 
             $item->setStarred($isStarred);
 
             $this->itemMapper->update($item);
-        } catch(DoesNotExistException $ex) {
+        } catch (DoesNotExistException $ex) {
             throw new ServiceNotFoundException($ex->getMessage());
         }
     }
@@ -155,7 +189,7 @@ class ItemService extends Service
         try {
             $lastModified = $this->timeFactory->getMicroTime();
             $this->itemMapper->readItem($itemId, $isRead, $lastModified, $userId);
-        } catch(DoesNotExistException $ex) {
+        } catch (DoesNotExistException $ex) {
             throw new ServiceNotFoundException($ex->getMessage());
         }
     }
@@ -189,7 +223,10 @@ class ItemService extends Service
     {
         $time = $this->timeFactory->getMicroTime();
         $this->itemMapper->readFolder(
-            $folderId, $highestItemId, $time, $userId
+            $folderId,
+            $highestItemId,
+            $time,
+            $userId
         );
     }
 
@@ -232,11 +269,11 @@ class ItemService extends Service
      * @throws ServiceNotFoundException if there is no newest item
      * @return int
      */
-    public function getNewestItemId($userId) 
+    public function getNewestItemId($userId)
     {
         try {
             return $this->itemMapper->getNewestItemId($userId);
-        } catch(DoesNotExistException $ex) {
+        } catch (DoesNotExistException $ex) {
             throw new ServiceNotFoundException($ex->getMessage());
         }
     }
@@ -258,7 +295,7 @@ class ItemService extends Service
      * @param string $userId from which user the items should be taken
      * @return array of items which are starred or unread
      */
-    public function getUnreadOrStarred($userId) 
+    public function getUnreadOrStarred($userId)
     {
         return $this->itemMapper->findAllUnreadOrStarred($userId);
     }
@@ -269,7 +306,7 @@ class ItemService extends Service
      *
      * @param string $userId the name of the user
      */
-    public function deleteUser($userId) 
+    public function deleteUser($userId)
     {
         $this->itemMapper->deleteUser($userId);
     }
@@ -278,9 +315,8 @@ class ItemService extends Service
     /**
      * Regenerates the search index for all items
      */
-    public function generateSearchIndices() 
+    public function generateSearchIndices()
     {
         $this->itemMapper->updateSearchIndices();
     }
-
 }
diff --git a/lib/Service/Service.php b/lib/Service/Service.php
index 28cfeeb76..ac9b6e1a3 100644
--- a/lib/Service/Service.php
+++ b/lib/Service/Service.php
@@ -18,7 +18,6 @@ use \OCP\AppFramework\Db\MultipleObjectsReturnedException;
 
 use \OCA\News\Db\NewsMapper;
 
-
 abstract class Service
 {
 
@@ -58,11 +57,10 @@ abstract class Service
     {
         try {
             return $this->mapper->find($id, $userId);
-        } catch(DoesNotExistException $ex){
+        } catch (DoesNotExistException $ex) {
             throw new ServiceNotFoundException($ex->getMessage());
-        } catch(MultipleObjectsReturnedException $ex){
+        } catch (MultipleObjectsReturnedException $ex) {
             throw new ServiceNotFoundException($ex->getMessage());
         }
     }
-
 }
diff --git a/lib/Service/ServiceConflictException.php b/lib/Service/ServiceConflictException.php
index 95cb1da1f..95955eecb 100644
--- a/lib/Service/ServiceConflictException.php
+++ b/lib/Service/ServiceConflictException.php
@@ -13,7 +13,6 @@
 
 namespace OCA\News\Service;
 
-
 class ServiceConflictException extends ServiceException
 {
 
@@ -26,5 +25,4 @@ class ServiceConflictException extends ServiceException
     {
         parent::__construct($msg);
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/Service/ServiceException.php b/lib/Service/ServiceException.php
index 4d17dd155..ef1aa1102 100644
--- a/lib/Service/ServiceException.php
+++ b/lib/Service/ServiceException.php
@@ -13,7 +13,6 @@
 
 namespace OCA\News\Service;
 
-
 class ServiceException extends \Exception
 {
 
@@ -26,5 +25,4 @@ class ServiceException extends \Exception
     {
         parent::__construct($msg);
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/Service/ServiceNotFoundException.php b/lib/Service/ServiceNotFoundException.php
index 5c831775b..65ba092d7 100644
--- a/lib/Service/ServiceNotFoundException.php
+++ b/lib/Service/ServiceNotFoundException.php
@@ -13,7 +13,6 @@
 
 namespace OCA\News\Service;
 
-
 class ServiceNotFoundException extends ServiceException
 {
 
@@ -26,5 +25,4 @@ class ServiceNotFoundException extends ServiceException
     {
         parent::__construct($msg);
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/Service/ServiceValidationException.php b/lib/Service/ServiceValidationException.php
index f06c2500b..20485642b 100644
--- a/lib/Service/ServiceValidationException.php
+++ b/lib/Service/ServiceValidationException.php
@@ -13,7 +13,6 @@
 
 namespace OCA\News\Service;
 
-
 class ServiceValidationException extends ServiceException
 {
 
@@ -26,5 +25,4 @@ class ServiceValidationException extends ServiceException
     {
         parent::__construct($msg);
     }
-
-}
\ No newline at end of file
+}
diff --git a/lib/Service/StatusService.php b/lib/Service/StatusService.php
index 623f71587..e611a34ea 100644
--- a/lib/Service/StatusService.php
+++ b/lib/Service/StatusService.php
@@ -20,7 +20,6 @@ use OCP\IDBConnection;
 
 use OCA\News\Config\Config;
 
-
 class StatusService
 {
 
@@ -32,8 +31,11 @@ class StatusService
      */
     private $connection;
 
-    public function __construct(IConfig $settings, IDBConnection $connection,
-        Config $config, $AppName
+    public function __construct(
+        IConfig $settings,
+        IDBConnection $connection,
+        Config $config,
+        $AppName
     ) {
         $this->settings = $settings;
         $this->config = $config;
@@ -41,10 +43,11 @@ class StatusService
         $this->connection = $connection;
     }
 
-    public function isProperlyConfigured() 
+    public function isProperlyConfigured()
     {
         $cronMode = $this->settings->getAppValue(
-            'core', 'backgroundjobs_mode'
+            'core',
+            'backgroundjobs_mode'
         );
         $cronOff = !$this->config->getUseCronUpdates();
 
@@ -53,10 +56,11 @@ class StatusService
     }
 
 
-    public function getStatus() 
+    public function getStatus()
     {
         $version = $this->settings->getAppValue(
-            $this->appName, 'installed_version'
+            $this->appName,
+            'installed_version'
         );
 
         return [
@@ -67,5 +71,4 @@ class StatusService
             ]
         ];
     }
-
 }
diff --git a/lib/Settings/Admin.php b/lib/Settings/Admin.php
index 888525dd0..737f44cc1 100644
--- a/lib/Settings/Admin.php
+++ b/lib/Settings/Admin.php
@@ -11,12 +11,12 @@ class Admin implements ISettings
 {
     private $config;
 
-    public function __construct(Config $config) 
+    public function __construct(Config $config)
     {
         $this->config = $config;
     }
 
-    public function getForm() 
+    public function getForm()
     {
         $data = [
             'autoPurgeMinimumInterval' =>
@@ -31,12 +31,12 @@ class Admin implements ISettings
         return new TemplateResponse('news', 'admin', $data, '');
     }
 
-    public function getSection() 
+    public function getSection()
     {
         return 'news';
     }
 
-    public function getPriority() 
+    public function getPriority()
     {
         return 40;
     }
diff --git a/lib/Settings/Section.php b/lib/Settings/Section.php
index e1dc90147..245dec0e7 100644
--- a/lib/Settings/Section.php
+++ b/lib/Settings/Section.php
@@ -11,29 +11,29 @@ class Section implements IIconSection
     private $l;
     private $url;
 
-    public function __construct(IURLGenerator $url, IL10N $l) 
+    public function __construct(IURLGenerator $url, IL10N $l)
     {
         $this->url = $url;
         $this->l = $l;
     }
 
-    public function getID() 
+    public function getID()
     {
         return 'news';
     }
 
-    public function getName() 
+    public function getName()
     {
         return $this->l->t('News');
     }
 
-    public function getPriority() 
+    public function getPriority()
     {
         return 10;
     }
 
-    public function getIcon() 
+    public function getIcon()
     {
         return $this->url->imagePath('news', 'app-dark.svg');
     }
-}
\ No newline at end of file
+}
diff --git a/lib/Utility/OPMLExporter.php b/lib/Utility/OPMLExporter.php
index 19bb76ad7..189cf8d1e 100644
--- a/lib/Utility/OPMLExporter.php
+++ b/lib/Utility/OPMLExporter.php
@@ -48,7 +48,7 @@ class OPMLExporter
         $body = $document->createElement('body');
 
         // feeds with folders
-        foreach($folders as $folder) {
+        foreach ($folders as $folder) {
             $folderOutline = $document->createElement('outline');
             $folderOutline->setAttribute('title', $folder->getName());
             $folderOutline->setAttribute('text', $folder->getName());
@@ -94,7 +94,4 @@ class OPMLExporter
         $feedOutline->setAttribute('htmlUrl', $feed->getLink());
         return $feedOutline;
     }
-
-
 }
-
diff --git a/lib/Utility/PicoFeedClientFactory.php b/lib/Utility/PicoFeedClientFactory.php
index 4593d5ff7..046224919 100644
--- a/lib/Utility/PicoFeedClientFactory.php
+++ b/lib/Utility/PicoFeedClientFactory.php
@@ -22,7 +22,7 @@ class PicoFeedClientFactory
 
     private $config;
 
-    public function __construct(Config $config) 
+    public function __construct(Config $config)
     {
         $this->config = $config;
     }
@@ -33,12 +33,10 @@ class PicoFeedClientFactory
      *
      * @return \PicoFeed\Client instance
      */
-    public function build() 
+    public function build()
     {
         $client = Client::getInstance();
         $client->setConfig($this->config);
         return $client;
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Utility/PicoFeedFaviconFactory.php b/lib/Utility/PicoFeedFaviconFactory.php
index 0f24cbb78..09a1b76c8 100644
--- a/lib/Utility/PicoFeedFaviconFactory.php
+++ b/lib/Utility/PicoFeedFaviconFactory.php
@@ -22,7 +22,7 @@ class PicoFeedFaviconFactory
 
     private $config;
 
-    public function __construct(Config $config) 
+    public function __construct(Config $config)
     {
         $this->config = $config;
     }
@@ -33,10 +33,8 @@ class PicoFeedFaviconFactory
      *
      * @return \PicoFeed\Favicon instance
      */
-    public function build() 
+    public function build()
     {
         return new Favicon($this->config);
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Utility/ProxyConfigParser.php b/lib/Utility/ProxyConfigParser.php
index cada79576..dc9bd3d8b 100644
--- a/lib/Utility/ProxyConfigParser.php
+++ b/lib/Utility/ProxyConfigParser.php
@@ -16,13 +16,12 @@ namespace OCA\News\Utility;
 
 use \OCP\IConfig;
 
-
 class ProxyConfigParser
 {
 
     private $config;
 
-    public function __construct(IConfig $config) 
+    public function __construct(IConfig $config)
     {
         $this->config = $config;
     }
@@ -33,7 +32,7 @@ class ProxyConfigParser
      *
      * @return array
      */
-    public function parse() 
+    public function parse()
     {
         $proxy = $this->config->getSystemValue('proxy');
         $userpasswd = $this->config->getSystemValue('proxyuserpwd');
@@ -64,6 +63,4 @@ class ProxyConfigParser
 
         return $result;
     }
-
-
-}
\ No newline at end of file
+}
diff --git a/lib/Utility/Time.php b/lib/Utility/Time.php
index 2823e85d8..739204f6d 100644
--- a/lib/Utility/Time.php
+++ b/lib/Utility/Time.php
@@ -13,7 +13,7 @@ namespace OCA\News\Utility;
 
 class Time
 {
-    public function getTime() 
+    public function getTime()
     {
         return time();
     }
@@ -21,10 +21,9 @@ class Time
     /**
      * @return int the current unix time in miliseconds
      */
-    public function getMicroTime() 
+    public function getMicroTime()
     {
         list($millisecs, $secs) = explode(" ", microtime());
         return $secs . substr($millisecs, 2, 6);
     }
-
 }
diff --git a/lib/Utility/Updater.php b/lib/Utility/Updater.php
index 5f9edbeda..02ede9c90 100644
--- a/lib/Utility/Updater.php
+++ b/lib/Utility/Updater.php
@@ -18,7 +18,6 @@ use \OCA\News\Service\FolderService;
 use \OCA\News\Service\FeedService;
 use \OCA\News\Service\ItemService;
 
-
 class Updater
 {
 
@@ -27,7 +26,8 @@ class Updater
     private $feedService;
     private $itemService;
 
-    public function __construct(FolderService $folderService,
+    public function __construct(
+        FolderService $folderService,
         FeedService $feedService,
         ItemService $itemService
     ) {
@@ -37,23 +37,21 @@ class Updater
     }
 
 
-    public function beforeUpdate() 
+    public function beforeUpdate()
     {
         $this->folderService->purgeDeleted();
         $this->feedService->purgeDeleted();
     }
 
 
-    public function update() 
+    public function update()
     {
         $this->feedService->updateAll();
     }
 
 
-    public function afterUpdate() 
+    public function afterUpdate()
     {
         $this->itemService->autoPurgeOld();
     }
-
-
-}
\ No newline at end of file
+}