Description: One or more errors occurred during the compilation of a resource required to build this page. Please review the following specific error details and modify your source code appropriately.
CXP File: C:\inetpub\wwwroot\cox\srl\srl.cxp
Intermediate Xbase++ Code: C:\inetpub\wwwroot\cox\srl\cxp-application\srl.cxp.20250603-60945514.dll
Compiler: error XBT0200: Syntax Error in Line 60
The compiler has detected a syntactically incorrect expression.
0058 } 0059 0060 /* 0061 * --- 0062 * --- xs sm md lg
Compiler: error XBT0250: Incomplete expression in Line 63
An incomplete expression was detected (e.g. in one line of code only x or a[x], or a == 0 is written. This is not allowed.)
0061 * --- 0062 * --- xs sm md lg 0063 * --- 0064 * xs = 0-767 pixels. 0065 * sm = 768-991 pixels.
Compiler: error XBT0200: Syntax Error in Line 64
The compiler has detected a syntactically incorrect expression.
0062 * --- xs sm md lg 0063 * --- 0064 * xs = 0-767 pixels. 0065 * sm = 768-991 pixels. 0066 * md = 992-1199 pixels.
Compiler: error XBT0200: Syntax Error in Line 60
The compiler has detected a syntactically incorrect expression.
0058 } 0059 0060 /* 0061 * --- 0062 * --- xs sm md lg
Compiler: error XBT0250: Incomplete expression in Line 63
An incomplete expression was detected (e.g. in one line of code only x or a[x], or a == 0 is written. This is not allowed.)
0061 * --- 0062 * --- xs sm md lg 0063 * --- 0064 * xs = 0-767 pixels. 0065 * sm = 768-991 pixels.
Compiler: error XBT0200: Syntax Error in Line 64
The compiler has detected a syntactically incorrect expression.
0062 * --- xs sm md lg 0063 * --- 0064 * xs = 0-767 pixels. 0065 * sm = 768-991 pixels. 0066 * md = 992-1199 pixels.
The builder was invoked with the following parameters, the output is shown below.
Current Directory:
C:\Program Files (x86)\Alaska Software\cxp20\bin
Command:
C:\Program Files (x86)\Alaska Software\cxp20\bin\cxc-builder.exe
Parameters:
"@C:\inetpub\wwwroot\cox\srl\cxp-application\srl.cxp.20250603-60945514.lst"
Output:
wwwlogin.prg(60:0): error XBT0200: Syntax Error
wwwlogin.prg(63:0): error XBT0250: Incomplete expression
wwwlogin.prg(64:0): error XBT0200: Syntax Error
wwwlogin.prg(60:0): error XBT0200: Syntax Error
wwwlogin.prg(63:0): error XBT0250: Incomplete expression
wwwlogin.prg(64:0): error XBT0200: Syntax Error
File c:\inetpub\wwwroot\cox\srl\srl.cxp successfully processed.
In the following the full source code of your resource is shown.
0001 <%#PAGE trace="yes" implements="COX-SRL" %>
0002 <%#code locality="page-global"%>
0003
0004 <%
0005 #include "srl.ch"
0006 #include "wwwim.ch"
0007
0008 // This section is injected into the module header
0009 STATIC COXEnv := COXWWW()
0010
0011 #include "j_compat.prg"
0012 #include "wwwim.prg"
0013 %>
0014
0015 <!DOCTYPE html>
0016 <html lang="it">
0017 <head>
0018 @(CoxAziHeader())
0019
0020 <meta name="robots" content="noindex" >
0021
0022 <link href="image/ico.jpg" rel="icon" type="image/x-icon" >
0023
0024 <meta charset="utf-8" >
0025 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" >
0026
0027 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" >
0028 <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous" >
0029 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css" >
0030 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" >
0031
0032 <style>
0033 .navbar-nav li:hover > ul.dropdown-menu {
0034 display: block;
0035 }
0036
0037 .dropdown-submenu {
0038 position:relative;
0039 }
0040 .dropdown-submenu>.dropdown-menu {
0041 top: 0;
0042 left: 100%;
0043 margin-top:-6px;
0044 }
0045
0046 /* rotate caret on hover */
0047 .dropdown-menu > li > a:hover:after {
0048 text-decoration: underline;
0049 transform: rotate(-90deg);
0050 }
0051
0052 .instagram .fab {
0053 font-size:30px;
0054 background: #d6249f;
0055 background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
0056 -webkit-background-clip: text;
0057 -webkit-text-fill-color: transparent;
0058 }
0059
0060 /*
0061 * ---
0062 * --- xs sm md lg
0063 * ---
0064 * xs = 0-767 pixels.
0065 * sm = 768-991 pixels.
0066 * md = 992-1199 pixels.
0067 * lg = 1200 pixels and up.
0068 */
0069
0070 @media (min-width: 576px) {
0071 .card-deck .card {
0072 min-width: 50.1%; /* 1 Column */
0073 margin-bottom: 12px;
0074 max-width: 100%;
0075 border: 1px solid #F5F5F5 !important;
0076 }
0077 }
0078
0079 @media (min-width: 768px) {
0080 .card-deck .card {
0081 min-width: 33.4%; /* 2 Columns */
0082 max-width: calc(calc(100% / 2) - 30px);
0083 border: 1px solid #F5F5F5 !important;
0084 }
0085 }
0086
0087 @media (min-width: 992px) {
0088 .card-deck .card {
0089 min-width: 25.1%; /* 3 Columns */
0090 max-width: calc(calc(100% / 3) - 30px);
0091 border: 1px solid #F5F5F5 !important;
0092 }
0093 }
0094
0095 @media (min-width: 1200px) {
0096 .card-deck .card {
0097 min-width: 20.1%; /* 4 Columns */
0098 max-width: calc(calc(100% / 4) - 30px);
0099 border: 1px solid #F5F5F5 !important;
0100 }
0101 }
0102
0103 @media (min-width: 1600px) {
0104 .card-deck .card {
0105 min-width: 17.1%; /* 5 Columns */
0106 max-width: calc(calc(100% / 5) - 30px);
0107 border: 1px solid #F5F5F5 !important;
0108 }
0109 }
0110
0111 /* Red on del line */
0112 del {
0113 text-decoration-color:#FF0000 !important;
0114 }
0115
0116 /* Button over stretched card */
0117 .card .btn {
0118 z-index: 2;
0119 position: relative;
0120 }
0121
0122 /* Grigio Ebay */
0123 .card { border-radius:20px !important;
0124 background-color:#F5F5F5 !important;
0125 }
0126
0127 /* Card Image Top Round */
0128 .card-img-top {
0129 border-radius:20px 20px 0px 0px !important;
0130 }
0131
0132 /* Card Image Left Round */
0133 .img-fluid {
0134 margin-left:0 !important;
0135 border-radius:20px 0px 0px 20px !important;
0136 }
0137
0138 /* Make the image fully responsive */
0139 .carousel-inner img {
0140 max-height: 80vh;
0141 max-width: 100%;
0142 object-fit: cover;
0143 object-position: center;
0144 }
0145
0146 /* Font reducing */
0147 html {
0148 font-size: 14px;
0149 }
0150
0151 /* ==== Scheda Articolo ===== */
0152 /* Position the image container (needed to position the left and right arrows) */
0153 .container {
0154 position: relative;
0155 }
0156
0157 /* Hide the images by default */
0158 .mySlidesV {
0159 display: none;
0160 }
0161
0162 .mySlidesL {
0163 display: none;
0164 }
0165
0166 .mySlidesO {
0167 display: none;
0168 }
0169
0170 /* Add a pointer when hovering over the thumbnail images */
0171 .cursor {
0172 cursor: pointer;
0173 }
0174
0175 /* Next & previous buttons */
0176 .prev,
0177 .next {
0178 cursor: pointer;
0179 position: absolute;
0180 top: 40%;
0181 width: auto;
0182 margin-top: -50px;
0183 color: #ffd814;
0184 font-weight: bold;
0185 font-size: 50px;
0186 border-radius: 0 3px 3px 0;
0187 user-select: none;
0188 -webkit-user-select: none;
0189 }
0190
0191 /* Position the "next button" to the right */
0192 .next {
0193 right: 30px;
0194 border-radius: 3px 0 0 3px;
0195 }
0196
0197 /* On hover, add a grey background color with a little bit see-through */
0198 .prev:hover,
0199 .next:hover {
0200 background-color: rgba(245, 245, 245, 0.8);
0201 }
0202
0203 /* Number text (1/3 etc) */
0204 .numbertext {
0205 color: #ffd814;
0206 font-size: 12px;
0207 position: absolute;
0208 margin-top: 15px;
0209 margin-left: 15px;
0210 }
0211
0212 .row:after {
0213 content: "";
0214 display: table;
0215 clear: both;
0216 }
0217
0218 /* Six columns side by side */
0219 .column {
0220 float: left;
0221 width: 16.66%;
0222 }
0223
0224 /* Add a transparency effect for thumnbail images */
0225 .image {
0226 opacity: 0.6;
0227 }
0228
0229 .active,
0230 .image:hover {
0231 opacity: 1;
0232 border: 1px solid;
0233 border-color: orange;
0234 border-radius: 10px;
0235 }
0236 /* ==== Fine Scheda Articolo ===== */
0237 </style>
0238 </head>
0239
0240 <body>
0241 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
0242 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
0243 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
0244 <script src="jquery/js/jquery-3.6.0.slim.js"></script>
0245
0246 <script>
0247 $(document).ready(function(){
0248 $(#ordinamento12).on(change, function() {
0249 // Qui puoi chiamare la tua pagina web, ad esempio con AJAX o reindirizzando
0250 // Per esempio, reindirizzare:
0251 window.location.href = $(this).val();
0252 });
0253 $(#ordinamento6).on(change, function() {
0254 // Qui puoi chiamare la tua pagina web, ad esempio con AJAX o reindirizzando
0255 // Per esempio, reindirizzare:
0256 window.location.href = $(this).val();
0257 });
0258 $(#ordinamento3).on(change, function() {
0259 // Qui puoi chiamare la tua pagina web, ad esempio con AJAX o reindirizzando
0260 // Per esempio, reindirizzare:
0261 window.location.href = $(this).val();
0262 });
0263
0264 $(#offerte12).on(change, function() {
0265 // Qui puoi chiamare la tua pagina web, ad esempio con AJAX o reindirizzando
0266 // Per esempio, reindirizzare:
0267 if (this.checked) {
0268 window.location.href = $(this).val()+"on"
0269 } else {
0270 window.location.href = $(this).val()+"off"
0271 }
0272 });
0273 $(#offerte6).on(change, function() {
0274 // Qui puoi chiamare la tua pagina web, ad esempio con AJAX o reindirizzando
0275 // Per esempio, reindirizzare:
0276 if (this.checked) {
0277 window.location.href = $(this).val()+"on"
0278 } else {
0279 window.location.href = $(this).val()+"off"
0280 }
0281 });
0282 $(#offerte3).on(change, function() {
0283 // Qui puoi chiamare la tua pagina web, ad esempio con AJAX o reindirizzando
0284 // Per esempio, reindirizzare:
0285 if (this.checked) {
0286 window.location.href = $(this).val()+"on"
0287 } else {
0288 window.location.href = $(this).val()+"off"
0289 }
0290 });
0291
0292 $(.toast).toast({delay: 4000});
0293 $(.toast).toast(show);
0294 });
0295 </script>
0296
0297 <%* --- Program Section%>
0298
0299 <div class="container">
0300
0301 <%
0302 COXInit() // Init Program
0303 %>
0304
0305 <%if upper(::Params:OpCode) = upper(WWW_RELOAD()) // Reload forzato
0306 ::session:fcoxstart = .F.
0307 endif%>
0308
0309 <%if empty(::session:fcoxstart)
0310 #include "wwwSessionVar.prg" // Dichiarazione e definizione variabile ::session:
0311 #include "wwwloadcfg.prg" // Assegnazione Variabili statiche di configurazione
0312 if (::session:RetState = .T.)
0313 if (::session:sHome = "S")
0314 ::session:fcoxstart = .T.
0315 else
0316 ::session:CXPID = "(002)"
0317 #include "wwwerrorloadcfg.prg"
0318 endif
0319 else
0320 ::session:CXPID = "(004)"
0321 #include "wwwerrorloadcfg.prg"
0322 endif
0323 endif%>
0324
0325
0326 <%* --- OVERALL%>
0327 <%if !empty(::Params:ORDART)
0328 ::session:pOrder := ::Params:ORDART
0329 endif%>
0330 <%if !empty(::Params:offerte)
0331 ::session:pOfferte := ::Params:offerte
0332 endif%>
0333
0334 <%* --- HOME PAGE%>
0335 <%if empty(::Params:OpCode) .or. Upper(::Params:OpCode) $ upper(WWW_CMD()) // Con alcuni tipi di comando è come se fosse la Home Page
0336 ::session:LastShopping := ""
0337 ::session:pOfferte := "off"
0338 if empty(::session:fcoxstart)
0339 ::session:CXPID = "(005)"
0340 #include "wwwconnectionlost.prg"
0341 else
0342 #include "wwwArticoloSearch.prg" // Filtraggio per caricamento iniziale categorie/sottocategorie
0343 #include "wwwgetstore.prg"
0344 #include "wwwnavbar.prg"
0345 #include "wwwhome.prg"
0346 endif
0347 endif%>
0348
0349 <%* --- NAVIGAZIONE ARTICOLI%>
0350 <%* 1 --- Main%>
0351 <%if (::Params:OpCode == WWW_ArticoloSearch()) // Ricerca
0352 ::session:LastShopping = ::HttpRequest:GetVariable("REQUEST_URI") // Salvo la URL
0353 #include "wwwArticoloSearch.prg" // Filtraggio
0354 #include "wwwnavbar.prg"
0355 if len(aBody)=0 // Nessun elemento trovato
0356 ::session:MsgTitle = "Ricerca:"
0357 ::session:MsgText = "Nessuna corrispondenza trovata."
0358 ::session:MsgType = WWW_Info()
0359 #include "wwwbanner.prg"
0360 else
0361 #include "wwwshowbody.prg"
0362 if len(aBody) > WWW_nEleShowInt() .and. empty(::session:TxtSearch) .and. empty(::session:CodCli) // Consiglio di inserire una stringa
0363 ::session:MsgTitle = "Ricerca"
0364 ::session:MsgText = "Se vuoi restringere la ricerca inserisci una o più parole nel campo Ricerca."
0365 ::session:MsgType = WWW_Info()
0366 #include "wwwbanner.prg"
0367 endif
0368 endif
0369 endif%>
0370
0371 <%* 1.1 --- Visualizzazione Scheda Articolo%>
0372 <%if (::Params:OpCode == WWW_ArticoloShow())
0373 #include "wwwnavbar.prg"
0374 #include "wwwArticoloShow.prg"
0375 endif%>
0376 <%* 1.1.1 --- Zoom sulla Scheda Articolo%>
0377 <%if (::Params:OpCode == WWW_ArticoloZoom()) // Zoom Articolo
0378 #include "wwwnavbar.prg"
0379 #include "wwwArticoloZoom.prg"
0380 endif%>
0381
0382 <%* 1.1.2 --- Aggiungi una Riga al Carrello%>
0383 <%if (::Params:OpCode == WWW_CarrelloAggiungi()) // Aggiungi Carrello
0384 if empty(::session:CodCli)
0385 #include "wwwlogin.prg" // Rimando al Login
0386 else
0387 #include "wwwCarrelloRigheUpdate.prg"
0388 if (::session:RetState)
0389 if ::session:PDS = "S"
0390 ::session:MsgTitle = "Magazzino"
0391 else
0392 ::session:MsgTitle = "Carrello"
0393 endif
0394
0395 //::session:MsgText ... da wwwCarrelloAggiungi
0396 ::session:MsgType = WWW_Info()
0397 ::HTTPResponse:Redirect(::session:LastShopping)
0398 else
0399 ::session:MsgTitle = "Errore aggiornamento Carrello" // Se errore, ShowBody senza banner
0400 //::session:MsgText ... da wwwCarrelloAggiungi
0401 ::session:MsgType = WWW_Danger()
0402 #include "wwwnavbar.prg"
0403 #include "wwwshowbody.prg"
0404 #include "wwwbanner.prg"
0405 #include "wwwhome.prg"
0406 endif
0407 endif
0408 endif%>
0409
0410 <%* 2.1 --- Login%>
0411 <%if (::Params:OpCode == WWW_Login()) // Login esplicito
0412 #include "wwwlogin.prg"
0413 endif%>
0414 <%* 2.1.1 --- Registrazione%>
0415 <%if (::Params:OpCode == WWW_Registrazione()) // Registrazione
0416 ::session:PIva := ::Params:CodFis
0417 ::session:CodCli := ""
0418 if wwwCheckPIvaCF(::session:PIva, "IT")
0419 ::session:PIva := ::Params:CodFis
0420 ::session:CodCli := ""
0421 COXDecodePIVA(::session:PIva, @::session:CodCli)
0422 if empty(::session:CodCli)
0423 cHome = ::File+"?Opcode="+www_Logout()
0424 #include "wwwRegistrazione.prg"
0425 ::session:MsgTitle = "Inserimento Dati"
0426 ::session:MsgText = "Inserisci i tuoi dati ed assegnati una Password."
0427 ::session:MsgType = WWW_Warning()
0428 #include "wwwbanner.prg"
0429 else
0430 cHome = ::File+"?Opcode="+www_Logout()
0431 #include "wwwClienteDati.prg"
0432 ::session:MsgTitle = "Ricerca Dati"
0433 ::session:MsgText = "Hai già fatto acquisti nel nostro negozio. Devi solo controllare i dati ed assegnarti una Password. Controlla anche che lindirizzo mail sia valido."
0434 ::session:MsgType = WWW_Warning()
0435 #include "wwwbanner.prg"
0436 endif
0437 else
0438 #include "wwwPIVARegistrazione.prg"
0439 ::session:MsgTitle = "Errore"
0440 ::session:MsgText = "Codice Fiscale/Partita IVA <"+::session:PIva+"> non valido. Inserire un valore corretto."
0441 ::session:MsgType = WWW_Danger()
0442 #include "wwwbanner.prg"
0443 endif
0444 endif%>
0445
0446 <%* 2.1.2 --- Codice Fiscale per Registrazione%>
0447 <%if (::Params:OpCode == WWW_PIVARegistrazione()) // Check Codice Fiscale per la Registrazione
0448 #include "wwwPIVARegistrazione.prg"
0449 endif%>
0450
0451 <%* 2.1.3 --- Input Codice Fiscale%>
0452 <%if (::Params:OpCode == WWW_GetCodFis()) // Get Codice Fiscale
0453 #include "wwwgetcodfis.prg"
0454 endif%>
0455
0456 <%* 2.1.4 --- Check Username+Pwd%>
0457 <%if (::Params:OpCode == WWW_Check()) // Username e Password
0458 ::session:DES := ""
0459 ::session:Destin := ""
0460 ::session:CodCli := ""
0461 ::session:RagSoc := ""
0462 ::session:Mail := ""
0463 ::session:Piva := ""
0464
0465 ::session:pOfferte := "off"
0466 // ::Params:CodCli può essere Codice Cliente, Partita IVA, ecc.
0467 if COXCheckUser(::Params:CodCli, ::Params:Password, @::session:ACQ, @::session:WEB, @::session:ADM, @::session:PDS, @::session:CodPDS, @::session:CodCli, @::session:Ragsoc, @::session:Mail, @::session:PIva)
0468 #include "wwwSetUserProfile.prg"
0469 else
0470 ::session:RetState := .F.
0471 ::session:CodCli := ""
0472 ::session:ACQ := ""
0473 ::session:WEB := ""
0474 ::session:ADM := ""
0475 ::session:PDS := ""
0476 ::session:CodPDS := 0
0477 ::session:Ragsoc := ""
0478
0479 ::session:MsgTitle = "Credenziali errate"
0480 ::session:MsgText = "Reinserire lindirizzo mail e la password oppure recupera le credenziali."
0481 ::session:MsgType = WWW_Warning()
0482 endif
0483
0484 if empty(::session:LastShopping)
0485 #include "wwwArticoloSearch.prg" // Filtraggio
0486 #include "wwwgetstore.prg"
0487 #include "wwwnavbar.prg"
0488 #include "wwwbanner.prg"
0489 #include "wwwhome.prg"
0490 else
0491 #include "wwwgetstore.prg"
0492 ::HTTPResponse:Redirect(::session:LastShopping) // Chiamata al Carrello in attesa...
0493 endif
0494 endif%>
0495
0496 <%* 2.1.5 --- Recupero Credenziali%>
0497 <%if (::Params:OpCode == WWW_RecuCred()) // Recupera Username e Password
0498 ::session:RetState = COXRecuCred(::Params:CodFis, @::session:MsgText)
0499 #include "wwwnavbar.prg"
0500 if (::session:RetState)
0501 ::session:MsgTitle = "Recupero Credenziali."
0502 //::session:MsgText ... da wwwCOXRecuCred
0503 ::session:MsgType = WWW_Warning()
0504 #include "wwwbanner.prg"
0505 else
0506 ::session:MsgTitle = "Attenzione!"
0507 //::session:MsgText ... da wwwCOXRecuCred
0508 ::session:MsgType = WWW_Warning()
0509 #include "wwwbanner.prg"
0510 endif
0511 #include "wwwhome.prg"
0512 endif%>
0513
0514 <%* 2.2 --- Logout%>
0515 <%if (::Params:OpCode == WWW_Logout()) // Logout
0516 ::session:pOfferte := "off"
0517 ::session:nOrd := 0 // Controllo ordini aperti del Cliente
0518 #include "wwwOrderState.prg"
0519 if !(empty(::session:CodCli) .or. empty(::session:Ragsoc) .or. empty(::session:nOrd)) // Test no unpolite message
0520 ::session:MsgTitle = "Logout"
0521 ::session:MsgText = ::session:Ragsoc+", grazie per aver acquistato da noi. "+;
0522 "Hai "+j_nstr(::session:nOrd)+" "+if(::session:nOrd=1, "ordine", "ordini")+" in lavorazione. "+;
0523 "A presto!"
0524
0525 ::session:MsgText = ::session:Ragsoc+", grazie per averci visitato. A presto!"
0526 ::session:MsgType = WWW_Info()
0527 #include "wwwbanner.prg"
0528 endif
0529
0530 #include "wwwlogout.prg"
0531 ::HTTPResponse:Redirect(::File)
0532 endif%>
0533
0534 <%* 2.3 --- ANAGRAFICA CLIENTE%>
0535 <%if (::Params:OpCode == WWW_ClienteDati()) // Dati Cliente
0536 #include "wwwClienteDati.prg"
0537 endif%>
0538 <%* 2.3.1%>
0539 <%if (::Params:OpCode == WWW_ClienteUpdate()) // Update Cliente
0540 #include "wwwClienteUpdate.prg"
0541 if (::session:RetState)
0542 ::session:MsgTitle = "Registrazione/Aggiornamento."
0543 //::session:MsgText ... da wwwClienteUpdate
0544 ::session:MsgType = WWW_Warning()
0545 #include "wwwnavbar.prg"
0546 #include "wwwbanner.prg"
0547 else
0548 ::session:MsgTitle = "Errore in fase di Registrazione/Aggiornamento."
0549 //::session:MsgText ... da wwwClienteUpdate
0550 ::session:MsgType = WWW_Danger()
0551 #include "wwwnavbar.prg"
0552 #include "wwwbanner.prg"
0553 endif
0554 #include "wwwhome.prg"
0555 endif%>
0556
0557 <%* 2.4 --- INDIRIZZI CLIENTE%>
0558 <%if (::Params:OpCode == WWW_ClienteIndirizzi()) // Indirizzi Cliente
0559 #include "wwwClienteIndirizzi.prg"
0560 endif%>
0561 <%* 2.4.1 --- Aggiornamento Indirizzi Cliente%>
0562 <%if (::Params:OpCode == WWW_ClienteIndirizziUpdate()) // Update Indirizzi Cliente
0563 #include "wwwClienteIndirizziUpdate.prg"
0564 if (::session:RetState)
0565 ::session:MsgTitle = "Aggiornamento."
0566 //::session:MsgText ... da wwwClienteIndirizziUpdate
0567 ::session:MsgType = WWW_Info()
0568 #include "wwwnavbar.prg"
0569 #include "wwwbanner.prg"
0570 else
0571 ::session:MsgTitle = "Errore in fase di Aggiornamento."
0572 //::session:MsgText ... da wwwClienteIndirizziUpdate
0573 ::session:MsgType = WWW_Danger()
0574 #include "wwwnavbar.prg"
0575 #include "wwwbanner.prg"
0576 endif
0577 #include "wwwhome.prg"
0578 endif%>
0579
0580 <%* --- CARRELLO%>
0581 <%* 2.5 --- Righe Carrello%>
0582 <%if (::Params:OpCode == WWW_CarrelloRighe()) // Righe Carrello
0583 #include "wwwCarrelloRighe.prg"
0584 endif%>
0585 <%* 2.5.1 --- Aggiornamento Righe Carrello%>
0586 <%if (::Params:OpCode == WWW_CarrelloRigheUpdate()) // Update Righe Carrello
0587 #include "wwwCarrelloRigheUpdate.prg"
0588 if (::session:RetState)
0589 ::session:MsgTitle = "Aggiornamento."
0590 //::session:MsgText ... da wwwCarrelloRigheUpdate
0591 ::session:MsgType = WWW_Info()
0592 ::HTTPResponse:Redirect(::File+"?OpCode="+WWW_CarrelloRighe()) // Carrello
0593 else
0594 ::session:MsgTitle = "Errore in fase di Aggiornamento."
0595 //::session:MsgText ... da wwwCarrelloRigheUpdate
0596 ::session:MsgType = WWW_Danger()
0597 #include "wwwnavbar.prg"
0598 #include "wwwbanner.prg"
0599 endif
0600 #include "wwwhome.prg"
0601 endif%>
0602
0603 <%* 2.5.2 --- Conferma del Carrello%>
0604 <%if (::Params:OpCode == WWW_CarrelloConferma()) // Conferma del Carrello
0605 #include "wwwCarrelloRigheUpdate.prg"
0606 if (::session:RetState)
0607 ::session:MsgTitle = "Aggiornamento."
0608 //::session:MsgText ... da wwwCarrelloRigheUpdate
0609 ::session:MsgType = WWW_Info()
0610 #include "wwwCarrelloConferma.prg"
0611 else
0612 ::session:MsgTitle = "Errore in fase di Aggiornamento."
0613 //::session:MsgText ... da wwwCarrelloRigheUpdate
0614 ::session:MsgType = WWW_Danger()
0615 #include "wwwnavbar.prg"
0616 #include "wwwhome.prg"
0617 #include "wwwbanner.prg"
0618 endif
0619 endif%>
0620
0621 <%* 2.5.3 --- Invia Ordine (Chiusura Carrello)%>
0622 <%if (::Params:OpCode == WWW_CarrelloInviaOrdine()) // Invia Ordine
0623 #include "wwwCarrelloInviaOrdine.prg"
0624
0625 ::session:nCARRELLO := 0 // No Numero Carrello (CODICE sang_bpr)
0626 ::session:nQTA := 0 // No Qta
0627 ::session:dtCARRELLO := ctod("") // No Data Apertura Carrello (DATA sang_bpr)
0628 ::session:nAmountInvoice := 0 // No Totale Carrello (TO_P_FAT sang_bpr)
0629 endif%>
0630
0631 <%* 2.6 --- Elenco Ordini%>
0632 <%if (::Params:OpCode == WWW_OrdiniSearch()) // Ricerca Ordini
0633 #include "wwwOrdiniSearch.prg" // Filtraggio
0634 if len(aEleOrd)=0 // Nessun elemento trovato
0635 ::session:MsgTitle = "Ricerca:"
0636 ::session:MsgText = "Nessun Ordine trovato."
0637 ::session:MsgType = WWW_Info()
0638 #include "wwwnavbar.prg"
0639 #include "wwwhome.prg"
0640 #include "wwwbanner.prg"
0641 else
0642 #include "wwwShowOrdini.prg"
0643 endif
0644 endif%>
0645 <%* 2.6.1 - Show Ordine%>
0646 <%if (::Params:OpCode == WWW_OrdineShow()) // Visualizzazione Ordine
0647 #include "wwwOrdineShow.prg"
0648 endif%>
0649
0650 <%* 2.7 - Acquista di nuovo%>
0651 <%if (::Params:OpCode == WWW_AcquistadiNuovo())// Visualizzazione Articoli di Acquistati
0652 ::session:pOfferte := "off"
0653 #include "wwwAcquistadiNuovo.prg"
0654 #include "wwwArticoloSearch.prg" // Filtraggio
0655 #include "wwwnavbar.prg"
0656 if len(aBody)=0 // Nessun elemento trovato
0657 ::session:MsgTitle = "Ricerca:"
0658 ::session:MsgText = "Nessuna corrispondenza trovata."
0659 ::session:MsgType = WWW_Info()
0660 #include "wwwbanner.prg"
0661 else
0662 #include "wwwshowbody.prg"
0663 if len(aBody) > WWW_nEleShowInt() .and. empty(::session:TxtSearch) .and. empty(::session:CodCli) // Consiglio di inserire una stringa
0664 ::session:MsgTitle = "Ricerca"
0665 ::session:MsgText = "Se vuoi restringere la ricerca inserisci una o più parole nel campo Ricerca."
0666 ::session:MsgType = WWW_Info()
0667 #include "wwwbanner.prg"
0668 endif
0669 endif
0670 endif%>
0671
0672 <%* 2.8 --- Svuota Carrello%>
0673 <%if (::Params:OpCode == WWW_CarrelloSvuota()) // Elimina il carrello
0674 if ::session:nCarrello=0 // Carrello già vuoto
0675 ::session:MsgTitle = "Svuota Carrello:"
0676 ::session:MsgText = "Carrello già vuoto."
0677 ::session:MsgType = WWW_Info()
0678 #include "wwwnavbar.prg"
0679 #include "wwwhome.prg"
0680 #include "wwwbanner.prg"
0681 else
0682 #include "wwwOrdineSvuota.prg"
0683 endif
0684 endif%>
0685
0686 <%* 2.9 --- Svuota Carrello%>
0687 <%if (::Params:OpCode == WWW_CarrelloAnnulla()) // Elimina il carrello
0688 if COXSetStatoCarrello(::session:nCarrello, ::session:sStatoAnnullato)
0689 ::session:nCarrello := 0
0690 ::session:dtCARRELLO := ctod("")
0691 ::session:nArt := 0
0692 ::session:nQTA := 0
0693 ::session:nAmount := 0
0694
0695 ::session:RetState := .T.
0696 ::session:MsgTitle = "Carrello"
0697 ::session:MsgText = "Svuotamento effettuato!"
0698 ::session:MsgType = WWW_Info()
0699 else
0700 ::session:RetState := .F.
0701 ::session:MsgTitle = "Carrello"
0702 ::session:MsgText = "Errore durante lo svuotamento. Riprovare."
0703 ::session:MsgType = WWW_Warning()
0704 endif
0705
0706 if empty(::session:LastShopping)
0707 #include "wwwnavbar.prg"
0708 #include "wwwbanner.prg"
0709 #include "wwwhome.prg"
0710 else
0711 ::HTTPResponse:Redirect(::session:LastShopping) // Chiamata al Carrello in attesa...
0712 endif
0713 endif%>
0714
0715 <%* --- OPEN CARRELLO%>
0716 <%* 3.0 --- Apertura remota del carrello%>
0717 <%if (::Params:OpCode == WWW_CarOpen()) // Apertura
0718 pStato = ""
0719 pMsg = ""
0720
0721 ::session:DES := ""
0722 ::session:Destin := ""
0723 ::session:CodCli := ""
0724 ::session:RagSoc := ""
0725 ::session:Mail := ""
0726 ::session:Piva := ""
0727
0728 if COXGetCarrello(val(Base642Bin(::Params:ID)), @::session:CodCli, @::Session:nAmountInvoice, @pStato, @pMsg) .and. ;
0729 COXGetUser(::session:CodCli, @::session:ACQ, @::session:WEB, @::session:ADM, @::session:PDS, @::session:CodPDS, @::session:CodCli, @::session:Ragsoc, @::session:Mail, @::session:PIva)
0730 #include "wwwSetUserProfile.prg"
0731
0732 if pStato = ::session:sStatoAperto .or. pStato = ::session:sStatoValidazione .or. pStato = ::session:sStatoProntoOrdine
0733 ::session:nCarrello = val(Base642Bin(::Params:ID))
0734 #include "wwwCarrelloRighe.prg"
0735 else
0736 ::HTTPResponse:Redirect(::File+'?OpCode='+www_OrdineShow()+'&pOrdine='+Base642Bin(::Params:ID))
0737 endif
0738 else
0739 ::session:RetState := .F.
0740 ::session:MsgTitle = "Carrello"
0741 ::session:MsgText = "Carrello non trovato!"
0742 ::session:MsgType = WWW_Warning()
0743
0744 #include "wwwnavbar.prg"
0745 #include "wwwbanner.prg"
0746 #include "wwwhome.prg"
0747 endif
0748 endif%>
0749
0750 <%* 4.0 --- Richiedi il costo del trasporto%>
0751 <%if (::Params:OpCode == WWW_RichiediTrasporto()) // Costo del Trasporto
0752 if COXSetStatoCarrello(::session:nCarrello, ::session:sStatoValidazione)
0753 ::session:RetState := .T.
0754 ::session:MsgTitle = "Carrello"
0755 ::session:MsgText = "In attesa di quotazione del costo di trasporto."
0756 ::session:MsgType = WWW_Info()
0757 else
0758 ::session:RetState := .F.
0759 ::session:MsgTitle = "Carrello"
0760 ::session:MsgText = "Errore durante il cambio stato del carrello. Riprovare."
0761 ::session:MsgType = WWW_Warning()
0762 endif
0763
0764 if empty(::session:LastShopping)
0765 #include "wwwnavbar.prg"
0766 #include "wwwbanner.prg"
0767 #include "wwwhome.prg"
0768 else
0769 ::HTTPResponse:Redirect(::session:LastShopping) // Chiamata al Carrello in attesa...
0770 endif
0771 endif%>
0772
0773
0774 <%* qwqw--------------- da aggiornare: ADM, PDS, ecc. ----------------%>
0775 <%* --- ANAGRAFICA ARTICOLO%>
0776 <%if (::Params:OpCode == WWW_ArticoloUpdate()) // Aggiorna Articolo
0777 ::session:LastShopping = ""
0778 #include "wwwArticoloUpdate.prg"
0779 #include "wwwnavbar.prg"
0780 #include "wwwArticoloShow.prg"
0781 endif%>
0782 <%* --- Fine ANAGRAFICA ARTICOLI%>
0783
0784 <%* --- Check PDS+Pwd%>
0785 <%if (::Params:OpCode == WWW_CheckPDS()) // Destinazione Password
0786 ::session:LastShopping = ""
0787 if COXCheckPDS(::session:CodCli, j_Parse2(::Params:Destinazione, "[", "]"), ::Params:Password)
0788 ::session:RetState := .T.
0789 ::session:PDS := "S"
0790 ::session:DES := j_Parse2(::Params:Destinazione, "[", "]")
0791 ::session:Destin := ::Params:Destinazione
0792 ::HTTPResponse:Redirect(::File+"?OpCode="+WWW_PDSSet())
0793 else
0794 ::session:RetState := .F.
0795 ::session:PDS := ""
0796 ::session:DES := ""
0797 ::session:Destin := ""
0798 ::session:LastShopping:= ""
0799 ::session:CodCli := "" // Rifacciamo la Login
0800 endif
0801
0802 #include "wwwgetstore.prg"
0803 #include "wwwnavbar.prg"
0804 if !(::session:RetState)
0805 TEXT INTO cHtml WRAP
0806 <div class="alert alert-warning d-flex justify-content-center align-items-center">
0807 <strong>Attenzione!</strong> Credenziali errate. Reinserire il Magazzino e la Password.
0808 </div>
0809 ENDTEXT
0810 ? cHtml
0811 endif
0812 #include "wwwhome.prg"
0813 endif%>
0814 <%* --- Fine Check PDS+Pwd%>
0815
0816 <%* --- ADMSSet%>
0817 <%if (::Params:OpCode == WWW_ADMSet()) // Set ADM Function
0818 ::session:LastShopping = ""
0819 #include "wwwADMSet.prg"
0820 #include "wwwgetstore.prg"
0821 #include "wwwnavbar.prg"
0822 #include "wwwhome.prg"
0823 endif%>
0824 <%* --- ADMSet%>
0825
0826 <%* --- ACQSet%>
0827 <%if (::Params:OpCode == WWW_ACQSet()) // Set ACQ Function
0828 ::session:LastShopping = ""
0829 #include "wwwACQSet.prg"
0830 #include "wwwgetstore.prg"
0831 #include "wwwnavbar.prg"
0832 #include "wwwhome.prg"
0833 endif%>
0834 <%* --- ACQSet%>
0835
0836 <%* --- PDSSet%>
0837 <%if (::Params:OpCode == WWW_PDSSet()) // Set PDS Function
0838 ::session:LastShopping = ""
0839 #include "wwwPDSSet.prg"
0840 #include "wwwgetstore.prg"
0841 #include "wwwnavbar.prg"
0842 #include "wwwhome.prg"
0843 endif%>
0844 <%* --- Fine PDS%>
0845
0846 <%* 2 - Righe Piattaforma Distributiva (tutti i Magazzini)%>
0847 <%if (::Params:OpCode == WWW_PDSRighe()) // Righe Piattaforma
0848 #include "wwwPDSRighe.prg"
0849 endif%>
0850
0851 <%* --- Pagamento PayPal%>
0852 <%if (::Params:OpCode == WWW_PayPal()) // PayPal Payment Accepted
0853 * --- Chiamata da PayPal in CallBack // NON TOCCARE
0854 if empty(::Params:Carrello)
0855 ::session:RetState = .f.
0856 ::session:MsgTitle = "PayPal"
0857 ::session:MsgText = "Manca il numero di carrello."
0858 ::session:MsgType = WWW_Danger()
0859 else
0860 nCarrello := val(::Params:Carrello)
0861 PayerID := if (::Params:PayerID = NIL, "", ::Params:PayerID)
0862
0863 pStato = ""
0864 pMsg = ""
0865 nAmountInvoice = 0
0866 if COXGetCarrello(nCarrello, @::session:CodCli, @nAmountInvoice, @pStato, @pMsg)
0867 cObj := "Ordine n. "+COXCodAzi()+"/"+alltrim(str(nCarrello))+" ("+dtoc(date())+" "+Time()+")"
0868
0869 cImporto := "Importo Ordine EUR : "+j_nstr(nAmountInvoice,6,2)
0870 cMessage := "Grazie per il pagamento, spediremo prima possibile. Ti abbiamo inviato una mail di promemoria."
0871 cBody := "Gentile "+trim(::session:Ragsoc)+","+CRLF()
0872 cBody += "abbiamo ricevuto il pagamento, spediremo prima possibile." +CRLF()
0873 cBody += "" +CRLF()
0874 cBody += cImporto +CRLF()
0875 cBody += "" +CRLF()
0876 cBody += "Un cordiale saluto e grazie per lacquisto." +CRLF()
0877 cBody += AZI_INT() +CRLF()
0878 cBody += AZI_WEB() +CRLF()
0879
0880 // No ReSend. questa sezione viene richiamata da COX Web dopo lInvio Ordine
0881 // e da PayPal come return_url. Occorre il flag altrimenti COX e PayPal mandano la stessa mail.
0882 pMsg = ""
0883 if COXBprStateUpd(nCarrello, ::session:CodCli, ::session:sStatoPagato, .F., date(), PayerID, ::HttpRequest:GetVariable("REQUEST_URI"), @pMsg)
0884 if COXBprSendMail(nCarrello, ::session:CodCli, cObj, cBody, .F.)
0885 ::session:RetState = .t.
0886 ::session:MsgTitle = "PayPal"
0887 ::session:MsgText = "Carrello chiuso correttamente con il pagamento."
0888 ::session:MsgType = WWW_Info()
0889 else
0890 ::session:RetState = .f.
0891 ::session:MsgTitle = "PayPal"
0892 ::session:MsgText = "Errore in fase di invio mail."
0893 ::session:MsgType = WWW_Danger()
0894 endif
0895 else
0896 ::session:RetState = .f.
0897 ::session:MsgTitle = "PayPal"
0898 ::session:MsgText = "Errore in fase di aggiornamento carrello. "+pMsg
0899 ::session:MsgType = WWW_Danger()
0900 endif
0901 else
0902 ::session:RetState = .f.
0903 ::session:MsgTitle = "PayPal"
0904 ::session:MsgText = "Carrello non trovato. "+pMsg
0905 ::session:MsgType = WWW_Danger()
0906 endif
0907 endif
0908
0909 nCARRELLO := 0 // No Numero Carrello (CODICE sang_bpr)
0910 PayerID := 0
0911 nAmountInvoice := 0 // No Totale Carrello (TO_P_FAT sang_bpr)
0912
0913 #include "wwwnavbar.prg"
0914 #include "wwwbanner.prg"
0915 #include "wwwhome.prg"
0916 endif%>
0917 <%* --- Fine CARRELLO%>
0918
0919 <%* --- Admin%>
0920 <%* 1%>
0921 <%if (::Params:OpCode == WWW_AdminWIPShow()) // Admin Show Work in Progress
0922 ::session:LastShopping = ""
0923 #include "wwwadminwipshow.prg"
0924 endif%>
0925
0926 <%* 2%>
0927 <%if (::Params:OpCode == WWW_AdminWIPReload()) // Parametri Admin
0928 ::session:LastShopping = ""
0929 #include "wwwloadcfg.prg"
0930 if (::session:RetState = .T.)
0931 #include "wwwadminwipshow.prg"
0932 else
0933 ::session:CXPID = "(034)"
0934 #include "wwwerrorloadcfg.prg"
0935 endif
0936 endif%>
0937
0938 <%* 3%>
0939 <%if (::Params:OpCode == WWW_AdminWIPSet()) // Admin Set Work in Progress
0940 ::session:LastShopping = ""
0941 #include "wwwadminwipset.prg"
0942 #include "wwwgetstore.prg"
0943 #include "wwwnavbar.prg"
0944 #include "wwwhome.prg"
0945 endif%>
0946 <%* --- Fine Admin%>
0947 </div>
0948
0949 <script>
0950 /* ==== Scheda Articolo ===== */
0951 let slideIndex = 1;
0952
0953 showSlidesV(slideIndex);
0954 showSlidesL(slideIndex);
0955 showSlidesO(slideIndex);
0956
0957 function plusSlides(n) {
0958 showSlidesV(slideIndex += n);
0959 showSlidesL(slideIndex += n);
0960 showSlidesO(slideIndex += n);
0961 }
0962
0963 function currentSlide(n) {
0964 showSlidesV(slideIndex = n);
0965 showSlidesL(slideIndex = n);
0966 showSlidesO(slideIndex = n);
0967 }
0968
0969 function showSlidesV(n) {
0970 let i;
0971 let slides = document.getElementsByClassName("mySlidesV");
0972 let dots = document.getElementsByClassName("image");
0973 let captionText = document.getElementById("caption");
0974 if (n > slides.length) {slideIndex = 1}
0975 if (n < 1) {slideIndex = slides.length}
0976 for (i = 0; i < slides.length; i++) {
0977 slides[i].style.display = "none";
0978 }
0979 for (i = 0; i < dots.length; i++) {
0980 dots[i].className = dots[i].className.replace(" active", "");
0981 }
0982 slides[slideIndex-1].style.display = "block";
0983 dots[slideIndex-1].className += " active";
0984 captionText.innerHTML = dots[slideIndex-1].alt;
0985 }
0986
0987 function showSlidesL(n) {
0988 let i;
0989 let slides = document.getElementsByClassName("mySlidesL");
0990 let dots = document.getElementsByClassName("image");
0991 let captionText = document.getElementById("caption");
0992 if (n > slides.length) {slideIndex = 1}
0993 if (n < 1) {slideIndex = slides.length}
0994 for (i = 0; i < slides.length; i++) {
0995 slides[i].style.display = "none";
0996 }
0997 for (i = 0; i < dots.length; i++) {
0998 dots[i].className = dots[i].className.replace(" active", "");
0999 }
1000 slides[slideIndex-1].style.display = "block";
1001 dots[slideIndex-1].className += " active";
1002 captionText.innerHTML = dots[slideIndex-1].alt;
1003 }
1004
1005 function showSlidesO(n) {
1006 let i;
1007 let slides = document.getElementsByClassName("mySlidesO");
1008 let dots = document.getElementsByClassName("image");
1009 let captionText = document.getElementById("caption");
1010 if (n > slides.length) {slideIndex = 1}
1011 if (n < 1) {slideIndex = slides.length}
1012 for (i = 0; i < slides.length; i++) {
1013 slides[i].style.display = "none";
1014 }
1015 for (i = 0; i < dots.length; i++) {
1016 dots[i].className = dots[i].className.replace(" active", "");
1017 }
1018 slides[slideIndex-1].style.display = "block";
1019 dots[slideIndex-1].className += " active";
1020 captionText.innerHTML = dots[slideIndex-1].alt;
1021 }
1022 </script>
1023
1024 <script type="text/javascript">
1025 var mobile = (/iphone|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
1026 if (mobile) {
1027 $(.hidemobile).css(display, none); // OR you can use $(.hidemobile).hide();
1028 }
1029 else
1030 {
1031 $(.hideweb).css(display, none); // OR you can use $(.hideweb).hide();
1032 }
1033 </script>
1034 </body>
1035 </html>
1036