mirror of https://github.com/nextcloud/bookmarks
Merge branch 'master' into stable
This commit is contained in:
commit
4b9e4ca510
|
@ -0,0 +1,37 @@
|
|||
name: Static analysis
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- stable*
|
||||
|
||||
jobs:
|
||||
static-psalm-analysis:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
ocp-version: [ 'dev-master', 'v20.0.0' ]
|
||||
|
||||
name: Nextcloud ${{ matrix.ocp-version }}
|
||||
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
|
||||
- name: Set up php
|
||||
uses: shivammathur/setup-php@master
|
||||
with:
|
||||
php-version: 7.4
|
||||
coverage: none
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer i
|
||||
|
||||
- name: Install dependencies
|
||||
run: composer require --dev christophwurst/nextcloud:${{ matrix.ocp-version }}
|
||||
|
||||
- name: Run coding standards check
|
||||
run: composer run psalm
|
10
CHANGELOG.md
10
CHANGELOG.md
|
@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
|
|||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [4.0.1] - 2020-10-27
|
||||
|
||||
### Fixed
|
||||
- Fix bookmark hashing
|
||||
- Update PHP dependencies
|
||||
- Update JS dependencies
|
||||
- Apply minor static analysis fixes
|
||||
|
||||
## [4.0.0] - 2020-10-22
|
||||
|
||||
### New
|
||||
|
@ -430,6 +438,8 @@ Supported are NC 15 and 16, provided you are using PHP v7.1 and have gmp, intl a
|
|||
- FIX folder collapse css
|
||||
- FIX: Speed up findBookmarks SQL query
|
||||
|
||||
[4.0.1]: https://github.com/nextcloud/bookmarks/compare/v4.0.0...v4.0.1
|
||||
[4.0.0]: https://github.com/nextcloud/bookmarks/compare/v3.4.4...v4.0.0
|
||||
[3.4.4]: https://github.com/nextcloud/bookmarks/compare/v3.4.3...v3.4.4
|
||||
[3.4.3]: https://github.com/nextcloud/bookmarks/compare/v3.4.2...v3.4.3
|
||||
[3.4.2]: https://github.com/nextcloud/bookmarks/compare/v3.4.1...v3.4.2
|
||||
|
|
2
Makefile
2
Makefile
|
@ -7,7 +7,7 @@ source_dir=$(build_dir)/source
|
|||
sign_dir=$(build_dir)/sign
|
||||
package_name=$(app_name)
|
||||
cert_dir=$(HOME)/.nextcloud/certificates
|
||||
version+=4.0.0
|
||||
version+=4.0.1
|
||||
|
||||
all: dev-setup build-js-production
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Requirements:
|
|||
- mbstring: *
|
||||
- Nextcloud v20+
|
||||
]]></description>
|
||||
<version>4.0.0</version>
|
||||
<version>4.0.1</version>
|
||||
<licence>agpl</licence>
|
||||
<author mail="mklehr@gmx.net">Marcel Klehr</author>
|
||||
<author mail="blizzz@arthur-schiwon.de" homepage="https://www.arthur-schiwon.de">Arthur Schiwon</author>
|
||||
|
|
|
@ -13,14 +13,16 @@
|
|||
"psr/http-message": "^1.0",
|
||||
"rowbot/url": "^3.0",
|
||||
"ralouphie/mimey": "^2.1",
|
||||
"symfony/console": "4.4.10",
|
||||
"symfony/console": "^4.4",
|
||||
"symfony/event-dispatcher": "^4.4",
|
||||
"symfony/process": "4.4.10",
|
||||
"symfony/routing": "4.4.10"
|
||||
"symfony/process": "^4.4",
|
||||
"symfony/routing": "^4.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"nextcloud/coding-standard": "^0.3.0"
|
||||
"nextcloud/coding-standard": "^0.3.0",
|
||||
"vimeo/psalm": "^3.18",
|
||||
"christophwurst/nextcloud": "v20.0.0"
|
||||
},
|
||||
"config": {
|
||||
"optimize-autoloader": true,
|
||||
|
@ -29,6 +31,7 @@
|
|||
"scripts": {
|
||||
"lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l",
|
||||
"cs:check": "php-cs-fixer fix --dry-run --diff",
|
||||
"cs:fix": "php-cs-fixer fix"
|
||||
"cs:fix": "php-cs-fixer fix",
|
||||
"psalm": "psalm --output-format=github --no-progress --show-info=true"
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -51,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Nová složka",
|
||||
"Grid view" : "Zobrazení v mřížce",
|
||||
"List view" : "Zobrazení v seznamu",
|
||||
"Private RSS Feed of current view" : "Soukromý RSS kanál stávajícího pohledu",
|
||||
"RSS Feed of current view" : "RSS kanál stávajícího pohledu",
|
||||
"Move selection" : "Přesunout vybrané",
|
||||
"Delete selection" : "Smazat výběr",
|
||||
"Open all selected" : "Otevřít vše vybrané",
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"New folder" : "Nová složka",
|
||||
"Grid view" : "Zobrazení v mřížce",
|
||||
"List view" : "Zobrazení v seznamu",
|
||||
"Private RSS Feed of current view" : "Soukromý RSS kanál stávajícího pohledu",
|
||||
"RSS Feed of current view" : "RSS kanál stávajícího pohledu",
|
||||
"Move selection" : "Přesunout vybrané",
|
||||
"Delete selection" : "Smazat výběr",
|
||||
"Open all selected" : "Otevřít vše vybrané",
|
||||
|
|
14
l10n/de.js
14
l10n/de.js
|
@ -43,15 +43,15 @@ OC.L10N.register(
|
|||
"Details" : "Details",
|
||||
"Rename" : "Umbenennen",
|
||||
"Move" : "Verschieben",
|
||||
"Delete" : " Löschen",
|
||||
"Search" : "Benötigt keine Übersetzung. Für iOS wird nur die formelle Übersetzung verwendet (de_DE).",
|
||||
"Delete" : "Löschen",
|
||||
"Search" : "Suche",
|
||||
"Select one or more tags" : "Ein oder mehrere Schlagworte auswählen",
|
||||
"New" : "Neu",
|
||||
"New bookmark" : "Neues Lesezeichen",
|
||||
"New folder" : "Neuer Ordner",
|
||||
"Grid view" : "Rasteransicht",
|
||||
"List view" : "Listenansicht",
|
||||
"Private RSS Feed of current view" : "Privater RSS-Feed der aktuellen Ansicht",
|
||||
"RSS Feed of current view" : "RSS-Feed der aktuellen Ansicht",
|
||||
"Move selection" : "Auswahl verschieben",
|
||||
"Delete selection" : "Auswahl löschen",
|
||||
"Open all selected" : "Alle ausgewählten öffnen",
|
||||
|
@ -79,13 +79,13 @@ OC.L10N.register(
|
|||
"All bookmarks" : "Alle Lesezeichen",
|
||||
"Recent" : "Neueste",
|
||||
"Archived" : "Archiviert",
|
||||
"Broken links" : "Ungültiger Link",
|
||||
"Broken links" : "Ungültige Links",
|
||||
"Filter tags" : "Schlagworte filtern",
|
||||
"Untagged" : "Kein Schlagwort",
|
||||
"{used} bookmarks of {available} available" : "{used} Lesezeichen von {available} verfügbaren",
|
||||
"No archived bookmarks" : "Keine archivierten Lesezeichen",
|
||||
"Bookmarks to files like photos or PDFs will automatically be saved to your Nextcloud files, so you can still find them even when the link goes offline." : "Lesezeichen für Dateien wie Fotos oder PDFs werden automatisch in deinen Nextcloud-Dateien gespeichert, sodass du sie auch dann finden kannst, wenn der Link offline geschaltet wird.",
|
||||
"No bookmarks here" : "Keine Lesezeichen vorhanden.",
|
||||
"Bookmarks to files like photos or PDFs will automatically be saved to your Nextcloud files, so you can still find them even when the link goes offline." : "Lesezeichen für Dateien wie Fotos oder PDFs werden automatisch in Deinen Nextcloud-Dateien gespeichert, sodass Du sie auch dann finden kannst, wenn der Link offline geschaltet wird.",
|
||||
"No bookmarks here" : "Keine Lesezeichen vorhanden",
|
||||
"Add a bookmark" : "Lesezeichen hinzufügen",
|
||||
"Import bookmarks" : "Lesezeichen importieren",
|
||||
"Import" : "Importieren",
|
||||
|
@ -136,7 +136,7 @@ OC.L10N.register(
|
|||
"RSS feed copied" : "RSS-Feed kopiert",
|
||||
"Select" : "Auswählen",
|
||||
"Previews" : "Vorschau",
|
||||
"In order to display real screenshots of your bookmarked websites, Bookmarks can use third-party services to generate previews." : "Um Screenshots deiner, mit Lesezeichen versehenen, Websites anzuzeigen, können Vorschaubilder mithilfe Drittanbieter-Dienste eine Vorschau erstellt werden.",
|
||||
"In order to display real screenshots of your bookmarked websites, Bookmarks can use third-party services to generate previews." : "Um Screenshots Deiner, mit Lesezeichen versehenen, Websites anzuzeigen, können Vorschaubilder mithilfe Drittanbieter-Dienste eine Vorschau erstellt werden.",
|
||||
"Screeenly" : "Screeenly",
|
||||
"You can either sign up for free at screeenly.com or setup your own server." : "Du kannst Dich entweder kostenlos bei screeenly.com anmelden oder Deinen eigenen Server einrichten.",
|
||||
"Screeenly API URL" : "Screeenly-API-URL",
|
||||
|
|
14
l10n/de.json
14
l10n/de.json
|
@ -41,15 +41,15 @@
|
|||
"Details" : "Details",
|
||||
"Rename" : "Umbenennen",
|
||||
"Move" : "Verschieben",
|
||||
"Delete" : " Löschen",
|
||||
"Search" : "Benötigt keine Übersetzung. Für iOS wird nur die formelle Übersetzung verwendet (de_DE).",
|
||||
"Delete" : "Löschen",
|
||||
"Search" : "Suche",
|
||||
"Select one or more tags" : "Ein oder mehrere Schlagworte auswählen",
|
||||
"New" : "Neu",
|
||||
"New bookmark" : "Neues Lesezeichen",
|
||||
"New folder" : "Neuer Ordner",
|
||||
"Grid view" : "Rasteransicht",
|
||||
"List view" : "Listenansicht",
|
||||
"Private RSS Feed of current view" : "Privater RSS-Feed der aktuellen Ansicht",
|
||||
"RSS Feed of current view" : "RSS-Feed der aktuellen Ansicht",
|
||||
"Move selection" : "Auswahl verschieben",
|
||||
"Delete selection" : "Auswahl löschen",
|
||||
"Open all selected" : "Alle ausgewählten öffnen",
|
||||
|
@ -77,13 +77,13 @@
|
|||
"All bookmarks" : "Alle Lesezeichen",
|
||||
"Recent" : "Neueste",
|
||||
"Archived" : "Archiviert",
|
||||
"Broken links" : "Ungültiger Link",
|
||||
"Broken links" : "Ungültige Links",
|
||||
"Filter tags" : "Schlagworte filtern",
|
||||
"Untagged" : "Kein Schlagwort",
|
||||
"{used} bookmarks of {available} available" : "{used} Lesezeichen von {available} verfügbaren",
|
||||
"No archived bookmarks" : "Keine archivierten Lesezeichen",
|
||||
"Bookmarks to files like photos or PDFs will automatically be saved to your Nextcloud files, so you can still find them even when the link goes offline." : "Lesezeichen für Dateien wie Fotos oder PDFs werden automatisch in deinen Nextcloud-Dateien gespeichert, sodass du sie auch dann finden kannst, wenn der Link offline geschaltet wird.",
|
||||
"No bookmarks here" : "Keine Lesezeichen vorhanden.",
|
||||
"Bookmarks to files like photos or PDFs will automatically be saved to your Nextcloud files, so you can still find them even when the link goes offline." : "Lesezeichen für Dateien wie Fotos oder PDFs werden automatisch in Deinen Nextcloud-Dateien gespeichert, sodass Du sie auch dann finden kannst, wenn der Link offline geschaltet wird.",
|
||||
"No bookmarks here" : "Keine Lesezeichen vorhanden",
|
||||
"Add a bookmark" : "Lesezeichen hinzufügen",
|
||||
"Import bookmarks" : "Lesezeichen importieren",
|
||||
"Import" : "Importieren",
|
||||
|
@ -134,7 +134,7 @@
|
|||
"RSS feed copied" : "RSS-Feed kopiert",
|
||||
"Select" : "Auswählen",
|
||||
"Previews" : "Vorschau",
|
||||
"In order to display real screenshots of your bookmarked websites, Bookmarks can use third-party services to generate previews." : "Um Screenshots deiner, mit Lesezeichen versehenen, Websites anzuzeigen, können Vorschaubilder mithilfe Drittanbieter-Dienste eine Vorschau erstellt werden.",
|
||||
"In order to display real screenshots of your bookmarked websites, Bookmarks can use third-party services to generate previews." : "Um Screenshots Deiner, mit Lesezeichen versehenen, Websites anzuzeigen, können Vorschaubilder mithilfe Drittanbieter-Dienste eine Vorschau erstellt werden.",
|
||||
"Screeenly" : "Screeenly",
|
||||
"You can either sign up for free at screeenly.com or setup your own server." : "Du kannst Dich entweder kostenlos bei screeenly.com anmelden oder Deinen eigenen Server einrichten.",
|
||||
"Screeenly API URL" : "Screeenly-API-URL",
|
||||
|
|
|
@ -51,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Neuer Ordner",
|
||||
"Grid view" : "Rasteransicht",
|
||||
"List view" : "Listenansicht",
|
||||
"Private RSS Feed of current view" : "Privater RSS-Feed der aktuellen Ansicht",
|
||||
"RSS Feed of current view" : "RSS-Feed der aktuellen Ansicht",
|
||||
"Move selection" : "Auswahl verschieben",
|
||||
"Delete selection" : "Auswahl löschen",
|
||||
"Open all selected" : "Alle ausgewählten öffnen",
|
||||
|
@ -75,7 +75,7 @@ OC.L10N.register(
|
|||
"Moving selection" : "Auswahl verschieben",
|
||||
"_Moving %n folder and some bookmarks_::_Moving %n folders and some bookmarks_" : ["Verschiebe %n Verzeichnis und einige Lesezeichen","Verschiebe %n Verzeichnisse und einige Lesezeichen"],
|
||||
"_Moving %n folder_::_Moving %n folders_" : ["Verschiebe %n Verzeichnis","Verschiebe %n Verzeichnisse"],
|
||||
"_Moving %n bookmark_::_Moving %n bookmarks_" : ["%n Lesezeichen verschoben","%n Lesezeichen verschoben"],
|
||||
"_Moving %n bookmark_::_Moving %n bookmarks_" : ["%n Lesezeichen verschieben","Verschiebe %n Lesezeichen"],
|
||||
"All bookmarks" : "Alle Lesezeichen",
|
||||
"Recent" : "Neueste",
|
||||
"Archived" : "Archiviert",
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"New folder" : "Neuer Ordner",
|
||||
"Grid view" : "Rasteransicht",
|
||||
"List view" : "Listenansicht",
|
||||
"Private RSS Feed of current view" : "Privater RSS-Feed der aktuellen Ansicht",
|
||||
"RSS Feed of current view" : "RSS-Feed der aktuellen Ansicht",
|
||||
"Move selection" : "Auswahl verschieben",
|
||||
"Delete selection" : "Auswahl löschen",
|
||||
"Open all selected" : "Alle ausgewählten öffnen",
|
||||
|
@ -73,7 +73,7 @@
|
|||
"Moving selection" : "Auswahl verschieben",
|
||||
"_Moving %n folder and some bookmarks_::_Moving %n folders and some bookmarks_" : ["Verschiebe %n Verzeichnis und einige Lesezeichen","Verschiebe %n Verzeichnisse und einige Lesezeichen"],
|
||||
"_Moving %n folder_::_Moving %n folders_" : ["Verschiebe %n Verzeichnis","Verschiebe %n Verzeichnisse"],
|
||||
"_Moving %n bookmark_::_Moving %n bookmarks_" : ["%n Lesezeichen verschoben","%n Lesezeichen verschoben"],
|
||||
"_Moving %n bookmark_::_Moving %n bookmarks_" : ["%n Lesezeichen verschieben","Verschiebe %n Lesezeichen"],
|
||||
"All bookmarks" : "Alle Lesezeichen",
|
||||
"Recent" : "Neueste",
|
||||
"Archived" : "Archiviert",
|
||||
|
|
|
@ -51,7 +51,6 @@ OC.L10N.register(
|
|||
"New folder" : "Νέος φάκελος",
|
||||
"Grid view" : "Προβολή πλέγματος",
|
||||
"List view" : "Προβολή λίστας",
|
||||
"Private RSS Feed of current view" : "Ιδιωτική ροή RSS τρέχουσας προβολής",
|
||||
"Move selection" : "Μετακίνηση επιλογής",
|
||||
"Delete selection" : "Διαγραφή επιλογής",
|
||||
"Open all selected" : "Άνοιγμα των επιλεγμένων",
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
"New folder" : "Νέος φάκελος",
|
||||
"Grid view" : "Προβολή πλέγματος",
|
||||
"List view" : "Προβολή λίστας",
|
||||
"Private RSS Feed of current view" : "Ιδιωτική ροή RSS τρέχουσας προβολής",
|
||||
"Move selection" : "Μετακίνηση επιλογής",
|
||||
"Delete selection" : "Διαγραφή επιλογής",
|
||||
"Open all selected" : "Άνοιγμα των επιλεγμένων",
|
||||
|
|
|
@ -51,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Nueva carpeta",
|
||||
"Grid view" : "Vista en cuadrícula",
|
||||
"List view" : "Vista de lista",
|
||||
"Private RSS Feed of current view" : "Fuente RSS privada de la vista actual",
|
||||
"RSS Feed of current view" : "Fuente RSS de la vista actual",
|
||||
"Move selection" : "Mover la selección",
|
||||
"Delete selection" : "Borrar la selección",
|
||||
"Open all selected" : "Abrir todos los seleccionados",
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"New folder" : "Nueva carpeta",
|
||||
"Grid view" : "Vista en cuadrícula",
|
||||
"List view" : "Vista de lista",
|
||||
"Private RSS Feed of current view" : "Fuente RSS privada de la vista actual",
|
||||
"RSS Feed of current view" : "Fuente RSS de la vista actual",
|
||||
"Move selection" : "Mover la selección",
|
||||
"Delete selection" : "Borrar la selección",
|
||||
"Open all selected" : "Abrir todos los seleccionados",
|
||||
|
|
|
@ -37,6 +37,7 @@ OC.L10N.register(
|
|||
"Create bookmark" : "Créer un favori",
|
||||
"Takes a link and adds it to your collection of bookmarks." : "Prenez un lien et ajoutez-le à votre collection de favoris.",
|
||||
"A Bookmark manager for Nextcloud" : "Un gestionnaire de favoris pour Nextcloud",
|
||||
"This app provides you with a web interface for collecting, organizing and sharing bookmarks to the sites on the web that are precious to you.\nYou can browse and filter your bookmarks via tags, folders and by using the built-in search feature and you can share folders with other users and groups as well as create public links for them.\nAlso, in order to access your bookmarks anywhere, it also allows you to synchronize with third-party clients via a built-in REST API -- be it in your browsers or on your phone.\nCheck out the third-party clients listed here: https://github.com/nextcloud/bookmarks#third-party-clients\n\nRequirements:\n - PHP v7.3+\n - PHP extensions:\n - intl: *\n - mbstring: *\n - Nextcloud v20+" : "Cette application vous fournit une interface Web pour collecter, organiser et partager des signets vers les sites Web qui vous sont précieux.\nVous pouvez parcourir et filtrer vos signets via des balises, des dossiers et en utilisant la fonction de recherche intégrée et vous pouvez partager des dossiers avec d'autres utilisateurs et groupes ainsi que créer des liens publics pour eux. \nDe plus, afin d'atteindre vos signets de n'importe où, vous pouvez également vous synchroniser avec des clients tiers via une API REST intégrée - que ce soit dans votre navigateur ou sur votre téléphone.\nVérifiez les clients tiers répertoriés ici: https://github.com/nextcloud/bookmarks#third-party-clients\n\nRequirements: \nPHP - PHP v7.2 +\n- PHP extensions:\n- intl: * \n- mbstring: * \n- Nextcloud v20 +",
|
||||
"Enter new title" : "Saisissez un nouveau titre",
|
||||
"Select bookmark" : "Sélectionner le favori",
|
||||
"Details" : "Propriétés",
|
||||
|
@ -50,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Nouveau dossier",
|
||||
"Grid view" : "Affichage mosaïque",
|
||||
"List view" : "Affichage liste",
|
||||
"Private RSS Feed of current view" : "Flux RSS privé de la vue actuelle",
|
||||
"RSS Feed of current view" : "Flux RSS de la vue courante",
|
||||
"Move selection" : "Déplacer la sélection",
|
||||
"Delete selection" : "Supprimer la sélection",
|
||||
"Open all selected" : "Ouvrir toute la sélection",
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
"Create bookmark" : "Créer un favori",
|
||||
"Takes a link and adds it to your collection of bookmarks." : "Prenez un lien et ajoutez-le à votre collection de favoris.",
|
||||
"A Bookmark manager for Nextcloud" : "Un gestionnaire de favoris pour Nextcloud",
|
||||
"This app provides you with a web interface for collecting, organizing and sharing bookmarks to the sites on the web that are precious to you.\nYou can browse and filter your bookmarks via tags, folders and by using the built-in search feature and you can share folders with other users and groups as well as create public links for them.\nAlso, in order to access your bookmarks anywhere, it also allows you to synchronize with third-party clients via a built-in REST API -- be it in your browsers or on your phone.\nCheck out the third-party clients listed here: https://github.com/nextcloud/bookmarks#third-party-clients\n\nRequirements:\n - PHP v7.3+\n - PHP extensions:\n - intl: *\n - mbstring: *\n - Nextcloud v20+" : "Cette application vous fournit une interface Web pour collecter, organiser et partager des signets vers les sites Web qui vous sont précieux.\nVous pouvez parcourir et filtrer vos signets via des balises, des dossiers et en utilisant la fonction de recherche intégrée et vous pouvez partager des dossiers avec d'autres utilisateurs et groupes ainsi que créer des liens publics pour eux. \nDe plus, afin d'atteindre vos signets de n'importe où, vous pouvez également vous synchroniser avec des clients tiers via une API REST intégrée - que ce soit dans votre navigateur ou sur votre téléphone.\nVérifiez les clients tiers répertoriés ici: https://github.com/nextcloud/bookmarks#third-party-clients\n\nRequirements: \nPHP - PHP v7.2 +\n- PHP extensions:\n- intl: * \n- mbstring: * \n- Nextcloud v20 +",
|
||||
"Enter new title" : "Saisissez un nouveau titre",
|
||||
"Select bookmark" : "Sélectionner le favori",
|
||||
"Details" : "Propriétés",
|
||||
|
@ -48,7 +49,7 @@
|
|||
"New folder" : "Nouveau dossier",
|
||||
"Grid view" : "Affichage mosaïque",
|
||||
"List view" : "Affichage liste",
|
||||
"Private RSS Feed of current view" : "Flux RSS privé de la vue actuelle",
|
||||
"RSS Feed of current view" : "Flux RSS de la vue courante",
|
||||
"Move selection" : "Déplacer la sélection",
|
||||
"Delete selection" : "Supprimer la sélection",
|
||||
"Open all selected" : "Ouvrir toute la sélection",
|
||||
|
|
|
@ -51,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Novo cartafol",
|
||||
"Grid view" : "Ver como grella",
|
||||
"List view" : "Ver como lista",
|
||||
"Private RSS Feed of current view" : "Fonte RSS privada da vista actual",
|
||||
"RSS Feed of current view" : "Fonte RSS da vista actual",
|
||||
"Move selection" : "Mover a selección",
|
||||
"Delete selection" : "Eliminar a selección",
|
||||
"Open all selected" : "Abrir todos os seleccionados",
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"New folder" : "Novo cartafol",
|
||||
"Grid view" : "Ver como grella",
|
||||
"List view" : "Ver como lista",
|
||||
"Private RSS Feed of current view" : "Fonte RSS privada da vista actual",
|
||||
"RSS Feed of current view" : "Fonte RSS da vista actual",
|
||||
"Move selection" : "Mover a selección",
|
||||
"Delete selection" : "Eliminar a selección",
|
||||
"Open all selected" : "Abrir todos os seleccionados",
|
||||
|
|
|
@ -51,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Nuova cartella",
|
||||
"Grid view" : "Vista Griglia",
|
||||
"List view" : "Vista Elenco",
|
||||
"Private RSS Feed of current view" : "Fonte RSS privata della vista attuale",
|
||||
"RSS Feed of current view" : "Fonte RSS della vista attuale",
|
||||
"Move selection" : "Sposta selezione",
|
||||
"Delete selection" : "Elimina selezione",
|
||||
"Open all selected" : "Apri tutti i selezionati",
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"New folder" : "Nuova cartella",
|
||||
"Grid view" : "Vista Griglia",
|
||||
"List view" : "Vista Elenco",
|
||||
"Private RSS Feed of current view" : "Fonte RSS privata della vista attuale",
|
||||
"RSS Feed of current view" : "Fonte RSS della vista attuale",
|
||||
"Move selection" : "Sposta selezione",
|
||||
"Delete selection" : "Elimina selezione",
|
||||
"Open all selected" : "Apri tutti i selezionati",
|
||||
|
|
|
@ -5,6 +5,7 @@ OC.L10N.register(
|
|||
"Rename" : "ប្ដូរឈ្មោះ",
|
||||
"Move" : "Move",
|
||||
"Delete" : "លុប",
|
||||
"Search" : "Search",
|
||||
"New" : "ថ្មី",
|
||||
"New folder" : "ថតថ្មី",
|
||||
"Cancel" : "បោះបង់",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"Rename" : "ប្ដូរឈ្មោះ",
|
||||
"Move" : "Move",
|
||||
"Delete" : "លុប",
|
||||
"Search" : "Search",
|
||||
"New" : "ថ្មី",
|
||||
"New folder" : "ថតថ្មី",
|
||||
"Cancel" : "បោះបង់",
|
||||
|
|
|
@ -50,6 +50,7 @@ OC.L10N.register(
|
|||
"New folder" : "Nieuwe map",
|
||||
"Grid view" : "Rasterweergave",
|
||||
"List view" : "Lijstweergave",
|
||||
"RSS Feed of current view" : "RSS Feed van huidige weergave",
|
||||
"Move selection" : "Verplaats selectie",
|
||||
"Delete selection" : "Verwijder selectie",
|
||||
"Open all selected" : "Open alle geselecteerde",
|
||||
|
@ -60,12 +61,17 @@ OC.L10N.register(
|
|||
"_Selected %n folder_::_Selected %n folders_" : ["Selecteerde %n map","Selecteerde %n mappen"],
|
||||
"Enter a link" : "Voer een link in",
|
||||
"Enter a title" : "Voer een titel in",
|
||||
"No bookmarks found" : "Geen bladwijzers gevonden",
|
||||
"Select folder" : "Selecteer map",
|
||||
"Enter folder title" : "Geef maptitel op",
|
||||
"Shared by {user}" : "Gedeeld door {user}",
|
||||
"Root folder" : "Hoofdmap",
|
||||
"Submit" : "Verwerken",
|
||||
"Cancel" : "Annuleren",
|
||||
"Deleting bookmarks" : "Bladwijzers verwijderen",
|
||||
"Deleting selection" : "Selectie verwijderen",
|
||||
"Importing bookmarks" : "Bladwijzers importeren",
|
||||
"Moving selection" : "Selectie verplaatsen",
|
||||
"_Moving %n folder and some bookmarks_::_Moving %n folders and some bookmarks_" : ["%n folder en bladwijzers verplaatsen","%n mappen en bookmarks verplaatsen"],
|
||||
"_Moving %n folder_::_Moving %n folders_" : ["%n folder verplaatsen","%n mappen verplaatsen"],
|
||||
"_Moving %n bookmark_::_Moving %n bookmarks_" : ["%n bladwijzer verplaatsen","%n bookmarks verplaatsen"],
|
||||
|
@ -94,6 +100,7 @@ OC.L10N.register(
|
|||
"Client apps" : "Client apps",
|
||||
"Also check out the collection of client apps that integrate with this app: " : "Bekijk ook de verzameling client-apps die met deze app kunnen worden geïntegreerd:",
|
||||
"Install web app" : "Installeer web app",
|
||||
"Install on home screen" : "Installeren op thuisscherm",
|
||||
"Bookmarklet" : "Bookmarklet",
|
||||
"Drag this to your browser bookmarks and click it to quickly bookmark a webpage" : "Sleep dit naar de bookmarks van je browser en klik erop om snel een bookmark voor een webpagina te maken",
|
||||
"Add to {instanceName}" : "Toevoegen aan {instanceName}",
|
||||
|
@ -101,6 +108,7 @@ OC.L10N.register(
|
|||
"Permanently remove all bookmarks from your account." : "Verwijder alle bladwijzers permanent uit je account.",
|
||||
"Delete all bookmarks" : "Verwijder alle bookmarks",
|
||||
"Do you really want to delete all your bookmarks?" : "Wil je echt al je bookmarks verwijderen?",
|
||||
"Please select \"Add to home screen\" in your browser menu" : "Selecteer 'Voeg toe aan thuisscherm' in je browser menu",
|
||||
"Title" : "Titel",
|
||||
"Link" : "Link",
|
||||
"Creation date" : "Aanmaakdatum",
|
||||
|
@ -110,6 +118,7 @@ OC.L10N.register(
|
|||
"Archived version" : "Gearchiveerde versie",
|
||||
"Open archived file" : "Open gearchiveerd bestand",
|
||||
"Notes" : "Notities",
|
||||
"Notes for this bookmark …" : "Notities voor deze bladwijzer...",
|
||||
"{time} ago" : "{time} geleden",
|
||||
"Owner" : "Eigenaar",
|
||||
"Sharing" : "Delen",
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
"New folder" : "Nieuwe map",
|
||||
"Grid view" : "Rasterweergave",
|
||||
"List view" : "Lijstweergave",
|
||||
"RSS Feed of current view" : "RSS Feed van huidige weergave",
|
||||
"Move selection" : "Verplaats selectie",
|
||||
"Delete selection" : "Verwijder selectie",
|
||||
"Open all selected" : "Open alle geselecteerde",
|
||||
|
@ -58,12 +59,17 @@
|
|||
"_Selected %n folder_::_Selected %n folders_" : ["Selecteerde %n map","Selecteerde %n mappen"],
|
||||
"Enter a link" : "Voer een link in",
|
||||
"Enter a title" : "Voer een titel in",
|
||||
"No bookmarks found" : "Geen bladwijzers gevonden",
|
||||
"Select folder" : "Selecteer map",
|
||||
"Enter folder title" : "Geef maptitel op",
|
||||
"Shared by {user}" : "Gedeeld door {user}",
|
||||
"Root folder" : "Hoofdmap",
|
||||
"Submit" : "Verwerken",
|
||||
"Cancel" : "Annuleren",
|
||||
"Deleting bookmarks" : "Bladwijzers verwijderen",
|
||||
"Deleting selection" : "Selectie verwijderen",
|
||||
"Importing bookmarks" : "Bladwijzers importeren",
|
||||
"Moving selection" : "Selectie verplaatsen",
|
||||
"_Moving %n folder and some bookmarks_::_Moving %n folders and some bookmarks_" : ["%n folder en bladwijzers verplaatsen","%n mappen en bookmarks verplaatsen"],
|
||||
"_Moving %n folder_::_Moving %n folders_" : ["%n folder verplaatsen","%n mappen verplaatsen"],
|
||||
"_Moving %n bookmark_::_Moving %n bookmarks_" : ["%n bladwijzer verplaatsen","%n bookmarks verplaatsen"],
|
||||
|
@ -92,6 +98,7 @@
|
|||
"Client apps" : "Client apps",
|
||||
"Also check out the collection of client apps that integrate with this app: " : "Bekijk ook de verzameling client-apps die met deze app kunnen worden geïntegreerd:",
|
||||
"Install web app" : "Installeer web app",
|
||||
"Install on home screen" : "Installeren op thuisscherm",
|
||||
"Bookmarklet" : "Bookmarklet",
|
||||
"Drag this to your browser bookmarks and click it to quickly bookmark a webpage" : "Sleep dit naar de bookmarks van je browser en klik erop om snel een bookmark voor een webpagina te maken",
|
||||
"Add to {instanceName}" : "Toevoegen aan {instanceName}",
|
||||
|
@ -99,6 +106,7 @@
|
|||
"Permanently remove all bookmarks from your account." : "Verwijder alle bladwijzers permanent uit je account.",
|
||||
"Delete all bookmarks" : "Verwijder alle bookmarks",
|
||||
"Do you really want to delete all your bookmarks?" : "Wil je echt al je bookmarks verwijderen?",
|
||||
"Please select \"Add to home screen\" in your browser menu" : "Selecteer 'Voeg toe aan thuisscherm' in je browser menu",
|
||||
"Title" : "Titel",
|
||||
"Link" : "Link",
|
||||
"Creation date" : "Aanmaakdatum",
|
||||
|
@ -108,6 +116,7 @@
|
|||
"Archived version" : "Gearchiveerde versie",
|
||||
"Open archived file" : "Open gearchiveerd bestand",
|
||||
"Notes" : "Notities",
|
||||
"Notes for this bookmark …" : "Notities voor deze bladwijzer...",
|
||||
"{time} ago" : "{time} geleden",
|
||||
"Owner" : "Eigenaar",
|
||||
"Sharing" : "Delen",
|
||||
|
|
|
@ -51,7 +51,7 @@ OC.L10N.register(
|
|||
"New folder" : "Nowy folder",
|
||||
"Grid view" : "Widok siatki",
|
||||
"List view" : "Widok listy",
|
||||
"Private RSS Feed of current view" : "Prywatny kanał RSS aktualnego widoku",
|
||||
"RSS Feed of current view" : "Kanał RSS bieżącego widoku",
|
||||
"Move selection" : "Przenieś wybrane",
|
||||
"Delete selection" : "Usuń wybrane",
|
||||
"Open all selected" : "Otwórz wszystkie wybrane",
|
||||
|
@ -119,7 +119,7 @@ OC.L10N.register(
|
|||
"Archived version" : "Wersja zarchiwizowana",
|
||||
"Open archived file" : "Otwórz zarchiwizowany plik",
|
||||
"Notes" : "Notatki",
|
||||
"Notes for this bookmark …" : "Uwagi dotyczące tej zakładki...",
|
||||
"Notes for this bookmark …" : "Uwagi dotyczące tej zakładki…",
|
||||
"{time} ago" : "{time} temu",
|
||||
"Owner" : "Właściciel",
|
||||
"Sharing" : "Udostępnianie",
|
||||
|
|
|
@ -49,7 +49,7 @@
|
|||
"New folder" : "Nowy folder",
|
||||
"Grid view" : "Widok siatki",
|
||||
"List view" : "Widok listy",
|
||||
"Private RSS Feed of current view" : "Prywatny kanał RSS aktualnego widoku",
|
||||
"RSS Feed of current view" : "Kanał RSS bieżącego widoku",
|
||||
"Move selection" : "Przenieś wybrane",
|
||||
"Delete selection" : "Usuń wybrane",
|
||||
"Open all selected" : "Otwórz wszystkie wybrane",
|
||||
|
@ -117,7 +117,7 @@
|
|||
"Archived version" : "Wersja zarchiwizowana",
|
||||
"Open archived file" : "Otwórz zarchiwizowany plik",
|
||||
"Notes" : "Notatki",
|
||||
"Notes for this bookmark …" : "Uwagi dotyczące tej zakładki...",
|
||||
"Notes for this bookmark …" : "Uwagi dotyczące tej zakładki…",
|
||||
"{time} ago" : "{time} temu",
|
||||
"Owner" : "Właściciel",
|
||||
"Sharing" : "Udostępnianie",
|
||||
|
|
|
@ -50,7 +50,6 @@ OC.L10N.register(
|
|||
"New folder" : "Nova mapa",
|
||||
"Grid view" : "Mrežni pogled",
|
||||
"List view" : "Seznamski pogled",
|
||||
"Private RSS Feed of current view" : "Zasebni vir RSS trenutnega pogleda",
|
||||
"Move selection" : "Premakni izbor",
|
||||
"Delete selection" : "Izbriši izbor",
|
||||
"Open all selected" : "Odpri vse izbrane",
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
"New folder" : "Nova mapa",
|
||||
"Grid view" : "Mrežni pogled",
|
||||
"List view" : "Seznamski pogled",
|
||||
"Private RSS Feed of current view" : "Zasebni vir RSS trenutnega pogleda",
|
||||
"Move selection" : "Premakni izbor",
|
||||
"Delete selection" : "Izbriši izbor",
|
||||
"Open all selected" : "Odpri vse izbrane",
|
||||
|
|
|
@ -5,6 +5,7 @@ OC.L10N.register(
|
|||
"Rename" : "Rename",
|
||||
"Move" : "Zhvendos",
|
||||
"Delete" : "Fshij",
|
||||
"Search" : "Kërko",
|
||||
"New" : "I ri",
|
||||
"New folder" : "Dosje e re",
|
||||
"Grid view" : "Pamje galeri",
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
"Rename" : "Rename",
|
||||
"Move" : "Zhvendos",
|
||||
"Delete" : "Fshij",
|
||||
"Search" : "Kërko",
|
||||
"New" : "I ri",
|
||||
"New folder" : "Dosje e re",
|
||||
"Grid view" : "Pamje galeri",
|
||||
|
|
|
@ -51,7 +51,6 @@ OC.L10N.register(
|
|||
"New folder" : "Yeni klasör",
|
||||
"Grid view" : "Tablo görünümü",
|
||||
"List view" : "Liste görünümü",
|
||||
"Private RSS Feed of current view" : "Geçerli görünümün kişisel RSS akışı",
|
||||
"Move selection" : "Seçilmişleri taşı",
|
||||
"Delete selection" : "Seçilmişleri sil",
|
||||
"Open all selected" : "Tüm seçilmişleri aç",
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
"New folder" : "Yeni klasör",
|
||||
"Grid view" : "Tablo görünümü",
|
||||
"List view" : "Liste görünümü",
|
||||
"Private RSS Feed of current view" : "Geçerli görünümün kişisel RSS akışı",
|
||||
"Move selection" : "Seçilmişleri taşı",
|
||||
"Delete selection" : "Seçilmişleri sil",
|
||||
"Open all selected" : "Tüm seçilmişleri aç",
|
||||
|
|
|
@ -77,7 +77,10 @@ class FolderMapper extends QBMapper {
|
|||
|
||||
/**
|
||||
* @param $userId
|
||||
* @param int|string $userId
|
||||
*
|
||||
* @return Entity
|
||||
*
|
||||
* @throws MultipleObjectsReturnedException
|
||||
*/
|
||||
public function findRootFolder($userId): Entity {
|
||||
|
|
|
@ -125,7 +125,7 @@ class TagMapper {
|
|||
* @param $tags
|
||||
* @param int $bookmarkId
|
||||
*/
|
||||
public function addTo($tags, int $bookmarkId): void {
|
||||
public function addTo(array $tags, int $bookmarkId): void {
|
||||
if (is_string($tags)) {
|
||||
$tags = [$tags];
|
||||
} elseif (!is_array($tags)) {
|
||||
|
|
|
@ -647,7 +647,7 @@ class TreeMapper extends QBMapper {
|
|||
* @param int $layers The amount of levels to return
|
||||
* @return array the children each in the format ["id" => int, "type" => 'bookmark' | 'folder' ]
|
||||
*/
|
||||
public function getChildrenOrder($folderId, $layers = 0): array {
|
||||
public function getChildrenOrder(int $folderId, $layers = 0): array {
|
||||
$qb = $this->getChildrenOrderQuery;
|
||||
$qb->setParameter('parent_folder', $folderId);
|
||||
$children = $qb->execute()->fetchAll();
|
||||
|
|
|
@ -46,6 +46,9 @@ class Image implements IImage {
|
|||
return $this->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return false|string
|
||||
*/
|
||||
public function serialize() {
|
||||
return json_encode([
|
||||
'contentType' => $this->getContentType(),
|
||||
|
|
|
@ -103,7 +103,10 @@ class Authorizer {
|
|||
}
|
||||
}
|
||||
|
||||
public function setToken($token): void {
|
||||
/**
|
||||
* @param null|string $token
|
||||
*/
|
||||
public function setToken(?string $token): void {
|
||||
$this->token = $token;
|
||||
}
|
||||
|
||||
|
@ -114,7 +117,10 @@ class Authorizer {
|
|||
return $this->token;
|
||||
}
|
||||
|
||||
public function setUserId($userId): void {
|
||||
/**
|
||||
* @param string|null $userId
|
||||
*/
|
||||
public function setUserId(?string $userId): void {
|
||||
$this->userId = $userId;
|
||||
}
|
||||
|
||||
|
|
|
@ -176,7 +176,7 @@ class BookmarkService {
|
|||
* @throws UserLimitExceededError
|
||||
* @throws UnsupportedOperation
|
||||
*/
|
||||
private function _addBookmark($title, $url, $description, $userId, $tags, $folders): Bookmark {
|
||||
private function _addBookmark(string $title, $url, $description, $userId, array $tags, array $folders): Bookmark {
|
||||
$bookmark = new Bookmark();
|
||||
$bookmark->setTitle($title);
|
||||
$bookmark->setUrl($url);
|
||||
|
|
|
@ -129,7 +129,7 @@ class CrawlService {
|
|||
return $folderPath;
|
||||
}
|
||||
|
||||
public function getOrCreateFolder($userFolder, string $path) : ?Folder {
|
||||
public function getOrCreateFolder(Folder $userFolder, string $path) : ?Folder {
|
||||
if ($path === '/') {
|
||||
return $userFolder;
|
||||
}
|
||||
|
|
|
@ -111,7 +111,7 @@ class FaviconPreviewer implements IBookmarkPreviewer {
|
|||
return null;
|
||||
}
|
||||
|
||||
public function scrapeUrl($url) {
|
||||
public function scrapeUrl($url): array {
|
||||
return $this->linkExplorer->get($url);
|
||||
}
|
||||
|
||||
|
@ -119,7 +119,7 @@ class FaviconPreviewer implements IBookmarkPreviewer {
|
|||
* @param $url
|
||||
* @return Image|null
|
||||
*/
|
||||
protected function fetchImage($url): ?Image {
|
||||
protected function fetchImage(string $url): ?Image {
|
||||
try {
|
||||
$response = $this->client->get($url, ['timeout' => self::HTTP_TIMEOUT]);
|
||||
} catch (Exception $e) {
|
||||
|
|
|
@ -17,11 +17,13 @@ use OCA\Bookmarks\Events\ChangeEvent;
|
|||
use OCA\Bookmarks\Events\MoveEvent;
|
||||
use OCP\AppFramework\Db\DoesNotExistException;
|
||||
use OCP\AppFramework\Db\MultipleObjectsReturnedException;
|
||||
use OCP\EventDispatcher\Event;
|
||||
use OCP\EventDispatcher\IEventListener;
|
||||
use OCP\ICache;
|
||||
use OCP\ICacheFactory;
|
||||
use UnexpectedValueException;
|
||||
|
||||
class HashManager {
|
||||
class HashManager implements IEventListener {
|
||||
|
||||
/**
|
||||
* @var ICache
|
||||
|
@ -136,6 +138,7 @@ class HashManager {
|
|||
|
||||
/** @var Folder $entity */
|
||||
$entity = $this->folderMapper->find($folderId);
|
||||
$rootFolder = $this->folderMapper->findRootFolder($userId);
|
||||
$children = $this->treeMapper->getChildrenOrder($folderId);
|
||||
$childHashes = array_map(function ($item) use ($fields, $entity) {
|
||||
switch ($item['type']) {
|
||||
|
@ -150,7 +153,7 @@ class HashManager {
|
|||
$folder = [];
|
||||
if ($entity->getUserId() !== $userId) {
|
||||
$folder['title'] = $this->sharedFolderMapper->findByFolderAndUser($folderId, $userId)->getTitle();
|
||||
} elseif ($entity->getTitle() !== null) {
|
||||
} elseif ($entity->getTitle() !== null && $entity->getId() !== $rootFolder->getId()) {
|
||||
$folder['title'] = $entity->getTitle();
|
||||
}
|
||||
$folder['children'] = $childHashes;
|
||||
|
@ -191,12 +194,15 @@ class HashManager {
|
|||
/**
|
||||
* Handle events
|
||||
*
|
||||
* @param ChangeEvent $event
|
||||
* @param Event $event
|
||||
*/
|
||||
public function handle(ChangeEvent $event): void {
|
||||
public function handle(Event $event): void {
|
||||
if ($this->enabled === false) {
|
||||
return;
|
||||
}
|
||||
if (!($event instanceof ChangeEvent)) {
|
||||
return;
|
||||
}
|
||||
switch ($event->getType()) {
|
||||
case TreeMapper::TYPE_FOLDER:
|
||||
$this->invalidateFolder($event->getId());
|
||||
|
@ -215,7 +221,7 @@ class HashManager {
|
|||
}
|
||||
}
|
||||
|
||||
public function setInvalidationEnabled(bool $enabled) {
|
||||
public function setInvalidationEnabled(bool $enabled): void {
|
||||
$this->enabled = $enabled;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -77,10 +77,13 @@ class HtmlImporter {
|
|||
|
||||
/**
|
||||
* @brief Import Bookmarks from html formatted file
|
||||
*
|
||||
* @param int $userId
|
||||
* @param string|null $file Content to import
|
||||
* @param string $file
|
||||
* @param int|null $rootFolder
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @throws DoesNotExistException
|
||||
* @throws MultipleObjectsReturnedException
|
||||
* @throws UnauthorizedAccessError
|
||||
|
@ -148,7 +151,10 @@ class HtmlImporter {
|
|||
* @param array $folderParams
|
||||
* @param int $parentId
|
||||
* @param array $errors
|
||||
* @param int|null $index
|
||||
*
|
||||
* @return array
|
||||
*
|
||||
* @throws DoesNotExistException
|
||||
* @throws MultipleObjectsReturnedException
|
||||
* @throws UnauthorizedAccessError
|
||||
|
|
|
@ -60,7 +60,7 @@ class DefaultBookmarkPreviewer implements IBookmarkPreviewer {
|
|||
return null;
|
||||
}
|
||||
|
||||
public function scrapeUrl($url) {
|
||||
public function scrapeUrl($url): array {
|
||||
return $this->linkExplorer->get($url);
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
16
package.json
16
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "bookmarks",
|
||||
"version": "4.0.0",
|
||||
"version": "4.0.1",
|
||||
"main": "js/index.js",
|
||||
"scripts": {
|
||||
"build": "NODE_ENV=production webpack --progress --hide-modules --config webpack.js",
|
||||
|
@ -22,7 +22,7 @@
|
|||
"dependencies": {
|
||||
"@nextcloud/auth": "^1.3.0",
|
||||
"@nextcloud/axios": "^1.4.0",
|
||||
"@nextcloud/dialogs": "^2.0.1",
|
||||
"@nextcloud/dialogs": "^3.0.0",
|
||||
"@nextcloud/initial-state": "^1.2.0",
|
||||
"@nextcloud/router": "^1.2.0",
|
||||
"@nextcloud/vue": "^2.8.1",
|
||||
|
@ -31,11 +31,11 @@
|
|||
"copy-text-to-clipboard": "^2.2.0",
|
||||
"humanize-duration": "^3.24.0",
|
||||
"style-loader": "^1.3.0",
|
||||
"url-loader": "^4.1.0",
|
||||
"url-loader": "^4.1.1",
|
||||
"vue": "^2.6.12",
|
||||
"vue-click-outside": "^1.1.0",
|
||||
"vue-material-design-icons": "^4.9.0",
|
||||
"vue-router": "^3.4.5",
|
||||
"vue-router": "^3.4.7",
|
||||
"vue-simple-progress": "^1.1.1",
|
||||
"vuex": "^3.5.1",
|
||||
"vuex-router-sync": "^5.0.0"
|
||||
|
@ -44,7 +44,7 @@
|
|||
"devDependencies": {
|
||||
"@babel/core": "^7.11.6",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.7.4",
|
||||
"@babel/preset-env": "^7.11.5",
|
||||
"@babel/preset-env": "^7.12.1",
|
||||
"@nextcloud/browserslist-config": "^1.0.0",
|
||||
"@nextcloud/eslint-config": "^2.2.0",
|
||||
"@nextcloud/eslint-plugin": "^1.5.0",
|
||||
|
@ -52,7 +52,7 @@
|
|||
"@vue/test-utils": "^1.1.0",
|
||||
"babel-eslint": "^10.1.0",
|
||||
"babel-loader": "^8.0.6",
|
||||
"css-loader": "^3.6.0",
|
||||
"css-loader": "^5.0.0",
|
||||
"eslint": "^6.8.0",
|
||||
"eslint-config-standard": "^14.1.1",
|
||||
"eslint-import-resolver-webpack": "^0.12.2",
|
||||
|
@ -62,13 +62,13 @@
|
|||
"eslint-plugin-promise": "^4.1.1",
|
||||
"eslint-plugin-standard": "^4.0.1",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"file-loader": "^6.1.0",
|
||||
"file-loader": "^6.1.1",
|
||||
"node-sass": "^4.14.1",
|
||||
"sass-loader": "^8.0.2",
|
||||
"stylelint": "^13.7.2",
|
||||
"stylelint-config-recommended-scss": "^4.2.0",
|
||||
"stylelint-scss": "^3.18.0",
|
||||
"stylelint-webpack-plugin": "^2.1.0",
|
||||
"stylelint-webpack-plugin": "^2.1.1",
|
||||
"vue-loader": "^15.9.3",
|
||||
"vue-template-compiler": "^2.6.12",
|
||||
"webpack": "^4.44.2",
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0"?>
|
||||
<!--
|
||||
~ Copyright (c) 2020. The Nextcloud Bookmarks contributors.
|
||||
~
|
||||
~ This file is licensed under the Affero General Public License version 3 or later. See the COPYING file.
|
||||
-->
|
||||
|
||||
<psalm
|
||||
totallyTyped="true"
|
||||
errorLevel="5"
|
||||
resolveFromConfigFile="true"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xmlns="https://getpsalm.org/schema/config"
|
||||
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
|
||||
errorBaseline="tests/psalm-baseline.xml"
|
||||
>
|
||||
<projectFiles>
|
||||
<directory name="lib" />
|
||||
<ignoreFiles>
|
||||
<directory name="vendor" />
|
||||
</ignoreFiles>
|
||||
</projectFiles>
|
||||
<extraFiles>
|
||||
<directory name="vendor" />
|
||||
<ignoreFiles>
|
||||
<directory name="vendor/phpunit/php-code-coverage" />
|
||||
</ignoreFiles>
|
||||
</extraFiles>
|
||||
<issueHandlers>
|
||||
<UndefinedClass>
|
||||
<errorLevel type="suppress">
|
||||
<referencedClass name="OC" />
|
||||
</errorLevel>
|
||||
</UndefinedClass>
|
||||
<UndefinedDocblockClass>
|
||||
<errorLevel type="suppress">
|
||||
<referencedClass name="Doctrine\DBAL\Schema\Schema" />
|
||||
<referencedClass name="Doctrine\DBAL\Schema\SchemaException" />
|
||||
<referencedClass name="Doctrine\DBAL\Driver\Statement" />
|
||||
<referencedClass name="Doctrine\DBAL\Schema\Table" />
|
||||
</errorLevel>
|
||||
</UndefinedDocblockClass>
|
||||
</issueHandlers>
|
||||
</psalm>
|
|
@ -0,0 +1,161 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<files psalm-version="3.18.2@19aa905f7c3c7350569999a93c40ae91ae4e1626">
|
||||
<file src="lib/BackgroundJobs/CrawlJob.php">
|
||||
<UndefinedClass occurrences="1">
|
||||
<code>TimedJob</code>
|
||||
</UndefinedClass>
|
||||
</file>
|
||||
<file src="lib/Controller/BookmarkController.php">
|
||||
<InvalidArgument occurrences="3">
|
||||
<code>$folder</code>
|
||||
<code>$id</code>
|
||||
<code>$title</code>
|
||||
</InvalidArgument>
|
||||
<InvalidNullableReturnType occurrences="1">
|
||||
<code>int</code>
|
||||
</InvalidNullableReturnType>
|
||||
<InvalidReturnStatement occurrences="1">
|
||||
<code>new NotFoundResponse()</code>
|
||||
</InvalidReturnStatement>
|
||||
<InvalidReturnType occurrences="1">
|
||||
<code>DataDisplayResponse</code>
|
||||
</InvalidReturnType>
|
||||
<NullableReturnStatement occurrences="1">
|
||||
<code>$this->_getRootFolderId()</code>
|
||||
</NullableReturnStatement>
|
||||
</file>
|
||||
<file src="lib/Controller/FoldersController.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>$parent_folder</code>
|
||||
<code>$title</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="lib/Controller/InternalBookmarkController.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>$tags</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="lib/Db/BookmarkMapper.php">
|
||||
<InvalidArgument occurrences="3"/>
|
||||
</file>
|
||||
<file src="lib/Db/PublicFolderMapper.php">
|
||||
<InvalidReturnType occurrences="1">
|
||||
<code>Entity</code>
|
||||
</InvalidReturnType>
|
||||
</file>
|
||||
<file src="lib/Db/TreeMapper.php">
|
||||
<InvalidArgument occurrences="1"/>
|
||||
</file>
|
||||
<file src="lib/Flow/CreateBookmark.php">
|
||||
<UndefinedClass occurrences="2">
|
||||
<code>File</code>
|
||||
<code>View</code>
|
||||
</UndefinedClass>
|
||||
<UndefinedMethod occurrences="2">
|
||||
<code>getSubject</code>
|
||||
<code>getSubject</code>
|
||||
</UndefinedMethod>
|
||||
</file>
|
||||
<file src="lib/Image.php">
|
||||
<UndefinedConstant occurrences="2">
|
||||
<code>JSON_THROW_ON_ERROR</code>
|
||||
<code>JSON_THROW_ON_ERROR</code>
|
||||
</UndefinedConstant>
|
||||
</file>
|
||||
<file src="lib/Migration/DeduplicateSharedFoldersRepairStep.php">
|
||||
<InvalidArgument occurrences="1"/>
|
||||
</file>
|
||||
<file src="lib/Migration/Version000014000Date20181029094721.php">
|
||||
<InvalidArgument occurrences="2">
|
||||
<code>['index' => $qb->createPositionalParameter($i)]</code>
|
||||
<code>['index' => $qb->createPositionalParameter($i)]</code>
|
||||
</InvalidArgument>
|
||||
<TooFewArguments occurrences="2">
|
||||
<code>set</code>
|
||||
<code>set</code>
|
||||
</TooFewArguments>
|
||||
</file>
|
||||
<file src="lib/Migration/Version003000009Date20200505094721.php">
|
||||
<UndefinedClass occurrences="1">
|
||||
<code>Type</code>
|
||||
</UndefinedClass>
|
||||
</file>
|
||||
<file src="lib/Migration/Version003004000Date20200807124721.php">
|
||||
<UndefinedClass occurrences="1">
|
||||
<code>Type</code>
|
||||
</UndefinedClass>
|
||||
</file>
|
||||
<file src="lib/Migration/Version003004000Date20200817124721.php">
|
||||
<UndefinedClass occurrences="1">
|
||||
<code>Type</code>
|
||||
</UndefinedClass>
|
||||
</file>
|
||||
<file src="lib/QueryParameters.php">
|
||||
<NullableReturnStatement occurrences="1">
|
||||
<code>$default</code>
|
||||
</NullableReturnStatement>
|
||||
</file>
|
||||
<file src="lib/Service/BookmarkPreviewer.php">
|
||||
<UndefinedInterfaceMethod occurrences="1">
|
||||
<code>serialize</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="lib/Service/BookmarkService.php">
|
||||
<NullArgument occurrences="1">
|
||||
<code>$id</code>
|
||||
</NullArgument>
|
||||
</file>
|
||||
<file src="lib/Service/BookmarksParser.php">
|
||||
<NullPropertyFetch occurrences="1">
|
||||
<code>$node->attributes->length</code>
|
||||
</NullPropertyFetch>
|
||||
</file>
|
||||
<file src="lib/Service/CrawlService.php">
|
||||
<MissingDependency occurrences="1">
|
||||
<code>IRootFolder</code>
|
||||
</MissingDependency>
|
||||
<UndefinedClass occurrences="1">
|
||||
<code>NoUserException</code>
|
||||
</UndefinedClass>
|
||||
</file>
|
||||
<file src="lib/Service/FileCache.php">
|
||||
<LessSpecificImplementedReturnType occurrences="2">
|
||||
<code>bool|mixed</code>
|
||||
<code>bool|mixed</code>
|
||||
</LessSpecificImplementedReturnType>
|
||||
</file>
|
||||
<file src="lib/Service/FolderService.php">
|
||||
<InvalidReturnStatement occurrences="1">
|
||||
<code>$publicFolder->getId()</code>
|
||||
</InvalidReturnStatement>
|
||||
<InvalidReturnType occurrences="1">
|
||||
<code>string</code>
|
||||
</InvalidReturnType>
|
||||
</file>
|
||||
<file src="lib/Service/HashManager.php">
|
||||
<UndefinedConstant occurrences="2">
|
||||
<code>JSON_THROW_ON_ERROR</code>
|
||||
<code>JSON_THROW_ON_ERROR</code>
|
||||
</UndefinedConstant>
|
||||
</file>
|
||||
<file src="lib/Service/HtmlImporter.php">
|
||||
<InvalidArgument occurrences="1">
|
||||
<code>$index++</code>
|
||||
</InvalidArgument>
|
||||
</file>
|
||||
<file src="lib/Service/LinkExplorer.php">
|
||||
<UndefinedInterfaceMethod occurrences="1">
|
||||
<code>setMinimumImageDimensions</code>
|
||||
</UndefinedInterfaceMethod>
|
||||
</file>
|
||||
<file src="lib/Service/Previewers/ScreeenlyBookmarkPreviewer.php">
|
||||
<UndefinedConstant occurrences="1">
|
||||
<code>JSON_THROW_ON_ERROR</code>
|
||||
</UndefinedConstant>
|
||||
</file>
|
||||
<file src="lib/Service/Previewers/WebshotBookmarkPreviewer.php">
|
||||
<UndefinedConstant occurrences="1">
|
||||
<code>JSON_THROW_ON_ERROR</code>
|
||||
</UndefinedConstant>
|
||||
</file>
|
||||
</files>
|
Loading…
Reference in New Issue