From 49286e6c80885f3279afa48d69cc6a85338369c6 Mon Sep 17 00:00:00 2001 From: Vincent Vanwaelscappel Date: Thu, 21 Jan 2021 16:22:47 +0100 Subject: [PATCH] wip #4164 @0:20 --- .gitignore | 1 + WearParts/_doc/client.xlsx | Bin 0 -> 37649 bytes WearParts/composer.json | 13 + WearParts/composer.lock | 769 ++++++++++++++++++++++++++ WearParts/tools/convertclientdata.php | 2 + 5 files changed, 785 insertions(+) create mode 100644 .gitignore create mode 100644 WearParts/_doc/client.xlsx create mode 100644 WearParts/composer.json create mode 100644 WearParts/composer.lock create mode 100644 WearParts/tools/convertclientdata.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d3ba1bd --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/WearParts/_doc/~$client.xlsx diff --git a/WearParts/_doc/client.xlsx b/WearParts/_doc/client.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..00bfaecddac62e9f4c3397067ca62fa8b0f2eee7 GIT binary patch literal 37649 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

||PB4kB4 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.2" + }, + "require-dev": { + "simpletest/simpletest": "dev-master#72de02a7b80c6bb8864ef9bf66d41d2f58f826bd" + }, + "type": "library", + "autoload": { + "psr-0": { + "HTMLPurifier": "library/" + }, + "files": [ + "library/HTMLPurifier.composer.php" + ], + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-or-later" + ], + "authors": [ + { + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" + } + ], + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], + "support": { + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/master" + }, + "time": "2020-06-29T00:56:53+00:00" + }, + { + "name": "maennchen/zipstream-php", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/maennchen/ZipStream-PHP.git", + "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58", + "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58", + "shasum": "" + }, + "require": { + "myclabs/php-enum": "^1.5", + "php": ">= 7.1", + "psr/http-message": "^1.0", + "symfony/polyfill-mbstring": "^1.0" + }, + "require-dev": { + "ext-zip": "*", + "guzzlehttp/guzzle": ">= 6.3", + "mikey179/vfsstream": "^1.6", + "phpunit/phpunit": ">= 7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "ZipStream\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paul Duncan", + "email": "pabs@pablotron.org" + }, + { + "name": "Jonatan Männchen", + "email": "jonatan@maennchen.ch" + }, + { + "name": "Jesse Donat", + "email": "donatj@gmail.com" + }, + { + "name": "András Kolesár", + "email": "kolesar@kolesar.hu" + } + ], + "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.", + "keywords": [ + "stream", + "zip" + ], + "support": { + "issues": "https://github.com/maennchen/ZipStream-PHP/issues", + "source": "https://github.com/maennchen/ZipStream-PHP/tree/master" + }, + "funding": [ + { + "url": "https://opencollective.com/zipstream", + "type": "open_collective" + } + ], + "time": "2020-05-30T13:11:16+00:00" + }, + { + "name": "markbaker/complex", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPComplex.git", + "reference": "9999f1432fae467bc93c53f357105b4c31bb994c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/9999f1432fae467bc93c53f357105b4c31bb994c", + "reference": "9999f1432fae467bc93c53f357105b4c31bb994c", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "phpcompatibility/php-compatibility": "^9.0", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.3", + "sebastian/phpcpd": "^4.0", + "squizlabs/php_codesniffer": "^3.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Complex\\": "classes/src/" + }, + "files": [ + "classes/src/functions/abs.php", + "classes/src/functions/acos.php", + "classes/src/functions/acosh.php", + "classes/src/functions/acot.php", + "classes/src/functions/acoth.php", + "classes/src/functions/acsc.php", + "classes/src/functions/acsch.php", + "classes/src/functions/argument.php", + "classes/src/functions/asec.php", + "classes/src/functions/asech.php", + "classes/src/functions/asin.php", + "classes/src/functions/asinh.php", + "classes/src/functions/atan.php", + "classes/src/functions/atanh.php", + "classes/src/functions/conjugate.php", + "classes/src/functions/cos.php", + "classes/src/functions/cosh.php", + "classes/src/functions/cot.php", + "classes/src/functions/coth.php", + "classes/src/functions/csc.php", + "classes/src/functions/csch.php", + "classes/src/functions/exp.php", + "classes/src/functions/inverse.php", + "classes/src/functions/ln.php", + "classes/src/functions/log2.php", + "classes/src/functions/log10.php", + "classes/src/functions/negative.php", + "classes/src/functions/pow.php", + "classes/src/functions/rho.php", + "classes/src/functions/sec.php", + "classes/src/functions/sech.php", + "classes/src/functions/sin.php", + "classes/src/functions/sinh.php", + "classes/src/functions/sqrt.php", + "classes/src/functions/tan.php", + "classes/src/functions/tanh.php", + "classes/src/functions/theta.php", + "classes/src/operations/add.php", + "classes/src/operations/subtract.php", + "classes/src/operations/multiply.php", + "classes/src/operations/divideby.php", + "classes/src/operations/divideinto.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@lange.demon.co.uk" + } + ], + "description": "PHP Class for working with complex numbers", + "homepage": "https://github.com/MarkBaker/PHPComplex", + "keywords": [ + "complex", + "mathematics" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPComplex/issues", + "source": "https://github.com/MarkBaker/PHPComplex/tree/PHP8" + }, + "time": "2020-08-26T10:42:07+00:00" + }, + { + "name": "markbaker/matrix", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/MarkBaker/PHPMatrix.git", + "reference": "35a2d1a919a1de732402f694925168c53c17c838" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/35a2d1a919a1de732402f694925168c53c17c838", + "reference": "35a2d1a919a1de732402f694925168c53c17c838", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "phpcompatibility/php-compatibility": "^9.0", + "phpdocumentor/phpdocumentor": "2.*", + "phploc/phploc": "^4.0", + "phpmd/phpmd": "2.*", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.3", + "sebastian/phpcpd": "^4.0", + "squizlabs/php_codesniffer": "^3.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Matrix\\": "classes/src/" + }, + "files": [ + "classes/src/Functions/adjoint.php", + "classes/src/Functions/antidiagonal.php", + "classes/src/Functions/cofactors.php", + "classes/src/Functions/determinant.php", + "classes/src/Functions/diagonal.php", + "classes/src/Functions/identity.php", + "classes/src/Functions/inverse.php", + "classes/src/Functions/minors.php", + "classes/src/Functions/trace.php", + "classes/src/Functions/transpose.php", + "classes/src/Operations/add.php", + "classes/src/Operations/directsum.php", + "classes/src/Operations/subtract.php", + "classes/src/Operations/multiply.php", + "classes/src/Operations/divideby.php", + "classes/src/Operations/divideinto.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mark Baker", + "email": "mark@demon-angel.eu" + } + ], + "description": "PHP Class for working with matrices", + "homepage": "https://github.com/MarkBaker/PHPMatrix", + "keywords": [ + "mathematics", + "matrix", + "vector" + ], + "support": { + "issues": "https://github.com/MarkBaker/PHPMatrix/issues", + "source": "https://github.com/MarkBaker/PHPMatrix/tree/2.1.1" + }, + "time": "2021-01-21T13:53:09+00:00" + }, + { + "name": "myclabs/php-enum", + "version": "1.7.7", + "source": { + "type": "git", + "url": "https://github.com/myclabs/php-enum.git", + "reference": "d178027d1e679832db9f38248fcc7200647dc2b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/php-enum/zipball/d178027d1e679832db9f38248fcc7200647dc2b7", + "reference": "d178027d1e679832db9f38248fcc7200647dc2b7", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7", + "squizlabs/php_codesniffer": "1.*", + "vimeo/psalm": "^3.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "MyCLabs\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP Enum contributors", + "homepage": "https://github.com/myclabs/php-enum/graphs/contributors" + } + ], + "description": "PHP Enum implementation", + "homepage": "http://github.com/myclabs/php-enum", + "keywords": [ + "enum" + ], + "support": { + "issues": "https://github.com/myclabs/php-enum/issues", + "source": "https://github.com/myclabs/php-enum/tree/1.7.7" + }, + "funding": [ + { + "url": "https://github.com/mnapoli", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum", + "type": "tidelift" + } + ], + "time": "2020-11-14T18:14:52+00:00" + }, + { + "name": "phpoffice/phpspreadsheet", + "version": "1.16.0", + "source": { + "type": "git", + "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", + "reference": "76d4323b85129d0c368149c831a07a3e258b2b50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/76d4323b85129d0c368149c831a07a3e258b2b50", + "reference": "76d4323b85129d0c368149c831a07a3e258b2b50", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-dom": "*", + "ext-fileinfo": "*", + "ext-gd": "*", + "ext-iconv": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "ext-xmlwriter": "*", + "ext-zip": "*", + "ext-zlib": "*", + "ezyang/htmlpurifier": "^4.13", + "maennchen/zipstream-php": "^2.1", + "markbaker/complex": "^1.5||^2.0", + "markbaker/matrix": "^1.2||^2.0", + "php": "^7.2||^8.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0", + "psr/simple-cache": "^1.0" + }, + "require-dev": { + "dompdf/dompdf": "^0.8.5", + "friendsofphp/php-cs-fixer": "^2.16", + "jpgraph/jpgraph": "^4.0", + "mpdf/mpdf": "^8.0", + "phpcompatibility/php-compatibility": "^9.3", + "phpunit/phpunit": "^8.5||^9.3", + "squizlabs/php_codesniffer": "^3.5", + "tecnickcom/tcpdf": "^6.3" + }, + "suggest": { + "dompdf/dompdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)", + "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers", + "mpdf/mpdf": "Option for rendering PDF with PDF Writer", + "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)" + }, + "type": "library", + "autoload": { + "psr-4": { + "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Maarten Balliauw", + "homepage": "https://blog.maartenballiauw.be" + }, + { + "name": "Mark Baker", + "homepage": "https://markbakeruk.net" + }, + { + "name": "Franck Lefevre", + "homepage": "https://rootslabs.net" + }, + { + "name": "Erik Tilt" + }, + { + "name": "Adrien Crivelli" + } + ], + "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine", + "homepage": "https://github.com/PHPOffice/PhpSpreadsheet", + "keywords": [ + "OpenXML", + "excel", + "gnumeric", + "ods", + "php", + "spreadsheet", + "xls", + "xlsx" + ], + "support": { + "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.16.0" + }, + "time": "2020-12-31T18:03:49+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client/tree/master" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/master" + }, + "time": "2019-04-30T12:38:16+00:00" + }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/master" + }, + "time": "2016-08-06T14:39:51+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.22.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.22-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.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": "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.22.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-01-07T16:49:33+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/WearParts/tools/convertclientdata.php b/WearParts/tools/convertclientdata.php new file mode 100644 index 0000000..18292fd --- /dev/null +++ b/WearParts/tools/convertclientdata.php @@ -0,0 +1,2 @@ +