44 Commits

Author SHA1 Message Date
Samuele Locatelli 946e2066d6 typo + move jenkinsfile 2022-04-12 08:48:44 +02:00
Samuele Locatelli 03bb9beaaf Merge tag 'ConvertJenkinsToGitlabCiCd' into develop
Conversione Jenkins --> gitlab x CiCd completata
2022-04-11 19:43:10 +02:00
Samuele Locatelli 2b2bcb34b3 Merge branch 'release/ConvertJenkinsToGitlabCiCd' 2022-04-11 19:42:45 +02:00
Samuele Locatelli da447bbc1e Fix finale x corretto ramo di deploy in PROD OVH 2022-04-11 19:41:35 +02:00
Samuele Locatelli 4076bbfec9 Test pubblicazione OVH 2022-04-11 19:40:46 +02:00
Samuele Locatelli 60ca965dad Aggiunta fileExport pubxml 2022-04-11 19:34:46 +02:00
Samuele Locatelli 2753112829 Aggiunta componenti x deploy nexus 2022-04-11 19:30:24 +02:00
Samuele Locatelli 21412c6f85 Modifica x creazione ZIP + test slash 2022-04-11 19:26:40 +02:00
Samuele Locatelli 8a600114d0 completato deploy su IIS01/02/03 2022-04-11 19:17:20 +02:00
Samuele Locatelli fd46c0997f Aggiunta profilo pub IIS03 2022-04-11 19:15:46 +02:00
Samuele Locatelli b91784dc07 Aggiunto IIS03 2022-04-11 19:10:27 +02:00
Samuele Locatelli 04b36cc50f fix yaml x versione base 0.0.0.0 2022-04-11 18:58:26 +02:00
Samuele Locatelli e9b32b25ad update test deploy IIS01 2022-04-11 18:50:03 +02:00
Samuele Locatelli 725123ac28 correzione x fix versione + inizio primo step 2022-04-11 18:29:36 +02:00
Samuele Locatelli ee03463ff9 Fix step version-fix 2022-04-11 18:26:41 +02:00
Samuele Locatelli d539e69d2d cambio sintassi 2022-04-11 18:24:06 +02:00
Samuele Locatelli 0d29f44c9d test echo restore nuget 2022-04-11 18:18:30 +02:00
Samuele Locatelli 882aac25e7 Cambio passo restore 2022-04-11 18:14:07 +02:00
Samuele Locatelli 2416746b15 update x puntamento a file sln 2022-04-11 18:12:42 +02:00
Samuele Locatelli 37f3c9082a prima vers yaml x WebLCP 2022-04-11 18:05:21 +02:00
Samuele E. Locatelli 26bfa00abe pulizia dll inutili 2020-11-11 11:57:16 +01:00
Samuele E. Locatelli 7fe83047c9 Merge branch 'ovh' into develop 2020-11-11 11:52:57 +01:00
Samuele E. Locatelli b92459b32f new rel 92 2020-11-11 11:52:49 +01:00
Samuele E. Locatelli 60e457d2fc update Nuget x steamwarelibs 2020-11-11 11:52:37 +01:00
Samuele E. Locatelli 83b21598bd update Nuget x bootstrap 2020-11-11 11:52:28 +01:00
Samuele E. Locatelli 15c3b252e0 Merge branch 'develop' 2020-11-11 11:07:37 +01:00
Samuele E. Locatelli 84fac2596c update conf x OVH + logo 2020-11-11 11:06:44 +01:00
Samuele E. Locatelli 0f9674f719 Aggiunta elmah 2020-11-11 10:56:37 +01:00
Samuele E. Locatelli 9639ef2125 eliminato deploy parallelo IIS01/IIS02 2020-11-10 14:01:37 +01:00
Samuele E. Locatelli 696f00959c Merge branch 'master' into ovh 2020-11-10 12:15:56 +01:00
Samuele E. Locatelli 630888620c inversione ordine pubblicazione IIS01/IIS02 2020-11-10 12:15:47 +01:00
Samuele E. Locatelli f1b2dd8cee refresh jenkisfile 2020-11-10 11:55:47 +01:00
Samuele E. Locatelli 2a563fbb33 update versioen di build 2020-11-10 11:47:19 +01:00
Samuele E. Locatelli c20a0b1566 Merge branch 'develop' into ovh 2020-11-10 11:40:38 +01:00
Samuele E. Locatelli 41544f1e7f pulizia config x dll rimosse 2020-11-10 11:40:24 +01:00
Samuele E. Locatelli fcfa83b3fe Eliminazione file inutilizzati 2020-11-10 11:36:57 +01:00
Samuele E. Locatelli fd16e46df3 fix dll x core library 2020-11-10 11:36:51 +01:00
Samuele E. Locatelli 87c0d4e2fe Merge branch 'ovh' into develop 2020-11-10 11:33:13 +01:00
Samuele E. Locatelli 722ff344a1 refresh ulteriore 2020-11-10 11:33:02 +01:00
Samuele E. Locatelli 2cdbfe31eb refresh nuget (ALL) 2020-11-10 11:28:19 +01:00
Samuele E. Locatelli ca9ba8b616 merge commit 2020-11-10 10:30:14 +01:00
Samuele E. Locatelli 72657ee405 update x pubblicazione OVH 2020-11-10 10:21:04 +01:00
Samuele E. Locatelli 11eac247b2 log x registrazione eliminazione results 2020-11-10 10:17:51 +01:00
Samuele E. Locatelli 7f13c8aa25 refresh iis setup file 2020-07-11 15:51:06 +02:00
40 changed files with 1228 additions and 824 deletions
+197
View File
@@ -0,0 +1,197 @@
variables:
NUGET_PATH: 'C:\Tools\nuget.exe'
MSBUILD_PATH: 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe'
ASPNET_MERGE_PATH: 'C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools'
VERS_MAIN: '1.1'
NEW_REL: ''
NEXUS_PATH: 'WebLCP'
APP_NAME: 'WebLCP'
SOL_NAME: 'WebLCP'
APP_CONF: 'Release'
PROJ_NAME: 'WebLCP'
# helper x fix pacchetti nuget da repo locale nexus.steamware.net
.nuget-fix: &nuget-fix
- |
$hasSource = C:\Tools\nuget.exe sources list | find "`"Steamware Nexus`"" /C
if ($hasSource -eq 0) {
C:\Tools\nuget.exe sources Add -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"viaDante16`""
} else {
C:\Tools\nuget.exe sources Update -Name "`"Steamware Nexus`"" -Source https://nexus.steamware.net/repository/nuget-group -username "`"nugetUser`"" -password "`"viaDante16`""
}
echo $hasSource
# helper x fix version number
.version-fix: &version-fix
- |
# Esecuzione fix numero versione x pack nuget
$fileName = "INTERFACE\VersGen\VersGen.cs";
# calcolo nuova
$env:NEW_REL = $env:VERS_MAIN+"."+(get-date format yyMM)+"."+(get-date format dHH)
echo "New vers: $env:NEW_REL"
# aggiorno file
$contenuto = Get-Content -path $fileName -Raw
$newContenuto = $contenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -path $fileName
# helper x fix manifest xml
.manifest-fix: &manifest-fix
- |
echo "Set manifest.xml for branch: $CI_COMMIT_BRANCH"
$fileName = 'Resources\manifest.xml'
$contenuto = Get-Content -path $fileName -Raw
$newContenuto = $contenuto -replace '{{BRANCHNAME}}', $CI_COMMIT_BRANCH
$newContenuto = $newContenuto -replace '{{PACKNAME}}', $env:APP_NAME
$newContenuto = $newContenuto -replace '0.0.0.0', $env:NEW_REL
$newContenuto | Set-Content -path $fileName
# helper creazione hash files
.hashBuild: &hashBuild
- |
# hashBuild per elaborato
$Target = ".\$env:APP_NAME\Release\$env:APP_NAME.zip"
echo "Request hash for $Target"
$MD5 = Get-FileHash $Target -Algorithm MD5
$SHA1 = Get-FileHash $Target -Algorithm SHA1
New-Item $Target".md5"
New-Item $Target".sha1"
$MD5.Hash | Set-Content -path $Target".md5"
$SHA1.Hash | Set-Content -path $Target".sha1"
echo "Created HASH files for $Target"
# helper x send su NEXUS
.nexusUpload: &nexusUpload
- |
Set-Alias mCurl C:\Windows\system32\curl.exe
$currentDate = get-date -format yyMM;
$currentTime = get-date -format ddHH;
$VersNumb = $env:NEW_REL
echo "Curr Version: $VersNumb"
if($CI_COMMIT_BRANCH -eq "master")
{
$version = "stable"
}
else
{
$version = "unstable"
}
$File2Send = Get-ChildItem("INTERFACE\$env:APP_NAME\Release\*")
ForEach ($File in $File2Send) {
$FileName = Split-path $File -leaf
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/$FileName
mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file $File https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/ARCHIVE/$VersNumb/$FileName
}
#mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:PROJ_NAME\Resources\manifest.xml" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/manifest.xml
#mCurl -v -u GitLab:$NEXUS_PASSWD --upload-file "$env:PROJ_NAME\Resources\ChangeLog.html" https://nexus.steamware.net/repository/SWS/$env:NEXUS_PATH/$CI_COMMIT_BRANCH/LAST/ChangeLog.html
stages:
- build
- deploy
- release
WebLCP:build:
stage: build
tags:
- win
variables:
APP_NAME: WebLCP
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore INTERFACE\$env:SOL_NAME.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" INTERFACE/$env:APP_NAME/$env:APP_NAME.csproj -target:Build /p:Configuration=Release /p:Platform="Any CPU" /p:OutputPath=bin/ /verbosity:minimal /m'
WebLCP:IIS01:deploy:
stage: deploy
tags:
- win
variables:
APP_NAME: WebLCP
except:
refs:
- main
- master
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore INTERFACE/$env:SOL_NAME.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal INTERFACE/$env:APP_NAME/$env:APP_NAME.csproj'
needs: ["WebLCP:build"]
WebLCP:IIS02:deploy:
stage: deploy
tags:
- win
variables:
APP_NAME: WebLCP
except:
refs:
- main
- master
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore INTERFACE/$env:SOL_NAME.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal INTERFACE/$env:APP_NAME/$env:APP_NAME.csproj'
needs: ["WebLCP:build"]
WebLCP:IIS03:deploy:
stage: deploy
tags:
- win
variables:
APP_NAME: WebLCP
except:
refs:
- main
- master
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore INTERFACE/$env:SOL_NAME.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS03.pubxml /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal INTERFACE/$env:APP_NAME/$env:APP_NAME.csproj'
needs: ["WebLCP:build"]
WebLCP:OVH:release:
stage: release
tags:
- win
only:
refs:
- main
- master
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore INTERFACE/$env:APP_NAME.sln -Verbosity quiet'
- *version-fix
script:
- '& "$env:MSBUILD_PATH" /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=OVH.pubxml /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=steamware /p:Password=viaD@nte16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ /verbosity:minimal INTERFACE/$env:APP_NAME/$env:APP_NAME.csproj'
needs: ["WebLCP:build"]
WebLCP:File:release:
stage: release
tags:
- win
variables:
APP_NAME: WebLCP
only:
refs:
- main
- master
before_script:
- *nuget-fix
- '& "$env:NUGET_PATH" restore INTERFACE/$env:SOL_NAME.sln -Verbosity quiet'
- *version-fix
- *manifest-fix
script:
- '& "$env:MSBUILD_PATH" /p:AspnetMergePath=$env:ASPNET_MERGE_PATH /p:DeployOnBuild=true /p:Targets=Package /p:PublishProfile=FileExport.pubxml /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:PackageLocation=Release/$env:APP_NAME.zip /p:PackageAsSingleFile=True /p:OutputPath=bin/ /verbosity:minimal INTERFACE/$env:APP_NAME/$env:APP_NAME.csproj'
- *hashBuild
- *nexusUpload
needs: ["WebLCP:build"]
+15
View File
@@ -0,0 +1,15 @@
A new HTTP handler has been configured in your application for consulting the
error log and its feeds. It is reachable at elmah.axd under your application
root. If, for example, your application is deployed at http://www.example.com,
the URL for ELMAH would be http://www.example.com/elmah.axd. You can, of
course, change this path in your application's configuration file.
ELMAH is also set up to be secure such that it can only be accessed locally.
You can enable remote access but then it is paramount that you secure access
to authorized users or/and roles only. This can be done using standard
authorization rules and configuration already built into ASP.NET. For more
information, see http://code.google.com/p/elmah/wiki/SecuringErrorLogPages on
the project site.
Please review the commented out authorization section under
<location path="elmah.axd"> and make the appropriate changes.
+8 -40
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Grid v4.5.0 (https://getbootstrap.com/)
* Bootstrap Grid v4.5.2 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
html {
box-sizing: border-box;
@@ -15,39 +15,12 @@ html {
box-sizing: inherit;
}
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container {
max-width: 960px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1140px;
}
}
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
width: 100%;
padding-right: 15px;
padding-left: 15px;
@@ -116,7 +89,6 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
@@ -360,7 +332,6 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-sm-1 > * {
@@ -563,7 +534,6 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-md-1 > * {
@@ -766,7 +736,6 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-lg-1 > * {
@@ -969,7 +938,6 @@ html {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-xl-1 > * {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)
* Bootstrap Reboot v4.5.2 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
@@ -133,12 +133,12 @@ a:hover {
text-decoration: underline;
}
a:not([href]) {
a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap Reboot v4.5.0 (https://getbootstrap.com/)
* Bootstrap Reboot v4.5.2 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
File diff suppressed because one or more lines are too long
+31 -50
View File
@@ -1,8 +1,8 @@
/*!
* Bootstrap v4.5.0 (https://getbootstrap.com/)
* Bootstrap v4.5.2 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root {
--blue: #007bff;
@@ -163,12 +163,12 @@ a:hover {
text-decoration: underline;
}
a:not([href]) {
a:not([href]):not([class]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
a:not([href]):not([class]):hover {
color: inherit;
text-decoration: none;
}
@@ -539,39 +539,12 @@ pre code {
overflow-y: scroll;
}
.container {
width: 100%;
padding-right: 15px;
padding-left: 15px;
margin-right: auto;
margin-left: auto;
}
@media (min-width: 576px) {
.container {
max-width: 540px;
}
}
@media (min-width: 768px) {
.container {
max-width: 720px;
}
}
@media (min-width: 992px) {
.container {
max-width: 960px;
}
}
@media (min-width: 1200px) {
.container {
max-width: 1140px;
}
}
.container-fluid, .container-sm, .container-md, .container-lg, .container-xl {
.container,
.container-fluid,
.container-sm,
.container-md,
.container-lg,
.container-xl {
width: 100%;
padding-right: 15px;
padding-left: 15px;
@@ -640,7 +613,6 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
@@ -884,7 +856,6 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-sm-1 > * {
@@ -1087,7 +1058,6 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-md-1 > * {
@@ -1290,7 +1260,6 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-lg-1 > * {
@@ -1493,7 +1462,6 @@ pre code {
flex-basis: 0;
-ms-flex-positive: 1;
flex-grow: 1;
min-width: 0;
max-width: 100%;
}
.row-cols-xl-1 > * {
@@ -2259,6 +2227,7 @@ textarea.form-control {
.valid-tooltip {
position: absolute;
top: 100%;
left: 0;
z-index: 5;
display: none;
max-width: 100%;
@@ -2359,6 +2328,7 @@ textarea.form-control {
.invalid-tooltip {
position: absolute;
top: 100%;
left: 0;
z-index: 5;
display: none;
max-width: 100%;
@@ -3776,6 +3746,7 @@ input[type="button"].btn-block {
.custom-control {
position: relative;
z-index: 1;
display: block;
min-height: 1.5rem;
padding-left: 1.5rem;
@@ -4312,12 +4283,14 @@ input[type="button"].btn-block {
background-color: #007bff;
}
.nav-fill > .nav-link,
.nav-fill .nav-item {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
text-align: center;
}
.nav-justified > .nav-link,
.nav-justified .nav-item {
-ms-flex-preferred-size: 0;
flex-basis: 0;
@@ -4775,6 +4748,11 @@ input[type="button"].btn-block {
border-bottom-left-radius: calc(0.25rem - 1px);
}
.card > .card-header + .list-group,
.card > .list-group + .card-footer {
border-top: 0;
}
.card-body {
-ms-flex: 1 1 auto;
flex: 1 1 auto;
@@ -4814,10 +4792,6 @@ input[type="button"].btn-block {
border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0;
}
.card-header + .list-group .list-group-item:first-child {
border-top: 0;
}
.card-footer {
padding: 0.75rem 1.25rem;
background-color: rgba(0, 0, 0, 0.03);
@@ -4847,6 +4821,7 @@ input[type="button"].btn-block {
bottom: 0;
left: 0;
padding: 1.25rem;
border-radius: calc(0.25rem - 1px);
}
.card-img,
@@ -4958,6 +4933,10 @@ input[type="button"].btn-block {
}
}
.accordion {
overflow-anchor: none;
}
.accordion > .card {
overflow: hidden;
}
@@ -5876,15 +5855,14 @@ a.close.disabled {
}
.toast {
-ms-flex-preferred-size: 350px;
flex-basis: 350px;
max-width: 350px;
overflow: hidden;
font-size: 0.875rem;
background-color: rgba(255, 255, 255, 0.85);
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.1);
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
-webkit-backdrop-filter: blur(10px);
backdrop-filter: blur(10px);
opacity: 0;
border-radius: 0.25rem;
}
@@ -5916,6 +5894,8 @@ a.close.disabled {
background-color: rgba(255, 255, 255, 0.85);
background-clip: padding-box;
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
border-top-left-radius: calc(0.25rem - 1px);
border-top-right-radius: calc(0.25rem - 1px);
}
.toast-body {
@@ -10182,7 +10162,8 @@ a.text-dark:hover, a.text-dark:focus {
}
.text-break {
word-wrap: break-word !important;
word-break: break-word !important;
overflow-wrap: break-word !important;
}
.text-reset {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>Package</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<ExcludeApp_Data>true</ExcludeApp_Data>
<DesktopBuildPackageLocation>WebLCP/Release/WebLCP.zip</DesktopBuildPackageLocation>
<PackageAsSingleFile>true</PackageAsSingleFile>
<DeployIisAppPath>Default Web Site/WebLCP</DeployIisAppPath>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<PrecompileBeforePublish>true</PrecompileBeforePublish>
<EnableUpdateable>true</EnableUpdateable>
<DebugSymbols>false</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
</PropertyGroup>
</Project>
@@ -9,19 +9,48 @@ modificando il file MSBuild. Per altre informazioni su questo argomento, vedere
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>True</EnableUpdateable>
<DebugSymbols>False</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
<ExcludeApp_Data>True</ExcludeApp_Data>
<MSDeployServiceURL>https://IIS01:8172/MsDeploy.axd</MSDeployServiceURL>
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<ExcludeApp_Data>true</ExcludeApp_Data>
<MSDeployServiceURL>https://IIS01.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/test/admodelling</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<UserName>jenkins</UserName>
<_SavePWD>True</_SavePWD>
<_SavePWD>true</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="AdmodellingConnectionString" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\AdmodellingConnectionString_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16;" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
<ObjectGroup Name="ErrorLog" Order="2" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=SQL2016PROD;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\ErrorLog_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=SQL2016PROD;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
<EnableMsDeployAppOffline>false</EnableMsDeployAppOffline>
<PrecompileBeforePublish>true</PrecompileBeforePublish>
<EnableUpdateable>true</EnableUpdateable>
<DebugSymbols>false</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
</PropertyGroup>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)AdmodellingConnectionString-Web.config Connection String" />
<MSDeployParameterValue Include="$(DeployParameterPrefix)ErrorLog-Web.config Connection String" />
</ItemGroup>
</Project>
@@ -10,12 +10,8 @@ modificando il file MSBuild. Per altre informazioni su questo argomento, vedere
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>True</EnableUpdateable>
<DebugSymbols>False</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
<ExcludeApp_Data>True</ExcludeApp_Data>
<MSDeployServiceURL>https://IIS02:8172/MsDeploy.axd</MSDeployServiceURL>
<MSDeployServiceURL>https://IIS02.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/test/admodelling</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
@@ -23,5 +19,26 @@ modificando il file MSBuild. Per altre informazioni su questo argomento, vedere
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>jenkins</UserName>
<_SavePWD>True</_SavePWD>
<PrecompileBeforePublish>True</PrecompileBeforePublish>
<EnableUpdateable>True</EnableUpdateable>
<DebugSymbols>False</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="AdmodellingConnectionString" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\AdmodellingConnectionString_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16;" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
</PropertyGroup>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)AdmodellingConnectionString-Web.config Connection String" />
</ItemGroup>
</Project>
@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Questo file viene usato dal processo di pubblicazione/creazione pacchetto del progetto Web. È possibile personalizzare il comportamento del processo
modificando il file MSBuild. Per altre informazioni su questo argomento, vedere https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
<ExcludeApp_Data>true</ExcludeApp_Data>
<MSDeployServiceURL>https://IIS03.egalware.com:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/test/admodelling</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>false</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>true</EnableMSDeployBackup>
<UserName>jenkins</UserName>
<_SavePWD>true</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
<ObjectGroup Name="AdmodellingConnectionString" Order="1" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\AdmodellingConnectionString_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16;" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
<ObjectGroup Name="ErrorLog" Order="2" Enabled="False">
<Destination Path="" />
<Object Type="DbDacFx">
<PreSource Path="Data Source=SQL2016PROD;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" includeData="False" />
<Source Path="$(IntermediateOutputPath)AutoScripts\ErrorLog_IncrementalSchemaOnly.dacpac" dacpacAction="Deploy" />
</Object>
<UpdateFrom Type="Web.Config">
<Source MatchValue="Data Source=SQL2016PROD;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" MatchAttributes="$(UpdateFromConnectionStringAttributes)" />
</UpdateFrom>
</ObjectGroup>
</Objects>
</PublishDatabaseSettings>
<EnableMsDeployAppOffline>false</EnableMsDeployAppOffline>
<PrecompileBeforePublish>true</PrecompileBeforePublish>
<EnableUpdateable>true</EnableUpdateable>
<DebugSymbols>false</DebugSymbols>
<WDPMergeOption>DonotMerge</WDPMergeOption>
</PropertyGroup>
<ItemGroup>
<MSDeployParameterValue Include="$(DeployParameterPrefix)AdmodellingConnectionString-Web.config Connection String" />
<MSDeployParameterValue Include="$(DeployParameterPrefix)ErrorLog-Web.config Connection String" />
</ItemGroup>
</Project>
@@ -11,10 +11,10 @@ by editing this MSBuild file. In order to learn more about this please visit htt
<SiteUrlToLaunchAfterPublish>http://www.admodelling.org</SiteUrlToLaunchAfterPublish>
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>True</ExcludeApp_Data>
<MSDeployServiceURL>https://wprod01.steamware.net:8172/MsDeploy.axd</MSDeployServiceURL>
<MSDeployServiceURL>https://172.16.0.214:8172/MsDeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>admodelling.org</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
<SkipExtraFilesOnServer>true</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<EnableMSDeployBackup>True</EnableMSDeployBackup>
<UserName>steamware</UserName>
+100 -110
View File
@@ -1,12 +1,12 @@
/*!
* Bootstrap v4.5.0 (https://getbootstrap.com/)
* Bootstrap v4.5.2 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery')) :
typeof define === 'function' && define.amd ? define(['exports', 'jquery'], factory) :
(global = global || self, factory(global.bootstrap = {}, global.jQuery));
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery));
}(this, (function (exports, $) { 'use strict';
$ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
@@ -27,53 +27,22 @@
return Constructor;
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
return obj;
}
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
}
return target;
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
@@ -84,8 +53,8 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.5.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap (v4.5.2): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
@@ -265,7 +234,7 @@
*/
var NAME = 'alert';
var VERSION = '4.5.0';
var VERSION = '4.5.2';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -421,7 +390,7 @@
*/
var NAME$1 = 'button';
var VERSION$1 = '4.5.0';
var VERSION$1 = '4.5.2';
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
@@ -556,11 +525,9 @@
return;
}
if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {
event.preventDefault(); // work around event sent to label and input
if (initialButton.tagName !== 'LABEL' || inputBtn && inputBtn.type !== 'checkbox') {
Button._jQueryInterface.call($(button), 'toggle');
}
Button._jQueryInterface.call($(button), 'toggle');
}
}).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(SELECTOR_BUTTON)[0];
@@ -616,7 +583,7 @@
*/
var NAME$2 = 'carousel';
var VERSION$2 = '4.5.0';
var VERSION$2 = '4.5.2';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -803,7 +770,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default), config);
config = _extends({}, Default, config);
Util.typeCheckConfig(NAME$2, config, DefaultType);
return config;
};
@@ -1093,10 +1060,10 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$2);
var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());
var _config = _extends({}, Default, $(this).data());
if (typeof config === 'object') {
_config = _objectSpread2(_objectSpread2({}, _config), config);
_config = _extends({}, _config, config);
}
var action = typeof config === 'string' ? config : _config.slide;
@@ -1134,7 +1101,7 @@
return;
}
var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var config = _extends({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
@@ -1203,7 +1170,7 @@
*/
var NAME$3 = 'collapse';
var VERSION$3 = '4.5.0';
var VERSION$3 = '4.5.2';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -1418,7 +1385,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default$1), config);
config = _extends({}, Default$1, config);
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME$3, config, DefaultType$1);
@@ -1472,7 +1439,7 @@
var $this = $(this);
var data = $this.data(DATA_KEY$3);
var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$1), $this.data()), typeof config === 'object' && config ? config : {});
var _config = _extends({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false;
@@ -1547,7 +1514,7 @@
/**!
* @fileOverview Kickass library to create and place poppers near their reference elements.
* @version 1.16.0
* @version 1.16.1
* @license
* Copyright (c) 2016 Federico Zivolo and contributors
*
@@ -1893,7 +1860,7 @@
var sideA = axis === 'x' ? 'Left' : 'Top';
var sideB = sideA === 'Left' ? 'Right' : 'Bottom';
return parseFloat(styles['border' + sideA + 'Width'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);
return parseFloat(styles['border' + sideA + 'Width']) + parseFloat(styles['border' + sideB + 'Width']);
}
function getSize(axis, body, html, computedStyle) {
@@ -1954,7 +1921,7 @@
return obj;
};
var _extends = Object.assign || function (target) {
var _extends$1 = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
@@ -1976,7 +1943,7 @@
* @returns {Object} ClientRect like output
*/
function getClientRect(offsets) {
return _extends({}, offsets, {
return _extends$1({}, offsets, {
right: offsets.left + offsets.width,
bottom: offsets.top + offsets.height
});
@@ -2048,8 +2015,8 @@
var scrollParent = getScrollParent(children);
var styles = getStyleComputedProperty(parent);
var borderTopWidth = parseFloat(styles.borderTopWidth, 10);
var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);
var borderTopWidth = parseFloat(styles.borderTopWidth);
var borderLeftWidth = parseFloat(styles.borderLeftWidth);
// In cases where the parent is fixed, we must ignore negative scroll in offset calc
if (fixedPosition && isHTML) {
@@ -2070,8 +2037,8 @@
// differently when margins are applied to it. The margins are included in
// the box of the documentElement, in the other cases not.
if (!isIE10 && isHTML) {
var marginTop = parseFloat(styles.marginTop, 10);
var marginLeft = parseFloat(styles.marginLeft, 10);
var marginTop = parseFloat(styles.marginTop);
var marginLeft = parseFloat(styles.marginLeft);
offsets.top -= borderTopWidth - marginTop;
offsets.bottom -= borderTopWidth - marginTop;
@@ -2264,7 +2231,7 @@
};
var sortedAreas = Object.keys(rects).map(function (key) {
return _extends({
return _extends$1({
key: key
}, rects[key], {
area: getArea(rects[key])
@@ -2906,9 +2873,9 @@
};
// Update `data` attributes, styles and arrowStyles
data.attributes = _extends({}, attributes, data.attributes);
data.styles = _extends({}, styles, data.styles);
data.arrowStyles = _extends({}, data.offsets.arrow, data.arrowStyles);
data.attributes = _extends$1({}, attributes, data.attributes);
data.styles = _extends$1({}, styles, data.styles);
data.arrowStyles = _extends$1({}, data.offsets.arrow, data.arrowStyles);
return data;
}
@@ -3010,8 +2977,8 @@
// Compute the sideValue using the updated popper offsets
// take popper margin in account because we don't have this info available
var css = getStyleComputedProperty(data.instance.popper);
var popperMarginSide = parseFloat(css['margin' + sideCapitalized], 10);
var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);
var popperMarginSide = parseFloat(css['margin' + sideCapitalized]);
var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width']);
var sideValue = center - data.offsets.popper[side] - popperMarginSide - popperBorderSide;
// prevent arrowElement from being placed not contiguously to its popper
@@ -3188,7 +3155,7 @@
// this object contains `position`, we want to preserve it along with
// any additional property we may add in the future
data.offsets.popper = _extends({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
data.offsets.popper = _extends$1({}, data.offsets.popper, getPopperOffsets(data.instance.popper, data.offsets.reference, data.placement));
data = runModifiers(data.instance.modifiers, data, 'flip');
}
@@ -3462,7 +3429,7 @@
order.forEach(function (placement) {
var side = ['left', 'top'].indexOf(placement) !== -1 ? 'primary' : 'secondary';
popper = _extends({}, popper, check[side](placement));
popper = _extends$1({}, popper, check[side](placement));
});
data.offsets.popper = popper;
@@ -3497,7 +3464,7 @@
end: defineProperty({}, side, reference[side] + reference[measurement] - popper[measurement])
};
data.offsets.popper = _extends({}, popper, shiftOffsets[shiftvariation]);
data.offsets.popper = _extends$1({}, popper, shiftOffsets[shiftvariation]);
}
return data;
@@ -4029,7 +3996,7 @@
this.update = debounce(this.update.bind(this));
// with {} we create a new object with the options inside it
this.options = _extends({}, Popper.Defaults, options);
this.options = _extends$1({}, Popper.Defaults, options);
// init state
this.state = {
@@ -4044,13 +4011,13 @@
// Deep merge modifiers options
this.options.modifiers = {};
Object.keys(_extends({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
_this.options.modifiers[name] = _extends({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
Object.keys(_extends$1({}, Popper.Defaults.modifiers, options.modifiers)).forEach(function (name) {
_this.options.modifiers[name] = _extends$1({}, Popper.Defaults.modifiers[name] || {}, options.modifiers ? options.modifiers[name] : {});
});
// Refactoring modifiers' list (Object => Array)
this.modifiers = Object.keys(this.options.modifiers).map(function (name) {
return _extends({
return _extends$1({
name: name
}, _this.options.modifiers[name]);
})
@@ -4166,7 +4133,7 @@
*/
var NAME$4 = 'dropdown';
var VERSION$4 = '4.5.0';
var VERSION$4 = '4.5.2';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -4393,7 +4360,7 @@
};
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);
config = _extends({}, this.constructor.Default, $(this._element).data(), config);
Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
return config;
};
@@ -4438,7 +4405,7 @@
if (typeof this._config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
return data;
};
} else {
@@ -4468,7 +4435,7 @@
};
}
return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);
return _extends({}, popperConfig, this._config.popperConfig);
} // Static
;
@@ -4680,7 +4647,7 @@
*/
var NAME$5 = 'modal';
var VERSION$5 = '4.5.0';
var VERSION$5 = '4.5.2';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -4872,7 +4839,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default$3), config);
config = _extends({}, Default$3, config);
Util.typeCheckConfig(NAME$5, config, DefaultType$3);
return config;
};
@@ -4888,11 +4855,24 @@
return;
}
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden';
}
this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
$(this._element).off(Util.TRANSITION_END);
$(this._element).one(Util.TRANSITION_END, function () {
_this3._element.classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
$(_this3._element).one(Util.TRANSITION_END, function () {
_this3._element.style.overflowY = '';
}).emulateTransitionEnd(_this3._element, modalTransitionDuration);
}
}).emulateTransitionEnd(modalTransitionDuration);
this._element.focus();
@@ -4918,6 +4898,8 @@
this._element.setAttribute('aria-modal', true);
this._element.setAttribute('role', 'dialog');
if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
@@ -5005,6 +4987,8 @@
this._element.removeAttribute('aria-modal');
this._element.removeAttribute('role');
this._isTransitioning = false;
this._showBackdrop(function () {
@@ -5186,7 +5170,7 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$5);
var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$3), $(this).data()), typeof config === 'object' && config ? config : {});
var _config = _extends({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
if (!data) {
data = new Modal(this, _config);
@@ -5236,7 +5220,7 @@
target = document.querySelector(selector);
}
var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var config = $(target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $(target).data(), $(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
@@ -5273,8 +5257,8 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.5.0): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap (v4.5.2): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
@@ -5399,7 +5383,7 @@
*/
var NAME$6 = 'tooltip';
var VERSION$6 = '4.5.0';
var VERSION$6 = '4.5.2';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
@@ -5787,7 +5771,7 @@
return _this3._handlePopperPlacementChange(data);
}
};
return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);
return _extends({}, defaultBsConfig, this.config.popperConfig);
};
_proto._getOffset = function _getOffset() {
@@ -5797,7 +5781,7 @@
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});
data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
return data;
};
} else {
@@ -5852,7 +5836,7 @@
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {
this.config = _extends({}, this.config, {
trigger: 'manual',
selector: ''
});
@@ -5952,7 +5936,7 @@
delete dataAttributes[dataAttr];
}
});
config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), typeof config === 'object' && config ? config : {});
config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') {
config.delay = {
@@ -6111,21 +6095,21 @@
*/
var NAME$7 = 'popover';
var VERSION$7 = '4.5.0';
var VERSION$7 = '4.5.2';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
var CLASS_PREFIX$1 = 'bs-popover';
var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
var Default$5 = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
var Default$5 = _extends({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
});
var DefaultType$5 = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
var DefaultType$5 = _extends({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
@@ -6291,7 +6275,7 @@
*/
var NAME$8 = 'scrollspy';
var VERSION$8 = '4.5.0';
var VERSION$8 = '4.5.2';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -6405,7 +6389,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default$6), typeof config === 'object' && config ? config : {});
config = _extends({}, Default$6, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string' && Util.isElement(config.target)) {
var id = $(config.target).attr('id');
@@ -6583,7 +6567,7 @@
*/
var NAME$9 = 'tab';
var VERSION$9 = '4.5.0';
var VERSION$9 = '4.5.2';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
@@ -6809,7 +6793,7 @@
*/
var NAME$a = 'toast';
var VERSION$a = '4.5.0';
var VERSION$a = '4.5.2';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
@@ -6862,6 +6846,8 @@
return;
}
this._clearTimeout();
if (this._config.animation) {
this._element.classList.add(CLASS_NAME_FADE$5);
}
@@ -6910,8 +6896,7 @@
};
_proto.dispose = function dispose() {
clearTimeout(this._timeout);
this._timeout = null;
this._clearTimeout();
if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
this._element.classList.remove(CLASS_NAME_SHOW$7);
@@ -6925,7 +6910,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$7), $(this._element).data()), typeof config === 'object' && config ? config : {});
config = _extends({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
return config;
};
@@ -6955,6 +6940,11 @@
} else {
complete();
}
};
_proto._clearTimeout = function _clearTimeout() {
clearTimeout(this._timeout);
this._timeout = null;
} // Static
;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+79 -89
View File
@@ -1,12 +1,12 @@
/*!
* Bootstrap v4.5.0 (https://getbootstrap.com/)
* Bootstrap v4.5.2 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('jquery'), require('popper.js')) :
typeof define === 'function' && define.amd ? define(['exports', 'jquery', 'popper.js'], factory) :
(global = global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.bootstrap = {}, global.jQuery, global.Popper));
}(this, (function (exports, $, Popper) { 'use strict';
$ = $ && Object.prototype.hasOwnProperty.call($, 'default') ? $['default'] : $;
@@ -28,53 +28,22 @@
return Constructor;
}
function _defineProperty(obj, key, value) {
if (key in obj) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key] = value;
}
function _extends() {
_extends = Object.assign || function (target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
return obj;
}
function ownKeys(object, enumerableOnly) {
var keys = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) symbols = symbols.filter(function (sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
keys.push.apply(keys, symbols);
}
return keys;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
ownKeys(Object(source), true).forEach(function (key) {
_defineProperty(target, key, source[key]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys(Object(source)).forEach(function (key) {
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
});
for (var key in source) {
if (Object.prototype.hasOwnProperty.call(source, key)) {
target[key] = source[key];
}
}
}
}
return target;
return target;
};
return _extends.apply(this, arguments);
}
function _inheritsLoose(subClass, superClass) {
@@ -85,8 +54,8 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.5.0): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap (v4.5.2): util.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
@@ -266,7 +235,7 @@
*/
var NAME = 'alert';
var VERSION = '4.5.0';
var VERSION = '4.5.2';
var DATA_KEY = 'bs.alert';
var EVENT_KEY = "." + DATA_KEY;
var DATA_API_KEY = '.data-api';
@@ -422,7 +391,7 @@
*/
var NAME$1 = 'button';
var VERSION$1 = '4.5.0';
var VERSION$1 = '4.5.2';
var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
@@ -557,11 +526,9 @@
return;
}
if (initialButton.tagName === 'LABEL' && inputBtn && inputBtn.type === 'checkbox') {
event.preventDefault(); // work around event sent to label and input
if (initialButton.tagName !== 'LABEL' || inputBtn && inputBtn.type !== 'checkbox') {
Button._jQueryInterface.call($(button), 'toggle');
}
Button._jQueryInterface.call($(button), 'toggle');
}
}).on(EVENT_FOCUS_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
var button = $(event.target).closest(SELECTOR_BUTTON)[0];
@@ -617,7 +584,7 @@
*/
var NAME$2 = 'carousel';
var VERSION$2 = '4.5.0';
var VERSION$2 = '4.5.2';
var DATA_KEY$2 = 'bs.carousel';
var EVENT_KEY$2 = "." + DATA_KEY$2;
var DATA_API_KEY$2 = '.data-api';
@@ -804,7 +771,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default), config);
config = _extends({}, Default, config);
Util.typeCheckConfig(NAME$2, config, DefaultType);
return config;
};
@@ -1094,10 +1061,10 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$2);
var _config = _objectSpread2(_objectSpread2({}, Default), $(this).data());
var _config = _extends({}, Default, $(this).data());
if (typeof config === 'object') {
_config = _objectSpread2(_objectSpread2({}, _config), config);
_config = _extends({}, _config, config);
}
var action = typeof config === 'string' ? config : _config.slide;
@@ -1135,7 +1102,7 @@
return;
}
var config = _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var config = _extends({}, $(target).data(), $(this).data());
var slideIndex = this.getAttribute('data-slide-to');
@@ -1204,7 +1171,7 @@
*/
var NAME$3 = 'collapse';
var VERSION$3 = '4.5.0';
var VERSION$3 = '4.5.2';
var DATA_KEY$3 = 'bs.collapse';
var EVENT_KEY$3 = "." + DATA_KEY$3;
var DATA_API_KEY$3 = '.data-api';
@@ -1419,7 +1386,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default$1), config);
config = _extends({}, Default$1, config);
config.toggle = Boolean(config.toggle); // Coerce string values
Util.typeCheckConfig(NAME$3, config, DefaultType$1);
@@ -1473,7 +1440,7 @@
var $this = $(this);
var data = $this.data(DATA_KEY$3);
var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$1), $this.data()), typeof config === 'object' && config ? config : {});
var _config = _extends({}, Default$1, $this.data(), typeof config === 'object' && config ? config : {});
if (!data && _config.toggle && typeof config === 'string' && /show|hide/.test(config)) {
_config.toggle = false;
@@ -1553,7 +1520,7 @@
*/
var NAME$4 = 'dropdown';
var VERSION$4 = '4.5.0';
var VERSION$4 = '4.5.2';
var DATA_KEY$4 = 'bs.dropdown';
var EVENT_KEY$4 = "." + DATA_KEY$4;
var DATA_API_KEY$4 = '.data-api';
@@ -1780,7 +1747,7 @@
};
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), $(this._element).data()), config);
config = _extends({}, this.constructor.Default, $(this._element).data(), config);
Util.typeCheckConfig(NAME$4, config, this.constructor.DefaultType);
return config;
};
@@ -1825,7 +1792,7 @@
if (typeof this._config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this2._config.offset(data.offsets, _this2._element) || {});
data.offsets = _extends({}, data.offsets, _this2._config.offset(data.offsets, _this2._element) || {});
return data;
};
} else {
@@ -1855,7 +1822,7 @@
};
}
return _objectSpread2(_objectSpread2({}, popperConfig), this._config.popperConfig);
return _extends({}, popperConfig, this._config.popperConfig);
} // Static
;
@@ -2067,7 +2034,7 @@
*/
var NAME$5 = 'modal';
var VERSION$5 = '4.5.0';
var VERSION$5 = '4.5.2';
var DATA_KEY$5 = 'bs.modal';
var EVENT_KEY$5 = "." + DATA_KEY$5;
var DATA_API_KEY$5 = '.data-api';
@@ -2259,7 +2226,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default$3), config);
config = _extends({}, Default$3, config);
Util.typeCheckConfig(NAME$5, config, DefaultType$3);
return config;
};
@@ -2275,11 +2242,24 @@
return;
}
var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
if (!isModalOverflowing) {
this._element.style.overflowY = 'hidden';
}
this._element.classList.add(CLASS_NAME_STATIC);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._element);
var modalTransitionDuration = Util.getTransitionDurationFromElement(this._dialog);
$(this._element).off(Util.TRANSITION_END);
$(this._element).one(Util.TRANSITION_END, function () {
_this3._element.classList.remove(CLASS_NAME_STATIC);
if (!isModalOverflowing) {
$(_this3._element).one(Util.TRANSITION_END, function () {
_this3._element.style.overflowY = '';
}).emulateTransitionEnd(_this3._element, modalTransitionDuration);
}
}).emulateTransitionEnd(modalTransitionDuration);
this._element.focus();
@@ -2305,6 +2285,8 @@
this._element.setAttribute('aria-modal', true);
this._element.setAttribute('role', 'dialog');
if ($(this._dialog).hasClass(CLASS_NAME_SCROLLABLE) && modalBody) {
modalBody.scrollTop = 0;
} else {
@@ -2392,6 +2374,8 @@
this._element.removeAttribute('aria-modal');
this._element.removeAttribute('role');
this._isTransitioning = false;
this._showBackdrop(function () {
@@ -2573,7 +2557,7 @@
return this.each(function () {
var data = $(this).data(DATA_KEY$5);
var _config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$3), $(this).data()), typeof config === 'object' && config ? config : {});
var _config = _extends({}, Default$3, $(this).data(), typeof config === 'object' && config ? config : {});
if (!data) {
data = new Modal(this, _config);
@@ -2623,7 +2607,7 @@
target = document.querySelector(selector);
}
var config = $(target).data(DATA_KEY$5) ? 'toggle' : _objectSpread2(_objectSpread2({}, $(target).data()), $(this).data());
var config = $(target).data(DATA_KEY$5) ? 'toggle' : _extends({}, $(target).data(), $(this).data());
if (this.tagName === 'A' || this.tagName === 'AREA') {
event.preventDefault();
@@ -2660,8 +2644,8 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v4.5.0): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Bootstrap (v4.5.2): tools/sanitizer.js
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
@@ -2786,7 +2770,7 @@
*/
var NAME$6 = 'tooltip';
var VERSION$6 = '4.5.0';
var VERSION$6 = '4.5.2';
var DATA_KEY$6 = 'bs.tooltip';
var EVENT_KEY$6 = "." + DATA_KEY$6;
var JQUERY_NO_CONFLICT$6 = $.fn[NAME$6];
@@ -3174,7 +3158,7 @@
return _this3._handlePopperPlacementChange(data);
}
};
return _objectSpread2(_objectSpread2({}, defaultBsConfig), this.config.popperConfig);
return _extends({}, defaultBsConfig, this.config.popperConfig);
};
_proto._getOffset = function _getOffset() {
@@ -3184,7 +3168,7 @@
if (typeof this.config.offset === 'function') {
offset.fn = function (data) {
data.offsets = _objectSpread2(_objectSpread2({}, data.offsets), _this4.config.offset(data.offsets, _this4.element) || {});
data.offsets = _extends({}, data.offsets, _this4.config.offset(data.offsets, _this4.element) || {});
return data;
};
} else {
@@ -3239,7 +3223,7 @@
$(this.element).closest('.modal').on('hide.bs.modal', this._hideModalHandler);
if (this.config.selector) {
this.config = _objectSpread2(_objectSpread2({}, this.config), {}, {
this.config = _extends({}, this.config, {
trigger: 'manual',
selector: ''
});
@@ -3339,7 +3323,7 @@
delete dataAttributes[dataAttr];
}
});
config = _objectSpread2(_objectSpread2(_objectSpread2({}, this.constructor.Default), dataAttributes), typeof config === 'object' && config ? config : {});
config = _extends({}, this.constructor.Default, dataAttributes, typeof config === 'object' && config ? config : {});
if (typeof config.delay === 'number') {
config.delay = {
@@ -3498,21 +3482,21 @@
*/
var NAME$7 = 'popover';
var VERSION$7 = '4.5.0';
var VERSION$7 = '4.5.2';
var DATA_KEY$7 = 'bs.popover';
var EVENT_KEY$7 = "." + DATA_KEY$7;
var JQUERY_NO_CONFLICT$7 = $.fn[NAME$7];
var CLASS_PREFIX$1 = 'bs-popover';
var BSCLS_PREFIX_REGEX$1 = new RegExp("(^|\\s)" + CLASS_PREFIX$1 + "\\S+", 'g');
var Default$5 = _objectSpread2(_objectSpread2({}, Tooltip.Default), {}, {
var Default$5 = _extends({}, Tooltip.Default, {
placement: 'right',
trigger: 'click',
content: '',
template: '<div class="popover" role="tooltip">' + '<div class="arrow"></div>' + '<h3 class="popover-header"></h3>' + '<div class="popover-body"></div></div>'
});
var DefaultType$5 = _objectSpread2(_objectSpread2({}, Tooltip.DefaultType), {}, {
var DefaultType$5 = _extends({}, Tooltip.DefaultType, {
content: '(string|element|function)'
});
@@ -3678,7 +3662,7 @@
*/
var NAME$8 = 'scrollspy';
var VERSION$8 = '4.5.0';
var VERSION$8 = '4.5.2';
var DATA_KEY$8 = 'bs.scrollspy';
var EVENT_KEY$8 = "." + DATA_KEY$8;
var DATA_API_KEY$6 = '.data-api';
@@ -3792,7 +3776,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2({}, Default$6), typeof config === 'object' && config ? config : {});
config = _extends({}, Default$6, typeof config === 'object' && config ? config : {});
if (typeof config.target !== 'string' && Util.isElement(config.target)) {
var id = $(config.target).attr('id');
@@ -3970,7 +3954,7 @@
*/
var NAME$9 = 'tab';
var VERSION$9 = '4.5.0';
var VERSION$9 = '4.5.2';
var DATA_KEY$9 = 'bs.tab';
var EVENT_KEY$9 = "." + DATA_KEY$9;
var DATA_API_KEY$7 = '.data-api';
@@ -4196,7 +4180,7 @@
*/
var NAME$a = 'toast';
var VERSION$a = '4.5.0';
var VERSION$a = '4.5.2';
var DATA_KEY$a = 'bs.toast';
var EVENT_KEY$a = "." + DATA_KEY$a;
var JQUERY_NO_CONFLICT$a = $.fn[NAME$a];
@@ -4249,6 +4233,8 @@
return;
}
this._clearTimeout();
if (this._config.animation) {
this._element.classList.add(CLASS_NAME_FADE$5);
}
@@ -4297,8 +4283,7 @@
};
_proto.dispose = function dispose() {
clearTimeout(this._timeout);
this._timeout = null;
this._clearTimeout();
if (this._element.classList.contains(CLASS_NAME_SHOW$7)) {
this._element.classList.remove(CLASS_NAME_SHOW$7);
@@ -4312,7 +4297,7 @@
;
_proto._getConfig = function _getConfig(config) {
config = _objectSpread2(_objectSpread2(_objectSpread2({}, Default$7), $(this._element).data()), typeof config === 'object' && config ? config : {});
config = _extends({}, Default$7, $(this._element).data(), typeof config === 'object' && config ? config : {});
Util.typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
return config;
};
@@ -4342,6 +4327,11 @@
} else {
complete();
}
};
_proto._clearTimeout = function _clearTimeout() {
clearTimeout(this._timeout);
this._timeout = null;
} // Static
;
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+50 -52
View File
@@ -1,62 +1,60 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_header.ascx.cs" Inherits="WebLCP.WUC.cmp_header" %>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark text-light">
<a class="navbar-brand" href="Default"><i class="fa fa-object-group" aria-hidden="true"></i>WebLCP</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="Default"><i class="fa fa-object-group" aria-hidden="true"></i>WebLCP</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto" runat="server" id="ulLinks">
<li runat="server" class='<%# checkPage("Default") + " nav-item" %>'>
<a class="nav-link" href="Default"><i class="fa fa-home" aria-hidden="true"></i> Home</a>
</li>
<li runat="server" class='<%# checkPage("JobsList") + " nav-item border border-success" %>' visible='<%# userIsAuth %>'>
<a class="nav-link" href="JobsList"><i class="fa fa-list" aria-hidden="true"></i>Jobs processing</a>
</li>
<li runat="server" class='<%# checkPage("ComparisonPlot") + " nav-item border border-warning" %>' visible='<%# userIsAuth %>'>
<a class="nav-link" href="ComparisonPlot"><i class="fa fa-chart-area" aria-hidden="true"></i>Comparison Plot</a>
</li>
<li runat="server" class='<%# checkPage("About") + " nav-item" %>'>
<a class="nav-link" href="About"><i class="fa fa-info" aria-hidden="true"></i> About</a>
</li>
<li runat="server" class='<%# checkPage("Contact") + " nav-item" %>'>
<a class="nav-link" href="Contact"><i class="fa fa-users" aria-hidden="true"></i> Contacts</a>
</li>
<li runat="server" class='<%# checkPage("CondizioniServizio") + " nav-item" %>'>
<a class="nav-link" href="CondizioniServizio"><i class="fa fa-certificate" aria-hidden="true"></i> Fair Use Condition</a>
</li>
</ul>
<div runat="server" class="form-inline my-2 my-lg-0">
<asp:HyperLink runat="server" ID="hlReset" NavigateUrl="~/reset" CssClass="btn btn-danger text-nowrap" OnClick="return confirm('LOG-OUT utente: sicuro di voler procedere?');" Visible='<%# userIsAuth %>'><i class="fa fa-sign-out" ></i> EXIT</asp:HyperLink>
<asp:HyperLink runat="server" ID="hlLogin" NavigateUrl="~/RegisterUser" CssClass="btn btn-success text-nowrap" Visible='<%# !userIsAuth %>'><i class="fa fa-sign-in" ></i> LOGIN</asp:HyperLink>
<div runat="server" id="divSearch">
<asp:TextBox runat="server" ID="txtSearch" class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" OnTextChanged="txtSearch_TextChanged" />
<asp:LinkButton runat="server" ID="lbtSearch" class="btn btn-secondary my-2 my-sm-0" type="submit" OnClick="lbtSearch_Click">Search <i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</div>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto" runat="server" id="ulLinks">
<li runat="server" class='<%# checkPage("Default") + " nav-item" %>'>
<a class="nav-link" href="Default"><i class="fa fa-home" aria-hidden="true"></i>Home</a>
</li>
<li runat="server" class='<%# checkPage("JobsList") + " nav-item border border-success" %>' visible='<%# userIsAuth %>'>
<a class="nav-link" href="JobsList"><i class="fa fa-list" aria-hidden="true"></i>Jobs processing</a>
</li>
<li runat="server" class='<%# checkPage("ComparisonPlot") + " nav-item border border-warning" %>' visible='<%# userIsAuth %>'>
<a class="nav-link" href="ComparisonPlot"><i class="fa fa-chart-area" aria-hidden="true"></i>Comparison Plot</a>
</li>
<li runat="server" class='<%# checkPage("About") + " nav-item" %>'>
<a class="nav-link" href="About"><i class="fa fa-info" aria-hidden="true"></i>About</a>
</li>
<li runat="server" class='<%# checkPage("Contact") + " nav-item" %>'>
<a class="nav-link" href="Contact"><i class="fa fa-users" aria-hidden="true"></i>Contacts</a>
</li>
<li runat="server" class='<%# checkPage("CondizioniServizio") + " nav-item" %>'>
<a class="nav-link" href="CondizioniServizio"><i class="fa fa-certificate" aria-hidden="true"></i>Fair Use Condition</a>
</li>
</ul>
<div runat="server" class="form-inline my-2 my-lg-0">
<asp:HyperLink runat="server" ID="hlReset" NavigateUrl="~/reset" CssClass="btn btn-danger text-nowrap" OnClick="return confirm('LOG-OUT utente: sicuro di voler procedere?');" Visible='<%# userIsAuth %>'><i class="fa fa-sign-out" ></i> EXIT</asp:HyperLink>
<asp:HyperLink runat="server" ID="hlLogin" NavigateUrl="~/RegisterUser" CssClass="btn btn-success text-nowrap" Visible='<%# !userIsAuth %>'><i class="fa fa-sign-in" ></i> LOGIN</asp:HyperLink>
<div runat="server" id="divSearch">
<asp:TextBox runat="server" ID="txtSearch" class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search" OnTextChanged="txtSearch_TextChanged" />
<asp:LinkButton runat="server" ID="lbtSearch" class="btn btn-secondary my-2 my-sm-0" type="submit" OnClick="lbtSearch_Click">Search <i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</div>
</div>
</div>
</div>
</nav>
<asp:UpdateProgress ID="updProgress" runat="server" DynamicLayout="true" DisplayAfter="5">
<ProgressTemplate>
<div class="d-flex">
<div class="progress w-100" style="height: 0.5em">
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width: 80%"></div>
</div>
</div>
</ProgressTemplate>
<ProgressTemplate>
<div class="d-flex">
<div class="progress w-100" style="height: 0.5em">
<div class="progress-bar progress-bar-striped progress-bar-animated" style="width: 80%"></div>
</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<div class="container">
<div class="row mt-1 mb-0">
<div class="col">
<img src="../Images/logoAlzheimerAssociation.png" class="img-fluid" width="256" />
<div class="row mt-1 mb-0">
<div class="col">
<img src="/Images/logoAlzheimerAssociation.png" class="img-fluid" width="256" />
</div>
<div class="col text-right">
<img src="/Images/logoIRCSS.png" class="img-fluid" width="128" />
<br />
<b>IRCCS</b> Istituto Centro San Giovanni di Dio Fatebenefratelli Brescia
</div>
</div>
<div class="col text-right">
<img src="../Images/logoIRCSS.png" class="img-fluid" width="128" />
<br />
<b>IRCCS</b> Istituto Centro San Giovanni di Dio Fatebenefratelli Brescia
</div>
</div>
</div>
</div>
+14 -26
View File
@@ -3,32 +3,20 @@
<!-- Per altre informazioni sull'utilizzo della trasformazione web.config, vedere https://go.microsoft.com/fwlink/?LinkId=125889 -->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appSettings>
<!--<add key="SiteName" value="www.b2bcondomini.it" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="urlType" value="https" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="baseUrl" value="https://www.b2bcondomini.it/" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="Ambient" value="PROD" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>-->
<!--email-->
<!--<add key="_debugEmail" value="info@b2bcondomini.it" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_b2bcEmail" value="info@b2bcondomini.it" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_adminEmail" value="info@b2bcondomini.it" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_fromEmail" value="comunicazioni@b2bcondomini.it" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_smtpCli" value="ssl0.ovh.net" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_emailUser" value="comunicazioni@b2bcondomini.it" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_emailPwd" value="b2b.2018!***" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="_enableSSL" value="true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>-->
<!--DB connstring-->
<add key="AdmodellingConnectionString" value="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DbConfConnectionString" value="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="DevicesAuthConnectionString" value="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="PermessiConnectionString" value="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="UtenteCdcConnectionString" value="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
<add key="VocabolarioConnectionString" value="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
<appSettings>
<!--DB connstring-->
<add key="AdmodellingConnectionString" value="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="DbConfConnectionString" value="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="DevicesAuthConnectionString" value="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="PermessiConnectionString" value="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="UtenteCdcConnectionString" value="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="VocabolarioConnectionString" value="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
<connectionStrings>
<add name="AdmodellingConnectionString" connectionString="Data Source=localhost\SQL2012;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
<add name="AdmodellingConnectionString" connectionString="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<add name="ErrorLog" connectionString="Data Source=WIN2019SQL\SQLEXPRESS;Initial Catalog=Elmah;Persist Security Info=True;User ID=sa;Password=keyhammer16;" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</connectionStrings>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
</system.web>
</configuration>
+193 -121
View File
@@ -4,125 +4,197 @@
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.2" />
<pages>
<namespaces>
<add namespace="System.Web.Optimization" />
</namespaces>
<configSections>
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
</configSections>
<system.web>
<compilation debug="true" targetFramework="4.6.2" />
<httpRuntime targetFramework="4.6.2" />
<pages>
<namespaces>
<add namespace="System.Web.Optimization" />
</namespaces>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" /></controls>
</pages>
</system.web>
<appSettings>
<!--Configurazioni generali-->
<add key="intUpdatePagina_ms" value="120000" />
<add key="CodModulo" value="WLP" />
<add key="appName" value="WLP" />
<add key="copyRight" value="Steamware " />
<add key="reqWriteLocal" value="false" />
<add key="_safePages" value="WIP#chLang#unauthorized#default#test#UpdMan#about#contact#CondizioniServizio#DB_INPUT#DB_INPUT_CLUSTER#DescrCalc" />
<add key="_loginPages" value="jumper#forceUser#login#UserAdmin#registerUser" />
<!--area logger-->
<add key="_logDir" value="~/logs/" />
<add key="_logLevel" value="6" />
<add key="_logMaxMb" value="30" />
<add key="doShrinkFolder" value="true" />
<add key="enableDumpDiag" value="false" />
<add key="logMitigSec" value="30" />
<!--nome sw e versioni-->
<add key="AutoAuth" value="true" />
<add key="Ambient" value="DEV" />
<add key="urlType" value="http" />
<!--gestione auth dispositivi-->
<add key="AuthCookieName" value="admodellingAuth" />
<add key="defaultDomain" value="admod" />
<add key="enablePlain" value="true" />
<add key="urlGestUtenti" value="UserAdmin" />
<add key="adminEmail" value="samuele@steamware.net" />
<!--Impostazione gestione serializzazione variabili in sessione (es per Redis)-->
<add key="errorPageRedirect" value="./Reset?Action=CDV" />
<add key="maxAgeAppConf_min" value="5" />
<!--area file upload-->
<!--<add key="tempUploadDir" value="~/fileUpload/" />-->
<!--<add key="resultsDir" value="~/results/" />-->
<!--<add key="clusterBaseDir" value="L:\" />-->
<!--<add key="ageMaxTempFile" value="30" />-->
<!--conf regexp-->
<add key="regExpBodyA" value="^\d+;(0|1);(pos|neg);\-?\d+(\,\d*)*$" />
<add key="regExpBodyB" value="^(pos|neg);\d+;(0|1);\-?\d+(\,\d*)*$" />
<add key="maxErrors" value="10" />
<!--Configurazioni Redis-->
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false,allowAdmin=true" />
<add key="redisDb" value="5" />
<!--Conf DB-->
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="DevicesAuthConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="PermessiConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="UtenteCdcConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="VocabolarioConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="AdmodellingConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
</appSettings>
<connectionStrings>
<add name="AdmodellingConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.25.1.0" newVersion="0.25.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</compilers>
</system.codedom>
</configuration>
<controls>
<add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
<add tagPrefix="ajaxToolkit" assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" />
</controls>
</pages>
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />
</httpModules>
</system.web>
<appSettings>
<!--Configurazioni generali-->
<add key="intUpdatePagina_ms" value="120000" />
<add key="CodModulo" value="WLP" />
<add key="appName" value="WLP" />
<add key="copyRight" value="Steamware " />
<add key="reqWriteLocal" value="false" />
<add key="_safePages" value="WIP#chLang#unauthorized#default#test#UpdMan#about#contact#CondizioniServizio#DB_INPUT#DB_INPUT_CLUSTER#DescrCalc" />
<add key="_loginPages" value="jumper#forceUser#login#UserAdmin#registerUser" />
<!--area logger-->
<add key="_logDir" value="~/logs/" />
<add key="_logLevel" value="6" />
<add key="_logMaxMb" value="30" />
<add key="doShrinkFolder" value="true" />
<add key="enableDumpDiag" value="false" />
<add key="logMitigSec" value="30" />
<!--nome sw e versioni-->
<add key="AutoAuth" value="true" />
<add key="Ambient" value="DEV" />
<add key="urlType" value="http" />
<!--gestione auth dispositivi-->
<add key="AuthCookieName" value="admodellingAuth" />
<add key="defaultDomain" value="admod" />
<add key="enablePlain" value="true" />
<add key="urlGestUtenti" value="UserAdmin" />
<add key="adminEmail" value="samuele@steamware.net" />
<!--Impostazione gestione serializzazione variabili in sessione (es per Redis)-->
<add key="errorPageRedirect" value="./Reset?Action=CDV" />
<add key="maxAgeAppConf_min" value="5" />
<!--area file upload-->
<!--<add key="tempUploadDir" value="~/fileUpload/" />-->
<!--<add key="resultsDir" value="~/results/" />-->
<!--<add key="clusterBaseDir" value="L:\" />-->
<!--<add key="ageMaxTempFile" value="30" />-->
<!--conf regexp-->
<add key="regExpBodyA" value="^\d+;(0|1);(pos|neg);\-?\d+(\,\d*)*$" />
<add key="regExpBodyB" value="^(pos|neg);\d+;(0|1);\-?\d+(\,\d*)*$" />
<add key="maxErrors" value="10" />
<!--Configurazioni Redis-->
<add key="RedisConn" value="localhost,abortConnect=false,ssl=false" />
<add key="RedisConnAdmin" value="localhost,abortConnect=false,ssl=false,allowAdmin=true" />
<add key="redisDb" value="5" />
<!--Conf DB-->
<add key="DbConfConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="DevicesAuthConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="PermessiConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="UtenteCdcConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="VocabolarioConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
<add key="AdmodellingConnectionString" value="Data Source=SQL2016DEV;Initial Catalog=Admodelling;Persist Security Info=True;User ID=sa;Password=keyhammer16;" />
</appSettings>
<connectionStrings>
<add name="AdmodellingConnectionString" connectionString="Data Source=SQL2016DEV;Initial Catalog=Admodelling;User ID=sa;Password=keyhammer16;" providerName="System.Data.SqlClient" />
<add name="ErrorLog" connectionString="Data Source=SQL2016PROD;Initial Catalog=Elmah;Persist Security Info=True;User ID=conn_NKC;Password=pwd_NKC" providerName="System.Data.SqlClient" />
</connectionStrings>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Pipelines" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Threading.Channels" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.IO.Compression" publicKeyToken="b77a5c561934e089" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.2.0" newVersion="4.1.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Bcl.AsyncInterfaces" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.0.0.0" newVersion="5.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.InteropServices.RuntimeInformation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.1.0" newVersion="4.0.1.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="ICSharpCode.SharpZipLib" publicKeyToken="1b03e6acf1164f73" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.0.8" newVersion="1.3.0.8" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="DnsClient" publicKeyToken="4574bb5573c51424" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.2.0" newVersion="1.3.2.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="SharpCompress" publicKeyToken="afb0a02973931d96" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-0.26.0.0" newVersion="0.26.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.1.3" newVersion="4.1.1.3" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.codedom>
<compilers>
<compiler extension=".cs" language="c#;cs;csharp" warningLevel="4" compilerOptions="/langversion:7.0 /nowarn:1659;1699;1701;612;618" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<compiler extension=".vb" language="vb;vbs;visualbasic;vbscript" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008,40000,40008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</compilers>
</system.codedom>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" preCondition="managedHandler" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" preCondition="managedHandler" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" preCondition="managedHandler" />
</modules>
</system.webServer>
<elmah>
<!--
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
more information on remote access and securing ELMAH.
-->
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ErrorLog" />
<security allowRemoteAccess="false" />
</elmah>
<location path="elmah.axd" inheritInChildApplications="false">
<system.web>
<httpHandlers>
<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />
</httpHandlers>
<!--
See http://code.google.com/p/elmah/wiki/SecuringErrorLogPages for
more information on using ASP.NET authorization securing ELMAH.
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
-->
</system.web>
<system.webServer>
<handlers>
<add name="ELMAH" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" preCondition="integratedMode" />
</handlers>
</system.webServer>
</location>
</configuration>
+55 -26
View File
@@ -51,8 +51,8 @@
<Reference Include="AjaxControlToolkit, Version=20.1.0.0, Culture=neutral, PublicKeyToken=28f01b0e84b6d53e, processorArchitecture=MSIL">
<HintPath>..\packages\AjaxControlToolkit.20.1.0\lib\net40\AjaxControlToolkit.dll</HintPath>
</Reference>
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.5.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.5.0\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
<Reference Include="AspNet.ScriptManager.bootstrap, Version=4.5.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.bootstrap.4.5.2\lib\net45\AspNet.ScriptManager.bootstrap.dll</HintPath>
</Reference>
<Reference Include="AspNet.ScriptManager.jQuery, Version=3.5.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\AspNet.ScriptManager.jQuery.3.5.1\lib\net45\AspNet.ScriptManager.jQuery.dll</HintPath>
@@ -63,8 +63,11 @@
<Reference Include="DnsClient, Version=1.3.2.0, Culture=neutral, PublicKeyToken=4574bb5573c51424, processorArchitecture=MSIL">
<HintPath>..\packages\DnsClient.1.3.2\lib\net45\DnsClient.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.2.0.246, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.2.0\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
<Reference Include="Elmah, Version=1.2.14706.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\elmah.corelibrary.1.2.2\lib\Elmah.dll</HintPath>
</Reference>
<Reference Include="ICSharpCode.SharpZipLib, Version=1.3.0.8, Culture=neutral, PublicKeyToken=1b03e6acf1164f73, processorArchitecture=MSIL">
<HintPath>..\packages\SharpZipLib.1.3.0\lib\net45\ICSharpCode.SharpZipLib.dll</HintPath>
</Reference>
<Reference Include="Microsoft.AspNet.FriendlyUrls, Version=1.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.FriendlyUrls.Core.1.0.2\lib\net45\Microsoft.AspNet.FriendlyUrls.dll</HintPath>
@@ -72,8 +75,8 @@
<Reference Include="Microsoft.AspNet.Web.Optimization.WebForms, Version=1.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.AspNet.Web.Optimization.WebForms.1.1.3\lib\net45\Microsoft.AspNet.Web.Optimization.WebForms.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.1\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.5.0.0\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=3.6.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll</HintPath>
@@ -88,14 +91,14 @@
<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Bson, Version=2.10.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.10.4\lib\net452\MongoDB.Bson.dll</HintPath>
<Reference Include="MongoDB.Bson, Version=2.11.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Bson.2.11.4\lib\net452\MongoDB.Bson.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver, Version=2.10.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.10.4\lib\net452\MongoDB.Driver.dll</HintPath>
<Reference Include="MongoDB.Driver, Version=2.11.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.2.11.4\lib\net452\MongoDB.Driver.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Driver.Core, Version=2.10.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.10.4\lib\net452\MongoDB.Driver.Core.dll</HintPath>
<Reference Include="MongoDB.Driver.Core, Version=2.11.4.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Driver.Core.2.11.4\lib\net452\MongoDB.Driver.Core.dll</HintPath>
</Reference>
<Reference Include="MongoDB.Libmongocrypt, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\MongoDB.Libmongocrypt.1.0.0\lib\net452\MongoDB.Libmongocrypt.dll</HintPath>
@@ -104,7 +107,7 @@
<HintPath>..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="NLog, Version=4.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c, processorArchitecture=MSIL">
<HintPath>..\packages\NLog.4.7.2\lib\net45\NLog.dll</HintPath>
<HintPath>..\packages\NLog.4.7.5\lib\net45\NLog.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=1.50.5147.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.1.50.5147\lib\net20\PdfSharp.dll</HintPath>
@@ -115,8 +118,8 @@
<Reference Include="Pipelines.Sockets.Unofficial, Version=1.0.0.0, Culture=neutral, PublicKeyToken=42ea0a778e13fbe2, processorArchitecture=MSIL">
<HintPath>..\packages\Pipelines.Sockets.Unofficial.2.1.16\lib\net461\Pipelines.Sockets.Unofficial.dll</HintPath>
</Reference>
<Reference Include="SharpCompress, Version=0.25.1.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.25.1\lib\net46\SharpCompress.dll</HintPath>
<Reference Include="SharpCompress, Version=0.26.0.0, Culture=neutral, PublicKeyToken=afb0a02973931d96, processorArchitecture=MSIL">
<HintPath>..\packages\SharpCompress.0.26.0\lib\net46\SharpCompress.dll</HintPath>
</Reference>
<Reference Include="Snappy.NET, Version=1.1.1.8, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Snappy.NET.1.1.1.8\lib\net45\Snappy.NET.dll</HintPath>
@@ -124,8 +127,11 @@
<Reference Include="StackExchange.Redis, Version=2.0.0.0, Culture=neutral, PublicKeyToken=c219ff1ca8c2ce46, processorArchitecture=MSIL">
<HintPath>..\packages\StackExchange.Redis.2.1.58\lib\net461\StackExchange.Redis.dll</HintPath>
</Reference>
<Reference Include="SteamWare, Version=4.0.2003.734, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.4.0.2003.734\lib\net462\SteamWare.dll</HintPath>
<Reference Include="SteamWare, Version=5.0.2011.746, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.5.0.2011.746\lib\net462\SteamWare.dll</HintPath>
</Reference>
<Reference Include="SteamWare.Logger, Version=5.0.2010.745, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\SteamWare.Logger.5.0.2010.745\lib\net462\SteamWare.Logger.dll</HintPath>
</Reference>
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
@@ -135,32 +141,47 @@
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Diagnostics.PerformanceCounter, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.4.7.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
<Reference Include="System.Diagnostics.PerformanceCounter, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.PerformanceCounter.5.0.0\lib\net461\System.Diagnostics.PerformanceCounter.dll</HintPath>
</Reference>
<Reference Include="System.IO.Compression, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Compression.4.3.0\lib\net46\System.IO.Compression.dll</HintPath>
</Reference>
<Reference Include="System.IO.Pipelines, Version=4.0.2.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.4.7.2\lib\net461\System.IO.Pipelines.dll</HintPath>
<Reference Include="System.IO.Pipelines, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.IO.Pipelines.5.0.0\lib\net461\System.IO.Pipelines.dll</HintPath>
</Reference>
<Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
</Reference>
<Reference Include="System.Net.Http, Version=4.1.1.3, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll</HintPath>
</Reference>
<Reference Include="System.Numerics" />
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.5.0.0\lib\net45\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.InteropServices.RuntimeInformation, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll</HintPath>
</Reference>
<Reference Include="System.Runtime.Serialization" />
<Reference Include="System.Security.Cryptography.Algorithms, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Algorithms.4.3.1\lib\net461\System.Security.Cryptography.Algorithms.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Encoding, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.Primitives, Version=4.0.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll</HintPath>
</Reference>
<Reference Include="System.Security.Cryptography.X509Certificates, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.X509Certificates.4.3.2\lib\net461\System.Security.Cryptography.X509Certificates.dll</HintPath>
</Reference>
<Reference Include="System.ServiceModel" />
<Reference Include="System.Threading.Channels, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.4.7.1\lib\net461\System.Threading.Channels.dll</HintPath>
<Reference Include="System.Threading.Channels, Version=5.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Channels.5.0.0\lib\net461\System.Threading.Channels.dll</HintPath>
</Reference>
<Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
@@ -190,6 +211,7 @@
</ItemGroup>
<ItemGroup>
<Content Include="About.aspx" />
<Content Include="App_Readme\Elmah.txt" />
<Content Include="App_Readme\README_SteamWare.txt" />
<Content Include="App_Readme\SteamWare_demo\example-config-table.txt" />
<Content Include="App_Readme\SteamWare_demo\example-favicon.ico" />
@@ -223,6 +245,9 @@
<Content Include="Content\Site.min.css">
<DependentUpon>Site.css</DependentUpon>
</Content>
<Content Include="Core\Compression\Snappy\lib\win\snappy32.dll" />
<Content Include="Core\Compression\Snappy\lib\win\snappy64.dll" />
<Content Include="Core\Compression\Zstandard\lib\win\libzstd.dll" />
<Content Include="DB_INPUT.aspx" />
<Content Include="DB_INPUT_CLU.aspx" />
<Content Include="Default.aspx" />
@@ -277,9 +302,10 @@
<DependentUpon>DS_App.xsd</DependentUpon>
</Content>
<Content Include="logs\PlaceHolder.file" />
<None Include="Properties\PublishProfiles\FileExport.pubxml" />
<None Include="Properties\PublishProfiles\IIS01.pubxml" />
<None Include="Properties\PublishProfiles\IIS03.pubxml" />
<None Include="Properties\PublishProfiles\IIS02.pubxml" />
<None Include="Properties\PublishProfiles\OVH-prod.pubxml" />
<Content Include="results\PlaceHolder.file" />
<Content Include="Scripts\bootstrap.bundle.js" />
<Content Include="Scripts\bootstrap.bundle.min.js" />
@@ -294,6 +320,7 @@
<Content Include="Scripts\esm\popper.js.map" />
<Content Include="Scripts\esm\popper-utils.min.js.map" />
<Content Include="Scripts\esm\popper-utils.js.map" />
<None Include="Properties\PublishProfiles\OVH.pubxml" />
<Content Include="Scripts\bootstrap.min.js.map" />
<Content Include="Scripts\bootstrap.js.map" />
<Content Include="Scripts\bootstrap.bundle.min.js.map" />
@@ -748,10 +775,12 @@
<Error Condition="!Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets'))" />
<Error Condition="!Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets'))" />
<Error Condition="!Exists('..\packages\MongoDB.Driver.Core.2.11.4\build\MongoDB.Driver.Core.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\MongoDB.Driver.Core.2.11.4\build\MongoDB.Driver.Core.targets'))" />
</Target>
<Import Project="..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets" Condition="Exists('..\packages\NETStandard.Library.2.0.3\build\netstandard2.0\NETStandard.Library.targets')" />
<Import Project="..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets" Condition="Exists('..\packages\MongoDB.Libmongocrypt.1.0.0\build\MongoDB.Libmongocrypt.targets')" />
<Import Project="..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets" Condition="Exists('..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0\build\net46\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.targets')" />
<Import Project="..\packages\MongoDB.Driver.Core.2.11.4\build\MongoDB.Driver.Core.targets" Condition="Exists('..\packages\MongoDB.Driver.Core.2.11.4\build\MongoDB.Driver.Core.targets')" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
+243 -221
View File
@@ -5,245 +5,267 @@ using System.Collections;
namespace WebLCP
{
public class dataLayer
{
#region area public
public DS_AppTableAdapters.JobsListTableAdapter taJL;
/// <summary>
/// Effettua verifica jobs
/// </summary>
public void checkJobs()
public class dataLayer
{
string jobName = "";
string resultsDir = "";
// verifica se ci siano JOB in corso --> completati
DS_App.JobsListDataTable tabJobsAperti = taJL.getIncomp();
if (tabJobsAperti.Count > 0)
{
// dir di riferimento
string completedDir = $"{memLayer.ML.CRS("clusterBaseDir")}OUT\\";
// cerco SE siano finiti su filesystem...
fileMover.obj.setDirectory(completedDir);
foreach (var currJob in tabJobsAperti)
#region Public Fields
public static dataLayer man = new dataLayer();
public DS_AppTableAdapters.JobsListTableAdapter taJL;
#endregion Public Fields
#region Public Constructors
public dataLayer()
{
// calcolo nome folder...
jobName = "J" + currJob.JobId.ToString("D9");
// cerco se ci sia...
System.IO.DirectoryInfo[] elencoDir = fileMover.obj.elencoSubdir_DI(jobName);
if (elencoDir.Length > 0)
{
foreach (var currDir in elencoDir)
initAdapters();
setupConnection();
}
#endregion Public Constructors
#region Private Methods
/// <summary>
/// Effettua vera pulizia directory
/// </summary>
/// <param name="sourceDir"></param>
/// <param name="dataLimite"></param>
private static void forceClean(string sourceDir, DateTime dataLimite, bool updateDb)
{
logger.lg.scriviLog($"Richiesta eliminazione file + antecedenti {dataLimite} nella cartella {sourceDir}");
fileMover.obj.setDirectoryMapPath(sourceDir);
fileMover.obj.checkDir();
// eliminazione files!
var elencoFiles = fileMover.obj.elencoFiles_FI();
foreach (var fi in elencoFiles)
{
bool copyDone = false;
bool delDone = false;
bool dbDone = false;
try
{
// calcolo dir locale...
resultsDir = System.Web.HttpContext.Current.Server.MapPath($"{memLayer.ML.CRS("resultsDir")}\\{jobName}");
// sposto folder in dir locale..
fileMover.DirectoryCopy(currDir.FullName, resultsDir, true, true);
copyDone = true;
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in copia folder a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
if (copyDone)
{
// status: parto da default = incomplete...
int newStatus = (int)JStatus.PROC_INCOMPLETE;
// se ho il file message.err --> errore
int downlSize = 0;
var elFilesRes = fileMover.obj.elencoFilesDir(resultsDir);
if (elFilesRes.Count > 0)
if (fi.CreationTime < dataLimite && fi.Name != "PlaceHolder.file")
{
// cerco eventuale file .err
foreach (var file in elFilesRes)
{
// se è "message.err" --> ho errore
if (file.Nome.Contains("message.err"))
{
newStatus = (int)JStatus.PROC_ERROR;
break;
}
// se ho txt --> completato
else if (file.Nome.EndsWith(".txt"))
{
newStatus = (int)JStatus.COMPLETED;
break;
}
}
// ora calcolo dimensione da somma files...
foreach (var file in elFilesRes)
{
downlSize += (int)(file.size * 1024);
}
fi.Delete();
}
try
{
// registro su DB
man.taJL.updateProcessed(currJob.JobId, newStatus, DateTime.Now, downlSize, $"{memLayer.ML.CRS("resultsDir")}{jobName}");
dbDone = true;
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in salvataggio su DB a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
if (dbDone)
{
try
{
//elimino
fileMover.obj.setDirectory(currDir.FullName);
fileMover.obj.eliminaDir();
fileMover.obj.setDirectory(resultsDir);
delDone = true;
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in eliminazione folder OUT a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
if (delDone)
{
try
{
string siteUrl = memLayer.ML.CRS("baseUrl");
// invio email ad utenti al completamento
string oggetto = $"Job <b>{currJob.JobDescr}</b> execution has just been completed.<br/>" +
$"Job was submitted at {currJob.dtSubmiss} and ended at {DateTime.Now}.<br/>" +
$"Please access to <a href=\"{siteUrl}\">{siteUrl}</a> in order to download results";
gestEmail.geAuth.mandaEmail(memLayer.ML.CRS("_fromEmail"), currJob.USER_NAME, $"JOB {currJob.JobDescr} completed", oggetto);
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in invio email a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
}
}
}
}
}
}
}
}
/// <summary>
/// pulisce folder upload da files in IN lasciati da oltre 30 minuti (conf)
/// </summary>
public void cleanupTempDir()
{
int ageMaxTempFile = memLayer.ML.CRI("ageMaxTempFile");
string sourceDir = $"{memLayer.ML.CRS("tempUploadDir")}";
DateTime dataLimite = DateTime.Now.AddMinutes(-ageMaxTempFile);
forceClean(sourceDir, dataLimite, false);
}
/// <summary>
/// Effettua vera pulizia directory
/// </summary>
/// <param name="sourceDir"></param>
/// <param name="dataLimite"></param>
private static void forceClean(string sourceDir, DateTime dataLimite, bool updateDb)
{
fileMover.obj.setDirectoryMapPath(sourceDir);
fileMover.obj.checkDir();
// eliminazione files!
var elencoFiles = fileMover.obj.elencoFiles_FI();
foreach (var fi in elencoFiles)
{
if (fi.CreationTime < dataLimite && fi.Name != "PlaceHolder.file")
{
fi.Delete();
}
}
// eliminazione directory!
var elencoDir = fileMover.obj.elencoSubdir_DI();
foreach (var di in elencoDir)
{
if (di.CreationTime < dataLimite)
{
// SE richeisto di aggiornare DB...
if (updateDb)
{
// registro che ho ELIMINATO il job...
int jobId = 0;
try
// eliminazione directory!
var elencoDir = fileMover.obj.elencoSubdir_DI();
foreach (var di in elencoDir)
{
string pathName = di.Name.Replace("J", "");
int.TryParse(pathName, out jobId);
// registro che ho eliminato!
man.taJL.updateDeleted(jobId, DateTime.Now);
if (di.CreationTime < dataLimite)
{
// SE richeisto di aggiornare DB...
if (updateDb)
{
// registro che ho ELIMINATO il job...
int jobId = 0;
try
{
string pathName = di.Name.Replace("J", "");
int.TryParse(pathName, out jobId);
// registro che ho eliminato!
man.taJL.updateDeleted(jobId, DateTime.Now);
}
catch
{ }
}
// effettiva delete!
di.Delete(true);
}
}
catch
{ }
}
// effettiva delete!
di.Delete(true);
}
}
}
/// <summary>
/// pulisce folder OUT/download
/// - elimino folder oltre 4 settimane (conf)
/// </summary>
public void cleanupJobsDir()
{
int ageMaxResultFile = memLayer.ML.CRI("ageMaxResultFile");
string sourceDir = $"{memLayer.ML.CRS("resultsDir")}\\";
DateTime dataLimite = DateTime.Now.AddDays(-ageMaxResultFile);
private void initAdapters()
{
taJL = new DS_AppTableAdapters.JobsListTableAdapter();
}
private void setupConnection()
{
string connString = memLayer.ML.CRS("AdmodellingConnectionString");
taJL.Connection.ConnectionString = connString;
}
#endregion Private Methods
#region Public Methods
/// <summary>
/// Elenco dei JOBS selezionati e salvati in cache
/// </summary>
/// <returns></returns>
public static ICollection getSelectedJobs()
{
ArrayList al = new ArrayList();
string rawdata = memLayer.ML.StringSessionObj("jobSelection");
if (rawdata != "")
{
al = JsonConvert.DeserializeObject<ArrayList>(rawdata);
}
// restituisco array!
return al;
}
/// <summary>
/// Effettua verifica jobs
/// </summary>
public void checkJobs()
{
string jobName = "";
string resultsDir = "";
// verifica se ci siano JOB in corso --> completati
DS_App.JobsListDataTable tabJobsAperti = taJL.getIncomp();
if (tabJobsAperti.Count > 0)
{
// dir di riferimento
string completedDir = $"{memLayer.ML.CRS("clusterBaseDir")}OUT\\";
// cerco SE siano finiti su filesystem...
fileMover.obj.setDirectory(completedDir);
foreach (var currJob in tabJobsAperti)
{
// calcolo nome folder...
jobName = "J" + currJob.JobId.ToString("D9");
// cerco se ci sia...
System.IO.DirectoryInfo[] elencoDir = fileMover.obj.elencoSubdir_DI(jobName);
if (elencoDir.Length > 0)
{
foreach (var currDir in elencoDir)
{
bool copyDone = false;
bool delDone = false;
bool dbDone = false;
try
{
// calcolo dir locale...
resultsDir = System.Web.HttpContext.Current.Server.MapPath($"{memLayer.ML.CRS("resultsDir")}\\{jobName}");
// sposto folder in dir locale..
fileMover.DirectoryCopy(currDir.FullName, resultsDir, true, true);
copyDone = true;
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in copia folder a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
if (copyDone)
{
// status: parto da default = incomplete...
int newStatus = (int)JStatus.PROC_INCOMPLETE;
// se ho il file message.err --> errore
int downlSize = 0;
var elFilesRes = fileMover.obj.elencoFilesDir(resultsDir);
if (elFilesRes.Count > 0)
{
// cerco eventuale file .err
foreach (var file in elFilesRes)
{
// se è "message.err" --> ho errore
if (file.Nome.Contains("message.err"))
{
newStatus = (int)JStatus.PROC_ERROR;
break;
}
// se ho txt --> completato
else if (file.Nome.EndsWith(".txt"))
{
newStatus = (int)JStatus.COMPLETED;
break;
}
}
// ora calcolo dimensione da somma files...
foreach (var file in elFilesRes)
{
downlSize += (int)(file.size * 1024);
}
}
try
{
// registro su DB
man.taJL.updateProcessed(currJob.JobId, newStatus, DateTime.Now, downlSize, $"{memLayer.ML.CRS("resultsDir")}{jobName}");
dbDone = true;
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in salvataggio su DB a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
if (dbDone)
{
try
{
//elimino
fileMover.obj.setDirectory(currDir.FullName);
fileMover.obj.eliminaDir();
fileMover.obj.setDirectory(resultsDir);
delDone = true;
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in eliminazione folder OUT a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
if (delDone)
{
try
{
string siteUrl = memLayer.ML.CRS("baseUrl");
// invio email ad utenti al completamento
string oggetto = $"Job <b>{currJob.JobDescr}</b> execution has just been completed.<br/>" +
$"Job was submitted at {currJob.dtSubmiss} and ended at {DateTime.Now}.<br/>" +
$"Please access to <a href=\"{siteUrl}\">{siteUrl}</a> in order to download results";
gestEmail.geAuth.mandaEmail(memLayer.ML.CRS("_fromEmail"), currJob.USER_NAME, $"JOB {currJob.JobDescr} completed", oggetto);
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in invio email a fine job:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
}
}
}
}
}
}
}
}
/// <summary>
/// pulisce folder OUT/download
/// - elimino folder oltre 4 settimane (conf)
/// </summary>
public void cleanupJobsDir()
{
int ageMaxResultFile = memLayer.ML.CRI("ageMaxResultFile");
string sourceDir = $"{memLayer.ML.CRS("resultsDir")}\\";
DateTime dataLimite = DateTime.Now.AddDays(-ageMaxResultFile);
#if DEBUG
// in debug elimino dopo 10 min...
dataLimite = DateTime.Now.AddMinutes(-1440);
// in debug elimino dopo 10 min...
dataLimite = DateTime.Now.AddMinutes(-1440);
#endif
forceClean(sourceDir, dataLimite, true);
}
forceClean(sourceDir, dataLimite, true);
}
#endregion
/// <summary>
/// pulisce folder upload da files in IN lasciati da oltre 30 minuti (conf)
/// </summary>
public void cleanupTempDir()
{
int ageMaxTempFile = memLayer.ML.CRI("ageMaxTempFile");
if (ageMaxTempFile > 1)
{
string sourceDir = $"{memLayer.ML.CRS("tempUploadDir")}";
DateTime dataLimite = DateTime.Now.AddMinutes(-ageMaxTempFile);
forceClean(sourceDir, dataLimite, false);
}
}
public dataLayer()
{
initAdapters();
setupConnection();
}
public static dataLayer man = new dataLayer();
private void setupConnection()
{
string connString = memLayer.ML.CRS("AdmodellingConnectionString");
taJL.Connection.ConnectionString = connString;
}
private void initAdapters()
{
taJL = new DS_AppTableAdapters.JobsListTableAdapter();
#endregion Public Methods
}
/// <summary>
/// Elenco dei JOBS selezionati e salvati in cache
/// Classe oggetto plot
/// </summary>
/// <returns></returns>
public static ICollection getSelectedJobs()
public class jobData
{
ArrayList al = new ArrayList();
string rawdata = memLayer.ML.StringSessionObj("jobSelection");
if (rawdata != "")
{
al = JsonConvert.DeserializeObject<ArrayList>(rawdata);
}
// restituisco array!
return al;
#region Public Properties
public string jobCode { get; set; } = "";
public int jobId { get; set; } = 0;
public string jobName { get; set; } = "";
#endregion Public Properties
}
}
/// <summary>
/// Classe oggetto plot
/// </summary>
public class jobData
{
public int jobId { get; set; } = 0;
public string jobCode { get; set; } = "";
public string jobName { get; set; } = "";
}
}
+23 -15
View File
@@ -3,11 +3,13 @@
<package id="AIM" version="1.0.3" targetFramework="net462" />
<package id="AjaxControlToolkit" version="20.1.0" targetFramework="net462" />
<package id="Antlr" version="3.5.0.2" targetFramework="net462" />
<package id="AspNet.ScriptManager.bootstrap" version="4.5.0" targetFramework="net462" />
<package id="AspNet.ScriptManager.bootstrap" version="4.5.2" targetFramework="net462" />
<package id="AspNet.ScriptManager.jQuery" version="3.5.1" targetFramework="net462" />
<package id="bootstrap" version="4.5.0" targetFramework="net462" />
<package id="bootstrap" version="4.5.2" targetFramework="net462" />
<package id="Crc32C.NET" version="1.0.5.0" targetFramework="net462" />
<package id="DnsClient" version="1.3.2" targetFramework="net462" />
<package id="elmah" version="1.2.2" targetFramework="net462" />
<package id="elmah.corelibrary" version="1.2.2" targetFramework="net462" />
<package id="FontAwesome" version="4.7.0" targetFramework="net462" />
<package id="jQuery" version="3.5.1" targetFramework="net462" />
<package id="Microsoft.AspNet.FriendlyUrls" version="1.0.2" targetFramework="net462" />
@@ -18,35 +20,41 @@
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net462" />
<package id="Microsoft.AspNet.Web.Optimization.it" version="1.1.3" targetFramework="net462" />
<package id="Microsoft.AspNet.Web.Optimization.WebForms" version="1.1.3" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="1.1.1" targetFramework="net462" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="5.0.0" targetFramework="net462" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="3.6.0" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="3.1.1" targetFramework="net462" />
<package id="Microsoft.NETCore.Platforms" version="5.0.0" targetFramework="net462" />
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net462" />
<package id="Modernizr" version="2.8.3" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.10.4" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.10.4" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.10.4" targetFramework="net462" />
<package id="MongoDB.Bson" version="2.11.4" targetFramework="net462" />
<package id="MongoDB.Driver" version="2.11.4" targetFramework="net462" />
<package id="MongoDB.Driver.Core" version="2.11.4" targetFramework="net462" />
<package id="MongoDB.Libmongocrypt" version="1.0.0" targetFramework="net462" />
<package id="NETStandard.Library" version="2.0.3" targetFramework="net462" />
<package id="Newtonsoft.Json" version="12.0.3" targetFramework="net462" />
<package id="NLog" version="4.7.2" targetFramework="net462" />
<package id="NLog" version="4.7.5" targetFramework="net462" />
<package id="PDFsharp" version="1.50.5147" targetFramework="net462" />
<package id="Pipelines.Sockets.Unofficial" version="2.1.16" targetFramework="net462" />
<package id="popper.js" version="1.16.1" targetFramework="net462" />
<package id="SharpCompress" version="0.25.1" targetFramework="net462" />
<package id="SharpZipLib" version="1.2.0" targetFramework="net462" />
<package id="SharpCompress" version="0.26.0" targetFramework="net462" />
<package id="SharpZipLib" version="1.3.0" targetFramework="net462" />
<package id="Snappy.NET" version="1.1.1.8" targetFramework="net462" />
<package id="StackExchange.Redis" version="2.1.58" targetFramework="net462" />
<package id="SteamWare" version="4.0.2003.734" targetFramework="net462" />
<package id="SteamWare" version="5.0.2011.746" targetFramework="net462" />
<package id="SteamWare.Logger" version="5.0.2010.745" targetFramework="net462" />
<package id="System.Buffers" version="4.5.1" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="4.7.0" targetFramework="net462" />
<package id="System.Diagnostics.PerformanceCounter" version="5.0.0" targetFramework="net462" />
<package id="System.IO.Compression" version="4.3.0" targetFramework="net462" />
<package id="System.IO.Pipelines" version="4.7.2" targetFramework="net462" />
<package id="System.IO.Pipelines" version="5.0.0" targetFramework="net462" />
<package id="System.Memory" version="4.5.4" targetFramework="net462" />
<package id="System.Net.Http" version="4.3.4" targetFramework="net462" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="4.7.1" targetFramework="net462" />
<package id="System.Runtime.CompilerServices.Unsafe" version="5.0.0" targetFramework="net462" />
<package id="System.Runtime.InteropServices.RuntimeInformation" version="4.3.0" targetFramework="net462" />
<package id="System.Threading.Channels" version="4.7.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Algorithms" version="4.3.1" targetFramework="net462" />
<package id="System.Security.Cryptography.Encoding" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.Primitives" version="4.3.0" targetFramework="net462" />
<package id="System.Security.Cryptography.X509Certificates" version="4.3.2" targetFramework="net462" />
<package id="System.Threading.Channels" version="5.0.0" targetFramework="net462" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net462" />
<package id="WebGrease" version="1.6.0" targetFramework="net462" />
</packages>
+15 -28
View File
@@ -9,15 +9,9 @@ pipeline {
stage('Checkout') {
agent any
steps {
/* build delle SteamWare libs! */
/* build 'SteamWare/SteamWareLib' */
/* copio le libs...*/
// mirroring directory x SteamWare Libs
// bat "robocopy /MIR ..\\..\\SteamWare\\SteamWareLib ..\\SteamWare\\SteamWareLib || EXIT /B 0"
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
script {
withEnv(['NEXT_BUILD_NUMBER=87']) {
withEnv(['NEXT_BUILD_NUMBER=92']) {
// env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
env.versionNumber = VersionNumber(versionNumberString : '1.1.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
env.APP_NAME = 'LCP'
@@ -50,11 +44,11 @@ pipeline {
}
script {
/* compilo installers in base al BRANCH del cliente... */
if (env.BRANCH_NAME == "develop") {
if (env.BRANCH_NAME == "develop" || env.BRANCH_NAME == "master") {
parallel (
MAIN_SITE: {
sleep 0
bat "\"${tool 'MSBuild-15.0'}\" INTERFACE\\WebLCP\\WebLCP.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
bat "\"${tool 'MSBuild-16.0'}\" INTERFACE\\WebLCP\\WebLCP.csproj -target:Build /p:Configuration=Release /p:Platform=\"Any CPU\" /p:OutputPath=bin/ /m"
},
failFast: false)
}
@@ -74,28 +68,21 @@ pipeline {
fixNuget("${WORKSPACE}\\INTERFACE\\WebLCP.sln")
}
script {
/* DEPLOY condizionale: develop (Ufficio Seriate) / master (Sito Online) */
/* DEPLOY condizionale: master (Ufficio Seriate) / ovh (Sito Online) */
if (env.BRANCH_NAME == "master") {
parallel (
IIS_01: {
if(env.enableIIS01 == "Y")
{
// SITE
bat "\"${tool 'MSBuild-15.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:VisualStudioVersion=15.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ INTERFACE\\WebLCP\\WebLCP.csproj"
}
},
IIS_02: {
if(env.enableIIS02 == "Y")
{
sleep 5
// SITE
bat "\"${tool 'MSBuild-15.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:VisualStudioVersion=15.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ INTERFACE\\WebLCP\\WebLCP.csproj"
}
},
failFast: false)
if(env.enableIIS02 == "Y")
{
// SITE
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS02.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ INTERFACE\\WebLCP\\WebLCP.csproj"
}
if(env.enableIIS01 == "Y")
{
// SITE
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=IIS01.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=Release /p:username=jenkins /p:Password=viadante16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ INTERFACE\\WebLCP\\WebLCP.csproj"
}
}
else if (env.BRANCH_NAME == "ovh") {
bat "\"${tool 'MSBuild-15.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=OVH-prod.pubxml /p:VisualStudioVersion=15.0 /p:RunCodeAnalysis=false /p:Configuration=OVH /p:username=WPROD01\\JDeploy /p:Password=viaD@nte16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ INTERFACE\\WebLCP\\WebLCP.csproj"
bat "\"${tool 'MSBuild-16.0'}\" \"/p:AspnetMergePath=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v10.0A\\bin\\NETFX 4.6.2 Tools\" /p:DeployOnBuild=true /p:Targets=Publish /p:PublishProfile=OVH.pubxml /p:VisualStudioVersion=16.0 /p:RunCodeAnalysis=false /p:Configuration=OVH /p:username=steamware /p:Password=viaD@nte16 /p:AllowUntrustedCertificate=true /p:OutputPath=bin/ INTERFACE\\WebLCP\\WebLCP.csproj"
}
else
{
+28
View File
@@ -0,0 +1,28 @@
<body>
<i>Server gestioen devices TAB per MAPO/MoonPro</i>
<h4>Versione: {{CURRENT-REL}}</h4>
<br />
Note di rilascio:
<ul>
<li>
<b>Ultime modifiche:</b>
<ul>{{LAST-CHANGES}}</ul>
</li>
<li>
<b>v.1.7.* &rarr;</b>
<ul>
<li>Integrazione sistemi di AutoUpdate</li>
<li>Auto Approvazione</li>
</ul>
</li>
</ul>
<div>
<div style="float: left;">
<img src="logoSteamware.png" />
</div>
<div style="float: right;">
<a href="https://www.steamware.net/IOT" target="_blank">&copy; Steamware 2006-2018</a>
</div>
</div>
</body>
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

+7
View File
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<item>
<version>0.0.0.0</version>
<url>https://nexus.steamware.net/repository/SWS/{{PACKNAME}}/{{BRANCHNAME}}/LAST/{{PACKNAME}}.zip</url>
<changelog>https://nexus.steamware.net/repository/SWS/{{PACKNAME}}/{{BRANCHNAME}}/LAST/ChangeLog.html</changelog>
<mandatory>false</mandatory>
</item>