Compare commits

...

51 commits

Author SHA1 Message Date
cfff03f6e2 [v2.4.2] Bump version number for release 2024-03-07 14:18:49 -05:00
4524ad166b Merge pull request 'Move Visit server link to server name' (#103) from MrPetovan/friendica-directory:enhancement/100-move-visit-server-link into stable
Reviewed-on: #103
2024-03-07 15:48:26 +01:00
2ffb047736 Move Visit server link to server name 2024-03-07 09:42:45 -05:00
f4bff37432 Merge pull request 'Update source code link to point to Friendica's Forgejo' (#101) from MrPetovan/friendica-directory:enhancement/97-source-code-link into stable
Reviewed-on: #101
2024-03-07 15:36:49 +01:00
62c6c0f1cc Merge pull request 'Change icon for Approval registration policy from dungeon door to stamp' (#102) from MrPetovan/friendica-directory:enhancement/99-unstable-version-icon into stable
Reviewed-on: #102
2024-03-07 15:35:43 +01:00
5f79768a6b Change icon for unstable version from poop to bug 2024-03-07 09:23:51 -05:00
08950be588 Change icon for Approval registration policy from dungeon door to stamp 2024-03-07 09:23:36 -05:00
9d77067e79 Update source code link to point to Friendica's Forgejo 2024-03-07 09:21:03 -05:00
13b95e22da Merge pull request '[Composer] Change gofabian/negotiation-middleware dependency requirement to support PHP 8.2' (#96) from MrPetovan/friendica-directory:bug/php-8 into stable
Reviewed-on: #96
2023-08-09 07:01:21 +02:00
9d296b9f5d [Composer] Change gofabian/negotiation-middleware dependency requirement to support PHP 8
- Add now-explicit laminas/laminas-zendframework-bridge dependency
- Bump PHP version requirement to 7.3.0
- Updating willdurand/negotiation (v2.3.1 => 3.1.0) (PHP 8 compatibility)
- Updating psr/http-message (1.0.1 => 1.1)
- Removing gofabian/negotiation-middleware (v0.1.3)
- Installing gofabian/negotiation-middleware (dev-master 4d3cda5)
- Updating gettext/languages (2.9.0 => 2.10.0)
- Updating gettext/gettext (v4.8.6 => v4.8.8)
- Updating guzzlehttp/psr7 (1.8.5 => 1.9.1)
- Updating guzzlehttp/promises (1.5.1 => 1.5.3)
- Updating symfony/polyfill-php72 (v1.26.0 => v1.27.0)
- Updating symfony/polyfill-intl-normalizer (v1.26.0 => v1.27.0)
- Updating symfony/polyfill-intl-idn (v1.26.0 => v1.27.0)
- Updating guzzlehttp/guzzle (6.5.6 => 6.5.8)
- Updating laminas/laminas-escaper (2.6.1 => 2.9.0)
- Updating laminas/laminas-zendframework-bridge (1.1.1 => 1.4.1)
- Updating masterminds/html5 (2.7.5 => 2.8.0)
- Updating monolog/monolog (1.26.1 => 1.27.1)
- Updating psr/container (1.0.0 => 1.1.1)
- Updating pimple/pimple (v3.2.3 => v3.5.0)
- Updating slim/slim (3.12.3 => 3.12.5)
- Updating pear/pear-core-minimal (v1.10.11 => v1.10.13)
2023-07-31 01:24:50 +02:00
bf85c8f986 Catch rare exception receiving line folding characters in header value of redirected request 2023-07-31 01:17:33 +02:00
064fd922e7 Add default profile picture path dependency
- Update default profile picture
2023-07-31 01:11:33 +02:00
95ffadb19f Fix ternary operator ambiguity deprecation in Utils\L10n 2023-07-31 01:10:37 +02:00
8bd1cb11ae Merge pull request 'Rename "forum" to "group"' (#94) from MrPetovan/friendica-directory:task/rename-forum-to-group into stable
Reviewed-on: #94
2023-06-05 06:37:27 +02:00
aade2ec534 Rename "forum" to "group"
- This reflects a change in Friendica Core
2023-06-04 00:16:38 -04:00
f854d7d5f7 Fix several PHP messages
- Add logging for exceptions
2023-03-12 17:49:44 -04:00
Tobias Diekershoff
230f17ef36 Merge pull request 'Normalize HTTP client user agent' (#90) from MrPetovan/friendica-directory:task/89-normalize-user-agent into stable
Reviewed-on: #90
2022-06-07 05:40:29 +00:00
30f6e6f5de [Composer] Remove unused dependency byjg/webrequest 2022-06-06 02:23:57 -04:00
d1a72232b3 Replace ByJG\WebRequest by GuzzleHttp\ClientInterface 2022-06-06 02:22:56 -04:00
9ff681a460 Fix database error with false bolean value in profile table 2022-06-06 02:22:39 -04:00
0ee5bf55b1 Replace direct curl uses with Guzzle HTTP client
- Add http dependency with custom User Agent
- Simplify profile poll to remove the second profile call to check availability
- Remove obsolete Network::fetchURL and Network::testURL
2022-06-06 02:22:37 -04:00
5829108c0e [Composer] Require guzzlehttp/guzzle:^6.5 2022-06-06 01:32:00 -04:00
91aa66ed77 [v2.4.1] Bump version number for release 2022-05-12 14:18:43 -04:00
7fdbaa3678 Don't encode the zrl parameter in external links
- Fix a "Forbidden" issue with /remote_follow links
2022-05-12 14:18:19 -04:00
df660b66c9 [v2.4.0] Bump version number for release 2022-05-12 09:15:19 -04:00
heluecht
3f38b3adea Merge pull request 'Remove obsolete profile.dfrn_request field' (#87) from MrPetovan/friendica-directory:task/86-remove-dfrn_request into stable
Reviewed-on: #87
2022-05-11 04:17:41 +00:00
e65bb660ce [Database v0010] Drop unused column profile.dfrn_request 2022-05-07 16:10:43 -04:00
a5700cb2c9 Remove references to dfrn_request 2022-05-07 16:10:43 -04:00
2627b54349 Replace dfrn_request by subscribe URL when available for the follow link
- Falls back to the `/remote_follow` module available since Friendica version 2020.03
- Falls back to the profile URL
- Remove unused atlas dependency in a couple API controllers
2022-05-07 16:10:42 -04:00
8988ad9f9d Add subscribe URL retrieval to server poll 2022-05-07 16:09:30 -04:00
7d5012e72e [Database v0009] Add server.subscribe_url field 2022-05-07 16:09:30 -04:00
b0142f6ab2 Add optional version parameter to console updatedb 2022-05-07 16:09:29 -04:00
cd809f7646 Remove mention of non-existent console parameters in Install and UpdateDb 2022-05-07 16:09:29 -04:00
2aba91d42c Add HTML link to profile to account name
- Normalize white space in HTML
2022-05-07 16:09:27 -04:00
2e84f5aa7b Merge pull request 'added DA DK translation THX atjn' (#88) from tobias/friendica-directory:20220501-daDK into stable
Reviewed-on: #88
2022-05-04 21:45:51 +00:00
1ebddb042f
PL translation updated THX strebski 2022-05-03 09:17:55 +02:00
0344c77336
added DA DK translation THX atjn 2022-05-01 20:17:13 +02:00
5a16bcb57c Merge pull request 'PL translation updated THX strebski' (#85) from tobias/friendica-directory:20220318-pl into stable
Reviewed-on: #85
2022-04-25 11:27:41 +00:00
146d4e6374
PL translation updated THX strebski 2022-03-18 17:41:59 +01:00
ef91f43be0 [v2.3.5] Bump version number for release 2022-01-23 06:13:16 -05:00
a3a5bd8ab4 Merge pull request 'added SV translation THX Kristoffer Grundström' (#84) from tobias/friendica-directory:20220122-sv into stable
Reviewed-on: #84
2022-01-23 01:27:15 +00:00
c34fcd11f8 added Swedish to the languages array 2022-01-22 19:09:24 +01:00
1356001334 added SV translation THX Kristoffer Grundström 2022-01-22 19:08:37 +01:00
b344935edc [v2.3.4] Bump version number for release 2022-01-10 02:24:09 -05:00
5de396bc67 Add Hungarian to the available languages 2022-01-09 18:16:15 -05:00
fe9b12164d [v2.3.3] Bump version number for release 2021-12-29 18:57:18 +01:00
6ccbeef59c [Composer] Updated dependencies before release
- Updating atlas/pdo (1.1.2 => 1.2.0)
  - Updating gettext/languages (2.6.0 => 2.9.0)
  - Updating gettext/gettext (v4.8.2 => v4.8.6)
  - Updating masterminds/html5 (2.7.1 => 2.7.5)
  - Updating psr/log (1.1.3 => 1.1.4)
  - Updating monolog/monolog (1.25.4 => 1.26.1)
  - Updating sarahman/simple-filesystem-cache (1.0.1 => 1.0.2)
  - Updating seld/cli-prompt (1.0.3 => 1.0.4)
  - Updating bower-asset/fontawesome (5.13.1 => 5.15.4)
  - Updating laminas/laminas-zendframework-bridge (1.0.4 => 1.1.1)
  - Updating pear/pear_exception (v1.0.1 => v1.0.2)
  - Updating pear/pear-core-minimal (v1.10.10 => v1.10.11)
2021-12-29 17:24:24 +01:00
4e3dcaf331 Merge pull request 'added HU translation' (#82) from tobias/friendica-directory:20211206-hu into stable
Reviewed-on: #82
2021-12-06 19:41:57 +00:00
ca605b8f23 added HU translation
fixes #73
2021-12-06 20:29:32 +01:00
13733e2f6c Merge pull request 'AR translation update THX abidin toumi' (#81) from tobias/friendica-directory:20211030-ar into stable
Reviewed-on: #81
2021-10-30 12:37:07 +00:00
d22b656a46 AR translation update THX abidin toumi 2021-10-30 08:27:49 +02:00
62 changed files with 5656 additions and 2978 deletions

View file

@ -1 +1 @@
2.3.0
2.4.2

View file

@ -22,10 +22,11 @@
"boronczyk/localization-middleware": "^1.4",
"byjg/migration": "^4.0",
"byjg/uri": "^1.0.4",
"byjg/webrequest": "^1.0",
"gettext/gettext": "^4.6",
"gofabian/negotiation-middleware": "^0.1.3",
"gofabian/negotiation-middleware": "dev-master",
"guzzlehttp/guzzle": "^6.5",
"laminas/laminas-escaper": "^2.6",
"laminas/laminas-zendframework-bridge": "^1.4",
"masterminds/html5": "^2.3",
"monolog/monolog": "^1.17",
"mrpetovan/net_ping": "^1.2",
@ -55,7 +56,7 @@
},
"config": {
"platform": {
"php": "7.1.0"
"php": "7.3.0"
},
"process-timeout" : 0,
"autoloader-suffix": "FriendicaDirectory",

3749
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "a8bc1750aa6136e10ea28799a0974f6b",
"content-hash": "e695909f6c6a475770dfc28266571d9a",
"packages": [
{
"name": "asika/simple-console",
@ -41,16 +41,16 @@
},
{
"name": "atlas/pdo",
"version": "1.1.2",
"version": "1.2.0",
"source": {
"type": "git",
"url": "https://github.com/atlasphp/Atlas.Pdo.git",
"reference": "69b7c968b6c685043d215c1ddbe48e526a73ca80"
"reference": "b64a164290b93bffd2e034dc6e49535afc7dea80"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/atlasphp/Atlas.Pdo/zipball/69b7c968b6c685043d215c1ddbe48e526a73ca80",
"reference": "69b7c968b6c685043d215c1ddbe48e526a73ca80",
"url": "https://api.github.com/repos/atlasphp/Atlas.Pdo/zipball/b64a164290b93bffd2e034dc6e49535afc7dea80",
"reference": "b64a164290b93bffd2e034dc6e49535afc7dea80",
"shasum": ""
},
"require": {
@ -84,7 +84,7 @@
"pdo",
"sql"
],
"time": "2019-12-23T15:09:02+00:00"
"time": "2020-12-31T16:08:34+00:00"
},
{
"name": "boronczyk/localization-middleware",
@ -173,16 +173,16 @@
},
{
"name": "bower-asset/fontawesome",
"version": "5.13.1",
"version": "5.15.4",
"source": {
"type": "git",
"url": "https://github.com/FortAwesome/Font-Awesome.git",
"reference": "1147d199a35293b391152ee85e2d30988439157f"
"reference": "7d3d774145ac38663f6d1effc6def0334b68ab7e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/1147d199a35293b391152ee85e2d30988439157f",
"reference": "1147d199a35293b391152ee85e2d30988439157f",
"url": "https://api.github.com/repos/FortAwesome/Font-Awesome/zipball/7d3d774145ac38663f6d1effc6def0334b68ab7e",
"reference": "7d3d774145ac38663f6d1effc6def0334b68ab7e",
"shasum": ""
},
"type": "bower-asset-library"
@ -447,46 +447,6 @@
"description": "An implementation of PSR UriInterface ",
"time": "2018-03-09T01:56:58+00:00"
},
{
"name": "byjg/webrequest",
"version": "1.0.7",
"source": {
"type": "git",
"url": "https://github.com/byjg/webrequest.git",
"reference": "a307e4e21525c9dc0f116b5cf8657318ef2a44e8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/byjg/webrequest/zipball/a307e4e21525c9dc0f116b5cf8657318ef2a44e8",
"reference": "a307e4e21525c9dc0f116b5cf8657318ef2a44e8",
"shasum": ""
},
"require": {
"ext-curl": "*",
"php": ">=5.4.0"
},
"require-dev": {
"phpunit/phpunit": ">5.7"
},
"type": "library",
"autoload": {
"psr-4": {
"ByJG\\Util\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "João Gilberto Magalhães",
"email": "joao@byjg.com.br"
}
],
"description": "A lightweight and highly customized CURL wrapper for making RESt calls and a wrapper for call dynamically SOAP requests.",
"time": "2018-03-09T02:53:33+00:00"
},
{
"name": "byjg/xmlutil",
"version": "1.0.6",
@ -526,62 +486,6 @@
"description": "A utility class to make easy work with XML in PHP.",
"time": "2018-03-10T14:43:36+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
"reference": "f350df0268e904597e3bd9c4685c53e0e333feea"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/f350df0268e904597e3bd9c4685c53e0e333feea",
"reference": "f350df0268e904597e3bd9c4685c53e0e333feea",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^6.0",
"ext-pdo": "*",
"ext-phar": "*",
"phpbench/phpbench": "^0.13",
"phpstan/phpstan-phpunit": "^0.11",
"phpstan/phpstan-shim": "^0.11",
"phpunit/phpunit": "^7.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.2.x-dev"
}
},
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
"homepage": "http://ocramius.github.com/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [
"constructor",
"instantiate"
],
"time": "2020-05-29T17:27:14+00:00"
},
{
"name": "fxp/composer-asset-plugin",
"version": "v1.4.6",
@ -643,16 +547,16 @@
},
{
"name": "gettext/gettext",
"version": "v4.8.2",
"version": "v4.8.8",
"source": {
"type": "git",
"url": "https://github.com/php-gettext/Gettext.git",
"reference": "e474f872f2c8636cf53fd283ec4ce1218f3d236a"
"reference": "302a00aa9d6762c92c884d879c15d3ed05d6a37d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-gettext/Gettext/zipball/e474f872f2c8636cf53fd283ec4ce1218f3d236a",
"reference": "e474f872f2c8636cf53fd283ec4ce1218f3d236a",
"url": "https://api.github.com/repos/php-gettext/Gettext/zipball/302a00aa9d6762c92c884d879c15d3ed05d6a37d",
"reference": "302a00aa9d6762c92c884d879c15d3ed05d6a37d",
"shasum": ""
},
"require": {
@ -660,7 +564,7 @@
"php": ">=5.4.0"
},
"require-dev": {
"illuminate/view": "*",
"illuminate/view": "^5.0.x-dev",
"phpunit/phpunit": "^4.8|^5.7|^6.5",
"squizlabs/php_codesniffer": "^3.0",
"symfony/yaml": "~2",
@ -701,27 +605,40 @@
"po",
"translation"
],
"time": "2019-12-02T10:21:14+00:00"
"funding": [
{
"url": "https://paypal.me/oscarotero",
"type": "custom"
},
{
"url": "https://github.com/oscarotero",
"type": "github"
},
{
"url": "https://www.patreon.com/misteroom",
"type": "patreon"
}
],
"time": "2022-12-08T11:59:50+00:00"
},
{
"name": "gettext/languages",
"version": "2.6.0",
"version": "2.10.0",
"source": {
"type": "git",
"url": "https://github.com/php-gettext/Languages.git",
"reference": "38ea0482f649e0802e475f0ed19fa993bcb7a618"
"reference": "4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-gettext/Languages/zipball/38ea0482f649e0802e475f0ed19fa993bcb7a618",
"reference": "38ea0482f649e0802e475f0ed19fa993bcb7a618",
"url": "https://api.github.com/repos/php-gettext/Languages/zipball/4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab",
"reference": "4d61d67fe83a2ad85959fe6133d6d9ba7dddd1ab",
"shasum": ""
},
"require": {
"php": ">=5.3"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.16.0",
"phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4"
},
"bin": [
@ -762,30 +679,40 @@
"translations",
"unicode"
],
"time": "2019-11-13T10:30:21+00:00"
"funding": [
{
"url": "https://paypal.me/mlocati",
"type": "custom"
},
{
"url": "https://github.com/mlocati",
"type": "github"
}
],
"time": "2022-10-18T15:00:10+00:00"
},
{
"name": "gofabian/negotiation-middleware",
"version": "v0.1.3",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/gofabian/negotiation-middleware.git",
"reference": "23d80fa1b00bbadded515df837c5a84517374b50"
"reference": "4d3cda5425eb2b74709a6510815f6c40d6c74ff7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/gofabian/negotiation-middleware/zipball/23d80fa1b00bbadded515df837c5a84517374b50",
"reference": "23d80fa1b00bbadded515df837c5a84517374b50",
"url": "https://api.github.com/repos/gofabian/negotiation-middleware/zipball/4d3cda5425eb2b74709a6510815f6c40d6c74ff7",
"reference": "4d3cda5425eb2b74709a6510815f6c40d6c74ff7",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"php": ">=7.3",
"psr/http-message": "^1.0",
"willdurand/negotiation": "^2.0"
"willdurand/negotiation": "^3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8",
"satooshi/php-coveralls": "0.6.1"
"php-coveralls/php-coveralls": "^2.4.3",
"phpunit/phpunit": "^9.5"
},
"suggest": {
"slim/slim": "The negotiation middleware is compatible to Slim 3.x"
@ -814,40 +741,326 @@
"psr-7",
"slim"
],
"time": "2017-02-22T18:45:01+00:00"
"time": "2021-05-16T18:42:02+00:00"
},
{
"name": "laminas/laminas-escaper",
"version": "2.6.1",
"name": "guzzlehttp/guzzle",
"version": "6.5.8",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
"reference": "25f2a053eadfa92ddacb609dcbbc39362610da70"
"url": "https://github.com/guzzle/guzzle.git",
"reference": "a52f0440530b54fa079ce76e8c5d196a42cad981"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/25f2a053eadfa92ddacb609dcbbc39362610da70",
"reference": "25f2a053eadfa92ddacb609dcbbc39362610da70",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981",
"reference": "a52f0440530b54fa079ce76e8c5d196a42cad981",
"shasum": ""
},
"require": {
"laminas/laminas-zendframework-bridge": "^1.0",
"php": "^5.6 || ^7.0"
},
"replace": {
"zendframework/zend-escaper": "self.version"
"ext-json": "*",
"guzzlehttp/promises": "^1.0",
"guzzlehttp/psr7": "^1.9",
"php": ">=5.5",
"symfony/polyfill-intl-idn": "^1.17"
},
"require-dev": {
"laminas/laminas-coding-standard": "~1.0.0",
"phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2"
"ext-curl": "*",
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
"psr/log": "^1.1"
},
"suggest": {
"psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.6.x-dev",
"dev-develop": "2.7.x-dev"
"dev-master": "6.5-dev"
}
},
"autoload": {
"files": [
"src/functions_include.php"
],
"psr-4": {
"GuzzleHttp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"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"
}
],
"description": "Guzzle is a PHP HTTP client library",
"homepage": "http://guzzlephp.org/",
"keywords": [
"client",
"curl",
"framework",
"http",
"http client",
"rest",
"web service"
],
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
"type": "tidelift"
}
],
"time": "2022-06-20T22:16:07+00:00"
},
{
"name": "guzzlehttp/promises",
"version": "1.5.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
"reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e",
"reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e",
"shasum": ""
},
"require": {
"php": ">=5.5"
},
"require-dev": {
"symfony/phpunit-bridge": "^4.4 || ^5.1"
},
"type": "library",
"autoload": {
"files": [
"src/functions_include.php"
],
"psr-4": {
"GuzzleHttp\\Promise\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"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": "Tobias Nyholm",
"email": "tobias.nyholm@gmail.com",
"homepage": "https://github.com/Nyholm"
},
{
"name": "Tobias Schultze",
"email": "webmaster@tubo-world.de",
"homepage": "https://github.com/Tobion"
}
],
"description": "Guzzle promises library",
"keywords": [
"promise"
],
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
"type": "tidelift"
}
],
"time": "2023-05-21T12:31:43+00:00"
},
{
"name": "guzzlehttp/psr7",
"version": "1.9.1",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
"reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b",
"reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b",
"shasum": ""
},
"require": {
"php": ">=5.4.0",
"psr/http-message": "~1.0",
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"ext-zlib": "*",
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
},
"type": "library",
"autoload": {
"files": [
"src/functions_include.php"
],
"psr-4": {
"GuzzleHttp\\Psr7\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"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"
}
],
"description": "PSR-7 message implementation that also provides common utility methods",
"keywords": [
"http",
"message",
"psr-7",
"request",
"response",
"stream",
"uri",
"url"
],
"funding": [
{
"url": "https://github.com/GrahamCampbell",
"type": "github"
},
{
"url": "https://github.com/Nyholm",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
"type": "tidelift"
}
],
"time": "2023-04-17T16:00:37+00:00"
},
{
"name": "laminas/laminas-escaper",
"version": "2.9.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
"reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/891ad70986729e20ed2e86355fcf93c9dc238a5f",
"reference": "891ad70986729e20ed2e86355fcf93c9dc238a5f",
"shasum": ""
},
"require": {
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"conflict": {
"zendframework/zend-escaper": "*"
},
"require-dev": {
"laminas/laminas-coding-standard": "~2.3.0",
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.12.2",
"vimeo/psalm": "^3.16"
},
"suggest": {
"ext-iconv": "*",
"ext-mbstring": "*"
},
"type": "library",
"autoload": {
"psr-4": {
"Laminas\\Escaper\\": "src/"
@ -863,35 +1076,39 @@
"escaper",
"laminas"
],
"time": "2019-12-31T16:43:30+00:00"
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-09-02T17:10:53+00:00"
},
{
"name": "laminas/laminas-zendframework-bridge",
"version": "1.0.4",
"version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-zendframework-bridge.git",
"reference": "fcd87520e4943d968557803919523772475e8ea3"
"reference": "88bf037259869891afce6504cacc4f8a07b24d0f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/fcd87520e4943d968557803919523772475e8ea3",
"reference": "fcd87520e4943d968557803919523772475e8ea3",
"url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/88bf037259869891afce6504cacc4f8a07b24d0f",
"reference": "88bf037259869891afce6504cacc4f8a07b24d0f",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
"php": "^7.3 || ~8.0.0 || ~8.1.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1",
"squizlabs/php_codesniffer": "^3.5"
"phpunit/phpunit": "^9.3",
"psalm/plugin-phpunit": "^0.15.1",
"squizlabs/php_codesniffer": "^3.5",
"vimeo/psalm": "^4.6"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev",
"dev-develop": "1.1.x-dev"
},
"laminas": {
"module": "Laminas\\ZendFrameworkBridge"
}
@ -915,32 +1132,34 @@
"laminas",
"zf"
],
"time": "2020-05-20T16:45:56+00:00"
"funding": [
{
"url": "https://funding.communitybridge.org/projects/laminas-project",
"type": "community_bridge"
}
],
"time": "2021-12-21T14:34:37+00:00"
},
{
"name": "masterminds/html5",
"version": "2.7.1",
"version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/Masterminds/html5-php.git",
"reference": "a3edfe52f9e7380e498d33157e1330e85386645d"
"reference": "3c5d5a56d56f48a1ca08a0670f0f80c1dad368f3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/a3edfe52f9e7380e498d33157e1330e85386645d",
"reference": "a3edfe52f9e7380e498d33157e1330e85386645d",
"url": "https://api.github.com/repos/Masterminds/html5-php/zipball/3c5d5a56d56f48a1ca08a0670f0f80c1dad368f3",
"reference": "3c5d5a56d56f48a1ca08a0670f0f80c1dad368f3",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-dom": "*",
"ext-libxml": "*",
"php": ">=5.3.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35",
"sami/sami": "~2.0",
"satooshi/php-coveralls": "1.0.*"
"phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7 || ^8"
},
"type": "library",
"extra": {
@ -982,20 +1201,20 @@
"serializer",
"xml"
],
"time": "2020-02-06T11:39:04+00:00"
"time": "2023-04-26T07:27:39+00:00"
},
{
"name": "monolog/monolog",
"version": "1.25.4",
"version": "1.27.1",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
"reference": "3022efff205e2448b560c833c6fbbf91c3139168"
"reference": "904713c5929655dc9b97288b69cfeedad610c9a1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/3022efff205e2448b560c833c6fbbf91c3139168",
"reference": "3022efff205e2448b560c833c6fbbf91c3139168",
"url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1",
"reference": "904713c5929655dc9b97288b69cfeedad610c9a1",
"shasum": ""
},
"require": {
@ -1011,7 +1230,7 @@
"graylog2/gelf-php": "~1.0",
"php-amqplib/php-amqplib": "~2.4",
"php-console/php-console": "^3.1.3",
"php-parallel-lint/php-parallel-lint": "^1.0",
"phpstan/phpstan": "^0.12.59",
"phpunit/phpunit": "~4.5",
"ruflin/elastica": ">=0.90 <3.0",
"sentry/sentry": "^0.13",
@ -1031,11 +1250,6 @@
"sentry/sentry": "Allow sending log messages to a Sentry server"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Monolog\\": "src/Monolog"
@ -1059,7 +1273,17 @@
"logging",
"psr-3"
],
"time": "2020-05-22T07:31:27+00:00"
"funding": [
{
"url": "https://github.com/Seldaek",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
"type": "tidelift"
}
],
"time": "2022-06-09T08:53:42+00:00"
},
{
"name": "mrpetovan/net_ping",
@ -1222,16 +1446,16 @@
},
{
"name": "pear/pear-core-minimal",
"version": "v1.10.10",
"version": "v1.10.13",
"source": {
"type": "git",
"url": "https://github.com/pear/pear-core-minimal.git",
"reference": "625a3c429d9b2c1546438679074cac1b089116a7"
"reference": "aed862e95fd286c53cc546734868dc38ff4b5b1d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/625a3c429d9b2c1546438679074cac1b089116a7",
"reference": "625a3c429d9b2c1546438679074cac1b089116a7",
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/aed862e95fd286c53cc546734868dc38ff4b5b1d",
"reference": "aed862e95fd286c53cc546734868dc38ff4b5b1d",
"shasum": ""
},
"require": {
@ -1262,27 +1486,27 @@
}
],
"description": "Minimal set of PEAR core files to be used as composer dependency",
"time": "2019-11-19T19:00:24+00:00"
"time": "2023-04-19T19:15:47+00:00"
},
{
"name": "pear/pear_exception",
"version": "v1.0.1",
"version": "v1.0.2",
"source": {
"type": "git",
"url": "https://github.com/pear/PEAR_Exception.git",
"reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7"
"reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7",
"reference": "dbb42a5a0e45f3adcf99babfb2a1ba77b8ac36a7",
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/b14fbe2ddb0b9f94f5b24cf08783d599f776fff0",
"reference": "b14fbe2ddb0b9f94f5b24cf08783d599f776fff0",
"shasum": ""
},
"require": {
"php": ">=4.4.0"
"php": ">=5.2.0"
},
"require-dev": {
"phpunit/phpunit": "*"
"phpunit/phpunit": "<9"
},
"type": "class",
"extra": {
@ -1317,20 +1541,736 @@
"keywords": [
"exception"
],
"time": "2019-12-10T10:24:42+00:00"
"time": "2021-03-21T15:43:46+00:00"
},
{
"name": "phpdocumentor/reflection-common",
"version": "2.1.0",
"name": "pimple/pimple",
"version": "v3.5.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
"reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b"
"url": "https://github.com/silexphp/Pimple.git",
"reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b",
"reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b",
"url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
"reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
"psr/container": "^1.1 || ^2.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^5.4@dev"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.4.x-dev"
}
},
"autoload": {
"psr-0": {
"Pimple": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Pimple, a simple Dependency Injection Container",
"homepage": "https://pimple.symfony.com",
"keywords": [
"container",
"dependency injection"
],
"time": "2021-10-28T11:13:42+00:00"
},
{
"name": "psr/cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Cache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for caching libraries",
"keywords": [
"cache",
"psr",
"psr-6"
],
"time": "2016-08-06T20:24:11+00:00"
},
{
"name": "psr/container",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf",
"reference": "8622567409010282b7aeebe4bb841fe98b58dcaf",
"shasum": ""
},
"require": {
"php": ">=7.2.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"
],
"time": "2021-03-05T17:36:06+00:00"
},
{
"name": "psr/http-message",
"version": "1.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
"reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"time": "2023-04-04T09:50:52+00:00"
},
{
"name": "psr/log",
"version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
"reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Log\\": "Psr/Log/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"time": "2021-05-03T11:20:27+00:00"
},
{
"name": "psr/simple-cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/simple-cache.git",
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"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"
],
"time": "2017-10-23T01:57:42+00:00"
},
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
"source": {
"type": "git",
"url": "https://github.com/ralouphie/getallheaders.git",
"reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
"reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.1",
"phpunit/phpunit": "^5 || ^6.5"
},
"type": "library",
"autoload": {
"files": [
"src/getallheaders.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Ralph Khattar",
"email": "ralph.khattar@gmail.com"
}
],
"description": "A polyfill for getallheaders.",
"time": "2019-03-08T08:55:37+00:00"
},
{
"name": "sarahman/simple-filesystem-cache",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sarahman/simple-filesystem-cache.git",
"reference": "adb8f79a3890e51692db02aadeaa42999f7ff5e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sarahman/simple-filesystem-cache/zipball/adb8f79a3890e51692db02aadeaa42999f7ff5e3",
"reference": "adb8f79a3890e51692db02aadeaa42999f7ff5e3",
"shasum": ""
},
"require": {
"ext-json": "*",
"psr/simple-cache": "*"
},
"provide": {
"psr/simple-cache-implementation": "1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8"
},
"type": "library",
"autoload": {
"psr-4": {
"Sarahman\\SimpleCache\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Syed Abidur Rahman",
"email": "aabid048@gmail.com"
}
],
"description": "Simple file system cache library for PHP built on top of PSR-16.",
"time": "2020-08-09T05:14:17+00:00"
},
{
"name": "seld/cli-prompt",
"version": "1.0.4",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/cli-prompt.git",
"reference": "b8dfcf02094b8c03b40322c229493bb2884423c5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/b8dfcf02094b8c03b40322c229493bb2884423c5",
"reference": "b8dfcf02094b8c03b40322c229493bb2884423c5",
"shasum": ""
},
"require": {
"php": ">=5.3"
},
"require-dev": {
"phpstan/phpstan": "^0.12.63"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Seld\\CliPrompt\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type",
"keywords": [
"cli",
"console",
"hidden",
"input",
"prompt"
],
"time": "2020-12-15T21:32:01+00:00"
},
{
"name": "slim/php-view",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/slimphp/PHP-View.git",
"reference": "a13ada9d7962ca1b48799c0d9ffbca4c33245aed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/PHP-View/zipball/a13ada9d7962ca1b48799c0d9ffbca4c33245aed",
"reference": "a13ada9d7962ca1b48799c0d9ffbca4c33245aed",
"shasum": ""
},
"require": {
"psr/http-message": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8",
"slim/slim": "^3.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Slim\\Views\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Glenn Eggleton",
"email": "geggleto@gmail.com"
}
],
"description": "Render PHP view scripts into a PSR-7 Response object.",
"keywords": [
"framework",
"php",
"phtml",
"renderer",
"slim",
"template",
"view"
],
"time": "2019-04-15T20:43:28+00:00"
},
{
"name": "slim/slim",
"version": "3.12.5",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "565632b2d9b64ecedf89546edbbf4f3648089f0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/565632b2d9b64ecedf89546edbbf4f3648089f0c",
"reference": "565632b2d9b64ecedf89546edbbf4f3648089f0c",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-libxml": "*",
"ext-simplexml": "*",
"nikic/fast-route": "^1.0",
"php": ">=5.5.0",
"pimple/pimple": "^3.0",
"psr/container": "^1.0",
"psr/http-message": "^1.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.0",
"squizlabs/php_codesniffer": "^3.6.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Slim\\": "Slim"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Josh Lockhart",
"email": "hello@joshlockhart.com",
"homepage": "https://joshlockhart.com"
},
{
"name": "Andrew Smith",
"email": "a.smith@silentworks.co.uk",
"homepage": "http://silentworks.co.uk"
},
{
"name": "Rob Allen",
"email": "rob@akrabat.com",
"homepage": "http://akrabat.com"
},
{
"name": "Gabriel Manricks",
"email": "gmanricks@me.com",
"homepage": "http://gabrielmanricks.com"
}
],
"description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs",
"homepage": "https://slimframework.com",
"keywords": [
"api",
"framework",
"micro",
"router"
],
"funding": [
{
"url": "https://opencollective.com/slimphp",
"type": "open_collective"
},
{
"url": "https://tidelift.com/funding/github/packagist/slim/slim",
"type": "tidelift"
}
],
"time": "2023-07-23T04:32:51+00:00"
},
{
"name": "symfony/polyfill-intl-idn",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git",
"reference": "639084e360537a19f9ee352433b84ce831f3d2da"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/639084e360537a19f9ee352433b84ce831f3d2da",
"reference": "639084e360537a19f9ee352433b84ce831f3d2da",
"shasum": ""
},
"require": {
"php": ">=7.1",
"symfony/polyfill-intl-normalizer": "^1.10",
"symfony/polyfill-php72": "^1.10"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Intl\\Idn\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Laurent Bassin",
"email": "laurent@bassin.info"
},
{
"name": "Trevor Rowbotham",
"email": "trevor.rowbotham@pm.me"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"idn",
"intl",
"polyfill",
"portable",
"shim"
],
"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-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-intl-normalizer",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"reference": "19bd1e4fcd5b91116f14d8533c57831ed00571b6",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"suggest": {
"ext-intl": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
"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 for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"intl",
"normalizer",
"polyfill",
"portable",
"shim"
],
"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-11-03T14:55:06+00:00"
},
{
"name": "symfony/polyfill-php72",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-php72.git",
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97",
"reference": "869329b1e9894268a8a61dabb69153029b7a8c97",
"shasum": ""
},
"require": {
@ -1339,7 +2279,678 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
"dev-main": "1.27-dev"
},
"thanks": {
"name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill"
}
},
"autoload": {
"files": [
"bootstrap.php"
],
"psr-4": {
"Symfony\\Polyfill\\Php72\\": ""
}
},
"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 7.2+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
"shim"
],
"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-11-03T14:55:06+00:00"
},
{
"name": "willdurand/negotiation",
"version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/willdurand/Negotiation.git",
"reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/willdurand/Negotiation/zipball/68e9ea0553ef6e2ee8db5c1d98829f111e623ec2",
"reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2",
"shasum": ""
},
"require": {
"php": ">=7.1.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^5.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.0-dev"
}
},
"autoload": {
"psr-4": {
"Negotiation\\": "src/Negotiation"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "William Durand",
"email": "will+git@drnd.me"
}
],
"description": "Content Negotiation tools for PHP provided as a standalone library.",
"homepage": "http://williamdurand.fr/Negotiation/",
"keywords": [
"accept",
"content",
"format",
"header",
"negotiation"
],
"time": "2022-01-30T20:08:53+00:00"
}
],
"packages-dev": [
{
"name": "bower-asset/bootstrap",
"version": "v4.6.2",
"source": {
"type": "git",
"url": "https://github.com/twbs/bootstrap.git",
"reference": "e5643aaa89eb67327a5b4abe7db976f0ea276b70"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twbs/bootstrap/zipball/e5643aaa89eb67327a5b4abe7db976f0ea276b70",
"reference": "e5643aaa89eb67327a5b4abe7db976f0ea276b70",
"shasum": ""
},
"type": "bower-asset-library"
},
{
"name": "composer/xdebug-handler",
"version": "1.4.6",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
"reference": "f27e06cd9675801df441b3656569b328e04aa37c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/f27e06cd9675801df441b3656569b328e04aa37c",
"reference": "f27e06cd9675801df441b3656569b328e04aa37c",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0",
"psr/log": "^1.0"
},
"require-dev": {
"phpstan/phpstan": "^0.12.55",
"symfony/phpunit-bridge": "^4.2 || ^5"
},
"type": "library",
"autoload": {
"psr-4": {
"Composer\\XdebugHandler\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "John Stevenson",
"email": "john-stevenson@blueyonder.co.uk"
}
],
"description": "Restarts a process without Xdebug.",
"keywords": [
"Xdebug",
"performance"
],
"funding": [
{
"url": "https://packagist.com",
"type": "custom"
},
{
"url": "https://github.com/composer",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"type": "tidelift"
}
],
"time": "2021-03-25T17:01:18+00:00"
},
{
"name": "doctrine/instantiator",
"version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
"reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9 || ^11",
"ext-pdo": "*",
"ext-phar": "*",
"phpbench/phpbench": "^0.16 || ^1",
"phpstan/phpstan": "^1.4",
"phpstan/phpstan-phpunit": "^1",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
"vimeo/psalm": "^4.30 || ^5.4"
},
"type": "library",
"autoload": {
"psr-4": {
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com",
"homepage": "https://ocramius.github.io/"
}
],
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
"homepage": "https://www.doctrine-project.org/projects/instantiator.html",
"keywords": [
"constructor",
"instantiate"
],
"funding": [
{
"url": "https://www.doctrine-project.org/sponsorship.html",
"type": "custom"
},
{
"url": "https://www.patreon.com/phpdoctrine",
"type": "patreon"
},
{
"url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
"type": "tidelift"
}
],
"time": "2022-12-30T00:15:36+00:00"
},
{
"name": "felixfbecker/advanced-json-rpc",
"version": "v3.2.1",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447",
"shasum": ""
},
"require": {
"netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0",
"php": "^7.1 || ^8.0",
"phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0"
},
"require-dev": {
"phpunit/phpunit": "^7.0 || ^8.0"
},
"type": "library",
"autoload": {
"psr-4": {
"AdvancedJsonRpc\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"ISC"
],
"authors": [
{
"name": "Felix Becker",
"email": "felix.b@outlook.com"
}
],
"description": "A more advanced JSONRPC implementation",
"time": "2021-06-11T22:34:44+00:00"
},
{
"name": "felixfbecker/language-server-protocol",
"version": "v1.5.2",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-language-server-protocol.git",
"reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842",
"reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
"require-dev": {
"phpstan/phpstan": "*",
"squizlabs/php_codesniffer": "^3.1",
"vimeo/psalm": "^4.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"LanguageServerProtocol\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"ISC"
],
"authors": [
{
"name": "Felix Becker",
"email": "felix.b@outlook.com"
}
],
"description": "PHP classes for the Language Server Protocol",
"keywords": [
"language",
"microsoft",
"php",
"server"
],
"time": "2022-03-02T22:36:06+00:00"
},
{
"name": "muglug/package-versions-56",
"version": "1.2.4",
"source": {
"type": "git",
"url": "https://github.com/muglug/PackageVersions.git",
"reference": "a67bed26deaaf9269a348e53063bc8d4dcc60ffd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/muglug/PackageVersions/zipball/a67bed26deaaf9269a348e53063bc8d4dcc60ffd",
"reference": "a67bed26deaaf9269a348e53063bc8d4dcc60ffd",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0",
"php": "^5.6 || ^7.0"
},
"require-dev": {
"composer/composer": "^1.3",
"ext-zip": "*",
"phpunit/phpunit": "^5.7.5"
},
"type": "composer-plugin",
"extra": {
"class": "Muglug\\PackageVersions\\Installer",
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Muglug\\PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Abdul Malik Ikhsan",
"email": "samsonasik@gmail.com"
},
{
"name": "Matt Brown",
"email": "github@muglug.com"
}
],
"description": "A backport of ocramius/package-versions that supports php ^5.6. Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"time": "2018-03-26T03:22:13+00:00"
},
{
"name": "myclabs/deep-copy",
"version": "1.11.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"conflict": {
"doctrine/collections": "<1.6.8",
"doctrine/common": "<2.13.3 || >=3,<3.2.2"
},
"require-dev": {
"doctrine/collections": "^1.6.8",
"doctrine/common": "^2.13.3 || ^3.2.2",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
"type": "library",
"autoload": {
"files": [
"src/DeepCopy/deep_copy.php"
],
"psr-4": {
"DeepCopy\\": "src/DeepCopy/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Create deep copies (clones) of your objects",
"keywords": [
"clone",
"copy",
"duplicate",
"object",
"object graph"
],
"funding": [
{
"url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
"type": "tidelift"
}
],
"time": "2023-03-08T13:26:56+00:00"
},
{
"name": "netresearch/jsonmapper",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
"reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06",
"reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.6"
},
"require-dev": {
"phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4",
"squizlabs/php_codesniffer": "~1.5"
},
"type": "library",
"autoload": {
"psr-0": {
"JsonMapper": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"OSL-3.0"
],
"authors": [
{
"name": "Christian Weiske",
"email": "cweiske@cweiske.de",
"homepage": "http://github.com/cweiske/jsonmapper/",
"role": "Developer"
}
],
"description": "Map nested JSON structures onto PHP classes",
"time": "2019-08-15T19:41:25+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.16.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "19526a33fb561ef417e822e85f08a00db4059c17"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17",
"reference": "19526a33fb561ef417e822e85f08a00db4059c17",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=7.0"
},
"require-dev": {
"ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"bin": [
"bin/php-parse"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.9-dev"
}
},
"autoload": {
"psr-4": {
"PhpParser\\": "lib/PhpParser"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"time": "2023-06-25T14:52:30+00:00"
},
{
"name": "openlss/lib-array2xml",
"version": "0.5.1",
"source": {
"type": "git",
"url": "https://github.com/nullivex/lib-array2xml.git",
"reference": "c8b5998a342d7861f2e921403f44e0a2f3ef2be0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/c8b5998a342d7861f2e921403f44e0a2f3ef2be0",
"reference": "c8b5998a342d7861f2e921403f44e0a2f3ef2be0",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"autoload": {
"psr-0": {
"LSS": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Bryan Tong",
"email": "contact@nullivex.com",
"homepage": "http://bryantong.com"
},
{
"name": "Tony Butler",
"email": "spudz76@gmail.com",
"homepage": "http://openlss.org"
}
],
"description": "Array2XML conversion library credit to lalit.org",
"homepage": "http://openlss.org",
"keywords": [
"array",
"array conversion",
"xml",
"xml conversion"
],
"time": "2016-11-10T19:10:18+00:00"
},
{
"name": "php-cs-fixer/diff",
"version": "v1.3.1",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/diff.git",
"reference": "dbd31aeb251639ac0b9e7e29405c1441907f5759"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/dbd31aeb251639ac0b9e7e29405c1441907f5759",
"reference": "dbd31aeb251639ac0b9e7e29405c1441907f5759",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0 || ^8.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0",
"symfony/process": "^3.3"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
"name": "Kore Nordmann",
"email": "mail@kore-nordmann.de"
},
{
"name": "SpacePossum"
}
],
"description": "sebastian/diff v2 backport support for PHP5.6",
"homepage": "https://github.com/PHP-CS-Fixer",
"keywords": [
"diff"
],
"abandoned": true,
"time": "2020-10-14T08:39:05+00:00"
},
{
"name": "phpdocumentor/reflection-common",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
"reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-2.x": "2.x-dev"
}
},
"autoload": {
@ -1366,45 +2977,42 @@
"reflection",
"static analysis"
],
"time": "2020-04-27T09:25:28+00:00"
"time": "2020-06-27T09:03:43+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
"version": "4.3.4",
"version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c"
"reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c",
"reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c",
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
"reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e",
"shasum": ""
},
"require": {
"php": "^7.0",
"phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0",
"phpdocumentor/type-resolver": "~0.4 || ^1.0.0",
"webmozart/assert": "^1.0"
"ext-filter": "^7.1",
"php": "^7.2",
"phpdocumentor/reflection-common": "^2.0",
"phpdocumentor/type-resolver": "^1.0",
"webmozart/assert": "^1"
},
"require-dev": {
"doctrine/instantiator": "^1.0.5",
"mockery/mockery": "^1.0",
"phpdocumentor/type-resolver": "0.4.*",
"phpunit/phpunit": "^6.4"
"doctrine/instantiator": "^1",
"mockery/mockery": "^1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.x-dev"
"dev-master": "5.x-dev"
}
},
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": [
"src/"
]
"phpDocumentor\\Reflection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -1415,38 +3023,41 @@
{
"name": "Mike van Riel",
"email": "me@mikevanriel.com"
},
{
"name": "Jaap van Otterdijk",
"email": "account@ijaap.nl"
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
"time": "2019-12-28T18:55:12+00:00"
"time": "2020-02-22T12:28:44+00:00"
},
{
"name": "phpdocumentor/type-resolver",
"version": "1.0.1",
"version": "1.6.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
"reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9"
"reference": "77a32518733312af16a44300404e945338981de3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
"reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
"reference": "77a32518733312af16a44300404e945338981de3",
"shasum": ""
},
"require": {
"php": "^7.1",
"php": "^7.2 || ^8.0",
"phpdocumentor/reflection-common": "^2.0"
},
"require-dev": {
"ext-tokenizer": "^7.1",
"mockery/mockery": "~1",
"phpunit/phpunit": "^7.0"
"ext-tokenizer": "*",
"psalm/phar": "^4.8"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
"dev-1.x": "1.x-dev"
}
},
"autoload": {
@ -1465,7 +3076,7 @@
}
],
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"time": "2019-08-22T18:11:29+00:00"
"time": "2022-03-15T21:29:03+00:00"
},
{
"name": "phpspec/prophecy",
@ -1532,39 +3143,40 @@
},
{
"name": "phpunit/php-code-coverage",
"version": "2.2.4",
"version": "4.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979"
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/eabf68b476ac7d0f73793aada060f1c1a9bf8979",
"reference": "eabf68b476ac7d0f73793aada060f1c1a9bf8979",
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"phpunit/php-file-iterator": "~1.3",
"phpunit/php-text-template": "~1.2",
"phpunit/php-token-stream": "~1.3",
"sebastian/environment": "^1.3.2",
"sebastian/version": "~1.0"
"ext-dom": "*",
"ext-xmlwriter": "*",
"php": "^5.6 || ^7.0",
"phpunit/php-file-iterator": "^1.3",
"phpunit/php-text-template": "^1.2",
"phpunit/php-token-stream": "^1.4.2 || ^2.0",
"sebastian/code-unit-reverse-lookup": "^1.0",
"sebastian/environment": "^1.3.2 || ^2.0",
"sebastian/version": "^1.0 || ^2.0"
},
"require-dev": {
"ext-xdebug": ">=2.1.4",
"phpunit/phpunit": "~4"
"ext-xdebug": "^2.1.4",
"phpunit/phpunit": "^5.7"
},
"suggest": {
"ext-dom": "*",
"ext-xdebug": ">=2.2.1",
"ext-xmlwriter": "*"
"ext-xdebug": "^2.5.1"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.2.x-dev"
"dev-master": "4.0.x-dev"
}
},
"autoload": {
@ -1590,7 +3202,7 @@
"testing",
"xunit"
],
"time": "2015-10-06T15:47:00+00:00"
"time": "2017-04-02T07:44:40+00:00"
},
{
"name": "phpunit/php-file-iterator",
@ -1731,29 +3343,29 @@
},
{
"name": "phpunit/php-token-stream",
"version": "1.4.12",
"version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
"reference": "791198a2c6254db10131eecfe8c06670700904db"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db",
"reference": "791198a2c6254db10131eecfe8c06670700904db",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=5.3.3"
"php": "^7.0"
},
"require-dev": {
"phpunit/phpunit": "~4.2"
"phpunit/phpunit": "^6.2.4"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.4-dev"
"dev-master": "2.0-dev"
}
},
"autoload": {
@ -1777,44 +3389,54 @@
"tokenizer"
],
"abandoned": true,
"time": "2017-12-04T08:55:13+00:00"
"time": "2017-11-27T05:48:46+00:00"
},
{
"name": "phpunit/phpunit",
"version": "4.8.36",
"version": "5.7.27",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "46023de9a91eec7dfb06cc56cb4e260017298517"
"reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/46023de9a91eec7dfb06cc56cb4e260017298517",
"reference": "46023de9a91eec7dfb06cc56cb4e260017298517",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
"reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.3.3",
"phpspec/prophecy": "^1.3.1",
"phpunit/php-code-coverage": "~2.1",
"ext-libxml": "*",
"ext-mbstring": "*",
"ext-xml": "*",
"myclabs/deep-copy": "~1.3",
"php": "^5.6 || ^7.0",
"phpspec/prophecy": "^1.6.2",
"phpunit/php-code-coverage": "^4.0.4",
"phpunit/php-file-iterator": "~1.4",
"phpunit/php-text-template": "~1.2",
"phpunit/php-timer": "^1.0.6",
"phpunit/phpunit-mock-objects": "~2.3",
"sebastian/comparator": "~1.2.2",
"sebastian/diff": "~1.2",
"sebastian/environment": "~1.3",
"sebastian/exporter": "~1.2",
"sebastian/global-state": "~1.0",
"sebastian/version": "~1.0",
"symfony/yaml": "~2.1|~3.0"
"phpunit/phpunit-mock-objects": "^3.2",
"sebastian/comparator": "^1.2.4",
"sebastian/diff": "^1.4.3",
"sebastian/environment": "^1.3.4 || ^2.0",
"sebastian/exporter": "~2.0",
"sebastian/global-state": "^1.1",
"sebastian/object-enumerator": "~2.0",
"sebastian/resource-operations": "~1.0",
"sebastian/version": "^1.0.6|^2.0.1",
"symfony/yaml": "~2.1|~3.0|~4.0"
},
"conflict": {
"phpdocumentor/reflection-docblock": "3.0.2"
},
"require-dev": {
"ext-pdo": "*"
},
"suggest": {
"ext-xdebug": "*",
"phpunit/php-invoker": "~1.1"
},
"bin": [
@ -1823,7 +3445,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.8.x-dev"
"dev-master": "5.7.x-dev"
}
},
"autoload": {
@ -1849,30 +3471,33 @@
"testing",
"xunit"
],
"time": "2017-06-21T08:07:12+00:00"
"time": "2018-02-01T05:50:59+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
"version": "2.3.8",
"version": "3.4.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983"
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/ac8e7a3db35738d56ee9a76e78a4e03d97628983",
"reference": "ac8e7a3db35738d56ee9a76e78a4e03d97628983",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.2",
"php": ">=5.3.3",
"phpunit/php-text-template": "~1.2",
"sebastian/exporter": "~1.2"
"php": "^5.6 || ^7.0",
"phpunit/php-text-template": "^1.2",
"sebastian/exporter": "^1.2 || ^2.0"
},
"conflict": {
"phpunit/phpunit": "<5.4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.4"
"phpunit/phpunit": "^5.4"
},
"suggest": {
"ext-soap": "*"
@ -1880,7 +3505,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3.x-dev"
"dev-master": "3.2.x-dev"
}
},
"autoload": {
@ -1906,324 +3531,168 @@
"xunit"
],
"abandoned": true,
"time": "2015-10-02T06:51:40+00:00"
"time": "2017-06-30T09:13:00+00:00"
},
{
"name": "pimple/pimple",
"version": "v3.2.3",
"name": "sabre/event",
"version": "5.1.4",
"source": {
"type": "git",
"url": "https://github.com/silexphp/Pimple.git",
"reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32"
"url": "https://github.com/sabre-io/event.git",
"reference": "d7da22897125d34d7eddf7977758191c06a74497"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/silexphp/Pimple/zipball/9e403941ef9d65d20cba7d54e29fe906db42cf32",
"reference": "9e403941ef9d65d20cba7d54e29fe906db42cf32",
"url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497",
"reference": "d7da22897125d34d7eddf7977758191c06a74497",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"psr/container": "^1.0"
"php": "^7.1 || ^8.0"
},
"require-dev": {
"symfony/phpunit-bridge": "^3.2"
"friendsofphp/php-cs-fixer": "~2.17.1",
"phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.2.x-dev"
}
},
"autoload": {
"psr-0": {
"Pimple": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Fabien Potencier",
"email": "fabien@symfony.com"
}
],
"description": "Pimple, a simple Dependency Injection Container",
"homepage": "http://pimple.sensiolabs.org",
"keywords": [
"container",
"dependency injection"
],
"time": "2018-01-21T07:42:36+00:00"
},
{
"name": "psr/cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/cache.git",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
"reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"files": [
"lib/coroutine.php",
"lib/Loop/functions.php",
"lib/Promise/functions.php"
],
"psr-4": {
"Psr\\Cache\\": "src/"
"Sabre\\Event\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
"BSD-3-Clause"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
}
],
"description": "Common interface for caching libraries",
"description": "sabre/event is a library for lightweight event-based programming",
"homepage": "http://sabre.io/event/",
"keywords": [
"cache",
"psr",
"psr-6"
"EventEmitter",
"async",
"coroutine",
"eventloop",
"events",
"hooks",
"plugin",
"promise",
"reactor",
"signal"
],
"time": "2016-08-06T20:24:11+00:00"
"time": "2021-11-04T06:51:17+00:00"
},
{
"name": "psr/container",
"version": "1.0.0",
"name": "sabre/uri",
"version": "2.2.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
"url": "https://github.com/sabre-io/uri.git",
"reference": "c0c9af9f7754e60a49ebd760e1708adc6d1510c0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
"reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
"url": "https://api.github.com/repos/sabre-io/uri/zipball/c0c9af9f7754e60a49ebd760e1708adc6d1510c0",
"reference": "c0c9af9f7754e60a49ebd760e1708adc6d1510c0",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
"php": "^7.1 || ^8.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "~2.19.3",
"phpstan/phpstan": "^0.12",
"phpunit/phpunit": "^7.5 || ^8.5 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"files": [
"lib/functions.php"
],
"psr-4": {
"Psr\\Container\\": "src/"
"Sabre\\Uri\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
"BSD-3-Clause"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
}
],
"description": "Common Container Interface (PHP FIG PSR-11)",
"homepage": "https://github.com/php-fig/container",
"description": "Functions for making sense out of URIs.",
"homepage": "http://sabre.io/uri/",
"keywords": [
"PSR-11",
"container",
"container-interface",
"container-interop",
"psr"
"rfc3986",
"uri",
"url"
],
"time": "2017-02-14T16:28:37+00:00"
"time": "2022-09-19T12:25:28+00:00"
},
{
"name": "psr/http-message",
"version": "1.0.1",
"name": "scssphp/scssphp",
"version": "v1.11.0",
"source": {
"type": "git",
"url": "https://github.com/php-fig/http-message.git",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
"url": "https://github.com/scssphp/scssphp.git",
"reference": "33749d12c2569bb24071f94e9af828662dabb068"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for HTTP messages",
"homepage": "https://github.com/php-fig/http-message",
"keywords": [
"http",
"http-message",
"psr",
"psr-7",
"request",
"response"
],
"time": "2016-08-06T14:39:51+00:00"
},
{
"name": "psr/log",
"version": "1.1.3",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
"reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.1.x-dev"
}
},
"autoload": {
"psr-4": {
"Psr\\Log\\": "Psr/Log/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "PHP-FIG",
"homepage": "http://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
"homepage": "https://github.com/php-fig/log",
"keywords": [
"log",
"psr",
"psr-3"
],
"time": "2020-03-23T09:12:05+00:00"
},
{
"name": "psr/simple-cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/php-fig/simple-cache.git",
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"type": "library",
"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"
],
"time": "2017-10-23T01:57:42+00:00"
},
{
"name": "sarahman/simple-filesystem-cache",
"version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/sarahman/simple-filesystem-cache.git",
"reference": "0cf570831c11887335d2b901067086cc0a2023e9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sarahman/simple-filesystem-cache/zipball/0cf570831c11887335d2b901067086cc0a2023e9",
"reference": "0cf570831c11887335d2b901067086cc0a2023e9",
"url": "https://api.github.com/repos/scssphp/scssphp/zipball/33749d12c2569bb24071f94e9af828662dabb068",
"reference": "33749d12c2569bb24071f94e9af828662dabb068",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"phpunit/phpunit": "^4.8",
"psr/simple-cache": "*"
"php": ">=5.6.0"
},
"provide": {
"psr/simple-cache-implementation": "1.0"
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4",
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3 || ^9.4",
"sass/sass-spec": "*",
"squizlabs/php_codesniffer": "~3.5",
"symfony/phpunit-bridge": "^5.1",
"thoughtbot/bourbon": "^7.0",
"twbs/bootstrap": "~5.0",
"twbs/bootstrap4": "4.6.1",
"zurb/foundation": "~6.5"
},
"suggest": {
"ext-iconv": "Can be used as fallback when ext-mbstring is not available",
"ext-mbstring": "For best performance, mbstring should be installed as it is faster than ext-iconv"
},
"bin": [
"bin/pscss"
],
"type": "library",
"extra": {
"bamarni-bin": {
"forward-command": false,
"bin-links": false
}
},
"autoload": {
"psr-4": {
"Sarahman\\SimpleCache\\": "src"
"ScssPhp\\ScssPhp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@ -2232,12 +3701,77 @@
],
"authors": [
{
"name": "Syed Abidur Rahman",
"email": "aabid048@gmail.com"
"name": "Anthon Pang",
"email": "apang@softwaredevelopment.ca",
"homepage": "https://github.com/robocoder"
},
{
"name": "Cédric Morin",
"email": "cedric@yterium.com",
"homepage": "https://github.com/Cerdic"
}
],
"description": "Simple file system cache library for PHP built on top of PSR-16.",
"time": "2019-04-04T12:48:29+00:00"
"description": "scssphp is a compiler for SCSS written in PHP.",
"homepage": "http://scssphp.github.io/scssphp/",
"keywords": [
"css",
"less",
"sass",
"scss",
"stylesheet"
],
"time": "2022-09-02T21:24:55+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
"version": "1.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
"reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/1de8cd5c010cb153fcd68b8d0f64606f523f7619",
"reference": "1de8cd5c010cb153fcd68b8d0f64606f523f7619",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"require-dev": {
"phpunit/phpunit": "^8.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Looks up which function or method a line of code belongs to",
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
"time": "2020-11-30T08:15:22+00:00"
},
{
"name": "sebastian/comparator",
@ -2357,28 +3891,28 @@
},
{
"name": "sebastian/environment",
"version": "1.3.8",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea"
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/be2c607e43ce4c89ecd60e75c6a85c126e754aea",
"reference": "be2c607e43ce4c89ecd60e75c6a85c126e754aea",
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
"shasum": ""
},
"require": {
"php": "^5.3.3 || ^7.0"
"php": "^5.6 || ^7.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8 || ^5.0"
"phpunit/phpunit": "^5.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@ -2403,25 +3937,25 @@
"environment",
"hhvm"
],
"time": "2016-08-18T05:49:44+00:00"
"time": "2016-11-26T07:53:53+00:00"
},
{
"name": "sebastian/exporter",
"version": "1.2.2",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4"
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/42c4c2eec485ee3e159ec9884f95b431287edde4",
"reference": "42c4c2eec485ee3e159ec9884f95b431287edde4",
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
"shasum": ""
},
"require": {
"php": ">=5.3.3",
"sebastian/recursion-context": "~1.0"
"sebastian/recursion-context": "~2.0"
},
"require-dev": {
"ext-mbstring": "*",
@ -2430,7 +3964,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@ -2470,7 +4004,7 @@
"export",
"exporter"
],
"time": "2016-06-17T09:04:28+00:00"
"time": "2016-11-19T08:54:04+00:00"
},
{
"name": "sebastian/global-state",
@ -2524,17 +4058,63 @@
"time": "2015-10-12T03:26:01+00:00"
},
{
"name": "sebastian/recursion-context",
"version": "1.0.5",
"name": "sebastian/object-enumerator",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7"
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
"reference": "b19cc3298482a335a95f3016d2f8a6950f0fbcd7",
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
"shasum": ""
},
"require": {
"php": ">=5.6",
"sebastian/recursion-context": "~2.0"
},
"require-dev": {
"phpunit/phpunit": "~5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"time": "2017-02-18T15:18:39+00:00"
},
{
"name": "sebastian/recursion-context",
"version": "2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
"shasum": ""
},
"require": {
@ -2546,7 +4126,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
"dev-master": "2.0.x-dev"
}
},
"autoload": {
@ -2574,23 +4154,73 @@
],
"description": "Provides functionality to recursively process PHP variables",
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
"time": "2016-10-03T07:41:43+00:00"
"time": "2016-11-19T07:33:16+00:00"
},
{
"name": "sebastian/version",
"version": "1.0.6",
"name": "sebastian/resource-operations",
"version": "1.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6"
"url": "https://github.com/sebastianbergmann/resource-operations.git",
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
"reference": "58b3a85e7999757d6ad81c787a1fbf5ff6c628c6",
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
"shasum": ""
},
"require": {
"php": ">=5.6.0"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
}
],
"description": "Provides a list of PHP built-in functions that operate on resources",
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
"time": "2015-07-28T20:34:47+00:00"
},
{
"name": "sebastian/version",
"version": "2.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
"shasum": ""
},
"require": {
"php": ">=5.6"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"classmap": [
"src/"
@ -2609,194 +4239,27 @@
],
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
"homepage": "https://github.com/sebastianbergmann/version",
"time": "2015-06-21T13:59:46+00:00"
},
{
"name": "seld/cli-prompt",
"version": "1.0.3",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/cli-prompt.git",
"reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/Seldaek/cli-prompt/zipball/a19a7376a4689d4d94cab66ab4f3c816019ba8dd",
"reference": "a19a7376a4689d4d94cab66ab4f3c816019ba8dd",
"shasum": ""
},
"require": {
"php": ">=5.3"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
"Seld\\CliPrompt\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be"
}
],
"description": "Allows you to prompt for user input on the command line, and optionally hide the characters they type",
"keywords": [
"cli",
"console",
"hidden",
"input",
"prompt"
],
"time": "2017-03-18T11:32:45+00:00"
},
{
"name": "slim/php-view",
"version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/slimphp/PHP-View.git",
"reference": "a13ada9d7962ca1b48799c0d9ffbca4c33245aed"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/PHP-View/zipball/a13ada9d7962ca1b48799c0d9ffbca4c33245aed",
"reference": "a13ada9d7962ca1b48799c0d9ffbca4c33245aed",
"shasum": ""
},
"require": {
"psr/http-message": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8",
"slim/slim": "^3.0"
},
"type": "library",
"autoload": {
"psr-4": {
"Slim\\Views\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Glenn Eggleton",
"email": "geggleto@gmail.com"
}
],
"description": "Render PHP view scripts into a PSR-7 Response object.",
"keywords": [
"framework",
"php",
"phtml",
"renderer",
"slim",
"template",
"view"
],
"time": "2019-04-15T20:43:28+00:00"
},
{
"name": "slim/slim",
"version": "3.12.3",
"source": {
"type": "git",
"url": "https://github.com/slimphp/Slim.git",
"reference": "1c9318a84ffb890900901136d620b4f03a59da38"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/slimphp/Slim/zipball/1c9318a84ffb890900901136d620b4f03a59da38",
"reference": "1c9318a84ffb890900901136d620b4f03a59da38",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-libxml": "*",
"ext-simplexml": "*",
"nikic/fast-route": "^1.0",
"php": ">=5.5.0",
"pimple/pimple": "^3.0",
"psr/container": "^1.0",
"psr/http-message": "^1.0"
},
"provide": {
"psr/http-message-implementation": "1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.0",
"squizlabs/php_codesniffer": "^2.5"
},
"type": "library",
"autoload": {
"psr-4": {
"Slim\\": "Slim"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Josh Lockhart",
"email": "hello@joshlockhart.com",
"homepage": "https://joshlockhart.com"
},
{
"name": "Andrew Smith",
"email": "a.smith@silentworks.co.uk",
"homepage": "http://silentworks.co.uk"
},
{
"name": "Rob Allen",
"email": "rob@akrabat.com",
"homepage": "http://akrabat.com"
},
{
"name": "Gabriel Manricks",
"email": "gmanricks@me.com",
"homepage": "http://gabrielmanricks.com"
}
],
"description": "Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs",
"homepage": "https://slimframework.com",
"keywords": [
"api",
"framework",
"micro",
"router"
],
"time": "2019-11-28T17:40:33+00:00"
"time": "2016-10-03T07:35:21+00:00"
},
{
"name": "symfony/polyfill-ctype",
"version": "v1.17.0",
"version": "v1.27.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9"
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e94c8b1bbe2bc77507a1056cdb06451c75b427f9",
"reference": "e94c8b1bbe2bc77507a1056cdb06451c75b427f9",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/5bbc823adecdae860bb64756d639ecfec17b050a",
"reference": "5bbc823adecdae860bb64756d639ecfec17b050a",
"shasum": ""
},
"require": {
"php": ">=5.3.3"
"php": ">=7.1"
},
"provide": {
"ext-ctype": "*"
},
"suggest": {
"ext-ctype": "For best performance"
@ -2804,16 +4267,20 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.17-dev"
"dev-main": "1.27-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": [
@ -2837,41 +4304,50 @@
"polyfill",
"portable"
],
"time": "2020-05-12T16:14:59+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": "2022-11-03T14:55:06+00:00"
},
{
"name": "symfony/yaml",
"version": "v3.4.42",
"version": "v4.4.45",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
"reference": "7233ac2bfdde24d672f5305f2b3f6b5d741ef8eb"
"reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/yaml/zipball/7233ac2bfdde24d672f5305f2b3f6b5d741ef8eb",
"reference": "7233ac2bfdde24d672f5305f2b3f6b5d741ef8eb",
"url": "https://api.github.com/repos/symfony/yaml/zipball/aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d",
"reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d",
"shasum": ""
},
"require": {
"php": "^5.5.9|>=7.0.8",
"php": ">=7.1.3",
"symfony/polyfill-ctype": "~1.8"
},
"conflict": {
"symfony/console": "<3.4"
},
"require-dev": {
"symfony/console": "~3.4|~4.0"
"symfony/console": "^3.4|^4.0|^5.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "3.4-dev"
}
},
"autoload": {
"psr-4": {
"Symfony\\Component\\Yaml\\": ""
@ -2894,701 +4370,23 @@
"homepage": "https://symfony.com/contributors"
}
],
"description": "Symfony Yaml Component",
"description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"time": "2020-05-11T07:51:54+00:00"
},
{
"name": "webmozart/assert",
"version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
"reference": "88e6d84706d09a236046d686bbea96f07b3a34f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4",
"reference": "88e6d84706d09a236046d686bbea96f07b3a34f4",
"shasum": ""
},
"require": {
"php": "^5.3.3 || ^7.0",
"symfony/polyfill-ctype": "^1.8"
},
"require-dev": {
"phpunit/phpunit": "^4.8.36 || ^7.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"time": "2019-08-24T08:43:50+00:00"
},
{
"name": "willdurand/negotiation",
"version": "v2.3.1",
"source": {
"type": "git",
"url": "https://github.com/willdurand/Negotiation.git",
"reference": "03436ededa67c6e83b9b12defac15384cb399dc9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/willdurand/Negotiation/zipball/03436ededa67c6e83b9b12defac15384cb399dc9",
"reference": "03436ededa67c6e83b9b12defac15384cb399dc9",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
"phpunit/phpunit": "~4.5"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.3-dev"
}
},
"autoload": {
"psr-4": {
"Negotiation\\": "src/Negotiation"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "William Durand",
"email": "will+git@drnd.me"
}
],
"description": "Content Negotiation tools for PHP provided as a standalone library.",
"homepage": "http://williamdurand.fr/Negotiation/",
"keywords": [
"accept",
"content",
"format",
"header",
"negotiation"
],
"time": "2017-05-14T17:21:12+00:00"
}
],
"packages-dev": [
{
"name": "bower-asset/bootstrap",
"version": "v4.5.0",
"source": {
"type": "git",
"url": "https://github.com/twbs/bootstrap.git",
"reference": "7a6da5e3e7ad7c749dde806546a35d4d4259d965"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/twbs/bootstrap/zipball/7a6da5e3e7ad7c749dde806546a35d4d4259d965",
"reference": "7a6da5e3e7ad7c749dde806546a35d4d4259d965",
"shasum": ""
},
"type": "bower-asset-library"
},
{
"name": "composer/xdebug-handler",
"version": "1.4.2",
"source": {
"type": "git",
"url": "https://github.com/composer/xdebug-handler.git",
"reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/xdebug-handler/zipball/fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
"reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51",
"shasum": ""
},
"require": {
"php": "^5.3.2 || ^7.0 || ^8.0",
"psr/log": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8"
},
"type": "library",
"autoload": {
"psr-4": {
"Composer\\XdebugHandler\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "John Stevenson",
"email": "john-stevenson@blueyonder.co.uk"
}
],
"description": "Restarts a process without Xdebug.",
"keywords": [
"Xdebug",
"performance"
],
"funding": [
{
"url": "https://packagist.com",
"url": "https://symfony.com/sponsor",
"type": "custom"
},
{
"url": "https://github.com/composer",
"url": "https://github.com/fabpot",
"type": "github"
},
{
"url": "https://tidelift.com/funding/github/packagist/composer/composer",
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
"time": "2020-06-04T11:16:35+00:00"
},
{
"name": "felixfbecker/advanced-json-rpc",
"version": "v3.1.1",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-advanced-json-rpc.git",
"reference": "0ed363f8de17d284d479ec813c9ad3f6834b5c40"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/0ed363f8de17d284d479ec813c9ad3f6834b5c40",
"reference": "0ed363f8de17d284d479ec813c9ad3f6834b5c40",
"shasum": ""
},
"require": {
"netresearch/jsonmapper": "^1.0 || ^2.0",
"php": ">=7.0",
"phpdocumentor/reflection-docblock": "^4.0.0 || ^5.0.0"
},
"require-dev": {
"phpunit/phpunit": "^6.0.0"
},
"type": "library",
"autoload": {
"psr-4": {
"AdvancedJsonRpc\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"ISC"
],
"authors": [
{
"name": "Felix Becker",
"email": "felix.b@outlook.com"
}
],
"description": "A more advanced JSONRPC implementation",
"time": "2020-03-11T15:21:41+00:00"
},
{
"name": "felixfbecker/language-server-protocol",
"version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/felixfbecker/php-language-server-protocol.git",
"reference": "378801f6139bb74ac215d81cca1272af61df9a9f"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/378801f6139bb74ac215d81cca1272af61df9a9f",
"reference": "378801f6139bb74ac215d81cca1272af61df9a9f",
"shasum": ""
},
"require": {
"php": "^7.0"
},
"require-dev": {
"phpstan/phpstan": "*",
"phpunit/phpunit": "^6.3",
"squizlabs/php_codesniffer": "^3.1"
},
"type": "library",
"autoload": {
"psr-4": {
"LanguageServerProtocol\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"ISC"
],
"authors": [
{
"name": "Felix Becker",
"email": "felix.b@outlook.com"
}
],
"description": "PHP classes for the Language Server Protocol",
"keywords": [
"language",
"microsoft",
"php",
"server"
],
"time": "2019-06-23T21:03:50+00:00"
},
{
"name": "muglug/package-versions-56",
"version": "1.2.4",
"source": {
"type": "git",
"url": "https://github.com/muglug/PackageVersions.git",
"reference": "a67bed26deaaf9269a348e53063bc8d4dcc60ffd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/muglug/PackageVersions/zipball/a67bed26deaaf9269a348e53063bc8d4dcc60ffd",
"reference": "a67bed26deaaf9269a348e53063bc8d4dcc60ffd",
"shasum": ""
},
"require": {
"composer-plugin-api": "^1.0",
"php": "^5.6 || ^7.0"
},
"require-dev": {
"composer/composer": "^1.3",
"ext-zip": "*",
"phpunit/phpunit": "^5.7.5"
},
"type": "composer-plugin",
"extra": {
"class": "Muglug\\PackageVersions\\Installer",
"branch-alias": {
"dev-master": "2.0.x-dev"
}
},
"autoload": {
"psr-4": {
"Muglug\\PackageVersions\\": "src/PackageVersions"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Marco Pivetta",
"email": "ocramius@gmail.com"
},
{
"name": "Abdul Malik Ikhsan",
"email": "samsonasik@gmail.com"
},
{
"name": "Matt Brown",
"email": "github@muglug.com"
}
],
"description": "A backport of ocramius/package-versions that supports php ^5.6. Composer plugin that provides efficient querying for installed package versions (no runtime IO)",
"time": "2018-03-26T03:22:13+00:00"
},
{
"name": "netresearch/jsonmapper",
"version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/cweiske/jsonmapper.git",
"reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06",
"reference": "0d4d1b48d682a93b6bfedf60b88c7750e9cb0b06",
"shasum": ""
},
"require": {
"ext-json": "*",
"ext-pcre": "*",
"ext-reflection": "*",
"ext-spl": "*",
"php": ">=5.6"
},
"require-dev": {
"phpunit/phpunit": "~4.8.35 || ~5.7 || ~6.4",
"squizlabs/php_codesniffer": "~1.5"
},
"type": "library",
"autoload": {
"psr-0": {
"JsonMapper": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"OSL-3.0"
],
"authors": [
{
"name": "Christian Weiske",
"email": "cweiske@cweiske.de",
"homepage": "http://github.com/cweiske/jsonmapper/",
"role": "Developer"
}
],
"description": "Map nested JSON structures onto PHP classes",
"time": "2019-08-15T19:41:25+00:00"
},
{
"name": "nikic/php-parser",
"version": "v4.5.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
"reference": "53c2753d756f5adb586dca79c2ec0e2654dd9463"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/53c2753d756f5adb586dca79c2ec0e2654dd9463",
"reference": "53c2753d756f5adb586dca79c2ec0e2654dd9463",
"shasum": ""
},
"require": {
"ext-tokenizer": "*",
"php": ">=7.0"
},
"require-dev": {
"ircmaxell/php-yacc": "0.0.5",
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0"
},
"bin": [
"bin/php-parse"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "4.3-dev"
}
},
"autoload": {
"psr-4": {
"PhpParser\\": "lib/PhpParser"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Nikita Popov"
}
],
"description": "A PHP parser written in PHP",
"keywords": [
"parser",
"php"
],
"time": "2020-06-03T07:24:19+00:00"
},
{
"name": "openlss/lib-array2xml",
"version": "0.5.1",
"source": {
"type": "git",
"url": "https://github.com/nullivex/lib-array2xml.git",
"reference": "c8b5998a342d7861f2e921403f44e0a2f3ef2be0"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/c8b5998a342d7861f2e921403f44e0a2f3ef2be0",
"reference": "c8b5998a342d7861f2e921403f44e0a2f3ef2be0",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"type": "library",
"autoload": {
"psr-0": {
"LSS": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"Apache-2.0"
],
"authors": [
{
"name": "Bryan Tong",
"email": "contact@nullivex.com",
"homepage": "http://bryantong.com"
},
{
"name": "Tony Butler",
"email": "spudz76@gmail.com",
"homepage": "http://openlss.org"
}
],
"description": "Array2XML conversion library credit to lalit.org",
"homepage": "http://openlss.org",
"keywords": [
"array",
"array conversion",
"xml",
"xml conversion"
],
"time": "2016-11-10T19:10:18+00:00"
},
{
"name": "php-cs-fixer/diff",
"version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/diff.git",
"reference": "78bb099e9c16361126c86ce82ec4405ebab8e756"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756",
"reference": "78bb099e9c16361126c86ce82ec4405ebab8e756",
"shasum": ""
},
"require": {
"php": "^5.6 || ^7.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7.23 || ^6.4.3",
"symfony/process": "^3.3"
},
"type": "library",
"autoload": {
"classmap": [
"src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kore Nordmann",
"email": "mail@kore-nordmann.de"
},
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
},
{
"name": "SpacePossum"
}
],
"description": "sebastian/diff v2 backport support for PHP5.6",
"homepage": "https://github.com/PHP-CS-Fixer",
"keywords": [
"diff"
],
"time": "2018-02-15T16:58:55+00:00"
},
{
"name": "sabre/event",
"version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/event.git",
"reference": "d00a17507af0e7544cfe17096372f5d733e3b276"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sabre-io/event/zipball/d00a17507af0e7544cfe17096372f5d733e3b276",
"reference": "d00a17507af0e7544cfe17096372f5d733e3b276",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "~2.16.1",
"phpunit/phpunit": "^7 || ^8"
},
"type": "library",
"autoload": {
"psr-4": {
"Sabre\\Event\\": "lib/"
},
"files": [
"lib/coroutine.php",
"lib/Loop/functions.php",
"lib/Promise/functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
}
],
"description": "sabre/event is a library for lightweight event-based programming",
"homepage": "http://sabre.io/event/",
"keywords": [
"EventEmitter",
"async",
"coroutine",
"eventloop",
"events",
"hooks",
"plugin",
"promise",
"reactor",
"signal"
],
"time": "2020-01-31T18:52:29+00:00"
},
{
"name": "sabre/uri",
"version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/sabre-io/uri.git",
"reference": "059d11012603be2e32ddb7543602965563ddbb09"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sabre-io/uri/zipball/059d11012603be2e32ddb7543602965563ddbb09",
"reference": "059d11012603be2e32ddb7543602965563ddbb09",
"shasum": ""
},
"require": {
"php": "^7.1"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "~2.16.1",
"phpunit/phpunit": "^7 || ^8"
},
"type": "library",
"autoload": {
"files": [
"lib/functions.php"
],
"psr-4": {
"Sabre\\Uri\\": "lib/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Evert Pot",
"email": "me@evertpot.com",
"homepage": "http://evertpot.com/",
"role": "Developer"
}
],
"description": "Functions for making sense out of URIs.",
"homepage": "http://sabre.io/uri/",
"keywords": [
"rfc3986",
"uri",
"url"
],
"time": "2020-01-31T18:53:43+00:00"
},
{
"name": "scssphp/scssphp",
"version": "1.1.1",
"source": {
"type": "git",
"url": "https://github.com/scssphp/scssphp.git",
"reference": "824e4cec10b2bfa88eec5dac23991cb9106622c1"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/scssphp/scssphp/zipball/824e4cec10b2bfa88eec5dac23991cb9106622c1",
"reference": "824e4cec10b2bfa88eec5dac23991cb9106622c1",
"shasum": ""
},
"require": {
"ext-ctype": "*",
"ext-json": "*",
"php": ">=5.6.0"
},
"require-dev": {
"phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.3",
"squizlabs/php_codesniffer": "~3.5",
"twbs/bootstrap": "~4.3",
"zurb/foundation": "~6.5"
},
"bin": [
"bin/pscss"
],
"type": "library",
"autoload": {
"psr-4": {
"ScssPhp\\ScssPhp\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Anthon Pang",
"email": "apang@softwaredevelopment.ca",
"homepage": "https://github.com/robocoder"
},
{
"name": "Cédric Morin",
"email": "cedric@yterium.com",
"homepage": "https://github.com/Cerdic"
}
],
"description": "scssphp is a compiler for SCSS written in PHP.",
"homepage": "http://scssphp.github.io/scssphp/",
"keywords": [
"css",
"less",
"sass",
"scss",
"stylesheet"
],
"time": "2020-06-04T17:30:40+00:00"
"time": "2022-08-02T15:47:23+00:00"
},
{
"name": "vimeo/psalm",
@ -3666,27 +4464,75 @@
"time": "2018-11-09T19:18:46+00:00"
},
{
"name": "webmozart/glob",
"version": "4.1.0",
"name": "webmozart/assert",
"version": "1.5.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/glob.git",
"reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe"
"url": "https://github.com/webmozarts/assert.git",
"reference": "88e6d84706d09a236046d686bbea96f07b3a34f4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/glob/zipball/3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe",
"reference": "3cbf63d4973cf9d780b93d2da8eec7e4a9e63bbe",
"url": "https://api.github.com/repos/webmozarts/assert/zipball/88e6d84706d09a236046d686bbea96f07b3a34f4",
"reference": "88e6d84706d09a236046d686bbea96f07b3a34f4",
"shasum": ""
},
"require": {
"php": "^5.3.3|^7.0",
"webmozart/path-util": "^2.2"
"php": "^5.3.3 || ^7.0",
"symfony/polyfill-ctype": "^1.8"
},
"require-dev": {
"phpunit/phpunit": "^4.6",
"sebastian/version": "^1.0.1",
"symfony/filesystem": "^2.5"
"phpunit/phpunit": "^4.8.36 || ^7.5.13"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "1.3-dev"
}
},
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Bernhard Schussek",
"email": "bschussek@gmail.com"
}
],
"description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
"assert",
"check",
"validate"
],
"time": "2019-08-24T08:43:50+00:00"
},
{
"name": "webmozart/glob",
"version": "4.6.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/glob.git",
"reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/webmozarts/glob/zipball/3c17f7dec3d9d0e87b575026011f2e75a56ed655",
"reference": "3c17f7dec3d9d0e87b575026011f2e75a56ed655",
"shasum": ""
},
"require": {
"php": "^7.3 || ^8.0.0"
},
"require-dev": {
"phpunit/phpunit": "^9.5",
"symfony/filesystem": "^5.3"
},
"type": "library",
"extra": {
@ -3710,7 +4556,7 @@
}
],
"description": "A PHP implementation of Ant's glob.",
"time": "2015-12-29T11:14:33+00:00"
"time": "2022-05-24T19:45:58+00:00"
},
{
"name": "webmozart/path-util",
@ -3756,12 +4602,15 @@
}
],
"description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.",
"abandoned": "symfony/filesystem",
"time": "2015-12-17T08:42:14+00:00"
}
],
"aliases": [],
"minimum-stability": "stable",
"stability-flags": [],
"stability-flags": {
"gofabian/negotiation-middleware": 20
},
"prefer-stable": false,
"prefer-lowest": false,
"platform": {
@ -3773,7 +4622,7 @@
},
"platform-dev": [],
"platform-overrides": {
"php": "7.1.0"
"php": "7.3.0"
},
"plugin-api-version": "1.1.0"
}

