Compare commits
312 Commits
feature/Mo
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| e3f4196e42 | |||
| 13dfca6944 | |||
| 4e15508d80 | |||
| 6502abf6ba | |||
| f68da24f87 | |||
| ef816ecf1a | |||
| aed3eac4b8 | |||
| d891fefae8 | |||
| 8c80c27ea9 | |||
| 92761f3d85 | |||
| 1ba7b7ad33 | |||
| 5f3d47f20d | |||
| bf3da20652 | |||
| 0c092ed928 | |||
| c748a65d71 | |||
| 7f78643d0e | |||
| 6c93df7b4e | |||
| eda828a708 | |||
| 945cea8b7c | |||
| 25de0b8d12 | |||
| 9dc5ad1672 | |||
| 8a313bc694 | |||
| f09c599d82 | |||
| be22f27b6d | |||
| 06b200094d | |||
| 09d778b68d | |||
| cc15afd890 | |||
| 4a3cac8f60 | |||
| 7572634526 | |||
| c13c3eec4f | |||
| 1f3dadfd21 | |||
| 152c53859c | |||
| c3cd28938a | |||
| e01f8af9ce | |||
| a751b01146 | |||
| 9f46de09f4 | |||
| 194a6be744 | |||
| 5ac7033aa1 | |||
| 525e9a35c1 | |||
| e8d4c893c0 | |||
| fef34df435 | |||
| a33e509b14 | |||
| 4fe3a6639a | |||
| 82aea4f73a | |||
| cce2aff5da | |||
| 7f5693b623 | |||
| 333f7f6b1d | |||
| 57c15fca36 | |||
| 16c13c96d4 | |||
| 3adae42e13 | |||
| 3b7ecb6279 | |||
| 6e04ee70c9 | |||
| 1be6647903 | |||
| 6895c17781 | |||
| ff783398b1 | |||
| 3cd4b5f93a | |||
| 09c9706e05 | |||
| 825f7f5c4a | |||
| b17f6d62b3 | |||
| 68820281b2 | |||
| 4484a23cc4 | |||
| 4a602184d3 | |||
| 55be4808a1 | |||
| f9c03367da | |||
| 8929de84f7 | |||
| d72c6d9476 | |||
| fb83c28919 | |||
| 73b54e058b | |||
| 3fda9384b0 | |||
| 2ee3a85fbe | |||
| 60f2bb8fef | |||
| 6b133e8388 | |||
| 90dbf28bd1 | |||
| 496d91ff3c | |||
| a1a520d4b2 | |||
| bf3b1b1955 | |||
| bc0be3565a | |||
| 8737c2f13f | |||
| d1a20eb06e | |||
| 3227cec406 | |||
| 0f41c64ddb | |||
| 5c8ff8600c | |||
| a1abc0c809 | |||
| 7d75d11b50 | |||
| 58b1a5b424 | |||
| 74e0ca4fa2 | |||
| 74b2aafe3c | |||
| 82f68cf520 | |||
| d04277192e | |||
| fd6a1a2f74 | |||
| b07af1cc18 | |||
| 68b967ca0a | |||
| 181e24efc1 | |||
| 0ba636ba7f | |||
| f7cacc6a61 | |||
| 6d2d376358 | |||
| 6e087ac049 | |||
|
|
70892a332d | ||
| a595442cac | |||
| 0a006e81ef | |||
| be767b2c34 | |||
| 2c259f2a07 | |||
| 8c22d00faf | |||
| a1960a6164 | |||
| 09b742ddf5 | |||
| 0fec755244 | |||
| f6d3405bc8 | |||
| 33be4a79d8 | |||
| ffd098ddcd | |||
| 7f8d1de28d | |||
| 82da3e6527 | |||
| 8f6fbed5ec | |||
| 5a915ca77c | |||
| b86f3e3900 | |||
| eddd90f1ab | |||
| 025c6de857 | |||
| 15d12263d4 | |||
| f779338879 | |||
| 8d64f5ed42 | |||
| b20aca0c1b | |||
| 9bf2e2c450 | |||
| df0f111571 | |||
| a7b71d538c | |||
| 510cd46ff6 | |||
| fdf6ed0229 | |||
| 598b5d0a85 | |||
| c15b7fc33e | |||
| 071f46e5fd | |||
| f70c17bc69 | |||
| 195333136f | |||
| b52adf3144 | |||
| 6d311e5054 | |||
| 00f38fa56c | |||
| 93ab6d9298 | |||
| b2f53e63e0 | |||
| e2efa1e9b4 | |||
| 704ab8c742 | |||
| 75cdb8c0ea | |||
| 4da8997786 | |||
| cab8782281 | |||
| 4c5149f21d | |||
| 92da2191df | |||
| 1ef37d47f5 | |||
| afd1b2bfb2 | |||
| 0b728b3e61 | |||
| 43b73417c4 | |||
| 2f077574bf | |||
| 7cc0bb5e1d | |||
| 019d38fe71 | |||
| 550466fb1f | |||
| d428b2a660 | |||
| 220f2903bf | |||
| d6ee4198ae | |||
| bba4103d8a | |||
| 638f399929 | |||
| b4b41aa431 | |||
| 8da5157f93 | |||
| eea7530563 | |||
| 8729f6ccc8 | |||
| 386161064f | |||
| 60af3b04ee | |||
| 32181a9c9e | |||
| 1cb0fc8a4e | |||
| 6873371cd7 | |||
| ea343fdabc | |||
| 59be998b44 | |||
| 32c1a6585f | |||
| 87020dd47d | |||
| 9d79008230 | |||
| 2988fe27be | |||
| 193907efc0 | |||
| 59309e7ea9 | |||
| dbd59cf54e | |||
| bbdcd5946e | |||
| 6b0737a929 | |||
| f9377ba14d | |||
| 72ef5d0836 | |||
| 9e821fda61 | |||
| 38570211ac | |||
| f5a63dd9ad | |||
| 2b698b026e | |||
| fca19d1018 | |||
| 157e6ea8ed | |||
| 8379c03474 | |||
| 6e6c090a3b | |||
| 9f5bd0720c | |||
| b0404b0ee1 | |||
| 30f1cc0994 | |||
| 95d51e05d7 | |||
| c1443e6313 | |||
| a939a8b4dd | |||
| d6ed4324db | |||
| a35f1c5cac | |||
| 7f30268db5 | |||
| 33a739cd5a | |||
| 2de5d92ac9 | |||
| 31acf9172b | |||
| 7f14c2e444 | |||
| ee473209d2 | |||
| f259928f95 | |||
| e375fa4df7 | |||
| 557b934434 | |||
| 84b30d6d61 | |||
| 2c732d375f | |||
| 5bcba57fb3 | |||
| aaa258f6d1 | |||
| 84566fa7cd | |||
| 21f085f9e9 | |||
| 9f45a1575f | |||
| cde2435693 | |||
| 85cf0e1a84 | |||
| e5ee119819 | |||
| e46b154362 | |||
| 29e0d2b52c | |||
| 5e6efdd63b | |||
| fad540afae | |||
| d37e3bb930 | |||
| 438e77fe07 | |||
| 73bb0ff43e | |||
| 36b70ebd80 | |||
| f37aff119c | |||
| 2b098d2977 | |||
| b199436934 | |||
| 176417b508 | |||
| 1961c74290 | |||
| 88186d90b1 | |||
| 00cb5135d8 | |||
| bd6cb118b1 | |||
| 6db01fba80 | |||
| 9ea40beefa | |||
| 993d5129ab | |||
| 2fe3ed8e02 | |||
| c2a5387d63 | |||
| 6d282e589f | |||
| 61922ba1a8 | |||
| fd5cd04ffb | |||
| 08737a18fa | |||
| 420ecd95b4 | |||
| 17731d5b5d | |||
| 7791252860 | |||
| 435aa9c18e | |||
| 8521f581d6 | |||
| 836ded1b56 | |||
| e5807d98fa | |||
| bb639337c0 | |||
| a80f0f1cfd | |||
| ddabd0a9e8 | |||
| 55d2fce4d8 | |||
| 57bef21034 | |||
| 650af8ea7e | |||
| ae9b427e99 | |||
| 0601905158 | |||
| fa07c3ec89 | |||
| f96fd82517 | |||
| 6708b1ee0a | |||
| 062a0df5a8 | |||
| bc5b09aa45 | |||
| 0200c195e1 | |||
| 74fbcca896 | |||
| fbff3c0923 | |||
| a3b113f342 | |||
| f8c3d6f33e | |||
| 1ff25282a3 | |||
| 44e6e41a8b | |||
| 5d1063a42d | |||
| 30124d66c5 | |||
|
|
be708dc549 | ||
| af6c781d81 | |||
| cdf69d3170 | |||
| ddd51a64b8 | |||
| 5935b6182d | |||
| a03e7e1091 | |||
| c367ea2e51 | |||
| 07a0896bff | |||
| ac5becd634 | |||
| 8724fa0cab | |||
| a060e5c7f7 | |||
| 9d196f78cb | |||
| 920af2894d | |||
| 98a90a14c4 | |||
| 52ed386d34 | |||
| 8484aa1014 | |||
| fa2be30fbf | |||
| 7e8cc923b4 | |||
| 53a0aaab1c | |||
| 23d19c8d71 | |||
| 7f0fcdbe45 | |||
| b06f5ad5c7 | |||
| b1c51afcf9 | |||
| 86a4a91855 | |||
| 7b13209c5c | |||
| 9a97cf08b3 | |||
| 5dd1605879 | |||
| e864b35d5e | |||
| a7e13e23c0 | |||
| f6e0c6988f | |||
| 8fcf7d42f0 | |||
| 81fca4c581 | |||
|
|
145c4d3049 | ||
| 9946c54b9e | |||
| 0335d1aad5 | |||
| f48b215777 | |||
| b3938af954 | |||
| 9c89f43246 | |||
| 5d216fe34e | |||
| f4826d10c4 | |||
| 3403ddeccd | |||
| 176a86edab | |||
| b8f58a63b5 | |||
| f7037fbc01 | |||
| 1fdba573b5 | |||
| 1b391a2814 |
@@ -9,7 +9,7 @@
|
||||
"-p", "80:80",
|
||||
"-p", "9003:9003"
|
||||
],
|
||||
"appPort": [80, 9003],
|
||||
// "appPort": [80, 9003],
|
||||
"forwardPorts": [80, 9003],
|
||||
"workspaceFolder": "/var/www/html/pvm",
|
||||
"postCreateCommand": "",
|
||||
|
||||
@@ -3,7 +3,7 @@ charset = utf-8
|
||||
end_of_line = crlf
|
||||
indent_size = 4
|
||||
indent_style = space
|
||||
insert_final_newline = false
|
||||
insert_final_newline = true
|
||||
max_line_length = 120
|
||||
tab_width = 4
|
||||
trim_trailing_whitespace = true
|
||||
@@ -197,7 +197,7 @@ ij_typescript_class_method_decorator_wrap = off
|
||||
ij_typescript_comma_on_new_line = false
|
||||
ij_typescript_do_while_brace_force = never
|
||||
ij_typescript_else_on_new_line = false
|
||||
ij_typescript_enforce_trailing_comma = keep
|
||||
ij_typescript_enforce_trailing_comma = whenmultiline
|
||||
ij_typescript_enum_constants_wrap = on_every_item
|
||||
ij_typescript_extends_keyword_wrap = off
|
||||
ij_typescript_extends_list_wrap = off
|
||||
@@ -208,8 +208,8 @@ ij_typescript_for_brace_force = never
|
||||
ij_typescript_for_statement_new_line_after_left_paren = false
|
||||
ij_typescript_for_statement_right_paren_on_new_line = false
|
||||
ij_typescript_for_statement_wrap = off
|
||||
ij_typescript_force_quote_style = false
|
||||
ij_typescript_force_semicolon_style = false
|
||||
ij_typescript_force_quote_style = true
|
||||
ij_typescript_force_semicolon_style = true
|
||||
ij_typescript_function_expression_brace_style = end_of_line
|
||||
ij_typescript_function_parameter_decorator_wrap = off
|
||||
ij_typescript_if_brace_force = never
|
||||
@@ -383,7 +383,7 @@ ij_javascript_class_method_decorator_wrap = off
|
||||
ij_javascript_comma_on_new_line = false
|
||||
ij_javascript_do_while_brace_force = never
|
||||
ij_javascript_else_on_new_line = false
|
||||
ij_javascript_enforce_trailing_comma = keep
|
||||
ij_javascript_enforce_trailing_comma = whenmultiline
|
||||
ij_javascript_extends_keyword_wrap = off
|
||||
ij_javascript_extends_list_wrap = off
|
||||
ij_javascript_field_prefix = _
|
||||
@@ -393,8 +393,8 @@ ij_javascript_for_brace_force = never
|
||||
ij_javascript_for_statement_new_line_after_left_paren = false
|
||||
ij_javascript_for_statement_right_paren_on_new_line = false
|
||||
ij_javascript_for_statement_wrap = off
|
||||
ij_javascript_force_quote_style = false
|
||||
ij_javascript_force_semicolon_style = false
|
||||
ij_javascript_force_quote_style = true
|
||||
ij_javascript_force_semicolon_style = true
|
||||
ij_javascript_function_expression_brace_style = end_of_line
|
||||
ij_javascript_function_parameter_decorator_wrap = off
|
||||
ij_javascript_if_brace_force = never
|
||||
@@ -542,7 +542,7 @@ ij_php_array_initializer_new_line_after_left_brace = true
|
||||
ij_php_array_initializer_right_brace_on_new_line = true
|
||||
ij_php_array_initializer_wrap = normal
|
||||
ij_php_assignment_wrap = normal
|
||||
ij_php_attributes_wrap = off
|
||||
ij_php_attributes_wrap = split_into_lines
|
||||
ij_php_author_weight = 28
|
||||
ij_php_binary_operation_sign_on_next_line = true
|
||||
ij_php_binary_operation_wrap = normal
|
||||
@@ -733,7 +733,7 @@ ij_php_spaces_within_parentheses = false
|
||||
ij_php_spaces_within_short_echo_tags = true
|
||||
ij_php_spaces_within_switch_parentheses = false
|
||||
ij_php_spaces_within_while_parentheses = false
|
||||
ij_php_special_else_if_treatment = true
|
||||
ij_php_special_else_if_treatment = false
|
||||
ij_php_subpackage_weight = 28
|
||||
ij_php_ternary_operation_signs_on_next_line = false
|
||||
ij_php_ternary_operation_wrap = off
|
||||
@@ -835,6 +835,3 @@ ij_yaml_sequence_on_new_line = false
|
||||
ij_yaml_space_before_colon = false
|
||||
ij_yaml_spaces_within_braces = true
|
||||
ij_yaml_spaces_within_brackets = true
|
||||
|
||||
[*.php]
|
||||
insert_final_newline = true
|
||||
@@ -1,5 +1,6 @@
|
||||
NODE_ENV=development
|
||||
|
||||
LOGIN_JWT=true
|
||||
AZIENDA=integry
|
||||
ENABLED_PROFILES=
|
||||
|
||||
@@ -7,4 +8,4 @@ SERVICES_BASE_URL=http://localhost:8080
|
||||
PUBLIC_URL=http://localhost/pvm
|
||||
|
||||
SC_PROJECT=
|
||||
SC_SECURITY=
|
||||
SC_SECURITY=
|
||||
|
||||
@@ -4,11 +4,11 @@ module.exports = {
|
||||
env: {
|
||||
browser: true,
|
||||
es6: true,
|
||||
jquery: true
|
||||
jquery: true,
|
||||
},
|
||||
parserOptions: {
|
||||
ecmaVersion: 2022,
|
||||
sourceType: "module"
|
||||
sourceType: "module",
|
||||
},
|
||||
rules: {
|
||||
"no-redeclare": "off",
|
||||
@@ -16,7 +16,8 @@ module.exports = {
|
||||
"no-unused-vars": "warn",
|
||||
"no-extra-semi": "warn",
|
||||
"no-useless-escape": "warn",
|
||||
"no-delete-var": "warn"
|
||||
"no-delete-var": "warn",
|
||||
"no-warning-comments": ["error", {"terms": ["DONOTPUSH"]}],
|
||||
},
|
||||
ignorePatterns: ["public_html/assets/**", "public_html/vendor/**", "public_html/dist/**"],
|
||||
overrides: [
|
||||
@@ -32,4 +33,4 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
};
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -25,6 +25,8 @@
|
||||
# Mutagen project lock files
|
||||
*.lock
|
||||
|
||||
docker-compose.override.yml
|
||||
|
||||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
|
||||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
|
||||
|
||||
|
||||
12
.idea/php.xml
generated
12
.idea/php.xml
generated
@@ -70,7 +70,6 @@
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/phpseclib/phpseclib" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/electrolinux/phpquery" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/composer" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/phpoffice/phpexcel" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/phpoption/phpoption" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/mobiledetect/mobiledetectlib" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/mike42/escpos-php" />
|
||||
@@ -82,6 +81,17 @@
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/psr/cache" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/psr/simple-cache" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/phpfastcache/phpfastcache" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/integrydev/phpexcel" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/ralouphie/getallheaders" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/paragonie/random_compat" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/guzzlehttp/promises" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/guzzlehttp/guzzle" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/guzzlehttp/psr7" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/psr/http-message" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/symfony/polyfill-php72" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/symfony/polyfill-intl-idn" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/symfony/polyfill-intl-normalizer" />
|
||||
<path value="$PROJECT_DIR$/public_html/vendor/symfony/polyfill-php70" />
|
||||
</include_path>
|
||||
</component>
|
||||
<component name="PhpInterpreters">
|
||||
|
||||
1
.idea/pvm.iml
generated
1
.idea/pvm.iml
generated
@@ -32,7 +32,6 @@
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/mike42/escpos-php" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/mobiledetect/mobiledetectlib" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/nategood/httpful" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/phpoffice/phpexcel" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/phpoption/phpoption" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/phpseclib/phpseclib" />
|
||||
<excludeFolder url="file://$MODULE_DIR$/public_html/vendor/symfony/polyfill-ctype" />
|
||||
|
||||
1
.idea/runConfigurations/PVM.xml
generated
1
.idea/runConfigurations/PVM.xml
generated
@@ -2,7 +2,6 @@
|
||||
<configuration default="false" name="PVM" type="docker-deploy" factoryName="docker-compose.yml" server-name="Docker">
|
||||
<deployment type="docker-compose.yml">
|
||||
<settings>
|
||||
<option name="envFilePath" value="" />
|
||||
<option name="commandLineOptions" value="--build" />
|
||||
<option name="sourceFilePath" value="docker-compose.yml" />
|
||||
</settings>
|
||||
|
||||
12
.idea/runConfigurations/lint.xml
generated
Normal file
12
.idea/runConfigurations/lint.xml
generated
Normal file
@@ -0,0 +1,12 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="lint" type="js.build_tools.npm" nameIsGenerated="true">
|
||||
<package-json value="$PROJECT_DIR$/package.json" />
|
||||
<command value="run" />
|
||||
<scripts>
|
||||
<script value="lint" />
|
||||
</scripts>
|
||||
<node-interpreter value="project" />
|
||||
<envs />
|
||||
<method v="2" />
|
||||
</configuration>
|
||||
</component>
|
||||
1
.idea/sqldialects.xml
generated
1
.idea/sqldialects.xml
generated
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="SqlDialectMappings">
|
||||
<file url="file://$PROJECT_DIR$/public_html/gest-lib/macchinari_prod/sql/getProductionLineData.sql" dialect="TSQL" />
|
||||
<file url="PROJECT" dialect="TSQL" />
|
||||
</component>
|
||||
</project>
|
||||
@@ -62,30 +62,54 @@ pipeline {
|
||||
script {
|
||||
if (env.BRANCH_NAME == 'develop') {
|
||||
archiveArtifacts artifacts: 'public_html.zip', onlyIfSuccessful: true
|
||||
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sudo /bin/chmod -R 777 /var/www/dev/pvm/cache', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
||||
ftpPublisher alwaysPublishFromMaster: false, masterNodeName: '',
|
||||
paramPublish: [parameterName: ""], continueOnError: false, failOnError: false,
|
||||
publishers: [[configName: 'Production Linux Web Server (ftp.studioml.it)', transfers: [[asciiMode: false, cleanRemote: true, excludes: '', flatten: false, makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/dev/pvm', remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
|
||||
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
|
||||
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sudo /bin/chmod -R 777 /var/www/dev/pvm/cache',
|
||||
execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+',
|
||||
remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
// ftpPublisher alwaysPublishFromMaster: false, masterNodeName: '',
|
||||
// paramPublish: [parameterName: ""], continueOnError: false, failOnError: false,
|
||||
// publishers: [[configName: 'Production Linux Web Server (ftp.studioml.it)',
|
||||
// transfers: [[asciiMode: false, cleanRemote: true, excludes: '', flatten: false, makeEmptyDirs: true,
|
||||
// noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/dev/pvm', remoteDirectorySDF: false,
|
||||
// removePrefix: 'public_html/', sourceFiles: 'public_html/']], usePromotionTimestamp: false,
|
||||
// useWorkspaceInPromotion: false, verbose: false]]
|
||||
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13) (integry)',
|
||||
transfers: [sshTransfer(cleanRemote: true, excludes: 'public_html/cache/', execCommand: '', execTimeout: 120000, flatten: false,
|
||||
makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/dev/pvm',
|
||||
remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
sshPublisher(publishers: [
|
||||
sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
|
||||
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /bin/mkdir /var/www/dev/pvm/cache
|
||||
sudo /bin/chmod -R 777 /var/www/dev/pvm/cache''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false,
|
||||
patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false,
|
||||
removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
|
||||
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /bin/mkdir /var/www/dev/pvm/cache
|
||||
sudo /bin/chmod -R 777 /var/www/dev/pvm/cache''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false,
|
||||
patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false,
|
||||
removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
} else if (env.BRANCH_NAME == 'master') {
|
||||
archiveArtifacts artifacts: 'exports\\*.zip', onlyIfSuccessful: true
|
||||
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'sudo /bin/chmod -R 777 /var/www/portale/cache', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
|
||||
ftpPublisher alwaysPublishFromMaster: false, masterNodeName: '',
|
||||
paramPublish: [parameterName: ""], continueOnError: false, failOnError: false,
|
||||
publishers: [[configName: 'Production Linux Web Server (ftp.studioml.it)', transfers: [[asciiMode: false, cleanRemote: true, excludes: 'public_html/cache/', flatten: false, makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/portale', remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
|
||||
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
|
||||
transfers: [sshTransfer(cleanRemote: false, excludes: '',
|
||||
execCommand: 'sudo /bin/chmod -R 777 /var/www/portale/cache', execTimeout: 120000, flatten: false,
|
||||
makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '',
|
||||
remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
// ftpPublisher alwaysPublishFromMaster: false, masterNodeName: '',
|
||||
// paramPublish: [parameterName: ""], continueOnError: false, failOnError: false,
|
||||
// publishers: [[configName: 'Production Linux Web Server (ftp.studioml.it)', transfers: [[asciiMode: false, cleanRemote: true, excludes: 'public_html/cache/', flatten: false, makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/portale', remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/']], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false]]
|
||||
sshPublisher(publishers: [sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13) (integry)',
|
||||
transfers: [sshTransfer(cleanRemote: true, excludes: 'public_html/cache/',
|
||||
execCommand: '', execTimeout: 120000, flatten: false,
|
||||
makeEmptyDirs: true, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/portale',
|
||||
remoteDirectorySDF: false, removePrefix: 'public_html/', sourceFiles: 'public_html/')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
sshPublisher(publishers: [
|
||||
sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
|
||||
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /bin/mkdir /var/www/portale/cache
|
||||
sudo /bin/chmod -R 777 /var/www/portale/cache''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false,
|
||||
patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false,
|
||||
removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
sshPublisherDesc(configName: 'Production Linux Web Server (192.168.3.13)',
|
||||
transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''sudo /bin/mkdir /var/www/portale/cache
|
||||
sudo /bin/chmod -R 777 /var/www/portale/cache''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false,
|
||||
patternSeparator: '[, ]+', remoteDirectory: '', remoteDirectorySDF: false,
|
||||
removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false,
|
||||
useWorkspaceInPromotion: false, verbose: false)])
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -136,4 +160,4 @@ sudo /bin/chmod -R 777 /var/www/portale/cache''', execTimeout: 120000, flatten:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath(false);
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -30,4 +30,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -35,4 +35,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
include_once "config.php";
|
||||
|
||||
if (!isset($_GET["render"])) {
|
||||
require_once "include_login.php";
|
||||
}
|
||||
include_once "config.php";
|
||||
(new AllegatiAjax())->checkAjaxRequests();
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
@@ -29,4 +29,4 @@ include_once "config.php";
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -32,4 +32,4 @@ $className = "AnalisiBudget" . Utility\Str::ucfirst(preg_replace("/[^A-Za-z0-9\\
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -30,4 +30,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
32
public_html/anomalie_merce.php
Normal file
32
public_html/anomalie_merce.php
Normal file
@@ -0,0 +1,32 @@
|
||||
<?php
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath(false);
|
||||
(new Ajax())->checkAjaxRequests();
|
||||
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<!--html manifest="manifest.appcache"-->
|
||||
<html>
|
||||
<head>
|
||||
<?php include pvm_tagHead; ?>
|
||||
</head>
|
||||
<body>
|
||||
<?php include pvm_headerNavbar; ?>
|
||||
<?php include pvm_splashScreen; ?>
|
||||
<?php
|
||||
if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
include pvm_unauthorized;
|
||||
} else {
|
||||
include Controller::current_gestpath_mainPage();
|
||||
} ?>
|
||||
|
||||
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -535,4 +535,4 @@
|
||||
"assets/jquery.sidebar.min.js"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
(new BlacklistArtClie())->checkAjaxRequests();
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -26,4 +26,4 @@ if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
} ?>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -26,4 +26,4 @@ if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
} ?>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
|
||||
8
public_html/checkEnv.php
Normal file
8
public_html/checkEnv.php
Normal file
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
require __DIR__ . "/vendor/autoload.php";
|
||||
|
||||
$dotenv = Dotenv\Dotenv::createImmutable(realpath(__DIR__ . "/."), array(".env", ".env.dev", ".env.prod"), false);
|
||||
|
||||
$dotenv->safeLoad();
|
||||
var_dump(realpath(__DIR__ . "/."));
|
||||
var_dump($_ENV);
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -30,4 +30,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
41
public_html/classes/Api/WmsUtility.php
Normal file
41
public_html/classes/Api/WmsUtility.php
Normal file
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
|
||||
namespace Api;
|
||||
|
||||
use EntityItem;
|
||||
|
||||
class WmsUtility extends Api {
|
||||
protected static $group = "wms";
|
||||
|
||||
public static function getDepositiWMS() {
|
||||
$imsApi = self::imsApi();
|
||||
|
||||
$imsApi
|
||||
->get("depositi");
|
||||
|
||||
$ret = $imsApi->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
$ret->set_data($ret->getDto());
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function getArticoliWMS($data) {
|
||||
$imsApi = self::imsApi();
|
||||
|
||||
$imsApi
|
||||
->get("articolo")
|
||||
->body($data);
|
||||
|
||||
$ret = $imsApi->send();
|
||||
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
$ret->set_data($ret->getDto());
|
||||
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
@@ -160,7 +160,9 @@ class EntityList implements Countable {
|
||||
if ($arr_entityRet[$i]["esito"] == 1) {
|
||||
$this->entityResult = array();
|
||||
foreach ($arr_entityRet as $entityRet) {
|
||||
$this->entityResult[] = $entityRet["entity"];
|
||||
if (isset($entityRet["entity"])) {
|
||||
$this->entityResult[] = $entityRet["entity"];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$Ret->set_error($arr_entityRet[$i]["errorMessage"]);
|
||||
@@ -177,4 +179,4 @@ class EntityList implements Countable {
|
||||
public static function is_entityList($value) {
|
||||
return gettype($value) == "object" && get_class($value) == "EntityList";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ class ErrorHandler {
|
||||
const EMSCONNECT = 0;
|
||||
const EMSHTTP = 1;
|
||||
const EMSHTTP400 = 2;
|
||||
const EMSHTTP401 = 401;
|
||||
const EMSPARSE = 3;
|
||||
const EMSNOMESSAGE = 4;
|
||||
const UNEXPECTED_AJAX_METHOD = 5;
|
||||
@@ -40,16 +41,19 @@ class ErrorHandler {
|
||||
// sostituito switch/case con if/elseif perche non veniva cfatta la comparazione col tipo
|
||||
if ($errorCode === self::EMSCONNECT) {
|
||||
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p1}</b></span><hr class='mt-0 mb-10'/>" : "")
|
||||
. "Il servizio EMS non è raggiungibile";
|
||||
. "Il servizio EMS non è raggiungibile";
|
||||
|
||||
} else if ($errorCode === self::EMSHTTP) {
|
||||
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p3}</b></span><hr class='mt-0 mb-10'/>" : "")
|
||||
. "La chiamata al servizio ha restituito l'errore http <u>" . blankIfNull($p1) . "</u>" . (!is_null($p2) ? "<div class='mt-10 text-muted text-monospace small'>{$p2}</div>" : "");
|
||||
. "La chiamata al servizio ha restituito l'errore http <u>" . blankIfNull($p1) . "</u>"
|
||||
. (!is_null($p2) ? "<div class='mt-10 text-muted text-monospace small'>{$p2}</div>" : "");
|
||||
|
||||
} else if ($errorCode === self::EMSHTTP400) {
|
||||
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p1}</b></span><hr class='mt-0 mb-10'/>" : "")
|
||||
. "La chiamata al servizio ha restituito l'errore http <u>400</u> (Bad Request)" . (!is_null($p2) ? "<div class='mt-10 text-muted text-monospace small'>{$p2}</div>" : "");
|
||||
|
||||
. "La chiamata al servizio ha restituito l'errore http <u>400</u> (Bad Request)"
|
||||
. (!is_null($p2) ? "<div class='mt-10 text-muted text-monospace small'>{$p2}</div>" : "");
|
||||
} else if ($errorCode === self::EMSHTTP401) {
|
||||
return $p2;
|
||||
} else if ($errorCode === self::EMSHTTP550) {
|
||||
return "<span class='text-monospace'>Licenza <b>non valida</b></span>";
|
||||
|
||||
@@ -57,12 +61,13 @@ class ErrorHandler {
|
||||
return "<span class='text-monospace'>Application name non valorizzato</span>";
|
||||
|
||||
} else if ($errorCode === self::EMSPARSE) {
|
||||
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p1}</b></span><hr class='mt-0 mb-10'/>" : "") .
|
||||
"Parse della risposta del servizio <b>" . blankIfNull($p1) . "</b> fallita";
|
||||
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p1}</b></span><hr class='mt-0 mb-10'/>" : "")
|
||||
.
|
||||
"Parse della risposta del servizio <b>" . blankIfNull($p1) . "</b> fallita";
|
||||
|
||||
} else if ($errorCode === self::EMSNOMESSAGE) {
|
||||
return (!is_null($p1) ? "<span class='text-monospace'>Servizio <b>{$p1}</b></span><hr class='mt-0 mb-10'/>" : "")
|
||||
. "Messaggio di errore non pervenuto";
|
||||
. "Messaggio di errore non pervenuto";
|
||||
|
||||
} else if ($errorCode === self::MISSINGINPUTSECRET) {
|
||||
return "Parametro secret mancante";
|
||||
@@ -143,7 +148,8 @@ class ErrorHandler {
|
||||
if (\GestSetup::isGestSetupObject($GestSetup)) {
|
||||
$description = $GestSetup->getDescription();
|
||||
|
||||
$message = "<span class='small font-italic text-uppercase'>" . $GestSetup->getGestName() . " > " . $GestSetup->getSection() . " > <b>" . $GestSetup->getKeySection() . "</b></span>";
|
||||
$message = "<span class='small font-italic text-uppercase'>" . $GestSetup->getGestName() . " > "
|
||||
. $GestSetup->getSection() . " > <b>" . $GestSetup->getKeySection() . "</b></span>";
|
||||
if (!is_null($description)) {
|
||||
$message .= " <span class='text-xs opacity-90 font-italic'>(" . ucfirst($description) . ")</span>";
|
||||
}
|
||||
@@ -155,7 +161,9 @@ class ErrorHandler {
|
||||
}
|
||||
|
||||
public static function get_title($errorCode, $p1 = null, $p2 = null, $p3 = null) {
|
||||
if (in_array($errorCode, array(self::EMSHTTP400, self::EMSHTTP, self::EMSPARSE, self::EMSNOMESSAGE, self::EMSCONNECT))) {
|
||||
if (in_array($errorCode, array(
|
||||
self::EMSHTTP400, self::EMSHTTP, self::EMSPARSE, self::EMSNOMESSAGE, self::EMSCONNECT
|
||||
))) {
|
||||
return "Servizio non disponibile";
|
||||
|
||||
} else if (in_array($errorCode, array(self::UNEXPECTED_AJAX_METHOD, self::UNEXPECTED_METHOD))) {
|
||||
@@ -173,9 +181,13 @@ class ErrorHandler {
|
||||
} else if (in_array($errorCode, array(self::UNAUTHORIZED_USER))) {
|
||||
return "Utente non autorizzato";
|
||||
|
||||
} else if (in_array($errorCode, array(self::APIXU_MISSING_INVALID_KEY, self::APIXU_MISSING_Q, self::APIXU_INVALID_URL, self::APIXU_LOCATION_NOT_FOUND, self::APIXU_DAY_UNAVAILABLE, self::APIXU_INVALID_KEY, self::APIXU_EXCEED_QUOTA, self::APIXU_DISABLED_KEY, self::APIXU_INTERNAL_ERROR))) {
|
||||
} else if (in_array($errorCode, array(
|
||||
self::APIXU_MISSING_INVALID_KEY, self::APIXU_MISSING_Q, self::APIXU_INVALID_URL,
|
||||
self::APIXU_LOCATION_NOT_FOUND, self::APIXU_DAY_UNAVAILABLE, self::APIXU_INVALID_KEY,
|
||||
self::APIXU_EXCEED_QUOTA, self::APIXU_DISABLED_KEY, self::APIXU_INTERNAL_ERROR
|
||||
))) {
|
||||
return "Servizio meteo non disponibile";
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -42,6 +42,16 @@ class GestSetupWebUser extends GestSetup {
|
||||
$Ret = new Ret;
|
||||
if ($this->checkKey()) {
|
||||
if ($this->check_userGrant()) {
|
||||
$entityList = new EntityList();
|
||||
|
||||
$parentEntityItem = new EntityItem(parent::$setupTable);
|
||||
$parentEntityItem->insert_or_update()
|
||||
->set("gestName", $this->gest_name)
|
||||
->set("section", $this->getSection())
|
||||
->set("keySection", $this->key_section)
|
||||
->set("flagSetupUserWeb", "S");
|
||||
|
||||
$entityList->push($parentEntityItem);
|
||||
|
||||
$EntityItem = new \EntityItem(self::$setupTable);
|
||||
$EntityItem->insert_or_update()
|
||||
@@ -51,7 +61,9 @@ class GestSetupWebUser extends GestSetup {
|
||||
->set("keySection", $this->key_section)
|
||||
->set("value", $value);
|
||||
|
||||
$Ret = $EntityItem->send();
|
||||
$entityList->push($EntityItem);
|
||||
|
||||
$Ret = $entityList->send();
|
||||
|
||||
} else {
|
||||
$Ret->set_error("Utente non abilitato");
|
||||
|
||||
@@ -13,6 +13,7 @@ class IMSApi {
|
||||
private $endpoint = null;
|
||||
private $profileDB = null;
|
||||
private $queryParams = array();
|
||||
private $accessToken = null;
|
||||
private $authUsername = null;
|
||||
private $authPassword = null;
|
||||
private $anonymousAuth = false;
|
||||
@@ -68,6 +69,11 @@ class IMSApi {
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function accessToken($value) {
|
||||
$this->accessToken = $value;
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function authUsername($value) {
|
||||
$this->authUsername = $value;
|
||||
return $this;
|
||||
@@ -107,18 +113,24 @@ class IMSApi {
|
||||
|
||||
if ($type == Format::strftimeYMD) {
|
||||
$type = Format::strtotimeYMD;
|
||||
} else if ($type == Format::strftimeYMDHMS) {
|
||||
$type = Format::strtotimeYMDHMS;
|
||||
} else if ($type == Format::strftimeSlashedYMD) {
|
||||
$type = "Y/m/d";
|
||||
} else {
|
||||
if ($type == Format::strftimeYMDHMS) {
|
||||
$type = Format::strtotimeYMDHMS;
|
||||
} else {
|
||||
if ($type == Format::strftimeSlashedYMD) {
|
||||
$type = "Y/m/d";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$value = $dateTime->format($type);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
}
|
||||
} else if ($type == \Format::latLng1) {
|
||||
} else {
|
||||
if ($type == \Format::latLng1) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -195,16 +207,28 @@ class IMSApi {
|
||||
}
|
||||
|
||||
public function attach($name, $file, $fileName = null) {
|
||||
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||
$fileName = $fileName ?: array_get($file, "name");
|
||||
$path = array_get($file, "tmp_name");
|
||||
$mimeType = finfo_file($finfo, $path);
|
||||
if (function_exists('curl_file_create')) {
|
||||
$this->body[$name] = curl_file_create($path, $mimeType, $fileName);
|
||||
if (USE_GUZZLE) {
|
||||
if (!is_array($this->body)) {
|
||||
$this->body = array();
|
||||
}
|
||||
|
||||
$this->body[] = array(
|
||||
"name" => $name,
|
||||
"contents" => fopen($file["tmp_name"], "r"),
|
||||
"filename" => $fileName ?: array_get($file, "name"),
|
||||
);
|
||||
} else {
|
||||
$this->body[$name] = '@' . $path;
|
||||
if ($mimeType) {
|
||||
$this->body[$name] .= ';type=' . $mimeType;
|
||||
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||
$fileName = $fileName ?: array_get($file, "name");
|
||||
$path = array_get($file, "tmp_name");
|
||||
$mimeType = finfo_file($finfo, $path);
|
||||
if (function_exists('curl_file_create')) {
|
||||
$this->body[$name] = curl_file_create($path, $mimeType, $fileName);
|
||||
} else {
|
||||
$this->body[$name] = '@' . $path;
|
||||
if ($mimeType) {
|
||||
$this->body[$name] .= ';type=' . $mimeType;
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this;
|
||||
@@ -215,11 +239,16 @@ class IMSApi {
|
||||
if (is_array($this->body)) {
|
||||
if ($this->contentType == Rest::FORM) {
|
||||
return http_build_query($this->body);
|
||||
} else if ($this->contentType == Rest::MULTIPART) {
|
||||
|
||||
return $this->body;
|
||||
} else {
|
||||
return Utility::json_encode($this->body);
|
||||
if ($this->contentType == Rest::MULTIPART) {
|
||||
return $this->body;
|
||||
} else {
|
||||
if (USE_GUZZLE) {
|
||||
return $this->body;
|
||||
} else {
|
||||
return Utility::json_encode($this->body);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return $this->body;
|
||||
@@ -253,12 +282,18 @@ class IMSApi {
|
||||
$profileDb
|
||||
= !is_null($this->profileDB) ? $this->profileDB : (isset($GLOBALS["profileDB"]) ? $GLOBALS["profileDB"] : null);
|
||||
return array("username" => $profileDb, "password" => $profileDb);
|
||||
} else if (!is_null($this->authUsername) && !is_null($this->authPassword)) {
|
||||
return array("username" => $this->authUsername, "password" => $this->authPassword);
|
||||
} else if (!is_null($this->authUsername)) {
|
||||
return array("username" => $this->authUsername);
|
||||
} else if (\User::is_authenticated() && isset($_SESSION["password"])) {
|
||||
return array("username" => $_SESSION["username"], "password" => $_SESSION["password"]);
|
||||
} else {
|
||||
if (!is_null($this->authUsername) && !is_null($this->authPassword)) {
|
||||
return array("username" => $this->authUsername, "password" => $this->authPassword);
|
||||
} else {
|
||||
if (!is_null($this->authUsername)) {
|
||||
return array("username" => $this->authUsername);
|
||||
} else {
|
||||
if (\User::is_authenticated() && isset($_SESSION["password"])) {
|
||||
return array("username" => $_SESSION["username"], "password" => $_SESSION["password"]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
@@ -296,18 +331,33 @@ class IMSApi {
|
||||
|
||||
$Rest->header("X-App-Token", self::X_APP_TOKEN);
|
||||
|
||||
$credentials = $this->get_authCredentials();
|
||||
if (!is_null($credentials)) {
|
||||
if (array_get($credentials, "username")) {
|
||||
$Rest->authUsername($credentials["username"]);
|
||||
}
|
||||
if (LOGIN_JWT) {
|
||||
if (!$this->anonymousAuth) {
|
||||
if (is_null($this->accessToken)) {
|
||||
$this->accessToken = array_get($_SESSION, "accessToken");
|
||||
}
|
||||
|
||||
if (array_get($credentials, "password")) {
|
||||
$Rest->authPassword($credentials["password"]);
|
||||
if (!$this->accessToken) {
|
||||
return $Ret->set_error(sprintf("Access token mancante al servizio <i>%s</i>", $this->serviceName));
|
||||
}
|
||||
|
||||
$Rest->header("Authorization", "Bearer $this->accessToken");
|
||||
}
|
||||
} else {
|
||||
return $Ret->set_error("Credenziali di autenticazione al servizio <i>" . $this->serviceName
|
||||
. "</i> non valide");
|
||||
$credentials = $this->get_authCredentials();
|
||||
|
||||
if (!is_null($credentials)) {
|
||||
if (array_get($credentials, "username")) {
|
||||
$Rest->authUsername($credentials["username"]);
|
||||
}
|
||||
|
||||
if (array_get($credentials, "password")) {
|
||||
$Rest->authPassword($credentials["password"]);
|
||||
}
|
||||
} else {
|
||||
return $Ret->set_error("Credenziali di autenticazione al servizio <i>" . $this->serviceName
|
||||
. "</i> non valide");
|
||||
}
|
||||
}
|
||||
|
||||
/********************************** HERE IT IS PERFORMED THE REST APIs CALL *************************************/
|
||||
@@ -327,6 +377,44 @@ class IMSApi {
|
||||
if ($Ret->is_OK()) {
|
||||
@$Ret->set_Response(new IMSApi\Response($retData));
|
||||
}
|
||||
} else {
|
||||
if (!\Utility\Str::contains("auth/refresh", $this->serviceName)
|
||||
&& $Ret->get_errorCode() == ErrorHandler::EMSHTTP401
|
||||
&& isset($_SESSION["refreshToken"])
|
||||
&& isset($_SESSION["deviceId"])) {
|
||||
$imsApi = new IMSApi();
|
||||
|
||||
$ret = $imsApi
|
||||
->post("auth/refresh")
|
||||
->anonymousAuth()
|
||||
->profileDB($this->profileDB)
|
||||
->body(array(
|
||||
"refreshToken" => $_SESSION["refreshToken"],
|
||||
"deviceId" => $_SESSION["deviceId"],
|
||||
))
|
||||
->send();
|
||||
|
||||
if ($ret->is_KO()) {
|
||||
unset($_SESSION["accessToken"]);
|
||||
User::logout();
|
||||
|
||||
// non posso impostare alcun header perchè è già partito l'output con echo ┑( ̄Д  ̄)┍
|
||||
echo "<script type='text/javascript'>window.location.href = 'login.php';</script>";
|
||||
|
||||
return Ret::error();
|
||||
}
|
||||
|
||||
$data = $ret->getDto();
|
||||
|
||||
$this->accessToken = $data["accessToken"];
|
||||
|
||||
$_SESSION["accessToken"] = $data["accessToken"];
|
||||
$_SESSION["refreshToken"] = $data["refreshToken"];
|
||||
$_SESSION["expiryDate"] = $data["expiryDate"];
|
||||
$_SESSION["expiresIn"] = $data["expireIn"];
|
||||
|
||||
return self::send();
|
||||
}
|
||||
}
|
||||
|
||||
return $Ret;
|
||||
|
||||
@@ -12,6 +12,7 @@ use MyCLabs\Enum\Enum;
|
||||
* @method static self DATE()
|
||||
* @method static self DATETIME()
|
||||
* @method static self TIME()
|
||||
* @method static self DROPDOWNLIST()
|
||||
*/
|
||||
class TipoValore extends Enum {
|
||||
const TESTO = 0;
|
||||
@@ -21,4 +22,5 @@ class TipoValore extends Enum {
|
||||
const DATE = 4;
|
||||
const DATETIME = 5;
|
||||
const TIME = 6;
|
||||
}
|
||||
const DROPDOWNLIST = 7;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,11 @@ class Response extends \IMSApi {
|
||||
return $this;
|
||||
}
|
||||
|
||||
private function is_list() {
|
||||
public function get_entityList() {
|
||||
return $this->entityList;
|
||||
}
|
||||
|
||||
public function is_list() {
|
||||
return $this->listResponse !== false && is_array($this->listResponse);
|
||||
}
|
||||
|
||||
@@ -133,4 +137,4 @@ class Response extends \IMSApi {
|
||||
}
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -517,7 +517,7 @@ class JasperProcessor {
|
||||
return $itemList;
|
||||
}
|
||||
|
||||
private function getJasperDTO() {
|
||||
public function getJasperDTO() {
|
||||
$JasperDTO = new EntityItem();
|
||||
|
||||
$JasperDTO
|
||||
|
||||
@@ -35,6 +35,7 @@ class Rest {
|
||||
private $isDirect = false;
|
||||
|
||||
// <editor-fold desc="SETTERS" defaultstate="collapsed">
|
||||
|
||||
public function post() {
|
||||
return $this->method(self::POST);
|
||||
}
|
||||
@@ -223,8 +224,6 @@ class Rest {
|
||||
|
||||
// </editor-fold>
|
||||
|
||||
|
||||
/************************************ CONNECTION BETWEEN PHP AND REST APIs *****************************************/
|
||||
public function send() {
|
||||
$Ret = new Ret;
|
||||
$ret = array("headers" => null, "url" => null, "payload" => null, "http_code" => null, "body" => null);
|
||||
@@ -232,167 +231,154 @@ class Rest {
|
||||
try {
|
||||
$url = $this->get_url();
|
||||
|
||||
/************************ creation of REQUEST OBJ ************************/
|
||||
switch ($this->method) {
|
||||
case self::POST:
|
||||
$req = \Httpful\Request::post($url);
|
||||
|
||||
break;
|
||||
case self::PUT:
|
||||
$req = \Httpful\Request::put($url);
|
||||
|
||||
break;
|
||||
case self::PATCH:
|
||||
$req = \Httpful\Request::patch($url);
|
||||
|
||||
break;
|
||||
case self::DELETE:
|
||||
$req = \Httpful\Request::delete($url);
|
||||
|
||||
break;
|
||||
default:
|
||||
$req = \Httpful\Request::get($url);
|
||||
}
|
||||
|
||||
$credentials = $this->get_authCredentials();
|
||||
if (!is_null($credentials)) {
|
||||
$req->authenticateWith($credentials["username"], $credentials["password"]);
|
||||
}
|
||||
|
||||
foreach ($this->headers as $k => $v) {
|
||||
$req->addHeader($k, $v);
|
||||
}
|
||||
/***************** here the body of Rest is passed to Request *******************/
|
||||
if (!is_null($this->publicKey)) {
|
||||
$req->body(self::encryptRsa(json_encode($this->body), $this->publicKey));
|
||||
} else {
|
||||
$req->body($this->body);
|
||||
}
|
||||
if (USE_GUZZLE) {
|
||||
$client = new \GuzzleHttp\Client(array(
|
||||
"auth" => is_null($credentials) ? null : array($credentials["username"], $credentials["password"]),
|
||||
"timeout" => $this->timeout,
|
||||
));
|
||||
|
||||
if ($this->contentType == self::APPLICATIONJSON) {
|
||||
$req->sendsJson();
|
||||
} else if ($this->contentType == self::FORM) {
|
||||
$req->sendsType(Httpful\Mime::FORM);
|
||||
} else if ($this->contentType == self::MULTIPART) {
|
||||
$req->sendsType(Httpful\Mime::UPLOAD);
|
||||
}
|
||||
$req = new \GuzzleHttp\Psr7\Request($this->method ?: "GET", $url, $this->headers);
|
||||
|
||||
if ($this->timeout > 0) {
|
||||
$req->timeoutIn($this->timeout);
|
||||
}
|
||||
$options = array();
|
||||
|
||||
$ret["headers"] = $req->headers;
|
||||
|
||||
/************************** if there's password, overwrites it with asterisks in ret *************** */
|
||||
if (isset($ret["headers"]["password"])) {
|
||||
$ret["headers"]["password"] = str_pad("", strlen($ret["headers"]["password"]), "*");
|
||||
/****** last option: STR_PAD_RIGHT default */
|
||||
}
|
||||
|
||||
$ret["payload"] = $req->payload;
|
||||
$ret["url"] = $url;
|
||||
/**************************** FINALLY SEND *******************************/
|
||||
$result = @$req->send();
|
||||
/************* no parameters passed!!! ******************/
|
||||
|
||||
if ($this->isDirect()) {
|
||||
$Ret->set_data($result)->displayData();
|
||||
}
|
||||
|
||||
$httpCode = $result->code;
|
||||
$rawHeaders = $result->raw_headers;
|
||||
$ret["http_code"] = $httpCode;
|
||||
$ret["body"] = $result->raw_body;
|
||||
$Ret->set_number($httpCode);
|
||||
|
||||
$rawResponse = $result->raw_body;
|
||||
if (!is_null($this->privateKey)) {
|
||||
$rawResponse = self::decryptRsa($rawResponse, $this->privateKey);
|
||||
}
|
||||
$retData = $this->isDownload() ? null : json_decode($rawResponse, true);
|
||||
if (!isset($retData[0])) {
|
||||
$retData = array($retData);
|
||||
}
|
||||
if ($httpCode == 200) {
|
||||
|
||||
if ($this->isDownload()) {
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: private", false); // required for certain browsers
|
||||
|
||||
$headers = explode("\r\n", $rawHeaders);
|
||||
|
||||
$headers = array_filter($headers, function ($header) {
|
||||
return
|
||||
strpos($header, "Content-Disposition:") === 0
|
||||
|| strpos($header, "Content-Type:") === 0
|
||||
|| strpos($header, "Content-Length:") === 0;
|
||||
});
|
||||
|
||||
$contentDisposition = from($headers)->where(function ($header) {
|
||||
return strpos($header, "Content-Disposition:") === 0;
|
||||
})->firstOrDefault();
|
||||
|
||||
if ($this->isDirectDownload) {
|
||||
header("Cache-Control: private, max-age=86400, must-revalidate");
|
||||
header("Cache-Control: private", false);
|
||||
|
||||
foreach ($headers as $header) {
|
||||
header($header);
|
||||
}
|
||||
|
||||
if ($this->downloadType === "inline") {
|
||||
$fileName = strpos($contentDisposition, "filename");
|
||||
|
||||
if ($fileName) {
|
||||
header("Content-Disposition: inline; "
|
||||
. substr($contentDisposition, $fileName, strlen($contentDisposition)));
|
||||
} else {
|
||||
header("Content-Disposition: inline");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$retData = $rawResponse;
|
||||
$Ret->set_data($retData);
|
||||
if ($this->contentType == self::APPLICATIONJSON) {
|
||||
$options["json"] = !is_null($this->publicKey) ?
|
||||
self::encryptRsa(json_encode($this->body), $this->publicKey) :
|
||||
$this->body;
|
||||
} else {
|
||||
if (isset($retData[0]["esito"])) {
|
||||
if ($retData[0]["esito"] == 1) {
|
||||
$Ret->set_data($retData);
|
||||
} else {
|
||||
if ($retData) {
|
||||
$Ret->set_data($retData);
|
||||
}
|
||||
if ($this->contentType == self::FORM) {
|
||||
$options["body"] = !is_null($this->publicKey) ?
|
||||
self::encryptRsa(json_encode($this->body), $this->publicKey) :
|
||||
$this->body;
|
||||
|
||||
if (isset($retData[0]["errorMessage"])) {
|
||||
$Ret->set_error($retData[0]["errorMessage"]);
|
||||
} else {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSNOMESSAGE, $this->service);
|
||||
}
|
||||
}
|
||||
$req = $req->withHeader("Content-Type", "application/x-www-form-urlencoded");
|
||||
} else {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSPARSE, $this->service);
|
||||
$suffixPath = "EMSPARSE-" . User::get_current_username();
|
||||
$logPath = Utility::write_log("Parse error rest call: " . $result->raw_body, $suffixPath);
|
||||
if ($logPath !== false && PVM::isDebugEnv()) {
|
||||
$Ret->append_errorText("<br/><span class='small text-monospace'>Consulta <a href='{$logPath}' download>"
|
||||
. basename($logPath) . "</a></span>");
|
||||
if ($this->contentType == self::MULTIPART) {
|
||||
$options["multipart"] = $this->body;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if ($httpCode == 400) {
|
||||
$errorLog = "400";
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP400, $this->service, array_get($retData, "0.errorMessage"));
|
||||
} else if ($httpCode == 550) {
|
||||
$errorLog = "550";
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP550, $this->service);
|
||||
} else if ($httpCode == 551) {
|
||||
$errorLog = "551";
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP551, $this->service);
|
||||
} else {
|
||||
$errorLog = $httpCode;
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP, $httpCode, $rawHeaders, $this->service);
|
||||
}
|
||||
|
||||
$result = $client->send($req, $options);
|
||||
|
||||
$rawResponse = $result->getBody()->getContents();
|
||||
|
||||
if (!is_null($this->privateKey)) {
|
||||
$rawResponse = self::decryptRsa($rawResponse, $this->privateKey);
|
||||
}
|
||||
|
||||
$headers = array();
|
||||
|
||||
foreach ($result->getHeaders() as $name => $values) {
|
||||
$headers[] = $name . ": " . implode(", ", $values);
|
||||
}
|
||||
|
||||
$Ret = self::manageResponse($result->getStatusCode(), $headers, $rawResponse);
|
||||
|
||||
if ($Ret->is_KO()) {
|
||||
$errorLog = $result->getStatusCode();
|
||||
}
|
||||
} else {
|
||||
switch ($this->method) {
|
||||
case self::POST:
|
||||
$req = \Httpful\Request::post($url);
|
||||
|
||||
break;
|
||||
case self::PUT:
|
||||
$req = \Httpful\Request::put($url);
|
||||
|
||||
break;
|
||||
case self::PATCH:
|
||||
$req = \Httpful\Request::patch($url);
|
||||
|
||||
break;
|
||||
case self::DELETE:
|
||||
$req = \Httpful\Request::delete($url);
|
||||
|
||||
break;
|
||||
default:
|
||||
$req = \Httpful\Request::get($url);
|
||||
}
|
||||
|
||||
if (!is_null($credentials)) {
|
||||
$req->authenticateWith($credentials["username"], $credentials["password"]);
|
||||
}
|
||||
|
||||
foreach ($this->headers as $k => $v) {
|
||||
$req->addHeader($k, $v);
|
||||
}
|
||||
/***************** here the body of Rest is passed to Request *******************/
|
||||
if (!is_null($this->publicKey)) {
|
||||
$req->body(self::encryptRsa(json_encode($this->body), $this->publicKey));
|
||||
} else {
|
||||
$req->body($this->body);
|
||||
}
|
||||
|
||||
if ($this->contentType == self::APPLICATIONJSON) {
|
||||
$req->sendsJson();
|
||||
} else {
|
||||
if ($this->contentType == self::FORM) {
|
||||
$req->sendsType(Httpful\Mime::FORM);
|
||||
} else {
|
||||
if ($this->contentType == self::MULTIPART) {
|
||||
$req->sendsType(Httpful\Mime::UPLOAD);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->timeout > 0) {
|
||||
$req->timeoutIn($this->timeout);
|
||||
}
|
||||
|
||||
$result = @$req->send();
|
||||
|
||||
if ($this->isDirect()) {
|
||||
$Ret->set_data($result)->displayData();
|
||||
}
|
||||
|
||||
$ret["headers"] = $req->headers;
|
||||
|
||||
/************************** if there's password, overwrites it with asterisks in ret *************** */
|
||||
if (isset($ret["headers"]["password"])) {
|
||||
$ret["headers"]["password"] = str_pad("", strlen($ret["headers"]["password"]), "*");
|
||||
/****** last option: STR_PAD_RIGHT default */
|
||||
}
|
||||
|
||||
$ret["payload"] = $req->payload;
|
||||
$ret["url"] = $url;
|
||||
|
||||
$httpCode = $result->code;
|
||||
$rawHeaders = $result->raw_headers;
|
||||
$headers = explode("\r\n", $rawHeaders);
|
||||
|
||||
$ret["http_code"] = $httpCode;
|
||||
$ret["body"] = $result->raw_body;
|
||||
|
||||
$Ret->set_number($httpCode);
|
||||
|
||||
$rawResponse = $result->raw_body;
|
||||
if (!is_null($this->privateKey)) {
|
||||
$rawResponse = self::decryptRsa($rawResponse, $this->privateKey);
|
||||
}
|
||||
|
||||
$headers = array_filter($headers, function ($header) {
|
||||
return
|
||||
strpos($header, "Content-Disposition:") === 0
|
||||
|| strpos($header, "Content-Type:") === 0
|
||||
|| strpos($header, "Content-Length:") === 0;
|
||||
});
|
||||
|
||||
$headers[] = "Cache-Control: no-cache";
|
||||
$headers[] = array("Cache-Control: private", false); // required for certain browsers
|
||||
|
||||
$Ret = self::manageResponse($httpCode, $headers, $rawResponse);
|
||||
|
||||
if ($Ret->is_KO()) {
|
||||
$errorLog = $httpCode;
|
||||
}
|
||||
}
|
||||
} catch (Httpful\Exception\ConnectionErrorException $e) {
|
||||
$errorLog = "EMSCONNECT";
|
||||
$Ret
|
||||
@@ -400,6 +386,13 @@ class Rest {
|
||||
->append_errorText(" su <span class='text-monospace'>" . $this->get_endPoint() . "</span>")
|
||||
->set_error($e->getMessage());
|
||||
|
||||
} catch (\GuzzleHttp\Exception\GuzzleException $e) {
|
||||
$errorLog = "EMSCONNECT";
|
||||
$Ret
|
||||
->set_errorCode(ErrorHandler::EMSCONNECT, $this->service)
|
||||
->append_errorText(" su <span class='text-monospace'>" . $this->get_endPoint() . "</span>")
|
||||
->set_error($e->getMessage());
|
||||
|
||||
} catch (Exception $e) {
|
||||
$errorLog = "restCatchError";
|
||||
$Ret->set_error($e->getMessage());
|
||||
@@ -420,6 +413,93 @@ class Rest {
|
||||
return $Ret;
|
||||
}
|
||||
|
||||
private function manageResponse($httpCode, $headers, $rawResponse) {
|
||||
$Ret = new Ret();
|
||||
|
||||
$retData = $this->isDownload() ? $rawResponse : json_decode($rawResponse, true);
|
||||
|
||||
if ($httpCode == 200) {
|
||||
if ($this->isDownload()) {
|
||||
if ($this->isDirectDownload) {
|
||||
$headers[] = "Cache-Control: private, max-age=86400, must-revalidate";
|
||||
|
||||
if ($this->downloadType === "inline") {
|
||||
$contentDisposition = from($headers)->where(function ($header) {
|
||||
return strpos($header, "Content-Disposition:") === 0;
|
||||
})->firstOrDefault();
|
||||
|
||||
$fileName = strpos($contentDisposition, "filename");
|
||||
|
||||
if ($fileName) {
|
||||
$headers[] = "Content-Disposition: inline; "
|
||||
. substr($contentDisposition, $fileName, strlen($contentDisposition));
|
||||
} else {
|
||||
$headers[] = "Content-Disposition: inline";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($headers as $header) {
|
||||
if (is_array($header)) {
|
||||
header($header[0], count($header) > 1 ? $header[1] : true);
|
||||
} else {
|
||||
header($header);
|
||||
}
|
||||
}
|
||||
|
||||
$Ret->set_data($retData);
|
||||
} else {
|
||||
if (!isset($retData[0])) {
|
||||
$retData = array($retData);
|
||||
}
|
||||
|
||||
if (isset($retData[0]["esito"])) {
|
||||
if ($retData[0]["esito"] == 1) {
|
||||
$Ret->set_data($retData);
|
||||
} else {
|
||||
if ($retData) {
|
||||
$Ret->set_data($retData);
|
||||
}
|
||||
|
||||
if (isset($retData[0]["errorMessage"])) {
|
||||
$Ret->set_error($retData[0]["errorMessage"]);
|
||||
} else {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSNOMESSAGE, $this->service);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSPARSE, $this->service);
|
||||
$suffixPath = "EMSPARSE-" . User::get_current_username();
|
||||
$logPath = Utility::write_log("Parse error rest call: " . $rawResponse, $suffixPath);
|
||||
if ($logPath !== false && PVM::isDebugEnv()) {
|
||||
$Ret->append_errorText("<br/><span class='small text-monospace'>Consulta <a href='{$logPath}' download>"
|
||||
. basename($logPath) . "</a></span>");
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($httpCode == 400) {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP400, $this->service, array_get($retData, "0.errorMessage"));
|
||||
} else {
|
||||
if ($httpCode == 401) {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP401, $this->service, array_get($retData, "0.errorMessage"));
|
||||
} else {
|
||||
if ($httpCode == 550) {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP550, $this->service);
|
||||
} else {
|
||||
if ($httpCode == 551) {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP551, $this->service);
|
||||
} else {
|
||||
$Ret->set_errorCode(ErrorHandler::EMSHTTP, $httpCode, $headers, $this->service);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $Ret;
|
||||
}
|
||||
|
||||
private static function encryptRsa($data, $pubKey) {
|
||||
$rsa = new Crypt_RSA;
|
||||
$rsa->loadKey($pubKey);
|
||||
|
||||
@@ -121,4 +121,4 @@ class StbFilesAttached {
|
||||
|
||||
return $Ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -289,6 +289,18 @@ class User {
|
||||
|
||||
public static function logout() {
|
||||
getSession();
|
||||
|
||||
if (LOGIN_JWT && isset($_SESSION["accessToken"])) {
|
||||
$imsApi = new IMSApi();
|
||||
|
||||
$imsApi
|
||||
->put("auth/logout")
|
||||
->body(array(
|
||||
"deviceId" => $_SESSION["deviceId"]
|
||||
))
|
||||
->send();
|
||||
}
|
||||
|
||||
//operazioni e controlli per effettura il logout dell'utente/agente
|
||||
if (isset($_SESSION["login"])) {
|
||||
$_SESSION["login"] = false;
|
||||
|
||||
@@ -421,7 +421,7 @@ class File {
|
||||
public static function rearrangeFilesArray($filePost) {
|
||||
$fileArray = array();
|
||||
|
||||
if (is_array($filePost["name"])) {
|
||||
if (is_array(array_get($filePost,"name"))) {
|
||||
for ($i = 0; $i < count($filePost["name"]); $i++) {
|
||||
foreach (array_keys($filePost) as $key) {
|
||||
$fileArray[$i][$key] = $filePost[$key][$i];
|
||||
@@ -531,4 +531,40 @@ class File {
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
public static function isFileValid($file, ...$allowedMimeTypes) {
|
||||
$ret = new \Ret();
|
||||
|
||||
if (isset($file)) {
|
||||
if (is_uploaded_file($file["tmp_name"])) {
|
||||
if (!empty($allowedMimeTypes)) {
|
||||
$mimeType = mime_content_type($file["tmp_name"]);
|
||||
|
||||
if (!File::checkFileMimeAllowed($mimeType, is_array($allowedMimeTypes) ? $allowedMimeTypes : array($allowedMimeTypes))) {
|
||||
return $ret->set_error(
|
||||
"Il file che hai caricato non è valido.<br>Tipo file: $mimeType, Tipo permesso: " . join(', ', $allowedMimeTypes)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
$ret->set_data($file);
|
||||
} else {
|
||||
switch ($file["error"]) {
|
||||
case UPLOAD_ERR_INI_SIZE:
|
||||
case UPLOAD_ERR_FORM_SIZE:
|
||||
$ret->set_error("Il file che stai caricando è troppo grande.");
|
||||
break;
|
||||
case UPLOAD_ERR_PARTIAL:
|
||||
$ret->set_error("Il file che stai caricando è stata caricata parzialmente.");
|
||||
break;
|
||||
case UPLOAD_ERR_OK:
|
||||
default:
|
||||
$ret->set_error("C'è stato un problema con il caricamento del file.");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -27,4 +27,4 @@ if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
?>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
"require": {
|
||||
"mike42/escpos-php": "^1.4.2",
|
||||
"nategood/httpful": "^0.2.20",
|
||||
"phpoffice/phpexcel": "^1.8.2",
|
||||
"phpseclib/phpseclib": "^1.0",
|
||||
"athari/yalinqo": "^1.0.0.0",
|
||||
"mobiledetect/mobiledetectlib": "^2.8.31",
|
||||
@@ -21,6 +20,14 @@
|
||||
"vlucas/phpdotenv": "^4.3",
|
||||
"ext-simplexml": "*",
|
||||
"myclabs/php-enum": "^1.6",
|
||||
"phpfastcache/phpfastcache": "^6.1"
|
||||
}
|
||||
"phpfastcache/phpfastcache": "^6.1",
|
||||
"integrydev/phpexcel": "1.8.2",
|
||||
"guzzlehttp/guzzle": "^6.5"
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
"url": "https://github.com/integryDev/PHPExcel.git",
|
||||
"type": "git"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
902
public_html/composer.lock
generated
902
public_html/composer.lock
generated
@@ -4,7 +4,7 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "4aaaf487bb2be72b7b7f7cde495b4adb",
|
||||
"content-hash": "b48d592777a01ad3c084f766ac08a05e",
|
||||
"packages": [
|
||||
{
|
||||
"name": "athari/yalinqo",
|
||||
@@ -110,6 +110,360 @@
|
||||
},
|
||||
"time": "2023-05-02T18:27:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/guzzle",
|
||||
"version": "6.5.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/guzzle.git",
|
||||
"reference": "a52f0440530b54fa079ce76e8c5d196a42cad981"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/a52f0440530b54fa079ce76e8c5d196a42cad981",
|
||||
"reference": "a52f0440530b54fa079ce76e8c5d196a42cad981",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-json": "*",
|
||||
"guzzlehttp/promises": "^1.0",
|
||||
"guzzlehttp/psr7": "^1.9",
|
||||
"php": ">=5.5",
|
||||
"symfony/polyfill-intl-idn": "^1.17"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-curl": "*",
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.4 || ^7.0",
|
||||
"psr/log": "^1.1"
|
||||
},
|
||||
"suggest": {
|
||||
"psr/log": "Required for using the Log middleware"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "6.5-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "hello@gjcampbell.co.uk",
|
||||
"homepage": "https://github.com/GrahamCampbell"
|
||||
},
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
},
|
||||
{
|
||||
"name": "Jeremy Lindblom",
|
||||
"email": "jeremeamia@gmail.com",
|
||||
"homepage": "https://github.com/jeremeamia"
|
||||
},
|
||||
{
|
||||
"name": "George Mponos",
|
||||
"email": "gmponos@gmail.com",
|
||||
"homepage": "https://github.com/gmponos"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Nyholm",
|
||||
"email": "tobias.nyholm@gmail.com",
|
||||
"homepage": "https://github.com/Nyholm"
|
||||
},
|
||||
{
|
||||
"name": "Márk Sági-Kazár",
|
||||
"email": "mark.sagikazar@gmail.com",
|
||||
"homepage": "https://github.com/sagikazarmark"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Schultze",
|
||||
"email": "webmaster@tubo-world.de",
|
||||
"homepage": "https://github.com/Tobion"
|
||||
}
|
||||
],
|
||||
"description": "Guzzle is a PHP HTTP client library",
|
||||
"homepage": "http://guzzlephp.org/",
|
||||
"keywords": [
|
||||
"client",
|
||||
"curl",
|
||||
"framework",
|
||||
"http",
|
||||
"http client",
|
||||
"rest",
|
||||
"web service"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/guzzle/issues",
|
||||
"source": "https://github.com/guzzle/guzzle/tree/6.5.8"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/Nyholm",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2022-06-20T22:16:07+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/promises",
|
||||
"version": "1.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/promises.git",
|
||||
"reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e",
|
||||
"reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/phpunit-bridge": "^4.4 || ^5.1"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\Promise\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "hello@gjcampbell.co.uk",
|
||||
"homepage": "https://github.com/GrahamCampbell"
|
||||
},
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Nyholm",
|
||||
"email": "tobias.nyholm@gmail.com",
|
||||
"homepage": "https://github.com/Nyholm"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Schultze",
|
||||
"email": "webmaster@tubo-world.de",
|
||||
"homepage": "https://github.com/Tobion"
|
||||
}
|
||||
],
|
||||
"description": "Guzzle promises library",
|
||||
"keywords": [
|
||||
"promise"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/promises/issues",
|
||||
"source": "https://github.com/guzzle/promises/tree/1.5.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/Nyholm",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-05-21T12:31:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "guzzlehttp/psr7",
|
||||
"version": "1.9.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/guzzle/psr7.git",
|
||||
"reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/guzzle/psr7/zipball/e4490cabc77465aaee90b20cfc9a770f8c04be6b",
|
||||
"reference": "e4490cabc77465aaee90b20cfc9a770f8c04be6b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.4.0",
|
||||
"psr/http-message": "~1.0",
|
||||
"ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
|
||||
},
|
||||
"provide": {
|
||||
"psr/http-message-implementation": "1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-zlib": "*",
|
||||
"phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
|
||||
},
|
||||
"suggest": {
|
||||
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/functions_include.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"GuzzleHttp\\Psr7\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "hello@gjcampbell.co.uk",
|
||||
"homepage": "https://github.com/GrahamCampbell"
|
||||
},
|
||||
{
|
||||
"name": "Michael Dowling",
|
||||
"email": "mtdowling@gmail.com",
|
||||
"homepage": "https://github.com/mtdowling"
|
||||
},
|
||||
{
|
||||
"name": "George Mponos",
|
||||
"email": "gmponos@gmail.com",
|
||||
"homepage": "https://github.com/gmponos"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Nyholm",
|
||||
"email": "tobias.nyholm@gmail.com",
|
||||
"homepage": "https://github.com/Nyholm"
|
||||
},
|
||||
{
|
||||
"name": "Márk Sági-Kazár",
|
||||
"email": "mark.sagikazar@gmail.com",
|
||||
"homepage": "https://github.com/sagikazarmark"
|
||||
},
|
||||
{
|
||||
"name": "Tobias Schultze",
|
||||
"email": "webmaster@tubo-world.de",
|
||||
"homepage": "https://github.com/Tobion"
|
||||
}
|
||||
],
|
||||
"description": "PSR-7 message implementation that also provides common utility methods",
|
||||
"keywords": [
|
||||
"http",
|
||||
"message",
|
||||
"psr-7",
|
||||
"request",
|
||||
"response",
|
||||
"stream",
|
||||
"uri",
|
||||
"url"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/guzzle/psr7/issues",
|
||||
"source": "https://github.com/guzzle/psr7/tree/1.9.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/GrahamCampbell",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/Nyholm",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-04-17T16:00:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "integrydev/phpexcel",
|
||||
"version": "1.8.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/integryDev/PHPExcel.git",
|
||||
"reference": "1284223b0cabb80659a71d5fb968434d0557d7eb"
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"php": "^5.2|^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"squizlabs/php_codesniffer": "2.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"PHPExcel": "Classes/"
|
||||
}
|
||||
},
|
||||
"license": [
|
||||
"LGPL-2.1"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Maarten Balliauw",
|
||||
"homepage": "http://blog.maartenballiauw.be"
|
||||
},
|
||||
{
|
||||
"name": "Mark Baker",
|
||||
"homepage": "http://markbakeruk.net"
|
||||
},
|
||||
{
|
||||
"name": "Franck Lefevre",
|
||||
"homepage": "http://rootslabs.net"
|
||||
},
|
||||
{
|
||||
"name": "Erik Tilt"
|
||||
}
|
||||
],
|
||||
"description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
|
||||
"homepage": "https://github.com/integryDev/PHPExcel",
|
||||
"keywords": [
|
||||
"Excel",
|
||||
"OpenXML",
|
||||
"PHP",
|
||||
"spreadsheet",
|
||||
"xls",
|
||||
"xlsx"
|
||||
],
|
||||
"time": "2025-10-17T08:38:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "jdorn/sql-formatter",
|
||||
"version": "v1.2.17",
|
||||
@@ -388,6 +742,60 @@
|
||||
},
|
||||
"time": "2015-10-26T16:11:30+00:00"
|
||||
},
|
||||
{
|
||||
"name": "paragonie/random_compat",
|
||||
"version": "v2.0.21",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/paragonie/random_compat.git",
|
||||
"reference": "96c132c7f2f7bc3230723b66e89f8f150b29d5ae"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/paragonie/random_compat/zipball/96c132c7f2f7bc3230723b66e89f8f150b29d5ae",
|
||||
"reference": "96c132c7f2f7bc3230723b66e89f8f150b29d5ae",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"lib/random.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Paragon Initiative Enterprises",
|
||||
"email": "security@paragonie.com",
|
||||
"homepage": "https://paragonie.com"
|
||||
}
|
||||
],
|
||||
"description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
|
||||
"keywords": [
|
||||
"csprng",
|
||||
"polyfill",
|
||||
"pseudorandom",
|
||||
"random"
|
||||
],
|
||||
"support": {
|
||||
"email": "info@paragonie.com",
|
||||
"issues": "https://github.com/paragonie/random_compat/issues",
|
||||
"source": "https://github.com/paragonie/random_compat"
|
||||
},
|
||||
"time": "2022-02-16T17:07:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpfastcache/phpfastcache",
|
||||
"version": "6.1.5",
|
||||
@@ -499,73 +907,6 @@
|
||||
],
|
||||
"time": "2021-08-12T11:55:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpoffice/phpexcel",
|
||||
"version": "1.8.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/PHPOffice/PHPExcel.git",
|
||||
"reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/PHPOffice/PHPExcel/zipball/1441011fb7ecdd8cc689878f54f8b58a6805f870",
|
||||
"reference": "1441011fb7ecdd8cc689878f54f8b58a6805f870",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"php": "^5.2|^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"squizlabs/php_codesniffer": "2.*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"PHPExcel": "Classes/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"LGPL-2.1"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Maarten Balliauw",
|
||||
"homepage": "http://blog.maartenballiauw.be"
|
||||
},
|
||||
{
|
||||
"name": "Erik Tilt"
|
||||
},
|
||||
{
|
||||
"name": "Franck Lefevre",
|
||||
"homepage": "http://rootslabs.net"
|
||||
},
|
||||
{
|
||||
"name": "Mark Baker",
|
||||
"homepage": "http://markbakeruk.net"
|
||||
}
|
||||
],
|
||||
"description": "PHPExcel - OpenXML - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
|
||||
"homepage": "https://github.com/PHPOffice/PHPExcel",
|
||||
"keywords": [
|
||||
"OpenXML",
|
||||
"excel",
|
||||
"php",
|
||||
"spreadsheet",
|
||||
"xls",
|
||||
"xlsx"
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/PHPOffice/PHPExcel/issues",
|
||||
"source": "https://github.com/PHPOffice/PHPExcel/tree/master"
|
||||
},
|
||||
"abandoned": "phpoffice/phpspreadsheet",
|
||||
"time": "2018-11-22T23:07:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpoption/phpoption",
|
||||
"version": "1.7.5",
|
||||
@@ -802,6 +1143,59 @@
|
||||
},
|
||||
"time": "2016-08-06T20:24:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/http-message",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/php-fig/http-message.git",
|
||||
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
|
||||
"reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Psr\\Http\\Message\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "PHP-FIG",
|
||||
"homepage": "http://www.php-fig.org/"
|
||||
}
|
||||
],
|
||||
"description": "Common interface for HTTP messages",
|
||||
"homepage": "https://github.com/php-fig/http-message",
|
||||
"keywords": [
|
||||
"http",
|
||||
"http-message",
|
||||
"psr",
|
||||
"psr-7",
|
||||
"request",
|
||||
"response"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/php-fig/http-message/tree/master"
|
||||
},
|
||||
"time": "2016-08-06T14:39:51+00:00"
|
||||
},
|
||||
{
|
||||
"name": "psr/simple-cache",
|
||||
"version": "1.0.1",
|
||||
@@ -853,6 +1247,50 @@
|
||||
},
|
||||
"time": "2017-10-23T01:57:42+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
"version": "3.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/ralouphie/getallheaders.git",
|
||||
"reference": "120b605dfeb996808c31b6477290a714d356e822"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
|
||||
"reference": "120b605dfeb996808c31b6477290a714d356e822",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6"
|
||||
},
|
||||
"require-dev": {
|
||||
"php-coveralls/php-coveralls": "^2.1",
|
||||
"phpunit/phpunit": "^5 || ^6.5"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"src/getallheaders.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Ralph Khattar",
|
||||
"email": "ralph.khattar@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "A polyfill for getallheaders.",
|
||||
"support": {
|
||||
"issues": "https://github.com/ralouphie/getallheaders/issues",
|
||||
"source": "https://github.com/ralouphie/getallheaders/tree/develop"
|
||||
},
|
||||
"time": "2019-03-08T08:55:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.19.0",
|
||||
@@ -932,6 +1370,334 @@
|
||||
],
|
||||
"time": "2020-10-23T09:01:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-idn",
|
||||
"version": "v1.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-idn.git",
|
||||
"reference": "4ad5115c0f5d5172a9fe8147675ec6de266d8826"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/4ad5115c0f5d5172a9fe8147675ec6de266d8826",
|
||||
"reference": "4ad5115c0f5d5172a9fe8147675ec6de266d8826",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"symfony/polyfill-intl-normalizer": "^1.10",
|
||||
"symfony/polyfill-php70": "^1.10",
|
||||
"symfony/polyfill-php72": "^1.10"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "1.19-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Intl\\Idn\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Laurent Bassin",
|
||||
"email": "laurent@bassin.info"
|
||||
},
|
||||
{
|
||||
"name": "Trevor Rowbotham",
|
||||
"email": "trevor.rowbotham@pm.me"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"idn",
|
||||
"intl",
|
||||
"polyfill",
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.19.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-21T09:57:48+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-intl-normalizer",
|
||||
"version": "v1.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-intl-normalizer.git",
|
||||
"reference": "8db0ae7936b42feb370840cf24de1a144fb0ef27"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8db0ae7936b42feb370840cf24de1a144fb0ef27",
|
||||
"reference": "8db0ae7936b42feb370840cf24de1a144fb0ef27",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-intl": "For best performance"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "1.19-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Intl\\Normalizer\\": ""
|
||||
},
|
||||
"classmap": [
|
||||
"Resources/stubs"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill for intl's Normalizer class and related functions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"intl",
|
||||
"normalizer",
|
||||
"polyfill",
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.19.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-23T09:01:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php70",
|
||||
"version": "v1.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php70.git",
|
||||
"reference": "3fe414077251a81a1b15b1c709faf5c2fbae3d4e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/3fe414077251a81a1b15b1c709faf5c2fbae3d4e",
|
||||
"reference": "3fe414077251a81a1b15b1c709faf5c2fbae3d4e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"paragonie/random_compat": "~1.0|~2.0|~9.99",
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "1.19-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Php70\\": ""
|
||||
},
|
||||
"classmap": [
|
||||
"Resources/stubs"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"polyfill",
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php70/tree/v1.19.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-23T09:01:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-php72",
|
||||
"version": "v1.19.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-php72.git",
|
||||
"reference": "beecef6b463b06954638f02378f52496cb84bacc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/beecef6b463b06954638f02378f52496cb84bacc",
|
||||
"reference": "beecef6b463b06954638f02378f52496cb84bacc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"thanks": {
|
||||
"url": "https://github.com/symfony/polyfill",
|
||||
"name": "symfony/polyfill"
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "1.19-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
"bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"Symfony\\Polyfill\\Php72\\": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nicolas Grekas",
|
||||
"email": "p@tchwork.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
|
||||
"homepage": "https://symfony.com",
|
||||
"keywords": [
|
||||
"compatibility",
|
||||
"polyfill",
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/polyfill-php72/tree/v1.19.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://symfony.com/sponsor",
|
||||
"type": "custom"
|
||||
},
|
||||
{
|
||||
"url": "https://github.com/fabpot",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2020-10-23T09:01:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "vlucas/phpdotenv",
|
||||
"version": "v4.3.0",
|
||||
|
||||
@@ -1925,6 +1925,9 @@
|
||||
"shortTitle": "CMMS",
|
||||
"pages": "macchinari_prod.php",
|
||||
"position": [],
|
||||
"children": [
|
||||
"modal_selezione_articoli"
|
||||
],
|
||||
"icon": "icon.png",
|
||||
"libs": [
|
||||
"std-pkg",
|
||||
@@ -1934,7 +1937,8 @@
|
||||
"chart-js",
|
||||
"air-datepicker",
|
||||
"select2",
|
||||
"kendo"
|
||||
"kendo",
|
||||
"visibility"
|
||||
],
|
||||
"requirePermission": true,
|
||||
"includeAssetsSubDirs": true
|
||||
@@ -2241,5 +2245,27 @@
|
||||
"std-pkg"
|
||||
],
|
||||
"requirePermission": true
|
||||
},
|
||||
"ordini_v_slim2k": {
|
||||
"title": "Ordini di vendita Slim2k",
|
||||
"pages": "ordini_v_slim2k.php",
|
||||
"position": [],
|
||||
"children": [],
|
||||
"icon": "icon.png",
|
||||
"libs": [
|
||||
"std-pkg"
|
||||
],
|
||||
"requirePermission": true
|
||||
},
|
||||
"anomalie_merce": {
|
||||
"title": "Anomalie Merce",
|
||||
"pages": "anomalie_merce.php",
|
||||
"position": [],
|
||||
"children": [],
|
||||
"icon": "icon.png",
|
||||
"libs": [
|
||||
"std-pkg"
|
||||
],
|
||||
"requirePermission": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,9 @@ ini_set("default_charset", "UTF-8");
|
||||
if (!defined("ROOT")) {
|
||||
define("ROOT", __DIR__);
|
||||
}
|
||||
if (!defined('PHP_FLOAT_EPSILON')) {
|
||||
define('PHP_FLOAT_EPSILON', 2.2204460492503e-16);
|
||||
}
|
||||
|
||||
require __DIR__ . "/vendor/autoload.php";
|
||||
|
||||
@@ -17,6 +20,9 @@ $dotenv->safeLoad();
|
||||
//$dotenv->required(array("AZIENDA", "SERVICES_BASE_URL"))->notEmpty();
|
||||
//$dotenv->required("APP_ENV")->allowedValues(array("DEV", "PROD"))->notEmpty();
|
||||
|
||||
define("LOGIN_JWT", array_key_exists("LOGIN_JWT", $_ENV) && $_ENV["LOGIN_JWT"] == "true");
|
||||
define("USE_GUZZLE", !array_key_exists("USE_GUZZLE", $_ENV) || $_ENV["USE_GUZZLE"] == "true");
|
||||
|
||||
try {
|
||||
$cacheManager = \phpFastCache\CacheManager::getInstance("sqlite");
|
||||
} catch (\phpFastCache\Exceptions\phpFastCacheDriverCheckException $e) {
|
||||
|
||||
1
public_html/config_aziende/CAPELLI_MONELLI/custom.css
Normal file
1
public_html/config_aziende/CAPELLI_MONELLI/custom.css
Normal file
@@ -0,0 +1 @@
|
||||
nav#nb-main .navbar-center #titlebar{color:#2f363d}.navbar-default{background-color:#f5f5f5;border-color:#e0e0e0}.navbar-default .navbar-brand{color:#2f363d}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#2f363d}.navbar-default .navbar-text{color:#2f363d}.navbar-default .navbar-nav>li>a{color:#2f363d}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#2f363d}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#fff !important;background-color:#63221c}.navbar-default .navbar-nav>.open:not(.active)>a,.navbar-default .navbar-nav>.open:not(.active)>a:hover,.navbar-default .navbar-nav>.open:not(.active)>a:focus{color:#2f363d !important;background-color:#e0e0e0}.navbar-default .navbar-toggle{border-color:#e0e0e0}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#e0e0e0}.navbar-default .navbar-toggle .icon-bar{background-color:#2f363d}.navbar-default .navbar-link{color:#2f363d}.navbar-default .navbar-link:hover{color:#2f363d}@media(max-width: 767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#2f363d}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#2f363d}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff !important;background-color:#63221c}}#bt_nb-side-dismiss>i,#bt_nb-side-collapse>i{color:hsl(210,12.962962963%,61.1764705882%)}#nb-side>div>.navbar{background-color:#f5f5f5;border-color:#e0e0e0}/*# sourceMappingURL=custom.css.map */
|
||||
11
public_html/config_aziende/CAPELLI_MONELLI/custom.scss
Normal file
11
public_html/config_aziende/CAPELLI_MONELLI/custom.scss
Normal file
@@ -0,0 +1,11 @@
|
||||
/** NAVBAR */
|
||||
/* warning: ho generato con twbscolor, e aggiunto $bgActive, $colActive */
|
||||
|
||||
$bgDefault: #f5f5f5;
|
||||
$bgHighlight: #e0e0e0;
|
||||
$bgActive: #63221C;
|
||||
$colDefault: #2f363d;
|
||||
$colHighlight: #2f363d;
|
||||
$colActive: #fff;
|
||||
|
||||
@import "../navbar";
|
||||
83
public_html/config_aziende/CAPELLI_MONELLI/gestioni.json
Normal file
83
public_html/config_aziende/CAPELLI_MONELLI/gestioni.json
Normal file
@@ -0,0 +1,83 @@
|
||||
[
|
||||
{
|
||||
"name": "ordini_v",
|
||||
"group": "Vendite",
|
||||
"usergroups": [
|
||||
"10"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "emis_ddt",
|
||||
"group": "Vendite",
|
||||
"usergroups": [
|
||||
"10"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "produzione_tl",
|
||||
"group": "Produzione",
|
||||
"usergroups": [
|
||||
"11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "monitoraggio_linee_v2",
|
||||
"group": "Produzione",
|
||||
"usergroups": [
|
||||
"11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "delivery_plan",
|
||||
"group": "Vendite",
|
||||
"usergroups": [
|
||||
"2",
|
||||
"9",
|
||||
"11"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "previsioni_raccolta",
|
||||
"group": "Produzione",
|
||||
"usergroups": [
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mrp",
|
||||
"group": "Produzione",
|
||||
"usergroups": [
|
||||
"1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "mappa_campi_di_raccolta",
|
||||
"group": "Produzione",
|
||||
"usergroups": [
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "pianificazione_produzione_orto",
|
||||
"group": "Produzione",
|
||||
"usergroups": [
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "contratti_di_vendita",
|
||||
"group": "Vendite",
|
||||
"usergroups": [
|
||||
"11",
|
||||
"12",
|
||||
"2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "budget_vendite",
|
||||
"group": "Vendite",
|
||||
"usergroups": [
|
||||
"2"
|
||||
]
|
||||
}
|
||||
]
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
|
||||
namespace gruppo\SC;
|
||||
|
||||
use gruppo\SL\TransfManagerSL;
|
||||
|
||||
class TransfManagerSC extends TransfManagerSL {
|
||||
}
|
||||
@@ -10,20 +10,9 @@
|
||||
|
||||
use IMSApi\Enum\TipoValore;
|
||||
|
||||
$i = 0;
|
||||
foreach ($fermiMacchina as $fermoMacchina) {
|
||||
$i++;
|
||||
|
||||
$colWidth = "3";
|
||||
|
||||
if ($i === 3) {
|
||||
$colWidth = "4";
|
||||
} else if ($i === 4) {
|
||||
$colWidth = "2";
|
||||
}
|
||||
|
||||
?>
|
||||
<td class="vertical-middle col-sm-<?= $colWidth ?> text-center">
|
||||
<td class="vertical-middle text-center">
|
||||
<?= $fermoMacchina["controllo"] ?>
|
||||
</td>
|
||||
<?php
|
||||
@@ -61,26 +50,67 @@
|
||||
$tipoValore = array_get($fermoMacchina, "tipo_valore");
|
||||
$valoreRil = array_get($ripetizione, "valore_ril", "");
|
||||
$numRip = array_get($ripetizione, "num_rip", 0);
|
||||
|
||||
$width = "";
|
||||
|
||||
if (\Utility\Str::contains($fermoMacchina["controllo"], "descrizione")
|
||||
|| \Utility\Str::contains($fermoMacchina["controllo"], "operatore")) {
|
||||
$width = "35%";
|
||||
} else {
|
||||
if (\Utility\Str::contains($fermoMacchina["controllo"], "operatore")) {
|
||||
$width = "25%";
|
||||
} else {
|
||||
if (\Utility\Str::contains($fermoMacchina["controllo"], "data")) {
|
||||
$width = "24%";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
<td class="vertical-middle col-sm-3 text-center"
|
||||
<td class="vertical-middle text-center"
|
||||
<?= $width ? "style='width: $width'" : "" ?>
|
||||
data-id_riga="<?= $fermoMacchina["id_riga"] ?>"
|
||||
data-controllo="<?= $fermoMacchina['controllo'] ?>">
|
||||
<div class="col-sm-12 input-group">
|
||||
<?php
|
||||
if ($tipoValore === TipoValore::DATETIME()->getValue()) { ?>
|
||||
<input class="dateTimePicker"
|
||||
name="valore_ril"
|
||||
data-id_riga="<?= $fermoMacchina["id_riga"] ?>"
|
||||
data-num_rip="<?= $i ?>"
|
||||
data-prev="<?= $valoreRil ?>"
|
||||
value="<?= $valoreRil ?>">
|
||||
<?php
|
||||
} else { ?>
|
||||
<input type="text" class="form-control controlInput"
|
||||
data-id_riga="<?= $fermoMacchina["id_riga"] ?>"
|
||||
data-num_rip="<?= $i ?>"
|
||||
data-prev="<?= $valoreRil ?>" value="<?= $valoreRil ?>">
|
||||
<?php
|
||||
switch ($tipoValore) {
|
||||
case TipoValore::DATETIME()->getValue(): ?>
|
||||
<input class="dateTimePicker"
|
||||
name="valore_ril"
|
||||
data-id_riga="<?= $fermoMacchina["id_riga"] ?>"
|
||||
data-num_rip="<?= $i ?>"
|
||||
data-prev="<?= $valoreRil ?>"
|
||||
value="<?= $valoreRil ?>">
|
||||
<?php
|
||||
break;
|
||||
case TipoValore::DROPDOWNLIST()->getValue():
|
||||
$valori = array_get($fermoMacchina, "valori");
|
||||
if (isset($valori) && strlen($valori) > 0) {
|
||||
$valori = explode("|", array_get($fermoMacchina, "valori"));
|
||||
} ?>
|
||||
<select class="dropdownList"
|
||||
name="valore_ril"
|
||||
data-id_riga="<?= $fermoMacchina["id_riga"] ?>"
|
||||
data-num_rip="<?= $i ?>">
|
||||
<option value="">Seleziona un valore...</option>
|
||||
<?php
|
||||
foreach ($valori as $valore) { ?>
|
||||
<option value="<?= $valore ?>"
|
||||
<?= $valore == $valoreRil ? "selected" : "" ?>>
|
||||
<?= $valore ?>
|
||||
</option>
|
||||
<?php
|
||||
} ?>
|
||||
</select>
|
||||
<?php
|
||||
break;
|
||||
default: ?>
|
||||
<input type="text" class="form-control controlInput"
|
||||
data-id_riga="<?= $fermoMacchina["id_riga"] ?>"
|
||||
data-num_rip="<?= $i ?>"
|
||||
data-prev="<?= $valoreRil ?>" value="<?= $valoreRil ?>">
|
||||
<?php
|
||||
break;
|
||||
} ?>
|
||||
</div>
|
||||
</td>
|
||||
@@ -89,8 +119,8 @@
|
||||
<td class="vertical-middle col-sm-1 text-center" data-repetitions=<?= $maxNumRip ?>>
|
||||
<div class="btn-group btn-group-justified">
|
||||
<a href="javascript:" class="plusRow btn btn-default <?= $i
|
||||
!== array_slice($righePiene, -1)[0] ? "disabled" : "" ?>"
|
||||
title="Aggiungi Riga">
|
||||
!== array_slice($righePiene, -1)[0] ? "disabled" : "" ?>"
|
||||
title="Aggiungi Riga">
|
||||
<i class="fa fa-plus text-success"></i>
|
||||
</a>
|
||||
<a href="javascript:" class="deleteRow btn btn-default" title="Elimina Riga">
|
||||
@@ -103,9 +133,9 @@
|
||||
if ($key == 0) {
|
||||
$row = ob_get_clean();
|
||||
?>
|
||||
<div style="display: none"
|
||||
data-fermomacchinarowtemplate="<?= B64JSON_stringify(array("template" => Utility\Str::remove_multiple_spaces($row))); ?>">
|
||||
</div>
|
||||
<template id="fermomacchinarowtemplate">
|
||||
<?= Utility\Str::remove_multiple_spaces($row); ?>
|
||||
</template>
|
||||
<?php
|
||||
echo $row;
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ CQ_DR03P06.prototype.init = function (o) {
|
||||
|
||||
CQ_DR03P06.prototype.initButtons = function ($tr) {
|
||||
const self = this;
|
||||
const $cqInputs = $tr.find("div.input-group > input[data-num_rip]:not(.dateTimePicker)"); /* here we add the saving function to all the input-groups already loaded from db*/
|
||||
const $cqInputs = $tr.find("div.input-group > input.controlInput"); /* here we add the saving function to all the input-groups already loaded from db*/
|
||||
|
||||
$cqInputs.on("change", _.bind(self.saveSingleInput, self));
|
||||
$tr.find("input.caratInput").on("change", _.bind(self.saveCaratInput, self));
|
||||
@@ -93,9 +93,9 @@ CQ_DR03P06.prototype.initButtons = function ($tr) {
|
||||
$dateTimePicker.each((i, el) => $(el).kendoDateTimePicker({
|
||||
change: _.debounce((e) => {
|
||||
// if (moment(e.sender.value()).format("HH:mm") !== "00:00") {
|
||||
self.saveSingleInput(e);
|
||||
self.saveSingleInput(e);
|
||||
// }
|
||||
}, 20000),
|
||||
}, 25000),
|
||||
dateInput: true,
|
||||
interval: 5,
|
||||
messages: {
|
||||
@@ -104,50 +104,21 @@ CQ_DR03P06.prototype.initButtons = function ($tr) {
|
||||
month: "mese",
|
||||
day: "giorno",
|
||||
hour: "ora",
|
||||
minute: "minuto"
|
||||
}
|
||||
}
|
||||
minute: "minuto",
|
||||
},
|
||||
},
|
||||
}));
|
||||
|
||||
// let lastDate;
|
||||
// let isDateSelected = false;
|
||||
// let selectedDate = false;
|
||||
//
|
||||
// $dateTimePicker.datepicker({
|
||||
// timepicker: true,
|
||||
// dateFormat: "dd/mm/yyyy",
|
||||
// timeFormat: "hh:ii",
|
||||
// inModal: true,
|
||||
// position: "top left",
|
||||
// clearButton: true,
|
||||
// onSelect: function (formattedDate, date, inst) {
|
||||
// const value = inst.$el.val();
|
||||
//
|
||||
// isDateSelected = lastDate === "" || lastDate !== value;
|
||||
// },
|
||||
// onShow: function (inst) {
|
||||
// const value = inst.$el.val();
|
||||
// const dateValue = moment(value, "DD/MM/YYYY HH:mm").toDate();
|
||||
//
|
||||
// lastDate = value;
|
||||
// if (isValidDate(dateValue)) {
|
||||
// inst.selectDate(dateValue);
|
||||
// }
|
||||
// },
|
||||
// onHide: function (inst, animationCompleted) {
|
||||
// if (!animationCompleted) {
|
||||
// selectedDate = inst.$el.val();
|
||||
// }
|
||||
//
|
||||
// if (isDateSelected && animationCompleted && (lastDate === "" || lastDate !== selectedDate)) {
|
||||
// inst.$el.trigger("change");
|
||||
//
|
||||
// isDateSelected = false;
|
||||
// lastDate = null;
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
}
|
||||
const $dropdownList = $tr.find(".dropdownList");
|
||||
|
||||
$dropdownList.each((i, el) => {
|
||||
$(el).kendoDropDownList({
|
||||
change: (e) => {
|
||||
self.saveSingleInput(e);
|
||||
},
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
function isValidDate(d) {
|
||||
return d instanceof Date && !isNaN(d);
|
||||
@@ -220,8 +191,10 @@ CQ_DR03P06.prototype.onPlusRowClick = function (event) {
|
||||
|
||||
if (repetitionsLeft > 0) {
|
||||
const $row = $plusRowBtn.parents("tr.fermoMacchinaRow");
|
||||
const data = _ojbc.B64JSON_parse($("[data-fermomacchinarowtemplate]").attr("data-fermomacchinarowtemplate"));
|
||||
const $clone = $(data.template).find("input").val("").end();
|
||||
const data = $("#fermomacchinarowtemplate").html();
|
||||
const $clone = $(data);
|
||||
$clone.find("input,select").val("");
|
||||
$clone.find("input,select").val("");
|
||||
const repetitions = $row.find("[data-num_rip]");
|
||||
|
||||
const lastNumRip = _.max($("[data-lastnumrip]").map((i, el) => Number($(el).attr("data-lastnumrip")) || 0).toArray());
|
||||
@@ -232,7 +205,7 @@ CQ_DR03P06.prototype.onPlusRowClick = function (event) {
|
||||
const repetition = $(this).attr("data-num_rip");
|
||||
const newRepetition = Number(repetition) + 1;
|
||||
|
||||
$($clone.find("input[data-num_rip]").get(index)).attr("data-num_rip", newRepetition);
|
||||
$($clone.find("[data-num_rip]").get(index)).attr("data-num_rip", newRepetition);
|
||||
});
|
||||
/*************** ADD THE LISTENER TO THE FRESH NEW INPUT TO BE ADDED TO THE DOM ***************************************/
|
||||
/**** WE NEED TO ADD THE LISTENER HERE, BECAUSE ON BEFORE SHOW, THESE NEW INPUT BOXES DID NOT EXIST *****************/
|
||||
@@ -262,15 +235,23 @@ CQ_DR03P06.prototype.onDeleteRowClick = function (event) {
|
||||
let fmrLength = $fermoMacchinaRow.length;
|
||||
|
||||
if (fmrLength > 0) {
|
||||
const rowInputs = $row.find("input.controlInput,.dateTimePicker").val("");
|
||||
const rowInputs = $row.find("[data-id_riga][data-num_rip]");
|
||||
const cqrs = [];
|
||||
|
||||
_.each(rowInputs, function (rowInput) {
|
||||
const $rowInput = $(rowInput);
|
||||
const handler = $rowInput.data("handler");
|
||||
|
||||
if (typeof handler !== "undefined") {
|
||||
handler.value("");
|
||||
} else {
|
||||
$rowInput.val("");
|
||||
}
|
||||
|
||||
const cqr = {
|
||||
id_riga: $rowInput.getIntDataAttr("id_riga"),
|
||||
num_rip: $rowInput.getIntDataAttr("num_rip"),
|
||||
valore_ril: $rowInput.val().trim(),
|
||||
valore_ril: "",
|
||||
data_ril: getNow(),
|
||||
};
|
||||
|
||||
@@ -374,7 +355,7 @@ CQ_DR03P06.prototype.saveSingleInput = function (event, finalEnableTrash = true,
|
||||
id_riga: $input.getIntDataAttr("id_riga"),
|
||||
num_rip: $input.getIntDataAttr("num_rip"),
|
||||
valore_ril,
|
||||
data_ril: getNow()
|
||||
data_ril: getNow(),
|
||||
};
|
||||
|
||||
const savePromise = new $.Deferred();
|
||||
@@ -449,7 +430,7 @@ CQ_DR03P06.prototype.onTrashClick = function (event) {
|
||||
id_riga: $input.getIntDataAttr("id_riga"),
|
||||
num_rip: $input.getIntDataAttr("num_rip"),
|
||||
valore_ril: inputVal,
|
||||
data_ril: getNow()
|
||||
data_ril: getNow(),
|
||||
};
|
||||
/************ if valore_ril is not null, then it has already been memorized in db ****************/
|
||||
/*********************************** DELETE DATA *************************************************/
|
||||
@@ -486,7 +467,7 @@ CQ_DR03P06.prototype.onTrashClick = function (event) {
|
||||
id_riga: parseInt($inputGroup.find("input.controlInput").attr("data-id_riga")),
|
||||
num_rip: previousRowNumber,
|
||||
valore_ril: $inputGroup.find("input.controlInput").data("prev"),
|
||||
data_ril: getNow()
|
||||
data_ril: getNow(),
|
||||
};
|
||||
/****************** DELETION OF LAST ROW *****/
|
||||
self._onTrashClick([remainedCqr]).then((updateOK) => {
|
||||
@@ -506,7 +487,7 @@ CQ_DR03P06.prototype.onTrashClick = function (event) {
|
||||
}
|
||||
}, (error) => {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
);
|
||||
} else {
|
||||
/************* last input is empty *************************/
|
||||
@@ -566,7 +547,7 @@ CQ_DR03P06.prototype.saveCaratInput = function (e) {
|
||||
idRiga: idRiga,
|
||||
carat: carat,
|
||||
val: val,
|
||||
order: self._orderKey
|
||||
order: self._orderKey,
|
||||
})
|
||||
.noticeAsToast()
|
||||
.waitToast()
|
||||
@@ -578,4 +559,4 @@ CQ_DR03P06.prototype.saveCaratInput = function (e) {
|
||||
// self._parent._refreshModalDetails(self._orderKey, self._codProd, $input);
|
||||
})
|
||||
.execute();
|
||||
};
|
||||
};
|
||||
|
||||
@@ -37,7 +37,8 @@ class CQDR03P06 {
|
||||
|
||||
/************************** this function returns null for measurements with single repetition ***************************/
|
||||
private static function getRipRecord($cq, $numRip) {
|
||||
$result = (!is_null($cq) && !is_null($cq["rip"])) ? array_values(from($cq["rip"])->where(function ($x) use ($numRip) {
|
||||
$result = (!is_null($cq)
|
||||
&& !is_null($cq["rip"])) ? array_values(from($cq["rip"])->where(function ($x) use ($numRip) {
|
||||
return $x["num_rip"] === $numRip;
|
||||
})->toArray()) : array();
|
||||
return count($result) > 0 ? $result[0] : null;
|
||||
@@ -89,7 +90,8 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($standardCQ as $controlloQualita) { ?>
|
||||
<?php
|
||||
foreach ($standardCQ as $controlloQualita) { ?>
|
||||
<tr class="">
|
||||
<td class="vertical-middle col-sm-4 text-center">
|
||||
<?= $controlloQualita['controllo'] ?>
|
||||
@@ -117,8 +119,10 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
data-num_rip="<?= $i + 1 ?>"
|
||||
data-prev="<?= $valoreRil ?>"
|
||||
value="<?= $valoreRil ?>">
|
||||
<span class="plus <?= $controlloQualita['num_rip'] == count($ripetizioni) ? ("cursor-pointer") : ("disabled") ?> btn input-group-addon py-0"
|
||||
title="<?= $controlloQualita['num_rip'] == count($ripetizioni) ? ("Aggiungi ulteriore misurazione") : ("Non sono previste altre misurazioni per questo controllo") ?>">
|
||||
<span class="plus <?= $controlloQualita['num_rip']
|
||||
== count($ripetizioni) ? ("cursor-pointer") : ("disabled") ?> btn input-group-addon py-0"
|
||||
title="<?= $controlloQualita['num_rip']
|
||||
== count($ripetizioni) ? ("Aggiungi ulteriore misurazione") : ("Non sono previste altre misurazioni per questo controllo") ?>">
|
||||
<span class='p-0'>
|
||||
<i class="fa fa-plus text-success"></i>
|
||||
</span>
|
||||
@@ -139,8 +143,10 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
<input type="text" class="form-control controlInput"
|
||||
data-id_riga="<?= $controlloQualita["id_riga"] ?>"
|
||||
data-num_rip="1" data-prev="" value="">
|
||||
<span class="plus <?= $controlloQualita['num_rip'] > 0 ? ("cursor-pointer") : ("disabled") ?> btn input-group-addon py-0"
|
||||
title="<?= $controlloQualita['num_rip'] > 0 ? ("Aggiungi ulteriore misurazione") : ("Non sono previste altre misurazioni per questo controllo") ?>">
|
||||
<span class="plus <?= $controlloQualita['num_rip']
|
||||
> 0 ? ("cursor-pointer") : ("disabled") ?> btn input-group-addon py-0"
|
||||
title="<?= $controlloQualita['num_rip']
|
||||
> 0 ? ("Aggiungi ulteriore misurazione") : ("Non sono previste altre misurazioni per questo controllo") ?>">
|
||||
<span class='p-0'>
|
||||
<i class="fa fa-plus text-success"></i>
|
||||
</span>
|
||||
@@ -151,13 +157,16 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
<?php } ?>
|
||||
<?php
|
||||
} ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php
|
||||
} ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php if (!empty($caratPartita)) { ?>
|
||||
<?php
|
||||
if (!empty($caratPartita)) { ?>
|
||||
<table class="table table-bordered"> <!-- class "small" deleted to have bigger font-size -->
|
||||
<thead>
|
||||
<tr class="font-size-15">
|
||||
@@ -169,7 +178,8 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($caratPartita as $carat) { ?>
|
||||
<?php
|
||||
foreach ($caratPartita as $carat) { ?>
|
||||
<tr class="">
|
||||
<td class="vertical-middle col-sm-4 text-center">
|
||||
<?= $carat['carat'] ?>
|
||||
@@ -183,15 +193,59 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php
|
||||
} ?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php } ?>
|
||||
<?php
|
||||
} ?>
|
||||
|
||||
<?php
|
||||
if (count($fermiMacchina) > 0) {
|
||||
include "cq_DR03P06-SL.php";
|
||||
}
|
||||
if (array_get($groupedDtbOrdCQ, "DETAILED_CQ")) {
|
||||
foreach ($groupedDtbOrdCQ["DETAILED_CQ"] as $detailedCQ) { ?>
|
||||
<table class="cqToKendo" data-inline_editing="true" id="cq_detail_<?= $detailedCQ["id_riga"] ?>"
|
||||
data-controllo="<?= array_get($detailedCQ, "controllo") ?>"
|
||||
data-id_riga="<?= array_get($detailedCQ, "id_riga") ?>"
|
||||
data-tipo_valore="<?= array_get($detailedCQ, "tipo_valore") ?>"
|
||||
data-max_rip="<?= array_get($detailedCQ, "num_rip") ?>"
|
||||
>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>controllo</th>
|
||||
<th>id_riga</th>
|
||||
<th>num_rip</th>
|
||||
<th>Valore</th>
|
||||
<th>Data rilevazione</th>
|
||||
<th>Rilevatore</th>
|
||||
<th>Note</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach (array_get($detailedCQ, "rip") as $rip) {
|
||||
?>
|
||||
<tr>
|
||||
<td><?= array_get($detailedCQ, "controllo") ?></td>
|
||||
<td><?= array_get($detailedCQ, "id_riga") ?></td>
|
||||
<td><?= array_get($rip, "num_rip") ?></td>
|
||||
<td><?= array_get($rip, "valore_ril") ?></td>
|
||||
<td><?= DateTime::createFromFormat("U", array_get($rip, "data_ril"))->setTimezone(new DateTimeZone(date_default_timezone_get()))->format(Format::strtotimeDMYHMS) ?></td>
|
||||
<td><?= array_get($rip, "rilevatore") ?></td>
|
||||
<td><?= array_get($rip, "note") ?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -200,4 +254,4 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
|
||||
/*
|
||||
* WE SHOULD GENERATE A COMMON PAGE FOR ALL COMPANIES
|
||||
**/
|
||||
**/
|
||||
|
||||
@@ -77,6 +77,7 @@ foreach ($arr_cq as $element) {
|
||||
$groupedDtbOrdCQ[$element['tipologia']][] = $element;
|
||||
}
|
||||
|
||||
$standardCQ = array_get($groupedDtbOrdCQ, "STANDARD", array());
|
||||
$fermiMacchina = array_get($groupedDtbOrdCQ, "FERMI_MACCHINA", array());
|
||||
|
||||
$CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
@@ -117,7 +118,7 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($arr_cq as $singleControl) { ?>
|
||||
<?php foreach ($standardCQ as $singleControl) { ?>
|
||||
<tr>
|
||||
<td class="vertical-middle col-sm-4 text-center">
|
||||
<?= $singleControl['controllo'] ?>
|
||||
@@ -184,39 +185,8 @@ $CQDR03P06 = new CQDR03P06($arr_cq);
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
CQ_DR03P06.prototype.saveSingleInput = function (event) {
|
||||
let self = this;
|
||||
let $input = $(event.currentTarget).closest("div.input-group").find("input.controlInput");
|
||||
|
||||
$input.prop("disabled", true);
|
||||
|
||||
let cqr = {
|
||||
id_riga: $input.getIntDataAttr("id_riga"),
|
||||
num_rip: $input.getIntDataAttr("num_rip"),
|
||||
valore_ril: $input.val().trim(),
|
||||
data_ril: getNow()
|
||||
};
|
||||
|
||||
let savePromise = new $.Deferred();
|
||||
self._onCqrChange([cqr]).then((updateOK) => {
|
||||
if (updateOK) {
|
||||
$input.attr("data-prev", cqr["valore_ril"]);
|
||||
self._allowToast ? self._toast.success("Dati salvati correttamente") : self.allowFollowingToast(true);
|
||||
savePromise.resolve(true);
|
||||
$input.prop("disabled", false);
|
||||
} else {
|
||||
/******* this message should be never displayed *****/
|
||||
self._toast.danger("Dati non salvati, si prega di chiudere e riaprire i Dettagli");
|
||||
$input.val("");
|
||||
savePromise.resolve(false);
|
||||
$input.prop("disabled", false);
|
||||
}
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<?php
|
||||
|
||||
/*
|
||||
* WE SHOULD GENERATE A COMMON PAGE FOR ALL COMPANIES
|
||||
**/
|
||||
**/
|
||||
|
||||
@@ -220,6 +220,10 @@ WHERE mt.data_ord = '[dataOrd]'
|
||||
$residuoTeorico = array_sum(array_map(function ($collo) {
|
||||
return $collo["qta_col"];
|
||||
}, $colliResiduo));
|
||||
|
||||
if (abs($residuoTeorico - $qtaResiduoEffettivo) <= PHP_FLOAT_EPSILON)
|
||||
return $ret;
|
||||
|
||||
if ($residuoTeorico < $qtaResiduoEffettivo) {
|
||||
$data = array(
|
||||
"qta_collo" => $qtaResiduoEffettivo - $residuoTeorico,
|
||||
@@ -302,4 +306,4 @@ WHERE mt.data_ord = '[dataOrd]'
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
37
public_html/config_aziende/capelli_monelli.config.json
Normal file
37
public_html/config_aziende/capelli_monelli.config.json
Normal file
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"integry": {
|
||||
"db": {
|
||||
"driver": "pdosqlsrv",
|
||||
"hostName": "192.168.2.220",
|
||||
"dbName": "CAPELLI_MONELLI",
|
||||
"userName": "sa",
|
||||
"password": "sa"
|
||||
},
|
||||
"Xdb": {
|
||||
"driver": "pdosqlsrv",
|
||||
"hostName": "192.168.2.220",
|
||||
"dbName": "CAPELLI_MONELLI",
|
||||
"userName": "SA",
|
||||
"password": "sa"
|
||||
},
|
||||
"endPoint": "192.168.3.15:8080",
|
||||
"endPointRemote": "https://www2.studioml.it",
|
||||
"public_url": "https://www.studioml.it/pvm/"
|
||||
},
|
||||
"cliente": {
|
||||
"db": {
|
||||
"driver": "pdosqlsrv",
|
||||
"hostName": "192.168.2.220",
|
||||
"dbName": "CAPELLI_MONELLI",
|
||||
"userName": "sa",
|
||||
"password": "sa"
|
||||
},
|
||||
"endPoint": "192.168.2.215:8080",
|
||||
"endPointRemote": null,
|
||||
"public_url": "https://www.studioml.it/pvm/"
|
||||
},
|
||||
"dbNameWeb": "CAPELLI_MONELLI",
|
||||
"azienda": "CAPELLI_MONELLI",
|
||||
"sc_project": "8873238",
|
||||
"sc_security": "cdf04bba"
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -30,4 +30,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
|
||||
if (isset($_GET["arr_codMart"])) {
|
||||
|
||||
@@ -83,4 +83,4 @@ if (isset($_GET["arr_codMart"])) {
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -30,4 +30,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -30,4 +30,4 @@ include Controller::current_mainClasspath();
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -26,4 +26,4 @@ if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
} ?>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -29,4 +29,4 @@ include Controller::current_gestpath_include("ajax.php");
|
||||
</div>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath();
|
||||
@@ -26,4 +26,4 @@ if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
} ?>
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
include_once "session.php";
|
||||
$session = getSession();
|
||||
include_once "functions.php";
|
||||
require_once "include_login.php";
|
||||
include_once "config.php";
|
||||
require_once "include_login.php";
|
||||
include_once "include/module.php";
|
||||
|
||||
include Controller::current_mainClasspath(false);
|
||||
@@ -29,4 +29,4 @@ if (!PVM\CurrentModule::isAuthorizedToCurrentUser()) {
|
||||
|
||||
<?php include pvm_footerMinimal; ?>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
||||
@@ -360,12 +360,18 @@ function parse_size($size) {
|
||||
}
|
||||
|
||||
function is_logged() {
|
||||
$arr_fields = array("username", "password", "cod_mdep", "user_code", "fullname", "gruppo");
|
||||
if (LOGIN_JWT) {
|
||||
$arr_fields = array("accessToken", "refreshToken");
|
||||
} else {
|
||||
$arr_fields = array("username", "password", "cod_mdep", "user_code", "fullname", "gruppo");
|
||||
}
|
||||
|
||||
foreach ($arr_fields as $field) {
|
||||
if (!array_key_exists($field, $_SESSION)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
154
public_html/gest-lib/anomalie_merce/classes/AnomalieMerce.php
Normal file
154
public_html/gest-lib/anomalie_merce/classes/AnomalieMerce.php
Normal file
@@ -0,0 +1,154 @@
|
||||
<?php
|
||||
|
||||
class AnomalieMerce {
|
||||
public static function _moduleDatasource($filter) {
|
||||
$Ret = new Ret;
|
||||
|
||||
if ($Ret->is_OK()) {
|
||||
$retData = array(
|
||||
array("id"=>"livelliAnomalie","data"=>self::getLivelliAnomalie(true))
|
||||
);
|
||||
$Ret->set_data($retData);
|
||||
}
|
||||
|
||||
return $Ret;
|
||||
}
|
||||
|
||||
public static function getListaAnomalie($filter) {
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->get("magazzino/anomalie/lista")
|
||||
->body($filter)
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
public static function deleteAnomalia($data) {
|
||||
$idAnomalia = array_get($data, "idAnomalia");
|
||||
if (empty($idAnomalia)) {
|
||||
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->post("magazzino/anomalie/$idAnomalia/elimina")
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
public static function deleteLivelloAnomalia($data) {
|
||||
$id = array_get($data, "id");
|
||||
if (empty($id)) {
|
||||
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->post("magazzino/anomalie/livelli/$id/elimina")
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
|
||||
public static function getUlAnomalia($filter) {
|
||||
$idAnomalia = array_get($filter, "idAnomalia");
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->get("magazzino/anomalie/$idAnomalia/ul")
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
|
||||
public static function detachUlsFromAnomaly($data) {
|
||||
$listaUl = array_get($data, "barcodeList");
|
||||
if (empty($listaUl)) {
|
||||
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, "Parametri mancanti");
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
return $ims->post("magazzino/anomalie/detachUls")
|
||||
->body($listaUl)
|
||||
->send();
|
||||
}
|
||||
public static function attachUlsToAnomaly($data) {
|
||||
$id = array_get($data, "id");
|
||||
$listaUl = array_get($data, "barcodeList");
|
||||
if (empty($id) || empty($listaUl)) {
|
||||
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, "Parametri mancanti");
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
return $ims->post("magazzino/anomalie/$id/attachUls")
|
||||
->body($listaUl)
|
||||
->send();
|
||||
}
|
||||
|
||||
public static function getLivelliAnomalie($asPlainJson = false) {
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->get("magazzino/anomalie/livelli/lista")
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return $asPlainJson ? $ret->getDto() : Ret::data($ret->getDto());
|
||||
|
||||
}
|
||||
|
||||
public static function saveLivelloAnomalia($data) {
|
||||
$descrizione = array_get($data, "descrizione");
|
||||
if (empty($descrizione)) {
|
||||
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->post("magazzino/anomalie/livelli/salva")
|
||||
->body($data)
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
|
||||
public static function searchBarcodes($data) {
|
||||
$searchTerm = array_get($data, "q");
|
||||
$codJfas = array_get($data, "codJfas");
|
||||
if (empty($searchTerm)) {
|
||||
return Ret::data(array());
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->get("wms/barcodes/list")
|
||||
->queryParam("barcodeUl",$searchTerm)
|
||||
->queryParam("codJfas",$codJfas)
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
|
||||
public static function saveAnomalia($data) {
|
||||
$idAnomalia = array_get($data, "id");
|
||||
$descrizione = array_get($data, "descrizione");
|
||||
$idLivelloAnomalia = array_get($data, "idLivelloAnomalia");
|
||||
if (empty($idAnomalia) && (empty($descrizione) || empty($idLivelloAnomalia))) {
|
||||
return Ret::errorCode(ErrorHandler::MISSING_PARAMS, __FUNCTION__);
|
||||
}
|
||||
$ims = new IMSApi();
|
||||
$ret = $ims->post("magazzino/anomalie/salva")
|
||||
->body($data)
|
||||
->send();
|
||||
if ($ret->is_KO()) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return Ret::data($ret->getDto());
|
||||
}
|
||||
}
|
||||
1
public_html/gest-lib/anomalie_merce/css/main.css
Normal file
1
public_html/gest-lib/anomalie_merce/css/main.css
Normal file
@@ -0,0 +1 @@
|
||||
/*# sourceMappingURL=main.css.map */
|
||||
BIN
public_html/gest-lib/anomalie_merce/icon.png
Normal file
BIN
public_html/gest-lib/anomalie_merce/icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 592 KiB |
1
public_html/gest-lib/anomalie_merce/include/main.php
Normal file
1
public_html/gest-lib/anomalie_merce/include/main.php
Normal file
@@ -0,0 +1 @@
|
||||
<div id="anomalie_prod"></div>
|
||||
0
public_html/gest-lib/anomalie_merce/scss/main.scss
Normal file
0
public_html/gest-lib/anomalie_merce/scss/main.scss
Normal file
@@ -0,0 +1,48 @@
|
||||
import TabsViewModule, {TabLike} from "@js/modules/TabsViewModule.js";
|
||||
|
||||
export default class AnomalieMerceTabViewModule extends TabsViewModule {
|
||||
|
||||
public static readonly MODULE_NAME: string = "anomalie_merce";
|
||||
|
||||
constructor(selector: string | null) {
|
||||
super(selector, {
|
||||
currentTab: "null",
|
||||
justify: true,
|
||||
tabs: [],
|
||||
});
|
||||
}
|
||||
|
||||
name(): string {
|
||||
return AnomalieMerceTabViewModule.MODULE_NAME;
|
||||
}
|
||||
|
||||
override async onLoad(): Promise<void> {
|
||||
if (!this.module.isLoaded()) {
|
||||
await this.module.load();
|
||||
}
|
||||
await super.onLoad();
|
||||
this.initTabs();
|
||||
}
|
||||
|
||||
initTabs(): void {
|
||||
const tabs: TabLike[] = [];
|
||||
tabs.push({
|
||||
id: "lista_anomalie_view",
|
||||
title: "Lista anomalie",
|
||||
component: () => import("@gest-lib/anomalie_merce/ts/tabs/ListAnomalieTabView.js"),
|
||||
});
|
||||
tabs.push({
|
||||
id: "lista_livelli_view",
|
||||
title: "Livelli anomalie",
|
||||
component: () => import("@gest-lib/anomalie_merce/ts/tabs/ListLivelliAnomalieTabView.js"),
|
||||
});
|
||||
|
||||
|
||||
this.tabs.push(...tabs);
|
||||
|
||||
if (this.tabs.length > 0) {
|
||||
setTimeout(() => this.setInitialTab(this.getSession().currentTab, this.tabs[0].id), 500);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
6
public_html/gest-lib/anomalie_merce/ts/main.module.ts
Normal file
6
public_html/gest-lib/anomalie_merce/ts/main.module.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import AnomalieMerceTabViewModule from "@gest-lib/anomalie_merce/ts/AnomalieMerceTabViewModule.js";
|
||||
|
||||
|
||||
$(async function () {
|
||||
await new AnomalieMerceTabViewModule("#anomalie_prod").load();
|
||||
});
|
||||
20
public_html/gest-lib/anomalie_merce/ts/models/AnomaliaDTO.ts
Normal file
20
public_html/gest-lib/anomalie_merce/ts/models/AnomaliaDTO.ts
Normal file
@@ -0,0 +1,20 @@
|
||||
import {defineKendoModel, FieldMap, KendoModelInstance} from "@js/KendoModelBuilder.js";
|
||||
import {AnomalieMerceDTO} from "@js/ims/ems-engine.module";
|
||||
|
||||
|
||||
const AnomaliaDTOFields: FieldMap<AnomalieMerceDTO> = {
|
||||
id: {type: "number"},
|
||||
idLivelloAnomalia: {type: "number"},
|
||||
descrizione: {type: "string"},
|
||||
annotazioni: {type: "string"},
|
||||
inizioAnomalia: {type: "date"},
|
||||
fineAnomalia: {type: "date"},
|
||||
codJfas: {type: "string"},
|
||||
livelloAnomalia: {type: "object"},
|
||||
};
|
||||
|
||||
export type AnomaliaDTOInstance = KendoModelInstance<AnomalieMerceDTO>;
|
||||
|
||||
const AnomaliaDTOModel = defineKendoModel<AnomalieMerceDTO>("id", AnomaliaDTOFields);
|
||||
|
||||
export default AnomaliaDTOModel;
|
||||
@@ -0,0 +1,17 @@
|
||||
import {defineKendoModel, FieldMap, KendoModelInstance} from "@js/KendoModelBuilder.js";
|
||||
|
||||
export interface AssignAnomaliaRequestDTO {
|
||||
id: number | null;
|
||||
barcodeList: string[];
|
||||
}
|
||||
|
||||
const AssignAnomaliaRequestDTOFields: FieldMap<AssignAnomaliaRequestDTO> = {
|
||||
id: {type: "number"},
|
||||
barcodeList: {type: "object"},
|
||||
};
|
||||
|
||||
export type AssignAnomaliaRequestDTOInstance = KendoModelInstance<AssignAnomaliaRequestDTO>;
|
||||
|
||||
const AssignAnomaliaRequestDTOModel = defineKendoModel<AssignAnomaliaRequestDTO>("id", AssignAnomaliaRequestDTOFields);
|
||||
|
||||
export default AssignAnomaliaRequestDTOModel;
|
||||
@@ -0,0 +1,20 @@
|
||||
import {defineKendoModel, FieldMap, KendoModelInstance} from "@js/KendoModelBuilder.js";
|
||||
import {AnomalieMerceDTO, DettaglioULDTO} from "@js/ims/ems-engine.module";
|
||||
|
||||
|
||||
const UlDetailDTOFields: FieldMap<DettaglioULDTO> = {
|
||||
barcodeUl: {type: "string"},
|
||||
codJfas: {type: "string"},
|
||||
codMart: {type: "string"},
|
||||
descrizione: {type: "string"},
|
||||
descrizioneEstesa: {type: "string"},
|
||||
partitaMag: {type: "string"},
|
||||
qtaCol: {type: "number"},
|
||||
untMis: {type: "string"},
|
||||
};
|
||||
|
||||
export type UlDetailDTOInstance = KendoModelInstance<DettaglioULDTO>;
|
||||
|
||||
const UlDetailDTOModel = defineKendoModel<DettaglioULDTO>("barcodeUl", UlDetailDTOFields);
|
||||
|
||||
export default UlDetailDTOModel;
|
||||
@@ -0,0 +1,18 @@
|
||||
import {defineKendoModel, FieldMap, KendoModelInstance} from "@js/KendoModelBuilder.js";
|
||||
import {AnomalieMerceDTO, MtbLivelliAnomalie} from "@js/ims/ems-engine.module";
|
||||
|
||||
|
||||
const LivelloAnomaliaDTOFields: FieldMap<MtbLivelliAnomalie> = {
|
||||
id: {type: "number"},
|
||||
descrizione: {type: "string"},
|
||||
hexColore: {type: "string"},
|
||||
escludiPickingLavorazione: {type: "boolean"},
|
||||
escludiPickingVendita: {type: "boolean"},
|
||||
type: {type: "string"}
|
||||
};
|
||||
|
||||
export type LivelloAnomaliaDTOInstance = KendoModelInstance<MtbLivelliAnomalie>;
|
||||
|
||||
const LivelloAnomaliaDTOModel = defineKendoModel<MtbLivelliAnomalie>("id", LivelloAnomaliaDTOFields);
|
||||
|
||||
export default LivelloAnomaliaDTOModel;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user