mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-18 02:03:40 +00:00
Compare commits
60 Commits
4.8.1.7
...
4.8.2-alph
Author | SHA1 | Date | |
---|---|---|---|
|
d8807e6ab7 | ||
|
a7a76e32d6 | ||
|
1294705809 | ||
|
bb449e1940 | ||
|
828b9d32aa | ||
|
a67b0f78a4 | ||
|
5177f2bc87 | ||
|
f06e947706 | ||
|
380f59dab2 | ||
|
c558bc3247 | ||
|
25378b3f9a | ||
|
abf84e94b1 | ||
|
8baf29b835 | ||
|
d709a9489d | ||
|
33ce7c0767 | ||
|
ec54ec22f6 | ||
|
706e722c6f | ||
|
58ec0c4add | ||
|
88692f0058 | ||
|
a8af0fa678 | ||
|
0bdd48ffec | ||
|
766a82a983 | ||
|
d749d550ee | ||
|
2ea1852a94 | ||
|
4f44a42655 | ||
|
26ed00e7b5 | ||
|
51f25b2dce | ||
|
3fc653687c | ||
|
4cd824f3b7 | ||
|
a6af263b50 | ||
|
0844278eca | ||
|
1b63bfc3db | ||
|
a4906a2d21 | ||
|
c4256dd25b | ||
|
091ab17fdb | ||
|
02ddb95cf2 | ||
|
f2d43d71ad | ||
|
af611b78de | ||
|
724a1b8b08 | ||
|
34e70c7446 | ||
|
01f869f1b6 | ||
|
73a6db8eda | ||
|
0bbc008848 | ||
|
5e61fa785e | ||
|
c131e6ad9b | ||
|
cbc92d89e1 | ||
|
9a028d5002 | ||
|
bed182cf13 | ||
|
d5afba6137 | ||
|
6b4b69b695 | ||
|
b528fa2e5d | ||
|
f4b9f81e71 | ||
|
ca37d782ed | ||
|
f7c34db39b | ||
|
0d072b4ed9 | ||
|
13a29a66c8 | ||
|
cfd9828438 | ||
|
b4d565400e | ||
|
be0e2bf6a7 | ||
|
778e0bcbae |
@@ -1,20 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# build image
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
if [ "$TRAVIS_BRANCH" == "develop" ]; then
|
||||
echo "Build develop amd64"
|
||||
docker build -t jc5x/firefly-iii:develop-amd64 -f Dockerfile.amd64 .
|
||||
docker tag jc5x/firefly-iii:develop-amd64 jc5x/firefly-iii:develop-$VERSION-amd64
|
||||
docker push jc5x/firefly-iii:develop-amd64
|
||||
docker push jc5x/firefly-iii:develop-$VERSION-amd64
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_BRANCH" == "master" ]; then
|
||||
echo "Build master amd64"
|
||||
docker build -t jc5x/firefly-iii:latest-amd64 -f Dockerfile.amd64 .
|
||||
docker tag jc5x/firefly-iii:latest-amd64 jc5x/firefly-iii:release-$VERSION-amd64
|
||||
docker push jc5x/firefly-iii:latest-amd64
|
||||
docker push jc5x/firefly-iii:release-$VERSION-amd64
|
||||
fi
|
@@ -1,29 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
|
||||
# get qemu-arm-static binary
|
||||
mkdir tmp
|
||||
pushd tmp && \
|
||||
curl -L -o qemu-arm-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v2.6.0/qemu-arm-static.tar.gz && \
|
||||
tar xzf qemu-arm-static.tar.gz && \
|
||||
popd
|
||||
|
||||
# build image
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
if [ "$TRAVIS_BRANCH" == "develop" ]; then
|
||||
echo "Build develop arm"
|
||||
docker build --tag jc5x/firefly-iii:develop-arm --file Dockerfile.arm .
|
||||
docker tag jc5x/firefly-iii:develop-arm jc5x/firefly-iii:develop-$VERSION-arm
|
||||
docker push jc5x/firefly-iii:develop-arm
|
||||
docker push jc5x/firefly-iii:develop-$VERSION-arm
|
||||
fi
|
||||
|
||||
if [ "$TRAVIS_BRANCH" == "master" ]; then
|
||||
echo "Build master arm"
|
||||
docker build --tag jc5x/firefly-iii:latest-arm --file Dockerfile.arm .
|
||||
docker tag jc5x/firefly-iii:latest-arm jc5x/firefly-iii:release-$VERSION-arm
|
||||
docker push jc5x/firefly-iii:latest-arm
|
||||
docker push jc5x/firefly-iii:release-$VERSION-arm
|
||||
fi
|
@@ -1,35 +1,162 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$TRAVIS_BRANCH" == "develop" ]; then
|
||||
echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
|
||||
mkdir $HOME/.docker
|
||||
touch $HOME/.docker/config.json
|
||||
echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json
|
||||
sudo service docker restart
|
||||
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
VERSION_TARGET=jc5x/firefly-iii:release-$VERSION
|
||||
|
||||
# if the github branch is develop, only push the 'develop' tag
|
||||
if [ $TRAVIS_BRANCH == "develop" ]; then
|
||||
TARGET=jc5x/firefly-iii:develop
|
||||
ARM=jc5x/firefly-iii:develop-arm
|
||||
AMD=jc5x/firefly-iii:develop-amd64
|
||||
ARM32=jc5x/firefly-iii:develop-arm
|
||||
ARM64=jc5x/firefly-iii:develop-arm64
|
||||
AMD64=jc5x/firefly-iii:develop-amd64
|
||||
|
||||
docker manifest create $TARGET $AMD $ARM
|
||||
docker manifest annotate $TARGET $ARM --arch arm --os linux
|
||||
docker manifest annotate $TARGET $AMD --arch amd64 --os linux
|
||||
echo "GitHub branch is $TRAVIS_BRANCH."
|
||||
echo "Push develop-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
fi
|
||||
|
||||
echo "The version is $VERSION"
|
||||
# if branch = master AND channel = alpha, push 'alpha'
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "alpha" ]; then
|
||||
TARGET=jc5x/firefly-iii:alpha
|
||||
ARM32=jc5x/firefly-iii:alpha-arm
|
||||
ARM64=jc5x/firefly-iii:alpha-arm64
|
||||
AMD64=jc5x/firefly-iii:alpha-amd64
|
||||
|
||||
echo "GitHub branch is $TRAVIS_BRANCH."
|
||||
echo "Channel is $CHANNEL."
|
||||
echo "Push alpha-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
echo "Push alpha-* builds to $VERSION_TARGET"
|
||||
|
||||
docker manifest create $VERSION_TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $VERSION_TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $VERSION_TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $VERSION_TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $VERSION_TARGET
|
||||
|
||||
fi
|
||||
|
||||
# if branch is master and channel is alpha, push 'alpha' and 'beta'.
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "beta" ]; then
|
||||
TARGET=jc5x/firefly-iii:alpha
|
||||
ARM32=jc5x/firefly-iii:beta-arm
|
||||
ARM64=jc5x/firefly-iii:beta-arm64
|
||||
AMD64=jc5x/firefly-iii:beta-amd64
|
||||
|
||||
echo "GitHub branch is $TRAVIS_BRANCH."
|
||||
echo "Channel is $CHANNEL."
|
||||
echo "Push beta-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
TARGET=jc5x/firefly-iii:beta
|
||||
ARM32=jc5x/firefly-iii:beta-arm
|
||||
ARM64=jc5x/firefly-iii:beta-arm64
|
||||
AMD64=jc5x/firefly-iii:beta-amd64
|
||||
|
||||
echo "Push beta-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
echo "Push beta-* builds to $VERSION_TARGET"
|
||||
|
||||
docker manifest create $VERSION_TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $VERSION_TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $VERSION_TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $VERSION_TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $VERSION_TARGET
|
||||
fi
|
||||
|
||||
# if branch is master and channel is stable, push 'alpha' and 'beta' and 'stable'.
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "stable" ]; then
|
||||
TARGET=jc5x/firefly-iii:alpha
|
||||
ARM32=jc5x/firefly-iii:stable-arm
|
||||
ARM64=jc5x/firefly-iii:stable-arm64
|
||||
AMD64=jc5x/firefly-iii:stable-amd64
|
||||
|
||||
echo "GitHub branch is $TRAVIS_BRANCH."
|
||||
echo "Channel is $CHANNEL."
|
||||
echo "Push stable-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
TARGET=jc5x/firefly-iii:beta
|
||||
ARM32=jc5x/firefly-iii:stable-arm
|
||||
ARM64=jc5x/firefly-iii:stable-arm64
|
||||
AMD64=jc5x/firefly-iii:stable-amd64
|
||||
|
||||
echo "Push stable-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
TARGET=jc5x/firefly-iii:stable
|
||||
ARM32=jc5x/firefly-iii:stable-arm
|
||||
ARM64=jc5x/firefly-iii:stable-arm64
|
||||
AMD64=jc5x/firefly-iii:stable-amd64
|
||||
|
||||
echo "Push stable-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
if [ "$TRAVIS_BRANCH" == "master" ]; then
|
||||
TARGET=jc5x/firefly-iii:latest
|
||||
ARM=jc5x/firefly-iii:latest-arm
|
||||
AMD=jc5x/firefly-iii:latest-amd64
|
||||
ARM32=jc5x/firefly-iii:stable-arm
|
||||
ARM64=jc5x/firefly-iii:stable-arm64
|
||||
AMD64=jc5x/firefly-iii:stable-amd64
|
||||
|
||||
docker manifest create $TARGET $AMD $ARM
|
||||
docker manifest annotate $TARGET $ARM --arch arm --os linux
|
||||
docker manifest annotate $TARGET $AMD --arch amd64 --os linux
|
||||
echo "Push stable-* builds to $TARGET"
|
||||
|
||||
docker manifest create $TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
|
||||
# and another one for version specific:
|
||||
TARGET=jc5x/firefly-iii:release-$VERSION
|
||||
ARM=jc5x/firefly-iii:release-$VERSION-arm
|
||||
AMD=jc5x/firefly-iii:release-$VERSION-amd64
|
||||
echo "Push stable-* builds to $VERSION_TARGET"
|
||||
|
||||
docker manifest create $TARGET $AMD $ARM
|
||||
docker manifest annotate $TARGET $ARM --arch arm --os linux
|
||||
docker manifest annotate $TARGET $AMD --arch amd64 --os linux
|
||||
docker manifest push $TARGET
|
||||
docker manifest create $VERSION_TARGET $ARM32 $ARM64 $AMD64
|
||||
docker manifest annotate $VERSION_TARGET $ARM32 --arch arm --os linux
|
||||
docker manifest annotate $VERSION_TARGET $ARM64 --arch arm64 --os linux
|
||||
docker manifest annotate $VERSION_TARGET $AMD64 --arch amd64 --os linux
|
||||
docker manifest push $VERSION_TARGET
|
||||
fi
|
||||
|
||||
echo 'Done!'
|
||||
# done!
|
103
.deploy/docker/travis.sh
Executable file
103
.deploy/docker/travis.sh
Executable file
@@ -0,0 +1,103 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
echo "travis.sh: I am building channel ${CHANNEL} for version ${VERSION} on architecture ${ARCH}, branch $TRAVIS_BRANCH."
|
||||
|
||||
echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
|
||||
mkdir $HOME/.docker
|
||||
touch $HOME/.docker/config.json
|
||||
echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json
|
||||
sudo service docker restart
|
||||
|
||||
# First build amd64 image:
|
||||
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
|
||||
|
||||
if [ $ARCH == "arm" ]; then
|
||||
echo "Because architecture is $ARCH running some extra commands."
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
|
||||
# get qemu-arm-static binary
|
||||
mkdir tmp
|
||||
pushd tmp && \
|
||||
curl -L -o qemu-arm-static.tar.gz https://github.com/multiarch/qemu-user-static/releases/download/v2.6.0/qemu-arm-static.tar.gz && \
|
||||
tar xzf qemu-arm-static.tar.gz && \
|
||||
popd
|
||||
fi
|
||||
|
||||
# if the github branch is develop, build and push develop. Don't push a version tag anymore.
|
||||
if [ $TRAVIS_BRANCH == "develop" ]; then
|
||||
LABEL=jc5x/firefly-iii:develop-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH. Will build and push $LABEL"
|
||||
docker build -t $LABEL -f Dockerfile.$ARCH .
|
||||
docker push $LABEL
|
||||
fi
|
||||
|
||||
# if branch = master AND channel = alpha, build and push 'alpha'
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "alpha" ]; then
|
||||
LABEL=jc5x/firefly-iii:alpha-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH and channel is $CHANNEL. Will build and push $LABEL"
|
||||
docker build -t $LABEL -f Dockerfile.$ARCH .
|
||||
docker push $LABEL
|
||||
fi
|
||||
|
||||
# if branch is master and channel is alpha, build and push 'alpha' and 'beta'.
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "beta" ]; then
|
||||
LABEL=jc5x/firefly-iii:beta-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH and channel is $CHANNEL. Will build and push $LABEL"
|
||||
docker build -t $LABEL -f Dockerfile.$ARCH .
|
||||
docker push $LABEL
|
||||
|
||||
# then tag as alpha and push:
|
||||
docker tag $LABEL jc5x/firefly-iii:alpha-$ARCH
|
||||
docker push jc5x/firefly-iii:alpha-$ARCH
|
||||
echo "Also tagged $LABEL as jc5x/firefly-iii:alpha-$ARCH and pushed"
|
||||
fi
|
||||
|
||||
# if branch is master and channel is stable, push 'alpha' and 'beta' and 'stable'.
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "stable" ]; then
|
||||
# first build stable
|
||||
LABEL=jc5x/firefly-iii:stable-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH and channel is $CHANNEL. Will build and push $LABEL"
|
||||
docker build -t $LABEL -f Dockerfile.$ARCH .
|
||||
docker push $LABEL
|
||||
|
||||
# then tag as beta and push:
|
||||
docker tag $LABEL jc5x/firefly-iii:beta-$ARCH
|
||||
docker push jc5x/firefly-iii:beta-$ARCH
|
||||
echo "Also tagged $LABEL as jc5x/firefly-iii:beta-$ARCH and pushed"
|
||||
|
||||
# then tag as alpha and push:
|
||||
docker tag $LABEL jc5x/firefly-iii:alpha-$ARCH
|
||||
docker push jc5x/firefly-iii:alpha-$ARCH
|
||||
echo "Also tagged $LABEL as jc5x/firefly-iii:alpha-$ARCH and pushed"
|
||||
|
||||
# then tag as latest and push:
|
||||
docker tag $LABEL jc5x/firefly-iii:latest-$ARCH
|
||||
docker push jc5x/firefly-iii:latest-$ARCH
|
||||
echo "Also tagged $LABEL as jc5x/firefly-iii:latest-$ARCH and pushed"
|
||||
fi
|
||||
|
||||
# push to channel 'version' if master + alpha
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "alpha"]; then
|
||||
LABEL=jc5x/firefly-iii:version-$VERSION-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH and channel is $CHANNEL. Will also push alpha as $LABEL"
|
||||
docker tag jc5x/firefly-iii:alpha-$ARCH $LABEL
|
||||
docker push $LABEL
|
||||
fi
|
||||
|
||||
# push to channel 'version' if master + beta
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "beta"]; then
|
||||
LABEL=jc5x/firefly-iii:version-$VERSION-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH and channel is $CHANNEL. Will also push beta as $LABEL"
|
||||
docker tag jc5x/firefly-iii:beta-$ARCH $LABEL
|
||||
docker push $LABEL
|
||||
fi
|
||||
|
||||
# push to channel 'version' if master + stable
|
||||
if [ $TRAVIS_BRANCH == "master" ] && [ $CHANNEL == "stable"]; then
|
||||
LABEL=jc5x/firefly-iii:version-$VERSION-$ARCH
|
||||
echo "GitHub branch is $TRAVIS_BRANCH and channel is $CHANNEL. Will also push beta as $LABEL"
|
||||
docker tag jc5x/firefly-iii:stable-$ARCH $LABEL
|
||||
docker push $LABEL
|
||||
fi
|
||||
|
||||
echo "Done!"
|
@@ -1,26 +0,0 @@
|
||||
server {
|
||||
listen 80 default_server;
|
||||
|
||||
server_name _ *.vm docker;
|
||||
|
||||
root "/app/public";
|
||||
index index.php;
|
||||
|
||||
include /opt/docker/etc/nginx/vhost.common.d/*.conf;
|
||||
}
|
||||
|
||||
##############
|
||||
# SSL
|
||||
##############
|
||||
|
||||
server {
|
||||
listen 443 default_server;
|
||||
|
||||
server_name _ *.vm docker;
|
||||
|
||||
root "/app/public";
|
||||
index index.php;
|
||||
|
||||
include /opt/docker/etc/nginx/vhost.common.d/*.conf;
|
||||
include /opt/docker/etc/nginx/vhost.ssl.conf;
|
||||
}
|
13
.env.example
13
.env.example
@@ -26,10 +26,12 @@ APP_URL=http://localhost
|
||||
TRUSTED_PROXIES=
|
||||
|
||||
# The log channel defines where your log entries go to.
|
||||
# 'daily' is the default logging mode giving you 5 daily rotated log files in /storage/logs/.
|
||||
# - If you use DOCKER, use 'docker_out'
|
||||
# - For everything else, use 'daily'
|
||||
|
||||
# Several other options exist. You can use 'single' for one big fat error log (not recommended).
|
||||
# Also available are 'syslog', 'errorlog' and 'stdout' which will log to the system itself.
|
||||
LOG_CHANNEL=daily
|
||||
LOG_CHANNEL=docker_out
|
||||
|
||||
# Log level. You can set this from least severe to most severe:
|
||||
# debug, info, notice, warning, error, critical, alert, emergency
|
||||
@@ -38,7 +40,7 @@ LOG_CHANNEL=daily
|
||||
APP_LOG_LEVEL=notice
|
||||
|
||||
# Database credentials. Make sure the database exists. I recommend a dedicated user for Firefly III
|
||||
# For other database types, please see the FAQ: http://firefly-iii.readthedocs.io/en/latest/support/faq.html
|
||||
# For other database types, please see the FAQ: https://docs.firefly-iii.org/support/faq
|
||||
DB_CONNECTION=pgsql
|
||||
DB_HOST=firefly_iii_db
|
||||
DB_PORT=5432
|
||||
@@ -76,7 +78,7 @@ COOKIE_DOMAIN=
|
||||
COOKIE_SECURE=false
|
||||
|
||||
# If you want Firefly III to mail you, update these settings
|
||||
# For instructions, see: https://firefly-iii.readthedocs.io/en/latest/installation/mail.html
|
||||
# For instructions, see: https://docs.firefly-iii.org/advanced-installation/email
|
||||
MAIL_DRIVER=log
|
||||
MAIL_HOST=smtp.mailtrap.io
|
||||
MAIL_PORT=2525
|
||||
@@ -121,7 +123,7 @@ ANALYTICS_ID=
|
||||
# Firefly III has two options for user authentication. "eloquent" is the default,
|
||||
# and "ldap" for LDAP servers.
|
||||
# For full instructions on these settings please visit:
|
||||
# https://firefly-iii.readthedocs.io/en/latest/installation/authentication.html
|
||||
# https://docs.firefly-iii.org/advanced-installation/authentication
|
||||
LOGIN_PROVIDER=eloquent
|
||||
|
||||
# LDAP connection configuration
|
||||
@@ -180,6 +182,7 @@ DEMO_USERNAME=
|
||||
DEMO_PASSWORD=
|
||||
USE_ENCRYPTION=false
|
||||
IS_SANDSTORM=false
|
||||
IS_DOCKER=false
|
||||
IS_HEROKU=false
|
||||
BUNQ_USE_SANDBOX=false
|
||||
FFIII_LAYOUT=v1
|
||||
|
39
.travis.yml
39
.travis.yml
@@ -1,9 +1,5 @@
|
||||
sudo: required
|
||||
language: bash
|
||||
env:
|
||||
- VERSION=4.8.1.7
|
||||
|
||||
dist: xenial
|
||||
|
||||
# safelist
|
||||
branches:
|
||||
@@ -14,16 +10,25 @@ branches:
|
||||
services:
|
||||
- docker
|
||||
|
||||
script:
|
||||
# enable experimental features.
|
||||
- echo '{"experimental":true}' | sudo tee /etc/docker/daemon.json
|
||||
- mkdir $HOME/.docker
|
||||
- touch $HOME/.docker/config.json
|
||||
- echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json
|
||||
- sudo service docker restart
|
||||
- docker version -f '{{.Server.Experimental}}'
|
||||
- docker version
|
||||
# build everything
|
||||
- .deploy/docker/build-amd64.sh
|
||||
- .deploy/docker/build-arm.sh
|
||||
- .deploy/docker/manifest.sh
|
||||
jobs:
|
||||
include:
|
||||
- dist: xenial
|
||||
arch: amd64
|
||||
env: ARCH=amd64 CHANNEL=alpha VERSION=4.8.2-alpha.2
|
||||
stage: build
|
||||
script: ./.deploy/docker/travis.sh
|
||||
- dist: xenial
|
||||
arch: amd64
|
||||
env: ARCH=arm CHANNEL=alpha VERSION=4.8.2-alpha.2
|
||||
stage: build
|
||||
script: ./.deploy/docker/travis.sh
|
||||
- dist: xenial
|
||||
arch: arm64
|
||||
env: ARCH=arm64 CHANNEL=alpha VERSION=4.8.2-alpha.2
|
||||
stage: build
|
||||
script: ./.deploy/docker/travis.sh
|
||||
- dist: xenial
|
||||
arch: amd64
|
||||
env: CHANNEL=alpha VERSION=4.8.2-alpha.2
|
||||
stage: manifest
|
||||
script: ./.deploy/docker/manifest.sh
|
@@ -1,25 +1,13 @@
|
||||
FROM arm32v7/php:7.2-apache-stretch
|
||||
ARG ARCH
|
||||
COPY tmp/qemu-arm-static /usr/bin/qemu-arm-static
|
||||
FROM jc5x/firefly-iii-base-image:latest-arm
|
||||
|
||||
# See also: https://github.com/JC5/firefly-iii-base-image
|
||||
|
||||
ENV FIREFLY_PATH=/var/www/firefly-iii COMPOSER_ALLOW_SUPERUSER=1
|
||||
LABEL version="1.5" maintainer="thegrumpydictator@gmail.com"
|
||||
|
||||
# Create volumes
|
||||
VOLUME $FIREFLY_PATH/storage/export $FIREFLY_PATH/storage/upload
|
||||
|
||||
# Install stuff Firefly III runs with & depends on: php extensions, locales, dev headers and composer
|
||||
RUN apt-get update && apt-get install -y locales unzip && apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
ADD https://raw.githubusercontent.com/mlocati/docker-php-extension-installer/master/install-php-extensions /usr/local/bin/
|
||||
|
||||
RUN chmod uga+x /usr/local/bin/install-php-extensions && sync && \
|
||||
install-php-extensions --cleanup bcmath ldap gd pdo_pgsql pdo_sqlite pdo_mysql intl opcache memcached
|
||||
|
||||
RUN a2enmod rewrite && a2enmod ssl
|
||||
RUN echo "hu_HU.UTF-8 UTF-8\nro_RO.UTF-8 UTF-8\nnb_NO.UTF-8 UTF-8\nde_DE.UTF-8 UTF-8\ncs_CZ.UTF-8 UTF-8\nen_US.UTF-8 UTF-8\nes_ES.UTF-8 UTF-8\nfr_FR.UTF-8 UTF-8\nid_ID.UTF-8 UTF-8\nit_IT.UTF-8 UTF-8\nnl_NL.UTF-8 UTF-8\npl_PL.UTF-8 UTF-8\npt_BR.UTF-8 UTF-8\nru_RU.UTF-8 UTF-8\ntr_TR.UTF-8 UTF-8\nzh_TW.UTF-8 UTF-8\nzh_CN.UTF-8 UTF-8\n\n" > /etc/locale.gen
|
||||
RUN locale-gen
|
||||
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
||||
|
||||
# Copy in Firefly III source
|
||||
WORKDIR $FIREFLY_PATH
|
||||
ADD . $FIREFLY_PATH
|
||||
@@ -29,15 +17,6 @@ RUN chown -R www-data:www-data /var/www && \
|
||||
chmod -R 775 $FIREFLY_PATH/storage && \
|
||||
composer install --prefer-dist --no-dev --no-scripts --no-suggest
|
||||
|
||||
# copy ca certs to correct location
|
||||
COPY ./.deploy/docker/cacert.pem /usr/local/ssl/cert.pem
|
||||
|
||||
# copy Apache config to correct spot.
|
||||
COPY ./.deploy/docker/apache2.conf /etc/apache2/apache2.conf
|
||||
|
||||
# Enable default site (Firefly III)
|
||||
COPY ./.deploy/docker/apache-firefly.conf /etc/apache2/sites-available/000-default.conf
|
||||
|
||||
# Expose port 80
|
||||
EXPOSE 80
|
||||
|
||||
|
@@ -98,15 +98,15 @@ class AttachmentController extends Controller
|
||||
public function download(Attachment $attachment): LaravelResponse
|
||||
{
|
||||
if (false === $attachment->uploaded) {
|
||||
throw new FireflyException('No file has been uploaded for this attachment (yet).');
|
||||
throw new FireflyException('200000: File has not been uploaded (yet).');
|
||||
}
|
||||
if (0 === $attachment->size) {
|
||||
throw new FireflyException('No file has been uploaded for this attachment (yet).');
|
||||
throw new FireflyException('200000: File has not been uploaded (yet).');
|
||||
}
|
||||
if ($this->repository->exists($attachment)) {
|
||||
$content = $this->repository->getContent($attachment);
|
||||
if ('' === $content) {
|
||||
throw new FireflyException('No file has been uploaded for this attachment (yet).');
|
||||
throw new FireflyException('200002: File is empty (zero bytes).');
|
||||
}
|
||||
$quoted = sprintf('"%s"', addcslashes(basename($attachment->filename), '"\\'));
|
||||
|
||||
@@ -125,7 +125,7 @@ class AttachmentController extends Controller
|
||||
|
||||
return $response;
|
||||
}
|
||||
throw new FireflyException('Could not find the indicated attachment. The file is no longer there.');
|
||||
throw new FireflyException('200003: File does not exist.');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -211,20 +211,16 @@ class BillController extends Controller
|
||||
*/
|
||||
public function store(BillRequest $request): JsonResponse
|
||||
{
|
||||
$bill = $this->repository->store($request->getAll());
|
||||
if (null !== $bill) {
|
||||
$manager = $this->getManager();
|
||||
$bill = $this->repository->store($request->getAll());
|
||||
$manager = $this->getManager();
|
||||
|
||||
/** @var BillTransformer $transformer */
|
||||
$transformer = app(BillTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
/** @var BillTransformer $transformer */
|
||||
$transformer = app(BillTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
$resource = new Item($bill, $transformer, 'bills');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
throw new FireflyException('Could not store new bill.'); // @codeCoverageIgnore
|
||||
$resource = new Item($bill, $transformer, 'bills');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -187,19 +187,16 @@ class BudgetController extends Controller
|
||||
*/
|
||||
public function store(BudgetRequest $request): JsonResponse
|
||||
{
|
||||
$budget = $this->repository->store($request->getAll());
|
||||
if (null !== $budget) {
|
||||
$manager = $this->getManager();
|
||||
$budget = $this->repository->store($request->getAll());
|
||||
$manager = $this->getManager();
|
||||
|
||||
/** @var BudgetTransformer $transformer */
|
||||
$transformer = app(BudgetTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
/** @var BudgetTransformer $transformer */
|
||||
$transformer = app(BudgetTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
$resource = new Item($budget, $transformer, 'budgets');
|
||||
$resource = new Item($budget, $transformer, 'budgets');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
throw new FireflyException('Could not store new budget.'); // @codeCoverageIgnore
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -165,7 +165,7 @@ class BudgetLimitController extends Controller
|
||||
$data = $request->getAll();
|
||||
$budget = $this->repository->findNull($data['budget_id']);
|
||||
if (null === $budget) {
|
||||
throw new FireflyException('Unknown budget.');
|
||||
throw new FireflyException('200004: Budget does not exist.');
|
||||
}
|
||||
$data['budget'] = $budget;
|
||||
$budgetLimit = $this->blRepository->storeBudgetLimit($data);
|
||||
|
@@ -152,18 +152,15 @@ class CategoryController extends Controller
|
||||
public function store(CategoryRequest $request): JsonResponse
|
||||
{
|
||||
$category = $this->repository->store($request->getAll());
|
||||
if (null !== $category) {
|
||||
$manager = $this->getManager();
|
||||
$manager = $this->getManager();
|
||||
|
||||
/** @var CategoryTransformer $transformer */
|
||||
$transformer = app(CategoryTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
/** @var CategoryTransformer $transformer */
|
||||
$transformer = app(CategoryTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
$resource = new Item($category, $transformer, 'categories');
|
||||
$resource = new Item($category, $transformer, 'categories');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
throw new FireflyException('Could not store new category.'); // @codeCoverageIgnore
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -57,7 +57,7 @@ class ConfigurationController extends Controller
|
||||
$admin = auth()->user();
|
||||
|
||||
if (!$this->repository->hasRole($admin, 'owner')) {
|
||||
throw new FireflyException('No access to method.'); // @codeCoverageIgnore
|
||||
throw new FireflyException('200005: You need the "owner" role to do this.'); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
return $next($request);
|
||||
|
@@ -313,10 +313,10 @@ class CurrencyController extends Controller
|
||||
|
||||
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
||||
// access denied:
|
||||
throw new FireflyException('No access to method, user is not owner.'); // @codeCoverageIgnore
|
||||
throw new FireflyException('200005: You need the "owner" role to do this.'); // @codeCoverageIgnore
|
||||
}
|
||||
if ($this->repository->currencyInUse($currency)) {
|
||||
throw new FireflyException('No access to method, currency is in use.'); // @codeCoverageIgnore
|
||||
throw new FireflyException('200006: Currency in use.'); // @codeCoverageIgnore
|
||||
}
|
||||
$this->repository->destroy($currency);
|
||||
|
||||
@@ -574,26 +574,21 @@ class CurrencyController extends Controller
|
||||
public function store(CurrencyRequest $request): JsonResponse
|
||||
{
|
||||
$currency = $this->repository->store($request->getAll());
|
||||
|
||||
if (null !== $currency) {
|
||||
if (true === $request->boolean('default')) {
|
||||
app('preferences')->set('currencyPreference', $currency->code);
|
||||
app('preferences')->mark();
|
||||
}
|
||||
$manager = $this->getManager();
|
||||
$defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user());
|
||||
$this->parameters->set('defaultCurrency', $defaultCurrency);
|
||||
|
||||
/** @var CurrencyTransformer $transformer */
|
||||
$transformer = app(CurrencyTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
$resource = new Item($currency, $transformer, 'currencies');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
if (true === $request->boolean('default')) {
|
||||
app('preferences')->set('currencyPreference', $currency->code);
|
||||
app('preferences')->mark();
|
||||
}
|
||||
throw new FireflyException('Could not store new currency.'); // @codeCoverageIgnore
|
||||
$manager = $this->getManager();
|
||||
$defaultCurrency = app('amount')->getDefaultCurrencyByUser(auth()->user());
|
||||
$this->parameters->set('defaultCurrency', $defaultCurrency);
|
||||
|
||||
/** @var CurrencyTransformer $transformer */
|
||||
$transformer = app(CurrencyTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
$resource = new Item($currency, $transformer, 'currencies');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -79,10 +79,10 @@ class CurrencyExchangeRateController extends Controller
|
||||
$toCurrency = $this->repository->findByCodeNull($request->get('to') ?? 'USD');
|
||||
|
||||
if (null === $fromCurrency) {
|
||||
throw new FireflyException('Unknown source currency.');
|
||||
throw new FireflyException('200007: Unknown source currency');
|
||||
}
|
||||
if (null === $toCurrency) {
|
||||
throw new FireflyException('Unknown destination currency.');
|
||||
throw new FireflyException('200007: Unknown destination currency');
|
||||
}
|
||||
|
||||
/** @var Carbon $dateObj */
|
||||
|
@@ -86,7 +86,7 @@ class LinkTypeController extends Controller
|
||||
public function delete(LinkType $linkType): JsonResponse
|
||||
{
|
||||
if (false === $linkType->editable) {
|
||||
throw new FireflyException(sprintf('You cannot delete this link type (#%d, "%s")', $linkType->id, $linkType->name));
|
||||
throw new FireflyException('200020: Link type cannot be changed.');
|
||||
}
|
||||
$this->repository->destroy($linkType);
|
||||
|
||||
@@ -160,7 +160,7 @@ class LinkTypeController extends Controller
|
||||
$admin = auth()->user();
|
||||
|
||||
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
||||
throw new FireflyException('You need the "owner"-role to do this.');
|
||||
throw new FireflyException('200005: You need the "owner" role to do this.'); // @codeCoverageIgnore
|
||||
}
|
||||
$data = $request->getAll();
|
||||
// if currency ID is 0, find the currency by the code:
|
||||
@@ -247,14 +247,14 @@ class LinkTypeController extends Controller
|
||||
public function update(LinkTypeRequest $request, LinkType $linkType): JsonResponse
|
||||
{
|
||||
if (false === $linkType->editable) {
|
||||
throw new FireflyException(sprintf('You cannot edit this link type (#%d, "%s")', $linkType->id, $linkType->name));
|
||||
throw new FireflyException('200020: Link type cannot be changed.');
|
||||
}
|
||||
|
||||
/** @var User $admin */
|
||||
$admin = auth()->user();
|
||||
|
||||
if (!$this->userRepository->hasRole($admin, 'owner')) {
|
||||
throw new FireflyException('You need the "owner"-role to do this.');
|
||||
throw new FireflyException('200005: You need the "owner" role to do this.'); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
$data = $request->getAll();
|
||||
|
@@ -181,19 +181,15 @@ class PiggyBankController extends Controller
|
||||
public function store(PiggyBankRequest $request): JsonResponse
|
||||
{
|
||||
$piggyBank = $this->repository->store($request->getAll());
|
||||
if (null !== $piggyBank) {
|
||||
$manager = $this->getManager();
|
||||
$manager = $this->getManager();
|
||||
|
||||
/** @var PiggyBankTransformer $transformer */
|
||||
$transformer = app(PiggyBankTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
/** @var PiggyBankTransformer $transformer */
|
||||
$transformer = app(PiggyBankTransformer::class);
|
||||
$transformer->setParameters($this->parameters);
|
||||
|
||||
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
throw new FireflyException('Could not store new piggy bank.');
|
||||
$resource = new Item($piggyBank, $transformer, 'piggy_banks');
|
||||
|
||||
return response()->json($manager->createData($resource)->toArray())->header('Content-Type', 'application/vnd.api+json');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -236,7 +236,7 @@ class RecurrenceController extends Controller
|
||||
$result = $recurring->fire();
|
||||
} catch (FireflyException $e) {
|
||||
Log::error($e->getMessage());
|
||||
throw new FireflyException('Could not fire recurring cron job.');
|
||||
throw new FireflyException('200022: Error in cron job.');
|
||||
}
|
||||
if (false === $result) {
|
||||
return response()->json([], 204);
|
||||
|
@@ -257,7 +257,7 @@ class RuleGroupController extends Controller
|
||||
/** @var Collection $rules */
|
||||
$rules = $this->ruleGroupRepository->getActiveRules($group);
|
||||
if (0 === $rules->count()) {
|
||||
throw new FireflyException('No rules in this rule group.');
|
||||
throw new FireflyException('200023: No rules in this rule group.');
|
||||
}
|
||||
$parameters = $request->getTestParameters();
|
||||
$matchingTransactions = [];
|
||||
|
@@ -165,7 +165,7 @@ class TransactionLinkController extends Controller
|
||||
$inward = $this->journalRepository->findNull($data['inward_id'] ?? 0);
|
||||
$outward = $this->journalRepository->findNull($data['outward_id'] ?? 0);
|
||||
if (null === $inward || null === $outward) {
|
||||
throw new FireflyException('Source or destination is NULL.');
|
||||
throw new FireflyException('200024: Source or destination does not exist.');
|
||||
}
|
||||
$data['direction'] = 'inward';
|
||||
|
||||
@@ -196,7 +196,7 @@ class TransactionLinkController extends Controller
|
||||
$data['inward'] = $this->journalRepository->findNull($data['inward_id'] ?? 0);
|
||||
$data['outward'] = $this->journalRepository->findNull($data['outward_id'] ?? 0);
|
||||
if (null === $data['inward'] || null === $data['outward']) {
|
||||
throw new FireflyException('Source or destination is NULL.');
|
||||
throw new FireflyException('200024: Source or destination does not exist.');
|
||||
}
|
||||
$data['direction'] = 'inward';
|
||||
$journalLink = $this->repository->updateLink($journalLink, $data);
|
||||
|
@@ -83,7 +83,7 @@ class UserController extends Controller
|
||||
|
||||
return response()->json([], 204);
|
||||
}
|
||||
throw new FireflyException('No access to method.'); // @codeCoverageIgnore
|
||||
throw new FireflyException('200025: No access to function.'); // @codeCoverageIgnore
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -30,6 +30,7 @@ use FireflyIII\Models\Transaction;
|
||||
use FireflyIII\Models\TransactionJournal;
|
||||
use FireflyIII\Models\TransactionType;
|
||||
use Illuminate\Console\Command;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
* Class FixAccountTypes
|
||||
@@ -66,6 +67,7 @@ class FixAccountTypes extends Command
|
||||
public function handle(): int
|
||||
{
|
||||
$this->stupidLaravel();
|
||||
Log::debug('Now in fix-account-types');
|
||||
$start = microtime(true);
|
||||
$this->factory = app(AccountFactory::class);
|
||||
// some combinations can be fixed by this script:
|
||||
@@ -88,13 +90,16 @@ class FixAccountTypes extends Command
|
||||
|
||||
$this->expected = config('firefly.source_dests');
|
||||
$journals = TransactionJournal::with(['TransactionType', 'transactions', 'transactions.account', 'transactions.account.accounttype'])->get();
|
||||
Log::debug(sprintf('Found %d journals to fix.', $journals->count()));
|
||||
foreach ($journals as $journal) {
|
||||
$this->inspectJournal($journal);
|
||||
}
|
||||
if (0 === $this->count) {
|
||||
Log::debug('No journals had to be fixed.');
|
||||
$this->info('All account types are OK!');
|
||||
}
|
||||
if (0 !== $this->count) {
|
||||
Log::debug(sprintf('%d journals had to be fixed.', $this->count));
|
||||
$this->info(sprintf('Acted on %d transaction(s)!', $this->count));
|
||||
}
|
||||
|
||||
@@ -223,21 +228,36 @@ class FixAccountTypes extends Command
|
||||
*/
|
||||
private function inspectJournal(TransactionJournal $journal): void
|
||||
{
|
||||
Log::debug(sprintf('Now trying to fix journal #%d', $journal->id));
|
||||
$count = $journal->transactions()->count();
|
||||
if (2 !== $count) {
|
||||
Log::debug(sprintf('Journal has %d transactions, so cant fix.', $count));
|
||||
$this->info(sprintf('Cannot inspect transaction journal #%d because it has %d transaction(s) instead of 2.', $journal->id, $count));
|
||||
|
||||
return;
|
||||
}
|
||||
$type = $journal->transactionType->type;
|
||||
$sourceTransaction = $this->getSourceTransaction($journal);
|
||||
$destTransaction = $this->getDestinationTransaction($journal);
|
||||
if (null === $sourceTransaction) {
|
||||
Log::error('Source transaction is unexpectedly NULL. Wont fix this journal.');
|
||||
|
||||
return;
|
||||
}
|
||||
if (null === $destTransaction) {
|
||||
Log::error('Destination transaction is unexpectedly NULL. Wont fix this journal.');
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$sourceAccount = $sourceTransaction->account;
|
||||
$sourceAccountType = $sourceAccount->accountType->type;
|
||||
$destTransaction = $this->getDestinationTransaction($journal);
|
||||
$destAccount = $destTransaction->account;
|
||||
$destAccountType = $destAccount->accountType->type;
|
||||
|
||||
if (!isset($this->expected[$type])) {
|
||||
// @codeCoverageIgnoreStart
|
||||
Log::info(sprintf('No source/destination info for transaction type %s.', $type));
|
||||
$this->info(sprintf('No source/destination info for transaction type %s.', $type));
|
||||
|
||||
return;
|
||||
|
@@ -24,10 +24,12 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Factory;
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\Models\TransactionCurrency;
|
||||
use FireflyIII\Services\Internal\Support\BillServiceTrait;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
@@ -55,6 +57,7 @@ class BillFactory
|
||||
* @param array $data
|
||||
*
|
||||
* @return Bill|null
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function create(array $data): ?Bill
|
||||
{
|
||||
@@ -64,28 +67,31 @@ class BillFactory
|
||||
$currency = $factory->find((int)($data['currency_id'] ?? null), (string)($data['currency_code'] ?? null));
|
||||
|
||||
if (null === $currency) {
|
||||
// use default currency:
|
||||
$currency = app('amount')->getDefaultCurrencyByUser($this->user);
|
||||
}
|
||||
try {
|
||||
/** @var Bill $bill */
|
||||
$bill = Bill::create(
|
||||
[
|
||||
'name' => $data['name'],
|
||||
'match' => 'MIGRATED_TO_RULES',
|
||||
'amount_min' => $data['amount_min'],
|
||||
'user_id' => $this->user->id,
|
||||
'transaction_currency_id' => $currency->id,
|
||||
'amount_max' => $data['amount_max'],
|
||||
'date' => $data['date'],
|
||||
'repeat_freq' => $data['repeat_freq'],
|
||||
'skip' => $data['skip'],
|
||||
'automatch' => true,
|
||||
'active' => $data['active'] ?? true,
|
||||
]
|
||||
);
|
||||
} catch(QueryException $e) {
|
||||
Log::error($e->getMessage());
|
||||
Log::error($e->getTraceAsString());
|
||||
throw new FireflyException('400000: Could not store bill.');
|
||||
}
|
||||
|
||||
/** @var Bill $bill */
|
||||
$bill = Bill::create(
|
||||
[
|
||||
'name' => $data['name'],
|
||||
'match' => 'MIGRATED_TO_RULES',
|
||||
'amount_min' => $data['amount_min'],
|
||||
'user_id' => $this->user->id,
|
||||
'transaction_currency_id' => $currency->id,
|
||||
'amount_max' => $data['amount_max'],
|
||||
'date' => $data['date'],
|
||||
'repeat_freq' => $data['repeat_freq'],
|
||||
'skip' => $data['skip'],
|
||||
'automatch' => true,
|
||||
'active' => $data['active'] ?? true,
|
||||
]
|
||||
);
|
||||
|
||||
// update note:
|
||||
if (isset($data['notes'])) {
|
||||
$this->updateNote($bill, $data['notes']);
|
||||
}
|
||||
|
@@ -24,8 +24,10 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Factory;
|
||||
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Category;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
@@ -62,7 +64,7 @@ class CategoryFactory
|
||||
* @param null|string $categoryName
|
||||
*
|
||||
* @return Category|null
|
||||
*
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function findOrCreate(?int $categoryId, ?string $categoryName): ?Category
|
||||
{
|
||||
@@ -88,13 +90,17 @@ class CategoryFactory
|
||||
if (null !== $category) {
|
||||
return $category;
|
||||
}
|
||||
|
||||
return Category::create(
|
||||
[
|
||||
'user_id' => $this->user->id,
|
||||
'name' => $categoryName,
|
||||
]
|
||||
);
|
||||
try {
|
||||
return Category::create(
|
||||
[
|
||||
'user_id' => $this->user->id,
|
||||
'name' => $categoryName,
|
||||
]
|
||||
);
|
||||
} catch (QueryException $e) {
|
||||
Log::error($e->getMessage());
|
||||
throw new FireflyException('400003: Could not store new category.');
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
|
@@ -27,6 +27,7 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Factory;
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\TransactionCurrency;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Log;
|
||||
@@ -51,9 +52,10 @@ class TransactionCurrencyFactory
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return TransactionCurrency|null
|
||||
* @return TransactionCurrency
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function create(array $data): ?TransactionCurrency
|
||||
public function create(array $data): TransactionCurrency
|
||||
{
|
||||
try {
|
||||
/** @var TransactionCurrency $currency */
|
||||
@@ -69,6 +71,7 @@ class TransactionCurrencyFactory
|
||||
} catch (QueryException $e) {
|
||||
$result = null;
|
||||
Log::error(sprintf('Could not create new currency: %s', $e->getMessage()));
|
||||
throw new FireflyException('400004: Could not store new currency.');
|
||||
}
|
||||
|
||||
return $result;
|
||||
|
@@ -58,7 +58,7 @@ class TransactionGroupFactory
|
||||
public function create(array $data): TransactionGroup
|
||||
{
|
||||
$this->journalFactory->setUser($this->user);
|
||||
$this->journalFactory->setErrorOnHash($data['error_if_duplicate_hash']);
|
||||
$this->journalFactory->setErrorOnHash($data['error_if_duplicate_hash'] ?? false);
|
||||
|
||||
$collection = $this->journalFactory->create($data);
|
||||
$title = $data['group_title'] ?? null;
|
||||
|
@@ -26,6 +26,7 @@ namespace FireflyIII\Handlers\Events;
|
||||
|
||||
|
||||
use FireflyIII\Events\RequestedVersionCheckStatus;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Helpers\Update\UpdateTrait;
|
||||
use FireflyIII\Models\Configuration;
|
||||
use FireflyIII\Repositories\User\UserRepositoryInterface;
|
||||
@@ -78,8 +79,15 @@ class VersionCheckEventHandler
|
||||
}
|
||||
// last check time was more than a week ago.
|
||||
Log::debug('Have not checked for a new version in a week!');
|
||||
try {
|
||||
$latestRelease = $this->getLatestRelease();
|
||||
} catch (FireflyException $e) {
|
||||
Log::error($e);
|
||||
session()->flash('error', (string)trans('firefly.update_check_error'));
|
||||
|
||||
$latestRelease = $this->getLatestRelease();
|
||||
// softfail.
|
||||
return;
|
||||
}
|
||||
$versionCheck = $this->versionCheck($latestRelease);
|
||||
$resultString = $this->parseResult($versionCheck, $latestRelease);
|
||||
if (0 !== $versionCheck && '' !== $resultString) {
|
||||
|
@@ -25,8 +25,7 @@ namespace FireflyIII\Helpers\Update;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Services\Github\Object\Release;
|
||||
use FireflyIII\Services\Github\Request\UpdateRequest;
|
||||
use FireflyIII\Services\FireflyIIIOrg\Update\UpdateRequestInterface;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
@@ -38,75 +37,54 @@ trait UpdateTrait
|
||||
/**
|
||||
* Get object for the latest release from GitHub.
|
||||
*
|
||||
* @return Release|null
|
||||
* @return array
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function getLatestRelease(): ?Release
|
||||
public function getLatestRelease(): array
|
||||
{
|
||||
Log::debug('Now in getLatestRelease()');
|
||||
$return = null;
|
||||
/** @var UpdateRequest $request */
|
||||
$request = app(UpdateRequest::class);
|
||||
try {
|
||||
$request->call();
|
||||
} catch (FireflyException $e) {
|
||||
Log::error(sprintf('Could not check for updates: %s', $e->getMessage()));
|
||||
/** @var UpdateRequestInterface $checker */
|
||||
$checker = app(UpdateRequestInterface::class);
|
||||
$channel = app('fireflyconfig')->get('update_channel', 'stable')->data;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// get releases from array.
|
||||
$releases = $request->getReleases();
|
||||
|
||||
Log::debug(sprintf('Found %d releases', count($releases)));
|
||||
|
||||
if (count($releases) > 0) {
|
||||
// first entry should be the latest entry:
|
||||
/** @var Release $first */
|
||||
$first = reset($releases);
|
||||
$return = $first;
|
||||
Log::debug(sprintf('Number of releases found is larger than zero. Return %s ', $first->getTitle()));
|
||||
}
|
||||
|
||||
return $return;
|
||||
return $checker->getVersion($channel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the version check result in a human readable sentence.
|
||||
*
|
||||
* @param int $versionCheck
|
||||
* @param Release|null $release
|
||||
* @param int $versionCheck
|
||||
* @param array $information
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function parseResult(int $versionCheck, Release $release = null): string
|
||||
public function parseResult(int $versionCheck, array $information): string
|
||||
{
|
||||
Log::debug(sprintf('Now in parseResult(%d)', $versionCheck));
|
||||
$current = (string)config('firefly.version');
|
||||
$return = '';
|
||||
$triggered = false;
|
||||
if ($versionCheck === -2) {
|
||||
Log::debug('-2, so give error.');
|
||||
$return = (string)trans('firefly.update_check_error');
|
||||
$triggered = true;
|
||||
}
|
||||
if ($versionCheck === -1 && null !== $release) {
|
||||
$triggered = true;
|
||||
Log::debug('New version!');
|
||||
// there is a new FF version!
|
||||
// has it been released for at least three days?
|
||||
$today = new Carbon;
|
||||
$releaseDate = $release->getUpdated();
|
||||
if ($today->diffInDays($releaseDate) > 3) {
|
||||
Log::debug('New version is older than 3 days!');
|
||||
$monthAndDayFormat = (string)trans('config.month_and_day');
|
||||
$return = (string)trans(
|
||||
'firefly.update_new_version_alert',
|
||||
[
|
||||
'your_version' => $current,
|
||||
'new_version' => $release->getTitle(),
|
||||
'date' => $release->getUpdated()->formatLocalized($monthAndDayFormat),
|
||||
]
|
||||
);
|
||||
if (-1 === $versionCheck) {
|
||||
$triggered = true;
|
||||
$monthAndDayFormat = (string)trans('config.month_and_day');
|
||||
$carbon = Carbon::createFromFormat('Y-m-d', $information['date']);
|
||||
$return = (string)trans(
|
||||
'firefly.update_new_version_alert',
|
||||
[
|
||||
'your_version' => $current,
|
||||
'new_version' => $information['version'],
|
||||
'date' => $carbon->formatLocalized($monthAndDayFormat),
|
||||
]
|
||||
);
|
||||
// append warning if beta or alpha.
|
||||
$isBeta = $information['is_beta'] ?? false;
|
||||
if (true === $isBeta) {
|
||||
$return = sprintf('%s %s', $return, trans('firefly.update_version_beta'));
|
||||
}
|
||||
|
||||
$isAlpha = $information['is_alpha'] ?? false;
|
||||
if (true === $isAlpha) {
|
||||
$return = sprintf('%s %s', $return, trans('firefly.update_version_alpha'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -116,19 +94,16 @@ trait UpdateTrait
|
||||
// you are running the current version!
|
||||
$return = (string)trans('firefly.update_current_version_alert', ['version' => $current]);
|
||||
}
|
||||
if (1 === $versionCheck && null !== $release) {
|
||||
if (1 === $versionCheck) {
|
||||
$triggered = true;
|
||||
Log::debug('User is running NEWER version.');
|
||||
// you are running a newer version!
|
||||
$return = (string)trans('firefly.update_newer_version_alert', ['your_version' => $current, 'new_version' => $release->getTitle()]);
|
||||
$return = (string)trans('firefly.update_newer_version_alert', ['your_version' => $current, 'new_version' => $information['version']]);
|
||||
}
|
||||
|
||||
// @codeCoverageIgnoreStart
|
||||
if (false === $triggered) {
|
||||
Log::debug('No option was triggered.');
|
||||
$return = (string)trans('firefly.update_check_error');
|
||||
}
|
||||
// @codeCoverageIgnoreEnd
|
||||
|
||||
return $return;
|
||||
}
|
||||
@@ -136,22 +111,16 @@ trait UpdateTrait
|
||||
/**
|
||||
* Compare version and store result.
|
||||
*
|
||||
* @param Release|null $release
|
||||
* @param array $information
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function versionCheck(Release $release = null): int
|
||||
public function versionCheck(array $information): int
|
||||
{
|
||||
Log::debug('Now in versionCheck()');
|
||||
if (null === $release) {
|
||||
Log::debug('Release is null, return -2.');
|
||||
|
||||
return -2;
|
||||
}
|
||||
$current = (string)config('firefly.version');
|
||||
$latest = $release->getTitle();
|
||||
$check = version_compare($current, $latest);
|
||||
Log::debug(sprintf('Comparing %s with %s, result is %s', $current, $latest, $check));
|
||||
$check = version_compare($current, $information['version']);
|
||||
Log::debug(sprintf('Comparing %s with %s, result is %s', $current, $information['version'], $check), $information);
|
||||
|
||||
return $check;
|
||||
}
|
||||
|
@@ -23,10 +23,12 @@ declare(strict_types=1);
|
||||
|
||||
namespace FireflyIII\Http\Controllers\Admin;
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Helpers\Update\UpdateTrait;
|
||||
use FireflyIII\Http\Controllers\Controller;
|
||||
use FireflyIII\Http\Middleware\IsDemoUser;
|
||||
use FireflyIII\Http\Middleware\IsSandStormUser;
|
||||
use Illuminate\Http\JsonResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Log;
|
||||
|
||||
@@ -44,7 +46,7 @@ class UpdateController extends Controller
|
||||
{
|
||||
parent::__construct();
|
||||
$this->middleware(
|
||||
function ($request, $next) {
|
||||
static function ($request, $next) {
|
||||
app('view')->share('title', (string)trans('firefly.administration'));
|
||||
app('view')->share('mainTitleIcon', 'fa-hand-spock-o');
|
||||
|
||||
@@ -64,17 +66,25 @@ class UpdateController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$subTitle = (string)trans('firefly.update_check_title');
|
||||
$subTitleIcon = 'fa-star';
|
||||
$permission = app('fireflyconfig')->get('permission_update_check', -1);
|
||||
$selected = $permission->data;
|
||||
$options = [
|
||||
$subTitle = (string)trans('firefly.update_check_title');
|
||||
$subTitleIcon = 'fa-star';
|
||||
$permission = app('fireflyconfig')->get('permission_update_check', -1);
|
||||
$channel = app('fireflyconfig')->get('update_channel', 'stable');
|
||||
$selected = $permission->data;
|
||||
$channelSelected = $channel->data;
|
||||
$options = [
|
||||
-1 => (string)trans('firefly.updates_ask_me_later'),
|
||||
0 => (string)trans('firefly.updates_do_not_check'),
|
||||
1 => (string)trans('firefly.updates_enable_check'),
|
||||
];
|
||||
|
||||
return view('admin.update.index', compact('subTitle', 'subTitleIcon', 'selected', 'options'));
|
||||
$channelOptions = [
|
||||
'stable' => (string)trans('firefly.update_channel_stable'),
|
||||
'beta' => (string)trans('firefly.update_channel_beta'),
|
||||
'alpha' => (string)trans('firefly.update_channel_alpha'),
|
||||
];
|
||||
|
||||
return view('admin.update.index', compact('subTitle', 'subTitleIcon', 'selected', 'options', 'channelSelected', 'channelOptions'));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -87,8 +97,11 @@ class UpdateController extends Controller
|
||||
public function post(Request $request)
|
||||
{
|
||||
$checkForUpdates = (int)$request->get('check_for_updates');
|
||||
$channel = $request->get('update_channel');
|
||||
$channel = in_array($channel, ['stable', 'beta', 'alpha'], true) ? $channel : 'stable';
|
||||
app('fireflyconfig')->set('permission_update_check', $checkForUpdates);
|
||||
app('fireflyconfig')->set('last_update_check', time());
|
||||
app('fireflyconfig')->set('update_channel', $channel);
|
||||
session()->flash('success', (string)trans('firefly.configuration_updated'));
|
||||
|
||||
return redirect(route('admin.update-check'));
|
||||
@@ -97,11 +110,33 @@ class UpdateController extends Controller
|
||||
/**
|
||||
* Does a manual update check.
|
||||
*/
|
||||
public function updateCheck()
|
||||
public function updateCheck(): JsonResponse
|
||||
{
|
||||
$latestRelease = $this->getLatestRelease();
|
||||
$versionCheck = $this->versionCheck($latestRelease);
|
||||
$resultString = $this->parseResult($versionCheck, $latestRelease);
|
||||
$success = true;
|
||||
$latestRelease = '1.0';
|
||||
$resultString = '';
|
||||
$versionCheck = -2;
|
||||
$channel = app('fireflyconfig')->get('update_channel', 'stable')->data;
|
||||
|
||||
try {
|
||||
$latestRelease = $this->getLatestRelease();
|
||||
} catch (FireflyException $e) {
|
||||
Log::error($e->getMessage());
|
||||
$success = false;
|
||||
}
|
||||
|
||||
// if error, tell the user.
|
||||
if (false === $success) {
|
||||
$resultString = (string)trans('firefly.update_check_error');
|
||||
session()->flash('error', $resultString);
|
||||
}
|
||||
|
||||
// if not, compare and tell the user.
|
||||
if (true === $success) {
|
||||
$versionCheck = $this->versionCheck($latestRelease);
|
||||
$resultString = $this->parseResult($versionCheck, $latestRelease);
|
||||
}
|
||||
|
||||
Log::debug(sprintf('Result string is: "%s"', $resultString));
|
||||
|
||||
if (0 !== $versionCheck && '' !== $resultString) {
|
||||
@@ -110,6 +145,11 @@ class UpdateController extends Controller
|
||||
}
|
||||
app('fireflyconfig')->set('last_update_check', time());
|
||||
|
||||
return response()->json(['result' => $resultString]);
|
||||
return response()->json(
|
||||
[
|
||||
'result' => $resultString,
|
||||
'channel' => $channel,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -174,9 +174,9 @@ class ReportController extends Controller
|
||||
$data[$currencyId] = $data[$currencyId] ?? [
|
||||
'currency_id' => $currencyId,
|
||||
'currency_symbol' => $journal['currency_symbol'],
|
||||
'currency_code' => $journal['currency_symbol'],
|
||||
'currency_code' => $journal['currency_code'],
|
||||
'currency_name' => $journal['currency_name'],
|
||||
'currency_decimal_places' => $journal['currency_decimal_places'],
|
||||
'currency_decimal_places' => (int)$journal['currency_decimal_places'],
|
||||
];
|
||||
$data[$currencyId][$period] = $data[$currencyId][$period] ?? [
|
||||
'period' => $period,
|
||||
@@ -218,7 +218,6 @@ class ReportController extends Controller
|
||||
// loop all possible periods between $start and $end
|
||||
$currentStart = clone $start;
|
||||
while ($currentStart <= $end) {
|
||||
$currentEnd = app('navigation')->endOfPeriod($currentStart, $preferredRange);
|
||||
$key = $currentStart->format($format);
|
||||
$title = $currentStart->formatLocalized($titleFormat);
|
||||
$income['entries'][$title] = round($currency[$key]['earned'] ?? '0', $currency['currency_decimal_places']);
|
||||
|
@@ -78,7 +78,8 @@ class CreateController extends Controller
|
||||
$defaultCurrency = app('amount')->getDefaultCurrency();
|
||||
$previousUri = $this->rememberPreviousUri('transactions.create.uri');
|
||||
$parts = parse_url($previousUri);
|
||||
$previousUri = sprintf('%s://%s/%s', $parts['scheme'], $parts['host'] ?? '', $parts['path'] ?? '');
|
||||
$search = sprintf('?%s', $parts['query'] ?? '');
|
||||
$previousUri = str_replace($search, '', $previousUri);
|
||||
|
||||
session()->put('preFilled', $preFilled);
|
||||
|
||||
|
@@ -83,7 +83,8 @@ class EditController extends Controller
|
||||
$cash = $repository->getCashAccount();
|
||||
$previousUri = $this->rememberPreviousUri('transactions.edit.uri');
|
||||
$parts = parse_url($previousUri);
|
||||
$previousUri = sprintf('%s://%s/%s', $parts['scheme'], $parts['host'], $parts['path'] ?? '');
|
||||
$search = sprintf('?%s', $parts['query'] ?? '');
|
||||
$previousUri = str_replace($search, '', $previousUri);
|
||||
|
||||
|
||||
return view('transactions.edit', compact('cash', 'transactionGroup', 'allowedOpposingTypes', 'accountToTypes', 'defaultCurrency', 'previousUri'));
|
||||
|
@@ -218,6 +218,7 @@ class CreateRecurringTransactions implements ShouldQueue
|
||||
$return = [];
|
||||
/** @var RecurrenceTransaction $transaction */
|
||||
foreach ($transactions as $index => $transaction) {
|
||||
|
||||
$single = [
|
||||
'type' => strtolower($recurrence->transactionType->type),
|
||||
'date' => $date,
|
||||
@@ -242,8 +243,8 @@ class CreateRecurringTransactions implements ShouldQueue
|
||||
'recurrence_id' => (int)$recurrence->id,
|
||||
'order' => $index,
|
||||
'notes' => (string)trans('firefly.created_from_recurrence', ['id' => $recurrence->id, 'title' => $recurrence->title]),
|
||||
'tags' => $this->repository->getTags($recurrence),
|
||||
'piggy_bank_id' => null,
|
||||
'tags' => $this->repository->getTags($transaction),
|
||||
'piggy_bank_id' => $this->repository->getPiggyBank($transaction),
|
||||
'piggy_bank_name' => null,
|
||||
'bill_id' => null,
|
||||
'bill_name' => null,
|
||||
@@ -324,7 +325,7 @@ class CreateRecurringTransactions implements ShouldQueue
|
||||
Log::info(sprintf('Created new transaction group #%d', $group->id));
|
||||
|
||||
// link to piggy:
|
||||
$this->linkGroupToPiggies($recurrence, $group);
|
||||
//$this->linkGroupToPiggies($recurrence, $group);
|
||||
|
||||
// trigger event:
|
||||
event(new StoredTransactionGroup($group, $recurrence->apply_rules));
|
||||
|
@@ -42,6 +42,8 @@ use FireflyIII\Repositories\TransactionType\TransactionTypeRepositoryInterface;
|
||||
use FireflyIII\Repositories\User\UserRepository;
|
||||
use FireflyIII\Repositories\User\UserRepositoryInterface;
|
||||
use FireflyIII\Services\Currency\ExchangeRateInterface;
|
||||
use FireflyIII\Services\FireflyIIIOrg\Update\UpdateRequest;
|
||||
use FireflyIII\Services\FireflyIIIOrg\Update\UpdateRequestInterface;
|
||||
use FireflyIII\Services\IP\IpifyOrg;
|
||||
use FireflyIII\Services\IP\IPRetrievalInterface;
|
||||
use FireflyIII\Services\Password\PwndVerifierV3;
|
||||
@@ -184,6 +186,8 @@ class FireflyServiceProvider extends ServiceProvider
|
||||
$this->app->bind(HelpInterface::class, Help::class);
|
||||
$this->app->bind(ReportHelperInterface::class, ReportHelper::class);
|
||||
$this->app->bind(FiscalHelperInterface::class, FiscalHelper::class);
|
||||
$this->app->bind(UpdateRequestInterface::class, UpdateRequest::class);
|
||||
|
||||
$class = (string)config(sprintf('firefly.cer_providers.%s', (string)config('firefly.cer_provider')));
|
||||
if ('' === $class) {
|
||||
throw new FireflyException('Invalid currency exchange rate provider. Cannot continue.');
|
||||
|
@@ -554,6 +554,7 @@ class AccountRepository implements AccountRepositoryInterface
|
||||
{
|
||||
$dbQuery = $this->user->accounts()
|
||||
->where('active', 1)
|
||||
->orderBy('accounts.name', 'ASC')
|
||||
->with(['accountType']);
|
||||
if ('' !== $query) {
|
||||
$search = sprintf('%%%s%%', $query);
|
||||
|
@@ -24,6 +24,7 @@ namespace FireflyIII\Repositories\Bill;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use DB;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Factory\BillFactory;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\Models\Note;
|
||||
@@ -662,9 +663,10 @@ class BillRepository implements BillRepositoryInterface
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return Bill|null
|
||||
* @return Bill
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): ?Bill
|
||||
public function store(array $data): Bill
|
||||
{
|
||||
/** @var BillFactory $factory */
|
||||
$factory = app(BillFactory::class);
|
||||
|
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Repositories\Bill;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Bill;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Pagination\LengthAwarePaginator;
|
||||
@@ -266,9 +267,10 @@ interface BillRepositoryInterface
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return Bill|null
|
||||
* @return Bill
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): ?Bill;
|
||||
public function store(array $data): Bill;
|
||||
|
||||
/**
|
||||
* @param Bill $bill
|
||||
|
@@ -73,6 +73,7 @@ class BudgetLimitRepository implements BudgetLimitRepositoryInterface
|
||||
->where('budget_limits.start_date', $start->format('Y-m-d 00:00:00'))
|
||||
->where('budget_limits.end_date', $end->format('Y-m-d 00:00:00'))
|
||||
->where('budget_limits.transaction_currency_id', $currency->id)
|
||||
->whereNull('budgets.deleted_at')
|
||||
->where('budgets.user_id', $this->user->id);
|
||||
if (null !== $budgets && $budgets->count() > 0) {
|
||||
$query->whereIn('budget_limits.budget_id', $budgets->pluck('id')->toArray());
|
||||
|
@@ -25,6 +25,7 @@ namespace FireflyIII\Repositories\Budget;
|
||||
use Carbon\Carbon;
|
||||
use DB;
|
||||
use Exception;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Budget;
|
||||
use FireflyIII\Models\BudgetLimit;
|
||||
use FireflyIII\Models\RecurrenceTransactionMeta;
|
||||
@@ -32,6 +33,7 @@ use FireflyIII\Models\RuleAction;
|
||||
use FireflyIII\Models\RuleTrigger;
|
||||
use FireflyIII\Services\Internal\Destroy\BudgetDestroyService;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Illuminate\Support\Collection;
|
||||
use Log;
|
||||
|
||||
@@ -269,16 +271,20 @@ class BudgetRepository implements BudgetRepositoryInterface
|
||||
* @param array $data
|
||||
*
|
||||
* @return Budget
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): Budget
|
||||
{
|
||||
$newBudget = new Budget(
|
||||
[
|
||||
'user_id' => $this->user->id,
|
||||
'name' => $data['name'],
|
||||
]
|
||||
);
|
||||
$newBudget->save();
|
||||
try {
|
||||
$newBudget = Budget::create(
|
||||
[
|
||||
'user_id' => $this->user->id,
|
||||
'name' => $data['name'],
|
||||
]
|
||||
);
|
||||
} catch(QueryException $e) {
|
||||
throw new FireflyException('400002: Could not store budget.');
|
||||
}
|
||||
|
||||
return $newBudget;
|
||||
}
|
||||
|
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Repositories\Budget;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Budget;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Support\Collection;
|
||||
@@ -132,6 +133,7 @@ interface BudgetRepositoryInterface
|
||||
* @param array $data
|
||||
*
|
||||
* @return Budget
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): Budget;
|
||||
|
||||
|
@@ -24,6 +24,7 @@ namespace FireflyIII\Repositories\Category;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use DB;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Factory\CategoryFactory;
|
||||
use FireflyIII\Models\Category;
|
||||
use FireflyIII\Models\RecurrenceTransactionMeta;
|
||||
@@ -239,6 +240,7 @@ class CategoryRepository implements CategoryRepositoryInterface
|
||||
* @param array $data
|
||||
*
|
||||
* @return Category
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): Category
|
||||
{
|
||||
@@ -246,7 +248,13 @@ class CategoryRepository implements CategoryRepositoryInterface
|
||||
$factory = app(CategoryFactory::class);
|
||||
$factory->setUser($this->user);
|
||||
|
||||
return $factory->findOrCreate(null, $data['name']);
|
||||
$category = $factory->findOrCreate(null, $data['name']);
|
||||
|
||||
if (null === $category) {
|
||||
throw new FireflyException(sprintf('400003: Could not store new category with name "%s"', $data['name']));
|
||||
}
|
||||
return $category;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Repositories\Category;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Category;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Support\Collection;
|
||||
@@ -117,7 +118,7 @@ interface CategoryRepositoryInterface
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @throws FireflyException
|
||||
* @return Category
|
||||
*/
|
||||
public function store(array $data): Category;
|
||||
|
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Repositories\Currency;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Factory\TransactionCurrencyFactory;
|
||||
use FireflyIII\Models\AccountMeta;
|
||||
use FireflyIII\Models\AvailableBudget;
|
||||
@@ -489,14 +490,20 @@ class CurrencyRepository implements CurrencyRepositoryInterface
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return TransactionCurrency|null
|
||||
* @return TransactionCurrency
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): ?TransactionCurrency
|
||||
public function store(array $data): TransactionCurrency
|
||||
{
|
||||
/** @var TransactionCurrencyFactory $factory */
|
||||
$factory = app(TransactionCurrencyFactory::class);
|
||||
$result = $factory->create($data);
|
||||
|
||||
return $factory->create($data);
|
||||
if (null === $result) {
|
||||
throw new FireflyException('400004: Could not store new currency.');
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -234,9 +234,9 @@ interface CurrencyRepositoryInterface
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return TransactionCurrency|null
|
||||
* @return TransactionCurrency
|
||||
*/
|
||||
public function store(array $data): ?TransactionCurrency;
|
||||
public function store(array $data): TransactionCurrency;
|
||||
|
||||
/**
|
||||
* @param TransactionCurrency $currency
|
||||
|
@@ -24,6 +24,7 @@ namespace FireflyIII\Repositories\PiggyBank;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Exception;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\Note;
|
||||
use FireflyIII\Models\PiggyBank;
|
||||
use FireflyIII\Models\PiggyBankEvent;
|
||||
@@ -33,6 +34,7 @@ use FireflyIII\Models\TransactionJournal;
|
||||
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
|
||||
use FireflyIII\Repositories\Journal\JournalRepositoryInterface;
|
||||
use FireflyIII\User;
|
||||
use Illuminate\Database\QueryException;
|
||||
use Illuminate\Support\Collection;
|
||||
use Log;
|
||||
|
||||
@@ -556,13 +558,19 @@ class PiggyBankRepository implements PiggyBankRepositoryInterface
|
||||
/**
|
||||
* @param array $data
|
||||
*
|
||||
* @return PiggyBank|null
|
||||
* @return PiggyBank
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): ?PiggyBank
|
||||
public function store(array $data): PiggyBank
|
||||
{
|
||||
$data['order'] = $this->getMaxOrder() + 1;
|
||||
try {
|
||||
/** @var PiggyBank $piggyBank */
|
||||
$piggyBank = PiggyBank::create($data);
|
||||
} catch(QueryException $e) {
|
||||
Log::error(sprintf('Could not store piggy bank: %s',$e->getMessage()));
|
||||
throw new FireflyException('400005: Could not store new piggy bank.');
|
||||
}
|
||||
|
||||
$this->updateNote($piggyBank, $data['notes']);
|
||||
|
||||
|
@@ -23,6 +23,7 @@ declare(strict_types=1);
|
||||
namespace FireflyIII\Repositories\PiggyBank;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Models\PiggyBank;
|
||||
use FireflyIII\Models\PiggyBankEvent;
|
||||
use FireflyIII\Models\PiggyBankRepetition;
|
||||
@@ -245,9 +246,10 @@ interface PiggyBankRepositoryInterface
|
||||
*
|
||||
* @param array $data
|
||||
*
|
||||
* @return PiggyBank|null
|
||||
* @return PiggyBank
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function store(array $data): ?PiggyBank;
|
||||
public function store(array $data): PiggyBank;
|
||||
|
||||
/**
|
||||
* Update existing piggy bank.
|
||||
|
@@ -28,7 +28,6 @@ use FireflyIII\Exceptions\FireflyException;
|
||||
use FireflyIII\Factory\RecurrenceFactory;
|
||||
use FireflyIII\Helpers\Collector\GroupCollectorInterface;
|
||||
use FireflyIII\Models\Note;
|
||||
use FireflyIII\Models\PiggyBank;
|
||||
use FireflyIII\Models\Preference;
|
||||
use FireflyIII\Models\Recurrence;
|
||||
use FireflyIII\Models\RecurrenceMeta;
|
||||
@@ -253,19 +252,17 @@ class RecurringRepository implements RecurringRepositoryInterface
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Recurrence $recurrence
|
||||
* @param RecurrenceTransaction $transaction
|
||||
*
|
||||
* @return PiggyBank|null
|
||||
* @return int|null
|
||||
*/
|
||||
public function getPiggyBank(Recurrence $recurrence): ?PiggyBank
|
||||
public function getPiggyBank(RecurrenceTransaction $transaction): ?int
|
||||
{
|
||||
$meta = $recurrence->recurrenceMeta;
|
||||
/** @var RecurrenceMeta $metaEntry */
|
||||
$meta = $transaction->recurrenceTransactionMeta;
|
||||
/** @var RecurrenceTransactionMeta $metaEntry */
|
||||
foreach ($meta as $metaEntry) {
|
||||
if ('piggy_bank_id' === $metaEntry->name) {
|
||||
$piggyId = (int)$metaEntry->value;
|
||||
|
||||
return $this->user->piggyBanks()->where('piggy_banks.id', $piggyId)->first(['piggy_banks.*']);
|
||||
return (int)$metaEntry->value;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -275,15 +272,15 @@ class RecurringRepository implements RecurringRepositoryInterface
|
||||
/**
|
||||
* Get the tags from the recurring transaction.
|
||||
*
|
||||
* @param Recurrence $recurrence
|
||||
* @param RecurrenceTransaction $transaction
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTags(Recurrence $recurrence): array
|
||||
public function getTags(RecurrenceTransaction $transaction): array
|
||||
{
|
||||
$tags = [];
|
||||
/** @var RecurrenceMeta $meta */
|
||||
foreach ($recurrence->recurrenceMeta as $meta) {
|
||||
foreach ($transaction->recurrenceTransactionMeta as $meta) {
|
||||
if ('tags' === $meta->name && '' !== $meta->value) {
|
||||
$tags = explode(',', $meta->value);
|
||||
}
|
||||
|
@@ -120,19 +120,19 @@ interface RecurringRepositoryInterface
|
||||
public function getOccurrencesInRange(RecurrenceRepetition $repetition, Carbon $start, Carbon $end): array;
|
||||
|
||||
/**
|
||||
* @param Recurrence $recurrence
|
||||
* @return PiggyBank|null
|
||||
* @param RecurrenceTransaction $transaction
|
||||
* @return int|null
|
||||
*/
|
||||
public function getPiggyBank(Recurrence $recurrence): ?PiggyBank;
|
||||
public function getPiggyBank(RecurrenceTransaction $transaction): ?int;
|
||||
|
||||
/**
|
||||
* Get the tags from the recurring transaction.
|
||||
*
|
||||
* @param Recurrence $recurrence
|
||||
* @param RecurrenceTransaction $transaction
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTags(Recurrence $recurrence): array;
|
||||
public function getTags(RecurrenceTransaction $transaction): array;
|
||||
|
||||
/**
|
||||
* @param Recurrence $recurrence
|
||||
|
70
app/Services/FireflyIIIOrg/Update/UpdateRequest.php
Normal file
70
app/Services/FireflyIIIOrg/Update/UpdateRequest.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* UpdateRequest.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace FireflyIII\Services\FireflyIIIOrg\Update;
|
||||
|
||||
use Exception;
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
use GuzzleHttp\Client;
|
||||
use GuzzleHttp\Exception\GuzzleException;
|
||||
use JsonException;
|
||||
use Log;
|
||||
|
||||
/**
|
||||
* Class UpdateRequest
|
||||
*/
|
||||
class UpdateRequest implements UpdateRequestInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* @param string $channel
|
||||
*
|
||||
* @return array
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function getVersion(string $channel): array
|
||||
{
|
||||
$uri = config('firefly.update_endpoint');
|
||||
Log::debug(sprintf('Going to call %s', $uri));
|
||||
try {
|
||||
$client = new Client();
|
||||
$res = $client->request('GET', $uri);
|
||||
} catch (GuzzleException|Exception $e) {
|
||||
throw new FireflyException(sprintf('Response error from update check: %s', $e->getMessage()));
|
||||
}
|
||||
|
||||
if (200 !== $res->getStatusCode()) {
|
||||
throw new FireflyException(sprintf('Returned error code %d from update check.', $res->getStatusCode()));
|
||||
}
|
||||
$body = (string)$res->getBody();
|
||||
try {
|
||||
$json = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
|
||||
} catch (JsonException $e) {
|
||||
throw new FireflyException('Invalid JSON in server response.');
|
||||
}
|
||||
|
||||
if (!isset($json['firefly_iii'][$channel])) {
|
||||
throw new FireflyException(sprintf('Unknown update channel "%s"', $channel));
|
||||
}
|
||||
|
||||
return $json['firefly_iii'][$channel];
|
||||
}
|
||||
}
|
39
app/Services/FireflyIIIOrg/Update/UpdateRequestInterface.php
Normal file
39
app/Services/FireflyIIIOrg/Update/UpdateRequestInterface.php
Normal file
@@ -0,0 +1,39 @@
|
||||
<?php
|
||||
/**
|
||||
* UpdateRequestInterface.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
namespace FireflyIII\Services\FireflyIIIOrg\Update;
|
||||
|
||||
use FireflyIII\Exceptions\FireflyException;
|
||||
|
||||
/**
|
||||
* Interface UpdateRequestInterface
|
||||
*/
|
||||
interface UpdateRequestInterface
|
||||
{
|
||||
/**
|
||||
* @param string $channel
|
||||
*
|
||||
* @return array
|
||||
* @throws FireflyException
|
||||
*/
|
||||
public function getVersion(string $channel): array;
|
||||
|
||||
}
|
@@ -106,7 +106,6 @@ class AccountValidator
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
switch ($this->transactionType) {
|
||||
default:
|
||||
$this->destError = sprintf('AccountValidator::validateDestination cannot handle "%s", so it will always return false.', $this->transactionType);
|
||||
@@ -574,7 +573,7 @@ class AccountValidator
|
||||
$found = $this->accountRepository->findNull($accountId);
|
||||
if (null !== $found) {
|
||||
$type = $found->accountType->type;
|
||||
if (in_array($type, $validTypes)) {
|
||||
if (in_array($type, $validTypes, true)) {
|
||||
return true;
|
||||
}
|
||||
$this->destError = (string)trans('validation.withdrawal_dest_bad_data', ['id' => $accountId, 'name' => $accountName]);
|
||||
|
30
changelog.md
30
changelog.md
@@ -2,6 +2,36 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
This project adheres to [Semantic Versioning](http://semver.org/).
|
||||
|
||||
## [4.8.2-alpha.1 (API 0.10.5)] - 2019-11-03
|
||||
|
||||
Normally I won't be detailling alpha versions in the changelog but this is a
|
||||
special one. If your Firefly III installation warned you that this version has
|
||||
been released, please take note that this is a **test** version and may **not**
|
||||
be stable!
|
||||
|
||||
### Changed
|
||||
- Firefly III now comes in three channels: stable, beta and alpha. You can
|
||||
find the latest version for each channel on [this website](https://version.firefly-iii.org/).
|
||||
- To make sure your Docker instance logs everything to `stdout`, make sure
|
||||
you set the environment variable `LOG_CHANNEL` to `docker_out`. This is now
|
||||
default behavior for new installations that use the `.env` file to launch
|
||||
Firefly III (using Docker compose), but if you use environment variables
|
||||
you may have to set this yourself. This is not a mandatory change but will
|
||||
make debugging easier.
|
||||
- The Docker image is now also available in AArch64.
|
||||
|
||||
### Fixed
|
||||
- [Issue 2771](https://github.com/firefly-iii/firefly-iii/issues/2771) Recurring transactions would not hit their piggy bank.
|
||||
- [Issue 2774](https://github.com/firefly-iii/firefly-iii/issues/2774) Fixed redirect issues for exotic URL's.
|
||||
- [Issue 2780](https://github.com/firefly-iii/firefly-iii/issues/2780) Deleted bugs would still count in the budget overview.
|
||||
- [Issue 2783](https://github.com/firefly-iii/firefly-iii/issues/2783) Fixed issue with SQLite and integers.
|
||||
- [Issue 2786](https://github.com/firefly-iii/firefly-iii/issues/2786) Fix links to documentation.
|
||||
|
||||
## [4.8.1.8 (API 0.10.5)] - 2019-10-26
|
||||
|
||||
### Fixed
|
||||
- [Issue 2773](https://github.com/firefly-iii/firefly-iii/issues/2773) Error when importing transactions.
|
||||
|
||||
## [4.8.1.7 (API 0.10.5)] - 2019-10-26
|
||||
|
||||
### Fixed
|
||||
|
245
composer.lock
generated
245
composer.lock
generated
@@ -525,16 +525,16 @@
|
||||
},
|
||||
{
|
||||
"name": "doctrine/cache",
|
||||
"version": "v1.8.0",
|
||||
"version": "v1.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/cache.git",
|
||||
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57"
|
||||
"reference": "d4374ae95b36062d02ef310100ed33d78738d76c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/cache/zipball/d768d58baee9a4862ca783840eca1b9add7a7f57",
|
||||
"reference": "d768d58baee9a4862ca783840eca1b9add7a7f57",
|
||||
"url": "https://api.github.com/repos/doctrine/cache/zipball/d4374ae95b36062d02ef310100ed33d78738d76c",
|
||||
"reference": "d4374ae95b36062d02ef310100ed33d78738d76c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -569,6 +569,10 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Guilherme Blanco",
|
||||
"email": "guilhermeblanco@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Roman Borschel",
|
||||
"email": "roman@code-factory.org"
|
||||
@@ -577,10 +581,6 @@
|
||||
"name": "Benjamin Eberlei",
|
||||
"email": "kontakt@beberlei.de"
|
||||
},
|
||||
{
|
||||
"name": "Guilherme Blanco",
|
||||
"email": "guilhermeblanco@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Jonathan Wage",
|
||||
"email": "jonwage@gmail.com"
|
||||
@@ -596,35 +596,34 @@
|
||||
"cache",
|
||||
"caching"
|
||||
],
|
||||
"time": "2018-08-21T18:01:43+00:00"
|
||||
"time": "2019-10-28T09:31:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/dbal",
|
||||
"version": "v2.9.2",
|
||||
"version": "v2.10.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/dbal.git",
|
||||
"reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9"
|
||||
"reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9",
|
||||
"reference": "22800bd651c1d8d2a9719e2a3dc46d5108ebfcc9",
|
||||
"url": "https://api.github.com/repos/doctrine/dbal/zipball/0c9a646775ef549eb0a213a4f9bd4381d9b4d934",
|
||||
"reference": "0c9a646775ef549eb0a213a4f9bd4381d9b4d934",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/cache": "^1.0",
|
||||
"doctrine/event-manager": "^1.0",
|
||||
"ext-pdo": "*",
|
||||
"php": "^7.1"
|
||||
"php": "^7.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/coding-standard": "^5.0",
|
||||
"jetbrains/phpstorm-stubs": "^2018.1.2",
|
||||
"phpstan/phpstan": "^0.10.1",
|
||||
"phpunit/phpunit": "^7.4",
|
||||
"symfony/console": "^2.0.5|^3.0|^4.0",
|
||||
"symfony/phpunit-bridge": "^3.4.5|^4.0.5"
|
||||
"doctrine/coding-standard": "^6.0",
|
||||
"jetbrains/phpstorm-stubs": "^2019.1",
|
||||
"phpstan/phpstan": "^0.11.3",
|
||||
"phpunit/phpunit": "^8.4.1",
|
||||
"symfony/console": "^2.0.5|^3.0|^4.0|^5.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/console": "For helpful console commands such as SQL execution and import of files."
|
||||
@@ -635,7 +634,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.9.x-dev",
|
||||
"dev-master": "2.10.x-dev",
|
||||
"dev-develop": "3.0.x-dev"
|
||||
}
|
||||
},
|
||||
@@ -649,6 +648,10 @@
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Guilherme Blanco",
|
||||
"email": "guilhermeblanco@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Roman Borschel",
|
||||
"email": "roman@code-factory.org"
|
||||
@@ -657,10 +660,6 @@
|
||||
"name": "Benjamin Eberlei",
|
||||
"email": "kontakt@beberlei.de"
|
||||
},
|
||||
{
|
||||
"name": "Guilherme Blanco",
|
||||
"email": "guilhermeblanco@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Jonathan Wage",
|
||||
"email": "jonwage@gmail.com"
|
||||
@@ -671,14 +670,25 @@
|
||||
"keywords": [
|
||||
"abstraction",
|
||||
"database",
|
||||
"db2",
|
||||
"dbal",
|
||||
"mariadb",
|
||||
"mssql",
|
||||
"mysql",
|
||||
"persistence",
|
||||
"oci8",
|
||||
"oracle",
|
||||
"pdo",
|
||||
"pgsql",
|
||||
"php",
|
||||
"queryobject"
|
||||
"postgresql",
|
||||
"queryobject",
|
||||
"sasql",
|
||||
"sql",
|
||||
"sqlanywhere",
|
||||
"sqlite",
|
||||
"sqlserver",
|
||||
"sqlsrv"
|
||||
],
|
||||
"time": "2018-12-31T03:27:51+00:00"
|
||||
"time": "2019-11-03T16:50:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "doctrine/event-manager",
|
||||
@@ -1717,16 +1727,16 @@
|
||||
},
|
||||
{
|
||||
"name": "league/commonmark",
|
||||
"version": "1.0.0",
|
||||
"version": "1.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/commonmark.git",
|
||||
"reference": "7a40f2b0931602c504c2a9692d9f1e33635fd5ef"
|
||||
"reference": "d927c05e9a391688b1e59a606c97465a90531789"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/7a40f2b0931602c504c2a9692d9f1e33635fd5ef",
|
||||
"reference": "7a40f2b0931602c504c2a9692d9f1e33635fd5ef",
|
||||
"url": "https://api.github.com/repos/thephpleague/commonmark/zipball/d927c05e9a391688b1e59a606c97465a90531789",
|
||||
"reference": "d927c05e9a391688b1e59a606c97465a90531789",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1740,6 +1750,7 @@
|
||||
"cebe/markdown": "~1.0",
|
||||
"commonmark/commonmark.js": "0.29.0",
|
||||
"erusev/parsedown": "~1.0",
|
||||
"ext-json": "*",
|
||||
"michelf/php-markdown": "~1.4",
|
||||
"mikehaertl/php-shellcommand": "^1.4",
|
||||
"phpstan/phpstan-shim": "^0.11.5",
|
||||
@@ -1756,7 +1767,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.1-dev"
|
||||
"dev-master": "1.2-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1783,7 +1794,7 @@
|
||||
"markdown",
|
||||
"parser"
|
||||
],
|
||||
"time": "2019-06-29T11:19:01+00:00"
|
||||
"time": "2019-10-31T13:30:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "league/csv",
|
||||
@@ -2373,16 +2384,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nesbot/carbon",
|
||||
"version": "2.25.3",
|
||||
"version": "2.26.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/briannesbitt/Carbon.git",
|
||||
"reference": "d07636581795383e2fea2d711212d30f941f2039"
|
||||
"reference": "e01ecc0b71168febb52ae1fdc1cfcc95428e604e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/d07636581795383e2fea2d711212d30f941f2039",
|
||||
"reference": "d07636581795383e2fea2d711212d30f941f2039",
|
||||
"url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/e01ecc0b71168febb52ae1fdc1cfcc95428e604e",
|
||||
"reference": "e01ecc0b71168febb52ae1fdc1cfcc95428e604e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -2436,7 +2447,7 @@
|
||||
"datetime",
|
||||
"time"
|
||||
],
|
||||
"time": "2019-10-20T11:05:44+00:00"
|
||||
"time": "2019-10-21T21:32:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "opis/closure",
|
||||
@@ -3213,16 +3224,16 @@
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
"version": "1.1.1",
|
||||
"version": "1.1.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/log.git",
|
||||
"reference": "bf73deb2b3b896a9d9c75f3f0d88185d2faa27e2"
|
||||
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/bf73deb2b3b896a9d9c75f3f0d88185d2faa27e2",
|
||||
"reference": "bf73deb2b3b896a9d9c75f3f0d88185d2faa27e2",
|
||||
"url": "https://api.github.com/repos/php-fig/log/zipball/446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
||||
"reference": "446d54b4cb6bf489fc9d75f55843658e6f25d801",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3256,7 +3267,7 @@
|
||||
"psr",
|
||||
"psr-3"
|
||||
],
|
||||
"time": "2019-10-25T08:06:51+00:00"
|
||||
"time": "2019-11-01T11:05:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/simple-cache",
|
||||
@@ -3564,16 +3575,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "929ddf360d401b958f611d44e726094ab46a7369"
|
||||
"reference": "136c4bd62ea871d00843d1bc0316de4c4a84bb78"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/929ddf360d401b958f611d44e726094ab46a7369",
|
||||
"reference": "929ddf360d401b958f611d44e726094ab46a7369",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/136c4bd62ea871d00843d1bc0316de4c4a84bb78",
|
||||
"reference": "136c4bd62ea871d00843d1bc0316de4c4a84bb78",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3635,11 +3646,11 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-10-07T12:36:49+00:00"
|
||||
"time": "2019-10-30T12:58:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/css-selector",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/css-selector.git",
|
||||
@@ -3692,16 +3703,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/debug.git",
|
||||
"reference": "cc5c1efd0edfcfd10b354750594a46b3dd2afbbe"
|
||||
"reference": "5ea9c3e01989a86ceaa0283f21234b12deadf5e2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/cc5c1efd0edfcfd10b354750594a46b3dd2afbbe",
|
||||
"reference": "cc5c1efd0edfcfd10b354750594a46b3dd2afbbe",
|
||||
"url": "https://api.github.com/repos/symfony/debug/zipball/5ea9c3e01989a86ceaa0283f21234b12deadf5e2",
|
||||
"reference": "5ea9c3e01989a86ceaa0283f21234b12deadf5e2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3744,11 +3755,11 @@
|
||||
],
|
||||
"description": "Symfony Debug Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-09-19T15:51:53+00:00"
|
||||
"time": "2019-10-28T17:07:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
@@ -3876,16 +3887,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/finder",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/finder.git",
|
||||
"reference": "5e575faa95548d0586f6bedaeabec259714e44d1"
|
||||
"reference": "72a068f77e317ae77c0a0495236ad292cfb5ce6f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/5e575faa95548d0586f6bedaeabec259714e44d1",
|
||||
"reference": "5e575faa95548d0586f6bedaeabec259714e44d1",
|
||||
"url": "https://api.github.com/repos/symfony/finder/zipball/72a068f77e317ae77c0a0495236ad292cfb5ce6f",
|
||||
"reference": "72a068f77e317ae77c0a0495236ad292cfb5ce6f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3921,20 +3932,20 @@
|
||||
],
|
||||
"description": "Symfony Finder Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-09-16T11:29:48+00:00"
|
||||
"time": "2019-10-30T12:53:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-foundation",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-foundation.git",
|
||||
"reference": "76590ced16d4674780863471bae10452b79210a5"
|
||||
"reference": "38f63e471cda9d37ac06e76d14c5ea2ec5887051"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/76590ced16d4674780863471bae10452b79210a5",
|
||||
"reference": "76590ced16d4674780863471bae10452b79210a5",
|
||||
"url": "https://api.github.com/repos/symfony/http-foundation/zipball/38f63e471cda9d37ac06e76d14c5ea2ec5887051",
|
||||
"reference": "38f63e471cda9d37ac06e76d14c5ea2ec5887051",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -3976,20 +3987,20 @@
|
||||
],
|
||||
"description": "Symfony HttpFoundation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-10-04T19:48:13+00:00"
|
||||
"time": "2019-10-30T12:58:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/http-kernel",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/http-kernel.git",
|
||||
"reference": "5f08141850932e8019c01d8988bf3ed6367d2991"
|
||||
"reference": "56acfda9e734e8715b3b0e6859cdb4f5b28757bf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/5f08141850932e8019c01d8988bf3ed6367d2991",
|
||||
"reference": "5f08141850932e8019c01d8988bf3ed6367d2991",
|
||||
"url": "https://api.github.com/repos/symfony/http-kernel/zipball/56acfda9e734e8715b3b0e6859cdb4f5b28757bf",
|
||||
"reference": "56acfda9e734e8715b3b0e6859cdb4f5b28757bf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4068,20 +4079,20 @@
|
||||
],
|
||||
"description": "Symfony HttpKernel Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-10-07T15:06:41+00:00"
|
||||
"time": "2019-11-01T10:00:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/mime",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/mime.git",
|
||||
"reference": "32f71570547b91879fdbd9cf50317d556ae86916"
|
||||
"reference": "3c0e197529da6e59b217615ba8ee7604df88b551"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/32f71570547b91879fdbd9cf50317d556ae86916",
|
||||
"reference": "32f71570547b91879fdbd9cf50317d556ae86916",
|
||||
"url": "https://api.github.com/repos/symfony/mime/zipball/3c0e197529da6e59b217615ba8ee7604df88b551",
|
||||
"reference": "3c0e197529da6e59b217615ba8ee7604df88b551",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4127,7 +4138,7 @@
|
||||
"mime",
|
||||
"mime-type"
|
||||
],
|
||||
"time": "2019-09-19T17:00:15+00:00"
|
||||
"time": "2019-10-30T12:58:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
@@ -4590,16 +4601,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/process",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/process.git",
|
||||
"reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b"
|
||||
"reference": "3b2e0cb029afbb0395034509291f21191d1a4db0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/50556892f3cc47d4200bfd1075314139c4c9ff4b",
|
||||
"reference": "50556892f3cc47d4200bfd1075314139c4c9ff4b",
|
||||
"url": "https://api.github.com/repos/symfony/process/zipball/3b2e0cb029afbb0395034509291f21191d1a4db0",
|
||||
"reference": "3b2e0cb029afbb0395034509291f21191d1a4db0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4635,7 +4646,7 @@
|
||||
],
|
||||
"description": "Symfony Process Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-09-26T21:17:10+00:00"
|
||||
"time": "2019-10-28T17:07:32+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/psr-http-message-bridge",
|
||||
@@ -4704,16 +4715,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/routing",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/routing.git",
|
||||
"reference": "3b174ef04fe66696524efad1e5f7a6c663d822ea"
|
||||
"reference": "63a9920cc86fcc745e5ea254e362f02b615290b9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/3b174ef04fe66696524efad1e5f7a6c663d822ea",
|
||||
"reference": "3b174ef04fe66696524efad1e5f7a6c663d822ea",
|
||||
"url": "https://api.github.com/repos/symfony/routing/zipball/63a9920cc86fcc745e5ea254e362f02b615290b9",
|
||||
"reference": "63a9920cc86fcc745e5ea254e362f02b615290b9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4776,7 +4787,7 @@
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"time": "2019-10-04T20:57:10+00:00"
|
||||
"time": "2019-10-30T12:58:49+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/service-contracts",
|
||||
@@ -4838,16 +4849,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/translation.git",
|
||||
"reference": "fe6193b066c457c144333c06aaa869a2d42a167f"
|
||||
"reference": "a3aa590ce944afb3434d7a55f81b00927144d5ec"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/fe6193b066c457c144333c06aaa869a2d42a167f",
|
||||
"reference": "fe6193b066c457c144333c06aaa869a2d42a167f",
|
||||
"url": "https://api.github.com/repos/symfony/translation/zipball/a3aa590ce944afb3434d7a55f81b00927144d5ec",
|
||||
"reference": "a3aa590ce944afb3434d7a55f81b00927144d5ec",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -4910,7 +4921,7 @@
|
||||
],
|
||||
"description": "Symfony Translation Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2019-09-27T14:37:39+00:00"
|
||||
"time": "2019-10-30T12:53:54+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/translation-contracts",
|
||||
@@ -4971,16 +4982,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/var-dumper",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/var-dumper.git",
|
||||
"reference": "bde8957fc415fdc6964f33916a3755737744ff05"
|
||||
"reference": "ea4940845535c85ff5c505e13b3205b0076d07bf"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/bde8957fc415fdc6964f33916a3755737744ff05",
|
||||
"reference": "bde8957fc415fdc6964f33916a3755737744ff05",
|
||||
"url": "https://api.github.com/repos/symfony/var-dumper/zipball/ea4940845535c85ff5c505e13b3205b0076d07bf",
|
||||
"reference": "ea4940845535c85ff5c505e13b3205b0076d07bf",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5043,20 +5054,20 @@
|
||||
"debug",
|
||||
"dump"
|
||||
],
|
||||
"time": "2019-10-04T19:48:13+00:00"
|
||||
"time": "2019-10-13T12:02:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tightenco/collect",
|
||||
"version": "v6.4.0",
|
||||
"version": "v6.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tightenco/collect.git",
|
||||
"reference": "48b88a0e488fba617f077e0f89bae286b35d9eef"
|
||||
"reference": "9796fcd7ad3286dda60d0cf5120afbff8e3b9db6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tightenco/collect/zipball/48b88a0e488fba617f077e0f89bae286b35d9eef",
|
||||
"reference": "48b88a0e488fba617f077e0f89bae286b35d9eef",
|
||||
"url": "https://api.github.com/repos/tightenco/collect/zipball/9796fcd7ad3286dda60d0cf5120afbff8e3b9db6",
|
||||
"reference": "9796fcd7ad3286dda60d0cf5120afbff8e3b9db6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5093,7 +5104,7 @@
|
||||
"collection",
|
||||
"laravel"
|
||||
],
|
||||
"time": "2019-10-23T14:47:45+00:00"
|
||||
"time": "2019-10-23T21:04:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "tijsverkoyen/css-to-inline-styles",
|
||||
@@ -5514,16 +5525,16 @@
|
||||
},
|
||||
{
|
||||
"name": "composer/composer",
|
||||
"version": "1.9.0",
|
||||
"version": "1.9.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/composer/composer.git",
|
||||
"reference": "314aa57fdcfc942065996f59fb73a8b3f74f3fa5"
|
||||
"reference": "bb01f2180df87ce7992b8331a68904f80439dd2f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/composer/composer/zipball/314aa57fdcfc942065996f59fb73a8b3f74f3fa5",
|
||||
"reference": "314aa57fdcfc942065996f59fb73a8b3f74f3fa5",
|
||||
"url": "https://api.github.com/repos/composer/composer/zipball/bb01f2180df87ce7992b8331a68904f80439dd2f",
|
||||
"reference": "bb01f2180df87ce7992b8331a68904f80439dd2f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5590,7 +5601,7 @@
|
||||
"dependency",
|
||||
"package"
|
||||
],
|
||||
"time": "2019-08-02T18:55:33+00:00"
|
||||
"time": "2019-11-01T16:20:17+00:00"
|
||||
},
|
||||
{
|
||||
"name": "composer/semver",
|
||||
@@ -6769,16 +6780,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "8.4.1",
|
||||
"version": "8.4.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "366a4a0f2b971fd43b7c351d621e8dd7d7131869"
|
||||
"reference": "a142a7e66c0ea7b5b6c04ee27f08d10d1137cd9b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/366a4a0f2b971fd43b7c351d621e8dd7d7131869",
|
||||
"reference": "366a4a0f2b971fd43b7c351d621e8dd7d7131869",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a142a7e66c0ea7b5b6c04ee27f08d10d1137cd9b",
|
||||
"reference": "a142a7e66c0ea7b5b6c04ee27f08d10d1137cd9b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -6848,7 +6859,7 @@
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2019-10-07T12:57:41+00:00"
|
||||
"time": "2019-10-28T10:39:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "roave/security-advisories",
|
||||
@@ -6856,12 +6867,12 @@
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/Roave/SecurityAdvisories.git",
|
||||
"reference": "eb59d9f35a47f567ae15e7179d7c666489cd4b85"
|
||||
"reference": "f8c8349a4b12a26edfa8b21d07d3dbeb6dcedcfa"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/eb59d9f35a47f567ae15e7179d7c666489cd4b85",
|
||||
"reference": "eb59d9f35a47f567ae15e7179d7c666489cd4b85",
|
||||
"url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f8c8349a4b12a26edfa8b21d07d3dbeb6dcedcfa",
|
||||
"reference": "f8c8349a4b12a26edfa8b21d07d3dbeb6dcedcfa",
|
||||
"shasum": ""
|
||||
},
|
||||
"conflict": {
|
||||
@@ -7064,7 +7075,7 @@
|
||||
}
|
||||
],
|
||||
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
|
||||
"time": "2019-10-09T14:04:58+00:00"
|
||||
"time": "2019-10-29T22:11:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/code-unit-reverse-lookup",
|
||||
@@ -7776,7 +7787,7 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/filesystem",
|
||||
"version": "v4.3.5",
|
||||
"version": "v4.3.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/filesystem.git",
|
||||
|
@@ -125,7 +125,7 @@ return [
|
||||
'is_demo_site' => false,
|
||||
],
|
||||
'encryption' => null === env('USE_ENCRYPTION') || env('USE_ENCRYPTION') === true,
|
||||
'version' => '4.8.1.7',
|
||||
'version' => '4.8.2-alpha.2',
|
||||
'api_version' => '0.10.5',
|
||||
'db_version' => 11,
|
||||
'maxUploadSize' => 15242880,
|
||||
@@ -145,6 +145,7 @@ return [
|
||||
'disable_frame_header' => env('DISABLE_FRAME_HEADER', false),
|
||||
'login_provider' => envNonEmpty('LOGIN_PROVIDER', 'eloquent'),
|
||||
'cer_provider' => envNonEmpty('CER_PROVIDER', 'fixer'),
|
||||
'update_endpoint' => 'https://version.firefly-iii.org/index.json',
|
||||
'allowedMimes' => [
|
||||
/* plain files */
|
||||
'text/plain',
|
||||
@@ -683,13 +684,13 @@ return [
|
||||
'source_dests' => [
|
||||
TransactionTypeModel::WITHDRAWAL => [
|
||||
AccountType::ASSET => [AccountType::EXPENSE, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE, AccountType::CASH],
|
||||
AccountType::LOAN => [AccountType::EXPENSE],
|
||||
AccountType::DEBT => [AccountType::EXPENSE],
|
||||
AccountType::MORTGAGE => [AccountType::EXPENSE],
|
||||
AccountType::LOAN => [AccountType::EXPENSE, AccountType::CASH],
|
||||
AccountType::DEBT => [AccountType::EXPENSE, AccountType::CASH],
|
||||
AccountType::MORTGAGE => [AccountType::EXPENSE, AccountType::CASH],
|
||||
],
|
||||
TransactionTypeModel::DEPOSIT => [
|
||||
AccountType::REVENUE => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE],
|
||||
AccountType::CASH => [AccountType::ASSET],
|
||||
AccountType::CASH => [AccountType::ASSET, AccountType::LOAN, AccountType::DEBT, AccountType::MORTGAGE],
|
||||
AccountType::LOAN => [AccountType::ASSET],
|
||||
AccountType::DEBT => [AccountType::ASSET],
|
||||
AccountType::MORTGAGE => [AccountType::ASSET],
|
||||
|
@@ -69,6 +69,11 @@ return [
|
||||
'path' => 'php://stdout',
|
||||
'level' => envNonEmpty('APP_LOG_LEVEL', 'info'),
|
||||
],
|
||||
'docker_out' => [
|
||||
'driver' => 'single',
|
||||
'path' => 'php://stdout',
|
||||
'level' => envNonEmpty('APP_LOG_LEVEL', 'info'),
|
||||
],
|
||||
'daily' => [
|
||||
'driver' => 'daily',
|
||||
'path' => storage_path('logs/ff3-' . PHP_SAPI . '.log'),
|
||||
|
26
resources/lang/cs_CZ/api.php
Normal file
26
resources/lang/cs_CZ/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Zjistit dostupno případných aktualizací nyní',
|
||||
'admin_update_check_now_explain' => 'Stisknutím tohoto tlačítka Firefly III ověří, zda používáte nejnovější verzi.',
|
||||
'check_for_updates_button' => 'Zkontrolovat nyní!',
|
||||
'update_new_version_alert' => 'Je k dispozici nová verze Firefly III. Nyní provozujete verzi :your_version, nejnovější verze je :new_version, která byla vydaná :date.',
|
||||
'update_current_version_alert' => 'Provozujete verzi :version, která je nejnovější dostupnou verzí.',
|
||||
'update_newer_version_alert' => 'Provozujete verzi :your_version, zatímco nejnovější vydání je verze :new_version.',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
|
||||
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
|
||||
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
|
||||
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
|
||||
'update_check_error' => 'Došlo k chybě při zjišťování případných aktualizací. Podívejte se do souborů se záznamem událostí.',
|
||||
'admin_update_channel_title' => 'Update channel',
|
||||
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
|
||||
'update_channel_stable' => 'Stable. Everything should work as expected.',
|
||||
'update_channel_beta' => 'Beta. New features but things may be broken.',
|
||||
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
|
||||
|
||||
// search
|
||||
'search' => 'Hledat',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.',
|
||||
|
||||
'split_transaction_title' => 'Popis rozúčtování',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'Pokud vytvoříte rozúčtování, je třeba, aby zde byl celkový popis pro všechna rozúčtování dané transakce.',
|
||||
'transaction_information' => 'Informace o transakci',
|
||||
'you_create_transfer' => 'Vytváříte <strong>převod</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Matches on',
|
||||
'strict' => 'Striktní režim',
|
||||
'repeat_freq' => 'Repeats',
|
||||
'update_channel' => 'Update channel',
|
||||
'journal_currency_id' => 'Měna',
|
||||
'currency_id' => 'Měna',
|
||||
'transaction_currency_id' => 'Měna',
|
||||
|
26
resources/lang/de_DE/api.php
Normal file
26
resources/lang/de_DE/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Auf Update überprüfen',
|
||||
'admin_update_check_now_explain' => 'Wenn Sie den Knopf drücken, wird Firefly III überprüfen, ob Ihre Version die aktuellste ist.',
|
||||
'check_for_updates_button' => 'Jetzt prüfen!',
|
||||
'update_new_version_alert' => 'Eine neue Version von Firefly III ist verfügbar. Sie verwenden v:your_version, die neueste Version ist v:new_version und wurde am :date veröffentlicht.',
|
||||
'update_current_version_alert' => 'Sie verwenden Version v:version. Dies ist die neueste verfügbare Version.',
|
||||
'update_newer_version_alert' => 'Sie verwenden v:your_version. Ihre Version ist neuer als die neueste Version (v:new_version).',
|
||||
'update_new_version_alert' => 'Eine neue Version von Firefly III ist verfügbar. Sie verwenden :your_version, die neueste Version ist :new_version, die am :date veröffentlicht wurde.',
|
||||
'update_version_beta' => 'Seien Sie vorsichtig bei der Verwendung dieser BETA-Version. Sie könnte noch Fehler enthaltern.',
|
||||
'update_version_alpha' => 'Seien Sie vorsichtig bei der Verwendung dieser APLPHA-Version. Sie kann Fehler enthaltern.',
|
||||
'update_current_version_alert' => 'Sie verwenden Version :version. Dies ist die neueste verfügbare Version.',
|
||||
'update_newer_version_alert' => 'Sie verwenden :your_version. Ihre Version ist neuer als die neueste Version (:new_version).',
|
||||
'update_check_error' => 'Beim Suchen nach Updates ist ein Fehler aufgetreten. Bitte sehen Sie sich die Log-Dateien an.',
|
||||
'admin_update_channel_title' => 'Aktualisierungskanal',
|
||||
'admin_update_channel_explain' => 'Firefly III verfügt über drei Aktualisierungskanäle, welche bestimmen, wie weit Sie in Bezug auf Funktionen, Verbesserungen und Fehler experimentierfreudig sind. Nutzen Sie den „Beta”-Kanal, wenn Sie abenteuerlustig sind, und den „Alpha”-Kanal, wenn Sie ein gefährliches Leben führen möchten.',
|
||||
'update_channel_stable' => 'Stabil — Alles sollte wie erwartet funktionieren.',
|
||||
'update_channel_beta' => 'Beta — Neue Funktionen, aber einige Funktionen könnten fehlerhaft sein.',
|
||||
'update_channel_alpha' => 'Alpha — Wir experiementieren mit neuen Dingen und benutzen die noch Fallstricke enthalten.',
|
||||
|
||||
// search
|
||||
'search' => 'Suche',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Der Test wurde ausgelöst. Überprüfen Sie Ihren Posteingang und die Protokolldateien.',
|
||||
|
||||
'split_transaction_title' => 'Beschreibung der Splittbuchung',
|
||||
'split_transaction_title_help' => 'Wenn Sie eine Splittbuchung anlegen, muss es eine eindeutige Beschreibung für alle Aufteilungen der Buchung geben.',
|
||||
'split_title_help' => 'Wenn Sie eine Splittbuchung anlegen, muss es eine eindeutige Beschreibung für alle Aufteilungen der Buchhaltung geben.',
|
||||
'transaction_information' => 'Buchungsinformation',
|
||||
'you_create_transfer' => 'Sie erstellen gerade eine <strong>Umbuchung</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Reagiert auf',
|
||||
'strict' => 'Strenger Modus',
|
||||
'repeat_freq' => 'Wiederholungen',
|
||||
'update_channel' => 'Aktualisierungskanal',
|
||||
'journal_currency_id' => 'Währung',
|
||||
'currency_id' => 'Währung',
|
||||
'transaction_currency_id' => 'Währung',
|
||||
|
@@ -45,7 +45,7 @@ return [
|
||||
'at_least_one_repetition' => 'Mindestens eine Wiederholung erforderlich.',
|
||||
'require_repeat_until' => 'Erfordert entweder eine Anzahl von Wiederholungen oder ein Enddatum (repeat_until). Nicht beides.',
|
||||
'require_currency_info' => 'Der Inhalt dieses Feldes ist ohne Währungsinformationen ungültig.',
|
||||
'not_transfer_account' => 'This account is not an account that can be used for transfers.',
|
||||
'not_transfer_account' => 'Dieses Konto ist kein Konto, welches für Buchungen genutzt werden kann.',
|
||||
'require_currency_amount' => 'Der Inhalt dieses Feldes ist ohne Fremdbetragsangaben ungültig.',
|
||||
'equal_description' => 'Die Transaktionsbeschreibung darf nicht der globalen Beschreibung entsprechen.',
|
||||
'file_invalid_mime' => 'Die Datei „:name” ist vom Typ „:mime”, welcher nicht zum Hochladen zugelassen ist.',
|
||||
|
26
resources/lang/el_GR/api.php
Normal file
26
resources/lang/el_GR/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Έλεγχος για ενημερώσεις τώρα',
|
||||
'admin_update_check_now_explain' => 'Εάν πατήσετε αυτό του κουμπί, το Firefly III θα ελέγξει εάν έχετε την τελευταία έκδοση.',
|
||||
'check_for_updates_button' => 'Έλεγχος τώρα!',
|
||||
'update_new_version_alert' => 'Μία νέα έκδοση του Firefly III είναι διαθέσιμη. Έχετε την v:your_version, ενώ η τελευταία έκδοση είναι η v:new_version που κυκλοφόρησε στις :date.',
|
||||
'update_current_version_alert' => 'Έχετε την έκδοση v:version, που είναι η τελευταία διαθέσιμη.',
|
||||
'update_newer_version_alert' => 'Έχετε την έκδοση v:your_version, που είναι νεότερη από την τελευταία έκδοση, v:new_version.',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
|
||||
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
|
||||
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
|
||||
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
|
||||
'update_check_error' => 'Ένα σφάλμα παρουσιάστηκε κατά τον έλεγχο ενημερώσεων. Παρακαλώ δείτε τα αρχεία καταγραφής.',
|
||||
'admin_update_channel_title' => 'Update channel',
|
||||
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
|
||||
'update_channel_stable' => 'Stable. Everything should work as expected.',
|
||||
'update_channel_beta' => 'Beta. New features but things may be broken.',
|
||||
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
|
||||
|
||||
// search
|
||||
'search' => 'Αναζήτηση',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.',
|
||||
|
||||
'split_transaction_title' => 'Description of the split transaction',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'transaction_information' => 'Transaction information',
|
||||
'you_create_transfer' => 'You\'re creating a <strong>transfer</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Αντιστοιχίες στις',
|
||||
'strict' => 'Αυστηρή λειτουργία',
|
||||
'repeat_freq' => 'Επαναλήψεις',
|
||||
'update_channel' => 'Update channel',
|
||||
'journal_currency_id' => 'Νόμισμα',
|
||||
'currency_id' => 'Νόμισμα',
|
||||
'transaction_currency_id' => 'Νόμισμα',
|
||||
|
26
resources/lang/en_US/api.php
Normal file
26
resources/lang/en_US/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Check for updates now',
|
||||
'admin_update_check_now_explain' => 'If you press the button, Firefly III will see if your current version is the latest.',
|
||||
'check_for_updates_button' => 'Check now!',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running v:your_version, the latest version is v:new_version which was released on :date.',
|
||||
'update_current_version_alert' => 'You are running v:version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running v:your_version, which is newer than the latest release, v:new_version.',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
|
||||
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
|
||||
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
|
||||
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
|
||||
'update_check_error' => 'An error occurred while checking for updates. Please view the log files.',
|
||||
'admin_update_channel_title' => 'Update channel',
|
||||
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
|
||||
'update_channel_stable' => 'Stable. Everything should work as expected.',
|
||||
'update_channel_beta' => 'Beta. New features but things may be broken.',
|
||||
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
|
||||
|
||||
// search
|
||||
'search' => 'Search',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Test was triggered. Check your inbox and the log files.',
|
||||
|
||||
'split_transaction_title' => 'Description of the split transaction',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'transaction_information' => 'Transaction information',
|
||||
'you_create_transfer' => 'You\'re creating a <strong>transfer</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Matches on',
|
||||
'strict' => 'Strict mode',
|
||||
'repeat_freq' => 'Repeats',
|
||||
'update_channel' => 'Update channel',
|
||||
'journal_currency_id' => 'Currency',
|
||||
'currency_id' => 'Currency',
|
||||
'transaction_currency_id' => 'Currency',
|
||||
|
26
resources/lang/es_ES/api.php
Normal file
26
resources/lang/es_ES/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Ver actualizaciones ahora',
|
||||
'admin_update_check_now_explain' => 'SI usted presiona el botón, Firefly III vera si su actual versión es la última.',
|
||||
'check_for_updates_button' => '¡Ver ahora!',
|
||||
'update_new_version_alert' => 'Una nueva versión de Firefly III esta disponible. Usted esta ejecutando v:your_version, la ultima versión es v:new_version que se lanzo en :date.',
|
||||
'update_current_version_alert' => 'Usted esta ejecutando v:version, que es la ultima versión disponible.',
|
||||
'update_newer_version_alert' => 'Usted esta ejecutando v:your_version, que es mas nueva que la versión anterior, v:new_version.',
|
||||
'update_new_version_alert' => 'Una nueva versión de Firefly III esta disponible. Usted esta ejecutando :your_version, la ultima versión es :new_version que se lanzó en :date.',
|
||||
'update_version_beta' => 'Esta versión es una versión BETA. Puede tener problemas.',
|
||||
'update_version_alpha' => 'Esta versión es una versión de ALPHA. Puede tener problemas.',
|
||||
'update_current_version_alert' => 'Usted esta ejecutando :version, que es la última versión disponible.',
|
||||
'update_newer_version_alert' => 'Usted esta ejecutando :your_version, que es mas nueva que la última versión, :new_version.',
|
||||
'update_check_error' => 'Un error ha ocurrido mientras se verificaban las actualizaciones. Por favor ver los archivos de registro.',
|
||||
'admin_update_channel_title' => 'Canal de actualizaciones',
|
||||
'admin_update_channel_explain' => 'Firefly III tiene tres "canales" de actualización que determinan cuán por delante está en términos de características, mejoras y errores. Use el canal "beta" si es aventurero y el "alfa" cuando quiera vivir la vida peligrosamente.',
|
||||
'update_channel_stable' => 'Estable. Todo debería funcionar como se espera.',
|
||||
'update_channel_beta' => 'Beta. Nuevas funcionalidades, pero las cosas pueden romperse.',
|
||||
'update_channel_alpha' => 'Alpha. Tiramos cosas y usamos lo que sea que se pegue.',
|
||||
|
||||
// search
|
||||
'search' => 'Buscar',
|
||||
@@ -1164,7 +1171,7 @@ return [
|
||||
'left_to_spend' => 'Dejar para gastar',
|
||||
'earned' => 'Ganado',
|
||||
'overspent' => 'Sobrepasadas',
|
||||
'left' => 'Izquierda',
|
||||
'left' => 'Para gastar',
|
||||
'max-amount' => 'Cantidad máxima',
|
||||
'min-amount' => 'Monto mínimo',
|
||||
'journal-amount' => 'Entrada actual de factura',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'La prueba fue disparada. Chequee su bandeja de entrada y archivos de registro.',
|
||||
|
||||
'split_transaction_title' => 'Descripción de la transacción dividida',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'Si crea una transacción dividida, debe haber una descripción global para todos los fragmentos de la transacción.',
|
||||
'transaction_information' => 'Información de la transacción',
|
||||
'you_create_transfer' => 'Estás creando una <strong>transferencia</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Encuentros en',
|
||||
'strict' => 'Modo estricto',
|
||||
'repeat_freq' => 'Repetición',
|
||||
'update_channel' => 'Canal de actualizaciones',
|
||||
'journal_currency_id' => 'Divisa',
|
||||
'currency_id' => 'Divisa',
|
||||
'transaction_currency_id' => 'Moneda',
|
||||
|
@@ -45,7 +45,7 @@ return [
|
||||
'at_least_one_repetition' => 'Se necesita al menos una repetición.',
|
||||
'require_repeat_until' => 'Se precisa un número de repeticiones o una fecha de finalización (repeat_until). No ambas.',
|
||||
'require_currency_info' => 'El contenido de este campo no es válido sin la información montearia.',
|
||||
'not_transfer_account' => 'This account is not an account that can be used for transfers.',
|
||||
'not_transfer_account' => 'Esta cuenta no es una cuenta que se pueda utilizar para transferencias.',
|
||||
'require_currency_amount' => 'El contenido de este campo no es válido sin información de cantidad extranjera.',
|
||||
'equal_description' => 'La descripción de la transacción no debería ser igual a la descripción global.',
|
||||
'file_invalid_mime' => 'El archivo ":name" es de tipo ":mime", el cual no se acepta.',
|
||||
|
26
resources/lang/fr_FR/api.php
Normal file
26
resources/lang/fr_FR/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -134,8 +134,8 @@ return [
|
||||
'show_the_current_period_and_overview' => 'Afficher l’exercice en cours et sa vue d’ensemble',
|
||||
'pref_languages_locale' => 'Pour une langue autre que l’anglais et pour fonctionner correctement, votre système d’exploitation doit être équipé avec les paramètres régionaux correctes. Si ils ne sont pas présents, les données de devises, les dates et les montants peuvent être mal formatés.',
|
||||
'budget_in_period' => 'Toutes les transactions pour le budget ":name" entre :start et :end dans la monnaie :currency',
|
||||
'chart_budget_in_period' => 'Chart for all transactions for budget ":name" between :start and :end in :currency',
|
||||
'chart_budget_in_period_only_currency' => 'The amount you budgeted was in :currency, so this chart will only show transactions in :currency.',
|
||||
'chart_budget_in_period' => 'Graphique pour toutes les transactions pour le budget ":name" entre :start et :end dans :currency',
|
||||
'chart_budget_in_period_only_currency' => 'Le montant que vous avez budgété était en :currency, ce graphique ne montrera donc que les transactions dans :currency.',
|
||||
'chart_account_in_period' => 'Graphique pour toutes les transactions pour le compte ":name" entre :start et :end',
|
||||
'chart_category_in_period' => 'Graphique pour toutes les transactions pour la catégorie ":name" entre :start et :end',
|
||||
'chart_category_all' => 'Graphique pour toutes les transactions pour la catégorie ":name"',
|
||||
@@ -208,7 +208,7 @@ return [
|
||||
'scopes_will_be_able' => 'Cette application pourra :',
|
||||
'button_authorize' => 'Autoriser',
|
||||
'none_in_select_list' => '(aucun)',
|
||||
'no_piggy_bank' => '(no piggy bank)',
|
||||
'no_piggy_bank' => '(aucune tirelire)',
|
||||
'name_in_currency' => ':name en :currency',
|
||||
'paid_in_currency' => 'Payé en :currency',
|
||||
'unpaid_in_currency' => 'Non payé en :currency',
|
||||
@@ -225,9 +225,16 @@ return [
|
||||
'admin_update_check_now_explain' => 'Si vous appuyez sur le bouton, Firefly III verra si votre version actuelle est la dernière.',
|
||||
'check_for_updates_button' => 'Vérifier maintenant !',
|
||||
'update_new_version_alert' => 'Une nouvelle version de Firefly III est disponible. Vous utilisez v:your_version, la dernière version est v:new_version qui a été publiée le :date.',
|
||||
'update_version_beta' => 'Cette version est une version BETA. Vous pouvez rencontrer des problèmes.',
|
||||
'update_version_alpha' => 'Cette version est une version ALPHA. Vous pourriez rencontrer des problèmes.',
|
||||
'update_current_version_alert' => 'Vous utilisez v:version, qui est la dernière version disponible.',
|
||||
'update_newer_version_alert' => 'Vous utilisez v:your_version, qui est plus récente que la dernière version, v:new_version.',
|
||||
'update_check_error' => 'Une erreur s\'est produite lors de la recherche des mises à jour. S\'il vous plaît allez voir les fichiers journaux.',
|
||||
'admin_update_channel_title' => 'Canal de mise à jour',
|
||||
'admin_update_channel_explain' => 'Firefly III dispose de trois canaux de mise à jour qui déterminent ce que vous êtes prêt à accepter en termes de fonctionnalités, d\'améliorations et de bogues. Utilisez le canal « bêta » si vous êtes aventurier et le « alpha » lorsque vous aimez vivre dangereusement.',
|
||||
'update_channel_stable' => 'Stable. Tout devrait fonctionner comme prévu.',
|
||||
'update_channel_beta' => 'Bêta. De nouvelles fonctionnalités sont présentes, mais il peut exister des régressions.',
|
||||
'update_channel_alpha' => 'Alpha. Nous essayons des choses et gardons ce qui fonctionne.',
|
||||
|
||||
// search
|
||||
'search' => 'Rechercher',
|
||||
@@ -255,8 +262,8 @@ return [
|
||||
'search_modifier_on' => 'La date de l\'opération est :value',
|
||||
'search_modifier_before' => 'La date de l\'opération est avant :value',
|
||||
'search_modifier_after' => 'La date de l\'opération est après :value',
|
||||
'search_modifier_created_on' => 'Transaction was created on :value',
|
||||
'search_modifier_updated_on' => 'Transaction was last updated on :value',
|
||||
'search_modifier_created_on' => 'La transaction a été créée sur :value',
|
||||
'search_modifier_updated_on' => 'La transaction a été mise à jour pour la dernière fois sur :value',
|
||||
'modifiers_applies_are' => 'Les modificateurs suivants sont aussi appliqués à la recherche :',
|
||||
'general_search_error' => 'Une erreur s\'est produite lors de la recherche. Veuillez vérifier les fichiers journaux pour plus d\'informations.',
|
||||
'search_box' => 'Rechercher',
|
||||
@@ -540,13 +547,13 @@ return [
|
||||
'optional_field_meta_data' => 'Métadonnées facultatives',
|
||||
|
||||
// profile:
|
||||
'permanent_delete_stuff' => 'Be careful with these buttons. Deleting stuff is permanent.',
|
||||
'delete_all_budgets' => 'Delete ALL your budgets',
|
||||
'delete_all_categories' => 'Delete ALL your categories',
|
||||
'delete_all_tags' => 'Delete ALL your tags',
|
||||
'deleted_all_budgets' => 'All budgets have been deleted',
|
||||
'deleted_all_categories' => 'All categories have been deleted',
|
||||
'deleted_all_tags' => 'All tags have been deleted',
|
||||
'permanent_delete_stuff' => 'Attention à ces boutons. Ce que vous supprimez l\'est de façon définitive.',
|
||||
'delete_all_budgets' => 'Supprimer TOUS vos budgets',
|
||||
'delete_all_categories' => 'Supprimer toutes vos catégories',
|
||||
'delete_all_tags' => 'Supprimer tous vos tags',
|
||||
'deleted_all_budgets' => 'Tous les budgets ont été supprimés',
|
||||
'deleted_all_categories' => 'Toutes les catégories ont été supprimées',
|
||||
'deleted_all_tags' => 'Tous les étiquettes ont été supprimés',
|
||||
'change_your_password' => 'Modifier votre mot de passe',
|
||||
'delete_account' => 'Supprimer le compte',
|
||||
'current_password' => 'Mot de passe actuel',
|
||||
@@ -731,7 +738,7 @@ return [
|
||||
|
||||
// bills:
|
||||
'match_between_amounts' => 'La facture correspond à des transactions entre :low et :high.',
|
||||
'running_again_loss' => 'Previously linked transactions to this bill may lose their connection, if they (no longer) match the rule(s).',
|
||||
'running_again_loss' => 'Les transactions précédemment liées à cette facture peuvent perdre leur connexion, s\'ils ne correspondent plus à la ou les règles.',
|
||||
'bill_related_rules' => 'Règles reliées à cette facture',
|
||||
'repeats' => 'Répétitions',
|
||||
'connected_journals' => 'Opérations liées',
|
||||
@@ -759,9 +766,9 @@ return [
|
||||
'list_inactive_rule' => 'règle inactive',
|
||||
|
||||
// accounts:
|
||||
'inactive_account_link' => 'You have :count inactive (archived) accounts, which you can view on this separate page.',
|
||||
'all_accounts_inactive' => 'These are your inactive accounts.',
|
||||
'active_account_link' => 'This link goes back to your active accounts.',
|
||||
'inactive_account_link' => 'Vous avez :count comptes inactifs (archivés), que vous pouvez voir sur cette autre page.',
|
||||
'all_accounts_inactive' => 'Voici vos comptes inactifs.',
|
||||
'active_account_link' => 'Ce lien renvoie à vos comptes actifs.',
|
||||
'account_missing_transaction' => 'Le compte #:id (":name") ne peut pas être consulter directement et Firefly III ne dispose d\'aucune information pour vous rediriger.',
|
||||
'details_for_asset' => 'Détails pour le compte d’actif ":name"',
|
||||
'details_for_expense' => 'Détails du compte de dépenses ":name"',
|
||||
@@ -789,9 +796,9 @@ return [
|
||||
'make_new_revenue_account' => 'Créer un nouveau compte de recettes',
|
||||
'make_new_liabilities_account' => 'Créer un nouveau passif',
|
||||
'asset_accounts' => 'Comptes d’actif',
|
||||
'asset_accounts_inactive' => 'Asset accounts (inactive)',
|
||||
'asset_accounts_inactive' => 'Comptes d\'actifs (inactif)',
|
||||
'expense_accounts' => 'Comptes de dépenses',
|
||||
'expense_accounts_inactive' => 'Expense accounts (inactive)',
|
||||
'expense_accounts_inactive' => 'Comptes de dépenses (inactif)',
|
||||
'revenue_accounts' => 'Comptes de recettes',
|
||||
'cash_accounts' => 'Comptes de trésorerie',
|
||||
'Cash account' => 'Compte de trésorerie',
|
||||
@@ -878,7 +885,7 @@ return [
|
||||
// transactions:
|
||||
'update_withdrawal' => 'Mettre à jour un retrait',
|
||||
'update_deposit' => 'Mettre à jour un dépôt',
|
||||
'update_transaction' => 'Update transaction',
|
||||
'update_transaction' => 'Mettre à jour la transaction',
|
||||
'update_transfer' => 'Mettre à jour un transfert',
|
||||
'updated_withdrawal' => 'Retrait ":description" mis à jour',
|
||||
'updated_deposit' => 'Dépôt ":description" mis à jour',
|
||||
@@ -935,7 +942,7 @@ return [
|
||||
'tag_report_chart_single_tag' => 'Ce graphique s\'applique à un seul mots-clé. Si une transaction a plusieurs mots-clés, ce que vous voyez ici peut être reflété dans les graphiques d\'autres mots-clés également.',
|
||||
'tag' => 'Mot-clé',
|
||||
'no_budget_squared' => '(pas de budget)',
|
||||
'perm-delete-many' => 'Supprimer beaucoup d\'éléments d\'un coup peut être très turbulent. Soyez prudent. Vous pouvez supprimer une partie d\'une opération scindée de cette page, alors faites attention.',
|
||||
'perm-delete-many' => 'Supprimer beaucoup d\'éléments d\'un coup peut être très perturbateur. Soyez prudent. Vous pouvez supprimer une partie d\'une opération scindée à partir de cette page, alors faites attention.',
|
||||
'mass_deleted_transactions_success' => 'Montant des opérations supprimées : :amount.',
|
||||
'mass_edited_transactions_success' => 'Montant des opérations mises à jour : :amount',
|
||||
'opt_group_' => '(aucun type de compte)',
|
||||
@@ -960,7 +967,7 @@ return [
|
||||
// new user:
|
||||
'welcome' => 'Bienvenue sur Firefly III !',
|
||||
'submit' => 'Soumettre',
|
||||
'submission' => 'Submission',
|
||||
'submission' => 'Soumission',
|
||||
'submit_yes_really' => 'Soumettre (je sais ce que je fais)',
|
||||
'getting_started' => 'Mise en route',
|
||||
'to_get_started' => 'Vous venez d\'installer Firefly III avec succès. Pour commencer avec cet outil, entrez le nom de votre banque et le solde de votre compte courant principal. Ne vous inquiétez pas si vous avez plusieurs comptes. Vous pourrez les ajouter plus tard. Firefly III a simplement besoin de quelque chose pour commencer.',
|
||||
@@ -1166,7 +1173,7 @@ return [
|
||||
'overspent' => 'Trop dépensé',
|
||||
'left' => 'Reste',
|
||||
'max-amount' => 'Montant maximum',
|
||||
'min-amount' => 'Minimum amount',
|
||||
'min-amount' => 'Montant minimum',
|
||||
'journal-amount' => 'Entrée de la facture courante',
|
||||
'name' => 'Nom',
|
||||
'date' => 'Date',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Le test a été initié. Vérifiez votre boîte de réception (et les logs si nécessaire).',
|
||||
|
||||
'split_transaction_title' => 'Description de l\'opération ventilée',
|
||||
'split_transaction_title_help' => 'Si vous créez une opération ventilée, il doit y avoir une description globale pour chaque fraction de l\'opération.',
|
||||
'split_title_help' => 'Si vous créez une opération ventilée, il doit y avoir une description globale pour chaque fractions de l\'opération.',
|
||||
'transaction_information' => 'Informations sur l\'opération',
|
||||
'you_create_transfer' => 'Vous êtes en train de créer un <strong>transfert</strong>.',
|
||||
@@ -1352,11 +1360,11 @@ return [
|
||||
'breadcrumb_convert_group' => 'Convertir l\'opération',
|
||||
'convert_invalid_source' => 'La source est invalide pour l\'opération n°%d.',
|
||||
'convert_invalid_destination' => 'Le compte de destination est invalide pour l\'opération n°%d.',
|
||||
'create_another' => 'After storing, return here to create another one.',
|
||||
'after_update_create_another' => 'After updating, return here to continue editing.',
|
||||
'store_as_new' => 'Store as a new transaction instead of updating.',
|
||||
'reset_after' => 'Reset form after submission',
|
||||
'errors_submission' => 'There was something wrong with your submission. Please check out the errors below.',
|
||||
'create_another' => 'Après enregistrement, revenir ici pour en créer un nouveau.',
|
||||
'after_update_create_another' => 'Après la mise à jour, revenir ici pour continuer l\'édition.',
|
||||
'store_as_new' => 'Enregistrer comme une nouvelle transaction au lieu de mettre à jour.',
|
||||
'reset_after' => 'Réinitialiser le formulaire après soumission',
|
||||
'errors_submission' => 'Certaines informations ne sont pas correctes dans votre formulaire. Veuillez vérifier les erreurs ci-dessous.',
|
||||
|
||||
// Import page (general strings only)
|
||||
'import_index_title' => 'Importer des opérations dans Firefly III',
|
||||
@@ -1384,11 +1392,11 @@ return [
|
||||
'no_accounts_imperative_liabilities' => 'Vous n’êtes pas obligé d\'utiliser cette fonctionnalité, mais elle peut être utile si vous souhaitez garder une trace de ces éléments.',
|
||||
'no_accounts_create_liabilities' => 'Créer un passif',
|
||||
'no_budgets_title_default' => 'Nous allons créer un budget',
|
||||
'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organize your expenses into logical groups, which you can give a soft-cap to limit your expenses.',
|
||||
'no_budgets_intro_default' => 'Vous n\'avez pas encore de budget. Les budgets sont utilisés pour organiser vos dépenses en groupes logiques, ce que vous permet d\'établir des seuils pour limiter ces dépenses.',
|
||||
'no_budgets_imperative_default' => 'Les budgets sont les outils de base de la gestion financière. Nous allons en créer un maintenant :',
|
||||
'no_budgets_create_default' => 'Créer un budget',
|
||||
'no_categories_title_default' => 'Nous allons créer une catégorie !',
|
||||
'no_categories_intro_default' => 'Vous n\'avez pas encore de catégorie. Les catégories sont utilisées pour affiner vos transactions en associant avec.',
|
||||
'no_categories_intro_default' => 'Vous n\'avez pas encore de catégories. Les catégories sont utilisées pour affiner vos transactions et les étiqueter avec leur catégorie désignée.',
|
||||
'no_categories_imperative_default' => 'Les catégories sont créées automatiquement lorsque vous créez des transactions, mais vous pouvez en créer manuellement. Nous allons en créer une maintenant :',
|
||||
'no_categories_create_default' => 'Créer une catégorie',
|
||||
'no_tags_title_default' => 'Nous allons créer un tag !',
|
||||
@@ -1477,7 +1485,7 @@ return [
|
||||
'new_recurring_transaction' => 'Nouvelle opération périodique',
|
||||
'help_weekend' => 'Que doit faire Firefly III lorsque l’opération périodique tombe un samedi ou un dimanche ?',
|
||||
'do_nothing' => 'Créer l\'opération tout de même',
|
||||
'skip_transaction' => 'Skip the occurrence',
|
||||
'skip_transaction' => 'Ignorer l\'occurrence',
|
||||
'jump_to_friday' => 'Créer l\'opération le vendredi précédent',
|
||||
'jump_to_monday' => 'Créer l\'opération le lundi suivant',
|
||||
'will_jump_friday' => 'Sera créé le vendredi plutôt que les week-ends.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Correspondre à',
|
||||
'strict' => 'Mode strict',
|
||||
'repeat_freq' => 'Répétitions',
|
||||
'update_channel' => 'Canal de mise à jour',
|
||||
'journal_currency_id' => 'Devise',
|
||||
'currency_id' => 'Devise',
|
||||
'transaction_currency_id' => 'Devise',
|
||||
|
@@ -45,7 +45,7 @@ return [
|
||||
'at_least_one_repetition' => 'Besoin d\'au moins une répétition.',
|
||||
'require_repeat_until' => 'Besoin d’un certain nombre de répétitions ou d\'une date de fin (repeat_until). Pas les deux.',
|
||||
'require_currency_info' => 'Le contenu de ce champ n\'est pas valide sans informations sur la devise.',
|
||||
'not_transfer_account' => 'This account is not an account that can be used for transfers.',
|
||||
'not_transfer_account' => 'Ce compte n\'est pas un compte qui peut être utilisé pour les transferts.',
|
||||
'require_currency_amount' => 'Le contenu de ce champ est invalide sans informations sur le montant étranger.',
|
||||
'equal_description' => 'La description de la transaction ne doit pas être identique à la description globale.',
|
||||
'file_invalid_mime' => 'Le fichier ":name" est du type ":mime" ce qui n\'est pas accepté pour un nouvel envoi.',
|
||||
|
26
resources/lang/hu_HU/api.php
Normal file
26
resources/lang/hu_HU/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Frissítések keresése most',
|
||||
'admin_update_check_now_explain' => 'Ha megnyomja a gombot, a Firefly III ellenőrinzi fogja, hogy a legfrissebb változatot használja -e.',
|
||||
'check_for_updates_button' => 'Ellenőrzés most!',
|
||||
'update_new_version_alert' => 'A Firefly III új verziója elérhető. A jelenleg használt verzió v:your_version, a legújabb verzió pedig v:new_version, amely megjelent: :date.',
|
||||
'update_current_version_alert' => 'A jelenlegi verzió v:version, ez egyben a legfrissebb elérhető verzió is.',
|
||||
'update_newer_version_alert' => 'A jelenlegi verzió v:your_version, amely újabb, mint a legfrissebb kiadott verzió, ami a v:new_version.',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
|
||||
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
|
||||
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
|
||||
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
|
||||
'update_check_error' => 'Hiba történt a frissítések ellenőrzése során. További információ a naplófájlokban található.',
|
||||
'admin_update_channel_title' => 'Update channel',
|
||||
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
|
||||
'update_channel_stable' => 'Stable. Everything should work as expected.',
|
||||
'update_channel_beta' => 'Beta. New features but things may be broken.',
|
||||
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
|
||||
|
||||
// search
|
||||
'search' => 'Keresés',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Teszt elindítva. Ellenőrizd a bejövő üzeneteidet és a naplófájlokat.',
|
||||
|
||||
'split_transaction_title' => 'Felosztott tranzakció leírása',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'Felosztott tranzakció létrehozásakor meg kell adni egy globális leírást a tranzakció összes felosztása részére.',
|
||||
'transaction_information' => 'Tranzakció információ',
|
||||
'you_create_transfer' => 'Egy <strong>átvezetést</strong> hozol létre.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Találatok',
|
||||
'strict' => 'Szigorú mód',
|
||||
'repeat_freq' => 'Ismétlődések',
|
||||
'update_channel' => 'Update channel',
|
||||
'journal_currency_id' => 'Pénznem',
|
||||
'currency_id' => 'Pénznem',
|
||||
'transaction_currency_id' => 'Pénznem',
|
||||
|
26
resources/lang/id_ID/api.php
Normal file
26
resources/lang/id_ID/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Check for updates now',
|
||||
'admin_update_check_now_explain' => 'If you press the button, Firefly III will see if your current version is the latest.',
|
||||
'check_for_updates_button' => 'Check now!',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running v:your_version, the latest version is v:new_version which was released on :date.',
|
||||
'update_current_version_alert' => 'You are running v:version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running v:your_version, which is newer than the latest release, v:new_version.',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
|
||||
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
|
||||
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
|
||||
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
|
||||
'update_check_error' => 'An error occurred while checking for updates. Please view the log files.',
|
||||
'admin_update_channel_title' => 'Update channel',
|
||||
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
|
||||
'update_channel_stable' => 'Stable. Everything should work as expected.',
|
||||
'update_channel_beta' => 'Beta. New features but things may be broken.',
|
||||
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
|
||||
|
||||
// search
|
||||
'search' => 'Pencarian',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Uji dipicu. Periksa kotak masuk dan file log Anda.',
|
||||
|
||||
'split_transaction_title' => 'Description of the split transaction',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'transaction_information' => 'Transaction information',
|
||||
'you_create_transfer' => 'You\'re creating a <strong>transfer</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Cocok di',
|
||||
'strict' => 'Strict mode',
|
||||
'repeat_freq' => 'Berulang',
|
||||
'update_channel' => 'Update channel',
|
||||
'journal_currency_id' => 'Mata uang',
|
||||
'currency_id' => 'Mata uang',
|
||||
'transaction_currency_id' => 'Currency',
|
||||
|
26
resources/lang/it_IT/api.php
Normal file
26
resources/lang/it_IT/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Controlla gli aggiornamenti ora',
|
||||
'admin_update_check_now_explain' => 'Se si preme il pulsante, Firefly III controllerà se la versione corrente è la più recente.',
|
||||
'check_for_updates_button' => 'Controlla ora!',
|
||||
'update_new_version_alert' => 'È disponibile una nuova versione di Firefly III. Stai eseguendo v:your_version, l\'ultima versione è v:new_version che è stata rilasciata il :date.',
|
||||
'update_current_version_alert' => 'Stai eseguendo v:version, che è l\'ultima versione disponibile.',
|
||||
'update_newer_version_alert' => 'Stai eseguendo v:your_version, che è più recente rispetto all\'ultima versione, v:new_version.',
|
||||
'update_new_version_alert' => 'È disponibile una nuova versione di Firefly III. Stai utilizzando :your_version, l\'ultima versione è :new_version che è stata rilasciata il :date.',
|
||||
'update_version_beta' => 'Questa versione è una versione BETA. Puoi avere problemi.',
|
||||
'update_version_alpha' => 'Questa versione è una versione ALPHA. Puoi avere problemi.',
|
||||
'update_current_version_alert' => 'Stai utilizzando :version, che è l\'ultima versione disponibile.',
|
||||
'update_newer_version_alert' => 'Stai utilizzando :your_version, che è più recente dell\'ultima versione, :new_version.',
|
||||
'update_check_error' => 'Si è verificato un errore durante il controllo degli aggiornamenti. Si prega di visualizzare i file di log.',
|
||||
'admin_update_channel_title' => 'Canale di aggiornamento',
|
||||
'admin_update_channel_explain' => 'Firefly III dispone di tre "canali" di aggiornamento che indicano quanto avanti ti trovi in termini di funzionalità, miglioramenti e bug. Usa il canale "beta" se sei avventuroso e quello "alpha" se vuoi vivere pericolosamente.',
|
||||
'update_channel_stable' => 'Stabile. Tutto dovrebbe funzionare come previsto.',
|
||||
'update_channel_beta' => 'Beta. Nuove funzionalità ma qualcosa potrebbe rompersi.',
|
||||
'update_channel_alpha' => 'Alpha. Inseriamo qualsiasi cosa e vediamo cosa funziona.',
|
||||
|
||||
// search
|
||||
'search' => 'Cerca',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Il test è stato attivato. Controlla la tua casella di posta e i file di log.',
|
||||
|
||||
'split_transaction_title' => 'Descrizione della transazione suddivisa',
|
||||
'split_transaction_title_help' => 'Se crei una transazione suddivisa, è necessario che ci sia una descrizione globale per tutte le suddivisioni della transazione.',
|
||||
'split_title_help' => 'Se crei una transazione suddivisa è necessario che ci sia una descrizione globale per tutte le suddivisioni della transazione.',
|
||||
'transaction_information' => 'Informazioni transazione',
|
||||
'you_create_transfer' => 'Stai creando un <strong>trasferimento</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Abbina con',
|
||||
'strict' => 'Modalità severa',
|
||||
'repeat_freq' => 'Si ripete',
|
||||
'update_channel' => 'Canale di aggiornamento',
|
||||
'journal_currency_id' => 'Valuta',
|
||||
'currency_id' => 'Valuta',
|
||||
'transaction_currency_id' => 'Valuta',
|
||||
|
@@ -45,7 +45,7 @@ return [
|
||||
'at_least_one_repetition' => 'È necessaria almeno una ripetizione.',
|
||||
'require_repeat_until' => 'Richiede un numero di ripetizioni o una data di fine (ripeti fino al), non entrambi.',
|
||||
'require_currency_info' => 'Il contenuto di questo campo non è valido senza informazioni sulla valuta.',
|
||||
'not_transfer_account' => 'This account is not an account that can be used for transfers.',
|
||||
'not_transfer_account' => 'Questo conto non è un conto che può essere usato per i trasferimenti.',
|
||||
'require_currency_amount' => 'Il contenuto di questo campo non è valido senza le informazioni sull\'importo estero.',
|
||||
'equal_description' => 'La descrizione della transazione non deve essere uguale alla descrizione globale.',
|
||||
'file_invalid_mime' => 'Il file ":name" è di tipo ":mime" che non è accettato come nuovo caricamento.',
|
||||
|
26
resources/lang/nb_NO/api.php
Normal file
26
resources/lang/nb_NO/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Se etter oppdateringer nå',
|
||||
'admin_update_check_now_explain' => 'Hvis du trykker på knappen, vil Firefly III se om din nåværende versjon er den nyeste.',
|
||||
'check_for_updates_button' => 'Sjekk nå!',
|
||||
'update_new_version_alert' => 'En ny versjon av Firefly III er tilgjengelig. Du kjører v:your_version, den nyeste versjonen er v:new_version som ble utgitt den :date.',
|
||||
'update_current_version_alert' => 'Du kjører v:version, som er den nyeste tilgjengelige utgivelsen.',
|
||||
'update_newer_version_alert' => 'Du kjører v:your_version, som er nyere enn den nyeste versjonen, v:new_version.',
|
||||
'update_new_version_alert' => 'A new version of Firefly III is available. You are running :your_version, the latest version is :new_version which was released on :date.',
|
||||
'update_version_beta' => 'This version is a BETA version. You may run into issues.',
|
||||
'update_version_alpha' => 'This version is a ALPHA version. You may run into issues.',
|
||||
'update_current_version_alert' => 'You are running :version, which is the latest available release.',
|
||||
'update_newer_version_alert' => 'You are running :your_version, which is newer than the latest release, :new_version.',
|
||||
'update_check_error' => 'Det oppsto en feil under sjekk av oppdateringer. Vennligst se loggfilene for mer informasjon.',
|
||||
'admin_update_channel_title' => 'Update channel',
|
||||
'admin_update_channel_explain' => 'Firefly III has three update "channels" which determine how ahead of the curve you are in terms of features, enhancements and bugs. Use the "beta" channel if you\'re adventurous and the "alpha" when you like to live life dangerously.',
|
||||
'update_channel_stable' => 'Stable. Everything should work as expected.',
|
||||
'update_channel_beta' => 'Beta. New features but things may be broken.',
|
||||
'update_channel_alpha' => 'Alpha. We throw stuff in, and use whatever sticks.',
|
||||
|
||||
// search
|
||||
'search' => 'Søk',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Test ble utløst. Sjekk innboksen din og loggfilene.',
|
||||
|
||||
'split_transaction_title' => 'Description of the split transaction',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'transaction_information' => 'Transaction information',
|
||||
'you_create_transfer' => 'You\'re creating a <strong>transfer</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Treff på',
|
||||
'strict' => 'Streng modus',
|
||||
'repeat_freq' => 'Gjentas',
|
||||
'update_channel' => 'Update channel',
|
||||
'journal_currency_id' => 'Valuta',
|
||||
'currency_id' => 'Valuta',
|
||||
'transaction_currency_id' => 'Valuta',
|
||||
|
26
resources/lang/nl_NL/api.php
Normal file
26
resources/lang/nl_NL/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -224,10 +224,17 @@ return [
|
||||
'admin_update_check_now_title' => 'Op updates controleren',
|
||||
'admin_update_check_now_explain' => 'Als je op de knop drukt, kijkt Firefly III of je huidige versie de nieuwste is.',
|
||||
'check_for_updates_button' => 'Controleer nu!',
|
||||
'update_new_version_alert' => 'Er is een nieuwe versie van Firefly III beschikbaar. Je gebruikt v:your_version, de nieuwste versie is v:new_version die werd uitgebracht op :date.',
|
||||
'update_current_version_alert' => 'Je gebruikt v:version, de nieuwste beschikbare versie.',
|
||||
'update_newer_version_alert' => 'Je gebruikt v:your_version, wat nieuwer is dan de nieuwste versie, v:new_version.',
|
||||
'update_new_version_alert' => 'Er is een nieuwe versie van Firefly III beschikbaar. Je gebruikt :your_version, de nieuwste versie is :new_version die werd uitgebracht op :date.',
|
||||
'update_version_beta' => 'Dit is een BETA versie. Er kunnen bugs in zitten.',
|
||||
'update_version_alpha' => 'Dit is een ALPHA versie. Er kunnen bugs in zitten.',
|
||||
'update_current_version_alert' => 'Je gebruikt :version, de nieuwste beschikbare versie.',
|
||||
'update_newer_version_alert' => 'Je gebruikt :your_version, wat nieuwer is dan de nieuwste versie, :new_version.',
|
||||
'update_check_error' => 'Er is een fout opgetreden bij het controleren op updates. Bekijk de logbestanden.',
|
||||
'admin_update_channel_title' => 'Updatekanaal',
|
||||
'admin_update_channel_explain' => 'Firefly III heeft drie "kanalen" die bepalen of en hoever je voorloopt als het gaat om features, wijzigingen en bugs. Gebruik het "beta"-kanaal als je een avontuurlijke bui hebt en gebruik het "alpha" kanaal als je ook graag met krokodillen zwemt.',
|
||||
'update_channel_stable' => 'Stabiel. Zou allemaal goed moeten gaan.',
|
||||
'update_channel_beta' => 'Beta. Nieuwe dingen, maar die kunnen stuk zijn.',
|
||||
'update_channel_alpha' => 'Alpha. We doen maar wat en jij mag testen.',
|
||||
|
||||
// search
|
||||
'search' => 'Zoeken',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Testmail verstuurd. Check je inbox en de logboeken.',
|
||||
|
||||
'split_transaction_title' => 'Beschrijving van de gesplitste transactie',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'Als je een gesplitste transactie maakt, moet er een algemene beschrijving zijn voor alle splitsingen van de transactie.',
|
||||
'transaction_information' => 'Transactieinformatie',
|
||||
'you_create_transfer' => 'Je maakt een <strong>overschrijving</strong>.',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Reageert op',
|
||||
'strict' => 'Strikte modus',
|
||||
'repeat_freq' => 'Herhaling',
|
||||
'update_channel' => 'Updatekanaal',
|
||||
'journal_currency_id' => 'Valuta',
|
||||
'currency_id' => 'Valuta',
|
||||
'transaction_currency_id' => 'Valuta',
|
||||
|
@@ -45,7 +45,7 @@ return [
|
||||
'at_least_one_repetition' => 'Er is op zijn minst één herhaling nodig.',
|
||||
'require_repeat_until' => 'Je moet een aantal herhalingen opgeven, of een einddatum (repeat_until). Niet beide.',
|
||||
'require_currency_info' => 'De inhoud van dit veld is ongeldig zonder valutagegevens.',
|
||||
'not_transfer_account' => 'This account is not an account that can be used for transfers.',
|
||||
'not_transfer_account' => 'Deze account kan je niet gebruiken voor overschrijvingen.',
|
||||
'require_currency_amount' => 'De inhoud van dit veld is ongeldig zonder bedrag in vreemde valuta.',
|
||||
'equal_description' => 'Transactiebeschrijving mag niet gelijk zijn aan globale beschrijving.',
|
||||
'file_invalid_mime' => 'Bestand ":name" is van het type ":mime", en die kan je niet uploaden.',
|
||||
|
26
resources/lang/pl_PL/api.php
Normal file
26
resources/lang/pl_PL/api.php
Normal file
@@ -0,0 +1,26 @@
|
||||
<?php
|
||||
/**
|
||||
* api.php
|
||||
* Copyright (c) 2019 thegrumpydictator@gmail.com
|
||||
*
|
||||
* This file is part of Firefly III (https://github.com/firefly-iii).
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Affero General Public License as
|
||||
* published by the Free Software Foundation, either version 3 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Affero General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Affero General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
return [
|
||||
|
||||
];
|
@@ -94,9 +94,9 @@ return [
|
||||
'two_factor_forgot' => 'Zapomniałem mojego uwierzytelnienia dwuskładnikowego.',
|
||||
'two_factor_lost_header' => 'Straciłeś uwierzytelnianie dwuskładnikowe?',
|
||||
'two_factor_lost_intro' => 'Jeżeli także nie masz kodów, to niestety nie masz szczęścia. To nie jest coś, co możemy naprawić z poziomu przeglądarki. Masz dwie opcje.',
|
||||
'two_factor_lost_fix_self' => 'If you run your own instance of Firefly III, check the logs in <code>storage/logs</code> for instructions, or run <code>docker logs <container_id></code> to see the instructions (refresh this page).',
|
||||
'two_factor_lost_fix_self' => 'Jeśli masz własną instancję Firefly III, sprawdź logi w <code>storage/logs</code> po wskazówki, lub uruchom <code>docker logs <container_id></code> aby zobaczyć wskazówki (odśwież tę stronę).',
|
||||
'two_factor_lost_fix_owner' => 'W przeciwnym razie, powiadom właściciela strony, <a href="mailto::site_owner">:site_owner</a> i poproś go o zresetowanie Twojego uwierzytelnienia dwuskładnikowego.',
|
||||
'mfa_backup_code' => 'You have used a backup code to login to Firefly III. It can\'t be used again, so cross it from your list.',
|
||||
'mfa_backup_code' => 'Użyłeś kodu zapasowego do zalogowania się do Firefly III. Nie możesz go użyć ponownie, więc wykreśl go z listy.',
|
||||
'pref_two_factor_new_backup_codes' => 'Wygeneruj nowe kody zapasowe',
|
||||
'pref_two_factor_backup_code_count' => 'Masz :count ważnych kodów zapasowych.',
|
||||
'2fa_i_have_them' => 'Kody zapisane!',
|
||||
@@ -111,7 +111,7 @@ return [
|
||||
'user_id_is' => 'Twój identyfikator użytkownika to <strong>:user</strong>',
|
||||
'field_supports_markdown' => 'To pole obsługuje <a href="https://pl.wikipedia.org/wiki/Markdown">Markdown</a>.',
|
||||
'need_more_help' => 'Jeśli potrzebujesz dodatkowej pomocy w korzystaniu z Firefly III, proszę <a href="https://github.com/firefly-iii/firefly-iii/issues">opisz go w zgłoszeniu na Githubie</a>.',
|
||||
'reenable_intro_text' => 'You can also re-enable <a href="#" id="reenableGuidance">the introduction guidance</a>.',
|
||||
'reenable_intro_text' => 'Możesz także ponownie włączyć <a href="#" id="reenableGuidance">samouczek</a>.',
|
||||
'intro_boxes_after_refresh' => 'Samouczek pojawi się po odświeżeniu strony.',
|
||||
'show_all_no_filter' => 'Pokaż wszystkie transakcje bez grupowania ich według daty.',
|
||||
'expenses_by_category' => 'Wydatki wg kategorii',
|
||||
@@ -135,7 +135,7 @@ return [
|
||||
'pref_languages_locale' => 'Aby język inny niż angielski działał poprawnie, twój system operacyjny musi być wyposażony w odpowiednie informacje o lokalizacji. Jeśli nie są one obecne, dane walutowe, daty i kwoty mogą być źle sformatowane.',
|
||||
'budget_in_period' => 'Wszystkie transakcje dla budżetu ":name" od :start do :end w :currency',
|
||||
'chart_budget_in_period' => 'Wykres wszystkich transakcji dla budżetu ":name" od :start do :end w :currency',
|
||||
'chart_budget_in_period_only_currency' => 'The amount you budgeted was in :currency, so this chart will only show transactions in :currency.',
|
||||
'chart_budget_in_period_only_currency' => 'Kwota zaplanowanego budżetu była w :currency, więc ten wykres pokaże transakcje tylko w :currency.',
|
||||
'chart_account_in_period' => 'Wykres wszystkich transakcji dla konta ":name" od :start do :end',
|
||||
'chart_category_in_period' => 'Wykres wszystkich transakcji dla kategorii ":name" od :start do :end',
|
||||
'chart_category_all' => 'Wykres wszystkich transakcji dla kategorii ":name"',
|
||||
@@ -208,7 +208,7 @@ return [
|
||||
'scopes_will_be_able' => 'Ta aplikacja będzie mogła:',
|
||||
'button_authorize' => 'Autoryzuj',
|
||||
'none_in_select_list' => '(żadne)',
|
||||
'no_piggy_bank' => '(brak skarbonek)',
|
||||
'no_piggy_bank' => '(brak skarbonki)',
|
||||
'name_in_currency' => ':name w :currency',
|
||||
'paid_in_currency' => 'Zapłacone w :currency',
|
||||
'unpaid_in_currency' => 'Niezapłacone w :currency',
|
||||
@@ -225,9 +225,16 @@ return [
|
||||
'admin_update_check_now_explain' => 'Jeśli naciśniesz przycisk, Firefly III sprawdzi, czy używasz najnowszej wersji.',
|
||||
'check_for_updates_button' => 'Sprawdź teraz!',
|
||||
'update_new_version_alert' => 'Dostępna jest nowa wersja Firefly III. Używasz wersji :your_version, najnowsza wersja to :new_version wydana :date.',
|
||||
'update_version_beta' => 'Ta wersja jest wersją BETA. Możesz napotkać błędy.',
|
||||
'update_version_alpha' => 'Ta wersja jest wersją ALPHA. Możesz napotkać błędy.',
|
||||
'update_current_version_alert' => 'Używasz wersji :version, która jest najnowszą dostępną wersją.',
|
||||
'update_newer_version_alert' => 'Używasz wersji :your_version, która jest nowsza niż najnowsza wersja, :new_version.',
|
||||
'update_check_error' => 'Wystąpił błąd podczas sprawdzania aktualizacji. Przejrzyj pliki dziennika.',
|
||||
'admin_update_channel_title' => 'Kanał aktualizacji',
|
||||
'admin_update_channel_explain' => 'Firefly III posiada trzy "kanały", które decydują jak wczesnej pod względem funkcji, ulepszeń i błędów wersji używasz. Użyj kanału "beta", jeśli lubisz przygody i "alfa", gdy lubisz żyć niebezpiecznie.',
|
||||
'update_channel_stable' => 'Stabilne. Wszystko powinno działać zgodnie z oczekiwaniami.',
|
||||
'update_channel_beta' => 'Beta. Nowe funkcje, ale niektóre funkcje mogą nie działać poprawnie.',
|
||||
'update_channel_alpha' => 'Alfa. Rzucamy różne rzeczy i zostawiamy to, co się przyklei.',
|
||||
|
||||
// search
|
||||
'search' => 'Szukaj',
|
||||
@@ -658,9 +665,9 @@ return [
|
||||
'new_default_currency' => ':name jest teraz domyślną walutą.',
|
||||
'cannot_delete_currency' => 'Nie można usunąć waluty :name, ponieważ jest ona nadal używana.',
|
||||
'cannot_disable_currency_journals' => 'Nie można wyłączyć :name ponieważ istnieją powiązane transakcje.',
|
||||
'cannot_disable_currency_last_left' => 'Cannot disable :name because it is the last enabled currency.',
|
||||
'cannot_disable_currency_account_meta' => 'Cannot disable :name because it is used in asset accounts.',
|
||||
'cannot_disable_currency_bills' => 'Cannot disable :name because it is used in bills.',
|
||||
'cannot_disable_currency_last_left' => 'Nie można wyłączyć :name, ponieważ jest to ostatnia włączona waluta.',
|
||||
'cannot_disable_currency_account_meta' => 'Nie można wyłączyć :name ponieważ jest użyte na kontach aktywów.',
|
||||
'cannot_disable_currency_bills' => 'Nie można wyłączyć :name ponieważ jest użyte w rachunkach.',
|
||||
'cannot_disable_currency_recurring' => 'Cannot disable :name because it is used in recurring transactions.',
|
||||
'cannot_disable_currency_available_budgets' => 'Cannot disable :name because it is used in available budgets.',
|
||||
'cannot_disable_currency_budget_limits' => 'Cannot disable :name because it is used in budget limits.',
|
||||
@@ -704,7 +711,7 @@ return [
|
||||
'createBudget' => 'Nowy budżet',
|
||||
'invalid_currency' => 'To jest niewłaściwa waluta',
|
||||
'set_ab' => 'Dostępna kwota budżetu została ustalona',
|
||||
'updated_ab' => 'The available budget amount has been updated',
|
||||
'updated_ab' => 'Dostępna kwota budżetu została zaktualizowana',
|
||||
'deleted_ab' => 'The available budget amount has been deleted',
|
||||
'deleted_bl' => 'The budgeted amount has been removed',
|
||||
'alt_currency_ab_create' => 'Set the available budget in another currency',
|
||||
@@ -759,9 +766,9 @@ return [
|
||||
'list_inactive_rule' => 'nieaktywna reguła',
|
||||
|
||||
// accounts:
|
||||
'inactive_account_link' => 'You have :count inactive (archived) accounts, which you can view on this separate page.',
|
||||
'all_accounts_inactive' => 'These are your inactive accounts.',
|
||||
'active_account_link' => 'This link goes back to your active accounts.',
|
||||
'inactive_account_link' => 'Masz :count nieaktywnych (zarchiwizowanych) kont, które możesz zobaczyć na tej oddzielnej stronie.',
|
||||
'all_accounts_inactive' => 'To są twoje nieaktywne konta.',
|
||||
'active_account_link' => 'Ten link wraca do Twoich aktywnych kont.',
|
||||
'account_missing_transaction' => 'Konto #:id (":name") nie możne być wyświetlone bezpośrednio, ale Firefly Iii nie ma informacji przekierowania.',
|
||||
'details_for_asset' => 'Szczegóły konta aktywów ":name"',
|
||||
'details_for_expense' => 'Szczegóły konta wydatków ":name"',
|
||||
@@ -789,7 +796,7 @@ return [
|
||||
'make_new_revenue_account' => 'Utwórz nowe konto przychodów',
|
||||
'make_new_liabilities_account' => 'Utwórz nowe zobowiązanie',
|
||||
'asset_accounts' => 'Konta aktywów',
|
||||
'asset_accounts_inactive' => 'Asset accounts (inactive)',
|
||||
'asset_accounts_inactive' => 'Konta aktywów (nieaktywne)',
|
||||
'expense_accounts' => 'Konta wydatków',
|
||||
'expense_accounts_inactive' => 'Konto wydatków (nieaktywne)',
|
||||
'revenue_accounts' => 'Konta przychodów',
|
||||
@@ -1277,6 +1284,7 @@ return [
|
||||
'send_test_triggered' => 'Test został uruchomiony. Sprawdź swoją skrzynkę odbiorczą i pliki dziennika.',
|
||||
|
||||
'split_transaction_title' => 'Opis podzielonej transakcji',
|
||||
'split_transaction_title_help' => 'If you create a split transaction, there must be a global description for all splits of the transaction.',
|
||||
'split_title_help' => 'Podzielone transakcje muszą posiadać globalny opis.',
|
||||
'transaction_information' => 'Informacje o transakcji',
|
||||
'you_create_transfer' => 'Tworzysz <strong>przelew</strong>.',
|
||||
@@ -1302,11 +1310,11 @@ return [
|
||||
'do_not_save_connection' => '(nie zapisuj powiązań)',
|
||||
'link_transaction' => 'Powiąż transakcje',
|
||||
'link_to_other_transaction' => 'Powiąż aktualną transakcję z inną transakcją',
|
||||
'select_transaction_to_link' => 'Select a transaction to link this transaction to. The links are currently unused in Firefly III (apart from being shown), but I plan to change this in the future. Use the search box to select a transaction either by title or by ID. If you want to add custom link types, check out the administration section.',
|
||||
'select_transaction_to_link' => 'Wybierz transakcję, aby powiązać tę transakcję. Powiązania są obecnie nieużywane w Firefly III (oprócz pokazywania), ale zamierzam to zmienić w przyszłości. Użyj pola wyszukiwania, aby wybrać transakcję według tytułu lub ID. Jeśli chcesz dodać niestandardowe typy powiązań, sprawdź sekcję administracyjną.',
|
||||
'this_transaction' => 'Ta transakcja',
|
||||
'transaction' => 'Transakcja',
|
||||
'comments' => 'Komentarze',
|
||||
'link_notes' => 'Any notes you wish to store with the link.',
|
||||
'link_notes' => 'Notatki które chcesz zapisać wraz z powiązaniem.',
|
||||
'invalid_link_selection' => 'Nie można powiązać tych transakcji',
|
||||
'selected_transaction' => 'Wybrana transakcja',
|
||||
'journals_linked' => 'Transakcje zostały powiązane.',
|
||||
@@ -1384,7 +1392,7 @@ return [
|
||||
'no_accounts_imperative_liabilities' => 'Nie musisz korzystać z tej funkcji, ale może być przydatna, jeśli chcesz śledzić te rzeczy.',
|
||||
'no_accounts_create_liabilities' => 'Utwórz zobowiązanie',
|
||||
'no_budgets_title_default' => 'Stwórzmy budżet',
|
||||
'no_budgets_intro_default' => 'You have no budgets yet. Budgets are used to organize your expenses into logical groups, which you can give a soft-cap to limit your expenses.',
|
||||
'no_budgets_intro_default' => 'Nie masz jeszcze żadnych budżetów. Budżety są wykorzystywane do organizowania twoich wydatków w logiczne grupy, które możesz obserwować, aby ograniczyć swoje wydatki.',
|
||||
'no_budgets_imperative_default' => 'Budżety są podstawowymi narzędziami zarządzania finansami. Stwórzmy jeden teraz:',
|
||||
'no_budgets_create_default' => 'Stwórz budżet',
|
||||
'no_categories_title_default' => 'Stwórzmy kategorię!',
|
||||
|
@@ -38,6 +38,7 @@ return [
|
||||
'match' => 'Dopasowanie',
|
||||
'strict' => 'Tryb ścisły',
|
||||
'repeat_freq' => 'Powtarza się',
|
||||
'update_channel' => 'Kanał aktualizacji',
|
||||
'journal_currency_id' => 'Waluta',
|
||||
'currency_id' => 'Waluta',
|
||||
'transaction_currency_id' => 'Waluta',
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user