diff --git a/.github/dev_bug_report.md b/.github/dev_bug_report.md new file mode 100755 index 0000000..ef93e56 --- /dev/null +++ b/.github/dev_bug_report.md @@ -0,0 +1,35 @@ +--- +name: Dev Bug Report +about: Create a report to help us improve +title: '' +labels: stat_backlog, type_bug +assignees: '' + +--- + +# Bug Description +A clear and concise description of what the bug is. + +# How to Reproduce + +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +## Minimal Code Example + +``` +// your code ... +``` + +# Expected Behavior +A clear and concise description of what you expected to happen. + +# Screenshots +If applicable, add screenshots to help explain your problem. + +# Additional Information +Add any other context about the problem here. diff --git a/.github/dev_feature_request.md b/.github/dev_feature_request.md new file mode 100755 index 0000000..9573c35 --- /dev/null +++ b/.github/dev_feature_request.md @@ -0,0 +1,18 @@ +--- +name: Dev Feature Request +about: Suggest an idea for this project +title: '' +labels: stat_backlog, type_feature +assignees: '' + +--- + +# What is the feature you request +* A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] +* A clear and concise description of what you want to happen. + +# Alternatives +A clear and concise description of any alternative solutions or features you've considered. + +# Additional Information +Add any other context or screenshots about the feature request here. diff --git a/.github/user_bug_report.md b/.github/user_bug_report.md new file mode 100755 index 0000000..9e5f2a5 --- /dev/null +++ b/.github/user_bug_report.md @@ -0,0 +1,34 @@ +--- +name: User Bug Report +about: Create a report to help us improve +title: '' +labels: stat_backlog, type_bug +assignees: '' + +--- + +# Bug Description +A clear and concise description of what the bug is. + +# How to Reproduce +Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +# Expected Behavior +A clear and concise description of what you expected to happen. + +# Screenshots +If applicable, add screenshots to help explain your problem. + +# System Information + - System: [e.g. PC or iPhone11, ...] + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - KarakaVersion [e.g. 22] + +# Additional Information +Add any other context about the problem here. diff --git a/.github/user_feature_request.md b/.github/user_feature_request.md new file mode 100755 index 0000000..6eb8ddc --- /dev/null +++ b/.github/user_feature_request.md @@ -0,0 +1,18 @@ +--- +name: User Feature Request +about: Suggest an idea for this project +title: '' +labels: stat_backlog, type_feature +assignees: '' + +--- + +# What is the feature you request +* A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] +* A clear and concise description of what you want to happen. + +# Alternatives +A clear and concise description of any alternative solutions or features you've considered. + +# Additional Information +Add any other context or screenshots about the feature request here. diff --git a/.github/workflows/greetings.yml b/.github/workflows/greetings.yml new file mode 100755 index 0000000..adb8716 --- /dev/null +++ b/.github/workflows/greetings.yml @@ -0,0 +1,13 @@ +name: Greetings + +on: [pull_request, issues] + +jobs: + greeting: + runs-on: ubuntu-latest + steps: + - uses: actions/first-interaction@v1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + issue-message: 'Thank you for createing this issue. We will check it as soon as possible.' + pr-message: 'Thank you for your pull request. We will check it as soon as possible.' diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml new file mode 100755 index 0000000..d079329 --- /dev/null +++ b/.github/workflows/image.yml @@ -0,0 +1,24 @@ +name: Compress images +on: + push: + paths: + - '**.jpg' + - '**.png' + - '**.webp' + pull_request: + paths: + - '**.jpg' + - '**.png' + - '**.webp' +jobs: + build: + name: calibreapp/image-actions + runs-on: ubuntu-latest + steps: + - name: Checkout Repo + uses: actions/checkout@main + + - name: Compress Images + uses: calibreapp/image-actions@main + with: + githubToken: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100755 index 0000000..6dcd721 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,281 @@ +name: CI + +on: [push, pull_request] + +jobs: + autoformat: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, 'NO_CI')" + strategy: + fail-fast: false + max-parallel: 3 + steps: + - name: Checkout Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Setup Composer + run: composer install + - name: Autoformat + run: 'vendor/bin/php-cs-fixer fix ./ --rules=''{"array_syntax": {"syntax": "short"}, "blank_line_after_namespace": true, "global_namespace_import": {"import_classes": false, "import_constants": false, "import_functions": false}, "binary_operator_spaces": {"operators": {"=": "align", ".=": "align", "+=": "align", "-=": "align", "*=": "align", "/=": "align", "|=": "align", "&=": "align", "=>": "align", "??=": "align"}}, "cast_spaces": {"space": "single"}, "class_attributes_separation": { "elements": {"const": "one", "method": "one", "property": "one"} }, "combine_consecutive_issets": true, "compact_nullable_typehint": true, "declare_strict_types": true, "declare_equal_normalize": {"space": "none"}, "elseif": true, "encoding": true, "explicit_indirect_variable": true, "explicit_string_variable": true, "function_to_constant": true, "implode_call": true, "increment_style": {"style": "pre"}, "is_null": true, "yoda_style": {"equal": false, "identical": false, "less_and_greater": false}, "line_ending": true, "logical_operators": true, "lowercase_cast": true, "constant_case": {"case": "lower"}, "lowercase_keywords": true, "modernize_types_casting": true, "native_constant_invocation": true, "native_function_casing": true, "native_function_invocation": {"include": ["@all"]}, "new_with_braces": true, "no_extra_blank_lines": {"tokens": ["break", "case", "continue", "curly_brace_block", "extra", "return", "switch", "throw", "use"]}, "no_spaces_after_function_name": true, "no_alias_functions": true, "no_closing_tag": true, "no_empty_comment": true, "no_empty_phpdoc": true, "no_empty_statement": true, "no_homoglyph_names": true, "no_mixed_echo_print": {"use": "echo"}, "no_php4_constructor": true, "no_singleline_whitespace_before_semicolons": true, "no_spaces_inside_parenthesis": true, "no_trailing_whitespace": true, "no_unneeded_final_method": true, "no_unused_imports": true, "no_useless_return": true, "no_whitespace_before_comma_in_array": true, "no_whitespace_in_blank_line": true, "non_printable_character": true, "normalize_index_brace": true, "ordered_imports": {"sort_algorithm": "alpha"}, "ordered_interfaces": {"order": "alpha"}, "php_unit_construct": true, "php_unit_internal_class": true, "php_unit_set_up_tear_down_visibility": true, "phpdoc_indent": true, "phpdoc_align": {"align": "vertical"}, "phpdoc_annotation_without_dot": true, "phpdoc_scalar": true, "phpdoc_return_self_reference": {"replacements": {"this": "self"}}, "phpdoc_trim": true, "phpdoc_trim_consecutive_blank_line_separation": true, "random_api_migration": true, "self_accessor": true, "return_type_declaration": {"space_before": "one"}, "semicolon_after_instruction": true, "set_type_to_cast": true, "short_scalar_cast": true, "single_blank_line_at_eof": true, "single_line_after_imports": true, "standardize_increment": true, "trailing_comma_in_multiline": true, "trim_array_spaces": true, "visibility_required": true, "void_return": true}'' --allow-risky=yes' + - name: Check for modified files + id: git-check + run: echo ::set-output name=modified::$(if git diff-index --quiet HEAD --; then echo "false"; else echo "true"; fi) + - name: Push changes + if: steps.git-check.outputs.modified == 'true' + run: | + git config --global user.name 'Formatter Bot' + git config --global user.email 'formatter.bot@karaka.app' + git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }} + git commit -am "Automated formatting changes" + git push + code-tests: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, 'NO_CI')" + services: + mysql: + image: mysql:5.7 + env: + MYSQL_ALLOW_EMPTY_PASSWORD: false + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: oms + ports: + - 3306:3306 + options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 + postgres: + image: postgres:10.8 + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: root + POSTGRES_DB: oms + ports: + - 5432:5432 + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3 + redis: + image: redis + ports: + - 6379:6379 + options: --entrypoint redis-server + memcached: + image: memcached + ports: + - 11211:11211 + strategy: + fail-fast: false + max-parallel: 3 + matrix: + php-versions: ['8.1'] + steps: + - name: Checkout Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + - name: Checkout Build Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/Build + path: Build + - name: Checkout Resource Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/Resources + path: Resources + - name: Checkout phpOMS Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/phpOMS + path: phpOMS + token: ${{ secrets.GH_PAT }} + - name: Checkout Karaka Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/Karaka + path: Karaka + - name: Setup PHP, with composer and extensions + uses: shivammathur/setup-php@master + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached + ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1 + coverage: pcov + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Setup Composer + run: composer install + - name: phpunit + run: vendor/bin/phpunit --coverage-clover tests/coverage.xml --configuration tests/phpunit_default.xml + static-tests: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, 'NO_CI')" + strategy: + fail-fast: false + max-parallel: 3 + matrix: + php-versions: ['8.1'] + steps: + - name: Checkout Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + submodules: recursive + token: ${{ secrets.GH_PAT }} + - name: Checkout Build Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/Build + path: Build + - name: Checkout phpOMS Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/phpOMS + path: phpOMS + token: ${{ secrets.GH_PAT }} + - name: Setup PHP, with composer and extensions + uses: shivammathur/setup-php@master + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached + ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1 + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Setup Composer + run: composer install + - name: phpstan + run: vendor/bin/phpstan analyse -a phpOMS/Autoloader.php --no-progress -l 9 -c Build/Config/phpstan.neon ./ + codestyle-tests: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, 'NO_CI')" + strategy: + fail-fast: false + max-parallel: 3 + matrix: + php-versions: ['8.1'] + steps: + - name: Checkout Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + submodules: recursive + token: ${{ secrets.GH_PAT }} + - name: Checkout Build Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/Build + path: Build + - name: Setup PHP, with composer and extensions + uses: shivammathur/setup-php@master + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, imap, bcmath, redis, memcached + ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1 + - name: Get Composer Cache Directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-files-dir)" + - name: Cache dependencies + uses: actions/cache@v1 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} + restore-keys: ${{ runner.os }}-composer- + - name: Setup Composer + run: composer install + - name: phpcs + run: vendor/bin/phpcs --severity=1 ./ --standard="Build/Config/phpcs.xml" -s --report=full + - name: Install NPM + uses: actions/setup-node@v3 + with: + node-version: '14' + cache: 'npm' + - run: npm install + - name: eslint + run: npx eslint ./ -c Build/Config/.eslintrc.json +# linting: +# runs-on: ubuntu-latest +# if: "!contains(github.event.head_commit.message, 'NO_CI')" +# strategy: +# fail-fast: false +# max-parallel: 3 +# steps: +# - name: Checkout Repository +# uses: actions/checkout@main +# with: +# fetch-depth: 0 +# submodules: recursive +# token: ${{ secrets.GH_TOKEN }} +# - name: Lint Code Base +# uses: github/super-linter/slim@v4 +# env: +# VALIDATE_ALL_CODEBASE: false +# VALIDATE_PHP: true +# VALIDATE_PHP_BUILTIN: true +# DEFAULT_BRANCH: develop +# GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + custom: + runs-on: ubuntu-latest + if: "!contains(github.event.head_commit.message, 'NO_CI')" + strategy: + fail-fast: false + max-parallel: 3 + matrix: + php-versions: ['8.1'] + steps: + - name: Checkout Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + - name: Checkout Build Repository + uses: actions/checkout@main + with: + fetch-depth: 1 + ref: develop + repository: Karaka-Management/Build + path: Build + - name: Setup PHP, with composer and extensions + uses: shivammathur/setup-php@master + with: + php-version: ${{ matrix.php-versions }} + extensions: mbstring, gd, zip, dom, mysql, pgsql, sqlite, bcmath, redis, memcached + ini-values: opcache.jit_buffer_size=256M, opcache.jit=1235, pcre.jit=1 + - name: PHP linting + run: | + find ./ -type f \ + -name '*.php' -print0 | xargs -0 -n1 -P4 php -l -n | (! grep -v "No syntax errors detected" ) + - name: Php strict + run: if [[ $(grep -r -L "declare(strict_types=1);" --include=*.php --exclude={*.tpl.php,*Hooks.php,*Routes.php,*SearchCommands.php} ./) -ne "" ]]; then exit 1; fi diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..22d0d82 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +vendor diff --git a/Admin/Install/Navigation.install.json b/Admin/Install/Navigation.install.json new file mode 100755 index 0000000..c7ec82c --- /dev/null +++ b/Admin/Install/Navigation.install.json @@ -0,0 +1,49 @@ +[ + { + "id": 1008101001, + "pid": "/", + "type": 2, + "subtype": 0, + "name": "Finance", + "uri": null, + "target": "self", + "icon": "fa fa-book", + "order": 50, + "from": "Finance", + "permission": { "permission": 2, "category": null, "element": null }, + "parent": 0, + "children": [ + { + "id": 1008102001, + "pid": "/", + "type": 2, + "subtype": 1, + "name": "Analysis", + "uri": "{/lang}/{/app}/sales/analysis?{?}", + "target": "self", + "icon": null, + "order": 15, + "from": "Finance", + "permission": { "permission": 2, "category": null, "element": null }, + "parent": 1008101001, + "children": [ + { + "id": 1008102002, + "pid": "/sales/analysis", + "type": 3, + "subtype": 1, + "name": "Dashboard", + "uri": "{/lang}/{/app}/sales/analysis?{?}", + "target": "self", + "icon": null, + "order": 1, + "from": "Finance", + "permission": { "permission": 2, "category": null, "element": null }, + "parent": 1008102001, + "children": [] + } + ] + } + ] + } +] diff --git a/Admin/Install/Navigation.php b/Admin/Install/Navigation.php new file mode 100755 index 0000000..e272499 --- /dev/null +++ b/Admin/Install/Navigation.php @@ -0,0 +1,43 @@ + __DIR__ . '/Navigation.install.json']); + } +} diff --git a/Admin/Installer.php b/Admin/Installer.php new file mode 100755 index 0000000..40c9167 --- /dev/null +++ b/Admin/Installer.php @@ -0,0 +1,36 @@ + [ + [ + 'dest' => '\Modules\Finance\Controller\BackendController:viewDashboard', + 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => BackendController::NAME, + 'type' => PermissionType::CREATE, + 'state' => PermissionCategory::ANALYSIS, + ], + ], + ], +]; diff --git a/Admin/Status.php b/Admin/Status.php new file mode 100755 index 0000000..39be78e --- /dev/null +++ b/Admin/Status.php @@ -0,0 +1,36 @@ +get('Content')->getData('head'); + $head->addAsset(AssetType::CSS, 'Resources/chartjs/Chartjs/chart.css'); + $head->addAsset(AssetType::JSLATE, 'Resources/chartjs/Chartjs/chart.js'); + $head->addAsset(AssetType::JSLATE, 'Modules/ClientManagement/Controller.js', ['type' => 'module']); + + $view = new View($this->app->l11nManager, $request, $response); + $view->setTemplate('/Modules/Sales/Theme/Backend/sales-analysis-dashboard'); + $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001602001, $request, $response)); + + ///// + $monthlySalesCustomer = []; + for ($i = 1; $i < 13; ++$i) { + $monthlySalesCustomer[] = [ + 'net_sales' => $sales = \mt_rand(1200000000, 2000000000), + 'customers' => \mt_rand(200, 400), + 'year' => 2020, + 'month' => $i, + ]; + } + + $view->addData('monthlySalesCustomer', $monthlySalesCustomer); + + $annualSalesCustomer = []; + for ($i = 1; $i < 11; ++$i) { + $annualSalesCustomer[] = [ + 'net_sales' => $sales = \mt_rand(1200000000, 2000000000) * 12, + 'customers' => \mt_rand(200, 400) * 6, + 'year' => 2020 - 10 + $i, + ]; + } + + $view->addData('annualSalesCustomer', $annualSalesCustomer); + + return $view; + } +} diff --git a/Controller/Controller.php b/Controller/Controller.php new file mode 100755 index 0000000..00112cc --- /dev/null +++ b/Controller/Controller.php @@ -0,0 +1,76 @@ + [ + 'Analysis' => 'التحليلات', + 'Articles' => 'مقالات', + 'Clients' => 'عملاء', + 'Create' => 'يخلق', + 'Invoice' => 'فاتورة', + 'Invoices' => 'الفواتير', + 'Profile' => 'الملف الشخصي', + 'Sales' => 'مبيعات', +]]; diff --git a/Theme/Backend/Lang/Navigation.cs.lang.php b/Theme/Backend/Lang/Navigation.cs.lang.php new file mode 100755 index 0000000..122765d --- /dev/null +++ b/Theme/Backend/Lang/Navigation.cs.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analýza', + 'Articles' => 'Články', + 'Clients' => 'Klienti', + 'Create' => 'Vytvořit', + 'Invoice' => 'Faktura', + 'Invoices' => 'Faktury', + 'Profile' => 'Profil', + 'Sales' => 'Odbyt', +]]; diff --git a/Theme/Backend/Lang/Navigation.da.lang.php b/Theme/Backend/Lang/Navigation.da.lang.php new file mode 100755 index 0000000..51be112 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.da.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analyse', + 'Articles' => 'Artikler', + 'Clients' => 'Klienter.', + 'Create' => 'skab', + 'Invoice' => 'Faktura', + 'Invoices' => 'Fakturaer.', + 'Profile' => 'Profil', + 'Sales' => 'SALG', +]]; diff --git a/Theme/Backend/Lang/Navigation.de.lang.php b/Theme/Backend/Lang/Navigation.de.lang.php new file mode 100755 index 0000000..36660ad --- /dev/null +++ b/Theme/Backend/Lang/Navigation.de.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analyse', + 'Articles' => 'Artikel', + 'Clients' => 'Kunden', + 'Create' => 'Erstellen', + 'Invoice' => 'Rechnung', + 'Invoices' => 'Rechnungen', + 'Profile' => 'Profil', + 'Sales' => 'Der Umsatz', +]]; diff --git a/Theme/Backend/Lang/Navigation.el.lang.php b/Theme/Backend/Lang/Navigation.el.lang.php new file mode 100755 index 0000000..a56adac --- /dev/null +++ b/Theme/Backend/Lang/Navigation.el.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Ανάλυση', + 'Articles' => 'Είδη', + 'Clients' => 'Πελάτες', + 'Create' => 'Δημιουργώ', + 'Invoice' => 'Τιμολόγιο', + 'Invoices' => 'Τιμολόγια', + 'Profile' => 'Προφίλ', + 'Sales' => 'Εκπτώσεις', +]]; diff --git a/Theme/Backend/Lang/Navigation.en.lang.php b/Theme/Backend/Lang/Navigation.en.lang.php new file mode 100755 index 0000000..870da4a --- /dev/null +++ b/Theme/Backend/Lang/Navigation.en.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analysis', + 'Articles' => 'Articles', + 'Clients' => 'Clients', + 'Create' => 'Create', + 'Invoice' => 'Invoice', + 'Invoices' => 'Invoices', + 'Profile' => 'Profile', + 'Sales' => 'Sales', +]]; diff --git a/Theme/Backend/Lang/Navigation.es.lang.php b/Theme/Backend/Lang/Navigation.es.lang.php new file mode 100755 index 0000000..52ea36d --- /dev/null +++ b/Theme/Backend/Lang/Navigation.es.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Análisis', + 'Articles' => 'Artículos', + 'Clients' => 'Clientela', + 'Create' => 'Crear', + 'Invoice' => 'Factura', + 'Invoices' => 'Facturas', + 'Profile' => 'Perfil', + 'Sales' => 'Ventas', +]]; diff --git a/Theme/Backend/Lang/Navigation.fi.lang.php b/Theme/Backend/Lang/Navigation.fi.lang.php new file mode 100755 index 0000000..b539c16 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.fi.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analyysi', + 'Articles' => 'Artikkelit', + 'Clients' => 'Asiakkaat', + 'Create' => 'Luoda', + 'Invoice' => 'Lasku', + 'Invoices' => 'Laskut', + 'Profile' => 'Profiili', + 'Sales' => 'Myynti', +]]; diff --git a/Theme/Backend/Lang/Navigation.fr.lang.php b/Theme/Backend/Lang/Navigation.fr.lang.php new file mode 100755 index 0000000..0adcb23 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.fr.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analyse', + 'Articles' => 'Des articles', + 'Clients' => 'Clients', + 'Create' => 'Créer', + 'Invoice' => 'Facture d\'achat', + 'Invoices' => 'Factures', + 'Profile' => 'Profil', + 'Sales' => 'Ventes', +]]; diff --git a/Theme/Backend/Lang/Navigation.hu.lang.php b/Theme/Backend/Lang/Navigation.hu.lang.php new file mode 100755 index 0000000..397d1c7 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.hu.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Elemzés', + 'Articles' => 'Árucikkek', + 'Clients' => 'Kliensek', + 'Create' => 'Teremt', + 'Invoice' => 'Számla', + 'Invoices' => 'Számlák', + 'Profile' => 'Profil', + 'Sales' => 'Értékesítés', +]]; diff --git a/Theme/Backend/Lang/Navigation.it.lang.php b/Theme/Backend/Lang/Navigation.it.lang.php new file mode 100755 index 0000000..91f7d1a --- /dev/null +++ b/Theme/Backend/Lang/Navigation.it.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analisi', + 'Articles' => 'Artificio', + 'Clients' => 'Clienti', + 'Create' => 'Creare', + 'Invoice' => 'Fattura', + 'Invoices' => 'Fatture', + 'Profile' => 'Profilo', + 'Sales' => 'Saldi', +]]; diff --git a/Theme/Backend/Lang/Navigation.ja.lang.php b/Theme/Backend/Lang/Navigation.ja.lang.php new file mode 100755 index 0000000..369910e --- /dev/null +++ b/Theme/Backend/Lang/Navigation.ja.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => '分析', + 'Articles' => 'articles', + 'Clients' => 'クライアント', + 'Create' => '作成', + 'Invoice' => '請求書', + 'Invoices' => '請求書', + 'Profile' => 'プロフィール', + 'Sales' => '売り返り', +]]; diff --git a/Theme/Backend/Lang/Navigation.ko.lang.php b/Theme/Backend/Lang/Navigation.ko.lang.php new file mode 100755 index 0000000..07bdb8b --- /dev/null +++ b/Theme/Backend/Lang/Navigation.ko.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => '분석', + 'Articles' => '조항', + 'Clients' => '클라이언트', + 'Create' => '만들다', + 'Invoice' => '송장', + 'Invoices' => '송장', + 'Profile' => '프로필', + 'Sales' => '매상', +]]; diff --git a/Theme/Backend/Lang/Navigation.no.lang.php b/Theme/Backend/Lang/Navigation.no.lang.php new file mode 100755 index 0000000..7fbeea3 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.no.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analyse', + 'Articles' => 'Artikler', + 'Clients' => 'Klienter', + 'Create' => 'Skape', + 'Invoice' => 'Faktura', + 'Invoices' => 'Fakturaer', + 'Profile' => 'Profil', + 'Sales' => 'Salg', +]]; diff --git a/Theme/Backend/Lang/Navigation.pl.lang.php b/Theme/Backend/Lang/Navigation.pl.lang.php new file mode 100755 index 0000000..9d0db24 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.pl.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analiza', + 'Articles' => 'Artykuły', + 'Clients' => 'Klienci.', + 'Create' => 'Tworzyć', + 'Invoice' => 'Faktura', + 'Invoices' => 'Faktury', + 'Profile' => 'Profil', + 'Sales' => 'Obroty', +]]; diff --git a/Theme/Backend/Lang/Navigation.pt.lang.php b/Theme/Backend/Lang/Navigation.pt.lang.php new file mode 100755 index 0000000..4501e84 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.pt.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Análise', + 'Articles' => 'Artigos', + 'Clients' => 'Clientes', + 'Create' => 'Crio', + 'Invoice' => 'Fatura', + 'Invoices' => 'Faturas', + 'Profile' => 'Perfil', + 'Sales' => 'Vendas', +]]; diff --git a/Theme/Backend/Lang/Navigation.ru.lang.php b/Theme/Backend/Lang/Navigation.ru.lang.php new file mode 100755 index 0000000..5c370b9 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.ru.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Анализ', + 'Articles' => 'Статьи', + 'Clients' => 'Клиенты', + 'Create' => 'Создавать', + 'Invoice' => 'Счет', + 'Invoices' => 'Счета', + 'Profile' => 'Профиль', + 'Sales' => 'Продажи', +]]; diff --git a/Theme/Backend/Lang/Navigation.sv.lang.php b/Theme/Backend/Lang/Navigation.sv.lang.php new file mode 100755 index 0000000..3bd9d37 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.sv.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analys', + 'Articles' => 'Artiklar', + 'Clients' => 'Klienter', + 'Create' => 'Skapa', + 'Invoice' => 'Faktura', + 'Invoices' => 'Fakturor', + 'Profile' => 'Profil', + 'Sales' => 'Försäljning', +]]; diff --git a/Theme/Backend/Lang/Navigation.th.lang.php b/Theme/Backend/Lang/Navigation.th.lang.php new file mode 100755 index 0000000..3cecbe9 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.th.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'การวิเคราะห์', + 'Articles' => 'บทความ', + 'Clients' => 'ลูกค้า', + 'Create' => 'สร้าง', + 'Invoice' => 'ใบแจ้งหนี้', + 'Invoices' => 'ใบแจ้งหนี้', + 'Profile' => 'ประวัติโดยย่อ', + 'Sales' => 'ฝ่ายขาย', +]]; diff --git a/Theme/Backend/Lang/Navigation.tr.lang.php b/Theme/Backend/Lang/Navigation.tr.lang.php new file mode 100755 index 0000000..0800030 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.tr.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Analiz', + 'Articles' => 'Nesne', + 'Clients' => 'Müşteriler', + 'Create' => 'Yaratmak', + 'Invoice' => 'Fatura', + 'Invoices' => 'Faturalar', + 'Profile' => 'Profil', + 'Sales' => 'Satış', +]]; diff --git a/Theme/Backend/Lang/Navigation.uk.lang.php b/Theme/Backend/Lang/Navigation.uk.lang.php new file mode 100755 index 0000000..eb77b2d --- /dev/null +++ b/Theme/Backend/Lang/Navigation.uk.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => 'Аналіз', + 'Articles' => 'Статті', + 'Clients' => 'Клієнти', + 'Create' => 'Створювати', + 'Invoice' => 'Рахунок-фактура', + 'Invoices' => 'Рахунки-фактури', + 'Profile' => 'Профіль', + 'Sales' => 'Продаж', +]]; diff --git a/Theme/Backend/Lang/Navigation.zh.lang.php b/Theme/Backend/Lang/Navigation.zh.lang.php new file mode 100755 index 0000000..7c6ae75 --- /dev/null +++ b/Theme/Backend/Lang/Navigation.zh.lang.php @@ -0,0 +1,24 @@ + [ + 'Analysis' => '分析', + 'Articles' => '文章', + 'Clients' => '客户', + 'Create' => '创建', + 'Invoice' => '发票', + 'Invoices' => '发票', + 'Profile' => '轮廓', + 'Sales' => '销售量', +]]; diff --git a/Theme/Backend/Lang/ar.lang.php b/Theme/Backend/Lang/ar.lang.php new file mode 100755 index 0000000..619ce23 --- /dev/null +++ b/Theme/Backend/Lang/ar.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'الحساب', + 'Active' => 'نشيط', + 'Activity' => 'نشاط', + 'Address' => 'تبوك', + 'All' => 'الجميع', + 'Amount' => 'مقدار', + 'Analysis' => 'التحليلات', + 'Analyze' => '#VALUE!', + 'Area' => 'مساحة', + 'Article' => 'مقالة - سلعة', + 'Articles' => 'مقالات', + 'Available' => 'متوفرة', + 'Calculate' => 'حساب', + 'City' => 'مدينة', + 'Class' => 'فصل', + 'Client' => 'عميل', + 'ClientID' => 'معرف العميل', + 'ClientName' => 'اسم العميل', + 'Clients' => 'عملاء', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'تأكيد', + 'CoreData' => 'البيانات الأساسية', + 'Country' => 'دولة', + 'Created' => 'خلقت', + 'Creator' => 'المنشئ', + 'CreditNote' => 'اشعار دائن', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => 'تاريخ', + 'DefaultInternational' => 'افتراضي الدولية', + 'DefaultNational' => 'الوضع الوطني الافتراضي', + 'Delivery' => 'توصيل', + 'DeliveryNote' => 'مذكرة تسليم', + 'Description' => 'وصف', + 'Discount' => 'خصم', + 'DiscountP' => 'خصم في٪', + 'Documentation' => 'توثيق', + 'Employee' => 'موظف', + 'End' => '#VALUE!', + 'FAO' => 'الفاو', + 'From' => 'من', + 'Group' => 'مجموعة', + 'Groups' => 'مجموعات', + 'Highest' => 'أعلى', + 'Inactive' => 'غير نشط', + 'Interval' => 'فترة', + 'Invoice' => 'فاتورة', + 'Invoices' => 'الفواتير', + 'IsDefault' => 'افتراضي؟', + 'Language' => 'لغة', + 'Last' => 'الاخير', + 'Localization' => 'الموقع', + 'Loginname' => 'اسم الدخول', + 'Matchcode' => 'رمز مطابق', + 'Media' => 'وسائط', + 'MinPrice' => 'سعر دقيقة', + 'Name' => 'اسم', + 'Name1' => 'الاسم 1.', + 'Name2' => 'الاسم 2.', + 'Name3' => 'الاسم 3.', + 'Offer' => 'عرض', + 'Order' => 'طلب', + 'Ordered' => 'أمر', + 'OrderedBy' => 'أمر من قبل', + 'Orders' => 'الطلب #٪ s', + 'Payment' => 'دفع', + 'Price' => 'السعر', + 'Priority' => 'أفضلية', + 'Profit' => '#VALUE!', + 'Quantity' => 'كمية', + 'Receipt' => 'إيصال', + 'Reference' => 'المرجعي', + 'Sales' => 'مبيعات', + 'Settings' => 'إعدادات', + 'Single' => 'غير مرتبطة', + 'Start' => '#VALUE!', + 'State' => 'ولاية', + 'Statistics' => 'إحصائيات', + 'Status' => 'حالة', + 'Stock' => 'المخزون', + 'Street' => 'شارع', + 'Subgroup' => 'مجموعة فرعية', + 'Tax' => 'ضريبة', + 'Terms' => 'شروط', + 'To' => 'ل', + 'TopArticles' => 'أفضل المقالات', + 'Trend' => 'اتجاه', + 'Turnover' => 'دوران', + 'Type' => 'نوع', + 'ZipCode' => 'رمز بريدي', +]]; diff --git a/Theme/Backend/Lang/cs.lang.php b/Theme/Backend/Lang/cs.lang.php new file mode 100755 index 0000000..bf60de9 --- /dev/null +++ b/Theme/Backend/Lang/cs.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Účet', + 'Active' => 'Aktivní', + 'Activity' => 'Aktivita', + 'Address' => 'Adresa', + 'All' => 'Všechno', + 'Amount' => 'Množství', + 'Analysis' => 'Analýza', + 'Analyze' => '#VALUE!', + 'Area' => 'Plocha', + 'Article' => 'Článek', + 'Articles' => 'Články', + 'Available' => 'Dostupný', + 'Calculate' => 'Vypočítat', + 'City' => 'Město', + 'Class' => 'Třída', + 'Client' => 'Klienta', + 'ClientID' => 'ID klienta', + 'ClientName' => 'jméno klienta', + 'Clients' => 'Klienti', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'potvrzení', + 'CoreData' => 'Základní data', + 'Country' => 'Země', + 'Created' => 'Vytvořený', + 'Creator' => 'Tvůrce', + 'CreditNote' => 'Dobropis', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => 'datum', + 'DefaultInternational' => 'Výchozí mezinárodní', + 'DefaultNational' => 'Výchozí státní příslušník', + 'Delivery' => 'dodávka', + 'DeliveryNote' => 'Dodací list', + 'Description' => 'Popis', + 'Discount' => 'Sleva', + 'DiscountP' => 'Sleva v%', + 'Documentation' => 'Dokumentace', + 'Employee' => 'Zaměstnanec', + 'End' => '#VALUE!', + 'FAO' => 'Fao.', + 'From' => 'Z', + 'Group' => 'Skupina', + 'Groups' => 'Skupiny', + 'Highest' => 'Nejvyšší', + 'Inactive' => 'Neaktivní', + 'Interval' => 'Interval', + 'Invoice' => 'Faktura', + 'Invoices' => 'Faktury', + 'IsDefault' => 'Je výchozí?', + 'Language' => 'Jazyk', + 'Last' => 'Poslední', + 'Localization' => 'Lokalizace', + 'Loginname' => 'Přihlašovací jméno', + 'Matchcode' => 'MatchCode.', + 'Media' => 'Mediální', + 'MinPrice' => 'Min', + 'Name' => 'název', + 'Name1' => 'Jméno 1.', + 'Name2' => 'Jméno 2.', + 'Name3' => 'Jméno 3.', + 'Offer' => 'Nabídka', + 'Order' => 'Objednat', + 'Ordered' => 'Objednaný', + 'OrderedBy' => 'Objednáno někým', + 'Orders' => 'Objednávky', + 'Payment' => 'Způsob platby', + 'Price' => 'Cena', + 'Priority' => 'Přednost', + 'Profit' => '#VALUE!', + 'Quantity' => 'Množství', + 'Receipt' => 'Účtenka', + 'Reference' => 'Odkaz', + 'Sales' => 'Odbyt', + 'Settings' => 'Nastavení', + 'Single' => 'Singl', + 'Start' => '#VALUE!', + 'State' => 'Stát', + 'Statistics' => 'Statistika', + 'Status' => 'Postavení', + 'Stock' => 'Skladem', + 'Street' => 'ulice', + 'Subgroup' => 'Podskupina', + 'Tax' => 'Daň', + 'Terms' => 'Podmínky', + 'To' => 'Na', + 'TopArticles' => 'Nejlepší články', + 'Trend' => 'Trend', + 'Turnover' => 'Obrat', + 'Type' => 'Typ', + 'ZipCode' => 'PSČ', +]]; diff --git a/Theme/Backend/Lang/da.lang.php b/Theme/Backend/Lang/da.lang.php new file mode 100755 index 0000000..7bb6583 --- /dev/null +++ b/Theme/Backend/Lang/da.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Konto', + 'Active' => 'Aktiv', + 'Activity' => 'Aktivitet', + 'Address' => 'Adresse', + 'All' => 'Alle', + 'Amount' => 'Beløb', + 'Analysis' => 'Analyse', + 'Analyze' => '#VALUE!', + 'Area' => 'Areal', + 'Article' => 'Artikel', + 'Articles' => 'Artikler', + 'Available' => 'Ledig', + 'Calculate' => 'Beregn', + 'City' => 'City.', + 'Class' => 'Klasse', + 'Client' => 'Klient', + 'ClientID' => 'Klient ID.', + 'ClientName' => 'Kundenavn', + 'Clients' => 'Klienter.', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Bekræftelse', + 'CoreData' => 'Kernedata.', + 'Country' => 'Land', + 'Created' => 'Oprettet', + 'Creator' => 'Skaber.', + 'CreditNote' => 'Kreditnota', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => 'Dato', + 'DefaultInternational' => 'Standard International', + 'DefaultNational' => 'Standard National', + 'Delivery' => 'Levering', + 'DeliveryNote' => 'Levering note', + 'Description' => 'Beskrivelse', + 'Discount' => 'Rabat', + 'DiscountP' => 'Rabat i%', + 'Documentation' => 'Dokumentation', + 'Employee' => 'Medarbejder', + 'End' => '#VALUE!', + 'FAO' => 'FAO.', + 'From' => 'Fra', + 'Group' => 'Gruppe', + 'Groups' => 'Grupper.', + 'Highest' => 'Højeste', + 'Inactive' => 'Inaktiv.', + 'Interval' => 'Interval', + 'Invoice' => 'Faktura', + 'Invoices' => 'Fakturaer.', + 'IsDefault' => 'Er standard?', + 'Language' => 'Sprog', + 'Last' => 'Sidst', + 'Localization' => 'Lokalisering', + 'Loginname' => 'Login-navn', + 'Matchcode' => 'MatchCode.', + 'Media' => 'Medier', + 'MinPrice' => 'Min', + 'Name' => 'Navn', + 'Name1' => 'Navn 1', + 'Name2' => 'Navn 2.', + 'Name3' => 'Navn 3.', + 'Offer' => 'Tilbud', + 'Order' => 'Bestille', + 'Ordered' => 'Bestilt.', + 'OrderedBy' => 'Bestilt af', + 'Orders' => 'Ordre:% s', + 'Payment' => 'Betaling', + 'Price' => 'Pris', + 'Priority' => 'Prioritet', + 'Profit' => '#VALUE!', + 'Quantity' => 'Antal', + 'Receipt' => 'Kvittering', + 'Reference' => 'Reference', + 'Sales' => 'SALG', + 'Settings' => 'Indstillinger.', + 'Single' => 'Enkelt', + 'Start' => '#VALUE!', + 'State' => 'Stat', + 'Statistics' => 'Statistikker', + 'Status' => 'Status.', + 'Stock' => 'Lager', + 'Street' => 'Gade', + 'Subgroup' => 'Undergruppe', + 'Tax' => 'Skat', + 'Terms' => 'Vilkår', + 'To' => 'Til', + 'TopArticles' => 'Top artikler', + 'Trend' => 'Trend.', + 'Turnover' => 'Omsætning', + 'Type' => 'Type', + 'ZipCode' => 'Postnummer', +]]; diff --git a/Theme/Backend/Lang/de.lang.php b/Theme/Backend/Lang/de.lang.php new file mode 100755 index 0000000..5d2728e --- /dev/null +++ b/Theme/Backend/Lang/de.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Konto', + 'Active' => 'Aktiv', + 'Activity' => 'Aktivität', + 'Address' => 'Adresse', + 'All' => 'Alle', + 'Amount' => 'Höhe', + 'Analysis' => 'Analyse', + 'Analyze' => '#VALUE!', + 'Area' => 'Bereich', + 'Article' => 'Artikel', + 'Articles' => 'Artikel', + 'Available' => 'Erhältlich', + 'Calculate' => 'Berechnung', + 'City' => 'Stadt', + 'Class' => 'Klasse', + 'Client' => 'Klient', + 'ClientID' => 'Kunden ID', + 'ClientName' => 'Kundenname', + 'Clients' => 'Kunden', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Bestätigung', + 'CoreData' => 'Kerndatei', + 'Country' => 'Land', + 'Created' => 'Erstellt', + 'Creator' => 'Schöpfer', + 'CreditNote' => 'Gutschrift', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => 'Datum', + 'DefaultInternational' => 'Standard-Internationale', + 'DefaultNational' => 'Standardnationalstaat', + 'Delivery' => 'Die Zustellung', + 'DeliveryNote' => 'Lieferschein', + 'Description' => 'Beschreibung', + 'Discount' => 'Rabatt', + 'DiscountP' => 'Rabatt in%', + 'Documentation' => 'Dokumentation', + 'Employee' => 'Mitarbeiter', + 'End' => '#VALUE!', + 'FAO' => 'Fao', + 'From' => 'Von', + 'Group' => 'Gruppe', + 'Groups' => 'Gruppen', + 'Highest' => 'Höchste', + 'Inactive' => 'Inaktiv', + 'Interval' => 'Intervall', + 'Invoice' => 'Rechnung', + 'Invoices' => 'Rechnungen', + 'IsDefault' => 'Ist standardmäßig?', + 'Language' => 'Sprache', + 'Last' => 'Zuletzt', + 'Localization' => 'Lokalisierung', + 'Loginname' => 'Benutzername', + 'Matchcode' => 'Matchcode', + 'Media' => 'Medien', + 'MinPrice' => 'Minster Preis', + 'Name' => 'Name', + 'Name1' => 'Name 1', + 'Name2' => 'Name 2', + 'Name3' => 'Name 3', + 'Offer' => 'Angebot', + 'Order' => 'Befehl', + 'Ordered' => 'Bestellt', + 'OrderedBy' => 'Bestellt durch', + 'Orders' => 'Aufträge', + 'Payment' => 'Zahlung', + 'Price' => 'Preis', + 'Priority' => 'Priorität', + 'Profit' => '#VALUE!', + 'Quantity' => 'Menge', + 'Receipt' => 'Kassenbon', + 'Reference' => 'Bezug', + 'Sales' => 'Der Umsatz', + 'Settings' => 'Einstellungen', + 'Single' => 'Single', + 'Start' => '#VALUE!', + 'State' => 'Zustand', + 'Statistics' => 'Statistiken', + 'Status' => 'Status', + 'Stock' => 'Aktie', + 'Street' => 'Straße', + 'Subgroup' => 'Untergruppe', + 'Tax' => 'Steuer', + 'Terms' => 'Bedingungen', + 'To' => 'Zu', + 'TopArticles' => 'Top-Artikeln', + 'Trend' => 'Trend', + 'Turnover' => 'Umsatz', + 'Type' => 'Typ', + 'ZipCode' => 'Postleitzahl', +]]; diff --git a/Theme/Backend/Lang/el.lang.php b/Theme/Backend/Lang/el.lang.php new file mode 100755 index 0000000..d8079df --- /dev/null +++ b/Theme/Backend/Lang/el.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'λογαριασμός', + 'Active' => 'Ενεργός', + 'Activity' => 'Δραστηριότητα', + 'Address' => 'Διεύθυνση', + 'All' => 'Ολα', + 'Amount' => 'Ποσό', + 'Analysis' => 'Ανάλυση', + 'Analyze' => '#VALUE!', + 'Area' => 'Περιοχή', + 'Article' => 'Αρθρο', + 'Articles' => 'Είδη', + 'Available' => 'Διαθέσιμος', + 'Calculate' => 'Υπολογίζω', + 'City' => 'Πόλη', + 'Class' => 'Τάξη', + 'Client' => 'Πελάτης', + 'ClientID' => 'ταυτότητα πελάτη', + 'ClientName' => 'Όνομα Πελάτη', + 'Clients' => 'Πελάτες', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Επιβεβαίωση', + 'CoreData' => 'Βασικά δεδομένα', + 'Country' => 'Χώρα', + 'Created' => 'Δημιουργήθηκε', + 'Creator' => 'Δημιουργός', + 'CreditNote' => 'Πιστωτικό σημείωμα', + 'Current' => '#VALUE!', + 'DSO' => 'ΔΣΟ', + 'Date' => 'Ημερομηνία', + 'DefaultInternational' => 'Προεπιλογή Διεθνής', + 'DefaultNational' => 'Προεπιλεγμένος Εθνικός', + 'Delivery' => 'Διανομή', + 'DeliveryNote' => 'Δελτίο παράδοσης', + 'Description' => 'Περιγραφή', + 'Discount' => 'Εκπτωση', + 'DiscountP' => 'Έκπτωση σε%', + 'Documentation' => 'Τεκμηρίωση', + 'Employee' => 'Υπάλληλος', + 'End' => '#VALUE!', + 'FAO' => 'Φλυαρία', + 'From' => 'Από', + 'Group' => 'Ομάδα', + 'Groups' => 'Ομάδες', + 'Highest' => 'Υψιστος', + 'Inactive' => 'Αδρανής', + 'Interval' => 'Διάστημα', + 'Invoice' => 'Τιμολόγιο', + 'Invoices' => 'Τιμολόγια', + 'IsDefault' => 'Είναι προεπιλογή;', + 'Language' => 'Γλώσσα', + 'Last' => 'τελευταίος', + 'Localization' => 'Εντοπισμός', + 'Loginname' => 'Ονομα σύνδεσης', + 'Matchcode' => 'Matchcode', + 'Media' => 'Μεσο ΜΑΖΙΚΗΣ ΕΝΗΜΕΡΩΣΗΣ', + 'MinPrice' => 'Ελάχιστη τιμή', + 'Name' => 'Ονομα', + 'Name1' => 'Όνομα 1', + 'Name2' => 'Όνομα 2', + 'Name3' => 'Όνομα 3', + 'Offer' => 'Προσφορά', + 'Order' => 'Σειρά', + 'Ordered' => 'Διέταξε', + 'OrderedBy' => 'Παραγγέλθηκε από', + 'Orders' => 'Εντολές', + 'Payment' => 'Πληρωμή', + 'Price' => 'Τιμή', + 'Priority' => 'Προτεραιότητα', + 'Profit' => '#VALUE!', + 'Quantity' => 'Ποσότητα', + 'Receipt' => 'Παραλαβή', + 'Reference' => 'Αναφορά', + 'Sales' => 'Εκπτώσεις', + 'Settings' => 'Ρυθμίσεις', + 'Single' => 'Μονόκλινο', + 'Start' => '#VALUE!', + 'State' => 'κατάσταση', + 'Statistics' => 'Στατιστική', + 'Status' => 'Κατάσταση', + 'Stock' => 'Στοκ', + 'Street' => 'Δρόμος', + 'Subgroup' => 'Υποομάδα', + 'Tax' => 'Φόρος', + 'Terms' => 'Οροι', + 'To' => 'Προς το', + 'TopArticles' => 'Κορυφαία άρθρα', + 'Trend' => 'Τάση', + 'Turnover' => 'Τζίρος', + 'Type' => 'Τύπος', + 'ZipCode' => 'Ταχυδρομικός κώδικας', +]]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php new file mode 100755 index 0000000..0d3b729 --- /dev/null +++ b/Theme/Backend/Lang/en.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Account', + 'Active' => 'Active', + 'Activity' => 'Activity', + 'Address' => 'Address', + 'All' => 'All', + 'Amount' => 'Amount', + 'Analysis' => 'Analysis', + 'Analyze' => 'Analyze', + 'Area' => 'Area', + 'Article' => 'Article', + 'Articles' => 'Articles', + 'Available' => 'Available', + 'Calculate' => 'Calculate', + 'City' => 'City', + 'Class' => 'Class', + 'Client' => 'Client', + 'ClientID' => 'Client ID', + 'ClientName' => 'Client Name', + 'Clients' => 'Clients', + 'Comparison' => 'Comparison', + 'Confirmation' => 'Confirmation', + 'CoreData' => 'Core data', + 'Country' => 'Country', + 'Created' => 'Created', + 'Creator' => 'Creator', + 'CreditNote' => 'Credit Note', + 'Current' => 'Current', + 'DSO' => 'DSO', + 'Date' => 'Date', + 'DefaultInternational' => 'Default International', + 'DefaultNational' => 'Default National', + 'Delivery' => 'Delivery', + 'DeliveryNote' => 'Delivery Note', + 'Description' => 'Description', + 'Discount' => 'Discount', + 'DiscountP' => 'Discount in %', + 'Documentation' => 'Documentation', + 'Employee' => 'Employee', + 'End' => 'End', + 'FAO' => 'FAO', + 'From' => 'From', + 'Group' => 'Group', + 'Groups' => 'Groups', + 'Highest' => 'Highest', + 'Inactive' => 'Inactive', + 'Interval' => 'Interval', + 'Invoice' => 'Invoice', + 'Invoices' => 'Invoices', + 'IsDefault' => 'Is default?', + 'Language' => 'Language', + 'Last' => 'Last', + 'Localization' => 'Localization', + 'Loginname' => 'Loginname', + 'Matchcode' => 'Matchcode', + 'Media' => 'Media', + 'MinPrice' => 'Min Price', + 'Name' => 'Name', + 'Name1' => 'Name 1', + 'Name2' => 'Name 2', + 'Name3' => 'Name 3', + 'Offer' => 'Offer', + 'Order' => 'Order', + 'Ordered' => 'Ordered', + 'OrderedBy' => 'Ordered By', + 'Orders' => 'Orders', + 'Payment' => 'Payment', + 'Price' => 'Price', + 'Priority' => 'Priority', + 'Profit' => 'Profit', + 'Quantity' => 'Quantity', + 'Receipt' => 'Receipt', + 'Reference' => 'Reference', + 'Sales' => 'Sales', + 'Settings' => 'Settings', + 'Single' => 'Single', + 'Start' => 'Start', + 'State' => 'State', + 'Statistics' => 'Statistics', + 'Status' => 'Status', + 'Stock' => 'Stock', + 'Street' => 'Street', + 'Subgroup' => 'Subgroup', + 'Tax' => 'Tax', + 'Terms' => 'Terms', + 'To' => 'To', + 'TopArticles' => 'Top Articles', + 'Trend' => 'Trend', + 'Turnover' => 'Turnover', + 'Type' => 'Type', + 'ZipCode' => 'ZipCode', +]]; diff --git a/Theme/Backend/Lang/es.lang.php b/Theme/Backend/Lang/es.lang.php new file mode 100755 index 0000000..a0a1778 --- /dev/null +++ b/Theme/Backend/Lang/es.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Cuenta', + 'Active' => 'Activo', + 'Activity' => 'Actividad', + 'Address' => 'Habla a', + 'All' => 'Todo', + 'Amount' => 'Monto', + 'Analysis' => 'Análisis', + 'Analyze' => '#VALUE!', + 'Area' => 'Área', + 'Article' => 'Artículo', + 'Articles' => 'Artículos', + 'Available' => 'Disponible', + 'Calculate' => 'Calcular', + 'City' => 'Ciudad', + 'Class' => 'Clase', + 'Client' => 'Cliente', + 'ClientID' => 'Identificación del cliente', + 'ClientName' => 'nombre del cliente', + 'Clients' => 'Clientela', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Confirmación', + 'CoreData' => 'Datos principales', + 'Country' => 'País', + 'Created' => 'Creado', + 'Creator' => 'Creador', + 'CreditNote' => 'Nota de crédito', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => 'Fecha', + 'DefaultInternational' => 'Internacional predeterminado', + 'DefaultNational' => 'Nacional predeterminado', + 'Delivery' => 'Entrega', + 'DeliveryNote' => 'Nota de entrega', + 'Description' => 'Descripción', + 'Discount' => 'Descuento', + 'DiscountP' => 'Descuento en%', + 'Documentation' => 'Documentación', + 'Employee' => 'Empleado', + 'End' => '#VALUE!', + 'FAO' => 'Fao', + 'From' => 'Desde', + 'Group' => 'Grupo', + 'Groups' => 'Grupo', + 'Highest' => 'Más alto', + 'Inactive' => 'Inactivo', + 'Interval' => 'Intervalo', + 'Invoice' => 'Factura', + 'Invoices' => 'Facturas', + 'IsDefault' => 'Es por defecto?', + 'Language' => 'Idioma', + 'Last' => 'Ultimo', + 'Localization' => 'Localización', + 'Loginname' => 'Nombre de inicio de sesión', + 'Matchcode' => 'Código de asociación', + 'Media' => 'Medios de comunicación', + 'MinPrice' => 'Precio mínimo', + 'Name' => 'Nombre', + 'Name1' => 'Nombre 1', + 'Name2' => 'Nombre 2', + 'Name3' => 'Nombre 3', + 'Offer' => 'Oferta', + 'Order' => 'Pedido', + 'Ordered' => 'Ordenado', + 'OrderedBy' => 'Ordenado por', + 'Orders' => 'Pedidos', + 'Payment' => 'Pago', + 'Price' => 'Precio', + 'Priority' => 'Prioridad', + 'Profit' => '#VALUE!', + 'Quantity' => 'Cantidad', + 'Receipt' => 'Recibo', + 'Reference' => 'Referencia', + 'Sales' => 'Ventas', + 'Settings' => 'Ajustes', + 'Single' => 'Único', + 'Start' => '#VALUE!', + 'State' => 'Expresar', + 'Statistics' => 'Estadísticas', + 'Status' => 'Estado', + 'Stock' => 'Valores', + 'Street' => 'calle', + 'Subgroup' => 'Subgrupo', + 'Tax' => 'Impuesto', + 'Terms' => 'Condiciones', + 'To' => 'A', + 'TopArticles' => 'Artículos principales', + 'Trend' => 'Tendencia', + 'Turnover' => 'Rotación', + 'Type' => 'Escribe', + 'ZipCode' => 'Código postal', +]]; diff --git a/Theme/Backend/Lang/fi.lang.php b/Theme/Backend/Lang/fi.lang.php new file mode 100755 index 0000000..1e2e0af --- /dev/null +++ b/Theme/Backend/Lang/fi.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Tili', + 'Active' => 'Aktiivinen', + 'Activity' => 'Toiminta', + 'Address' => 'Osoite', + 'All' => 'Kaikki', + 'Amount' => 'Määrä', + 'Analysis' => 'Analyysi', + 'Analyze' => '#VALUE!', + 'Area' => 'Alue', + 'Article' => 'Artikla', + 'Articles' => 'Artikkelit', + 'Available' => 'Saatavilla', + 'Calculate' => 'Laskea', + 'City' => 'Kaupunki', + 'Class' => 'Luokka', + 'Client' => 'Asiakas', + 'ClientID' => 'Asiakastunnus', + 'ClientName' => 'Asiakkaan Nimi', + 'Clients' => 'Asiakkaat', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Vahvistus', + 'CoreData' => 'Keskeiset tiedot', + 'Country' => 'Maa', + 'Created' => 'Luotu', + 'Creator' => 'Luoja', + 'CreditNote' => 'Luottoluotto', + 'Current' => '#VALUE!', + 'DSO' => 'Dso', + 'Date' => 'Päivämäärä', + 'DefaultInternational' => 'Oletus kansainvälinen', + 'DefaultNational' => 'Oletusarvoinen kansallinen', + 'Delivery' => 'Toimitus', + 'DeliveryNote' => 'Saapumisilmoitus', + 'Description' => 'Kuvaus', + 'Discount' => 'Alennus', + 'DiscountP' => 'Alennus%', + 'Documentation' => 'Dokumentointi', + 'Employee' => 'Työntekijä', + 'End' => '#VALUE!', + 'FAO' => 'Fao', + 'From' => 'Peräkkäin', + 'Group' => 'Ryhmä', + 'Groups' => 'Ryhmät', + 'Highest' => 'Korkein', + 'Inactive' => 'Epäaktiivinen', + 'Interval' => 'Aikaväli', + 'Invoice' => 'Lasku', + 'Invoices' => 'Laskut', + 'IsDefault' => 'On oletusarvo?', + 'Language' => 'Kieli', + 'Last' => 'Kestää', + 'Localization' => 'Lokalisointi', + 'Loginname' => 'Kirjautumisnimi', + 'Matchcode' => 'Matchcode', + 'Media' => 'Media', + 'MinPrice' => 'Min hinta', + 'Name' => 'Nimi', + 'Name1' => 'Nimi 1', + 'Name2' => 'Nimi 2', + 'Name3' => 'Nimi 3', + 'Offer' => 'Tarjous', + 'Order' => 'Tilaus', + 'Ordered' => 'Tilattu', + 'OrderedBy' => 'Tilaama', + 'Orders' => 'Tilaus', + 'Payment' => 'Maksu', + 'Price' => 'Hinta', + 'Priority' => 'Etusija', + 'Profit' => '#VALUE!', + 'Quantity' => 'Määrä', + 'Receipt' => 'Kuitti', + 'Reference' => 'Viite', + 'Sales' => 'Myynti', + 'Settings' => 'asetukset', + 'Single' => 'Yksittäinen', + 'Start' => '#VALUE!', + 'State' => 'Osavaltio', + 'Statistics' => 'Tilastot', + 'Status' => 'Tila', + 'Stock' => 'Varasto', + 'Street' => 'Katu', + 'Subgroup' => 'Alaryhmä', + 'Tax' => 'Verottaa', + 'Terms' => 'Ehdot', + 'To' => 'Jllek', + 'TopArticles' => 'Top artikkelit', + 'Trend' => 'Trendi', + 'Turnover' => 'Liikevaihto', + 'Type' => 'Tyyppi', + 'ZipCode' => 'Postinumero', +]]; diff --git a/Theme/Backend/Lang/fr.lang.php b/Theme/Backend/Lang/fr.lang.php new file mode 100755 index 0000000..dde03ef --- /dev/null +++ b/Theme/Backend/Lang/fr.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Compte', + 'Active' => 'actif', + 'Activity' => 'Activité', + 'Address' => 'Adresse', + 'All' => 'Tout', + 'Amount' => 'Quantité', + 'Analysis' => 'Analyse', + 'Analyze' => '#VALUE!', + 'Area' => 'Zone', + 'Article' => 'Article', + 'Articles' => 'Des articles', + 'Available' => 'Disponible', + 'Calculate' => 'Calculer', + 'City' => 'Ville', + 'Class' => 'Classer', + 'Client' => 'Client', + 'ClientID' => 'identité du client', + 'ClientName' => 'Nom du client', + 'Clients' => 'Clients', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Confirmation', + 'CoreData' => 'Données de base', + 'Country' => 'Pays', + 'Created' => 'Établi', + 'Creator' => 'Créateur', + 'CreditNote' => 'Note de crédit', + 'Current' => '#VALUE!', + 'DSO' => 'Dso', + 'Date' => 'Date', + 'DefaultInternational' => 'International par défaut', + 'DefaultNational' => 'National par défaut', + 'Delivery' => 'Livraison', + 'DeliveryNote' => 'Bon de livraison', + 'Description' => 'La description', + 'Discount' => 'Remise', + 'DiscountP' => 'Rabais en%', + 'Documentation' => 'Documentation', + 'Employee' => 'Employé', + 'End' => '#VALUE!', + 'FAO' => 'Fao', + 'From' => 'À partir de', + 'Group' => 'Grouper', + 'Groups' => 'Groupes', + 'Highest' => 'Plus haut', + 'Inactive' => 'Inactif', + 'Interval' => 'Intervalle', + 'Invoice' => 'Facture d\'achat', + 'Invoices' => 'Factures', + 'IsDefault' => 'Est par défaut?', + 'Language' => 'Langue', + 'Last' => 'Dernier', + 'Localization' => 'Localisation', + 'Loginname' => 'Identifiant', + 'Matchcode' => 'Encadrement', + 'Media' => 'Médias', + 'MinPrice' => "Prix \u{200b}\u{200b}min", + 'Name' => 'Nom', + 'Name1' => 'Nom 1', + 'Name2' => 'Nom 2', + 'Name3' => 'Nom 3', + 'Offer' => 'Offrir', + 'Order' => 'Commander', + 'Ordered' => 'Commandé', + 'OrderedBy' => 'Commander par', + 'Orders' => 'Ordres', + 'Payment' => 'Paiement', + 'Price' => 'Prix', + 'Priority' => 'Priorité', + 'Profit' => '#VALUE!', + 'Quantity' => 'Quantité', + 'Receipt' => 'Reçu', + 'Reference' => 'Référence', + 'Sales' => 'Ventes', + 'Settings' => 'Réglages', + 'Single' => 'Seul', + 'Start' => '#VALUE!', + 'State' => 'État', + 'Statistics' => 'Statistiques', + 'Status' => 'Statut', + 'Stock' => 'Stocker', + 'Street' => 'rue', + 'Subgroup' => 'Sous-groupe', + 'Tax' => 'Impôt', + 'Terms' => 'termes', + 'To' => 'À', + 'TopArticles' => 'Top articles', + 'Trend' => 'Tendance', + 'Turnover' => 'Chiffre d\'affaires', + 'Type' => 'Taper', + 'ZipCode' => 'Code postal', +]]; diff --git a/Theme/Backend/Lang/hu.lang.php b/Theme/Backend/Lang/hu.lang.php new file mode 100755 index 0000000..f1c0d74 --- /dev/null +++ b/Theme/Backend/Lang/hu.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Számla', + 'Active' => 'Aktív', + 'Activity' => 'Tevékenység', + 'Address' => 'Cím', + 'All' => 'Minden', + 'Amount' => 'Összeg', + 'Analysis' => 'Elemzés', + 'Analyze' => '#VALUE!', + 'Area' => 'Terület', + 'Article' => 'Cikk', + 'Articles' => 'Árucikkek', + 'Available' => 'Elérhető', + 'Calculate' => 'Kiszámítja', + 'City' => 'Város', + 'Class' => 'Osztály', + 'Client' => 'Ügyfél', + 'ClientID' => 'Ügyfélazonosító', + 'ClientName' => 'Ügyfél Neve', + 'Clients' => 'Kliensek', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Megerősítés', + 'CoreData' => 'Alapvető adatok', + 'Country' => 'Ország', + 'Created' => 'Létrehozott', + 'Creator' => 'Teremtő', + 'CreditNote' => 'Jóváírás', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => 'Dátum', + 'DefaultInternational' => 'Alapértelmezett nemzetközi', + 'DefaultNational' => 'Alapértelmezett nemzeti', + 'Delivery' => 'Szállítás', + 'DeliveryNote' => 'Fuvarlevél', + 'Description' => 'Leírás', + 'Discount' => 'Kedvezmény', + 'DiscountP' => 'Kedvezmény%', + 'Documentation' => 'Dokumentáció', + 'Employee' => 'Munkavállaló', + 'End' => '#VALUE!', + 'FAO' => 'FAO', + 'From' => 'Tól től', + 'Group' => 'Csoport', + 'Groups' => 'Csoportok', + 'Highest' => 'Legmagasabb', + 'Inactive' => 'Inaktív', + 'Interval' => 'Intervallum', + 'Invoice' => 'Számla', + 'Invoices' => 'Számlák', + 'IsDefault' => 'Alapértelmezett?', + 'Language' => 'Nyelv', + 'Last' => 'Utolsó', + 'Localization' => 'Lokalizáció', + 'Loginname' => 'Bejelentkezési név', + 'Matchcode' => 'Matchcode', + 'Media' => 'Média', + 'MinPrice' => 'Min Ár', + 'Name' => 'Név', + 'Name1' => 'NAME 1', + 'Name2' => 'NAME 2', + 'Name3' => 'Név 3', + 'Offer' => 'Ajánlat', + 'Order' => 'Rendelés', + 'Ordered' => 'Elrendelt', + 'OrderedBy' => 'Megrendelő', + 'Orders' => 'Megrendelések', + 'Payment' => 'Fizetés', + 'Price' => 'Ár', + 'Priority' => 'Kiemelten fontos', + 'Profit' => '#VALUE!', + 'Quantity' => 'Mennyiség', + 'Receipt' => 'Nyugta', + 'Reference' => 'Referencia', + 'Sales' => 'Értékesítés', + 'Settings' => 'Beállítások', + 'Single' => 'Egyetlen', + 'Start' => '#VALUE!', + 'State' => 'Állapot', + 'Statistics' => 'Statisztika', + 'Status' => 'Állapot', + 'Stock' => 'Készlet', + 'Street' => 'utca', + 'Subgroup' => 'Alcsoport', + 'Tax' => 'Adó', + 'Terms' => 'Feltételek', + 'To' => 'Nak nek', + 'TopArticles' => 'Top cikkek', + 'Trend' => 'Irányzat', + 'Turnover' => 'Forgalom', + 'Type' => 'típus', + 'ZipCode' => 'Irányítószám', +]]; diff --git a/Theme/Backend/Lang/it.lang.php b/Theme/Backend/Lang/it.lang.php new file mode 100755 index 0000000..faedf61 --- /dev/null +++ b/Theme/Backend/Lang/it.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Account', + 'Active' => 'Attivo', + 'Activity' => 'Attività', + 'Address' => 'Indirizzo', + 'All' => 'Tutto', + 'Amount' => 'Quantità', + 'Analysis' => 'Analisi', + 'Analyze' => '#VALUE!', + 'Area' => 'La zona', + 'Article' => 'Articolo', + 'Articles' => 'Artificio', + 'Available' => 'A disposizione', + 'Calculate' => 'Calcolare', + 'City' => 'Città', + 'Class' => 'Classe', + 'Client' => 'Cliente', + 'ClientID' => 'Identificativo cliente', + 'ClientName' => 'nome del cliente', + 'Clients' => 'Clienti', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Conferma', + 'CoreData' => 'Dati principali', + 'Country' => 'Nazione', + 'Created' => 'Creato', + 'Creator' => 'Creatore', + 'CreditNote' => 'Nota di credito', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => 'Data', + 'DefaultInternational' => 'Default International.', + 'DefaultNational' => 'National default.', + 'Delivery' => 'Consegna', + 'DeliveryNote' => 'Bolla d\'accompagnamento', + 'Description' => 'Descrizione', + 'Discount' => 'Sconto', + 'DiscountP' => 'Sconto in%', + 'Documentation' => 'Documentazione', + 'Employee' => 'Dipendente', + 'End' => '#VALUE!', + 'FAO' => 'FAO.', + 'From' => 'A partire dal', + 'Group' => 'Gruppo', + 'Groups' => 'Gruppi', + 'Highest' => 'Massimo', + 'Inactive' => 'Non attivo', + 'Interval' => 'Intervallo', + 'Invoice' => 'Fattura', + 'Invoices' => 'Fatture', + 'IsDefault' => 'È predefinito?', + 'Language' => 'Lingua', + 'Last' => 'Scorso', + 'Localization' => 'Localizzazione', + 'Loginname' => 'Nome di login', + 'Matchcode' => 'Matchcode.', + 'Media' => 'Media', + 'MinPrice' => 'Prezzo minimo', + 'Name' => 'Nome', + 'Name1' => 'Nome 1.', + 'Name2' => 'Nome 2.', + 'Name3' => 'Nome 3.', + 'Offer' => 'Offerta', + 'Order' => 'Ordine', + 'Ordered' => 'Ordinato', + 'OrderedBy' => 'Ordinato da', + 'Orders' => 'Ordini', + 'Payment' => 'Pagamento', + 'Price' => 'Prezzo', + 'Priority' => 'Priorità', + 'Profit' => '#VALUE!', + 'Quantity' => 'Quantità', + 'Receipt' => 'Ricevuta', + 'Reference' => 'Riferimento', + 'Sales' => 'Saldi', + 'Settings' => 'Impostazioni', + 'Single' => 'Separare', + 'Start' => '#VALUE!', + 'State' => 'Stato', + 'Statistics' => 'Statistiche', + 'Status' => 'Stato', + 'Stock' => 'Azione', + 'Street' => 'strada', + 'Subgroup' => 'Sottogruppo', + 'Tax' => 'Imposta', + 'Terms' => 'Termini', + 'To' => 'a', + 'TopArticles' => 'Articoli migliori', + 'Trend' => 'Tendenza', + 'Turnover' => 'Turnover', + 'Type' => 'Tipo', + 'ZipCode' => 'Cap', +]]; diff --git a/Theme/Backend/Lang/ja.lang.php b/Theme/Backend/Lang/ja.lang.php new file mode 100755 index 0000000..f8a9b33 --- /dev/null +++ b/Theme/Backend/Lang/ja.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'アカウント', + 'Active' => 'アクティブ', + 'Activity' => 'アクティビティ', + 'Address' => '住所', + 'All' => '全て', + 'Amount' => '額', + 'Analysis' => '分析', + 'Analyze' => '#VALUE!', + 'Area' => '領域', + 'Article' => '記事', + 'Articles' => 'articles', + 'Available' => '利用可能', + 'Calculate' => '計算する', + 'City' => '市', + 'Class' => 'クラス', + 'Client' => 'クライアント', + 'ClientID' => 'クライアントID', + 'ClientName' => 'クライアント名', + 'Clients' => 'クライアント', + 'Comparison' => '#VALUE!', + 'Confirmation' => '確認', + 'CoreData' => 'コアデータ', + 'Country' => '国', + 'Created' => '作成した', + 'Creator' => 'クリエーター', + 'CreditNote' => 'クレジットノート', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => '日にち', + 'DefaultInternational' => 'デフォルトの国際', + 'DefaultNational' => 'デフォルトの国', + 'Delivery' => '配達', + 'DeliveryNote' => '配達メモ', + 'Description' => '説明', + 'Discount' => '割引', + 'DiscountP' => '割引%', + 'Documentation' => 'ドキュメンテーション', + 'Employee' => '従業員', + 'End' => '#VALUE!', + 'FAO' => 'fa fa', + 'From' => 'から', + 'Group' => 'グループ', + 'Groups' => '団体', + 'Highest' => '最高', + 'Inactive' => '非活性', + 'Interval' => '間隔', + 'Invoice' => '請求書', + 'Invoices' => '請求書', + 'IsDefault' => 'デフォルトですか?', + 'Language' => '言語', + 'Last' => '最後', + 'Localization' => 'ローカライズ', + 'Loginname' => 'ログイン名', + 'Matchcode' => 'マッチコード', + 'Media' => 'メディア', + 'MinPrice' => '最小価格', + 'Name' => '名前', + 'Name1' => '名前1', + 'Name2' => '名前2', + 'Name3' => '名前3', + 'Offer' => 'オファー', + 'Order' => '注文', + 'Ordered' => '順序付けられました', + 'OrderedBy' => 'によって順序付け', + 'Orders' => '命令', + 'Payment' => '支払い', + 'Price' => '価格', + 'Priority' => '優先度', + 'Profit' => '#VALUE!', + 'Quantity' => '量', + 'Receipt' => 'レシート', + 'Reference' => 'リファレンス', + 'Sales' => '売り返り', + 'Settings' => '設定', + 'Single' => '独身', + 'Start' => '#VALUE!', + 'State' => '州', + 'Statistics' => '統計学', + 'Status' => '状態', + 'Stock' => 'ストック', + 'Street' => '街', + 'Subgroup' => 'サブグループ', + 'Tax' => '税', + 'Terms' => '条項', + 'To' => 'に', + 'TopArticles' => 'トップ記事', + 'Trend' => '傾向', + 'Turnover' => 'ひっくり返す', + 'Type' => 'タイプ', + 'ZipCode' => '郵便番号', +]]; diff --git a/Theme/Backend/Lang/ko.lang.php b/Theme/Backend/Lang/ko.lang.php new file mode 100755 index 0000000..f7b7e8b --- /dev/null +++ b/Theme/Backend/Lang/ko.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => '계정', + 'Active' => '활동적인', + 'Activity' => '활동', + 'Address' => '주소', + 'All' => '모두', + 'Amount' => '양', + 'Analysis' => '분석', + 'Analyze' => '#VALUE!', + 'Area' => '지역', + 'Article' => '기사', + 'Articles' => '조항', + 'Available' => '사용 가능', + 'Calculate' => '계산하다', + 'City' => '도시', + 'Class' => '등급', + 'Client' => '고객', + 'ClientID' => '클라이언트 ID.', + 'ClientName' => '고객 이름', + 'Clients' => '클라이언트', + 'Comparison' => '#VALUE!', + 'Confirmation' => '확인', + 'CoreData' => '핵심 데이터', + 'Country' => '국가', + 'Created' => '만들어진', + 'Creator' => '창조자', + 'CreditNote' => '신용 노트', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => '날짜', + 'DefaultInternational' => '기본 국제', + 'DefaultNational' => '기본 내셔널', + 'Delivery' => '배달', + 'DeliveryNote' => '배달 메모', + 'Description' => '설명', + 'Discount' => '할인', + 'DiscountP' => '할인 %', + 'Documentation' => '선적 서류 비치', + 'Employee' => '직원', + 'End' => '#VALUE!', + 'FAO' => '조금', + 'From' => '에서', + 'Group' => '그룹', + 'Groups' => '여러 떼', + 'Highest' => '제일 높은', + 'Inactive' => '비활성으로', + 'Interval' => '간격', + 'Invoice' => '송장', + 'Invoices' => '송장', + 'IsDefault' => '기본값은 무엇입니까?', + 'Language' => '언어', + 'Last' => '마지막', + 'Localization' => '현지화', + 'Loginname' => '로그인 이름', + 'Matchcode' => '매치 코드', + 'Media' => '미디어', + 'MinPrice' => '최소 가격', + 'Name' => '이름', + 'Name1' => '이름 1', + 'Name2' => '이름 2', + 'Name3' => '이름 3.', + 'Offer' => '권하다', + 'Order' => '주문하다', + 'Ordered' => '주문했다', + 'OrderedBy' => '명령을 받았다', + 'Orders' => '명령', + 'Payment' => '지불', + 'Price' => '가격', + 'Priority' => '우선 사항', + 'Profit' => '#VALUE!', + 'Quantity' => '수량', + 'Receipt' => '영수증', + 'Reference' => '참조', + 'Sales' => '매상', + 'Settings' => '설정', + 'Single' => '하나의', + 'Start' => '#VALUE!', + 'State' => '상태', + 'Statistics' => '통계', + 'Status' => '상태', + 'Stock' => '재고', + 'Street' => '거리', + 'Subgroup' => '하급 집단', + 'Tax' => '세', + 'Terms' => '자귀', + 'To' => '에게', + 'TopArticles' => '최고 기사', + 'Trend' => '경향', + 'Turnover' => '회전율', + 'Type' => '유형', + 'ZipCode' => '우편 번호', +]]; diff --git a/Theme/Backend/Lang/no.lang.php b/Theme/Backend/Lang/no.lang.php new file mode 100755 index 0000000..f4e708c --- /dev/null +++ b/Theme/Backend/Lang/no.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Regnskap', + 'Active' => 'Aktiv', + 'Activity' => 'Aktivitet', + 'Address' => 'Adresse', + 'All' => 'Alle', + 'Amount' => 'Beløp', + 'Analysis' => 'Analyse', + 'Analyze' => '#VALUE!', + 'Area' => 'Område', + 'Article' => 'Artikkel', + 'Articles' => 'Artikler', + 'Available' => 'Tilgjengelig', + 'Calculate' => 'Regne ut', + 'City' => 'By', + 'Class' => 'Klasse', + 'Client' => 'Klient', + 'ClientID' => 'klient-ID', + 'ClientName' => 'Klientens navn', + 'Clients' => 'Klienter', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Bekreftelse', + 'CoreData' => 'Kjernedata', + 'Country' => 'Land', + 'Created' => 'Opprettet', + 'Creator' => 'Skaperen.', + 'CreditNote' => 'Kredittnota', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => 'Dato', + 'DefaultInternational' => 'Standard internasjonal', + 'DefaultNational' => 'Standard nasjonal', + 'Delivery' => 'Leveranse', + 'DeliveryNote' => 'Leveringsnotat', + 'Description' => 'Beskrivelse', + 'Discount' => 'Rabatt', + 'DiscountP' => 'Rabatt i%', + 'Documentation' => 'Dokumentasjon', + 'Employee' => 'Ansatt', + 'End' => '#VALUE!', + 'FAO' => 'FAO.', + 'From' => 'Fra', + 'Group' => 'Gruppe', + 'Groups' => 'Grupper', + 'Highest' => 'Høyeste', + 'Inactive' => 'Inaktiv', + 'Interval' => 'Intervall', + 'Invoice' => 'Faktura', + 'Invoices' => 'Fakturaer', + 'IsDefault' => 'Er standard?', + 'Language' => 'Språk', + 'Last' => 'Siste', + 'Localization' => 'Lokalisering', + 'Loginname' => 'Påloggingsnavn', + 'Matchcode' => 'MatchCode.', + 'Media' => 'Media', + 'MinPrice' => 'Min pris', + 'Name' => 'Navn', + 'Name1' => 'Navn 1', + 'Name2' => 'Navn 2.', + 'Name3' => 'Navn 3.', + 'Offer' => 'By på', + 'Order' => 'Rekkefølge', + 'Ordered' => 'Bestilt', + 'OrderedBy' => 'Bestilt av.', + 'Orders' => 'Bestillinger', + 'Payment' => 'innbetaling', + 'Price' => 'Pris', + 'Priority' => 'Prioritet', + 'Profit' => '#VALUE!', + 'Quantity' => 'Mengde', + 'Receipt' => 'Kvittering', + 'Reference' => 'Referanse', + 'Sales' => 'Salg', + 'Settings' => 'Innstillinger', + 'Single' => 'Enkelt', + 'Start' => '#VALUE!', + 'State' => 'Stat', + 'Statistics' => 'Statistikk', + 'Status' => 'Status', + 'Stock' => 'Lager', + 'Street' => 'gate', + 'Subgroup' => 'Undergruppe', + 'Tax' => 'Avgift', + 'Terms' => 'Vilkårene', + 'To' => 'Til', + 'TopArticles' => 'Toppartikler', + 'Trend' => 'Trend', + 'Turnover' => 'Omsetning', + 'Type' => 'Type', + 'ZipCode' => 'Post kode', +]]; diff --git a/Theme/Backend/Lang/pl.lang.php b/Theme/Backend/Lang/pl.lang.php new file mode 100755 index 0000000..f3eb54e --- /dev/null +++ b/Theme/Backend/Lang/pl.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Rachunek', + 'Active' => 'Aktywny', + 'Activity' => 'Czynność', + 'Address' => 'Adres', + 'All' => 'Wszystkie', + 'Amount' => 'Kwota', + 'Analysis' => 'Analiza', + 'Analyze' => '#VALUE!', + 'Area' => 'Powierzchnia', + 'Article' => 'Artykuł', + 'Articles' => 'Artykuły', + 'Available' => 'Dostępny', + 'Calculate' => 'Oblicz', + 'City' => 'Miasto', + 'Class' => 'Klasa', + 'Client' => 'Klient', + 'ClientID' => 'Identyfikator klienta', + 'ClientName' => 'Nazwa klienta', + 'Clients' => 'Klienci.', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Potwierdzenie', + 'CoreData' => 'Podstawowe dane', + 'Country' => 'Kraj', + 'Created' => 'Utworzony', + 'Creator' => 'Twórca', + 'CreditNote' => 'Uwaga kredytowa', + 'Current' => '#VALUE!', + 'DSO' => 'DSO.', + 'Date' => 'Data', + 'DefaultInternational' => 'Domyślny międzynarodowy', + 'DefaultNational' => 'Domyślny National.', + 'Delivery' => 'Dostawa', + 'DeliveryNote' => 'Dowód dostawy', + 'Description' => 'Opis', + 'Discount' => 'Zniżka', + 'DiscountP' => 'Zniżka w%', + 'Documentation' => 'Dokumentacja', + 'Employee' => 'Pracownik', + 'End' => '#VALUE!', + 'FAO' => 'Fao.', + 'From' => 'Z', + 'Group' => 'Grupa', + 'Groups' => 'Grupy', + 'Highest' => 'Najwyższy', + 'Inactive' => 'Nieaktywny', + 'Interval' => 'Interwał', + 'Invoice' => 'Faktura', + 'Invoices' => 'Faktury', + 'IsDefault' => 'Jest domyślnie?', + 'Language' => 'Język', + 'Last' => 'Ostatni, ubiegły, zeszły', + 'Localization' => 'Lokalizacja', + 'Loginname' => 'Nazwa użytkownika', + 'Matchcode' => 'MatchCode.', + 'Media' => 'Głoska bezdźwięczna', + 'MinPrice' => 'Cena min', + 'Name' => 'Nazwa', + 'Name1' => 'Nazwa 1.', + 'Name2' => 'Nazwa 2.', + 'Name3' => 'Nazwa 3.', + 'Offer' => 'Oferta', + 'Order' => 'Zamówienie', + 'Ordered' => 'Uporządkowany', + 'OrderedBy' => 'Zamówiony przez', + 'Orders' => 'Zamówienia', + 'Payment' => 'Zapłata', + 'Price' => 'Cena £', + 'Priority' => 'Priorytet', + 'Profit' => '#VALUE!', + 'Quantity' => 'Ilość', + 'Receipt' => 'Paragon fiskalny', + 'Reference' => 'Odniesienie', + 'Sales' => 'Obroty', + 'Settings' => 'Ustawienia', + 'Single' => 'Pojedynczy', + 'Start' => '#VALUE!', + 'State' => 'Państwo', + 'Statistics' => 'Statystyka', + 'Status' => 'Status', + 'Stock' => 'Magazyn', + 'Street' => 'Ulica', + 'Subgroup' => 'Podgrupa', + 'Tax' => 'Podatek', + 'Terms' => 'Semestry', + 'To' => 'Do', + 'TopArticles' => 'Najlepsze artykuły', + 'Trend' => 'Tendencja', + 'Turnover' => 'Obrót', + 'Type' => 'Rodzaj', + 'ZipCode' => 'Kod pocztowy', +]]; diff --git a/Theme/Backend/Lang/pt.lang.php b/Theme/Backend/Lang/pt.lang.php new file mode 100755 index 0000000..681f4bc --- /dev/null +++ b/Theme/Backend/Lang/pt.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Conta', + 'Active' => 'Ativo', + 'Activity' => 'Atividade', + 'Address' => 'Endereço', + 'All' => 'Tudo', + 'Amount' => 'Montante', + 'Analysis' => 'Análise', + 'Analyze' => '#VALUE!', + 'Area' => 'Área', + 'Article' => 'Artigo', + 'Articles' => 'Artigos', + 'Available' => 'Disponível', + 'Calculate' => 'Calcular', + 'City' => 'Cidade', + 'Class' => 'Classe', + 'Client' => 'Cliente', + 'ClientID' => 'ID do Cliente', + 'ClientName' => 'Nome do cliente', + 'Clients' => 'Clientes', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Confirmação', + 'CoreData' => 'Dados principais', + 'Country' => 'País', + 'Created' => 'Criado', + 'Creator' => 'O Criador', + 'CreditNote' => 'Nota de crédito', + 'Current' => '#VALUE!', + 'DSO' => 'Dso.', + 'Date' => 'Encontro', + 'DefaultInternational' => 'Padrão Internacional', + 'DefaultNational' => 'Nacional padrão', + 'Delivery' => 'Entrega', + 'DeliveryNote' => 'Nota de entrega', + 'Description' => 'Descrição', + 'Discount' => 'Desconto', + 'DiscountP' => 'Desconto em%', + 'Documentation' => 'Documentação', + 'Employee' => 'Funcionário', + 'End' => '#VALUE!', + 'FAO' => 'FAO.', + 'From' => 'A partir de', + 'Group' => 'Grupo', + 'Groups' => 'Grupos', + 'Highest' => 'Altíssima', + 'Inactive' => 'Inativo', + 'Interval' => 'Intervalo', + 'Invoice' => 'Fatura', + 'Invoices' => 'Faturas', + 'IsDefault' => 'É padrão?', + 'Language' => 'Língua', + 'Last' => 'Durar', + 'Localization' => 'Localização', + 'Loginname' => 'Nome de acesso', + 'Matchcode' => 'Código de combinação', + 'Media' => 'meios de comunicação', + 'MinPrice' => 'Preço mínimo', + 'Name' => 'Nome', + 'Name1' => 'Nome 1.', + 'Name2' => 'Nome 2.', + 'Name3' => 'Nome 3.', + 'Offer' => 'Oferta', + 'Order' => 'Pedido', + 'Ordered' => 'Encomendado', + 'OrderedBy' => 'Ordenado por', + 'Orders' => 'Pedidos', + 'Payment' => 'Pagamento', + 'Price' => 'Preço', + 'Priority' => 'Prioridade', + 'Profit' => '#VALUE!', + 'Quantity' => 'Quantidade', + 'Receipt' => 'Recibo', + 'Reference' => 'Referência', + 'Sales' => 'Vendas', + 'Settings' => 'Configurações', + 'Single' => 'Solteiro', + 'Start' => '#VALUE!', + 'State' => 'Estado', + 'Statistics' => 'Estatisticas', + 'Status' => 'Status', + 'Stock' => 'Estoque', + 'Street' => 'rua', + 'Subgroup' => 'Subgrupo', + 'Tax' => 'Imposto', + 'Terms' => 'Termos.', + 'To' => 'Para', + 'TopArticles' => 'Artigos de topo', + 'Trend' => 'Tendência', + 'Turnover' => 'Volume de negócios', + 'Type' => 'Modelo', + 'ZipCode' => 'CEP', +]]; diff --git a/Theme/Backend/Lang/ru.lang.php b/Theme/Backend/Lang/ru.lang.php new file mode 100755 index 0000000..e59979e --- /dev/null +++ b/Theme/Backend/Lang/ru.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Счет', + 'Active' => 'Активный', + 'Activity' => 'Мероприятия', + 'Address' => 'Адрес', + 'All' => 'Все', + 'Amount' => 'Количество', + 'Analysis' => 'Анализ', + 'Analyze' => '#VALUE!', + 'Area' => 'Площадь', + 'Article' => 'Статья', + 'Articles' => 'Статьи', + 'Available' => 'Доступный', + 'Calculate' => 'Рассчитать', + 'City' => 'Город', + 'Class' => 'Класс', + 'Client' => 'Клиент', + 'ClientID' => 'ID клиента', + 'ClientName' => 'имя клиента', + 'Clients' => 'Клиенты', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Подтверждение', + 'CoreData' => 'Основные данные', + 'Country' => 'Страна', + 'Created' => 'Созданный', + 'Creator' => 'Создатель', + 'CreditNote' => 'Кредитная нота', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => 'Дата', + 'DefaultInternational' => 'Default International', + 'DefaultNational' => 'Национальный по умолчанию', + 'Delivery' => 'Доставка', + 'DeliveryNote' => 'Накладная', + 'Description' => 'Описание', + 'Discount' => 'Скидка', + 'DiscountP' => 'Скидка в%', + 'Documentation' => 'Документация', + 'Employee' => 'Наемный рабочий', + 'End' => '#VALUE!', + 'FAO' => 'ФАО', + 'From' => 'От', + 'Group' => 'Группа', + 'Groups' => 'Группы', + 'Highest' => 'Наибольший', + 'Inactive' => 'Неактивный', + 'Interval' => 'Интервал', + 'Invoice' => 'Счет', + 'Invoices' => 'Счета', + 'IsDefault' => 'По умолчанию?', + 'Language' => 'Язык', + 'Last' => 'Последний', + 'Localization' => 'Локализация', + 'Loginname' => 'Логин', + 'Matchcode' => 'MatchCode.', + 'Media' => 'Средства массовой информации', + 'MinPrice' => 'Мин цена', + 'Name' => 'Имя', + 'Name1' => 'Имя 1.', + 'Name2' => 'Имя 2.', + 'Name3' => 'Имя 3.', + 'Offer' => 'Предложение', + 'Order' => 'Заказ', + 'Ordered' => 'Заказал', + 'OrderedBy' => 'Заказан', + 'Orders' => 'Заказывает', + 'Payment' => 'Оплата', + 'Price' => 'Цена', + 'Priority' => 'Приоритет', + 'Profit' => '#VALUE!', + 'Quantity' => 'Количество', + 'Receipt' => 'Квитанция', + 'Reference' => 'Ссылка', + 'Sales' => 'Продажи', + 'Settings' => 'Настройки', + 'Single' => 'Одинокий', + 'Start' => '#VALUE!', + 'State' => 'Состояние', + 'Statistics' => 'Статистика', + 'Status' => 'Статус', + 'Stock' => 'Склад', + 'Street' => 'улица', + 'Subgroup' => 'Подгруппа', + 'Tax' => 'Налог', + 'Terms' => 'Условия', + 'To' => 'К', + 'TopArticles' => 'Лучшие статьи', + 'Trend' => 'Тренд', + 'Turnover' => 'Оборот', + 'Type' => 'Тип', + 'ZipCode' => 'Почтовый Индекс', +]]; diff --git a/Theme/Backend/Lang/sv.lang.php b/Theme/Backend/Lang/sv.lang.php new file mode 100755 index 0000000..667efb9 --- /dev/null +++ b/Theme/Backend/Lang/sv.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'konto', + 'Active' => 'Aktiva', + 'Activity' => 'Aktivitet', + 'Address' => 'Adress', + 'All' => 'Allt', + 'Amount' => 'Belopp', + 'Analysis' => 'Analys', + 'Analyze' => '#VALUE!', + 'Area' => 'Område', + 'Article' => 'Artikel', + 'Articles' => 'Artiklar', + 'Available' => 'Tillgängligt', + 'Calculate' => 'Beräkna', + 'City' => 'Stad', + 'Class' => 'Klass', + 'Client' => 'Klient', + 'ClientID' => 'Klient ID', + 'ClientName' => 'Kundnamn', + 'Clients' => 'Klienter', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Bekräftelse', + 'CoreData' => 'Kärndata', + 'Country' => 'Land', + 'Created' => 'Skapad', + 'Creator' => 'Skapare', + 'CreditNote' => 'Kreditanteckning', + 'Current' => '#VALUE!', + 'DSO' => 'Do', + 'Date' => 'Datum', + 'DefaultInternational' => 'Standard International', + 'DefaultNational' => 'Standard nationell', + 'Delivery' => 'Leverans', + 'DeliveryNote' => 'Leveransanteckning', + 'Description' => 'Beskrivning', + 'Discount' => 'Rabatt', + 'DiscountP' => 'Rabatt i%', + 'Documentation' => 'Dokumentation', + 'Employee' => 'Anställd', + 'End' => '#VALUE!', + 'FAO' => 'Fao', + 'From' => 'Från', + 'Group' => 'Grupp', + 'Groups' => 'Grupp', + 'Highest' => 'Högsta', + 'Inactive' => 'Inaktiv', + 'Interval' => 'Intervall', + 'Invoice' => 'Faktura', + 'Invoices' => 'Fakturor', + 'IsDefault' => 'Är standard?', + 'Language' => 'Språk', + 'Last' => 'Sista', + 'Localization' => 'Lokalisering', + 'Loginname' => 'Inloggningsnamn', + 'Matchcode' => 'Matchcode', + 'Media' => 'Media', + 'MinPrice' => 'Min pris', + 'Name' => 'namn', + 'Name1' => 'Namn 1', + 'Name2' => 'Namn 2', + 'Name3' => 'Namn 3', + 'Offer' => 'Erbjudande', + 'Order' => 'Beställa', + 'Ordered' => 'Beställde', + 'OrderedBy' => 'Beställd av', + 'Orders' => 'Order', + 'Payment' => 'Betalning', + 'Price' => 'Pris', + 'Priority' => 'Prioritet', + 'Profit' => '#VALUE!', + 'Quantity' => 'Kvantitet', + 'Receipt' => 'Mottagande', + 'Reference' => 'Referens', + 'Sales' => 'Försäljning', + 'Settings' => 'inställningar', + 'Single' => 'Enda', + 'Start' => '#VALUE!', + 'State' => 'stat', + 'Statistics' => 'Statistik', + 'Status' => 'Status', + 'Stock' => 'Stock', + 'Street' => 'Gata', + 'Subgroup' => 'Undergrupp', + 'Tax' => 'Beskatta', + 'Terms' => 'Villkor', + 'To' => 'Till', + 'TopArticles' => 'Toppartiklar', + 'Trend' => 'Trend', + 'Turnover' => 'Omsättning', + 'Type' => 'Typ', + 'ZipCode' => 'Postnummer', +]]; diff --git a/Theme/Backend/Lang/th.lang.php b/Theme/Backend/Lang/th.lang.php new file mode 100755 index 0000000..d9474bb --- /dev/null +++ b/Theme/Backend/Lang/th.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'บัญชี', + 'Active' => 'คล่องแคล่ว', + 'Activity' => 'กิจกรรม', + 'Address' => 'ที่อยู่', + 'All' => 'ทั้งหมด', + 'Amount' => 'จำนวน', + 'Analysis' => 'การวิเคราะห์', + 'Analyze' => '#VALUE!', + 'Area' => 'พื้นที่', + 'Article' => 'บทความ', + 'Articles' => 'บทความ', + 'Available' => 'มีอยู่', + 'Calculate' => 'คำนวณ', + 'City' => 'เมือง', + 'Class' => 'ระดับ', + 'Client' => 'ลูกค้า', + 'ClientID' => 'รหัสลูกค้า', + 'ClientName' => 'ชื่อลูกค้า', + 'Clients' => 'ลูกค้า', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'การยืนยัน', + 'CoreData' => 'ข้อมูลหลัก', + 'Country' => 'ประเทศ', + 'Created' => 'สร้าง', + 'Creator' => 'ผู้สร้าง', + 'CreditNote' => 'ใบลดหนี้', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => 'วันที่', + 'DefaultInternational' => 'เริ่มต้นระหว่างประเทศ', + 'DefaultNational' => 'เริ่มต้นชาติ', + 'Delivery' => 'จัดส่ง', + 'DeliveryNote' => 'บันทึกการส่งมอบ', + 'Description' => 'คำอธิบาย', + 'Discount' => 'การลดราคา', + 'DiscountP' => 'ส่วนลดใน%', + 'Documentation' => 'เอกสาร', + 'Employee' => 'พนักงาน', + 'End' => '#VALUE!', + 'FAO' => 'คน', + 'From' => 'จาก', + 'Group' => 'กลุ่ม', + 'Groups' => 'กลุ่ม', + 'Highest' => 'สูงที่สุด', + 'Inactive' => 'ไม่ใช้งาน', + 'Interval' => 'ช่วงเวลา', + 'Invoice' => 'ใบแจ้งหนี้', + 'Invoices' => 'ใบแจ้งหนี้', + 'IsDefault' => 'เป็นค่าเริ่มต้น?', + 'Language' => 'ภาษา', + 'Last' => 'ล่าสุด', + 'Localization' => 'การแปล', + 'Loginname' => 'ชื่อเข้าสู่ระบบ', + 'Matchcode' => 'การจับคู่', + 'Media' => 'สื่อ', + 'MinPrice' => 'นาทีราคา', + 'Name' => 'ชื่อ', + 'Name1' => 'ชื่อ 1', + 'Name2' => 'ชื่อ 2', + 'Name3' => 'ชื่อ 3', + 'Offer' => 'เสนอ', + 'Order' => 'คำสั่ง', + 'Ordered' => 'ที่ได้รับคำสั่ง', + 'OrderedBy' => 'ได้รับคำสั่งจาก', + 'Orders' => 'คำสั่งซื้อ', + 'Payment' => 'การชำระเงิน', + 'Price' => 'ราคา', + 'Priority' => 'ลำดับความสำคัญ', + 'Profit' => '#VALUE!', + 'Quantity' => 'ปริมาณ', + 'Receipt' => 'ใบเสร็จ', + 'Reference' => 'อ้างอิง', + 'Sales' => 'ฝ่ายขาย', + 'Settings' => 'การตั้งค่า', + 'Single' => 'เดี่ยว', + 'Start' => '#VALUE!', + 'State' => 'สถานะ', + 'Statistics' => 'สถิติ', + 'Status' => 'สถานะ', + 'Stock' => 'คลังสินค้า', + 'Street' => 'ถนน', + 'Subgroup' => 'กลุ่มย่อย', + 'Tax' => 'ภาษี', + 'Terms' => 'เงื่อนไข', + 'To' => 'ถึง', + 'TopArticles' => 'บทความยอดนิยม', + 'Trend' => 'แนวโน้ม', + 'Turnover' => 'การหมุนเวียน', + 'Type' => 'พิมพ์', + 'ZipCode' => 'รหัสไปรษณีย์', +]]; diff --git a/Theme/Backend/Lang/tr.lang.php b/Theme/Backend/Lang/tr.lang.php new file mode 100755 index 0000000..9cbdcd9 --- /dev/null +++ b/Theme/Backend/Lang/tr.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Hesap', + 'Active' => 'Aktif', + 'Activity' => 'Aktivite', + 'Address' => 'Adres', + 'All' => 'Herşey', + 'Amount' => 'Miktar', + 'Analysis' => 'Analiz', + 'Analyze' => '#VALUE!', + 'Area' => 'Alan', + 'Article' => 'Madde', + 'Articles' => 'Nesne', + 'Available' => 'Mevcut', + 'Calculate' => 'Hesaplamak', + 'City' => 'Şehir', + 'Class' => 'Sınıf', + 'Client' => 'Müşteri', + 'ClientID' => 'Müşteri Kimliği', + 'ClientName' => 'Müşteri Adı', + 'Clients' => 'Müşteriler', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Onayla', + 'CoreData' => 'Temel veri', + 'Country' => 'Ülke', + 'Created' => 'Yaratılmış', + 'Creator' => 'Yaratıcı', + 'CreditNote' => 'Kredi notu', + 'Current' => '#VALUE!', + 'DSO' => 'Dso', + 'Date' => 'Tarih', + 'DefaultInternational' => 'Varsayılan Uluslararası', + 'DefaultNational' => 'Varsayılan ulusal', + 'Delivery' => 'Teslimat', + 'DeliveryNote' => 'Teslimat notu', + 'Description' => 'Açıklama', + 'Discount' => 'İndirim', + 'DiscountP' => '% İndirim', + 'Documentation' => 'Belgeler', + 'Employee' => 'Çalışan', + 'End' => '#VALUE!', + 'FAO' => 'FAO', + 'From' => 'İtibaren', + 'Group' => 'Grup', + 'Groups' => 'Gruplar', + 'Highest' => 'En yüksek', + 'Inactive' => 'Aktif olmayan', + 'Interval' => 'Aralık', + 'Invoice' => 'Fatura', + 'Invoices' => 'Faturalar', + 'IsDefault' => 'Varsayılan mı?', + 'Language' => 'Dilim', + 'Last' => 'Geçen', + 'Localization' => 'Yerelleştirme', + 'Loginname' => 'Kullanıcı adı', + 'Matchcode' => 'Maç Kodu', + 'Media' => 'Medya', + 'MinPrice' => 'Minik fiyat', + 'Name' => 'İsim', + 'Name1' => 'İsim 1', + 'Name2' => 'İsim 2', + 'Name3' => 'ADI 3', + 'Offer' => 'Teklif', + 'Order' => 'Emir', + 'Ordered' => 'Emir', + 'OrderedBy' => 'Tarafından sipariş edildi', + 'Orders' => 'Emirler', + 'Payment' => 'Ödeme', + 'Price' => 'Fiyat', + 'Priority' => 'Öncelik', + 'Profit' => '#VALUE!', + 'Quantity' => 'Miktar', + 'Receipt' => 'Fiş', + 'Reference' => 'Referans', + 'Sales' => 'Satış', + 'Settings' => 'Ayarlar', + 'Single' => 'Bekar', + 'Start' => '#VALUE!', + 'State' => 'Belirtmek, bildirmek', + 'Statistics' => 'İstatistik', + 'Status' => 'Durum', + 'Stock' => 'Stoklamak', + 'Street' => 'sokak', + 'Subgroup' => 'Alt grup', + 'Tax' => 'Vergi', + 'Terms' => 'Terimler', + 'To' => 'İle', + 'TopArticles' => 'En iyi makaleler', + 'Trend' => 'Akım', + 'Turnover' => 'Devir', + 'Type' => 'Tip', + 'ZipCode' => 'Posta kodu', +]]; diff --git a/Theme/Backend/Lang/uk.lang.php b/Theme/Backend/Lang/uk.lang.php new file mode 100755 index 0000000..a3879cd --- /dev/null +++ b/Theme/Backend/Lang/uk.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => 'Обліковий запис', + 'Active' => 'Активний', + 'Activity' => 'Діяльність', + 'Address' => 'Адреса', + 'All' => 'Все', + 'Amount' => 'Сума', + 'Analysis' => 'Аналіз', + 'Analyze' => '#VALUE!', + 'Area' => 'Площа', + 'Article' => 'Стаття', + 'Articles' => 'Статті', + 'Available' => 'Доступний', + 'Calculate' => 'Розраховувати', + 'City' => 'Місто', + 'Class' => 'Клас', + 'Client' => 'Клієнт', + 'ClientID' => 'Ідентифікатор клієнта', + 'ClientName' => 'Назва клієнта', + 'Clients' => 'Клієнти', + 'Comparison' => '#VALUE!', + 'Confirmation' => 'Підтвердження', + 'CoreData' => 'Основні дані', + 'Country' => 'Країна', + 'Created' => 'Створений', + 'Creator' => 'Творець', + 'CreditNote' => 'Кредитове авізо', + 'Current' => '#VALUE!', + 'DSO' => 'Дз', + 'Date' => 'Дата', + 'DefaultInternational' => 'Міжнародний за замовчуванням', + 'DefaultNational' => 'Національний за замовчуванням', + 'Delivery' => 'Доставка', + 'DeliveryNote' => 'Накладна', + 'Description' => 'Опис', + 'Discount' => 'Знижка', + 'DiscountP' => 'Знижка у%', + 'Documentation' => 'Документація', + 'Employee' => 'Співробітник', + 'End' => '#VALUE!', + 'FAO' => 'Фах', + 'From' => 'Від', + 'Group' => 'Група', + 'Groups' => 'Групи', + 'Highest' => 'Найвищий', + 'Inactive' => 'Неактивний', + 'Interval' => 'Інтервал', + 'Invoice' => 'Рахунок-фактура', + 'Invoices' => 'Рахунки-фактури', + 'IsDefault' => 'Чи є за замовчуванням?', + 'Language' => 'Мову', + 'Last' => 'Остання', + 'Localization' => 'Локалізація', + 'Loginname' => 'Логін', + 'Matchcode' => 'Матч', + 'Media' => 'Медіа', + 'MinPrice' => 'Ціна', + 'Name' => 'Назва', + 'Name1' => 'Ім\'я 1', + 'Name2' => 'Ім\'я 2', + 'Name3' => 'Назва 3', + 'Offer' => 'Пропозиція', + 'Order' => 'Порядок', + 'Ordered' => 'Упорядкований', + 'OrderedBy' => 'Замовлений', + 'Orders' => 'Накази', + 'Payment' => 'Платіж', + 'Price' => 'Ціна', + 'Priority' => 'Пріоритет', + 'Profit' => '#VALUE!', + 'Quantity' => 'Кількість', + 'Receipt' => 'Квитанція', + 'Reference' => 'Довідник', + 'Sales' => 'Продаж', + 'Settings' => 'Налаштування', + 'Single' => 'Одиночний', + 'Start' => '#VALUE!', + 'State' => 'Держава', + 'Statistics' => 'Статистика', + 'Status' => 'Статус', + 'Stock' => 'Запас', + 'Street' => 'Вулиця', + 'Subgroup' => 'Підгруп', + 'Tax' => 'Оподаткування', + 'Terms' => 'Умови', + 'To' => 'До', + 'TopArticles' => 'Топці', + 'Trend' => 'Тенденція', + 'Turnover' => 'Оборот', + 'Type' => 'Тип', + 'ZipCode' => 'ЗІП код', +]]; diff --git a/Theme/Backend/Lang/zh.lang.php b/Theme/Backend/Lang/zh.lang.php new file mode 100755 index 0000000..99f1248 --- /dev/null +++ b/Theme/Backend/Lang/zh.lang.php @@ -0,0 +1,106 @@ + [ + 'Account' => '帐户', + 'Active' => '积极的', + 'Activity' => '活动', + 'Address' => '地址', + 'All' => '全部', + 'Amount' => '数量', + 'Analysis' => '分析', + 'Analyze' => '#VALUE!', + 'Area' => '区域', + 'Article' => '文章', + 'Articles' => '文章', + 'Available' => '可用的', + 'Calculate' => '计算', + 'City' => '城市', + 'Class' => '班级', + 'Client' => '客户', + 'ClientID' => '客户ID', + 'ClientName' => '客户名称', + 'Clients' => '客户', + 'Comparison' => '#VALUE!', + 'Confirmation' => '确认', + 'CoreData' => '核心数据', + 'Country' => '国家', + 'Created' => '创造了', + 'Creator' => '创造者', + 'CreditNote' => '信用票据', + 'Current' => '#VALUE!', + 'DSO' => 'DSO', + 'Date' => '日期', + 'DefaultInternational' => '违约国际', + 'DefaultNational' => '违约国家', + 'Delivery' => '交货', + 'DeliveryNote' => '送货单', + 'Description' => '描述', + 'Discount' => '折扣', + 'DiscountP' => '折扣%%', + 'Documentation' => '文件', + 'Employee' => '员工', + 'End' => '#VALUE!', + 'FAO' => '粮农组织', + 'From' => '从', + 'Group' => '团体', + 'Groups' => '团体', + 'Highest' => '最高', + 'Inactive' => '不活跃', + 'Interval' => '间隔', + 'Invoice' => '发票', + 'Invoices' => '发票', + 'IsDefault' => '默认为默认情况下?', + 'Language' => '语', + 'Last' => '最后的', + 'Localization' => '本土化', + 'Loginname' => '登录名', + 'Matchcode' => '匹配码', + 'Media' => '媒体', + 'MinPrice' => '最终价格', + 'Name' => '名称', + 'Name1' => '名称1', + 'Name2' => '名称2', + 'Name3' => '名称3.', + 'Offer' => '提供', + 'Order' => '命令', + 'Ordered' => '订购', + 'OrderedBy' => '订购', + 'Orders' => '命令', + 'Payment' => '支付', + 'Price' => '价格', + 'Priority' => '优先事项', + 'Profit' => '#VALUE!', + 'Quantity' => '数量', + 'Receipt' => '收据', + 'Reference' => '参考', + 'Sales' => '销售量', + 'Settings' => '设置', + 'Single' => '单身的', + 'Start' => '#VALUE!', + 'State' => '状态', + 'Statistics' => '统计数据', + 'Status' => '地位', + 'Stock' => '库存', + 'Street' => '街道', + 'Subgroup' => '亚组', + 'Tax' => '税', + 'Terms' => '条款', + 'To' => '到', + 'TopArticles' => '顶级文章', + 'Trend' => '趋势', + 'Turnover' => '周转', + 'Type' => '类型', + 'ZipCode' => '邮政编码', +]]; diff --git a/Theme/Backend/sales-analysis-dashboard.tpl.php b/Theme/Backend/sales-analysis-dashboard.tpl.php new file mode 100755 index 0000000..d650dbb --- /dev/null +++ b/Theme/Backend/sales-analysis-dashboard.tpl.php @@ -0,0 +1,399 @@ +getData('nav')->render(); +?> + +
+
+
+
+