View file

@ -16,7 +16,7 @@ Accept: application/json
```
URI Parameter:
- `account_type` (optional): An arbitrary account type string. Expected values are `all`, `people`, `news`, `organization` and `forum`. Default is `all`.
- `account_type` (optional): An arbitrary account type string. Expected values are `all`, `people`, `news`, `organization` and `group`. Default is `all`.
Query parameters:
- `q`: The search query.
- `page` (optional): The page number, default is 1.
@ -44,10 +44,11 @@ Example:
"region": "New York",
"country": "USA",
"profile_url": "https://friendica.mrpetovan.com/profile/hypolite",
"dfrn_request": "https://friendica.mrpetovan.com/dfrn_request/hypolite",
"photo": "https://friendica.mrpetovan.com/photo/27330388315ae4ed2b03e3c116980490-4.jpg?ts=1541567135",
"tags": "videogame gaming boardgame politics philosophy development programming php",
"last_activity": "2018-45"
"last_activity": "2018-45",
"remote_follow": "https://friendica.mrpetovan.com/remote_follow/hypolite",
"subscribe": null
},
...
]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 325 B

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

View file

@ -11,10 +11,6 @@ use Psr\Http\Message\ServerRequestInterface;
*/
class MatchSearch
{
/**
* @var \Atlas\Pdo\Connection
*/
private $atlas;
/**
* @var \Friendica\Directory\Models\Profile
*/
@ -25,12 +21,10 @@ class MatchSearch
private $l10n;
public function __construct(
\Atlas\Pdo\Connection $atlas,
\Friendica\Directory\Models\Profile $profileModel,
\Gettext\TranslatorInterface $l10n
)
{
$this->atlas = $atlas;
$this->profileModel = $profileModel;
$this->l10n = $l10n;
}
@ -53,7 +47,13 @@ class MatchSearch
$values = ['query' => $query];
$profiles = $this->profileModel->getListForDisplay($pager->getItemsPerPage(), $pager->getStart(), $sql_where, $values);
$profiles = $this->profileModel->getListForDisplay(
null,
$pager->getItemsPerPage(),
$pager->getStart(),
$sql_where,
$values,
);
$results = [];
foreach ($profiles as $profile) {

View file

@ -14,12 +14,18 @@ class Photo
* @var \Atlas\Pdo\Connection
*/
private $atlas;
/**
* @var string
*/
private $defaultProfilePictureSmallPath;
public function __construct(
\Atlas\Pdo\Connection $atlas
\Atlas\Pdo\Connection $atlas,
string $defaultProfilePictureSmallPath
)
{
$this->atlas = $atlas;
$this->defaultProfilePictureSmallPath = $defaultProfilePictureSmallPath;
}
public function render(Request $request, Response $response, array $args): Response
@ -30,7 +36,7 @@ class Photo
);
if (!$data) {
$data = file_get_contents('public/images/default-profile-sm.jpg');
$data = file_get_contents($this->defaultProfilePictureSmallPath);
}
//Try and cache our result.

View file

@ -11,10 +11,6 @@ use Psr\Http\Message\ServerRequestInterface;
*/
class Search
{
/**
* @var \Atlas\Pdo\Connection
*/
private $atlas;
/**
* @var \Friendica\Directory\Models\Profile
*/
@ -25,12 +21,10 @@ class Search
private $l10n;
public function __construct(
\Atlas\Pdo\Connection $atlas,
\Friendica\Directory\Models\Profile $profileModel,
\Gettext\TranslatorInterface $l10n
)
{
$this->atlas = $atlas;
$this->profileModel = $profileModel;
$this->l10n = $l10n;
}
@ -64,7 +58,13 @@ AND `account_type` = :account_type';
$values['account_type'] = $account_type;
}
$profiles = $this->profileModel->getListForDisplay($pager->getItemsPerPage(), $pager->getStart(), $sql_where, $values);
$profiles = $this->profileModel->getListForDisplay(
null,
$pager->getItemsPerPage(),
$pager->getStart(),
$sql_where,
$values,
);
$count = $this->profileModel->getCountForDisplay($sql_where, $values);

View file

@ -31,9 +31,9 @@ class Install extends \Asika\SimpleConsole\Console
protected function getHelp()
{
$help = <<<HELP
console install - Install directory
console install - Install wizard
Usage
bin/console install <server_url> [-h|--help|-?] [-v]
bin/console install [-h|--help|-?] [-v]
Description
Install directory

View file

@ -37,12 +37,14 @@ class UpdateDb extends \Asika\SimpleConsole\Console
$help = <<<HELP
console updatedb - Update database schema
Usage
bin/console updatedb <server_url> [-h|--help|-?] [-v]
bin/console updatedb [<version>] [-h|--help|-?] [-v]
Description
Update database schema
Options
<version> Optional target version number, default is the latest version.
Do not use this parameter if you're not sure what you're doing, it will result in data loss!
-h|--help|-? Show help information
-v Show more debug information.
HELP;
@ -56,16 +58,38 @@ HELP;
return 0;
}
if (count($this->args) > 1) {
if (count($this->args) > 2) {
throw new \Asika\SimpleConsole\CommandArgsException('Too many arguments');
}
$this->out('Updating database schema to latest version...');
$currentVersion = $this->migration->getCurrentVersion()['version'];
$this->migration->up();
$this->out('Database schema currently in version ' . $currentVersion);
$this->out('Database schema migrated to version ' . $this->migration->getCurrentVersion()['version']);
if (count($this->args) == 1) {
$this->out('Updating database schema to latest version...');
$this->migration->up();
$this->out('Database schema migrated to version ' . $this->migration->getCurrentVersion()['version']);
return 0;
}
$target = $this->getArgument(1);
if ($target > $currentVersion) {
$this->out('Updating database schema to version ' . $target);
$this->migration->up($target);
$this->out('Database schema migrated up to version ' . $this->migration->getCurrentVersion()['version']);
return 0;
}
if ($target < $currentVersion) {
$this->out('Downgrading database schema to version ' . $target);
$this->migration->down($target);
$this->out('Database schema migrated down to version ' . $this->migration->getCurrentVersion()['version']);
return 0;
}
$this->out('Target version equal to current version, exiting.');
return 0;
}
}

View file

@ -18,6 +18,10 @@ class Directory extends BaseController
* @var \Atlas\Pdo\Connection
*/
private $atlas;
/**
* @var \Friendica\Directory\Models\Server
*/
private $serverModel;
/**
* @var \Friendica\Directory\Models\Profile
*/
@ -37,6 +41,7 @@ class Directory extends BaseController
public function __construct(
\Atlas\Pdo\Connection $atlas,
\Friendica\Directory\Models\Server $serverModel,
\Friendica\Directory\Models\Profile $profileModel,
\Friendica\Directory\Views\Widget\AccountTypeTabs $accountTypeTabs,
\Friendica\Directory\Views\PhpRenderer $renderer,
@ -44,6 +49,7 @@ class Directory extends BaseController
)
{
$this->atlas = $atlas;
$this->serverModel = $serverModel;
$this->profileModel = $profileModel;
$this->accountTypeTabs = $accountTypeTabs;
$this->renderer = $renderer;
@ -58,16 +64,22 @@ class Directory extends BaseController
$pager = new Pager($this->l10n, $request, 20);
$condition = '';
$sql_where = '';
$values = [];
if (!empty($args['account_type'])) {
$condition = '`account_type` = :account_type';
$sql_where = '`account_type` = :account_type';
$values = ['account_type' => $args['account_type']];
}
$profiles = $this->profileModel->getListForDisplay($pager->getItemsPerPage(), $pager->getStart(), $condition, $values);
$profiles = $this->profileModel->getListForDisplay(
$this->serverModel->getSubscribeUrlByProfile($request->getQueryParam('zrl', '')),
$pager->getItemsPerPage(),
$pager->getStart(),
$sql_where,
$values,
);
$count = $this->profileModel->getCountForDisplay($condition, $values);
$count = $this->profileModel->getCountForDisplay($sql_where, $values);
$vars = [
'title' => $this->l10n->gettext('People'),
@ -82,7 +94,6 @@ class Directory extends BaseController
$content = $this->renderer->fetch('directory.phtml', $vars);
// Render index view
return ['content' => $content];
}
}

View file

@ -13,6 +13,10 @@ class Search extends BaseController
* @var \Atlas\Pdo\Connection
*/
private $atlas;
/**
* @var \Friendica\Directory\Models\Server
*/
private $serverModel;
/**
* @var \Friendica\Directory\Models\Profile
*/
@ -32,6 +36,7 @@ class Search extends BaseController
public function __construct(
\Atlas\Pdo\Connection $atlas,
\Friendica\Directory\Models\Server $serverModel,
\Friendica\Directory\Models\Profile $profileModel,
\Friendica\Directory\Views\Widget\AccountTypeTabs $accountTypeTabs,
\Friendica\Directory\Views\PhpRenderer $renderer,
@ -39,6 +44,7 @@ class Search extends BaseController
)
{
$this->atlas = $atlas;
$this->serverModel = $serverModel;
$this->profileModel = $profileModel;
$this->accountTypeTabs = $accountTypeTabs;
$this->renderer = $renderer;
@ -89,7 +95,13 @@ AND `account_type` = :account_type';
$values['account_type'] = $account_type;
}
$profiles = $this->profileModel->getListForDisplay($pager->getItemsPerPage(), $pager->getStart(), $sql_where, $values);
$profiles = $this->profileModel->getListForDisplay(
$this->serverModel->getSubscribeUrlByProfile($request->getQueryParam('zrl', '')),
$pager->getItemsPerPage(),
$pager->getStart(),
$sql_where,
$values,
);
$count = $this->profileModel->getCountForDisplay($sql_where, $values);
@ -106,7 +118,6 @@ AND `account_type` = :account_type';
$content = $this->renderer->fetch('search.phtml', $vars);
// Render index view
return ['content' => $content, 'noNavSearch' => true];
}
}

View file

@ -66,7 +66,7 @@ class Servers extends BaseController
$sql_where = '';
$values = [];
if ($args['language']) {
if (!empty($args['language'])) {
$sql_where .= '
AND LEFT(`language`, 2) = LEFT(:language, 2)';
$values['language'] = $args['language'];
@ -104,7 +104,7 @@ AND NOT `hidden`
$vars = [
'title' => $this->l10n->gettext('Public Servers'),
'total' => $count,
'language' => $args['language'],
'language' => $args['language'] ?? null,
'servers' => $servers,
'pager' => $pager->renderFull($count),
'stable_version' => $stable_version,

View file

@ -7,6 +7,13 @@ namespace Friendica\Directory\Models;
*/
class Profile extends \Friendica\Directory\Model
{
const ACCOUNT_TYPE_PERSON = 0;
const ACCOUNT_TYPE_ORGANISATION = 1;
const ACCOUNT_TYPE_NEWS = 2;
const ACCOUNT_TYPE_COMMUNITY = 3;
const ACCOUNT_TYPE_RELAY = 4;
const ACCOUNT_TYPE_DELETED = 127;
public function deleteById(int $profile_id): bool
{
$this->atlas->perform('DELETE FROM `photo` WHERE `profile_id` = :profile_id',
@ -74,7 +81,7 @@ class Profile extends \Friendica\Directory\Model
];
}
public function getListForDisplay(int $limit = 30, int $start = 0, string $condition = '', array $values = []): array
public function getListForDisplay(string $subscribeUrl = null, int $limit = 30, int $start = 0, string $condition = '', array $values = []): array
{
if ($condition) {
$condition = 'AND ' . $condition;
@ -86,8 +93,8 @@ class Profile extends \Friendica\Directory\Model
]);
$stmt = 'SELECT p.`id`, p.`name`, p.`username`, p.`addr`, p.`account_type`, p.`language`,
p.`pdesc`, p.`locality`, p.`region`, p.`country`, p.`profile_url`, p.`dfrn_request`,
p.`photo`, p.`tags`, p.`last_activity`
p.`pdesc`, p.`locality`, p.`region`, p.`country`, p.`profile_url`,
p.`photo`, p.`tags`, p.`last_activity`, s.`version`
FROM `profile` p
JOIN `server` s ON s.`id` = p.`server_id` AND s.`available` AND NOT s.`hidden`
WHERE p.`available`
@ -98,6 +105,12 @@ class Profile extends \Friendica\Directory\Model
LIMIT :start, :limit';
$profiles = $this->atlas->fetchAll($stmt, $values);
array_walk($profiles, function (array &$profile) use ($subscribeUrl) {
$profile['remote_follow'] = version_compare($profile['version'], '2020.03', '>=') ? str_replace('/profile/', '/remote_follow/', $profile['profile_url']) : null;
$profile['subscribe'] = $subscribeUrl ? str_replace('{uri}', urlencode($profile['profile_url']), $subscribeUrl): null;
unset($profile['version']);
});
return $profiles;
}

View file

@ -41,4 +41,20 @@ class Server extends \Friendica\Directory\Model
'alias' => strtolower($server_alias)
]);
}
/**
* Returns the complete subscribe URL of the given profile URL if we have it for the related server
*
* @param string $profile_url
* @return mixed|null
*/
public function getSubscribeUrlByProfile(string $profile_url)
{
if (preg_match('#^(.+)/profile/#', $profile_url, $matches)) {
$server = $this->getByUrlAlias($matches[1]);
return $server['subscribe_url'] ?? null;
}
return null;
}
}

View file

@ -10,9 +10,9 @@ use Friendica\Directory\Utils\Network;
class Directory
{
/**
* @var \Atlas\Pdo\Connection
* @var \GuzzleHttp\ClientInterface
*/
private $atlas;
private $http;
/**
* @var \Friendica\Directory\Models\ProfilePollQueue
*/
@ -30,12 +30,12 @@ class Directory
];
public function __construct(
\Atlas\Pdo\Connection $atlas,
\GuzzleHttp\ClientInterface $http,
\Friendica\Directory\Models\ProfilePollQueue $profilePollQueueModel,
\Psr\Log\LoggerInterface $logger,
array $settings)
{
$this->atlas = $atlas;
$this->http = $http;
$this->profilePollQueueModel = $profilePollQueueModel;
$this->logger = $logger;
$this->settings = array_merge($this->settings, $settings);
@ -82,35 +82,7 @@ class Directory
$path = '/sync/pull/since/' . $last_polled;
}
//Prepare the CURL call.
$handle = curl_init();
$options = array(
//Timeouts
CURLOPT_TIMEOUT => max($this->settings['probe_timeout'], 1), //Minimum of 1 second timeout.
CURLOPT_CONNECTTIMEOUT => 1,
//Redirecting
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 8,
//SSL
CURLOPT_SSL_VERIFYPEER => true,
// CURLOPT_VERBOSE => true,
// CURLOPT_CERTINFO => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_PROTOCOLS => CURLPROTO_HTTP | CURLPROTO_HTTPS,
//Basic request
CURLOPT_USERAGENT => Network::USER_AGENT,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $directory_url . $path
);
curl_setopt_array($handle, $options);
$this->logger->info('Pulling profiles from directory URL: ' . $directory_url . $path);
//Probe the site.
$pull_data = curl_exec($handle);
//Done with CURL now.
curl_close($handle);
$pull_data = $this->http->get($directory_url . $path, ['timeout' => max($this->settings['probe_timeout'], 1)])->getBody()->getContents();
$data = json_decode($pull_data, true);

View file

@ -2,14 +2,15 @@
namespace Friendica\Directory\Pollers;
use Friendica\Directory\Utils\Network;
use Friendica\Directory\Models;
use Friendica\Directory\Utils;
use GuzzleHttp\Exception\RequestException;
/**
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
class Profile
{
const PROFILE_MISSING_REQUEST = 1;
const PROFILE_MISSING_CONFIRM = 2;
const PROFILE_MISSING_NOTIFY = 4;
const PROFILE_MISSING_POLL = 8;
@ -20,12 +21,17 @@ class Profile
private $atlas;
/**
* @var \Friendica\Directory\Models\Server
* @var \GuzzleHttp\ClientInterface
*/
private $http;
/**
* @var Models\Server
*/
private $serverModel;
/**
* @var \Friendica\Directory\Models\Profile
* @var Models\Profile
*/
private $profileModel;
@ -44,13 +50,15 @@ class Profile
public function __construct(
\Atlas\Pdo\Connection $atlas,
\Friendica\Directory\Models\Server $serverModel,
\Friendica\Directory\Models\Profile $profileModel,
\GuzzleHttp\ClientInterface $http,
Models\Server $serverModel,
Models\Profile $profileModel,
\Psr\Log\LoggerInterface $logger,
array $settings
)
{
$this->atlas = $atlas;
$this->http = $http;
$this->serverModel = $serverModel;
$this->profileModel = $profileModel;
$this->logger = $logger;
@ -75,12 +83,12 @@ class Profile
return false;
}
if (!\Friendica\Directory\Utils\Network::isPublicHost($host)) {
if (!Utils\Network::isPublicHost($host)) {
$this->logger->warning('Private/reserved IP in polled profile URL: ' . $profile_uri);
return false;
}
$profileUriInfo = \Friendica\Directory\Models\Profile::extractInfoFromProfileUrl($profile_uri);
$profileUriInfo = Models\Profile::extractInfoFromProfileUrl($profile_uri);
if (!$profileUriInfo) {
$this->logger->warning('Profile URI invalid');
return false;
@ -123,25 +131,38 @@ class Profile
);
}
//Skip the profile scrape?
$noscrape = $server['noscrape_url'];
$available = false;
$params = [];
if ($noscrape) {
//Skip the profile scrape?
if ($server['noscrape_url']) {
$this->logger->debug('Calling ' . $server['noscrape_url'] . '/' . $username);
$params = \Friendica\Directory\Utils\Scrape::retrieveNoScrapeData($server['noscrape_url'] . '/' . $username);
$noscrape = !!$params; //If the result was false, do a scrape after all.
try {
$params = Utils\Scrape::retrieveNoScrapeData($this->http, $server['noscrape_url'] . '/' . $username);
} catch (RequestException $e) {
$this->logger->info('Request failed with error code ' . $e->getCode());
} catch (\Throwable $e) {
$this->logger->warning('Request failed with exception ' . get_class($e));
$this->logger->warning(var_export($e, true));
}
$available = !!$params; //If the result was false, do a scrape after all.
}
$available = true;
if ($noscrape) {
$available = Network::testURL($profile_uri);
$this->logger->debug('Testing ' . $profile_uri . ': ' . ($available?'Success':'Failure'));
} else {
$this->logger->notice('Parsing profile page ' . $profile_uri);
$params = \Friendica\Directory\Utils\Scrape::retrieveProfileData($profile_uri);
if (!$available) {
$this->logger->info('Parsing profile page ' . $profile_uri);
try {
$params = Utils\Scrape::retrieveProfileData($this->http, $profile_uri);
} catch (RequestException $e) {
$this->logger->info('Request failed with error code ' . $e->getCode());
} catch (\Throwable $e) {
$this->logger->warning('Request failed with exception ' . get_class($e));
$this->logger->warning(var_export($e, true));
}
$params['language'] = $server['language'];
$available = !empty($params['fn']);
}
// Empty result is due to an offline site.
@ -177,9 +198,6 @@ class Profile
// This is most likely a problem with the site configuration. Ignore.
if ($error = self::validateParams($params)) {
$this->logger->warning('Poll aborted, parameters invalid.', ['params' => $params]);
if ($error & Profile::PROFILE_MISSING_REQUEST) {
$this->logger->notice('dfrn-request parameter is empty.');
}
if ($error & Profile::PROFILE_MISSING_CONFIRM) {
$this->logger->notice('dfrn-confirm parameter is empty.');
}
@ -193,16 +211,22 @@ class Profile
return false;
}
switch ($params['account-type'] ?? 0) {
case 1: $account_type = 'News'; break;
case 2: $account_type = 'Organization'; break;
case 3: $account_type = 'Forum'; break;
case 0:
default:
switch ($params['account-type'] ?? Models\Profile::ACCOUNT_TYPE_PERSON) {
case Models\Profile::ACCOUNT_TYPE_ORGANISATION: $account_type = 'Organization'; break;
case Models\Profile::ACCOUNT_TYPE_NEWS : $account_type = 'News'; break;
case Models\Profile::ACCOUNT_TYPE_COMMUNITY : $account_type = 'Group'; break;
case Models\Profile::ACCOUNT_TYPE_RELAY : $account_type = 'Relay'; break;
case Models\Profile::ACCOUNT_TYPE_DELETED : $account_type = 'Deleted'; break;
case Models\Profile::ACCOUNT_TYPE_PERSON: {
$account_type = 'People';
if (!empty($params['comm'])) {
$account_type = 'Forum';
$account_type = 'Group';
}
break;
}
default: $account_type = 'Unknown'; break;
}
$tags = [];
@ -232,7 +256,6 @@ class Profile
'region' => $params['region'] ?? '',
'country' => $params['country-name'] ?? '',
'profile_url' => $profile_uri,
'dfrn_request' => $params['dfrn-request'] ?? null,
'photo' => $params['photo'],
'tags' => implode(' ', $tags),
'addr' => $addr,
@ -240,7 +263,7 @@ class Profile
'language' => $params['language'] ?? null,
'filled_fields'=> $filled_fields,
'last_activity'=> $params['last-activity'] ?? null,
'available' => $available,
'available' => [$available, \PDO::PARAM_BOOL],
];
$this->logger->debug(var_export($values, true));
@ -254,7 +277,6 @@ class Profile
`region` = :region,
`country` = :country,
`profile_url` = :profile_url,
`dfrn_request` = :dfrn_request,
`photo` = :photo,
`tags` = :tags,
`addr` = :addr,
@ -274,7 +296,6 @@ class Profile
`region` = :region,
`country` = :country,
`profile_url` = :profile_url,
`dfrn_request` = :dfrn_request,
`photo` = :photo,
`tags` = :tags,
`addr` = :addr,
@ -308,23 +329,27 @@ class Profile
$status = false;
if ($profile_id) {
$img_str = \Friendica\Directory\Utils\Network::fetchURL($params['photo'], true);
$img = new \Friendica\Directory\Utils\Photo($img_str);
if ($img->getImage()) {
$img->scaleImageSquare(80);
try {
$img_str = $this->http->get($params['photo'])->getBody()->getContents();
$img = new Utils\Photo($img_str);
if ($img->getImage()) {
$img->scaleImageSquare(80);
$this->atlas->perform('INSERT INTO `photo` SET
`profile_id` = :profile_id,
`data` = :data
ON DUPLICATE KEY UPDATE
`data` = :data',
[
'profile_id' => $profile_id,
'data' => $img->imageString()
]
);
$this->atlas->perform('INSERT INTO `photo` SET
`profile_id` = :profile_id,
`data` = :data
ON DUPLICATE KEY UPDATE
`data` = :data',
[
'profile_id' => $profile_id,
'data' => $img->imageString()
]
);
}
$status = true;
} catch (RequestException $e) {
$this->logger->info('Photo retrieval unsuccessful', ['url' => $params['photo'], 'code' => $e->getCode()]);
}
$status = true;
}
$submit_end = microtime(true);
@ -361,9 +386,6 @@ class Profile
private static function validateParams(array $params): int
{
$errors = 0;
if (empty($params['dfrn-request'])) {
$errors &= self::PROFILE_MISSING_REQUEST;
}
if (empty($params['dfrn-confirm'])) {
$errors &= self::PROFILE_MISSING_CONFIRM;
}

View file

@ -2,8 +2,9 @@
namespace Friendica\Directory\Pollers;
use ByJG\Util\WebRequest;
use Friendica\Directory\Utils\Network;
use GuzzleHttp\Psr7\Uri;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\TransferStats;
/**
* @author Hypolite Petovan <hypolite@mrpetovan.com>
@ -14,6 +15,10 @@ class Server
* @var \Atlas\Pdo\Connection
*/
private $atlas;
/**
* @var \GuzzleHttp\ClientInterface
*/
private $http;
/**
* @var \Friendica\Directory\Models\ProfilePollQueue
*/
@ -41,6 +46,7 @@ class Server
public function __construct(
\Atlas\Pdo\Connection $atlas,
\GuzzleHttp\ClientInterface $http,
\Friendica\Directory\Models\ProfilePollQueue $profilePollQueueModel,
\Friendica\Directory\Models\Server $serverModel,
\Psr\SimpleCache\CacheInterface $simplecache,
@ -48,6 +54,7 @@ class Server
array $settings)
{
$this->atlas = $atlas;
$this->http = $http;
$this->profilePollQueueModel = $profilePollQueueModel;
$this->serverModel = $serverModel;
$this->simplecache = $simplecache;
@ -147,6 +154,10 @@ class Server
$addons = $probe_result['data']['plugins'];
}
if (!empty($probe_result['data']['admin']['profile'])) {
$subscribe = $this->getSubscribeUrl($probe_result['data']['url'], $probe_result['data']['admin']['profile']);
}
$this->atlas->perform(
'UPDATE `server`
SET `available` = 1,
@ -161,20 +172,22 @@ class Server
`admin_name` = :admin_name,
`admin_profile` = :admin_profile,
`noscrape_url` = :noscrape_url,
`subscribe_url` = :subscribe_url,
`ssl_state` = :ssl_state
WHERE `id` = :server_id',
[
'server_id' => $server['id'],
'base_url' => strtolower($probe_result['data']['url']),
'name' => $probe_result['data']['site_name'],
'name' => substr($probe_result['data']['site_name'], 0, 255),
'language' => $probe_result['data']['language'] ?? null,
'version' => $probe_result['data']['version'],
'addons' => implode(',', $addons),
'reg_policy' => $probe_result['data']['register_policy'],
'info' => $probe_result['data']['info'],
'admin_name' => $probe_result['data']['admin']['name'],
'admin_profile' => $probe_result['data']['admin']['profile'],
'admin_name' => $probe_result['data']['admin']['name'] ?? null,
'admin_profile' => $probe_result['data']['admin']['profile'] ?? null,
'noscrape_url' => $probe_result['data']['no_scrape_url'] ?? null,
'subscribe_url' => $subscribe ?? null,
'ssl_state' => $probe_result['ssl_state']
]
);
@ -241,65 +254,50 @@ class Server
private function getProbeResult(string $base_url): array
{
//Prepare the CURL call.
$handle = curl_init();
$options = array(
//Timeouts
CURLOPT_TIMEOUT => max($this->settings['probe_timeout'], 1), //Minimum of 1 second timeout.
CURLOPT_CONNECTTIMEOUT => 1,
//Redirecting
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_MAXREDIRS => 8,
//SSL
CURLOPT_SSL_VERIFYPEER => true,
// CURLOPT_VERBOSE => true,
// CURLOPT_CERTINFO => true,
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_PROTOCOLS => CURLPROTO_HTTP | CURLPROTO_HTTPS,
//Basic request
CURLOPT_USERAGENT => Network::USER_AGENT,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $base_url . '/friendica/json'
);
curl_setopt_array($handle, $options);
$curl_info = null;
$options = [
'timeout' => max($this->settings['probe_timeout'], 1),
'on_stats' => function (TransferStats $transferStats) use (&$curl_info) {
$curl_info = $transferStats->getHandlerStats();
}
];
$sslcert_issues = false;
//Probe the site.
$probe_start = microtime(true);
$probe_data = curl_exec($handle);
$probe_end = microtime(true);
$probe_data = null;
try {
//Probe the site.
$probe_data = $this->http->get($base_url . '/friendica/json', $options)->getBody()->getContents();
} catch (RequestException $e) {
if (in_array($e->getHandlerContext()['errno'] ?? 0, [
60, //Could not authenticate certificate with known CA's
83 //Issuer check failed
])) {
$sslcert_issues = true;
//Check for SSL problems.
$curl_statuscode = curl_errno($handle);
$sslcert_issues = in_array($curl_statuscode, array(
60, //Could not authenticate certificate with known CA's
83 //Issuer check failed
));
//When it's the certificate that doesn't work, we probe again without strict SSL.
$options['verify'] = false;
//When it's the certificate that doesn't work.
if ($sslcert_issues) {
//Probe again, without strict SSL.
$options[CURLOPT_SSL_VERIFYPEER] = false;
//Replace the handle.
curl_close($handle);
$handle = curl_init();
curl_setopt_array($handle, $options);
//Probe.
$probe_start = microtime(true);
$probe_data = curl_exec($handle);
$probe_end = microtime(true);
//Store new status.
$curl_statuscode = curl_errno($handle);
$probe_start = microtime(true);
try {
$probe_data = $this->http->get($base_url . '/friendica/json', $options)->getBody()->getContents();
} catch(RequestException $e) {
// Collects 404, 500 errors
$this->logger->info('SSL-non-verified URL probe failed with error code: ' . $e->getCode());
}
} else {
$this->logger->info('SSL-verified URL probe failed with error code: ' . $e->getCode());
}
} catch (\InvalidArgumentException $e) {
$this->logger->error('Invalid argument provided to HTTP client', ['base_url' => $base_url, 'exception' => $e]);
return ['data' => false, 'time' => 0, 'curl_info' => [], 'ssl_state' => null];
}
//Gather more meta.
$time = round(($probe_end - $probe_start) * 1000);
$curl_info = curl_getinfo($handle);
$probe_end = microtime(true);
//Done with CURL now.
curl_close($handle);
$time = round(($probe_end - $probe_start) * 1000);
try {
$data = json_decode($probe_data, true);
@ -413,27 +411,24 @@ class Server
function discoverPoco($base_url): void
{
$pocoUrl = $base_url . '/poco';
$uri = Uri::withQueryValues(new Uri($base_url . '/poco'), ['fields' => 'urls', 'count' => 1000]);
$webrequest = new WebRequest($pocoUrl);
$pocoJsonData = $webrequest->get(['fields' => 'urls', 'count' => 1000]);
$this->logger->debug('WebRequest: ' . $webrequest->getLastFetchedUrl() . ' Status: ' . $webrequest->getLastStatus());
if ($webrequest->getLastStatus() != 200) {
$this->logger->info('Unsuccessful poco request: ' . $webrequest->getLastFetchedUrl());
try {
$response = $this->http->request('GET', $uri);
} catch (RequestException $e) {
$this->logger->info('Unsuccessful poco request: ' . $uri);
return;
}
try {
$pocoFetchData = json_decode($pocoJsonData);
$pocoFetchData = json_decode($response->getBody()->getContents());
} catch (\Throwable $e) {
$this->logger->notice('Invalid JSON string for PoCo URL: ' . $webrequest->getLastFetchedUrl());
$this->logger->notice('Invalid JSON string for PoCo URL: ' . $uri);
return;
}
if (!isset($pocoFetchData->entry)) {
$this->logger->notice('Invalid JSON structure for PoCo URL: ' . $webrequest->getLastFetchedUrl());
$this->logger->notice('Invalid JSON structure for PoCo URL: ' . $uri);
return;
}
@ -452,4 +447,45 @@ class Server
}
}
}
public function getSubscribeUrl($base_url, $profile)
{
$uri = Uri::withQueryValues(new Uri($base_url . '/xrd'), ['uri' => $profile]);
try {
$response = $this->http->request('GET', $uri, ['headers' => ['Accept' => 'application/jrd+json']]);
} catch (RequestException $e) {
$this->logger->info('Unsuccessful xrd request: ' . $uri);
return null;
}
$xrdJsonData = $response->getBody()->getContents();
$this->logger->debug('WebRequest: ' . $uri . ' Status: ' . $response->getStatusCode());
if ($response->getStatusCode() != 200) {
$this->logger->info('Unsuccessful XRD request: ' . $uri);
return null;
}
try {
$xrdData = json_decode($xrdJsonData);
} catch (\Throwable $e) {
$this->logger->notice('Invalid JSON string for XRD URL: ' . $uri);
return null;
}
if (!isset($xrdData->links)) {
$this->logger->notice('Invalid JSON structure for XRD URL: ' . $uri);
return null;
}
foreach ($xrdData->links as $link) {
if ($link->rel == 'http://ostatus.org/schema/1.0/subscribe') {
return $link->template ?? null;
}
}
return null;
}
}

View file

@ -10,7 +10,6 @@ class MatchSearch extends BaseRoute
public function __invoke(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args): \Slim\Http\Response
{
return (new \Friendica\Directory\Controllers\Api\MatchSearch(
$this->container->atlas,
$this->container->get(\Friendica\Directory\Models\Profile::class),
$this->container->l10n
))->render($request, $response, $args);

View file

@ -10,7 +10,8 @@ class Photo extends BaseRoute
public function __invoke(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args): \Slim\Http\Response
{
return (new \Friendica\Directory\Controllers\Api\Photo(
$this->container->atlas
$this->container->atlas,
$this->container->get('defaultProfilePictureSmallPath')
))->render($request, $response, $args);
}
}

View file

@ -10,7 +10,6 @@ class Search extends BaseRoute
public function __invoke(\Slim\Http\Request $request, \Slim\Http\Response $response, array $args): \Slim\Http\Response
{
return (new \Friendica\Directory\Controllers\Api\Search(
$this->container->atlas,
$this->container->get(\Friendica\Directory\Models\Profile::class),
$this->container->l10n
))->render($request, $response, $args);

View file

@ -13,6 +13,7 @@ class Directory extends BaseRoute
$this->controller = new \Friendica\Directory\Controllers\Web\Directory(
$this->container->atlas,
$this->container->get(\Friendica\Directory\Models\Server::class),
$this->container->get(\Friendica\Directory\Models\Profile::class),
$this->container->get(\Friendica\Directory\Views\Widget\AccountTypeTabs::class),
$this->container->renderer,

View file

@ -13,6 +13,7 @@ class Search extends BaseRoute
$this->controller = new \Friendica\Directory\Controllers\Web\Search(
$this->container->atlas,
$this->container->get(\Friendica\Directory\Models\Server::class),
$this->container->get(\Friendica\Directory\Models\Profile::class),
$this->container->get(\Friendica\Directory\Views\Widget\AccountTypeTabs::class),
$this->container->renderer,

View file

@ -165,12 +165,12 @@ class L10n
$foundLang = $language;
}
if (strtolower($key) == strtolower(str_replace('-', '_', $locale))) {
$foundLocale = true;
$foundLocale = $language;
break;
}
}
return $foundLocale ? $language : $foundLang ?: $locale;
return $foundLocale ?: $foundLang ?: $locale;
}
/**

View file

@ -15,56 +15,6 @@ namespace Friendica\Directory\Utils;
*/
class Network
{
const USER_AGENT = 'friendica-directory-probe-1.0';
public static function fetchURL(string $url, bool $binary = false, int $timeout = 20): string
{
$ch = curl_init($url);
if (!$ch) {
return false;
}
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, max($timeout, 1)); //Minimum of 1 second timeout.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 8);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, self::USER_AGENT);
if ($binary) {
curl_setopt($ch, CURLOPT_BINARYTRANSFER, 1);
}
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$s = curl_exec($ch);
curl_close($ch);
return $s;
}
public static function testURL(string $url, int $timeout = 20): bool
{
$ch = curl_init($url);
if (!$ch) {
return false;
}
curl_setopt($ch, CURLOPT_HEADER , 0);
curl_setopt($ch, CURLOPT_TIMEOUT , max($timeout, 1)); //Minimum of 1 second timeout.
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS , 8);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_NOBODY , true);
curl_setopt($ch, CURLOPT_USERAGENT , self::USER_AGENT);
curl_exec($ch);
$responseCode = intval(curl_getinfo($ch, CURLINFO_RESPONSE_CODE));
$testSuccess = curl_errno($ch) === 0 && $responseCode < 400;
curl_close($ch);
return $testSuccess;
}
/**
* Check if a hostname is public and non-reserved
*

View file

@ -2,6 +2,8 @@
namespace Friendica\Directory\Utils;
use GuzzleHttp\ClientInterface;
/**
* @author Hypolite Petovan <hypolite@mrpetovan.com>
*/
@ -12,10 +14,10 @@ class Scrape
* @param string $url
* @return array|false
*/
public static function retrieveNoScrapeData(string $url)
public static function retrieveNoScrapeData(ClientInterface $http, string $url)
{
$submit_noscrape_start = microtime(true);
$data = Network::fetchURL($url);
$data = $http->get($url)->getBody()->getContents();
$submit_noscrape_request_end = microtime(true);
if (empty($data)) {
@ -42,7 +44,7 @@ class Scrape
return $params;
}
public static function retrieveProfileData(string $url, int $max_nodes = 3500): array
public static function retrieveProfileData(ClientInterface $http, string $url, int $max_nodes = 3500): array
{
$minNodes = 100; //Lets do at least 100 nodes per type.
@ -56,7 +58,7 @@ class Scrape
$scrape_start = microtime(true);
$params = [];
$html = Network::fetchURL($url, false, $timeout);
$html = $http->get($url, ['timeout' => $timeout])->getBody()->getContents();;
$scrape_fetch_end = microtime(true);

View file

@ -206,7 +206,7 @@ class PhpRenderer extends \Slim\Views\PhpRenderer
{
if ($this->getAttribute('zrl')) {
$uri = new \ByJG\Util\Uri($url);
$uri->withQueryKeyValue('zrl', $this->getAttribute('zrl'));
$uri->withQueryKeyValue('zrl', $this->getAttribute('zrl'), false);
$url = $uri->__toString();
}

View file

@ -56,7 +56,9 @@ class AccountTypeTabs
case 'People' : $title = $this->renderer->np__('account-type', 'People (%d)' , 'People (%d)' , $account_type['count']); break;
case 'News' : $title = $this->renderer->np__('account-type', 'News (%d)' , 'News (%d)' , $account_type['count']); break;
case 'Organization': $title = $this->renderer->np__('account-type', 'Organization (%d)', 'Organizations (%d)', $account_type['count']); break;
case 'Forum' : $title = $this->renderer->np__('account-type', 'Forum (%d)' , 'Forums (%d)' , $account_type['count']); break;
// Kept for backward compatibility
case 'Forum' :
case 'Group' : $title = $this->renderer->np__('account-type', 'Group (%d)' , 'Groups (%d)' , $account_type['count']); break;
default: $title = $this->renderer->np__('account-type', $account_type['account_type']. ' (%d)', $account_type['account_type']. ' (%d)', $account_type['count']);
}

View file

@ -89,6 +89,18 @@ $container['migration'] = function (ContainerInterface $c): ByJG\DbMigration\Mig
return $migration;
};
$container['http'] = function (ContainerInterface $c): GuzzleHttp\ClientInterface {
$version = file_get_contents(__DIR__ . '/../VERSION');
if (!$version || !preg_match('/^\s*\d\.\d\.\d\s*$/', $version)) {
$version = '0.0.0';
}
return new GuzzleHttp\Client(['timeout' => 20, 'headers' => ['User-Agent' => 'FriendicaDirectory/' . trim($version) . ' ' . \GuzzleHttp\default_user_agent()]]);
};
$container['defaultProfilePictureSmallPath'] = __DIR__ . '/../public/assets/images/default-profile-sm.jpg';
// Internal Dependency Injection
$container[\Friendica\Directory\Models\Profile::class] = function (ContainerInterface $c): Friendica\Directory\Models\Profile {
@ -106,7 +118,7 @@ $container[\Friendica\Directory\Models\Server::class] = function (ContainerInter
$container[\Friendica\Directory\Pollers\Directory::class] = function (ContainerInterface $c): Friendica\Directory\Pollers\Directory {
$settings = $c->get('settings')['poller'];
return new Friendica\Directory\Pollers\Directory(
$c->get('atlas'),
$c->get('http'),
$c->get(\Friendica\Directory\Models\ProfilePollQueue::class),
$c->get('logger'),
$settings ?: []
@ -117,6 +129,7 @@ $container[\Friendica\Directory\Pollers\Profile::class] = function (ContainerInt
$settings = $c->get('settings')['poller'];
return new Friendica\Directory\Pollers\Profile(
$c->get('atlas'),
$c->get('http'),
$c->get(\Friendica\Directory\Models\Server::class),
$c->get(\Friendica\Directory\Models\Profile::class),
$c->get('logger'),
@ -128,6 +141,7 @@ $container[\Friendica\Directory\Pollers\Server::class] = function (ContainerInte
$settings = $c->get('settings')['poller'];
return new Friendica\Directory\Pollers\Server(
$c->get('atlas'),
$c->get('http'),
$c->get(\Friendica\Directory\Models\ProfilePollQueue::class),
$c->get(\Friendica\Directory\Models\Server::class),
$c->get('simplecache'),

Binary file not shown.

View file

@ -1,27 +1,25 @@
#
# Translators:
# ButterflyOfFire, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Last-Translator: ButterflyOfFire, 2019\n"
"Last-Translator: abidin toumi <abidin24@tutanota.com>, 2021\n"
"Language-Team: Arabic (https://www.transifex.com/Friendica/teams/12172/ar/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Language: ar\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
"X-Generator: Poedit 2.2\n"
#: src\classes\Content\Pager.php:168 src\classes\Content\Pager.php:216
#: src\classes\Content\Pager.php:168
#: src\classes\Content\Pager.php:216
msgid "Previous"
msgstr "السابقة"
#: src\classes\Content\Pager.php:173 src\classes\Content\Pager.php:273
#: src\classes\Content\Pager.php:173
#: src\classes\Content\Pager.php:273
msgid "Next"
msgstr "التالية"
@ -33,63 +31,69 @@ msgstr "الأولى"
msgid "Last"
msgstr "الأخيرة"
#: src\classes\Controllers\Web\Directory.php:73
#: src\classes\Controllers\Web\Directory.php:85
msgid "People"
msgstr "أشخاص"
#: src\classes\Controllers\Web\Search.php:64
#: src\classes\Controllers\Web\Search.php:72
msgctxt "field"
msgid "Language"
msgstr "اللغة"
#: src\classes\Controllers\Web\Search.php:65
#: src\classes\Controllers\Web\Search.php:73
msgctxt "field"
msgid "Locality"
msgstr ""
#: src\classes\Controllers\Web\Search.php:66
msgctxt "field"
msgid "Region"
msgstr "المنطقة"
#: src\classes\Controllers\Web\Search.php:67
#: src\classes\Controllers\Web\Search.php:74
msgctxt "field"
msgid "Region"
msgstr "الإقليم"
#: src\classes\Controllers\Web\Search.php:75
msgctxt "field"
msgid "Country"
msgstr "البلد"
#: src\classes\Controllers\Web\Servers.php:90
#: src\classes\Controllers\Web\Servers.php:105
msgid "Public Servers"
msgstr "الخوادم العمومية"
#: src\templates\layout.phtml:4 src\templates\layout.phtml:18
#: src\templates\layout.phtml:4
#: src\templates\layout.phtml:18
msgid "Friendica Directory"
msgstr ""
msgstr "دليل فرنديكا"
#: src\templates\layout.phtml:23 src\templates\layout.phtml:25
#: src\templates\layout.phtml:43 src\templates\layout.phtml:45
#: src\templates\search.phtml:4 src\templates\search.phtml:12
#: src\templates\layout.phtml:23
#: src\templates\layout.phtml:25
#: src\templates\layout.phtml:43
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:4
#: src\templates\search.phtml:12
msgid "Search terms"
msgstr ""
msgstr "مصطلحات البحث"
#: src\templates\layout.phtml:24 src\templates\layout.phtml:45
#: src\templates\layout.phtml:24
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:11
msgctxt "noun"
msgid "Search"
msgstr "البحث"
msgstr "ابحث"
#: src\templates\layout.phtml:27 src\templates\layout.phtml:47
#: src\templates\layout.phtml:27
#: src\templates\layout.phtml:47
#: src\templates\search.phtml:14
msgctxt "verb"
msgid "Search"
msgstr "البحث"
msgstr "ابحث"
#: src\templates\layout.phtml:33
msgid "Toggle navigation"
msgstr ""
msgstr "بدل التصفح"
#: src\templates\layout.phtml:55
msgid "Directory"
msgstr ""
msgstr "الدليل"
#: src\templates\layout.phtml:60
msgid "Public servers"
@ -98,87 +102,95 @@ msgstr "الخوادم العمومية"
#: src\templates\search.phtml:19
msgid "%d result for \"%s\""
msgid_plural "%d results for \"%s\""
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
msgstr[0] "%d نتائج لـ \"%s\""
msgstr[1] "نتيجة %d لـ \"%s\""
msgstr[2] "نتيجتان %d لـ \"%s\""
msgstr[3] "%d نتائج لـ \"%s\""
msgstr[4] "%d نتيجة لـ \"%s\""
msgstr[5] "%dنتيجة لـ \"%s\""
#: src\templates\servers.phtml:2
#: src\templates\servers.phtml:7
msgid "Top servers pagination"
msgstr ""
#: src\templates\servers.phtml:12
#: src\templates\servers.phtml:17
msgid "Bottom servers pagination"
msgstr ""
#: src\templates\sub\profile.phtml:5
msgid "Filter by locality"
msgstr ""
msgstr "رشح حسب المنطقة"
#: src\templates\sub\profile.phtml:11
msgid "Filter by region"
msgstr "تصفية حسب المنطقة"
msgstr "رشح حسب الإقليم"
#: src\templates\sub\profile.phtml:17
msgid "Filter by country"
msgstr "تصفية حسب الدولة"
msgstr "رشح حسب الدولة"
#: src\templates\sub\profile.phtml:31
#: src\templates\sub\profile.phtml:35
#: src\templates\sub\profile.phtml:39
msgctxt "verb"
msgid "Follow"
msgstr "اتبع"
msgstr "تابع"
#: src\templates\layout.phtml:65 src\templates\sub\profile.phtml:47
#: src\templates\layout.phtml:65
#: src\templates\sub\profile.phtml:57
msgid "Language"
msgstr "اللغة"
#: src\templates\sub\profile.phtml:50
#: src\templates\sub\profile.phtml:60
#: src\templates\widget\popularserverlanguages.phtml:2
msgid "Filter by language"
msgstr "تصفية حسب اللغة"
msgstr "رشح حسب اللغة"
#: src\templates\sub\profile.phtml:56
#: src\templates\sub\profile.phtml:66
msgid "Location"
msgstr ""
msgstr "الموقع"
#: src\templates\sub\profile.phtml:69
#: src\templates\sub\profile.phtml:79
msgid "Search Tag"
msgstr ""
msgstr "ابحث عن وسم"
#: src\templates\sub\profiles.phtml:1
msgid "Account type tabs"
msgstr ""
msgstr "ألسنة نوع الحساب"
#: src\templates\sub\profiles.phtml:4 src\templates\sub\profiles.phtml:7
#: src\templates\sub\profiles.phtml:4
#: src\templates\sub\profiles.phtml:7
msgid "Top %s pagination"
msgstr ""
#: src\templates\sub\profiles.phtml:13 src\templates\sub\profiles.phtml:16
#: src\templates\sub\profiles.phtml:13
#: src\templates\sub\profiles.phtml:16
msgid "Bottom %s pagination"
msgstr ""
#: src\templates\statistics.phtml:66 src\templates\sub\server.phtml:15
#: src\templates\statistics.phtml:66
#: src\templates\sub\server.phtml:15
msgid "Stable Version"
msgstr "إصدار ثابت"
msgstr "الإصدار المستقر"
#: src\templates\statistics.phtml:68 src\templates\sub\server.phtml:17
#: src\templates\statistics.phtml:68
#: src\templates\sub\server.phtml:17
msgid "Develop Version"
msgstr "إصدار قيد التطوير"
msgstr "الإصدار الاختباري"
#: src\templates\sub\server.phtml:19
msgid "Outdated Version"
msgstr "إصدار قديم"
#: src\templates\sub\server.phtml:55
#: src\templates\sub\server.phtml:69
msgid "Admin"
msgstr "المدير"
#: src\templates\sub\server.phtml:62
#: src\templates\sub\server.phtml:76
msgid "No description provided"
msgstr "لم يتم تقديم أي وصف"
msgstr "لم يقدم أي وصف"
#: src\templates\sub\server.phtml:65
#: src\templates\sub\server.phtml:79
msgid "Visit Server"
msgstr "زُر الخادم"
@ -186,7 +198,7 @@ msgstr "زُر الخادم"
msgid "Popular Countries"
msgstr "البلدان الشائعة"
#: src\templates\widget\popularlanguages.phtml:2
#: src\templates\widget\popularprofilelanguages.phtml:2
msgid "Popular Languages"
msgstr "اللغات الشائعة"
@ -194,7 +206,8 @@ msgstr "اللغات الشائعة"
msgid "Popular Tags"
msgstr "الوسوم الشائعة"
#: src\templates\sub\server.phtml:44 src\templates\sub\server.phtml:45
#: src\templates\sub\server.phtml:44
#: src\templates\sub\server.phtml:45
msgid "Default Language"
msgstr "اللغة الافتراضية"
@ -211,23 +224,12 @@ msgstr "الكل"
msgctxt "account-type"
msgid "People (%d)"
msgid_plural "People (%d)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "Forum (%d)"
msgid_plural "Forums (%d)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
msgstr[0] "أشخاص (%d)"
msgstr[1] "أشخاص (%d)"
msgstr[2] "أشخاص (%d)"
msgstr[3] "أشخاص (%d)"
msgstr[4] "أشخاص (%d)"
msgstr[5] "أشخاص (%d)"
#: src\templates\layout.phtml:97
msgid "Stats"
@ -235,50 +237,44 @@ msgstr "الإحصائيات"
#: src\templates\statistics.phtml:4
msgid "Directory statistics"
msgstr "إحصائيات السِجِل"
msgstr "إحصائيات الدليل"
#: src\templates\statistics.phtml:5
msgid "Profiles"
msgstr "الملفات الشخصية"
#: src\templates\statistics.phtml:6
msgid ""
"This directory knows about <strong>%s distinct potential profile "
"URLs</strong>."
msgid "This directory knows about <strong>%s distinct potential profile URLs</strong>."
msgstr ""
#: src\templates\statistics.phtml:16 src\templates\statistics.phtml:46
#: src\templates\statistics.phtml:16
#: src\templates\statistics.phtml:46
msgid "Languages"
msgstr "اللغات"
#: src\templates\statistics.phtml:17
msgid ""
"Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr ""
msgid "Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr "من بين <strong>%s</strong> ملفا شخصيا عرف عن لغته هناك:"
#: src\templates\statistics.phtml:27
msgid "Servers"
msgstr "الخوادم"
#: src\templates\statistics.phtml:28
msgid ""
"This directory knows about <strong>%s distinct potential server "
"URLs</strong>."
msgid "This directory knows about <strong>%s distinct potential server URLs</strong>."
msgstr ""
#: src\templates\statistics.phtml:29
msgid ""
"Out of those, there are <strong>%s domains (%s)</strong> that have been a "
"Friendica server at least once."
msgid "Out of those, there are <strong>%s domains (%s)</strong> that have been a Friendica server at least once."
msgstr ""
#: src\templates\statistics.phtml:33
msgid "Out of those, there are:"
msgstr ""
msgstr "من بين هؤلاء هناك:"
#: src\templates\statistics.phtml:47
msgid "Out of <strong>%s</strong> servers reporting their language there are:"
msgstr ""
msgstr "من بين <strong>%s</strong> خادما عرف عن لغته هناك:"
#: src\templates\statistics.phtml:57
msgid "Versions"
@ -286,34 +282,100 @@ msgstr "الإصدارات"
#: src\templates\statistics.phtml:58
msgid "Out of <strong>%s</strong> servers reporting their version there are:"
msgstr ""
msgstr "من بين <strong>%s</strong> خادما عرف عن إصداره هناك:"
#: src\templates\statistics.phtml:7
msgid ""
"Out of those, there are <strong>%s profiles (%s)</strong> that opted in the "
"public directory at least once."
msgid "Out of those, there are <strong>%s profiles (%s)</strong> that opted in the public directory at least once."
msgstr ""
#: src\templates\statistics.phtml:35
msgid "<strong>%s available servers (%s)</strong>"
msgstr ""
msgstr "<strong>%s خادم متوفر (%s)</strong>"
#: src\templates\layout.phtml:91
msgid "Friendica Directory version %s"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on GitHub"
msgstr "الشفرة المصدرية على غيت هب"
msgstr "إصدار دليل فرنديكا %s"
#: src\templates\statistics.phtml:11
msgid ""
"Out of those, there currently are <strong>%s available profiles "
"(%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgid "Out of those, there currently are <strong>%s available profiles (%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr ""
#: src\templates\statistics.phtml:39
msgid ""
"<strong>%s public servers (%s)</strong> currently open for registration. <a "
"href=\"%s\">Check them out!</a>"
msgid "<strong>%s public servers (%s)</strong> currently open for registration. <a href=\"%s\">Check them out!</a>"
msgstr "يوجد <strong>%s خادم عمومي (%s)</strong> مفتوح للستجيل. <a href=\"%s\">ألق نظرة عليهم!</a>"
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "News (%d)"
msgid_plural "News (%d)"
msgstr[0] "أخبار (%d)"
msgstr[1] "أخبار (%d)"
msgstr[2] "أخبار (%d)"
msgstr[3] "أخبار (%d)"
msgstr[4] "أخبار (%d)"
msgstr[5] "أخبار (%d)"
#: src\classes\Views\Widget\AccountTypeTabs.php:58
msgctxt "account-type"
msgid "Organization (%d)"
msgid_plural "Organizations (%d)"
msgstr[0] "منظمات (%d)"
msgstr[1] "منظمات (%d)"
msgstr[2] "منظمات (%d)"
msgstr[3] "منظمات (%d)"
msgstr[4] "منظمات (%d)"
msgstr[5] "منظمات (%d)"
#: src\templates\sub\server.phtml:40
msgid "Health Score"
msgstr "تقييم الصحة"
#: src\templates\sub\server.phtml:52
msgid "%s User"
msgid_plural "%s Users"
msgstr[0] "لا مستخدمين %s"
msgstr[1] "مستخدم %s"
msgstr[2] "مستخدمان %s"
msgstr[3] "%s مستخدمين"
msgstr[4] "%s مستخدما"
msgstr[5] "%s مستخدم"
#: src\templates\sub\server.phtml:54
msgid "None"
msgstr "لا شيء"
#: src\templates\sub\server.phtml:58
#: src\templates\sub\server.phtml:62
msgid "Registration Policy"
msgstr "سياسة التسجيل"
#: src\templates\sub\server.phtml:59
msgid "By Approval"
msgstr "يحتاج الموافقة"
#: src\templates\sub\server.phtml:63
msgid "Open"
msgstr "مفتوح"
#: src\classes\Views\Widget\AccountTypeTabs.php:61
msgctxt "account-type"
msgid "Group (%d)"
msgid_plural "Groups (%d)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
msgstr[4] ""
msgstr[5] ""
#: src\templates\servers.phtml:3
msgid "Filtered by language:"
msgstr ""
#: src\templates\servers.phtml:3
msgid "Clear language filter"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on Friendica's Forgejo"
msgstr ""

View file

@ -1,27 +1,25 @@
#
# Translators:
# Joan Bar <friendica@tutanota.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Last-Translator: Joan Bar <friendica@tutanota.com>, 2019\n"
"Language-Team: Catalan (https://www.transifex.com/Friendica/teams/12172/ca/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Language: ca\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2\n"
#: src\classes\Content\Pager.php:168 src\classes\Content\Pager.php:216
#: src\classes\Content\Pager.php:168
#: src\classes\Content\Pager.php:216
msgid "Previous"
msgstr "prèvia"
#: src\classes\Content\Pager.php:173 src\classes\Content\Pager.php:273
#: src\classes\Content\Pager.php:173
#: src\classes\Content\Pager.php:273
msgid "Next"
msgstr "següent"
@ -33,51 +31,57 @@ msgstr "Primer"
msgid "Last"
msgstr "Ultim"
#: src\classes\Controllers\Web\Directory.php:73
#: src\classes\Controllers\Web\Directory.php:85
msgid "People"
msgstr "gent"
#: src\classes\Controllers\Web\Search.php:64
#: src\classes\Controllers\Web\Search.php:72
msgctxt "field"
msgid "Language"
msgstr "Llengua"
#: src\classes\Controllers\Web\Search.php:65
#: src\classes\Controllers\Web\Search.php:73
msgctxt "field"
msgid "Locality"
msgstr "Localitat"
#: src\classes\Controllers\Web\Search.php:66
#: src\classes\Controllers\Web\Search.php:74
msgctxt "field"
msgid "Region"
msgstr "Regió"
#: src\classes\Controllers\Web\Search.php:67
#: src\classes\Controllers\Web\Search.php:75
msgctxt "field"
msgid "Country"
msgstr "País"
#: src\classes\Controllers\Web\Servers.php:90
#: src\classes\Controllers\Web\Servers.php:105
msgid "Public Servers"
msgstr "Servidors públics"
#: src\templates\layout.phtml:4 src\templates\layout.phtml:18
#: src\templates\layout.phtml:4
#: src\templates\layout.phtml:18
msgid "Friendica Directory"
msgstr "Directori de Friendica"
#: src\templates\layout.phtml:23 src\templates\layout.phtml:25
#: src\templates\layout.phtml:43 src\templates\layout.phtml:45
#: src\templates\search.phtml:4 src\templates\search.phtml:12
#: src\templates\layout.phtml:23
#: src\templates\layout.phtml:25
#: src\templates\layout.phtml:43
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:4
#: src\templates\search.phtml:12
msgid "Search terms"
msgstr "Termes de cerca"
#: src\templates\layout.phtml:24 src\templates\layout.phtml:45
#: src\templates\layout.phtml:24
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:11
msgctxt "noun"
msgid "Search"
msgstr "Buscar"
#: src\templates\layout.phtml:27 src\templates\layout.phtml:47
#: src\templates\layout.phtml:27
#: src\templates\layout.phtml:47
#: src\templates\search.phtml:14
msgctxt "verb"
msgid "Search"
@ -101,11 +105,11 @@ msgid_plural "%d results for \"%s\""
msgstr[0] ""
msgstr[1] ""
#: src\templates\servers.phtml:2
#: src\templates\servers.phtml:7
msgid "Top servers pagination"
msgstr "Paginació dels servidors principals"
#: src\templates\servers.phtml:12
#: src\templates\servers.phtml:17
msgid "Bottom servers pagination"
msgstr "Paginació dels servidors principals"
@ -122,23 +126,27 @@ msgid "Filter by country"
msgstr "Filtra per País"
#: src\templates\sub\profile.phtml:31
#: src\templates\sub\profile.phtml:35
#: src\templates\sub\profile.phtml:39
msgctxt "verb"
msgid "Follow"
msgstr "seguir"
#: src\templates\layout.phtml:65 src\templates\sub\profile.phtml:47
#: src\templates\layout.phtml:65
#: src\templates\sub\profile.phtml:57
msgid "Language"
msgstr "Llenguatge "
#: src\templates\sub\profile.phtml:50
#: src\templates\sub\profile.phtml:60
#: src\templates\widget\popularserverlanguages.phtml:2
msgid "Filter by language"
msgstr ""
#: src\templates\sub\profile.phtml:56
#: src\templates\sub\profile.phtml:66
msgid "Location"
msgstr "Localitat"
#: src\templates\sub\profile.phtml:69
#: src\templates\sub\profile.phtml:79
msgid "Search Tag"
msgstr "Etiqueta de cerca"
@ -146,19 +154,23 @@ msgstr "Etiqueta de cerca"
msgid "Account type tabs"
msgstr "Pestanyes tipus compte"
#: src\templates\sub\profiles.phtml:4 src\templates\sub\profiles.phtml:7
#: src\templates\sub\profiles.phtml:4
#: src\templates\sub\profiles.phtml:7
msgid "Top %s pagination"
msgstr "Superior%s Paginació"
#: src\templates\sub\profiles.phtml:13 src\templates\sub\profiles.phtml:16
#: src\templates\sub\profiles.phtml:13
#: src\templates\sub\profiles.phtml:16
msgid "Bottom %s pagination"
msgstr ""
#: src\templates\statistics.phtml:66 src\templates\sub\server.phtml:15
#: src\templates\statistics.phtml:66
#: src\templates\sub\server.phtml:15
msgid "Stable Version"
msgstr ""
#: src\templates\statistics.phtml:68 src\templates\sub\server.phtml:17
#: src\templates\statistics.phtml:68
#: src\templates\sub\server.phtml:17
msgid "Develop Version"
msgstr "Desenvolupar la versió"
@ -166,15 +178,15 @@ msgstr "Desenvolupar la versió"
msgid "Outdated Version"
msgstr "Versió obsoleta"
#: src\templates\sub\server.phtml:55
#: src\templates\sub\server.phtml:69
msgid "Admin"
msgstr "Administrador"
#: src\templates\sub\server.phtml:62
#: src\templates\sub\server.phtml:76
msgid "No description provided"
msgstr "No es proporciona cap descripció"
#: src\templates\sub\server.phtml:65
#: src\templates\sub\server.phtml:79
msgid "Visit Server"
msgstr "Visita servidor"
@ -182,7 +194,7 @@ msgstr "Visita servidor"
msgid "Popular Countries"
msgstr "Països populars"
#: src\templates\widget\popularlanguages.phtml:2
#: src\templates\widget\popularprofilelanguages.phtml:2
msgid "Popular Languages"
msgstr "Idiomes populars"
@ -190,7 +202,8 @@ msgstr "Idiomes populars"
msgid "Popular Tags"
msgstr "Etiquetes populars"
#: src\templates\sub\server.phtml:44 src\templates\sub\server.phtml:45
#: src\templates\sub\server.phtml:44
#: src\templates\sub\server.phtml:45
msgid "Default Language"
msgstr "Idioma per defecte"
@ -210,13 +223,6 @@ msgid_plural "People (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "Forum (%d)"
msgid_plural "Forums (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\templates\layout.phtml:97
msgid "Stats"
msgstr "Estadístiques"
@ -230,39 +236,29 @@ msgid "Profiles"
msgstr "perfil"
#: src\templates\statistics.phtml:6
msgid ""
"This directory knows about <strong>%s distinct potential profile "
"URLs</strong>."
msgid "This directory knows about <strong>%s distinct potential profile URLs</strong>."
msgstr "Aquest directori en sap <strong>%s URL de perfil diferents</strong>."
#: src\templates\statistics.phtml:16 src\templates\statistics.phtml:46
#: src\templates\statistics.phtml:16
#: src\templates\statistics.phtml:46
msgid "Languages"
msgstr "Idiomes"
#: src\templates\statistics.phtml:17
msgid ""
"Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr ""
"Fora de<strong>%s</strong> Els perfils que informen el seu idioma hi ha:"
msgid "Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr "Fora de<strong>%s</strong> Els perfils que informen el seu idioma hi ha:"
#: src\templates\statistics.phtml:27
msgid "Servers"
msgstr "Servidors"
#: src\templates\statistics.phtml:28
msgid ""
"This directory knows about <strong>%s distinct potential server "
"URLs</strong>."
msgstr ""
"Aquest directori en sap <strong>%s URL de servidor diferents</strong>."
msgid "This directory knows about <strong>%s distinct potential server URLs</strong>."
msgstr "Aquest directori en sap <strong>%s URL de servidor diferents</strong>."
#: src\templates\statistics.phtml:29
msgid ""
"Out of those, there are <strong>%s domains (%s)</strong> that have been a "
"Friendica server at least once."
msgstr ""
"Daquests, nhi ha <strong>%s dominis (%s)</strong> que han estat un "
"servidor Friendica com a mínim una vegada."
msgid "Out of those, there are <strong>%s domains (%s)</strong> that have been a Friendica server at least once."
msgstr "Daquests, nhi ha <strong>%s dominis (%s)</strong> que han estat un servidor Friendica com a mínim una vegada."
#: src\templates\statistics.phtml:33
msgid "Out of those, there are:"
@ -270,8 +266,7 @@ msgstr "D'aquests, hi ha:"
#: src\templates\statistics.phtml:47
msgid "Out of <strong>%s</strong> servers reporting their language there are:"
msgstr ""
"Fora de <strong>%s</strong> hi ha servidors que informen del seu idioma:"
msgstr "Fora de <strong>%s</strong> hi ha servidors que informen del seu idioma:"
#: src\templates\statistics.phtml:57
msgid "Versions"
@ -279,16 +274,11 @@ msgstr "Versions"
#: src\templates\statistics.phtml:58
msgid "Out of <strong>%s</strong> servers reporting their version there are:"
msgstr ""
"Fora de<strong>%s</strong> Hi ha servidors que informen de la seva versió:"
msgstr "Fora de<strong>%s</strong> Hi ha servidors que informen de la seva versió:"
#: src\templates\statistics.phtml:7
msgid ""
"Out of those, there are <strong>%s profiles (%s)</strong> that opted in the "
"public directory at least once."
msgstr ""
"Daquests, nhi ha <strong>%s perfil (%s)</strong> que va optar al directori"
" públic almenys una vegada."
msgid "Out of those, there are <strong>%s profiles (%s)</strong> that opted in the public directory at least once."
msgstr "Daquests, nhi ha <strong>%s perfil (%s)</strong> que va optar al directori públic almenys una vegada."
#: src\templates\statistics.phtml:35
msgid "<strong>%s available servers (%s)</strong>"
@ -298,18 +288,70 @@ msgstr "<strong>%s servidors disponibles (%s)</strong>"
msgid "Friendica Directory version %s"
msgstr "Versió del directori Friendica"
#: src\templates\layout.phtml:94
msgid "Source Code on GitHub"
msgstr "Codi font a GitHub"
#: src\templates\statistics.phtml:11
msgid ""
"Out of those, there currently are <strong>%s available profiles "
"(%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgid "Out of those, there currently are <strong>%s available profiles (%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr ""
#: src\templates\statistics.phtml:39
msgid ""
"<strong>%s public servers (%s)</strong> currently open for registration. <a "
"href=\"%s\">Check them out!</a>"
msgid "<strong>%s public servers (%s)</strong> currently open for registration. <a href=\"%s\">Check them out!</a>"
msgstr ""
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "News (%d)"
msgid_plural "News (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:58
msgctxt "account-type"
msgid "Organization (%d)"
msgid_plural "Organizations (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:61
msgctxt "account-type"
msgid "Group (%d)"
msgid_plural "Groups (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\templates\servers.phtml:3
msgid "Filtered by language:"
msgstr ""
#: src\templates\servers.phtml:3
msgid "Clear language filter"
msgstr ""
#: src\templates\sub\server.phtml:40
msgid "Health Score"
msgstr ""
#: src\templates\sub\server.phtml:52
msgid "%s User"
msgid_plural "%s Users"
msgstr[0] ""
msgstr[1] ""
#: src\templates\sub\server.phtml:54
msgid "None"
msgstr ""
#: src\templates\sub\server.phtml:58
#: src\templates\sub\server.phtml:62
msgid "Registration Policy"
msgstr ""
#: src\templates\sub\server.phtml:59
msgid "By Approval"
msgstr ""
#: src\templates\sub\server.phtml:63
msgid "Open"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on Friendica's Forgejo"
msgstr ""

View file

@ -1,27 +1,25 @@
#
# Translators:
# Aditoo, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Last-Translator: Aditoo, 2019\n"
"Language-Team: Czech (https://www.transifex.com/Friendica/teams/12172/cs/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Language: cs\n"
"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
"X-Generator: Poedit 2.2\n"
#: src\classes\Content\Pager.php:168 src\classes\Content\Pager.php:216
#: src\classes\Content\Pager.php:168
#: src\classes\Content\Pager.php:216
msgid "Previous"
msgstr "Předchozí"
#: src\classes\Content\Pager.php:173 src\classes\Content\Pager.php:273
#: src\classes\Content\Pager.php:173
#: src\classes\Content\Pager.php:273
msgid "Next"
msgstr "Další"
@ -33,51 +31,57 @@ msgstr "První"
msgid "Last"
msgstr "Poslední"
#: src\classes\Controllers\Web\Directory.php:73
#: src\classes\Controllers\Web\Directory.php:85
msgid "People"
msgstr "Lidé"
#: src\classes\Controllers\Web\Search.php:64
#: src\classes\Controllers\Web\Search.php:72
msgctxt "field"
msgid "Language"
msgstr "Jazyk"
#: src\classes\Controllers\Web\Search.php:65
#: src\classes\Controllers\Web\Search.php:73
msgctxt "field"
msgid "Locality"
msgstr "Poloha"
#: src\classes\Controllers\Web\Search.php:66
#: src\classes\Controllers\Web\Search.php:74
msgctxt "field"
msgid "Region"
msgstr "Region/kraj"
#: src\classes\Controllers\Web\Search.php:67
#: src\classes\Controllers\Web\Search.php:75
msgctxt "field"
msgid "Country"
msgstr "Země"
#: src\classes\Controllers\Web\Servers.php:90
#: src\classes\Controllers\Web\Servers.php:105
msgid "Public Servers"
msgstr "Veřejné servery"
#: src\templates\layout.phtml:4 src\templates\layout.phtml:18
#: src\templates\layout.phtml:4
#: src\templates\layout.phtml:18
msgid "Friendica Directory"
msgstr "Adresář Friendica"
#: src\templates\layout.phtml:23 src\templates\layout.phtml:25
#: src\templates\layout.phtml:43 src\templates\layout.phtml:45
#: src\templates\search.phtml:4 src\templates\search.phtml:12
#: src\templates\layout.phtml:23
#: src\templates\layout.phtml:25
#: src\templates\layout.phtml:43
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:4
#: src\templates\search.phtml:12
msgid "Search terms"
msgstr "Termíny vyhledávání"
#: src\templates\layout.phtml:24 src\templates\layout.phtml:45
#: src\templates\layout.phtml:24
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:11
msgctxt "noun"
msgid "Search"
msgstr "Hledání"
#: src\templates\layout.phtml:27 src\templates\layout.phtml:47
#: src\templates\layout.phtml:27
#: src\templates\layout.phtml:47
#: src\templates\search.phtml:14
msgctxt "verb"
msgid "Search"
@ -103,11 +107,11 @@ msgstr[1] "%d výsledky pro „%s“"
msgstr[2] "%d výsledku pro „%s“"
msgstr[3] "%d výsledků pro „%s“"
#: src\templates\servers.phtml:2
#: src\templates\servers.phtml:7
msgid "Top servers pagination"
msgstr "Horní stránkování serverů"
#: src\templates\servers.phtml:12
#: src\templates\servers.phtml:17
msgid "Bottom servers pagination"
msgstr "Spodní stránkování serverů"
@ -124,23 +128,27 @@ msgid "Filter by country"
msgstr "Filtrovat dle země"
#: src\templates\sub\profile.phtml:31
#: src\templates\sub\profile.phtml:35
#: src\templates\sub\profile.phtml:39
msgctxt "verb"
msgid "Follow"
msgstr "Sledovat"
#: src\templates\layout.phtml:65 src\templates\sub\profile.phtml:47
#: src\templates\layout.phtml:65
#: src\templates\sub\profile.phtml:57
msgid "Language"
msgstr "Jazyk"
#: src\templates\sub\profile.phtml:50
#: src\templates\sub\profile.phtml:60
#: src\templates\widget\popularserverlanguages.phtml:2
msgid "Filter by language"
msgstr "Filtrovat dle jazyka"
#: src\templates\sub\profile.phtml:56
#: src\templates\sub\profile.phtml:66
msgid "Location"
msgstr "Poloha"
#: src\templates\sub\profile.phtml:69
#: src\templates\sub\profile.phtml:79
msgid "Search Tag"
msgstr "Hledat podle štítku"
@ -148,19 +156,23 @@ msgstr "Hledat podle štítku"
msgid "Account type tabs"
msgstr "Záložky typů účtů"
#: src\templates\sub\profiles.phtml:4 src\templates\sub\profiles.phtml:7
#: src\templates\sub\profiles.phtml:4
#: src\templates\sub\profiles.phtml:7
msgid "Top %s pagination"
msgstr "Horní stránkování %s"
#: src\templates\sub\profiles.phtml:13 src\templates\sub\profiles.phtml:16
#: src\templates\sub\profiles.phtml:13
#: src\templates\sub\profiles.phtml:16
msgid "Bottom %s pagination"
msgstr "Spodní stránkování %s"
#: src\templates\statistics.phtml:66 src\templates\sub\server.phtml:15
#: src\templates\statistics.phtml:66
#: src\templates\sub\server.phtml:15
msgid "Stable Version"
msgstr "Stabilní verze"
#: src\templates\statistics.phtml:68 src\templates\sub\server.phtml:17
#: src\templates\statistics.phtml:68
#: src\templates\sub\server.phtml:17
msgid "Develop Version"
msgstr "Vývojová verze"
@ -168,15 +180,15 @@ msgstr "Vývojová verze"
msgid "Outdated Version"
msgstr "Neaktuální verze"
#: src\templates\sub\server.phtml:55
#: src\templates\sub\server.phtml:69
msgid "Admin"
msgstr "Administrátor"
#: src\templates\sub\server.phtml:62
#: src\templates\sub\server.phtml:76
msgid "No description provided"
msgstr "Není zadán žádný popis"
#: src\templates\sub\server.phtml:65
#: src\templates\sub\server.phtml:79
msgid "Visit Server"
msgstr "Navštívit server"
@ -184,7 +196,7 @@ msgstr "Navštívit server"
msgid "Popular Countries"
msgstr "Populární země"
#: src\templates\widget\popularlanguages.phtml:2
#: src\templates\widget\popularprofilelanguages.phtml:2
msgid "Popular Languages"
msgstr "Populární jazyky"
@ -192,7 +204,8 @@ msgstr "Populární jazyky"
msgid "Popular Tags"
msgstr "Populární štítky"
#: src\templates\sub\server.phtml:44 src\templates\sub\server.phtml:45
#: src\templates\sub\server.phtml:44
#: src\templates\sub\server.phtml:45
msgid "Default Language"
msgstr "Výchozí jazyk"
@ -214,15 +227,6 @@ msgstr[1] "Lidé (%d)"
msgstr[2] "Lidé (%d)"
msgstr[3] "Lidé (%d)"
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "Forum (%d)"
msgid_plural "Forums (%d)"
msgstr[0] "Fóra (%d)"
msgstr[1] "Fóra (%d)"
msgstr[2] "Fóra (%d)"
msgstr[3] "Fóra (%d)"
#: src\templates\layout.phtml:97
msgid "Stats"
msgstr "Statistika"
@ -236,20 +240,16 @@ msgid "Profiles"
msgstr "Profily"
#: src\templates\statistics.phtml:6
msgid ""
"This directory knows about <strong>%s distinct potential profile "
"URLs</strong>."
msgstr ""
"Tento adresář ví o <strong>%s zřetelných potenciálních profilových URL "
"adresách</strong>."
msgid "This directory knows about <strong>%s distinct potential profile URLs</strong>."
msgstr "Tento adresář ví o <strong>%s zřetelných potenciálních profilových URL adresách</strong>."
#: src\templates\statistics.phtml:16 src\templates\statistics.phtml:46
#: src\templates\statistics.phtml:16
#: src\templates\statistics.phtml:46
msgid "Languages"
msgstr "Jazyky"
#: src\templates\statistics.phtml:17
msgid ""
"Out of <strong>%s</strong> profiles reporting their language there are:"
msgid "Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr "Ze všech <strong>%s</strong> profilů hlásících svůj jazyk je tu:"
#: src\templates\statistics.phtml:27
@ -257,20 +257,12 @@ msgid "Servers"
msgstr "Servery"
#: src\templates\statistics.phtml:28
msgid ""
"This directory knows about <strong>%s distinct potential server "
"URLs</strong>."
msgstr ""
"Tento adresář ví o <strong>%s zřetelných potenciálních serverových URL "
"adresách</strong>."
msgid "This directory knows about <strong>%s distinct potential server URLs</strong>."
msgstr "Tento adresář ví o <strong>%s zřetelných potenciálních serverových URL adresách</strong>."
#: src\templates\statistics.phtml:29
msgid ""
"Out of those, there are <strong>%s domains (%s)</strong> that have been a "
"Friendica server at least once."
msgstr ""
"Z těch je tu <strong>%s domén (%s)</strong>, které byly alespoň jednou "
"serverem Friendica."
msgid "Out of those, there are <strong>%s domains (%s)</strong> that have been a Friendica server at least once."
msgstr "Z těch je tu <strong>%s domén (%s)</strong>, které byly alespoň jednou serverem Friendica."
#: src\templates\statistics.phtml:33
msgid "Out of those, there are:"
@ -289,12 +281,8 @@ msgid "Out of <strong>%s</strong> servers reporting their version there are:"
msgstr "Ze všech <strong>%s</strong> serverů hlásících svou verzi je tu:"
#: src\templates\statistics.phtml:7
msgid ""
"Out of those, there are <strong>%s profiles (%s)</strong> that opted in the "
"public directory at least once."
msgstr ""
"Z těch je tu <strong>%s profilů (%s)</strong>, které byly alespoň jednou "
"publikovány ve veřejném adresáři."
msgid "Out of those, there are <strong>%s profiles (%s)</strong> that opted in the public directory at least once."
msgstr "Z těch je tu <strong>%s profilů (%s)</strong>, které byly alespoň jednou publikovány ve veřejném adresáři."
#: src\templates\statistics.phtml:35
msgid "<strong>%s available servers (%s)</strong>"
@ -304,18 +292,78 @@ msgstr "<strong>%s dostupných serverů (%s)</strong>"
msgid "Friendica Directory version %s"
msgstr "Adresář Friendica, verze %s"
#: src\templates\layout.phtml:94
msgid "Source Code on GitHub"
msgstr "Zdrojový kód na GitHubu"
#: src\templates\statistics.phtml:11
msgid ""
"Out of those, there currently are <strong>%s available profiles "
"(%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgid "Out of those, there currently are <strong>%s available profiles (%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr ""
#: src\templates\statistics.phtml:39
msgid ""
"<strong>%s public servers (%s)</strong> currently open for registration. <a "
"href=\"%s\">Check them out!</a>"
msgid "<strong>%s public servers (%s)</strong> currently open for registration. <a href=\"%s\">Check them out!</a>"
msgstr ""
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "News (%d)"
msgid_plural "News (%d)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:58
msgctxt "account-type"
msgid "Organization (%d)"
msgid_plural "Organizations (%d)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:61
msgctxt "account-type"
msgid "Group (%d)"
msgid_plural "Groups (%d)"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: src\templates\servers.phtml:3
msgid "Filtered by language:"
msgstr ""
#: src\templates\servers.phtml:3
msgid "Clear language filter"
msgstr ""
#: src\templates\sub\server.phtml:40
msgid "Health Score"
msgstr ""
#: src\templates\sub\server.phtml:52
msgid "%s User"
msgid_plural "%s Users"
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[3] ""
#: src\templates\sub\server.phtml:54
msgid "None"
msgstr ""
#: src\templates\sub\server.phtml:58
#: src\templates\sub\server.phtml:62
msgid "Registration Policy"
msgstr ""
#: src\templates\sub\server.phtml:59
msgid "By Approval"
msgstr ""
#: src\templates\sub\server.phtml:63
msgid "Open"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on Friendica's Forgejo"
msgstr ""

Binary file not shown.

View file

@ -0,0 +1,357 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Anton <dev@atjn.dk>, 2022\n"
"Language-Team: Danish (Denmark) (https://www.transifex.com/Friendica/teams/12172/da_DK/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Language: da_DK\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2\n"
#: src\classes\Content\Pager.php:168
#: src\classes\Content\Pager.php:216
msgid "Previous"
msgstr "Forrige"
#: src\classes\Content\Pager.php:173
#: src\classes\Content\Pager.php:273
msgid "Next"
msgstr "Næste"
#: src\classes\Content\Pager.php:211
msgid "First"
msgstr "Første"
#: src\classes\Content\Pager.php:278
msgid "Last"
msgstr "Sidste"
#: src\classes\Controllers\Web\Directory.php:85
msgid "People"
msgstr "Mennesker"
#: src\classes\Controllers\Web\Search.php:72
msgctxt "field"
msgid "Language"
msgstr "Sprog"
#: src\classes\Controllers\Web\Search.php:73
msgctxt "field"
msgid "Locality"
msgstr "Lokalitet"
#: src\classes\Controllers\Web\Search.php:74
msgctxt "field"
msgid "Region"
msgstr "Region"
#: src\classes\Controllers\Web\Search.php:75
msgctxt "field"
msgid "Country"
msgstr "Land"
#: src\classes\Controllers\Web\Servers.php:105
msgid "Public Servers"
msgstr "Offentlige servere"
#: src\templates\layout.phtml:4
#: src\templates\layout.phtml:18
msgid "Friendica Directory"
msgstr "Friendica adressebog"
#: src\templates\layout.phtml:23
#: src\templates\layout.phtml:25
#: src\templates\layout.phtml:43
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:4
#: src\templates\search.phtml:12
msgid "Search terms"
msgstr "Søgetermer"
#: src\templates\layout.phtml:24
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:11
msgctxt "noun"
msgid "Search"
msgstr "Søg"
#: src\templates\layout.phtml:27
#: src\templates\layout.phtml:47
#: src\templates\search.phtml:14
msgctxt "verb"
msgid "Search"
msgstr "Søg"
#: src\templates\layout.phtml:33
msgid "Toggle navigation"
msgstr "Skift navigation"
#: src\templates\layout.phtml:55
msgid "Directory"
msgstr "Adressebog"
#: src\templates\layout.phtml:60
msgid "Public servers"
msgstr "Offentlige servere"
#: src\templates\search.phtml:19
msgid "%d result for \"%s\""
msgid_plural "%d results for \"%s\""
msgstr[0] "%d resultat for \"%s\""
msgstr[1] "%d resultater for \"%s\""
#: src\templates\servers.phtml:7
msgid "Top servers pagination"
msgstr "Top servere sideopdeling"
#: src\templates\servers.phtml:17
msgid "Bottom servers pagination"
msgstr "Bundservere sideopdeling"
#: src\templates\sub\profile.phtml:5
msgid "Filter by locality"
msgstr "Filtrer efter lokalitet"
#: src\templates\sub\profile.phtml:11
msgid "Filter by region"
msgstr "Filtrer efter region"
#: src\templates\sub\profile.phtml:17
msgid "Filter by country"
msgstr "Filtrer efter land"
#: src\templates\sub\profile.phtml:31
#: src\templates\sub\profile.phtml:35
#: src\templates\sub\profile.phtml:39
msgctxt "verb"
msgid "Follow"
msgstr "Følg"
#: src\templates\layout.phtml:65
#: src\templates\sub\profile.phtml:57
msgid "Language"
msgstr "Sprog"
#: src\templates\sub\profile.phtml:60
#: src\templates\widget\popularserverlanguages.phtml:2
msgid "Filter by language"
msgstr "Filtrer efter sprog"
#: src\templates\sub\profile.phtml:66
msgid "Location"
msgstr "Placering"
#: src\templates\sub\profile.phtml:79
msgid "Search Tag"
msgstr "Søgetag"
#: src\templates\sub\profiles.phtml:1
msgid "Account type tabs"
msgstr "Kontotypefaner"
#: src\templates\sub\profiles.phtml:4
#: src\templates\sub\profiles.phtml:7
msgid "Top %s pagination"
msgstr "Top %s sideopdeling"
#: src\templates\sub\profiles.phtml:13
#: src\templates\sub\profiles.phtml:16
msgid "Bottom %s pagination"
msgstr "Bund %s sideopdeling"
#: src\templates\statistics.phtml:66
#: src\templates\sub\server.phtml:15
msgid "Stable Version"
msgstr "Stabil version"
#: src\templates\statistics.phtml:68
#: src\templates\sub\server.phtml:17
msgid "Develop Version"
msgstr "Udviklingsversion"
#: src\templates\sub\server.phtml:19
msgid "Outdated Version"
msgstr "Forældet version"
#: src\templates\sub\server.phtml:69
msgid "Admin"
msgstr "Admin"
#: src\templates\sub\server.phtml:76
msgid "No description provided"
msgstr "Ingen beskrivelse givet"
#: src\templates\sub\server.phtml:79
msgid "Visit Server"
msgstr "Besøg server"
#: src\templates\widget\popularcountries.phtml:2
msgid "Popular Countries"
msgstr "Populære lande"
#: src\templates\widget\popularprofilelanguages.phtml:2
msgid "Popular Languages"
msgstr "Populære sprog"
#: src\templates\widget\populartags.phtml:2
msgid "Popular Tags"
msgstr "Populære tags"
#: src\templates\sub\server.phtml:44
#: src\templates\sub\server.phtml:45
msgid "Default Language"
msgstr "Standard sprog"
#: src\templates\sub\server.phtml:49
msgid "Known Users"
msgstr "Kendte brugere"
#: src\classes\Views\Widget\AccountTypeTabs.php:48
msgctxt "account-type"
msgid "All"
msgstr "Alle"
#: src\classes\Views\Widget\AccountTypeTabs.php:56
msgctxt "account-type"
msgid "People (%d)"
msgid_plural "People (%d)"
msgstr[0] "Mennesker (%d)"
msgstr[1] "Mennesker (%d)"
#: src\templates\layout.phtml:97
msgid "Stats"
msgstr "Statistik"
#: src\templates\statistics.phtml:4
msgid "Directory statistics"
msgstr "Adressebog statistik"
#: src\templates\statistics.phtml:5
msgid "Profiles"
msgstr "Profiler"
#: src\templates\statistics.phtml:6
msgid "This directory knows about <strong>%s distinct potential profile URLs</strong>."
msgstr "Denne adressebog kender til <strong>%s særskilte potentielle profil-URL'er</strong>."
#: src\templates\statistics.phtml:16
#: src\templates\statistics.phtml:46
msgid "Languages"
msgstr "Sprog"
#: src\templates\statistics.phtml:17
msgid "Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr "Ud af <strong>%s</strong> profiler som rapporterer deres sprog, er der:"
#: src\templates\statistics.phtml:27
msgid "Servers"
msgstr "Servere"
#: src\templates\statistics.phtml:28
msgid "This directory knows about <strong>%s distinct potential server URLs</strong>."
msgstr "Denne adressebog kender til <strong>%s særskilte potentielle server-URL'er</strong>."
#: src\templates\statistics.phtml:29
msgid "Out of those, there are <strong>%s domains (%s)</strong> that have been a Friendica server at least once."
msgstr "Ud af dem er der <strong>%s domæner (%s)</strong> som har været en Friendica server mindst én gang."
#: src\templates\statistics.phtml:33
msgid "Out of those, there are:"
msgstr "Ud af dem er der:"
#: src\templates\statistics.phtml:47
msgid "Out of <strong>%s</strong> servers reporting their language there are:"
msgstr "Ud af <strong>%s</strong> servere som rapporterer deres sprog, er der:"
#: src\templates\statistics.phtml:57
msgid "Versions"
msgstr "Versioner"
#: src\templates\statistics.phtml:58
msgid "Out of <strong>%s</strong> servers reporting their version there are:"
msgstr "Ud af <strong>%s</strong> servere som rapporterer deres version, er der:"
#: src\templates\statistics.phtml:7
msgid "Out of those, there are <strong>%s profiles (%s)</strong> that opted in the public directory at least once."
msgstr "Ud af dem er der <strong>%s profiler (%s)</strong> som tilvalgte den offentlige adressebog mindst én gang."
#: src\templates\statistics.phtml:35
msgid "<strong>%s available servers (%s)</strong>"
msgstr "<strong>%s tilgængelige servere (%s)</strong>"
#: src\templates\layout.phtml:91
msgid "Friendica Directory version %s"
msgstr "Friendica adressebogsversion %s"
#: src\templates\statistics.phtml:11
msgid "Out of those, there currently are <strong>%s available profiles (%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr "Ud af dem er der i øjeblikket <strong>%s tilgængelige profiler (%s)</strong>. <a href=\"%s\">Tjek dem ud!</a>"
#: src\templates\statistics.phtml:39
msgid "<strong>%s public servers (%s)</strong> currently open for registration. <a href=\"%s\">Check them out!</a>"
msgstr "<strong>%s offentlige servere (%s)</strong> åben for registrering lige nu. <a href=\"%s\">Tjek dem ud!</a>"
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "News (%d)"
msgid_plural "News (%d)"
msgstr[0] "Nyheder (%d)"
msgstr[1] "Nyheder (%d)"
#: src\classes\Views\Widget\AccountTypeTabs.php:58
msgctxt "account-type"
msgid "Organization (%d)"
msgid_plural "Organizations (%d)"
msgstr[0] "Organisationer (%d)"
msgstr[1] "Organisationer (%d)"
#: src\templates\sub\server.phtml:40
msgid "Health Score"
msgstr "Sundhedsscore"
#: src\templates\sub\server.phtml:52
msgid "%s User"
msgid_plural "%s Users"
msgstr[0] "%s bruger"
msgstr[1] "%s brugere"
#: src\templates\sub\server.phtml:54
msgid "None"
msgstr "Ingen"
#: src\templates\sub\server.phtml:58
#: src\templates\sub\server.phtml:62
msgid "Registration Policy"
msgstr "Registreringspolitik"
#: src\templates\sub\server.phtml:59
msgid "By Approval"
msgstr "Ved godkendelse"
#: src\templates\sub\server.phtml:63
msgid "Open"
msgstr "Åben"
#: src\classes\Views\Widget\AccountTypeTabs.php:61
msgctxt "account-type"
msgid "Group (%d)"
msgid_plural "Groups (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\templates\servers.phtml:3
msgid "Filtered by language:"
msgstr ""
#: src\templates\servers.phtml:3
msgid "Clear language filter"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on Friendica's Forgejo"
msgstr ""

View file

@ -1,29 +1,25 @@
#
# Translators:
# Andreas H., 2018
# Ulf Rompe <transifex.com@rompe.org>, 2019
# Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Last-Translator: Tobias Diekershoff <tobias.diekershoff@gmx.net>, 2020\n"
"Language-Team: German (https://www.transifex.com/Friendica/teams/12172/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2\n"
#: src\classes\Content\Pager.php:168 src\classes\Content\Pager.php:216
#: src\classes\Content\Pager.php:168
#: src\classes\Content\Pager.php:216
msgid "Previous"
msgstr "Vorherige"
#: src\classes\Content\Pager.php:173 src\classes\Content\Pager.php:273
#: src\classes\Content\Pager.php:173
#: src\classes\Content\Pager.php:273
msgid "Next"
msgstr "Nächste"
@ -35,51 +31,57 @@ msgstr "Erste"
msgid "Last"
msgstr "Letzte"
#: src\classes\Controllers\Web\Directory.php:73
#: src\classes\Controllers\Web\Directory.php:85
msgid "People"
msgstr "Leute"
#: src\classes\Controllers\Web\Search.php:64
#: src\classes\Controllers\Web\Search.php:72
msgctxt "field"
msgid "Language"
msgstr "Sprache"
#: src\classes\Controllers\Web\Search.php:65
#: src\classes\Controllers\Web\Search.php:73
msgctxt "field"
msgid "Locality"
msgstr "Wohnort"
#: src\classes\Controllers\Web\Search.php:66
#: src\classes\Controllers\Web\Search.php:74
msgctxt "field"
msgid "Region"
msgstr "Region"
#: src\classes\Controllers\Web\Search.php:67
#: src\classes\Controllers\Web\Search.php:75
msgctxt "field"
msgid "Country"
msgstr "Land"
#: src\classes\Controllers\Web\Servers.php:90
#: src\classes\Controllers\Web\Servers.php:105
msgid "Public Servers"
msgstr "Öffentlicher Server"
#: src\templates\layout.phtml:4 src\templates\layout.phtml:18
#: src\templates\layout.phtml:4
#: src\templates\layout.phtml:18
msgid "Friendica Directory"
msgstr "Friendica Verzeichnis"
#: src\templates\layout.phtml:23 src\templates\layout.phtml:25
#: src\templates\layout.phtml:43 src\templates\layout.phtml:45
#: src\templates\search.phtml:4 src\templates\search.phtml:12
#: src\templates\layout.phtml:23
#: src\templates\layout.phtml:25
#: src\templates\layout.phtml:43
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:4
#: src\templates\search.phtml:12
msgid "Search terms"
msgstr "Suchbegriff"
#: src\templates\layout.phtml:24 src\templates\layout.phtml:45
#: src\templates\layout.phtml:24
#: src\templates\layout.phtml:45
#: src\templates\search.phtml:11
msgctxt "noun"
msgid "Search"
msgstr "Suche"
#: src\templates\layout.phtml:27 src\templates\layout.phtml:47
#: src\templates\layout.phtml:27
#: src\templates\layout.phtml:47
#: src\templates\search.phtml:14
msgctxt "verb"
msgid "Search"
@ -103,11 +105,11 @@ msgid_plural "%d results for \"%s\""
msgstr[0] "%d Ergebnisse für \"%s\""
msgstr[1] "%d Ergebnisse für \"%s\""
#: src\templates\servers.phtml:2
#: src\templates\servers.phtml:7
msgid "Top servers pagination"
msgstr "Höchste Serverwertung"
#: src\templates\servers.phtml:12
#: src\templates\servers.phtml:17
msgid "Bottom servers pagination"
msgstr "Niedrigste Serverwertung"
@ -124,23 +126,27 @@ msgid "Filter by country"
msgstr "Filter nach Land"
#: src\templates\sub\profile.phtml:31
#: src\templates\sub\profile.phtml:35
#: src\templates\sub\profile.phtml:39
msgctxt "verb"
msgid "Follow"
msgstr "Folge"
#: src\templates\layout.phtml:65 src\templates\sub\profile.phtml:47
#: src\templates\layout.phtml:65
#: src\templates\sub\profile.phtml:57
msgid "Language"
msgstr "Sprache"
#: src\templates\sub\profile.phtml:50
#: src\templates\sub\profile.phtml:60
#: src\templates\widget\popularserverlanguages.phtml:2
msgid "Filter by language"
msgstr "Filter nach Sprache"
#: src\templates\sub\profile.phtml:56
#: src\templates\sub\profile.phtml:66
msgid "Location"
msgstr "Ort"
#: src\templates\sub\profile.phtml:69
#: src\templates\sub\profile.phtml:79
msgid "Search Tag"
msgstr "Suchbegriff"
@ -148,19 +154,23 @@ msgstr "Suchbegriff"
msgid "Account type tabs"
msgstr "Konto-Typ Register"
#: src\templates\sub\profiles.phtml:4 src\templates\sub\profiles.phtml:7
#: src\templates\sub\profiles.phtml:4
#: src\templates\sub\profiles.phtml:7
msgid "Top %s pagination"
msgstr "Top %s pagination"
#: src\templates\sub\profiles.phtml:13 src\templates\sub\profiles.phtml:16
#: src\templates\sub\profiles.phtml:13
#: src\templates\sub\profiles.phtml:16
msgid "Bottom %s pagination"
msgstr "Bottom %s pagination"
#: src\templates\statistics.phtml:66 src\templates\sub\server.phtml:15
#: src\templates\statistics.phtml:66
#: src\templates\sub\server.phtml:15
msgid "Stable Version"
msgstr "Stabile Version"
#: src\templates\statistics.phtml:68 src\templates\sub\server.phtml:17
#: src\templates\statistics.phtml:68
#: src\templates\sub\server.phtml:17
msgid "Develop Version"
msgstr "Entwickler Version"
@ -168,15 +178,15 @@ msgstr "Entwickler Version"
msgid "Outdated Version"
msgstr "Abgelaufene Version"
#: src\templates\sub\server.phtml:55
#: src\templates\sub\server.phtml:69
msgid "Admin"
msgstr "Admin"
#: src\templates\sub\server.phtml:62
#: src\templates\sub\server.phtml:76
msgid "No description provided"
msgstr "Keine Beschreibung angeboten"
#: src\templates\sub\server.phtml:65
#: src\templates\sub\server.phtml:79
msgid "Visit Server"
msgstr "Besuche den Server"
@ -184,7 +194,7 @@ msgstr "Besuche den Server"
msgid "Popular Countries"
msgstr "Häufige Länder"
#: src\templates\widget\popularlanguages.phtml:2
#: src\templates\widget\popularprofilelanguages.phtml:2
msgid "Popular Languages"
msgstr "Häufige Sprachen"
@ -192,7 +202,8 @@ msgstr "Häufige Sprachen"
msgid "Popular Tags"
msgstr "Beliebte Tags"
#: src\templates\sub\server.phtml:44 src\templates\sub\server.phtml:45
#: src\templates\sub\server.phtml:44
#: src\templates\sub\server.phtml:45
msgid "Default Language"
msgstr "Standard Sprache"
@ -212,13 +223,6 @@ msgid_plural "People (%d)"
msgstr[0] "Personen (%d)"
msgstr[1] "Personen (%d)"
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "Forum (%d)"
msgid_plural "Forums (%d)"
msgstr[0] "Foren (%d)"
msgstr[1] "Foren (%d)"
#: src\templates\layout.phtml:97
msgid "Stats"
msgstr "Statistik"
@ -232,20 +236,16 @@ msgid "Profiles"
msgstr "Profile"
#: src\templates\statistics.phtml:6
msgid ""
"This directory knows about <strong>%s distinct potential profile "
"URLs</strong>."
msgstr ""
"Dieses Verzeichnis kennt <strong>%s unterschiedliche, potentielle Profil "
"URLs</strong>"
msgid "This directory knows about <strong>%s distinct potential profile URLs</strong>."
msgstr "Dieses Verzeichnis kennt <strong>%s unterschiedliche, potentielle Profil URLs</strong>"
#: src\templates\statistics.phtml:16 src\templates\statistics.phtml:46
#: src\templates\statistics.phtml:16
#: src\templates\statistics.phtml:46
msgid "Languages"
msgstr "Sprachen"
#: src\templates\statistics.phtml:17
msgid ""
"Out of <strong>%s</strong> profiles reporting their language there are:"
msgid "Out of <strong>%s</strong> profiles reporting their language there are:"
msgstr "Von den <strong>%s</strong> Profilen, die ihre Sprache angeben, sind:"
#: src\templates\statistics.phtml:27
@ -253,20 +253,12 @@ msgid "Servers"
msgstr "Server"
#: src\templates\statistics.phtml:28
msgid ""
"This directory knows about <strong>%s distinct potential server "
"URLs</strong>."
msgstr ""
"Dieses Verzeichnis kennt <strong>%s unterschiedliche, potentielle Server "
"URLs</strong>"
msgid "This directory knows about <strong>%s distinct potential server URLs</strong>."
msgstr "Dieses Verzeichnis kennt <strong>%s unterschiedliche, potentielle Server URLs</strong>"
#: src\templates\statistics.phtml:29
msgid ""
"Out of those, there are <strong>%s domains (%s)</strong> that have been a "
"Friendica server at least once."
msgstr ""
"Von diesen gibt es <strong>%sDomänen(%s)</strong>, die zumindest einmal "
"Friendica Knoten gewesen sind."
msgid "Out of those, there are <strong>%s domains (%s)</strong> that have been a Friendica server at least once."
msgstr "Von diesen gibt es <strong>%sDomänen(%s)</strong>, die zumindest einmal Friendica Knoten gewesen sind."
#: src\templates\statistics.phtml:33
msgid "Out of those, there are:"
@ -274,9 +266,7 @@ msgstr "Von diesen sind:"
#: src\templates\statistics.phtml:47
msgid "Out of <strong>%s</strong> servers reporting their language there are:"
msgstr ""
"Von den <strong>%s</strong> Servern, die ihre Spracheinstellung angeben, "
"sind:"
msgstr "Von den <strong>%s</strong> Servern, die ihre Spracheinstellung angeben, sind:"
#: src\templates\statistics.phtml:57
msgid "Versions"
@ -287,12 +277,8 @@ msgid "Out of <strong>%s</strong> servers reporting their version there are:"
msgstr "Von den <strong>%s</strong> Servern, die ihre Version angeben, sind:"
#: src\templates\statistics.phtml:7
msgid ""
"Out of those, there are <strong>%s profiles (%s)</strong> that opted in the "
"public directory at least once."
msgstr ""
"Von diesen gibt es <strong>%sProfile (%s)</strong> die sich, zumindest "
"einmal, für die Aufnahme in das öffentliche Verzeichnis entschlossen haben."
msgid "Out of those, there are <strong>%s profiles (%s)</strong> that opted in the public directory at least once."
msgstr "Von diesen gibt es <strong>%sProfile (%s)</strong> die sich, zumindest einmal, für die Aufnahme in das öffentliche Verzeichnis entschlossen haben."
#: src\templates\statistics.phtml:35
msgid "<strong>%s available servers (%s)</strong>"
@ -302,22 +288,70 @@ msgstr "<strong>%sverfügbare Server (%s)</strong>"
msgid "Friendica Directory version %s"
msgstr "Friendica Verzeichnis Version %s"
#: src\templates\layout.phtml:94
msgid "Source Code on GitHub"
msgstr "Quellcode auf GitHub"
#: src\templates\statistics.phtml:11
msgid ""
"Out of those, there currently are <strong>%s available profiles "
"(%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr ""
"Von diesen sind derzeit <strong>%sverfügbare Profile (%s)</strong>. <a "
"href=\"%s\">Schaue sie dir an!</a>"
msgid "Out of those, there currently are <strong>%s available profiles (%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr "Von diesen sind derzeit <strong>%sverfügbare Profile (%s)</strong>. <a href=\"%s\">Schaue sie dir an!</a>"
#: src\templates\statistics.phtml:39
msgid ""
"<strong>%s public servers (%s)</strong> currently open for registration. <a "
"href=\"%s\">Check them out!</a>"
msgid "<strong>%s public servers (%s)</strong> currently open for registration. <a href=\"%s\">Check them out!</a>"
msgstr "<strong>%s öffentliche Server (%s)</strong> erlauben derzeit die Anmeldung. <a href=\"%s\">Schau sie dir an!</a>"
#: src\classes\Views\Widget\AccountTypeTabs.php:57
msgctxt "account-type"
msgid "News (%d)"
msgid_plural "News (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:58
msgctxt "account-type"
msgid "Organization (%d)"
msgid_plural "Organizations (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:61
msgctxt "account-type"
msgid "Group (%d)"
msgid_plural "Groups (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\templates\servers.phtml:3
msgid "Filtered by language:"
msgstr ""
#: src\templates\servers.phtml:3
msgid "Clear language filter"
msgstr ""
#: src\templates\sub\server.phtml:40
msgid "Health Score"
msgstr ""
#: src\templates\sub\server.phtml:52
msgid "%s User"
msgid_plural "%s Users"
msgstr[0] ""
msgstr[1] ""
#: src\templates\sub\server.phtml:54
msgid "None"
msgstr ""
#: src\templates\sub\server.phtml:58
#: src\templates\sub\server.phtml:62
msgid "Registration Policy"
msgstr ""
#: src\templates\sub\server.phtml:59
msgid "By Approval"
msgstr ""
#: src\templates\sub\server.phtml:63
msgid "Open"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on Friendica's Forgejo"
msgstr ""
"<strong>%s öffentliche Server (%s)</strong> erlauben derzeit die Anmeldung. "
"<a href=\"%s\">Schau sie dir an!</a>"

View file

@ -31,31 +31,31 @@ msgstr ""
msgid "Last"
msgstr ""
#: src\classes\Controllers\Web\Directory.php:73
#: src\classes\Controllers\Web\Directory.php:85
msgid "People"
msgstr ""
#: src\classes\Controllers\Web\Search.php:64
#: src\classes\Controllers\Web\Search.php:72
msgctxt "field"
msgid "Language"
msgstr ""
#: src\classes\Controllers\Web\Search.php:65
#: src\classes\Controllers\Web\Search.php:73
msgctxt "field"
msgid "Locality"
msgstr ""
#: src\classes\Controllers\Web\Search.php:66
#: src\classes\Controllers\Web\Search.php:74
msgctxt "field"
msgid "Region"
msgstr ""
#: src\classes\Controllers\Web\Search.php:67
#: src\classes\Controllers\Web\Search.php:75
msgctxt "field"
msgid "Country"
msgstr ""
#: src\classes\Controllers\Web\Servers.php:90
#: src\classes\Controllers\Web\Servers.php:105
msgid "Public Servers"
msgstr ""
@ -105,11 +105,11 @@ msgid_plural "%d results for \"%s\""
msgstr[0] ""
msgstr[1] ""
#: src\templates\servers.phtml:2
#: src\templates\servers.phtml:7
msgid "Top servers pagination"
msgstr ""
#: src\templates\servers.phtml:12
#: src\templates\servers.phtml:17
msgid "Bottom servers pagination"
msgstr ""
@ -126,24 +126,27 @@ msgid "Filter by country"
msgstr ""
#: src\templates\sub\profile.phtml:31
#: src\templates\sub\profile.phtml:35
#: src\templates\sub\profile.phtml:39
msgctxt "verb"
msgid "Follow"
msgstr ""
#: src\templates\layout.phtml:65
#: src\templates\sub\profile.phtml:47
#: src\templates\sub\profile.phtml:57
msgid "Language"
msgstr ""
#: src\templates\sub\profile.phtml:50
#: src\templates\sub\profile.phtml:60
#: src\templates\widget\popularserverlanguages.phtml:2
msgid "Filter by language"
msgstr ""
#: src\templates\sub\profile.phtml:56
#: src\templates\sub\profile.phtml:66
msgid "Location"
msgstr ""
#: src\templates\sub\profile.phtml:69
#: src\templates\sub\profile.phtml:79
msgid "Search Tag"
msgstr ""
@ -175,15 +178,15 @@ msgstr ""
msgid "Outdated Version"
msgstr ""
#: src\templates\sub\server.phtml:72
#: src\templates\sub\server.phtml:69
msgid "Admin"
msgstr ""
#: src\templates\sub\server.phtml:79
#: src\templates\sub\server.phtml:76
msgid "No description provided"
msgstr ""
#: src\templates\sub\server.phtml:82
#: src\templates\sub\server.phtml:79
msgid "Visit Server"
msgstr ""
@ -191,7 +194,7 @@ msgstr ""
msgid "Popular Countries"
msgstr ""
#: src\templates\widget\popularlanguages.phtml:2
#: src\templates\widget\popularprofilelanguages.phtml:2
msgid "Popular Languages"
msgstr ""
@ -220,13 +223,6 @@ msgid_plural "People (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\classes\Views\Widget\AccountTypeTabs.php:59
msgctxt "account-type"
msgid "Forum (%d)"
msgid_plural "Forums (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\templates\layout.phtml:97
msgid "Stats"
msgstr ""
@ -292,10 +288,6 @@ msgstr ""
msgid "Friendica Directory version %s"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on GitHub"
msgstr ""
#: src\templates\statistics.phtml:11
msgid "Out of those, there currently are <strong>%s available profiles (%s)</strong>. <a href=\"%s\">Check them out!</a>"
msgstr ""
@ -332,15 +324,34 @@ msgstr[1] ""
msgid "None"
msgstr ""
#: src\templates\sub\server.phtml:59
#: src\templates\sub\server.phtml:63
#: src\templates\sub\server.phtml:58
#: src\templates\sub\server.phtml:62
msgid "Registration Policy"
msgstr ""
#: src\templates\sub\server.phtml:60
#: src\templates\sub\server.phtml:59
msgid "By Approval"
msgstr ""
#: src\templates\sub\server.phtml:64
#: src\templates\sub\server.phtml:63
msgid "Open"
msgstr ""
#: src\classes\Views\Widget\AccountTypeTabs.php:61
msgctxt "account-type"
msgid "Group (%d)"
msgid_plural "Groups (%d)"
msgstr[0] ""
msgstr[1] ""
#: src\templates\servers.phtml:3
msgid "Filtered by language:"
msgstr ""
#: src\templates\servers.phtml:3
msgid "Clear language filter"
msgstr ""
#: src\templates\layout.phtml:94
msgid "Source Code on Friendica's Forgejo"
msgstr ""

View file

@ -1,27 +1,25 @@
#
# Translators:
# Andy H3 <andy@hubup.pro>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Last-Translator: Andy H3 <andy@hubup.pro>, 2020\n"
"Language-Team: English (United Kingdom) (https://www.transifex.com/Friendica/teams/12172/en_GB/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"POT-Creation-Date: 2018-11-16T04:17:37+00:00\n"
"PO-Revision-Date: 2018-11-16 20:30+0000\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 2.2\n"
#: src\classes\Content\Pager.php:168 src\classes\Content\Pager.php:216
#: src\classes\Content\Pager.php:168
#: src\classes\Content\Pager.php:216
msgid "Previous"
msgstr "Previous"
#: src\classes\Content\Pager.php:173 src\classes\Content\Pager.php:273
#: src\classes\Content\Pager.php:173
#: src\classes\Content\Pager.php:273
msgid "Next"
msgstr "Next"