Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/news.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Posselt <dev@bernhard-posselt.com>2015-11-01 16:25:05 +0300
committerBernhard Posselt <dev@bernhard-posselt.com>2015-11-01 16:25:42 +0300
commitb250747c6681dca656b0761f70f53d0295d228d1 (patch)
tree906be611568fa4c958600697e4c93d825240fcd8
parent00c4eeb67905f481e4d50e81237873956120c7c5 (diff)
fix #882
-rw-r--r--CHANGELOG.md1
-rw-r--r--appinfo/checksum.json2
-rw-r--r--appinfo/database.xml6
-rw-r--r--appinfo/info.xml2
-rw-r--r--appinfo/routes.php4
-rw-r--r--controller/feedcontroller.php52
-rw-r--r--css/navigation.css8
-rw-r--r--css/news.min.css2
-rw-r--r--css/news.min.css.map2
-rw-r--r--db/feed.php5
-rw-r--r--img/updatemodedefault.svg59
-rw-r--r--img/updatemodeunread.svg6
-rw-r--r--js/build/app.js38
-rw-r--r--js/build/app.min.js4
-rw-r--r--js/build/app.min.js.map2
-rw-r--r--js/controller/NavigationController.js8
-rw-r--r--js/service/FeedResource.js30
-rw-r--r--js/tests/unit/controller/NavigationControllerSpec.js30
-rw-r--r--js/tests/unit/service/FeedResourceSpec.js12
-rw-r--r--service/feedservice.php72
-rw-r--r--templates/part.navigation.feed.php12
-rw-r--r--tests/unit/controller/FeedControllerTest.php46
-rw-r--r--tests/unit/db/FeedTest.php4
-rw-r--r--tests/unit/service/FeedServiceTest.php107
24 files changed, 328 insertions, 186 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f5703a2c8..df6fa74e1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
owncloud-news (6.0.7)
* **Enhancement**: Update articles if the pubdate is newer than the current one, #877
+* **Enhancement**: Add feed setting to mark updated articles as unread, #882
owncloud-news (6.0.6)
* **Enhancement**: Align settings text properly, #829
diff --git a/appinfo/checksum.json b/appinfo/checksum.json
index ed7c76339..591347396 100644
--- a/appinfo/checksum.json
+++ b/appinfo/checksum.json
@@ -1 +1 @@
-{"COPYING":"73f1eb20517c55bf9493b7dd6e480788","admin/admin.php":"9cde71cc73f1b555ba8bf97998d3eb1f","appinfo/app.php":"0a29198a445bcf095c209025fb7ca4d5","appinfo/application.php":"f223885991fecaf712896a0735268fdc","appinfo/database.xml":"3b8e9946370cd87ecf6ff71a6367c248","appinfo/info.xml":"572bfa134d5c360de579cb82dab13391","appinfo/register_command.php":"2fe3314baa3db324b93009a6234406a7","appinfo/routes.php":"f46bc302bded105e557cbc2c5badd13a","bin/tools/generate_authors.py":"92238d8985f408b9763262eaa9e057e4","bin/updater/LICENSE.txt":"73f1eb20517c55bf9493b7dd6e480788","bin/updater/MANIFEST.in":"e4f72d98cacd6beb3ca3d5e6a026a3b6","bin/updater/README.rst":"6bcd3743d1ececd73522087adb473950","bin/updater/example-config.ini":"7da58ee1864702bb56548d420ac70da5","bin/updater/owncloud_news_updater/__init__.py":"d41d8cd98f00b204e9800998ecf8427e","bin/updater/owncloud_news_updater/__main__.py":"af28326896d08c98f0d9cc101ae4bb43","bin/updater/owncloud_news_updater/application.py":"f4742edf995f14d216ae1a4a6b3d2b7f","bin/updater/owncloud_news_updater/updater.py":"c95ceff854798bad0685ad45004b3b6e","bin/updater/packaging/rpm/owncloud-news-updater.spec":"00c22e3496f770f0bd41d2ad0cc363bc","bin/updater/requirements.txt":"197b4deb87ffa3decd9f045926a86cd0","bin/updater/setup.py":"52e9af20f53cb60b09df48b9795edfc5","bin/updater/systemd/owncloud-news-updater.service":"f0b09c7a01a827ed396b8e180bb1a7a9","command/generatesearchindices.php":"47e2365cf21ba4755401c3d44a3cff5f","command/verifyinstall.php":"3f93b054bfc0802767a9c64d91379b81","composer.json":"230c705edaa030ee708540dfd3a8fbb7","composer.lock":"5a504036dc7c00004b97777001bd7553","config/appconfig.php":"dc7e95872a7451aaada4dd0488342658","config/config.php":"aa9e1a156e37088987c1b8356e39c115","config/dependencyexception.php":"d4eda6de2f355c1ec39730589a5ba19c","config/schema.json":"abcef84bdb56b34fd6028ccec360d5e5","controller/admincontroller.php":"de1d2fd0a1e059ab43abc5a47715a2a7","controller/entityapiserializer.php":"634d149486ea9e225d9fe82514d2a585","controller/exportcontroller.php":"f62c609ce18ce90dd218e3e08bfbc4c8","controller/feedapicontroller.php":"15460715f9bd0c53030d033b2bf32c28","controller/feedcontroller.php":"0c02c332dc9e55e7d38e36d8a1abc1f9","controller/folderapicontroller.php":"42e7a2269e123d02a564dfa4f8fccc66","controller/foldercontroller.php":"9f44b3dcf41704549809336414be819e","controller/itemapicontroller.php":"487f097505adab17c52cd228e5731db2","controller/itemcontroller.php":"73c13d2783357017f465e9bbef7a56c0","controller/jsonhttperror.php":"634df2ac5d49d55abcb198650a63403f","controller/pagecontroller.php":"ce2290c584689db4627c4c179682c73c","controller/userapicontroller.php":"f0ef90c5138a3ff67f5fa0f2bc5cd0d8","controller/utilityapicontroller.php":"7829f0d3497a4e8c7176fc6e58682b8d","cron/updater.php":"e009e8c6e8533fe1fd850c5986bd6dec","db/entityjsonserializer.php":"d49a81add439ad227fa72bebfca12a71","db/feed.php":"c95ff2efb867e5d773d4a73bec614ae7","db/feedmapper.php":"8e254e702360dc836fbfa2ec4fb17262","db/feedtype.php":"c4db42362f629b42b1676d4b5f66f58f","db/folder.php":"d2dd8844791a92db77591e1cbbf01bcb","db/foldermapper.php":"1b93685d4ad3a861c6a63819505d7e71","db/iapi.php":"905d56635d7844639056b6c2c0da62a6","db/item.php":"a0566a1ca2f30dfd3d5ea693a65b7203","db/itemmapper.php":"9abedee072af69aaab441f346e1eec52","db/mapperfactory.php":"5c0ec71f723ab542b248873c3b6b9975","db/mysql/itemmapper.php":"37c3b8c3f186798f5617ff83c1f6639d","db/newsmapper.php":"cc0bb1eaf23be0df0572d0a6dfa6968a","db/statusflag.php":"5f43c4018b0f601f4af9e90e0fd0b4d2","dependencyinjection/ifactory.php":"f119d1f13d793f5d23869c10cf1dcbf9","explore/recommendedsites.php":"ce9b0eda7a8e2e51c6d8ba919d81fccd","explore/sites.en.json":"225aa277288a9af72c4ed66cf4e2acaa","fetcher/feedfetcher.php":"8eefaf5dda313752aeb064cecacf704c","fetcher/fetcher.php":"16611d965170ad7addc8281423879b73","fetcher/fetcherexception.php":"77781766d4d8eef15e0f29bc1ec7abb9","fetcher/ifeedfetcher.php":"de1aba9a423542bab5a731e28a311dab","fetcher/youtubefetcher.php":"3187568872733340be4c02f902d7c1a8","hooks/user.php":"ed4c4bdfc6b8b06410f1e4ae28355afa","http/textdownloadresponse.php":"becb957296e983546d69b8964bc3df71","http/textresponse.php":"83a6f7ce1bda9c4a8c7ca18ede8a504e","img/active_star.svg":"b3c26ec68d2481571d291faffdebd3d2","img/add.png":"6371032504a4f8fe2ddbaaa72d5bf553","img/app-128.png":"be2435be3664c0bfd7060f5498e33e87","img/app-512.png":"9957249ff0eab114d92e2eb02ee0a3eb","img/app.svg":"498858bb7be07e812f246b1be438feb8","img/arrow-white.svg":"372cbe3bb42a9496a4aed6e164da3439","img/arrow.svg":"c7aae23e57f5ab63ec127e46c45019bd","img/close.svg":"d7985280d981c38a36dd93b2beaa9b21","img/fulltext.svg":"2c62ce67a500dbac12608f20b3548b1a","img/inactive_star.svg":"e27f651ed1aa09e8032927c0f2b83d6f","img/link.svg":"122e37a177ef635120181bb73f19c40b","img/loading.gif":"47e216e917cec034f146e1f9c30f4b5c","img/logo-icon.svg":"b87e61e3959f4ebdb8d3a5bd7d399cb1","img/nonfulltext.svg":"0236ea5c4fdb393d016a815a2c544430","img/pinned.svg":"a3e102de08e1b0eb75bc65670fd8cee5","img/rss.svg":"079bde64eaed1c8bbc88bd61316de844","img/starred.png":"5d75ea732e0af815af30df096c581ee8","img/starred.svg":"cc0f13e8be159f79f6fc494b91964fdb","img/unpinned.svg":"f550d868a57dc3cb10d2261375cecc43","news.iml":"b6f4099a82e06217ea328f48e1597b48","plugin/client/plugin.php":"c7480df1769b9c195641bb201844267e","service/feedservice.php":"a6256b30a903076d14a84ba12bfef7a7","service/folderservice.php":"66b9fcaab421239d518f40661ee3c3c3","service/itemservice.php":"2cbd711293861f0b61376827f09ea2ad","service/service.php":"533c87b6802e13bcdac6b9a2deef6090","service/serviceconflictexception.php":"8239dd0475ce4962e25af748b08440f0","service/serviceexception.php":"52f816ce47525e65efddff6652f2c4ab","service/servicenotfoundexception.php":"f9acdf6fedc05a9857721185cf1239b2","service/servicevalidationexception.php":"b6ae908d4b03045edf052e73f9c7d14b","service/statusservice.php":"7263bdfa13cfc737dfbf60bfdf80dc1e","templates/admin.php":"eee1837c9b98eaca0b6d526e15cf1f3c","templates/index.php":"905c6c0c5d8f67ab311fd6ac122b2765","templates/part.content.cronwarning.php":"d6e0f128f5f412a19faf9e7eeb406141","templates/part.content.explore.php":"c82db9fe40306718daee6f2a620f1052","templates/part.content.php":"6bdc44742d731a3215b6682e1582b87f","templates/part.content.shortcuts.php":"f6efb88396d2ea8b15c693cacaac7c3e","templates/part.navigation.addfeed.php":"98c46e7cb7afe28966d63e9832d56092","templates/part.navigation.addfolder.php":"a588be3de1b63050aefa84b0c290aa68","templates/part.navigation.explore.php":"3a91b817f8573a4b0e2f89880af195c8","templates/part.navigation.feed.php":"639be46e08ae79de2d824d5a5374058e","templates/part.navigation.folder.php":"2d9d4f62af945b13c925b4a22b73c278","templates/part.navigation.starredfeed.php":"a9b3257d6e1de39c02e396e647915c21","templates/part.navigation.unreadfeed.php":"8f8ebd16c901238580aa7cb9212ece36","templates/part.settings.php":"e853dd58866190e2760330a157b1d867","utility/opmlexporter.php":"3a8e0abc6973bd535e25cefd836c7b82","utility/picofeedclientfactory.php":"34410c07a7a7d00ae780633524deb02a","utility/picofeedfaviconfactory.php":"04729a3b2e7d46c5aeb20f14440b6439","utility/proxyconfigparser.php":"40dad4ac320b67a62c06f89572f132ca","utility/updater.php":"de58422fcad6ee9b6af7202b19126798","vendor/autoload.php":"88a7993c13a69b5a81176126de195860","vendor/bin/picofeed":"09041dfdad7fa8c4bcef6b8237dd5c65","vendor/composer/ClassLoader.php":"9c1e7fe1a9eb1693e07ee4420ca5361e","vendor/composer/LICENSE":"084a034acbad39464e3df608c6dc064f","vendor/composer/autoload_classmap.php":"def51b21ea9d40feaa871dbc1fcc0e8b","vendor/composer/autoload_files.php":"8dc7c58dade5c2664c75c770cf5df93b","vendor/composer/autoload_namespaces.php":"34a203fc422c889d541d29501f1225bc","vendor/composer/autoload_psr4.php":"cd8b74f8f51ae607d5fac067b3ad53b7","vendor/composer/autoload_real.php":"6b3d188d2b85f20feff1a787378f4db9","vendor/composer/installed.json":"31de62730843899c3538488fb5f85d03","vendor/riimu/kit-pathjoin/LICENSE":"516c5c54ab32078a234eeecb908d791d","vendor/riimu/kit-pathjoin/composer.json":"e0d6060bb2d38d68775b508ddded93f2","vendor/riimu/kit-pathjoin/examples/example.php":"3c1a1d11d9545a0f06faf692b088e796","vendor/riimu/kit-pathjoin/src/Path.php":"67ea83863100c0b3e2ceec72b76ec958","vendor/riimu/kit-pathjoin/src/autoload.php":"2cfade8c19ac4339699b608f9377bb23","js/build/app.min.js":"ce91e37fef008cdcff7a80ca30886fea","js/vendor/angular-animate/angular-animate.min.js":"587d656ae8820a68ffb0237edfd5c900","js/vendor/angular-route/angular-route.min.js":"580702cd98e8df1edf0ef5a7e1322ea3","js/vendor/angular-sanitize/angular-sanitize.min.js":"0710ffcad4038e4debfbfa7b7daa58b1","js/vendor/angular/angular.min.js":"a706ca14720086f417910e2eb1e60ec3","js/vendor/es6-shim/es6-sham.min.js":"750f72aaa1117aee7584f49bf569a976","js/vendor/es6-shim/es6-shim.min.js":"5cb5827957f38bd8781b3376c1878a22","js/vendor/js-url/url.min.js":"0aff5b930bf1e8bd5b9ea59c21bac0ee","js/vendor/momentjs/min/locales.min.js":"957fa64c0c7c50aec3fff10595313a0c","js/vendor/momentjs/min/moment-with-locales.min.js":"135520cbe797c6273813b949e0af67cd","js/vendor/momentjs/min/moment.min.js":"85e5d41eb9c451c16d4e784aec13d948","css/news.min.css":"78a8e2677461091b11b3af9178f3bef8","vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php":"0f6dba2689f471c382240c8d2d7892ba","vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php":"31875cdbe86db449dc38a47d1ea967ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php":"2ad82b7a50a5c15aa9858bdbb9ff6521","vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php":"863d2cfbb3903516f0410710baca6686","vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php":"899f42e8c4cd6bc9ab75e96441dd90cc","vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php":"8f9b8b66e4b09efbb50b3825110b2a59","vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php":"5a6eedd494dd20c8579e2a9d39809d5b","vendor/ezyang/htmlpurifier/library/HTMLPurifier.php":"0a9a0ad418e1972c586704bbf575a6a7","vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php":"957be86169dba07cd2a6b0954cd8af83","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php":"4fd50c598c9fe3a213de3fa211521b88","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php":"5138024754b1732cd3d3dac57b2f6e06","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php":"84d07e907b788fddc0dd5f88ce7c9bd7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php":"b7981b9a1d0feb7540e2169a1eeb6e16","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php":"0735ba1e0d72921d32b2be57d29f6fdd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php":"526237115fa84e27deec7c8253f69012","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php":"ca1cf80faf9ec7a8906cb5bef9331ed2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php":"bfcec5667278ee0bd42ec80ceb94b924","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php":"45797670cda18b4830c1db8cc6242413","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php":"d1456a381affaa3287a559770dd825c1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php":"bf5bf3a9c03a0c91243f94956d778591","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php":"44146b8f2ff0749459a2391cc55a96d4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php":"cadcd652415401722a2e6690371adf1f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php":"e16e88b78b17ef5933a6753db8483459","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php":"761cc62ff769403e649a0bd5a251fbbb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php":"7d50c6c2cbbe3b334c7461b2d01b380d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php":"bf5eae4ee7059716053ad9263d278ea6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php":"184f255d1cfe8ab3bf620757a6700b84","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php":"f9a630c6a53df02ba6d1a0ed3f473568","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php":"96077188f46ca298b7c2d1fe8f3bc0d1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php":"bfb7f57fa6543314c8b8dd0373aaba9d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php":"5c9c72c263a87ea11590b0bb8105632b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php":"b439ef7f5a51b17feab6d4a1ff9a7bdb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php":"ff9e3f723f9b72f07f99c110659681b7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php":"7b67f9ef906d94c8bf3310dee3c03a2f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php":"56720c27d8ac6a011a8217beaf323485","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php":"243998e52bc33a51cfa5e9ecab98f9ef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php":"94924c97ef1cf7c208d7545b8a4508c4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php":"48bdb5a0f603ff235e2185e0675497ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php":"18e8f903ab5264e14d497d84b1cd6614","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php":"8eef9594ae888e38e1c5921f304fd1ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php":"749a2c0adcdaddcdb0c71d8785c8adbf","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php":"44af0c9a75c6ca7132ff21d128af19a6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php":"4266ca99292f6337fe36a966465ea67c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php":"2b6c6b9a58e008f9ad30bd47feaeadc5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php":"c44232150f0fd31ceded65ab8cda5450","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php":"2e6384ec55c011122ae49c2ab31c5188","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php":"03ebc8ba70d33a7641bcd07e927fb608","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php":"b7ed41ef61e377d1525c7e958240d44a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php":"5f77a12b61132f281dcfacecc7ec05b0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php":"5c820cfbec5d6688e9058ff13b81f199","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php":"d14b7b4a69e553b4224b55ba8fb8e6ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php":"4fccbc9a91796e983f184bf44e57d36a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php":"cedd9dae9fc3b958e1fba48cdf5b6546","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php":"233fb37b03b358a0d95dd3f429316ce3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php":"30034501c1e8827394f600dad177c3da","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php":"ed9489fc9798170ed382f1314d9f77ef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php":"19379b90689b57ce6fd45aee692b18dc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php":"6298b85d7cb368d69c652616f75b226d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php":"9363916e32a3dc99fe2189a3f7235c48","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php":"68dcda39a6cdcb5a867f875c7bc25b5c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php":"a6854574291715be20198669b1101fe4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php":"316ba5f95ddeb10e7238bd07355a2489","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php":"13840e28ff28f7cb85e9e6340e78fd25","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php":"053448d247e6d3f35fdd6481c80a5c0d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php":"0f612b56eabe83577f34df1ad604c569","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php":"cc75bba7a9ee518fc9bf790d6f65a0e7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php":"bef00d099144cef6472738a6be5e92aa","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php":"1e530211b9ba6fd15435546fb4007ce1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php":"97d6aaf38105ac871076dce2b949e8ff","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php":"e5d6998b98cbb2edeb34d41ed9381d7b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php":"232bf5e8e469e54dba5694d7272dd416","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php":"8815cffa55179748dd6b0c5b0e6489d3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php":"febab4dc70bf88169881a137c7f9e867","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php":"f9865fdd6316c0cf4f63342fc3593f92","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php":"25c61427a2cd5428b0d58009b87218f1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php":"ad86856f1c102ad10966ca10d3e80050","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php":"8601d714205cdecf3ded4d9341044dc4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php":"3498910b433189d6a125edab68d04857","vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php":"cd89fa53c9c4243817ce37e3ebe755a1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php":"455dfdb0bc9f208568046f819a4a7828","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php":"e2dad2b9c9f093b2cef920fe51c86321","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php":"4fa2633b71015758d2e135fba033fdc8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php":"33457531d46c2cf60b9d74bc4a0f9818","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php":"95400b3de241c1627c9c8f76218782cf","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php":"a9ea53d99254631009e54ce72b5767d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php":"c102312411eb9f14be660287bef45afb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php":"cf8565bb023ac73323b8f3c58881a707","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php":"0857b72de3aaf97103063deacd7e6d30","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php":"6fd139b0fdd8162d0ab8e67abe27483f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php":"792fb8f815088ebfc5bffdfd41a9bc36","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php":"11ee05ac784e9134af3da0d24642543c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php":"47fa3def33b8f0a3399ce77e5d669d53","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php":"31bf3afba867409fdf11f75eaa3725fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php":"214e8cdce1fa501148b20ef3d99a6cf4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php":"53461690dc58307295eeb5e2f30606e3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php":"b0ec14add96cfbb3dc2ea0b5f1cb6a80","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php":"8ba43fefc6c8231c7cb6143e2aa0af5d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php":"f80e804b0e796c13c834753912f10ebe","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php":"446e60f704190c269da69b72ece7d70f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php":"7ca4682cf570f9581b3f5262ded72d54","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php":"62c46293e7e4f2284f0934fd4c1abca5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php":"d9c6de06940a4811dcee6008657f2d4e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php":"75441fdac0af03a50449564019e4f272","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php":"8a61d0e045987bb88b7eb306738d1bef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php":"1eee5a1f75620519e3ef7c52c8da1998","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php":"1633327cc2bef18ca3a67d9b762f6ba9","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php":"ba4e60686ca80e591742fa55cdb5e614","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php":"6ac88a85bf094aecd0d27921f6660488","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php":"3b05f0480562c73c6d6cfd5eaffe1047","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php":"308f29c7d17c7998b8c3f949c0004679","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php":"e5b36670cea455e510bc29f1fb14ac06","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php":"5fed58a0b761cd3c8e8be736248cc769","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php":"abfdbaba25ac4104f4e1d314be9b16dc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php":"c29c356dac478eca80747cc4ad1f096e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php":"8edfecedba0a6ad5db8f5d4a2a0551f1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php":"9eae2b01aca584994516c509499ae088","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php":"06bc76f4e7f49005106800ea51e73e4d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php":"6549f2e00060fd671149191f1e94eaf3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php":"933f1e52fcbdc7cda001fbe4f03b5c82","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php":"399f9a13e5adf54def8dbfeefb9aa4a2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php":"55e74bac11f0cfab63e7c8967d194eff","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php":"7f5a0a3843d5623f2914cd17611b17a5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php":"32e810a86372bee32652de3a388e5528","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php":"faa9ae2967daa7805427032dd0e055ec","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php":"6dcb6f47a697f0b377fe2531fe7bf2ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php":"f814d795a95121476a39b0111f6c7b3f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php":"99de2cc1ce10ca83162a51e42c6b287b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php":"6f40dac9a62167161a07e4fea914f81d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php":"a94574dbadf4579c9674fdc669376dc7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php":"40c7200ff7fcb89e4b106c3c063f826f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php":"e746812dffd577ef46bb19d45d7d051b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php":"2144c25da36774215186ffc40e4473ba","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php":"fe1b57bb06f52f26d1848477660465f4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php":"b56f15e308be71bca4fa6a379df941d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php":"eb4ff6ed303ca33d9e799d48e3f24175","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php":"16ef6ba9e3ca2295f3bb1e162f1a18d8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php":"6b12f1aa5cbb06aa637e1edc49f6bb31","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php":"f8c066212ac7bef32dec610995a4c39b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php":"734d792760db90c8fed149e7ce736f0a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php":"e91e4cd294f7eef140353cc583aeba2c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php":"e099d606a1f80f2e48d5e05973a71cd0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php":"397e9fefcffb753d0f91899019e7f73a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php":"57b44d02461030ccac24175960e8182c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php":"a84b66f7da2f95b3c4f758bc87df09c2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php":"00c8cdb3fd77913667e59bccbb77df0b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php":"43ec7f2f057779f03b482cd4136dccb5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php":"61fbff33f92205546366b8af93f5a538","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php":"782f5a3c041a5c263ce4176dfa9c53c2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php":"4868658aa54548ce08ba6a7a7e7ef6fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php":"189a7e6333d413f74dbbb464e3482117","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php":"a9f3dadfe8fd9dc75ce21a4eac223500","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php":"2aef81d0d05e79f998524d5c82767b65","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php":"1050a097e9cfc20642cf940a569e89e0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php":"46a190f7fa4347838efb683cd7301255","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php":"6d524caec79bafacb717f5318a6cb32d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php":"f0c517ec50e4b26ffdc41577031badee","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php":"22a229b0bff44dc453215c6328798365","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php":"ac575fd139ad3eaf155822cf87a4b4e4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php":"566c63e4c73c0108fde21d1a9d286dd0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php":"ab7fc61962200b4f7ef7f69b364c4236","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php":"218483120b35cc74672a773ca8b1840a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php":"eded371279a485d9be65478f63293162","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php":"681aab405ad63dc51a6123a8352ff975","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php":"b18bc8a722259a390e0a1c4e55780175","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php":"f2013e38d247bbbdba7a26ab2d32529e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php":"0fa73cf1bf96f586b99a1b271222524e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php":"2657df34d4af0fa2d13fa6f5971278e3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language.php":"6f18adcaf3a47b6542b23953d72b2a6e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php":"788cd3cce28581759b42c7c10ea4ad48","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php":"c1ea035c3a68aee24f6d4c264ee79d6b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php":"146f1c2d41e1fdf85f334a05a0dd41ca","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en.php":"5836f2bf2c494d4de7ae70d602063f50","vendor/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php":"65d08b1974f0f5c21d4669d392a414f0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php":"7ea85f816c14dd5ddb41f666c0c77316","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php":"269fabca40be191a457331923d66275e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php":"f21f1a3132ca9b3ca910062e7e3b61c7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php":"896582af8d5c587be2bc3753d332b64f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php":"d4d387d3072387b2c92573f01cfb17d5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php":"e469fd5dc851aa49d6bd03757abe1859","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php":"08202322ec607e2f334e578b3db6890c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php":"9f2e1a2bbd129e3b714a51f3d97e7731","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php":"bfdda227bb41be3cb7829786aaebc93e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php":"c243827d4279b24f43fc7fea65d6dc4f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php":"32e2635460cf0df0e14505869b0f463b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php":"9cbdedf404d96d4f86325b73e1251523","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php":"e7ecc15cb1809c48ef313398890fbb81","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php":"061d58fd2fb51d1d7155c6ce2c61e8fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php":"68e5a7818be2ec6296b58ff64dd89ba4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php":"678d29afcee88818385ca5a04ef29de9","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php":"9ad5c8f6fbe1412195f178df14792b99","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php":"3f7ffa4bbeb751b4bf3ec504987eb46e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php":"6b9aefb0d8434c064b83858eccb28dc5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php":"2b0982b7dce8032094bfae36e6bc7e4f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php":"090c3a974f5ba784ae2f848a5ab9db00","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php":"d72e87d6443474038897302b518829bd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php":"be08811b7d0ac7d2ae55541952e3cdf7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php":"29cf6bb54660fa1bc1ac203adee9c7d8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php":"de386714f1a9ccd792220876d51fef2c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php":"25393b273916ec4ba7bfdc9ebab9e3df","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php":"5a8ed264cbeb5f187c3380c60971c9d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php":"6135c32b996efc939a1f1de51c17b345","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php":"5997138854240b61895e61c3fa4e68d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token.php":"740764b8b7d290ebb66bfacfc580fc12","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php":"ebfa8a6a68850ec5418a63872fdb7cc2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php":"c13013371746cf36b46fe3dc6fac3d9d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php":"5029c29d5745b33b87dde8b304fb2119","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php":"3289ffc2b1f7b04a342bd941a5519c44","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php":"4cb801b75b88f656604b400814dedbf4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php":"def5a8c3c146742a8473213deb05091a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php":"b011bc09cbe8ccbd27be270f272f4d97","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URI.php":"e754a06fefd1ee34de730ab3ab0c12e8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php":"883eb3dd5ce302eb43f4ccc650dcc760","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php":"0b87fe2090bd8f5dbae706a90d454c21","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php":"8936e61cab6355bb4df10379460b989a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php":"8440a24e9f0f789dbbb83bb5a9a06c6c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php":"8bbba579967f805f662169e4480de774","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php":"73db11a0475b4a7c64fdef91d23b2999","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php":"3fd8ee4af334352657e75d52573326f4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php":"945560218fc71c4428c88041187eeed6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php":"6c8e3a53165bb2a81077d195843368ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php":"ba6ffbeaf6c053c17746ea17da37a9ae","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php":"8193609328daa3fdfe60639c499048da","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php":"cc6ee68205f63fbb2ea1517a43987813","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php":"2318fecdc41632ec5ffe981d28dffd32","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php":"640130d7af5a37e36188ee60db965836","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php":"7799e8f35b8dcff5a7ece8587b0e5592","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php":"1925abd37b900c97e05383adca2c070f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php":"63ab0c48b2d4d7bad88f3fa59f81f805","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php":"cbe3a1005253bc23584b286e246db7d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php":"b1c0862120423c41579476540becfa69","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php":"b6fc83102e8e6dbf564cd44b0e44b626","vendor/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php":"a8c44da0f46602532a4405d48beff00d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php":"bd7c8240177e7a19b356f3ddca46a158","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php":"1d761a89fa0ca40e84494db1b7d59561","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php":"19873ef7ac91b6c47083af60b0347811","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php":"8b1819c0ed397d313e5c76b062e6264d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php":"c3ac8d7e46f252218597224376434bb0","vendor/ezyang/htmlpurifier/package.php":"66259841f8bda1d10d43af7668f99e69","vendor/ezyang/htmlpurifier/release1-update.php":"fe6a1df07a76e74091e3c1e6a4c044a1","vendor/ezyang/htmlpurifier/release2-tag.php":"0154007177368e4c50717ac988c30d94","vendor/ezyang/htmlpurifier/test-settings.sample.php":"e3d2e08a8b85eb927ef5380d7d2d4a37","vendor/ezyang/htmlpurifier/composer.json":"758a8da0124871ddb409053aa83c0c0f","vendor/fguillot/picofeed/lib/PicoFeed/Client/Client.php":"045d08d62dc151bae4e381f6575205ca","vendor/fguillot/picofeed/lib/PicoFeed/Client/ClientException.php":"9617012d56bda0b7cb490692aacbc08f","vendor/fguillot/picofeed/lib/PicoFeed/Client/Curl.php":"a20ca14b937624e792a7fd98111c6486","vendor/fguillot/picofeed/lib/PicoFeed/Client/HttpHeaders.php":"8c678aeb9baf7e091f3ff4ad6a4522b1","vendor/fguillot/picofeed/lib/PicoFeed/Client/InvalidCertificateException.php":"b9741339b44221890f9a03051c8a8bdb","vendor/fguillot/picofeed/lib/PicoFeed/Client/InvalidUrlException.php":"4c5ca6faba4a84e0e7cf35cb455d8997","vendor/fguillot/picofeed/lib/PicoFeed/Client/MaxRedirectException.php":"0479c240de78ace26c429265b2545a7f","vendor/fguillot/picofeed/lib/PicoFeed/Client/MaxSizeException.php":"9584f03aa10aad06e76e50d6af22dbf5","vendor/fguillot/picofeed/lib/PicoFeed/Client/Stream.php":"7ba5f676926eb8dd8a3e7f3dbc5321eb","vendor/fguillot/picofeed/lib/PicoFeed/Client/TimeoutException.php":"477297ccf21289fc0f8d24a8f5f34f3d","vendor/fguillot/picofeed/lib/PicoFeed/Client/Url.php":"cdf70b87c09d160c18e89407f27070d3","vendor/fguillot/picofeed/lib/PicoFeed/Config/Config.php":"da5c4e3c632c9b8fcaa5d8a3bf282790","vendor/fguillot/picofeed/lib/PicoFeed/Encoding/Encoding.php":"abcc172d90bf80cda9964b689eaa9727","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Attribute.php":"6adb91574d0f03287cb2774708c231cc","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Filter.php":"be6142f8324627e9421358203197c64a","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Html.php":"f80c0e16e585865de13fa64bb56dd00c","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Tag.php":"dbebc6dafec0621bf5d93573ed67597f","vendor/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php":"195fd2e9bd2e6d706100bcd80a1f0f59","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php":"95095267599a72c20a65436ce43533d4","vendor/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php":"866e51875b02864d01ee90954990703b","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php":"15d53180dd5eb6a695946900bc3b2296","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Item.php":"2edf29342dfe00900991fc3071225b32","vendor/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php":"d369662edea7728bec55bbb90a11486e","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Parser.php":"df7079438ded5ff5635e41ecacf0c7f6","vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php":"b443ab5a0a83fefd2f184ed8ff8dead4","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss10.php":"5f29f27d36d4e53899fa46a06bc23ee1","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php":"b86b89a315521e571985b5e13a93b15f","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php":"05e59c71cbac42d18f96b0f085fec5d1","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss92.php":"106649bfa6481004286dc049589a62ca","vendor/fguillot/picofeed/lib/PicoFeed/Parser/XmlParser.php":"bbee815490e84024ac866d071357be8a","vendor/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php":"f43fa4fd321392e4f732c43ce45dc178","vendor/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php":"33ddbb7da7d6822f64082e599d59045c","vendor/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php":"ad0ab39b96c6524c555786c9db8f9515","vendor/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php":"9f20b02ab9c76b14640b78ef28862d90","vendor/fguillot/picofeed/lib/PicoFeed/Reader/SubscriptionNotFoundException.php":"d371d3a2c7154afdff2ededd65c05a8d","vendor/fguillot/picofeed/lib/PicoFeed/Reader/UnsupportedFeedFormatException.php":"77a37a70fdc6ba55cf62258977dfdbce","vendor/fguillot/picofeed/lib/PicoFeed/Rules/01net.com.php":"8c42c584e28c146a2365b5a1136f1152","vendor/fguillot/picofeed/lib/PicoFeed/Rules/abstrusegoose.com.php":"94047d52791a5812533f544fb99a0952","vendor/fguillot/picofeed/lib/PicoFeed/Rules/alainonline.net.php":"e2e4d54d575f58cf11e0cb36f223e4dd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/aljazeera.com.php":"5dc0f53a2ac05a73af73b030fb1679e0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/allafrica.com.php":"67fafe564677f8bbc7690e330c67bb3d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/allgemeine-zeitung.de.php":"4d60f968579a056c68ea5ee13a5fd592","vendor/fguillot/picofeed/lib/PicoFeed/Rules/amazingsuperpowers.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/anythingcomic.com.php":"c51aabdecb0cdaea0108ebc3baa31235","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ap.org.php":"3e0ada1f4012ae24c90902aed5a7b2a2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/areadvd.de.php":"2ab27aea8c6ee62d9e1a65209d08ae27","vendor/fguillot/picofeed/lib/PicoFeed/Rules/arstechnica.com.php":"a5c57e32c2fdf5869764e69c4c58ffaf","vendor/fguillot/picofeed/lib/PicoFeed/Rules/awkwardzombie.com.php":"bd9274a71823b766dcbd44e2530879d4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bangkokpost.com.php":"0d580e2538c410e323965aa4826a56c3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bgr.com.php":"7921323c905d0d7ec9f56632b2b3c334","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigfootjustice.com.php":"c7728cff938e6afad6f1db54a3978c4a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bizjournals.com.php":"33c1c9ee1f7d1d8646b610dd8112d902","vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.fefe.de.php":"5c6f25ff9565b7d42b99dcdb2de0f941","vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.mapillary.com.php":"1bf9cffa605468999e57498a2c2c00fe","vendor/fguillot/picofeed/lib/PicoFeed/Rules/buenosairesherald.com.php":"3e563444cbfaa52378fe8582881ef2a0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bunicomic.com.php":"29854e19d56b2ab631c0178825c684ed","vendor/fguillot/picofeed/lib/PicoFeed/Rules/buttersafe.com.php":"8f45d09ca4ea985686c2b5716a55e738","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cad-comic.com.php":"62cf31e2e7d26488f3af6379f83b2f92","vendor/fguillot/picofeed/lib/PicoFeed/Rules/channelate.com.php":"ad9dd660f8f40dd4fe47888da162e621","vendor/fguillot/picofeed/lib/PicoFeed/Rules/chaoslife.findchaos.com.php":"f6baa661537e90aa1e081349f3b3d003","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cliquerefresh.com.php":"75ebc921b5939f23a065973f2c0665c7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cnet.com.php":"14c8ac409f6579ba2be57ff2972d4ece","vendor/fguillot/picofeed/lib/PicoFeed/Rules/consomac.fr.php":"1bbc30fe716e194ae2cf2cb7d0c74eed","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cowbirdsinlove.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/csmonitor.com.php":"2d805d7c00ddf778c1b0e73355ebffa3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyjs.com.php":"99d55274743e20169d32bdae03b5271b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailytech.com.php":"b4a39059b725b9886d7e17f5f131421e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/degroupnews.com.php":"0ab0e9a928a95155f55eaa177e26c243","vendor/fguillot/picofeed/lib/PicoFeed/Rules/derstandard.at.php":"4bef837246080129cf26763dfcfcceb0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/discovermagazine.com.php":"30ebea559010324710caa96eb1a42a9f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/distrowatch.com.php":"cf4726f65b5938e456a1b3d0e2a06193","vendor/fguillot/picofeed/lib/PicoFeed/Rules/dozodomo.com.php":"3dc024b875fc144fcffa6daad24a86f1","vendor/fguillot/picofeed/lib/PicoFeed/Rules/drawingboardcomic.com.php":"80ab6f5b70d36214eaeb87aa2a291493","vendor/fguillot/picofeed/lib/PicoFeed/Rules/endlessorigami.com.php":"c7728cff938e6afad6f1db54a3978c4a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/engadget.com.php":"d158b8d470011baa52d5fbb5992a9874","vendor/fguillot/picofeed/lib/PicoFeed/Rules/escapistmagazine.com.php":"c0a9a6a3134c14284e9d654a1310d264","vendor/fguillot/picofeed/lib/PicoFeed/Rules/espn.go.com.php":"c2bc8043acfd098a6e990fe5bee77a57","vendor/fguillot/picofeed/lib/PicoFeed/Rules/exocomics.com.php":"0e22b4a536d1500bdf2277431e2f8371","vendor/fguillot/picofeed/lib/PicoFeed/Rules/explosm.net.php":"fe017a5bc9eeb43370a4384522c4e492","vendor/fguillot/picofeed/lib/PicoFeed/Rules/extrafabulouscomics.com.php":"1590cc68897ef59a9b083957b8295d86","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcodesign.com.php":"54162694b881a43d6042678c6c96d759","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcoexist.com.php":"e6f618960d2f78f334ebead6c8ebb6d2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcompany.com.php":"c9709ce7e57ea90159b758f19c85a551","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ffworld.com.php":"395cce615c407c1328a115a660715055","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fowllanguagecomics.com.php":"4d57994a87b27962949e7be785365116","vendor/fguillot/picofeed/lib/PicoFeed/Rules/geek.com.php":"9503428ef3053b364a9492bda187249d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/giantitp.com.php":"b54e9044b8266cff346e6cc501cde330","vendor/fguillot/picofeed/lib/PicoFeed/Rules/github.com.php":"be451c637327fbcf049fe9790f027cdd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/gocomics.com.php":"8f69ed9236fcafc8e99d7546067446c4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/golem.de.php":"27a5a43a66ece6a2478bb21657bdd022","vendor/fguillot/picofeed/lib/PicoFeed/Rules/happletea.com.php":"00c2c96c5fc75abcad3cd931910768f3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/heise.de.php":"73a453e07846967c6358a9232815963b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/huffingtonpost.com.php":"7c2420f921c2923db5339fcddb6f4920","vendor/fguillot/picofeed/lib/PicoFeed/Rules/imogenquest.net.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ing.dk.php":"62f7b81437293850963bbb351efdcc0c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/invisiblebread.com.php":"bee19d0a659737bf8ad85f236d0c59b0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ir.amd.com.php":"80aeecf36f9bfa5d77fa771fec1aca28","vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantimes.co.jp.php":"9f6818c65946e10ab9e8a336e0de53bd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantoday.com.php":"79073493e1125548d5ec94fa6e1cad81","vendor/fguillot/picofeed/lib/PicoFeed/Rules/journaldugeek.com.php":"f6bf2d4c1d7cd52e6081542227ec8764","vendor/fguillot/picofeed/lib/PicoFeed/Rules/jsonline.com.php":"4594cfb1b64b4d616e54a0f2d442c247","vendor/fguillot/picofeed/lib/PicoFeed/Rules/kanpai.fr.php":"912a114229073b0e9e6aebff7193b892","vendor/fguillot/picofeed/lib/PicoFeed/Rules/karriere.jobfinder.dk.php":"f9f725e48cf9f2fbe5bb7d3993158c3e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreaherald.com.php":"2404340372e540bc443b6fe38f293b0c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lastplacecomics.com.php":"1590cc68897ef59a9b083957b8295d86","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lejapon.fr.php":"8683b87b4cb86d007c6db3f74381dec7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lesjoiesducode.fr.php":"d1af52ef7d2c9f0d1e63ae19294e50fd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lfg.co.php":"cdddecfc73b04a6200eb4221669d3f81","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.com.php":"556de60735a7ab70eec137ea749c6a80","vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.php":"2867fd70d4bd6667196ecb3ceceb04fd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/linuxinsider.com.php":"e7f5647b206ede08c8c2d12b5edc5915","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lists.php":"6063158b81fb76e446fae79fa4918269","vendor/fguillot/picofeed/lib/PicoFeed/Rules/loadingartist.com.php":"c7728cff938e6afad6f1db54a3978c4a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/loldwell.com.php":"fc45757004af7b8750e03f3170a155c5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lukesurl.com.php":"1f3c7e86e5b353b24bc040ca311fd4e7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/macg.co.php":"1560233fff70c682cb78a5fb1be1ce6e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/marc.info.php":"0b00f77eba8625e67dc8841f5e3deb69","vendor/fguillot/picofeed/lib/PicoFeed/Rules/marriedtothesea.com.php":"36749584dbfb59b59365891c77b4a239","vendor/fguillot/picofeed/lib/PicoFeed/Rules/marycagle.com.php":"cb4b191821a2527d760df60017d21f97","vendor/fguillot/picofeed/lib/PicoFeed/Rules/maximumble.thebookofbiff.com.php":"e223e865b8a0413395920f927aab39f7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/medium.com.php":"91dd5a6d0f9bfa878fe238f30d1ee686","vendor/fguillot/picofeed/lib/PicoFeed/Rules/mercworks.net.php":"bc28eff38c4aa03fcbaf1352a776192e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/metronieuws.nl.php":"1026fd24f38dcc5755504510357a1297","vendor/fguillot/picofeed/lib/PicoFeed/Rules/mokepon.smackjeeves.com.php":"7b161d8e4c13ec34fdbc9da2331a9aaa","vendor/fguillot/picofeed/lib/PicoFeed/Rules/monwindowsphone.com.php":"1023790b48998fc34e70985cc7b53601","vendor/fguillot/picofeed/lib/PicoFeed/Rules/mrlovenstein.com.php":"37917521b6b2934693a658254a68acc6","vendor/fguillot/picofeed/lib/PicoFeed/Rules/nba.com.php":"2ee199540dd788a50fd89a41354500b8","vendor/fguillot/picofeed/lib/PicoFeed/Rules/nedroid.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/networkworld.com.php":"6a83704dbe4e4d203bc86944fe36969a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/neustadt-ticker.de.php":"7e57053ce161c2885ebe7a7ac294eb2b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/niceteethcomic.com.php":"a495d1a7405ead4f71c40d5586d14cb3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/nichtlustig.de.php":"171b00ece2a7049242d7307d37538d0d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/oglaf.com.php":"220595e3fcff097a928057cbb9d57169","vendor/fguillot/picofeed/lib/PicoFeed/Rules/openrightsgroup.org.php":"6e3cc6b221397615dcc8f7d49e1a1c9b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/opensource.com.php":"abc8e2557b4a29fb92652cf5e4cfd25c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/optipess.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/osnews.com.php":"59e768796d9d79f9e16328f78aefc400","vendor/fguillot/picofeed/lib/PicoFeed/Rules/pastebin.com.php":"b7b2bfeb35249368c5b248845471af70","vendor/fguillot/picofeed/lib/PicoFeed/Rules/peebleslab.com.php":"4550733c6be62c24414c453af4856907","vendor/fguillot/picofeed/lib/PicoFeed/Rules/penny-arcade.com.php":"ec51b724ee1d4d1fd200616dce8cba74","vendor/fguillot/picofeed/lib/PicoFeed/Rules/pixelbeat.org.php":"d97f1bd51daf1f4b7ee4911b9016a56e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/plus.google.com.php":"08ee705e9fc8ce7ea33aac6ee2bdd77d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/popstrip.com.php":"4215fecdaedb3e156fdd185ca209171f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/putaindecode.fr.php":"401784d16f5023bf1b86cbb4e3dde90b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/recode.net.php":"88e846364f57669aa81949ffa7ec9469","vendor/fguillot/picofeed/lib/PicoFeed/Rules/rue89.nouvelobs.com.php":"eea6d3bd6b1dd0f7cacf6a0dd3f824bf","vendor/fguillot/picofeed/lib/PicoFeed/Rules/satwcomic.com.php":"ad3e2b67bc96448e35f2d02ae3a674d6","vendor/fguillot/picofeed/lib/PicoFeed/Rules/scrumalliance.org.php":"22d102eb10b9f73423d0fa1f9fa45b4c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/securityfocus.com.php":"501f331343b64fdd60fd02e31b1199ad","vendor/fguillot/picofeed/lib/PicoFeed/Rules/sentfromthemoon.com.php":"046be90364ff8c8935773b30e1b5a565","vendor/fguillot/picofeed/lib/PicoFeed/Rules/sitepoint.com.php":"28ade8b270e33b192baadb31108ee2f4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/slashdot.org.php":"f7d54e81fbe5825e528fe8b39efbe801","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smallhousebliss.com.php":"99b660e4e702329cb17c592f19ea6b54","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smarthomewelt.de.php":"5338f9959b5c1efaa5e0a9c5ba88b868","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smashingmagazine.com.php":"222a81d83a075bb6e1546c57e34c6534","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smbc-comics.com.php":"1f94df885b04d612d01245620f8e9cb2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/soundandvision.com.php":"fee7b568e617e8d61025c1d6f75612bc","vendor/fguillot/picofeed/lib/PicoFeed/Rules/spiegel.de.php":"5c1a43aaa0659d041f414de1609f6aab","vendor/fguillot/picofeed/lib/PicoFeed/Rules/stereophile.com.php":"2e79f306c38b4314f4f57e84fa91b479","vendor/fguillot/picofeed/lib/PicoFeed/Rules/stupidfox.net.php":"b2bfef1ae3ea7c86b28e3c1b73756d41","vendor/fguillot/picofeed/lib/PicoFeed/Rules/subtraction.com.php":"f980f7560c762e0aac954ee812c4b2e9","vendor/fguillot/picofeed/lib/PicoFeed/Rules/sz.de.php":"103eed1f6cf46fe4ca7529bcbd45736b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/techcrunch.com.php":"62a7b9573847997f23dc36dbee7a8094","vendor/fguillot/picofeed/lib/PicoFeed/Rules/the-ebook-reader.com.php":"3884dad1e17b43153d4946562c8f1203","vendor/fguillot/picofeed/lib/PicoFeed/Rules/theatlantic.com.php":"520a97e2640bfcbbdfb679333dc11e7d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/theawkwardyeti.com.php":"1590cc68897ef59a9b083957b8295d86","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thecodinglove.com.php":"0e2dc26cbdd86cf6e055c2aadc10e08a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thedoghousediaries.com.php":"046be90364ff8c8935773b30e1b5a565","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thegamercat.com.php":"f5c068fcac8f1cdad1898984db11666a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thehindu.com.php":"86fbfdd0d86bf9e0260d94f64efa7b02","vendor/fguillot/picofeed/lib/PicoFeed/Rules/themerepublic.net.php":"a2e4a87c8c83b28c2d9ee15724109882","vendor/fguillot/picofeed/lib/PicoFeed/Rules/themoscowtimes.com.php":"f924e5b4f4158f2891b775718b55a82f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/theonion.com.php":"e6ad227c9fefc0e8b3f0e3068c955f39","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thestandard.com.hk.php":"0873f9aed2e256160d15e24db07994f4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/threepanelsoul.com.php":"1cc63bfb97f50873da9e3d443b683d05","vendor/fguillot/picofeed/lib/PicoFeed/Rules/travel-dealz.de.php":"0df0da0a9e27959aed211c84760e11c7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/treehugger.com.php":"2b146c623404e05f1bd0edf2c8a5f89d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/treelobsters.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/twogag.com.php":"4fcf27f1f20367daf0627c3d6cd80d72","vendor/fguillot/picofeed/lib/PicoFeed/Rules/twokinds.keenspot.com.php":"4ba17c5dd8339a28565b5e9eb08091e4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/undeadly.org.php":"ad44e9d0726eaf11c2bc79e7718925cf","vendor/fguillot/picofeed/lib/PicoFeed/Rules/upi.com.php":"68c0fa22acb0895ec59ead6c1a87f842","vendor/fguillot/picofeed/lib/PicoFeed/Rules/version2.dk.php":"11d80ab91703a8cfa9508fc574cfddb4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/vgcats.com.php":"64e8b4f6be3760040eda4bd9f91e87fb","vendor/fguillot/picofeed/lib/PicoFeed/Rules/vuxml.org.php":"732eaf53ad4794239ed549778e600a7f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bbc.co.uk.php":"ffa82d34282c272b88dbee993da58a6e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bdgest.com.php":"9593f6e6444785815a4f035fd6b7d667","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.businessweek.com.php":"4ec0f7afd9a11027ea104e1dd83d2cc5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.cnn.com.php":"31187c930f3a00506b3845e736a38c0d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.developpez.com.php":"02c79b60f03fae3657bf647b5955d75b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.egscomics.com.php":"02b08c57c9f662f86c4601e11e046f6c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.forbes.com.php":"2494ef2832921e351e5ec119ae4f2d5c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.futura-sciences.com.php":"6ea947d81b09092aa2462cd3cadb2596","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lepoint.fr.php":"57736293af5e2acd482becda8616faa1","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lesnumeriques.com.php":"480e99e548137c3b9bd23d2a415f62fa","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.mac4ever.com.php":"8527e3cd31ad25463173b3baf7c44dbc","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.npr.org.php":"f369daceba6a7b9b72d1ca877addebab","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.numerama.com.php":"e53a43576b38cb5f4d5564bfdf88e166","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pcinpact.com.php":"e1ba0e554b356b63a8fac1689010f721","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pseudo-sciences.org.php":"543f26acae3682cbe2e124a75e503d0d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.slate.fr.php":"e27e7b0aac175452126119c26cb39cb2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.universfreebox.com.php":"20613b2ebd9e837c9ee98017d9579860","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.zeit.de.php":"3556ca5f16816acffe3673016b4b6c77","vendor/fguillot/picofeed/lib/PicoFeed/Rules/xkcd.com.php":"96e3be66352729881f5db6d8b883320d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/zdnet.com.php":"50548309c8058ebc85b460b55e5a8257","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php":"f9fcec8ba906f2fef837ec5e0f95e83e","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php":"ca3c6b38a4367eedbb9d6e230dd1560b","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleLoader.php":"42f36ba3ebb95d2f5af0f24f2c5b3c17","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php":"64ff3f6a0eec381065b7036e3ae4a195","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php":"620bef25574989eb31efa1d4de280984","vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Export.php":"f5ac2afd201253a5756ef31c8cb16001","vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Import.php":"a9223369b92e47a87bc6c0d5c73ded6c","vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Atom.php":"b792aa4c364df93c5bec403d2392cc27","vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20.php":"6d6215256f5e05960661b5619f92b446","vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Writer.php":"621502fa74b4dfa4ab52f1a794838688","vendor/pear/net_url2/Net/URL2.php":"193135e356ffdfca605c4834f8a18b87","vendor/pear/net_url2/composer.json":"b1f4886f7ca5176cc7685dea3d534cc9"} \ No newline at end of file
+{"COPYING":"73f1eb20517c55bf9493b7dd6e480788","admin/admin.php":"9cde71cc73f1b555ba8bf97998d3eb1f","appinfo/app.php":"0a29198a445bcf095c209025fb7ca4d5","appinfo/application.php":"f223885991fecaf712896a0735268fdc","appinfo/database.xml":"a12bfc5f8d713e415aba440ae560ed3a","appinfo/info.xml":"6ca4f65b118ab98804bee4d95b73bb72","appinfo/register_command.php":"2fe3314baa3db324b93009a6234406a7","appinfo/routes.php":"9bf3ee9cd80776f7e2df13cd6e4acda4","bin/tools/generate_authors.py":"92238d8985f408b9763262eaa9e057e4","bin/updater/LICENSE.txt":"73f1eb20517c55bf9493b7dd6e480788","bin/updater/MANIFEST.in":"e4f72d98cacd6beb3ca3d5e6a026a3b6","bin/updater/README.rst":"6bcd3743d1ececd73522087adb473950","bin/updater/example-config.ini":"7da58ee1864702bb56548d420ac70da5","bin/updater/owncloud_news_updater/__init__.py":"d41d8cd98f00b204e9800998ecf8427e","bin/updater/owncloud_news_updater/__main__.py":"af28326896d08c98f0d9cc101ae4bb43","bin/updater/owncloud_news_updater/application.py":"f4742edf995f14d216ae1a4a6b3d2b7f","bin/updater/owncloud_news_updater/updater.py":"c95ceff854798bad0685ad45004b3b6e","bin/updater/packaging/rpm/owncloud-news-updater.spec":"00c22e3496f770f0bd41d2ad0cc363bc","bin/updater/requirements.txt":"197b4deb87ffa3decd9f045926a86cd0","bin/updater/setup.py":"52e9af20f53cb60b09df48b9795edfc5","bin/updater/systemd/owncloud-news-updater.service":"f0b09c7a01a827ed396b8e180bb1a7a9","command/generatesearchindices.php":"47e2365cf21ba4755401c3d44a3cff5f","command/verifyinstall.php":"3f93b054bfc0802767a9c64d91379b81","composer.json":"230c705edaa030ee708540dfd3a8fbb7","composer.lock":"5a504036dc7c00004b97777001bd7553","config/appconfig.php":"dc7e95872a7451aaada4dd0488342658","config/config.php":"aa9e1a156e37088987c1b8356e39c115","config/dependencyexception.php":"d4eda6de2f355c1ec39730589a5ba19c","config/schema.json":"abcef84bdb56b34fd6028ccec360d5e5","controller/admincontroller.php":"de1d2fd0a1e059ab43abc5a47715a2a7","controller/entityapiserializer.php":"634d149486ea9e225d9fe82514d2a585","controller/exportcontroller.php":"f62c609ce18ce90dd218e3e08bfbc4c8","controller/feedapicontroller.php":"15460715f9bd0c53030d033b2bf32c28","controller/feedcontroller.php":"9f20be45a7a1bbae47ba7b04e19ad645","controller/folderapicontroller.php":"42e7a2269e123d02a564dfa4f8fccc66","controller/foldercontroller.php":"9f44b3dcf41704549809336414be819e","controller/itemapicontroller.php":"487f097505adab17c52cd228e5731db2","controller/itemcontroller.php":"73c13d2783357017f465e9bbef7a56c0","controller/jsonhttperror.php":"634df2ac5d49d55abcb198650a63403f","controller/pagecontroller.php":"ce2290c584689db4627c4c179682c73c","controller/userapicontroller.php":"f0ef90c5138a3ff67f5fa0f2bc5cd0d8","controller/utilityapicontroller.php":"7829f0d3497a4e8c7176fc6e58682b8d","cron/updater.php":"e009e8c6e8533fe1fd850c5986bd6dec","db/entityjsonserializer.php":"d49a81add439ad227fa72bebfca12a71","db/feed.php":"47c4f259d8bd188ffeece759c345db02","db/feedmapper.php":"8e254e702360dc836fbfa2ec4fb17262","db/feedtype.php":"c4db42362f629b42b1676d4b5f66f58f","db/folder.php":"d2dd8844791a92db77591e1cbbf01bcb","db/foldermapper.php":"1b93685d4ad3a861c6a63819505d7e71","db/iapi.php":"905d56635d7844639056b6c2c0da62a6","db/item.php":"a0566a1ca2f30dfd3d5ea693a65b7203","db/itemmapper.php":"9abedee072af69aaab441f346e1eec52","db/mapperfactory.php":"5c0ec71f723ab542b248873c3b6b9975","db/mysql/itemmapper.php":"37c3b8c3f186798f5617ff83c1f6639d","db/newsmapper.php":"cc0bb1eaf23be0df0572d0a6dfa6968a","db/statusflag.php":"5f43c4018b0f601f4af9e90e0fd0b4d2","dependencyinjection/ifactory.php":"f119d1f13d793f5d23869c10cf1dcbf9","explore/recommendedsites.php":"ce9b0eda7a8e2e51c6d8ba919d81fccd","explore/sites.en.json":"225aa277288a9af72c4ed66cf4e2acaa","fetcher/feedfetcher.php":"8eefaf5dda313752aeb064cecacf704c","fetcher/fetcher.php":"16611d965170ad7addc8281423879b73","fetcher/fetcherexception.php":"77781766d4d8eef15e0f29bc1ec7abb9","fetcher/ifeedfetcher.php":"de1aba9a423542bab5a731e28a311dab","fetcher/youtubefetcher.php":"3187568872733340be4c02f902d7c1a8","hooks/user.php":"ed4c4bdfc6b8b06410f1e4ae28355afa","http/textdownloadresponse.php":"becb957296e983546d69b8964bc3df71","http/textresponse.php":"83a6f7ce1bda9c4a8c7ca18ede8a504e","img/active_star.svg":"b3c26ec68d2481571d291faffdebd3d2","img/add.png":"6371032504a4f8fe2ddbaaa72d5bf553","img/app-128.png":"be2435be3664c0bfd7060f5498e33e87","img/app-512.png":"9957249ff0eab114d92e2eb02ee0a3eb","img/app.svg":"498858bb7be07e812f246b1be438feb8","img/arrow-white.svg":"372cbe3bb42a9496a4aed6e164da3439","img/arrow.svg":"c7aae23e57f5ab63ec127e46c45019bd","img/close.svg":"d7985280d981c38a36dd93b2beaa9b21","img/fulltext.svg":"2c62ce67a500dbac12608f20b3548b1a","img/inactive_star.svg":"e27f651ed1aa09e8032927c0f2b83d6f","img/link.svg":"122e37a177ef635120181bb73f19c40b","img/loading.gif":"47e216e917cec034f146e1f9c30f4b5c","img/logo-icon.svg":"b87e61e3959f4ebdb8d3a5bd7d399cb1","img/nonfulltext.svg":"0236ea5c4fdb393d016a815a2c544430","img/pinned.svg":"a3e102de08e1b0eb75bc65670fd8cee5","img/rss.svg":"079bde64eaed1c8bbc88bd61316de844","img/starred.png":"5d75ea732e0af815af30df096c581ee8","img/starred.svg":"cc0f13e8be159f79f6fc494b91964fdb","img/unpinned.svg":"f550d868a57dc3cb10d2261375cecc43","img/updatemodedefault.svg":"f7db8cbd4cd94d8a7c163af42d2f397d","img/updatemodeunread.svg":"70355bc7f16881148e23635517ace8c8","news.iml":"b6f4099a82e06217ea328f48e1597b48","plugin/client/plugin.php":"c7480df1769b9c195641bb201844267e","service/feedservice.php":"5c228fa50919e99b9f0e7b68e9cf2e92","service/folderservice.php":"66b9fcaab421239d518f40661ee3c3c3","service/itemservice.php":"2cbd711293861f0b61376827f09ea2ad","service/service.php":"533c87b6802e13bcdac6b9a2deef6090","service/serviceconflictexception.php":"8239dd0475ce4962e25af748b08440f0","service/serviceexception.php":"52f816ce47525e65efddff6652f2c4ab","service/servicenotfoundexception.php":"f9acdf6fedc05a9857721185cf1239b2","service/servicevalidationexception.php":"b6ae908d4b03045edf052e73f9c7d14b","service/statusservice.php":"7263bdfa13cfc737dfbf60bfdf80dc1e","templates/admin.php":"eee1837c9b98eaca0b6d526e15cf1f3c","templates/index.php":"905c6c0c5d8f67ab311fd6ac122b2765","templates/part.content.cronwarning.php":"d6e0f128f5f412a19faf9e7eeb406141","templates/part.content.explore.php":"c82db9fe40306718daee6f2a620f1052","templates/part.content.php":"6bdc44742d731a3215b6682e1582b87f","templates/part.content.shortcuts.php":"f6efb88396d2ea8b15c693cacaac7c3e","templates/part.navigation.addfeed.php":"98c46e7cb7afe28966d63e9832d56092","templates/part.navigation.addfolder.php":"a588be3de1b63050aefa84b0c290aa68","templates/part.navigation.explore.php":"3a91b817f8573a4b0e2f89880af195c8","templates/part.navigation.feed.php":"83bcf3e9f8e2a0a77c7aca9eb08aa7be","templates/part.navigation.folder.php":"2d9d4f62af945b13c925b4a22b73c278","templates/part.navigation.starredfeed.php":"a9b3257d6e1de39c02e396e647915c21","templates/part.navigation.unreadfeed.php":"8f8ebd16c901238580aa7cb9212ece36","templates/part.settings.php":"e853dd58866190e2760330a157b1d867","utility/opmlexporter.php":"3a8e0abc6973bd535e25cefd836c7b82","utility/picofeedclientfactory.php":"34410c07a7a7d00ae780633524deb02a","utility/picofeedfaviconfactory.php":"04729a3b2e7d46c5aeb20f14440b6439","utility/proxyconfigparser.php":"40dad4ac320b67a62c06f89572f132ca","utility/updater.php":"de58422fcad6ee9b6af7202b19126798","vendor/autoload.php":"88a7993c13a69b5a81176126de195860","vendor/bin/picofeed":"09041dfdad7fa8c4bcef6b8237dd5c65","vendor/composer/ClassLoader.php":"9c1e7fe1a9eb1693e07ee4420ca5361e","vendor/composer/LICENSE":"084a034acbad39464e3df608c6dc064f","vendor/composer/autoload_classmap.php":"def51b21ea9d40feaa871dbc1fcc0e8b","vendor/composer/autoload_files.php":"8dc7c58dade5c2664c75c770cf5df93b","vendor/composer/autoload_namespaces.php":"34a203fc422c889d541d29501f1225bc","vendor/composer/autoload_psr4.php":"cd8b74f8f51ae607d5fac067b3ad53b7","vendor/composer/autoload_real.php":"6b3d188d2b85f20feff1a787378f4db9","vendor/composer/installed.json":"31de62730843899c3538488fb5f85d03","vendor/riimu/kit-pathjoin/LICENSE":"516c5c54ab32078a234eeecb908d791d","vendor/riimu/kit-pathjoin/composer.json":"e0d6060bb2d38d68775b508ddded93f2","vendor/riimu/kit-pathjoin/examples/example.php":"3c1a1d11d9545a0f06faf692b088e796","vendor/riimu/kit-pathjoin/src/Path.php":"67ea83863100c0b3e2ceec72b76ec958","vendor/riimu/kit-pathjoin/src/autoload.php":"2cfade8c19ac4339699b608f9377bb23","js/build/app.min.js":"e7e0f406b486de637f636443bd36903d","js/vendor/angular-animate/angular-animate.min.js":"587d656ae8820a68ffb0237edfd5c900","js/vendor/angular-route/angular-route.min.js":"580702cd98e8df1edf0ef5a7e1322ea3","js/vendor/angular-sanitize/angular-sanitize.min.js":"0710ffcad4038e4debfbfa7b7daa58b1","js/vendor/angular/angular.min.js":"a706ca14720086f417910e2eb1e60ec3","js/vendor/es6-shim/es6-sham.min.js":"750f72aaa1117aee7584f49bf569a976","js/vendor/es6-shim/es6-shim.min.js":"5cb5827957f38bd8781b3376c1878a22","js/vendor/js-url/url.min.js":"0aff5b930bf1e8bd5b9ea59c21bac0ee","js/vendor/momentjs/min/locales.min.js":"957fa64c0c7c50aec3fff10595313a0c","js/vendor/momentjs/min/moment-with-locales.min.js":"135520cbe797c6273813b949e0af67cd","js/vendor/momentjs/min/moment.min.js":"85e5d41eb9c451c16d4e784aec13d948","css/news.min.css":"883f5f6922a8d826dc31e9b796ad5aba","vendor/ezyang/htmlpurifier/library/HTMLPurifier.auto.php":"0f6dba2689f471c382240c8d2d7892ba","vendor/ezyang/htmlpurifier/library/HTMLPurifier.autoload.php":"31875cdbe86db449dc38a47d1ea967ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier.composer.php":"2ad82b7a50a5c15aa9858bdbb9ff6521","vendor/ezyang/htmlpurifier/library/HTMLPurifier.func.php":"863d2cfbb3903516f0410710baca6686","vendor/ezyang/htmlpurifier/library/HTMLPurifier.includes.php":"899f42e8c4cd6bc9ab75e96441dd90cc","vendor/ezyang/htmlpurifier/library/HTMLPurifier.kses.php":"8f9b8b66e4b09efbb50b3825110b2a59","vendor/ezyang/htmlpurifier/library/HTMLPurifier.path.php":"5a6eedd494dd20c8579e2a9d39809d5b","vendor/ezyang/htmlpurifier/library/HTMLPurifier.php":"0a9a0ad418e1972c586704bbf575a6a7","vendor/ezyang/htmlpurifier/library/HTMLPurifier.safe-includes.php":"957be86169dba07cd2a6b0954cd8af83","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Arborize.php":"4fd50c598c9fe3a213de3fa211521b88","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrCollections.php":"5138024754b1732cd3d3dac57b2f6e06","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef.php":"84d07e907b788fddc0dd5f88ce7c9bd7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS.php":"b7981b9a1d0feb7540e2169a1eeb6e16","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/AlphaValue.php":"0735ba1e0d72921d32b2be57d29f6fdd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Background.php":"526237115fa84e27deec7c8253f69012","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/BackgroundPosition.php":"ca1cf80faf9ec7a8906cb5bef9331ed2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Border.php":"bfcec5667278ee0bd42ec80ceb94b924","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Color.php":"45797670cda18b4830c1db8cc6242413","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Composite.php":"d1456a381affaa3287a559770dd825c1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/DenyElementDecorator.php":"bf5bf3a9c03a0c91243f94956d778591","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Filter.php":"44146b8f2ff0749459a2391cc55a96d4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Font.php":"cadcd652415401722a2e6690371adf1f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/FontFamily.php":"e16e88b78b17ef5933a6753db8483459","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Ident.php":"761cc62ff769403e649a0bd5a251fbbb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ImportantDecorator.php":"7d50c6c2cbbe3b334c7461b2d01b380d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Length.php":"bf5eae4ee7059716053ad9263d278ea6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/ListStyle.php":"184f255d1cfe8ab3bf620757a6700b84","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Multiple.php":"f9a630c6a53df02ba6d1a0ed3f473568","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Number.php":"96077188f46ca298b7c2d1fe8f3bc0d1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/Percentage.php":"bfb7f57fa6543314c8b8dd0373aaba9d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/TextDecoration.php":"5c9c72c263a87ea11590b0bb8105632b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/CSS/URI.php":"b439ef7f5a51b17feab6d4a1ff9a7bdb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Clone.php":"ff9e3f723f9b72f07f99c110659681b7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Enum.php":"7b67f9ef906d94c8bf3310dee3c03a2f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Bool.php":"56720c27d8ac6a011a8217beaf323485","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Class.php":"243998e52bc33a51cfa5e9ecab98f9ef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Color.php":"94924c97ef1cf7c208d7545b8a4508c4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/FrameTarget.php":"48bdb5a0f603ff235e2185e0675497ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/ID.php":"18e8f903ab5264e14d497d84b1cd6614","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Length.php":"8eef9594ae888e38e1c5921f304fd1ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/LinkTypes.php":"749a2c0adcdaddcdb0c71d8785c8adbf","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/MultiLength.php":"44af0c9a75c6ca7132ff21d128af19a6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Nmtokens.php":"4266ca99292f6337fe36a966465ea67c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/HTML/Pixels.php":"2b6c6b9a58e008f9ad30bd47feaeadc5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Integer.php":"c44232150f0fd31ceded65ab8cda5450","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Lang.php":"2e6384ec55c011122ae49c2ab31c5188","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Switch.php":"03ebc8ba70d33a7641bcd07e927fb608","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/Text.php":"b7ed41ef61e377d1525c7e958240d44a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI.php":"5f77a12b61132f281dcfacecc7ec05b0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email.php":"5c820cfbec5d6688e9058ff13b81f199","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Email/SimpleCheck.php":"d14b7b4a69e553b4224b55ba8fb8e6ed","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/Host.php":"4fccbc9a91796e983f184bf44e57d36a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv4.php":"cedd9dae9fc3b958e1fba48cdf5b6546","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrDef/URI/IPv6.php":"233fb37b03b358a0d95dd3f429316ce3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform.php":"30034501c1e8827394f600dad177c3da","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Background.php":"ed9489fc9798170ed382f1314d9f77ef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BdoDir.php":"19379b90689b57ce6fd45aee692b18dc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BgColor.php":"6298b85d7cb368d69c652616f75b226d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/BoolToCSS.php":"9363916e32a3dc99fe2189a3f7235c48","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Border.php":"68dcda39a6cdcb5a867f875c7bc25b5c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/EnumToCSS.php":"a6854574291715be20198669b1101fe4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgRequired.php":"316ba5f95ddeb10e7238bd07355a2489","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ImgSpace.php":"13840e28ff28f7cb85e9e6340e78fd25","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Input.php":"053448d247e6d3f35fdd6481c80a5c0d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Lang.php":"0f612b56eabe83577f34df1ad604c569","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Length.php":"cc75bba7a9ee518fc9bf790d6f65a0e7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Name.php":"bef00d099144cef6472738a6be5e92aa","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/NameSync.php":"1e530211b9ba6fd15435546fb4007ce1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Nofollow.php":"97d6aaf38105ac871076dce2b949e8ff","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeEmbed.php":"e5d6998b98cbb2edeb34d41ed9381d7b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeObject.php":"232bf5e8e469e54dba5694d7272dd416","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/SafeParam.php":"8815cffa55179748dd6b0c5b0e6489d3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/ScriptRequired.php":"febab4dc70bf88169881a137c7f9e867","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/TargetBlank.php":"f9865fdd6316c0cf4f63342fc3593f92","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTransform/Textarea.php":"25c61427a2cd5428b0d58009b87218f1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrTypes.php":"ad86856f1c102ad10966ca10d3e80050","vendor/ezyang/htmlpurifier/library/HTMLPurifier/AttrValidator.php":"8601d714205cdecf3ded4d9341044dc4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Bootstrap.php":"3498910b433189d6a125edab68d04857","vendor/ezyang/htmlpurifier/library/HTMLPurifier/CSSDefinition.php":"cd89fa53c9c4243817ce37e3ebe755a1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef.php":"455dfdb0bc9f208568046f819a4a7828","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Chameleon.php":"e2dad2b9c9f093b2cef920fe51c86321","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Custom.php":"4fa2633b71015758d2e135fba033fdc8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Empty.php":"33457531d46c2cf60b9d74bc4a0f9818","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/List.php":"95400b3de241c1627c9c8f76218782cf","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Optional.php":"a9ea53d99254631009e54ce72b5767d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Required.php":"c102312411eb9f14be660287bef45afb","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/StrictBlockquote.php":"cf8565bb023ac73323b8f3c58881a707","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ChildDef/Table.php":"0857b72de3aaf97103063deacd7e6d30","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Config.php":"6fd139b0fdd8162d0ab8e67abe27483f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema.php":"792fb8f815088ebfc5bffdfd41a9bc36","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/ConfigSchema.php":"11ee05ac784e9134af3da0d24642543c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Builder/Xml.php":"47fa3def33b8f0a3399ce77e5d669d53","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Exception.php":"31bf3afba867409fdf11f75eaa3725fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange.php":"214e8cdce1fa501148b20ef3d99a6cf4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Directive.php":"53461690dc58307295eeb5e2f30606e3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Interchange/Id.php":"b0ec14add96cfbb3dc2ea0b5f1cb6a80","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/InterchangeBuilder.php":"8ba43fefc6c8231c7cb6143e2aa0af5d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/Validator.php":"f80e804b0e796c13c834753912f10ebe","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ConfigSchema/ValidatorAtom.php":"446e60f704190c269da69b72ece7d70f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ContentSets.php":"7ca4682cf570f9581b3f5262ded72d54","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Context.php":"62c46293e7e4f2284f0934fd4c1abca5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Definition.php":"d9c6de06940a4811dcee6008657f2d4e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache.php":"75441fdac0af03a50449564019e4f272","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator.php":"8a61d0e045987bb88b7eb306738d1bef","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Cleanup.php":"1eee5a1f75620519e3ef7c52c8da1998","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Decorator/Memory.php":"1633327cc2bef18ca3a67d9b762f6ba9","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Null.php":"ba4e60686ca80e591742fa55cdb5e614","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCache/Serializer.php":"6ac88a85bf094aecd0d27921f6660488","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DefinitionCacheFactory.php":"3b05f0480562c73c6d6cfd5eaffe1047","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Doctype.php":"308f29c7d17c7998b8c3f949c0004679","vendor/ezyang/htmlpurifier/library/HTMLPurifier/DoctypeRegistry.php":"e5b36670cea455e510bc29f1fb14ac06","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ElementDef.php":"5fed58a0b761cd3c8e8be736248cc769","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Encoder.php":"abfdbaba25ac4104f4e1d314be9b16dc","vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityLookup.php":"c29c356dac478eca80747cc4ad1f096e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/EntityParser.php":"8edfecedba0a6ad5db8f5d4a2a0551f1","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorCollector.php":"9eae2b01aca584994516c509499ae088","vendor/ezyang/htmlpurifier/library/HTMLPurifier/ErrorStruct.php":"06bc76f4e7f49005106800ea51e73e4d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Exception.php":"6549f2e00060fd671149191f1e94eaf3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter.php":"933f1e52fcbdc7cda001fbe4f03b5c82","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/ExtractStyleBlocks.php":"399f9a13e5adf54def8dbfeefb9aa4a2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Filter/YouTube.php":"55e74bac11f0cfab63e7c8967d194eff","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Generator.php":"7f5a0a3843d5623f2914cd17611b17a5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLDefinition.php":"32e810a86372bee32652de3a388e5528","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule.php":"faa9ae2967daa7805427032dd0e055ec","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Bdo.php":"6dcb6f47a697f0b377fe2531fe7bf2ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/CommonAttributes.php":"f814d795a95121476a39b0111f6c7b3f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Edit.php":"99de2cc1ce10ca83162a51e42c6b287b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Forms.php":"6f40dac9a62167161a07e4fea914f81d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Hypertext.php":"a94574dbadf4579c9674fdc669376dc7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Iframe.php":"40c7200ff7fcb89e4b106c3c063f826f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Image.php":"e746812dffd577ef46bb19d45d7d051b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Legacy.php":"2144c25da36774215186ffc40e4473ba","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/List.php":"fe1b57bb06f52f26d1848477660465f4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Name.php":"b56f15e308be71bca4fa6a379df941d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Nofollow.php":"eb4ff6ed303ca33d9e799d48e3f24175","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/NonXMLCommonAttributes.php":"16ef6ba9e3ca2295f3bb1e162f1a18d8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Object.php":"6b12f1aa5cbb06aa637e1edc49f6bb31","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Presentation.php":"f8c066212ac7bef32dec610995a4c39b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Proprietary.php":"734d792760db90c8fed149e7ce736f0a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Ruby.php":"e91e4cd294f7eef140353cc583aeba2c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeEmbed.php":"e099d606a1f80f2e48d5e05973a71cd0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeObject.php":"397e9fefcffb753d0f91899019e7f73a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/SafeScripting.php":"57b44d02461030ccac24175960e8182c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Scripting.php":"a84b66f7da2f95b3c4f758bc87df09c2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/StyleAttribute.php":"00c8cdb3fd77913667e59bccbb77df0b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tables.php":"43ec7f2f057779f03b482cd4136dccb5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Target.php":"61fbff33f92205546366b8af93f5a538","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/TargetBlank.php":"782f5a3c041a5c263ce4176dfa9c53c2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Text.php":"4868658aa54548ce08ba6a7a7e7ef6fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy.php":"189a7e6333d413f74dbbb464e3482117","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Name.php":"a9f3dadfe8fd9dc75ce21a4eac223500","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Proprietary.php":"2aef81d0d05e79f998524d5c82767b65","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Strict.php":"1050a097e9cfc20642cf940a569e89e0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/Transitional.php":"46a190f7fa4347838efb683cd7301255","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTML.php":"6d524caec79bafacb717f5318a6cb32d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/Tidy/XHTMLAndHTML4.php":"f0c517ec50e4b26ffdc41577031badee","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModule/XMLCommonAttributes.php":"22a229b0bff44dc453215c6328798365","vendor/ezyang/htmlpurifier/library/HTMLPurifier/HTMLModuleManager.php":"ac575fd139ad3eaf155822cf87a4b4e4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/IDAccumulator.php":"566c63e4c73c0108fde21d1a9d286dd0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector.php":"ab7fc61962200b4f7ef7f69b364c4236","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/AutoParagraph.php":"218483120b35cc74672a773ca8b1840a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/DisplayLinkURI.php":"eded371279a485d9be65478f63293162","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/Linkify.php":"681aab405ad63dc51a6123a8352ff975","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/PurifierLinkify.php":"b18bc8a722259a390e0a1c4e55780175","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveEmpty.php":"f2013e38d247bbbdba7a26ab2d32529e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/RemoveSpansWithoutAttributes.php":"0fa73cf1bf96f586b99a1b271222524e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Injector/SafeObject.php":"2657df34d4af0fa2d13fa6f5971278e3","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language.php":"6f18adcaf3a47b6542b23953d72b2a6e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/classes/en-x-test.php":"788cd3cce28581759b42c7c10ea4ad48","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-test.php":"c1ea035c3a68aee24f6d4c264ee79d6b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en-x-testmini.php":"146f1c2d41e1fdf85f334a05a0dd41ca","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Language/messages/en.php":"5836f2bf2c494d4de7ae70d602063f50","vendor/ezyang/htmlpurifier/library/HTMLPurifier/LanguageFactory.php":"65d08b1974f0f5c21d4669d392a414f0","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Length.php":"7ea85f816c14dd5ddb41f666c0c77316","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer.php":"269fabca40be191a457331923d66275e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DOMLex.php":"f21f1a3132ca9b3ca910062e7e3b61c7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/DirectLex.php":"896582af8d5c587be2bc3753d332b64f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Lexer/PH5P.php":"d4d387d3072387b2c92573f01cfb17d5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node.php":"e469fd5dc851aa49d6bd03757abe1859","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Comment.php":"08202322ec607e2f334e578b3db6890c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Element.php":"9f2e1a2bbd129e3b714a51f3d97e7731","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Node/Text.php":"bfdda227bb41be3cb7829786aaebc93e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/PercentEncoder.php":"c243827d4279b24f43fc7fea65d6dc4f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer.php":"32e2635460cf0df0e14505869b0f463b","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/CSSDefinition.php":"9cbdedf404d96d4f86325b73e1251523","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/ConfigForm.php":"e7ecc15cb1809c48ef313398890fbb81","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Printer/HTMLDefinition.php":"061d58fd2fb51d1d7155c6ce2c61e8fd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyList.php":"68e5a7818be2ec6296b58ff64dd89ba4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/PropertyListIterator.php":"678d29afcee88818385ca5a04ef29de9","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Queue.php":"9ad5c8f6fbe1412195f178df14792b99","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy.php":"3f7ffa4bbeb751b4bf3ec504987eb46e","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Composite.php":"6b9aefb0d8434c064b83858eccb28dc5","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/Core.php":"2b0982b7dce8032094bfae36e6bc7e4f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/FixNesting.php":"090c3a974f5ba784ae2f848a5ab9db00","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/MakeWellFormed.php":"d72e87d6443474038897302b518829bd","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/RemoveForeignElements.php":"be08811b7d0ac7d2ae55541952e3cdf7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Strategy/ValidateAttributes.php":"29cf6bb54660fa1bc1ac203adee9c7d8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHash.php":"de386714f1a9ccd792220876d51fef2c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/StringHashParser.php":"25393b273916ec4ba7bfdc9ebab9e3df","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform.php":"5a8ed264cbeb5f187c3380c60971c9d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Font.php":"6135c32b996efc939a1f1de51c17b345","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TagTransform/Simple.php":"5997138854240b61895e61c3fa4e68d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token.php":"740764b8b7d290ebb66bfacfc580fc12","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Comment.php":"ebfa8a6a68850ec5418a63872fdb7cc2","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Empty.php":"c13013371746cf36b46fe3dc6fac3d9d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/End.php":"5029c29d5745b33b87dde8b304fb2119","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Start.php":"3289ffc2b1f7b04a342bd941a5519c44","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Tag.php":"4cb801b75b88f656604b400814dedbf4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Token/Text.php":"def5a8c3c146742a8473213deb05091a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/TokenFactory.php":"b011bc09cbe8ccbd27be270f272f4d97","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URI.php":"e754a06fefd1ee34de730ab3ab0c12e8","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIDefinition.php":"883eb3dd5ce302eb43f4ccc650dcc760","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter.php":"0b87fe2090bd8f5dbae706a90d454c21","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternal.php":"8936e61cab6355bb4df10379460b989a","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableExternalResources.php":"8440a24e9f0f789dbbb83bb5a9a06c6c","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/DisableResources.php":"8bbba579967f805f662169e4480de774","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/HostBlacklist.php":"73db11a0475b4a7c64fdef91d23b2999","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/MakeAbsolute.php":"3fd8ee4af334352657e75d52573326f4","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/Munge.php":"945560218fc71c4428c88041187eeed6","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIFilter/SafeIframe.php":"6c8e3a53165bb2a81077d195843368ac","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIParser.php":"ba6ffbeaf6c053c17746ea17da37a9ae","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme.php":"8193609328daa3fdfe60639c499048da","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/data.php":"cc6ee68205f63fbb2ea1517a43987813","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/file.php":"2318fecdc41632ec5ffe981d28dffd32","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/ftp.php":"640130d7af5a37e36188ee60db965836","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/http.php":"7799e8f35b8dcff5a7ece8587b0e5592","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/https.php":"1925abd37b900c97e05383adca2c070f","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/mailto.php":"63ab0c48b2d4d7bad88f3fa59f81f805","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/news.php":"cbe3a1005253bc23584b286e246db7d7","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URIScheme/nntp.php":"b1c0862120423c41579476540becfa69","vendor/ezyang/htmlpurifier/library/HTMLPurifier/URISchemeRegistry.php":"b6fc83102e8e6dbf564cd44b0e44b626","vendor/ezyang/htmlpurifier/library/HTMLPurifier/UnitConverter.php":"a8c44da0f46602532a4405d48beff00d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser.php":"bd7c8240177e7a19b356f3ddca46a158","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Flexible.php":"1d761a89fa0ca40e84494db1b7d59561","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParser/Native.php":"19873ef7ac91b6c47083af60b0347811","vendor/ezyang/htmlpurifier/library/HTMLPurifier/VarParserException.php":"8b1819c0ed397d313e5c76b062e6264d","vendor/ezyang/htmlpurifier/library/HTMLPurifier/Zipper.php":"c3ac8d7e46f252218597224376434bb0","vendor/ezyang/htmlpurifier/package.php":"66259841f8bda1d10d43af7668f99e69","vendor/ezyang/htmlpurifier/release1-update.php":"fe6a1df07a76e74091e3c1e6a4c044a1","vendor/ezyang/htmlpurifier/release2-tag.php":"0154007177368e4c50717ac988c30d94","vendor/ezyang/htmlpurifier/test-settings.sample.php":"e3d2e08a8b85eb927ef5380d7d2d4a37","vendor/ezyang/htmlpurifier/composer.json":"758a8da0124871ddb409053aa83c0c0f","vendor/fguillot/picofeed/lib/PicoFeed/Client/Client.php":"045d08d62dc151bae4e381f6575205ca","vendor/fguillot/picofeed/lib/PicoFeed/Client/ClientException.php":"9617012d56bda0b7cb490692aacbc08f","vendor/fguillot/picofeed/lib/PicoFeed/Client/Curl.php":"a20ca14b937624e792a7fd98111c6486","vendor/fguillot/picofeed/lib/PicoFeed/Client/HttpHeaders.php":"8c678aeb9baf7e091f3ff4ad6a4522b1","vendor/fguillot/picofeed/lib/PicoFeed/Client/InvalidCertificateException.php":"b9741339b44221890f9a03051c8a8bdb","vendor/fguillot/picofeed/lib/PicoFeed/Client/InvalidUrlException.php":"4c5ca6faba4a84e0e7cf35cb455d8997","vendor/fguillot/picofeed/lib/PicoFeed/Client/MaxRedirectException.php":"0479c240de78ace26c429265b2545a7f","vendor/fguillot/picofeed/lib/PicoFeed/Client/MaxSizeException.php":"9584f03aa10aad06e76e50d6af22dbf5","vendor/fguillot/picofeed/lib/PicoFeed/Client/Stream.php":"7ba5f676926eb8dd8a3e7f3dbc5321eb","vendor/fguillot/picofeed/lib/PicoFeed/Client/TimeoutException.php":"477297ccf21289fc0f8d24a8f5f34f3d","vendor/fguillot/picofeed/lib/PicoFeed/Client/Url.php":"cdf70b87c09d160c18e89407f27070d3","vendor/fguillot/picofeed/lib/PicoFeed/Config/Config.php":"da5c4e3c632c9b8fcaa5d8a3bf282790","vendor/fguillot/picofeed/lib/PicoFeed/Encoding/Encoding.php":"abcc172d90bf80cda9964b689eaa9727","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Attribute.php":"6adb91574d0f03287cb2774708c231cc","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Filter.php":"be6142f8324627e9421358203197c64a","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Html.php":"f80c0e16e585865de13fa64bb56dd00c","vendor/fguillot/picofeed/lib/PicoFeed/Filter/Tag.php":"dbebc6dafec0621bf5d93573ed67597f","vendor/fguillot/picofeed/lib/PicoFeed/Logging/Logger.php":"195fd2e9bd2e6d706100bcd80a1f0f59","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Atom.php":"95095267599a72c20a65436ce43533d4","vendor/fguillot/picofeed/lib/PicoFeed/Parser/DateParser.php":"866e51875b02864d01ee90954990703b","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Feed.php":"15d53180dd5eb6a695946900bc3b2296","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Item.php":"2edf29342dfe00900991fc3071225b32","vendor/fguillot/picofeed/lib/PicoFeed/Parser/MalformedXmlException.php":"d369662edea7728bec55bbb90a11486e","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Parser.php":"df7079438ded5ff5635e41ecacf0c7f6","vendor/fguillot/picofeed/lib/PicoFeed/Parser/ParserException.php":"b443ab5a0a83fefd2f184ed8ff8dead4","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss10.php":"5f29f27d36d4e53899fa46a06bc23ee1","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss20.php":"b86b89a315521e571985b5e13a93b15f","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss91.php":"05e59c71cbac42d18f96b0f085fec5d1","vendor/fguillot/picofeed/lib/PicoFeed/Parser/Rss92.php":"106649bfa6481004286dc049589a62ca","vendor/fguillot/picofeed/lib/PicoFeed/Parser/XmlParser.php":"bbee815490e84024ac866d071357be8a","vendor/fguillot/picofeed/lib/PicoFeed/PicoFeedException.php":"f43fa4fd321392e4f732c43ce45dc178","vendor/fguillot/picofeed/lib/PicoFeed/Reader/Favicon.php":"33ddbb7da7d6822f64082e599d59045c","vendor/fguillot/picofeed/lib/PicoFeed/Reader/Reader.php":"ad0ab39b96c6524c555786c9db8f9515","vendor/fguillot/picofeed/lib/PicoFeed/Reader/ReaderException.php":"9f20b02ab9c76b14640b78ef28862d90","vendor/fguillot/picofeed/lib/PicoFeed/Reader/SubscriptionNotFoundException.php":"d371d3a2c7154afdff2ededd65c05a8d","vendor/fguillot/picofeed/lib/PicoFeed/Reader/UnsupportedFeedFormatException.php":"77a37a70fdc6ba55cf62258977dfdbce","vendor/fguillot/picofeed/lib/PicoFeed/Rules/01net.com.php":"8c42c584e28c146a2365b5a1136f1152","vendor/fguillot/picofeed/lib/PicoFeed/Rules/abstrusegoose.com.php":"94047d52791a5812533f544fb99a0952","vendor/fguillot/picofeed/lib/PicoFeed/Rules/alainonline.net.php":"e2e4d54d575f58cf11e0cb36f223e4dd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/aljazeera.com.php":"5dc0f53a2ac05a73af73b030fb1679e0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/allafrica.com.php":"67fafe564677f8bbc7690e330c67bb3d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/allgemeine-zeitung.de.php":"4d60f968579a056c68ea5ee13a5fd592","vendor/fguillot/picofeed/lib/PicoFeed/Rules/amazingsuperpowers.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/anythingcomic.com.php":"c51aabdecb0cdaea0108ebc3baa31235","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ap.org.php":"3e0ada1f4012ae24c90902aed5a7b2a2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/areadvd.de.php":"2ab27aea8c6ee62d9e1a65209d08ae27","vendor/fguillot/picofeed/lib/PicoFeed/Rules/arstechnica.com.php":"a5c57e32c2fdf5869764e69c4c58ffaf","vendor/fguillot/picofeed/lib/PicoFeed/Rules/awkwardzombie.com.php":"bd9274a71823b766dcbd44e2530879d4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bangkokpost.com.php":"0d580e2538c410e323965aa4826a56c3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bgr.com.php":"7921323c905d0d7ec9f56632b2b3c334","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bigfootjustice.com.php":"c7728cff938e6afad6f1db54a3978c4a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bizjournals.com.php":"33c1c9ee1f7d1d8646b610dd8112d902","vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.fefe.de.php":"5c6f25ff9565b7d42b99dcdb2de0f941","vendor/fguillot/picofeed/lib/PicoFeed/Rules/blog.mapillary.com.php":"1bf9cffa605468999e57498a2c2c00fe","vendor/fguillot/picofeed/lib/PicoFeed/Rules/buenosairesherald.com.php":"3e563444cbfaa52378fe8582881ef2a0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/bunicomic.com.php":"29854e19d56b2ab631c0178825c684ed","vendor/fguillot/picofeed/lib/PicoFeed/Rules/buttersafe.com.php":"8f45d09ca4ea985686c2b5716a55e738","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cad-comic.com.php":"62cf31e2e7d26488f3af6379f83b2f92","vendor/fguillot/picofeed/lib/PicoFeed/Rules/channelate.com.php":"ad9dd660f8f40dd4fe47888da162e621","vendor/fguillot/picofeed/lib/PicoFeed/Rules/chaoslife.findchaos.com.php":"f6baa661537e90aa1e081349f3b3d003","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cliquerefresh.com.php":"75ebc921b5939f23a065973f2c0665c7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cnet.com.php":"14c8ac409f6579ba2be57ff2972d4ece","vendor/fguillot/picofeed/lib/PicoFeed/Rules/consomac.fr.php":"1bbc30fe716e194ae2cf2cb7d0c74eed","vendor/fguillot/picofeed/lib/PicoFeed/Rules/cowbirdsinlove.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/csmonitor.com.php":"2d805d7c00ddf778c1b0e73355ebffa3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailyjs.com.php":"99d55274743e20169d32bdae03b5271b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/dailytech.com.php":"b4a39059b725b9886d7e17f5f131421e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/degroupnews.com.php":"0ab0e9a928a95155f55eaa177e26c243","vendor/fguillot/picofeed/lib/PicoFeed/Rules/derstandard.at.php":"4bef837246080129cf26763dfcfcceb0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/discovermagazine.com.php":"30ebea559010324710caa96eb1a42a9f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/distrowatch.com.php":"cf4726f65b5938e456a1b3d0e2a06193","vendor/fguillot/picofeed/lib/PicoFeed/Rules/dozodomo.com.php":"3dc024b875fc144fcffa6daad24a86f1","vendor/fguillot/picofeed/lib/PicoFeed/Rules/drawingboardcomic.com.php":"80ab6f5b70d36214eaeb87aa2a291493","vendor/fguillot/picofeed/lib/PicoFeed/Rules/endlessorigami.com.php":"c7728cff938e6afad6f1db54a3978c4a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/engadget.com.php":"d158b8d470011baa52d5fbb5992a9874","vendor/fguillot/picofeed/lib/PicoFeed/Rules/escapistmagazine.com.php":"c0a9a6a3134c14284e9d654a1310d264","vendor/fguillot/picofeed/lib/PicoFeed/Rules/espn.go.com.php":"c2bc8043acfd098a6e990fe5bee77a57","vendor/fguillot/picofeed/lib/PicoFeed/Rules/exocomics.com.php":"0e22b4a536d1500bdf2277431e2f8371","vendor/fguillot/picofeed/lib/PicoFeed/Rules/explosm.net.php":"fe017a5bc9eeb43370a4384522c4e492","vendor/fguillot/picofeed/lib/PicoFeed/Rules/extrafabulouscomics.com.php":"1590cc68897ef59a9b083957b8295d86","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcodesign.com.php":"54162694b881a43d6042678c6c96d759","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcoexist.com.php":"e6f618960d2f78f334ebead6c8ebb6d2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fastcompany.com.php":"c9709ce7e57ea90159b758f19c85a551","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ffworld.com.php":"395cce615c407c1328a115a660715055","vendor/fguillot/picofeed/lib/PicoFeed/Rules/fowllanguagecomics.com.php":"4d57994a87b27962949e7be785365116","vendor/fguillot/picofeed/lib/PicoFeed/Rules/geek.com.php":"9503428ef3053b364a9492bda187249d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/giantitp.com.php":"b54e9044b8266cff346e6cc501cde330","vendor/fguillot/picofeed/lib/PicoFeed/Rules/github.com.php":"be451c637327fbcf049fe9790f027cdd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/gocomics.com.php":"8f69ed9236fcafc8e99d7546067446c4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/golem.de.php":"27a5a43a66ece6a2478bb21657bdd022","vendor/fguillot/picofeed/lib/PicoFeed/Rules/happletea.com.php":"00c2c96c5fc75abcad3cd931910768f3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/heise.de.php":"73a453e07846967c6358a9232815963b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/huffingtonpost.com.php":"7c2420f921c2923db5339fcddb6f4920","vendor/fguillot/picofeed/lib/PicoFeed/Rules/imogenquest.net.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ing.dk.php":"62f7b81437293850963bbb351efdcc0c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/invisiblebread.com.php":"bee19d0a659737bf8ad85f236d0c59b0","vendor/fguillot/picofeed/lib/PicoFeed/Rules/ir.amd.com.php":"80aeecf36f9bfa5d77fa771fec1aca28","vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantimes.co.jp.php":"9f6818c65946e10ab9e8a336e0de53bd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/japantoday.com.php":"79073493e1125548d5ec94fa6e1cad81","vendor/fguillot/picofeed/lib/PicoFeed/Rules/journaldugeek.com.php":"f6bf2d4c1d7cd52e6081542227ec8764","vendor/fguillot/picofeed/lib/PicoFeed/Rules/jsonline.com.php":"4594cfb1b64b4d616e54a0f2d442c247","vendor/fguillot/picofeed/lib/PicoFeed/Rules/kanpai.fr.php":"912a114229073b0e9e6aebff7193b892","vendor/fguillot/picofeed/lib/PicoFeed/Rules/karriere.jobfinder.dk.php":"f9f725e48cf9f2fbe5bb7d3993158c3e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/koreaherald.com.php":"2404340372e540bc443b6fe38f293b0c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lastplacecomics.com.php":"1590cc68897ef59a9b083957b8295d86","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lejapon.fr.php":"8683b87b4cb86d007c6db3f74381dec7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lesjoiesducode.fr.php":"d1af52ef7d2c9f0d1e63ae19294e50fd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lfg.co.php":"cdddecfc73b04a6200eb4221669d3f81","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lifehacker.com.php":"556de60735a7ab70eec137ea749c6a80","vendor/fguillot/picofeed/lib/PicoFeed/Rules/linux.org.php":"2867fd70d4bd6667196ecb3ceceb04fd","vendor/fguillot/picofeed/lib/PicoFeed/Rules/linuxinsider.com.php":"e7f5647b206ede08c8c2d12b5edc5915","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lists.php":"6063158b81fb76e446fae79fa4918269","vendor/fguillot/picofeed/lib/PicoFeed/Rules/loadingartist.com.php":"c7728cff938e6afad6f1db54a3978c4a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/loldwell.com.php":"fc45757004af7b8750e03f3170a155c5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/lukesurl.com.php":"1f3c7e86e5b353b24bc040ca311fd4e7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/macg.co.php":"1560233fff70c682cb78a5fb1be1ce6e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/marc.info.php":"0b00f77eba8625e67dc8841f5e3deb69","vendor/fguillot/picofeed/lib/PicoFeed/Rules/marriedtothesea.com.php":"36749584dbfb59b59365891c77b4a239","vendor/fguillot/picofeed/lib/PicoFeed/Rules/marycagle.com.php":"cb4b191821a2527d760df60017d21f97","vendor/fguillot/picofeed/lib/PicoFeed/Rules/maximumble.thebookofbiff.com.php":"e223e865b8a0413395920f927aab39f7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/medium.com.php":"91dd5a6d0f9bfa878fe238f30d1ee686","vendor/fguillot/picofeed/lib/PicoFeed/Rules/mercworks.net.php":"bc28eff38c4aa03fcbaf1352a776192e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/metronieuws.nl.php":"1026fd24f38dcc5755504510357a1297","vendor/fguillot/picofeed/lib/PicoFeed/Rules/mokepon.smackjeeves.com.php":"7b161d8e4c13ec34fdbc9da2331a9aaa","vendor/fguillot/picofeed/lib/PicoFeed/Rules/monwindowsphone.com.php":"1023790b48998fc34e70985cc7b53601","vendor/fguillot/picofeed/lib/PicoFeed/Rules/mrlovenstein.com.php":"37917521b6b2934693a658254a68acc6","vendor/fguillot/picofeed/lib/PicoFeed/Rules/nba.com.php":"2ee199540dd788a50fd89a41354500b8","vendor/fguillot/picofeed/lib/PicoFeed/Rules/nedroid.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/networkworld.com.php":"6a83704dbe4e4d203bc86944fe36969a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/neustadt-ticker.de.php":"7e57053ce161c2885ebe7a7ac294eb2b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/niceteethcomic.com.php":"a495d1a7405ead4f71c40d5586d14cb3","vendor/fguillot/picofeed/lib/PicoFeed/Rules/nichtlustig.de.php":"171b00ece2a7049242d7307d37538d0d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/oglaf.com.php":"220595e3fcff097a928057cbb9d57169","vendor/fguillot/picofeed/lib/PicoFeed/Rules/openrightsgroup.org.php":"6e3cc6b221397615dcc8f7d49e1a1c9b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/opensource.com.php":"abc8e2557b4a29fb92652cf5e4cfd25c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/optipess.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/osnews.com.php":"59e768796d9d79f9e16328f78aefc400","vendor/fguillot/picofeed/lib/PicoFeed/Rules/pastebin.com.php":"b7b2bfeb35249368c5b248845471af70","vendor/fguillot/picofeed/lib/PicoFeed/Rules/peebleslab.com.php":"4550733c6be62c24414c453af4856907","vendor/fguillot/picofeed/lib/PicoFeed/Rules/penny-arcade.com.php":"ec51b724ee1d4d1fd200616dce8cba74","vendor/fguillot/picofeed/lib/PicoFeed/Rules/pixelbeat.org.php":"d97f1bd51daf1f4b7ee4911b9016a56e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/plus.google.com.php":"08ee705e9fc8ce7ea33aac6ee2bdd77d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/popstrip.com.php":"4215fecdaedb3e156fdd185ca209171f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/putaindecode.fr.php":"401784d16f5023bf1b86cbb4e3dde90b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/recode.net.php":"88e846364f57669aa81949ffa7ec9469","vendor/fguillot/picofeed/lib/PicoFeed/Rules/rue89.nouvelobs.com.php":"eea6d3bd6b1dd0f7cacf6a0dd3f824bf","vendor/fguillot/picofeed/lib/PicoFeed/Rules/satwcomic.com.php":"ad3e2b67bc96448e35f2d02ae3a674d6","vendor/fguillot/picofeed/lib/PicoFeed/Rules/scrumalliance.org.php":"22d102eb10b9f73423d0fa1f9fa45b4c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/securityfocus.com.php":"501f331343b64fdd60fd02e31b1199ad","vendor/fguillot/picofeed/lib/PicoFeed/Rules/sentfromthemoon.com.php":"046be90364ff8c8935773b30e1b5a565","vendor/fguillot/picofeed/lib/PicoFeed/Rules/sitepoint.com.php":"28ade8b270e33b192baadb31108ee2f4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/slashdot.org.php":"f7d54e81fbe5825e528fe8b39efbe801","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smallhousebliss.com.php":"99b660e4e702329cb17c592f19ea6b54","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smarthomewelt.de.php":"5338f9959b5c1efaa5e0a9c5ba88b868","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smashingmagazine.com.php":"222a81d83a075bb6e1546c57e34c6534","vendor/fguillot/picofeed/lib/PicoFeed/Rules/smbc-comics.com.php":"1f94df885b04d612d01245620f8e9cb2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/soundandvision.com.php":"fee7b568e617e8d61025c1d6f75612bc","vendor/fguillot/picofeed/lib/PicoFeed/Rules/spiegel.de.php":"5c1a43aaa0659d041f414de1609f6aab","vendor/fguillot/picofeed/lib/PicoFeed/Rules/stereophile.com.php":"2e79f306c38b4314f4f57e84fa91b479","vendor/fguillot/picofeed/lib/PicoFeed/Rules/stupidfox.net.php":"b2bfef1ae3ea7c86b28e3c1b73756d41","vendor/fguillot/picofeed/lib/PicoFeed/Rules/subtraction.com.php":"f980f7560c762e0aac954ee812c4b2e9","vendor/fguillot/picofeed/lib/PicoFeed/Rules/sz.de.php":"103eed1f6cf46fe4ca7529bcbd45736b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/techcrunch.com.php":"62a7b9573847997f23dc36dbee7a8094","vendor/fguillot/picofeed/lib/PicoFeed/Rules/the-ebook-reader.com.php":"3884dad1e17b43153d4946562c8f1203","vendor/fguillot/picofeed/lib/PicoFeed/Rules/theatlantic.com.php":"520a97e2640bfcbbdfb679333dc11e7d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/theawkwardyeti.com.php":"1590cc68897ef59a9b083957b8295d86","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thecodinglove.com.php":"0e2dc26cbdd86cf6e055c2aadc10e08a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thedoghousediaries.com.php":"046be90364ff8c8935773b30e1b5a565","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thegamercat.com.php":"f5c068fcac8f1cdad1898984db11666a","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thehindu.com.php":"86fbfdd0d86bf9e0260d94f64efa7b02","vendor/fguillot/picofeed/lib/PicoFeed/Rules/themerepublic.net.php":"a2e4a87c8c83b28c2d9ee15724109882","vendor/fguillot/picofeed/lib/PicoFeed/Rules/themoscowtimes.com.php":"f924e5b4f4158f2891b775718b55a82f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/theonion.com.php":"e6ad227c9fefc0e8b3f0e3068c955f39","vendor/fguillot/picofeed/lib/PicoFeed/Rules/thestandard.com.hk.php":"0873f9aed2e256160d15e24db07994f4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/threepanelsoul.com.php":"1cc63bfb97f50873da9e3d443b683d05","vendor/fguillot/picofeed/lib/PicoFeed/Rules/travel-dealz.de.php":"0df0da0a9e27959aed211c84760e11c7","vendor/fguillot/picofeed/lib/PicoFeed/Rules/treehugger.com.php":"2b146c623404e05f1bd0edf2c8a5f89d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/treelobsters.com.php":"aeab730b5237fbcfa1c63d8dab6e8ce5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/twogag.com.php":"4fcf27f1f20367daf0627c3d6cd80d72","vendor/fguillot/picofeed/lib/PicoFeed/Rules/twokinds.keenspot.com.php":"4ba17c5dd8339a28565b5e9eb08091e4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/undeadly.org.php":"ad44e9d0726eaf11c2bc79e7718925cf","vendor/fguillot/picofeed/lib/PicoFeed/Rules/upi.com.php":"68c0fa22acb0895ec59ead6c1a87f842","vendor/fguillot/picofeed/lib/PicoFeed/Rules/version2.dk.php":"11d80ab91703a8cfa9508fc574cfddb4","vendor/fguillot/picofeed/lib/PicoFeed/Rules/vgcats.com.php":"64e8b4f6be3760040eda4bd9f91e87fb","vendor/fguillot/picofeed/lib/PicoFeed/Rules/vuxml.org.php":"732eaf53ad4794239ed549778e600a7f","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bbc.co.uk.php":"ffa82d34282c272b88dbee993da58a6e","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.bdgest.com.php":"9593f6e6444785815a4f035fd6b7d667","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.businessweek.com.php":"4ec0f7afd9a11027ea104e1dd83d2cc5","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.cnn.com.php":"31187c930f3a00506b3845e736a38c0d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.developpez.com.php":"02c79b60f03fae3657bf647b5955d75b","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.egscomics.com.php":"02b08c57c9f662f86c4601e11e046f6c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.forbes.com.php":"2494ef2832921e351e5ec119ae4f2d5c","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.futura-sciences.com.php":"6ea947d81b09092aa2462cd3cadb2596","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lepoint.fr.php":"57736293af5e2acd482becda8616faa1","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.lesnumeriques.com.php":"480e99e548137c3b9bd23d2a415f62fa","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.mac4ever.com.php":"8527e3cd31ad25463173b3baf7c44dbc","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.npr.org.php":"f369daceba6a7b9b72d1ca877addebab","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.numerama.com.php":"e53a43576b38cb5f4d5564bfdf88e166","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pcinpact.com.php":"e1ba0e554b356b63a8fac1689010f721","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.pseudo-sciences.org.php":"543f26acae3682cbe2e124a75e503d0d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.slate.fr.php":"e27e7b0aac175452126119c26cb39cb2","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.universfreebox.com.php":"20613b2ebd9e837c9ee98017d9579860","vendor/fguillot/picofeed/lib/PicoFeed/Rules/www.zeit.de.php":"3556ca5f16816acffe3673016b4b6c77","vendor/fguillot/picofeed/lib/PicoFeed/Rules/xkcd.com.php":"96e3be66352729881f5db6d8b883320d","vendor/fguillot/picofeed/lib/PicoFeed/Rules/zdnet.com.php":"50548309c8058ebc85b460b55e5a8257","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/CandidateParser.php":"f9fcec8ba906f2fef837ec5e0f95e83e","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/ParserInterface.php":"ca3c6b38a4367eedbb9d6e230dd1560b","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleLoader.php":"42f36ba3ebb95d2f5af0f24f2c5b3c17","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/RuleParser.php":"64ff3f6a0eec381065b7036e3ae4a195","vendor/fguillot/picofeed/lib/PicoFeed/Scraper/Scraper.php":"620bef25574989eb31efa1d4de280984","vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Export.php":"f5ac2afd201253a5756ef31c8cb16001","vendor/fguillot/picofeed/lib/PicoFeed/Serialization/Import.php":"a9223369b92e47a87bc6c0d5c73ded6c","vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Atom.php":"b792aa4c364df93c5bec403d2392cc27","vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Rss20.php":"6d6215256f5e05960661b5619f92b446","vendor/fguillot/picofeed/lib/PicoFeed/Syndication/Writer.php":"621502fa74b4dfa4ab52f1a794838688","vendor/pear/net_url2/Net/URL2.php":"193135e356ffdfca605c4834f8a18b87","vendor/pear/net_url2/composer.json":"b1f4886f7ca5176cc7685dea3d534cc9"} \ No newline at end of file
diff --git a/appinfo/database.xml b/appinfo/database.xml
index 31c0aee0c..0aa8305e5 100644
--- a/appinfo/database.xml
+++ b/appinfo/database.xml
@@ -178,6 +178,12 @@
<default>0</default>
<notnull>true</notnull>
</field>
+ <field>
+ <name>update_mode</name>
+ <type>integer</type>
+ <default>0</default>
+ <notnull>true</notnull>
+ </field>
<index>
<name>news_feeds_user_id_index</name>
diff --git a/appinfo/info.xml b/appinfo/info.xml
index 2e4c3c4fb..d4df843c5 100644
--- a/appinfo/info.xml
+++ b/appinfo/info.xml
@@ -7,7 +7,7 @@
<author>Bernhard Posselt, Alessandro Cosentino, Jan-Christoph Borchardt</author>
<category>multimedia</category>
<licence>AGPL</licence>
- <version>6.0.6</version>
+ <version>6.0.7</version>
<namespace>News</namespace>
<!-- resources -->
diff --git a/appinfo/routes.php b/appinfo/routes.php
index 5ad543ff3..348b4a3b8 100644
--- a/appinfo/routes.php
+++ b/appinfo/routes.php
@@ -42,9 +42,7 @@ return ['routes' => [
['name' => 'feed#update', 'url' => '/feeds/{feedId}/update', 'verb' => 'POST'],
['name' => 'feed#active', 'url' => '/feeds/active', 'verb' => 'GET'],
['name' => 'feed#import', 'url' => '/feeds/import/articles', 'verb' => 'POST'],
-['name' => 'feed#ordering', 'url' => '/feeds/{feedId}/ordering', 'verb' => 'POST'],
-['name' => 'feed#pinned', 'url' => '/feeds/{feedId}/pinned', 'verb' => 'POST'],
-['name' => 'feed#enable_full_text', 'url' => '/feeds/{feedId}/fulltext', 'verb' => 'POST'],
+['name' => 'feed#patch', 'url' => '/feeds/{feedId}', 'verb' => 'PATCH'],
// items
['name' => 'item#index', 'url' => '/items', 'verb' => 'GET'],
diff --git a/controller/feedcontroller.php b/controller/feedcontroller.php
index c36c6da10..8fa9504f4 100644
--- a/controller/feedcontroller.php
+++ b/controller/feedcontroller.php
@@ -293,51 +293,29 @@ class FeedController extends Controller {
return [];
}
-
- /**
- * @NoAdminRequired
- *
- * @param int $feedId
- * @param int $ordering
- */
- public function ordering($feedId, $ordering) {
- try {
- $this->feedService->setOrdering($feedId, $ordering, $this->userId);
- } catch(ServiceNotFoundException $ex) {
- return $this->error($ex, Http::STATUS_NOT_FOUND);
- }
-
- return [];
- }
-
-
- /**
+ /*
* @NoAdminRequired
*
* @param int $feedId
+ * @param bool $pinned
* @param bool $fullTextEnabled
+ * @param int $updateMode
+ * @param int $ordering
*/
- public function enableFullText($feedId, $fullTextEnabled=false) {
- try {
- $this->feedService->enableFullText($feedId, $fullTextEnabled,
- $this->userId);
- } catch(ServiceNotFoundException $ex) {
- return $this->error($ex, Http::STATUS_NOT_FOUND);
- }
-
- return [];
- }
+ public function patch($feedId, $pinned=null, $fullTextEnabled=null, $updateMode=null, $ordering=null) {
+ $attributes = [
+ 'pinned' => $pinned,
+ 'fullTextEnabled' => $fullTextEnabled,
+ 'updateMode' => $updateMode,
+ 'ordering' => $ordering
+ ];
+ $diff = array_filter($attributes, function ($value) {
+ return $value !== null;
+ });
- /**
- * @NoAdminRequired
- *
- * @param int $feedId
- * @param bool $isPinned
- */
- public function pinned($feedId, $isPinned=false) {
try {
- $this->feedService->setPinned($feedId, $isPinned, $this->userId);
+ $this->feedService->patch($feedId, $this->userId, $diff);
} catch(ServiceNotFoundException $ex) {
return $this->error($ex, Http::STATUS_NOT_FOUND);
}
diff --git a/css/navigation.css b/css/navigation.css
index 7adb3bee3..3c142f13d 100644
--- a/css/navigation.css
+++ b/css/navigation.css
@@ -210,3 +210,11 @@
#app-navigation .icon-unpinned {
background-image: url('../img/unpinned.svg');
}
+
+#app-navigation .icon-updatemode-default {
+ background-image: url('../img/updatemodedefault.svg');
+}
+
+#app-navigation .icon-updatemode-unread {
+ background-image: url('../img/updatemodeunread.svg');
+}
diff --git a/css/news.min.css b/css/news.min.css
index 4c1cdc206..60e2b247b 100644
--- a/css/news.min.css
+++ b/css/news.min.css
@@ -1,2 +1,2 @@
-#app-content #searchresults,#undo{display:none}#app-content .author a:hover,#app-content .body a,#app-content .body h3,#app-content .heading a:hover,#app-content .subtitle a:hover,#app-settings-content a,#explore .explore-section h3 a:hover,#notification a,#undo a:hover{text-decoration:underline}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#searchbox{display:block!important}#app-content .no-feeds-available{text-align:center;color:#333;font-size:16pt;min-height:100%;height:100%;width:100%;display:table}#app-content .no-feeds-available p{vertical-align:middle;display:table-cell}#app-content-wrapper,#articles{height:100%}#app-content .podcast{height:30px;z-index:10000;background-color:#111}#app-content .podcast audio{display:block;float:left;width:calc(100% - 60px);height:30px;border-radius:0}#app-content .podcast a,#app-content .podcast button{display:block;float:left;height:30px;width:30px;border:0;border-radius:0;margin:0;background-color:transparent;background-repeat:no-repeat;background-position:center}#app-content .podcast-close{background-size:25px;background-image:url(../img/close.svg)}#app-content .podcast-download{transform:rotate(270deg);background-size:20px;background-image:url(../img/arrow-white.svg)}#app-content .podcast audio::-webkit-media-controls-enclosure{max-width:inherit}#app-content .podcast.fixed{position:absolute;right:0;left:0}#notification a{color:#00f}#notification li{display:block}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat;transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content.loading-content #app-content-wrapper{display:none}#app-content:not(.explore) #articles:after{content:'';display:block;height:100%;background-repeat:no-repeat}#app-content .autopaging: #articles:after{content:'';background-image:url(../img/loading.gif);background-position:calc(50% - 16px) calc(50% - 16px);transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content .finished-auto-paging #articles:after{background-image:-o-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-moz-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-webkit-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-ms-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:linear-gradient(to top,#eee 0,#FEFEFE 100%)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .utils ul>li{min-width:0}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils>ul>li:last-child{padding-right:0}#app-content .utils>ul>li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .more button{opacity:.3}#app-content .utils .more button:hover{opacity:1}#app-content .utils .more{position:relative}#app-content .article-actions{display:none;filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-webkit-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-moz-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));position:absolute;top:40px;border-radius:3px;z-index:1000;border:1px solid transparent;background-color:#fff;margin:0;padding:0}#app-content .article-actions ul{display:flex;float:left}#app-content .article-actions li{float:left;width:52px!important}#app-content #articles:not(.compact) .article-actions{left:6px}#app-content #articles:not(.compact) .article-actions:after,#app-content #articles:not(.compact) .article-actions:before{left:20px}#app-content #articles.compact .article-actions{right:-10px}#app-content #articles.compact .article-actions:after,#app-content #articles.compact .article-actions:before{right:9px}#app-content .article-actions:after,#app-content .article-actions:before{bottom:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#app-content .article-actions:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:5px;margin-left:-5px}#app-content .article-actions:before{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:9px;margin-left:-9px}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:0 0!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;display:inline-block;color:#222;font-weight:700;font-size:16px;line-height:1.5;padding-top:8px;min-height:40px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;max-width:770px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#222}#app-content .heading .date{float:right;display:inline-block;font-size:15px;padding:0 10px}#app-content .compact .article,#app-content .feed-view .source{display:none}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;max-width:770px;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .enclosure{padding:20px 0;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000;margin-bottom:20px}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div>:first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content [dir=rtl]{text-align:right}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body div>i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-content .custom-sueddeutsche-de .body img{float:none!important}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#f5f5f5}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .article-actions ul{max-width:164px}#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}@media (max-width:340px){#app-content .article-actions{max-width:82px}}- #app-navigation .add-new .heading{height:44px;width:100%}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0 0 0 44px;line-height:44px;width:100%;border:0;margin:0;text-align:left;font-weight:400;background-color:transparent;background-position:14px center}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}.icon-full-text-enabled{background-image:url(../img/fulltext.svg);background-size:50%;opacity:.5}.icon-full-text-disabled{background-image:url(../img/nonfulltext.svg);background-size:50%;opacity:.5}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .animate-show,#app-navigation .error-message button:hover{opacity:1}#app-navigation .animate-show.ng-hide-add,#app-navigation .animate-show.ng-hide-remove{transition:0s linear opacity}#app-navigation .animate-show.ng-hide-add-active,#app-navigation .animate-show.ng-hide-remove-active{transition:.2s linear opacity}#app-navigation .animate-show.ng-hide{opacity:0}#app-navigation .feed-no-ordering{transform:rotate(270deg)}#app-navigation .feed-reverse-ordering{transform:rotate(180deg)}#app-navigation .icon-pinned{background-image:url(../img/pinned.svg)}#app-navigation .icon-unpinned{background-image:url(../img/unpinned.svg)}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F}#app-settings-content p{padding:2px 2px 2px 10px}#app-settings-content label{display:block;padding-left:18px}#app-settings-content label input[type=checkbox]{margin-left:-18px;max-width:16px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#explore,.explore #app-content-wrapper{height:100%}#app-settings .import-export a{display:inline-block}#app-settings .disabled{color:#aaa}#explore{width:100%}#explore h1{font-size:16pt;padding:30px 0;text-align:center}#explore .explore-section{padding:20px 45px}#explore .explore-section h2{color:#333;font-size:14pt;padding-bottom:10px}#explore .explore-section li{padding:20px 30px;margin:0 20px 20px 0;display:inline-block;vertical-align:top;width:300px;background-color:#f5f5f5;border:1px solid #ccc}#explore .explore-section h3{line-height:45px;height:45px;font-size:13pt;background-repeat:no-repeat;background-position:0 center;background-size:24px 24px;padding:0 0 15px 35px}#explore .explore-logo{text-align:center;margin-top:25px}#explore .explore-logo img{width:100%}#explore .explore-subscribe{padding-top:15px;text-align:right}#explore .explore-content{min-height:100px}
+#app-content #searchresults,#undo{display:none}#app-content .author a:hover,#app-content .body a,#app-content .body h3,#app-content .heading a:hover,#app-content .subtitle a:hover,#app-settings-content a,#explore .explore-section h3 a:hover,#notification a,#undo a:hover{text-decoration:underline}#global-loading{width:100%;height:100%}#undo-container{position:fixed;top:0;width:100%;text-align:center;z-index:101;line-height:1.2}#undo{z-index:101;background-color:#fc4;border:0;padding:0 .7em .3em;position:relative;top:0;border-bottom-left-radius:1em;border-bottom-right-radius:1em}#undo a{font-weight:700}#searchbox{display:block!important}#app-content .no-feeds-available{text-align:center;color:#333;font-size:16pt;min-height:100%;height:100%;width:100%;display:table}#app-content .no-feeds-available p{vertical-align:middle;display:table-cell}#app-content-wrapper,#articles{height:100%}#app-content .podcast{height:30px;z-index:10000;background-color:#111}#app-content .podcast audio{display:block;float:left;width:calc(100% - 60px);height:30px;border-radius:0}#app-content .podcast a,#app-content .podcast button{display:block;float:left;height:30px;width:30px;border:0;border-radius:0;margin:0;background-color:transparent;background-repeat:no-repeat;background-position:center}#app-content .podcast-close{background-size:25px;background-image:url(../img/close.svg)}#app-content .podcast-download{transform:rotate(270deg);background-size:20px;background-image:url(../img/arrow-white.svg)}#app-content .podcast audio::-webkit-media-controls-enclosure{max-width:inherit}#app-content .podcast.fixed{position:absolute;right:0;left:0}#notification a{color:#00f}#notification li{display:block}#app-content.loading-content{background:url(../img/loading.gif) calc(50% - 16px) calc(50% - 16px) no-repeat;transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content.loading-content #app-content-wrapper{display:none}#app-content:not(.explore) #articles:after{content:'';display:block;height:100%;background-repeat:no-repeat}#app-content .autopaging: #articles:after{content:'';background-image:url(../img/loading.gif);background-position:calc(50% - 16px) calc(50% - 16px);transition:none!important;-webkit-transition:none!important;-moz-webkit-transition:none!important}#app-content .finished-auto-paging #articles:after{background-image:-o-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-moz-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-webkit-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:-ms-linear-gradient(top,#eee 0,#FEFEFE 100%);background-image:linear-gradient(to top,#eee 0,#FEFEFE 100%)}.pull-to-refresh{height:0;overflow:hidden;text-align:center;background-image:-moz-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-webkit-linear-gradient(top,#eee 0,#fefefe 100%);background-image:-ms-linear-gradient(top,#eee 0,#fefefe 100%);background-image:linear-gradient(top,#eee 0,#fefefe 100%)}.pull-to-refresh.show-pull-to-refresh{transition:all .5s ease;padding-top:10px;height:44px}#app-content .only-in-expanded{display:block}#app-content .compact .only-in-expanded,#app-content .only-in-compact{display:none}#app-content .compact .only-in-compact{display:block}#app-content .item{cursor:default;border-bottom:1px solid #eee;background-image:linear-gradient(top,#f8f8f8 0,#fff 84px)}#app-content .item:last-child{border-bottom:0}#app-content .utils{width:100%;line-height:52px;box-sizing:border-box;padding:15px 50px 0 15px}#app-content .compact .utils{cursor:pointer;padding-top:0}#app-content .utils ul{height:40px;list-style-type:none;display:flex;margin:0;padding:0}#app-content .open .utils ul{height:auto}#app-content .utils ul>li{min-width:0}#app-content .util-spacer{width:20px}#app-content .compact .util-spacer{width:19px}#app-content .utils li{line-height:40px;vertical-align:middle}#app-content .utils>ul>li:last-child{padding-right:0}#app-content .utils>ul>li:first-child{padding-left:0}#app-content .utils .util{padding:0 6px}#app-content .utils .external,#app-content .utils button{padding:0;margin:0;height:40px;width:40px;border:0;float:left;background-color:transparent;background-repeat:no-repeat;background-size:25px;background-position:center}#app-content .utils .external,#app-content .utils .icon-toggle,#app-content .utils .menu button{display:inline-block;opacity:.3}#app-content .utils .external:hover,#app-content .utils .icon-toggle.keep-unread,#app-content .utils .icon-toggle:hover,#app-content .utils .menu button:hover{opacity:1}#app-content .utils .star{background-image:url(../img/inactive_star.svg)}#app-content .utils .star:hover,#app-content .utils .starred{background-image:url(../img/active_star.svg)}#app-content .utils .more button{opacity:.3}#app-content .utils .more button:hover{opacity:1}#app-content .utils .more{position:relative}#app-content .article-actions{display:none;filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-webkit-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));-moz-filter:drop-shadow(0 0 5px rgba(150, 150, 150, .75));position:absolute;top:40px;border-radius:3px;z-index:1000;border:1px solid transparent;background-color:#fff;margin:0;padding:0}#app-content .article-actions ul{display:flex;float:left}#app-content .article-actions li{float:left;width:52px!important}#app-content #articles:not(.compact) .article-actions{left:6px}#app-content #articles:not(.compact) .article-actions:after,#app-content #articles:not(.compact) .article-actions:before{left:20px}#app-content #articles.compact .article-actions{right:-10px}#app-content #articles.compact .article-actions:after,#app-content #articles.compact .article-actions:before{right:9px}#app-content .article-actions:after,#app-content .article-actions:before{bottom:100%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none}#app-content .article-actions:after{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:5px;margin-left:-5px}#app-content .article-actions:before{border-color:rgba(255,255,255,0);border-bottom-color:#fff;border-width:9px;margin-left:-9px}#app-content .utils .title{width:100%;padding-left:45px;background-position:10px 10px;background-size:20px 20px;background-repeat:no-repeat}#app-content .feed-view .utils .title{background:0 0!important;padding-left:10px}#app-content .utils .title h1 a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;width:100%;display:inline-block;color:#222;font-weight:700;font-size:16px;line-height:1.5;padding-top:8px;min-height:40px}#app-content .open .utils .title h1 a{overflow:auto;white-space:normal}#app-content .read .utils .title h1 a{font-weight:400;color:#888}#app-content .utils .date{padding:0 15px;margin-right:25px}#app-content .heading{padding:25px 0 10px}#app-content .heading h1{font-size:19px;max-width:770px;word-wrap:break-word}#app-content .heading a{font-weight:700;color:#222}#app-content .heading .date{float:right;display:inline-block;font-size:15px;padding:0 10px}#app-content .compact .article,#app-content .feed-view .source{display:none}#app-content .read .heading a{font-weight:400!important;color:#888}#app-content .article{min-height:69px;padding:0 50px 50px}#app-content .open .article{display:block}#app-content .subtitle{color:#aaa;font-size:15px;max-width:770px;padding-bottom:25px}#app-content .subtitle a{color:#aaa}#app-content .date{color:#aaa;white-space:nowrap}#app-content .author{color:#aaa;font-size:15px}#app-content .author a{color:inherit}#app-content .enclosure{padding:20px 0;max-width:770px;margin-bottom:15px}#app-content .enclosure audio,#app-content .enclosure img,#app-content .enclosure video{width:100%}#app-content .enclosure video{background-color:#000;margin-bottom:20px}#app-content .enclosure-error{line-height:1.5;height:40px}#app-content .body{max-width:770px;font-size:14px;clear:both;overflow-x:auto}#app-content .body p{line-height:1.5;margin:7px 0 14px}#app-content .body img,#app-content .body table{max-width:100%;height:auto;overflow:auto;word-wrap:break-word;white-space:normal}#app-content .body>div>:first-child>img:first-child,#app-content .body>div>img:first-child{padding:0 14px 0 0;float:left}#app-content .body h1,#app-content .body h2{font-size:17px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h3{font-size:15px;font-weight:700;color:#222;margin:21px 0 0}#app-content .body h4,#app-content .body h5,#app-content .body h6{font-weight:700}#app-content .body>div{margin:7px 0}#app-content .body a{color:#00f}#app-content .body ul{margin:7px 0;padding-left:14px;list-style-type:disc}#app-content .body ol{margin:7px 0;padding-left:21px}#app-content .body ul li{cursor:default;line-height:21px}#app-content .body pre{padding:7px 7px 7px 14px;background-color:#dadada;border:1px solid #ccc;margin:7px 0 14px;overflow-y:auto}#app-content .body pre::-webkit-scrollbar{height:10px}#app-content .body pre::-webkit-scrollbar-thumb{background:#333}#app-content .body pre::-webkit-scrollbar-track-piece{background:#ddd}#app-content .body code,#app-content .body pre{font-family:monospace;font-size:16px}#app-content .body blockquote{border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px;font-style:italic}#app-content .body em{font-style:italic;opacity:1}#app-content [dir=rtl]{text-align:right}#app-content .custom-heise-de .body p>span:first-child{display:inline-block;float:left;margin-right:10px;padding:6px 0}#app-content .custom-slashdot-org .body div>i{display:block;border-left:1px solid #d2d2d2;margin:25px 0;padding:0 0 0 15px}#app-content .custom-sueddeutsche-de .body img{float:none!important}#app-shortcuts table{border-collapse:collapse;width:100%;white-space:normal}#app-shortcuts tr:first-child{background-color:#f5f5f5}#app-shortcuts td,#app-shortcuts th{padding:10px}#app-shortcuts td{padding-right:15px}#app-shortcuts th{font-weight:700}#app-shortcuts td:first-child,#app-shortcuts th:first-child{text-align:right;font-weight:700;width:140px;-moz-box-sizing:content-box;box-sizing:content-box}@media (max-width:770px){#app-content .utils .date{display:none}#app-shortcuts th:first-child{padding-left:44px}}@media (max-width:600px){#app-content .article-actions ul{max-width:164px}#app-content .heading .date{display:none}#app-content .heading h1{margin-right:0}#app-content .utils{padding-right:15px}#app-content .article{padding-right:15px;padding-left:44px}}@media (max-width:340px){#app-content .article-actions{max-width:82px}}- #app-navigation .add-new .heading{height:44px;width:100%}#app-navigation .add-new .heading:hover{background-color:#ccc}#app-navigation .add-new .heading button{padding:0 0 0 44px;line-height:44px;width:100%;border:0;margin:0;text-align:left;font-weight:400;background-color:transparent;background-position:14px center}#app-navigation .add-new-popup{display:none;padding:10px;box-shadow:inset 0 0 10px #dedede;border-top:1px solid #dedede;border-bottom:1px solid #dedede}#app-navigation input.ng-invalid{border:1px solid #d14}#app-navigation .add-new-popup input,#app-navigation .add-new-popup select{width:100%;height:36px;padding:5px;margin-right:0}#app-navigation #new-feed [name=folderName],#app-navigation .add-new-popup select{width:calc(100% - 36px);border-right:0;border-top-right-radius:0;border-bottom-right-radius:0;float:left}#app-navigation .add-new-popup .add-new-folder-primary{float:right;border-bottom-left-radius:0;border-top-left-radius:0;width:36px;height:36px;margin-left:0;margin-right:0}#app-navigation .add-new-popup .error{padding:0 0 10px}#app-navigation .icon-starred{background-image:url(../img/starred.png)}.icon-rss{background-image:url(../img/rss.svg)!important}.icon-full-text-enabled{background-image:url(../img/fulltext.svg);background-size:50%;opacity:.5}.icon-full-text-disabled{background-image:url(../img/nonfulltext.svg);background-size:50%;opacity:.5}#app-navigation .unread>a{font-weight:700}#app-navigation .entry-loading{background-image:url(../img/loading.gif)!important}#app-navigation input.entry-loading{background-size:20px}#app-navigation p.error{line-height:25px}#app-navigation .folder-rename-error{height:auto}#app-navigation .error-message{padding:15px;background-color:#DE1212;color:#fff;position:relative}#app-navigation .ui-state-disabled{opacity:1}#app-navigation .error-message .title{font-weight:700;padding-right:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#app-navigation .error-message button{top:0;right:0;position:absolute;margin:0;height:44px;width:44px;padding:15px;border:0;background-size:25px;background-color:transparent;background-image:url(../img/close.svg);background-repeat:no-repeat;background-position:right 5px top 5px;opacity:.9}#app-navigation .animate-show,#app-navigation .error-message button:hover{opacity:1}#app-navigation .animate-show.ng-hide-add,#app-navigation .animate-show.ng-hide-remove{transition:0s linear opacity}#app-navigation .animate-show.ng-hide-add-active,#app-navigation .animate-show.ng-hide-remove-active{transition:.2s linear opacity}#app-navigation .animate-show.ng-hide{opacity:0}#app-navigation .feed-no-ordering{transform:rotate(270deg)}#app-navigation .feed-reverse-ordering{transform:rotate(180deg)}#app-navigation .icon-pinned{background-image:url(../img/pinned.svg)}#app-navigation .icon-unpinned{background-image:url(../img/unpinned.svg)}#app-navigation .icon-updatemode-default{background-image:url(../img/updatemodedefault.svg)}#app-navigation .icon-updatemode-unread{background-image:url(../img/updatemodeunread.svg)}#app-settings input[type=file]{position:absolute;left:-30000px}#app-settings .opened:hover{background-color:transparent!important}#app-settings-content{padding-bottom:25px}#app-settings-content h3{padding:5px 0;font-weight:700}#app-settings-content a{color:#00F}#app-settings-content p{padding:2px 2px 2px 10px}#app-settings-content label{display:block;padding-left:18px}#app-settings-content label input[type=checkbox]{margin-left:-18px;max-width:16px}.button-icon-label{background-position:10px center;background-size:16px;padding-left:25px}#app-settings .import-export h3{padding-top:15px;padding-bottom:5px}#app-settings .import-export a,#app-settings .import-export button{width:113px;height:30px;margin:0;vertical-align:middle;background-position:center}#explore,.explore #app-content-wrapper{height:100%}#app-settings .import-export a{display:inline-block}#app-settings .disabled{color:#aaa}#explore{width:100%}#explore h1{font-size:16pt;padding:30px 0;text-align:center}#explore .explore-section{padding:20px 45px}#explore .explore-section h2{color:#333;font-size:14pt;padding-bottom:10px}#explore .explore-section li{padding:20px 30px;margin:0 20px 20px 0;display:inline-block;vertical-align:top;width:300px;background-color:#f5f5f5;border:1px solid #ccc}#explore .explore-section h3{line-height:45px;height:45px;font-size:13pt;background-repeat:no-repeat;background-position:0 center;background-size:24px 24px;padding:0 0 15px 35px}#explore .explore-logo{text-align:center;margin-top:25px}#explore .explore-logo img{width:100%}#explore .explore-subscribe{padding-top:15px;text-align:right}#explore .explore-content{min-height:100px}
/*# sourceMappingURL=news.min.css.map */ \ No newline at end of file
diff --git a/css/news.min.css.map b/css/news.min.css.map
index b765513af..05132dc1a 100644
--- a/css/news.min.css.map
+++ b/css/news.min.css.map
@@ -1 +1 @@
-{"version":3,"sources":["../css/content.css","../css/app.css","../css/settings.css","../css/explore.css","../css/custom.css","../css/shortcuts.css","../css/mobile.css","../css/navigation.css"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"sources":["../css/content.css","../css/app.css","../css/settings.css","../css/explore.css","../css/custom.css","../css/shortcuts.css","../css/mobile.css","../css/navigation.css"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/db/feed.php b/db/feed.php
index 389b61b27..f5f3562ec 100644
--- a/db/feed.php
+++ b/db/feed.php
@@ -75,6 +75,7 @@ class Feed extends Entity implements IAPI, \JsonSerializable {
protected $ordering;
protected $fullTextEnabled;
protected $pinned;
+ protected $updateMode;
public function __construct(){
$this->addType('parentId', 'integer');
@@ -87,6 +88,7 @@ class Feed extends Entity implements IAPI, \JsonSerializable {
$this->addType('articlesPerUpdate', 'integer');
$this->addType('ordering', 'integer');
$this->addType('fullTextEnabled', 'boolean');
+ $this->addType('updateMode', 'integer');
}
@@ -111,7 +113,8 @@ class Feed extends Entity implements IAPI, \JsonSerializable {
'location',
'ordering',
'fullTextEnabled',
- 'pinned'
+ 'pinned',
+ 'updateMode'
]);
$url = parse_url($this->link)['host'];
diff --git a/img/updatemodedefault.svg b/img/updatemodedefault.svg
new file mode 100644
index 000000000..7c3e859a5
--- /dev/null
+++ b/img/updatemodedefault.svg
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ height="17"
+ width="17"
+ version="1.1"
+ id="svg2"
+ inkscape:version="0.91 r13725"
+ sodipodi:docname="updatemodedefault.svg">
+ <metadata
+ id="metadata12">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <defs
+ id="defs10" />
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="960"
+ inkscape:window-height="1016"
+ id="namedview8"
+ showgrid="false"
+ inkscape:zoom="13.882353"
+ inkscape:cx="10.733051"
+ inkscape:cy="8.5"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg2" />
+ <g
+ transform="translate(93.422 -466.66)"
+ id="g4"
+ style="fill:#cccccc">
+ <path
+ d="m-83.897 468.74c-3.9502 0-6.5349 3.4469-6.3643 6.7213h-2.1608l3.904 3.9174 4.0813-3.8722h-2.1489c-0.23705-1.7009 1.1635-3.1145 2.6887-3.0921 1.5965 0.0235 2.8006 1.2292 2.8006 2.7334 0.08961 1.5938-1.6294 3.4279-3.9654 2.5317-0.000083 1.2281 0.0027 2.5439 0 3.764 4.1894 0.82896 7.6398-2.5095 7.6398-6.2509 0-3.5621-2.9188-6.4525-6.4749-6.4525z"
+ id="path6"
+ style="fill:#cccccc" />
+ </g>
+</svg>
diff --git a/img/updatemodeunread.svg b/img/updatemodeunread.svg
new file mode 100644
index 000000000..94512a2d4
--- /dev/null
+++ b/img/updatemodeunread.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" xmlns:osb="http://www.openswatchbook.org/uri/2009/osb" height="17" width="17" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/">
+ <g transform="translate(93.422 -466.66)">
+ <path d="m-83.897 468.74c-3.9502 0-6.5349 3.4469-6.3643 6.7213h-2.1608l3.904 3.9174 4.0813-3.8722h-2.1489c-0.23705-1.7009 1.1635-3.1145 2.6887-3.0921 1.5965 0.0235 2.8006 1.2292 2.8006 2.7334 0.08961 1.5938-1.6294 3.4279-3.9654 2.5317-0.000083 1.2281 0.0027 2.5439 0 3.764 4.1894 0.82896 7.6398-2.5095 7.6398-6.2509 0-3.5621-2.9188-6.4525-6.4749-6.4525z"/>
+ </g>
+</svg>
diff --git a/js/build/app.js b/js/build/app.js
index f320b0f84..4ac05370a 100644
--- a/js/build/app.js
+++ b/js/build/app.js
@@ -843,17 +843,21 @@ app.controller('NavigationController',
};
this.setOrdering = function (feed, ordering) {
- FeedResource.setOrdering(feed.id, ordering);
+ FeedResource.patch(feed.id, {ordering: ordering});
$route.reload();
};
this.togglePinned = function (feedId) {
var feed = FeedResource.getById(feedId);
if (feed) {
- return FeedResource.setPinned(feedId, !feed.pinned);
+ return FeedResource.patch(feedId, {pinned: !feed.pinned});
}
};
+ this.setUpdateMode = function (feedId, updateMode) {
+ return FeedResource.patch(feedId, {updateMode: updateMode});
+ };
+
this.toggleFullText = function (feed) {
$rootScope.$broadcast('$routeChangeStart');
FeedResource.toggleFullText(feed.id).finally(function () {
@@ -1316,8 +1320,8 @@ app.factory('FeedResource', ["Resource", "$http", "BASE_URL", "$q", function (Re
if (feed) {
feed.ordering = ordering;
- var url = this.BASE_URL + '/feeds/' + feedId + '/ordering';
- return this.http.post(url, {
+ var url = this.BASE_URL + '/feeds/' + feedId;
+ return this.http.patch(url, {
ordering: ordering
});
}
@@ -1329,23 +1333,31 @@ app.factory('FeedResource', ["Resource", "$http", "BASE_URL", "$q", function (Re
if (feed) {
feed.pinned = isPinned;
- var url = this.BASE_URL + '/feeds/' + feedId + '/pinned';
- return this.http.post(url, {
- isPinned: isPinned
+ var url = this.BASE_URL + '/feeds/' + feedId;
+ return this.http.patch(url, {
+ pinned: isPinned
});
}
};
- FeedResource.prototype.toggleFullText = function (feedId) {
+ FeedResource.prototype.patch = function (feedId, diff) {
var feed = this.getById(feedId);
- feed.fullTextEnabled = !feed.fullTextEnabled;
+ if (feed) {
+ Object.keys(diff).forEach(function(key) {
+ feed[key] = diff[key];
+ });
+ var url = this.BASE_URL + '/feeds/' + feedId;
+ return this.http.patch(url, diff);
+ }
+ };
+
- var url = this.BASE_URL + '/feeds/' + feedId + '/fulltext';
- return this.http.post(url, {
- fullTextEnabled: feed.fullTextEnabled
- });
+ FeedResource.prototype.toggleFullText = function (feedId) {
+ var feed = this.getById(feedId);
+
+ return this.patch(feedId, {fullTextEnabled: !feed.fullTextEnabled});
};
diff --git a/js/build/app.min.js b/js/build/app.min.js
index f94bacc69..9db9ff0cc 100644
--- a/js/build/app.min.js
+++ b/js/build/app.min.js
@@ -1,3 +1,3 @@
-!function(a,b,c,d,e,f,g,h,i){"use strict";var j=d.module("News",["ngRoute","ngSanitize","ngAnimate"]);j.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",f.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=g),d||a.when(d)}}}]);var e={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in e&&(c&&b.cancel(c),f.Notification.hide(),f.Notification.showHtml(e[d.status]),c=b(function(){f.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var h=function(a){return{data:["$http","$route","$q","$location","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,g,h,j,k){var l=j.get("showAll"),m=j.get("oldestFirst"),n=e.search().search||"",o=d.defer();if(null===l||null===m)o.resolve({});else{var p={type:a,limit:g,showAll:l,oldestFirst:m,search:n};if(c.current.params.id!==i&&(p.id=c.current.params.id),a===h.FEED){var q=k.getById(p.id);q===i||2===q.ordering?p.oldestFirst=!1:1===q.ordering&&(p.oldestFirst=!0)}b({url:f+"/items",method:"GET",params:p}).success(function(a){o.resolve(a)})}return o.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","Publisher","SettingsResource",function(a,b,c,d,e){var f=b.defer();return a.get(c+"/settings").then(function(b){d.publishAll(b);var c=e.get("exploreUrl"),f=e.get("language");return a({url:c,method:"GET",params:{lang:f}})}).then(function(a){f.resolve(a.data)})["catch"](function(){f.reject()}),f.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),j.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),j.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()},this.play=function(a){this.playingItem=a}}]),j.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","$location","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,g,h,j,k,l){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,c.size()>=k?this.isNothingMoreToAutoPage=!1:this.isNothingMoreToAutoPage=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var m=this,n=function(){var a=d.get("oldestFirst");if(m.isFeed()){var c=b.getById(g.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return n()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===j.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=g.id,i=n(),j=d.get("showAll"),m=this,o=h.search().search;l.setLoading("autopaging",!0),c.autoPage(b,e,i,j,o).success(function(b){a.publishAll(b),b.items.length>=k?m.isAutoPagingEnabled=!0:m.isNothingMoreToAutoPage=!0,m.isAutoPagingEnabled&&m.autoPageAgain&&m.autoPage()}).error(function(){m.isAutoPagingEnabled=!0})["finally"](function(){l.setLoading("autopaging",!1)})}},this.getRelativeDate=function(a){if(a!==i&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()},this.getMediaType=function(a){return a&&0===a.indexOf("audio")?"audio":a&&0===a.indexOf("video")?"video":i}}]),j.controller("ExploreController",["sites","$rootScope","FeedResource",function(a,b,c){this.sites=a,this.feedExists=function(a){return c.getByLocation(a)!==i},this.subscribeTo=function(a){b.$broadcast("addFeed",a)},this.isCategoryShown=function(a){return a.filter(function(a){return c.getByLocation(a.feed)===i}).length>0}}]),j.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,g,h,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.isUnread=function(){return this.getUnreadCount()>0},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==i?b.unreadCount:0},this.isFeedUnread=function(a){return this.getFeedUnreadCount(a)>0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.isFolderUnread=function(a){return this.getFolderUnreadCount(a)>0},this.getStarredCount=function(){return e.getStarredCount()},this.isStarredUnread=function(){return this.getStarredCount()>0},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==i},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==i&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isExploreActive=function(){return a.current&&a.current.$$route.type===b.EXPLORE},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==i},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==i||c.get("http://"+a)!==i},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===i||""===e?(f.getsFeed=!0,c.create(a.url,f.id,i).then(function(a){g.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")})["finally"](function(){f.getsFeed=i,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){g.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=i,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){g.publishAll(a)})["finally"](function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.rename(a.id,a.title),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1):d.rename(a.name,b).then(function(){a.renameError="",a.editing=!1},function(b){a.renameError=b})["finally"](function(){c.renamingFolder=!1})},this.reversiblyDeleteFeed=function(b){c.reversiblyDelete(b.id)["finally"](function(){a.reload()})},this.undoDeleteFeed=function(b){c.undoDelete(b.id)["finally"](function(){a.reload()})},this.deleteFeed=function(a){c["delete"](a.url)},this.reversiblyDeleteFolder=function(b){k.all(c.reversiblyDeleteFolder(b.id),d.reversiblyDelete(b.name))["finally"](function(){a.reload()})},this.undoDeleteFolder=function(b){k.all(c.undoDeleteFolder(b.id),d.undoDelete(b.name))["finally"](function(){a.reload()})},this.deleteFolder=function(a){c.deleteFolder(a.id),d["delete"](a.name)},this.setOrdering=function(b,d){c.setOrdering(b.id,d),a.reload()},this.togglePinned=function(a){var b=c.getById(a);return b?c.setPinned(a,!b.pinned):void 0},this.toggleFullText=function(b){h.$broadcast("$routeChangeStart"),c.toggleFullText(b.id)["finally"](function(){h.$broadcast("$routeChangeSuccess"),a.reload()})},this.search=function(a){""===a?j.search("search",null):j.search("search",a)};var m=this;h.$on("moveFeedToFolder",function(a,b){m.moveFeed(b.feedId,b.folderId)});var n=function(){var e;a.current&&(e=a.current.$$route.type);var f=0;if(e===b.FOLDER)f=l();else if(e===b.FEED){var g=c.getById(l());g&&(f=g.folderId)}var h;0!==f&&(h=d.getById(f)),m.feed.existingFolder=h};h.$on("$routeChangeSuccess",function(){n()})}]),j.controller("SettingsController",["$route","$q","SettingsResource","ItemResource","OPMLParser","OPMLImporter","Publisher",function(a,b,c,d,e,f,g){this.isOPMLImporting=!1,this.isArticlesImporting=!1,this.opmlImportError=!1,this.articleImportError=!1;var h=function(b,d){c.set(b,d),["showAll","oldestFirst","compact"].indexOf(b)>=0&&a.reload()};this.toggleSetting=function(a){h(a,!this.getSetting(a))},this.getSetting=function(a){return c.get(a)},this.importOPML=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isOPMLImporting=!1;var b=e.parse(a),c=this,d=5;f.importFolders(b).then(function(a){return f.importFeedQueue(a,d)})["finally"](function(){c.isOPMLImporting=!1})}catch(g){console.error(g),this.isOPMLImporting=!1,this.opmlImportError=!0}},this.importArticles=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isArticlesImporting=!0;var b=JSON.parse(a),c=this;d.importArticles(b).success(function(a){g.publishAll(a)})["finally"](function(){c.isArticlesImporting=!1})}catch(e){console.error(e),this.articleImportError=!0,this.isArticlesImporting=!1}}}]),j.filter("trustUrl",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]),j.filter("unreadCountFormatter",function(){return function(a){return a>999?"999+":a}}),j.factory("FeedResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"url"),this.ids={},this.locations={},this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.$q=d};return e.prototype=Object.create(a.prototype),e.prototype.receive=function(b){a.prototype.receive.call(this,b),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.clear=function(){a.prototype.clear.call(this),this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.ids={},this.locations={}},e.prototype.updateUnreadCache=function(){this.unreadCount=0,this.folderUnreadCount={};var a=this;this.values.forEach(function(b){b.unreadCount&&(a.unreadCount+=b.unreadCount),b.folderId!==i&&(a.folderUnreadCount[b.folderId]=a.folderUnreadCount[b.folderId]||0,a.folderUnreadCount[b.folderId]+=b.unreadCount)})},e.prototype.updateFolderCache=function(){this.folderIds={};var a=this;this.values.forEach(function(b){a.folderIds[b.folderId]=a.folderIds[b.folderId]||[],a.folderIds[b.folderId].push(b)})},e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.url]),b.location!==i&&(this.locations[b.location]=this.hashMap[b.url])},e.prototype.markRead=function(){this.values.forEach(function(a){a.unreadCount=0}),this.updateUnreadCache()},e.prototype.markFeedRead=function(a){this.ids[a].unreadCount=0,this.updateUnreadCache()},e.prototype.markFolderRead=function(a){this.values.forEach(function(b){b.folderId===a&&(b.unreadCount=0)}),this.updateUnreadCache()},e.prototype.markItemOfFeedRead=function(a){this.ids[a].unreadCount-=1,this.updateUnreadCache()},e.prototype.markItemsOfFeedsRead=function(a){var b=this;a.forEach(function(a){b.ids[a].unreadCount-=1}),this.updateUnreadCache()},e.prototype.markItemOfFeedUnread=function(a){this.ids[a].unreadCount+=1,this.updateUnreadCache()},e.prototype.getUnreadCount=function(){return this.unreadCount},e.prototype.getFolderUnreadCount=function(a){return this.folderUnreadCount[a]},e.prototype.getByFolderId=function(a){return this.folderIds[a]||[]},e.prototype.getById=function(a){return this.ids[a]},e.prototype.getByLocation=function(a){return this.locations[a]},e.prototype.rename=function(a,b){return this.http({method:"POST",url:this.BASE_URL+"/feeds/"+a+"/rename",data:{feedTitle:b}})},e.prototype.move=function(a,b){var c=this.getById(a);return c.folderId=b,this.updateFolderCache(),this.updateUnreadCache(),this.http({method:"POST",url:this.BASE_URL+"/feeds/"+c.id+"/move",data:{parentFolderId:b}})},e.prototype.create=function(a,b,c){a=a.trim(),a.startsWith("http")||(a="https://"+a),c!==i&&(c=c.trim());var d={url:a,folderId:b||0,title:c||a,unreadCount:0};this.add(d),this.updateFolderCache();var e=this.$q.defer();return this.http({method:"POST",url:this.BASE_URL+"/feeds",data:{url:a,parentFolderId:b||0,title:c}}).success(function(a){e.resolve(a)}).error(function(a){d.faviconLink="",d.error=a.message,e.reject()}),e.promise},e.prototype.reversiblyDelete=function(a,b,c){var d=this.getById(a);return d&&c!==!0&&(d.deleted=!0),b!==!1&&this.updateUnreadCache(),this.http["delete"](this.BASE_URL+"/feeds/"+a)},e.prototype.reversiblyDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.reversiblyDelete(a.id,!1,!0))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype["delete"]=function(b,c){var d=this.get(b);return d!==i&&d.id&&delete this.ids[d.id],d!==i&&d.location&&delete this.locations[d.location],a.prototype["delete"].call(this,b),c!==!1&&(this.updateUnreadCache(),this.updateFolderCache()),d},e.prototype.deleteFolder=function(a){var b=this;this.getByFolderId(a).forEach(function(a){b["delete"](a.url,!1)}),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.undoDelete=function(a,b){var c=this.getById(a);return c&&(c.deleted=!1),b!==!1&&this.updateUnreadCache(),this.http.post(this.BASE_URL+"/feeds/"+a+"/restore")},e.prototype.undoDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.undoDelete(a.id,!1))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype.setOrdering=function(a,b){var c=this.getById(a);if(c){c.ordering=b;var d=this.BASE_URL+"/feeds/"+a+"/ordering";return this.http.post(d,{ordering:b})}},e.prototype.setPinned=function(a,b){var c=this.getById(a);if(c){c.pinned=b;var d=this.BASE_URL+"/feeds/"+a+"/pinned";return this.http.post(d,{isPinned:b})}},e.prototype.toggleFullText=function(a){var b=this.getById(a);b.fullTextEnabled=!b.fullTextEnabled;var c=this.BASE_URL+"/feeds/"+a+"/fulltext";return this.http.post(c,{fullTextEnabled:b.fullTextEnabled})},new e(b,c,d)}]),j.factory("FolderResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"name"),this.deleted=null,this.$q=d,this.ids={}};return e.prototype=Object.create(a.prototype),e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.name])},e.prototype.clear=function(){a.prototype.clear.call(this),this.ids={}},e.prototype["delete"]=function(b){var c=this.get(b);return c!==i&&c.id&&delete this.ids[c.id],a.prototype["delete"].call(this,b),c},e.prototype.toggleOpen=function(a){var b=this.get(a);return b.opened=!b.opened,this.http({url:this.BASE_URL+"/folders/"+b.id+"/open",method:"POST",data:{folderId:b.id,open:b.opened}})},e.prototype.rename=function(a,b){var c=this.get(a),d=this.$q.defer(),e=this;return this.http({url:this.BASE_URL+"/folders/"+c.id+"/rename",method:"POST",data:{folderName:b}}).success(function(){c.name=b,delete e.hashMap[a],e.hashMap[b]=c,d.resolve()}).error(function(a){d.reject(a.message)}),d.promise},e.prototype.getById=function(a){return this.ids[a]},e.prototype.create=function(a){a=a.trim();var b={name:a};this.add(b);var c=this.$q.defer();return this.http({url:this.BASE_URL+"/folders",method:"POST",data:{folderName:a}}).success(function(a){c.resolve(a)}).error(function(a){b.error=a.message}),c.promise},e.prototype.reversiblyDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!0,this.http["delete"](this.BASE_URL+"/folders/"+c)},e.prototype.undoDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!1,this.http.post(this.BASE_URL+"/folders/"+c+"/restore")},new e(b,c,d)}]),j.factory("ItemResource",["Resource","$http","BASE_URL","ITEM_BATCH_SIZE",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c),this.batchSize=d,this.clear()};return e.prototype=Object.create(a.prototype),e.prototype.clear=function(){this.starredCount=0,this.lowestId=0,this.highestId=0,a.prototype.clear.call(this)},e.prototype.receive=function(b,c){switch(c){case"newestItemId":this.newestItemId=b;break;case"starred":this.starredCount=b;break;default:var d=this;b.forEach(function(a){0===d.lowestId&&(d.lowestId=a.id),0===d.highestId&&(d.highestId=a.id),a.id>d.highestId&&(d.highestId=a.id),a.id<d.lowestId&&(d.lowestId=a.id)}),a.prototype.receive.call(this,b,c)}},e.prototype.getNewestItemId=function(){return this.newestItemId},e.prototype.getStarredCount=function(){return this.starredCount},e.prototype.star=function(a,b){b===i&&(b=!0);var c=this.get(a),d=this.BASE_URL+"/items/"+c.feedId+"/"+c.guidHash+"/star";return c.starred=b,b?this.starredCount+=1:this.starredCount-=1,this.http({url:d,method:"POST",data:{isStarred:b}})},e.prototype.toggleStar=function(a){this.get(a).starred?this.star(a,!1):this.star(a,!0)},e.prototype.markItemRead=function(a,b){return b===i&&(b=!0),this.get(a).unread=!b,this.http({url:this.BASE_URL+"/items/"+a+"/read",method:"POST",data:{isRead:b}})},e.prototype.markItemsRead=function(a){var b=this;return a.forEach(function(a){b.get(a).unread=!1}),this.http({url:this.BASE_URL+"/items/read/multiple",method:"POST",data:{itemIds:a}})},e.prototype.markFeedRead=function(a,b){b===i&&(b=!0);var c=this.values.filter(function(b){return b.feedId===a});return c.forEach(function(a){a.unread=!b}),this.http.post(this.BASE_URL+"/feeds/"+a+"/read",{highestItemId:this.getNewestItemId()})},e.prototype.markRead=function(){return this.values.forEach(function(a){a.unread=!1}),this.http({url:this.BASE_URL+"/items/read",method:"POST",data:{highestItemId:this.getNewestItemId()}})},e.prototype.autoPage=function(a,b,c,d,e){var f;return f=c?this.highestId:this.lowestId,this.http({url:this.BASE_URL+"/items",method:"GET",params:{type:a,id:b,offset:f,limit:this.batchSize,oldestFirst:c,showAll:d,search:e}})},e.prototype.importArticles=function(a){return this.http({url:this.BASE_URL+"/feeds/import/articles",method:"POST",data:{json:a}})},new e(b,c,d)}]),j.service("Loading",function(){this.loading={global:!1,content:!1,autopaging:!1},this.setLoading=function(a,b){this.loading[a]=b},this.isLoading=function(a){return this.loading[a]}}),j.service("OPMLImporter",["FeedResource","FolderResource","Publisher","$q",function(a,b,c,d){var e=function(f){var g=d.defer();if(f.length>0){var h=f.pop(),j=h.url,k=h.title,l=0,m=h.folderName;if(m!==i&&b.get(m)!==i){var n=b.get(m);n.opened=!0,l=n.id,n.getsFeed=!0,n.getsFeedCounter=n.getsFeedCounter||0,n.getsFeedCounter+=1}j!==i&&a.get(j)===i&&a.create(j,l,k).then(function(a){c.publishAll(a)})["finally"](function(){0!==l&&(n.getsFeedCounter-=1,0===n.getsFeedCounter&&(n.getsFeed=!1)),e(f)})}else g.resolve();return g.promise};this.importFolders=function(a){var e=[],f=[];a.folders.forEach(function(a){if(a.name!==i){if(b.get(a.name)===i){var d=b.create(a.name).then(function(a){c.publishAll(a)});f.push(d)}a.feeds.forEach(function(b){b.folderName=a.name,e.push(b)})}}),e=e.concat(a.feeds);var g=d.defer();return d.all(f)["finally"](function(){g.resolve(e)}),g.promise},this.importFeedQueue=function(a,b){for(var c=d.defer(),f=[],g=0;b>g;g+=1)f.push(e(a));return d.all(f).then(function(){c.resolve()}),c.promise}}]),j.service("OPMLParser",function(){var a=function(a){var b=a.attr("xmlUrl")||a.attr("htmlUrl"),c=a.attr("title")||a.attr("text")||b;return b===i?{type:"folder",name:c,feeds:[]}:{type:"feed",name:c,url:b}},b=function(c,d,f){for(var g=0;g<c.length;g+=1){var h=e(c[g]),i=a(h);"feed"===i.type?d.feeds.push(i):f?(b(h.children("outline"),i,!1),d.folders.push(i)):b(h.children("outline"),d,!1)}return d};this.parse=function(a){a=e.parseXML(a);var c=e(a).find("body > outline"),d={feeds:[],folders:[]};return b(c,d,!0)}}),j.service("Publisher",function(){this.channels={},this.subscribe=function(a){var b=this;return{toChannels:function(c){c.forEach(function(c){b.channels[c]=b.channels[c]||[],b.channels[c].push(a)})}}},this.publishAll=function(a){var b=this;Object.keys(a).forEach(function(c){var d=b.channels[c];d!==i&&d.forEach(function(b){b.receive(a[c],c)})})}}),j.factory("Resource",function(){var a=function(a,b,c){this.id=c||"id",this.values=[],this.hashMap={},this.http=a,this.BASE_URL=b};return a.prototype.receive=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this.hashMap[a[this.id]];b===i?(this.values.push(a),this.hashMap[a[this.id]]=a):Object.keys(a).forEach(function(c){b[c]=a[c]})},a.prototype.size=function(){return this.values.length},a.prototype.get=function(a){return this.hashMap[a]},a.prototype["delete"]=function(a){var b=this,c=this.values.findIndex(function(c){return c[b.id]===a});c!==i&&this.values.splice(c,1),this.hashMap[a]!==i&&delete this.hashMap[a]},a.prototype.clear=function(){for(this.hashMap={};this.values.length>0;)this.values.pop()},a.prototype.getAll=function(){return this.values},a}),j.service("SettingsResource",["$http","BASE_URL",function(a,b){this.settings={language:"en",showAll:null,compact:!1,oldestFirst:null,preventReadOnScroll:!1,compactExpand:!1,exploreUrl:""},this.defaultLanguageCode="en",this.supportedLanguageCodes=["ar-ma","ar","bg","ca","cs","cv","da","de","el","en-ca","en-gb","eo","es","et","eu","fi","fr-ca","fr","gl","he","hi","hu","id","is","it","ja","ka","ko","lv","ms-my","nb","ne","nl","pl","pt-br","pt","ro","ru","sk","sl","sv","th","tr","tzm-la","tzm","uk","zh-cn","zh-tw"],this.receive=function(a){var b=this;Object.keys(a).forEach(function(c){var d=a[c];"language"===c&&(d=b.processLanguageCode(d)),b.settings[c]=d})},this.get=function(a){return this.settings[a]},this.set=function(c,d){return this.settings[c]=d,a({url:b+"/settings",method:"PUT",data:{language:this.settings.language,showAll:this.settings.showAll,compact:this.settings.compact,oldestFirst:this.settings.oldestFirst,compactExpand:this.settings.compactExpand,preventReadOnScroll:this.settings.preventReadOnScroll}})},this.processLanguageCode=function(a){return a=a.replace("_","-").toLowerCase(),this.supportedLanguageCodes.indexOf(a)<0&&(a=a.split("-")[0]),this.supportedLanguageCodes.indexOf(a)<0&&(a=this.defaultLanguageCode),a}}]),function(a,b,c,d,e,f){var g=a.location,h=a.localStorage,i=function(a,b,d){var e=c.isContentHandlerRegistered,f=function(a,b){return e?"new"!==e(a,b):h.getItem("registeredHandler")===b};c.registerContentHandler&&!f(a,b)&&(c.registerContentHandler(a,k,d),e||h.setItem("registeredHandler",b))},j=g.protocol+"//"+g.host+g.pathname,k=j+"?subscribe_to=%s",l="application/vnd.mozilla.maybe.feed",m="ownCloud News @ "+j;i(l,k,m),e(b).ready(function(){var b=a.decodeURIComponent(d("?subscribe_to"));if(b&&"null"!==b){e("#new-feed").show();var c=e('input[ng-model="Navigation.feed.url"]');c.val(b),c.trigger("input"),setTimeout(function(){c.focus()},1e3)}})}(b,c,a,h,e),function(a,b){a.addEventListener("beforeunload",function(){var a=b.querySelector("#app-content");a.scrollTo(0,0)})}(b,c),function(a,b,c){var d=function(a){return!(a.is("input")||a.is("select")||a.is("textarea")||a.is("checkbox"))},e=function(a){return!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)},f=function(a){var b=".active > .app-navigation-entry-menu .mark-read button",c=a.find(b);c.length>0&&c.trigger("click")},g=function(a,b){var c=a.offset().top-b.offset().top,d=c+a.height(),e=b.height();return c>=0&&e>d},h=function(a,b,c){0===a.length||!c&&g(a,b)||b.scrollTop(a.offset().top-b.offset().top+b.scrollTop())},i=function(a){var b=a.find(".active");h(b,a.children("ul"),!0)},j=function(a){a.find(".active > a:visible").trigger("click")},k=function(a,b){if(0===b.scrollTop()){var c=b.find(".pull-to-refresh");c.hasClass("show-pull-to-refresh")?c.hasClass("done")&&j(a):c.addClass("show-pull-to-refresh")}},l=function(a,b){a.children("a:visible").trigger("click"),h(a,b.children("ul"))},m=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder"))for(;b.length>0;){var e=b.find(".feed:visible");if(e.length>0)return void l(c(e[0]),a);b=b.next(".folder")}else for(var f=0;f<d.length-1;f+=1){var g=d[f];if(g===b[0]){var h=d[f+1];l(c(h),a);break}}},n=function(a){return a.parent().parent(".folder")},o=function(a,b){var d,e=a.find(".folder:visible");d=b?e.length-1:0,e.length>0&&l(c(e[d]),a)},p=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.prevAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c,a):o(a,!0)}else o(a,!0)},q=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.nextAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c.nextAll(".folder:visible").first(),a):o(a)}else o(a)},r=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder")){for(var e=b.prev(".folder");e.length>0;){var f=e.find(".feed:visible");if(f.length>0)return void l(c(f[f.length-1]),a);e=e.prev(".folder")}var g=b.siblings(".feed");if(g.length>0)return void l(c(g[g.length-1]),a);var h=c(".starred-feed:visible");return void(h.length>0&&l(h,a))}for(var i=d.length-1;i>0;i-=1){var j=d[i];if(j===b[0]){var k=d[i-1];l(c(k),a);break}}},s=function(a,b){var d=a.find(".item");d.each(function(a,d){return d=c(d),d.height()+d.position().top>30?(b(d),!1):void 0})},t=function(a){s(a,function(a){a.find(".toggle-keep-unread").trigger("click")})},u=function(a){s(a,function(a){a.find(".star").trigger("click")})},v=function(a){s(a,function(a){a.find(".utils").trigger("click")})},w=function(b){s(b,function(b){b.trigger("click"),a.open(b.find(".external:visible").attr("href"),"_blank")})},x=function(a,b,c){a.scrollTop(b.offset().top-a.offset().top+a.scrollTop()),c&&s(a,function(a){a.hasClass("open")||a.find(".utils").trigger("click")})},y=function(a,b){var d=a.find(".item"),e=!1;d.each(function(d,f){return f=c(f),0===f.position().top&&b&&!f.hasClass("open")||f.position().top>10?(x(a,f,b),e=!0,!1):void 0}),e||a.scrollTop(a.prop("scrollHeight"))},z=function(a,b,d){var e=b.find(".item"),f=!1;e.each(function(e,g){if(g=c(g),g.position().top+10>=0){var h=g.prev();return h.length>0?x(b,h,d):(k(a,b),b.scrollTop(0)),f=!0,!1}}),!f&&e.length>0&&x(b,e.last())};c(b).keyup(function(a){var b=a.keyCode,g=c("#app-content"),h=c("#app-navigation"),l=c("#articles.compact").length>0,n="true"===c("#articles").attr("news-compact-expand"),o=l&&n;d(c(":focus"))&&e(a)?[74,78,39].indexOf(b)>=0?(a.preventDefault(),y(g,o)):[75,80,37].indexOf(b)>=0?(a.preventDefault(),z(h,g,o)):[85].indexOf(b)>=0?(a.preventDefault(),t(g)):[69].indexOf(b)>=0?(a.preventDefault(),v(g)):[73,83,76].indexOf(b)>=0?(a.preventDefault(),u(g)):[72].indexOf(b)>=0?(a.preventDefault(),u(g),y(g)):[79].indexOf(b)>=0?(a.preventDefault(),w(g)):[82].indexOf(b)>=0?(a.preventDefault(),j(h)):[70].indexOf(b)>=0?(a.preventDefault(),m(h)):[68].indexOf(b)>=0?(a.preventDefault(),r(h)):[67].indexOf(b)>=0?(a.preventDefault(),p(h)):[65].indexOf(b)>=0?(a.preventDefault(),i(h)):[86].indexOf(b)>=0?(a.preventDefault(),q(h)):[81].indexOf(b)>=0?(a.preventDefault(),c("#searchbox").focus()):[33].indexOf(b)>=0&&k(h,g):d(c(":focus"))&&a.shiftKey&&[65].indexOf(b)>=0&&(a.preventDefault(),f(h))})}(b,c,e),b.News=b.News||{},function(a,b,c,d,e){var f=[];d.addArticleAction=function(a){f.push(a)},d.getArticleActionPlugins=function(){return f}}(b,c,jQuery,b.News),j.run(["$document","$rootScope",function(a,b){a.click(function(a){b.$broadcast("documentClicked",a)})}]),j.directive("appNavigationEntryUtils",function(){return{restrict:"C",link:function(a,b){var c=b.siblings(".app-navigation-entry-menu"),d=e(b).find(".app-navigation-entry-utils-menu-button button");d.click(function(){c.toggleClass("open")}),a.$on("documentClicked",function(a,b){
-b.target!==d[0]&&c.removeClass("open")})}}}),j.directive("newsAddFeed",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(c,d){a.$on("addFeed",function(a,e){b(function(){d.is(":animated")?(d.stop(!0,!0),d.show()):d.is(":visible")||d.slideDown(),d.find('[ng-model="Navigation.feed.url"]').focus()}),c.Navigation.feed.url=e})}}}]),j.directive("newsArticleActions",function(){return{restrict:"A",scope:{newsArticleActions:"=",noPlugins:"="},link:function(a,b){for(var c=News.getArticleActionPlugins(),d=0;d<c.length;d+=1)c[d](b,a.newsArticleActions);a.noPlugins=0===c.length}}}),j.directive("newsAutoFocus",["$timeout",function(a){return function(b,c,d){var f=c;d.newsAutoFocus&&(f=e(d.newsAutoFocus)),a(function(){f.focus()},0)}}]),j.directive("newsBindHtmlUnsafe",function(){return function(a,b,c){a.$watch(c.newsBindHtmlUnsafe,function(){b.html(a.$eval(c.newsBindHtmlUnsafe))})}}),j.directive("newsDraggable",function(){return function(a,b,c){var e=a.$eval(c.newsDraggable);d.isDefined(e)?b.draggable(e):b.draggable(),c.$observe("newsDraggableDisable",function(a){"true"===a?b.draggable("disable"):b.draggable("enable")})}}),j.directive("newsDroppable",["$rootScope",function(a){return function(b,c,d){var f={accept:".feed",hoverClass:"drag-and-drop",greedy:!0,drop:function(f,g){e(".drag-and-drop").removeClass("drag-and-drop");var h={folderId:parseInt(c.data("id"),10),feedId:parseInt(e(g.draggable).data("id"),10)};a.$broadcast("moveFeedToFolder",h),b.$apply(d.droppable)}};c.droppable(f)}}]),j.directive("newsFinishedTransition",function(){return function(a,b,c){b.on("transitionend",function(){b.addClass(c.newsFinishedTransition)})}}),j.directive("newsFocus",["$timeout","$interpolate",function(a,b){return function(c,d,f){d.click(function(){var d=e(b(f.newsFocus)(c));a(function(){d.focus()},500)})}}]),j.directive("newsInstantNotification",function(){return{restrict:"E",link:function(a,b){b.hide();var c=b.html();f.Notification.showHtml(c)}}}),j.directive("newsPlayOne",["$rootScope",function(a){return{restrict:"A",link:function(b,c){c.on("play",function(){a.$broadcast("playing",c)}),a.$on("playing",function(a,b){b[0]!==c[0]&&c[0].pause()})}}}]),j.directive("newsPullToRefresh",["$rootScope",function(a){var b=!1;return{restrict:"A",scope:{newsPullToRefresh:"="},link:function(c,d){a.$on("$routeChangeStart",function(){b=!1,c.newsPullToRefresh=!1}),d.on("scroll",function(){0===d.scrollTop()&&b&&(c.newsPullToRefresh=!0),b=!0})}}}]),j.directive("newsReadFile",function(){return function(a,b,c){b.change(function(){var d=b[0].files[0],e=new FileReader;e.onload=function(b){a.$fileContent=b.target.result,a.$apply(c.newsReadFile)},e.readAsText(d)})}}),j.directive("newsScroll",["$timeout","ITEM_AUTO_PAGE_SIZE","MARK_READ_TIMEOUT","SCROLL_TIMEOUT",function(a,b,c,d){var f,g=function(a,b,c){for(var d=0,f=b.find(".item"),g=f.length-1;g>=0;g-=1){var h=e(f[g]);if(d>=a)break;if(h.position().top<0){c.$apply(c.newsScrollAutoPage);break}d+=1}},h=function(a,b,c){if(a){var d=[],f=b.find(".item:not(.read)");f.each(function(a,b){var c=e(b);return c.position().top<=-10?void d.push(parseInt(c.data("id"),10)):!1}),c.itemIds=d,c.$apply(c.newsScrollMarkRead)}};return{restrict:"A",scope:{newsScroll:"@",newsScrollAutoPage:"&",newsScrollMarkRead:"&",newsScrollEnabledMarkRead:"="},link:function(j,k){var l=!0,m=k;j.newsScroll&&(m=e(j.newsScroll));var n=function(){l&&(l=!1,a(function(){l=!0},1e3*d),g(b,k,j),f&&a.cancel(f),f=a(function(){h(j.newsScrollEnabledMarkRead,k,j),f=i},1e3*c))};m.on("scroll",n),j.$on("$destroy",function(){m.off("scroll",n)})}}}]),j.directive("newsSearch",["$document","$location",function(a,b){return{restrict:"E",scope:{onSearch:"="},link:function(a){var c=e("#searchbox");c.val(b.search().search);var d=function(){var b=c.val();a.$apply(function(){a.onSearch(b)})};c.on("search keyup",function(a){("search"===a.type||13===a.keyCode)&&d()}),a.$watch(function(){return b.search()},function(a){a&&a.search?c.val(a.search):c.val("")})}}}]),j.directive("newsStickyMenu",function(){return function(a,b,c){var d=40;e(c.newsStickyMenu).scroll(function(){var a=e(this).scrollTop();a>d?(b.addClass("fixed"),b.css("top",a)):b.removeClass("fixed")})}}),j.directive("newsStopPropagation",function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}),j.directive("newsTimeout",["$timeout","$rootScope",function(a,b){return{restrict:"A",scope:{newsTimeout:"&"},link:function(c,d){var e=!1,f=7,g=a(c.newsTimeout,1e3*f);c.$on("$destroy",function(){e=!0,a.cancel(g)}),b.$on("$locationChangeStart",function(){a.cancel(g),e||(e=!0,d.remove(),c.newsTimeout())})}}}]),j.directive("newsTitleUnreadCount",["$window",function(a){var b=a.document.title,c=b.split("-"),d=c[0]||"News",e=c[1]||"ownCloud";return{restrict:"E",scope:{unreadCount:"@"},link:function(b,c,f){f.$observe("unreadCount",function(b){"0"!==b?a.document.title=d+"("+b+") - "+e:a.document.title=d+" - "+e})}}}]),j.directive("newsToggleShow",function(){return{restrict:"A",scope:{newsToggleShow:"@"},link:function(a,b){b.click(function(){var b=e(a.newsToggleShow);b.toggle()})}}}),j.directive("newsTriggerClick",function(){return function(a,b,c){b.click(function(){e(c.newsTriggerClick).trigger("click")})}})}(navigator,window,document,angular,jQuery,OC,oc_requesttoken,url);
+!function(a,b,c,d,e,f,g,h,i){"use strict";var j=d.module("News",["ngRoute","ngSanitize","ngAnimate"]);j.config(["$routeProvider","$provide","$httpProvider",function(a,b,c){var d={FEED:0,FOLDER:1,STARRED:2,SUBSCRIPTIONS:3,SHARED:4,EXPLORE:5};b.constant("REFRESH_RATE",60),b.constant("ITEM_BATCH_SIZE",40),b.constant("ITEM_AUTO_PAGE_SIZE",20),b.constant("BASE_URL",f.generateUrl("/apps/news")),b.constant("FEED_TYPE",d),b.constant("MARK_READ_TIMEOUT",.5),b.constant("SCROLL_TIMEOUT",.1),b.factory("CSRFInterceptor",["$q","BASE_URL","$window",function(a,b,c){return{request:function(d){var e=c.location.href.split(c.location.pathname)[0];return(0===d.url.indexOf(b)||0===d.url.indexOf(e))&&(d.headers.requesttoken=g),d||a.when(d)}}}]);var e={0:t("news","Request failed, network connection unavailable!"),401:t("news","Request unauthorized. Are you logged in?"),403:t("news","Request forbidden. Are you an admin?"),412:t("news","Token expired or app not enabled! Reload the page!"),500:t("news","Internal server error! Please check your data/owncloud.log file for additional information!"),503:t("news","Request failed, ownCloud is in currently in maintenance mode!")};b.factory("ConnectionErrorInterceptor",["$q","$timeout",function(a,b){var c;return{responseError:function(d){return d.status in e&&(c&&b.cancel(c),f.Notification.hide(),f.Notification.showHtml(e[d.status]),c=b(function(){f.Notification.hide()},5e3)),a.reject(d)}}}]),c.interceptors.push("CSRFInterceptor"),c.interceptors.push("ConnectionErrorInterceptor");var h=function(a){return{data:["$http","$route","$q","$location","BASE_URL","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource",function(b,c,d,e,f,g,h,j,k){var l=j.get("showAll"),m=j.get("oldestFirst"),n=e.search().search||"",o=d.defer();if(null===l||null===m)o.resolve({});else{var p={type:a,limit:g,showAll:l,oldestFirst:m,search:n};if(c.current.params.id!==i&&(p.id=c.current.params.id),a===h.FEED){var q=k.getById(p.id);q===i||2===q.ordering?p.oldestFirst=!1:1===q.ordering&&(p.oldestFirst=!0)}b({url:f+"/items",method:"GET",params:p}).success(function(a){o.resolve(a)})}return o.promise}]}},j=function(){return{sites:["$http","$q","BASE_URL","Publisher","SettingsResource",function(a,b,c,d,e){var f=b.defer();return a.get(c+"/settings").then(function(b){d.publishAll(b);var c=e.get("exploreUrl"),f=e.get("language");return a({url:c,method:"GET",params:{lang:f}})}).then(function(a){f.resolve(a.data)})["catch"](function(){f.reject()}),f.promise}]}};a.when("/items",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.SUBSCRIPTIONS),type:d.SUBSCRIPTIONS}).when("/items/starred",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.STARRED),type:d.STARRED}).when("/items/feeds/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FEED),type:d.FEED}).when("/items/folders/:id",{controller:"ContentController as Content",templateUrl:"content.html",resolve:h(d.FOLDER),type:d.FOLDER}).when("/explore",{controller:"ExploreController as Explore",templateUrl:"explore.html",resolve:j(),type:d.EXPLORE}).when("/shortcuts",{templateUrl:"shortcuts.html",type:-1})}]),j.run(["$rootScope","$location","$http","$q","$interval","$route","Loading","ItemResource","FeedResource","FolderResource","SettingsResource","Publisher","BASE_URL","FEED_TYPE","REFRESH_RATE",function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o){g.setLoading("global",!0),l.subscribe(h).toChannels(["items","newestItemId","starred"]),l.subscribe(j).toChannels(["folders"]),l.subscribe(i).toChannels(["feeds"]),l.subscribe(k).toChannels(["settings"]);var p=d.defer();c.get(m+"/settings").success(function(a){l.publishAll(a),p.resolve()});var q=d.defer(),r=b.path();c.get(m+"/feeds/active").success(function(a){var c;switch(a.activeFeed.type){case n.FEED:c="/items/feeds/"+a.activeFeed.id;break;case n.FOLDER:c="/items/folders/"+a.activeFeed.id;break;case n.STARRED:c="/items/starred";break;case n.EXPLORE:c="/explore";break;default:c="/items"}/^\/items(\/(starred|explore|feeds\/\d+|folders\/\d+))?\/?$/.test(r)||b.path(c),q.resolve()});var s,t=d.defer();c.get(m+"/feeds").success(function(a){s=a,t.resolve()});var u,v=d.defer();c.get(m+"/folders").success(function(a){u=a,v.resolve()}),d.all([t.promise,v.promise]).then(function(){l.publishAll(s),l.publishAll(u),0===s.feeds.length&&0===u.folders.length&&b.path("/explore")}),d.all([p.promise,q.promise,t.promise,v.promise]).then(function(){f.reload(),g.setLoading("global",!1)}),e(function(){c.get(m+"/feeds").success(function(a){l.publishAll(a)}),c.get(m+"/folders").success(function(a){l.publishAll(a)})},1e3*o),a.$on("$routeChangeStart",function(){g.setLoading("content",!0)}),a.$on("$routeChangeSuccess",function(){g.setLoading("content",!1)}),a.$on("$routeChangeError",function(){b.path("/items")})}]),j.controller("AppController",["Loading","FeedResource","FolderResource",function(a,b,c){this.loading=a,this.isFirstRun=function(){return 0===b.size()&&0===c.size()},this.play=function(a){this.playingItem=a}}]),j.controller("ContentController",["Publisher","FeedResource","ItemResource","SettingsResource","data","$route","$routeParams","$location","FEED_TYPE","ITEM_AUTO_PAGE_SIZE","Loading",function(a,b,c,d,e,f,g,h,j,k,l){c.clear(),a.publishAll(e),this.isAutoPagingEnabled=!0,c.size()>=k?this.isNothingMoreToAutoPage=!1:this.isNothingMoreToAutoPage=!0,this.getItems=function(){return c.getAll()},this.toggleStar=function(a){c.toggleStar(a)},this.toggleItem=function(a){this.isCompactView()&&(a.show=!a.show)},this.isShowAll=function(){return d.get("showAll")},this.markRead=function(a){var d=c.get(a);d.keepUnread||d.unread!==!0||(c.markItemRead(a),b.markItemOfFeedRead(d.feedId))},this.getFeed=function(a){return b.getById(a)},this.toggleKeepUnread=function(a){var d=c.get(a);d.unread||(b.markItemOfFeedUnread(d.feedId),c.markItemRead(a,!1)),d.keepUnread=!d.keepUnread};var m=this,n=function(){var a=d.get("oldestFirst");if(m.isFeed()){var c=b.getById(g.id);c&&1===c.ordering?a=!0:c&&2===c.ordering&&(a=!1)}return a};this.orderBy=function(){return n()?"id":"-id"},this.isCompactView=function(){return d.get("compact")},this.isCompactExpand=function(){return d.get("compactExpand")},this.autoPagingEnabled=function(){return this.isAutoPagingEnabled},this.markReadEnabled=function(){return!d.get("preventReadOnScroll")},this.scrollRead=function(a){var d=[],e=[];a.forEach(function(a){var b=c.get(a);b.keepUnread||(d.push(a),e.push(b.feedId))}),d.length>0&&(b.markItemsOfFeedsRead(e),c.markItemsRead(d))},this.isFeed=function(){return f.current.$$route.type===j.FEED},this.autoPage=function(){if(!this.isNothingMoreToAutoPage){if(!this.isAutoPagingEnabled)return void(this.autoPageAgain=!0);this.isAutoPagingEnabled=!1,this.autoPageAgain=!1;var b=f.current.$$route.type,e=g.id,i=n(),j=d.get("showAll"),m=this,o=h.search().search;l.setLoading("autopaging",!0),c.autoPage(b,e,i,j,o).success(function(b){a.publishAll(b),b.items.length>=k?m.isAutoPagingEnabled=!0:m.isNothingMoreToAutoPage=!0,m.isAutoPagingEnabled&&m.autoPageAgain&&m.autoPage()}).error(function(){m.isAutoPagingEnabled=!0})["finally"](function(){l.setLoading("autopaging",!1)})}},this.getRelativeDate=function(a){if(a!==i&&""!==a){var b=d.get("language"),c=moment.unix(a).locale(b).fromNow()+"";return c}return""},this.refresh=function(){f.reload()},this.getMediaType=function(a){return a&&0===a.indexOf("audio")?"audio":a&&0===a.indexOf("video")?"video":i}}]),j.controller("ExploreController",["sites","$rootScope","FeedResource",function(a,b,c){this.sites=a,this.feedExists=function(a){return c.getByLocation(a)!==i},this.subscribeTo=function(a){b.$broadcast("addFeed",a)},this.isCategoryShown=function(a){return a.filter(function(a){return c.getByLocation(a.feed)===i}).length>0}}]),j.controller("NavigationController",["$route","FEED_TYPE","FeedResource","FolderResource","ItemResource","SettingsResource","Publisher","$rootScope","$location","$q",function(a,b,c,d,e,f,g,h,j,k){this.feedError="",this.showNewFolder=!1,this.renamingFolder=!1,this.addingFeed=!1,this.addingFolder=!1,this.folderError="",this.renameError="",this.feed={};var l=function(){return parseInt(a.current.params.id,10)};this.getFeeds=function(){return c.getAll()},this.getFolders=function(){return d.getAll()},this.markFolderRead=function(a){c.markFolderRead(a),c.getByFolderId(a).forEach(function(a){e.markFeedRead(a.id)})},this.markFeedRead=function(a){e.markFeedRead(a),c.markFeedRead(a)},this.markRead=function(){e.markRead(),c.markRead()},this.isShowAll=function(){return f.get("showAll")},this.getFeedsOfFolder=function(a){return c.getByFolderId(a)},this.getUnreadCount=function(){return c.getUnreadCount()},this.isUnread=function(){return this.getUnreadCount()>0},this.getFeedUnreadCount=function(a){var b=c.getById(a);return b!==i?b.unreadCount:0},this.isFeedUnread=function(a){return this.getFeedUnreadCount(a)>0},this.getFolderUnreadCount=function(a){return c.getFolderUnreadCount(a)},this.isFolderUnread=function(a){return this.getFolderUnreadCount(a)>0},this.getStarredCount=function(){return e.getStarredCount()},this.isStarredUnread=function(){return this.getStarredCount()>0},this.toggleFolder=function(a){d.toggleOpen(a)},this.hasFeeds=function(a){return c.getFolderUnreadCount(a)!==i},this.subFeedActive=function(d){var e=a.current.$$route.type;if(e===b.FEED){var f=c.getById(l());if(f!==i&&f.folderId===d)return!0}return!1},this.isSubscriptionsActive=function(){return a.current&&a.current.$$route.type===b.SUBSCRIPTIONS},this.isStarredActive=function(){return a.current&&a.current.$$route.type===b.STARRED},this.isExploreActive=function(){return a.current&&a.current.$$route.type===b.EXPLORE},this.isFolderActive=function(c){return a.current&&a.current.$$route.type===b.FOLDER&&l()===c},this.isFeedActive=function(c){return a.current&&a.current.$$route.type===b.FEED&&l()===c},this.folderNameExists=function(a){return a=a||"",d.get(a.trim())!==i},this.feedUrlExists=function(a){return a=a||"",a=a.trim(),c.get(a)!==i||c.get("http://"+a)!==i},this.createFeed=function(a){var b=this;this.showNewFolder=!1,this.addingFeed=!0;var e=a.newFolder,f=a.existingFolder||{id:0};e===i||""===e?(f.getsFeed=!0,c.create(a.url,f.id,i).then(function(a){g.publishAll(a),j.path("/items/feeds/"+a.feeds[0].id+"/")})["finally"](function(){f.getsFeed=i,a.url="",b.addingFeed=!1})):d.create(e).then(function(c){g.publishAll(c),a.existingFolder=d.get(c.folders[0].name),a.newFolder=i,b.createFeed(a)})},this.createFolder=function(a){var b=this;this.addingFolder=!0,d.create(a.name).then(function(a){g.publishAll(a)})["finally"](function(){b.addingFolder=!1,a.name=""})},this.moveFeed=function(b,d){var e=!1,f=c.getById(b);f.folderId!==d&&((this.isFolderActive(f.folderId)||this.isFolderActive(d))&&(e=!0),c.move(b,d),e&&a.reload())},this.renameFeed=function(a){c.rename(a.id,a.title),a.editing=!1},this.renameFolder=function(a,b){a.renameError="",this.renamingFolder=!0;var c=this;a.name===b?(a.renameError="",a.editing=!1,this.renamingFolder=!1):d.rename(a.name,b).then(function(){a.renameError="",a.editing=!1},function(b){a.renameError=b})["finally"](function(){c.renamingFolder=!1})},this.reversiblyDeleteFeed=function(b){c.reversiblyDelete(b.id)["finally"](function(){a.reload()})},this.undoDeleteFeed=function(b){c.undoDelete(b.id)["finally"](function(){a.reload()})},this.deleteFeed=function(a){c["delete"](a.url)},this.reversiblyDeleteFolder=function(b){k.all(c.reversiblyDeleteFolder(b.id),d.reversiblyDelete(b.name))["finally"](function(){a.reload()})},this.undoDeleteFolder=function(b){k.all(c.undoDeleteFolder(b.id),d.undoDelete(b.name))["finally"](function(){a.reload()})},this.deleteFolder=function(a){c.deleteFolder(a.id),d["delete"](a.name)},this.setOrdering=function(b,d){c.patch(b.id,{ordering:d}),a.reload()},this.togglePinned=function(a){var b=c.getById(a);return b?c.patch(a,{pinned:!b.pinned}):void 0},this.setUpdateMode=function(a,b){return c.patch(a,{updateMode:b})},this.toggleFullText=function(b){h.$broadcast("$routeChangeStart"),c.toggleFullText(b.id)["finally"](function(){h.$broadcast("$routeChangeSuccess"),a.reload()})},this.search=function(a){""===a?j.search("search",null):j.search("search",a)};var m=this;h.$on("moveFeedToFolder",function(a,b){m.moveFeed(b.feedId,b.folderId)});var n=function(){var e;a.current&&(e=a.current.$$route.type);var f=0;if(e===b.FOLDER)f=l();else if(e===b.FEED){var g=c.getById(l());g&&(f=g.folderId)}var h;0!==f&&(h=d.getById(f)),m.feed.existingFolder=h};h.$on("$routeChangeSuccess",function(){n()})}]),j.controller("SettingsController",["$route","$q","SettingsResource","ItemResource","OPMLParser","OPMLImporter","Publisher",function(a,b,c,d,e,f,g){this.isOPMLImporting=!1,this.isArticlesImporting=!1,this.opmlImportError=!1,this.articleImportError=!1;var h=function(b,d){c.set(b,d),["showAll","oldestFirst","compact"].indexOf(b)>=0&&a.reload()};this.toggleSetting=function(a){h(a,!this.getSetting(a))},this.getSetting=function(a){return c.get(a)},this.importOPML=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isOPMLImporting=!1;var b=e.parse(a),c=this,d=5;f.importFolders(b).then(function(a){return f.importFeedQueue(a,d)})["finally"](function(){c.isOPMLImporting=!1})}catch(g){console.error(g),this.isOPMLImporting=!1,this.opmlImportError=!0}},this.importArticles=function(a){this.opmlImportError=!1,this.articleImportError=!1;try{this.isArticlesImporting=!0;var b=JSON.parse(a),c=this;d.importArticles(b).success(function(a){g.publishAll(a)})["finally"](function(){c.isArticlesImporting=!1})}catch(e){console.error(e),this.articleImportError=!0,this.isArticlesImporting=!1}}}]),j.filter("trustUrl",["$sce",function(a){return function(b){return a.trustAsResourceUrl(b)}}]),j.filter("unreadCountFormatter",function(){return function(a){return a>999?"999+":a}}),j.factory("FeedResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"url"),this.ids={},this.locations={},this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.$q=d};return e.prototype=Object.create(a.prototype),e.prototype.receive=function(b){a.prototype.receive.call(this,b),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.clear=function(){a.prototype.clear.call(this),this.unreadCount=0,this.folderUnreadCount={},this.folderIds={},this.ids={},this.locations={}},e.prototype.updateUnreadCache=function(){this.unreadCount=0,this.folderUnreadCount={};var a=this;this.values.forEach(function(b){b.unreadCount&&(a.unreadCount+=b.unreadCount),b.folderId!==i&&(a.folderUnreadCount[b.folderId]=a.folderUnreadCount[b.folderId]||0,a.folderUnreadCount[b.folderId]+=b.unreadCount)})},e.prototype.updateFolderCache=function(){this.folderIds={};var a=this;this.values.forEach(function(b){a.folderIds[b.folderId]=a.folderIds[b.folderId]||[],a.folderIds[b.folderId].push(b)})},e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.url]),b.location!==i&&(this.locations[b.location]=this.hashMap[b.url])},e.prototype.markRead=function(){this.values.forEach(function(a){a.unreadCount=0}),this.updateUnreadCache()},e.prototype.markFeedRead=function(a){this.ids[a].unreadCount=0,this.updateUnreadCache()},e.prototype.markFolderRead=function(a){this.values.forEach(function(b){b.folderId===a&&(b.unreadCount=0)}),this.updateUnreadCache()},e.prototype.markItemOfFeedRead=function(a){this.ids[a].unreadCount-=1,this.updateUnreadCache()},e.prototype.markItemsOfFeedsRead=function(a){var b=this;a.forEach(function(a){b.ids[a].unreadCount-=1}),this.updateUnreadCache()},e.prototype.markItemOfFeedUnread=function(a){this.ids[a].unreadCount+=1,this.updateUnreadCache()},e.prototype.getUnreadCount=function(){return this.unreadCount},e.prototype.getFolderUnreadCount=function(a){return this.folderUnreadCount[a]},e.prototype.getByFolderId=function(a){return this.folderIds[a]||[]},e.prototype.getById=function(a){return this.ids[a]},e.prototype.getByLocation=function(a){return this.locations[a]},e.prototype.rename=function(a,b){return this.http({method:"POST",url:this.BASE_URL+"/feeds/"+a+"/rename",data:{feedTitle:b}})},e.prototype.move=function(a,b){var c=this.getById(a);return c.folderId=b,this.updateFolderCache(),this.updateUnreadCache(),this.http({method:"POST",url:this.BASE_URL+"/feeds/"+c.id+"/move",data:{parentFolderId:b}})},e.prototype.create=function(a,b,c){a=a.trim(),a.startsWith("http")||(a="https://"+a),c!==i&&(c=c.trim());var d={url:a,folderId:b||0,title:c||a,unreadCount:0};this.add(d),this.updateFolderCache();var e=this.$q.defer();return this.http({method:"POST",url:this.BASE_URL+"/feeds",data:{url:a,parentFolderId:b||0,title:c}}).success(function(a){e.resolve(a)}).error(function(a){d.faviconLink="",d.error=a.message,e.reject()}),e.promise},e.prototype.reversiblyDelete=function(a,b,c){var d=this.getById(a);return d&&c!==!0&&(d.deleted=!0),b!==!1&&this.updateUnreadCache(),this.http["delete"](this.BASE_URL+"/feeds/"+a)},e.prototype.reversiblyDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.reversiblyDelete(a.id,!1,!0))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype["delete"]=function(b,c){var d=this.get(b);return d!==i&&d.id&&delete this.ids[d.id],d!==i&&d.location&&delete this.locations[d.location],a.prototype["delete"].call(this,b),c!==!1&&(this.updateUnreadCache(),this.updateFolderCache()),d},e.prototype.deleteFolder=function(a){var b=this;this.getByFolderId(a).forEach(function(a){b["delete"](a.url,!1)}),this.updateUnreadCache(),this.updateFolderCache()},e.prototype.undoDelete=function(a,b){var c=this.getById(a);return c&&(c.deleted=!1),b!==!1&&this.updateUnreadCache(),this.http.post(this.BASE_URL+"/feeds/"+a+"/restore")},e.prototype.undoDeleteFolder=function(a){var b=this,c=[];this.getByFolderId(a).forEach(function(a){c.push(b.undoDelete(a.id,!1))}),this.updateUnreadCache();var d=this.$q.all(c);return d.promise},e.prototype.setOrdering=function(a,b){var c=this.getById(a);if(c){c.ordering=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{ordering:b})}},e.prototype.setPinned=function(a,b){var c=this.getById(a);if(c){c.pinned=b;var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,{pinned:b})}},e.prototype.patch=function(a,b){var c=this.getById(a);if(c){Object.keys(b).forEach(function(a){c[a]=b[a]});var d=this.BASE_URL+"/feeds/"+a;return this.http.patch(d,b)}},e.prototype.toggleFullText=function(a){var b=this.getById(a);return this.patch(a,{fullTextEnabled:!b.fullTextEnabled})},new e(b,c,d)}]),j.factory("FolderResource",["Resource","$http","BASE_URL","$q",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c,"name"),this.deleted=null,this.$q=d,this.ids={}};return e.prototype=Object.create(a.prototype),e.prototype.add=function(b){a.prototype.add.call(this,b),b.id!==i&&(this.ids[b.id]=this.hashMap[b.name])},e.prototype.clear=function(){a.prototype.clear.call(this),this.ids={}},e.prototype["delete"]=function(b){var c=this.get(b);return c!==i&&c.id&&delete this.ids[c.id],a.prototype["delete"].call(this,b),c},e.prototype.toggleOpen=function(a){var b=this.get(a);return b.opened=!b.opened,this.http({url:this.BASE_URL+"/folders/"+b.id+"/open",method:"POST",data:{folderId:b.id,open:b.opened}})},e.prototype.rename=function(a,b){var c=this.get(a),d=this.$q.defer(),e=this;return this.http({url:this.BASE_URL+"/folders/"+c.id+"/rename",method:"POST",data:{folderName:b}}).success(function(){c.name=b,delete e.hashMap[a],e.hashMap[b]=c,d.resolve()}).error(function(a){d.reject(a.message)}),d.promise},e.prototype.getById=function(a){return this.ids[a]},e.prototype.create=function(a){a=a.trim();var b={name:a};this.add(b);var c=this.$q.defer();return this.http({url:this.BASE_URL+"/folders",method:"POST",data:{folderName:a}}).success(function(a){c.resolve(a)}).error(function(a){b.error=a.message}),c.promise},e.prototype.reversiblyDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!0,this.http["delete"](this.BASE_URL+"/folders/"+c)},e.prototype.undoDelete=function(a){var b=this.get(a),c=b.id;return b.deleted=!1,this.http.post(this.BASE_URL+"/folders/"+c+"/restore")},new e(b,c,d)}]),j.factory("ItemResource",["Resource","$http","BASE_URL","ITEM_BATCH_SIZE",function(a,b,c,d){var e=function(b,c,d){a.call(this,b,c),this.batchSize=d,this.clear()};return e.prototype=Object.create(a.prototype),e.prototype.clear=function(){this.starredCount=0,this.lowestId=0,this.highestId=0,a.prototype.clear.call(this)},e.prototype.receive=function(b,c){switch(c){case"newestItemId":this.newestItemId=b;break;case"starred":this.starredCount=b;break;default:var d=this;b.forEach(function(a){0===d.lowestId&&(d.lowestId=a.id),0===d.highestId&&(d.highestId=a.id),a.id>d.highestId&&(d.highestId=a.id),a.id<d.lowestId&&(d.lowestId=a.id)}),a.prototype.receive.call(this,b,c)}},e.prototype.getNewestItemId=function(){return this.newestItemId},e.prototype.getStarredCount=function(){return this.starredCount},e.prototype.star=function(a,b){b===i&&(b=!0);var c=this.get(a),d=this.BASE_URL+"/items/"+c.feedId+"/"+c.guidHash+"/star";return c.starred=b,b?this.starredCount+=1:this.starredCount-=1,this.http({url:d,method:"POST",data:{isStarred:b}})},e.prototype.toggleStar=function(a){this.get(a).starred?this.star(a,!1):this.star(a,!0)},e.prototype.markItemRead=function(a,b){return b===i&&(b=!0),this.get(a).unread=!b,this.http({url:this.BASE_URL+"/items/"+a+"/read",method:"POST",data:{isRead:b}})},e.prototype.markItemsRead=function(a){var b=this;return a.forEach(function(a){b.get(a).unread=!1}),this.http({url:this.BASE_URL+"/items/read/multiple",method:"POST",data:{itemIds:a}})},e.prototype.markFeedRead=function(a,b){b===i&&(b=!0);var c=this.values.filter(function(b){return b.feedId===a});return c.forEach(function(a){a.unread=!b}),this.http.post(this.BASE_URL+"/feeds/"+a+"/read",{highestItemId:this.getNewestItemId()})},e.prototype.markRead=function(){return this.values.forEach(function(a){a.unread=!1}),this.http({url:this.BASE_URL+"/items/read",method:"POST",data:{highestItemId:this.getNewestItemId()}})},e.prototype.autoPage=function(a,b,c,d,e){var f;return f=c?this.highestId:this.lowestId,this.http({url:this.BASE_URL+"/items",method:"GET",params:{type:a,id:b,offset:f,limit:this.batchSize,oldestFirst:c,showAll:d,search:e}})},e.prototype.importArticles=function(a){return this.http({url:this.BASE_URL+"/feeds/import/articles",method:"POST",data:{json:a}})},new e(b,c,d)}]),j.service("Loading",function(){this.loading={global:!1,content:!1,autopaging:!1},this.setLoading=function(a,b){this.loading[a]=b},this.isLoading=function(a){return this.loading[a]}}),j.service("OPMLImporter",["FeedResource","FolderResource","Publisher","$q",function(a,b,c,d){var e=function(f){var g=d.defer();if(f.length>0){var h=f.pop(),j=h.url,k=h.title,l=0,m=h.folderName;if(m!==i&&b.get(m)!==i){var n=b.get(m);n.opened=!0,l=n.id,n.getsFeed=!0,n.getsFeedCounter=n.getsFeedCounter||0,n.getsFeedCounter+=1}j!==i&&a.get(j)===i&&a.create(j,l,k).then(function(a){c.publishAll(a)})["finally"](function(){0!==l&&(n.getsFeedCounter-=1,0===n.getsFeedCounter&&(n.getsFeed=!1)),e(f)})}else g.resolve();return g.promise};this.importFolders=function(a){var e=[],f=[];a.folders.forEach(function(a){if(a.name!==i){if(b.get(a.name)===i){var d=b.create(a.name).then(function(a){c.publishAll(a)});f.push(d)}a.feeds.forEach(function(b){b.folderName=a.name,e.push(b)})}}),e=e.concat(a.feeds);var g=d.defer();return d.all(f)["finally"](function(){g.resolve(e)}),g.promise},this.importFeedQueue=function(a,b){for(var c=d.defer(),f=[],g=0;b>g;g+=1)f.push(e(a));return d.all(f).then(function(){c.resolve()}),c.promise}}]),j.service("OPMLParser",function(){var a=function(a){var b=a.attr("xmlUrl")||a.attr("htmlUrl"),c=a.attr("title")||a.attr("text")||b;return b===i?{type:"folder",name:c,feeds:[]}:{type:"feed",name:c,url:b}},b=function(c,d,f){for(var g=0;g<c.length;g+=1){var h=e(c[g]),i=a(h);"feed"===i.type?d.feeds.push(i):f?(b(h.children("outline"),i,!1),d.folders.push(i)):b(h.children("outline"),d,!1)}return d};this.parse=function(a){a=e.parseXML(a);var c=e(a).find("body > outline"),d={feeds:[],folders:[]};return b(c,d,!0)}}),j.service("Publisher",function(){this.channels={},this.subscribe=function(a){var b=this;return{toChannels:function(c){c.forEach(function(c){b.channels[c]=b.channels[c]||[],b.channels[c].push(a)})}}},this.publishAll=function(a){var b=this;Object.keys(a).forEach(function(c){var d=b.channels[c];d!==i&&d.forEach(function(b){b.receive(a[c],c)})})}}),j.factory("Resource",function(){var a=function(a,b,c){this.id=c||"id",this.values=[],this.hashMap={},this.http=a,this.BASE_URL=b};return a.prototype.receive=function(a){var b=this;a.forEach(function(a){b.add(a)})},a.prototype.add=function(a){var b=this.hashMap[a[this.id]];b===i?(this.values.push(a),this.hashMap[a[this.id]]=a):Object.keys(a).forEach(function(c){b[c]=a[c]})},a.prototype.size=function(){return this.values.length},a.prototype.get=function(a){return this.hashMap[a]},a.prototype["delete"]=function(a){var b=this,c=this.values.findIndex(function(c){return c[b.id]===a});c!==i&&this.values.splice(c,1),this.hashMap[a]!==i&&delete this.hashMap[a]},a.prototype.clear=function(){for(this.hashMap={};this.values.length>0;)this.values.pop()},a.prototype.getAll=function(){return this.values},a}),j.service("SettingsResource",["$http","BASE_URL",function(a,b){this.settings={language:"en",showAll:null,compact:!1,oldestFirst:null,preventReadOnScroll:!1,compactExpand:!1,exploreUrl:""},this.defaultLanguageCode="en",this.supportedLanguageCodes=["ar-ma","ar","bg","ca","cs","cv","da","de","el","en-ca","en-gb","eo","es","et","eu","fi","fr-ca","fr","gl","he","hi","hu","id","is","it","ja","ka","ko","lv","ms-my","nb","ne","nl","pl","pt-br","pt","ro","ru","sk","sl","sv","th","tr","tzm-la","tzm","uk","zh-cn","zh-tw"],this.receive=function(a){var b=this;Object.keys(a).forEach(function(c){var d=a[c];"language"===c&&(d=b.processLanguageCode(d)),b.settings[c]=d})},this.get=function(a){return this.settings[a]},this.set=function(c,d){return this.settings[c]=d,a({url:b+"/settings",method:"PUT",data:{language:this.settings.language,showAll:this.settings.showAll,compact:this.settings.compact,oldestFirst:this.settings.oldestFirst,compactExpand:this.settings.compactExpand,preventReadOnScroll:this.settings.preventReadOnScroll}})},this.processLanguageCode=function(a){return a=a.replace("_","-").toLowerCase(),this.supportedLanguageCodes.indexOf(a)<0&&(a=a.split("-")[0]),this.supportedLanguageCodes.indexOf(a)<0&&(a=this.defaultLanguageCode),a}}]),function(a,b,c,d,e,f){var g=a.location,h=a.localStorage,i=function(a,b,d){var e=c.isContentHandlerRegistered,f=function(a,b){return e?"new"!==e(a,b):h.getItem("registeredHandler")===b};c.registerContentHandler&&!f(a,b)&&(c.registerContentHandler(a,k,d),e||h.setItem("registeredHandler",b))},j=g.protocol+"//"+g.host+g.pathname,k=j+"?subscribe_to=%s",l="application/vnd.mozilla.maybe.feed",m="ownCloud News @ "+j;i(l,k,m),e(b).ready(function(){var b=a.decodeURIComponent(d("?subscribe_to"));if(b&&"null"!==b){e("#new-feed").show();var c=e('input[ng-model="Navigation.feed.url"]');c.val(b),c.trigger("input"),setTimeout(function(){c.focus()},1e3)}})}(b,c,a,h,e),function(a,b){a.addEventListener("beforeunload",function(){var a=b.querySelector("#app-content");a.scrollTo(0,0)})}(b,c),function(a,b,c){var d=function(a){return!(a.is("input")||a.is("select")||a.is("textarea")||a.is("checkbox"))},e=function(a){return!(a.shiftKey||a.altKey||a.ctrlKey||a.metaKey)},f=function(a){var b=".active > .app-navigation-entry-menu .mark-read button",c=a.find(b);c.length>0&&c.trigger("click")},g=function(a,b){var c=a.offset().top-b.offset().top,d=c+a.height(),e=b.height();return c>=0&&e>d},h=function(a,b,c){0===a.length||!c&&g(a,b)||b.scrollTop(a.offset().top-b.offset().top+b.scrollTop())},i=function(a){var b=a.find(".active");h(b,a.children("ul"),!0)},j=function(a){a.find(".active > a:visible").trigger("click")},k=function(a,b){if(0===b.scrollTop()){var c=b.find(".pull-to-refresh");c.hasClass("show-pull-to-refresh")?c.hasClass("done")&&j(a):c.addClass("show-pull-to-refresh")}},l=function(a,b){a.children("a:visible").trigger("click"),h(a,b.children("ul"))},m=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder"))for(;b.length>0;){var e=b.find(".feed:visible");if(e.length>0)return void l(c(e[0]),a);b=b.next(".folder")}else for(var f=0;f<d.length-1;f+=1){var g=d[f];if(g===b[0]){var h=d[f+1];l(c(h),a);break}}},n=function(a){return a.parent().parent(".folder")},o=function(a,b){var d,e=a.find(".folder:visible");d=b?e.length-1:0,e.length>0&&l(c(e[d]),a)},p=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.prevAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c,a):o(a,!0)}else o(a,!0)},q=function(a){var b=a.find(".active");if(b.hasClass("folder"))l(b.nextAll(".folder:visible").first(),a);else if(b.hasClass("feed")){var c=n(b);c.length>0?l(c.nextAll(".folder:visible").first(),a):o(a)}else o(a)},r=function(a){var b=a.find(".active"),d=a.find(".explore-feed,.subscriptions-feed:visible,.starred-feed:visible,.feed:visible");if(b.hasClass("folder")){for(var e=b.prev(".folder");e.length>0;){var f=e.find(".feed:visible");if(f.length>0)return void l(c(f[f.length-1]),a);e=e.prev(".folder")}var g=b.siblings(".feed");if(g.length>0)return void l(c(g[g.length-1]),a);var h=c(".starred-feed:visible");return void(h.length>0&&l(h,a))}for(var i=d.length-1;i>0;i-=1){var j=d[i];if(j===b[0]){var k=d[i-1];l(c(k),a);break}}},s=function(a,b){var d=a.find(".item");d.each(function(a,d){return d=c(d),d.height()+d.position().top>30?(b(d),!1):void 0})},t=function(a){s(a,function(a){a.find(".toggle-keep-unread").trigger("click")})},u=function(a){s(a,function(a){a.find(".star").trigger("click")})},v=function(a){s(a,function(a){a.find(".utils").trigger("click")})},w=function(b){s(b,function(b){b.trigger("click"),a.open(b.find(".external:visible").attr("href"),"_blank")})},x=function(a,b,c){a.scrollTop(b.offset().top-a.offset().top+a.scrollTop()),c&&s(a,function(a){a.hasClass("open")||a.find(".utils").trigger("click")})},y=function(a,b){var d=a.find(".item"),e=!1;d.each(function(d,f){return f=c(f),0===f.position().top&&b&&!f.hasClass("open")||f.position().top>10?(x(a,f,b),e=!0,!1):void 0}),e||a.scrollTop(a.prop("scrollHeight"))},z=function(a,b,d){var e=b.find(".item"),f=!1;e.each(function(e,g){if(g=c(g),g.position().top+10>=0){var h=g.prev();return h.length>0?x(b,h,d):(k(a,b),b.scrollTop(0)),f=!0,!1}}),!f&&e.length>0&&x(b,e.last())};c(b).keyup(function(a){var b=a.keyCode,g=c("#app-content"),h=c("#app-navigation"),l=c("#articles.compact").length>0,n="true"===c("#articles").attr("news-compact-expand"),o=l&&n;d(c(":focus"))&&e(a)?[74,78,39].indexOf(b)>=0?(a.preventDefault(),y(g,o)):[75,80,37].indexOf(b)>=0?(a.preventDefault(),z(h,g,o)):[85].indexOf(b)>=0?(a.preventDefault(),t(g)):[69].indexOf(b)>=0?(a.preventDefault(),v(g)):[73,83,76].indexOf(b)>=0?(a.preventDefault(),u(g)):[72].indexOf(b)>=0?(a.preventDefault(),u(g),y(g)):[79].indexOf(b)>=0?(a.preventDefault(),w(g)):[82].indexOf(b)>=0?(a.preventDefault(),j(h)):[70].indexOf(b)>=0?(a.preventDefault(),m(h)):[68].indexOf(b)>=0?(a.preventDefault(),r(h)):[67].indexOf(b)>=0?(a.preventDefault(),p(h)):[65].indexOf(b)>=0?(a.preventDefault(),i(h)):[86].indexOf(b)>=0?(a.preventDefault(),q(h)):[81].indexOf(b)>=0?(a.preventDefault(),c("#searchbox").focus()):[33].indexOf(b)>=0&&k(h,g):d(c(":focus"))&&a.shiftKey&&[65].indexOf(b)>=0&&(a.preventDefault(),f(h))})}(b,c,e),b.News=b.News||{},function(a,b,c,d,e){var f=[];d.addArticleAction=function(a){f.push(a)},d.getArticleActionPlugins=function(){return f}}(b,c,jQuery,b.News),j.run(["$document","$rootScope",function(a,b){a.click(function(a){b.$broadcast("documentClicked",a)})}]),j.directive("appNavigationEntryUtils",function(){return{restrict:"C",link:function(a,b){var c=b.siblings(".app-navigation-entry-menu"),d=e(b).find(".app-navigation-entry-utils-menu-button button");
+d.click(function(){c.toggleClass("open")}),a.$on("documentClicked",function(a,b){b.target!==d[0]&&c.removeClass("open")})}}}),j.directive("newsAddFeed",["$rootScope","$timeout",function(a,b){return{restrict:"A",link:function(c,d){a.$on("addFeed",function(a,e){b(function(){d.is(":animated")?(d.stop(!0,!0),d.show()):d.is(":visible")||d.slideDown(),d.find('[ng-model="Navigation.feed.url"]').focus()}),c.Navigation.feed.url=e})}}}]),j.directive("newsArticleActions",function(){return{restrict:"A",scope:{newsArticleActions:"=",noPlugins:"="},link:function(a,b){for(var c=News.getArticleActionPlugins(),d=0;d<c.length;d+=1)c[d](b,a.newsArticleActions);a.noPlugins=0===c.length}}}),j.directive("newsAutoFocus",["$timeout",function(a){return function(b,c,d){var f=c;d.newsAutoFocus&&(f=e(d.newsAutoFocus)),a(function(){f.focus()},0)}}]),j.directive("newsBindHtmlUnsafe",function(){return function(a,b,c){a.$watch(c.newsBindHtmlUnsafe,function(){b.html(a.$eval(c.newsBindHtmlUnsafe))})}}),j.directive("newsDraggable",function(){return function(a,b,c){var e=a.$eval(c.newsDraggable);d.isDefined(e)?b.draggable(e):b.draggable(),c.$observe("newsDraggableDisable",function(a){"true"===a?b.draggable("disable"):b.draggable("enable")})}}),j.directive("newsDroppable",["$rootScope",function(a){return function(b,c,d){var f={accept:".feed",hoverClass:"drag-and-drop",greedy:!0,drop:function(f,g){e(".drag-and-drop").removeClass("drag-and-drop");var h={folderId:parseInt(c.data("id"),10),feedId:parseInt(e(g.draggable).data("id"),10)};a.$broadcast("moveFeedToFolder",h),b.$apply(d.droppable)}};c.droppable(f)}}]),j.directive("newsFinishedTransition",function(){return function(a,b,c){b.on("transitionend",function(){b.addClass(c.newsFinishedTransition)})}}),j.directive("newsFocus",["$timeout","$interpolate",function(a,b){return function(c,d,f){d.click(function(){var d=e(b(f.newsFocus)(c));a(function(){d.focus()},500)})}}]),j.directive("newsInstantNotification",function(){return{restrict:"E",link:function(a,b){b.hide();var c=b.html();f.Notification.showHtml(c)}}}),j.directive("newsPlayOne",["$rootScope",function(a){return{restrict:"A",link:function(b,c){c.on("play",function(){a.$broadcast("playing",c)}),a.$on("playing",function(a,b){b[0]!==c[0]&&c[0].pause()})}}}]),j.directive("newsPullToRefresh",["$rootScope",function(a){var b=!1;return{restrict:"A",scope:{newsPullToRefresh:"="},link:function(c,d){a.$on("$routeChangeStart",function(){b=!1,c.newsPullToRefresh=!1}),d.on("scroll",function(){0===d.scrollTop()&&b&&(c.newsPullToRefresh=!0),b=!0})}}}]),j.directive("newsReadFile",function(){return function(a,b,c){b.change(function(){var d=b[0].files[0],e=new FileReader;e.onload=function(b){a.$fileContent=b.target.result,a.$apply(c.newsReadFile)},e.readAsText(d)})}}),j.directive("newsScroll",["$timeout","ITEM_AUTO_PAGE_SIZE","MARK_READ_TIMEOUT","SCROLL_TIMEOUT",function(a,b,c,d){var f,g=function(a,b,c){for(var d=0,f=b.find(".item"),g=f.length-1;g>=0;g-=1){var h=e(f[g]);if(d>=a)break;if(h.position().top<0){c.$apply(c.newsScrollAutoPage);break}d+=1}},h=function(a,b,c){if(a){var d=[],f=b.find(".item:not(.read)");f.each(function(a,b){var c=e(b);return c.position().top<=-10?void d.push(parseInt(c.data("id"),10)):!1}),c.itemIds=d,c.$apply(c.newsScrollMarkRead)}};return{restrict:"A",scope:{newsScroll:"@",newsScrollAutoPage:"&",newsScrollMarkRead:"&",newsScrollEnabledMarkRead:"="},link:function(j,k){var l=!0,m=k;j.newsScroll&&(m=e(j.newsScroll));var n=function(){l&&(l=!1,a(function(){l=!0},1e3*d),g(b,k,j),f&&a.cancel(f),f=a(function(){h(j.newsScrollEnabledMarkRead,k,j),f=i},1e3*c))};m.on("scroll",n),j.$on("$destroy",function(){m.off("scroll",n)})}}}]),j.directive("newsSearch",["$document","$location",function(a,b){return{restrict:"E",scope:{onSearch:"="},link:function(a){var c=e("#searchbox");c.val(b.search().search);var d=function(){var b=c.val();a.$apply(function(){a.onSearch(b)})};c.on("search keyup",function(a){("search"===a.type||13===a.keyCode)&&d()}),a.$watch(function(){return b.search()},function(a){a&&a.search?c.val(a.search):c.val("")})}}}]),j.directive("newsStickyMenu",function(){return function(a,b,c){var d=40;e(c.newsStickyMenu).scroll(function(){var a=e(this).scrollTop();a>d?(b.addClass("fixed"),b.css("top",a)):b.removeClass("fixed")})}}),j.directive("newsStopPropagation",function(){return{restrict:"A",link:function(a,b){b.bind("click",function(a){a.stopPropagation()})}}}),j.directive("newsTimeout",["$timeout","$rootScope",function(a,b){return{restrict:"A",scope:{newsTimeout:"&"},link:function(c,d){var e=!1,f=7,g=a(c.newsTimeout,1e3*f);c.$on("$destroy",function(){e=!0,a.cancel(g)}),b.$on("$locationChangeStart",function(){a.cancel(g),e||(e=!0,d.remove(),c.newsTimeout())})}}}]),j.directive("newsTitleUnreadCount",["$window",function(a){var b=a.document.title,c=b.split("-"),d=c[0]||"News",e=c[1]||"ownCloud";return{restrict:"E",scope:{unreadCount:"@"},link:function(b,c,f){f.$observe("unreadCount",function(b){"0"!==b?a.document.title=d+"("+b+") - "+e:a.document.title=d+" - "+e})}}}]),j.directive("newsToggleShow",function(){return{restrict:"A",scope:{newsToggleShow:"@"},link:function(a,b){b.click(function(){var b=e(a.newsToggleShow);b.toggle()})}}}),j.directive("newsTriggerClick",function(){return function(a,b,c){b.click(function(){e(c.newsTriggerClick).trigger("click")})}})}(navigator,window,document,angular,jQuery,OC,oc_requesttoken,url);
//# sourceMappingURL=app.min.js.map \ No newline at end of file
diff --git a/js/build/app.min.js.map b/js/build/app.min.js.map
index fb85f83d8..ac25f6fa7 100644
--- a/js/build/app.min.js.map
+++ b/js/build/app.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["app.js"],"names":["navigator","window","document","angular","$","OC","csrfToken","url","undefined","app","module","config","$routeProvider","$provide","$httpProvider","feedType","FEED","FOLDER","STARRED","SUBSCRIPTIONS","SHARED","EXPLORE","constant","generateUrl","factory","$q","BASE_URL","$window","request","domain","location","href","split","pathname","indexOf","headers","requesttoken","when","errorMessages",0,"t",401,403,412,500,503,"$timeout","timer","responseError","response","status","cancel","Notification","hide","showHtml","reject","interceptors","push","getItemResolve","type","data","$http","$route","$location","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource","showAll","get","oldestFirst","search","deferred","defer","resolve","parameters","limit","current","params","id","feed","getById","ordering","method","success","promise","getExploreResolve","sites","Publisher","then","publishAll","language","lang","controller","templateUrl","run","$rootScope","$interval","Loading","ItemResource","FolderResource","REFRESH_RATE","setLoading","subscribe","toChannels","settingsDeferred","activeFeedDeferred","path","activeFeed","test","feeds","feedDeferred","folders","folderDeferred","all","length","reload","$on","this","loading","isFirstRun","size","play","item","playingItem","$routeParams","ITEM_AUTO_PAGE_SIZE","clear","isAutoPagingEnabled","isNothingMoreToAutoPage","getItems","getAll","toggleStar","itemId","toggleItem","isCompactView","show","isShowAll","markRead","keepUnread","unread","markItemRead","markItemOfFeedRead","feedId","getFeed","toggleKeepUnread","markItemOfFeedUnread","self","getOrdering","isFeed","orderBy","isCompactExpand","autoPagingEnabled","markReadEnabled","scrollRead","itemIds","ids","feedIds","forEach","markItemsOfFeedsRead","markItemsRead","$$route","autoPage","autoPageAgain","items","error","getRelativeDate","timestamp","languageCode","date","moment","unix","locale","fromNow","refresh","getMediaType","feedExists","getByLocation","subscribeTo","$broadcast","isCategoryShown","filter","element","feedError","showNewFolder","renamingFolder","addingFeed","addingFolder","folderError","renameError","getRouteId","parseInt","getFeeds","getFolders","markFolderRead","folderId","getByFolderId","markFeedRead","getFeedsOfFolder","getUnreadCount","isUnread","getFeedUnreadCount","unreadCount","isFeedUnread","getFolderUnreadCount","isFolderUnread","getStarredCount","isStarredUnread","toggleFolder","folderName","toggleOpen","hasFeeds","subFeedActive","isSubscriptionsActive","isStarredActive","isExploreActive","isFolderActive","isFeedActive","folderNameExists","trim","feedUrlExists","createFeed","newFolder","existingFolder","getsFeed","create","name","createFolder","folder","moveFeed","move","renameFeed","rename","title","editing","renameFolder","message","reversiblyDeleteFeed","reversiblyDelete","undoDeleteFeed","undoDelete","deleteFeed","reversiblyDeleteFolder","undoDeleteFolder","deleteFolder","setOrdering","togglePinned","setPinned","pinned","toggleFullText","value","scope","setSelectedFolderForRoute","OPMLParser","OPMLImporter","isOPMLImporting","isArticlesImporting","opmlImportError","articleImportError","set","key","toggleSetting","getSetting","importOPML","content","parsedContent","parse","jobSize","importFolders","feedQueue","importFeedQueue","console","importArticles","articles","JSON","$sce","trustAsResourceUrl","Resource","call","locations","folderUnreadCount","folderIds","prototype","Object","receive","updateUnreadCache","updateFolderCache","values","add","hashMap","http","feedTitle","parentFolderId","startsWith","faviconLink","updateCache","isFolder","deleted","promises","post","isPinned","fullTextEnabled","opened","open","toFolderName","batchSize","starredCount","lowestId","highestId","channel","newestItemId","getNewestItemId","star","isStarred","it","guidHash","starred","isRead","read","highestItemId","offset","json","service","global","autopaging","area","isLoading","startFeedJob","queue","pop","getsFeedCounter","folderPromises","concat","jobPromises","i","parseOutline","outline","attr","recursivelyParse","level","root","firstLevel","entry","children","xml","parseXML","find","channels","obj","keys","listeners","listener","objs","existing","deleteAtIndex","findIndex","splice","settings","compact","preventReadOnScroll","compactExpand","exploreUrl","defaultLanguageCode","supportedLanguageCodes","processLanguageCode","replace","toLowerCase","storage","localStorage","registerHandler","mime","registered","isContentHandlerRegistered","isRegistered","getItem","registerContentHandler","subscribeUrl","setItem","cleanUrl","protocol","host","mimeType","ready","subscription","decodeURIComponent","input","val","trigger","setTimeout","focus","addEventListener","querySelector","scrollTo","noInputFocused","is","noModifierKey","event","shiftKey","altKey","ctrlKey","metaKey","markAllRead","navigationArea","selector","button","isInScrollView","elem","scrollArea","elemTop","top","elemBottom","height","areaBottom","scrollToNavigationElement","toTop","scrollTop","scrollToActiveNavigationEntry","reloadFeed","tryReload","pullToRefresh","hasClass","addClass","activateNavigationEntry","nextFeed","elements","subfeeds","next","getParentFolder","parent","selectFirstOrLastFolder","isLast","index","previousFolder","prevAll","first","parentFolder","nextFolder","nextAll","previousFeed","prev","siblings","previous","onActiveItem","callback","each","position","toggleUnread","expandItem","openLink","scrollToItem","expandItemInCompact","scrollToNextItem","jumped","prop","scrollToPreviousItem","last","keyup","keyCode","isExpandItem","preventDefault","News","exports","articleActionPlugins","addArticleAction","action","getArticleActionPlugins","jQuery","$document","click","directive","restrict","link","elm","menu","toggleClass","target","removeClass","_","stop","slideDown","Navigation","newsArticleActions","noPlugins","plugins","attrs","toFocus","newsAutoFocus","$watch","newsBindHtmlUnsafe","html","$eval","options","newsDraggable","isDefined","draggable","$observe","details","accept","hoverClass","greedy","drop","ui","$apply","droppable","on","newsFinishedTransition","$interpolate","toReadd","newsFocus","notification","args","pause","scrolled","newsPullToRefresh","change","file","files","reader","FileReader","onload","$fileContent","result","newsReadFile","readAsText","MARK_READ_TIMEOUT","SCROLL_TIMEOUT","counter","newsScrollAutoPage","enabled","article","newsScrollMarkRead","newsScroll","newsScrollEnabledMarkRead","allowScroll","scrollHandler","off","onSearch","box","doSearch","newsStickyMenu","scroll","scrollHeight","css","bind","stopPropagation","newsTimeout","destroyed","seconds","remove","baseTitle","titles","appName","ownCloudName","newsToggleShow","toggle","newsTriggerClick","oc_requesttoken"],"mappings":"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","file":"app.min.js"} \ No newline at end of file
+{"version":3,"sources":["app.js"],"names":["navigator","window","document","angular","$","OC","csrfToken","url","undefined","app","module","config","$routeProvider","$provide","$httpProvider","feedType","FEED","FOLDER","STARRED","SUBSCRIPTIONS","SHARED","EXPLORE","constant","generateUrl","factory","$q","BASE_URL","$window","request","domain","location","href","split","pathname","indexOf","headers","requesttoken","when","errorMessages",0,"t",401,403,412,500,503,"$timeout","timer","responseError","response","status","cancel","Notification","hide","showHtml","reject","interceptors","push","getItemResolve","type","data","$http","$route","$location","ITEM_BATCH_SIZE","FEED_TYPE","SettingsResource","FeedResource","showAll","get","oldestFirst","search","deferred","defer","resolve","parameters","limit","current","params","id","feed","getById","ordering","method","success","promise","getExploreResolve","sites","Publisher","then","publishAll","language","lang","controller","templateUrl","run","$rootScope","$interval","Loading","ItemResource","FolderResource","REFRESH_RATE","setLoading","subscribe","toChannels","settingsDeferred","activeFeedDeferred","path","activeFeed","test","feeds","feedDeferred","folders","folderDeferred","all","length","reload","$on","this","loading","isFirstRun","size","play","item","playingItem","$routeParams","ITEM_AUTO_PAGE_SIZE","clear","isAutoPagingEnabled","isNothingMoreToAutoPage","getItems","getAll","toggleStar","itemId","toggleItem","isCompactView","show","isShowAll","markRead","keepUnread","unread","markItemRead","markItemOfFeedRead","feedId","getFeed","toggleKeepUnread","markItemOfFeedUnread","self","getOrdering","isFeed","orderBy","isCompactExpand","autoPagingEnabled","markReadEnabled","scrollRead","itemIds","ids","feedIds","forEach","markItemsOfFeedsRead","markItemsRead","$$route","autoPage","autoPageAgain","items","error","getRelativeDate","timestamp","languageCode","date","moment","unix","locale","fromNow","refresh","getMediaType","feedExists","getByLocation","subscribeTo","$broadcast","isCategoryShown","filter","element","feedError","showNewFolder","renamingFolder","addingFeed","addingFolder","folderError","renameError","getRouteId","parseInt","getFeeds","getFolders","markFolderRead","folderId","getByFolderId","markFeedRead","getFeedsOfFolder","getUnreadCount","isUnread","getFeedUnreadCount","unreadCount","isFeedUnread","getFolderUnreadCount","isFolderUnread","getStarredCount","isStarredUnread","toggleFolder","folderName","toggleOpen","hasFeeds","subFeedActive","isSubscriptionsActive","isStarredActive","isExploreActive","isFolderActive","isFeedActive","folderNameExists","trim","feedUrlExists","createFeed","newFolder","existingFolder","getsFeed","create","name","createFolder","folder","moveFeed","move","renameFeed","rename","title","editing","renameFolder","message","reversiblyDeleteFeed","reversiblyDelete","undoDeleteFeed","undoDelete","deleteFeed","reversiblyDeleteFolder","undoDeleteFolder","deleteFolder","setOrdering","patch","togglePinned","pinned","setUpdateMode","updateMode","toggleFullText","value","scope","setSelectedFolderForRoute","OPMLParser","OPMLImporter","isOPMLImporting","isArticlesImporting","opmlImportError","articleImportError","set","key","toggleSetting","getSetting","importOPML","content","parsedContent","parse","jobSize","importFolders","feedQueue","importFeedQueue","console","importArticles","articles","JSON","$sce","trustAsResourceUrl","Resource","call","locations","folderUnreadCount","folderIds","prototype","Object","receive","updateUnreadCache","updateFolderCache","values","add","hashMap","http","feedTitle","parentFolderId","startsWith","faviconLink","updateCache","isFolder","deleted","promises","post","setPinned","isPinned","diff","keys","fullTextEnabled","opened","open","toFolderName","batchSize","starredCount","lowestId","highestId","channel","newestItemId","getNewestItemId","star","isStarred","it","guidHash","starred","isRead","read","highestItemId","offset","json","service","global","autopaging","area","isLoading","startFeedJob","queue","pop","getsFeedCounter","folderPromises","concat","jobPromises","i","parseOutline","outline","attr","recursivelyParse","level","root","firstLevel","entry","children","xml","parseXML","find","channels","obj","listeners","listener","objs","existing","deleteAtIndex","findIndex","splice","settings","compact","preventReadOnScroll","compactExpand","exploreUrl","defaultLanguageCode","supportedLanguageCodes","processLanguageCode","replace","toLowerCase","storage","localStorage","registerHandler","mime","registered","isContentHandlerRegistered","isRegistered","getItem","registerContentHandler","subscribeUrl","setItem","cleanUrl","protocol","host","mimeType","ready","subscription","decodeURIComponent","input","val","trigger","setTimeout","focus","addEventListener","querySelector","scrollTo","noInputFocused","is","noModifierKey","event","shiftKey","altKey","ctrlKey","metaKey","markAllRead","navigationArea","selector","button","isInScrollView","elem","scrollArea","elemTop","top","elemBottom","height","areaBottom","scrollToNavigationElement","toTop","scrollTop","scrollToActiveNavigationEntry","reloadFeed","tryReload","pullToRefresh","hasClass","addClass","activateNavigationEntry","nextFeed","elements","subfeeds","next","getParentFolder","parent","selectFirstOrLastFolder","isLast","index","previousFolder","prevAll","first","parentFolder","nextFolder","nextAll","previousFeed","prev","siblings","previous","onActiveItem","callback","each","position","toggleUnread","expandItem","openLink","scrollToItem","expandItemInCompact","scrollToNextItem","jumped","prop","scrollToPreviousItem","last","keyup","keyCode","isExpandItem","preventDefault","News","exports","articleActionPlugins","addArticleAction","action","getArticleActionPlugins","jQuery","$document","click","directive","restrict","link","elm","menu","toggleClass","target","removeClass","_","stop","slideDown","Navigation","newsArticleActions","noPlugins","plugins","attrs","toFocus","newsAutoFocus","$watch","newsBindHtmlUnsafe","html","$eval","options","newsDraggable","isDefined","draggable","$observe","details","accept","hoverClass","greedy","drop","ui","$apply","droppable","on","newsFinishedTransition","$interpolate","toReadd","newsFocus","notification","args","pause","scrolled","newsPullToRefresh","change","file","files","reader","FileReader","onload","$fileContent","result","newsReadFile","readAsText","MARK_READ_TIMEOUT","SCROLL_TIMEOUT","counter","newsScrollAutoPage","enabled","article","newsScrollMarkRead","newsScroll","newsScrollEnabledMarkRead","allowScroll","scrollHandler","off","onSearch","box","doSearch","newsStickyMenu","scroll","scrollHeight","css","bind","stopPropagation","newsTimeout","destroyed","seconds","remove","baseTitle","titles","appName","ownCloudName","newsToggleShow","toggle","newsTriggerClick","oc_requesttoken"],"mappings":"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","file":"app.min.js"} \ No newline at end of file
diff --git a/js/controller/NavigationController.js b/js/controller/NavigationController.js
index 259b9ff7d..0b30a8070 100644
--- a/js/controller/NavigationController.js
+++ b/js/controller/NavigationController.js
@@ -298,17 +298,21 @@ function ($route, FEED_TYPE, FeedResource, FolderResource, ItemResource,
};
this.setOrdering = function (feed, ordering) {
- FeedResource.setOrdering(feed.id, ordering);
+ FeedResource.patch(feed.id, {ordering: ordering});
$route.reload();
};
this.togglePinned = function (feedId) {
var feed = FeedResource.getById(feedId);
if (feed) {
- return FeedResource.setPinned(feedId, !feed.pinned);
+ return FeedResource.patch(feedId, {pinned: !feed.pinned});
}
};
+ this.setUpdateMode = function (feedId, updateMode) {
+ return FeedResource.patch(feedId, {updateMode: updateMode});
+ };
+
this.toggleFullText = function (feed) {
$rootScope.$broadcast('$routeChangeStart');
FeedResource.toggleFullText(feed.id).finally(function () {
diff --git a/js/service/FeedResource.js b/js/service/FeedResource.js
index 1557bf50f..671761cea 100644
--- a/js/service/FeedResource.js
+++ b/js/service/FeedResource.js
@@ -322,8 +322,8 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) {
if (feed) {
feed.ordering = ordering;
- var url = this.BASE_URL + '/feeds/' + feedId + '/ordering';
- return this.http.post(url, {
+ var url = this.BASE_URL + '/feeds/' + feedId;
+ return this.http.patch(url, {
ordering: ordering
});
}
@@ -335,23 +335,31 @@ app.factory('FeedResource', function (Resource, $http, BASE_URL, $q) {
if (feed) {
feed.pinned = isPinned;
- var url = this.BASE_URL + '/feeds/' + feedId + '/pinned';
- return this.http.post(url, {
- isPinned: isPinned
+ var url = this.BASE_URL + '/feeds/' + feedId;
+ return this.http.patch(url, {
+ pinned: isPinned
});
}
};
- FeedResource.prototype.toggleFullText = function (feedId) {
+ FeedResource.prototype.patch = function (feedId, diff) {
var feed = this.getById(feedId);
- feed.fullTextEnabled = !feed.fullTextEnabled;
+ if (feed) {
+ Object.keys(diff).forEach(function(key) {
+ feed[key] = diff[key];
+ });
+ var url = this.BASE_URL + '/feeds/' + feedId;
+ return this.http.patch(url, diff);
+ }
+ };
+
- var url = this.BASE_URL + '/feeds/' + feedId + '/fulltext';
- return this.http.post(url, {
- fullTextEnabled: feed.fullTextEnabled
- });
+ FeedResource.prototype.toggleFullText = function (feedId) {
+ var feed = this.getById(feedId);
+
+ return this.patch(feedId, {fullTextEnabled: !feed.fullTextEnabled});
};
diff --git a/js/tests/unit/controller/NavigationControllerSpec.js b/js/tests/unit/controller/NavigationControllerSpec.js
index 53d2e139f..a5300453f 100644
--- a/js/tests/unit/controller/NavigationControllerSpec.js
+++ b/js/tests/unit/controller/NavigationControllerSpec.js
@@ -1022,7 +1022,7 @@ describe('NavigationController', function () {
ordering: 0
});
- FeedResource.setOrdering = jasmine.createSpy('ordering');
+ FeedResource.patch = jasmine.createSpy('patch');
var route = {
reload: jasmine.createSpy('reload')
@@ -1033,7 +1033,7 @@ describe('NavigationController', function () {
ctrl.setOrdering(FeedResource.getById(2), 2);
- expect(FeedResource.setOrdering).toHaveBeenCalledWith(2, 2);
+ expect(FeedResource.patch).toHaveBeenCalledWith(2, {ordering:2});
expect(route.reload).toHaveBeenCalled();
}));
@@ -1049,13 +1049,13 @@ describe('NavigationController', function () {
pinned: false
});
- FeedResource.setPinned = jasmine.createSpy('pinned');
+ FeedResource.patch = jasmine.createSpy('patch');
var ctrl = $controller('NavigationController');
ctrl.togglePinned(2);
- expect(FeedResource.setPinned).toHaveBeenCalledWith(2, true);
+ expect(FeedResource.patch).toHaveBeenCalledWith(2, {pinned: true});
}));
@@ -1097,6 +1097,28 @@ describe('NavigationController', function () {
}));
+ it ('should toggle updateModes',
+ inject(function ($controller, FeedResource) {
+
+ FeedResource.add({
+ id: 2,
+ url: 'http://test.com',
+ folderId: 3,
+ ordering: 0,
+ pinned: false,
+ updateMode: 1
+ });
+
+ FeedResource.patch = jasmine.createSpy('patch');
+
+ var ctrl = $controller('NavigationController');
+
+ ctrl.setUpdateMode(2, 0);
+
+ expect(FeedResource.patch).toHaveBeenCalledWith(2, {updateMode: 0});
+ }));
+
+
it ('should set location on search', inject(function ($controller) {
var location = {
search: jasmine.createSpy('search')
diff --git a/js/tests/unit/service/FeedResourceSpec.js b/js/tests/unit/service/FeedResourceSpec.js
index 5c900de3f..1911a9a3a 100644
--- a/js/tests/unit/service/FeedResourceSpec.js
+++ b/js/tests/unit/service/FeedResourceSpec.js
@@ -290,11 +290,11 @@ describe('FeedResource', function () {
it ('should set the feed ordering', inject(function (FeedResource) {
- http.expectPOST('base/feeds/3/ordering', {
+ http.expectPATCH('base/feeds/3', {
ordering: 2
}).respond(200, {});
- FeedResource.setOrdering(3, 2);
+ FeedResource.patch(3, {ordering: 2});
http.flush();
@@ -303,11 +303,11 @@ describe('FeedResource', function () {
it ('should set the feed pinning', inject(function (FeedResource) {
- http.expectPOST('base/feeds/3/pinned', {
- isPinned: true
+ http.expectPATCH('base/feeds/3', {
+ pinned: true
}).respond(200, {});
- FeedResource.setPinned(3, true);
+ FeedResource.patch(3, {pinned: true});
http.flush();
@@ -316,7 +316,7 @@ describe('FeedResource', function () {
it ('should toggle full text', inject(function (FeedResource) {
- http.expectPOST('base/feeds/3/fulltext', {
+ http.expectPATCH('base/feeds/3', {
fullTextEnabled: true
}).respond(200, {});
diff --git a/service/feedservice.php b/service/feedservice.php
index 94912017c..6533cb256 100644
--- a/service/feedservice.php
+++ b/service/feedservice.php
@@ -249,6 +249,12 @@ class FeedService extends Service {
$dbItem->setBody(
$this->purifier->purify($item->getBody())
);
+
+ // update modes: 0 nothing, 1 set unread
+ if ($existingFeed->getUpdateMode() === 1) {
+ $dbItem->setUnread();
+ }
+
$this->itemMapper->update($dbItem);
}
} catch(DoesNotExistException $ex){
@@ -429,47 +435,41 @@ class FeedService extends Service {
$this->feedMapper->deleteUser($userId);
}
-
/**
- * Sets the feed ordering
- * @param int $id the id of the feed
- * @param int $ordering 0 for no ordering, 1 for reverse, 2 for normal
- * @param string $userId the id of the user
+ * @param $feedId
+ * @param $userId
+ * @param $diff an array containing the fields to update, e.g.:
+ * [
+ * 'ordering' => 1,
+ * 'fullTextEnabled' => true,
+ * 'pinned' => true,
+ * 'updateMode' => 0
+ * ]
+ * @throws ServiceNotFoundException if feed does not exist
*/
- public function setOrdering($id, $ordering, $userId) {
- $feed = $this->find($id, $userId);
- $feed->setOrdering($ordering);
- $this->feedMapper->update($feed);
- }
-
+ public function patch($feedId, $userId, $diff) {
+ $feed = $this->find($feedId, $userId);
- /**
- * Pin or unpin a feed from the top
- * @param int $id the id of the feed
- * @param boolean $isPinned if the feed should be pinned
- * @param string $userId the id of the user
- */
- public function setPinned($id, $isPinned, $userId) {
- $feed = $this->find($id, $userId);
- $feed->setPinned($isPinned);
- return $this->feedMapper->update($feed);
- }
+ // these attributes just map onto the feed object without extra logic
+ $simplePatches = ['ordering', 'pinned', 'updateMode'];
+ foreach ($simplePatches as $attribute) {
+ if (array_key_exists($attribute, $diff)) {
+ $method = 'set' . ucfirst($attribute);
+ $feed->$method($diff[$attribute]);
+ }
+ }
+ // special feed updates
+ if (array_key_exists('fullTextEnabled', $diff)) {
+ // disable caching for the next update
+ $feed->setEtag('');
+ $feed->setLastModified(0);
+ $feed->setFullTextEnabled($diff['fullTextEnabled']);
+ $this->feedMapper->update($feed);
+ return $this->update($feedId, $userId, true);
+ }
- /**
- * Enable/Disable full text feed and update the feed
- * @param int $id feed id
- * @param bool $enableFullText
- * @param string $userId
- */
- public function enableFullText($id, $enableFullText=false, $userId) {
- $feed = $this->find($id, $userId);
- // disable caching for the next update
- $feed->setEtag('');
- $feed->setLastModified(0);
- $feed->setFullTextEnabled($enableFullText);
- $this->feedMapper->update($feed);
- return $this->update($id, $userId, true);
+ return $this->feedMapper->update($feed);
}
}
diff --git a/templates/part.navigation.feed.php b/templates/part.navigation.feed.php
index ecbc5960a..cbed3d84b 100644
--- a/templates/part.navigation.feed.php
+++ b/templates/part.navigation.feed.php
@@ -126,6 +126,18 @@
</button>
</li>
<li>
+ <button ng-click="Navigation.setUpdateMode(feed.id, 1)"
+ class="icon-updatemode-default"
+ ng-hide="feed.updateMode == 1"
+ title="<?php p($l->t('Keep updated articles as is')); ?>">
+ </button>
+ <button ng-click="Navigation.setUpdateMode(feed.id, 0)"
+ class="icon-updatemode-unread"
+ ng-show="feed.updateMode == 1"
+ title="<?php p($l->t('Mark updated articles unread')); ?>">
+ </button>
+ </li>
+ <li>
<button ng-click="feed.editing=true"
class="icon-rename"
title="<?php p($l->t('Rename feed')); ?>">
diff --git a/tests/unit/controller/FeedControllerTest.php b/tests/unit/controller/FeedControllerTest.php
index 80f2c805f..f821fde02 100644
--- a/tests/unit/controller/FeedControllerTest.php
+++ b/tests/unit/controller/FeedControllerTest.php
@@ -507,50 +507,30 @@ class FeedControllerTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals($response->getStatus(), Http::STATUS_NOT_FOUND);
}
-
- public function testOrdering() {
- $this->feedService->expects($this->once())
- ->method('setOrdering')
- ->with($this->equalTo(4),
- $this->equalTo(2),
- $this->equalTo($this->user));
-
- $this->controller->ordering(4, 2);
- }
-
-
- public function testEnableFullText() {
- $this->feedService->expects($this->once())
- ->method('enableFullText')
- ->with($this->equalTo(4),
- $this->equalTo(true),
- $this->equalTo($this->user))
- ->will($this->returnValue(1));
-
- $this->controller->enableFullText(4, true);
- }
-
-
- public function testPinned() {
+ public function testPatch() {
+ $expected = [
+ 'pinned' => true,
+ 'fullTextEnabled' => true,
+ 'updateMode' => 1
+ ];
$this->feedService->expects($this->once())
- ->method('setPinned')
+ ->method('patch')
->with($this->equalTo(4),
- $this->equalTo(true),
- $this->equalTo($this->user))
+ $this->equalTo($this->user),
+ $this->equalTo($expected))
->will($this->returnValue(1));
- $this->controller->pinned(4, true);
+ $this->controller->patch(4, true, true, 1);
}
-
- public function testOrderingDoesNotExist(){
+ public function testPatchDoesNotExist(){
$msg = 'hehe';
$this->feedService->expects($this->once())
- ->method('setOrdering')
+ ->method('patch')
->will($this->throwException(new ServiceNotFoundException($msg)));
- $response = $this->controller->ordering(4, 2);
+ $response = $this->controller->patch(4, 2);
$params = json_decode($response->render(), true);
$this->assertEquals($msg, $params['message']);
diff --git a/tests/unit/db/FeedTest.php b/tests/unit/db/FeedTest.php
index 1185203fd..4bec6b08a 100644
--- a/tests/unit/db/FeedTest.php
+++ b/tests/unit/db/FeedTest.php
@@ -33,6 +33,7 @@ class FeedTest extends \PHPUnit_Framework_TestCase {
$feed->setOrdering(2);
$feed->setFullTextEnabled(true);
$feed->setPinned(true);
+ $feed->setUpdateMode(1);
return $feed;
}
@@ -75,7 +76,8 @@ class FeedTest extends \PHPUnit_Framework_TestCase {
'location' => 'http://google.at',
'ordering' => 2,
'fullTextEnabled' => true,
- 'pinned' => true
+ 'pinned' => true,
+ 'updateMode' => 1
], $feed->jsonSerialize());
}
diff --git a/tests/unit/service/FeedServiceTest.php b/tests/unit/service/FeedServiceTest.php
index 923685e3e..a61b9929c 100644
--- a/tests/unit/service/FeedServiceTest.php
+++ b/tests/unit/service/FeedServiceTest.php
@@ -362,7 +362,7 @@ class FeedServiceTest extends \PHPUnit_Framework_TestCase {
$this->assertEquals($return, $feed);
}
- public function testUpdateUpdatesWhenPubdateIsNewer() {
+ private function createUpdateFeed() {
$feed = new Feed();
$feed->setId(3);
$feed->setArticlesPerUpdate(1);
@@ -371,7 +371,10 @@ class FeedServiceTest extends \PHPUnit_Framework_TestCase {
$feed->setUrlHash('yo');
$feed->setLastModified(3);
$feed->setEtag(4);
+ return $feed;
+ }
+ private function createUpdateItem() {
$item = new Item();
$item->setGuidHash(md5('hi'));
$item->setFeedId(3);
@@ -379,59 +382,95 @@ class FeedServiceTest extends \PHPUnit_Framework_TestCase {
$item->setTitle('hey');
$item->setAuthor('aut');
$item->setBody('new');
- $item2 = new Item();
- $item2->setGuidHash(md5('hi'));
- $item2->setFeedId(3);
- $item2->setPubDate(1);
+ $item->setRead();
+ return $item;
+ }
+
+ private function createUpdateItem2() {
+ $item = new Item();
+ $item->setGuidHash(md5('hi'));
+ $item->setFeedId(3);
+ $item->setPubDate(1);
$item->setTitle('ho');
$item->setAuthor('auto');
$item->setBody('old');
- $items = [$item];
+ $item->setRead();
+ return $item;
+ }
- $ex = new DoesNotExistException('hi');
+ public function testUpdateUpdatesWhenPubdateIsNewer() {
+ $feed = $this->createUpdateFeed();
+ $item = $this->createUpdateItem();
+ $item2 = $this->createUpdateItem2();
+
+ $items = [$item];
$fetchReturn = [$feed, $items];
$this->feedMapper->expects($this->at(0))
->method('find')
- ->with($this->equalTo($feed->getId()),
- $this->equalTo($this->user))
->will($this->returnValue($feed));
$this->fetcher->expects($this->once())
->method('fetch')
- ->with(
- $this->equalTo('http://test'),
- $this->equalTo(false),
- $this->equalTo(3),
- $this->equalTo(4)
- )
->will($this->returnValue($fetchReturn));
$this->feedMapper->expects($this->at(1))
- ->method('update')
- ->with($this->equalTo($feed));
+ ->method('update');
$this->itemMapper->expects($this->once())
->method('findByGuidHash')
- ->with($this->equalTo($items[0]->getGuidHash()),
- $this->equalTo($items[0]->getFeedId()),
- $this->equalTo($this->user))
->will($this->returnValue($item2));
$this->purifier->expects($this->at(0))
->method('purify')
- ->with($this->equalTo($items[0]->getBody()))
->will($this->returnValue($items[0]->getBody()));
$this->itemMapper->expects($this->once())
->method('update')
- ->with($this->equalTo($items[0]));
-
+ ->with($this->equalTo($item2));
$this->feedMapper->expects($this->at(2))
->method('find')
- ->with($feed->getId(), $this->user)
->will($this->returnValue($feed));
$return = $this->feedService->update($feed->getId(), $this->user);
$this->assertEquals($return, $feed);
+ }
+
+
+ public function testUpdateSetsUnreadIfModeIsOne() {
+ $feed = $this->createUpdateFeed();
+ $feed->setUpdateMode(1);
+ $item = $this->createUpdateItem();
+ $item2 = $this->createUpdateItem2();
+ $item3 = $this->createUpdateItem();
+ $item3->setUnread();
+
+ $items = [$item];
+
+ $fetchReturn = [$feed, $items];
+
+ $this->feedMapper->expects($this->at(0))
+ ->method('find')
+ ->will($this->returnValue($feed));
+ $this->fetcher->expects($this->once())
+ ->method('fetch')
+ ->will($this->returnValue($fetchReturn));
+ $this->feedMapper->expects($this->at(1))
+ ->method('update');
+ $this->itemMapper->expects($this->once())
+ ->method('findByGuidHash')
+ ->will($this->returnValue($item2));
+ $this->purifier->expects($this->at(0))
+ ->method('purify')
+ ->will($this->returnValue($items[0]->getBody()));
+ $this->itemMapper->expects($this->once())
+ ->method('update')
+ ->with($this->equalTo($item3));
+ $this->feedMapper->expects($this->at(2))
+ ->method('find')
+ ->will($this->returnValue($feed));
+
+ $return = $this->feedService->update($feed->getId(), $this->user);
+
+ $this->assertEquals($return, $feed);
}
@@ -933,13 +972,17 @@ class FeedServiceTest extends \PHPUnit_Framework_TestCase {
->method('update')
->with($this->equalTo($feed));
- $this->feedService->setOrdering(3, 2, $this->user);
+ $this->feedService->patch(3, $this->user, ['ordering' => 2]);
}
- public function testEnableFullText() {
- $feed = Feed::fromRow(['id' => 3, 'etag' => 'a', 'last_modified' => 1,
- 'full_text_enabled' => false]);
+ public function testPatchEnableFullText() {
+ $feed = Feed::fromRow([
+ 'id' => 3,
+ 'etag' => 'a',
+ 'last_modified' => 1,
+ 'full_text_enabled' => false
+ ]);
$feed2 = Feed::fromRow(['id' => 3]);
$this->feedMapper->expects($this->at(0))
->method('find')
@@ -964,20 +1007,20 @@ class FeedServiceTest extends \PHPUnit_Framework_TestCase {
'\OCA\News\Service\ServiceNotFoundException'
);
- $this->feedService->enableFullText(3, true, $this->user);
+ $this->feedService->patch(3, $this->user, ['fullTextEnabled' => true]);
}
/**
* @expectedException OCA\News\Service\ServiceNotFoundException
*/
- public function testOrderingDoesNotExist () {
+ public function testPatchDoesNotExist () {
$feed = Feed::fromRow(['id' => 3]);
$this->feedMapper->expects($this->once())
->method('find')
->will($this->throwException(new DoesNotExistException('')));
- $this->feedService->setOrdering(3, 2, $this->user);
+ $this->feedService->patch(3, $this->user);
}
@@ -994,7 +1037,7 @@ class FeedServiceTest extends \PHPUnit_Framework_TestCase {
->method('update')
->with($this->equalTo($feed));
- $this->feedService->setPinned(3, true, $this->user);
+ $this->feedService->patch(3, $this->user, ['pinned' => true]);
}