getHtml('Current'); ?>

+
+
+ + +
+ +
+ + +
+
+ +

getHtml('Comparison'); ?>

+
+
+ + +
+ +
+ + +
+
+
+
+ +
+
+
+ +
+
+
Actual
+
+
+
Sales MTD:
+
+12.0 %
+
+ +
+
Sales YTD:
+
+1.2 %
+
+ +
+
Gross Profit Current:
+
+12.0 %
+
+ +
+
Gross Profit Previous:
+
+1.2 %
+
+
+
+
+ +
+
+
Budget
+
+
+
Sales MTD:
+
+12.0 %
+
+ +
+
Sales YTD:
+
+1.2 %
+
+ +
+
Gross Profit Current:
+
+12.0 %
+
+ +
+
Gross Profit Budget:
+
+1.2 %
+
+
+
+
+
+ +
+
+
+
+ Sales / Profit - Monthly + +
+ getData('monthlySalesCustomer'); ?> +
+ + + ], + "datasets": [ + { + "label": "getHtml('Profit'); ?>", + "type": "line", + "data": [ + + + ], + "yAxisID": "axis-2", + "fill": false, + "borderColor": "rgb(255, 99, 132)", + "backgroundColor": "rgb(255, 99, 132)", + "tension": 0.0 + }, + { + "label": "getHtml('Sales'); ?>", + "type": "bar", + "data": [ + + + ], + "yAxisID": "axis-1", + "fill": false, + "borderColor": "rgb(54, 162, 235)", + "backgroundColor": "rgb(54, 162, 235)", + "tension": 0.0 + } + ] + }, + "options": { + "title": { + "display": false, + "text": "Sales / Profit" + }, + "scales": { + "yAxes": [ + { + "id": "axis-1", + "display": true, + "position": "left" + }, + { + "id": "axis-2", + "display": true, + "position": "right", + "scaleLabel": { + "display": true, + "labelString": "getHtml('Profit'); ?>" + }, + "gridLines": { + "display": false + } + } + ] + } + } + }'> +
+ + +
+ + + + + + + +
Month + Sales + Customer count +
+ getCurrency(); ?> + + +
Total + getCurrency(); ?> + +
+
+
+
+
+
+ +
+
+
+ Sales / Profit - Annual + +
+ getData('annualSalesCustomer'); ?> +
+ + + ], + "datasets": [ + { + "label": "getHtml('Profit'); ?>", + "type": "line", + "data": [ + + + ], + "yAxisID": "axis-2", + "fill": false, + "borderColor": "rgb(255, 99, 132)", + "backgroundColor": "rgb(255, 99, 132)", + "tension": 0.0 + }, + { + "label": "getHtml('Sales'); ?>", + "type": "bar", + "data": [ + + + ], + "yAxisID": "axis-1", + "fill": false, + "borderColor": "rgb(54, 162, 235)", + "backgroundColor": "rgb(54, 162, 235)", + "tension": 0.0 + } + ] + }, + "options": { + "title": { + "display": false, + "text": "Sales / Profit" + }, + "scales": { + "yAxes": [ + { + "id": "axis-1", + "display": true, + "position": "left" + }, + { + "id": "axis-2", + "display": true, + "position": "right", + "scaleLabel": { + "display": true, + "labelString": "getHtml('Profit'); ?>" + }, + "gridLines": { + "display": false + } + } + ] + } + } + }'> +
+ + +
+ + + + + + +
Year + Sales + Customer count +
+ getCurrency(); ?> + + +
+
+
+
+
+
+
+ +
+
+
+
+ Sales / Attribute + +
+ + + + +
Product + Sales PY + Sales B + Sales A + Diff PY + Diff B +
+
+
+
+ +
+
+
+
+ Sales / Region + +
+ + + + +
Country + Sales PY + Sales B + Sales A + Diff PY + Diff B +
+
+
+
\ No newline at end of file diff --git a/composer.json b/composer.json new file mode 100755 index 0000000..fcc0462 --- /dev/null +++ b/composer.json @@ -0,0 +1,20 @@ +{ + "name": "karaka/karaka", + "description": "PHP Framework for Karaka.", + "authors": [ + { + "name": "Dennis Eichhorn", + "email": "spl1nes.com@googlemail.com" + } + ], + "require-dev": { + "phpunit/phpunit": ">=9.4", + "friendsofphp/php-cs-fixer": ">=3.8", + "squizlabs/php_codesniffer": ">=3.6", + "phpmd/phpmd": ">=2.9", + "phpstan/phpstan": ">=1.8.6", + "phan/phan": ">=3.2.6" + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/composer.lock b/composer.lock new file mode 100755 index 0000000..708ea35 --- /dev/null +++ b/composer.lock @@ -0,0 +1,4802 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "a7d5793a0158a42dd8436aeac8fef6c1", + "packages": [], + "packages-dev": [ + { + "name": "composer/pcre", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.0.0" + }, + "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": "2022-02-25T20:21:48+00:00" + }, + { + "name": "composer/semver", + "version": "3.3.2", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", + "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.3.2" + }, + "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": "2022-04-01T19:23:25+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "ced299686f41dce890debac69273b47ffe98a40c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^6.0" + }, + "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" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + }, + "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": "2022-02-25T21:32:43+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.13.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "5b668aef16090008790395c02c893b1ba13f7e08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08", + "reference": "5b668aef16090008790395c02c893b1ba13f7e08", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" + }, + "require-dev": { + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/coding-standard": "^6.0 || ^8.1", + "phpstan/phpstan": "^0.12.20", + "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", + "symfony/cache": "^4.4 || ^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "support": { + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/1.13.2" + }, + "time": "2021-08-05T19:00:23+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc", + "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "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.22" + }, + "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" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/1.4.1" + }, + "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-03-03T08:28:38+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^1.3", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "vimeo/psalm": "^4.11" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.3" + }, + "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%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-02-28T11:07:21+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", + "support": { + "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", + "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" + }, + "time": "2021-06-11T22:34:44+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v3.8.0", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", + "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3", + "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3", + "shasum": "" + }, + "require": { + "composer/semver": "^3.2", + "composer/xdebug-handler": "^3.0.3", + "doctrine/annotations": "^1.13", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0", + "php-cs-fixer/diff": "^2.0", + "symfony/console": "^5.4 || ^6.0", + "symfony/event-dispatcher": "^5.4 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0", + "symfony/finder": "^5.4 || ^6.0", + "symfony/options-resolver": "^5.4 || ^6.0", + "symfony/polyfill-mbstring": "^1.23", + "symfony/polyfill-php80": "^1.25", + "symfony/polyfill-php81": "^1.25", + "symfony/process": "^5.4 || ^6.0", + "symfony/stopwatch": "^5.4 || ^6.0" + }, + "require-dev": { + "justinrainbow/json-schema": "^5.2", + "keradus/cli-executor": "^1.5", + "mikey179/vfsstream": "^1.6.10", + "php-coveralls/php-coveralls": "^2.5.2", + "php-cs-fixer/accessible-object": "^1.1", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", + "phpspec/prophecy": "^1.15", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "phpunitgoodpractices/polyfill": "^1.5", + "phpunitgoodpractices/traits": "^1.9.1", + "symfony/phpunit-bridge": "^6.0", + "symfony/yaml": "^5.4 || ^6.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "support": { + "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", + "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.8.0" + }, + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2022-03-18T17:20:59+00:00" + }, + { + "name": "microsoft/tolerant-php-parser", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/microsoft/tolerant-php-parser.git", + "reference": "6a965617cf484355048ac6d2d3de7b6ec93abb16" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/microsoft/tolerant-php-parser/zipball/6a965617cf484355048ac6d2d3de7b6ec93abb16", + "reference": "6a965617cf484355048ac6d2d3de7b6ec93abb16", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.15" + }, + "type": "library", + "autoload": { + "psr-4": { + "Microsoft\\PhpParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Lourens", + "email": "roblou@microsoft.com" + } + ], + "description": "Tolerant PHP-to-AST parser designed for IDE usage scenarios", + "support": { + "issues": "https://github.com/microsoft/tolerant-php-parser/issues", + "source": "https://github.com/microsoft/tolerant-php-parser/tree/v0.1.1" + }, + "time": "2021-07-16T21:28:12+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614", + "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614", + "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" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2022-03-03T13:19:32+00:00" + }, + { + "name": "netresearch/jsonmapper", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/cweiske/jsonmapper.git", + "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", + "reference": "8bbc021a8edb2e4a7ea2f8ad4fa9ec9dce2fcb8d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0", + "squizlabs/php_codesniffer": "~3.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", + "support": { + "email": "cweiske@cweiske.de", + "issues": "https://github.com/cweiske/jsonmapper/issues", + "source": "https://github.com/cweiske/jsonmapper/tree/v4.0.0" + }, + "time": "2020-12-01T19:48:11+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.13.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "210577fe3cf7badcc5814d99455df46564f3c077" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", + "reference": "210577fe3cf7badcc5814d99455df46564f3c077", + "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" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2" + }, + "time": "2021-11-30T19:35:32+00:00" + }, + { + "name": "pdepend/pdepend", + "version": "2.10.3", + "source": { + "type": "git", + "url": "https://github.com/pdepend/pdepend.git", + "reference": "da3166a06b4a89915920a42444f707122a1584c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/da3166a06b4a89915920a42444f707122a1584c9", + "reference": "da3166a06b4a89915920a42444f707122a1584c9", + "shasum": "" + }, + "require": { + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3|^4|^5|^6.0", + "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0", + "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0" + }, + "require-dev": { + "easy-doc/easy-doc": "0.0.0|^1.2.3", + "gregwar/rst": "^1.0", + "phpunit/phpunit": "^4.8.36|^5.7.27", + "squizlabs/php_codesniffer": "^2.0.0" + }, + "bin": [ + "src/bin/pdepend" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "PDepend\\": "src/main/php/PDepend" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Official version of pdepend to be handled with Composer", + "support": { + "issues": "https://github.com/pdepend/pdepend/issues", + "source": "https://github.com/pdepend/pdepend/tree/2.10.3" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", + "type": "tidelift" + } + ], + "time": "2022-02-23T07:53:09+00:00" + }, + { + "name": "phan/phan", + "version": "5.3.2", + "source": { + "type": "git", + "url": "https://github.com/phan/phan.git", + "reference": "b7697eb811e912c038f709f8e1c4911c7ada3edc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phan/phan/zipball/b7697eb811e912c038f709f8e1c4911c7ada3edc", + "reference": "b7697eb811e912c038f709f8e1c4911c7ada3edc", + "shasum": "" + }, + "require": { + "composer/semver": "^1.4|^2.0|^3.0", + "composer/xdebug-handler": "^2.0|^3.0", + "ext-filter": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "felixfbecker/advanced-json-rpc": "^3.0.4", + "microsoft/tolerant-php-parser": "^0.1.0", + "netresearch/jsonmapper": "^1.6.0|^2.0|^3.0|^4.0", + "php": "^7.2.0|^8.0.0", + "sabre/event": "^5.1.3", + "symfony/console": "^3.2|^4.0|^5.0|^6.0", + "symfony/polyfill-mbstring": "^1.11.0", + "symfony/polyfill-php80": "^1.20.0", + "tysonandre/var_representation_polyfill": "^0.0.2|^0.1.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.0" + }, + "suggest": { + "ext-ast": "Needed for parsing ASTs (unless --use-fallback-parser is used). 1.0.1+ is needed, 1.0.16+ is recommended.", + "ext-iconv": "Either iconv or mbstring is needed to ensure issue messages are valid utf-8", + "ext-igbinary": "Improves performance of polyfill when ext-ast is unavailable", + "ext-mbstring": "Either iconv or mbstring is needed to ensure issue messages are valid utf-8", + "ext-tokenizer": "Needed for fallback/polyfill parser support and file/line-based suppressions.", + "ext-var_representation": "Suggested for converting values to strings in issue messages" + }, + "bin": [ + "phan", + "phan_client", + "tocheckstyle" + ], + "type": "project", + "autoload": { + "psr-4": { + "Phan\\": "src/Phan" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tyson Andre" + }, + { + "name": "Rasmus Lerdorf" + }, + { + "name": "Andrew S. Morrison" + } + ], + "description": "A static analyzer for PHP", + "keywords": [ + "analyzer", + "php", + "static" + ], + "support": { + "issues": "https://github.com/phan/phan/issues", + "source": "https://github.com/phan/phan/tree/5.3.2" + }, + "time": "2022-02-01T00:17:36+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "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": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "php-cs-fixer/diff", + "version": "v2.0.2", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/diff.git", + "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/29dc0d507e838c4580d018bd8b5cb412474f7ec3", + "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3", + "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" + } + ], + "description": "sebastian/diff v3 backport support for PHP 5.6+", + "homepage": "https://github.com/PHP-CS-Fixer", + "keywords": [ + "diff" + ], + "support": { + "issues": "https://github.com/PHP-CS-Fixer/diff/issues", + "source": "https://github.com/PHP-CS-Fixer/diff/tree/v2.0.2" + }, + "time": "2020-10-14T08:32:19+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": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" + } + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "keywords": [ + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" + ], + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" + }, + "time": "2020-06-27T09:03:43+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.3.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" + }, + "require-dev": { + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "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.", + "support": { + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + }, + "time": "2021-10-19T17:43:47+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.6.1", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "77a32518733312af16a44300404e945338981de3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", + "reference": "77a32518733312af16a44300404e945338981de3", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "*", + "psalm/phar": "^4.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" + }, + "time": "2022-03-15T21:29:03+00:00" + }, + { + "name": "phpmd/phpmd", + "version": "2.12.0", + "source": { + "type": "git", + "url": "https://github.com/phpmd/phpmd.git", + "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/c0b678ba71902f539c27c14332aa0ddcf14388ec", + "reference": "c0b678ba71902f539c27c14332aa0ddcf14388ec", + "shasum": "" + }, + "require": { + "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", + "ext-xml": "*", + "pdepend/pdepend": "^2.10.3", + "php": ">=5.3.9" + }, + "require-dev": { + "easy-doc/easy-doc": "0.0.0 || ^1.3.2", + "ext-json": "*", + "ext-simplexml": "*", + "gregwar/rst": "^1.0", + "mikey179/vfsstream": "^1.6.8", + "phpunit/phpunit": "^4.8.36 || ^5.7.27", + "squizlabs/php_codesniffer": "^2.0" + }, + "bin": [ + "src/bin/phpmd" + ], + "type": "library", + "autoload": { + "psr-0": { + "PHPMD\\": "src/main/php" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" + } + ], + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "https://phpmd.org/", + "keywords": [ + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" + ], + "support": { + "irc": "irc://irc.freenode.org/phpmd", + "issues": "https://github.com/phpmd/phpmd/issues", + "source": "https://github.com/phpmd/phpmd/tree/2.12.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", + "type": "tidelift" + } + ], + "time": "2022-03-24T13:33:01+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "v1.15.0", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13", + "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.2", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^6.0 || ^7.0", + "phpunit/phpunit": "^8.0 || ^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/v1.15.0" + }, + "time": "2021-12-08T12:19:24+00:00" + }, + { + "name": "phpstan/phpstan", + "version": "1.5.4", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "bbf68cae24f6dc023c607ea0f87da55dd9d55c2b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/bbf68cae24f6dc023c607ea0f87da55dd9d55c2b", + "reference": "bbf68cae24f6dc023c607ea0f87da55dd9d55c2b", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "support": { + "issues": "https://github.com/phpstan/phpstan/issues", + "source": "https://github.com/phpstan/phpstan/tree/1.5.4" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, + { + "url": "https://www.patreon.com/phpstan", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2022-04-03T12:39:00+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.15", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.13.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "*", + "ext-xdebug": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-03-07T09:28:20+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.5.20", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/12bc8879fb65aef2138b26fc633cb1e3620cffba", + "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.13", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.0", + "sebastian/version": "^3.0.2" + }, + "require-dev": { + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.20" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-04-01T12:37:26+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.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": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "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" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "sabre/event", + "version": "5.1.4", + "source": { + "type": "git", + "url": "https://github.com/sabre-io/event.git", + "reference": "d7da22897125d34d7eddf7977758191c06a74497" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sabre-io/event/zipball/d7da22897125d34d7eddf7977758191c06a74497", + "reference": "d7da22897125d34d7eddf7977758191c06a74497", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.17.1", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.0" + }, + "type": "library", + "autoload": { + "files": [ + "lib/coroutine.php", + "lib/Loop/functions.php", + "lib/Promise/functions.php" + ], + "psr-4": { + "Sabre\\Event\\": "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": "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" + ], + "support": { + "forum": "https://groups.google.com/group/sabredav-discuss", + "issues": "https://github.com/sabre-io/event/issues", + "source": "https://github.com/fruux/sabre-event" + }, + "time": "2021-11-04T06:51:17+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "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" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-04-03T09:37:03+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-11-11T14:18:36+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-02-14T08:28:10+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-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/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-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", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-03-15T09:54:48+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "squizlabs/php_codesniffer", + "version": "3.6.2", + "source": { + "type": "git", + "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a", + "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a", + "shasum": "" + }, + "require": { + "ext-simplexml": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": ">=5.4.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "bin": [ + "bin/phpcs", + "bin/phpcbf" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Greg Sherwood", + "role": "lead" + } + ], + "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "keywords": [ + "phpcs", + "standards" + ], + "support": { + "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", + "source": "https://github.com/squizlabs/PHP_CodeSniffer", + "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + }, + "time": "2021-12-12T21:44:58+00:00" + }, + { + "name": "symfony/config", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "22850bfdd2b6090568ad05dece6843c859d933b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/22850bfdd2b6090568ad05dece6843c859d933b7", + "reference": "22850bfdd2b6090568ad05dece6843c859d933b7", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/filesystem": "^5.4|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php81": "^1.22" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/finder": "^5.4|^6.0", + "symfony/messenger": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/yaml": "^5.4|^6.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v6.0.7" + }, + "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-03-22T16:12:04+00:00" + }, + { + "name": "symfony/console", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e", + "reference": "70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.4|^6.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.0.7" + }, + "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-03-31T17:18:25+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "3e8a405fcc2eaf4eadb25b5e259ad9bf90499848" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/3e8a405fcc2eaf4eadb25b5e259ad9bf90499848", + "reference": "3e8a405fcc2eaf4eadb25b5e259ad9bf90499848", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php81": "^1.22", + "symfony/service-contracts": "^1.1.6|^2.0|^3.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2", + "symfony/config": "<5.4", + "symfony/finder": "<5.4", + "symfony/proxy-manager-bridge": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "symfony/service-implementation": "1.1|2.0|3.0" + }, + "require-dev": { + "symfony/config": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/yaml": "^5.4|^6.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows you to standardize and centralize the way objects are constructed in your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v6.0.7" + }, + "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-03-08T15:43:52+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1" + }, + "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-01-02T09:55:41+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "6472ea2dd415e925b90ca82be64b8bc6157f3934" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6472ea2dd415e925b90ca82be64b8bc6157f3934", + "reference": "6472ea2dd415e925b90ca82be64b8bc6157f3934", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/event-dispatcher-contracts": "^2|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^5.4|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.1" + }, + "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-01-02T09:55:41+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", + "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.0.7" + }, + "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-04-01T12:54:51+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/8661b74dbabc23223f38c9b99d3f8ade71170430", + "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-26T17:23:29+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v6.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "51f7006670febe4cbcbae177cbffe93ff833250d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/51f7006670febe4cbcbae177cbffe93ff833250d", + "reference": "51f7006670febe4cbcbae177cbffe93ff833250d", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v6.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "30885182c981ab175d4d034db0f6f469898070ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", + "reference": "30885182c981ab175d4d034db0f6f469898070ab", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-10-20T20:35:02+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", + "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "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 grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-23T21:10:46+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-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" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", + "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "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 the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-11-30T18:21:41+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c", + "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-03-04T08:16:47+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-13T13:58:11+00:00" + }, + { + "name": "symfony/process", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "e13f6757e267d687e20ec5b26ccfcbbe511cd8f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/e13f6757e267d687e20ec5b26ccfcbbe511cd8f4", + "reference": "e13f6757e267d687e20ec5b26ccfcbbe511cd8f4", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.0.7" + }, + "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-03-18T16:21:55+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.0.1" + }, + "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-03-13T20:10:05+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v6.0.5", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "f2c1780607ec6502f2121d9729fd8150a655d337" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f2c1780607ec6502f2121d9729fd8150a655d337", + "reference": "f2c1780607ec6502f2121d9729fd8150a655d337", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/service-contracts": "^1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a way to profile code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/stopwatch/tree/v6.0.5" + }, + "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-02-21T17:15:17+00:00" + }, + { + "name": "symfony/string", + "version": "v6.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/522144f0c4c004c80d56fa47e40e17028e2eefc2", + "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.0" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e", + "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2021-07-28T10:34:58+00:00" + }, + { + "name": "tysonandre/var_representation_polyfill", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/TysonAndre/var_representation_polyfill.git", + "reference": "0a942e74e18af5514749895507bc6ca7ab96399a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/TysonAndre/var_representation_polyfill/zipball/0a942e74e18af5514749895507bc6ca7ab96399a", + "reference": "0a942e74e18af5514749895507bc6ca7ab96399a", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.2.0|^8.0.0" + }, + "require-dev": { + "phan/phan": "^4.0", + "phpunit/phpunit": "^8.5.0" + }, + "suggest": { + "ext-var_representation": "*" + }, + "type": "library", + "autoload": { + "files": [ + "src/var_representation.php" + ], + "psr-4": { + "VarRepresentation\\": "src/VarRepresentation" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Tyson Andre" + } + ], + "description": "Polyfill for var_representation: convert a variable to a string in a way that fixes the shortcomings of var_export", + "keywords": [ + "var_export", + "var_representation" + ], + "support": { + "issues": "https://github.com/TysonAndre/var_representation_polyfill/issues", + "source": "https://github.com/TysonAndre/var_representation_polyfill/tree/0.1.1" + }, + "time": "2021-08-16T00:12:50+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", + "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-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" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.10.0" + }, + "time": "2021-03-09T10:59:23+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/img/module_teaser_small.png b/img/module_teaser_small.png new file mode 100755 index 0000000..27d7f3c Binary files /dev/null and b/img/module_teaser_small.png differ diff --git a/info.json b/info.json new file mode 100755 index 0000000..d574eb0 --- /dev/null +++ b/info.json @@ -0,0 +1,45 @@ +{ + "name": { + "id": 1008100000, + "internal": "Finance", + "external": "Finance" + }, + "category": "Finance", + "version": "1.0.0", + "requirements": { + "phpOMS": "1.0.0", + "phpOMS-db": "1.0.0" + }, + "creator": { + "name": "Karaka", + "website": "jingga.app" + }, + "description": "Finance module.", + "directory": "Finance", + "dependencies": { + "Admin": "1.0.0" + }, + "providing": { + "Navigation": "*" + }, + "load": [ + { + "pid": [ + "/finance" + ], + "type": 4, + "for": 0, + "from": "Finance", + "file": "Finance" + }, + { + "pid": [ + "/" + ], + "type": 5, + "from": "Finance", + "for": "Navigation", + "file": "Navigation" + } + ] +} diff --git a/tests/Admin/AdminTest.php b/tests/Admin/AdminTest.php new file mode 100755 index 0000000..e1bf2cf --- /dev/null +++ b/tests/Admin/AdminTest.php @@ -0,0 +1,27 @@ + [ + 'core' => [ + 'masters' => [ + 'admin' => [ + 'db' => 'mysql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '3306', /* db host port */ + 'login' => 'root', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'insert' => [ + 'db' => 'mysql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '3306', /* db host port */ + 'login' => 'root', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'select' => [ + 'db' => 'mysql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '3306', /* db host port */ + 'login' => 'root', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'update' => [ + 'db' => 'mysql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '3306', /* db host port */ + 'login' => 'root', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'delete' => [ + 'db' => 'mysql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '3306', /* db host port */ + 'login' => 'root', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'schema' => [ + 'db' => 'mysql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '3306', /* db host port */ + 'login' => 'root', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + ], + 'postgresql' => [ + 'admin' => [ + 'db' => 'pgsql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '5432', /* db host port */ + 'login' => 'postgres', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'insert' => [ + 'db' => 'pgsql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '5432', /* db host port */ + 'login' => 'postgres', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'select' => [ + 'db' => 'pgsql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '5432', /* db host port */ + 'login' => 'postgres', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'update' => [ + 'db' => 'pgsql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '5432', /* db host port */ + 'login' => 'postgres', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'delete' => [ + 'db' => 'pgsql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '5432', /* db host port */ + 'login' => 'postgres', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'schema' => [ + 'db' => 'pgsql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '5432', /* db host port */ + 'login' => 'postgres', /* db login name */ + 'password' => 'root', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + ], + 'sqlite' => [ + 'admin' => [ + 'db' => 'sqlite', /* db type */ + 'database' => __DIR__ . '/test.sqlite', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'insert' => [ + 'db' => 'sqlite', /* db type */ + 'database' => __DIR__ . '/test.sqlite', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'select' => [ + 'db' => 'sqlite', /* db type */ + 'database' => __DIR__ . '/test.sqlite', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'update' => [ + 'db' => 'sqlite', /* db type */ + 'database' => __DIR__ . '/test.sqlite', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'delete' => [ + 'db' => 'sqlite', /* db type */ + 'database' => __DIR__ . '/test.sqlite', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'schema' => [ + 'db' => 'sqlite', /* db type */ + 'database' => __DIR__ . '/test.sqlite', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + ], + 'mssql' => [ + 'admin' => [ + 'db' => 'mssql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '1433', /* db host port */ + 'login' => 'sa', /* db login name */ + 'password' => 'R00troot', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'insert' => [ + 'db' => 'mssql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '1433', /* db host port */ + 'login' => 'sa', /* db login name */ + 'password' => 'R00troot', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'select' => [ + 'db' => 'mssql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '1433', /* db host port */ + 'login' => 'sa', /* db login name */ + 'password' => 'R00troot', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'update' => [ + 'db' => 'mssql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '1433', /* db host port */ + 'login' => 'sa', /* db login name */ + 'password' => 'R00troot', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'delete' => [ + 'db' => 'mssql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '1433', /* db host port */ + 'login' => 'sa', /* db login name */ + 'password' => 'R00troot', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + 'schema' => [ + 'db' => 'mssql', /* db type */ + 'host' => '127.0.0.1', /* db host address */ + 'port' => '1433', /* db host port */ + 'login' => 'sa', /* db login name */ + 'password' => 'R00troot', /* db login password */ + 'database' => 'oms', /* db name */ + 'weight' => 1000, /* db table prefix */ + ], + ], + ], + ], + 'cache' => [ + 'redis' => [ + 'db' => 1, + 'host' => '127.0.0.1', + 'port' => 6379, + ], + 'memcached' => [ + 'host' => '127.0.0.1', + 'port' => 11211, + ], + ], + 'mail' => [ + 'imap' => [ + 'host' => '127.0.0.1', + 'port' => 143, + 'ssl' => false, + 'user' => 'test', + 'password' => '123456', + ], + 'pop3' => [ + 'host' => '127.0.0.1', + 'port' => 25, + 'ssl' => false, + 'user' => 'test', + 'password' => '123456', + ], + ], + 'log' => [ + 'file' => [ + 'path' => __DIR__ . '/Logs', + ], + ], + 'page' => [ + 'root' => '/', + 'https' => false, + ], + 'app' => [ + 'path' => __DIR__, + 'default' => [ + 'app' => 'Backend', + 'id' => 'backend', + 'lang' => 'en', + 'theme' => 'Backend', + 'org' => 1, + ], + 'domains' => [ + '127.0.0.1' => [ + 'app' => 'Backend', + 'id' => 'backend', + 'lang' => 'en', + 'theme' => 'Backend', + 'org' => 1, + ], + ], + ], + 'socket' => [ + 'master' => [ + 'host' => '127.0.0.1', + 'limit' => 300, + 'port' => 4310, + ], + ], + 'language' => [ + 'en', + ], + 'apis' => [ + ], +]; + +// Reset database +if (\defined('RESET') && RESET === '1') { + if (\extension_loaded('pdo_mysql')) { + try { + $db = new \PDO('mysql:host=' . + $CONFIG['db']['core']['masters']['admin']['host'], + $CONFIG['db']['core']['masters']['admin']['login'], + $CONFIG['db']['core']['masters']['admin']['password'] + ); + $db->exec('DROP DATABASE IF EXISTS ' . $CONFIG['db']['core']['masters']['admin']['database']); + $db->exec('CREATE DATABASE IF NOT EXISTS ' . $CONFIG['db']['core']['masters']['admin']['database']); + $db = null; + } catch (\Throwable $t) { + echo "\nCouldn't connect to MYSQL DB\n"; + } + } + + if (\extension_loaded('pdo_pgsql')) { + try { + $db = new \PDO('pgsql:host=' . + $CONFIG['db']['core']['postgresql']['admin']['host'], + $CONFIG['db']['core']['postgresql']['admin']['login'], + $CONFIG['db']['core']['postgresql']['admin']['password'] + ); + $db->exec('DROP DATABASE IF EXISTS ' . $CONFIG['db']['core']['postgresql']['admin']['database']); + $db->exec('CREATE DATABASE ' . $CONFIG['db']['core']['postgresql']['admin']['database']); + $db = null; + } catch (\Throwable $t) { + echo "\nCouldn't connect to POSTGRESQL DB\n"; + } + } + + if (\extension_loaded('pdo_sqlsrv')) { + try { + $db = new \PDO('sqlsrv:Server=' . + $CONFIG['db']['core']['mssql']['admin']['host'], + $CONFIG['db']['core']['mssql']['admin']['login'], + $CONFIG['db']['core']['mssql']['admin']['password'] + ); + $db->exec('DROP DATABASE IF EXISTS ' . $CONFIG['db']['core']['mssql']['admin']['database']); + $db->exec('CREATE DATABASE ' . $CONFIG['db']['core']['mssql']['admin']['database']); + $db = null; + } catch (\Throwable $t) { + echo "\nCouldn't connect to MSSQL DB\n"; + } + } +} + +$httpSession = new HttpSession(); +$GLOBALS['session'] = $httpSession; + +$GLOBALS['dbpool'] = new DatabasePool(); +$GLOBALS['dbpool']->create('admin', $CONFIG['db']['core']['masters']['admin']); +$GLOBALS['dbpool']->create('select', $CONFIG['db']['core']['masters']['select']); +$GLOBALS['dbpool']->create('update', $CONFIG['db']['core']['masters']['update']); +$GLOBALS['dbpool']->create('delete', $CONFIG['db']['core']['masters']['delete']); +$GLOBALS['dbpool']->create('insert', $CONFIG['db']['core']['masters']['insert']); +$GLOBALS['dbpool']->create('schema', $CONFIG['db']['core']['masters']['schema']); + +DataMapperFactory::db($GLOBALS['dbpool']->get()); + +$GLOBALS['frameworkpath'] = '/phpOMS/'; + +function phpServe() : void +{ + // OS detection + $isWindows = \stristr(\php_uname('s'), 'Windows') !== false; + + // Command that starts the built-in web server + if ($isWindows) { + $command = \sprintf( + 'wmic process call create "php -S %s:%d -t %s" | find "ProcessId"', + WEB_SERVER_HOST, + WEB_SERVER_PORT, + __DIR__ . '/../' . WEB_SERVER_DOCROOT + ); + + $killCommand = 'taskkill /f /pid '; + } else { + $command = \sprintf( + 'php -S %s:%d -t %s >/dev/null 2>&1 & echo $!', + WEB_SERVER_HOST, + WEB_SERVER_PORT, + WEB_SERVER_DOCROOT + ); + + $killCommand = 'kill '; + } + + // Execute the command and store the process ID + $output = []; + echo \sprintf('Starting server...') . \PHP_EOL; + echo \sprintf(' Current directory: %s', \getcwd()) . \PHP_EOL; + echo \sprintf(' %s', $command); + \exec($command, $output); + + // Get PID + if ($isWindows) { + $pid = \explode('=', $output[0]); + $pid = \str_replace(' ', '', $pid[1]); + $pid = \str_replace(';', '', $pid); + } else { + $pid = (int) $output[0]; + } + + // Log + echo \sprintf( + ' %s - Web server started on %s:%d with PID %d', + \date('r'), + WEB_SERVER_HOST, + WEB_SERVER_PORT, + $pid + ) . \PHP_EOL; + + // Kill the web server when the process ends + \register_shutdown_function(function() use ($killCommand, $pid) : void { + echo \PHP_EOL . \sprintf('Stopping server...') . \PHP_EOL; + echo \sprintf(' %s - Killing process with ID %d', \date('r'), $pid) . \PHP_EOL; + \exec($killCommand . $pid); + }); +} + +\phpServe(); diff --git a/tests/phpunit_default.xml b/tests/phpunit_default.xml new file mode 100755 index 0000000..4db1f21 --- /dev/null +++ b/tests/phpunit_default.xml @@ -0,0 +1,57 @@ + + + + + *vendor* + vendor + ../vendor + ../phpOMS + ../phpOMS* + ../phpOMS/* + ../tests* + ../*/tests* + ../**/tests* + */tests* + ../* + ../* + ../* + ../* + ../* + ../**/test* + ../**/Theme* + ../**/Admin/Routes* + ../**/Admin/Hooks* + ../**/Admin/Install* + ../Media/Files* + + + + + + + + + ../Karaka/Install/tests* + + + ../tests* + + + + + volume + maybe + + + + + + + + + + + + + +