diff --git a/.gitignore b/.gitignore
index b453800..59e0129 100644
--- a/.gitignore
+++ b/.gitignore
@@ -14,4 +14,5 @@ nbproject
# Tools
.svn
.sass-cache
-vendor
\ No newline at end of file
+vendor
+.ddev
diff --git a/composer.json b/composer.json
index 760b85c..b256f1b 100644
--- a/composer.json
+++ b/composer.json
@@ -3,8 +3,9 @@
"description": "Command line tool to sync toggl time entries to redmine",
"require": {
"php": ">=7.4.0",
+ "ixudra/toggl": "^2.0.0",
"kbsali/redmine-api": "^2.1",
- "morningtrain/toggl-api": "^1.2",
+ "nesbot/carbon": "3.4.0 as 1.39.1",
"symfony/config": "~2.7|^3",
"symfony/console": "~2.7|^3",
"symfony/yaml": "~2.7|^3"
@@ -19,16 +20,15 @@
},
"license": "GPL-3.0-only",
"authors": [
- {
- "name": "Johannes Haseitl",
- "email": "johannes@undpaul.de"
- },
{
"name": "Stefan Borchert",
"email": "stefan@undpaul.de"
}
],
"config": {
- "sort-packages": true
+ "sort-packages": true,
+ "allow-plugins": {
+ "kylekatarnls/update-helper": true
+ }
}
}
diff --git a/composer.lock b/composer.lock
index 7e21c7c..d3fc842 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,58 +4,38 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "19d897ab369629e6c7c555d3d19eb6d6",
+ "content-hash": "d07bd05015345fd857eab5a718e05590",
"packages": [
{
- "name": "guzzlehttp/guzzle",
- "version": "7.4.1",
+ "name": "carbonphp/carbon-doctrine-types",
+ "version": "3.2.0",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79"
+ "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
- "reference": "ee0a041b1760e6a53d2a39c8c34115adc2af2c79",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "guzzlehttp/promises": "^1.5",
- "guzzlehttp/psr7": "^1.8.3 || ^2.1",
- "php": "^7.2.5 || ^8.0",
- "psr/http-client": "^1.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ "php": "^8.1"
},
- "provide": {
- "psr/http-client-implementation": "1.0"
+ "conflict": {
+ "doctrine/dbal": "<4.0.0 || >=5.0.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "ext-curl": "*",
- "php-http/client-integration-tests": "^3.0",
- "phpunit/phpunit": "^8.5.5 || ^9.3.5",
- "psr/log": "^1.1 || ^2.0 || ^3.0"
- },
- "suggest": {
- "ext-curl": "Required for CURL handler support",
- "ext-intl": "Required for Internationalized Domain Name (IDN) support",
- "psr/log": "Required for using the Log middleware"
+ "doctrine/dbal": "^4.0.0",
+ "nesbot/carbon": "^2.71.0 || ^3.0.0",
+ "phpunit/phpunit": "^10.3"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.4-dev"
- }
- },
"autoload": {
"psr-4": {
- "GuzzleHttp\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
+ "Carbon\\Doctrine\\": "src/Carbon/Doctrine/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -63,106 +43,73 @@
],
"authors": [
{
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Jeremy Lindblom",
- "email": "jeremeamia@gmail.com",
- "homepage": "https://github.com/jeremeamia"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://github.com/sagikazarmark"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
+ "name": "KyleKatarn",
+ "email": "kylekatarnls@gmail.com"
}
],
- "description": "Guzzle is a PHP HTTP client library",
+ "description": "Types to use Carbon in Doctrine",
"keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "psr-18",
- "psr-7",
- "rest",
- "web service"
+ "carbon",
+ "date",
+ "datetime",
+ "doctrine",
+ "time"
],
"support": {
- "issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.4.1"
+ "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
+ "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0"
},
"funding": [
{
- "url": "https://github.com/GrahamCampbell",
+ "url": "https://github.com/kylekatarnls",
"type": "github"
},
{
- "url": "https://github.com/Nyholm",
- "type": "github"
+ "url": "https://opencollective.com/Carbon",
+ "type": "open_collective"
},
{
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
+ "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
"type": "tidelift"
}
],
- "time": "2021-12-06T18:43:05+00:00"
+ "time": "2024-02-09T16:56:22+00:00"
},
{
- "name": "guzzlehttp/promises",
- "version": "1.5.1",
+ "name": "doctrine/inflector",
+ "version": "1.4.4",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
+ "url": "https://github.com/doctrine/inflector.git",
+ "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
- "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9",
+ "reference": "4bd5c1cdfcd00e9e2d8c484f79150f67e5d355d9",
"shasum": ""
},
"require": {
- "php": ">=5.5"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
- "symfony/phpunit-bridge": "^4.4 || ^5.1"
+ "doctrine/coding-standard": "^8.0",
+ "phpstan/phpstan": "^0.12",
+ "phpstan/phpstan-phpunit": "^0.12",
+ "phpstan/phpstan-strict-rules": "^0.12",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.5-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
+ "Doctrine\\Inflector\\": "lib/Doctrine/Inflector",
+ "Doctrine\\Common\\Inflector\\": "lib/Doctrine/Common/Inflector"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -170,91 +117,149 @@
],
"authors": [
{
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
},
{
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
},
{
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
},
{
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
}
],
- "description": "Guzzle promises library",
+ "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
+ "homepage": "https://www.doctrine-project.org/projects/inflector.html",
"keywords": [
- "promise"
+ "inflection",
+ "inflector",
+ "lowercase",
+ "manipulation",
+ "php",
+ "plural",
+ "singular",
+ "strings",
+ "uppercase",
+ "words"
],
"support": {
- "issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.5.1"
+ "issues": "https://github.com/doctrine/inflector/issues",
+ "source": "https://github.com/doctrine/inflector/tree/1.4.4"
},
"funding": [
{
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
},
{
- "url": "https://github.com/Nyholm",
- "type": "github"
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
},
{
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
"type": "tidelift"
}
],
- "time": "2021-10-22T20:56:57+00:00"
+ "time": "2021-04-16T17:34:40+00:00"
},
{
- "name": "guzzlehttp/psr7",
- "version": "2.1.0",
+ "name": "illuminate/contracts",
+ "version": "v5.5.44",
"source": {
"type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72"
+ "url": "https://github.com/illuminate/contracts.git",
+ "reference": "b2a62b4a85485fca9cf5fa61a933ad64006ff528"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
- "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72",
+ "url": "https://api.github.com/repos/illuminate/contracts/zipball/b2a62b4a85485fca9cf5fa61a933ad64006ff528",
+ "reference": "b2a62b4a85485fca9cf5fa61a933ad64006ff528",
"shasum": ""
},
"require": {
- "php": "^7.2.5 || ^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0",
- "ralouphie/getallheaders": "^3.0"
+ "php": ">=7.0",
+ "psr/container": "~1.0",
+ "psr/simple-cache": "~1.0"
},
- "provide": {
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.5-dev"
+ }
},
- "require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.8 || ^9.3.10"
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Contracts\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Contracts package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2018-03-20T15:34:35+00:00"
+ },
+ {
+ "name": "illuminate/support",
+ "version": "v5.5.44",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/support.git",
+ "reference": "5c405512d75dcaf5d37791badce02d86ed8e4bc4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/support/zipball/5c405512d75dcaf5d37791badce02d86ed8e4bc4",
+ "reference": "5c405512d75dcaf5d37791badce02d86ed8e4bc4",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/inflector": "~1.1",
+ "ext-mbstring": "*",
+ "illuminate/contracts": "5.5.*",
+ "nesbot/carbon": "^1.24.1",
+ "php": ">=7.0"
+ },
+ "replace": {
+ "tightenco/collect": "<5.5.33"
},
"suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
+ "illuminate/filesystem": "Required to use the composer class (5.5.*).",
+ "symfony/process": "Required to use the composer class (~3.3).",
+ "symfony/var-dumper": "Required to use the dd function (~3.3)."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.1-dev"
+ "dev-master": "5.5-dev"
}
},
"autoload": {
+ "files": [
+ "helpers.php"
+ ],
"psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
+ "Illuminate\\Support\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -263,71 +268,137 @@
],
"authors": [
{
- "name": "Graham Campbell",
- "email": "hello@gjcampbell.co.uk",
- "homepage": "https://github.com/GrahamCampbell"
- },
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "George Mponos",
- "email": "gmponos@gmail.com",
- "homepage": "https://github.com/gmponos"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/Nyholm"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://github.com/sagikazarmark"
- },
- {
- "name": "Tobias Schultze",
- "email": "webmaster@tubo-world.de",
- "homepage": "https://github.com/Tobion"
- },
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Support package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2018-08-10T19:40:01+00:00"
+ },
+ {
+ "name": "ixudra/curl",
+ "version": "6.22.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ixudra/curl.git",
+ "reference": "ac1844e9770995a493fd92b6b18b254b1636f2d0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ixudra/curl/zipball/ac1844e9770995a493fd92b6b18b254b1636f2d0",
+ "reference": "ac1844e9770995a493fd92b6b18b254b1636f2d0",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "illuminate/support": ">=4.0",
+ "php": ">=5.4.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Ixudra\\Curl\\CurlServiceProvider"
+ ],
+ "aliases": {
+ "Curl": "Ixudra\\Curl\\Facades\\Curl"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Ixudra\\Curl\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
{
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
+ "name": "Jan Oris",
+ "email": "jan.oris@ixudra.be"
}
],
- "description": "PSR-7 message implementation that also provides common utility methods",
+ "description": "Custom PHP Curl library for the Laravel framework - developed by Ixudra",
+ "homepage": "http://ixudra.be",
"keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
+ "Ixudra",
+ "curl",
+ "laravel"
],
"support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.1.0"
+ "issues": "https://github.com/ixudra/curl/issues",
+ "source": "https://github.com/ixudra/curl/tree/6.22.2"
},
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
+ "time": "2024-04-22T18:35:47+00:00"
+ },
+ {
+ "name": "ixudra/toggl",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ixudra/toggl.git",
+ "reference": "d931e4766caa441e5b34550c4de210c39a70e8b3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ixudra/toggl/zipball/d931e4766caa441e5b34550c4de210c39a70e8b3",
+ "reference": "d931e4766caa441e5b34550c4de210c39a70e8b3",
+ "shasum": ""
+ },
+ "require": {
+ "ixudra/curl": "~6.0",
+ "nesbot/carbon": ">=1.19",
+ "php": ">=5.6.0"
+ },
+ "suggest": {
+ "illuminate/support": "Support for laravel using the TogglServiceProvider"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Ixudra\\Toggl\\TogglServiceProvider"
+ ],
+ "aliases": {
+ "IxdTogglPckg": "Ixudra\\Toggl\\Facades\\Toggl"
+ }
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Ixudra\\Toggl\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
{
- "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
- "type": "tidelift"
+ "name": "Jan Oris",
+ "email": "jan.oris@ixudra.be"
}
],
- "time": "2021-10-06T17:43:30+00:00"
+ "description": "Custom PHP library to connect with the Toggl API - developed by Ixudra",
+ "homepage": "https://ixudra.be",
+ "keywords": [
+ "Ixudra",
+ "api",
+ "laravel",
+ "toggl"
+ ],
+ "support": {
+ "issues": "https://github.com/ixudra/toggl/issues",
+ "source": "https://github.com/ixudra/toggl/tree/2.0.0"
+ },
+ "time": "2024-05-26T13:16:35+00:00"
},
{
"name": "kbsali/redmine-api",
@@ -387,56 +458,206 @@
"time": "2022-01-04T12:56:17+00:00"
},
{
- "name": "morningtrain/toggl-api",
- "version": "v1.2.0",
+ "name": "nesbot/carbon",
+ "version": "3.4.0",
"source": {
"type": "git",
- "url": "https://github.com/Morning-Train/toggl-api.git",
- "reference": "f9075853f03c950f4c9a88300fefd38fc93f1d85"
+ "url": "https://github.com/briannesbitt/Carbon.git",
+ "reference": "8eab8983c83c30e0bacbef8d311e3f3b8172727f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Morning-Train/toggl-api/zipball/f9075853f03c950f4c9a88300fefd38fc93f1d85",
- "reference": "f9075853f03c950f4c9a88300fefd38fc93f1d85",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/8eab8983c83c30e0bacbef8d311e3f3b8172727f",
+ "reference": "8eab8983c83c30e0bacbef8d311e3f3b8172727f",
"shasum": ""
},
"require": {
- "guzzlehttp/guzzle": "^6.3|^7.0"
+ "carbonphp/carbon-doctrine-types": "*",
+ "ext-json": "*",
+ "php": "^8.1",
+ "psr/clock": "^1.0",
+ "symfony/clock": "^6.3 || ^7.0",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/translation": "^4.4.18 || ^5.2.1|| ^6.0 || ^7.0"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
},
"require-dev": {
- "escapestudios/symfony2-coding-standard": "2.*",
- "squizlabs/php_codesniffer": "2.*"
+ "doctrine/dbal": "^3.6.3 || ^4.0",
+ "doctrine/orm": "^2.15.2 || ^3.0",
+ "friendsofphp/php-cs-fixer": "^3.52.1",
+ "kylekatarnls/multi-tester": "^2.5.3",
+ "ondrejmirtes/better-reflection": "^6.25.0.4",
+ "phpmd/phpmd": "^2.15.0",
+ "phpstan/extension-installer": "^1.3.1",
+ "phpstan/phpstan": "^1.10.65",
+ "phpunit/phpunit": "^10.5.15",
+ "squizlabs/php_codesniffer": "^3.9.0"
+ },
+ "bin": [
+ "bin/carbon"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev",
+ "dev-2.x": "2.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Carbon\\Laravel\\ServiceProvider"
+ ]
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Carbon\\": "src/Carbon/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brian Nesbitt",
+ "email": "brian@nesbot.com",
+ "homepage": "https://markido.com"
+ },
+ {
+ "name": "kylekatarnls",
+ "homepage": "https://github.com/kylekatarnls"
+ }
+ ],
+ "description": "An API extension for DateTime that supports 281 different languages.",
+ "homepage": "https://carbon.nesbot.com",
+ "keywords": [
+ "date",
+ "datetime",
+ "time"
+ ],
+ "support": {
+ "docs": "https://carbon.nesbot.com/docs",
+ "issues": "https://github.com/briannesbitt/Carbon/issues",
+ "source": "https://github.com/briannesbitt/Carbon"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/kylekatarnls",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/Carbon#sponsor",
+ "type": "opencollective"
+ },
+ {
+ "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-24T14:26:34+00:00"
+ },
+ {
+ "name": "psr/clock",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
- "MorningTrain\\TogglApi\\": "src/"
+ "Psr\\Clock\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "GNU General Public License v3.0"
+ "MIT"
],
"authors": [
{
- "name": "Bjarne Bonde",
- "email": "bb@morningtain.dk",
- "homepage": "http://morningtrain.dk/",
- "role": "Developer"
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
}
],
- "description": "A complete native php wrapper for the Toggl API",
- "homepage": "http://morningtrain.dk/",
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
"keywords": [
- "api",
- "php",
- "toggl"
+ "clock",
+ "now",
+ "psr",
+ "psr-20",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
+ },
+ "time": "2022-11-25T14:36:26+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea",
+ "reference": "513e0666f7216c7459170d56df27dfcefe1689ea",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.4.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
],
"support": {
- "issues": "https://github.com/Morning-Train/toggl-api/issues",
- "source": "https://github.com/Morning-Train/toggl-api/tree/v1.2.0"
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/1.1.2"
},
- "time": "2021-11-29T09:06:19+00:00"
+ "time": "2021-11-05T16:50:12+00:00"
},
{
"name": "psr/http-client",
@@ -600,30 +821,30 @@
},
{
"name": "psr/log",
- "version": "1.0.2",
+ "version": "3.0.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=8.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "3.x-dev"
}
},
"autoload": {
"psr-4": {
- "Psr\\Log\\": "Psr/Log/"
+ "Psr\\Log\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -633,7 +854,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -643,51 +864,135 @@
"psr",
"psr-3"
],
- "time": "2016-10-10T12:19:37+00:00"
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
+ },
+ "time": "2021-07-14T16:46:02+00:00"
},
{
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
+ "name": "psr/simple-cache",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
+ "php": ">=5.3.0"
},
"type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\SimpleCache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for simple caching",
+ "keywords": [
+ "cache",
+ "caching",
+ "psr",
+ "psr-16",
+ "simple-cache"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/simple-cache/tree/master"
+ },
+ "time": "2017-10-23T01:57:42+00:00"
+ },
+ {
+ "name": "symfony/clock",
+ "version": "v7.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/clock.git",
+ "reference": "2008671acb4a30b01c453de193cf9c80549ebda6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/2008671acb4a30b01c453de193cf9c80549ebda6",
+ "reference": "2008671acb4a30b01c453de193cf9c80549ebda6",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/clock": "^1.0",
+ "symfony/polyfill-php83": "^1.28"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/now.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Clock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "A polyfill for getallheaders.",
+ "description": "Decouples applications from the system clock",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clock",
+ "psr20",
+ "time"
+ ],
"support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+ "source": "https://github.com/symfony/clock/tree/v7.0.7"
},
- "time": "2019-03-08T08:55:37+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-04-18T09:29:19+00:00"
},
{
"name": "symfony/config",
@@ -767,47 +1072,45 @@
},
{
"name": "symfony/console",
- "version": "v3.3.4",
+ "version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546"
+ "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/a97e45d98c59510f085fa05225a1acb74dfe0546",
- "reference": "a97e45d98c59510f085fa05225a1acb74dfe0546",
+ "url": "https://api.github.com/repos/symfony/console/zipball/a10b1da6fc93080c180bba7219b5ff5b7518fe81",
+ "reference": "a10b1da6fc93080c180bba7219b5ff5b7518fe81",
"shasum": ""
},
"require": {
- "php": ">=5.5.9",
- "symfony/debug": "~2.8|~3.0",
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/debug": "~2.8|~3.0|~4.0",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/dependency-injection": "<3.3"
+ "symfony/dependency-injection": "<3.4",
+ "symfony/process": "<3.3"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/config": "~3.3",
- "symfony/dependency-injection": "~3.3",
- "symfony/event-dispatcher": "~2.8|~3.0",
- "symfony/filesystem": "~2.8|~3.0",
- "symfony/http-kernel": "~2.8|~3.0",
- "symfony/process": "~2.8|~3.0"
+ "symfony/config": "~3.3|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/event-dispatcher": "~2.8|~3.0|~4.0",
+ "symfony/lock": "~3.4|~4.0",
+ "symfony/process": "~3.3|~4.0"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": "",
- "symfony/filesystem": "",
+ "symfony/lock": "",
"symfony/process": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Console\\": ""
@@ -832,38 +1135,50 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2017-07-03T13:19:36+00:00"
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v3.4.47"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-24T10:57:07+00:00"
},
{
"name": "symfony/debug",
- "version": "v3.3.4",
+ "version": "v4.4.44",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
- "reference": "63b85a968486d95ff9542228dc2e4247f16f9743"
+ "reference": "1a692492190773c5310bc7877cb590c04c2f05be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/63b85a968486d95ff9542228dc2e4247f16f9743",
- "reference": "63b85a968486d95ff9542228dc2e4247f16f9743",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/1a692492190773c5310bc7877cb590c04c2f05be",
+ "reference": "1a692492190773c5310bc7877cb590c04c2f05be",
"shasum": ""
},
"require": {
- "php": ">=5.5.9",
- "psr/log": "~1.0"
+ "php": ">=7.1.3",
+ "psr/log": "^1|^2|^3"
},
"conflict": {
- "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
+ "symfony/http-kernel": "<3.4"
},
"require-dev": {
- "symfony/http-kernel": "~2.8|~3.0"
+ "symfony/http-kernel": "^3.4|^4.0|^5.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.3-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\Debug\\": ""
@@ -886,60 +1201,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Debug Component",
- "homepage": "https://symfony.com",
- "time": "2017-07-05T13:02:37+00:00"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v3.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/c726b64c1ccfe2896cb7df2e1331c357ad1c8ced",
- "reference": "c726b64c1ccfe2896cb7df2e1331c357ad1c8ced",
- "shasum": ""
- },
- "require": {
- "php": ">=8.0.2"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.0-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "files": [
- "function.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "A generic function and convention to trigger deprecation notices",
+ "description": "Provides tools to ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.0"
+ "source": "https://github.com/symfony/debug/tree/v4.4.44"
},
"funding": [
{
@@ -955,20 +1220,21 @@
"type": "tidelift"
}
],
- "time": "2021-11-01T23:48:49+00:00"
+ "abandoned": "symfony/error-handler",
+ "time": "2022-07-28T16:29:46+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v4.4.27",
+ "version": "v4.4.42",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "517fb795794faf29086a77d99eb8f35e457837a7"
+ "reference": "815412ee8971209bd4c1eecd5f4f481eacd44bf5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/517fb795794faf29086a77d99eb8f35e457837a7",
- "reference": "517fb795794faf29086a77d99eb8f35e457837a7",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/815412ee8971209bd4c1eecd5f4f481eacd44bf5",
+ "reference": "815412ee8971209bd4c1eecd5f4f481eacd44bf5",
"shasum": ""
},
"require": {
@@ -1002,7 +1268,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/filesystem/tree/v4.4.27"
+ "source": "https://github.com/symfony/filesystem/tree/v4.4.42"
},
"funding": [
{
@@ -1018,20 +1284,20 @@
"type": "tidelift"
}
],
- "time": "2021-07-21T12:19:41+00:00"
+ "time": "2022-05-20T08:49:14+00:00"
},
{
"name": "symfony/polyfill-ctype",
- "version": "v1.24.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "30885182c981ab175d4d034db0f6f469898070ab"
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
- "reference": "30885182c981ab175d4d034db0f6f469898070ab",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
+ "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
"shasum": ""
},
"require": {
@@ -1045,21 +1311,18 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.23-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1084,7 +1347,7 @@
"portable"
],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.24.0"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
},
"funding": [
{
@@ -1100,20 +1363,20 @@
"type": "tidelift"
}
],
- "time": "2021-10-20T20:35:02+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.24.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
+ "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
- "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+ "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
"shasum": ""
},
"require": {
@@ -1127,21 +1390,18 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.23-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1167,7 +1427,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.24.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
},
"funding": [
{
@@ -1183,20 +1443,20 @@
"type": "tidelift"
}
],
- "time": "2021-11-30T18:21:41+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
"name": "symfony/polyfill-php80",
- "version": "v1.24.0",
+ "version": "v1.29.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9"
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/57b712b08eddb97c762a8caa32c84e037892d2e9",
- "reference": "57b712b08eddb97c762a8caa32c84e037892d2e9",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+ "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
"shasum": ""
},
"require": {
@@ -1204,21 +1464,18 @@
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-main": "1.23-dev"
- },
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
"files": [
"bootstrap.php"
],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
"classmap": [
"Resources/stubs"
]
@@ -1250,7 +1507,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.24.0"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
},
"funding": [
{
@@ -1266,37 +1523,280 @@
"type": "tidelift"
}
],
- "time": "2021-09-13T13:58:33+00:00"
+ "time": "2024-01-29T20:11:03+00:00"
},
{
- "name": "symfony/yaml",
- "version": "v3.3.18",
+ "name": "symfony/polyfill-php83",
+ "version": "v1.29.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "af615970e265543a26ee712c958404eb9b7ac93d"
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "86fcae159633351e5fd145d1c47de6c528f8caff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/af615970e265543a26ee712c958404eb9b7ac93d",
- "reference": "af615970e265543a26ee712c958404eb9b7ac93d",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff",
+ "reference": "86fcae159633351e5fd145d1c47de6c528f8caff",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8"
+ "php": ">=7.1",
+ "symfony/polyfill-php80": "^1.14"
+ },
+ "type": "library",
+ "extra": {
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php83\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-01-29T20:11:03+00:00"
+ },
+ {
+ "name": "symfony/translation",
+ "version": "v4.4.47",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/45036b1d53accc48fe9bab71ccd86d57eba0dd94",
+ "reference": "45036b1d53accc48fe9bab71ccd86d57eba0dd94",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1.3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/translation-contracts": "^1.1.6|^2"
+ },
+ "conflict": {
+ "symfony/config": "<3.4",
+ "symfony/dependency-injection": "<3.4",
+ "symfony/http-kernel": "<4.4",
+ "symfony/yaml": "<3.4"
+ },
+ "provide": {
+ "symfony/translation-implementation": "1.0|2.0"
},
"require-dev": {
- "symfony/console": "~2.8|~3.0"
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^3.4|^4.0|^5.0",
+ "symfony/console": "^3.4|^4.0|^5.0",
+ "symfony/dependency-injection": "^3.4|^4.0|^5.0",
+ "symfony/finder": "~2.8|~3.0|~4.0|^5.0",
+ "symfony/http-kernel": "^4.4",
+ "symfony/intl": "^3.4|^4.0|^5.0",
+ "symfony/service-contracts": "^1.1.2|^2",
+ "symfony/yaml": "^3.4|^4.0|^5.0"
},
"suggest": {
- "symfony/console": "For validating YAML files using the lint command"
+ "psr/log-implementation": "To use logging capability in translator",
+ "symfony/config": "",
+ "symfony/yaml": ""
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to internationalize your application",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/translation/tree/v4.4.47"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-10-03T15:15:11+00:00"
+ },
+ {
+ "name": "symfony/translation-contracts",
+ "version": "v2.5.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation-contracts.git",
+ "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b0073a77ac0b7ea55131020e87b1e3af540f4664",
+ "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5"
+ },
+ "suggest": {
+ "symfony/translation-implementation": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.3-dev"
+ "dev-main": "2.5-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Translation\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to translation",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/translation-contracts/tree/v2.5.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-01-23T13:51:25+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v3.4.47",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "88289caa3c166321883f67fe5130188ebbb47094"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/88289caa3c166321883f67fe5130188ebbb47094",
+ "reference": "88289caa3c166321883f67fe5130188ebbb47094",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9|>=7.0.8",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "conflict": {
+ "symfony/console": "<3.4"
+ },
+ "require-dev": {
+ "symfony/console": "~3.4|~4.0"
+ },
+ "suggest": {
+ "symfony/console": "For validating YAML files using the lint command"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
@@ -1322,13 +1822,34 @@
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/3.3"
+ "source": "https://github.com/symfony/yaml/tree/v3.4.47"
},
- "time": "2018-01-20T15:04:53+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2020-10-24T10:57:07+00:00"
}
],
"packages-dev": [],
- "aliases": [],
+ "aliases": [
+ {
+ "package": "nesbot/carbon",
+ "version": "3.4.0.0",
+ "alias": "1.39.1",
+ "alias_normalized": "1.39.1.0"
+ }
+ ],
"minimum-stability": "stable",
"stability-flags": [],
"prefer-stable": false,
@@ -1337,5 +1858,5 @@
"php": ">=7.4.0"
},
"platform-dev": [],
- "plugin-api-version": "2.2.0"
+ "plugin-api-version": "2.6.0"
}
diff --git a/src/undpaul/toggl2redmine/Command/TimeEntrySync.php b/src/undpaul/toggl2redmine/Command/TimeEntrySync.php
index ca3e4b8..c1b1474 100644
--- a/src/undpaul/toggl2redmine/Command/TimeEntrySync.php
+++ b/src/undpaul/toggl2redmine/Command/TimeEntrySync.php
@@ -2,7 +2,7 @@
namespace undpaul\toggl2redmine\Command;
-use MorningTrain\TogglApi\TogglApi;
+use Carbon\Carbon;
use Redmine\Client\NativeCurlClient as RedmineClient;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Helper\ProgressBar;
@@ -20,6 +20,7 @@
use undpaul\toggl2redmine\TimeEntry;
use undpaul\toggl2redmine\TimeEntryCollection;
use undpaul\toggl2redmine\TimeEntrySyncConfigWrapper;
+use undpaul\toggl2redmine\Toggl\TogglClient;
/**
* Symfony command implementation for converting redmine wikipages to git.
@@ -29,7 +30,9 @@ class TimeEntrySync extends Command {
const ISSUE_SYNCED_FLAG = '#synced';
/**
- * @var \MorningTrain\TogglApi\TogglApi;
+ * The toggl client service.
+ *
+ * @var \undpaul\toggl2redmine\Toggle\TogglClient
*/
protected $togglClient;
@@ -286,20 +289,18 @@ protected function interact(InputInterface $input, OutputInterface $output) {
* {@inheritdoc}
*/
protected function execute(InputInterface $input, OutputInterface $output) {
-
// Get our necessary arguments from the input.
$redmineURL = $input->getArgument('redmineURL');
$redmineAPIKey = $input->getArgument('redmineAPIKey');
$togglAPIKey = $input->getArgument('togglAPIKey');
+ $this->togglWorkspaceID = $this->getWorkspaceID();
+ assert(strlen($this->togglWorkspaceID) > 0, 'No Workspace given');
+
// Init togglAPI client.
- $this->togglClient = new TogglApi($togglAPIKey);
+ $this->togglClient = new TogglClient(apiToken: $togglAPIKey, workspaceId: $this->togglWorkspaceID);
+
$this->togglCurrentUser = $this->togglClient->getMe();
- $this->togglWorkspaceID = $this->getWorkspaceID();
- if (empty($this->togglWorkspaceID)) {
- $this->output->writeln('No Workspace given');
- return;
- }
// Init redmine.
$this->redmineClient = new RedmineClient($redmineURL, $redmineAPIKey);
@@ -363,7 +364,7 @@ protected function getWorkspaceID() {
$workspace_id = $this->input->getOption('workspace');
if (!$workspace_id) {
- $workspaces = $this->togglClient->getWorkspaces();
+ $workspaces = $this->togglClient->userWorkspaces();
$options = [];
foreach ($workspaces as $i => $workspace) {
$options[$i] = sprintf('%s [ID:%d]', $workspace['name'], $workspace['id']);
@@ -669,7 +670,7 @@ protected function escapeAmpersand($str) {
* @return TimeEntryCollection
*/
function getTimeEntries(\DateTime $from, \DateTime $to) {
- $entries = $this->togglClient->getTimeEntriesInRange($from->format('c'), $to->format('c'));
+ $entries = $this->togglClient->timeEntries(new Carbon($from), new Carbon($to));
$collection = new TimeEntryCollection();
foreach ($entries as $id => $entry) {
diff --git a/src/undpaul/toggl2redmine/TimeEntry.php b/src/undpaul/toggl2redmine/TimeEntry.php
index ac13c3a..7796cd5 100644
--- a/src/undpaul/toggl2redmine/TimeEntry.php
+++ b/src/undpaul/toggl2redmine/TimeEntry.php
@@ -3,7 +3,6 @@
namespace undpaul\toggl2redmine;
use undpaul\toggl2redmine\TimeEntry\RedmineTimeEntry;
-use undpaul\toggl2redmine\TimeEntry\TogglTimeEntry;
class TimeEntry {
@@ -39,7 +38,6 @@ class TimeEntry {
*/
protected $activity;
-
/**
* Get the associated toggl entry.
*
@@ -66,7 +64,7 @@ public function setTogglEntry($togglEntry) {
public function hasTogglEntry() {
return isset($this->togglEntry);
}
-
+
/**
* Get the redmine entry.
*
@@ -140,7 +138,6 @@ public function syncScore() {
return $this->calculateSyncScore($this->redmineEntry);
}
-
/**
* Checks if the sync entries have changes, based on the sync score.
*
@@ -183,7 +180,7 @@ public function getChangedString() {
/**
* Get set activity.
- *
+ *
* @return \undpaul\toggl2redmine\RedmineTimeEntryActivity
*/
public function getActivity() {
diff --git a/src/undpaul/toggl2redmine/TimeEntryCollection.php b/src/undpaul/toggl2redmine/TimeEntryCollection.php
index 1e13c9e..ba14063 100644
--- a/src/undpaul/toggl2redmine/TimeEntryCollection.php
+++ b/src/undpaul/toggl2redmine/TimeEntryCollection.php
@@ -1,4 +1,5 @@
entries[$toggleID]->setRedmineEntry($this->redmineEntries[$redmineID]);
}
-
}
diff --git a/src/undpaul/toggl2redmine/TimeEntrySyncConfigWrapper.php b/src/undpaul/toggl2redmine/TimeEntrySyncConfigWrapper.php
index 82427a2..2e15663 100644
--- a/src/undpaul/toggl2redmine/TimeEntrySyncConfigWrapper.php
+++ b/src/undpaul/toggl2redmine/TimeEntrySyncConfigWrapper.php
@@ -27,6 +27,7 @@ class TimeEntrySyncConfigWrapper {
* Root level key for the confiuration subtree.
*/
public function __construct() {
+
}
/**
diff --git a/src/undpaul/toggl2redmine/Toggl/TogglClient.php b/src/undpaul/toggl2redmine/Toggl/TogglClient.php
new file mode 100644
index 0000000..862f6fc
--- /dev/null
+++ b/src/undpaul/toggl2redmine/Toggl/TogglClient.php
@@ -0,0 +1,24 @@
+sendGetMessage($this->baseUrl . $this->apiVersionUrl . '/me', $request_data);
+
+ return $data;
+ }
+
+}
diff --git a/src/undpaul/toggl2redmine/Toggl/TogglClientInterface.php b/src/undpaul/toggl2redmine/Toggl/TogglClientInterface.php
new file mode 100644
index 0000000..3d83967
--- /dev/null
+++ b/src/undpaul/toggl2redmine/Toggl/TogglClientInterface.php
@@ -0,0 +1,22 @@
+add(new TimeEntrySync());
$application->run();