diff options
author | Frédéric Guillot <fred@kanboard.net> | 2018-06-21 14:13:41 -0700 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2018-06-21 14:13:41 -0700 |
commit | a491348d442ab8e6cd2fa403d4365cdad78e52ce (patch) | |
tree | a00f575d82afb2c9051bad95398b4250f4a3d44d | |
parent | c73ac5f1f818b6b21083f6785b4b2f6d778a6496 (diff) |
Vendoring deprecated composer libs
-rw-r--r-- | composer.json | 7 | ||||
-rw-r--r-- | composer.lock | 138 | ||||
-rw-r--r-- | libs/jsonrpc/LICENSE (renamed from vendor/fguillot/json-rpc/LICENSE) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/README.markdown | 412 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Client.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Client.php) | 20 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/AccessDeniedException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/AccessDeniedException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/AuthenticationFailureException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/AuthenticationFailureException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/ConnectionFailureException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/ConnectionFailureException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonFormatException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonFormatException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/ResponseException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/ResponseException.php) | 2 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/RpcCallFailedException.php | 15 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Exception/ServerErrorException.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Exception/ServerErrorException.php) | 4 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/HttpClient.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/HttpClient.php) | 184 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/MiddlewareHandler.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/MiddlewareHandler.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/MiddlewareInterface.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/MiddlewareInterface.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/ProcedureHandler.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/ProcedureHandler.php) | 34 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Request/BatchRequestParser.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Request/RequestBuilder.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Request/RequestBuilder.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Request/RequestParser.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Request/RequestParser.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Response/ResponseBuilder.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseBuilder.php) | 74 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Response/ResponseParser.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Server.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Server.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Validator/HostValidator.php | 73 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Validator/JsonEncodingValidator.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Validator/JsonEncodingValidator.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Validator/JsonFormatValidator.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Validator/JsonFormatValidator.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Validator/RpcFormatValidator.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Validator/RpcFormatValidator.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/src/JsonRPC/Validator/UserValidator.php (renamed from vendor/fguillot/json-rpc/src/JsonRPC/Validator/UserValidator.php) | 0 | ||||
-rw-r--r-- | libs/jsonrpc/tests/ClientTest.php | 103 | ||||
-rw-r--r-- | libs/jsonrpc/tests/HttpClientTest.php | 220 | ||||
-rw-r--r-- | libs/jsonrpc/tests/MiddlewareHandlerTest.php | 40 | ||||
-rw-r--r-- | libs/jsonrpc/tests/ProcedureHandlerTest.php | 153 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Request/RequestBuilderTest.php | 53 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Response/HeaderMockTest.php | 25 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Response/ResponseBuilderTest.php | 151 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Response/ResponseParserTest.php | 100 | ||||
-rw-r--r-- | libs/jsonrpc/tests/ServerProtocolTest.php | 237 | ||||
-rw-r--r-- | libs/jsonrpc/tests/ServerTest.php | 258 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Validator/HostValidatorTest.php | 32 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Validator/JsonEncodingValidatorTest.php | 22 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Validator/JsonFormatValidatorTest.php | 19 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Validator/RpcFormatValidatorTest.php | 48 | ||||
-rw-r--r-- | libs/jsonrpc/tests/Validator/UserValidatorTest.php | 24 | ||||
-rwxr-xr-x | libs/phpqrcode/LICENSE (renamed from vendor/aferrandini/phpqrcode/LICENSE) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_1.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_1.png) | bin | 126 -> 126 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_10.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_10.dat) | bin | 204 -> 204 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_10.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_10.png) | bin | 202 -> 202 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_11.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_11.dat) | bin | 210 -> 210 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_11.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_11.png) | bin | 205 -> 205 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_12.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_12.dat) | bin | 222 -> 222 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_12.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_12.png) | bin | 216 -> 216 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_13.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_13.dat) | bin | 223 -> 223 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_13.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_13.png) | bin | 210 -> 210 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_14.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_14.dat) | bin | 227 -> 227 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_14.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_14.png) | bin | 213 -> 213 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_15.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_15.dat) | bin | 242 -> 242 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_15.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_15.png) | bin | 219 -> 219 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_16.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_16.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_16.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_16.png) | bin | 211 -> 211 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_17.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_17.dat) | bin | 237 -> 237 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_17.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_17.png) | bin | 211 -> 211 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_18.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_18.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_18.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_18.png) | bin | 228 -> 228 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_19.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_19.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_19.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_19.png) | bin | 225 -> 225 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_2.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_2.png) | bin | 144 -> 144 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_20.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_20.dat) | bin | 250 -> 250 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_20.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_20.png) | bin | 225 -> 225 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_21.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_21.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_21.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_21.png) | bin | 235 -> 235 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_22.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_22.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_22.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_22.png) | bin | 226 -> 226 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_23.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_23.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_23.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_23.png) | bin | 220 -> 220 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_24.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_24.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_24.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_24.png) | bin | 242 -> 242 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_25.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_25.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_25.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_25.png) | bin | 242 -> 242 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_26.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_26.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_26.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_26.png) | bin | 244 -> 244 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_27.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_27.dat) | bin | 284 -> 284 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_27.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_27.png) | bin | 237 -> 237 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_28.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_28.dat) | bin | 318 -> 318 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_28.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_28.png) | bin | 234 -> 234 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_29.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_29.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_29.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_29.png) | bin | 232 -> 232 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_3.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_3.png) | bin | 147 -> 147 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_30.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_30.dat) | bin | 324 -> 324 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_30.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_30.png) | bin | 255 -> 255 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_31.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_31.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_31.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_31.png) | bin | 260 -> 260 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_32.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_32.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_32.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_32.png) | bin | 262 -> 262 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_33.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_33.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_33.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_33.png) | bin | 253 -> 253 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_34.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_34.dat) | bin | 331 -> 331 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_34.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_34.png) | bin | 256 -> 256 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_35.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_35.dat) | bin | 342 -> 342 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_35.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_35.png) | bin | 243 -> 243 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_36.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_36.dat) | bin | 370 -> 370 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_36.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_36.png) | bin | 272 -> 272 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_37.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_37.dat) | bin | 376 -> 376 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_37.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_37.png) | bin | 279 -> 279 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_38.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_38.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_38.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_38.png) | bin | 279 -> 279 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_39.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_39.dat) | bin | 404 -> 404 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_39.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_39.png) | bin | 264 -> 264 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_4.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_4.png) | bin | 149 -> 149 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_40.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_40.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_40.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_40.png) | bin | 267 -> 267 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/frame_5.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_5.png) | bin | 150 -> 150 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_6.dat) | bin | 132 -> 132 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_6.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_6.png) | bin | 151 -> 151 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_7.dat) | bin | 196 -> 196 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_7.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_7.png) | bin | 189 -> 189 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_8.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_8.dat) | bin | 201 -> 201 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_8.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_8.png) | bin | 204 -> 204 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_9.dat (renamed from vendor/aferrandini/phpqrcode/cache/frame_9.dat) | bin | 206 -> 206 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/frame_9.png (renamed from vendor/aferrandini/phpqrcode/cache/frame_9.png) | bin | 199 -> 199 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_101_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_101_0.dat) | bin | 157 -> 157 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_105_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_105_0.dat) | bin | 162 -> 162 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_109_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_109_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_113_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_113_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_117_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_117_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_121_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_121_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_125_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_125_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_129_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_129_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_133_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_133_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_137_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_137_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_141_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_141_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_145_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_145_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_149_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_149_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_153_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_153_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_157_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_157_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_161_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_161_0.dat) | bin | 241 -> 241 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_165_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_165_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_169_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_169_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_173_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_173_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_177_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_177_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_21_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_21_0.dat) | bin | 48 -> 48 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_25_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_25_0.dat) | bin | 57 -> 57 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_29_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_29_0.dat) | bin | 59 -> 59 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_33_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_33_0.dat) | bin | 62 -> 62 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_37_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_37_0.dat) | bin | 65 -> 65 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_41_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_41_0.dat) | bin | 68 -> 68 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_45_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_45_0.dat) | bin | 106 -> 106 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_49_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_49_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_53_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_53_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_57_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_57_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_61_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_61_0.dat) | bin | 119 -> 119 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_65_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_65_0.dat) | bin | 123 -> 123 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_69_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_69_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_73_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_73_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_77_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_77_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_81_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_81_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_85_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_85_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_89_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_89_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_93_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_93_0.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_0/mask_97_0.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_0/mask_97_0.dat) | bin | 150 -> 150 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_101_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_101_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_105_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_105_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_109_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_109_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_113_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_113_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_117_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_117_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_121_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_121_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_125_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_125_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_129_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_129_1.dat) | bin | 164 -> 164 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_133_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_133_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_137_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_137_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_141_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_141_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_145_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_145_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_149_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_149_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_153_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_153_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_157_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_157_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_161_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_161_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_165_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_165_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_169_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_169_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_173_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_173_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_177_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_177_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_21_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_21_1.dat) | bin | 42 -> 42 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_25_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_25_1.dat) | bin | 48 -> 48 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_29_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_29_1.dat) | bin | 50 -> 50 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_33_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_33_1.dat) | bin | 53 -> 53 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_37_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_37_1.dat) | bin | 56 -> 56 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_41_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_41_1.dat) | bin | 58 -> 58 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_45_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_45_1.dat) | bin | 82 -> 82 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_49_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_49_1.dat) | bin | 84 -> 84 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_53_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_53_1.dat) | bin | 87 -> 87 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_57_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_57_1.dat) | bin | 92 -> 92 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_61_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_61_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_65_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_65_1.dat) | bin | 99 -> 99 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_69_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_69_1.dat) | bin | 102 -> 102 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_73_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_73_1.dat) | bin | 104 -> 104 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_77_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_77_1.dat) | bin | 110 -> 110 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_81_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_81_1.dat) | bin | 114 -> 114 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_85_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_85_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_89_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_89_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_93_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_93_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_1/mask_97_1.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_1/mask_97_1.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_101_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_101_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_105_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_105_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_109_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_109_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_113_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_113_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_117_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_117_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_121_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_121_2.dat) | bin | 127 -> 127 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_125_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_125_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_129_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_129_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_133_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_133_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_137_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_137_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_141_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_141_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_145_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_145_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_149_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_149_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_153_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_153_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_157_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_157_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_161_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_161_2.dat) | bin | 190 -> 190 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_165_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_165_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_169_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_169_2.dat) | bin | 196 -> 196 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_173_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_173_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_177_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_177_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_21_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_21_2.dat) | bin | 35 -> 35 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_25_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_25_2.dat) | bin | 41 -> 41 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_29_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_29_2.dat) | bin | 45 -> 45 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_33_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_33_2.dat) | bin | 47 -> 47 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_37_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_37_2.dat) | bin | 47 -> 47 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_41_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_41_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_45_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_45_2.dat) | bin | 68 -> 68 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_49_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_49_2.dat) | bin | 70 -> 70 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_53_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_53_2.dat) | bin | 73 -> 73 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_57_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_57_2.dat) | bin | 76 -> 76 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_61_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_61_2.dat) | bin | 78 -> 78 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_65_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_65_2.dat) | bin | 89 -> 89 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_69_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_69_2.dat) | bin | 88 -> 88 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_73_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_73_2.dat) | bin | 94 -> 94 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_77_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_77_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_81_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_81_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_85_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_85_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_89_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_89_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_93_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_93_2.dat) | bin | 103 -> 103 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_2/mask_97_2.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_2/mask_97_2.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_101_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_101_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_105_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_105_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_109_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_109_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_113_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_113_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_117_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_117_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_121_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_121_3.dat) | bin | 212 -> 212 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_125_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_125_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_129_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_129_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_133_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_133_3.dat) | bin | 216 -> 216 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_137_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_137_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_141_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_141_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_145_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_145_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_149_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_149_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_153_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_153_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_157_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_157_3.dat) | bin | 248 -> 248 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_161_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_161_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_165_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_165_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_169_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_169_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_173_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_173_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_177_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_177_3.dat) | bin | 312 -> 312 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_21_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_21_3.dat) | bin | 60 -> 60 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_25_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_25_3.dat) | bin | 75 -> 75 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_29_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_29_3.dat) | bin | 75 -> 75 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_33_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_33_3.dat) | bin | 79 -> 79 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_37_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_37_3.dat) | bin | 83 -> 83 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_41_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_41_3.dat) | bin | 85 -> 85 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_45_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_45_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_49_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_49_3.dat) | bin | 127 -> 127 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_53_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_53_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_57_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_57_3.dat) | bin | 126 -> 126 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_61_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_61_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_65_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_65_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_69_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_69_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_73_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_73_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_77_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_77_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_81_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_81_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_85_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_85_3.dat) | bin | 160 -> 160 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_89_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_89_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_93_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_93_3.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_3/mask_97_3.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_3/mask_97_3.dat) | bin | 175 -> 175 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_101_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_101_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_105_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_105_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_109_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_109_4.dat) | bin | 182 -> 182 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_113_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_113_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_117_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_117_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_121_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_121_4.dat) | bin | 208 -> 208 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_125_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_125_4.dat) | bin | 213 -> 213 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_129_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_129_4.dat) | bin | 220 -> 220 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_133_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_133_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_137_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_137_4.dat) | bin | 248 -> 248 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_141_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_141_4.dat) | bin | 254 -> 254 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_145_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_145_4.dat) | bin | 255 -> 255 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_149_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_149_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_153_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_153_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_157_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_157_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_161_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_161_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_165_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_165_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_169_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_169_4.dat) | bin | 297 -> 297 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_173_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_173_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_177_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_177_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_21_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_21_4.dat) | bin | 57 -> 57 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_25_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_25_4.dat) | bin | 76 -> 76 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_29_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_29_4.dat) | bin | 78 -> 78 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_33_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_33_4.dat) | bin | 89 -> 89 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_37_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_37_4.dat) | bin | 86 -> 86 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_41_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_41_4.dat) | bin | 89 -> 89 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_45_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_45_4.dat) | bin | 120 -> 120 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_49_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_49_4.dat) | bin | 124 -> 124 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_53_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_53_4.dat) | bin | 128 -> 128 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_57_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_57_4.dat) | bin | 130 -> 130 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_61_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_61_4.dat) | bin | 132 -> 132 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_65_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_65_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_69_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_69_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_73_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_73_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_77_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_77_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_81_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_81_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_85_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_85_4.dat) | bin | 154 -> 154 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_89_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_89_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_93_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_93_4.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_4/mask_97_4.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_4/mask_97_4.dat) | bin | 176 -> 176 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_101_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_101_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_105_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_105_5.dat) | bin | 224 -> 224 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_109_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_109_5.dat) | bin | 211 -> 211 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_113_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_113_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_117_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_117_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_121_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_121_5.dat) | bin | 256 -> 256 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_125_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_125_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_129_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_129_5.dat) | bin | 259 -> 259 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_133_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_133_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_137_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_137_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_141_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_141_5.dat) | bin | 297 -> 297 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_145_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_145_5.dat) | bin | 300 -> 300 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_149_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_149_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_153_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_153_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_157_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_157_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_161_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_161_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_165_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_165_5.dat) | bin | 332 -> 332 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_169_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_169_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_173_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_173_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_177_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_177_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_21_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_21_5.dat) | bin | 74 -> 74 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_25_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_25_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_29_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_29_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_33_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_33_5.dat) | bin | 106 -> 106 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_37_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_37_5.dat) | bin | 103 -> 103 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_41_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_41_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_45_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_45_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_49_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_49_5.dat) | bin | 146 -> 146 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_53_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_53_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_57_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_57_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_61_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_61_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_65_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_65_5.dat) | bin | 163 -> 163 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_69_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_69_5.dat) | bin | 167 -> 167 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_73_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_73_5.dat) | bin | 184 -> 184 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_77_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_77_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_81_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_81_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_85_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_85_5.dat) | bin | 186 -> 186 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_89_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_89_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_93_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_93_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_5/mask_97_5.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_5/mask_97_5.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_101_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_101_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_105_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_105_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_109_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_109_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_113_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_113_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_117_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_117_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_121_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_121_6.dat) | bin | 309 -> 309 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_125_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_125_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_129_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_129_6.dat) | bin | 310 -> 310 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_133_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_133_6.dat) | bin | 296 -> 296 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_137_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_137_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_141_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_141_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_145_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_145_6.dat) | bin | 357 -> 357 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_149_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_149_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_153_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_153_6.dat) | bin | 367 -> 367 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_157_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_157_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_161_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_161_6.dat) | bin | 399 -> 399 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_165_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_165_6.dat) | bin | 400 -> 400 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_169_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_169_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_173_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_173_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_177_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_177_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_21_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_21_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_25_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_25_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_29_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_29_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_33_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_33_6.dat) | bin | 124 -> 124 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_37_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_37_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_41_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_41_6.dat) | bin | 132 -> 132 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_45_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_45_6.dat) | bin | 189 -> 189 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_49_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_49_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_53_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_53_6.dat) | bin | 195 -> 195 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_57_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_57_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_61_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_61_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_65_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_65_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_69_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_69_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_73_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_73_6.dat) | bin | 230 -> 230 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_77_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_77_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_81_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_81_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_85_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_85_6.dat) | bin | 229 -> 229 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_89_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_89_6.dat) | bin | 263 -> 263 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_93_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_93_6.dat) | bin | 276 -> 276 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_6/mask_97_6.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_6/mask_97_6.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_101_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_101_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_105_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_105_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_109_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_109_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_113_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_113_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_117_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_117_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_121_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_121_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_125_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_125_7.dat) | bin | 288 -> 288 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_129_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_129_7.dat) | bin | 282 -> 282 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_133_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_133_7.dat) | bin | 281 -> 281 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_137_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_137_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_141_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_141_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_145_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_145_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_149_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_149_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_153_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_153_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_157_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_157_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_161_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_161_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_165_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_165_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_169_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_169_7.dat) | bin | 383 -> 383 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_173_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_173_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_177_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_177_7.dat) | bin | 407 -> 407 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_21_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_21_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_25_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_25_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_29_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_29_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_33_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_33_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_37_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_37_7.dat) | bin | 122 -> 122 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_41_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_41_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_45_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_45_7.dat) | bin | 173 -> 173 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_49_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_49_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_53_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_53_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_57_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_57_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_61_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_61_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_65_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_65_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_69_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_69_7.dat) | bin | 202 -> 202 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_73_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_73_7.dat) | bin | 221 -> 221 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_77_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_77_7.dat) | bin | 226 -> 226 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_81_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_81_7.dat) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_85_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_85_7.dat) | bin | 213 -> 213 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_89_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_89_7.dat) | bin | 244 -> 244 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_93_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_93_7.dat) | bin | 248 -> 248 bytes | |||
-rwxr-xr-x | libs/phpqrcode/cache/mask_7/mask_97_7.dat (renamed from vendor/aferrandini/phpqrcode/cache/mask_7/mask_97_7.dat) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/Autoloader.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/Autoloader.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/Constants.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/Constants.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/FrameFiller.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/FrameFiller.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRbitstream.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRbitstream.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/QRcode.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRcode.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRencode.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRencode.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRimage.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRimage.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRinput.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRinput.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/QRinputItem.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRinputItem.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRmask.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRmask.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/QRrawcode.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrawcode.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRrs.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrs.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/QRrsItem.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrsItem.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/QRrsblock.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrsblock.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRspec.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRspec.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRsplit.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRsplit.php) | 0 | ||||
-rw-r--r-- | libs/phpqrcode/lib/PHPQRCode/QRstr.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRstr.php) | 0 | ||||
-rwxr-xr-x | libs/phpqrcode/lib/PHPQRCode/QRtools.php (renamed from vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRtools.php) | 0 | ||||
-rw-r--r-- | libs/picodb/LICENSE (renamed from vendor/fguillot/picodb/LICENSE) | 0 | ||||
-rw-r--r-- | libs/picodb/README.md | 672 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Builder/BaseBuilder.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Builder/BaseBuilder.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Builder/ConditionBuilder.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Builder/ConditionBuilder.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Builder/InsertBuilder.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Builder/InsertBuilder.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Builder/OrConditionBuilder.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Builder/OrConditionBuilder.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Builder/UpdateBuilder.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Builder/UpdateBuilder.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Database.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Database.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Driver/Base.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Driver/Base.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Driver/Mssql.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Driver/Mysql.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Driver/Mysql.php) | 4 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Driver/Postgres.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Driver/Postgres.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Driver/Sqlite.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/DriverFactory.php (renamed from vendor/fguillot/picodb/lib/PicoDb/DriverFactory.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Hashtable.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Hashtable.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/LargeObject.php (renamed from vendor/fguillot/picodb/lib/PicoDb/LargeObject.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/SQLException.php (renamed from vendor/fguillot/picodb/lib/PicoDb/SQLException.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Schema.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Schema.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/StatementHandler.php (renamed from vendor/fguillot/picodb/lib/PicoDb/StatementHandler.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/Table.php (renamed from vendor/fguillot/picodb/lib/PicoDb/Table.php) | 0 | ||||
-rw-r--r-- | libs/picodb/lib/PicoDb/UrlParser.php (renamed from vendor/fguillot/picodb/lib/PicoDb/UrlParser.php) | 0 | ||||
-rw-r--r-- | libs/picodb/phpunit.xml | 30 | ||||
-rw-r--r-- | libs/picodb/tests/AlternativeSchemaFixture.php | 15 | ||||
-rw-r--r-- | libs/picodb/tests/MysqlDatabaseTest.php | 101 | ||||
-rw-r--r-- | libs/picodb/tests/MysqlDriverTest.php | 73 | ||||
-rw-r--r-- | libs/picodb/tests/MysqlLobTest.php | 83 | ||||
-rw-r--r-- | libs/picodb/tests/MysqlSchemaTest.php | 49 | ||||
-rw-r--r-- | libs/picodb/tests/MysqlTableTest.php | 356 | ||||
-rw-r--r-- | libs/picodb/tests/PostgresDatabaseTest.php | 100 | ||||
-rw-r--r-- | libs/picodb/tests/PostgresDriverTest.php | 78 | ||||
-rw-r--r-- | libs/picodb/tests/PostgresLobTest.php | 87 | ||||
-rw-r--r-- | libs/picodb/tests/PostgresSchemaTest.php | 40 | ||||
-rw-r--r-- | libs/picodb/tests/PostgresTableTest.php | 355 | ||||
-rw-r--r-- | libs/picodb/tests/SchemaFixture.php | 21 | ||||
-rw-r--r-- | libs/picodb/tests/SqliteDatabaseTest.php | 120 | ||||
-rw-r--r-- | libs/picodb/tests/SqliteDriverTest.php | 70 | ||||
-rw-r--r-- | libs/picodb/tests/SqliteLobtest.php | 84 | ||||
-rw-r--r-- | libs/picodb/tests/SqliteSchemaTest.php | 36 | ||||
-rw-r--r-- | libs/picodb/tests/SqliteTableTest.php | 444 | ||||
-rw-r--r-- | libs/picodb/tests/UrlParserTest.php | 46 | ||||
-rw-r--r-- | vendor/aferrandini/phpqrcode/.gitignore | 1 | ||||
-rwxr-xr-x | vendor/aferrandini/phpqrcode/VERSION | 2 | ||||
-rw-r--r-- | vendor/aferrandini/phpqrcode/composer.json | 21 | ||||
-rwxr-xr-x | vendor/aferrandini/phpqrcode/readme.md | 37 | ||||
-rw-r--r-- | vendor/composer/autoload_classmap.php | 164 | ||||
-rw-r--r-- | vendor/composer/autoload_namespaces.php | 3 | ||||
-rw-r--r-- | vendor/composer/autoload_static.php | 179 | ||||
-rw-r--r-- | vendor/composer/installed.json | 240 | ||||
-rw-r--r-- | vendor/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php | 30 | ||||
-rw-r--r-- | vendor/symfony/polyfill-mbstring/Mbstring.php | 42 | ||||
-rw-r--r-- | vendor/symfony/polyfill-mbstring/composer.json | 2 |
515 files changed, 5370 insertions, 687 deletions
diff --git a/composer.json b/composer.json index 45367a19..6a774719 100644 --- a/composer.json +++ b/composer.json @@ -29,16 +29,13 @@ "christian-riesen/otp" : "1.4.3", "eluceo/ical": "0.10.1", "erusev/parsedown" : "1.7.1", - "fguillot/json-rpc" : "1.2.1", - "fguillot/picodb" : "v1.0.18", "paragonie/random_compat": "2.0.11", "pimple/pimple" : "3.2.2", "psr/log": "~1.0", "swiftmailer/swiftmailer" : "5.4.8", "symfony/console" : "3.4.2", "symfony/event-dispatcher" : "3.4.2", - "gregwar/captcha": "1.1.4", - "aferrandini/phpqrcode": "1.0.1" + "gregwar/captcha": "1.1.4" }, "autoload" : { "classmap" : ["app/"], @@ -59,7 +56,9 @@ "phpdocumentor/reflection-docblock": "3.3.2", "symfony/debug": "3.4.2", "symfony/yaml": "3.4.2", + "symfony/finder": "3.4.8", "symfony/stopwatch" : "3.4.2", + "myclabs/deep-copy": "1.7.0", "phpunit/phpunit" : "5.7.24", "phpunit/phpunit-selenium": "3.0.3" } diff --git a/composer.lock b/composer.lock index b6da3a71..e0d09312 100644 --- a/composer.lock +++ b/composer.lock @@ -4,54 +4,9 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "6bb506d8bbacef8a6eb542c564c5a3ab", + "content-hash": "c4e8b7c267db97b532117fc9bc88c917", "packages": [ { - "name": "aferrandini/phpqrcode", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/aferrandini/PHPQRCode.git", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aferrandini/PHPQRCode/zipball/3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "PHPQRCode": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ariel Ferrandini", - "email": "arielferrandini@gmail.com", - "homepage": "http://www.ferrandini.com/", - "role": "Developer" - } - ], - "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", - "homepage": "https://github.com/aferrandini/PHPQRCode", - "keywords": [ - "barcode", - "php", - "qrcode" - ], - "abandoned": "endroid/qr-code", - "time": "2013-07-08T09:39:08+00:00" - }, - { "name": "christian-riesen/base32", "version": "1.3.1", "source": { @@ -256,85 +211,6 @@ "time": "2018-03-08T01:11:30+00:00" }, { - "name": "fguillot/json-rpc", - "version": "v1.2.1", - "source": { - "type": "git", - "url": "https://github.com/fguillot/JsonRPC.git", - "reference": "d491bb549bfa11aff4c37abcea2ffb28c9523f69" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fguillot/JsonRPC/zipball/d491bb549bfa11aff4c37abcea2ffb28c9523f69", - "reference": "d491bb549bfa11aff4c37abcea2ffb28c9523f69", - "shasum": "" - }, - "require": { - "php": ">=5.3.4" - }, - "require-dev": { - "phpunit/phpunit": "4.8.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "JsonRPC": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frédéric Guillot" - } - ], - "description": "Simple Json-RPC client/server library that just works", - "homepage": "https://github.com/fguillot/JsonRPC", - "time": "2016-06-25T23:11:10+00:00" - }, - { - "name": "fguillot/picodb", - "version": "v1.0.18", - "source": { - "type": "git", - "url": "https://github.com/fguillot/picoDb.git", - "reference": "4df08a3cc3c4a39e6bb329872f5d020fe135f805" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fguillot/picoDb/zipball/4df08a3cc3c4a39e6bb329872f5d020fe135f805", - "reference": "4df08a3cc3c4a39e6bb329872f5d020fe135f805", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "4.8.*" - }, - "type": "library", - "autoload": { - "psr-0": { - "PicoDb": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frédéric Guillot", - "homepage": "https://github.com/fguillot/" - } - ], - "description": "Minimalist database query builder", - "homepage": "https://github.com/fguillot/picoDb", - "time": "2018-03-05T22:39:16+00:00" - }, - { "name": "gregwar/captcha", "version": "v1.1.4", "source": { @@ -874,16 +750,16 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.7.0", + "version": "v1.8.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" + "reference": "3296adf6a6454a050679cde90f95350ad604b171" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", - "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", + "reference": "3296adf6a6454a050679cde90f95350ad604b171", "shasum": "" }, "require": { @@ -895,7 +771,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.8-dev" } }, "autoload": { @@ -929,7 +805,7 @@ "portable", "shim" ], - "time": "2018-01-30T19:27:44+00:00" + "time": "2018-04-26T10:06:28+00:00" } ], "packages-dev": [ diff --git a/vendor/fguillot/json-rpc/LICENSE b/libs/jsonrpc/LICENSE index 6a362bc1..6a362bc1 100644 --- a/vendor/fguillot/json-rpc/LICENSE +++ b/libs/jsonrpc/LICENSE diff --git a/libs/jsonrpc/README.markdown b/libs/jsonrpc/README.markdown new file mode 100644 index 00000000..91891a21 --- /dev/null +++ b/libs/jsonrpc/README.markdown @@ -0,0 +1,412 @@ +JsonRPC PHP Client and Server +============================= + +A simple Json-RPC client/server that just works. + +Features +-------- + +- JSON-RPC 2.0 only +- The server support batch requests and notifications +- Authentication and IP based client restrictions +- Custom Middleware +- Fully unit tested +- Requirements: PHP >= 5.3.4 +- License: MIT + +Author +------ + +Frédéric Guillot + +Installation with Composer +-------------------------- + +```bash +composer require fguillot/json-rpc @stable +``` + +Examples +-------- + +### Server + +Callback binding: + +```php +<?php + +use JsonRPC\Server; + +$server = new Server(); +$server->getProcedureHandler() + ->withCallback('addition', function ($a, $b) { + return $a + $b; + }) + ->withCallback('random', function ($start, $end) { + return mt_rand($start, $end); + }) +; + +echo $server->execute(); +``` + +Callback binding from array: + +```php +<?php + +use JsonRPC\Server; + +$callbacks = array( + 'getA' => function() { return 'A'; }, + 'getB' => function() { return 'B'; }, + 'getC' => function() { return 'C'; } +); + +$server = new Server(); +$server->getProcedureHandler()->withCallbackArray($callbacks); + +echo $server->execute(); +``` + +Class/Method binding: + +```php +<?php + +use JsonRPC\Server; + +class Api +{ + public function doSomething($arg1, $arg2 = 3) + { + return $arg1 + $arg2; + } +} + +$server = new Server(); +$procedureHandler = $server->getProcedureHandler(); + +// Bind the method Api::doSomething() to the procedure myProcedure +$procedureHandler->withClassAndMethod('myProcedure', 'Api', 'doSomething'); + +// Use a class instance instead of the class name +$procedureHandler->withClassAndMethod('mySecondProcedure', new Api, 'doSomething'); + +// The procedure and the method are the same +$procedureHandler->withClassAndMethod('doSomething', 'Api'); + +// Attach the class, the client will be able to call directly Api::doSomething() +$procedureHandler->withObject(new Api()); + +echo $server->execute(); +``` + +Class/Method binding from array: + +```php +<?php + +use JsonRPC\Server; + +class MathApi +{ + public function addition($arg1, $arg2) + { + return $arg1 + $arg2; + } + + public function subtraction($arg1, $arg2) + { + return $arg1 - $arg2; + } + + public function multiplication($arg1, $arg2) + { + return $arg1 * $arg2; + } + + public function division($arg1, $arg2) + { + return $arg1 / $arg2; + } +} + +$callbacks = array( + 'addition' => array( 'MathApi', addition ), + 'subtraction' => array( 'MathApi', subtraction ), + 'multiplication' => array( 'MathApi', multiplication ), + 'division' => array( 'MathApi', division ) +); + +$server = new Server(); +$server->getProcedureHandler()->withClassAndMethodArray($callbacks); + +echo $server->execute(); +``` + +Server Middleware: + +Middleware might be used to authenticate and authorize the client. +They are executed before each procedure. + +```php +<?php + +use JsonRPC\Server; +use JsonRPC\MiddlewareInterface; +use JsonRPC\Exception\AuthenticationFailureException; + +class Api +{ + public function doSomething($arg1, $arg2 = 3) + { + return $arg1 + $arg2; + } +} + +class MyMiddleware implements MiddlewareInterface +{ + public function execute($username, $password, $procedureName) + { + if ($username !== 'foobar') { + throw new AuthenticationFailureException('Wrong credentials!'); + } + } +} + +$server = new Server(); +$server->getMiddlewareHandler()->withMiddleware(new MyMiddleware()); +$server->getProcedureHandler()->withObject(new Api()); +echo $server->execute(); +``` + +You can raise a `AuthenticationFailureException` when the API credentials are wrong or a `AccessDeniedException` when the user is not allowed to access to the procedure. + +### Client + +Example with positional parameters: + +```php +<?php + +use JsonRPC\Client; + +$client = new Client('http://localhost/server.php'); +$result = $client->execute('addition', [3, 5]); +``` + +Example with named arguments: + +```php +<?php + +use JsonRPC\Client; + +$client = new Client('http://localhost/server.php'); +$result = $client->execute('random', ['end' => 10, 'start' => 1]); +``` + +Arguments are called in the right order. + +Examples with the magic method `__call()`: + +```php +<?php + +use JsonRPC\Client; + +$client = new Client('http://localhost/server.php'); +$result = $client->random(50, 100); +``` + +The example above use positional arguments for the request and this one use named arguments: + +```php +$result = $client->random(['end' => 10, 'start' => 1]); +``` + +### Client batch requests + +Call several procedures in a single HTTP request: + +```php +<?php + +use JsonRPC\Client; + +$client = new Client('http://localhost/server.php'); + +$results = $client->batch() + ->foo(['arg1' => 'bar']) + ->random(1, 100) + ->add(4, 3) + ->execute('add', [2, 5]) + ->send(); + +print_r($results); +``` + +All results are stored at the same position of the call. + +### Client exceptions + +Client exceptions are normally thrown when an error is returned by the server. You can change this behaviour by +using the `$returnException` argument which causes exceptions to be returned. This can be extremely useful when +executing the batch request. + +- `BadFunctionCallException`: Procedure not found on the server +- `InvalidArgumentException`: Wrong procedure arguments +- `JsonRPC\Exception\AccessDeniedException`: Access denied +- `JsonRPC\Exception\ConnectionFailureException`: Connection failure +- `JsonRPC\Exception\ServerErrorException`: Internal server error + +### Enable client debugging + +You can enable the debug mode to see the JSON request and response: + +```php +<?php + +use JsonRPC\Client; + +$client = new Client('http://localhost/server.php'); +$client->getHttpClient()->withDebug(); +``` + +The debug output is sent to the PHP system logger. +You can configure the log destination in your `php.ini`. + +Output example: + +```json +==> Request: +{ + "jsonrpc": "2.0", + "method": "removeCategory", + "id": 486782327, + "params": [ + 1 + ] +} +==> Response: +{ + "jsonrpc": "2.0", + "id": 486782327, + "result": true +} +``` + +### IP based client restrictions + +The server can allow only some IP addresses: + +```php +<?php + +use JsonRPC\Server; + +$server = new Server; + +// IP client restrictions +$server->allowHosts(['192.168.0.1', '127.0.0.1']); + +[...] + +// Return the response to the client +echo $server->execute(); +``` + +If the client is blocked, you got a 403 Forbidden HTTP response. + +### HTTP Basic Authentication + +If you use HTTPS, you can allow client by using a username/password. + +```php +<?php + +use JsonRPC\Server; + +$server = new Server; + +// List of users to allow +$server->authentication(['user1' => 'password1', 'user2' => 'password2']); + +[...] + +// Return the response to the client +echo $server->execute(); +``` + +On the client, set credentials like that: + +```php +<?php + +use JsonRPC\Client; + +$client = new Client('http://localhost/server.php'); +$client->getHttpClient() + ->withUsername('Foo') + ->withPassword('Bar'); +``` + +If the authentication failed, the client throw a RuntimeException. + +Using an alternative authentication header: + +```php + +use JsonRPC\Server; + +$server = new Server(); +$server->setAuthenticationHeader('X-Authentication'); +$server->authentication(['myusername' => 'mypassword']); +``` + +The example above will use the HTTP header `X-Authentication` instead of the standard `Authorization: Basic [BASE64_CREDENTIALS]`. +The username/password values need be encoded in base64: `base64_encode('username:password')`. + +### Local Exceptions + +By default, the server will relay all exceptions to the client. +If you would like to relay only some of them, use the method `Server::withLocalException($exception)`: + +```php +<?php + +use JsonRPC\Server; +class MyException1 extends Exception {}; +class MyException2 extends Exception {}; + +$server = new Server(); + +// Exceptions that should NOT be relayed to the client, if they occurs +$server + ->withLocalException('MyException1') + ->withLocalException('MyException2') +; + +[...] + +echo $server->execute(); +``` + +### Callback before client request + +You can use a callback to change the HTTP headers or the URL before to make the request to the server. + +Example: + +```php +<?php + +$client = new Client(); +$client->getHttpClient()->withBeforeRequestCallback(function(HttpClient $client, $payload) { + $client->withHeaders(array('Content-Length: '.strlen($payload))); +}); + +$client->myProcedure(123); +``` diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Client.php b/libs/jsonrpc/src/JsonRPC/Client.php index fed1ce30..73ab1342 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Client.php +++ b/libs/jsonrpc/src/JsonRPC/Client.php @@ -155,17 +155,20 @@ class Client * Execute a procedure * * @access public - * @param string $procedure Procedure name - * @param array $params Procedure arguments - * @param array $reqattrs + * @param string $procedure Procedure name + * @param array $params Procedure arguments + * @param array $reqattrs + * @param string|null $requestId Request Id + * @param string[] $headers Headers for this request * @return mixed */ - public function execute($procedure, array $params = array(), array $reqattrs = array()) + public function execute($procedure, array $params = array(), array $reqattrs = array(), $requestId = null, array $headers = array()) { $payload = RequestBuilder::create() ->withProcedure($procedure) ->withParams($params) ->withRequestAttributes($reqattrs) + ->withId($requestId) ->build(); if ($this->isBatch) { @@ -173,7 +176,7 @@ class Client return $this; } - return $this->sendPayload($payload); + return $this->sendPayload($payload, $headers); } /** @@ -181,14 +184,15 @@ class Client * * @access private * @throws Exception - * @param string $payload + * @param string $payload + * @param string[] $headers * @return Exception|Client */ - private function sendPayload($payload) + private function sendPayload($payload, array $headers = array()) { return ResponseParser::create() ->withReturnException($this->returnException) - ->withPayload($this->httpClient->execute($payload)) + ->withPayload($this->httpClient->execute($payload, $headers)) ->parse(); } } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/AccessDeniedException.php b/libs/jsonrpc/src/JsonRPC/Exception/AccessDeniedException.php index 8cb9bc2b..d1aabfbe 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/AccessDeniedException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/AccessDeniedException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class AccessDeniedException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class AccessDeniedException extends Exception +class AccessDeniedException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/AuthenticationFailureException.php b/libs/jsonrpc/src/JsonRPC/Exception/AuthenticationFailureException.php index 6237256a..770edeeb 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/AuthenticationFailureException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/AuthenticationFailureException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class AuthenticationFailureException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class AuthenticationFailureException extends Exception +class AuthenticationFailureException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ConnectionFailureException.php b/libs/jsonrpc/src/JsonRPC/Exception/ConnectionFailureException.php index 6f4985bc..195f8910 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ConnectionFailureException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/ConnectionFailureException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class ConnectionFailureException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class ConnectionFailureException extends Exception +class ConnectionFailureException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonFormatException.php b/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonFormatException.php index e5bb31cd..294bc74c 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonFormatException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonFormatException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class InvalidJsonFormatException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class InvalidJsonFormatException extends Exception +class InvalidJsonFormatException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php b/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php index e2277379..2e3ff05b 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class InvalidJsonRpcFormatException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class InvalidJsonRpcFormatException extends Exception +class InvalidJsonRpcFormatException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php b/libs/jsonrpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php index 0a40d806..16f75910 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class ResponseEncodingFailureException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class ResponseEncodingFailureException extends Exception +class ResponseEncodingFailureException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ResponseException.php b/libs/jsonrpc/src/JsonRPC/Exception/ResponseException.php index 98fb5c67..e97b4e6b 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ResponseException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/ResponseException.php @@ -10,7 +10,7 @@ use Exception; * @package JsonRPC\Exception * @author Frederic Guillot */ -class ResponseException extends Exception +class ResponseException extends RpcCallFailedException { /** * A value that contains additional information about the error. diff --git a/libs/jsonrpc/src/JsonRPC/Exception/RpcCallFailedException.php b/libs/jsonrpc/src/JsonRPC/Exception/RpcCallFailedException.php new file mode 100644 index 00000000..b3fcd84e --- /dev/null +++ b/libs/jsonrpc/src/JsonRPC/Exception/RpcCallFailedException.php @@ -0,0 +1,15 @@ +<?php + +namespace JsonRPC\Exception; + +use Exception; + +/** + * Class RpcCallFailedException + * + * @package JsonRPC\Exception + * @author Frederic Guillot + */ +class RpcCallFailedException extends Exception +{ +} diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ServerErrorException.php b/libs/jsonrpc/src/JsonRPC/Exception/ServerErrorException.php index ab3ea584..29031604 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Exception/ServerErrorException.php +++ b/libs/jsonrpc/src/JsonRPC/Exception/ServerErrorException.php @@ -2,14 +2,12 @@ namespace JsonRPC\Exception; -use Exception; - /** * Class ServerErrorException * * @package JsonRPC\Exception * @author Frederic Guillot */ -class ServerErrorException extends Exception +class ServerErrorException extends RpcCallFailedException { } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/HttpClient.php b/libs/jsonrpc/src/JsonRPC/HttpClient.php index 90ce705a..01d50445 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/HttpClient.php +++ b/libs/jsonrpc/src/JsonRPC/HttpClient.php @@ -18,26 +18,26 @@ class HttpClient /** * URL of the server * - * @access private + * @access protected * @var string */ - private $url; + protected $url; /** * HTTP client timeout * - * @access private + * @access protected * @var integer */ - private $timeout = 5; + protected $timeout = 5; /** * Default HTTP headers to send to the server * - * @access private + * @access protected * @var array */ - private $headers = array( + protected $headers = array( 'User-Agent: JSON-RPC PHP Client <https://github.com/fguillot/JsonRPC>', 'Content-Type: application/json', 'Accept: application/json', @@ -47,50 +47,58 @@ class HttpClient /** * Username for authentication * - * @access private + * @access protected * @var string */ - private $username; + protected $username; /** * Password for authentication * - * @access private + * @access protected * @var string */ - private $password; + protected $password; /** * Enable debug output to the php error log * - * @access private + * @access protected * @var boolean */ - private $debug = false; + protected $debug = false; /** * Cookies * - * @access private + * @access protected * @var array */ - private $cookies = array(); + protected $cookies = array(); /** * SSL certificates verification * - * @access private + * @access protected * @var boolean */ - private $verifySslCertificate = true; + protected $verifySslCertificate = true; + + /** + * SSL client certificate + * + * @access protected + * @var string + */ + protected $sslLocalCert; /** * Callback called before the doing the request * - * @access private + * @access protected * @var Closure */ - private $beforeRequest; + protected $beforeRequest; /** * HttpClient constructor @@ -156,7 +164,7 @@ class HttpClient } /** - * Set timeout + * Set headers * * @access public * @param array $headers @@ -209,6 +217,18 @@ class HttpClient } /** + * Assign a certificate to use TLS + * + * @access public + * @return $this + */ + public function withSslLocalCert($path) + { + $this->sslLocalCert = $path; + return $this; + } + + /** * Assign a callback before the request * * @access public @@ -237,24 +257,57 @@ class HttpClient * * @access public * @throws ConnectionFailureException - * @param string $payload + * @param string $payload + * @param string[] $headers Headers for this request * @return array */ - public function execute($payload) + public function execute($payload, array $headers = array()) { if (is_callable($this->beforeRequest)) { - call_user_func_array($this->beforeRequest, array($this, $payload)); + call_user_func_array($this->beforeRequest, array($this, $payload, $headers)); } - $stream = fopen(trim($this->url), 'r', false, $this->buildContext($payload)); + if ($this->isCurlLoaded()) { + $ch = curl_init(); + $requestHeaders = $this->buildHeaders($headers); + $headers = array(); + curl_setopt_array($ch, array( + CURLOPT_URL => trim($this->url), + CURLOPT_RETURNTRANSFER => true, + CURLOPT_CONNECTTIMEOUT => $this->timeout, + CURLOPT_MAXREDIRS => 2, + CURLOPT_SSL_VERIFYPEER => $this->verifySslCertificate, + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => $payload, + CURLOPT_HTTPHEADER => $requestHeaders, + CURLOPT_HEADERFUNCTION => function ($curl, $header) use (&$headers) { + $headers[] = $header; + return strlen($header); + } + )); + if ($this->sslLocalCert !== null) { + curl_setopt($ch, CURLOPT_CAINFO, $this->sslLocalCert); + } + $response = curl_exec($ch); + curl_close($ch); + if ($response !== false) { + $response = json_decode($response, true); + } else { + throw new ConnectionFailureException('Unable to establish a connection'); + } + } else { + $stream = fopen(trim($this->url), 'r', false, $this->buildContext($payload, $headers)); - if (! is_resource($stream)) { - throw new ConnectionFailureException('Unable to establish a connection'); - } + if (! is_resource($stream)) { + throw new ConnectionFailureException('Unable to establish a connection'); + } - $metadata = stream_get_meta_data($stream); - $headers = $metadata['wrapper_data']; - $response = json_decode(stream_get_contents($stream), true); + $metadata = stream_get_meta_data($stream); + $headers = $metadata['wrapper_data']; + $response = json_decode(stream_get_contents($stream), true); + + fclose($stream); + } if ($this->debug) { error_log('==> Request: '.PHP_EOL.(is_string($payload) ? $payload : json_encode($payload, JSON_PRETTY_PRINT))); @@ -271,29 +324,16 @@ class HttpClient /** * Prepare stream context * - * @access private + * @access protected * @param string $payload + * @param string[] $headers * @return resource */ - private function buildContext($payload) + protected function buildContext($payload, array $headers = array()) { - $headers = $this->headers; - - if (! empty($this->username) && ! empty($this->password)) { - $headers[] = 'Authorization: Basic '.base64_encode($this->username.':'.$this->password); - } + $headers = $this->buildHeaders($headers); - if (! empty($this->cookies)){ - $cookies = array(); - - foreach ($this->cookies as $key => $value) { - $cookies[] = $key.'='.$value; - } - - $headers[] = 'Cookie: '.implode('; ', $cookies); - } - - return stream_context_create(array( + $options = array( 'http' => array( 'method' => 'POST', 'protocol_version' => 1.1, @@ -307,16 +347,22 @@ class HttpClient 'verify_peer' => $this->verifySslCertificate, 'verify_peer_name' => $this->verifySslCertificate, ) - )); + ); + + if ($this->sslLocalCert !== null) { + $options['ssl']['local_cert'] = $this->sslLocalCert; + } + + return stream_context_create($options); } /** * Parse cookies from response * - * @access private + * @access protected * @param array $headers */ - private function parseCookies(array $headers) + protected function parseCookies(array $headers) { foreach ($headers as $header) { $pos = stripos($header, 'Set-Cookie:'); @@ -362,4 +408,42 @@ class HttpClient } } } + + /** + * Tests if the curl extension is loaded + * + * @access protected + * @return bool + */ + protected function isCurlLoaded() + { + return extension_loaded('curl'); + } + + /** + * Prepare Headers + * + * @access protected + * @param array $headers + * @return array + */ + protected function buildHeaders(array $headers) + { + $headers = array_merge($this->headers, $headers); + + if (!empty($this->username) && !empty($this->password)) { + $headers[] = 'Authorization: Basic ' . base64_encode($this->username . ':' . $this->password); + } + + if (!empty($this->cookies)) { + $cookies = array(); + + foreach ($this->cookies as $key => $value) { + $cookies[] = $key . '=' . $value; + } + + $headers[] = 'Cookie: ' . implode('; ', $cookies); + } + return $headers; + } } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/MiddlewareHandler.php b/libs/jsonrpc/src/JsonRPC/MiddlewareHandler.php index 61d5a2d2..61d5a2d2 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/MiddlewareHandler.php +++ b/libs/jsonrpc/src/JsonRPC/MiddlewareHandler.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/MiddlewareInterface.php b/libs/jsonrpc/src/JsonRPC/MiddlewareInterface.php index ab55261d..ab55261d 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/MiddlewareInterface.php +++ b/libs/jsonrpc/src/JsonRPC/MiddlewareInterface.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/ProcedureHandler.php b/libs/jsonrpc/src/JsonRPC/ProcedureHandler.php index 1e4fd518..fe33f6b1 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/ProcedureHandler.php +++ b/libs/jsonrpc/src/JsonRPC/ProcedureHandler.php @@ -108,6 +108,38 @@ class ProcedureHandler } /** + * Register multiple procedures from array + * + * @access public + * @param array $callbacks Array with procedure names (array keys) and callbacks (array values) + * @return $this + */ + public function withCallbackArray($callbacks) + { + foreach ($callbacks as $procedure => $callback) { + $this->withCallback($procedure, $callback); + } + + return $this; + } + + /** + * Bind multiple procedures to classes from array + * + * @access public + * @param array $callbacks Array with procedure names (array keys) and class and method names (array values) + * @return $this + */ + public function withClassAndMethodArray($callbacks) + { + foreach ($callbacks as $procedure => $callback) { + $this->withClassAndMethod($procedure, $callback[0], $callback[1]); + } + + return $this; + } + + /** * Execute the procedure * * @access public @@ -250,7 +282,7 @@ class ProcedureHandler foreach ($methodParams as $p) { $name = $p->getName(); - if (isset($requestParams[$name])) { + if (array_key_exists($name, $requestParams)) { $params[$name] = $requestParams[$name]; } elseif ($p->isDefaultValueAvailable()) { $params[$name] = $p->getDefaultValue(); diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Request/BatchRequestParser.php b/libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php index c0fc776e..c0fc776e 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Request/BatchRequestParser.php +++ b/libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Request/RequestBuilder.php b/libs/jsonrpc/src/JsonRPC/Request/RequestBuilder.php index 145d21c1..145d21c1 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Request/RequestBuilder.php +++ b/libs/jsonrpc/src/JsonRPC/Request/RequestBuilder.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Request/RequestParser.php b/libs/jsonrpc/src/JsonRPC/Request/RequestParser.php index ea1b7d43..ea1b7d43 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Request/RequestParser.php +++ b/libs/jsonrpc/src/JsonRPC/Request/RequestParser.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseBuilder.php b/libs/jsonrpc/src/JsonRPC/Response/ResponseBuilder.php index c1caff92..a0348ce3 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseBuilder.php +++ b/libs/jsonrpc/src/JsonRPC/Response/ResponseBuilder.php @@ -24,26 +24,26 @@ class ResponseBuilder /** * Payload ID * - * @access private + * @access protected * @var mixed */ - private $id; + protected $id; /** * Payload ID * - * @access private + * @access protected * @var mixed */ - private $result; + protected $result; /** * Payload error code * - * @access private + * @access protected * @var integer */ - private $errorCode; + protected $errorCode; /** * Payload error message @@ -51,41 +51,41 @@ class ResponseBuilder * @access private * @var string */ - private $errorMessage; + protected $errorMessage; /** * Payload error data * - * @access private + * @access protected * @var mixed */ - private $errorData; + protected $errorData; /** * HTTP Headers * - * @access private + * @access protected * @var array */ - private $headers = array( + protected $headers = array( 'Content-Type' => 'application/json', ); /** * HTTP status * - * @access private + * @access protected * @var string */ - private $status; + protected $status; /** * Exception * - * @access private + * @access protected * @var ResponseException */ - private $exception; + protected $exception; /** * Get new object instance @@ -212,7 +212,14 @@ class ResponseBuilder */ public function build() { - $encodedResponse = json_encode($this->buildResponse()); + $options = 0; + if (defined('JSON_UNESCAPED_SLASHES')) { + $options |= JSON_UNESCAPED_SLASHES; + } + if (defined('JSON_UNESCAPED_UNICODE')) { + $options |= JSON_UNESCAPED_UNICODE; + } + $encodedResponse = json_encode($this->buildResponse(), $options); JsonEncodingValidator::validate(); return $encodedResponse; @@ -240,10 +247,10 @@ class ResponseBuilder /** * Build response payload * - * @access private + * @access protected * @return array */ - private function buildResponse() + protected function buildResponse() { $response = array('jsonrpc' => '2.0'); $this->handleExceptions(); @@ -261,10 +268,10 @@ class ResponseBuilder /** * Build response error payload * - * @access private + * @access protected * @return array */ - private function buildErrorResponse() + protected function buildErrorResponse() { $response = array( 'code' => $this->errorCode, @@ -281,42 +288,47 @@ class ResponseBuilder /** * Transform exceptions to JSON-RPC errors * - * @access private + * @access protected */ - private function handleExceptions() + protected function handleExceptions() { - if ($this->exception instanceof InvalidJsonFormatException) { + try { + if ($this->exception instanceof Exception) { + throw $this->exception; + } + } catch (InvalidJsonFormatException $e) { $this->errorCode = -32700; $this->errorMessage = 'Parse error'; $this->id = null; - } elseif ($this->exception instanceof InvalidJsonRpcFormatException) { + } catch (InvalidJsonRpcFormatException $e) { $this->errorCode = -32600; $this->errorMessage = 'Invalid Request'; $this->id = null; - } elseif ($this->exception instanceof BadFunctionCallException) { + } catch (BadFunctionCallException $e) { $this->errorCode = -32601; $this->errorMessage = 'Method not found'; - } elseif ($this->exception instanceof InvalidArgumentException) { + } catch (InvalidArgumentException $e) { $this->errorCode = -32602; $this->errorMessage = 'Invalid params'; - } elseif ($this->exception instanceof ResponseEncodingFailureException) { + $this->errorData = $this->exception->getMessage(); + } catch (ResponseEncodingFailureException $e) { $this->errorCode = -32603; $this->errorMessage = 'Internal error'; $this->errorData = $this->exception->getMessage(); - } elseif ($this->exception instanceof AuthenticationFailureException) { + } catch (AuthenticationFailureException $e) { $this->errorCode = 401; $this->errorMessage = 'Unauthorized'; $this->status = 'HTTP/1.0 401 Unauthorized'; $this->withHeader('WWW-Authenticate', 'Basic realm="JsonRPC"'); - } elseif ($this->exception instanceof AccessDeniedException) { + } catch (AccessDeniedException $e) { $this->errorCode = 403; $this->errorMessage = 'Forbidden'; $this->status = 'HTTP/1.0 403 Forbidden'; - } elseif ($this->exception instanceof ResponseException) { + } catch (ResponseException $e) { $this->errorCode = $this->exception->getCode(); $this->errorMessage = $this->exception->getMessage(); $this->errorData = $this->exception->getData(); - } elseif ($this->exception instanceof Exception) { + } catch (Exception $e) { $this->errorCode = $this->exception->getCode(); $this->errorMessage = $this->exception->getMessage(); } diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php b/libs/jsonrpc/src/JsonRPC/Response/ResponseParser.php index 02d449ba..02d449ba 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php +++ b/libs/jsonrpc/src/JsonRPC/Response/ResponseParser.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Server.php b/libs/jsonrpc/src/JsonRPC/Server.php index 1ed075a4..1ed075a4 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Server.php +++ b/libs/jsonrpc/src/JsonRPC/Server.php diff --git a/libs/jsonrpc/src/JsonRPC/Validator/HostValidator.php b/libs/jsonrpc/src/JsonRPC/Validator/HostValidator.php new file mode 100644 index 00000000..3f9d6989 --- /dev/null +++ b/libs/jsonrpc/src/JsonRPC/Validator/HostValidator.php @@ -0,0 +1,73 @@ +<?php + +namespace JsonRPC\Validator; + +use JsonRPC\Exception\AccessDeniedException; + +/** + * Class HostValidator + * + * @package JsonRPC\Validator + * @author Frederic Guillot + */ +class HostValidator +{ + /** + * Validate + * + * @static + * @access public + * @param array $hosts + * @param string $remoteAddress + * @throws AccessDeniedException + */ + public static function validate(array $hosts, $remoteAddress) + { + if (!empty($hosts)) { + foreach ($hosts as $host) { + if (self::ipMatch($remoteAddress, $host)) { + return; + } + } + throw new AccessDeniedException('Access Forbidden'); + } + } + + /** + * Validate remoteAddress match host + * @param $remoteAddress + * @param $host + * @return bool + */ + public static function ipMatch($remoteAddress, $host) + { + $host = trim($host); + if (strpos($host, '/') !== false) { + list($network, $mask) = explode('/', $host); + if (self::netMatch($remoteAddress, $network, $mask)) { + return true; + } + } + + if ($host === $remoteAddress) { + return true; + } + + return false; + } + + /** + * validate the ipAddress in network + * 192.168.1.1/24 + * @param $clientIp + * @param $networkIp + * @param $mask + * + * @return bool + */ + public static function netMatch($clientIp, $networkIp, $mask) + { + $mask1 = 32 - $mask; + return ((ip2long($clientIp) >> $mask1) == (ip2long($networkIp) >> $mask1)); + } +} diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/JsonEncodingValidator.php b/libs/jsonrpc/src/JsonRPC/Validator/JsonEncodingValidator.php index 0bbc4abd..0bbc4abd 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/JsonEncodingValidator.php +++ b/libs/jsonrpc/src/JsonRPC/Validator/JsonEncodingValidator.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/JsonFormatValidator.php b/libs/jsonrpc/src/JsonRPC/Validator/JsonFormatValidator.php index ca8e7a69..ca8e7a69 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/JsonFormatValidator.php +++ b/libs/jsonrpc/src/JsonRPC/Validator/JsonFormatValidator.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/RpcFormatValidator.php b/libs/jsonrpc/src/JsonRPC/Validator/RpcFormatValidator.php index f253a5a1..f253a5a1 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/RpcFormatValidator.php +++ b/libs/jsonrpc/src/JsonRPC/Validator/RpcFormatValidator.php diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/UserValidator.php b/libs/jsonrpc/src/JsonRPC/Validator/UserValidator.php index 4f889719..4f889719 100644 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/UserValidator.php +++ b/libs/jsonrpc/src/JsonRPC/Validator/UserValidator.php diff --git a/libs/jsonrpc/tests/ClientTest.php b/libs/jsonrpc/tests/ClientTest.php new file mode 100644 index 00000000..d1f83877 --- /dev/null +++ b/libs/jsonrpc/tests/ClientTest.php @@ -0,0 +1,103 @@ +<?php + +use JsonRPC\Client; + +require_once __DIR__.'/../../../vendor/autoload.php'; + +class ClientTest extends PHPUnit_Framework_TestCase +{ + private $httpClient; + + public function setUp() + { + $this->httpClient = $this + ->getMockBuilder('\JsonRPC\HttpClient') + ->setMethods(array('execute')) + ->getMock(); + } + + public function testSendBatch() + { + $client = new Client('', false, $this->httpClient); + $response = array( + array( + 'jsonrpc' => '2.0', + 'result' => 'c', + 'id' => 1, + ), + array( + 'jsonrpc' => '2.0', + 'result' => 'd', + 'id' => 2, + ) + ); + + $this->httpClient + ->expects($this->once()) + ->method('execute') + ->with($this->stringContains('[{"jsonrpc":"2.0","method":"methodA","id":')) + ->will($this->returnValue($response)); + + + $result = $client->batch() + ->execute('methodA', array('a' => 'b')) + ->execute('methodB', array('a' => 'b')) + ->send(); + + $this->assertEquals(array('c', 'd'), $result); + } + + public function testSendRequest() + { + $client = new Client('', false, $this->httpClient); + + $this->httpClient + ->expects($this->once()) + ->method('execute') + ->with($this->stringContains('{"jsonrpc":"2.0","method":"methodA","id":')) + ->will($this->returnValue(array('jsonrpc' => '2.0', 'result' => 'foobar', 'id' => 1))); + + $result = $client->execute('methodA', array('a' => 'b')); + $this->assertEquals($result, 'foobar'); + } + + public function testSendRequestWithError() + { + $client = new Client('', false, $this->httpClient); + + $this->httpClient + ->expects($this->once()) + ->method('execute') + ->with($this->stringContains('{"jsonrpc":"2.0","method":"methodA","id":')) + ->will($this->returnValue(array( + 'jsonrpc' => '2.0', + 'error' => array( + 'code' => -32601, + 'message' => 'Method not found', + ), + ))); + + $this->setExpectedException('BadFunctionCallException'); + $client->execute('methodA', array('a' => 'b')); + } + + public function testSendRequestWithErrorAndReturnExceptionEnabled() + { + $client = new Client('', true, $this->httpClient); + + $this->httpClient + ->expects($this->once()) + ->method('execute') + ->with($this->stringContains('{"jsonrpc":"2.0","method":"methodA","id":')) + ->will($this->returnValue(array( + 'jsonrpc' => '2.0', + 'error' => array( + 'code' => -32601, + 'message' => 'Method not found', + ), + ))); + + $result = $client->execute('methodA', array('a' => 'b')); + $this->assertInstanceOf('BadFunctionCallException', $result); + } +} diff --git a/libs/jsonrpc/tests/HttpClientTest.php b/libs/jsonrpc/tests/HttpClientTest.php new file mode 100644 index 00000000..71e6c8d0 --- /dev/null +++ b/libs/jsonrpc/tests/HttpClientTest.php @@ -0,0 +1,220 @@ +<?php + +namespace JsonRPC; + +require_once __DIR__.'/../../../vendor/autoload.php'; + +defined('CURLOPT_URL') or define('CURLOPT_URL', 10002); +defined('CURLOPT_RETURNTRANSFER') or define('CURLOPT_RETURNTRANSFER', 19913); +defined('CURLOPT_CONNECTTIMEOUT') or define('CURLOPT_CONNECTTIMEOUT', 78); +defined('CURLOPT_MAXREDIRS') or define('CURLOPT_MAXREDIRS', 68); +defined('CURLOPT_SSL_VERIFYPEER') or define('CURLOPT_SSL_VERIFYPEER', 64); +defined('CURLOPT_POST') or define('CURLOPT_POST', 47); +defined('CURLOPT_POSTFIELDS') or define('CURLOPT_POSTFIELDS', 10015); +defined('CURLOPT_HTTPHEADER') or define('CURLOPT_HTTPHEADER', 10023); +defined('CURLOPT_HEADERFUNCTION') or define('CURLOPT_HEADERFUNCTION', 20079); +defined('CURLOPT_CAINFO') or define('CURLOPT_CAINFO', 10065); + +function extension_loaded($extension) { + return HttpClientTest::$functions->extension_loaded($extension); +} + +function fopen($url, $mode, $use_include_path, $context) +{ + return HttpClientTest::$functions->fopen($url, $mode, $use_include_path, $context); +} + +function stream_context_create(array $params) +{ + return HttpClientTest::$functions->stream_context_create($params); +} + +function curl_init() { + return HttpClientTest::$functions->curl_init(); +} + +function curl_setopt_array($ch, array $params) { + HttpClientTest::$functions->curl_setopt_array($ch, $params); +} + +function curl_setopt($ch, $option, $value) { + HttpClientTest::$functions->curl_setopt($ch, $option, $value); +} + +function curl_exec($ch) { + return HttpClientTest::$functions->curl_exec($ch); +} + +function curl_close($ch) { + HttpClientTest::$functions->curl_close($ch); +} + +class HttpClientTest extends \PHPUnit_Framework_TestCase +{ + public static $functions; + + public function setUp() + { + self::$functions = $this + ->getMockBuilder('stdClass') + ->setMethods(array('extension_loaded', 'fopen', 'stream_context_create', + 'curl_init', 'curl_setopt_array', 'curl_setopt', 'curl_exec', 'curl_close')) + ->getMock(); + } + + public function testWithServerError() + { + $this->setExpectedException('\JsonRPC\Exception\ServerErrorException'); + + $httpClient = new HttpClient(); + $httpClient->handleExceptions(array( + 'HTTP/1.0 301 Moved Permanently', + 'Connection: close', + 'HTTP/1.1 500 Internal Server Error', + )); + } + + public function testWithConnectionFailure() + { + $this->setExpectedException('\JsonRPC\Exception\ConnectionFailureException'); + + $httpClient = new HttpClient(); + $httpClient->handleExceptions(array( + 'HTTP/1.1 404 Not Found', + )); + } + + public function testWithAccessForbidden() + { + $this->setExpectedException('\JsonRPC\Exception\AccessDeniedException'); + + $httpClient = new HttpClient(); + $httpClient->handleExceptions(array( + 'HTTP/1.1 403 Forbidden', + )); + } + + public function testWithAccessNotAllowed() + { + $this->setExpectedException('\JsonRPC\Exception\AccessDeniedException'); + + $httpClient = new HttpClient(); + $httpClient->handleExceptions(array( + 'HTTP/1.0 401 Unauthorized', + )); + } + + public function testWithCallback() + { + self::$functions + ->expects($this->at(0)) + ->method('extension_loaded') + ->with('curl') + ->will($this->returnValue(false)); + + self::$functions + ->expects($this->at(1)) + ->method('stream_context_create') + ->with(array( + 'http' => array( + 'method' => 'POST', + 'protocol_version' => 1.1, + 'timeout' => 5, + 'max_redirects' => 2, + 'header' => implode("\r\n", array( + 'User-Agent: JSON-RPC PHP Client <https://github.com/fguillot/JsonRPC>', + 'Content-Type: application/json', + 'Accept: application/json', + 'Connection: close', + 'Content-Length: 4', + )), + 'content' => 'test', + 'ignore_errors' => true, + ), + 'ssl' => array( + 'verify_peer' => true, + 'verify_peer_name' => true, + ) + )) + ->will($this->returnValue('context')); + + self::$functions + ->expects($this->at(2)) + ->method('fopen') + ->with('url', 'r', false, 'context') + ->will($this->returnValue(false)); + + $httpClient = new HttpClient('url'); + $httpClient->withBeforeRequestCallback(function(HttpClient $client, $payload) { + $client->withHeaders(array('Content-Length: '.strlen($payload))); + }); + + $this->setExpectedException('\JsonRPC\Exception\ConnectionFailureException'); + $httpClient->execute('test'); + } + + public function testWithCurl() + { + self::$functions + ->expects($this->at(0)) + ->method('extension_loaded') + ->with('curl') + ->will($this->returnValue(true)); + + self::$functions + ->expects($this->at(1)) + ->method('curl_init') + ->will($this->returnValue('curl')); + + self::$functions + ->expects($this->at(2)) + ->method('curl_setopt_array') + ->with('curl', array( + CURLOPT_URL => 'url', + CURLOPT_RETURNTRANSFER => true, + CURLOPT_CONNECTTIMEOUT => 5, + CURLOPT_MAXREDIRS => 2, + CURLOPT_SSL_VERIFYPEER => true, + CURLOPT_POST => true, + CURLOPT_POSTFIELDS => 'test', + CURLOPT_HTTPHEADER => array( + 'User-Agent: JSON-RPC PHP Client <https://github.com/fguillot/JsonRPC>', + 'Content-Type: application/json', + 'Accept: application/json', + 'Connection: close', + 'Content-Length: 4', + ), + CURLOPT_HEADERFUNCTION => function ($curl, $header) use (&$headers) { + $headers[] = $header; + return strlen($header); + } + )); + + self::$functions + ->expects($this->at(3)) + ->method('curl_setopt') + ->with('curl', CURLOPT_CAINFO, 'test.crt'); + + self::$functions + ->expects($this->at(4)) + ->method('curl_exec') + ->with('curl') + ->will($this->returnValue(false)); + + self::$functions + ->expects($this->at(5)) + ->method('curl_close') + ->with('curl'); + + $httpClient = new HttpClient('url'); + $httpClient + ->withSslLocalCert('test.crt') + ->withBeforeRequestCallback(function(HttpClient $client, $payload) { + $client->withHeaders(array('Content-Length: '.strlen($payload))); + }); + + + $this->setExpectedException('\JsonRPC\Exception\ConnectionFailureException'); + $httpClient->execute('test'); + } +} diff --git a/libs/jsonrpc/tests/MiddlewareHandlerTest.php b/libs/jsonrpc/tests/MiddlewareHandlerTest.php new file mode 100644 index 00000000..be70cbf7 --- /dev/null +++ b/libs/jsonrpc/tests/MiddlewareHandlerTest.php @@ -0,0 +1,40 @@ +<?php + +use JsonRPC\Exception\AuthenticationFailureException; +use JsonRPC\MiddlewareHandler; +use JsonRPC\MiddlewareInterface; + +require_once __DIR__.'/../../../vendor/autoload.php'; + +class FirstMiddleware implements MiddlewareInterface +{ + public function execute($username, $password, $procedureName) + { + } +} + +class SecondMiddleware implements MiddlewareInterface +{ + public function execute($username, $password, $procedureName) + { + if ($username === 'myUsername' && $password === 'myPassword' && $procedureName === 'myProcedure') { + throw new AuthenticationFailureException('Bad user'); + } + } +} + +class MiddlewareHandlerTest extends PHPUnit_Framework_TestCase +{ + public function testMiddlewareCanRaiseException() + { + $this->setExpectedException('JsonRpc\Exception\AuthenticationFailureException'); + + $middlewareHandler = new MiddlewareHandler(); + $middlewareHandler->withUsername('myUsername'); + $middlewareHandler->withPassword('myPassword'); + $middlewareHandler->withProcedure('myProcedure'); + $middlewareHandler->withMiddleware(new FirstMiddleware()); + $middlewareHandler->withMiddleware(new SecondMiddleware()); + $middlewareHandler->execute(); + } +} diff --git a/libs/jsonrpc/tests/ProcedureHandlerTest.php b/libs/jsonrpc/tests/ProcedureHandlerTest.php new file mode 100644 index 00000000..983016c5 --- /dev/null +++ b/libs/jsonrpc/tests/ProcedureHandlerTest.php @@ -0,0 +1,153 @@ +<?php + +use JsonRPC\ProcedureHandler; + +require_once __DIR__.'/../../../vendor/autoload.php'; + +class A +{ + public function getAll($p1, $p2, $p3 = 4) + { + return $p1 + $p2 + $p3; + } +} + +class B +{ + public function getAll($p1) + { + return $p1 + 2; + } +} + +class ClassWithBeforeMethod +{ + private $foobar = ''; + + public function before($procedure) + { + $this->foobar = $procedure; + } + + public function myProcedure() + { + return $this->foobar; + } +} + +class ProcedureHandlerTest extends PHPUnit_Framework_TestCase +{ + public function testProcedureNotFound() + { + $this->setExpectedException('BadFunctionCallException'); + $handler = new ProcedureHandler; + $handler->executeProcedure('a'); + } + + public function testCallbackNotFound() + { + $this->setExpectedException('BadFunctionCallException'); + $handler = new ProcedureHandler; + $handler->withCallback('b', function() {}); + $handler->executeProcedure('a'); + } + + public function testClassNotFound() + { + $this->setExpectedException('BadFunctionCallException'); + $handler = new ProcedureHandler; + $handler->withClassAndMethod('getAllTasks', 'c', 'getAll'); + $handler->executeProcedure('getAllTasks'); + } + + public function testMethodNotFound() + { + $this->setExpectedException('BadFunctionCallException'); + $handler = new ProcedureHandler; + $handler->withClassAndMethod('getAllTasks', 'A', 'getNothing'); + $handler->executeProcedure('getAllTasks'); + } + + public function testIsPositionalArguments() + { + $handler = new ProcedureHandler; + $this->assertFalse($handler->isPositionalArguments( + array('a' => 'b', 'c' => 'd') + )); + + $handler = new ProcedureHandler; + $this->assertTrue($handler->isPositionalArguments( + array('a', 'b', 'c') + )); + } + + public function testBindNamedArguments() + { + $handler = new ProcedureHandler; + $handler->withClassAndMethod('getAllA', 'A', 'getAll'); + $handler->withClassAndMethod('getAllB', 'B', 'getAll'); + $handler->withClassAndMethod('getAllC', new B, 'getAll'); + $this->assertEquals(6, $handler->executeProcedure('getAllA', array('p2' => 4, 'p1' => -2))); + $this->assertEquals(10, $handler->executeProcedure('getAllA', array('p2' => 4, 'p3' => 8, 'p1' => -2))); + $this->assertEquals(6, $handler->executeProcedure('getAllB', array('p1' => 4))); + $this->assertEquals(5, $handler->executeProcedure('getAllC', array('p1' => 3))); + } + + public function testBindPositionalArguments() + { + $handler = new ProcedureHandler; + $handler->withClassAndMethod('getAllA', 'A', 'getAll'); + $handler->withClassAndMethod('getAllB', 'B', 'getAll'); + $this->assertEquals(6, $handler->executeProcedure('getAllA', array(4, -2))); + $this->assertEquals(2, $handler->executeProcedure('getAllA', array(4, 0, -2))); + $this->assertEquals(4, $handler->executeProcedure('getAllB', array(2))); + } + + public function testRegisterNamedArguments() + { + $handler = new ProcedureHandler; + $handler->withCallback('getAllA', function($p1, $p2, $p3 = 4) { + return $p1 + $p2 + $p3; + }); + + $this->assertEquals(6, $handler->executeProcedure('getAllA', array('p2' => 4, 'p1' => -2))); + $this->assertEquals(10, $handler->executeProcedure('getAllA', array('p2' => 4, 'p3' => 8, 'p1' => -2))); + } + + public function testRegisterPositionalArguments() + { + $handler = new ProcedureHandler; + $handler->withCallback('getAllA', function($p1, $p2, $p3 = 4) { + return $p1 + $p2 + $p3; + }); + + $this->assertEquals(6, $handler->executeProcedure('getAllA', array(4, -2))); + $this->assertEquals(2, $handler->executeProcedure('getAllA', array(4, 0, -2))); + } + + public function testTooManyArguments() + { + $this->setExpectedException('InvalidArgumentException'); + + $handler = new ProcedureHandler; + $handler->withClassAndMethod('getAllC', new B, 'getAll'); + $handler->executeProcedure('getAllC', array('p1' => 3, 'p2' => 5)); + } + + public function testNotEnoughArguments() + { + $this->setExpectedException('InvalidArgumentException'); + + $handler = new ProcedureHandler; + $handler->withClassAndMethod('getAllC', new B, 'getAll'); + $handler->executeProcedure('getAllC'); + } + + public function testBeforeMethod() + { + $handler = new ProcedureHandler; + $handler->withObject(new ClassWithBeforeMethod); + $handler->withBeforeMethod('before'); + $this->assertEquals('myProcedure', $handler->executeProcedure('myProcedure')); + } +} diff --git a/libs/jsonrpc/tests/Request/RequestBuilderTest.php b/libs/jsonrpc/tests/Request/RequestBuilderTest.php new file mode 100644 index 00000000..ce9cf674 --- /dev/null +++ b/libs/jsonrpc/tests/Request/RequestBuilderTest.php @@ -0,0 +1,53 @@ +<?php + +use JsonRPC\Request\RequestBuilder; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class RequestBuilderTest extends PHPUnit_Framework_TestCase +{ + public function testBuilder() + { + $payload = RequestBuilder::create() + ->withId(123) + ->withProcedure('foobar') + ->withParams(array(1, 2, 3)) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","method":"foobar","id":123,"params":[1,2,3]}', $payload); + } + + public function testBuilderWithoutParams() + { + $payload = RequestBuilder::create() + ->withId(123) + ->withProcedure('foobar') + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","method":"foobar","id":123}', $payload); + } + + public function testBuilderWithoutId() + { + $payload = RequestBuilder::create() + ->withProcedure('foobar') + ->withParams(array(1, 2, 3)) + ->build(); + + $result = json_decode($payload, true); + $this->assertNotNull($result['id']); + } + + public function testBuilderWithAdditionalRequestAttributes() + { + $payload = RequestBuilder::create() + ->withProcedure('foobar') + ->withParams(array(1, 2, 3)) + ->withRequestAttributes(array("some-attr" => 42)) + ->build(); + + $result = json_decode($payload, true); + $this->assertNotNull($result['some-attr']); + } + +} diff --git a/libs/jsonrpc/tests/Response/HeaderMockTest.php b/libs/jsonrpc/tests/Response/HeaderMockTest.php new file mode 100644 index 00000000..cbeb7388 --- /dev/null +++ b/libs/jsonrpc/tests/Response/HeaderMockTest.php @@ -0,0 +1,25 @@ +<?php + +namespace JsonRPC\Response; + +use PHPUnit_Framework_TestCase; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +function header($value) +{ + HeaderMockTest::$functions->header($value); +} + +abstract class HeaderMockTest extends PHPUnit_Framework_TestCase +{ + public static $functions; + + public function setUp() + { + self::$functions = $this + ->getMockBuilder('stdClass') + ->setMethods(array('header')) + ->getMock(); + } +} diff --git a/libs/jsonrpc/tests/Response/ResponseBuilderTest.php b/libs/jsonrpc/tests/Response/ResponseBuilderTest.php new file mode 100644 index 00000000..e2dcb2a0 --- /dev/null +++ b/libs/jsonrpc/tests/Response/ResponseBuilderTest.php @@ -0,0 +1,151 @@ +<?php + +use JsonRPC\Exception\AccessDeniedException; +use JsonRPC\Exception\AuthenticationFailureException; +use JsonRPC\Exception\InvalidJsonFormatException; +use JsonRPC\Exception\InvalidJsonRpcFormatException; +use JsonRPC\Exception\ResponseEncodingFailureException; +use JsonRPC\Exception\ResponseException; +use JsonRPC\Response\ResponseBuilder; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class ResponseBuilderTest extends PHPUnit_Framework_TestCase +{ + public function testBuildResponse() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","result":"test","id":123}', $response); + } + + public function testBuildResponseWithError() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withError(42, 'Test', 'More info') + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":42,"message":"Test","data":"More info"},"id":123}', $response); + } + + public function testBuildResponseWithException() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException(new Exception('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":0,"message":"Test"},"id":123}', $response); + } + + public function testBuildResponseWithResponseException() + { + $exception = new ResponseException('Error', 42); + $exception->setData('Data'); + + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException($exception) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":42,"message":"Error","data":"Data"},"id":123}', $response); + } + + public function testBuildResponseWithAccessDeniedException() + { + $responseBuilder = ResponseBuilder::create(); + $response = $responseBuilder + ->withId(123) + ->withResult('test') + ->withException(new AccessDeniedException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":403,"message":"Forbidden"},"id":123}', $response); + $this->assertEquals('HTTP/1.0 403 Forbidden', $responseBuilder->getStatus()); + + $this->assertEquals( + array('Content-Type' => 'application/json'), + $responseBuilder->getHeaders() + ); + } + + public function testBuildResponseWithAuthenticationFailureException() + { + $responseBuilder = ResponseBuilder::create(); + $response = $responseBuilder + ->withId(123) + ->withResult('test') + ->withException(new AuthenticationFailureException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":401,"message":"Unauthorized"},"id":123}', $response); + $this->assertEquals('HTTP/1.0 401 Unauthorized', $responseBuilder->getStatus()); + + $this->assertEquals( + array('Content-Type' => 'application/json', 'WWW-Authenticate' => 'Basic realm="JsonRPC"'), + $responseBuilder->getHeaders() + ); + } + + public function testBuildResponseWithResponseEncodingFailureException() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException(new ResponseEncodingFailureException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":-32603,"message":"Internal error","data":"Test"},"id":123}', $response); + } + + public function testBuildResponseWithInvalidArgumentException() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException(new InvalidArgumentException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":-32602,"message":"Invalid params","data":"Test"},"id":123}', $response); + } + + public function testBuildResponseWithBadFunctionCallException() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException(new BadFunctionCallException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":-32601,"message":"Method not found"},"id":123}', $response); + } + + public function testBuildResponseWithInvalidJsonRpcFormatException() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException(new InvalidJsonRpcFormatException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":-32600,"message":"Invalid Request"},"id":null}', $response); + } + + public function testBuildResponseWithInvalidJsonFormatException() + { + $response = ResponseBuilder::create() + ->withId(123) + ->withResult('test') + ->withException(new InvalidJsonFormatException('Test')) + ->build(); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":-32700,"message":"Parse error"},"id":null}', $response); + } +} diff --git a/libs/jsonrpc/tests/Response/ResponseParserTest.php b/libs/jsonrpc/tests/Response/ResponseParserTest.php new file mode 100644 index 00000000..f195014f --- /dev/null +++ b/libs/jsonrpc/tests/Response/ResponseParserTest.php @@ -0,0 +1,100 @@ +<?php + +use JsonRPC\Response\ResponseParser; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class ResponseParserTest extends PHPUnit_Framework_TestCase +{ + public function testSingleRequest() + { + $result = ResponseParser::create() + ->withPayload(json_decode('{"jsonrpc": "2.0", "result": "foobar", "id": "1"}', true)) + ->parse(); + + $this->assertEquals('foobar', $result); + } + + public function testWithBadJsonFormat() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonFormatException'); + + ResponseParser::create() + ->withPayload('foobar') + ->parse(); + } + + public function testWithBadProcedure() + { + $this->setExpectedException('BadFunctionCallException'); + + ResponseParser::create() + ->withPayload(json_decode('{"jsonrpc": "2.0", "error": {"code": -32601, "message": "Method not found"}, "id": "1"}', true)) + ->parse(); + } + + public function testWithInvalidArgs() + { + $this->setExpectedException('InvalidArgumentException'); + + ResponseParser::create() + ->withPayload(json_decode('{"jsonrpc": "2.0", "error": {"code": -32602, "message": "Invalid params"}, "id": "1"}', true)) + ->parse(); + } + + public function testWithInvalidRequest() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonRpcFormatException'); + + ResponseParser::create() + ->withPayload(json_decode('{"jsonrpc": "2.0", "error": {"code": -32600, "message": "Invalid Request"}, "id": null}', true)) + ->parse(); + } + + public function testWithParseError() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonFormatException'); + + ResponseParser::create() + ->withPayload(json_decode('{"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null}', true)) + ->parse(); + } + + public function testWithOtherError() + { + $this->setExpectedException('\JsonRPC\Exception\ResponseException'); + + ResponseParser::create() + ->withPayload(json_decode('{"jsonrpc": "2.0", "error": {"code": 42, "message": "Something", "data": "foobar"}, "id": null}', true)) + ->parse(); + } + + public function testBatch() + { + $payload = '[ + {"jsonrpc": "2.0", "result": 7, "id": "1"}, + {"jsonrpc": "2.0", "result": 19, "id": "2"} + ]'; + + $result = ResponseParser::create() + ->withPayload(json_decode($payload, true)) + ->parse(); + + $this->assertEquals(array(7, 19), $result); + } + + public function testBatchWithError() + { + $payload = '[ + {"jsonrpc": "2.0", "result": 7, "id": "1"}, + {"jsonrpc": "2.0", "result": 19, "id": "2"}, + {"jsonrpc": "2.0", "error": {"code": -32602, "message": "Invalid params"}, "id": "1"} + ]'; + + $this->setExpectedException('InvalidArgumentException'); + + ResponseParser::create() + ->withPayload(json_decode($payload, true)) + ->parse(); + } +} diff --git a/libs/jsonrpc/tests/ServerProtocolTest.php b/libs/jsonrpc/tests/ServerProtocolTest.php new file mode 100644 index 00000000..a488015b --- /dev/null +++ b/libs/jsonrpc/tests/ServerProtocolTest.php @@ -0,0 +1,237 @@ +<?php + +use JsonRPC\Server; + +require_once __DIR__.'/../../../vendor/autoload.php'; +require_once __DIR__.'/Response/HeaderMockTest.php'; + +class C +{ + public function doSomething() + { + return 'something'; + } +} + +class ServerProtocolTest extends \JsonRPC\Response\HeaderMockTest +{ + public function testPositionalParameters() + { + $subtract = function ($minuend, $subtrahend) { + return $minuend - $subtrahend; + }; + + $server = new Server('{"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}'); + $server->register('subtract', $subtract); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "result": 19, "id": 1}', true), + json_decode($server->execute(), true) + ); + + $server = new Server('{"jsonrpc": "2.0", "method": "subtract", "params": [23, 42], "id": 1}'); + $server->register('subtract', $subtract); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "result": -19, "id": 1}', true), + json_decode($server->execute(), true) + ); + } + + public function testNamedParameters() + { + $subtract = function ($minuend, $subtrahend) { + return $minuend - $subtrahend; + }; + + $server = new Server('{"jsonrpc": "2.0", "method": "subtract", "params": {"subtrahend": 23, "minuend": 42}, "id": 3}'); + $server->register('subtract', $subtract); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "result": 19, "id": 3}', true), + json_decode($server->execute(), true) + ); + + $server = new Server('{"jsonrpc": "2.0", "method": "subtract", "params": {"minuend": 42, "subtrahend": 23}, "id": 4}'); + $server->register('subtract', $subtract); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "result": 19, "id": 4}', true), + json_decode($server->execute(), true) + ); + } + + public function testNotification() + { + $update = function($p1, $p2, $p3, $p4, $p5) {}; + $foobar = function() {}; + + $server = new Server('{"jsonrpc": "2.0", "method": "update", "params": [1,2,3,4,5]}'); + $server->register('update', $update); + $server->register('foobar', $foobar); + + $this->assertEquals('', $server->execute()); + + $server = new Server('{"jsonrpc": "2.0", "method": "foobar"}'); + $server->register('update', $update); + $server->register('foobar', $foobar); + + $this->assertEquals('', $server->execute()); + } + + public function testNoMethod() + { + $server = new Server('{"jsonrpc": "2.0", "method": "foobar", "id": "1"}'); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "error": {"code": -32601, "message": "Method not found"}, "id": "1"}', true), + json_decode($server->execute(), true) + ); + } + + public function testInvalidJson() + { + $server = new Server('{"jsonrpc": "2.0", "method": "foobar, "params": "bar", "baz]'); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null}', true), + json_decode($server->execute(), true) + ); + } + + public function testInvalidRequest() + { + $server = new Server('{"jsonrpc": "2.0", "method": 1, "params": "bar", "id": 1}'); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "error": {"code": -32600, "message": "Invalid Request"}, "id": null}', true), + json_decode($server->execute(), true) + ); + } + + public function testInvalidResponse_MalformedCharacters() + { + $server = new Server('{"jsonrpc": "2.0", "method": "invalidresponse","id": 1}'); + + $invalidresponse = function() { + return pack("H*" ,'c32e'); + }; + + $server->register('invalidresponse', $invalidresponse); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0","id": 1, "error": {"code": -32603, "message": "Internal error","data": "Malformed UTF-8 characters, possibly incorrectly encoded"}}', true), + json_decode($server->execute(), true) + ); + } + + public function testBatchInvalidJson() + { + $server = new Server('[ + {"jsonrpc": "2.0", "method": "sum", "params": [1,2,4], "id": "1"}, + {"jsonrpc": "2.0", "method" + ]'); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null}', true), + json_decode($server->execute(), true) + ); + } + + public function testBatchEmptyArray() + { + $server = new Server('[]'); + + $this->assertEquals( + json_decode('{"jsonrpc": "2.0", "error": {"code": -32600, "message": "Invalid Request"}, "id": null}', true), + json_decode($server->execute(), true) + ); + } + + public function testBatchNotEmptyButInvalid() + { + $server = new Server('[1]'); + + $this->assertEquals( + json_decode('[{"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null}]', true), + json_decode($server->execute(), true) + ); + } + + public function testBatchInvalid() + { + $server = new Server('[1,2,3]'); + + $this->assertEquals( + json_decode('[ + {"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null}, + {"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null}, + {"jsonrpc": "2.0", "error": {"code": -32700, "message": "Parse error"}, "id": null} + ]', true), + json_decode($server->execute(), true) + ); + } + + public function testBatchOk() + { + $server = new Server('[ + {"jsonrpc": "2.0", "method": "sum", "params": [1,2,4], "id": "1"}, + {"jsonrpc": "2.0", "method": "notify_hello", "params": [7]}, + {"jsonrpc": "2.0", "method": "subtract", "params": [42,23], "id": "2"}, + {"foo": "boo"}, + {"jsonrpc": "2.0", "method": "foo.get", "params": {"name": "myself"}, "id": "5"}, + {"jsonrpc": "2.0", "method": "get_data", "id": "9"}, + {"jsonrpc": "2.0", "method": "doSomething", "id": 10}, + {"jsonrpc": "2.0", "method": "doStuff", "id": 15} + ]'); + + $server->register('sum', function($a, $b, $c) { + return $a + $b + $c; + }); + + $server->register('subtract', function($minuend, $subtrahend) { + return $minuend - $subtrahend; + }); + + $server->register('get_data', function() { + return array('hello', 5); + }); + + $server->attach(new C); + + $server->bind('doStuff', 'C', 'doSomething'); + + $response = $server->execute(); + + $this->assertEquals( + json_decode('[ + {"jsonrpc": "2.0", "result": 7, "id": "1"}, + {"jsonrpc": "2.0", "result": 19, "id": "2"}, + {"jsonrpc": "2.0", "error": {"code": -32600, "message": "Invalid Request"}, "id": null}, + {"jsonrpc": "2.0", "error": {"code": -32601, "message": "Method not found"}, "id": "5"}, + {"jsonrpc": "2.0", "result": ["hello", 5], "id": "9"}, + {"jsonrpc": "2.0", "result": "something", "id": "10"}, + {"jsonrpc": "2.0", "result": "something", "id": "15"} + ]', true), + json_decode($response, true) + ); + } + + public function testBatchNotifications() + { + $server = new Server('[ + {"jsonrpc": "2.0", "method": "notify_sum", "params": [1,2,4]}, + {"jsonrpc": "2.0", "method": "notify_hello", "params": [7]} + ]'); + + $server->register('notify_sum', function($a, $b, $c) { + + }); + + $server->register('notify_hello', function($id) { + + }); + + $this->assertEquals('', $server->execute()); + } +} diff --git a/libs/jsonrpc/tests/ServerTest.php b/libs/jsonrpc/tests/ServerTest.php new file mode 100644 index 00000000..87f37c2d --- /dev/null +++ b/libs/jsonrpc/tests/ServerTest.php @@ -0,0 +1,258 @@ +<?php + +use JsonRPC\Exception\AccessDeniedException; +use JsonRPC\Exception\AuthenticationFailureException; +use JsonRPC\Exception\ResponseException; +use JsonRPC\MiddlewareInterface; +use JsonRPC\Response\HeaderMockTest; +use JsonRPC\Server; + +require_once __DIR__.'/../../../vendor/autoload.php'; +require_once __DIR__.'/Response/HeaderMockTest.php'; + +class MyException extends Exception +{ + +} + +class DummyMiddleware implements MiddlewareInterface +{ + public function execute($username, $password, $procedureName) + { + throw new AuthenticationFailureException('Bad user'); + } +} + +class ServerTest extends HeaderMockTest +{ + private $payload = '{"jsonrpc": "2.0", "method": "sum", "params": [1,2,4], "id": "1"}'; + + public function testCustomAuthenticationHeader() + { + $env = array( + 'HTTP_X_AUTH' => base64_encode('myuser:mypassword'), + ); + + $server = new Server($this->payload, $env); + $server->setAuthenticationHeader('X-Auth'); + $this->assertEquals('myuser', $server->getUsername()); + $this->assertEquals('mypassword', $server->getPassword()); + } + + public function testCustomAuthenticationHeaderWithEmptyValue() + { + $server = new Server($this->payload); + $server->setAuthenticationHeader('X-Auth'); + $this->assertNull($server->getUsername()); + $this->assertNull($server->getPassword()); + } + + public function testGetUsername() + { + $server = new Server($this->payload); + $this->assertNull($server->getUsername()); + + $server = new Server($this->payload, array('PHP_AUTH_USER' => 'username')); + $this->assertEquals('username', $server->getUsername()); + } + + public function testGetPassword() + { + $server = new Server($this->payload); + $this->assertNull($server->getPassword()); + + $server = new Server($this->payload, array('PHP_AUTH_PW' => 'password')); + $this->assertEquals('password', $server->getPassword()); + } + + public function testExecute() + { + $server = new Server($this->payload); + $server->getProcedureHandler()->withCallback('sum', function($a, $b, $c) { + return $a + $b + $c; + }); + + self::$functions + ->expects($this->once()) + ->method('header') + ->with('Content-Type: application/json'); + + $this->assertEquals('{"jsonrpc":"2.0","result":7,"id":"1"}', $server->execute()); + } + + public function testExecuteRequestParserOverride() + { + $requestParser = $this->getMockBuilder('JsonRPC\Request\RequestParser') + ->getMock(); + + $requestParser->method('withPayload')->willReturn($requestParser); + $requestParser->method('withProcedureHandler')->willReturn($requestParser); + $requestParser->method('withMiddlewareHandler')->willReturn($requestParser); + $requestParser->method('withLocalException')->willReturn($requestParser); + + $server = new Server($this->payload, array(), null, $requestParser); + + $requestParser->expects($this->once()) + ->method('parse'); + + $server->execute(); + } + + public function testExecuteBatchRequestParserOverride() + { + $batchRequestParser = $this->getMockBuilder('JsonRPC\Request\BatchRequestParser') + ->getMock(); + + $batchRequestParser->method('withPayload')->willReturn($batchRequestParser); + $batchRequestParser->method('withProcedureHandler')->willReturn($batchRequestParser); + $batchRequestParser->method('withMiddlewareHandler')->willReturn($batchRequestParser); + $batchRequestParser->method('withLocalException')->willReturn($batchRequestParser); + + $server = new Server('["...", "..."]', array(), null, null, $batchRequestParser); + + $batchRequestParser->expects($this->once()) + ->method('parse'); + + $server->execute(); + } + + public function testExecuteResponseBuilderOverride() + { + $responseBuilder = $this->getMockBuilder('JsonRPC\Response\ResponseBuilder') + ->getMock(); + + $responseBuilder->expects($this->once()) + ->method('sendHeaders'); + + $server = new Server($this->payload, array(), $responseBuilder); + $server->execute(); + } + + public function testExecuteProcedureHandlerOverride() + { + $batchRequestParser = $this->getMockBuilder('JsonRPC\Request\BatchRequestParser') + ->getMock(); + + $procedureHandler = $this->getMockBuilder('JsonRPC\ProcedureHandler') + ->getMock(); + + $batchRequestParser->method('withPayload')->willReturn($batchRequestParser); + $batchRequestParser->method('withProcedureHandler')->willReturn($batchRequestParser); + $batchRequestParser->method('withMiddlewareHandler')->willReturn($batchRequestParser); + $batchRequestParser->method('withLocalException')->willReturn($batchRequestParser); + + $server = new Server('["...", "..."]', array(), null, null, $batchRequestParser, $procedureHandler); + + $batchRequestParser->expects($this->once()) + ->method('parse'); + + $batchRequestParser->expects($this->once()) + ->method('withProcedureHandler') + ->with($this->identicalTo($procedureHandler)); + + $server->execute(); + } + + public function testWhenCallbackRaiseForbiddenException() + { + $server = new Server($this->payload); + $server->getProcedureHandler()->withCallback('sum', function($a, $b, $c) { + throw new AccessDeniedException(); + }); + + self::$functions + ->expects($this->at(0)) + ->method('header') + ->with('HTTP/1.0 403 Forbidden'); + + self::$functions + ->expects($this->at(1)) + ->method('header') + ->with('Content-Type: application/json'); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":403,"message":"Forbidden"},"id":null}', $server->execute()); + } + + public function testWhenCallbackRaiseUnauthorizedException() + { + $server = new Server($this->payload); + $server->getProcedureHandler()->withCallback('sum', function($a, $b, $c) { + throw new AuthenticationFailureException(); + }); + + self::$functions + ->expects($this->at(0)) + ->method('header') + ->with('HTTP/1.0 401 Unauthorized'); + + self::$functions + ->expects($this->at(1)) + ->method('header') + ->with('Content-Type: application/json'); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":401,"message":"Unauthorized"},"id":null}', $server->execute()); + } + + public function testWhenMiddlewareRaiseUnauthorizedException() + { + $server = new Server($this->payload); + $server->getMiddlewareHandler()->withMiddleware(new DummyMiddleware()); + $server->getProcedureHandler()->withCallback('sum', function($a, $b) { + return $a + $b; + }); + + self::$functions + ->expects($this->at(0)) + ->method('header') + ->with('HTTP/1.0 401 Unauthorized'); + + self::$functions + ->expects($this->at(1)) + ->method('header') + ->with('Content-Type: application/json'); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":401,"message":"Unauthorized"},"id":null}', $server->execute()); + } + + public function testFilterRelayExceptions() + { + $server = new Server($this->payload); + $server->withLocalException('MyException'); + $server->getProcedureHandler()->withCallback('sum', function($a, $b, $c) { + throw new MyException('test'); + }); + + $this->setExpectedException('MyException'); + $server->execute(); + } + + public function testCustomExceptionAreRelayedToClient() + { + $server = new Server($this->payload); + $server->getProcedureHandler()->withCallback('sum', function($a, $b, $c) { + throw new MyException('test'); + }); + + self::$functions + ->expects($this->once()) + ->method('header') + ->with('Content-Type: application/json'); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":0,"message":"test"},"id":"1"}', $server->execute()); + } + + public function testCustomResponseException() + { + $server = new Server($this->payload); + $server->getProcedureHandler()->withCallback('sum', function($a, $b, $c) { + throw new ResponseException('test', 123, null, 'more info'); + }); + + self::$functions + ->expects($this->once()) + ->method('header') + ->with('Content-Type: application/json'); + + $this->assertEquals('{"jsonrpc":"2.0","error":{"code":123,"message":"test","data":"more info"},"id":"1"}', $server->execute()); + } +} diff --git a/libs/jsonrpc/tests/Validator/HostValidatorTest.php b/libs/jsonrpc/tests/Validator/HostValidatorTest.php new file mode 100644 index 00000000..a5fed7e0 --- /dev/null +++ b/libs/jsonrpc/tests/Validator/HostValidatorTest.php @@ -0,0 +1,32 @@ +<?php + +use JsonRPC\Validator\HostValidator; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class HostValidatorTest extends PHPUnit_Framework_TestCase +{ + public function testWithEmptyHosts() + { + $this->assertNull(HostValidator::validate(array(), '127.0.0.1', '127.0.0.1')); + } + + public function testWithValidHosts() + { + $this->assertNull(HostValidator::validate(array('127.0.0.1'), '127.0.0.1', '127.0.0.1')); + } + + public function testWithValidNetwork() + { + $this->assertNull(HostValidator::validate(array('192.168.10.1/24'), '192.168.10.1'),'test ip match'); + $this->assertNull(HostValidator::validate(array('192.168.10.1/24'), '192.168.10.250'),'test ip match'); + $this->setExpectedException('\JsonRPC\Exception\AccessDeniedException'); + HostValidator::validate(array('192.168.10.1/24'), '192.168.11.1'); + } + + public function testWithNotAuthorizedHosts() + { + $this->setExpectedException('\JsonRPC\Exception\AccessDeniedException'); + HostValidator::validate(array('192.168.1.1'), '127.0.0.1', '127.0.0.1'); + } +} diff --git a/libs/jsonrpc/tests/Validator/JsonEncodingValidatorTest.php b/libs/jsonrpc/tests/Validator/JsonEncodingValidatorTest.php new file mode 100644 index 00000000..a1b2b80e --- /dev/null +++ b/libs/jsonrpc/tests/Validator/JsonEncodingValidatorTest.php @@ -0,0 +1,22 @@ +<?php + +use JsonRPC\Validator\JsonEncodingValidator; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class JsonEncodingValidatorTest extends PHPUnit_Framework_TestCase +{ + public function testWithValidJson() + { + json_encode('{"foo": "bar"}'); + $this->assertNull(JsonEncodingValidator::validate()); + } + + public function testWithJsonError() + { + json_encode("\xB1\x31"); + + $this->setExpectedException('\JsonRPC\Exception\ResponseEncodingFailureException'); + JsonEncodingValidator::validate(); + } +} diff --git a/libs/jsonrpc/tests/Validator/JsonFormatValidatorTest.php b/libs/jsonrpc/tests/Validator/JsonFormatValidatorTest.php new file mode 100644 index 00000000..a838ada9 --- /dev/null +++ b/libs/jsonrpc/tests/Validator/JsonFormatValidatorTest.php @@ -0,0 +1,19 @@ +<?php + +use JsonRPC\Validator\JsonFormatValidator; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class JsonFormatValidatorTest extends PHPUnit_Framework_TestCase +{ + public function testJsonParsedCorrectly() + { + $this->assertNull(JsonFormatValidator::validate(array('foobar'))); + } + + public function testJsonNotParsedCorrectly() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonFormatException'); + JsonFormatValidator::validate(''); + } +} diff --git a/libs/jsonrpc/tests/Validator/RpcFormatValidatorTest.php b/libs/jsonrpc/tests/Validator/RpcFormatValidatorTest.php new file mode 100644 index 00000000..3e6ba8bc --- /dev/null +++ b/libs/jsonrpc/tests/Validator/RpcFormatValidatorTest.php @@ -0,0 +1,48 @@ +<?php + +use JsonRPC\Validator\RpcFormatValidator; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class RpcFormatValidatorTest extends PHPUnit_Framework_TestCase +{ + public function testWithMinimumRequirement() + { + $this->assertNull(RpcFormatValidator::validate(array('jsonrpc' => '2.0', 'method' => 'foobar'))); + } + + public function testWithNoVersion() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonRpcFormatException'); + RpcFormatValidator::validate(array('method' => 'foobar')); + } + + public function testWithNoMethod() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonRpcFormatException'); + RpcFormatValidator::validate(array('jsonrpc' => '2.0')); + } + + public function testWithMethodNotString() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonRpcFormatException'); + RpcFormatValidator::validate(array('jsonrpc' => '2.0', 'method' => array())); + } + + public function testWithBadVersion() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonRpcFormatException'); + RpcFormatValidator::validate(array('jsonrpc' => '1.0', 'method' => 'abc')); + } + + public function testWithBadParams() + { + $this->setExpectedException('\JsonRPC\Exception\InvalidJsonRpcFormatException'); + RpcFormatValidator::validate(array('jsonrpc' => '2.0', 'method' => 'abc', 'params' => 'foobar')); + } + + public function testWithParams() + { + $this->assertNull(RpcFormatValidator::validate(array('jsonrpc' => '2.0', 'method' => 'abc', 'params' => array(1, 2)))); + } +} diff --git a/libs/jsonrpc/tests/Validator/UserValidatorTest.php b/libs/jsonrpc/tests/Validator/UserValidatorTest.php new file mode 100644 index 00000000..e514c105 --- /dev/null +++ b/libs/jsonrpc/tests/Validator/UserValidatorTest.php @@ -0,0 +1,24 @@ +<?php + +use JsonRPC\Validator\UserValidator; + +require_once __DIR__.'/../../../../vendor/autoload.php'; + +class UserValidatorTest extends PHPUnit_Framework_TestCase +{ + public function testWithEmptyHosts() + { + $this->assertNull(UserValidator::validate(array(), 'user', 'pass')); + } + + public function testWithValidHosts() + { + $this->assertNull(UserValidator::validate(array('user' => 'pass'), 'user', 'pass')); + } + + public function testWithNotAuthorizedHosts() + { + $this->setExpectedException('\JsonRPC\Exception\AuthenticationFailureException'); + UserValidator::validate(array('user' => 'pass'), 'user', 'wrong password'); + } +} diff --git a/vendor/aferrandini/phpqrcode/LICENSE b/libs/phpqrcode/LICENSE index 18833032..18833032 100755 --- a/vendor/aferrandini/phpqrcode/LICENSE +++ b/libs/phpqrcode/LICENSE diff --git a/vendor/aferrandini/phpqrcode/cache/frame_1.dat b/libs/phpqrcode/cache/frame_1.dat index be28feac..be28feac 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_1.dat +++ b/libs/phpqrcode/cache/frame_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_1.png b/libs/phpqrcode/cache/frame_1.png Binary files differindex 86ce6e98..86ce6e98 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_1.png +++ b/libs/phpqrcode/cache/frame_1.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_10.dat b/libs/phpqrcode/cache/frame_10.dat Binary files differindex aff163f6..aff163f6 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_10.dat +++ b/libs/phpqrcode/cache/frame_10.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_10.png b/libs/phpqrcode/cache/frame_10.png Binary files differindex dbfcd70b..dbfcd70b 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_10.png +++ b/libs/phpqrcode/cache/frame_10.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_11.dat b/libs/phpqrcode/cache/frame_11.dat Binary files differindex 95af68a4..95af68a4 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_11.dat +++ b/libs/phpqrcode/cache/frame_11.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_11.png b/libs/phpqrcode/cache/frame_11.png Binary files differindex c07c761f..c07c761f 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_11.png +++ b/libs/phpqrcode/cache/frame_11.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_12.dat b/libs/phpqrcode/cache/frame_12.dat Binary files differindex 73228b36..73228b36 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_12.dat +++ b/libs/phpqrcode/cache/frame_12.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_12.png b/libs/phpqrcode/cache/frame_12.png Binary files differindex 8ba67822..8ba67822 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_12.png +++ b/libs/phpqrcode/cache/frame_12.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_13.dat b/libs/phpqrcode/cache/frame_13.dat Binary files differindex 2256f0e3..2256f0e3 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_13.dat +++ b/libs/phpqrcode/cache/frame_13.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_13.png b/libs/phpqrcode/cache/frame_13.png Binary files differindex 6e49d35a..6e49d35a 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_13.png +++ b/libs/phpqrcode/cache/frame_13.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_14.dat b/libs/phpqrcode/cache/frame_14.dat Binary files differindex e9ae0932..e9ae0932 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_14.dat +++ b/libs/phpqrcode/cache/frame_14.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_14.png b/libs/phpqrcode/cache/frame_14.png Binary files differindex efc36c03..efc36c03 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_14.png +++ b/libs/phpqrcode/cache/frame_14.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_15.dat b/libs/phpqrcode/cache/frame_15.dat Binary files differindex 18727818..18727818 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_15.dat +++ b/libs/phpqrcode/cache/frame_15.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_15.png b/libs/phpqrcode/cache/frame_15.png Binary files differindex a9f416c7..a9f416c7 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_15.png +++ b/libs/phpqrcode/cache/frame_15.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_16.dat b/libs/phpqrcode/cache/frame_16.dat index 60af6784..60af6784 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_16.dat +++ b/libs/phpqrcode/cache/frame_16.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_16.png b/libs/phpqrcode/cache/frame_16.png Binary files differindex 6ac8fe89..6ac8fe89 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_16.png +++ b/libs/phpqrcode/cache/frame_16.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_17.dat b/libs/phpqrcode/cache/frame_17.dat Binary files differindex 87f0cf59..87f0cf59 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_17.dat +++ b/libs/phpqrcode/cache/frame_17.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_17.png b/libs/phpqrcode/cache/frame_17.png Binary files differindex 5b929ac7..5b929ac7 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_17.png +++ b/libs/phpqrcode/cache/frame_17.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_18.dat b/libs/phpqrcode/cache/frame_18.dat index bb7138c1..bb7138c1 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_18.dat +++ b/libs/phpqrcode/cache/frame_18.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_18.png b/libs/phpqrcode/cache/frame_18.png Binary files differindex ee0d6a35..ee0d6a35 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_18.png +++ b/libs/phpqrcode/cache/frame_18.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_19.dat b/libs/phpqrcode/cache/frame_19.dat index 95e26adc..95e26adc 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_19.dat +++ b/libs/phpqrcode/cache/frame_19.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_19.png b/libs/phpqrcode/cache/frame_19.png Binary files differindex 20fddd84..20fddd84 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_19.png +++ b/libs/phpqrcode/cache/frame_19.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_2.dat b/libs/phpqrcode/cache/frame_2.dat index 7e42f31c..7e42f31c 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_2.dat +++ b/libs/phpqrcode/cache/frame_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_2.png b/libs/phpqrcode/cache/frame_2.png Binary files differindex 9c150ebe..9c150ebe 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_2.png +++ b/libs/phpqrcode/cache/frame_2.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_20.dat b/libs/phpqrcode/cache/frame_20.dat Binary files differindex d5ecc1d8..d5ecc1d8 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_20.dat +++ b/libs/phpqrcode/cache/frame_20.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_20.png b/libs/phpqrcode/cache/frame_20.png Binary files differindex 23a061d5..23a061d5 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_20.png +++ b/libs/phpqrcode/cache/frame_20.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_21.dat b/libs/phpqrcode/cache/frame_21.dat index 1974dd9d..1974dd9d 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_21.dat +++ b/libs/phpqrcode/cache/frame_21.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_21.png b/libs/phpqrcode/cache/frame_21.png Binary files differindex 291598c7..291598c7 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_21.png +++ b/libs/phpqrcode/cache/frame_21.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_22.dat b/libs/phpqrcode/cache/frame_22.dat index 0f01802d..0f01802d 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_22.dat +++ b/libs/phpqrcode/cache/frame_22.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_22.png b/libs/phpqrcode/cache/frame_22.png Binary files differindex bc97bd01..bc97bd01 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_22.png +++ b/libs/phpqrcode/cache/frame_22.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_23.dat b/libs/phpqrcode/cache/frame_23.dat index ee3b3707..ee3b3707 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_23.dat +++ b/libs/phpqrcode/cache/frame_23.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_23.png b/libs/phpqrcode/cache/frame_23.png Binary files differindex b8f16ae2..b8f16ae2 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_23.png +++ b/libs/phpqrcode/cache/frame_23.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_24.dat b/libs/phpqrcode/cache/frame_24.dat index 7b92e29c..7b92e29c 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_24.dat +++ b/libs/phpqrcode/cache/frame_24.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_24.png b/libs/phpqrcode/cache/frame_24.png Binary files differindex 397c64f8..397c64f8 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_24.png +++ b/libs/phpqrcode/cache/frame_24.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_25.dat b/libs/phpqrcode/cache/frame_25.dat index ba125182..ba125182 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_25.dat +++ b/libs/phpqrcode/cache/frame_25.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_25.png b/libs/phpqrcode/cache/frame_25.png Binary files differindex 25bc4454..25bc4454 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_25.png +++ b/libs/phpqrcode/cache/frame_25.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_26.dat b/libs/phpqrcode/cache/frame_26.dat index d34a73f1..d34a73f1 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_26.dat +++ b/libs/phpqrcode/cache/frame_26.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_26.png b/libs/phpqrcode/cache/frame_26.png Binary files differindex f4a6b393..f4a6b393 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_26.png +++ b/libs/phpqrcode/cache/frame_26.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_27.dat b/libs/phpqrcode/cache/frame_27.dat Binary files differindex b4d9ffd4..b4d9ffd4 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_27.dat +++ b/libs/phpqrcode/cache/frame_27.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_27.png b/libs/phpqrcode/cache/frame_27.png Binary files differindex 8419ec23..8419ec23 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_27.png +++ b/libs/phpqrcode/cache/frame_27.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_28.dat b/libs/phpqrcode/cache/frame_28.dat Binary files differindex 8cbaa196..8cbaa196 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_28.dat +++ b/libs/phpqrcode/cache/frame_28.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_28.png b/libs/phpqrcode/cache/frame_28.png Binary files differindex 7609d8e1..7609d8e1 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_28.png +++ b/libs/phpqrcode/cache/frame_28.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_29.dat b/libs/phpqrcode/cache/frame_29.dat index 5e4a7110..5e4a7110 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_29.dat +++ b/libs/phpqrcode/cache/frame_29.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_29.png b/libs/phpqrcode/cache/frame_29.png Binary files differindex ffe072c8..ffe072c8 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_29.png +++ b/libs/phpqrcode/cache/frame_29.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_3.dat b/libs/phpqrcode/cache/frame_3.dat index 188d531c..188d531c 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_3.dat +++ b/libs/phpqrcode/cache/frame_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_3.png b/libs/phpqrcode/cache/frame_3.png Binary files differindex 945ee7cb..945ee7cb 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_3.png +++ b/libs/phpqrcode/cache/frame_3.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_30.dat b/libs/phpqrcode/cache/frame_30.dat Binary files differindex 44cf3d31..44cf3d31 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_30.dat +++ b/libs/phpqrcode/cache/frame_30.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_30.png b/libs/phpqrcode/cache/frame_30.png Binary files differindex 75dbddd2..75dbddd2 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_30.png +++ b/libs/phpqrcode/cache/frame_30.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_31.dat b/libs/phpqrcode/cache/frame_31.dat index ce429d0a..ce429d0a 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_31.dat +++ b/libs/phpqrcode/cache/frame_31.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_31.png b/libs/phpqrcode/cache/frame_31.png Binary files differindex b14d1fa2..b14d1fa2 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_31.png +++ b/libs/phpqrcode/cache/frame_31.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_32.dat b/libs/phpqrcode/cache/frame_32.dat index aaa0808e..aaa0808e 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_32.dat +++ b/libs/phpqrcode/cache/frame_32.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_32.png b/libs/phpqrcode/cache/frame_32.png Binary files differindex 58d42db3..58d42db3 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_32.png +++ b/libs/phpqrcode/cache/frame_32.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_33.dat b/libs/phpqrcode/cache/frame_33.dat index a2613755..a2613755 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_33.dat +++ b/libs/phpqrcode/cache/frame_33.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_33.png b/libs/phpqrcode/cache/frame_33.png Binary files differindex 924c728e..924c728e 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_33.png +++ b/libs/phpqrcode/cache/frame_33.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_34.dat b/libs/phpqrcode/cache/frame_34.dat Binary files differindex 7ceb0259..7ceb0259 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_34.dat +++ b/libs/phpqrcode/cache/frame_34.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_34.png b/libs/phpqrcode/cache/frame_34.png Binary files differindex a477042d..a477042d 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_34.png +++ b/libs/phpqrcode/cache/frame_34.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_35.dat b/libs/phpqrcode/cache/frame_35.dat Binary files differindex 56bc3e28..56bc3e28 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_35.dat +++ b/libs/phpqrcode/cache/frame_35.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_35.png b/libs/phpqrcode/cache/frame_35.png Binary files differindex d29806c6..d29806c6 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_35.png +++ b/libs/phpqrcode/cache/frame_35.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_36.dat b/libs/phpqrcode/cache/frame_36.dat Binary files differindex 282c60d2..282c60d2 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_36.dat +++ b/libs/phpqrcode/cache/frame_36.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_36.png b/libs/phpqrcode/cache/frame_36.png Binary files differindex 96ecb421..96ecb421 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_36.png +++ b/libs/phpqrcode/cache/frame_36.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_37.dat b/libs/phpqrcode/cache/frame_37.dat Binary files differindex 015c0f24..015c0f24 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_37.dat +++ b/libs/phpqrcode/cache/frame_37.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_37.png b/libs/phpqrcode/cache/frame_37.png Binary files differindex fcc51627..fcc51627 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_37.png +++ b/libs/phpqrcode/cache/frame_37.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_38.dat b/libs/phpqrcode/cache/frame_38.dat index 71cf53eb..71cf53eb 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_38.dat +++ b/libs/phpqrcode/cache/frame_38.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_38.png b/libs/phpqrcode/cache/frame_38.png Binary files differindex 89238f3c..89238f3c 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_38.png +++ b/libs/phpqrcode/cache/frame_38.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_39.dat b/libs/phpqrcode/cache/frame_39.dat Binary files differindex 53511f73..53511f73 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_39.dat +++ b/libs/phpqrcode/cache/frame_39.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_39.png b/libs/phpqrcode/cache/frame_39.png Binary files differindex 1dc9cd1b..1dc9cd1b 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_39.png +++ b/libs/phpqrcode/cache/frame_39.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_4.dat b/libs/phpqrcode/cache/frame_4.dat index 67b30e82..67b30e82 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_4.dat +++ b/libs/phpqrcode/cache/frame_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_4.png b/libs/phpqrcode/cache/frame_4.png Binary files differindex b72f9e70..b72f9e70 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_4.png +++ b/libs/phpqrcode/cache/frame_4.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_40.dat b/libs/phpqrcode/cache/frame_40.dat index 90d36dd1..90d36dd1 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_40.dat +++ b/libs/phpqrcode/cache/frame_40.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_40.png b/libs/phpqrcode/cache/frame_40.png Binary files differindex 8034d862..8034d862 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_40.png +++ b/libs/phpqrcode/cache/frame_40.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_5.dat b/libs/phpqrcode/cache/frame_5.dat index d5dafe18..d5dafe18 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_5.dat +++ b/libs/phpqrcode/cache/frame_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_5.png b/libs/phpqrcode/cache/frame_5.png Binary files differindex 96b6494f..96b6494f 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_5.png +++ b/libs/phpqrcode/cache/frame_5.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_6.dat b/libs/phpqrcode/cache/frame_6.dat Binary files differindex 0fc3d039..0fc3d039 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_6.dat +++ b/libs/phpqrcode/cache/frame_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_6.png b/libs/phpqrcode/cache/frame_6.png Binary files differindex 05ca358b..05ca358b 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_6.png +++ b/libs/phpqrcode/cache/frame_6.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_7.dat b/libs/phpqrcode/cache/frame_7.dat Binary files differindex 43375960..43375960 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_7.dat +++ b/libs/phpqrcode/cache/frame_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_7.png b/libs/phpqrcode/cache/frame_7.png Binary files differindex 7d2ff4f3..7d2ff4f3 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_7.png +++ b/libs/phpqrcode/cache/frame_7.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_8.dat b/libs/phpqrcode/cache/frame_8.dat Binary files differindex 669b325f..669b325f 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_8.dat +++ b/libs/phpqrcode/cache/frame_8.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_8.png b/libs/phpqrcode/cache/frame_8.png Binary files differindex db1f1877..db1f1877 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_8.png +++ b/libs/phpqrcode/cache/frame_8.png diff --git a/vendor/aferrandini/phpqrcode/cache/frame_9.dat b/libs/phpqrcode/cache/frame_9.dat Binary files differindex d79295ee..d79295ee 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_9.dat +++ b/libs/phpqrcode/cache/frame_9.dat diff --git a/vendor/aferrandini/phpqrcode/cache/frame_9.png b/libs/phpqrcode/cache/frame_9.png Binary files differindex 74ddf08d..74ddf08d 100755 --- a/vendor/aferrandini/phpqrcode/cache/frame_9.png +++ b/libs/phpqrcode/cache/frame_9.png diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_101_0.dat b/libs/phpqrcode/cache/mask_0/mask_101_0.dat Binary files differindex 51deabae..51deabae 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_101_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_101_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_105_0.dat b/libs/phpqrcode/cache/mask_0/mask_105_0.dat Binary files differindex 97e9e5df..97e9e5df 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_105_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_105_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_109_0.dat b/libs/phpqrcode/cache/mask_0/mask_109_0.dat index eadf83a2..eadf83a2 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_109_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_109_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_113_0.dat b/libs/phpqrcode/cache/mask_0/mask_113_0.dat index 5eb7f5de..5eb7f5de 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_113_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_113_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_117_0.dat b/libs/phpqrcode/cache/mask_0/mask_117_0.dat index 781c7f87..781c7f87 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_117_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_117_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_121_0.dat b/libs/phpqrcode/cache/mask_0/mask_121_0.dat index 68810c34..68810c34 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_121_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_121_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_125_0.dat b/libs/phpqrcode/cache/mask_0/mask_125_0.dat index 2c73ef1a..2c73ef1a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_125_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_125_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_129_0.dat b/libs/phpqrcode/cache/mask_0/mask_129_0.dat index 812ee8a6..812ee8a6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_129_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_129_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_133_0.dat b/libs/phpqrcode/cache/mask_0/mask_133_0.dat index 03b41d36..03b41d36 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_133_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_133_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_137_0.dat b/libs/phpqrcode/cache/mask_0/mask_137_0.dat index f6d993b0..f6d993b0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_137_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_137_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_141_0.dat b/libs/phpqrcode/cache/mask_0/mask_141_0.dat index 8c685c8e..8c685c8e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_141_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_141_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_145_0.dat b/libs/phpqrcode/cache/mask_0/mask_145_0.dat index 9c9c1ae1..9c9c1ae1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_145_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_145_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_149_0.dat b/libs/phpqrcode/cache/mask_0/mask_149_0.dat index d2583502..d2583502 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_149_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_149_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_153_0.dat b/libs/phpqrcode/cache/mask_0/mask_153_0.dat index fc79e9ed..fc79e9ed 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_153_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_153_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_157_0.dat b/libs/phpqrcode/cache/mask_0/mask_157_0.dat index ad749f30..ad749f30 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_157_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_157_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_161_0.dat b/libs/phpqrcode/cache/mask_0/mask_161_0.dat Binary files differindex 4bdc5fdd..4bdc5fdd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_161_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_161_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_165_0.dat b/libs/phpqrcode/cache/mask_0/mask_165_0.dat index 3a17a051..3a17a051 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_165_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_165_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_169_0.dat b/libs/phpqrcode/cache/mask_0/mask_169_0.dat index c4787d9d..c4787d9d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_169_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_169_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_173_0.dat b/libs/phpqrcode/cache/mask_0/mask_173_0.dat index 5ef85e7a..5ef85e7a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_173_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_173_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_177_0.dat b/libs/phpqrcode/cache/mask_0/mask_177_0.dat index 78a26a77..78a26a77 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_177_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_177_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_21_0.dat b/libs/phpqrcode/cache/mask_0/mask_21_0.dat Binary files differindex 368c9941..368c9941 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_21_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_21_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_25_0.dat b/libs/phpqrcode/cache/mask_0/mask_25_0.dat Binary files differindex e4a5b6d8..e4a5b6d8 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_25_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_25_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_29_0.dat b/libs/phpqrcode/cache/mask_0/mask_29_0.dat Binary files differindex 74a216b4..74a216b4 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_29_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_29_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_33_0.dat b/libs/phpqrcode/cache/mask_0/mask_33_0.dat Binary files differindex 2ec712a7..2ec712a7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_33_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_33_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_37_0.dat b/libs/phpqrcode/cache/mask_0/mask_37_0.dat Binary files differindex 1588cfce..1588cfce 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_37_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_37_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_41_0.dat b/libs/phpqrcode/cache/mask_0/mask_41_0.dat Binary files differindex e369027e..e369027e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_41_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_41_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_45_0.dat b/libs/phpqrcode/cache/mask_0/mask_45_0.dat Binary files differindex 452f126c..452f126c 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_45_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_45_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_49_0.dat b/libs/phpqrcode/cache/mask_0/mask_49_0.dat index fdd2aac1..fdd2aac1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_49_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_49_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_53_0.dat b/libs/phpqrcode/cache/mask_0/mask_53_0.dat index 572d279e..572d279e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_53_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_53_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_57_0.dat b/libs/phpqrcode/cache/mask_0/mask_57_0.dat index ea81e6dc..ea81e6dc 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_57_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_57_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_61_0.dat b/libs/phpqrcode/cache/mask_0/mask_61_0.dat Binary files differindex 93d2444d..93d2444d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_61_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_61_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_65_0.dat b/libs/phpqrcode/cache/mask_0/mask_65_0.dat Binary files differindex df29d7bf..df29d7bf 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_65_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_65_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_69_0.dat b/libs/phpqrcode/cache/mask_0/mask_69_0.dat index 8a2cfbd7..8a2cfbd7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_69_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_69_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_73_0.dat b/libs/phpqrcode/cache/mask_0/mask_73_0.dat index 3de46066..3de46066 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_73_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_73_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_77_0.dat b/libs/phpqrcode/cache/mask_0/mask_77_0.dat index 2717fd86..2717fd86 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_77_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_77_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_81_0.dat b/libs/phpqrcode/cache/mask_0/mask_81_0.dat index 2d9a052f..2d9a052f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_81_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_81_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_85_0.dat b/libs/phpqrcode/cache/mask_0/mask_85_0.dat index eb8197b2..eb8197b2 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_85_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_85_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_89_0.dat b/libs/phpqrcode/cache/mask_0/mask_89_0.dat index aaa4c526..aaa4c526 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_89_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_89_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_93_0.dat b/libs/phpqrcode/cache/mask_0/mask_93_0.dat index e218fa0e..e218fa0e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_93_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_93_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_97_0.dat b/libs/phpqrcode/cache/mask_0/mask_97_0.dat Binary files differindex 74ac719d..74ac719d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_0/mask_97_0.dat +++ b/libs/phpqrcode/cache/mask_0/mask_97_0.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_101_1.dat b/libs/phpqrcode/cache/mask_1/mask_101_1.dat index ec939b52..ec939b52 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_101_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_101_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_105_1.dat b/libs/phpqrcode/cache/mask_1/mask_105_1.dat index e1f5c99b..e1f5c99b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_105_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_105_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_109_1.dat b/libs/phpqrcode/cache/mask_1/mask_109_1.dat index 7e0d6d16..7e0d6d16 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_109_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_109_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_113_1.dat b/libs/phpqrcode/cache/mask_1/mask_113_1.dat index 1dd666d9..1dd666d9 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_113_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_113_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_117_1.dat b/libs/phpqrcode/cache/mask_1/mask_117_1.dat index 8921f643..8921f643 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_117_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_117_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_121_1.dat b/libs/phpqrcode/cache/mask_1/mask_121_1.dat index 64bd8ba0..64bd8ba0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_121_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_121_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_125_1.dat b/libs/phpqrcode/cache/mask_1/mask_125_1.dat index d5881dd5..d5881dd5 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_125_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_125_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_129_1.dat b/libs/phpqrcode/cache/mask_1/mask_129_1.dat Binary files differindex 62cd1c9a..62cd1c9a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_129_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_129_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_133_1.dat b/libs/phpqrcode/cache/mask_1/mask_133_1.dat index 18d68dce..18d68dce 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_133_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_133_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_137_1.dat b/libs/phpqrcode/cache/mask_1/mask_137_1.dat index 284d7bea..284d7bea 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_137_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_137_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_141_1.dat b/libs/phpqrcode/cache/mask_1/mask_141_1.dat index 83220ddb..83220ddb 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_141_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_141_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_145_1.dat b/libs/phpqrcode/cache/mask_1/mask_145_1.dat index 6a9950f7..6a9950f7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_145_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_145_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_149_1.dat b/libs/phpqrcode/cache/mask_1/mask_149_1.dat index 02a3cdc6..02a3cdc6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_149_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_149_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_153_1.dat b/libs/phpqrcode/cache/mask_1/mask_153_1.dat index 2abfca20..2abfca20 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_153_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_153_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_157_1.dat b/libs/phpqrcode/cache/mask_1/mask_157_1.dat index 17344b89..17344b89 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_157_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_157_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_161_1.dat b/libs/phpqrcode/cache/mask_1/mask_161_1.dat index 669ade1b..669ade1b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_161_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_161_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_165_1.dat b/libs/phpqrcode/cache/mask_1/mask_165_1.dat index abb48f0b..abb48f0b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_165_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_165_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_169_1.dat b/libs/phpqrcode/cache/mask_1/mask_169_1.dat index ba21b710..ba21b710 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_169_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_169_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_173_1.dat b/libs/phpqrcode/cache/mask_1/mask_173_1.dat index 436918c0..436918c0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_173_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_173_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_177_1.dat b/libs/phpqrcode/cache/mask_1/mask_177_1.dat index 12e2e522..12e2e522 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_177_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_177_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_21_1.dat b/libs/phpqrcode/cache/mask_1/mask_21_1.dat Binary files differindex f87e0a11..f87e0a11 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_21_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_21_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_25_1.dat b/libs/phpqrcode/cache/mask_1/mask_25_1.dat Binary files differindex 3a225e30..3a225e30 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_25_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_25_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_29_1.dat b/libs/phpqrcode/cache/mask_1/mask_29_1.dat Binary files differindex 0a1cb3b5..0a1cb3b5 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_29_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_29_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_33_1.dat b/libs/phpqrcode/cache/mask_1/mask_33_1.dat Binary files differindex 318949df..318949df 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_33_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_33_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_37_1.dat b/libs/phpqrcode/cache/mask_1/mask_37_1.dat Binary files differindex 5bd9e3aa..5bd9e3aa 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_37_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_37_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_41_1.dat b/libs/phpqrcode/cache/mask_1/mask_41_1.dat Binary files differindex 52e9e58f..52e9e58f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_41_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_41_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_45_1.dat b/libs/phpqrcode/cache/mask_1/mask_45_1.dat Binary files differindex b35c567d..b35c567d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_45_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_45_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_49_1.dat b/libs/phpqrcode/cache/mask_1/mask_49_1.dat Binary files differindex d20d7171..d20d7171 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_49_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_49_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_53_1.dat b/libs/phpqrcode/cache/mask_1/mask_53_1.dat Binary files differindex a676d7df..a676d7df 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_53_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_53_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_57_1.dat b/libs/phpqrcode/cache/mask_1/mask_57_1.dat Binary files differindex 896ed435..896ed435 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_57_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_57_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_61_1.dat b/libs/phpqrcode/cache/mask_1/mask_61_1.dat index 4165a4bd..4165a4bd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_61_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_61_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_65_1.dat b/libs/phpqrcode/cache/mask_1/mask_65_1.dat Binary files differindex db8db88a..db8db88a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_65_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_65_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_69_1.dat b/libs/phpqrcode/cache/mask_1/mask_69_1.dat Binary files differindex 03bba657..03bba657 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_69_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_69_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_73_1.dat b/libs/phpqrcode/cache/mask_1/mask_73_1.dat Binary files differindex a729fdf0..a729fdf0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_73_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_73_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_77_1.dat b/libs/phpqrcode/cache/mask_1/mask_77_1.dat Binary files differindex 0fe0b03e..0fe0b03e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_77_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_77_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_81_1.dat b/libs/phpqrcode/cache/mask_1/mask_81_1.dat Binary files differindex eacbdb1a..eacbdb1a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_81_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_81_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_85_1.dat b/libs/phpqrcode/cache/mask_1/mask_85_1.dat index b8a20c75..b8a20c75 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_85_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_85_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_89_1.dat b/libs/phpqrcode/cache/mask_1/mask_89_1.dat index e9d226f3..e9d226f3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_89_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_89_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_93_1.dat b/libs/phpqrcode/cache/mask_1/mask_93_1.dat index f37836c6..f37836c6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_93_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_93_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_97_1.dat b/libs/phpqrcode/cache/mask_1/mask_97_1.dat index 24fa60fc..24fa60fc 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_1/mask_97_1.dat +++ b/libs/phpqrcode/cache/mask_1/mask_97_1.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_101_2.dat b/libs/phpqrcode/cache/mask_2/mask_101_2.dat index e39fd2cf..e39fd2cf 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_101_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_101_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_105_2.dat b/libs/phpqrcode/cache/mask_2/mask_105_2.dat index 7b63e31b..7b63e31b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_105_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_105_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_109_2.dat b/libs/phpqrcode/cache/mask_2/mask_109_2.dat index 252f6d80..252f6d80 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_109_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_109_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_113_2.dat b/libs/phpqrcode/cache/mask_2/mask_113_2.dat index 26b5d7ea..26b5d7ea 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_113_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_113_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_117_2.dat b/libs/phpqrcode/cache/mask_2/mask_117_2.dat index b4dcce46..b4dcce46 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_117_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_117_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_121_2.dat b/libs/phpqrcode/cache/mask_2/mask_121_2.dat Binary files differindex a2a0097b..a2a0097b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_121_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_121_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_125_2.dat b/libs/phpqrcode/cache/mask_2/mask_125_2.dat index 0ea40fda..0ea40fda 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_125_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_125_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_129_2.dat b/libs/phpqrcode/cache/mask_2/mask_129_2.dat index bf048394..bf048394 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_129_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_129_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_133_2.dat b/libs/phpqrcode/cache/mask_2/mask_133_2.dat index 9e78b6de..9e78b6de 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_133_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_133_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_137_2.dat b/libs/phpqrcode/cache/mask_2/mask_137_2.dat index 95c3c48c..95c3c48c 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_137_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_137_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_141_2.dat b/libs/phpqrcode/cache/mask_2/mask_141_2.dat index da07da2e..da07da2e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_141_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_141_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_145_2.dat b/libs/phpqrcode/cache/mask_2/mask_145_2.dat index 9ff2bbf3..9ff2bbf3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_145_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_145_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_149_2.dat b/libs/phpqrcode/cache/mask_2/mask_149_2.dat index d52e0484..d52e0484 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_149_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_149_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_153_2.dat b/libs/phpqrcode/cache/mask_2/mask_153_2.dat index 3b060410..3b060410 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_153_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_153_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_157_2.dat b/libs/phpqrcode/cache/mask_2/mask_157_2.dat index 2baf535e..2baf535e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_157_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_157_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_161_2.dat b/libs/phpqrcode/cache/mask_2/mask_161_2.dat Binary files differindex d2df7594..d2df7594 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_161_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_161_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_165_2.dat b/libs/phpqrcode/cache/mask_2/mask_165_2.dat index 2e6cd7c6..2e6cd7c6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_165_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_165_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_169_2.dat b/libs/phpqrcode/cache/mask_2/mask_169_2.dat Binary files differindex 4052062b..4052062b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_169_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_169_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_173_2.dat b/libs/phpqrcode/cache/mask_2/mask_173_2.dat index 0a30ba53..0a30ba53 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_173_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_173_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_177_2.dat b/libs/phpqrcode/cache/mask_2/mask_177_2.dat index d2c52f99..d2c52f99 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_177_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_177_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_21_2.dat b/libs/phpqrcode/cache/mask_2/mask_21_2.dat Binary files differindex 7466be4b..7466be4b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_21_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_21_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_25_2.dat b/libs/phpqrcode/cache/mask_2/mask_25_2.dat Binary files differindex 0bc44c03..0bc44c03 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_25_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_25_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_29_2.dat b/libs/phpqrcode/cache/mask_2/mask_29_2.dat Binary files differindex 5112d11e..5112d11e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_29_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_29_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_33_2.dat b/libs/phpqrcode/cache/mask_2/mask_33_2.dat Binary files differindex 5bac0c80..5bac0c80 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_33_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_33_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_37_2.dat b/libs/phpqrcode/cache/mask_2/mask_37_2.dat Binary files differindex bdfc0bd4..bdfc0bd4 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_37_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_37_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_41_2.dat b/libs/phpqrcode/cache/mask_2/mask_41_2.dat index c55c63e8..c55c63e8 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_41_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_41_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_45_2.dat b/libs/phpqrcode/cache/mask_2/mask_45_2.dat Binary files differindex ad44ff18..ad44ff18 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_45_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_45_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_49_2.dat b/libs/phpqrcode/cache/mask_2/mask_49_2.dat Binary files differindex 6e8edff2..6e8edff2 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_49_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_49_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_53_2.dat b/libs/phpqrcode/cache/mask_2/mask_53_2.dat Binary files differindex 682cae2a..682cae2a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_53_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_53_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_57_2.dat b/libs/phpqrcode/cache/mask_2/mask_57_2.dat Binary files differindex 66a5c056..66a5c056 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_57_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_57_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_61_2.dat b/libs/phpqrcode/cache/mask_2/mask_61_2.dat Binary files differindex 77d3815e..77d3815e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_61_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_61_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_65_2.dat b/libs/phpqrcode/cache/mask_2/mask_65_2.dat Binary files differindex caf184ad..caf184ad 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_65_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_65_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_69_2.dat b/libs/phpqrcode/cache/mask_2/mask_69_2.dat Binary files differindex 6a3801bf..6a3801bf 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_69_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_69_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_73_2.dat b/libs/phpqrcode/cache/mask_2/mask_73_2.dat Binary files differindex 74945b71..74945b71 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_73_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_73_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_77_2.dat b/libs/phpqrcode/cache/mask_2/mask_77_2.dat index 903cba4a..903cba4a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_77_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_77_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_81_2.dat b/libs/phpqrcode/cache/mask_2/mask_81_2.dat index 17a9ac2a..17a9ac2a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_81_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_81_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_85_2.dat b/libs/phpqrcode/cache/mask_2/mask_85_2.dat index 72c74ff9..72c74ff9 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_85_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_85_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_89_2.dat b/libs/phpqrcode/cache/mask_2/mask_89_2.dat index 06c9a4fe..06c9a4fe 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_89_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_89_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_93_2.dat b/libs/phpqrcode/cache/mask_2/mask_93_2.dat Binary files differindex f5202963..f5202963 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_93_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_93_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_97_2.dat b/libs/phpqrcode/cache/mask_2/mask_97_2.dat index 38842b98..38842b98 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_2/mask_97_2.dat +++ b/libs/phpqrcode/cache/mask_2/mask_97_2.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_101_3.dat b/libs/phpqrcode/cache/mask_3/mask_101_3.dat index fa992512..fa992512 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_101_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_101_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_105_3.dat b/libs/phpqrcode/cache/mask_3/mask_105_3.dat index d8a28ce9..d8a28ce9 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_105_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_105_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_109_3.dat b/libs/phpqrcode/cache/mask_3/mask_109_3.dat index 48d94040..48d94040 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_109_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_109_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_113_3.dat b/libs/phpqrcode/cache/mask_3/mask_113_3.dat index 023b2730..023b2730 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_113_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_113_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_117_3.dat b/libs/phpqrcode/cache/mask_3/mask_117_3.dat index 79cc04d1..79cc04d1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_117_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_117_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_121_3.dat b/libs/phpqrcode/cache/mask_3/mask_121_3.dat Binary files differindex aff5a7be..aff5a7be 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_121_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_121_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_125_3.dat b/libs/phpqrcode/cache/mask_3/mask_125_3.dat index e2febdbd..e2febdbd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_125_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_125_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_129_3.dat b/libs/phpqrcode/cache/mask_3/mask_129_3.dat index b1ce63b7..b1ce63b7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_129_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_129_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_133_3.dat b/libs/phpqrcode/cache/mask_3/mask_133_3.dat Binary files differindex f4181507..f4181507 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_133_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_133_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_137_3.dat b/libs/phpqrcode/cache/mask_3/mask_137_3.dat index e24ac5b5..e24ac5b5 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_137_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_137_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_141_3.dat b/libs/phpqrcode/cache/mask_3/mask_141_3.dat index a3f6a248..a3f6a248 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_141_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_141_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_145_3.dat b/libs/phpqrcode/cache/mask_3/mask_145_3.dat index 338b7e7a..338b7e7a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_145_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_145_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_149_3.dat b/libs/phpqrcode/cache/mask_3/mask_149_3.dat index 30bc5fab..30bc5fab 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_149_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_149_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_153_3.dat b/libs/phpqrcode/cache/mask_3/mask_153_3.dat index 89cdec03..89cdec03 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_153_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_153_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_157_3.dat b/libs/phpqrcode/cache/mask_3/mask_157_3.dat Binary files differindex 167e6f84..167e6f84 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_157_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_157_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_161_3.dat b/libs/phpqrcode/cache/mask_3/mask_161_3.dat index 72a26a4f..72a26a4f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_161_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_161_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_165_3.dat b/libs/phpqrcode/cache/mask_3/mask_165_3.dat index 870af8f4..870af8f4 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_165_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_165_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_169_3.dat b/libs/phpqrcode/cache/mask_3/mask_169_3.dat index 94310952..94310952 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_169_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_169_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_173_3.dat b/libs/phpqrcode/cache/mask_3/mask_173_3.dat index 74669862..74669862 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_173_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_173_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_177_3.dat b/libs/phpqrcode/cache/mask_3/mask_177_3.dat Binary files differindex 9586979a..9586979a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_177_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_177_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_21_3.dat b/libs/phpqrcode/cache/mask_3/mask_21_3.dat Binary files differindex bcb4eec4..bcb4eec4 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_21_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_21_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_25_3.dat b/libs/phpqrcode/cache/mask_3/mask_25_3.dat Binary files differindex 0ffc375f..0ffc375f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_25_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_25_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_29_3.dat b/libs/phpqrcode/cache/mask_3/mask_29_3.dat Binary files differindex 6150ac12..6150ac12 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_29_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_29_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_33_3.dat b/libs/phpqrcode/cache/mask_3/mask_33_3.dat Binary files differindex 6053b5e3..6053b5e3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_33_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_33_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_37_3.dat b/libs/phpqrcode/cache/mask_3/mask_37_3.dat Binary files differindex 5dea5b9c..5dea5b9c 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_37_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_37_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_41_3.dat b/libs/phpqrcode/cache/mask_3/mask_41_3.dat Binary files differindex ca9ddc2a..ca9ddc2a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_41_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_41_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_45_3.dat b/libs/phpqrcode/cache/mask_3/mask_45_3.dat index 3daad97f..3daad97f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_45_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_45_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_49_3.dat b/libs/phpqrcode/cache/mask_3/mask_49_3.dat Binary files differindex 7f6508dd..7f6508dd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_49_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_49_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_53_3.dat b/libs/phpqrcode/cache/mask_3/mask_53_3.dat index 8800beab..8800beab 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_53_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_53_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_57_3.dat b/libs/phpqrcode/cache/mask_3/mask_57_3.dat Binary files differindex 4e1e5da3..4e1e5da3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_57_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_57_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_61_3.dat b/libs/phpqrcode/cache/mask_3/mask_61_3.dat index bf1a3cc7..bf1a3cc7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_61_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_61_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_65_3.dat b/libs/phpqrcode/cache/mask_3/mask_65_3.dat index 85892089..85892089 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_65_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_65_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_69_3.dat b/libs/phpqrcode/cache/mask_3/mask_69_3.dat index 55318a87..55318a87 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_69_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_69_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_73_3.dat b/libs/phpqrcode/cache/mask_3/mask_73_3.dat index 15be77f6..15be77f6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_73_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_73_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_77_3.dat b/libs/phpqrcode/cache/mask_3/mask_77_3.dat index ec782804..ec782804 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_77_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_77_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_81_3.dat b/libs/phpqrcode/cache/mask_3/mask_81_3.dat index 47bc0f79..47bc0f79 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_81_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_81_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_85_3.dat b/libs/phpqrcode/cache/mask_3/mask_85_3.dat Binary files differindex 02c4f8cd..02c4f8cd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_85_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_85_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_89_3.dat b/libs/phpqrcode/cache/mask_3/mask_89_3.dat index 2b4cb59f..2b4cb59f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_89_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_89_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_93_3.dat b/libs/phpqrcode/cache/mask_3/mask_93_3.dat index b4cc8a97..b4cc8a97 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_93_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_93_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_97_3.dat b/libs/phpqrcode/cache/mask_3/mask_97_3.dat Binary files differindex 7adc9eba..7adc9eba 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_3/mask_97_3.dat +++ b/libs/phpqrcode/cache/mask_3/mask_97_3.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_101_4.dat b/libs/phpqrcode/cache/mask_4/mask_101_4.dat index 1c97dc04..1c97dc04 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_101_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_101_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_105_4.dat b/libs/phpqrcode/cache/mask_4/mask_105_4.dat index 0211cdb3..0211cdb3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_105_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_105_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_109_4.dat b/libs/phpqrcode/cache/mask_4/mask_109_4.dat Binary files differindex 2cc0c815..2cc0c815 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_109_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_109_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_113_4.dat b/libs/phpqrcode/cache/mask_4/mask_113_4.dat index 99bd73f6..99bd73f6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_113_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_113_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_117_4.dat b/libs/phpqrcode/cache/mask_4/mask_117_4.dat index 38672591..38672591 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_117_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_117_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_121_4.dat b/libs/phpqrcode/cache/mask_4/mask_121_4.dat Binary files differindex 84957eb7..84957eb7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_121_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_121_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_125_4.dat b/libs/phpqrcode/cache/mask_4/mask_125_4.dat Binary files differindex b98dc813..b98dc813 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_125_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_125_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_129_4.dat b/libs/phpqrcode/cache/mask_4/mask_129_4.dat Binary files differindex 8ecfa250..8ecfa250 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_129_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_129_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_133_4.dat b/libs/phpqrcode/cache/mask_4/mask_133_4.dat index 69f83acb..69f83acb 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_133_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_133_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_137_4.dat b/libs/phpqrcode/cache/mask_4/mask_137_4.dat Binary files differindex 0c09c487..0c09c487 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_137_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_137_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_141_4.dat b/libs/phpqrcode/cache/mask_4/mask_141_4.dat Binary files differindex 62b03f24..62b03f24 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_141_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_141_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_145_4.dat b/libs/phpqrcode/cache/mask_4/mask_145_4.dat Binary files differindex 33fb2112..33fb2112 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_145_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_145_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_149_4.dat b/libs/phpqrcode/cache/mask_4/mask_149_4.dat index de99310f..de99310f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_149_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_149_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_153_4.dat b/libs/phpqrcode/cache/mask_4/mask_153_4.dat index e827dd16..e827dd16 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_153_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_153_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_157_4.dat b/libs/phpqrcode/cache/mask_4/mask_157_4.dat index ad5fcf69..ad5fcf69 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_157_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_157_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_161_4.dat b/libs/phpqrcode/cache/mask_4/mask_161_4.dat index 7604c454..7604c454 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_161_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_161_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_165_4.dat b/libs/phpqrcode/cache/mask_4/mask_165_4.dat index d83d6316..d83d6316 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_165_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_165_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_169_4.dat b/libs/phpqrcode/cache/mask_4/mask_169_4.dat Binary files differindex 4aac95c1..4aac95c1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_169_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_169_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_173_4.dat b/libs/phpqrcode/cache/mask_4/mask_173_4.dat index 9df4d865..9df4d865 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_173_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_173_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_177_4.dat b/libs/phpqrcode/cache/mask_4/mask_177_4.dat index 6437d251..6437d251 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_177_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_177_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_21_4.dat b/libs/phpqrcode/cache/mask_4/mask_21_4.dat Binary files differindex e006b67e..e006b67e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_21_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_21_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_25_4.dat b/libs/phpqrcode/cache/mask_4/mask_25_4.dat Binary files differindex 0c7c44bb..0c7c44bb 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_25_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_25_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_29_4.dat b/libs/phpqrcode/cache/mask_4/mask_29_4.dat Binary files differindex c28dc20e..c28dc20e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_29_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_29_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_33_4.dat b/libs/phpqrcode/cache/mask_4/mask_33_4.dat Binary files differindex 5834b6fb..5834b6fb 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_33_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_33_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_37_4.dat b/libs/phpqrcode/cache/mask_4/mask_37_4.dat Binary files differindex 4bf2e26e..4bf2e26e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_37_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_37_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_41_4.dat b/libs/phpqrcode/cache/mask_4/mask_41_4.dat Binary files differindex b75b7d05..b75b7d05 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_41_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_41_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_45_4.dat b/libs/phpqrcode/cache/mask_4/mask_45_4.dat Binary files differindex 1b921f30..1b921f30 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_45_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_45_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_49_4.dat b/libs/phpqrcode/cache/mask_4/mask_49_4.dat Binary files differindex e417f947..e417f947 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_49_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_49_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_53_4.dat b/libs/phpqrcode/cache/mask_4/mask_53_4.dat Binary files differindex 7e88826d..7e88826d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_53_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_53_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_57_4.dat b/libs/phpqrcode/cache/mask_4/mask_57_4.dat Binary files differindex 84669c7d..84669c7d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_57_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_57_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_61_4.dat b/libs/phpqrcode/cache/mask_4/mask_61_4.dat Binary files differindex d127c3be..d127c3be 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_61_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_61_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_65_4.dat b/libs/phpqrcode/cache/mask_4/mask_65_4.dat index c24343d9..c24343d9 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_65_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_65_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_69_4.dat b/libs/phpqrcode/cache/mask_4/mask_69_4.dat index a73b1144..a73b1144 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_69_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_69_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_73_4.dat b/libs/phpqrcode/cache/mask_4/mask_73_4.dat index 72f89227..72f89227 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_73_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_73_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_77_4.dat b/libs/phpqrcode/cache/mask_4/mask_77_4.dat index 993c4860..993c4860 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_77_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_77_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_81_4.dat b/libs/phpqrcode/cache/mask_4/mask_81_4.dat index dd652161..dd652161 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_81_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_81_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_85_4.dat b/libs/phpqrcode/cache/mask_4/mask_85_4.dat Binary files differindex c8d5123e..c8d5123e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_85_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_85_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_89_4.dat b/libs/phpqrcode/cache/mask_4/mask_89_4.dat index 5b9bd7ec..5b9bd7ec 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_89_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_89_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_93_4.dat b/libs/phpqrcode/cache/mask_4/mask_93_4.dat index be7f5e52..be7f5e52 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_93_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_93_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_97_4.dat b/libs/phpqrcode/cache/mask_4/mask_97_4.dat Binary files differindex 5d848caa..5d848caa 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_4/mask_97_4.dat +++ b/libs/phpqrcode/cache/mask_4/mask_97_4.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_101_5.dat b/libs/phpqrcode/cache/mask_5/mask_101_5.dat index c21869e8..c21869e8 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_101_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_101_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_105_5.dat b/libs/phpqrcode/cache/mask_5/mask_105_5.dat Binary files differindex bc8798c6..bc8798c6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_105_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_105_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_109_5.dat b/libs/phpqrcode/cache/mask_5/mask_109_5.dat Binary files differindex 25a39440..25a39440 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_109_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_109_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_113_5.dat b/libs/phpqrcode/cache/mask_5/mask_113_5.dat index 25f42b8b..25f42b8b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_113_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_113_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_117_5.dat b/libs/phpqrcode/cache/mask_5/mask_117_5.dat index f236940d..f236940d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_117_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_117_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_121_5.dat b/libs/phpqrcode/cache/mask_5/mask_121_5.dat Binary files differindex 9bb5c415..9bb5c415 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_121_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_121_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_125_5.dat b/libs/phpqrcode/cache/mask_5/mask_125_5.dat index 2161c50a..2161c50a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_125_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_125_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_129_5.dat b/libs/phpqrcode/cache/mask_5/mask_129_5.dat Binary files differindex f0c1d650..f0c1d650 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_129_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_129_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_133_5.dat b/libs/phpqrcode/cache/mask_5/mask_133_5.dat index 46be8b09..46be8b09 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_133_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_133_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_137_5.dat b/libs/phpqrcode/cache/mask_5/mask_137_5.dat index 064e7f2f..064e7f2f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_137_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_137_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_141_5.dat b/libs/phpqrcode/cache/mask_5/mask_141_5.dat Binary files differindex 60c1a8e8..60c1a8e8 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_141_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_141_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_145_5.dat b/libs/phpqrcode/cache/mask_5/mask_145_5.dat Binary files differindex 9303c07f..9303c07f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_145_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_145_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_149_5.dat b/libs/phpqrcode/cache/mask_5/mask_149_5.dat index 4256cefd..4256cefd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_149_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_149_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_153_5.dat b/libs/phpqrcode/cache/mask_5/mask_153_5.dat index deea09d7..deea09d7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_153_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_153_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_157_5.dat b/libs/phpqrcode/cache/mask_5/mask_157_5.dat index 176e2a69..176e2a69 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_157_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_157_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_161_5.dat b/libs/phpqrcode/cache/mask_5/mask_161_5.dat index 70d5fb00..70d5fb00 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_161_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_161_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_165_5.dat b/libs/phpqrcode/cache/mask_5/mask_165_5.dat Binary files differindex 94af813d..94af813d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_165_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_165_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_169_5.dat b/libs/phpqrcode/cache/mask_5/mask_169_5.dat index 921a7707..921a7707 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_169_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_169_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_173_5.dat b/libs/phpqrcode/cache/mask_5/mask_173_5.dat index f9a67413..f9a67413 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_173_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_173_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_177_5.dat b/libs/phpqrcode/cache/mask_5/mask_177_5.dat index b07c636b..b07c636b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_177_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_177_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_21_5.dat b/libs/phpqrcode/cache/mask_5/mask_21_5.dat Binary files differindex 04f97ea6..04f97ea6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_21_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_21_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_25_5.dat b/libs/phpqrcode/cache/mask_5/mask_25_5.dat index c20b59b1..c20b59b1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_25_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_25_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_29_5.dat b/libs/phpqrcode/cache/mask_5/mask_29_5.dat index 217ec1b8..217ec1b8 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_29_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_29_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_33_5.dat b/libs/phpqrcode/cache/mask_5/mask_33_5.dat Binary files differindex 726d7fd7..726d7fd7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_33_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_33_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_37_5.dat b/libs/phpqrcode/cache/mask_5/mask_37_5.dat Binary files differindex 6d32ca6f..6d32ca6f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_37_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_37_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_41_5.dat b/libs/phpqrcode/cache/mask_5/mask_41_5.dat index e07c6172..e07c6172 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_41_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_41_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_45_5.dat b/libs/phpqrcode/cache/mask_5/mask_45_5.dat index 5168a17f..5168a17f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_45_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_45_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_49_5.dat b/libs/phpqrcode/cache/mask_5/mask_49_5.dat Binary files differindex 9f3f3cd7..9f3f3cd7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_49_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_49_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_53_5.dat b/libs/phpqrcode/cache/mask_5/mask_53_5.dat index 449807ba..449807ba 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_53_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_53_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_57_5.dat b/libs/phpqrcode/cache/mask_5/mask_57_5.dat index c7dd81f3..c7dd81f3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_57_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_57_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_61_5.dat b/libs/phpqrcode/cache/mask_5/mask_61_5.dat index dee749fb..dee749fb 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_61_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_61_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_65_5.dat b/libs/phpqrcode/cache/mask_5/mask_65_5.dat Binary files differindex ecd93806..ecd93806 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_65_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_65_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_69_5.dat b/libs/phpqrcode/cache/mask_5/mask_69_5.dat Binary files differindex ead4edc1..ead4edc1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_69_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_69_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_73_5.dat b/libs/phpqrcode/cache/mask_5/mask_73_5.dat Binary files differindex 00001176..00001176 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_73_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_73_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_77_5.dat b/libs/phpqrcode/cache/mask_5/mask_77_5.dat index 1652cdc2..1652cdc2 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_77_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_77_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_81_5.dat b/libs/phpqrcode/cache/mask_5/mask_81_5.dat index 71215e95..71215e95 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_81_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_81_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_85_5.dat b/libs/phpqrcode/cache/mask_5/mask_85_5.dat Binary files differindex 09cf0e28..09cf0e28 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_85_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_85_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_89_5.dat b/libs/phpqrcode/cache/mask_5/mask_89_5.dat index 5fff5306..5fff5306 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_89_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_89_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_93_5.dat b/libs/phpqrcode/cache/mask_5/mask_93_5.dat index ec4240bd..ec4240bd 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_93_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_93_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_97_5.dat b/libs/phpqrcode/cache/mask_5/mask_97_5.dat index 509d1174..509d1174 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_5/mask_97_5.dat +++ b/libs/phpqrcode/cache/mask_5/mask_97_5.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_101_6.dat b/libs/phpqrcode/cache/mask_6/mask_101_6.dat index 13f97a0f..13f97a0f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_101_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_101_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_105_6.dat b/libs/phpqrcode/cache/mask_6/mask_105_6.dat index a58fec74..a58fec74 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_105_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_105_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_109_6.dat b/libs/phpqrcode/cache/mask_6/mask_109_6.dat index be7b4749..be7b4749 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_109_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_109_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_113_6.dat b/libs/phpqrcode/cache/mask_6/mask_113_6.dat index 397f5274..397f5274 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_113_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_113_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_117_6.dat b/libs/phpqrcode/cache/mask_6/mask_117_6.dat index 99108bef..99108bef 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_117_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_117_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_121_6.dat b/libs/phpqrcode/cache/mask_6/mask_121_6.dat Binary files differindex f3c32994..f3c32994 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_121_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_121_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_125_6.dat b/libs/phpqrcode/cache/mask_6/mask_125_6.dat index ff64d44f..ff64d44f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_125_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_125_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_129_6.dat b/libs/phpqrcode/cache/mask_6/mask_129_6.dat Binary files differindex b4695c3f..b4695c3f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_129_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_129_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_133_6.dat b/libs/phpqrcode/cache/mask_6/mask_133_6.dat Binary files differindex 40911dc5..40911dc5 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_133_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_133_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_137_6.dat b/libs/phpqrcode/cache/mask_6/mask_137_6.dat index 43ccb68c..43ccb68c 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_137_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_137_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_141_6.dat b/libs/phpqrcode/cache/mask_6/mask_141_6.dat index 0340409a..0340409a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_141_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_141_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_145_6.dat b/libs/phpqrcode/cache/mask_6/mask_145_6.dat Binary files differindex 6c142151..6c142151 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_145_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_145_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_149_6.dat b/libs/phpqrcode/cache/mask_6/mask_149_6.dat index 69e98835..69e98835 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_149_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_149_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_153_6.dat b/libs/phpqrcode/cache/mask_6/mask_153_6.dat Binary files differindex 3ab6130e..3ab6130e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_153_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_153_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_157_6.dat b/libs/phpqrcode/cache/mask_6/mask_157_6.dat index b45c0cee..b45c0cee 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_157_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_157_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_161_6.dat b/libs/phpqrcode/cache/mask_6/mask_161_6.dat Binary files differindex ecec68b1..ecec68b1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_161_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_161_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_165_6.dat b/libs/phpqrcode/cache/mask_6/mask_165_6.dat Binary files differindex d641dfa3..d641dfa3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_165_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_165_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_169_6.dat b/libs/phpqrcode/cache/mask_6/mask_169_6.dat index ae689723..ae689723 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_169_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_169_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_173_6.dat b/libs/phpqrcode/cache/mask_6/mask_173_6.dat index 95fa97c7..95fa97c7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_173_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_173_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_177_6.dat b/libs/phpqrcode/cache/mask_6/mask_177_6.dat index e9f0476f..e9f0476f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_177_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_177_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_21_6.dat b/libs/phpqrcode/cache/mask_6/mask_21_6.dat index 6bd505b4..6bd505b4 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_21_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_21_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_25_6.dat b/libs/phpqrcode/cache/mask_6/mask_25_6.dat index d45083aa..d45083aa 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_25_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_25_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_29_6.dat b/libs/phpqrcode/cache/mask_6/mask_29_6.dat index 0408e224..0408e224 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_29_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_29_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_33_6.dat b/libs/phpqrcode/cache/mask_6/mask_33_6.dat Binary files differindex 8de4ba5c..8de4ba5c 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_33_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_33_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_37_6.dat b/libs/phpqrcode/cache/mask_6/mask_37_6.dat index b37ff0ab..b37ff0ab 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_37_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_37_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_41_6.dat b/libs/phpqrcode/cache/mask_6/mask_41_6.dat Binary files differindex c1535f78..c1535f78 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_41_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_41_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_45_6.dat b/libs/phpqrcode/cache/mask_6/mask_45_6.dat Binary files differindex a7da7ee0..a7da7ee0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_45_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_45_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_49_6.dat b/libs/phpqrcode/cache/mask_6/mask_49_6.dat index 64ded709..64ded709 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_49_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_49_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_53_6.dat b/libs/phpqrcode/cache/mask_6/mask_53_6.dat Binary files differindex 9139e325..9139e325 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_53_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_53_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_57_6.dat b/libs/phpqrcode/cache/mask_6/mask_57_6.dat index 61e7e242..61e7e242 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_57_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_57_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_61_6.dat b/libs/phpqrcode/cache/mask_6/mask_61_6.dat index f2d3f10d..f2d3f10d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_61_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_61_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_65_6.dat b/libs/phpqrcode/cache/mask_6/mask_65_6.dat index 550fc8fe..550fc8fe 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_65_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_65_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_69_6.dat b/libs/phpqrcode/cache/mask_6/mask_69_6.dat index a3e4fa0f..a3e4fa0f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_69_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_69_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_73_6.dat b/libs/phpqrcode/cache/mask_6/mask_73_6.dat Binary files differindex ab71b70a..ab71b70a 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_73_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_73_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_77_6.dat b/libs/phpqrcode/cache/mask_6/mask_77_6.dat index ad5a660e..ad5a660e 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_77_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_77_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_81_6.dat b/libs/phpqrcode/cache/mask_6/mask_81_6.dat index 28a6d075..28a6d075 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_81_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_81_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_85_6.dat b/libs/phpqrcode/cache/mask_6/mask_85_6.dat Binary files differindex d5403e49..d5403e49 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_85_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_85_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_89_6.dat b/libs/phpqrcode/cache/mask_6/mask_89_6.dat Binary files differindex eeeb5d19..eeeb5d19 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_89_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_89_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_93_6.dat b/libs/phpqrcode/cache/mask_6/mask_93_6.dat Binary files differindex 6ff38db6..6ff38db6 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_93_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_93_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_97_6.dat b/libs/phpqrcode/cache/mask_6/mask_97_6.dat index 3a2072ef..3a2072ef 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_6/mask_97_6.dat +++ b/libs/phpqrcode/cache/mask_6/mask_97_6.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_101_7.dat b/libs/phpqrcode/cache/mask_7/mask_101_7.dat index 1f6bc512..1f6bc512 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_101_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_101_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_105_7.dat b/libs/phpqrcode/cache/mask_7/mask_105_7.dat index 6b0cacfe..6b0cacfe 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_105_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_105_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_109_7.dat b/libs/phpqrcode/cache/mask_7/mask_109_7.dat index 9875cbe8..9875cbe8 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_109_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_109_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_113_7.dat b/libs/phpqrcode/cache/mask_7/mask_113_7.dat index b6e21598..b6e21598 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_113_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_113_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_117_7.dat b/libs/phpqrcode/cache/mask_7/mask_117_7.dat index cde78c10..cde78c10 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_117_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_117_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_121_7.dat b/libs/phpqrcode/cache/mask_7/mask_121_7.dat index d5d577f7..d5d577f7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_121_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_121_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_125_7.dat b/libs/phpqrcode/cache/mask_7/mask_125_7.dat Binary files differindex f9ec0887..f9ec0887 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_125_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_125_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_129_7.dat b/libs/phpqrcode/cache/mask_7/mask_129_7.dat Binary files differindex 9bf51d52..9bf51d52 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_129_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_129_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_133_7.dat b/libs/phpqrcode/cache/mask_7/mask_133_7.dat Binary files differindex b643ffed..b643ffed 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_133_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_133_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_137_7.dat b/libs/phpqrcode/cache/mask_7/mask_137_7.dat index 11d212bf..11d212bf 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_137_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_137_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_141_7.dat b/libs/phpqrcode/cache/mask_7/mask_141_7.dat index 98dffab0..98dffab0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_141_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_141_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_145_7.dat b/libs/phpqrcode/cache/mask_7/mask_145_7.dat index 4aa2bac1..4aa2bac1 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_145_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_145_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_149_7.dat b/libs/phpqrcode/cache/mask_7/mask_149_7.dat index 809f0055..809f0055 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_149_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_149_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_153_7.dat b/libs/phpqrcode/cache/mask_7/mask_153_7.dat index c1ab2766..c1ab2766 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_153_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_153_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_157_7.dat b/libs/phpqrcode/cache/mask_7/mask_157_7.dat index 2db27f68..2db27f68 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_157_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_157_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_161_7.dat b/libs/phpqrcode/cache/mask_7/mask_161_7.dat index 35ba8ff4..35ba8ff4 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_161_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_161_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_165_7.dat b/libs/phpqrcode/cache/mask_7/mask_165_7.dat index e27fb8ed..e27fb8ed 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_165_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_165_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_169_7.dat b/libs/phpqrcode/cache/mask_7/mask_169_7.dat Binary files differindex ef1a181f..ef1a181f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_169_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_169_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_173_7.dat b/libs/phpqrcode/cache/mask_7/mask_173_7.dat index 3b513712..3b513712 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_173_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_173_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_177_7.dat b/libs/phpqrcode/cache/mask_7/mask_177_7.dat Binary files differindex 068477c9..068477c9 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_177_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_177_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_21_7.dat b/libs/phpqrcode/cache/mask_7/mask_21_7.dat index 4f9f1386..4f9f1386 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_21_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_21_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_25_7.dat b/libs/phpqrcode/cache/mask_7/mask_25_7.dat index cefe1b97..cefe1b97 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_25_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_25_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_29_7.dat b/libs/phpqrcode/cache/mask_7/mask_29_7.dat index e3d7391b..e3d7391b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_29_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_29_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_33_7.dat b/libs/phpqrcode/cache/mask_7/mask_33_7.dat index 1763f428..1763f428 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_33_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_33_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_37_7.dat b/libs/phpqrcode/cache/mask_7/mask_37_7.dat Binary files differindex 87d9a1a9..87d9a1a9 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_37_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_37_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_41_7.dat b/libs/phpqrcode/cache/mask_7/mask_41_7.dat index 8acec04f..8acec04f 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_41_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_41_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_45_7.dat b/libs/phpqrcode/cache/mask_7/mask_45_7.dat Binary files differindex dbba31d0..dbba31d0 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_45_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_45_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_49_7.dat b/libs/phpqrcode/cache/mask_7/mask_49_7.dat index be5dce8b..be5dce8b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_49_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_49_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_53_7.dat b/libs/phpqrcode/cache/mask_7/mask_53_7.dat index 7028ef6d..7028ef6d 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_53_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_53_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_57_7.dat b/libs/phpqrcode/cache/mask_7/mask_57_7.dat index ee3107a3..ee3107a3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_57_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_57_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_61_7.dat b/libs/phpqrcode/cache/mask_7/mask_61_7.dat index 76f8d727..76f8d727 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_61_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_61_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_65_7.dat b/libs/phpqrcode/cache/mask_7/mask_65_7.dat index d8b92062..d8b92062 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_65_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_65_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_69_7.dat b/libs/phpqrcode/cache/mask_7/mask_69_7.dat Binary files differindex c2db0204..c2db0204 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_69_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_69_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_73_7.dat b/libs/phpqrcode/cache/mask_7/mask_73_7.dat Binary files differindex f414e4a5..f414e4a5 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_73_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_73_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_77_7.dat b/libs/phpqrcode/cache/mask_7/mask_77_7.dat Binary files differindex 3e52bfd3..3e52bfd3 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_77_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_77_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_81_7.dat b/libs/phpqrcode/cache/mask_7/mask_81_7.dat index 78e08dfc..78e08dfc 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_81_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_81_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_85_7.dat b/libs/phpqrcode/cache/mask_7/mask_85_7.dat Binary files differindex a53824ae..a53824ae 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_85_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_85_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_89_7.dat b/libs/phpqrcode/cache/mask_7/mask_89_7.dat Binary files differindex 32934a44..32934a44 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_89_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_89_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_93_7.dat b/libs/phpqrcode/cache/mask_7/mask_93_7.dat Binary files differindex 1955f6b7..1955f6b7 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_93_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_93_7.dat diff --git a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_97_7.dat b/libs/phpqrcode/cache/mask_7/mask_97_7.dat index b277368b..b277368b 100755 --- a/vendor/aferrandini/phpqrcode/cache/mask_7/mask_97_7.dat +++ b/libs/phpqrcode/cache/mask_7/mask_97_7.dat diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode.php b/libs/phpqrcode/lib/PHPQRCode.php index e96c5e3d..e96c5e3d 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode.php +++ b/libs/phpqrcode/lib/PHPQRCode.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/Autoloader.php b/libs/phpqrcode/lib/PHPQRCode/Autoloader.php index 6fe2bb2f..6fe2bb2f 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/Autoloader.php +++ b/libs/phpqrcode/lib/PHPQRCode/Autoloader.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/Constants.php b/libs/phpqrcode/lib/PHPQRCode/Constants.php index 49fc6434..49fc6434 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/Constants.php +++ b/libs/phpqrcode/lib/PHPQRCode/Constants.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/FrameFiller.php b/libs/phpqrcode/lib/PHPQRCode/FrameFiller.php index 02e94e3f..02e94e3f 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/FrameFiller.php +++ b/libs/phpqrcode/lib/PHPQRCode/FrameFiller.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRbitstream.php b/libs/phpqrcode/lib/PHPQRCode/QRbitstream.php index 93606f13..93606f13 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRbitstream.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRbitstream.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRcode.php b/libs/phpqrcode/lib/PHPQRCode/QRcode.php index 08b60243..08b60243 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRcode.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRcode.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRencode.php b/libs/phpqrcode/lib/PHPQRCode/QRencode.php index d05ab6b7..d05ab6b7 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRencode.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRencode.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRimage.php b/libs/phpqrcode/lib/PHPQRCode/QRimage.php index 430a16f8..430a16f8 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRimage.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRimage.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRinput.php b/libs/phpqrcode/lib/PHPQRCode/QRinput.php index 8bdd21e7..8bdd21e7 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRinput.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRinput.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRinputItem.php b/libs/phpqrcode/lib/PHPQRCode/QRinputItem.php index 1e5eb18d..1e5eb18d 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRinputItem.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRinputItem.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRmask.php b/libs/phpqrcode/lib/PHPQRCode/QRmask.php index 2be76f47..2be76f47 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRmask.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRmask.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrawcode.php b/libs/phpqrcode/lib/PHPQRCode/QRrawcode.php index 25eae7c8..25eae7c8 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrawcode.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRrawcode.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrs.php b/libs/phpqrcode/lib/PHPQRCode/QRrs.php index 66f0d5e7..66f0d5e7 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrs.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRrs.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrsItem.php b/libs/phpqrcode/lib/PHPQRCode/QRrsItem.php index ce63a8c3..ce63a8c3 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrsItem.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRrsItem.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrsblock.php b/libs/phpqrcode/lib/PHPQRCode/QRrsblock.php index c1d01f22..c1d01f22 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRrsblock.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRrsblock.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRspec.php b/libs/phpqrcode/lib/PHPQRCode/QRspec.php index d6843260..d6843260 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRspec.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRspec.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRsplit.php b/libs/phpqrcode/lib/PHPQRCode/QRsplit.php index 805140a9..805140a9 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRsplit.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRsplit.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRstr.php b/libs/phpqrcode/lib/PHPQRCode/QRstr.php index 64c4bd5c..64c4bd5c 100644 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRstr.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRstr.php diff --git a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRtools.php b/libs/phpqrcode/lib/PHPQRCode/QRtools.php index 7c75a6e2..7c75a6e2 100755 --- a/vendor/aferrandini/phpqrcode/lib/PHPQRCode/QRtools.php +++ b/libs/phpqrcode/lib/PHPQRCode/QRtools.php diff --git a/vendor/fguillot/picodb/LICENSE b/libs/picodb/LICENSE index 6a362bc1..6a362bc1 100644 --- a/vendor/fguillot/picodb/LICENSE +++ b/libs/picodb/LICENSE diff --git a/libs/picodb/README.md b/libs/picodb/README.md new file mode 100644 index 00000000..722e8317 --- /dev/null +++ b/libs/picodb/README.md @@ -0,0 +1,672 @@ +PicoDb +====== + +PicoDb is a minimalist database query builder for PHP. + +Features +-------- + +- Easy to use, easy to hack, fast and very lightweight +- Supported drivers: Sqlite, Mssql, Mysql, Postgresql +- Requires only PDO +- Use prepared statements +- Handle schema migrations +- Fully unit tested on PHP 5.3, 5.4, 5.5, 5.6 and 7.0 +- License: MIT + +Requirements +------------ + +- PHP >= 5.3 +- PDO extension +- Sqlite, Mssql, Mysql or Postgresql + +Author +------ + +Frédéric Guillot + +Documentation +------------- + +### Installation + +```bash +composer require fguillot/picodb @stable +``` + +### Database connection + +#### Sqlite: + +```php +use PicoDb\Database; + +// Sqlite driver +$db = new Database(['driver' => 'sqlite', 'filename' => ':memory:']); +``` + +The Sqlite driver enable foreign keys by default. + +#### Microsoft SQL server: + +```php +// Optional attributes: +// "schema_table" (the default table name is "schema_version") + +$db = new Database([ + 'driver' => 'mssql', + 'hostname' => 'localhost', + 'username' => 'root', + 'password' => '', + 'database' => 'my_db_name', +]); +``` + +Optional attributes: + +- schema_table + +#### Mysql: + +```php +$db = new Database([ + 'driver' => 'mysql', + 'hostname' => 'localhost', + 'username' => 'root', + 'password' => '', + 'database' => 'my_db_name', + 'ssl_key' => '/path/to/client-key.pem', + 'ssl_cert' => '/path/to/client-cert.pem', + 'ssl_ca' => '/path/to/ca-cert.pem', +]); +``` + +Optional attributes: + +- charset +- schema_table +- port +- ssl_key +- ssl_cert +- ssl_key + +#### Postgres: + +```php +$db = new Database([ + 'driver' => 'postgres', + 'hostname' => 'localhost', + 'username' => 'root', + 'password' => '', + 'database' => 'my_db_name', +]); +``` + +Optional attributes: + +- port +- schema_table + +#### Connecting from an environment variable: + +Let's say you have defined an environment variable: + +```bash +export DATABASE_URL=postgres://user:pass@hostname:6212/db +``` + +PicoDb can parse automatically this URL for you: + +```php +use PicoDb\UrlParser; +use PicoDb\Database; + +$db = new Database(UrlParser::getInstance()->getSettings()); +``` + +#### Connecting from a URL + +```php +use PicoDb\UrlParser; +use PicoDb\Database; + +$db = new Database(UrlParser::getInstance()->getSettings('postgres://user:pass@hostname:6212/db')); +``` + +### Execute any SQL query + +```php +$db->execute('CREATE TABLE mytable (column1 TEXT)'); +``` + +- Returns a `PDOStatement` if successful +- Returns `false` if there is a duplicate key error +- Throws a `SQLException` for other errors + +### Insertion + +```php +$db->table('mytable')->save(['column1' => 'test']); +``` + +or + +```php +$db->table('mytable')->insert(['column1' => 'test']); +``` + +### Fetch last inserted id + +```php +$db->getLastId(); +``` + +### Transactions + +```php +$db->transaction(function ($db) { + $db->table('mytable')->save(['column1' => 'foo']); + $db->table('mytable')->save(['column1' => 'bar']); +}); +``` + +- Returns `true` if the callback returns null +- Returns the callback return value otherwise +- Throws an SQLException if something is wrong + +or + +```php +$db->startTransaction(); +// Do something... +$db->closeTransaction(); + +// Rollback +$db->cancelTransaction(); +``` + +### Fetch all data + +```php +$records = $db->table('mytable')->findAll(); + +foreach ($records as $record) { + var_dump($record['column1']); +} +``` + +### Updates + +```php +$db->table('mytable')->eq('id', 1)->save(['column1' => 'hey']); +``` + +or + +```php +$db->table('mytable')->eq('id', 1)->update(['column1' => 'hey']); +``` + +### Remove records + +```php +$db->table('mytable')->lt('column1', 10)->remove(); +``` + +### Sorting + +```php +$db->table('mytable')->asc('column1')->findAll(); +``` + +or + +```php +$db->table('mytable')->desc('column1')->findAll(); +``` + +or + +```php +$db->table('mytable')->orderBy('column1', 'ASC')->findAll(); +``` + +Multiple sorting: + +```php +$db->table('mytable')->asc('column1')->desc('column2')->findAll(); +``` + +### Limit and offset + +```php +$db->table('mytable')->limit(10)->offset(5)->findAll(); +``` + +### Fetch only some columns + +```php +$db->table('mytable')->columns('column1', 'column2')->findAll(); +``` + +### Fetch only one column + +Many rows: + +```php +$db->table('mytable')->findAllByColumn('column1'); +``` + +One row: + +```php +$db->table('mytable')->findOneColumn('column1'); +``` + +### Custom select + +```php +$db->table('mytable')->select(1)->eq('id', 42)->findOne(); +``` + +### Distinct + +```php +$db->table('mytable')->distinct('columnA')->findOne(); +``` + +### Group by + +```php +$db->table('mytable')->groupBy('columnA')->findAll(); +``` + +### Count + +```php +$db->table('mytable')->count(); +``` + +### Sum + +```php +$db->table('mytable')->sum('columnB'); +``` + +### Sum column values during update + +Add the value 42 to the existing value of the column "mycolumn": + +```php +$db->table('mytable')->sumColumn('mycolumn', 42)->update(); +``` + +### Increment column + +Increment a column value in a single query: + +```php +$db->table('mytable')->eq('another_column', 42)->increment('my_column', 2); +``` + +### Decrement column + +Decrement a column value in a single query: + +```php +$db->table('mytable')->eq('another_column', 42)->decrement('my_column', 1); +``` + +### Exists + +Returns true if a record exists otherwise false. + +```php +$db->table('mytable')->eq('column1', 12)->exists(); +``` + +### Left joins + +```php +// SELECT * FROM mytable LEFT JOIN my_other_table AS t1 ON t1.id=mytable.foreign_key +$db->table('mytable')->left('my_other_table', 't1', 'id', 'mytable', 'foreign_key')->findAll(); +``` + +or + +```php +// SELECT * FROM mytable LEFT JOIN my_other_table ON my_other_table.id=mytable.foreign_key +$db->table('mytable')->join('my_other_table', 'id', 'foreign_key')->findAll(); +``` + +### Equals condition + +```php +$db->table('mytable') + ->eq('column1', 'hey') + ->findAll(); +``` + +### IN condition + +```php +$db->table('mytable') + ->in('column1', ['hey', 'bla']) + ->findAll(); +``` + +### IN condition with subquery + +```php +$subquery = $db->table('another_table')->columns('column2')->eq('column3', 'value3'); + +$db->table('mytable') + ->columns('column_5') + ->inSubquery('column1', $subquery) + ->findAll(); +``` + +### Like condition + +Case-sensitive (only Mysql and Postgres): + +```php +$db->table('mytable') + ->like('column1', '%Foo%') + ->findAll(); +``` + +Not case-sensitive: + +```php +$db->table('mytable') + ->ilike('column1', '%foo%') + ->findAll(); +``` + +### Lower than condition + +```php +$db->table('mytable') + ->lt('column1', 2) + ->findAll(); +``` + +### Lower than or equal condition + +```php +$db->table('mytable') + ->lte('column1', 2) + ->findAll(); +``` + +### Greater than condition + +```php +$db->table('mytable') + ->gt('column1', 3) + ->findAll(); +``` + +### Greater than or equal condition + +```php +$db->table('mytable') + ->gte('column1', 3) + ->findAll(); +``` + +### IS NULL condition + +```php +$db->table('mytable') + ->isNull('column1') + ->findAll(); +``` + +### IS NOT NULL condition + +```php +$db->table('mytable') + ->notNull('column1') + ->findAll(); +``` + +### Multiple conditions + +Add conditions are joined by a `AND`. + +```php +$db->table('mytable') + ->like('column2', '%mytable') + ->gte('column1', 3) + ->findAll(); +``` + +How to make a OR condition: + +```php +$db->table('mytable') + ->beginOr() + ->like('column2', '%mytable') + ->gte('column1', 3) + ->closeOr() + ->eq('column5', 'titi') + ->findAll(); +``` + +### Debugging + +Log generated queries: + +```php +$db->getStatementHandler()->withLogging(); +``` + +Mesure each query time: + +```php +$db->getStatementHandler()->withStopWatch(); +``` + +Get the number of queries executed: + +```php +echo $db->getStatementHandler()->getNbQueries(); +``` + +Get log messages: + +```php +print_r($db->getLogMessages()); +``` + +### Large objects (LOBs) + +Insert a file: + +```php +$db->largeObject('my_table')->insertFromFile('blobColumn', '/path/to/file', array('id' => 'something')); +``` + +Insert from a stream: + +```php +$db->largeObject('my_table')->insertFromStream('blobColumn', $fd, array('id' => 'something')); +``` + +Fetch a large object as a stream (Postgres only): + +```php +$fd = $db->largeObject('my_table')->eq('id', 'something')->findOneColumnAsStream('blobColumn'); +``` + +Fetch a large object as a string: + +```php +echo $db->largeObject('my_table')->eq('id', 'something')->findOneColumnAsString('blobColumn'); +``` + +Drivers: + +- Postgres + - Column type: `bytea` +- Sqlite and Mysql + - Column type: `BLOB` + - PDO do no not supports the stream feature (returns a string instead) + +### Hashtable (key/value store) + +How to use a table as a key/value store: + +```php +$db->execute( + 'CREATE TABLE mytable ( + column1 TEXT NOT NULL UNIQUE, + column2 TEXT default NULL + )' +); + +$db->table('mytable')->insert(['column1' => 'option1', 'column2' => 'value1']); +``` + +Add/Replace some values: + +```php +$db->hashtable('mytable') + ->columnKey('column1') + ->columnValue('column2') + ->put(['option1' => 'new value', 'option2' => 'value2'])); +``` + +Get all values: + +```php +$result = $db->hashtable('mytable')->columnKey('column1')->columnValue('column2')->get(); +print_r($result); + +Array +( + [option2] => value2 + [option1] => new value +) +``` + +or + +```php +$result = $db->hashtable('mytable')->getAll('column1', 'column2'); +``` + +Get a specific value: + +```php +$db->hashtable('mytable') + ->columnKey('column1') + ->columnValue('column2') + ->put(['option3' => 'value3']); + +$result = $db->hashtable('mytable') + ->columnKey('column1') + ->columnValue('column2') + ->get('option1', 'option3'); + +print_r($result); + +Array +( + [option1] => new value + [option3] => value3 +) +``` + +### Schema migrations + +#### Define a migration + +- Migrations are defined in simple functions inside a namespace named "Schema". +- An instance of PDO is passed to first argument of the function. +- Function names has the version number at the end. + +Example: + +```php +namespace Schema; + +function version_1($pdo) +{ + $pdo->exec(' + CREATE TABLE users ( + id INTEGER PRIMARY KEY, + name TEXT UNIQUE, + email TEXT UNIQUE, + password TEXT + ) + '); +} + + +function version_2($pdo) +{ + $pdo->exec(' + CREATE TABLE tags ( + id INTEGER PRIMARY KEY, + name TEXT UNIQUE + ) + '); +} +``` + +#### Run schema update automatically + +- The method `check()` execute all migrations until the version specified +- If an error occurs, the transaction is rollbacked +- Foreign keys checks are disabled if possible during the migration + +Example: + +```php +$last_schema_version = 5; + +$db = new PicoDb\Database(array( + 'driver' => 'sqlite', + 'filename' => '/tmp/mydb.sqlite' +)); + +if ($db->schema()->check($last_schema_version)) { + + // Do something... +} +else { + + die('Unable to migrate database schema.'); +} +``` + +### Use a singleton to handle database instances + +Setup a new instance: + +```php +PicoDb\Database::setInstance('myinstance', function() { + + $db = new PicoDb\Database(array( + 'driver' => 'sqlite', + 'filename' => DB_FILENAME + )); + + if ($db->schema()->check(DB_VERSION)) { + return $db; + } + else { + die('Unable to migrate database schema.'); + } +}); +``` + +Get this instance anywhere in your code: + +```php +PicoDb\Database::getInstance('myinstance')->table(...) +``` diff --git a/vendor/fguillot/picodb/lib/PicoDb/Builder/BaseBuilder.php b/libs/picodb/lib/PicoDb/Builder/BaseBuilder.php index e075ae3c..e075ae3c 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Builder/BaseBuilder.php +++ b/libs/picodb/lib/PicoDb/Builder/BaseBuilder.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Builder/ConditionBuilder.php b/libs/picodb/lib/PicoDb/Builder/ConditionBuilder.php index b0465b6e..b0465b6e 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Builder/ConditionBuilder.php +++ b/libs/picodb/lib/PicoDb/Builder/ConditionBuilder.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Builder/InsertBuilder.php b/libs/picodb/lib/PicoDb/Builder/InsertBuilder.php index 9d06c405..9d06c405 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Builder/InsertBuilder.php +++ b/libs/picodb/lib/PicoDb/Builder/InsertBuilder.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Builder/OrConditionBuilder.php b/libs/picodb/lib/PicoDb/Builder/OrConditionBuilder.php index 0defeaf4..0defeaf4 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Builder/OrConditionBuilder.php +++ b/libs/picodb/lib/PicoDb/Builder/OrConditionBuilder.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Builder/UpdateBuilder.php b/libs/picodb/lib/PicoDb/Builder/UpdateBuilder.php index 300ea9b0..300ea9b0 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Builder/UpdateBuilder.php +++ b/libs/picodb/lib/PicoDb/Builder/UpdateBuilder.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Database.php b/libs/picodb/lib/PicoDb/Database.php index 22c9d2fb..22c9d2fb 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Database.php +++ b/libs/picodb/lib/PicoDb/Database.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Driver/Base.php b/libs/picodb/lib/PicoDb/Driver/Base.php index 790cd623..790cd623 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Driver/Base.php +++ b/libs/picodb/lib/PicoDb/Driver/Base.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php b/libs/picodb/lib/PicoDb/Driver/Mssql.php index 83e75af2..83e75af2 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Driver/Mssql.php +++ b/libs/picodb/lib/PicoDb/Driver/Mssql.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Driver/Mysql.php b/libs/picodb/lib/PicoDb/Driver/Mysql.php index 17f44057..7e5cce0a 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Driver/Mysql.php +++ b/libs/picodb/lib/PicoDb/Driver/Mysql.php @@ -110,6 +110,10 @@ class Mysql extends Base $options[PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT] = $settings['verify_server_cert']; } + if (! empty($settings['case'])) { + $options[PDO::ATTR_CASE] = $settings['case']; + } + return $options; } diff --git a/vendor/fguillot/picodb/lib/PicoDb/Driver/Postgres.php b/libs/picodb/lib/PicoDb/Driver/Postgres.php index 86036839..86036839 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Driver/Postgres.php +++ b/libs/picodb/lib/PicoDb/Driver/Postgres.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php b/libs/picodb/lib/PicoDb/Driver/Sqlite.php index 0503d336..0503d336 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php +++ b/libs/picodb/lib/PicoDb/Driver/Sqlite.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/DriverFactory.php b/libs/picodb/lib/PicoDb/DriverFactory.php index 13151ba7..13151ba7 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/DriverFactory.php +++ b/libs/picodb/lib/PicoDb/DriverFactory.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Hashtable.php b/libs/picodb/lib/PicoDb/Hashtable.php index 17afd0e6..17afd0e6 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Hashtable.php +++ b/libs/picodb/lib/PicoDb/Hashtable.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/LargeObject.php b/libs/picodb/lib/PicoDb/LargeObject.php index ba5e3b92..ba5e3b92 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/LargeObject.php +++ b/libs/picodb/lib/PicoDb/LargeObject.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/SQLException.php b/libs/picodb/lib/PicoDb/SQLException.php index 7e570834..7e570834 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/SQLException.php +++ b/libs/picodb/lib/PicoDb/SQLException.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Schema.php b/libs/picodb/lib/PicoDb/Schema.php index a0280368..a0280368 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Schema.php +++ b/libs/picodb/lib/PicoDb/Schema.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/StatementHandler.php b/libs/picodb/lib/PicoDb/StatementHandler.php index d0cdaa49..d0cdaa49 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/StatementHandler.php +++ b/libs/picodb/lib/PicoDb/StatementHandler.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/Table.php b/libs/picodb/lib/PicoDb/Table.php index 404b5cbe..404b5cbe 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/Table.php +++ b/libs/picodb/lib/PicoDb/Table.php diff --git a/vendor/fguillot/picodb/lib/PicoDb/UrlParser.php b/libs/picodb/lib/PicoDb/UrlParser.php index d8fcaf00..d8fcaf00 100644 --- a/vendor/fguillot/picodb/lib/PicoDb/UrlParser.php +++ b/libs/picodb/lib/PicoDb/UrlParser.php diff --git a/libs/picodb/phpunit.xml b/libs/picodb/phpunit.xml new file mode 100644 index 00000000..77298d47 --- /dev/null +++ b/libs/picodb/phpunit.xml @@ -0,0 +1,30 @@ +<phpunit + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.5/phpunit.xsd" + colors="true" + stopOnError="true" + stopOnFailure="true"> + <testsuites> + <testsuite name="sqlite"> + <file>tests/UrlParserTest.php</file> + <file>tests/SqliteDriverTest.php</file> + <file>tests/SqliteDatabaseTest.php</file> + <file>tests/SqliteSchemaTest.php</file> + <file>tests/SqliteTableTest.php</file> + </testsuite> + <testsuite name="mysql"> + <file>tests/UrlParserTest.php</file> + <file>tests/MysqlDriverTest.php</file> + <file>tests/MysqlDatabaseTest.php</file> + <file>tests/MysqlSchemaTest.php</file> + <file>tests/MysqlTableTest.php</file> + </testsuite> + <testsuite name="postgres"> + <file>tests/UrlParserTest.php</file> + <file>tests/PostgresDriverTest.php</file> + <file>tests/PostgresDatabaseTest.php</file> + <file>tests/PostgresSchemaTest.php</file> + <file>tests/PostgresTableTest.php</file> + </testsuite> + </testsuites> +</phpunit> diff --git a/libs/picodb/tests/AlternativeSchemaFixture.php b/libs/picodb/tests/AlternativeSchemaFixture.php new file mode 100644 index 00000000..bebcf137 --- /dev/null +++ b/libs/picodb/tests/AlternativeSchemaFixture.php @@ -0,0 +1,15 @@ +<?php + +namespace AlternativeSchema; + +use PDO; + +function version_1(PDO $pdo) +{ + $pdo->exec('CREATE TABLE test1 (column1 TEXT)'); +} + +function version_2(PDO $pdo) +{ + $pdo->exec('CREATE TABLE test2 (column2 TEXT)'); +} diff --git a/libs/picodb/tests/MysqlDatabaseTest.php b/libs/picodb/tests/MysqlDatabaseTest.php new file mode 100644 index 00000000..bd819dd9 --- /dev/null +++ b/libs/picodb/tests/MysqlDatabaseTest.php @@ -0,0 +1,101 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; + +class MysqlDatabaseTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'mysql', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'picodb')); + $this->db->getConnection()->exec('CREATE DATABASE IF NOT EXISTS `picodb`'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS foobar'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function testEscapeIdentifer() + { + $this->assertEquals('`a`', $this->db->escapeIdentifier('a')); + $this->assertEquals('a.b', $this->db->escapeIdentifier('a.b')); + $this->assertEquals('`c`.`a`', $this->db->escapeIdentifier('a', 'c')); + $this->assertEquals('a.b', $this->db->escapeIdentifier('a.b', 'c')); + $this->assertEquals('SELECT COUNT(*) FROM test', $this->db->escapeIdentifier('SELECT COUNT(*) FROM test')); + $this->assertEquals('SELECT COUNT(*) FROM test', $this->db->escapeIdentifier('SELECT COUNT(*) FROM test', 'b')); + } + + public function testEscapeIdentiferList() + { + $this->assertEquals(array('`c`.`a`', '`c`.`b`'), $this->db->escapeIdentifierList(array('a', 'b'), 'c')); + $this->assertEquals(array('`a`', 'd.b'), $this->db->escapeIdentifierList(array('a', 'd.b'))); + } + + public function testThatPreparedStatementWorks() + { + $this->db->getConnection()->exec('CREATE TABLE foobar (id INT AUTO_INCREMENT NOT NULL, something TEXT, PRIMARY KEY (id)) ENGINE=InnoDB'); + $this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + $this->assertEquals(1, $this->db->getLastId()); + $this->assertEquals('a', $this->db->execute('SELECT something FROM foobar WHERE something=?', array('a'))->fetchColumn()); + } + + /** + * @expectedException PicoDb\SQLException + */ + public function testBadSQLQuery() + { + $this->db->execute('INSERT INTO foobar'); + } + + public function testDuplicateKey() + { + $this->db->getConnection()->exec('CREATE TABLE foobar (something CHAR(1) UNIQUE) ENGINE=InnoDB'); + + $this->assertNotFalse($this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a'))); + $this->assertFalse($this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a'))); + + $this->assertEquals(1, $this->db->execute('SELECT COUNT(*) FROM foobar WHERE something=?', array('a'))->fetchColumn()); + } + + public function testThatTransactionReturnsAValue() + { + $this->assertEquals('a', $this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something CHAR(1) UNIQUE) ENGINE=InnoDB'); + $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + + return $db->execute('SELECT something FROM foobar WHERE something=?', array('a'))->fetchColumn(); + })); + } + + public function testThatTransactionReturnsTrue() + { + $this->assertTrue($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something CHAR(1) UNIQUE) ENGINE=InnoDB'); + $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + })); + } + + /** + * @expectedException PicoDb\SQLException + */ + public function testThatTransactionThrowExceptionWhenRollbacked() + { + $this->assertFalse($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABL'); + })); + } + + public function testThatTransactionReturnsFalseWhithDuplicateKey() + { + $this->assertFalse($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something CHAR(1) UNIQUE) ENGINE=InnoDB'); + $r1 = $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + $r2 = $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + return $r1 && $r2; + })); + } +} diff --git a/libs/picodb/tests/MysqlDriverTest.php b/libs/picodb/tests/MysqlDriverTest.php new file mode 100644 index 00000000..2666a993 --- /dev/null +++ b/libs/picodb/tests/MysqlDriverTest.php @@ -0,0 +1,73 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Driver\Mysql; + +class MysqlDriverTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Driver\Mysql + */ + private $driver; + + public function setUp() + { + $this->driver = new Mysql(array('hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'picodb')); + $this->driver->getConnection()->exec('CREATE DATABASE IF NOT EXISTS `picodb`'); + $this->driver->getConnection()->exec('DROP TABLE IF EXISTS foobar'); + $this->driver->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + /** + * @expectedException LogicException + */ + public function testMissingRequiredParameter() + { + new Mysql(array()); + } + + public function testDuplicateKeyError() + { + $this->assertFalse($this->driver->isDuplicateKeyError(1234)); + $this->assertTrue($this->driver->isDuplicateKeyError(23000)); + } + + public function testOperator() + { + $this->assertEquals('LIKE BINARY', $this->driver->getOperator('LIKE')); + $this->assertEquals('LIKE', $this->driver->getOperator('ILIKE')); + $this->assertEquals('', $this->driver->getOperator('FOO')); + } + + public function testSchemaVersion() + { + $this->assertEquals(0, $this->driver->getSchemaVersion()); + + $this->driver->setSchemaVersion(1); + $this->assertEquals(1, $this->driver->getSchemaVersion()); + + $this->driver->setSchemaVersion(42); + $this->assertEquals(42, $this->driver->getSchemaVersion()); + } + + public function testLastInsertId() + { + $this->assertEquals(0, $this->driver->getLastId()); + + $this->driver->getConnection()->exec('CREATE TABLE foobar (id INT AUTO_INCREMENT NOT NULL, something TEXT, PRIMARY KEY (id)) ENGINE=InnoDB'); + $this->driver->getConnection()->exec('INSERT INTO foobar (something) VALUES (1)'); + + $this->assertEquals(1, $this->driver->getLastId()); + } + + public function testEscape() + { + $this->assertEquals('`foobar`', $this->driver->escape('foobar')); + } + + public function testDatabaseVersion() + { + $this->assertStringStartsWith('5.', $this->driver->getDatabaseVersion()); + } +} diff --git a/libs/picodb/tests/MysqlLobTest.php b/libs/picodb/tests/MysqlLobTest.php new file mode 100644 index 00000000..1291d422 --- /dev/null +++ b/libs/picodb/tests/MysqlLobTest.php @@ -0,0 +1,83 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +class MysqlLobTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new PicoDb\Database(array('driver' => 'mysql', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'picodb')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS large_objects'); + $this->db->getConnection()->exec('CREATE TABLE large_objects (id VARCHAR(20), file_content BLOB)'); + $this->db->getStatementHandler()->withLogging(); + } + + public function testInsert() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + } + + public function testInsertFromString() + { + $data = 'test'; + $result = $this->db->largeObject('large_objects')->insertFromString('file_content', $data, array('id' => 'test')); + $this->assertTrue($result); + } + + public function testInsertWithOptionalParams() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__); + $this->assertTrue($result); + } + + public function testFindOneColumnAsStream() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test')->findOneColumnAsStream('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + } + + public function testFindOneColumnAsString() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + } + + public function testUpdate() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test1')); + $this->assertTrue($result); + + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test2')); + $this->assertTrue($result); + + $result = $this->db->largeObject('large_objects')->eq('id', 'test1')->updateFromFile('file_content', __DIR__.'/../LICENSE'); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test1')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../LICENSE')), md5($contents)); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test2')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + + $result = $this->db->largeObject('large_objects')->updateFromFile('file_content', __DIR__.'/../composer.json'); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test1')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../composer.json')), md5($contents)); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test2')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../composer.json')), md5($contents)); + } +} diff --git a/libs/picodb/tests/MysqlSchemaTest.php b/libs/picodb/tests/MysqlSchemaTest.php new file mode 100644 index 00000000..4eeee0b9 --- /dev/null +++ b/libs/picodb/tests/MysqlSchemaTest.php @@ -0,0 +1,49 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; +require_once __DIR__.'/SchemaFixture.php'; +require_once __DIR__.'/AlternativeSchemaFixture.php'; + +class MysqlSchemaTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new PicoDb\Database(array('driver' => 'mysql', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'picodb')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test1'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test2'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function testMigrations() + { + $this->assertTrue($this->db->schema()->check(2)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + $this->assertEquals('\Schema', $this->db->schema()->getNamespace()); + } + + public function testFailedMigrations() + { + $this->assertEquals(0, $this->db->getDriver()->getSchemaVersion()); + $this->assertFalse($this->db->schema()->check(3)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + + $logs = $this->db->getLogMessages(); + $this->assertNotEmpty($logs); + $this->assertEquals('Running migration \Schema\version_1', $logs[0]); + $this->assertEquals('Running migration \Schema\version_2', $logs[1]); + $this->assertEquals('Running migration \Schema\version_3', $logs[2]); + $this->assertStringStartsWith('SQLSTATE[42000]: Syntax error or access violation', $logs[3]); + } + + public function testAlternativeSchemaNamespace() + { + $this->assertEquals('\AlternativeSchema', $this->db->schema('\AlternativeSchema')->getNamespace()); + $this->assertTrue($this->db->schema('\AlternativeSchema')->check(2)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + } +} diff --git a/libs/picodb/tests/MysqlTableTest.php b/libs/picodb/tests/MysqlTableTest.php new file mode 100644 index 00000000..62c1730a --- /dev/null +++ b/libs/picodb/tests/MysqlTableTest.php @@ -0,0 +1,356 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; +use PicoDb\Table; + +class MysqlTableTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'mysql', 'hostname' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'picodb')); + $this->db->getConnection()->exec('CREATE DATABASE IF NOT EXISTS `picodb`'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test1'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test2'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS foobar'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS foobar_persist'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function testSelect() + { + $this->assertEquals('SELECT 1 FROM `test`', $this->db->table('test')->select(1)->buildSelectQuery()); + } + + public function testColumns() + { + $this->assertEquals('SELECT `a`, `b` FROM `test`', $this->db->table('test')->columns('a', 'b')->buildSelectQuery()); + } + + public function testDistinct() + { + $this->assertEquals('SELECT DISTINCT `a`, `b` FROM `test`', $this->db->table('test')->distinct('a', 'b')->buildSelectQuery()); + } + + public function testGroupBy() + { + $this->assertEquals('SELECT * FROM `test` GROUP BY `a`', $this->db->table('test')->groupBy('a')->buildSelectQuery()); + } + + public function testOrderBy() + { + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` ASC', $this->db->table('test')->asc('a')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` ASC', $this->db->table('test')->orderBy('a', Table::SORT_ASC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` DESC', $this->db->table('test')->desc('a')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` DESC', $this->db->table('test')->orderBy('a', Table::SORT_DESC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` ASC, `b` ASC', $this->db->table('test')->asc('a')->asc('b')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` DESC, `b` DESC', $this->db->table('test')->desc('a')->desc('b')->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` ASC, `b` ASC', $this->db->table('test')->orderBy('a')->orderBy('b')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` DESC, `b` DESC', $this->db->table('test')->orderBy('a', Table::SORT_DESC)->orderBy('b', Table::SORT_DESC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM `test` ORDER BY `a` DESC, `b` ASC', $this->db->table('test')->desc('a')->asc('b')->buildSelectQuery()); + } + + public function testLimit() + { + $this->assertEquals('SELECT * FROM `test` LIMIT 10', $this->db->table('test')->limit(10)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test`', $this->db->table('test')->limit(null)->buildSelectQuery()); + } + + public function testOffset() + { + $this->assertEquals('SELECT * FROM `test` OFFSET 0', $this->db->table('test')->offset(0)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test` OFFSET 10', $this->db->table('test')->offset(10)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test`', $this->db->table('test')->limit(null)->buildSelectQuery()); + } + + public function testLimitOffset() + { + $this->assertEquals('SELECT * FROM `test` LIMIT 2 OFFSET 0', $this->db->table('test')->offset(0)->limit(2)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM `test` LIMIT 5 OFFSET 10', $this->db->table('test')->offset(10)->limit(5)->buildSelectQuery()); + } + + public function testSubquery() + { + $this->assertEquals('SELECT (SELECT 1 FROM "foobar" WHERE 1=1) AS `b` FROM `test`', $this->db->table('test')->subquery('SELECT 1 FROM "foobar" WHERE 1=1', 'b')->buildSelectQuery()); + } + + public function testConditionEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` = ? AND `b` = ?', $table->eq('a', 2)->eq('b', 'foobar')->buildSelectQuery()); + $this->assertEquals(array(2, 'foobar'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` != ?', $table->neq('a', 2)->buildSelectQuery()); + $this->assertEquals(array(2), $table->getConditionBuilder()->getValues()); + } + + public function testConditionIn() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` IN (?, ?)', $table->in('a', array('b', 'c'))->buildSelectQuery()); + $this->assertEquals(array('b', 'c'), $table->getConditionBuilder()->getValues()); + + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test`', $table->in('a', array())->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testConditionInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM `test` WHERE `a` IN (SELECT `c` FROM `test2` WHERE `d` = ?)', + $table->inSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotIn() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` NOT IN (?, ?)', $table->notIn('a', array('b', 'c'))->buildSelectQuery()); + $this->assertEquals(array('b', 'c'), $table->getConditionBuilder()->getValues()); + + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test`', $table->notIn('a', array())->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM `test` WHERE `a` NOT IN (SELECT `c` FROM `test2` WHERE `d` = ?)', + $table->notInSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLike() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` LIKE BINARY ?', $table->like('a', '%foobar%')->buildSelectQuery()); + $this->assertEquals(array('%foobar%'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionILike() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` LIKE ?', $table->ilike('a', '%foobar%')->buildSelectQuery()); + $this->assertEquals(array('%foobar%'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThan() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` > ?', $table->gt('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThanOrEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` >= ?', $table->gte('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThan() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` < ?', $table->lt('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThanOrEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` <= ?', $table->lte('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionIsNull() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` IS NOT NULL', $table->notNull('a')->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testCustomCondition() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE a=c AND `b` = ?', $table->addCondition('a=c')->eq('b', 4)->buildSelectQuery()); + $this->assertEquals(array(4), $table->getConditionBuilder()->getValues()); + } + + public function testOrConditions() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM `test` WHERE `a` IS NOT NULL AND (`b` = ? OR `c` >= ?)', $table->notNull('a')->beginOr()->eq('b', 2)->gte('c', 5)->closeOr()->buildSelectQuery()); + $this->assertEquals(array(2, 5), $table->getConditionBuilder()->getValues()); + } + + public function testPersist() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar_persist (id INT NOT NULL AUTO_INCREMENT, a VARCHAR(10), PRIMARY KEY(id))')); + $this->assertSame(1, $this->db->table('foobar_persist')->persist(array('a' => 'b'))); + } + + public function testInsertUpdate() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a TEXT)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'b'))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'c'))); + + $this->assertEquals(array(array('a' => 'b'), array('a' => 'c')), $this->db->table('foobar')->findAll()); + + $this->assertEquals(array('b', 'c'), $this->db->table('foobar')->findAllByColumn('a')); + + $this->assertEquals(array('a' => 'b'), $this->db->table('foobar')->findOne()); + + $this->assertEquals('b', $this->db->table('foobar')->findOneColumn('a')); + + $this->assertTrue($this->db->table('foobar')->exists()); + $this->assertTrue($this->db->table('foobar')->eq('a', 'c')->exists()); + $this->assertFalse($this->db->table('foobar')->eq('a', 'e')->exists()); + + $this->assertEquals(2, $this->db->table('foobar')->count()); + $this->assertEquals(1, $this->db->table('foobar')->eq('a', 'c')->count()); + $this->assertEquals(0, $this->db->table('foobar')->eq('a', 'e')->count()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'c')->remove()); + $this->assertFalse($this->db->table('foobar')->eq('a', 'e')->remove()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'b')->update(array('a' => 'test'))); + $this->assertTrue($this->db->table('foobar')->eq('a', 'lol')->update(array('a' => 'test'))); + + $this->assertNotEmpty($this->db->table('foobar')->eq('a', 'test')->findOne()); + $this->assertNull($this->db->table('foobar')->eq('a', 'lol')->findOne()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'test')->save(array('a' => 'plop'))); + $this->assertEquals(1, $this->db->table('foobar')->count()); + } + + public function testSumColumn() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (b FLOAT, c FLOAT)')); + $this->assertTrue($this->db->table('foobar')->insert(array('b' => 2, 'c' => 3.3))); + + $this->assertTrue($this->db->table('foobar')->sumColumn('b', 2.5)->sumColumn('c', 3)->update()); + + $this->assertEquals( + array('b' => 4.5, 'c' => 6.3), + $this->db->table('foobar')->findOne() + ); + } + + public function testSum() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a INTEGER)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 2))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 5))); + $this->assertEquals(7, $this->db->table('foobar')->sum('a')); + } + + public function testIncrement() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a INTEGER DEFAULT 0, b INTEGER DEFAULT 0)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 2, 'b' => 5))); + $this->assertTrue($this->db->table('foobar')->eq('b', 5)->increment('a', 3)); + $this->assertEquals(5, $this->db->table('foobar')->findOneColumn('a')); + } + + public function testLeftJoin() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE test1 (a INTEGER NOT NULL, foreign_key INTEGER NOT NULL)')); + $this->assertNotFalse($this->db->execute('CREATE TABLE test2 (id INTEGER NOT NULL, b INTEGER NOT NULL)')); + + $this->assertTrue($this->db->table('test2')->insert(array('id' => 42, 'b' => 2))); + $this->assertTrue($this->db->table('test1')->insert(array('a' => 18, 'foreign_key' => 42))); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test2')->columns('a', 'b')->eq('a', 18)->left('test1', 't1', 'foreign_key', 'test2', 'id')->findOne() + ); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test2')->columns('a', 'b')->eq('a', 18)->join('test1', 'foreign_key', 'id')->findOne() + ); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test1')->columns('a', 'b')->join('test2', 'id', 'foreign_key')->findOne() + ); + } + + public function testHashTable() + { + $this->assertNotFalse($this->db->execute( + 'CREATE TABLE foobar ( + column1 VARCHAR(20) NOT NULL UNIQUE, + column2 VARCHAR(20) default NULL + )' + )); + + $this->assertTrue($this->db->table('foobar')->insert(array('column1' => 'option1', 'column2' => 'value1'))); + $this->assertTrue($this->db->table('foobar')->insert(array('column1' => 'option2', 'column2' => 'value2'))); + $this->assertTrue($this->db->table('foobar')->insert(array('column1' => 'option3', 'column2' => 'value3'))); + + $values = array( + 'option1' => 'hey', + 'option4' => 'ho', + ); + + $this->assertTrue($this->db->hashtable('foobar')->columnKey('column1')->columnValue('column2')->put($values)); + + $this->assertEquals( + array('option2' => 'value2', 'option4' => 'ho'), + $this->db->hashtable('foobar')->columnKey('column1')->columnValue('column2')->get('option2', 'option4') + ); + + $this->assertEquals( + array('option2' => 'value2', 'option3' => 'value3', 'option1' => 'hey', 'option4' => 'ho'), + $this->db->hashtable('foobar')->columnKey('column1')->columnValue('column2')->get() + ); + + $this->assertEquals( + array('option2' => 'value2', 'option3' => 'value3', 'option1' => 'hey', 'option4' => 'ho'), + $this->db->hashtable('foobar')->getAll('column1', 'column2') + ); + } +} diff --git a/libs/picodb/tests/PostgresDatabaseTest.php b/libs/picodb/tests/PostgresDatabaseTest.php new file mode 100644 index 00000000..d0d8a644 --- /dev/null +++ b/libs/picodb/tests/PostgresDatabaseTest.php @@ -0,0 +1,100 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; + +class PostgresDatabaseTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'postgres', 'hostname' => 'localhost', 'username' => 'postgres', 'password' => '', 'database' => 'picodb')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS foobar'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function testEscapeIdentifer() + { + $this->assertEquals('"a"', $this->db->escapeIdentifier('a')); + $this->assertEquals('a.b', $this->db->escapeIdentifier('a.b')); + $this->assertEquals('"c"."a"', $this->db->escapeIdentifier('a', 'c')); + $this->assertEquals('a.b', $this->db->escapeIdentifier('a.b', 'c')); + $this->assertEquals('SELECT COUNT(*) FROM test', $this->db->escapeIdentifier('SELECT COUNT(*) FROM test')); + $this->assertEquals('SELECT COUNT(*) FROM test', $this->db->escapeIdentifier('SELECT COUNT(*) FROM test', 'b')); + } + + public function testEscapeIdentiferList() + { + $this->assertEquals(array('"c"."a"', '"c"."b"'), $this->db->escapeIdentifierList(array('a', 'b'), 'c')); + $this->assertEquals(array('"a"', 'd.b'), $this->db->escapeIdentifierList(array('a', 'd.b'))); + } + + public function testThatPreparedStatementWorks() + { + $this->db->getConnection()->exec('CREATE TABLE foobar (id serial PRIMARY KEY, something TEXT)'); + $this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + $this->assertEquals(1, $this->db->getLastId()); + $this->assertEquals('a', $this->db->execute('SELECT something FROM foobar WHERE something=?', array('a'))->fetchColumn()); + } + + /** + * @expectedException PicoDb\SQLException + */ + public function testBadSQLQuery() + { + $this->db->execute('INSERT INTO foobar'); + } + + public function testDuplicateKey() + { + $this->db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + + $this->assertNotFalse($this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a'))); + $this->assertFalse($this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a'))); + + $this->assertEquals(1, $this->db->execute('SELECT COUNT(*) FROM foobar WHERE something=?', array('a'))->fetchColumn()); + } + + public function testThatTransactionReturnsAValue() + { + $this->assertEquals('a', $this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + + return $db->execute('SELECT something FROM foobar WHERE something=?', array('a'))->fetchColumn(); + })); + } + + public function testThatTransactionReturnsTrue() + { + $this->assertTrue($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + })); + } + + /** + * @expectedException PicoDb\SQLException + */ + public function testThatTransactionThrowExceptionWhenRollbacked() + { + $this->assertFalse($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABL'); + })); + } + + public function testThatTransactionReturnsFalseWhithDuplicateKey() + { + $this->assertFalse($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + $r1 = $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + $r2 = $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + return $r1 && $r2; + })); + } +} diff --git a/libs/picodb/tests/PostgresDriverTest.php b/libs/picodb/tests/PostgresDriverTest.php new file mode 100644 index 00000000..9798042b --- /dev/null +++ b/libs/picodb/tests/PostgresDriverTest.php @@ -0,0 +1,78 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Driver\Postgres; + +class PostgresDriverTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Driver\Postgres + */ + private $driver; + + public function setUp() + { + $this->driver = new Postgres(array('hostname' => 'localhost', 'username' => 'postgres', 'password' => 'postgres', 'database' => 'picodb')); + $this->driver->getConnection()->exec('DROP TABLE IF EXISTS foobar'); + $this->driver->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function tearDown() + { + $this->driver->closeConnection(); + } + + /** + * @expectedException LogicException + */ + public function testMissingRequiredParameter() + { + new Postgres(array()); + } + + public function testDuplicateKeyError() + { + $this->assertFalse($this->driver->isDuplicateKeyError(1234)); + $this->assertTrue($this->driver->isDuplicateKeyError(23505)); + $this->assertTrue($this->driver->isDuplicateKeyError(23503)); + } + + public function testOperator() + { + $this->assertEquals('LIKE', $this->driver->getOperator('LIKE')); + $this->assertEquals('ILIKE', $this->driver->getOperator('ILIKE')); + $this->assertEquals('', $this->driver->getOperator('FOO')); + } + + public function testSchemaVersion() + { + $this->assertEquals(0, $this->driver->getSchemaVersion()); + + $this->driver->setSchemaVersion(1); + $this->assertEquals(1, $this->driver->getSchemaVersion()); + + $this->driver->setSchemaVersion(42); + $this->assertEquals(42, $this->driver->getSchemaVersion()); + } + + public function testLastInsertId() + { + $this->assertEquals(0, $this->driver->getLastId()); + + $this->driver->getConnection()->exec('CREATE TABLE foobar (id serial PRIMARY KEY, something TEXT)'); + $this->driver->getConnection()->exec('INSERT INTO foobar (something) VALUES (1)'); + + $this->assertEquals(1, $this->driver->getLastId()); + } + + public function testEscape() + { + $this->assertEquals('"foobar"', $this->driver->escape('foobar')); + } + + public function testDatabaseVersion() + { + $this->assertStringStartsWith('9.', $this->driver->getDatabaseVersion()); + } +} diff --git a/libs/picodb/tests/PostgresLobTest.php b/libs/picodb/tests/PostgresLobTest.php new file mode 100644 index 00000000..39cf8fb0 --- /dev/null +++ b/libs/picodb/tests/PostgresLobTest.php @@ -0,0 +1,87 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; + +class PostgresLobTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'postgres', 'hostname' => 'localhost', 'username' => 'postgres', 'password' => 'postgres', 'database' => 'picodb')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS large_objects'); + $this->db->getConnection()->exec('CREATE TABLE large_objects (id VARCHAR(20), file_content bytea)'); + } + + public function testInsert() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + } + + public function testInsertFromString() + { + $data = 'test'; + $result = $this->db->largeObject('large_objects')->insertFromString('file_content', $data, array('id' => 'test')); + $this->assertTrue($result); + } + + public function testInsertWithOptionalParams() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__); + $this->assertTrue($result); + } + + public function testFindOneColumnAsStream() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + + $fd = $this->db->largeObject('large_objects')->eq('id', 'test')->findOneColumnAsStream('file_content'); + $contents = fread($fd, filesize(__FILE__)); + fclose($fd); + + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + } + + public function testFindOneColumnAsString() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + } + + public function testUpdate() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test1')); + $this->assertTrue($result); + + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test2')); + $this->assertTrue($result); + + $result = $this->db->largeObject('large_objects')->eq('id', 'test1')->updateFromFile('file_content', __DIR__.'/../LICENSE'); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test1')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../LICENSE')), md5($contents)); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test2')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + + $result = $this->db->largeObject('large_objects')->updateFromFile('file_content', __DIR__.'/../composer.json'); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test1')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../composer.json')), md5($contents)); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test2')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../composer.json')), md5($contents)); + } +} diff --git a/libs/picodb/tests/PostgresSchemaTest.php b/libs/picodb/tests/PostgresSchemaTest.php new file mode 100644 index 00000000..5ecf1cc5 --- /dev/null +++ b/libs/picodb/tests/PostgresSchemaTest.php @@ -0,0 +1,40 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; +require_once __DIR__.'/SchemaFixture.php'; + +class PostgresSchemaTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new PicoDb\Database(array('driver' => 'postgres', 'hostname' => 'localhost', 'username' => 'postgres', 'password' => 'postgres', 'database' => 'picodb')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test1'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test2'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function testMigrations() + { + $this->assertTrue($this->db->schema()->check(2)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + } + + public function testFailedMigrations() + { + $this->assertEquals(0, $this->db->getDriver()->getSchemaVersion()); + $this->assertFalse($this->db->schema()->check(3)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + + $logs = $this->db->getLogMessages(); + $this->assertNotEmpty($logs); + $this->assertEquals('Running migration \Schema\version_1', $logs[0]); + $this->assertEquals('Running migration \Schema\version_2', $logs[1]); + $this->assertEquals('Running migration \Schema\version_3', $logs[2]); + $this->assertStringStartsWith('SQLSTATE[42601]: Syntax error', $logs[3]); + } +} diff --git a/libs/picodb/tests/PostgresTableTest.php b/libs/picodb/tests/PostgresTableTest.php new file mode 100644 index 00000000..dc852adf --- /dev/null +++ b/libs/picodb/tests/PostgresTableTest.php @@ -0,0 +1,355 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; +use PicoDb\Table; + +class PostgresTableTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'postgres', 'hostname' => 'localhost', 'username' => 'postgres', 'password' => 'postgres', 'database' => 'picodb')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test1'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS test2'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS foobar'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS foobar_persist'); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS schema_version'); + } + + public function testSelect() + { + $this->assertEquals('SELECT 1 FROM "test"', $this->db->table('test')->select(1)->buildSelectQuery()); + } + + public function testColumns() + { + $this->assertEquals('SELECT "a", "b" FROM "test"', $this->db->table('test')->columns('a', 'b')->buildSelectQuery()); + } + + public function testDistinct() + { + $this->assertEquals('SELECT DISTINCT "a", "b" FROM "test"', $this->db->table('test')->distinct('a', 'b')->buildSelectQuery()); + } + + public function testGroupBy() + { + $this->assertEquals('SELECT * FROM "test" GROUP BY "a"', $this->db->table('test')->groupBy('a')->buildSelectQuery()); + } + + public function testOrderBy() + { + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC', $this->db->table('test')->asc('a')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC', $this->db->table('test')->orderBy('a', Table::SORT_ASC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC', $this->db->table('test')->desc('a')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC', $this->db->table('test')->orderBy('a', Table::SORT_DESC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC, "b" ASC', $this->db->table('test')->asc('a')->asc('b')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC, "b" DESC', $this->db->table('test')->desc('a')->desc('b')->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC, "b" ASC', $this->db->table('test')->orderBy('a')->orderBy('b')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC, "b" DESC', $this->db->table('test')->orderBy('a', Table::SORT_DESC)->orderBy('b', Table::SORT_DESC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC, "b" ASC', $this->db->table('test')->desc('a')->asc('b')->buildSelectQuery()); + } + + public function testLimit() + { + $this->assertEquals('SELECT * FROM "test" LIMIT 10', $this->db->table('test')->limit(10)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test"', $this->db->table('test')->limit(null)->buildSelectQuery()); + } + + public function testOffset() + { + $this->assertEquals('SELECT * FROM "test" OFFSET 0', $this->db->table('test')->offset(0)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" OFFSET 10', $this->db->table('test')->offset(10)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test"', $this->db->table('test')->limit(null)->buildSelectQuery()); + } + + public function testLimitOffset() + { + $this->assertEquals('SELECT * FROM "test" LIMIT 2 OFFSET 0', $this->db->table('test')->offset(0)->limit(2)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" LIMIT 5 OFFSET 10', $this->db->table('test')->offset(10)->limit(5)->buildSelectQuery()); + } + + public function testSubquery() + { + $this->assertEquals('SELECT (SELECT 1 FROM "foobar" WHERE 1=1) AS "b" FROM "test"', $this->db->table('test')->subquery('SELECT 1 FROM "foobar" WHERE 1=1', 'b')->buildSelectQuery()); + } + + public function testConditionEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" = ? AND "b" = ?', $table->eq('a', 2)->eq('b', 'foobar')->buildSelectQuery()); + $this->assertEquals(array(2, 'foobar'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" != ?', $table->neq('a', 2)->buildSelectQuery()); + $this->assertEquals(array(2), $table->getConditionBuilder()->getValues()); + } + + public function testConditionIn() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" IN (?, ?)', $table->in('a', array('b', 'c'))->buildSelectQuery()); + $this->assertEquals(array('b', 'c'), $table->getConditionBuilder()->getValues()); + + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test"', $table->in('a', array())->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testConditionInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" IN (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->inSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotIn() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" NOT IN (?, ?)', $table->notIn('a', array('b', 'c'))->buildSelectQuery()); + $this->assertEquals(array('b', 'c'), $table->getConditionBuilder()->getValues()); + + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test"', $table->notIn('a', array())->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" NOT IN (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->notInSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLike() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" LIKE ?', $table->like('a', '%foobar%')->buildSelectQuery()); + $this->assertEquals(array('%foobar%'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionILike() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" ILIKE ?', $table->ilike('a', '%foobar%')->buildSelectQuery()); + $this->assertEquals(array('%foobar%'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThan() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" > ?', $table->gt('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThanOrEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" >= ?', $table->gte('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThan() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" < ?', $table->lt('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThanOrEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" <= ?', $table->lte('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionIsNull() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" IS NOT NULL', $table->notNull('a')->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testCustomCondition() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE a=c AND "b" = ?', $table->addCondition('a=c')->eq('b', 4)->buildSelectQuery()); + $this->assertEquals(array(4), $table->getConditionBuilder()->getValues()); + } + + public function testOrConditions() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" IS NOT NULL AND ("b" = ? OR "c" >= ?)', $table->notNull('a')->beginOr()->eq('b', 2)->gte('c', 5)->closeOr()->buildSelectQuery()); + $this->assertEquals(array(2, 5), $table->getConditionBuilder()->getValues()); + } + + public function testPersist() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar_persist (id SERIAL PRIMARY KEY, a VARCHAR(10))')); + $this->assertSame(1, $this->db->table('foobar_persist')->persist(array('a' => 'b'))); + } + + public function testInsertUpdate() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a TEXT)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'b'))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'c'))); + + $this->assertEquals(array(array('a' => 'b'), array('a' => 'c')), $this->db->table('foobar')->findAll()); + + $this->assertEquals(array('b', 'c'), $this->db->table('foobar')->findAllByColumn('a')); + + $this->assertEquals(array('a' => 'b'), $this->db->table('foobar')->findOne()); + + $this->assertEquals('b', $this->db->table('foobar')->findOneColumn('a')); + + $this->assertTrue($this->db->table('foobar')->exists()); + $this->assertTrue($this->db->table('foobar')->eq('a', 'c')->exists()); + $this->assertFalse($this->db->table('foobar')->eq('a', 'e')->exists()); + + $this->assertEquals(2, $this->db->table('foobar')->count()); + $this->assertEquals(1, $this->db->table('foobar')->eq('a', 'c')->count()); + $this->assertEquals(0, $this->db->table('foobar')->eq('a', 'e')->count()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'c')->remove()); + $this->assertFalse($this->db->table('foobar')->eq('a', 'e')->remove()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'b')->update(array('a' => 'test'))); + $this->assertTrue($this->db->table('foobar')->eq('a', 'lol')->update(array('a' => 'test'))); + + $this->assertNotEmpty($this->db->table('foobar')->eq('a', 'test')->findOne()); + $this->assertNull($this->db->table('foobar')->eq('a', 'lol')->findOne()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'test')->save(array('a' => 'plop'))); + $this->assertEquals(1, $this->db->table('foobar')->count()); + } + + public function testSumColumn() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (b REAL, c REAL)')); + $this->assertTrue($this->db->table('foobar')->insert(array('b' => 2, 'c' => 3.3))); + + $this->assertTrue($this->db->table('foobar')->sumColumn('b', 2.5)->sumColumn('c', 3)->update()); + + $this->assertEquals( + array('b' => 4.5, 'c' => 6.3), + $this->db->table('foobar')->findOne() + ); + } + + public function testSum() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a INTEGER)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 2))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 5))); + $this->assertEquals(7, $this->db->table('foobar')->sum('a')); + } + + public function testIncrement() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a INTEGER DEFAULT 0, b INTEGER DEFAULT 0)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 2, 'b' => 5))); + $this->assertTrue($this->db->table('foobar')->eq('b', 5)->increment('a', 3)); + $this->assertEquals(5, $this->db->table('foobar')->findOneColumn('a')); + } + + public function testLeftJoin() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE test1 (a INTEGER NOT NULL, foreign_key INTEGER NOT NULL)')); + $this->assertNotFalse($this->db->execute('CREATE TABLE test2 (id INTEGER NOT NULL, b INTEGER NOT NULL)')); + + $this->assertTrue($this->db->table('test2')->insert(array('id' => 42, 'b' => 2))); + $this->assertTrue($this->db->table('test1')->insert(array('a' => 18, 'foreign_key' => 42))); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test2')->columns('a', 'b')->eq('a', 18)->left('test1', 't1', 'foreign_key', 'test2', 'id')->findOne() + ); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test2')->columns('a', 'b')->eq('a', 18)->join('test1', 'foreign_key', 'id')->findOne() + ); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test1')->columns('a', 'b')->join('test2', 'id', 'foreign_key')->findOne() + ); + } + + public function testHashTable() + { + $this->assertNotFalse($this->db->execute( + 'CREATE TABLE foobar ( + column1 TEXT NOT NULL UNIQUE, + column2 TEXT default NULL + )' + )); + + $this->assertTrue($this->db->table('foobar')->insert(array('column1' => 'option1', 'column2' => 'value1'))); + $this->assertTrue($this->db->table('foobar')->insert(array('column1' => 'option2', 'column2' => 'value2'))); + $this->assertTrue($this->db->table('foobar')->insert(array('column1' => 'option3', 'column2' => 'value3'))); + + $values = array( + 'option1' => 'hey', + 'option4' => 'ho', + ); + + $this->assertTrue($this->db->hashtable('foobar')->columnKey('column1')->columnValue('column2')->put($values)); + + $this->assertEquals( + array('option2' => 'value2', 'option4' => 'ho'), + $this->db->hashtable('foobar')->columnKey('column1')->columnValue('column2')->get('option2', 'option4') + ); + + $this->assertEquals( + array('option2' => 'value2', 'option3' => 'value3', 'option1' => 'hey', 'option4' => 'ho'), + $this->db->hashtable('foobar')->columnKey('column1')->columnValue('column2')->get() + ); + + $this->assertEquals( + array('option2' => 'value2', 'option3' => 'value3', 'option1' => 'hey', 'option4' => 'ho'), + $this->db->hashtable('foobar')->getAll('column1', 'column2') + ); + } +} diff --git a/libs/picodb/tests/SchemaFixture.php b/libs/picodb/tests/SchemaFixture.php new file mode 100644 index 00000000..fe4b5031 --- /dev/null +++ b/libs/picodb/tests/SchemaFixture.php @@ -0,0 +1,21 @@ +<?php + +namespace Schema; + +use PDO; + +function version_1(PDO $pdo) +{ + $pdo->exec('CREATE TABLE test1 (column1 TEXT)'); +} + +function version_2(PDO $pdo) +{ + $pdo->exec('CREATE TABLE test2 (column2 TEXT)'); +} + +function version_3(PDO $pdo) +{ + // Simulate an error + $pdo->exec('CREATE TABL'); +} diff --git a/libs/picodb/tests/SqliteDatabaseTest.php b/libs/picodb/tests/SqliteDatabaseTest.php new file mode 100644 index 00000000..628adb07 --- /dev/null +++ b/libs/picodb/tests/SqliteDatabaseTest.php @@ -0,0 +1,120 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; + +class SqliteDatabaseTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'sqlite', 'filename' => ':memory:')); + } + + public function testEscapeIdentifer() + { + $this->assertEquals('"a"', $this->db->escapeIdentifier('a')); + $this->assertEquals('a.b', $this->db->escapeIdentifier('a.b')); + $this->assertEquals('"c"."a"', $this->db->escapeIdentifier('a', 'c')); + $this->assertEquals('a.b', $this->db->escapeIdentifier('a.b', 'c')); + $this->assertEquals('SELECT COUNT(*) FROM test', $this->db->escapeIdentifier('SELECT COUNT(*) FROM test')); + $this->assertEquals('SELECT COUNT(*) FROM test', $this->db->escapeIdentifier('SELECT COUNT(*) FROM test', 'b')); + } + + public function testEscapeIdentiferList() + { + $this->assertEquals(array('"c"."a"', '"c"."b"'), $this->db->escapeIdentifierList(array('a', 'b'), 'c')); + $this->assertEquals(array('"a"', 'd.b'), $this->db->escapeIdentifierList(array('a', 'd.b'))); + } + + public function testThatPreparedStatementWorks() + { + $this->db->getConnection()->exec('CREATE TABLE foobar (id INTEGER PRIMARY KEY, something TEXT)'); + $this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + $this->assertEquals(1, $this->db->getLastId()); + $this->assertEquals('a', $this->db->execute('SELECT something FROM foobar WHERE something=?', array('a'))->fetchColumn()); + } + + /** + * @expectedException PicoDb\SQLException + */ + public function testBadSQLQuery() + { + $this->db->execute('INSERT INTO foobar'); + } + + public function testDuplicateKey() + { + $this->db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + + $this->assertNotFalse($this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a'))); + $this->assertFalse($this->db->execute('INSERT INTO foobar (something) VALUES (?)', array('a'))); + + $this->assertEquals(1, $this->db->execute('SELECT COUNT(*) FROM foobar WHERE something=?', array('a'))->fetchColumn()); + } + + public function testThatTransactionReturnsAValue() + { + $this->assertEquals('a', $this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + + return $db->execute('SELECT something FROM foobar WHERE something=?', array('a'))->fetchColumn(); + })); + } + + public function testThatTransactionReturnsTrue() + { + $this->assertTrue($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + })); + } + + /** + * @expectedException PicoDb\SQLException + */ + public function testThatTransactionThrowExceptionWhenRollbacked() + { + $this->assertFalse($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABL'); + })); + } + + public function testThatTransactionReturnsFalseWhithDuplicateKey() + { + $this->assertFalse($this->db->transaction(function (Database $db) { + $db->getConnection()->exec('CREATE TABLE foobar (something TEXT UNIQUE)'); + $r1 = $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + $r2 = $db->execute('INSERT INTO foobar (something) VALUES (?)', array('a')); + return $r1 && $r2; + })); + } + + public function testGetInstance() + { + Database::setInstance('main', function () { + return new Database(array('driver' => 'sqlite', 'filename' => ':memory:')); + }); + + $instance1 = Database::getInstance('main'); + $instance2 = Database::getInstance('main'); + + $this->assertInstanceOf('PicoDb\Database', $instance1); + $this->assertInstanceOf('PicoDb\Database', $instance2); + $this->assertTrue($instance1 === $instance2); + } + + /** + * @expectedException LogicException + */ + public function testGetMissingInstance() + { + Database::getInstance('notfound'); + } +} diff --git a/libs/picodb/tests/SqliteDriverTest.php b/libs/picodb/tests/SqliteDriverTest.php new file mode 100644 index 00000000..9965a39c --- /dev/null +++ b/libs/picodb/tests/SqliteDriverTest.php @@ -0,0 +1,70 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Driver\Sqlite; + +class SqliteDriverTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Driver\Sqlite + */ + private $driver; + + public function setUp() + { + $this->driver = new Sqlite(array('filename' => ':memory:')); + } + + /** + * @expectedException LogicException + */ + public function testMissingRequiredParameter() + { + new Sqlite(array()); + } + + public function testDuplicateKeyError() + { + $this->assertFalse($this->driver->isDuplicateKeyError(1234)); + $this->assertTrue($this->driver->isDuplicateKeyError(23000)); + } + + public function testOperator() + { + $this->assertEquals('LIKE', $this->driver->getOperator('LIKE')); + $this->assertEquals('LIKE', $this->driver->getOperator('ILIKE')); + $this->assertEquals('', $this->driver->getOperator('FOO')); + } + + public function testSchemaVersion() + { + $this->assertEquals(0, $this->driver->getSchemaVersion()); + + $this->driver->setSchemaVersion(1); + $this->assertEquals(1, $this->driver->getSchemaVersion()); + + $this->driver->setSchemaVersion(42); + $this->assertEquals(42, $this->driver->getSchemaVersion()); + } + + public function testLastInsertId() + { + $this->assertEquals(0, $this->driver->getLastId()); + + $this->driver->getConnection()->exec('CREATE TABLE foobar (id INTEGER PRIMARY KEY, something TEXT)'); + $this->driver->getConnection()->exec('INSERT INTO foobar (something) VALUES (1)'); + + $this->assertEquals(1, $this->driver->getLastId()); + } + + public function testEscape() + { + $this->assertEquals('"foobar"', $this->driver->escape('foobar')); + } + + public function testDatabaseVersion() + { + $this->assertStringStartsWith('3.', $this->driver->getDatabaseVersion()); + } +} diff --git a/libs/picodb/tests/SqliteLobtest.php b/libs/picodb/tests/SqliteLobtest.php new file mode 100644 index 00000000..d0889655 --- /dev/null +++ b/libs/picodb/tests/SqliteLobtest.php @@ -0,0 +1,84 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; + +class SqliteLobTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'sqlite', 'filename' => ':memory:')); + $this->db->getConnection()->exec('DROP TABLE IF EXISTS large_objects'); + $this->db->getConnection()->exec('CREATE TABLE large_objects (id VARCHAR(20), file_content BLOB)'); + } + + public function testInsert() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + } + + public function testInsertFromString() + { + $data = 'test'; + $result = $this->db->largeObject('large_objects')->insertFromString('file_content', $data, array('id' => 'test')); + $this->assertTrue($result); + } + + public function testInsertWithOptionalParams() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__); + $this->assertTrue($result); + } + + public function testFindOneColumnAsStream() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test')->findOneColumnAsStream('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + } + + public function testFindOneColumnAsString() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test')); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + } + + public function testUpdate() + { + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test1')); + $this->assertTrue($result); + + $result = $this->db->largeObject('large_objects')->insertFromFile('file_content', __FILE__, array('id' => 'test2')); + $this->assertTrue($result); + + $result = $this->db->largeObject('large_objects')->eq('id', 'test1')->updateFromFile('file_content', __DIR__.'/../LICENSE'); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test1')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../LICENSE')), md5($contents)); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test2')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__FILE__)), md5($contents)); + + $result = $this->db->largeObject('large_objects')->updateFromFile('file_content', __DIR__.'/../composer.json'); + $this->assertTrue($result); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test1')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../composer.json')), md5($contents)); + + $contents = $this->db->largeObject('large_objects')->eq('id', 'test2')->findOneColumnAsString('file_content'); + $this->assertSame(md5(file_get_contents(__DIR__.'/../composer.json')), md5($contents)); + } +} diff --git a/libs/picodb/tests/SqliteSchemaTest.php b/libs/picodb/tests/SqliteSchemaTest.php new file mode 100644 index 00000000..7522e10d --- /dev/null +++ b/libs/picodb/tests/SqliteSchemaTest.php @@ -0,0 +1,36 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; +require_once __DIR__.'/SchemaFixture.php'; + +class SqliteSchemaTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new PicoDb\Database(array('driver' => 'sqlite', 'filename' => ':memory:')); + } + + public function testMigrations() + { + $this->assertTrue($this->db->schema()->check(2)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + } + + public function testFailedMigrations() + { + $this->assertFalse($this->db->schema()->check(3)); + $this->assertEquals(2, $this->db->getDriver()->getSchemaVersion()); + + $logs = $this->db->getLogMessages(); + $this->assertNotEmpty($logs); + $this->assertEquals('Running migration \Schema\version_1', $logs[0]); + $this->assertEquals('Running migration \Schema\version_2', $logs[1]); + $this->assertEquals('Running migration \Schema\version_3', $logs[2]); + $this->assertEquals('SQLSTATE[HY000]: General error: 1 near "TABL": syntax error', $logs[3]); + } +} diff --git a/libs/picodb/tests/SqliteTableTest.php b/libs/picodb/tests/SqliteTableTest.php new file mode 100644 index 00000000..dae718fa --- /dev/null +++ b/libs/picodb/tests/SqliteTableTest.php @@ -0,0 +1,444 @@ +<?php + +require_once __DIR__.'/../../../vendor/autoload.php'; + +use PicoDb\Database; +use PicoDb\Table; + +class SqliteTableTest extends PHPUnit_Framework_TestCase +{ + /** + * @var PicoDb\Database + */ + private $db; + + public function setUp() + { + $this->db = new Database(array('driver' => 'sqlite', 'filename' => ':memory:')); + } + + public function testSelect() + { + $this->assertEquals('SELECT 1 FROM "test"', $this->db->table('test')->select(1)->buildSelectQuery()); + } + + public function testColumns() + { + $this->assertEquals('SELECT "a", "b" FROM "test"', $this->db->table('test')->columns('a', 'b')->buildSelectQuery()); + } + + public function testDistinct() + { + $this->assertEquals('SELECT DISTINCT "a", "b" FROM "test"', $this->db->table('test')->distinct('a', 'b')->buildSelectQuery()); + } + + public function testGroupBy() + { + $this->assertEquals('SELECT * FROM "test" GROUP BY "a"', $this->db->table('test')->groupBy('a')->buildSelectQuery()); + } + + public function testOrderBy() + { + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC', $this->db->table('test')->asc('a')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC', $this->db->table('test')->orderBy('a', Table::SORT_ASC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC', $this->db->table('test')->desc('a')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC', $this->db->table('test')->orderBy('a', Table::SORT_DESC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC, "b" ASC', $this->db->table('test')->asc('a')->asc('b')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC, "b" DESC', $this->db->table('test')->desc('a')->desc('b')->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" ASC, "b" ASC', $this->db->table('test')->orderBy('a')->orderBy('b')->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC, "b" DESC', $this->db->table('test')->orderBy('a', Table::SORT_DESC)->orderBy('b', Table::SORT_DESC)->buildSelectQuery()); + + $this->assertEquals('SELECT * FROM "test" ORDER BY "a" DESC, "b" ASC', $this->db->table('test')->desc('a')->asc('b')->buildSelectQuery()); + } + + public function testLimit() + { + $this->assertEquals('SELECT * FROM "test" LIMIT 10', $this->db->table('test')->limit(10)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test"', $this->db->table('test')->limit(null)->buildSelectQuery()); + } + + public function testOffset() + { + $this->assertEquals('SELECT * FROM "test" OFFSET 0', $this->db->table('test')->offset(0)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" OFFSET 10', $this->db->table('test')->offset(10)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test"', $this->db->table('test')->limit(null)->buildSelectQuery()); + } + + public function testLimitOffset() + { + $this->assertEquals('SELECT * FROM "test" LIMIT 2 OFFSET 0', $this->db->table('test')->offset(0)->limit(2)->buildSelectQuery()); + $this->assertEquals('SELECT * FROM "test" LIMIT 5 OFFSET 10', $this->db->table('test')->offset(10)->limit(5)->buildSelectQuery()); + } + + public function testSubquery() + { + $this->assertEquals('SELECT (SELECT 1 FROM "foobar" WHERE 1=1) AS "b" FROM "test"', $this->db->table('test')->subquery('SELECT 1 FROM "foobar" WHERE 1=1', 'b')->buildSelectQuery()); + } + + public function testConditionEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" = ? AND "b" = ?', $table->eq('a', 2)->eq('b', 'foobar')->buildSelectQuery()); + $this->assertEquals(array(2, 'foobar'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" != ?', $table->neq('a', 2)->buildSelectQuery()); + $this->assertEquals(array(2), $table->getConditionBuilder()->getValues()); + } + + public function testConditionIn() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" IN (?, ?)', $table->in('a', array('b', 'c'))->buildSelectQuery()); + $this->assertEquals(array('b', 'c'), $table->getConditionBuilder()->getValues()); + + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test"', $table->in('a', array())->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testConditionInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" IN (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->inSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotIn() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" NOT IN (?, ?)', $table->notIn('a', array('b', 'c'))->buildSelectQuery()); + $this->assertEquals(array('b', 'c'), $table->getConditionBuilder()->getValues()); + + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test"', $table->notIn('a', array())->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testConditionNotInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" NOT IN (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->notInSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLike() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" LIKE ?', $table->like('a', '%foobar%')->buildSelectQuery()); + $this->assertEquals(array('%foobar%'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionILike() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" LIKE ?', $table->ilike('a', '%foobar%')->buildSelectQuery()); + $this->assertEquals(array('%foobar%'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThan() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" > ?', $table->gt('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThanInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" > (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->gtSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThanOrEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" >= ?', $table->gte('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionGreaterThanEqualInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" >= (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->gteSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThan() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" < ?', $table->lt('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThanInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" < (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->ltSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThanOrEqual() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" <= ?', $table->lte('a', 5)->buildSelectQuery()); + $this->assertEquals(array(5), $table->getConditionBuilder()->getValues()); + } + + public function testConditionLowerThanEqualInSubquery() + { + $table = $this->db->table('test'); + $subquery = $this->db->table('test2')->columns('c')->eq('d', 'e'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" <= (SELECT "c" FROM "test2" WHERE "d" = ?)', + $table->lteSubquery('a', $subquery)->buildSelectQuery() + ); + + $this->assertEquals(array('e'), $table->getConditionBuilder()->getValues()); + } + + public function testConditionIsNull() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" IS NOT NULL', $table->notNull('a')->buildSelectQuery()); + $this->assertEquals(array(), $table->getConditionBuilder()->getValues()); + } + + public function testCustomCondition() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE a=c AND "b" = ?', $table->addCondition('a=c')->eq('b', 4)->buildSelectQuery()); + $this->assertEquals(array(4), $table->getConditionBuilder()->getValues()); + } + + public function testOrConditions() + { + $table = $this->db->table('test'); + + $this->assertEquals('SELECT * FROM "test" WHERE "a" IS NOT NULL AND ("b" = ? OR "c" >= ?)', $table->notNull('a')->beginOr()->eq('b', 2)->gte('c', 5)->closeOr()->buildSelectQuery()); + $this->assertEquals(array(2, 5), $table->getConditionBuilder()->getValues()); + } + + public function testMultipleOrConditions() + { + $table = $this->db->table('test'); + + $this->assertEquals( + 'SELECT * FROM "test" WHERE "a" IS NOT NULL AND ("b" = ? OR ("b" != ? OR "c" = ?) OR "c" >= ?)', + $table + ->notNull('a') + ->beginOr() + ->eq('b', 2) + ->beginOr() + ->neq('b', 6) + ->eq('c', 3) + ->closeOr() + ->gte('c', 5) + ->closeOr() + ->buildSelectQuery() + ); + + $this->assertEquals(array(2, 6, 3, 5), $table->getConditionBuilder()->getValues()); + } + + public function testPersist() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar_persist (id INTEGER PRIMARY KEY, a TEXT)')); + $this->assertSame(1, $this->db->table('foobar_persist')->persist(array('a' => 'b'))); + } + + public function testInsertUpdate() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a TEXT)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'b'))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'c'))); + + $this->assertEquals(array(array('a' => 'b'), array('a' => 'c')), $this->db->table('foobar')->findAll()); + + $this->assertEquals(array('b', 'c'), $this->db->table('foobar')->findAllByColumn('a')); + + $this->assertEquals(array('a' => 'b'), $this->db->table('foobar')->findOne()); + + $this->assertEquals('b', $this->db->table('foobar')->findOneColumn('a')); + + $this->assertTrue($this->db->table('foobar')->exists()); + $this->assertTrue($this->db->table('foobar')->eq('a', 'c')->exists()); + $this->assertFalse($this->db->table('foobar')->eq('a', 'e')->exists()); + + $this->assertEquals(2, $this->db->table('foobar')->count()); + $this->assertEquals(1, $this->db->table('foobar')->eq('a', 'c')->count()); + $this->assertEquals(0, $this->db->table('foobar')->eq('a', 'e')->count()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'c')->remove()); + $this->assertFalse($this->db->table('foobar')->eq('a', 'e')->remove()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'b')->update(array('a' => 'test'))); + $this->assertTrue($this->db->table('foobar')->eq('a', 'lol')->update(array('a' => 'test'))); + + $this->assertNotEmpty($this->db->table('foobar')->eq('a', 'test')->findOne()); + $this->assertNull($this->db->table('foobar')->eq('a', 'lol')->findOne()); + + $this->assertTrue($this->db->table('foobar')->eq('a', 'test')->save(array('a' => 'plop'))); + $this->assertEquals(1, $this->db->table('foobar')->count()); + } + + public function testSumColumn() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (b REAL, c REAL)')); + $this->assertTrue($this->db->table('foobar')->insert(array('b' => 2, 'c' => 3.3))); + + $this->assertTrue($this->db->table('foobar')->sumColumn('b', 2.5)->sumColumn('c', 3)->update()); + + $this->assertEquals( + array('b' => 4.5, 'c' => 6.3), + $this->db->table('foobar')->findOne() + ); + } + + public function testCallback() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a TEXT)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'b'))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 'c'))); + + $func = function () { + return array('test'); + }; + + $this->assertEquals(array('test'), $this->db->table('foobar')->callback($func)->findAll()); + $this->assertEquals(array('plop'), $this->db->table('foobar')->callback(array($this, 'myCallback'))->findAll()); + } + + public function myCallback(array $records) + { + $this->assertEquals(array(array('a' => 'b'), array('a' => 'c')), $records); + return array('plop'); + } + + public function testSum() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a INTEGER)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 2))); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 5))); + $this->assertEquals(7, $this->db->table('foobar')->sum('a')); + } + + public function testIncrement() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE foobar (a INTEGER DEFAULT 0, b INTEGER DEFAULT 0)')); + $this->assertTrue($this->db->table('foobar')->insert(array('a' => 2, 'b' => 5))); + $this->assertTrue($this->db->table('foobar')->eq('b', 5)->increment('a', 3)); + $this->assertEquals(5, $this->db->table('foobar')->findOneColumn('a')); + } + + public function testLeftJoin() + { + $this->assertNotFalse($this->db->execute('CREATE TABLE test1 (a INTEGER NOT NULL, foreign_key INTEGER NOT NULL)')); + $this->assertNotFalse($this->db->execute('CREATE TABLE test2 (id INTEGER NOT NULL, b INTEGER NOT NULL)')); + + $this->assertTrue($this->db->table('test2')->insert(array('id' => 42, 'b' => 2))); + $this->assertTrue($this->db->table('test1')->insert(array('a' => 18, 'foreign_key' => 42))); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test2')->columns('a', 'b')->eq('a', 18)->left('test1', 't1', 'foreign_key', 'test2', 'id')->findOne() + ); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test2')->columns('a', 'b')->eq('a', 18)->join('test1', 'foreign_key', 'id')->findOne() + ); + + $this->assertEquals( + array('a' => 18, 'b' => 2), + $this->db->table('test1')->columns('a', 'b')->join('test2', 'id', 'foreign_key')->findOne() + ); + } + + public function testHashTable() + { + $this->assertNotFalse($this->db->execute( + 'CREATE TABLE toto ( + column1 TEXT NOT NULL UNIQUE, + column2 TEXT default NULL + )' + )); + + $this->assertTrue($this->db->table('toto')->insert(array('column1' => 'option1', 'column2' => 'value1'))); + $this->assertTrue($this->db->table('toto')->insert(array('column1' => 'option2', 'column2' => 'value2'))); + $this->assertTrue($this->db->table('toto')->insert(array('column1' => 'option3', 'column2' => 'value3'))); + + $values = array( + 'option1' => 'hey', + 'option4' => 'ho', + ); + + $this->assertTrue($this->db->hashtable('toto')->columnKey('column1')->columnValue('column2')->put($values)); + + $this->assertEquals( + array('option2' => 'value2', 'option4' => 'ho'), + $this->db->hashtable('toto')->columnKey('column1')->columnValue('column2')->get('option2', 'option4') + ); + + $this->assertEquals( + array('option2' => 'value2', 'option3' => 'value3', 'option1' => 'hey', 'option4' => 'ho'), + $this->db->hashtable('toto')->columnKey('column1')->columnValue('column2')->get() + ); + + $this->assertEquals( + array('option2' => 'value2', 'option3' => 'value3', 'option1' => 'hey', 'option4' => 'ho'), + $this->db->hashtable('toto')->getAll('column1', 'column2') + ); + } +} diff --git a/libs/picodb/tests/UrlParserTest.php b/libs/picodb/tests/UrlParserTest.php new file mode 100644 index 00000000..ede3d3a5 --- /dev/null +++ b/libs/picodb/tests/UrlParserTest.php @@ -0,0 +1,46 @@ +<?php + +use PicoDb\UrlParser; + +require_once __DIR__.'/../../../vendor/autoload.php'; + +class UrlParserTest extends PHPUnit_Framework_TestCase +{ + public function testParseUrl() + { + $urlParser = UrlParser::getInstance(); + $this->assertFalse($urlParser->isEnvironmentVariableDefined()); + + $settings = $urlParser->getSettings('postgres://user:pass@hostname:6212/db'); + $this->assertEquals('postgres', $settings['driver']); + $this->assertEquals('user', $settings['username']); + $this->assertEquals('pass', $settings['password']); + $this->assertEquals('hostname', $settings['hostname']); + $this->assertEquals('6212', $settings['port']); + $this->assertEquals('db', $settings['database']); + } + + public function testParseWrongUrl() + { + $urlParser = new UrlParser(); + $settings = $urlParser->getSettings('/'); + $this->assertEmpty($settings['driver']); + $this->assertFalse($urlParser->isEnvironmentVariableDefined()); + } + + public function testGetUrlFromEnvironment() + { + putenv('DATABASE_URL=postgres://user:pass@hostname:6212/db'); + + $urlParser = new UrlParser(); + $this->assertTrue($urlParser->isEnvironmentVariableDefined()); + + $settings = $urlParser->getSettings(); + $this->assertEquals('postgres', $settings['driver']); + $this->assertEquals('user', $settings['username']); + $this->assertEquals('pass', $settings['password']); + $this->assertEquals('hostname', $settings['hostname']); + $this->assertEquals('6212', $settings['port']); + $this->assertEquals('db', $settings['database']); + } +} diff --git a/vendor/aferrandini/phpqrcode/.gitignore b/vendor/aferrandini/phpqrcode/.gitignore deleted file mode 100644 index 485dee64..00000000 --- a/vendor/aferrandini/phpqrcode/.gitignore +++ /dev/null @@ -1 +0,0 @@ -.idea diff --git a/vendor/aferrandini/phpqrcode/VERSION b/vendor/aferrandini/phpqrcode/VERSION deleted file mode 100755 index e0d3a2ee..00000000 --- a/vendor/aferrandini/phpqrcode/VERSION +++ /dev/null @@ -1,2 +0,0 @@ -1.1.5
-2012021604
diff --git a/vendor/aferrandini/phpqrcode/composer.json b/vendor/aferrandini/phpqrcode/composer.json deleted file mode 100644 index ff793567..00000000 --- a/vendor/aferrandini/phpqrcode/composer.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "name": "aferrandini/phpqrcode", - "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", - "keywords": ["php", "qrcode", "barcode"], - "homepage": "https://github.com/aferrandini/PHPQRCode", - "type": "library", - "license": "MIT", - "authors": [ - { - "name": "Ariel Ferrandini", - "email": "arielferrandini@gmail.com", - "homepage": "http://www.ferrandini.com/" - } - ], - "require": { - "php": ">=5.3.0" - }, - "autoload": { - "psr-0": { "PHPQRCode": "lib/" } - } -} diff --git a/vendor/aferrandini/phpqrcode/readme.md b/vendor/aferrandini/phpqrcode/readme.md deleted file mode 100755 index e8f2f5ab..00000000 --- a/vendor/aferrandini/phpqrcode/readme.md +++ /dev/null @@ -1,37 +0,0 @@ -# PHP QRCode Library - -To install this library please follow the next steps: - -## Install the library using `composer`: - -Add the required module to your `composer.json` file: - - { - "require": { - ... - "aferrandini/phpqrcode": "1.0.1" - ... - } - } - -Then run the command `composer update`. - - -## Usage - -Sample code: - - \PHPQRCode\QRcode::png("Test", "/tmp/qrcode.png", 'L', 4, 2); - -This code will generate a PNG file on '/tmp/qrcode.png' with a QRCode that contains the word 'Test'. - -## Acknowledgements - -This library is an import of PHP QR Code by Dominik Dzienia that you can find at http://phpqrcode.sourceforge.net - -Based on C libqrencode library (ver. 3.1.1), Copyright (C) 2006-2010 by Kentaro Fukuchi -http://megaui.net/fukuchi/works/qrencode/index.en.html - -QR Code is registered trademarks of DENSO WAVE INCORPORATED in JAPAN and other countries. - -Reed-Solomon code encoder is written by Phil Karn, KA9Q. Copyright (C) 2002, 2003, 2004, 2006 Phil Karn, KA9Q diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index c3410348..07f96725 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -6,7 +6,13 @@ $vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( + 'A' => $baseDir . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', + 'B' => $baseDir . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', 'Base32\\Base32' => $vendorDir . '/christian-riesen/base32/src/Base32.php', + 'C' => $baseDir . '/libs/jsonrpc/tests/ServerProtocolTest.php', + 'ClassWithBeforeMethod' => $baseDir . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', + 'ClientTest' => $baseDir . '/libs/jsonrpc/tests/ClientTest.php', + 'DummyMiddleware' => $baseDir . '/libs/jsonrpc/tests/ServerTest.php', 'Eluceo\\iCal\\Component' => $vendorDir . '/eluceo/ical/src/Eluceo/iCal/Component.php', 'Eluceo\\iCal\\Component\\Alarm' => $vendorDir . '/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php', 'Eluceo\\iCal\\Component\\Calendar' => $vendorDir . '/eluceo/ical/src/Eluceo/iCal/Component/Calendar.php', @@ -29,35 +35,42 @@ return array( 'Eluceo\\iCal\\Util\\ComponentUtil' => $vendorDir . '/eluceo/ical/src/Eluceo/iCal/Util/ComponentUtil.php', 'Eluceo\\iCal\\Util\\DateUtil' => $vendorDir . '/eluceo/ical/src/Eluceo/iCal/Util/DateUtil.php', 'Eluceo\\iCal\\Util\\PropertyValueUtil' => $vendorDir . '/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php', + 'FirstMiddleware' => $baseDir . '/libs/jsonrpc/tests/MiddlewareHandlerTest.php', 'Gregwar\\Captcha\\CaptchaBuilder' => $vendorDir . '/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilder.php', 'Gregwar\\Captcha\\CaptchaBuilderInterface' => $vendorDir . '/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilderInterface.php', 'Gregwar\\Captcha\\ImageFileHandler' => $vendorDir . '/gregwar/captcha/src/Gregwar/Captcha/ImageFileHandler.php', 'Gregwar\\Captcha\\PhraseBuilder' => $vendorDir . '/gregwar/captcha/src/Gregwar/Captcha/PhraseBuilder.php', 'Gregwar\\Captcha\\PhraseBuilderInterface' => $vendorDir . '/gregwar/captcha/src/Gregwar/Captcha/PhraseBuilderInterface.php', - 'JsonRPC\\Client' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Client.php', - 'JsonRPC\\Exception\\AccessDeniedException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/AccessDeniedException.php', - 'JsonRPC\\Exception\\AuthenticationFailureException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/AuthenticationFailureException.php', - 'JsonRPC\\Exception\\ConnectionFailureException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/ConnectionFailureException.php', - 'JsonRPC\\Exception\\InvalidJsonFormatException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonFormatException.php', - 'JsonRPC\\Exception\\InvalidJsonRpcFormatException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php', - 'JsonRPC\\Exception\\ResponseEncodingFailureException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php', - 'JsonRPC\\Exception\\ResponseException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/ResponseException.php', - 'JsonRPC\\Exception\\ServerErrorException' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Exception/ServerErrorException.php', - 'JsonRPC\\HttpClient' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/HttpClient.php', - 'JsonRPC\\MiddlewareHandler' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/MiddlewareHandler.php', - 'JsonRPC\\MiddlewareInterface' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/MiddlewareInterface.php', - 'JsonRPC\\ProcedureHandler' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/ProcedureHandler.php', - 'JsonRPC\\Request\\BatchRequestParser' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Request/BatchRequestParser.php', - 'JsonRPC\\Request\\RequestBuilder' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Request/RequestBuilder.php', - 'JsonRPC\\Request\\RequestParser' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Request/RequestParser.php', - 'JsonRPC\\Response\\ResponseBuilder' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Response/ResponseBuilder.php', - 'JsonRPC\\Response\\ResponseParser' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php', - 'JsonRPC\\Server' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Server.php', - 'JsonRPC\\Validator\\HostValidator' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php', - 'JsonRPC\\Validator\\JsonEncodingValidator' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Validator/JsonEncodingValidator.php', - 'JsonRPC\\Validator\\JsonFormatValidator' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Validator/JsonFormatValidator.php', - 'JsonRPC\\Validator\\RpcFormatValidator' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Validator/RpcFormatValidator.php', - 'JsonRPC\\Validator\\UserValidator' => $vendorDir . '/fguillot/json-rpc/src/JsonRPC/Validator/UserValidator.php', + 'HostValidatorTest' => $baseDir . '/libs/jsonrpc/tests/Validator/HostValidatorTest.php', + 'JsonEncodingValidatorTest' => $baseDir . '/libs/jsonrpc/tests/Validator/JsonEncodingValidatorTest.php', + 'JsonFormatValidatorTest' => $baseDir . '/libs/jsonrpc/tests/Validator/JsonFormatValidatorTest.php', + 'JsonRPC\\Client' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Client.php', + 'JsonRPC\\Exception\\AccessDeniedException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/AccessDeniedException.php', + 'JsonRPC\\Exception\\AuthenticationFailureException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/AuthenticationFailureException.php', + 'JsonRPC\\Exception\\ConnectionFailureException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/ConnectionFailureException.php', + 'JsonRPC\\Exception\\InvalidJsonFormatException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonFormatException.php', + 'JsonRPC\\Exception\\InvalidJsonRpcFormatException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php', + 'JsonRPC\\Exception\\ResponseEncodingFailureException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php', + 'JsonRPC\\Exception\\ResponseException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/ResponseException.php', + 'JsonRPC\\Exception\\RpcCallFailedException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/RpcCallFailedException.php', + 'JsonRPC\\Exception\\ServerErrorException' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Exception/ServerErrorException.php', + 'JsonRPC\\HttpClient' => $baseDir . '/libs/jsonrpc/src/JsonRPC/HttpClient.php', + 'JsonRPC\\HttpClientTest' => $baseDir . '/libs/jsonrpc/tests/HttpClientTest.php', + 'JsonRPC\\MiddlewareHandler' => $baseDir . '/libs/jsonrpc/src/JsonRPC/MiddlewareHandler.php', + 'JsonRPC\\MiddlewareInterface' => $baseDir . '/libs/jsonrpc/src/JsonRPC/MiddlewareInterface.php', + 'JsonRPC\\ProcedureHandler' => $baseDir . '/libs/jsonrpc/src/JsonRPC/ProcedureHandler.php', + 'JsonRPC\\Request\\BatchRequestParser' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php', + 'JsonRPC\\Request\\RequestBuilder' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Request/RequestBuilder.php', + 'JsonRPC\\Request\\RequestParser' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Request/RequestParser.php', + 'JsonRPC\\Response\\HeaderMockTest' => $baseDir . '/libs/jsonrpc/tests/Response/HeaderMockTest.php', + 'JsonRPC\\Response\\ResponseBuilder' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Response/ResponseBuilder.php', + 'JsonRPC\\Response\\ResponseParser' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Response/ResponseParser.php', + 'JsonRPC\\Server' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Server.php', + 'JsonRPC\\Validator\\HostValidator' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Validator/HostValidator.php', + 'JsonRPC\\Validator\\JsonEncodingValidator' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Validator/JsonEncodingValidator.php', + 'JsonRPC\\Validator\\JsonFormatValidator' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Validator/JsonFormatValidator.php', + 'JsonRPC\\Validator\\RpcFormatValidator' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Validator/RpcFormatValidator.php', + 'JsonRPC\\Validator\\UserValidator' => $baseDir . '/libs/jsonrpc/src/JsonRPC/Validator/UserValidator.php', 'Kanboard\\Action\\Base' => $baseDir . '/app/Action/Base.php', 'Kanboard\\Action\\CommentCreation' => $baseDir . '/app/Action/CommentCreation.php', 'Kanboard\\Action\\CommentCreationMoveTaskColumn' => $baseDir . '/app/Action/CommentCreationMoveTaskColumn.php', @@ -671,48 +684,55 @@ return array( 'Kanboard\\Validator\\TaskLinkValidator' => $baseDir . '/app/Validator/TaskLinkValidator.php', 'Kanboard\\Validator\\TaskValidator' => $baseDir . '/app/Validator/TaskValidator.php', 'Kanboard\\Validator\\UserValidator' => $baseDir . '/app/Validator/UserValidator.php', + 'MiddlewareHandlerTest' => $baseDir . '/libs/jsonrpc/tests/MiddlewareHandlerTest.php', + 'MyException' => $baseDir . '/libs/jsonrpc/tests/ServerTest.php', + 'MysqlDatabaseTest' => $baseDir . '/libs/picodb/tests/MysqlDatabaseTest.php', + 'MysqlDriverTest' => $baseDir . '/libs/picodb/tests/MysqlDriverTest.php', + 'MysqlLobTest' => $baseDir . '/libs/picodb/tests/MysqlLobTest.php', + 'MysqlSchemaTest' => $baseDir . '/libs/picodb/tests/MysqlSchemaTest.php', + 'MysqlTableTest' => $baseDir . '/libs/picodb/tests/MysqlTableTest.php', 'Otp\\GoogleAuthenticator' => $vendorDir . '/christian-riesen/otp/src/Otp/GoogleAuthenticator.php', 'Otp\\Otp' => $vendorDir . '/christian-riesen/otp/src/Otp/Otp.php', 'Otp\\OtpInterface' => $vendorDir . '/christian-riesen/otp/src/Otp/OtpInterface.php', - 'PHPQRCode' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode.php', - 'PHPQRCode\\Autoloader' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/Autoloader.php', - 'PHPQRCode\\Constants' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/Constants.php', - 'PHPQRCode\\FrameFiller' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/FrameFiller.php', - 'PHPQRCode\\QRbitstream' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRbitstream.php', - 'PHPQRCode\\QRcode' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRcode.php', - 'PHPQRCode\\QRencode' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRencode.php', - 'PHPQRCode\\QRimage' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRimage.php', - 'PHPQRCode\\QRinput' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRinput.php', - 'PHPQRCode\\QRinputItem' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRinputItem.php', - 'PHPQRCode\\QRmask' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRmask.php', - 'PHPQRCode\\QRrawcode' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrawcode.php', - 'PHPQRCode\\QRrs' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrs.php', - 'PHPQRCode\\QRrsItem' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrsItem.php', - 'PHPQRCode\\QRrsblock' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrsblock.php', - 'PHPQRCode\\QRspec' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRspec.php', - 'PHPQRCode\\QRsplit' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRsplit.php', - 'PHPQRCode\\QRstr' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRstr.php', - 'PHPQRCode\\QRtools' => $vendorDir . '/aferrandini/phpqrcode/lib/PHPQRCode/QRtools.php', + 'PHPQRCode' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode.php', + 'PHPQRCode\\Autoloader' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/Autoloader.php', + 'PHPQRCode\\Constants' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/Constants.php', + 'PHPQRCode\\FrameFiller' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/FrameFiller.php', + 'PHPQRCode\\QRbitstream' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRbitstream.php', + 'PHPQRCode\\QRcode' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRcode.php', + 'PHPQRCode\\QRencode' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRencode.php', + 'PHPQRCode\\QRimage' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRimage.php', + 'PHPQRCode\\QRinput' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRinput.php', + 'PHPQRCode\\QRinputItem' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRinputItem.php', + 'PHPQRCode\\QRmask' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRmask.php', + 'PHPQRCode\\QRrawcode' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRrawcode.php', + 'PHPQRCode\\QRrs' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRrs.php', + 'PHPQRCode\\QRrsItem' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRrsItem.php', + 'PHPQRCode\\QRrsblock' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRrsblock.php', + 'PHPQRCode\\QRspec' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRspec.php', + 'PHPQRCode\\QRsplit' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRsplit.php', + 'PHPQRCode\\QRstr' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRstr.php', + 'PHPQRCode\\QRtools' => $baseDir . '/libs/phpqrcode/lib/PHPQRCode/QRtools.php', 'Parsedown' => $vendorDir . '/erusev/parsedown/Parsedown.php', - 'PicoDb\\Builder\\BaseBuilder' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Builder/BaseBuilder.php', - 'PicoDb\\Builder\\ConditionBuilder' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Builder/ConditionBuilder.php', - 'PicoDb\\Builder\\InsertBuilder' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Builder/InsertBuilder.php', - 'PicoDb\\Builder\\OrConditionBuilder' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Builder/OrConditionBuilder.php', - 'PicoDb\\Builder\\UpdateBuilder' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Builder/UpdateBuilder.php', - 'PicoDb\\Database' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Database.php', - 'PicoDb\\DriverFactory' => $vendorDir . '/fguillot/picodb/lib/PicoDb/DriverFactory.php', - 'PicoDb\\Driver\\Base' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Driver/Base.php', - 'PicoDb\\Driver\\Mssql' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Driver/Mssql.php', - 'PicoDb\\Driver\\Mysql' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Driver/Mysql.php', - 'PicoDb\\Driver\\Postgres' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Driver/Postgres.php', - 'PicoDb\\Driver\\Sqlite' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php', - 'PicoDb\\Hashtable' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Hashtable.php', - 'PicoDb\\LargeObject' => $vendorDir . '/fguillot/picodb/lib/PicoDb/LargeObject.php', - 'PicoDb\\SQLException' => $vendorDir . '/fguillot/picodb/lib/PicoDb/SQLException.php', - 'PicoDb\\Schema' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Schema.php', - 'PicoDb\\StatementHandler' => $vendorDir . '/fguillot/picodb/lib/PicoDb/StatementHandler.php', - 'PicoDb\\Table' => $vendorDir . '/fguillot/picodb/lib/PicoDb/Table.php', - 'PicoDb\\UrlParser' => $vendorDir . '/fguillot/picodb/lib/PicoDb/UrlParser.php', + 'PicoDb\\Builder\\BaseBuilder' => $baseDir . '/libs/picodb/lib/PicoDb/Builder/BaseBuilder.php', + 'PicoDb\\Builder\\ConditionBuilder' => $baseDir . '/libs/picodb/lib/PicoDb/Builder/ConditionBuilder.php', + 'PicoDb\\Builder\\InsertBuilder' => $baseDir . '/libs/picodb/lib/PicoDb/Builder/InsertBuilder.php', + 'PicoDb\\Builder\\OrConditionBuilder' => $baseDir . '/libs/picodb/lib/PicoDb/Builder/OrConditionBuilder.php', + 'PicoDb\\Builder\\UpdateBuilder' => $baseDir . '/libs/picodb/lib/PicoDb/Builder/UpdateBuilder.php', + 'PicoDb\\Database' => $baseDir . '/libs/picodb/lib/PicoDb/Database.php', + 'PicoDb\\DriverFactory' => $baseDir . '/libs/picodb/lib/PicoDb/DriverFactory.php', + 'PicoDb\\Driver\\Base' => $baseDir . '/libs/picodb/lib/PicoDb/Driver/Base.php', + 'PicoDb\\Driver\\Mssql' => $baseDir . '/libs/picodb/lib/PicoDb/Driver/Mssql.php', + 'PicoDb\\Driver\\Mysql' => $baseDir . '/libs/picodb/lib/PicoDb/Driver/Mysql.php', + 'PicoDb\\Driver\\Postgres' => $baseDir . '/libs/picodb/lib/PicoDb/Driver/Postgres.php', + 'PicoDb\\Driver\\Sqlite' => $baseDir . '/libs/picodb/lib/PicoDb/Driver/Sqlite.php', + 'PicoDb\\Hashtable' => $baseDir . '/libs/picodb/lib/PicoDb/Hashtable.php', + 'PicoDb\\LargeObject' => $baseDir . '/libs/picodb/lib/PicoDb/LargeObject.php', + 'PicoDb\\SQLException' => $baseDir . '/libs/picodb/lib/PicoDb/SQLException.php', + 'PicoDb\\Schema' => $baseDir . '/libs/picodb/lib/PicoDb/Schema.php', + 'PicoDb\\StatementHandler' => $baseDir . '/libs/picodb/lib/PicoDb/StatementHandler.php', + 'PicoDb\\Table' => $baseDir . '/libs/picodb/lib/PicoDb/Table.php', + 'PicoDb\\UrlParser' => $baseDir . '/libs/picodb/lib/PicoDb/UrlParser.php', 'Pimple\\Container' => $vendorDir . '/pimple/pimple/src/Pimple/Container.php', 'Pimple\\Exception\\ExpectedInvokableException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', 'Pimple\\Exception\\FrozenServiceException' => $vendorDir . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', @@ -731,6 +751,12 @@ return array( 'Pimple\\Tests\\Psr11\\ContainerTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', 'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', 'Pimple\\Tests\\ServiceIteratorTest' => $vendorDir . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', + 'PostgresDatabaseTest' => $baseDir . '/libs/picodb/tests/PostgresDatabaseTest.php', + 'PostgresDriverTest' => $baseDir . '/libs/picodb/tests/PostgresDriverTest.php', + 'PostgresLobTest' => $baseDir . '/libs/picodb/tests/PostgresLobTest.php', + 'PostgresSchemaTest' => $baseDir . '/libs/picodb/tests/PostgresSchemaTest.php', + 'PostgresTableTest' => $baseDir . '/libs/picodb/tests/PostgresTableTest.php', + 'ProcedureHandlerTest' => $baseDir . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', 'Psr\\Container\\ContainerExceptionInterface' => $vendorDir . '/psr/container/src/ContainerExceptionInterface.php', 'Psr\\Container\\ContainerInterface' => $vendorDir . '/psr/container/src/ContainerInterface.php', 'Psr\\Container\\NotFoundExceptionInterface' => $vendorDir . '/psr/container/src/NotFoundExceptionInterface.php', @@ -744,6 +770,13 @@ return array( 'Psr\\Log\\NullLogger' => $vendorDir . '/psr/log/Psr/Log/NullLogger.php', 'Psr\\Log\\Test\\DummyTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', 'Psr\\Log\\Test\\LoggerInterfaceTest' => $vendorDir . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'RequestBuilderTest' => $baseDir . '/libs/jsonrpc/tests/Request/RequestBuilderTest.php', + 'ResponseBuilderTest' => $baseDir . '/libs/jsonrpc/tests/Response/ResponseBuilderTest.php', + 'ResponseParserTest' => $baseDir . '/libs/jsonrpc/tests/Response/ResponseParserTest.php', + 'RpcFormatValidatorTest' => $baseDir . '/libs/jsonrpc/tests/Validator/RpcFormatValidatorTest.php', + 'SecondMiddleware' => $baseDir . '/libs/jsonrpc/tests/MiddlewareHandlerTest.php', + 'ServerProtocolTest' => $baseDir . '/libs/jsonrpc/tests/ServerProtocolTest.php', + 'ServerTest' => $baseDir . '/libs/jsonrpc/tests/ServerTest.php', 'SimpleQueue\\Adapter\\AmqpQueueAdapter' => $baseDir . '/libs/SimpleQueue/Adapter/AmqpQueueAdapter.php', 'SimpleQueue\\Adapter\\BeanstalkQueueAdapter' => $baseDir . '/libs/SimpleQueue/Adapter/BeanstalkQueueAdapter.php', 'SimpleQueue\\Exception\\NotSupportedException' => $baseDir . '/libs/SimpleQueue/Exception/NotSupportedException.php', @@ -772,6 +805,11 @@ return array( 'SimpleValidator\\Validators\\Range' => $baseDir . '/libs/SimpleValidator/Validators/Range.php', 'SimpleValidator\\Validators\\Required' => $baseDir . '/libs/SimpleValidator/Validators/Required.php', 'SimpleValidator\\Validators\\Unique' => $baseDir . '/libs/SimpleValidator/Validators/Unique.php', + 'SqliteDatabaseTest' => $baseDir . '/libs/picodb/tests/SqliteDatabaseTest.php', + 'SqliteDriverTest' => $baseDir . '/libs/picodb/tests/SqliteDriverTest.php', + 'SqliteLobTest' => $baseDir . '/libs/picodb/tests/SqliteLobtest.php', + 'SqliteSchemaTest' => $baseDir . '/libs/picodb/tests/SqliteSchemaTest.php', + 'SqliteTableTest' => $baseDir . '/libs/picodb/tests/SqliteTableTest.php', 'Symfony\\Component\\Console\\Application' => $vendorDir . '/symfony/console/Application.php', 'Symfony\\Component\\Console\\CommandLoader\\CommandLoaderInterface' => $vendorDir . '/symfony/console/CommandLoader/CommandLoaderInterface.php', 'Symfony\\Component\\Console\\CommandLoader\\ContainerCommandLoader' => $vendorDir . '/symfony/console/CommandLoader/ContainerCommandLoader.php', @@ -901,4 +939,6 @@ return array( 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => $vendorDir . '/symfony/finder/Iterator/SortableIterator.php', 'Symfony\\Component\\Finder\\SplFileInfo' => $vendorDir . '/symfony/finder/SplFileInfo.php', 'Symfony\\Polyfill\\Mbstring\\Mbstring' => $vendorDir . '/symfony/polyfill-mbstring/Mbstring.php', + 'UrlParserTest' => $baseDir . '/libs/picodb/tests/UrlParserTest.php', + 'UserValidatorTest' => $baseDir . '/libs/jsonrpc/tests/Validator/UserValidatorTest.php', ); diff --git a/vendor/composer/autoload_namespaces.php b/vendor/composer/autoload_namespaces.php index c40ec570..9bc8799c 100644 --- a/vendor/composer/autoload_namespaces.php +++ b/vendor/composer/autoload_namespaces.php @@ -7,11 +7,8 @@ $baseDir = dirname($vendorDir); return array( 'Pimple' => array($vendorDir . '/pimple/pimple/src'), - 'PicoDb' => array($vendorDir . '/fguillot/picodb/lib'), 'Parsedown' => array($vendorDir . '/erusev/parsedown'), - 'PHPQRCode' => array($vendorDir . '/aferrandini/phpqrcode/lib'), 'Otp' => array($vendorDir . '/christian-riesen/otp/src'), - 'JsonRPC' => array($vendorDir . '/fguillot/json-rpc/src'), 'Eluceo\\iCal' => array($vendorDir . '/eluceo/ical/src'), '' => array($baseDir . '/libs'), ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index b9e57895..8cf48666 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -91,18 +91,10 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e array ( 0 => __DIR__ . '/..' . '/pimple/pimple/src', ), - 'PicoDb' => - array ( - 0 => __DIR__ . '/..' . '/fguillot/picodb/lib', - ), 'Parsedown' => array ( 0 => __DIR__ . '/..' . '/erusev/parsedown', ), - 'PHPQRCode' => - array ( - 0 => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib', - ), ), 'O' => array ( @@ -111,13 +103,6 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 0 => __DIR__ . '/..' . '/christian-riesen/otp/src', ), ), - 'J' => - array ( - 'JsonRPC' => - array ( - 0 => __DIR__ . '/..' . '/fguillot/json-rpc/src', - ), - ), 'E' => array ( 'Eluceo\\iCal' => @@ -132,7 +117,13 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e ); public static $classMap = array ( + 'A' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', + 'B' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', 'Base32\\Base32' => __DIR__ . '/..' . '/christian-riesen/base32/src/Base32.php', + 'C' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ServerProtocolTest.php', + 'ClassWithBeforeMethod' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', + 'ClientTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ClientTest.php', + 'DummyMiddleware' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ServerTest.php', 'Eluceo\\iCal\\Component' => __DIR__ . '/..' . '/eluceo/ical/src/Eluceo/iCal/Component.php', 'Eluceo\\iCal\\Component\\Alarm' => __DIR__ . '/..' . '/eluceo/ical/src/Eluceo/iCal/Component/Alarm.php', 'Eluceo\\iCal\\Component\\Calendar' => __DIR__ . '/..' . '/eluceo/ical/src/Eluceo/iCal/Component/Calendar.php', @@ -155,35 +146,42 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 'Eluceo\\iCal\\Util\\ComponentUtil' => __DIR__ . '/..' . '/eluceo/ical/src/Eluceo/iCal/Util/ComponentUtil.php', 'Eluceo\\iCal\\Util\\DateUtil' => __DIR__ . '/..' . '/eluceo/ical/src/Eluceo/iCal/Util/DateUtil.php', 'Eluceo\\iCal\\Util\\PropertyValueUtil' => __DIR__ . '/..' . '/eluceo/ical/src/Eluceo/iCal/Util/PropertyValueUtil.php', + 'FirstMiddleware' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/MiddlewareHandlerTest.php', 'Gregwar\\Captcha\\CaptchaBuilder' => __DIR__ . '/..' . '/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilder.php', 'Gregwar\\Captcha\\CaptchaBuilderInterface' => __DIR__ . '/..' . '/gregwar/captcha/src/Gregwar/Captcha/CaptchaBuilderInterface.php', 'Gregwar\\Captcha\\ImageFileHandler' => __DIR__ . '/..' . '/gregwar/captcha/src/Gregwar/Captcha/ImageFileHandler.php', 'Gregwar\\Captcha\\PhraseBuilder' => __DIR__ . '/..' . '/gregwar/captcha/src/Gregwar/Captcha/PhraseBuilder.php', 'Gregwar\\Captcha\\PhraseBuilderInterface' => __DIR__ . '/..' . '/gregwar/captcha/src/Gregwar/Captcha/PhraseBuilderInterface.php', - 'JsonRPC\\Client' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Client.php', - 'JsonRPC\\Exception\\AccessDeniedException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/AccessDeniedException.php', - 'JsonRPC\\Exception\\AuthenticationFailureException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/AuthenticationFailureException.php', - 'JsonRPC\\Exception\\ConnectionFailureException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ConnectionFailureException.php', - 'JsonRPC\\Exception\\InvalidJsonFormatException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonFormatException.php', - 'JsonRPC\\Exception\\InvalidJsonRpcFormatException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php', - 'JsonRPC\\Exception\\ResponseEncodingFailureException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php', - 'JsonRPC\\Exception\\ResponseException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ResponseException.php', - 'JsonRPC\\Exception\\ServerErrorException' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Exception/ServerErrorException.php', - 'JsonRPC\\HttpClient' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/HttpClient.php', - 'JsonRPC\\MiddlewareHandler' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/MiddlewareHandler.php', - 'JsonRPC\\MiddlewareInterface' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/MiddlewareInterface.php', - 'JsonRPC\\ProcedureHandler' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/ProcedureHandler.php', - 'JsonRPC\\Request\\BatchRequestParser' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Request/BatchRequestParser.php', - 'JsonRPC\\Request\\RequestBuilder' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Request/RequestBuilder.php', - 'JsonRPC\\Request\\RequestParser' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Request/RequestParser.php', - 'JsonRPC\\Response\\ResponseBuilder' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Response/ResponseBuilder.php', - 'JsonRPC\\Response\\ResponseParser' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Response/ResponseParser.php', - 'JsonRPC\\Server' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Server.php', - 'JsonRPC\\Validator\\HostValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php', - 'JsonRPC\\Validator\\JsonEncodingValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/JsonEncodingValidator.php', - 'JsonRPC\\Validator\\JsonFormatValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/JsonFormatValidator.php', - 'JsonRPC\\Validator\\RpcFormatValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/RpcFormatValidator.php', - 'JsonRPC\\Validator\\UserValidator' => __DIR__ . '/..' . '/fguillot/json-rpc/src/JsonRPC/Validator/UserValidator.php', + 'HostValidatorTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Validator/HostValidatorTest.php', + 'JsonEncodingValidatorTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Validator/JsonEncodingValidatorTest.php', + 'JsonFormatValidatorTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Validator/JsonFormatValidatorTest.php', + 'JsonRPC\\Client' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Client.php', + 'JsonRPC\\Exception\\AccessDeniedException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/AccessDeniedException.php', + 'JsonRPC\\Exception\\AuthenticationFailureException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/AuthenticationFailureException.php', + 'JsonRPC\\Exception\\ConnectionFailureException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/ConnectionFailureException.php', + 'JsonRPC\\Exception\\InvalidJsonFormatException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonFormatException.php', + 'JsonRPC\\Exception\\InvalidJsonRpcFormatException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/InvalidJsonRpcFormatException.php', + 'JsonRPC\\Exception\\ResponseEncodingFailureException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/ResponseEncodingFailureException.php', + 'JsonRPC\\Exception\\ResponseException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/ResponseException.php', + 'JsonRPC\\Exception\\RpcCallFailedException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/RpcCallFailedException.php', + 'JsonRPC\\Exception\\ServerErrorException' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Exception/ServerErrorException.php', + 'JsonRPC\\HttpClient' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/HttpClient.php', + 'JsonRPC\\HttpClientTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/HttpClientTest.php', + 'JsonRPC\\MiddlewareHandler' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/MiddlewareHandler.php', + 'JsonRPC\\MiddlewareInterface' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/MiddlewareInterface.php', + 'JsonRPC\\ProcedureHandler' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/ProcedureHandler.php', + 'JsonRPC\\Request\\BatchRequestParser' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Request/BatchRequestParser.php', + 'JsonRPC\\Request\\RequestBuilder' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Request/RequestBuilder.php', + 'JsonRPC\\Request\\RequestParser' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Request/RequestParser.php', + 'JsonRPC\\Response\\HeaderMockTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Response/HeaderMockTest.php', + 'JsonRPC\\Response\\ResponseBuilder' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Response/ResponseBuilder.php', + 'JsonRPC\\Response\\ResponseParser' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Response/ResponseParser.php', + 'JsonRPC\\Server' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Server.php', + 'JsonRPC\\Validator\\HostValidator' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Validator/HostValidator.php', + 'JsonRPC\\Validator\\JsonEncodingValidator' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Validator/JsonEncodingValidator.php', + 'JsonRPC\\Validator\\JsonFormatValidator' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Validator/JsonFormatValidator.php', + 'JsonRPC\\Validator\\RpcFormatValidator' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Validator/RpcFormatValidator.php', + 'JsonRPC\\Validator\\UserValidator' => __DIR__ . '/../..' . '/libs/jsonrpc/src/JsonRPC/Validator/UserValidator.php', 'Kanboard\\Action\\Base' => __DIR__ . '/../..' . '/app/Action/Base.php', 'Kanboard\\Action\\CommentCreation' => __DIR__ . '/../..' . '/app/Action/CommentCreation.php', 'Kanboard\\Action\\CommentCreationMoveTaskColumn' => __DIR__ . '/../..' . '/app/Action/CommentCreationMoveTaskColumn.php', @@ -797,48 +795,55 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 'Kanboard\\Validator\\TaskLinkValidator' => __DIR__ . '/../..' . '/app/Validator/TaskLinkValidator.php', 'Kanboard\\Validator\\TaskValidator' => __DIR__ . '/../..' . '/app/Validator/TaskValidator.php', 'Kanboard\\Validator\\UserValidator' => __DIR__ . '/../..' . '/app/Validator/UserValidator.php', + 'MiddlewareHandlerTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/MiddlewareHandlerTest.php', + 'MyException' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ServerTest.php', + 'MysqlDatabaseTest' => __DIR__ . '/../..' . '/libs/picodb/tests/MysqlDatabaseTest.php', + 'MysqlDriverTest' => __DIR__ . '/../..' . '/libs/picodb/tests/MysqlDriverTest.php', + 'MysqlLobTest' => __DIR__ . '/../..' . '/libs/picodb/tests/MysqlLobTest.php', + 'MysqlSchemaTest' => __DIR__ . '/../..' . '/libs/picodb/tests/MysqlSchemaTest.php', + 'MysqlTableTest' => __DIR__ . '/../..' . '/libs/picodb/tests/MysqlTableTest.php', 'Otp\\GoogleAuthenticator' => __DIR__ . '/..' . '/christian-riesen/otp/src/Otp/GoogleAuthenticator.php', 'Otp\\Otp' => __DIR__ . '/..' . '/christian-riesen/otp/src/Otp/Otp.php', 'Otp\\OtpInterface' => __DIR__ . '/..' . '/christian-riesen/otp/src/Otp/OtpInterface.php', - 'PHPQRCode' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode.php', - 'PHPQRCode\\Autoloader' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/Autoloader.php', - 'PHPQRCode\\Constants' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/Constants.php', - 'PHPQRCode\\FrameFiller' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/FrameFiller.php', - 'PHPQRCode\\QRbitstream' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRbitstream.php', - 'PHPQRCode\\QRcode' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRcode.php', - 'PHPQRCode\\QRencode' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRencode.php', - 'PHPQRCode\\QRimage' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRimage.php', - 'PHPQRCode\\QRinput' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRinput.php', - 'PHPQRCode\\QRinputItem' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRinputItem.php', - 'PHPQRCode\\QRmask' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRmask.php', - 'PHPQRCode\\QRrawcode' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrawcode.php', - 'PHPQRCode\\QRrs' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrs.php', - 'PHPQRCode\\QRrsItem' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrsItem.php', - 'PHPQRCode\\QRrsblock' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRrsblock.php', - 'PHPQRCode\\QRspec' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRspec.php', - 'PHPQRCode\\QRsplit' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRsplit.php', - 'PHPQRCode\\QRstr' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRstr.php', - 'PHPQRCode\\QRtools' => __DIR__ . '/..' . '/aferrandini/phpqrcode/lib/PHPQRCode/QRtools.php', + 'PHPQRCode' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode.php', + 'PHPQRCode\\Autoloader' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/Autoloader.php', + 'PHPQRCode\\Constants' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/Constants.php', + 'PHPQRCode\\FrameFiller' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/FrameFiller.php', + 'PHPQRCode\\QRbitstream' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRbitstream.php', + 'PHPQRCode\\QRcode' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRcode.php', + 'PHPQRCode\\QRencode' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRencode.php', + 'PHPQRCode\\QRimage' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRimage.php', + 'PHPQRCode\\QRinput' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRinput.php', + 'PHPQRCode\\QRinputItem' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRinputItem.php', + 'PHPQRCode\\QRmask' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRmask.php', + 'PHPQRCode\\QRrawcode' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRrawcode.php', + 'PHPQRCode\\QRrs' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRrs.php', + 'PHPQRCode\\QRrsItem' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRrsItem.php', + 'PHPQRCode\\QRrsblock' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRrsblock.php', + 'PHPQRCode\\QRspec' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRspec.php', + 'PHPQRCode\\QRsplit' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRsplit.php', + 'PHPQRCode\\QRstr' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRstr.php', + 'PHPQRCode\\QRtools' => __DIR__ . '/../..' . '/libs/phpqrcode/lib/PHPQRCode/QRtools.php', 'Parsedown' => __DIR__ . '/..' . '/erusev/parsedown/Parsedown.php', - 'PicoDb\\Builder\\BaseBuilder' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Builder/BaseBuilder.php', - 'PicoDb\\Builder\\ConditionBuilder' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Builder/ConditionBuilder.php', - 'PicoDb\\Builder\\InsertBuilder' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Builder/InsertBuilder.php', - 'PicoDb\\Builder\\OrConditionBuilder' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Builder/OrConditionBuilder.php', - 'PicoDb\\Builder\\UpdateBuilder' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Builder/UpdateBuilder.php', - 'PicoDb\\Database' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Database.php', - 'PicoDb\\DriverFactory' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/DriverFactory.php', - 'PicoDb\\Driver\\Base' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Base.php', - 'PicoDb\\Driver\\Mssql' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Mssql.php', - 'PicoDb\\Driver\\Mysql' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Mysql.php', - 'PicoDb\\Driver\\Postgres' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Postgres.php', - 'PicoDb\\Driver\\Sqlite' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Driver/Sqlite.php', - 'PicoDb\\Hashtable' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Hashtable.php', - 'PicoDb\\LargeObject' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/LargeObject.php', - 'PicoDb\\SQLException' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/SQLException.php', - 'PicoDb\\Schema' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Schema.php', - 'PicoDb\\StatementHandler' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/StatementHandler.php', - 'PicoDb\\Table' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/Table.php', - 'PicoDb\\UrlParser' => __DIR__ . '/..' . '/fguillot/picodb/lib/PicoDb/UrlParser.php', + 'PicoDb\\Builder\\BaseBuilder' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Builder/BaseBuilder.php', + 'PicoDb\\Builder\\ConditionBuilder' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Builder/ConditionBuilder.php', + 'PicoDb\\Builder\\InsertBuilder' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Builder/InsertBuilder.php', + 'PicoDb\\Builder\\OrConditionBuilder' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Builder/OrConditionBuilder.php', + 'PicoDb\\Builder\\UpdateBuilder' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Builder/UpdateBuilder.php', + 'PicoDb\\Database' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Database.php', + 'PicoDb\\DriverFactory' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/DriverFactory.php', + 'PicoDb\\Driver\\Base' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Driver/Base.php', + 'PicoDb\\Driver\\Mssql' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Driver/Mssql.php', + 'PicoDb\\Driver\\Mysql' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Driver/Mysql.php', + 'PicoDb\\Driver\\Postgres' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Driver/Postgres.php', + 'PicoDb\\Driver\\Sqlite' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Driver/Sqlite.php', + 'PicoDb\\Hashtable' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Hashtable.php', + 'PicoDb\\LargeObject' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/LargeObject.php', + 'PicoDb\\SQLException' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/SQLException.php', + 'PicoDb\\Schema' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Schema.php', + 'PicoDb\\StatementHandler' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/StatementHandler.php', + 'PicoDb\\Table' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/Table.php', + 'PicoDb\\UrlParser' => __DIR__ . '/../..' . '/libs/picodb/lib/PicoDb/UrlParser.php', 'Pimple\\Container' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Container.php', 'Pimple\\Exception\\ExpectedInvokableException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/ExpectedInvokableException.php', 'Pimple\\Exception\\FrozenServiceException' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Exception/FrozenServiceException.php', @@ -857,6 +862,12 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 'Pimple\\Tests\\Psr11\\ContainerTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ContainerTest.php', 'Pimple\\Tests\\Psr11\\ServiceLocatorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/Psr11/ServiceLocatorTest.php', 'Pimple\\Tests\\ServiceIteratorTest' => __DIR__ . '/..' . '/pimple/pimple/src/Pimple/Tests/ServiceIteratorTest.php', + 'PostgresDatabaseTest' => __DIR__ . '/../..' . '/libs/picodb/tests/PostgresDatabaseTest.php', + 'PostgresDriverTest' => __DIR__ . '/../..' . '/libs/picodb/tests/PostgresDriverTest.php', + 'PostgresLobTest' => __DIR__ . '/../..' . '/libs/picodb/tests/PostgresLobTest.php', + 'PostgresSchemaTest' => __DIR__ . '/../..' . '/libs/picodb/tests/PostgresSchemaTest.php', + 'PostgresTableTest' => __DIR__ . '/../..' . '/libs/picodb/tests/PostgresTableTest.php', + 'ProcedureHandlerTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ProcedureHandlerTest.php', 'Psr\\Container\\ContainerExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerExceptionInterface.php', 'Psr\\Container\\ContainerInterface' => __DIR__ . '/..' . '/psr/container/src/ContainerInterface.php', 'Psr\\Container\\NotFoundExceptionInterface' => __DIR__ . '/..' . '/psr/container/src/NotFoundExceptionInterface.php', @@ -870,6 +881,13 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 'Psr\\Log\\NullLogger' => __DIR__ . '/..' . '/psr/log/Psr/Log/NullLogger.php', 'Psr\\Log\\Test\\DummyTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', 'Psr\\Log\\Test\\LoggerInterfaceTest' => __DIR__ . '/..' . '/psr/log/Psr/Log/Test/LoggerInterfaceTest.php', + 'RequestBuilderTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Request/RequestBuilderTest.php', + 'ResponseBuilderTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Response/ResponseBuilderTest.php', + 'ResponseParserTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Response/ResponseParserTest.php', + 'RpcFormatValidatorTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Validator/RpcFormatValidatorTest.php', + 'SecondMiddleware' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/MiddlewareHandlerTest.php', + 'ServerProtocolTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ServerProtocolTest.php', + 'ServerTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/ServerTest.php', 'SimpleQueue\\Adapter\\AmqpQueueAdapter' => __DIR__ . '/../..' . '/libs/SimpleQueue/Adapter/AmqpQueueAdapter.php', 'SimpleQueue\\Adapter\\BeanstalkQueueAdapter' => __DIR__ . '/../..' . '/libs/SimpleQueue/Adapter/BeanstalkQueueAdapter.php', 'SimpleQueue\\Exception\\NotSupportedException' => __DIR__ . '/../..' . '/libs/SimpleQueue/Exception/NotSupportedException.php', @@ -898,6 +916,11 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 'SimpleValidator\\Validators\\Range' => __DIR__ . '/../..' . '/libs/SimpleValidator/Validators/Range.php', 'SimpleValidator\\Validators\\Required' => __DIR__ . '/../..' . '/libs/SimpleValidator/Validators/Required.php', 'SimpleValidator\\Validators\\Unique' => __DIR__ . '/../..' . '/libs/SimpleValidator/Validators/Unique.php', + 'SqliteDatabaseTest' => __DIR__ . '/../..' . '/libs/picodb/tests/SqliteDatabaseTest.php', + 'SqliteDriverTest' => __DIR__ . '/../..' . '/libs/picodb/tests/SqliteDriverTest.php', + 'SqliteLobTest' => __DIR__ . '/../..' . '/libs/picodb/tests/SqliteLobtest.php', + 'SqliteSchemaTest' => __DIR__ . '/../..' . '/libs/picodb/tests/SqliteSchemaTest.php', + 'SqliteTableTest' => __DIR__ . '/../..' . '/libs/picodb/tests/SqliteTableTest.php', 'Symfony\\Component\\Console\\Application' => __DIR__ . '/..' . '/symfony/console/Application.php', 'Symfony\\Component\\Console\\CommandLoader\\CommandLoaderInterface' => __DIR__ . '/..' . '/symfony/console/CommandLoader/CommandLoaderInterface.php', 'Symfony\\Component\\Console\\CommandLoader\\ContainerCommandLoader' => __DIR__ . '/..' . '/symfony/console/CommandLoader/ContainerCommandLoader.php', @@ -1027,6 +1050,8 @@ class ComposerStaticInitbdc3716ceecc7570f8ff9a8407f0ca0e 'Symfony\\Component\\Finder\\Iterator\\SortableIterator' => __DIR__ . '/..' . '/symfony/finder/Iterator/SortableIterator.php', 'Symfony\\Component\\Finder\\SplFileInfo' => __DIR__ . '/..' . '/symfony/finder/SplFileInfo.php', 'Symfony\\Polyfill\\Mbstring\\Mbstring' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/Mbstring.php', + 'UrlParserTest' => __DIR__ . '/../..' . '/libs/picodb/tests/UrlParserTest.php', + 'UserValidatorTest' => __DIR__ . '/../..' . '/libs/jsonrpc/tests/Validator/UserValidatorTest.php', ); public static function getInitializer(ClassLoader $loader) diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 92bd01a7..304f25db 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,52 +1,5 @@ [ { - "name": "aferrandini/phpqrcode", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "git", - "url": "https://github.com/aferrandini/PHPQRCode.git", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/aferrandini/PHPQRCode/zipball/3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "reference": "3c1c0454d43710ab5bbe19a51ad4cb41c22e3d46", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "time": "2013-07-08T09:39:08+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "PHPQRCode": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ariel Ferrandini", - "email": "arielferrandini@gmail.com", - "homepage": "http://www.ferrandini.com/", - "role": "Developer" - } - ], - "description": "PHPQRCode porting and changed for PHP 5.3 compatibility", - "homepage": "https://github.com/aferrandini/PHPQRCode", - "keywords": [ - "barcode", - "php", - "qrcode" - ], - "abandoned": "endroid/qr-code" - }, - { "name": "christian-riesen/base32", "version": "1.3.1", "version_normalized": "1.3.1.0", @@ -211,47 +164,6 @@ ] }, { - "name": "fguillot/json-rpc", - "version": "v1.2.1", - "version_normalized": "1.2.1.0", - "source": { - "type": "git", - "url": "https://github.com/fguillot/JsonRPC.git", - "reference": "d491bb549bfa11aff4c37abcea2ffb28c9523f69" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fguillot/JsonRPC/zipball/d491bb549bfa11aff4c37abcea2ffb28c9523f69", - "reference": "d491bb549bfa11aff4c37abcea2ffb28c9523f69", - "shasum": "" - }, - "require": { - "php": ">=5.3.4" - }, - "require-dev": { - "phpunit/phpunit": "4.8.*" - }, - "time": "2016-06-25T23:11:10+00:00", - "type": "library", - "installation-source": "dist", - "autoload": { - "psr-0": { - "JsonRPC": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frédéric Guillot" - } - ], - "description": "Simple Json-RPC client/server library that just works", - "homepage": "https://github.com/fguillot/JsonRPC" - }, - { "name": "psr/log", "version": "1.0.2", "version_normalized": "1.0.2.0", @@ -565,67 +477,6 @@ ] }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.7.0", - "version_normalized": "1.7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b", - "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "time": "2018-01-30T19:27:44+00:00", - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.7-dev" - } - }, - "installation-source": "dist", - "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" - ] - }, - { "name": "symfony/debug", "version": "v3.4.2", "version_normalized": "3.4.2.0", @@ -820,32 +671,33 @@ "homepage": "https://symfony.com" }, { - "name": "fguillot/picodb", - "version": "v1.0.18", - "version_normalized": "1.0.18.0", + "name": "erusev/parsedown", + "version": "1.7.1", + "version_normalized": "1.7.1.0", "source": { "type": "git", - "url": "https://github.com/fguillot/picoDb.git", - "reference": "4df08a3cc3c4a39e6bb329872f5d020fe135f805" + "url": "https://github.com/erusev/parsedown.git", + "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fguillot/picoDb/zipball/4df08a3cc3c4a39e6bb329872f5d020fe135f805", - "reference": "4df08a3cc3c4a39e6bb329872f5d020fe135f805", + "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", "shasum": "" }, "require": { + "ext-mbstring": "*", "php": ">=5.3.0" }, "require-dev": { - "phpunit/phpunit": "4.8.*" + "phpunit/phpunit": "^4.8.35" }, - "time": "2018-03-05T22:39:16+00:00", + "time": "2018-03-08T01:11:30+00:00", "type": "library", "installation-source": "dist", "autoload": { "psr-0": { - "PicoDb": "lib/" + "Parsedown": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -854,42 +706,54 @@ ], "authors": [ { - "name": "Frédéric Guillot", - "homepage": "https://github.com/fguillot/" + "name": "Emanuil Rusev", + "email": "hello@erusev.com", + "homepage": "http://erusev.com" } ], - "description": "Minimalist database query builder", - "homepage": "https://github.com/fguillot/picoDb" + "description": "Parser for Markdown.", + "homepage": "http://parsedown.org", + "keywords": [ + "markdown", + "parser" + ] }, { - "name": "erusev/parsedown", - "version": "1.7.1", - "version_normalized": "1.7.1.0", + "name": "symfony/polyfill-mbstring", + "version": "v1.8.0", + "version_normalized": "1.8.0.0", "source": { "type": "git", - "url": "https://github.com/erusev/parsedown.git", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1" + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "3296adf6a6454a050679cde90f95350ad604b171" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/erusev/parsedown/zipball/92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", - "reference": "92e9c27ba0e74b8b028b111d1b6f956a15c01fc1", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171", + "reference": "3296adf6a6454a050679cde90f95350ad604b171", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=5.3.0" + "php": ">=5.3.3" }, - "require-dev": { - "phpunit/phpunit": "^4.8.35" + "suggest": { + "ext-mbstring": "For best performance" }, - "time": "2018-03-08T01:11:30+00:00", + "time": "2018-04-26T10:06:28+00:00", "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.8-dev" + } + }, "installation-source": "dist", "autoload": { - "psr-0": { - "Parsedown": "" - } + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -897,16 +761,22 @@ ], "authors": [ { - "name": "Emanuil Rusev", - "email": "hello@erusev.com", - "homepage": "http://erusev.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Parser for Markdown.", - "homepage": "http://parsedown.org", + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", "keywords": [ - "markdown", - "parser" + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" ] }, { diff --git a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php b/vendor/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php deleted file mode 100644 index 7f8c0a04..00000000 --- a/vendor/fguillot/json-rpc/src/JsonRPC/Validator/HostValidator.php +++ /dev/null @@ -1,30 +0,0 @@ -<?php - -namespace JsonRPC\Validator; - -use JsonRPC\Exception\AccessDeniedException; - -/** - * Class HostValidator - * - * @package JsonRPC\Validator - * @author Frederic Guillot - */ -class HostValidator -{ - /** - * Validate - * - * @static - * @access public - * @param array $hosts - * @param string $remoteAddress - * @throws AccessDeniedException - */ - public static function validate(array $hosts, $remoteAddress) - { - if (! empty($hosts) && ! in_array($remoteAddress, $hosts)) { - throw new AccessDeniedException('Access Forbidden'); - } - } -} diff --git a/vendor/symfony/polyfill-mbstring/Mbstring.php b/vendor/symfony/polyfill-mbstring/Mbstring.php index 67cf9ab8..4bd326e5 100644 --- a/vendor/symfony/polyfill-mbstring/Mbstring.php +++ b/vendor/symfony/polyfill-mbstring/Mbstring.php @@ -78,7 +78,7 @@ final class Mbstring public static function mb_convert_encoding($s, $toEncoding, $fromEncoding = null) { - if (is_array($fromEncoding) || false !== strpos($fromEncoding, ',')) { + if (\is_array($fromEncoding) || false !== strpos($fromEncoding, ',')) { $fromEncoding = self::mb_detect_encoding($s, $fromEncoding); } else { $fromEncoding = self::getEncoding($fromEncoding); @@ -140,16 +140,16 @@ final class Mbstring public static function mb_decode_numericentity($s, $convmap, $encoding = null) { - if (null !== $s && !is_scalar($s) && !(is_object($s) && method_exists($s, '__toString'))) { + if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { trigger_error('mb_decode_numericentity() expects parameter 1 to be string, '.gettype($s).' given', E_USER_WARNING); return null; } - if (!is_array($convmap) || !$convmap) { + if (!\is_array($convmap) || !$convmap) { return false; } - if (null !== $encoding && !is_scalar($encoding)) { + if (null !== $encoding && !\is_scalar($encoding)) { trigger_error('mb_decode_numericentity() expects parameter 3 to be string, '.gettype($s).' given', E_USER_WARNING); return ''; // Instead of null (cf. mb_encode_numericentity). } @@ -170,7 +170,7 @@ final class Mbstring $s = iconv($encoding, 'UTF-8//IGNORE', $s); } - $cnt = floor(count($convmap) / 4) * 4; + $cnt = floor(\count($convmap) / 4) * 4; for ($i = 0; $i < $cnt; $i += 4) { // collector_decode_htmlnumericentity ignores $convmap[$i + 3] @@ -197,21 +197,21 @@ final class Mbstring public static function mb_encode_numericentity($s, $convmap, $encoding = null, $is_hex = false) { - if (null !== $s && !is_scalar($s) && !(is_object($s) && method_exists($s, '__toString'))) { + if (null !== $s && !\is_scalar($s) && !(\is_object($s) && \method_exists($s, '__toString'))) { trigger_error('mb_encode_numericentity() expects parameter 1 to be string, '.gettype($s).' given', E_USER_WARNING); return null; } - if (!is_array($convmap) || !$convmap) { + if (!\is_array($convmap) || !$convmap) { return false; } - if (null !== $encoding && !is_scalar($encoding)) { + if (null !== $encoding && !\is_scalar($encoding)) { trigger_error('mb_encode_numericentity() expects parameter 3 to be string, '.gettype($s).' given', E_USER_WARNING); return null; // Instead of '' (cf. mb_decode_numericentity). } - if (null !== $is_hex && !is_scalar($is_hex)) { + if (null !== $is_hex && !\is_scalar($is_hex)) { trigger_error('mb_encode_numericentity() expects parameter 4 to be boolean, '.gettype($s).' given', E_USER_WARNING); return null; } @@ -234,9 +234,9 @@ final class Mbstring static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); - $cnt = floor(count($convmap) / 4) * 4; + $cnt = floor(\count($convmap) / 4) * 4; $i = 0; - $len = strlen($s); + $len = \strlen($s); $result = ''; while ($i < $len) { @@ -305,7 +305,7 @@ final class Mbstring static $ulenMask = array("\xC0" => 2, "\xD0" => 2, "\xE0" => 3, "\xF0" => 4); $i = 0; - $len = strlen($s); + $len = \strlen($s); while ($i < $len) { $ulen = $s[$i] < "\x80" ? 1 : $ulenMask[$s[$i] & "\xF0"]; @@ -314,7 +314,7 @@ final class Mbstring if (isset($map[$uchr])) { $uchr = $map[$uchr]; - $nlen = strlen($uchr); + $nlen = \strlen($uchr); if ($nlen == $ulen) { $nlen = $i; @@ -404,7 +404,7 @@ final class Mbstring if (null === $encodingList) { $encodingList = self::$encodingList; } else { - if (!is_array($encodingList)) { + if (!\is_array($encodingList)) { $encodingList = array_map('trim', explode(',', $encodingList)); } $encodingList = array_map('strtoupper', $encodingList); @@ -441,7 +441,7 @@ final class Mbstring return self::$encodingList; } - if (!is_array($encodingList)) { + if (!\is_array($encodingList)) { $encodingList = array_map('trim', explode(',', $encodingList)); } $encodingList = array_map('strtoupper', $encodingList); @@ -467,7 +467,7 @@ final class Mbstring { $encoding = self::getEncoding($encoding); if ('CP850' === $encoding || 'ASCII' === $encoding) { - return strlen($s); + return \strlen($s); } return @iconv_strlen($s, $encoding); @@ -679,13 +679,13 @@ final class Mbstring public static function mb_chr($code, $encoding = null) { if (0x80 > $code %= 0x200000) { - $s = chr($code); + $s = \chr($code); } elseif (0x800 > $code) { - $s = chr(0xC0 | $code >> 6).chr(0x80 | $code & 0x3F); + $s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F); } elseif (0x10000 > $code) { - $s = chr(0xE0 | $code >> 12).chr(0x80 | $code >> 6 & 0x3F).chr(0x80 | $code & 0x3F); + $s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); } else { - $s = chr(0xF0 | $code >> 18).chr(0x80 | $code >> 12 & 0x3F).chr(0x80 | $code >> 6 & 0x3F).chr(0x80 | $code & 0x3F); + $s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F); } if ('UTF-8' !== $encoding = self::getEncoding($encoding)) { @@ -735,7 +735,7 @@ final class Mbstring while (isset($m[$i])) { if (0x80 > $m[$i]) { - $entities .= chr($m[$i++]); + $entities .= \chr($m[$i++]); continue; } if (0xF0 <= $m[$i]) { diff --git a/vendor/symfony/polyfill-mbstring/composer.json b/vendor/symfony/polyfill-mbstring/composer.json index 4febcdd5..49b720dd 100644 --- a/vendor/symfony/polyfill-mbstring/composer.json +++ b/vendor/symfony/polyfill-mbstring/composer.json @@ -28,7 +28,7 @@ "minimum-stability": "dev", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "1.8-dev" } } } |