mirror of
https://github.com/wallabag/wallabag.git
synced 2025-12-24 04:37:35 +01:00
Compare commits
1 Commits
remove-dup
...
feature/rs
| Author | SHA1 | Date | |
|---|---|---|---|
| 42c4ad0f93 |
9
.babelrc
9
.babelrc
@ -1,10 +1,5 @@
|
||||
{
|
||||
"presets": [
|
||||
[
|
||||
"@babel/preset-env",
|
||||
{
|
||||
"modules": false
|
||||
}
|
||||
"presets": [
|
||||
["env", {"modules": false}]
|
||||
]
|
||||
]
|
||||
}
|
||||
|
||||
@ -15,6 +15,3 @@ indent_size = 2
|
||||
|
||||
[*akefile]
|
||||
indent_style = tab
|
||||
|
||||
[.github/**.yml]
|
||||
indent_size = 2
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
{
|
||||
"extends": "airbnb-base",
|
||||
"parser": "@babel/eslint-parser",
|
||||
"parser": "babel-eslint",
|
||||
"env": {
|
||||
"browser": true,
|
||||
"es6": true
|
||||
|
||||
7
.gitattributes
vendored
7
.gitattributes
vendored
@ -1,7 +0,0 @@
|
||||
/.editorconfig export-ignore
|
||||
/.gitattributes export-ignore
|
||||
/.github export-ignore
|
||||
/.gitignore export-ignore
|
||||
/phpstan.neon export-ignore
|
||||
/phpunit.xml.dist export-ignore
|
||||
/tests export-ignore
|
||||
26
.github/CONTRIBUTING.md
vendored
26
.github/CONTRIBUTING.md
vendored
@ -6,15 +6,11 @@
|
||||
|
||||
- Clone the repository
|
||||
- Ensure your Docker daemon is running
|
||||
- Copy `docker/php/env.example` to `docker/php/env` and customize
|
||||
- Launch `docker-compose run --rm php composer install` to bootstrap php dependencies
|
||||
- Launch `docker-compose run --rm php bin/console wallabag:install` to bootstrap your installation
|
||||
- Launch `docker-compose run --rm php yarn install` to bootstrap dependencies for the frontend
|
||||
- Launch `docker-compose run --rm php yarn build:dev` to build assets for the frontend
|
||||
- Launch `docker-compose up -d` to start the stack
|
||||
- Launch `docker-compose up`
|
||||
|
||||
You'll then have:
|
||||
- a PHP daemon with standalone web server
|
||||
- a web server (nginx)
|
||||
- a PHP daemon (using FPM)
|
||||
- a Redis database (to handle imports)
|
||||
- a SQLite database to store articles
|
||||
|
||||
@ -24,7 +20,7 @@ If you want to test using an other database than SQLite, uncomment the `postgres
|
||||
|
||||
### Using your own PHP server
|
||||
|
||||
- Ensure you are running PHP >= 7.4.
|
||||
- Ensure you are running PHP > 7.1.
|
||||
- Clone the repository
|
||||
- Launch `composer install`
|
||||
- If you got some errors, fix them (they might be related to some missing PHP extension from your machine)
|
||||
@ -45,17 +41,3 @@ Note : If you have large portions of text, use [Github's Gist service](https://g
|
||||
|
||||
## You want to fix a bug or to add a feature
|
||||
Please fork wallabag and work with **the master branch**.
|
||||
|
||||
## Run Tests and PHP formatter
|
||||
|
||||
All pull requests need to pass the tests and the code needs match the style guide.
|
||||
|
||||
To run the tests locally run:
|
||||
|
||||
- when testing using Docker: `docker-compose run --rm php make test`
|
||||
- otherwise: `make test`
|
||||
|
||||
To run the PHP formatter:
|
||||
|
||||
- when testing using Docker: `docker-compose run --rm php bin/php-cs-fixer fix`
|
||||
- otherwise: `php bin/php-cs-fixer fix`
|
||||
|
||||
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
21
.github/ISSUE_TEMPLATE.md
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
:warning: If your issue is about an error during fetching a link, please read: http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that
|
||||
|
||||
### Issue details
|
||||
|
||||
Please provide issue details here.
|
||||
Remember, this is _not_ a place to ask questions. For that, go to https://community.wallabag.org/ (forum) or http://gitter.im/wallabag/wallabag (chat).
|
||||
|
||||
### Environment
|
||||
|
||||
* wallabag version (or git revision) that exhibits the issue:
|
||||
* How did you install wallabag? Via `git clone` or by downloading the package?
|
||||
* Last wallabag version that did not exhibit the issue (if applicable):
|
||||
* php version:
|
||||
* OS:
|
||||
* type of hosting (shared or dedicated):
|
||||
* which storage system you choose at install (SQLite, MySQL/MariaDB or PostgreSQL):
|
||||
|
||||
### Steps to reproduce/test case
|
||||
|
||||
Please provide necessary steps for reproduction of this issue, or better the
|
||||
reduced test case (without any external dependencies, if possible).
|
||||
30
.github/ISSUE_TEMPLATE/1-fetching-content.md
vendored
30
.github/ISSUE_TEMPLATE/1-fetching-content.md
vendored
@ -1,30 +0,0 @@
|
||||
---
|
||||
name: Fetching content
|
||||
about: If wallabag can't extract content for an URL
|
||||
title: Wrong display in wallabag (HOST)
|
||||
labels: Site Config
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Thank you for reporting a fetching issue.
|
||||
|
||||
Please fill in as much of the template below as you're able.
|
||||
-->
|
||||
|
||||
**Before submitting the issue, please read:**
|
||||
If wallabag can't parse / extract content for a given link, please first read the documentation about it:
|
||||
http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that
|
||||
|
||||
We have a lot of requests about fetching config issue. It'll help us A LOT if you give a try to fix it on your own following the doc.
|
||||
If you failed to fix it yourself, tick the following boxes:
|
||||
- [ ] I've tried myself without success
|
||||
- [ ] I've replaced `HOST` in the issue title with the host of the URL that can't be fetched (ie: `nytimes.com`, `20minutes.fr`, `bbc.com`, etc.)
|
||||
|
||||
**Content related:**
|
||||
- URL: [full url of the content]
|
||||
- wallabag version: [e.g. 2.4.0]
|
||||
|
||||
**Describe what's wrong:**
|
||||
A clear and concise description of what you expected to happen.
|
||||
43
.github/ISSUE_TEMPLATE/2-bug-report.md
vendored
43
.github/ISSUE_TEMPLATE/2-bug-report.md
vendored
@ -1,43 +0,0 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Thank you for reporting an issue.
|
||||
|
||||
Please fill in as much of the template below as you're able.
|
||||
|
||||
Version: if you know it, otherwise use the git revision
|
||||
Installation: How did you install wallabag? Using git clone, the docker image, an installer, downloading the package, etc.
|
||||
PHP version: The version of PHP you are using
|
||||
OS: The host running wallabag
|
||||
Database: The storage system your instance is using (SQLite, MySQL/MariaDB or PostgreSQL) with the version
|
||||
Parameters: Paste the content of your app/config/parameters.yml (hide sensitive stuff if you want)
|
||||
-->
|
||||
### Environment
|
||||
|
||||
* **Version**:
|
||||
* **Installation**:
|
||||
* **PHP version**:
|
||||
* **OS**:
|
||||
* **Database**:
|
||||
* **Parameters**:
|
||||
|
||||
<details>
|
||||
<summary>My <code>app/config/parameters.yml</code> is:</summary>
|
||||
|
||||
```
|
||||
PASTE HERE
|
||||
```
|
||||
</details>
|
||||
|
||||
### What steps will reproduce the bug?
|
||||
|
||||
<!--
|
||||
Enter details about your bug and how to reproduce it
|
||||
-->
|
||||
26
.github/ISSUE_TEMPLATE/3-feature-request.md
vendored
26
.github/ISSUE_TEMPLATE/3-feature-request.md
vendored
@ -1,26 +0,0 @@
|
||||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: Feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
<!--
|
||||
Thank you for suggesting an idea to make wallabag better.
|
||||
|
||||
Please fill in as much of the template below as you're able.
|
||||
-->
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
||||
5
.github/ISSUE_TEMPLATE/config.yml
vendored
5
.github/ISSUE_TEMPLATE/config.yml
vendored
@ -1,5 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Want to ask something?
|
||||
url: https://gitter.im/wallabag/wallabag
|
||||
about: Use Gitter to ask questions.
|
||||
35
.github/dependabot.yml
vendored
35
.github/dependabot.yml
vendored
@ -1,35 +0,0 @@
|
||||
version: 2
|
||||
updates:
|
||||
- package-ecosystem: npm
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
time: "04:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
ignore:
|
||||
- dependency-name: materialize-css
|
||||
versions:
|
||||
- "> 0.98.2"
|
||||
- package-ecosystem: composer
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: daily
|
||||
time: "04:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
reviewers:
|
||||
- j0k3r
|
||||
- tcitworld
|
||||
- Kdecherf
|
||||
ignore:
|
||||
- dependency-name: lcobucci/jwt
|
||||
versions:
|
||||
- ">= 4.2.0"
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
time: "04:00"
|
||||
timezone: Europe/Paris
|
||||
open-pull-requests-limit: 10
|
||||
BIN
.github/images/screenshot.png
vendored
BIN
.github/images/screenshot.png
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 837 KiB |
7
.github/release.yml
vendored
7
.github/release.yml
vendored
@ -1,7 +0,0 @@
|
||||
changelog:
|
||||
exclude:
|
||||
labels:
|
||||
- Dependencies
|
||||
authors:
|
||||
- dependabot
|
||||
- weblate
|
||||
44
.github/workflows/assets.yml
vendored
44
.github/workflows/assets.yml
vendored
@ -1,44 +0,0 @@
|
||||
name: "Assets"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 2.*
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
js:
|
||||
name: "Building assets"
|
||||
runs-on: "ubuntu-20.04"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v3"
|
||||
|
||||
- name: "Install Node"
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "16"
|
||||
|
||||
- name: "Install dependencies with Yarn"
|
||||
run: "yarn install"
|
||||
|
||||
- name: "Build dev assets"
|
||||
run: "yarn run build:dev"
|
||||
|
||||
- name: "Build prod assets"
|
||||
run: "yarn run build:prod"
|
||||
|
||||
- name: "Validate no change were created"
|
||||
run: |
|
||||
GITDIFF=`git diff`
|
||||
if [ "$GITDIFF" == "" ]; then
|
||||
exit 0
|
||||
else
|
||||
git diff
|
||||
exit 1
|
||||
fi
|
||||
54
.github/workflows/coding-standards.yml
vendored
54
.github/workflows/coding-standards.yml
vendored
@ -1,54 +0,0 @@
|
||||
name: "CS"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 2.*
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
coding-standards:
|
||||
name: "CS Fixer, PHPStan & TwigCS"
|
||||
runs-on: "ubuntu-20.04"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v3"
|
||||
|
||||
- name: "Install PHP"
|
||||
uses: "shivammathur/setup-php@v2"
|
||||
with:
|
||||
coverage: "none"
|
||||
php-version: "7.4"
|
||||
tools: cs2pr, pecl
|
||||
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
||||
ini-values: "date.timezone=Europe/Paris"
|
||||
env:
|
||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: "Install dependencies with Composer"
|
||||
uses: "ramsey/composer-install@v2"
|
||||
with:
|
||||
composer-options: "--optimize-autoloader --prefer-dist"
|
||||
|
||||
- name: "Run PHP CS Fixer"
|
||||
run: "bin/php-cs-fixer fix --verbose --dry-run --format=checkstyle | cs2pr"
|
||||
|
||||
- name: "Generate test cache for PHPStan"
|
||||
run: "php bin/console cache:clear --env=test"
|
||||
|
||||
- name: "Install PHPUnit for PHPStan"
|
||||
run: "php bin/simple-phpunit install"
|
||||
|
||||
- name: "Run PHPStan"
|
||||
run: "php bin/phpstan analyse --no-progress --error-format=checkstyle | cs2pr"
|
||||
|
||||
- name: "Run TwigCS"
|
||||
run: "php bin/twigcs --severity=error --display=blocking --reporter checkstyle app/ src/ | cs2pr"
|
||||
|
||||
- name: "Run ergebnis/composer-normalize"
|
||||
run: "composer normalize --dry-run --no-check-lock"
|
||||
153
.github/workflows/continuous-integration.yml
vendored
153
.github/workflows/continuous-integration.yml
vendored
@ -1,153 +0,0 @@
|
||||
name: "CI"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 2.*
|
||||
|
||||
env:
|
||||
PGPASSWORD: wallabagrocks
|
||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
jobs:
|
||||
phpunit:
|
||||
name: "PHP ${{ matrix.php }} using ${{ matrix.database }}"
|
||||
runs-on: "ubuntu-20.04"
|
||||
services:
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-alpine
|
||||
ports:
|
||||
- 5672:5672
|
||||
redis:
|
||||
image: redis:6-alpine
|
||||
ports:
|
||||
- 6379:6379
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
php:
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
- "8.1"
|
||||
- "8.2"
|
||||
database:
|
||||
- "sqlite"
|
||||
- "mysql"
|
||||
- "pgsql"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v3"
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: "Install PHP"
|
||||
uses: "shivammathur/setup-php@v2"
|
||||
with:
|
||||
php-version: "${{ matrix.php }}"
|
||||
coverage: none
|
||||
tools: pecl
|
||||
extensions: json, pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
||||
ini-values: "date.timezone=Europe/Paris"
|
||||
|
||||
- name: "Setup MySQL"
|
||||
if: "${{ matrix.database == 'mysql' }}"
|
||||
run: |
|
||||
sudo systemctl start mysql.service
|
||||
sudo mysql -u root -proot -h 127.0.0.1 -e "CREATE DATABASE wallabag_test"
|
||||
|
||||
- name: "Setup PostgreSQL"
|
||||
if: "${{ matrix.database == 'pgsql' }}"
|
||||
run: |
|
||||
sudo systemctl start postgresql
|
||||
sudo -u postgres psql -d template1 -c "CREATE USER wallabag WITH PASSWORD 'wallabagrocks' CREATEDB"
|
||||
createdb -h localhost -p 5432 -U wallabag wallabag_test
|
||||
pg_isready -d wallabag_test -h localhost -p 5432 -U wallabag
|
||||
|
||||
- name: "Install dependencies with Composer"
|
||||
uses: "ramsey/composer-install@v2"
|
||||
with:
|
||||
composer-options: "--optimize-autoloader --prefer-dist"
|
||||
|
||||
- name: "Prepare database"
|
||||
run: "make prepare DB=${{ matrix.database }}"
|
||||
|
||||
- name: "Prepare fixtures"
|
||||
run: "make fixtures"
|
||||
|
||||
- name: "Run PHPUnit"
|
||||
run: "php bin/simple-phpunit -v"
|
||||
|
||||
phpunit_no_prefix:
|
||||
name: "PHP ${{ matrix.php }} using ${{ matrix.database }} without prefix"
|
||||
runs-on: "ubuntu-20.04"
|
||||
services:
|
||||
rabbitmq:
|
||||
image: rabbitmq:3-alpine
|
||||
ports:
|
||||
- 5672:5672
|
||||
redis:
|
||||
image: redis:6-alpine
|
||||
ports:
|
||||
- 6379:6379
|
||||
|
||||
strategy:
|
||||
fail-fast: true
|
||||
matrix:
|
||||
php:
|
||||
- "8.2"
|
||||
database:
|
||||
- "sqlite"
|
||||
- "mysql"
|
||||
- "pgsql"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v3"
|
||||
with:
|
||||
fetch-depth: 2
|
||||
|
||||
- name: "Install PHP"
|
||||
uses: "shivammathur/setup-php@v2"
|
||||
with:
|
||||
php-version: "${{ matrix.php }}"
|
||||
coverage: none
|
||||
tools: pecl
|
||||
extensions: json, pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
||||
ini-values: "date.timezone=Europe/Paris"
|
||||
|
||||
- name: "Remove database prefix"
|
||||
run: |
|
||||
pip install --user yq
|
||||
yq -Y --in-place '.parameters.database_table_prefix = ""' app/config/parameters.yml.dist
|
||||
|
||||
- name: "Setup MySQL"
|
||||
if: "${{ matrix.database == 'mysql' }}"
|
||||
run: |
|
||||
sudo systemctl start mysql.service
|
||||
sudo mysql -u root -proot -h 127.0.0.1 -e "CREATE DATABASE wallabag_test"
|
||||
|
||||
- name: "Setup PostgreSQL"
|
||||
if: "${{ matrix.database == 'pgsql' }}"
|
||||
run: |
|
||||
sudo systemctl start postgresql
|
||||
sudo -u postgres psql -d template1 -c "CREATE USER wallabag WITH PASSWORD 'wallabagrocks' CREATEDB"
|
||||
createdb -h localhost -p 5432 -U wallabag wallabag_test
|
||||
pg_isready -d wallabag_test -h localhost -p 5432 -U wallabag
|
||||
|
||||
- name: "Install dependencies with Composer"
|
||||
uses: "ramsey/composer-install@v2"
|
||||
with:
|
||||
composer-options: "--optimize-autoloader --prefer-dist"
|
||||
|
||||
- name: "Prepare database"
|
||||
run: "make prepare DB=${{ matrix.database }}"
|
||||
|
||||
- name: "Prepare fixtures"
|
||||
run: "make fixtures"
|
||||
|
||||
- name: "Run PHPUnit"
|
||||
run: "php bin/simple-phpunit -v"
|
||||
25
.github/workflows/dependabot-automerge-js.yml
vendored
25
.github/workflows/dependabot-automerge-js.yml
vendored
@ -1,25 +0,0 @@
|
||||
name: Auto-merge Dependabot JS
|
||||
on: pull_request_target
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
dependabot:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
uses: dependabot/fetch-metadata@v1.6.0
|
||||
with:
|
||||
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
- name: Approve and merge minor updates
|
||||
if: ${{ steps.metadata.outputs.package-ecosystem == 'npm_and_yarn' && (steps.metadata.outputs.update-type == 'version-update:semver-minor' || steps.metadata.outputs.update-type == 'version-update:semver-patch') }}
|
||||
run: |
|
||||
gh pr review --approve "$PR_URL"
|
||||
gh pr merge --auto --merge "$PR_URL"
|
||||
env:
|
||||
PR_URL: ${{ github.event.pull_request.html_url }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
44
.github/workflows/translations.yml
vendored
44
.github/workflows/translations.yml
vendored
@ -1,44 +0,0 @@
|
||||
name: "Translations"
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- 2.*
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
translations:
|
||||
name: "Translations"
|
||||
runs-on: "ubuntu-20.04"
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
php:
|
||||
- "7.4"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v3"
|
||||
|
||||
- name: "Install PHP"
|
||||
uses: "shivammathur/setup-php@v2"
|
||||
with:
|
||||
coverage: "none"
|
||||
php-version: "${{ matrix.php }}"
|
||||
tools: pecl
|
||||
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
||||
ini-values: "date.timezone=Europe/Paris"
|
||||
env:
|
||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: "Install dependencies with Composer"
|
||||
uses: "ramsey/composer-install@v2"
|
||||
with:
|
||||
composer-options: "--optimize-autoloader --prefer-dist"
|
||||
|
||||
- name: "Validate translations"
|
||||
run: "php bin/console lint:yaml translations -v"
|
||||
39
.github/workflows/upload-release-package.yml
vendored
39
.github/workflows/upload-release-package.yml
vendored
@ -1,39 +0,0 @@
|
||||
name: "Upload release package"
|
||||
|
||||
on:
|
||||
release:
|
||||
types:
|
||||
- created
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
php:
|
||||
- "7.4"
|
||||
|
||||
steps:
|
||||
- name: "Checkout"
|
||||
uses: "actions/checkout@v3"
|
||||
|
||||
- name: "Install PHP"
|
||||
uses: "shivammathur/setup-php@v2"
|
||||
with:
|
||||
coverage: "none"
|
||||
php-version: "${{ matrix.php }}"
|
||||
tools: pecl, composer:2.2
|
||||
extensions: pdo, pdo_mysql, pdo_sqlite, pdo_pgsql, curl, imagick, pgsql, gd, tidy
|
||||
ini-values: "date.timezone=Europe/Paris"
|
||||
env:
|
||||
COMPOSER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Create the package
|
||||
run: make release VERSION=${{ github.event.release.tag_name }}
|
||||
|
||||
- name: Upload the package to the release
|
||||
uses: shogo82148/actions-upload-release-asset@v1
|
||||
with:
|
||||
upload_url: ${{ github.event.release.upload_url }}
|
||||
asset_path: /tmp/wllbg-release/wallabag-${{ github.event.release.tag_name }}.tar.gz
|
||||
14
.gitignore
vendored
14
.gitignore
vendored
@ -9,12 +9,11 @@
|
||||
!/var/sessions
|
||||
/var/sessions/*
|
||||
!var/sessions/.gitkeep
|
||||
!var/SymfonyRequirements.php
|
||||
/bin/*
|
||||
!/bin/console
|
||||
.php-cs-fixer.php
|
||||
.php-cs-fixer.cache
|
||||
.phpunit.result.cache
|
||||
phpunit.xml
|
||||
!/bin/symfony_requirements
|
||||
.php_cs.cache
|
||||
|
||||
# Parameters
|
||||
/app/config/parameters.yml
|
||||
@ -35,15 +34,16 @@ web/uploads/
|
||||
/build
|
||||
/coverage
|
||||
|
||||
# Development
|
||||
docker/php/env
|
||||
|
||||
# Composer PHAR
|
||||
/composer.phar
|
||||
|
||||
# Data for wallabag
|
||||
data/db/wallabag*.sqlite
|
||||
|
||||
# Docker container logs and data
|
||||
docker/logs/
|
||||
docker/data/
|
||||
|
||||
# assets stuff
|
||||
node_modules/
|
||||
bin
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
<?php
|
||||
|
||||
$config = new PhpCsFixer\Config();
|
||||
return $config
|
||||
return PhpCsFixer\Config::create()
|
||||
->setRiskyAllowed(true)
|
||||
->setRules([
|
||||
'@Symfony' => true,
|
||||
@ -11,18 +10,16 @@ return $config
|
||||
],
|
||||
'combine_consecutive_unsets' => true,
|
||||
'heredoc_to_nowdoc' => true,
|
||||
'no_extra_blank_lines' => [
|
||||
'tokens' => [
|
||||
'break',
|
||||
'continue',
|
||||
'extra',
|
||||
'return',
|
||||
'throw',
|
||||
'use',
|
||||
'parenthesis_brace_block',
|
||||
'square_brace_block',
|
||||
'curly_brace_block'
|
||||
],
|
||||
'no_extra_consecutive_blank_lines' => [
|
||||
'break',
|
||||
'continue',
|
||||
'extra',
|
||||
'return',
|
||||
'throw',
|
||||
'use',
|
||||
'parenthesis_brace_block',
|
||||
'square_brace_block',
|
||||
'curly_brace_block'
|
||||
],
|
||||
'no_unreachable_default_argument_value' => true,
|
||||
'no_useless_else' => true,
|
||||
@ -31,7 +28,7 @@ return $config
|
||||
'ordered_imports' => true,
|
||||
'php_unit_strict' => true,
|
||||
'phpdoc_order' => true,
|
||||
// 'psr_autoloading' => true,
|
||||
// 'psr4' => true,
|
||||
'strict_comparison' => true,
|
||||
'strict_param' => true,
|
||||
'concat_space' => [
|
||||
@ -41,12 +38,10 @@ return $config
|
||||
->setFinder(
|
||||
PhpCsFixer\Finder::create()
|
||||
->exclude([
|
||||
'node_modules',
|
||||
'vendor',
|
||||
'var',
|
||||
'web'
|
||||
])
|
||||
->in(__DIR__)
|
||||
)
|
||||
->setCacheFile('.php-cs-fixer.cache')
|
||||
;
|
||||
43
.scrutinizer.yml
Normal file
43
.scrutinizer.yml
Normal file
@ -0,0 +1,43 @@
|
||||
filter:
|
||||
paths:
|
||||
- src/*
|
||||
excluded_paths:
|
||||
- 'vendor/*'
|
||||
- 'app/*'
|
||||
- 'var/*'
|
||||
- 'web/*'
|
||||
- 'src/Wallabag/*Bundle/Tests/*'
|
||||
- '*Test.php'
|
||||
|
||||
tools:
|
||||
php_cs_fixer: true
|
||||
php_analyzer: true
|
||||
php_mess_detector: true
|
||||
php_changetracking: true
|
||||
php_code_sniffer: true
|
||||
php_pdepend: true
|
||||
sensiolabs_security_checker: true
|
||||
#external_code_coverage:
|
||||
# timeout: 3600
|
||||
php_code_coverage: true
|
||||
php_sim: false
|
||||
php_cpd: false
|
||||
|
||||
checks:
|
||||
php:
|
||||
code_rating: true
|
||||
|
||||
# use the new PHP analysis engine
|
||||
# https://scrutinizer-ci.com/docs/tools/php/php-analyzer/guides/migrate_to_new_php_analysis
|
||||
build:
|
||||
nodes:
|
||||
analysis:
|
||||
tests:
|
||||
override:
|
||||
- php-scrutinizer-run
|
||||
|
||||
dependencies:
|
||||
override:
|
||||
- npm install -g 'yarn'
|
||||
- yarn install --force
|
||||
- COMPOSER_MEMORY_LIMIT=-1 composer install -o --no-interaction --no-progress --prefer-dist
|
||||
3
.stylelintrc
Normal file
3
.stylelintrc
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "stylelint-config-standard"
|
||||
}
|
||||
79
.travis.yml
Normal file
79
.travis.yml
Normal file
@ -0,0 +1,79 @@
|
||||
os: linux
|
||||
dist: xenial
|
||||
language: php
|
||||
|
||||
services:
|
||||
- mysql
|
||||
- postgresql
|
||||
- rabbitmq
|
||||
- redis
|
||||
|
||||
# cache vendor dirs
|
||||
cache:
|
||||
apt: true
|
||||
directories:
|
||||
- $HOME/.composer/cache/files
|
||||
- node_modules
|
||||
- $HOME/.npm
|
||||
- $HOME/.yarn-cache
|
||||
|
||||
if: |
|
||||
type = pull_request OR \
|
||||
branch = master
|
||||
|
||||
php:
|
||||
- 7.1
|
||||
- 7.2
|
||||
- 7.3
|
||||
- 7.4
|
||||
|
||||
node_js:
|
||||
- "5"
|
||||
|
||||
env:
|
||||
- DB=mysql
|
||||
- DB=pgsql
|
||||
- DB=sqlite
|
||||
|
||||
jobs:
|
||||
fast_finish: true
|
||||
include:
|
||||
- php: 7.3
|
||||
env: CS_FIXER=run VALIDATE_TRANSLATION_FILE=run ASSETS=build DB=sqlite
|
||||
|
||||
# exclude v1 branches
|
||||
branches:
|
||||
except:
|
||||
- legacy
|
||||
|
||||
before_install:
|
||||
- if [[ $TRAVIS_REPO_SLUG = wallabag/wallabag ]]; then cp .composer-auth.json ~/.composer/auth.json; fi;
|
||||
- PHP=$TRAVIS_PHP_VERSION
|
||||
- echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
|
||||
- phpenv config-rm xdebug.ini || echo "xdebug not available"
|
||||
- composer self-update --no-progress
|
||||
# install imagick
|
||||
- pear config-set preferred_state beta
|
||||
- pecl channel-update pecl.php.net
|
||||
- yes | pecl install imagick
|
||||
|
||||
install:
|
||||
- if [[ $ASSETS = build ]]; then source ~/.nvm/nvm.sh && nvm install 6.10; fi;
|
||||
- if [[ $ASSETS = build ]]; then npm install -g yarn@latest; fi;
|
||||
- if [[ $ASSETS = build ]]; then yarn install; fi;
|
||||
- composer install -o --no-interaction --no-progress --prefer-dist --no-suggest
|
||||
- php bin/simple-phpunit install
|
||||
|
||||
before_script:
|
||||
- make prepare DB=$DB
|
||||
- make fixtures
|
||||
|
||||
script:
|
||||
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then ./bin/simple-phpunit -v ; fi;
|
||||
# PHPStan needs PHPUnit to be installed and cache app to be generated
|
||||
- if [[ $VALIDATE_TRANSLATION_FILE = '' ]]; then php bin/phpstan analyse src tests --no-progress --level 1 ; fi;
|
||||
- if [[ $CS_FIXER = run ]]; then php bin/php-cs-fixer fix --verbose --dry-run ; fi;
|
||||
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/CoreBundle/Resources/translations -v ; fi;
|
||||
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml app/Resources/CraueConfigBundle/translations -v ; fi;
|
||||
- if [[ $VALIDATE_TRANSLATION_FILE = run ]]; then php bin/console lint:yaml src/Wallabag/UserBundle/Resources/translations -v ; fi;
|
||||
- if [[ $ASSETS = build ]]; then yarn run build:prod; fi;
|
||||
371
CHANGELOG.md
371
CHANGELOG.md
@ -1,376 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## [2.6.2](https://github.com/wallabag/wallabag/tree/2.6.2)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.6.1...2.6.2)
|
||||
|
||||
### Fixes
|
||||
* Fix mass action input on dark theme by @simounet https://github.com/wallabag/wallabag/pull/6673
|
||||
* Fix undefined variable by @nicosomb https://github.com/wallabag/wallabag/pull/6672
|
||||
* Fix table name in migration by @nicosomb https://github.com/wallabag/wallabag/pull/6653
|
||||
|
||||
### Technical stuff
|
||||
* Add a new build to test when no database table prefix are defined by @j0k3r https://github.com/wallabag/wallabag/pull/6731
|
||||
* Keep escaped table name while migrating by @Glandos https://github.com/wallabag/wallabag/pull/6710
|
||||
* Remove twofactor_auth parameter by @nicosomb https://github.com/wallabag/wallabag/pull/6723
|
||||
* ApiDoc: Add response description to UserRestController by @caspermeijn https://github.com/wallabag/wallabag/pull/6684
|
||||
* ApiDoc: Add response description to WallabagRestController by @caspermeijn https://github.com/wallabag/wallabag/pull/6102
|
||||
* Skip migration if the table was already renamed by @gramakri https://github.com/wallabag/wallabag/pull/6678
|
||||
|
||||
### Meta
|
||||
* Document how to run tests and formatter for new contributors by @caspermeijn https://github.com/wallabag/wallabag/pull/6685
|
||||
* Add link to wallabag ecosystem resources by @nicosomb https://github.com/wallabag/wallabag/pull/6700
|
||||
|
||||
## [2.6.1](https://github.com/wallabag/wallabag/tree/2.6.1)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.6.0...2.6.1)
|
||||
|
||||
### Fixes
|
||||
* Do not autoload fixtures by @j0k3r https://github.com/wallabag/wallabag/pull/6648
|
||||
* Add confirmation alert when deleting articles from list view by @nicosomb https://github.com/wallabag/wallabag/pull/6644
|
||||
|
||||
## [2.6.0](https://github.com/wallabag/wallabag/tree/2.6.0)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.4...2.6.0)
|
||||
|
||||
### Features
|
||||
* Add tag deletion from tags list by @nicosomb https://github.com/wallabag/wallabag/pull/5861
|
||||
* Add support of mass action to tag entries by @kdecherf https://github.com/wallabag/wallabag/pull/5838
|
||||
* Mass action interface by @Simounet https://github.com/wallabag/wallabag/pull/6547
|
||||
* Empty space on the top bar used for more add url toggle clickable target by @Simounet https://github.com/wallabag/wallabag/pull/6612
|
||||
* Add new setting to show / hide articles thumbnails by @nicosomb https://github.com/wallabag/wallabag/pull/6609
|
||||
|
||||
### Fixes
|
||||
* Add prefix for tag slugs by @kdecherf https://github.com/wallabag/wallabag/pull/6226
|
||||
* Fix open all external links in new tab in Config by @wyntonfranklin https://github.com/wallabag/wallabag/pull/6256
|
||||
* Fix dark theme for pre HTML tags by @Simounet https://github.com/wallabag/wallabag/pull/6495
|
||||
* Fix dark mode top bar contrast by @Simounet https://github.com/wallabag/wallabag/pull/6510
|
||||
* Dark mode contrast improved by @Simounet https://github.com/wallabag/wallabag/pull/6512
|
||||
* Fix dark mode URL add input color by @Simounet https://github.com/wallabag/wallabag/pull/6525
|
||||
* Fix round reading time in export by @mart-e https://github.com/wallabag/wallabag/pull/6545
|
||||
* Fix images downloading with numeric HTML entity by @Simounet https://github.com/wallabag/wallabag/pull/6563
|
||||
* Fix DownloadImages not following redirections by @Simounet https://github.com/wallabag/wallabag/pull/6562
|
||||
* Fix auto dark theme detection flickering by @Simounet https://github.com/wallabag/wallabag/pull/6584
|
||||
* Fix RSS feed_route not set by @Simounet https://github.com/wallabag/wallabag/pull/6606
|
||||
* Add flash message when we try to add too much tags by @nicosomb https://github.com/wallabag/wallabag/pull/6607
|
||||
* Changed default value for domain_name parameter by @nicosomb https://github.com/wallabag/wallabag/pull/6616
|
||||
* Improved tags display by @Simounet https://github.com/wallabag/wallabag/pull/6613
|
||||
* Fix mousetrap enter issue by @Simounet https://github.com/wallabag/wallabag/pull/6624
|
||||
* Fix duplicate tags creation when assigning search results to tag by @nicosomb https://github.com/wallabag/wallabag/pull/6629
|
||||
|
||||
### Meta
|
||||
* Removed Carrot & Scuttle share by @nicosomb https://github.com/wallabag/wallabag/pull/6047
|
||||
* Remove old, not so maintained and buggy baggy theme by @nicosomb https://github.com/wallabag/wallabag/pull/4332
|
||||
* Remove Scrutinizer badge by @j0k3r https://github.com/wallabag/wallabag/pull/6179
|
||||
* Add mention to unofficial linux client by @imhemish https://github.com/wallabag/wallabag/pull/6203
|
||||
|
||||
### Technical stuff
|
||||
* Remove SensioDistributionBundle by @yguedidi https://github.com/wallabag/wallabag/pull/5761
|
||||
* Back to latest composer version by @yguedidi https://github.com/wallabag/wallabag/pull/5810
|
||||
* Clean composer.lock after SensioDistributionBundle removal by @yguedidi https://github.com/wallabag/wallabag/pull/5839
|
||||
* Remove transitive dependencies by @yguedidi https://github.com/wallabag/wallabag/pull/5784
|
||||
* Register missed commands by @yguedidi https://github.com/wallabag/wallabag/pull/5928
|
||||
* Extend right FOSRestBundle controller class by @yguedidi https://github.com/wallabag/wallabag/pull/5929
|
||||
* Remove PHP-CS-Fixer deprecations by @yguedidi https://github.com/wallabag/wallabag/pull/5914
|
||||
* Upgrade FOSUserBundle to 2.1 by @yguedidi https://github.com/wallabag/wallabag/pull/5782
|
||||
* Add TwigCS by @yguedidi https://github.com/wallabag/wallabag/pull/5759
|
||||
* Use FQCN as service name by @yguedidi https://github.com/wallabag/wallabag/pull/5748
|
||||
* Migrate to new template reference notation by @yguedidi https://github.com/wallabag/wallabag/pull/5758
|
||||
* Migrate from old colon notation to FQCN by @yguedidi https://github.com/wallabag/wallabag/pull/5943
|
||||
* Use autowiring by @yguedidi https://github.com/wallabag/wallabag/pull/5946
|
||||
* Use FQCN to fetch services by @yguedidi https://github.com/wallabag/wallabag/pull/5951
|
||||
* Run tests without memory limit by @yguedidi https://github.com/wallabag/wallabag/pull/5953
|
||||
* Import used classes by @yguedidi https://github.com/wallabag/wallabag/pull/5952
|
||||
* Rework command tests by @yguedidi https://github.com/wallabag/wallabag/pull/5954
|
||||
* Switch to Swagger for api documentation by @caspermeijn https://github.com/wallabag/wallabag/pull/6062
|
||||
* Remove some deprecation by @j0k3r https://github.com/wallabag/wallabag/pull/6085
|
||||
* Remove deprecated options from FOSRest by @j0k3r https://github.com/wallabag/wallabag/pull/6095
|
||||
* Remove LiipThemeBundle by @j0k3r https://github.com/wallabag/wallabag/pull/6097
|
||||
* Upgrade PHPStan and move to level 2 with baseline by @j0k3r https://github.com/wallabag/wallabag/pull/6098
|
||||
* Upgrade to Symfony 4.4 by @j0k3r https://github.com/wallabag/wallabag/pull/6099
|
||||
* Update to FOSUserBundle 3.1 by @j0k3r https://github.com/wallabag/wallabag/pull/6136
|
||||
* Update to scheb/2fa-bundle by @j0k3r https://github.com/wallabag/wallabag/pull/6144
|
||||
* Upgrade to Twig 3 by @j0k3r https://github.com/wallabag/wallabag/pull/6151
|
||||
* Move translations files to /translations by @j0k3r https://github.com/wallabag/wallabag/pull/6153
|
||||
* Fix EventDispatcher & events by @j0k3r https://github.com/wallabag/wallabag/pull/6154
|
||||
* Replace SwiftMailer by Symfony Mailer by @j0k3r https://github.com/wallabag/wallabag/pull/6150
|
||||
* Remove ContainerAwareCommand from commands by @j0k3r https://github.com/wallabag/wallabag/pull/6152
|
||||
* Update all Doctrine deps by @j0k3r https://github.com/wallabag/wallabag/pull/6143
|
||||
* Update PagerFanta by @j0k3r https://github.com/wallabag/wallabag/pull/6145
|
||||
* Move to controller as a service by @j0k3r https://github.com/wallabag/wallabag/pull/6159
|
||||
* Add RabbitMQConsumerTotalProxy to lazy RabbitMQ services for messages by @j0k3r https://github.com/wallabag/wallabag/pull/6166
|
||||
* Properly handle json_array type removal by @j0k3r https://github.com/wallabag/wallabag/pull/6171
|
||||
* Fix database_path in Docker env by @j0k3r https://github.com/wallabag/wallabag/pull/6174
|
||||
* Docker: database_table_prefix may be configured from environment by @fcatt https://github.com/wallabag/wallabag/pull/6196
|
||||
* Update annotations to OpenApi 3 by @caspermeijn https://github.com/wallabag/wallabag/pull/6182
|
||||
* Fix public folder for Symfony 4+ by @kdecherf https://github.com/wallabag/wallabag/pull/6217
|
||||
* Fix API allowed_registration by @caspermeijn https://github.com/wallabag/wallabag/pull/6315
|
||||
* Enable PHP 8.2 in CI by @j0k3r https://github.com/wallabag/wallabag/pull/6469
|
||||
* Fix/build stylelint error by @Simounet https://github.com/wallabag/wallabag/pull/6586
|
||||
|
||||
## [2.5.4](https://github.com/wallabag/wallabag/tree/2.5.4)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.3...2.5.4)
|
||||
|
||||
### Security fixes
|
||||
* Fix adding tag to entries from other people by @j0k3r in https://github.com/wallabag/wallabag/pull/6290
|
||||
* Fix XSS on username on share page by @j0k3r in https://github.com/wallabag/wallabag/pull/6288
|
||||
* Fix CSRF on user deletion by @j0k3r in https://github.com/wallabag/wallabag/pull/6289
|
||||
|
||||
### Meta
|
||||
* Fix release script by @j0k3r in https://github.com/wallabag/wallabag/pull/6275
|
||||
|
||||
## [2.5.3](https://github.com/wallabag/wallabag/tree/2.5.3)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.2...2.5.3)
|
||||
|
||||
### Security fixes
|
||||
* Fix GHSA-qwx8-mxxx-mg96 https://github.com/wallabag/wallabag/commit/0f7460dbab9e29f4f7d2944aca20210f828b6abb by @Kdecherf, thanks to @bAuh0lz
|
||||
* Fix GHSA-mrqx-mjc4-vfh3 https://github.com/wallabag/wallabag/commit/5ac6b6bff9e2e3a87fd88c2904ff3c6aac40722e by @Kdecherf, thanks to @bAuh0lz
|
||||
|
||||
### Meta
|
||||
* Update deps before 2.5.3 by @j0k3r in https://github.com/wallabag/wallabag/pull/6241
|
||||
|
||||
## [2.5.2](https://github.com/wallabag/wallabag/tree/2.5.2)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.1...2.5.2)
|
||||
|
||||
### Fixes
|
||||
* Add `nbEntries` to the API tags list response by @j0k3r in https://github.com/wallabag/wallabag/pull/5984
|
||||
* Typofixes by @nexxai in https://github.com/wallabag/wallabag/pull/6004
|
||||
* Add `domain_name` to entries api endpoint by @yotamN in https://github.com/wallabag/wallabag/pull/6019
|
||||
* Add support to download SVG locally by @j0k3r in https://github.com/wallabag/wallabag/pull/5992
|
||||
|
||||
### Meta
|
||||
* Automatically create the package after a release by @j0k3r in https://github.com/wallabag/wallabag/pull/5851
|
||||
* Add .gitattributes, exclude tests from archive by @iamvar in https://github.com/wallabag/wallabag/pull/5910
|
||||
* Allow auto merging of Dependabot JS minor or patch by @j0k3r in https://github.com/wallabag/wallabag/pull/6003
|
||||
* Fix random failing tests by @j0k3r in https://github.com/wallabag/wallabag/pull/6013
|
||||
|
||||
## [2.5.1](https://github.com/wallabag/wallabag/tree/2.5.1)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.5.0...2.5.1)
|
||||
|
||||
### Fixes
|
||||
- Jump to Node 16 to build assets by @j0k3r in https://github.com/wallabag/wallabag/pull/5822
|
||||
- Update some deps by @j0k3r in https://github.com/wallabag/wallabag/pull/5834
|
||||
- Fix error about template not found in 2fa form by @j0k3r in https://github.com/wallabag/wallabag/pull/5833
|
||||
- Translations update from Hosted Weblate by @weblate in https://github.com/wallabag/wallabag/pull/5846
|
||||
- material: fix "untagged entries" chip style by @Kdecherf in https://github.com/wallabag/wallabag/pull/5840
|
||||
|
||||
## [2.5.0](https://github.com/wallabag/wallabag/tree/2.5.0)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.4.3...2.5.0)
|
||||
|
||||
### Features
|
||||
|
||||
- Add Delicious import by @j0k3r in https://github.com/wallabag/wallabag/pull/5022
|
||||
- Add route to list entries with annotations by @nicosomb in https://github.com/wallabag/wallabag/pull/4341
|
||||
- Add an option to sort the feed entries by `updated_at` by @agallou in https://github.com/wallabag/wallabag/pull/5659
|
||||
- Add support to download webp image locally by @j0k3r in https://github.com/wallabag/wallabag/pull/5687
|
||||
- Update readme and docker development env by @Kdecherf in https://github.com/wallabag/wallabag/pull/5662
|
||||
- Add action to assign a search as a tag to each result by @nicosomb in https://github.com/wallabag/wallabag/pull/5381
|
||||
- Drop PHP prior to 7.4 by @yguedidi in https://github.com/wallabag/wallabag/pull/5791
|
||||
|
||||
### Deprecated features
|
||||
- Deprecate Baggy theme by @j0k3r in https://github.com/wallabag/wallabag/pull/5742
|
||||
- Deprecate mobi export by @Kdecherf in https://github.com/wallabag/wallabag/pull/5775
|
||||
|
||||
### API
|
||||
|
||||
- Add new endpoint for API: config by @nicosomb in https://github.com/wallabag/wallabag/pull/5673
|
||||
|
||||
### Technical stuff
|
||||
|
||||
- Fix test with `usinenouvelle.com` being flaky these times by @j0k3r in https://github.com/wallabag/wallabag/pull/5686
|
||||
- Replace `iconv()` calls with Transliterator by @Kdecherf in https://github.com/wallabag/wallabag/pull/5680
|
||||
- Composer 2.3 isn't compatible with wallabag by @j0k3r in https://github.com/wallabag/wallabag/pull/5708
|
||||
- CI workaround for PHP < 7.4 & MySQL 8 by @j0k3r in https://github.com/wallabag/wallabag/pull/5729
|
||||
- Set permissions for GitHub actions by @naveensrinivasan in https://github.com/wallabag/wallabag/pull/5732
|
||||
- Included githubactions in the dependabot config by @naveensrinivasan in https://github.com/wallabag/wallabag/pull/5737
|
||||
- Remove bundle inheritance by @yguedidi in https://github.com/wallabag/wallabag/pull/5746
|
||||
- Fix SQLite database location by @yguedidi in https://github.com/wallabag/wallabag/pull/5771
|
||||
- Disable XDebug in test make recipe by @yguedidi in https://github.com/wallabag/wallabag/pull/5770
|
||||
- Exclude local phpunit.xml by @yguedidi in https://github.com/wallabag/wallabag/pull/5757
|
||||
- Upgrade PHP dependencies by @yguedidi in https://github.com/wallabag/wallabag/pull/5778
|
||||
|
||||
### Translations
|
||||
|
||||
- Enabled greek translation by @nicosomb in https://github.com/wallabag/wallabag/pull/5656
|
||||
- Translations update from Hosted Weblate by @weblate see https://github.com/wallabag/wallabag/pulls?q=is%3Apr+author%3Aweblate+milestone%3A2.5.0+is%3Amerged
|
||||
|
||||
### Fixes
|
||||
|
||||
- Fix tagging rule match when user has a custom reading speed by @j0k3r in https://github.com/wallabag/wallabag/pull/5646
|
||||
- Feat/home entries updated by @Simounet in https://github.com/wallabag/wallabag/pull/5664
|
||||
- Fix row and card style regressions by @Simounet in https://github.com/wallabag/wallabag/pull/5676
|
||||
- Fix epub language by @j0k3r in https://github.com/wallabag/wallabag/pull/5647
|
||||
- material: improve mass buttons style, mostly for smartphone screens by @Kdecherf in https://github.com/wallabag/wallabag/pull/5695
|
||||
- Fix composer version in docker dev configuration by @nicosomb in https://github.com/wallabag/wallabag/pull/5715
|
||||
- Use site with subdomain as tagging rule example by @jonas-hagen in https://github.com/wallabag/wallabag/pull/5744
|
||||
- Fix PHP Docker image by @yguedidi in https://github.com/wallabag/wallabag/pull/5772
|
||||
|
||||
## [2.4.3](https://github.com/wallabag/wallabag/tree/2.4.3)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.4.2...2.4.3)
|
||||
|
||||
### Fixes
|
||||
* Tag view: order tags by label @Kdecherf in https://github.com/wallabag/wallabag/pull/5296
|
||||
* Pagination style updated by @Simounet in https://github.com/wallabag/wallabag/pull/5202
|
||||
* Improve performance of REST exists call by @Kdecherf in https://github.com/wallabag/wallabag/pull/5261
|
||||
* Make RSS feed entry links valid and accessible by @hennevogel in https://github.com/wallabag/wallabag/pull/5347
|
||||
* Fixed search on homepage by @nicosomb in https://github.com/wallabag/wallabag/pull/5379
|
||||
* Fixed timeout when assigning tags to entry by @nicosomb in https://github.com/wallabag/wallabag/pull/5156
|
||||
* Fixed reading time in epub/pdf exports by @nicosomb in https://github.com/wallabag/wallabag/pull/5405
|
||||
* Fix dark theme developper page by @Simounet in https://github.com/wallabag/wallabag/pull/5453
|
||||
* Fix dark mode background color for pre tags by @Kdecherf in https://github.com/wallabag/wallabag/pull/5465
|
||||
* Show when articles is read by @nicosomb in https://github.com/wallabag/wallabag/pull/5378
|
||||
* Added random button on article view by @nicosomb in https://github.com/wallabag/wallabag/pull/5380
|
||||
* Fixed wrong number of entries for tag feeds by @christianjunk in https://github.com/wallabag/wallabag/pull/5585
|
||||
* Add support for RTL content by @Monirzadeh in https://github.com/wallabag/wallabag/pull/5599
|
||||
* Avoid overlapping images when downloading them by @j0k3r in https://github.com/wallabag/wallabag/pull/5594
|
||||
|
||||
### Meta
|
||||
* Fix/tests by @Simounet in https://github.com/wallabag/wallabag/pull/5217
|
||||
* dependabot: change schedule to check updates once a month by @Kdecherf in https://github.com/wallabag/wallabag/pull/5260
|
||||
* Update dependencies by @Kdecherf in https://github.com/wallabag/wallabag/pull/5326
|
||||
* Create SECURITY.md by @zidingz in https://github.com/wallabag/wallabag/pull/5406
|
||||
* Add build test on PHP 8.0 & 8.1 by @j0k3r in https://github.com/wallabag/wallabag/pull/5591
|
||||
* Fix Dependabot alerts for `tar` & `json-schema` by @j0k3r in https://github.com/wallabag/wallabag/pull/5541
|
||||
* Change the name of the static package's root directory by @oupala in https://github.com/wallabag/wallabag/pull/5542
|
||||
* Fixed unavailable russian website in test by @nicosomb in https://github.com/wallabag/wallabag/pull/5376
|
||||
* Update deps by @j0k3r in https://github.com/wallabag/wallabag/pull/5540
|
||||
|
||||
### Translations
|
||||
* Translations update from Weblate by @weblate in https://github.com/wallabag/wallabag/pull/5187
|
||||
* Translations update from Weblate by @weblate in https://github.com/wallabag/wallabag/pull/5391
|
||||
* Add Czech language by @marapavelka in https://github.com/wallabag/wallabag/pull/5535
|
||||
* Translations update from Hosted Weblate by @weblate in https://github.com/wallabag/wallabag/pull/5580
|
||||
* Translations update from Hosted Weblate by @weblate in https://github.com/wallabag/wallabag/pull/5581
|
||||
|
||||
## [2.4.2](https://github.com/wallabag/wallabag/tree/2.4.2)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.4.1...2.4.2)
|
||||
|
||||
### Fixes
|
||||
- Fix nav lang filter [#4908](https://github.com/wallabag/wallabag/pull/4908)
|
||||
- Fix accessibility problem with the 2FA QR code [#4915](https://github.com/wallabag/wallabag/pull/4915)
|
||||
- Preselect currently active section in the filter menu [#4972](https://github.com/wallabag/wallabag/pull/4972)
|
||||
- Fix translation of date in the footer using IntlDateFormatter [#4971](https://github.com/wallabag/wallabag/pull/4971)
|
||||
- Update dark theme [#4921](https://github.com/wallabag/wallabag/pull/4921)
|
||||
- Dark theme updated [#4983](https://github.com/wallabag/wallabag/pull/4983)
|
||||
- Fix account dropdown width [#4969](https://github.com/wallabag/wallabag/pull/4969)
|
||||
- Fix auto prefered color scheme [#5071](https://github.com/wallabag/wallabag/pull/5071)
|
||||
- Convert tag label to lowercase in RuleBasedTagger [#5111](https://github.com/wallabag/wallabag/pull/5111)
|
||||
- Fix myreadspeed links [#5113](https://github.com/wallabag/wallabag/pull/5113)
|
||||
- Internal server error while exporting to epub [#5052](https://github.com/wallabag/wallabag/issues/5052)
|
||||
- Error parsing image URL (with scrset) [#4914](https://github.com/wallabag/wallabag/issues/4914)
|
||||
|
||||
## [2.4.1](https://github.com/wallabag/wallabag/tree/2.4.1)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.4.0...2.4.1)
|
||||
|
||||
### Fixes
|
||||
- Fix path icons from manifest.json [#4811](https://github.com/wallabag/wallabag/pull/4811)
|
||||
- Fix missing apple-touch-icon-512.png from manifest.json [#4823](https://github.com/wallabag/wallabag/pull/4823)
|
||||
- migrations: fix mysql migration for an edge case [#4832](https://github.com/wallabag/wallabag/pull/4832)
|
||||
- Add a command to clean downloaded images [#4844](https://github.com/wallabag/wallabag/pull/4844)
|
||||
- Add a query to parse only non-hashed URL [#4865](https://github.com/wallabag/wallabag/pull/4865) [#4878](https://github.com/wallabag/wallabag/pull/4878)
|
||||
- material: fix issue with cookie check for light/dark theme [#4866](https://github.com/wallabag/wallabag/pull/4866)
|
||||
- Show OTP secret next to the QR Code [#4868](https://github.com/wallabag/wallabag/pull/4868)
|
||||
- views: add title to tag li elements, for consistency [#4894](https://github.com/wallabag/wallabag/pull/4894)
|
||||
- Add label and issuer to otp config [#4301](https://github.com/wallabag/wallabag/pull/4301)
|
||||
|
||||
### Meta
|
||||
- Update release process and introduce 2.4.1-dev [#4808](https://github.com/wallabag/wallabag/pull/4808)
|
||||
- Remove community.wallabag.org from the issue template [#4817](https://github.com/wallabag/wallabag/pull/4817)
|
||||
- Update issue templates [#4843](https://github.com/wallabag/wallabag/pull/4843)
|
||||
- Allow GitHub Actions to run on 2.* branches [#4896](https://github.com/wallabag/wallabag/pull/4896)
|
||||
- Prepare 2.4.1 [#4904](https://github.com/wallabag/wallabag/pull/4904)
|
||||
|
||||
## [2.4.0](https://github.com/wallabag/wallabag/tree/2.4.0)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.8...2.4.0)
|
||||
|
||||
### Features
|
||||
|
||||
- Allow to rename tags from the web interface [#3574](https://github.com/wallabag/wallabag/pull/3574)
|
||||
- Added possibility to change locale from login/register pages [#3216](https://github.com/wallabag/wallabag/pull/3216)
|
||||
- Add ability to import/export tagging rules [#4028](https://github.com/wallabag/wallabag/pull/4028)
|
||||
- Add quickstart into the menu [#3992](https://github.com/wallabag/wallabag/pull/3992)
|
||||
- Enable OTP 2FA via third apps (Google Authenticator, Authy or FreeOTP) [#3798](https://github.com/wallabag/wallabag/pull/3798)
|
||||
- Show untagged entries count on tag list [#3993](https://github.com/wallabag/wallabag/pull/3993)
|
||||
- Add random feature [#3526](https://github.com/wallabag/wallabag/pull/3526)
|
||||
- Added ability to revoke feed token [#3994](https://github.com/wallabag/wallabag/pull/3994)
|
||||
- Display login in config / user [#3995](https://github.com/wallabag/wallabag/pull/3995)
|
||||
- Move Ignore Origin rules to database [#4026](https://github.com/wallabag/wallabag/pull/4026)
|
||||
- Add ability to manually define the reading speed [#4053](https://github.com/wallabag/wallabag/pull/4053)
|
||||
- Added MathJax support [#4128](https://github.com/wallabag/wallabag/pull/4128)
|
||||
- Improved tags list [#4136](https://github.com/wallabag/wallabag/pull/4136)
|
||||
- Add untagged list link to filter menu [#4150](https://github.com/wallabag/wallabag/pull/4150)
|
||||
- Allow custom styles system wide [#4151](https://github.com/wallabag/wallabag/pull/4151)
|
||||
- Added elCurator import [#4175](https://github.com/wallabag/wallabag/pull/4175)
|
||||
- Added language support for Simplified Chinese(简体中文)[#4281](https://github.com/wallabag/wallabag/pull/4281)
|
||||
- Added publication date on epub export [#4315](https://github.com/wallabag/wallabag/pull/4315)
|
||||
- Enhanced article display [#4317](https://github.com/wallabag/wallabag/pull/4317)
|
||||
- Added mass actions for Material design in list view [#4326](https://github.com/wallabag/wallabag/pull/4326)
|
||||
- Added a button to disable 2FA when enabled [#4329](https://github.com/wallabag/wallabag/pull/4329)
|
||||
- Enhanced navigation menu in material theme [#4343](https://github.com/wallabag/wallabag/pull/4343)
|
||||
- Copy client info to clipboard [#4058](https://github.com/wallabag/wallabag/pull/4058)
|
||||
- Upgrade Piwik Twig Extension to Matomo [#4363](https://github.com/wallabag/wallabag/pull/4363)
|
||||
- Dark theme to Material [#4725](https://github.com/wallabag/wallabag/pull/4725)
|
||||
|
||||
### API
|
||||
|
||||
- Storage of hash of URL to check if pages already saved [#3158](https://github.com/wallabag/wallabag/pull/3158)
|
||||
- Added a basic search endpoint [#3627](https://github.com/wallabag/wallabag/pull/3627)
|
||||
- Entries: added add parameter detail to exclude or include content in response [#3960](https://github.com/wallabag/wallabag/pull/3960)
|
||||
- Add a new endpoint to retrieve information from the wallabag instance [#3845](https://github.com/wallabag/wallabag/pull/3845)
|
||||
- API return an error with empty quote [#4161](https://github.com/wallabag/wallabag/pull/4161)
|
||||
- Fixed bug when we delete entry via API [#4316](https://github.com/wallabag/wallabag/pull/4316)
|
||||
- Add ability to define lifetime token for the API [#4319](https://github.com/wallabag/wallabag/pull/4319)
|
||||
- Added archived_at property and updateArchived method [#3630](https://github.com/wallabag/wallabag/pull/3630)
|
||||
- Add `given_url` in Entry table to check if a redirected url has already added [#3271](https://github.com/wallabag/wallabag/pull/3271)
|
||||
|
||||
### Technical stuff
|
||||
|
||||
- Added support for secured emails via SMTP [#3596](https://github.com/wallabag/wallabag/pull/3596)
|
||||
- Changed RSS to Atom feed and improve paging [#3223](https://github.com/wallabag/wallabag/pull/3223)
|
||||
- MySQL: change collation of tag label [#3959](https://github.com/wallabag/wallabag/pull/3959)
|
||||
- Use httplug and graby 2.0 [#3390](https://github.com/wallabag/wallabag/pull/3390)
|
||||
- Use Imagick to keep GIF animation [#3955](https://github.com/wallabag/wallabag/pull/3955)
|
||||
- Jump to Symfony 3.4 [#3731](https://github.com/wallabag/wallabag/pull/3731)
|
||||
- Removed hardcoded database version [#3864](https://github.com/wallabag/wallabag/pull/3864)
|
||||
- Dropping PHP < 7.1 [#3758](https://github.com/wallabag/wallabag/pull/3758)
|
||||
- Dropping PHP < 7.2 [#4441](https://github.com/wallabag/wallabag/pull/4441)
|
||||
- Force default_protocol to generate an url input [#3879](https://github.com/wallabag/wallabag/pull/3879)
|
||||
- Cascade delete on oauth2 table when deleting a user [#3956](https://github.com/wallabag/wallabag/pull/3956)
|
||||
- Preview picture: use the 1st pic retrieved if no og:image set [#3965](https://github.com/wallabag/wallabag/pull/3965)
|
||||
- Force PHP version in Dockerfile [#3977](https://github.com/wallabag/wallabag/pull/3977)
|
||||
- Add Sentry support [#3990](https://github.com/wallabag/wallabag/pull/3990)
|
||||
- Fix slow/unindexed queries [#4081](https://github.com/wallabag/wallabag/pull/4081)
|
||||
- Rename internal settings table [#4084](https://github.com/wallabag/wallabag/pull/4084)
|
||||
- Add environment variables to control scripts/dev.sh behavior [#4152](https://github.com/wallabag/wallabag/pull/4152)
|
||||
- Increase php memory limit PHP Docker [#4163](https://github.com/wallabag/wallabag/pull/4163)
|
||||
- Ensure ENV is well defined when using make [#4249](https://github.com/wallabag/wallabag/pull/4249)
|
||||
- Update translations from Weblate [#4442](https://github.com/wallabag/wallabag/pull/4442)
|
||||
- Ditch Travis to use GitHub Actions [#4747](https://github.com/wallabag/wallabag/pull/4747)
|
||||
- Upgrade Webpack from v4 to v5 [#4727](https://github.com/wallabag/wallabag/pull/4727)
|
||||
|
||||
### Translations
|
||||
|
||||
- Add Japanese translation [#4274](https://github.com/wallabag/wallabag/pull/4274)
|
||||
- Add Croatian translation [#4518](https://github.com/wallabag/wallabag/pull/4518), [#4517](https://github.com/wallabag/wallabag/pull/4517)
|
||||
- Add Ukrainian translation [#4489](https://github.com/wallabag/wallabag/pull/4489)
|
||||
- Add language support for Simplified Chinese(简体中文)[#4281](https://github.com/wallabag/wallabag/pull/4281)
|
||||
- Add Dutch translation to the settings [#4632](https://github.com/wallabag/wallabag/pull/4632)
|
||||
- Support for Weblate [#4442](https://github.com/wallabag/wallabag/pull/4442) & [#4447](https://github.com/wallabag/wallabag/pull/4447)
|
||||
|
||||
### Fixes
|
||||
|
||||
- Fixed Instapaper import date order [#3980](https://github.com/wallabag/wallabag/pull/3980)
|
||||
- Add missing entries in craue_config_setting. [#3868](https://github.com/wallabag/wallabag/pull/3868)
|
||||
- Fix `reading_time` being NULL on SQLite [#4020](https://github.com/wallabag/wallabag/pull/4020)
|
||||
- Fix createdAt filter on material [#4299](https://github.com/wallabag/wallabag/pull/4299)
|
||||
- Fix duplicated icons on "Search engine" and "new link" forms [#4149](https://github.com/wallabag/wallabag/pull/4149)
|
||||
- Fix entries export from search view [#4278](https://github.com/wallabag/wallabag/pull/4278)
|
||||
- Fixed URL to share entry via twitter [#4250](https://github.com/wallabag/wallabag/pull/4250)
|
||||
- Sidebar sub entries not conditioned by hover anymore [#4254](https://github.com/wallabag/wallabag/pull/4254)
|
||||
- Fix print of long pages [#4263](https://github.com/wallabag/wallabag/pull/4263)
|
||||
- Fixed duplicated tags when renaming them [#4310](https://github.com/wallabag/wallabag/pull/4310)
|
||||
- Added authentication during import command for paywalled websites [#4325](https://github.com/wallabag/wallabag/pull/4325)
|
||||
- Added more coherence with color links for material theme [#4346](https://github.com/wallabag/wallabag/pull/4346)
|
||||
- Changed visibility for article stats [#4347](https://github.com/wallabag/wallabag/pull/4347)
|
||||
- PHP 7.4 support [#4309](https://github.com/wallabag/wallabag/pull/4309)
|
||||
|
||||
## [2.3.8](https://github.com/wallabag/wallabag/tree/2.3.8)
|
||||
[Full Changelog](https://github.com/wallabag/wallabag/compare/2.3.7...2.3.8)
|
||||
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb), [@j0k3r](https://github.com/j0k3r), [@tcitworld](https://github.com/tcitworld) and [@Kdecherf](https://github.com/Kdecherf) under the MIT License.
|
||||
wallabag is mainly developed by [Nicolas Lœuillet](https://github.com/nicosomb), [@j0k3r](https://github.com/j0k3r) and [@tcitworld](https://github.com/tcitworld) under the MIT License.
|
||||
|
||||
Thank you [to others contributors](https://github.com/wallabag/wallabag/graphs/contributors).
|
||||
|
||||
@ -31,8 +31,8 @@ run: ## Run the wallabag built-in server
|
||||
@php bin/console server:run --env=dev
|
||||
|
||||
build: ## Run webpack
|
||||
@yarn install
|
||||
@yarn build:$(ENV)
|
||||
@npm install
|
||||
@npm run build:$(ENV)
|
||||
|
||||
prepare: clean ## Prepare database for testsuite
|
||||
ifdef DB
|
||||
@ -40,13 +40,13 @@ ifdef DB
|
||||
endif
|
||||
-php bin/console doctrine:database:drop --force --env=test
|
||||
php bin/console doctrine:database:create --env=test
|
||||
php bin/console doctrine:migrations:migrate --no-interaction --env=test -vv
|
||||
php bin/console doctrine:migrations:migrate --no-interaction --env=test
|
||||
|
||||
fixtures: ## Load fixtures into database
|
||||
php bin/console doctrine:fixtures:load --no-interaction --env=test
|
||||
|
||||
test: prepare fixtures ## Launch wallabag testsuite
|
||||
XDEBUG_MODE=off php -dmemory_limit=-1 bin/simple-phpunit -v
|
||||
bin/simple-phpunit -v
|
||||
|
||||
release: ## Create a package. Need a VERSION parameter (eg: `make release VERSION=master`).
|
||||
ifndef VERSION
|
||||
|
||||
57
README.md
57
README.md
@ -1,62 +1,35 @@
|
||||
# wallabag
|
||||
|
||||

|
||||
[](https://travis-ci.org/wallabag/wallabag)
|
||||
[](https://scrutinizer-ci.com/g/wallabag/wallabag/?branch=master)
|
||||
[](https://gitter.im/wallabag/wallabag)
|
||||
[](https://liberapay.com/wallabag/donate)
|
||||
[](https://hosted.weblate.org/engage/wallabag/?utm_source=widget)
|
||||

|
||||
|
||||
wallabag is a web application allowing you to save web pages for later reading.
|
||||
Click, save and read it when you want. It extracts content so that you won't be distracted by pop-ups and cie.
|
||||
# What is wallabag?
|
||||
wallabag is a self-hostable PHP application allowing you to not miss any content anymore.
|
||||
Click, save and read it when you can. It extracts content so that you can read it when you have time.
|
||||
|
||||
You can install it on your own server, or you can create an account on [wallabag.it](https://wallabag.it).
|
||||
More information on our website: [wallabag.org](https://wallabag.org).
|
||||
|
||||

|
||||
If you do not have your own server, consider [the wallabag.it hosting solution](https://wallabag.it).
|
||||
|
||||
* Website: [wallabag.org](https://wallabag.org)
|
||||
* Android app: [wallabag/android-app](https://github.com/wallabag/android-app)
|
||||
* iOS app: [wallabag/ios-app](https://github.com/wallabag/ios-app)
|
||||
* Browser extension: [wallabag/wallabagger](https://github.com/wallabag/wallabagger)
|
||||
* GNOME (Linux) app: [read-it-later](https://gitlab.gnome.org/World/read-it-later) (not maintained by this project)
|
||||
* All resources about wallabag ecosystem are listed here: https://github.com/wallabag/wallabag/wiki/wallabag-ecosystem
|
||||
|
||||
## Documentation
|
||||
|
||||
The documentation is available at https://doc.wallabag.org.
|
||||
|
||||
You can contribute to it through its dedicated repository, available here: https://github.com/wallabag/doc.
|
||||
|
||||
## Installation
|
||||

|
||||
|
||||
# Install wallabag
|
||||
Please read [the documentation to see the wallabag requirements](https://doc.wallabag.org/en/admin/installation/requirements.html).
|
||||
|
||||
Then you can install wallabag by executing the following commands:
|
||||
|
||||
```bash
|
||||
```
|
||||
git clone https://github.com/wallabag/wallabag.git
|
||||
cd wallabag && make install
|
||||
```
|
||||
|
||||
Now, [configure a virtual host](https://doc.wallabag.org/en/admin/installation/virtualhosts.html) to use your wallabag.
|
||||
|
||||
### Other methods
|
||||
# Run on YunoHost
|
||||
[](https://install-app.yunohost.org/?app=wallabag2)
|
||||
|
||||
Refer to the [installation documentation](https://doc.wallabag.org/en/admin/installation/installation.html) for other installation methods.
|
||||
Wallabag app for [YunoHost](https://yunohost.org). See [here](https://github.com/YunoHost-Apps/wallabag2_ynh)
|
||||
|
||||
## Translation
|
||||
|
||||
This project uses [Weblate](https://weblate.org/) for translation.
|
||||
|
||||
Feel free to help us [translating wallabag](https://hosted.weblate.org/projects/wallabag/).
|
||||
|
||||
## Contributing
|
||||
|
||||
To learn more about developing wallabag, please refer to the [contribution guide](./.github/CONTRIBUTING.md).
|
||||
|
||||
Content extraction relies on [Graby](https://github.com/j0k3r/graby), [php-readability](https://github.com/j0k3r/php-readability) and [ftr-site-config](https://github.com/fivefilters/ftr-site-config).
|
||||
|
||||
## License
|
||||
# License
|
||||
Copyright © 2013-current Nicolas Lœuillet <nicolas@loeuillet.org>
|
||||
|
||||
This work is free. You can redistribute it and/or modify it under the
|
||||
terms of the MIT License. See the [COPYING.md](./COPYING.md) file for more details.
|
||||
terms of the MIT License. See the COPYING file for more details.
|
||||
|
||||
@ -16,9 +16,35 @@ During this documentation, we assume the release is `$LAST_WALLABAG_RELEASE` (li
|
||||
|
||||
#### Create a new release on GitHub
|
||||
|
||||
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch or any appropriate branch (for instance backports).
|
||||
- Update [website](https://github.com/wallabag/website) to change MD5 sum and create the release blog post (based on the changelog).
|
||||
- Run these commands to create the tag:
|
||||
|
||||
```
|
||||
git checkout master
|
||||
git pull origin master
|
||||
git checkout -b release-$LAST_WALLABAG_RELEASE
|
||||
composer up
|
||||
```
|
||||
|
||||
- Then continue with these commands:
|
||||
|
||||
```
|
||||
git add composer.lock
|
||||
git commit -m "Release wallabag $LAST_WALLABAG_RELEASE"
|
||||
git push origin release-$LAST_WALLABAG_RELEASE
|
||||
```
|
||||
|
||||
- Create a new pull request with this title `Release wallabag $LAST_WALLABAG_RELEASE`. This pull request is used to launch builds on Travis-CI.
|
||||
- Once PR is green, merge it and delete the branch.
|
||||
- Run this command to create the package:
|
||||
|
||||
```
|
||||
make release VERSION=$LAST_WALLABAG_RELEASE
|
||||
```
|
||||
|
||||
- [Create the new release on GitHub](https://github.com/wallabag/wallabag/releases/new) by targetting the `master` branch or any appropriate branch (for instance backports). You have to upload the package (generated previously).
|
||||
- Update the URL shortener (used on `wllbg.org` to update links like `https://wllbg.org/latest-v2-package` or `http://wllbg.org/latest-v2`)
|
||||
- Update Dockerfile https://github.com/wallabag/docker (and create a new tag)
|
||||
- Update wallabag.org website (downloads, MD5 sum, releases and new blog post)
|
||||
- Put the next patch version suffixed with `-dev` in `app/config/wallabag.yml` (`wallabag_core.version`)
|
||||
- Drink a :beer:!
|
||||
|
||||
@ -31,7 +57,7 @@ be locally specified in `composer.lock`:
|
||||
```json
|
||||
"config": {
|
||||
"platform": {
|
||||
"php": "7.4.29",
|
||||
"php": "7.1.3",
|
||||
"ext-something": "4.0"
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
# Security Policy
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please report security issues to `hello@wallabag.org`
|
||||
@ -13,6 +13,7 @@ class AppKernel extends Kernel
|
||||
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
|
||||
new Symfony\Bundle\TwigBundle\TwigBundle(),
|
||||
new Symfony\Bundle\MonologBundle\MonologBundle(),
|
||||
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
|
||||
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
|
||||
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
|
||||
new FOS\RestBundle\FOSRestBundle(),
|
||||
@ -20,6 +21,7 @@ class AppKernel extends Kernel
|
||||
new JMS\SerializerBundle\JMSSerializerBundle(),
|
||||
new Nelmio\ApiDocBundle\NelmioApiDocBundle(),
|
||||
new Nelmio\CorsBundle\NelmioCorsBundle(),
|
||||
new Liip\ThemeBundle\LiipThemeBundle(),
|
||||
new Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle(),
|
||||
new Lexik\Bundle\FormFilterBundle\LexikFormFilterBundle(),
|
||||
new FOS\OAuthServerBundle\FOSOAuthServerBundle(),
|
||||
@ -28,13 +30,12 @@ class AppKernel extends Kernel
|
||||
new KPhoen\RulerZBundle\KPhoenRulerZBundle(),
|
||||
new Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle(),
|
||||
new Craue\ConfigBundle\CraueConfigBundle(),
|
||||
new BabDev\PagerfantaBundle\BabDevPagerfantaBundle(),
|
||||
new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
|
||||
new FOS\JsRoutingBundle\FOSJsRoutingBundle(),
|
||||
new BD\GuzzleSiteAuthenticatorBundle\BDGuzzleSiteAuthenticatorBundle(),
|
||||
new OldSound\RabbitMqBundle\OldSoundRabbitMqBundle(),
|
||||
new Http\HttplugBundle\HttplugBundle(),
|
||||
new Sentry\SentryBundle\SentryBundle(),
|
||||
new Twig\Extra\TwigExtraBundle\TwigExtraBundle(),
|
||||
|
||||
// wallabag bundles
|
||||
new Wallabag\CoreBundle\WallabagCoreBundle(),
|
||||
@ -47,6 +48,7 @@ class AppKernel extends Kernel
|
||||
if (in_array($this->getEnvironment(), ['dev', 'test'], true)) {
|
||||
$bundles[] = new Symfony\Bundle\DebugBundle\DebugBundle();
|
||||
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
|
||||
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
|
||||
$bundles[] = new Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle();
|
||||
|
||||
if ('test' === $this->getEnvironment()) {
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20160401000000 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf($schema->hasTable($this->getTable('entry')), 'Database already initialized');
|
||||
|
||||
@ -164,7 +164,7 @@ SQL
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql("DROP TABLE {$this->getTable('craue_config_setting')}");
|
||||
$this->addSql("DROP TABLE {$this->getTable('tagging_rule')}");
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20160410190541 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -24,14 +24,14 @@ class Version20160410190541 extends WallabagMigration
|
||||
$sharePublic = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_public'");
|
||||
|
||||
if (false === $sharePublic) {
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('share_public', '1', 'entry')");
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$entryTable->dropColumn('uid');
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20160812120952 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
||||
$this->skipIf($clientsTable->hasColumn('name'), 'It seems that you already played this migration.');
|
||||
@ -31,7 +31,7 @@ class Version20160812120952 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
||||
|
||||
|
||||
@ -10,12 +10,12 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20160911214952 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$redis = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis'");
|
||||
|
||||
if (false === $redis) {
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('import_with_redis', 0, 'import')");
|
||||
@ -24,7 +24,7 @@ class Version20160911214952 extends WallabagMigration
|
||||
$rabbitmq = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq'");
|
||||
|
||||
if (false === $rabbitmq) {
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('import_with_rabbitmq', 0, 'import')");
|
||||
@ -33,7 +33,7 @@ class Version20160911214952 extends WallabagMigration
|
||||
$this->skipIf(false !== $rabbitmq && false !== $redis, 'It seems that you already played this migration.');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_redis';");
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'import_with_rabbitmq';");
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20160916201049 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
@ -20,7 +20,7 @@ class Version20160916201049 extends WallabagMigration
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'pocket_consumer_key';");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
$configTable->dropColumn('pocket_consumer_key');
|
||||
|
||||
@ -11,7 +11,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161001072726 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||
|
||||
@ -24,8 +24,9 @@ class Version20161001072726 extends WallabagMigration
|
||||
WHERE TABLE_NAME = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "' AND CONSTRAINT_NAME LIKE 'FK_%'
|
||||
AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
|
||||
);
|
||||
$query->execute();
|
||||
|
||||
foreach ($query->fetchAllAssociative() as $fk) {
|
||||
foreach ($query->fetchAll() as $fk) {
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('entry_tag') . ' DROP FOREIGN KEY ' . $fk['CONSTRAINT_NAME']);
|
||||
}
|
||||
break;
|
||||
@ -41,8 +42,9 @@ class Version20161001072726 extends WallabagMigration
|
||||
AND conrelid::regclass::text = '" . $this->getTable('entry_tag', WallabagMigration::UN_ESCAPED_TABLE) . "'
|
||||
AND n.nspname = 'public';"
|
||||
);
|
||||
$query->execute();
|
||||
|
||||
foreach ($query->fetchAllAssociative() as $fk) {
|
||||
foreach ($query->fetchAll() as $fk) {
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('entry_tag') . ' DROP CONSTRAINT ' . $fk['conname']);
|
||||
}
|
||||
break;
|
||||
@ -63,8 +65,9 @@ class Version20161001072726 extends WallabagMigration
|
||||
AND COLUMN_NAME = 'entry_id'
|
||||
AND TABLE_SCHEMA = '" . $this->connection->getDatabase() . "'"
|
||||
);
|
||||
$query->execute();
|
||||
|
||||
foreach ($query->fetchAllAssociative() as $fk) {
|
||||
foreach ($query->fetchAll() as $fk) {
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' DROP FOREIGN KEY ' . $fk['CONSTRAINT_NAME']);
|
||||
}
|
||||
break;
|
||||
@ -81,8 +84,9 @@ class Version20161001072726 extends WallabagMigration
|
||||
AND n.nspname = 'public'
|
||||
AND pg_get_constraintdef(c.oid) LIKE '%entry_id%';"
|
||||
);
|
||||
$query->execute();
|
||||
|
||||
foreach ($query->fetchAllAssociative() as $fk) {
|
||||
foreach ($query->fetchAll() as $fk) {
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' DROP CONSTRAINT ' . $fk['conname']);
|
||||
}
|
||||
break;
|
||||
@ -91,7 +95,7 @@ class Version20161001072726 extends WallabagMigration
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('annotation') . ' ADD CONSTRAINT FK_annotation_entry FOREIGN KEY (entry_id) REFERENCES ' . $this->getTable('entry') . ' (id) ON DELETE CASCADE');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
throw new SkipMigrationException('Too complex ...');
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161022134138 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
|
||||
|
||||
@ -38,7 +38,7 @@ class Version20161022134138 extends WallabagMigration
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('user') . ' CHANGE `name` `name` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ class Version20161024212538 extends WallabagMigration
|
||||
{
|
||||
private $constraintName = 'IDX_user_oauth_client';
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
||||
|
||||
@ -29,7 +29,7 @@ class Version20161024212538 extends WallabagMigration
|
||||
);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$clientsTable = $schema->getTable($this->getTable('oauth2_clients'));
|
||||
|
||||
|
||||
@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161031132655 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$images = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled'");
|
||||
|
||||
$this->skipIf(false !== $images, 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('download_images_enabled', 0, 'misc')");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_images_enabled';");
|
||||
}
|
||||
|
||||
@ -12,7 +12,7 @@ class Version20161104073720 extends WallabagMigration
|
||||
{
|
||||
private $indexName = 'IDX_entry_created_at';
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
||||
@ -20,7 +20,7 @@ class Version20161104073720 extends WallabagMigration
|
||||
$entryTable->addIndex(['created_at'], $this->indexName);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161106113822 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
@ -22,7 +22,7 @@ class Version20161106113822 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
|
||||
@ -10,12 +10,12 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161117071626 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$share = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark'");
|
||||
|
||||
if (false === $share) {
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('share_unmark', 0, 'entry')");
|
||||
@ -24,7 +24,7 @@ class Version20161117071626 extends WallabagMigration
|
||||
$unmark = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url'");
|
||||
|
||||
if (false === $unmark) {
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('unmark_url', 'https://unmark.it', 'entry')");
|
||||
@ -33,7 +33,7 @@ class Version20161117071626 extends WallabagMigration
|
||||
$this->skipIf(false !== $share && false !== $unmark, 'It seems that you already played this migration.');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_unmark';");
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'unmark_url';");
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161118134328 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -22,7 +22,7 @@ class Version20161118134328 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161122144743 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$access = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access'");
|
||||
|
||||
$this->skipIf(false !== $access, 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('restricted_access', 0, 'entry')");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'restricted_access';");
|
||||
}
|
||||
|
||||
@ -18,7 +18,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161122203647 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$userTable = $schema->getTable($this->getTable('user'));
|
||||
|
||||
@ -28,7 +28,7 @@ class Version20161122203647 extends WallabagMigration
|
||||
$userTable->dropColumn('credentials_expired');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$userTable = $schema->getTable($this->getTable('user'));
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161128084725 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
$this->skipIf($configTable->hasColumn('list_mode'), 'It seems that you already played this migration.');
|
||||
@ -18,7 +18,7 @@ class Version20161128084725 extends WallabagMigration
|
||||
$configTable->addColumn('list_mode', 'integer', ['notnull' => false]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
$configTable->dropColumn('list_mode');
|
||||
|
||||
@ -16,7 +16,7 @@ class Version20161128131503 extends WallabagMigration
|
||||
'expires_at' => 'datetime',
|
||||
];
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$userTable = $schema->getTable($this->getTable('user'));
|
||||
|
||||
@ -26,7 +26,7 @@ class Version20161128131503 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$userTable = $schema->getTable($this->getTable('user'));
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20161214094402 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -32,7 +32,7 @@ class Version20161214094402 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -12,7 +12,7 @@ class Version20161214094403 extends WallabagMigration
|
||||
{
|
||||
private $indexName = 'IDX_entry_uid';
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf($entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
||||
@ -20,7 +20,7 @@ class Version20161214094403 extends WallabagMigration
|
||||
$entryTable->addIndex(['uid'], $this->indexName);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf(false === $entryTable->hasIndex($this->indexName), 'It seems that you already played this migration.');
|
||||
|
||||
@ -13,7 +13,7 @@ class Version20170127093841 extends WallabagMigration
|
||||
private $indexStarredName = 'IDX_entry_starred';
|
||||
private $indexArchivedName = 'IDX_entry_archived';
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf($entryTable->hasIndex($this->indexStarredName) && $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
|
||||
@ -22,7 +22,7 @@ class Version20170127093841 extends WallabagMigration
|
||||
$entryTable->addIndex(['is_archived'], $this->indexArchivedName);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf(false === $entryTable->hasIndex($this->indexStarredName) && false === $entryTable->hasIndex($this->indexArchivedName), 'It seems that you already played this migration.');
|
||||
|
||||
@ -10,12 +10,12 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170327194233 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$scuttle = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle'");
|
||||
|
||||
$this->skipIf(false !== $scuttle, 'It seems that you already played this migration.');
|
||||
|
||||
@ -23,7 +23,7 @@ class Version20170327194233 extends WallabagMigration
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('scuttle_url', 'http://scuttle.org', 'entry')");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'share_scuttle';");
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'scuttle_url';");
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170405182620 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -27,7 +27,7 @@ class Version20170405182620 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170407200919 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf(!$entryTable->hasColumn('is_public'), 'It seems that you already played this migration.');
|
||||
@ -18,7 +18,7 @@ class Version20170407200919 extends WallabagMigration
|
||||
$entryTable->dropColumn('is_public');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf($entryTable->hasColumn('is_public'), 'It seems that you already played this migration.');
|
||||
|
||||
@ -10,17 +10,17 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170420134133 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures';");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$downloadPictures = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'download_pictures'");
|
||||
|
||||
$this->skipIf(false !== $downloadPictures, 'It seems that you already played this migration.');
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170501115751 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf($schema->hasTable($this->getTable('site_credential')), 'It seems that you already played this migration.');
|
||||
|
||||
@ -31,7 +31,7 @@ class Version20170501115751 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$schema->dropTable($this->getTable('site_credential'));
|
||||
}
|
||||
|
||||
@ -17,7 +17,7 @@ class Version20170510082609 extends WallabagMigration
|
||||
'email_canonical',
|
||||
];
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
|
||||
|
||||
@ -26,7 +26,7 @@ class Version20170510082609 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration only apply to MySQL');
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170511115400 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -21,7 +21,7 @@ class Version20170511115400 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170511211659 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
||||
case 'sqlite':
|
||||
@ -62,7 +62,7 @@ EOD
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$tableName = $this->getTable('annotation');
|
||||
|
||||
|
||||
@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170602075214 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$apiUserRegistration = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration'");
|
||||
|
||||
$this->skipIf(false !== $apiUserRegistration, 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('api_user_registration', '0', 'api')");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'api_user_registration';");
|
||||
}
|
||||
|
||||
@ -11,21 +11,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170606155640 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf(!$schema->hasTable($this->getTable('craue_config_setting')), 'Table already renamed');
|
||||
|
||||
$apiUserRegistration = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
|
||||
|
||||
$this->skipIf(false === $apiUserRegistration, 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'wallabag_url'");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('wallabag_url', 'wallabag.me', 'misc')");
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170719231144 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||
|
||||
@ -21,12 +21,13 @@ class Version20170719231144 extends WallabagMigration
|
||||
GROUP BY LOWER(label)
|
||||
HAVING COUNT(*) > 1'
|
||||
);
|
||||
$dupTags->execute();
|
||||
|
||||
foreach ($dupTags->fetchAllAssociative() as $duplicates) {
|
||||
foreach ($dupTags->fetchAll() as $duplicates) {
|
||||
$label = $duplicates['lower_label'];
|
||||
|
||||
// Retrieve all duplicate tags for a given tag
|
||||
$tags = $this->connection->query('
|
||||
$tags = $this->connection->executeQuery('
|
||||
SELECT id
|
||||
FROM ' . $this->getTable('tag') . '
|
||||
WHERE LOWER(label) = :label
|
||||
@ -40,7 +41,7 @@ class Version20170719231144 extends WallabagMigration
|
||||
$newId = null;
|
||||
$ids = [];
|
||||
|
||||
foreach ($tags->fetchAllAssociative() as $tag) {
|
||||
foreach ($tags->fetchAll() as $tag) {
|
||||
// Ignore the first tag as we use it as the new reference tag
|
||||
if ($first) {
|
||||
$first = false;
|
||||
@ -85,7 +86,7 @@ class Version20170719231144 extends WallabagMigration
|
||||
);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
throw new SkipMigrationException('Too complex ...');
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20170824113337 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -21,7 +21,7 @@ class Version20170824113337 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function postUp(Schema $schema): void
|
||||
public function postUp(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf(!$entryTable->hasColumn('starred_at'), 'Unable to add starred_at colum');
|
||||
@ -34,7 +34,7 @@ class Version20170824113337 extends WallabagMigration
|
||||
);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20171008195606 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||
|
||||
@ -26,7 +26,7 @@ class Version20171008195606 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf('sqlite' === $this->connection->getDatabasePlatform()->getName(), 'Migration can only be executed safely on \'mysql\' or \'postgresql\'.');
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20171105202000 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -21,7 +21,7 @@ class Version20171105202000 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20171120163128 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$storeArticleHeaders = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers'");
|
||||
|
||||
$this->skipIf(false !== $storeArticleHeaders, 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('store_article_headers', '0', 'entry')");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'store_article_headers';");
|
||||
}
|
||||
|
||||
@ -10,19 +10,19 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20171125164500 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$shaarliShareOriginUrl = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url'");
|
||||
|
||||
$this->skipIf(false !== $shaarliShareOriginUrl, 'It seems that you already played this migration.');
|
||||
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('craue_config_setting') . " (name, value, section) VALUES ('shaarli_share_origin_url', '0', 'entry')");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->addSql('DELETE FROM ' . $this->getTable('craue_config_setting') . " WHERE name = 'shaarli_share_origin_url';");
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20180405182455 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -21,7 +21,7 @@ class Version20180405182455 extends WallabagMigration
|
||||
]);
|
||||
}
|
||||
|
||||
public function postUp(Schema $schema): void
|
||||
public function postUp(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
$this->skipIf(!$entryTable->hasColumn('archived_at'), 'Unable to add archived_at colum');
|
||||
@ -34,7 +34,7 @@ class Version20180405182455 extends WallabagMigration
|
||||
);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20181128203230 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.');
|
||||
|
||||
@ -25,7 +25,7 @@ class Version20181128203230 extends WallabagMigration
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('craue_config_setting') . ' CHANGE `value` `value` varchar(191)');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf('mysql' !== $this->connection->getDatabasePlatform()->getName(), 'This migration can only be applied on \'mysql\'.');
|
||||
|
||||
|
||||
@ -118,13 +118,13 @@ final class Version20190129120000 extends WallabagMigration
|
||||
],
|
||||
];
|
||||
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
foreach ($this->settings as $setting) {
|
||||
$settingEnabled = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = '" . $setting['name'] . "'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('craue_config_setting') . " WHERE name = '" . $setting['name'] . "'");
|
||||
|
||||
if (false !== $settingEnabled) {
|
||||
continue;
|
||||
@ -134,7 +134,7 @@ final class Version20190129120000 extends WallabagMigration
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$this->skipIf(true, 'These settings are required and should not be removed.');
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20190401105353 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -24,7 +24,7 @@ class Version20190401105353 extends WallabagMigration
|
||||
$entryTable->addIndex(['user_id', 'hashed_url'], 'hashed_url_user_id', [], ['lengths' => [null, 40]]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -64,10 +64,8 @@ final class Version20190510141130 extends WallabagMigration
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' DROP FOREIGN KEY FK_368A4209A76ED395');
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_access_tokens') . ' ADD CONSTRAINT FK_368A4209A76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE');
|
||||
|
||||
if ($schema->getTable($this->getTable('oauth2_clients'))->hasForeignKey('IDX_user_oauth_client')) {
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' DROP FOREIGN KEY IDX_user_oauth_client');
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' ADD CONSTRAINT FK_635D765EA76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id)');
|
||||
}
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' DROP FOREIGN KEY IDX_user_oauth_client');
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_clients') . ' ADD CONSTRAINT FK_635D765EA76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id)');
|
||||
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' DROP FOREIGN KEY FK_20C9FB24A76ED395');
|
||||
$this->addSql('ALTER TABLE ' . $this->getTable('oauth2_refresh_tokens') . ' ADD CONSTRAINT FK_20C9FB24A76ED395 FOREIGN KEY (user_id) REFERENCES ' . $this->getTable('user') . ' (id) ON DELETE CASCADE');
|
||||
|
||||
@ -10,7 +10,7 @@ use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
*/
|
||||
class Version20190601125843 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
public function up(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
@ -31,7 +31,7 @@ class Version20190601125843 extends WallabagMigration
|
||||
$entryTable->addIndex(['user_id', 'hashed_given_url'], 'hashed_given_url_user_id', [], ['lengths' => [null, 40]]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
public function down(Schema $schema)
|
||||
{
|
||||
$entryTable = $schema->getTable($this->getTable('entry'));
|
||||
|
||||
|
||||
@ -48,7 +48,7 @@ final class Version20190826204730 extends WallabagMigration
|
||||
$previous_rule = $this->container
|
||||
->get('doctrine.orm.default_entity_manager')
|
||||
->getConnection()
|
||||
->fetchOne('SELECT * FROM ' . $this->getTable('ignore_origin_instance_rule') . " WHERE rule = '" . $entity['rule'] . "'");
|
||||
->fetchArray('SELECT * FROM ' . $this->getTable('ignore_origin_instance_rule') . " WHERE rule = '" . $entity['rule'] . "'");
|
||||
|
||||
if (false === $previous_rule) {
|
||||
$this->addSql('INSERT INTO ' . $this->getTable('ignore_origin_instance_rule') . " (rule) VALUES ('" . $entity['rule'] . "');");
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Migrations\SkipMigrationException;
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
|
||||
/**
|
||||
* Remove baggy theme.
|
||||
*/
|
||||
final class Version20200414120227 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
$this->addSql('UPDATE ' . $this->getTable('config', true) . " SET theme = 'material';");
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
throw new SkipMigrationException('Not possible ... ');
|
||||
}
|
||||
}
|
||||
@ -1,32 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
|
||||
/**
|
||||
* Drop theme fields from config table.
|
||||
*/
|
||||
final class Version20221123132612 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
$this->skipIf(!$configTable->hasColumn('theme'), 'It seems that you already played this migration.');
|
||||
|
||||
$configTable->dropColumn('theme');
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
$this->skipIf($configTable->hasColumn('theme'), 'It seems that you already played this migration.');
|
||||
|
||||
$configTable->addColumn('theme', 'string', [
|
||||
'notnull' => true,
|
||||
]);
|
||||
}
|
||||
}
|
||||
@ -1,62 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
|
||||
/**
|
||||
* Remove the deprecated (and removed in DBAL v3) `json_array` type.
|
||||
*/
|
||||
final class Version20221221092957 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
$userTable = $this->getTable('user');
|
||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
||||
case 'sqlite':
|
||||
$this->addSql('CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, password, last_login, password_requested_at, name, created_at, updated_at, authCode, emailTwoFactor, salt, confirmation_token, roles, googleAuthenticatorSecret, backupCodes FROM ' . $userTable);
|
||||
$this->addSql('DROP TABLE ' . $userTable);
|
||||
$this->addSql('CREATE TABLE ' . $userTable . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled BOOLEAN NOT NULL, salt VARCHAR(255) DEFAULT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array)
|
||||
, name CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, googleAuthenticatorSecret VARCHAR(255) DEFAULT NULL, backupCodes CLOB DEFAULT NULL --(DC2Type:json)
|
||||
, emailTwoFactor BOOLEAN NOT NULL)');
|
||||
$this->addSql('INSERT INTO ' . $userTable . ' (id, username, username_canonical, email, email_canonical, enabled, password, last_login, password_requested_at, name, created_at, updated_at, authCode, emailTwoFactor, salt, confirmation_token, roles, googleAuthenticatorSecret, backupCodes) SELECT id, username, username_canonical, email, email_canonical, enabled, password, last_login, password_requested_at, name, created_at, updated_at, authCode, emailTwoFactor, salt, confirmation_token, roles, googleAuthenticatorSecret, backupCodes FROM __temp__wallabag_user');
|
||||
$this->addSql('DROP TABLE __temp__wallabag_user');
|
||||
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON ' . $userTable . ' (username_canonical)');
|
||||
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON ' . $userTable . ' (email_canonical)');
|
||||
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON ' . $userTable . ' (confirmation_token)');
|
||||
break;
|
||||
case 'mysql':
|
||||
$this->addSql('ALTER TABLE ' . $userTable . ' CHANGE backupCodes backupCodes JSON DEFAULT NULL');
|
||||
break;
|
||||
case 'postgresql':
|
||||
$this->addSql('ALTER TABLE ' . $userTable . ' ALTER backupcodes TYPE JSON USING backupcodes::json');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
$userTable = $this->getTable('user');
|
||||
switch ($this->connection->getDatabasePlatform()->getName()) {
|
||||
case 'sqlite':
|
||||
$this->addSql('CREATE TEMPORARY TABLE __temp__wallabag_user AS SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, googleAuthenticatorSecret, backupCodes, emailTwoFactor FROM ' . $userTable);
|
||||
$this->addSql('DROP TABLE ' . $userTable);
|
||||
$this->addSql('CREATE TABLE ' . $userTable . ' (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username VARCHAR(180) NOT NULL, username_canonical VARCHAR(180) NOT NULL, email VARCHAR(180) NOT NULL, email_canonical VARCHAR(180) NOT NULL, enabled BOOLEAN NOT NULL, salt VARCHAR(255) DEFAULT NULL, password VARCHAR(255) NOT NULL, last_login DATETIME DEFAULT NULL, confirmation_token VARCHAR(180) DEFAULT NULL, password_requested_at DATETIME DEFAULT NULL, roles CLOB NOT NULL --(DC2Type:array)
|
||||
, name CLOB DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, authCode INTEGER DEFAULT NULL, googleAuthenticatorSecret VARCHAR(255) DEFAULT NULL, backupCodes CLOB DEFAULT NULL --(DC2Type:json_array)
|
||||
, emailTwoFactor BOOLEAN NOT NULL)');
|
||||
$this->addSql('INSERT INTO ' . $userTable . ' (id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, googleAuthenticatorSecret, backupCodes, emailTwoFactor) SELECT id, username, username_canonical, email, email_canonical, enabled, salt, password, last_login, confirmation_token, password_requested_at, roles, name, created_at, updated_at, authCode, googleAuthenticatorSecret, backupCodes, emailTwoFactor FROM __temp__wallabag_user');
|
||||
$this->addSql('DROP TABLE __temp__wallabag_user');
|
||||
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E592FC23A8 ON ' . $userTable . ' (username_canonical)');
|
||||
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5A0D96FBF ON ' . $userTable . ' (email_canonical)');
|
||||
$this->addSql('CREATE UNIQUE INDEX UNIQ_1D63E7E5C05FB297 ON ' . $userTable . ' (confirmation_token)');
|
||||
break;
|
||||
case 'mysql':
|
||||
$this->addSql('ALTER TABLE ' . $userTable . ' CHANGE backupCodes backupCodes JSON DEFAULT NULL COMMENT \'(DC2Type:json_array)\'');
|
||||
break;
|
||||
case 'postgresql':
|
||||
$this->addSql('ALTER TABLE ' . $userTable . ' ALTER backupCodes TYPE TEXT');
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Application\Migrations;
|
||||
|
||||
use Doctrine\DBAL\Schema\Schema;
|
||||
use Wallabag\CoreBundle\Doctrine\WallabagMigration;
|
||||
|
||||
/**
|
||||
* Added a new setting to display or not thumbnails.
|
||||
*/
|
||||
final class Version20230613121354 extends WallabagMigration
|
||||
{
|
||||
public function up(Schema $schema): void
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
|
||||
$this->skipIf($configTable->hasColumn('display_thumbnails'), 'It seems that you already played this migration.');
|
||||
|
||||
$configTable->addColumn('display_thumbnails', 'integer', [
|
||||
'default' => 1,
|
||||
'notnull' => false,
|
||||
]);
|
||||
}
|
||||
|
||||
public function down(Schema $schema): void
|
||||
{
|
||||
$configTable = $schema->getTable($this->getTable('config'));
|
||||
$configTable->dropColumn('display_thumbnails');
|
||||
}
|
||||
}
|
||||
@ -1,5 +1,7 @@
|
||||
# settings_changed: Configuration updated
|
||||
download_pictures: Download billeder på din server
|
||||
diaspora_url: diaspora* URL, hvis tjenesten er aktiv
|
||||
carrot: Aktiver deling til Carrot
|
||||
diaspora_url: Diaspora URL, hvis tjenesten er aktiv
|
||||
export_epub: Aktiver eksport til ePub
|
||||
export_mobi: Aktiver eksport til .mobi
|
||||
export_pdf: Aktiver eksport til PDF
|
||||
@ -7,11 +9,15 @@ export_csv: Aktiver eksport til CSV
|
||||
export_json: Aktiver eksport til JSON
|
||||
export_txt: Aktiver eksport til TXT
|
||||
export_xml: Aktiver eksport til XML
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli-URL, hvis tjenesten er aktiv
|
||||
scuttle_url: Scuttle-URL, hvis tjenesten er aktiv
|
||||
unmark_url: Unmark-URL, hvis tjenesten er aktiv
|
||||
share_diaspora: Aktiver deling til diaspora*
|
||||
share_diaspora: Aktiver deling til Diaspora
|
||||
share_mail: Aktiver deling med email
|
||||
share_shaarli: Aktiver deling gennem Shaarli
|
||||
share_scuttle: Aktiver deling gennem Scuttle
|
||||
share_twitter: Aktiver deling gennem Twitter
|
||||
share_unmark: Aktiver deling gennem Unmark.it
|
||||
show_printlink: Vis et link til print-indhold
|
||||
@ -26,3 +32,9 @@ matomo_site_id: ID for din side hos Matomo
|
||||
matomo_enabled: Aktiver Matomo
|
||||
demo_mode_enabled: "Aktiver demo-indstilling? (anvendes kun til wallabags offentlige demo)"
|
||||
demo_mode_username: "Demobruger"
|
||||
# share_public: Allow public url for entries
|
||||
# download_images_enabled: Download images locally
|
||||
# restricted_access: Enable authentication for websites with paywall
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -0,0 +1,40 @@
|
||||
settings_changed: 'Konfiguration aktualisiert'
|
||||
download_pictures: 'Bilder auf den Server herunterladen'
|
||||
carrot: 'Teilen zu Carrot aktivieren'
|
||||
diaspora_url: 'Diaspora-URL, sofern der Service aktiviert ist'
|
||||
export_epub: 'ePUB-Export aktivieren'
|
||||
export_mobi: 'mobi-Export aktivieren'
|
||||
export_pdf: 'PDF-Export aktivieren'
|
||||
export_csv: 'CSV-Export aktivieren'
|
||||
export_json: 'JSON-Export aktivieren'
|
||||
export_txt: 'TXT-Export aktivieren'
|
||||
export_xml: 'XML-Export aktivieren'
|
||||
import_with_rabbitmq: 'Aktiviere RabbitMQ, um Artikel asynchron zu importieren'
|
||||
import_with_redis: 'Aktiviere Redis, um Artikel asynchron zu importieren'
|
||||
shaarli_url: 'Shaarli-URL, sofern der Service aktiviert ist'
|
||||
scuttle_url: 'Scuttle-URL, sofern der Service aktiviert ist'
|
||||
unmark_url: 'Unmark-URL, sofern der Service aktiviert ist'
|
||||
share_diaspora: 'Teilen zu Diaspora aktiveren'
|
||||
share_mail: 'Teilen via E-Mail aktiveren'
|
||||
share_shaarli: 'Teilen zu Shaarli aktiveren'
|
||||
share_twitter: 'Teilen zu Twitter aktiveren'
|
||||
share_unmark: 'Teilen zu Unmark.it aktiveren'
|
||||
show_printlink: 'Link anzeigen, um den Inhalt auszudrucken'
|
||||
wallabag_support_url: 'Support-URL für wallabag'
|
||||
wallabag_url: 'URL von *deiner* wallabag-Instanz'
|
||||
entry: 'Artikel'
|
||||
export: 'Export'
|
||||
import: 'Import'
|
||||
misc: 'Verschiedenes'
|
||||
modify_settings: 'Übernehmen'
|
||||
matomo_host: 'Host deiner Webseite in Matomo (ohne http:// oder https://)'
|
||||
matomo_site_id: 'ID deiner Webseite in Matomo'
|
||||
matomo_enabled: 'Matomo aktivieren'
|
||||
demo_mode_enabled: 'Test-Modus aktivieren? (nur für die öffentliche wallabag-Demo genutzt)'
|
||||
demo_mode_username: 'Test-Benutzer'
|
||||
share_public: 'Erlaube eine öffentliche URL für Einträge'
|
||||
download_images_enabled: 'Bilder lokal herunterladen'
|
||||
restricted_access: 'Authentifizierung für Webseiten mit Paywall aktivieren'
|
||||
api_user_registration: 'Registrierung eines Benutzers über die API ermöglichen'
|
||||
store_article_headers: 'Speichern von HTTP-Headern für jeden Artikel aktivieren'
|
||||
shaarli_share_origin_url: 'Original-URL mit Shaarli teilen, wenn der Service aktiviert ist'
|
||||
@ -1,8 +1,9 @@
|
||||
settings_changed: Configuration updated
|
||||
download_pictures: Download pictures onto your server
|
||||
download_pictures: Download pictures on your server
|
||||
carrot: Enable share to Carrot
|
||||
diaspora_url: diaspora* URL, if the service is enabled
|
||||
export_epub: Enable ePub export
|
||||
export_mobi: Enable .mobi export (deprecated, will be removed soon)
|
||||
export_mobi: Enable .mobi export
|
||||
export_pdf: Enable PDF export
|
||||
export_csv: Enable CSV export
|
||||
export_json: Enable JSON export
|
||||
@ -11,27 +12,29 @@ export_xml: Enable XML export
|
||||
import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, if the service is enabled
|
||||
scuttle_url: Scuttle URL, if the service is enabled
|
||||
unmark_url: Unmark URL, if the service is enabled
|
||||
share_diaspora: Enable share to diaspora*
|
||||
share_mail: Enable share by e-mail
|
||||
share_shaarli: Enable sharing to Shaarli
|
||||
share_scuttle: Enable sharing to Scuttle
|
||||
share_twitter: Enable sharing to Twitter
|
||||
share_unmark: Enable sharing to Unmark.it
|
||||
show_printlink: Display a link to print content
|
||||
wallabag_support_url: Support URL for wallabag
|
||||
entry: article
|
||||
export: export
|
||||
import: import
|
||||
misc: misc
|
||||
modify_settings: apply
|
||||
entry: "article"
|
||||
export: "export"
|
||||
import: "import"
|
||||
misc: "misc"
|
||||
modify_settings: "apply"
|
||||
matomo_host: Host of your website in Matomo (without http:// or https://)
|
||||
matomo_site_id: ID of your website in Matomo
|
||||
matomo_enabled: Enable Matomo
|
||||
demo_mode_enabled: Enable demo mode? (Only used for the public wallabag demo)
|
||||
demo_mode_username: Demo user
|
||||
share_public: Allow public URLs for entries
|
||||
demo_mode_enabled: "Enable demo mode? (Only used for the public wallabag demo)"
|
||||
demo_mode_username: "Demo user"
|
||||
share_public: Allow public URL for entries
|
||||
download_images_enabled: Download images locally
|
||||
restricted_access: Enable authentication for paywalled websites
|
||||
api_user_registration: Turn on user registration via the API
|
||||
api_user_registration: Enable user to be registered using the API
|
||||
store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
shaarli_share_origin_url: Enable sharing origin URL to Shaarli, if the service is enabled
|
||||
shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -1,8 +1,9 @@
|
||||
settings_changed: Configuración actualizada
|
||||
download_pictures: Descargar imágenes en el servidor
|
||||
diaspora_url: URL de diaspora*, si el servicio está activado
|
||||
carrot: Activar compartir con Carrot
|
||||
diaspora_url: URL de Diaspora, si el servicio está activado
|
||||
export_epub: Activar exportación a ePub
|
||||
export_mobi: Activar exportación a .mobi (deprecado, se eliminará pronto)
|
||||
export_mobi: Activar exportación a .mobi
|
||||
export_pdf: Activar exportación a PDF
|
||||
export_csv: Activar exportación a CSV
|
||||
export_json: Activar exportación a JSON
|
||||
@ -11,13 +12,15 @@ export_xml: Activar exportación a XML
|
||||
import_with_rabbitmq: Activar RabbitMQ para importar datos de forma asíncrona
|
||||
import_with_redis: Activar Redis para importar datos de forma asíncrona
|
||||
shaarli_url: URL de Shaarli, si el servicio está activado
|
||||
scuttle_url: URL de Scuttle, si el servicio está activado
|
||||
unmark_url: URL de Unmark, si el servicio está activado
|
||||
share_diaspora: Activar compartir en diaspora*
|
||||
share_mail: Activar compartir por correo electrónico
|
||||
share_shaarli: Activar compartir en Shaarli
|
||||
share_twitter: Activar compartir en Twitter
|
||||
share_unmark: Activar compartir en Unmark.it
|
||||
show_printlink: Mostrar un enlace para imprimir el contenido
|
||||
share_diaspora: Activar compartir con Diaspora
|
||||
share_mail: Activar compartir con Email
|
||||
share_shaarli: Activar compartir con Shaarli
|
||||
share_scuttle: Activar compartir con Scuttle
|
||||
share_twitter: Activar compartir con Twitter
|
||||
share_unmark: Activar compartir con Unmark.it
|
||||
show_printlink: Mostrar un enlace para imprimir contenido
|
||||
wallabag_support_url: URL de soporte de wallabag
|
||||
entry: "artículo"
|
||||
export: "exportar"
|
||||
@ -29,9 +32,9 @@ matomo_site_id: ID de tu website en Matomo
|
||||
matomo_enabled: Activar Matomo
|
||||
demo_mode_enabled: "Activar modo demo (sólo usado en la demo pública de wallabag)"
|
||||
demo_mode_username: "Nombre de usuario demo"
|
||||
share_public: Permitir URLs públicas para los artículos
|
||||
share_public: Permitir URL pública para los artículos
|
||||
download_images_enabled: Descargar imágenes localmente
|
||||
restricted_access: Activar autenticación para websites con paywall
|
||||
api_user_registration: Permitir el registro de usuarios utilizando el API
|
||||
shaarli_share_origin_url: Activar compartir en Shaarli, si el servicio está habilitado
|
||||
store_article_headers: Activar si wallabag almacena encabezados HTTP para cada artículo
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -1,4 +1,6 @@
|
||||
# settings_changed: Configuration updated
|
||||
download_pictures: تصاویر را در کارگزار خودتان باربگیرید
|
||||
carrot: فعالسازی همرسانی به Carrot
|
||||
diaspora_url: نشانی Diaspora، اگر فعال بود
|
||||
export_epub: فعالسازی برونسپاری به ePub
|
||||
export_mobi: فعالسازی برونسپاری به mobi
|
||||
@ -7,11 +9,15 @@ export_csv: فعالسازی برونسپاری به CSV
|
||||
export_json: فعالسازی برونسپاری به JSON
|
||||
export_txt: فعالسازی برونسپاری به TXT
|
||||
export_xml: فعالسازی برونسپاری به XML
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: نشانی Shaarli، اگر فعال بود
|
||||
scuttle_url: نشانی Scuttle، اگر فعال بود
|
||||
unmark_url: نشانی Unmark، اگر فعال بود
|
||||
share_diaspora: فعالسازی همرسانی به Diaspora
|
||||
share_mail: فعالسازی همرسانی با ایمیل
|
||||
share_shaarli: فعالسازی همرسانی به Shaarli
|
||||
share_scuttle: فعالسازی همرسانی به Scuttle
|
||||
share_twitter: فعالسازی همرسانی به Twitter
|
||||
share_unmark: فعالسازی همرسانی به Unmark.it
|
||||
show_printlink: نمایش پیوندی برای چاپ مطلب
|
||||
@ -21,3 +27,14 @@ export: "برونسپاری"
|
||||
import: "درونریزی"
|
||||
misc: "غیره"
|
||||
modify_settings: "اعمال"
|
||||
# matomo_host: Host of your website in Matomo (without http:// or https://)
|
||||
# matomo_site_id: ID of your website in Matomo
|
||||
# matomo_enabled: Enable Matomo
|
||||
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||
# demo_mode_username: "Demo user"
|
||||
# share_public: Allow public url for entries
|
||||
# download_images_enabled: Download images locally
|
||||
# restricted_access: Enable authentication for websites with paywall
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -1,8 +1,9 @@
|
||||
settings_changed: Configuration mise à jour
|
||||
download_pictures: Télécharger les images sur le serveur
|
||||
diaspora_url: URL de diaspora*, si le service est activé
|
||||
carrot: Activer le partage vers Carrot
|
||||
diaspora_url: URL de Diaspora, si le service Diaspora est activé
|
||||
export_epub: Activer l'export ePub
|
||||
export_mobi: Activer l'export .mobi (déprécié, sera supprimé prochainement)
|
||||
export_mobi: Activer l'export .mobi
|
||||
export_pdf: Activer l'export PDF
|
||||
export_csv: Activer l'export CSV
|
||||
export_json: Activer l'export JSON
|
||||
@ -11,27 +12,29 @@ export_xml: Activer l'export XML
|
||||
import_with_rabbitmq: Activer RabbitMQ pour gérer les imports de façon asynchrone
|
||||
import_with_redis: Activer Redis pour gérer les imports de façon asynchrone
|
||||
shaarli_url: URL de Shaarli, si le service Shaarli est activé
|
||||
scuttle_url: URL de Scuttle, si le service Scuttle est activé
|
||||
unmark_url: URL de Unmark, si le service Unmark est activé
|
||||
share_diaspora: Activer le partage vers diaspora*
|
||||
share_mail: Activer le partage par courriel
|
||||
share_diaspora: Activer le partage vers Diaspora
|
||||
share_mail: Activer le partage par email
|
||||
share_shaarli: Activer le partage vers Shaarli
|
||||
share_scuttle: Activer le partage vers Scuttle
|
||||
share_twitter: Activer le partage vers Twitter
|
||||
share_unmark: Activer le partage vers Unmark.it
|
||||
show_printlink: Afficher un lien pour imprimer
|
||||
wallabag_support_url: URL de support de wallabag
|
||||
entry: article
|
||||
export: export
|
||||
import: import
|
||||
misc: divers
|
||||
modify_settings: appliquer
|
||||
entry: "article"
|
||||
export: "export"
|
||||
import: "import"
|
||||
misc: "divers"
|
||||
modify_settings: "appliquer"
|
||||
matomo_host: URL de votre site dans Matomo (sans http:// ou https://)
|
||||
matomo_site_id: ID de votre site dans Matomo
|
||||
matomo_enabled: Activer Matomo
|
||||
demo_mode_enabled: Activer le mode démo ? (Utiliser uniquement pour la démo publique de wallabag)
|
||||
demo_mode_username: Utilisateur de la démo
|
||||
share_public: Autoriser les URL publiques pour les articles
|
||||
demo_mode_enabled: "Activer le mode démo ? (utiliser uniquement pour la démo publique de wallabag)"
|
||||
demo_mode_username: "Utilisateur de la démo"
|
||||
share_public: Autoriser une URL publique pour les articles
|
||||
download_images_enabled: Télécharger les images en local
|
||||
restricted_access: Activer l'authentification pour les sites avec paywall
|
||||
restricted_access: Activer l'authentification pour les articles derrière un paywall
|
||||
api_user_registration: Activer la création de compte depuis l'API
|
||||
store_article_headers: Activer le stockage des en-têtes HTTP de chaque article
|
||||
shaarli_share_origin_url: Activer le partage de l'adresse d'origine vers Shaarli, si le service est activé
|
||||
@ -1,17 +1,23 @@
|
||||
# settings_changed: Configuration updated
|
||||
download_pictures: Scarica le immagini sul tuo server
|
||||
diaspora_url: URL di diaspora*, se il servizio è abilitato
|
||||
carrot: Abilita la condivisione con Carrot
|
||||
diaspora_url: Diaspora URL, se il servizio è abilitato
|
||||
export_epub: Abilita esportazione ePub
|
||||
export_mobi: Abilita esportazione .mobi (deprecato, verrà rimosso presto)
|
||||
export_mobi: Abilita esportazione .mobi
|
||||
export_pdf: Abilita esportazione PDF
|
||||
export_csv: Abilita esportazione CSV
|
||||
export_json: Abilita esportazione JSON
|
||||
export_txt: Abilita esportazione TXT
|
||||
export_xml: Abilita esportazione XML
|
||||
shaarli_url: URL Shaarli, se il servizio è abilitato
|
||||
unmark_url: URL Unmark, se il servizio è abilitato
|
||||
share_diaspora: Abilita la condivisione con diaspora*
|
||||
share_mail: Abilita la condivisione via e-mail
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, se il servizio è abilitato
|
||||
scuttle_url: Scuttle URL, se il servizio è abilitato
|
||||
unmark_url: Unmark URL, se il servizio è abilitato
|
||||
share_diaspora: Abilita la condivisione con Diaspora
|
||||
share_mail: Abilita la condivisione per email
|
||||
share_shaarli: Abilita la condivisione con Shaarli
|
||||
share_scuttle: Abilita la condivisione con Scuttle
|
||||
share_twitter: Abilita la condivisione con Twitter
|
||||
share_unmark: Abilita la condivisione con Unmark.it
|
||||
show_printlink: Mostra un collegamento per stampare il contenuto
|
||||
@ -26,5 +32,9 @@ matomo_site_id: ID del tuo sito in Matomo
|
||||
matomo_enabled: Abilita Matomo
|
||||
demo_mode_enabled: "Abilita modalità demo ? (usato solo per la demo pubblica di wallabag)"
|
||||
demo_mode_username: "Utente Demo"
|
||||
# share_public: Allow public url for entries
|
||||
# download_images_enabled: Download images locally
|
||||
# restricted_access: Enable authentication for websites with paywall
|
||||
api_user_registration: Abilita la registrazione dell'utente attraverso l'API
|
||||
settings_changed: Configurazione aggiornata
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -0,0 +1,40 @@
|
||||
settings_changed: 構成が更新されました
|
||||
download_pictures: 画像をあなたのサーバにダウンロード
|
||||
carrot: Carrot への共有を有効にする
|
||||
diaspora_url: diaspora* URL、サービスが有効な場合
|
||||
export_epub: ePub 形式でのエクスポートを有効にする
|
||||
export_mobi: .mobi 形式でのエクスポートを有効にする
|
||||
export_pdf: PDF 形式でのエクスポートを有効にする
|
||||
export_csv: CSV 形式でのエクスポートを有効にする
|
||||
export_json: JSON 形式でのエクスポートを有効にする
|
||||
export_txt: TXT 形式でのエクスポートを有効にする
|
||||
export_xml: XML 形式でのエクスポートを有効にする
|
||||
import_with_rabbitmq: データを非同期的にインポートする RabbitMQ を有効にする
|
||||
import_with_redis: データを非同期的にインポートする Redis を有効にする
|
||||
shaarli_url: Shaarli URL、サービスが有効な場合
|
||||
scuttle_url: Scuttle URL、サービスが有効な場合
|
||||
unmark_url: Unmark URL、サービスが有効な場合
|
||||
share_diaspora: diaspora* への共有を有効にする
|
||||
share_mail: 電子メールでの共有を有効にする
|
||||
share_shaarli: Shaarli への共有を有効にする
|
||||
share_scuttle: Scuttle への共有を有効にする
|
||||
share_twitter: Twitter への共有を有効にする
|
||||
share_unmark: Unmark.it への共有を有効にする
|
||||
show_printlink: コンテンツを印刷するためのリンクを表示する
|
||||
wallabag_support_url: Wallabag のサポート URL
|
||||
entry: "記事"
|
||||
export: "エクスポート"
|
||||
import: "インポート"
|
||||
misc: "misc"
|
||||
modify_settings: "適用"
|
||||
matomo_host: Matomo でのウェブサイトのホスト (http:// または https:// は不要)
|
||||
matomo_site_id: Matomo でのあなたのウェブサイトの ID
|
||||
matomo_enabled: Matomo を有効にする
|
||||
demo_mode_enabled: "デモモードを有効にしますか? (パブリック Wallabag のデモにのみ使用)"
|
||||
demo_mode_username: "デモユーザー"
|
||||
share_public: 記事の公開 URL を許可する
|
||||
download_images_enabled: 画像をローカルにダウンロードする
|
||||
restricted_access: ペイウォールウェブサイトの認証を有効にする
|
||||
api_user_registration: API を使用してユーザーを登録できるようにする
|
||||
store_article_headers: 各記事の HTTP ヘッダーを Wallabag が格納する場合に有効にする
|
||||
shaarli_share_origin_url: サービスが有効になっている場合、Shaarli へのオリジン URL の共有を有効にする
|
||||
@ -1,6 +1,7 @@
|
||||
settings_changed: Configuracion mesa a jorn
|
||||
download_pictures: Telecargar los imatges sul servidor
|
||||
diaspora_url: URL de diaspora*, se lo servici diaspora* es activat
|
||||
carrot: Activar lo partatge cap a Carrot
|
||||
diaspora_url: URL de Diaspora, se lo servici Diaspora es activat
|
||||
export_epub: Activar l'expòrt ePub
|
||||
export_mobi: Activar l'expòrt .mobi
|
||||
export_pdf: Activar l'expòrt PDF
|
||||
@ -11,6 +12,7 @@ export_xml: Activar l'expòrt XML
|
||||
import_with_rabbitmq: Activar RabbitMQ per importar de donadas de manièra asincròna
|
||||
import_with_redis: Activar Redis per importar de donadas de manièra asincròna
|
||||
shaarli_url: URL de Shaarli, se lo servici Shaarli es activat
|
||||
scuttle_url: URL de Scuttle, se lo servici Scuttle es activat
|
||||
unmark_url: URL de Unmark, se lo servici Scuttle es activat
|
||||
share_diaspora: Activar lo partatge cap a Diaspora*
|
||||
share_mail: Activar lo partatge per corrièl
|
||||
@ -1,8 +1,9 @@
|
||||
settings_changed: Konfiguracja zaktualizowana
|
||||
download_pictures: Pobierz obrazy na swój serwer
|
||||
carrot: Włącz udostępnianie dla Carrot
|
||||
diaspora_url: Adres URL Diaspora, jeżeli usługa jest włączona
|
||||
export_epub: Włącz eksport do ePub
|
||||
export_mobi: Włącz eksport do plików .mobi (przestarzałe, zostanie wkrótce usunięte)
|
||||
export_mobi: Włącz eksport do .mobi
|
||||
export_pdf: Włącz eksport do PDF
|
||||
export_csv: Włącz eksport do CSV
|
||||
export_json: Włącz eksport do JSON
|
||||
@ -11,27 +12,28 @@ export_xml: Włącz eksport do XML
|
||||
import_with_rabbitmq: Włącz RabbitMQ dla asynchronicznego importu danych
|
||||
import_with_redis: Włącz Redis dla asynchronicznego importu danych
|
||||
shaarli_url: Adress URL Shaarli, jeżeli usługa jest włączona
|
||||
scuttle_url: Adress URL Scuttle, jeżeli usługa jest włączona
|
||||
share_diaspora: Włącz udostępnianie dla Diaspora
|
||||
share_mail: Włącz udostępnianie przez e-mail
|
||||
share_mail: Włącz udostępnianie przez email
|
||||
share_shaarli: Włącz udostępnianie dla Shaarli
|
||||
share_scuttle: Włącz udostępnianie dla Scuttle
|
||||
share_twitter: Włącz udostępnianie dla Twitter
|
||||
share_unmark: Włącz udostępnianie dla Unmark.it
|
||||
show_printlink: Pokaż link do wydrukowania zawartości
|
||||
wallabag_support_url: Adres URL wsparcia dla wallabag
|
||||
entry: artykuł
|
||||
export: eksport
|
||||
import: import
|
||||
misc: różne
|
||||
modify_settings: zatwierdź
|
||||
entry: "artykuł"
|
||||
export: "eksport"
|
||||
import: "import"
|
||||
misc: "różne"
|
||||
modify_settings: "zatwierdź"
|
||||
matomo_host: Host twojej strony Matomo (bez http:// lub https://)
|
||||
matomo_site_id: ID twojej strony Matomo
|
||||
matomo_enabled: Włacz Matomo
|
||||
demo_mode_enabled: Włączyć tryb demonstracyjny? (Używany wyłącznie do publicznej demonstracji wallabag)
|
||||
demo_mode_username: Użytkownik demonstracyjny
|
||||
share_public: Zezwalaj na publiczne adresy URL dla wpisów
|
||||
demo_mode_enabled: "Włacz tryb demo? (używany wyłącznie dla publicznej demonstracji Wallabag)"
|
||||
demo_mode_username: "Użytkownik Demonstracyjny"
|
||||
share_public: Zezwalaj na publiczny adres url dla wpisow
|
||||
download_images_enabled: Pobierz obrazy lokalnie
|
||||
restricted_access: Włącz autoryzację dla stron za paywallem
|
||||
restricted_access: Włącz autoryzację dla stron z paywallem
|
||||
api_user_registration: Włącz rejestrację użytkownika przy użyciu API
|
||||
unmark_url: Odznacz URL, jeżeli usługa jest włączona
|
||||
store_article_headers: Włącz, jeżeli wallabag zapisuje nagłówki HTTP dla każdego artykułu
|
||||
shaarli_share_origin_url: Włącz udostępnianie oryginalnego adresu URL do Shaarli, jeśli usługa jest włączona
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -0,0 +1,41 @@
|
||||
# settings_changed: Configuration updated
|
||||
download_pictures: Download imagens no seu servidor
|
||||
carrot: Habilitar compartilhamento para o Carrot
|
||||
diaspora_url: URL Diaspora caso o serviço esteja habilitado
|
||||
export_epub: Habilita exportação para ePub
|
||||
export_mobi: Habilita exportação para .mobi
|
||||
export_pdf: Habilita exportação para PDF
|
||||
export_csv: Habilita exportação para CSV
|
||||
export_json: Habilita exportação para JSON
|
||||
export_txt: Habilita exportação para TXT
|
||||
export_xml: Habilita exportação para XML
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: URL Shaarli caso o serviço esteja habilitado
|
||||
scuttle_url: URL Scuttle caso o serviço esteja habilitado
|
||||
unmark_url: URL Unmark caso o serviço esteja habilitado
|
||||
pocket_consumer_key: Chave de consumidor do Pocket para importar conteúdo (https://getpocket.com/developer/docs/authentication)
|
||||
share_diaspora: Habilitar compartilhamento para o Diaspora
|
||||
share_mail: Habilitar compartilhamento por e-mail
|
||||
share_shaarli: Habilitar compartilhamento para o Shaarli
|
||||
share_scuttle: Habilitar compartilhamento para o Scuttle
|
||||
share_twitter: Habilitar compartilhamento para o Twitter
|
||||
share_unmark: Habilitar compartilhamento para o Unmark.it
|
||||
show_printlink: Mostrar um link para imprimir o conteúdo
|
||||
wallabag_support_url: URL de Suporte do wallabag
|
||||
entry: "artigo"
|
||||
export: "exportar"
|
||||
import: "importar"
|
||||
misc: "misc"
|
||||
modify_settings: "aplicar"
|
||||
matomo_host: Host de seu website Matomo
|
||||
matomo_site_id: ID de seu website Matomo
|
||||
matomo_enabled: Habilitar Matomo
|
||||
demo_mode_enabled: "Habilitar modo demo? (somente usado para o demo público do wallabag)"
|
||||
demo_mode_username: "Usuário demo"
|
||||
# share_public: Allow public url for entries
|
||||
# download_images_enabled: Download images locally
|
||||
# restricted_access: Enable authentication for websites with paywall
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -0,0 +1,40 @@
|
||||
# settings_changed: Configuration updated
|
||||
download_pictures: Descarcă poze pe server
|
||||
carrot: Permite share către Carrot
|
||||
diaspora_url: Diaspora URL, dacă serviciul este permis
|
||||
export_epub: Permite exportare ePub
|
||||
export_mobi: Permite exportare .mobi
|
||||
export_pdf: Permite exportare PDF
|
||||
export_csv: Permite exportare CSV
|
||||
export_json: Permite exportare JSON
|
||||
export_txt: Permite exportare TXT
|
||||
export_xml: Permite exportare XML
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
shaarli_url: Shaarli URL, dacă serviciul este permis
|
||||
scuttle_url: Scuttle URL, dacă serviciul este permis
|
||||
unmark_url: Unmark URL, dacă serviciul este permis
|
||||
share_diaspora: Permite share către Diaspora
|
||||
share_mail: Permite share prin email
|
||||
share_shaarli: Permite share către Shaarli
|
||||
share_scuttle: Permite share către Scuttle
|
||||
share_twitter: Permite share către Twitter
|
||||
share_unmark: Permite share către Unmark.it
|
||||
show_printlink: Afișează un link pentru a printa content-ul
|
||||
wallabag_support_url: URL-ul de suport pentru wallabag
|
||||
entry: "alticol"
|
||||
export: "exportă"
|
||||
import: "importă"
|
||||
misc: "diverse"
|
||||
modify_settings: "aplică"
|
||||
# matomo_host: Host of your website in Matomo (without http:// or https://)
|
||||
# matomo_site_id: ID of your website in Matomo
|
||||
# matomo_enabled: Enable Matomo
|
||||
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||
# demo_mode_username: "Demo user"
|
||||
# share_public: Allow public url for entries
|
||||
# download_images_enabled: Download images locally
|
||||
# restricted_access: Enable authentication for websites with paywall
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -1,5 +1,6 @@
|
||||
settings_changed: "Настройки обновлены"
|
||||
download_pictures: "Скачивать картинки на Ваш сервер"
|
||||
carrot: "Включить возможность отслеживания событий через Carrot"
|
||||
diaspora_url: "Diaspora URL, если сервис включен"
|
||||
export_epub: "Включить ePub экспорт"
|
||||
export_mobi: "Включить .mobi экспорт"
|
||||
@ -11,6 +12,7 @@ export_xml: "Включить XML экспорт"
|
||||
import_with_rabbitmq: "Включить RabbitMQ для импорта данных(асинхронно)"
|
||||
import_with_redis: "Включить Redis для импорта данных(асинхронно)"
|
||||
shaarli_url: "Shaarli URL, если сервис включен"
|
||||
scuttle_url: "Scuttle URL, если сервис включен"
|
||||
unmark_url: "Unmark URL, если сервис включен"
|
||||
share_diaspora: "Включить возможность поделиться в соц.сети Diaspora"
|
||||
share_mail: "Включить возможность поделиться по email"
|
||||
@ -33,6 +35,6 @@ demo_mode_username: "Демо пользователь"
|
||||
share_public: "Разрешить публичные ссылки на записи"
|
||||
download_images_enabled: "Скачивать изображения локально"
|
||||
restricted_access: "Включить авторизацию на сайте с помощью paywall"
|
||||
shaarli_share_origin_url: Включите отправку URL-адреса источника для Shaarli, если услуга включена
|
||||
store_article_headers: Включите, если wallabag хранит заголовки HTTP для каждой статьи
|
||||
api_user_registration: Разрешить пользователю регистрироваться с помощью API
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -1,5 +1,6 @@
|
||||
settings_changed: ปรับปรุงองค์ประกอบ
|
||||
download_pictures: ดาวน์โหลดรูปภาพผ่านเซิฟเวอร์ของคุณ
|
||||
carrot: เปิดการแชร์ Carrot
|
||||
diaspora_url: Diaspora-URL, ถ้าเซิฟเวอร์ถูกเปิดใช้งาน
|
||||
export_epub: เปิดใช้งานการนำเข้าข้อมูลแบบ ePub
|
||||
export_mobi: เปิดใช้งานการนำเข้าข้อมูลแบบ .mobi
|
||||
@ -14,6 +15,7 @@ shaarli_url: Shaarli-URL, ถ้าเซิฟเวอร์ถูกเปิ
|
||||
share_diaspora: เปิดการแชร์ Diaspora
|
||||
share_mail: เปิดการแชร์ผ่าน email
|
||||
share_shaarli: เปิดการแชร์ Shaarli
|
||||
share_scuttle: เปิดการแชร์ Scuttle
|
||||
share_twitter: เปิดการแชร์ Twitter
|
||||
share_unmark: เปิดการแชร์ Unmark.it
|
||||
show_printlink: แสดงลิงค์เพื่อปรินท์เนื้อหา
|
||||
@ -32,3 +34,4 @@ share_public: ยอมรับ URL สาธารณะจากการเ
|
||||
download_images_enabled: ดาวน์โหลดรูปภาพเฉพาะ
|
||||
restricted_access: เปิดใช้งานการรองรับบนเว็บไซต์กับ paywall
|
||||
api_user_registration: เปิดใช้งานให้ผู้ใช้ลงทะเบียนการใช้ API
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -0,0 +1,41 @@
|
||||
# settings_changed: Configuration updated
|
||||
# download_pictures: Download pictures on your server
|
||||
# carrot: Enable share to Carrot
|
||||
# diaspora_url: Diaspora URL, if the service is enabled
|
||||
# export_epub: Enable ePub export
|
||||
# export_mobi: Enable .mobi export
|
||||
# export_pdf: Enable PDF export
|
||||
# export_csv: Enable CSV export
|
||||
# export_json: Enable JSON export
|
||||
# export_txt: Enable TXT export
|
||||
# export_xml: Enable XML export
|
||||
# import_with_rabbitmq: Enable RabbitMQ to import data asynchronously
|
||||
# import_with_redis: Enable Redis to import data asynchronously
|
||||
# shaarli_url: Shaarli URL, if the service is enabled
|
||||
# scuttle_url: Scuttle URL, if the service is enabled
|
||||
# unmark_url: Unmark URL, if the service is enabled
|
||||
# share_diaspora: Enable share to Diaspora
|
||||
# share_mail: Enable share by email
|
||||
# share_shaarli: Enable share to Shaarli
|
||||
# share_scuttle: Enable share to Scuttle
|
||||
# share_twitter: Enable share to Twitter
|
||||
# share_unmark: Enable share to Unmark.it
|
||||
# show_printlink: Display a link to print content
|
||||
# wallabag_support_url: Support URL for wallabag
|
||||
# wallabag_url: URL of *your* wallabag instance
|
||||
# entry: "article"
|
||||
# export: "export"
|
||||
# import: "import"
|
||||
# misc: "misc"
|
||||
# modify_settings: "apply"
|
||||
# matomo_host: Host of your website in Matomo (without http:// or https://)
|
||||
# matomo_site_id: ID of your website in Matomo
|
||||
# matomo_enabled: Enable Matomo
|
||||
# demo_mode_enabled: "Enable demo mode ? (only used for the wallabag public demo)"
|
||||
# demo_mode_username: "Demo user"
|
||||
# share_public: Allow public url for entries
|
||||
# download_images_enabled: Download images locally
|
||||
# restricted_access: Enable authentication for websites with paywall
|
||||
# api_user_registration: Enable user to be registered using the API
|
||||
# store_article_headers: Enable if wallabag stores HTTP headers for each article
|
||||
# shaarli_share_origin_url: Enable sharing origin url to Shaarli, if the service is enabled
|
||||
@ -1,8 +1,9 @@
|
||||
settings_changed: 配置已更新
|
||||
download_pictures: 在你的服务器上缓存图片
|
||||
carrot: 启用分享到 Carrot
|
||||
diaspora_url: diaspora* 链接,如果该服务已被启用
|
||||
export_epub: 启用 ePub 导出
|
||||
export_mobi: 启用 .mobi 导出(已废弃,不久后将移除)
|
||||
export_mobi: 启用 .mobi 导出
|
||||
export_pdf: 启用 PDF 导出
|
||||
export_csv: 启用 CSV 导出
|
||||
export_json: 启用 JSON 导出
|
||||
@ -11,10 +12,12 @@ export_xml: 启用 XML 导出
|
||||
import_with_rabbitmq: 启用 RabbitMQ 来异步导入数据
|
||||
import_with_redis: 启用 Redis 来异步导入数据
|
||||
shaarli_url: Shaarli 链接,如果该服务已被启用
|
||||
scuttle_url: Scuttle 链接,如果该服务已被启用
|
||||
unmark_url: Unmark 链接,如果该服务已被启用
|
||||
share_diaspora: 启用分享到 diaspora*
|
||||
share_mail: 启用邮件分享
|
||||
share_shaarli: 启用分享到 Shaarli
|
||||
share_scuttle: 启用分享到 Scuttle
|
||||
share_twitter: 启用分享到 Twitter
|
||||
share_unmark: 启用分享到 Unmark.it
|
||||
show_printlink: 展示一个用于打印内容的链接
|
||||
@ -23,15 +26,15 @@ entry: "文章"
|
||||
export: "导出"
|
||||
import: "导入"
|
||||
misc: "杂项"
|
||||
modify_settings: "应用"
|
||||
modify_settings: "申请"
|
||||
matomo_host: 你的网站在 Matomo 的主机名(不包括 http:// or https://)
|
||||
matomo_site_id: 你的网站在 Matomo 的 ID
|
||||
matomo_enabled: 启用 Matomo
|
||||
demo_mode_enabled: "启用演示模式?(仅用于 wallabag 公开演示)"
|
||||
demo_mode_username: "Demo 用户名"
|
||||
demo_mode_username: "Demo user"
|
||||
share_public: 允许为项目启用公开链接
|
||||
download_images_enabled: 在本地缓存图片
|
||||
restricted_access: 启用针对带有付费墙网站的认证
|
||||
api_user_registration: 允许新用户通过 API 注册
|
||||
store_article_headers: 让 wallabag 存储每篇文章的 HTTP header
|
||||
shaarli_share_origin_url: 如果启用了服务,则将原始链接分享到 Shaarli
|
||||
shaarli_share_origin_url: 选择分享原始链接到 Shaarli,如果该服务已被启用
|
||||
@ -1,4 +1,4 @@
|
||||
{% extends "@WallabagCore/layout.html.twig" %}
|
||||
{% extends "WallabagCoreBundle::layout.html.twig" %}
|
||||
|
||||
{% block title %}{{ 'menu.left.internal_settings'|trans }}{% endblock %}
|
||||
|
||||
@ -12,27 +12,25 @@
|
||||
<div class="row">
|
||||
<div class="div_tabs col s12">
|
||||
<ul class="tabs">
|
||||
{% for section in sections|craue_sortSections %}
|
||||
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section|trans({}, 'CraueConfigBundle') }}</a></li>
|
||||
{% for section in sections | craue_sortSections %}
|
||||
<li class="tab col s12 m6 l3"><a href="#set-{{ section }}">{{ section | trans({}, 'CraueConfigBundle') }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% for section in sections|craue_sortSections %}
|
||||
{% for section in sections | craue_sortSections %}
|
||||
<div id="set-{{ section }}" class="col s12">
|
||||
{% for setting in form.settings %}
|
||||
{% if setting.vars.value.section == section %}
|
||||
{{ form_row(setting.value, {
|
||||
'label': setting.vars.value.name|trans({}, 'CraueConfigBundle'),
|
||||
}) }}
|
||||
{% endif %}
|
||||
{% for setting in form.settings if setting.vars.value.section == section %}
|
||||
{{ form_row(setting.value, {
|
||||
'label': setting.vars.value.name | trans({}, 'CraueConfigBundle'),
|
||||
}) }}
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
|
||||
<button class="btn waves-effect waves-light" type="submit" name="action">
|
||||
{{ 'modify_settings'|trans({}, 'CraueConfigBundle') }}
|
||||
{{ 'modify_settings' | trans({}, 'CraueConfigBundle') }}
|
||||
</button>
|
||||
|
||||
{{ form_widget(form._token) }}
|
||||
@ -5,9 +5,9 @@
|
||||
.material-icons.md-48 { font-size: 48px; }
|
||||
|
||||
/* Rules for using icons as black on a light background. */
|
||||
.material-icons.md-dark { color: rgb(0 0 0 / 54%); }
|
||||
.material-icons.md-dark.md-inactive { color: rgb(0 0 0 / 26%); }
|
||||
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
|
||||
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }
|
||||
|
||||
/* Rules for using icons as white on a dark background. */
|
||||
.material-icons.md-light { color: rgb(255 255 255 / 100%); }
|
||||
.material-icons.md-light.md-inactive { color: rgb(255 255 255 / 30%); }
|
||||
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
|
||||
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }
|
||||
|
||||
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-114.png
Executable file
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-114.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 2.2 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-120.png
Executable file
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-120.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-144.png
Executable file
BIN
app/Resources/static/themes/_global/img/appicon/apple-touch-icon-144.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 KiB |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user