update navbar
This commit is contained in:
parent
6bec7bca15
commit
d033024363
Binary file not shown.
|
After Width: | Height: | Size: 9.3 KiB |
BIN
public/photostrf/qrcodes/qrcode_231.png
Normal file
BIN
public/photostrf/qrcodes/qrcode_231.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 511 B |
BIN
public/photostrf/qrcodes/qrcode_233.png
Normal file
BIN
public/photostrf/qrcodes/qrcode_233.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 518 B |
BIN
public/photostrf/qrcodes/qrcode_234.png
Normal file
BIN
public/photostrf/qrcodes/qrcode_234.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 511 B |
61
public/userarea/assets/images/county/uk.svg
Normal file
61
public/userarea/assets/images/county/uk.svg
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="iso-8859-1"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
|
||||||
|
<circle style="fill:#F0F0F0;" cx="256" cy="256" r="256"/>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#0052B4;" d="M52.92,100.142c-20.109,26.163-35.272,56.318-44.101,89.077h133.178L52.92,100.142z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M503.181,189.219c-8.829-32.758-23.993-62.913-44.101-89.076l-89.075,89.076H503.181z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M8.819,322.784c8.83,32.758,23.993,62.913,44.101,89.075l89.074-89.075L8.819,322.784L8.819,322.784
|
||||||
|
z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M411.858,52.921c-26.163-20.109-56.317-35.272-89.076-44.102v133.177L411.858,52.921z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M100.142,459.079c26.163,20.109,56.318,35.272,89.076,44.102V370.005L100.142,459.079z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M189.217,8.819c-32.758,8.83-62.913,23.993-89.075,44.101l89.075,89.075V8.819z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M322.783,503.181c32.758-8.83,62.913-23.993,89.075-44.101l-89.075-89.075V503.181z"/>
|
||||||
|
<path style="fill:#0052B4;" d="M370.005,322.784l89.075,89.076c20.108-26.162,35.272-56.318,44.101-89.076H370.005z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
<path style="fill:#D80027;" d="M509.833,222.609h-220.44h-0.001V2.167C278.461,0.744,267.317,0,256,0
|
||||||
|
c-11.319,0-22.461,0.744-33.391,2.167v220.44v0.001H2.167C0.744,233.539,0,244.683,0,256c0,11.319,0.744,22.461,2.167,33.391
|
||||||
|
h220.44h0.001v220.442C233.539,511.256,244.681,512,256,512c11.317,0,22.461-0.743,33.391-2.167v-220.44v-0.001h220.442
|
||||||
|
C511.256,278.461,512,267.319,512,256C512,244.683,511.256,233.539,509.833,222.609z"/>
|
||||||
|
<path style="fill:#D80027;" d="M322.783,322.784L322.783,322.784L437.019,437.02c5.254-5.252,10.266-10.743,15.048-16.435
|
||||||
|
l-97.802-97.802h-31.482V322.784z"/>
|
||||||
|
<path style="fill:#D80027;" d="M189.217,322.784h-0.002L74.98,437.019c5.252,5.254,10.743,10.266,16.435,15.048l97.802-97.804
|
||||||
|
V322.784z"/>
|
||||||
|
<path style="fill:#D80027;" d="M189.217,189.219v-0.002L74.981,74.98c-5.254,5.252-10.266,10.743-15.048,16.435l97.803,97.803
|
||||||
|
H189.217z"/>
|
||||||
|
<path style="fill:#D80027;" d="M322.783,189.219L322.783,189.219L437.02,74.981c-5.252-5.254-10.743-10.266-16.435-15.047
|
||||||
|
l-97.802,97.803V189.219z"/>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
<g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
@ -96,3 +96,13 @@ Response: {"meta":{"code":4110,"message":"The value of tracking_number is invali
|
|||||||
HTTP Code: 400
|
HTTP Code: 400
|
||||||
Error:
|
Error:
|
||||||
Create Response: {"meta":{"code":4110,"message":"The value of tracking_number is invalid."},"data":null,"success":false,"http_code":400}
|
Create Response: {"meta":{"code":4110,"message":"The value of tracking_number is invalid."},"data":null,"success":false,"http_code":400}
|
||||||
|
Encoded JSON Data: {
|
||||||
|
"tracking_number": "750000810057432004040056",
|
||||||
|
"courier_code": "tnt-it"
|
||||||
|
}
|
||||||
|
Request URL: https://api.trackingmore.com/v4/trackings/create
|
||||||
|
Request Data: {"tracking_number":"750000810057432004040056","courier_code":"tnt-it"}
|
||||||
|
Response: {"meta":{"code":200,"message":"Request response is successful"},"data":{"id":"9e9652c58e37fc7c8c9b08e9f2eb8f8e","tracking_number":"750000810057432004040056","courier_code":"tnt-it","order_number":"750000810057432004040056","order_date":null,"created_at":"2025-04-03T12:51:49+00:00","update_at":"2025-04-01T09:02:08+00:00","delivery_status":"delivered","archived":"tracking","updating":false,"source":"API","destination_country":"IT","destination_state":"MB","destination_city":"MEDA","origin_country":null,"origin_state":"BS","origin_city":"BRESCIA","tracking_postal_code":null,"tracking_ship_date":null,"tracking_destination_country":null,"tracking_origin_country":null,"tracking_key":null,"tracking_courier_account":null,"customer_name":null,"customer_email":null,"customer_sms":null,"recipient_postcode":null,"order_id":null,"title":null,"logistics_channel":null,"note":null,"label":null,"signed_by":"SIRONI","service_code":"Express","weight":"0,020","weight_kg":null,"product_type":null,"pieces":"1","dimension":"0,001","previously":null,"destination_track_number":null,"exchange_number":null,"scheduled_delivery_date":null,"scheduled_address":null,"substatus":"delivered003","status_info":null,"latest_event":"Spedizione consegnata,COMO,2025-03-25 11:12:00","latest_checkpoint_time":"2025-03-25T11:12:00","transit_time":1,"origin_info":{"courier_code":"tnt-it","courier_phone":"+39 199 803 868","weblink":"http:\/\/www.tnt.it\/","tracking_link":"https:\/\/www.tnt.it\/tracking\/Tracking.do","reference_number":"MY01818480","milestone_date":{"inforeceived_date":null,"pickup_date":"2025-03-24T17:35:00","outfordelivery_date":"2025-03-25T09:31:00","delivery_date":"2025-03-25T11:12:00","returning_date":null,"returned_date":null},"pickup_date":null,"departed_airport_date":null,"arrived_abroad_date":null,"customs_received_date":null,"trackinfo":[{"checkpoint_date":"2025-03-25T11:12:00","checkpoint_delivery_status":"delivered","checkpoint_delivery_substatus":"delivered003","tracking_detail":"Spedizione consegnata","location":"COMO","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null},{"checkpoint_date":"2025-03-25T09:31:00","checkpoint_delivery_status":"pickup","checkpoint_delivery_substatus":"pickup001","tracking_detail":"La spedizione e' in consegna in data odierna","location":"COMO","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null},{"checkpoint_date":"2025-03-25T01:11:00","checkpoint_delivery_status":"transit","checkpoint_delivery_substatus":"transit001","tracking_detail":"La spedizione e' in transito","location":"COMO","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null},{"checkpoint_date":"2025-03-24T17:35:00","checkpoint_delivery_status":"transit","checkpoint_delivery_substatus":"transit001","tracking_detail":"La spedizione e' regolarmente partita","location":"BRESCIA","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null}]},"destination_info":{"courier_code":null,"courier_phone":null,"weblink":null,"tracking_link":null,"reference_number":null,"milestone_date":{"inforeceived_date":null,"pickup_date":null,"outfordelivery_date":null,"delivery_date":null,"returning_date":null,"returned_date":null},"pickup_date":null,"departed_airport_date":null,"arrived_abroad_date":null,"customs_received_date":null,"trackinfo":[]}}}
|
||||||
|
HTTP Code: 200
|
||||||
|
Error:
|
||||||
|
Create Response: {"meta":{"code":200,"message":"Request response is successful"},"data":{"id":"9e9652c58e37fc7c8c9b08e9f2eb8f8e","tracking_number":"750000810057432004040056","courier_code":"tnt-it","order_number":"750000810057432004040056","order_date":null,"created_at":"2025-04-03T12:51:49+00:00","update_at":"2025-04-01T09:02:08+00:00","delivery_status":"delivered","archived":"tracking","updating":false,"source":"API","destination_country":"IT","destination_state":"MB","destination_city":"MEDA","origin_country":null,"origin_state":"BS","origin_city":"BRESCIA","tracking_postal_code":null,"tracking_ship_date":null,"tracking_destination_country":null,"tracking_origin_country":null,"tracking_key":null,"tracking_courier_account":null,"customer_name":null,"customer_email":null,"customer_sms":null,"recipient_postcode":null,"order_id":null,"title":null,"logistics_channel":null,"note":null,"label":null,"signed_by":"SIRONI","service_code":"Express","weight":"0,020","weight_kg":null,"product_type":null,"pieces":"1","dimension":"0,001","previously":null,"destination_track_number":null,"exchange_number":null,"scheduled_delivery_date":null,"scheduled_address":null,"substatus":"delivered003","status_info":null,"latest_event":"Spedizione consegnata,COMO,2025-03-25 11:12:00","latest_checkpoint_time":"2025-03-25T11:12:00","transit_time":1,"origin_info":{"courier_code":"tnt-it","courier_phone":"+39 199 803 868","weblink":"http:\/\/www.tnt.it\/","tracking_link":"https:\/\/www.tnt.it\/tracking\/Tracking.do","reference_number":"MY01818480","milestone_date":{"inforeceived_date":null,"pickup_date":"2025-03-24T17:35:00","outfordelivery_date":"2025-03-25T09:31:00","delivery_date":"2025-03-25T11:12:00","returning_date":null,"returned_date":null},"pickup_date":null,"departed_airport_date":null,"arrived_abroad_date":null,"customs_received_date":null,"trackinfo":[{"checkpoint_date":"2025-03-25T11:12:00","checkpoint_delivery_status":"delivered","checkpoint_delivery_substatus":"delivered003","tracking_detail":"Spedizione consegnata","location":"COMO","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null},{"checkpoint_date":"2025-03-25T09:31:00","checkpoint_delivery_status":"pickup","checkpoint_delivery_substatus":"pickup001","tracking_detail":"La spedizione e' in consegna in data odierna","location":"COMO","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null},{"checkpoint_date":"2025-03-25T01:11:00","checkpoint_delivery_status":"transit","checkpoint_delivery_substatus":"transit001","tracking_detail":"La spedizione e' in transito","location":"COMO","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null},{"checkpoint_date":"2025-03-24T17:35:00","checkpoint_delivery_status":"transit","checkpoint_delivery_substatus":"transit001","tracking_detail":"La spedizione e' regolarmente partita","location":"BRESCIA","country_iso2":null,"state":null,"city":null,"zip":null,"raw_status":null}]},"destination_info":{"courier_code":null,"courier_phone":null,"weblink":null,"tracking_link":null,"reference_number":null,"milestone_date":{"inforeceived_date":null,"pickup_date":null,"outfordelivery_date":null,"delivery_date":null,"returning_date":null,"returned_date":null},"pickup_date":null,"departed_airport_date":null,"arrived_abroad_date":null,"customs_received_date":null,"trackinfo":[]}},"success":true,"http_code":200}
|
||||||
|
|||||||
@ -447,7 +447,7 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
|
|||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<title>Modifica Dati Importati - <?= htmlspecialchars($titlewebsite, ENT_QUOTES, 'UTF-8'); ?></title>
|
<title>Edit Imported Data - <?= htmlspecialchars($titlewebsite, ENT_QUOTES, 'UTF-8'); ?></title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
@ -513,7 +513,7 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
|
|||||||
|
|
||||||
<!-- Header della tabella -->
|
<!-- Header della tabella -->
|
||||||
<div class="grid-row">
|
<div class="grid-row">
|
||||||
<div class="grid-header" style="flex: 0 0 100px;">Salva</div>
|
<div class="grid-header" style="flex: 0 0 100px;">Save</div>
|
||||||
<div class="grid-header" style="flex: 0 0 100px;">Photos</div> <!-- Nuova colonna Photos -->
|
<div class="grid-header" style="flex: 0 0 100px;">Photos</div> <!-- Nuova colonna Photos -->
|
||||||
<?php
|
<?php
|
||||||
$headerIndex = 0;
|
$headerIndex = 0;
|
||||||
@ -561,7 +561,7 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
|
|||||||
<input type="hidden" name="rows[<?= $index ?>][<?= $col ?>]" value="<?= htmlspecialchars($value ?? '') ?>">
|
<input type="hidden" name="rows[<?= $index ?>][<?= $col ?>]" value="<?= htmlspecialchars($value ?? '') ?>">
|
||||||
<?php elseif ($col === 'status'): ?>
|
<?php elseif ($col === 'status'): ?>
|
||||||
<span class="status-display status-<?= htmlspecialchars($value ?? 'i') ?>">
|
<span class="status-display status-<?= htmlspecialchars($value ?? 'i') ?>">
|
||||||
<?= htmlspecialchars($value === 'i' ? 'Importato' : ($value === 'P' ? 'Progress' : 'LIMS')) ?>
|
<?= htmlspecialchars($value === 'i' ? 'Imported' : ($value === 'P' ? 'Progress' : 'LIMS')) ?>
|
||||||
</span>
|
</span>
|
||||||
<input type="hidden" name="rows[<?= $index ?>][<?= $col ?>]" value="<?= htmlspecialchars($value ?? 'i') ?>">
|
<input type="hidden" name="rows[<?= $index ?>][<?= $col ?>]" value="<?= htmlspecialchars($value ?? 'i') ?>">
|
||||||
<?php elseif ($col === 'user_id'): ?>
|
<?php elseif ($col === 'user_id'): ?>
|
||||||
@ -618,7 +618,7 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
|
|||||||
<button type="button" class="go-btn" data-row="<?= $index ?>" style="width: 15%;"><i class="fas fa-play"></i> </button>
|
<button type="button" class="go-btn" data-row="<?= $index ?>" style="width: 15%;"><i class="fas fa-play"></i> </button>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid-cell tracking-info" data-row="<?= $index ?>" style="flex: 0 0 250px;">
|
<div class="grid-cell tracking-info" data-row="<?= $index ?>" style="flex: 0 0 250px;">
|
||||||
<span class="tracking-result">Data e corriere qui</span>
|
<span class="tracking-result">Shipment Info</span>
|
||||||
<input type="hidden" name="rows[<?= $index ?>][tracking_info]" class="tracking-hidden">
|
<input type="hidden" name="rows[<?= $index ?>][tracking_info]" class="tracking-hidden">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -632,7 +632,7 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
|
|||||||
<span class="close-btn">×</span>
|
<span class="close-btn">×</span>
|
||||||
<div id="popupContent">
|
<div id="popupContent">
|
||||||
<!-- Il contenuto verrà caricato dinamicamente -->
|
<!-- Il contenuto verrà caricato dinamicamente -->
|
||||||
<p>Caricamento...</p>
|
<p>Loading...</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -983,7 +983,7 @@ foreach ($stmt->fetchAll(PDO::FETCH_ASSOC) as $row) {
|
|||||||
throw new Error(result.message);
|
throw new Error(result.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
const trackingText = `Data: ${result.deliveryDate}, Firmatario: ${result.signedBy}, Corriere: ${result.carrierName}`;
|
const trackingText = `Date: ${result.deliveryDate}, Signed by: ${result.signedBy}, Courier: ${result.carrierName}`;
|
||||||
trackingResult.textContent = trackingText;
|
trackingResult.textContent = trackingText;
|
||||||
trackingHidden.value = JSON.stringify({
|
trackingHidden.value = JSON.stringify({
|
||||||
deliveryDate: result.deliveryDate,
|
deliveryDate: result.deliveryDate,
|
||||||
|
|||||||
@ -140,10 +140,10 @@ error_log("Loaded template: " . print_r($template, true));
|
|||||||
<!-- Form per caricare il file -->
|
<!-- Form per caricare il file -->
|
||||||
<form id="uploadForm" enctype="multipart/form-data" class="mb-4">
|
<form id="uploadForm" enctype="multipart/form-data" class="mb-4">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label for="excel_file" class="form-label">Carica il file Excel</label>
|
<label for="excel_file" class="form-label">Upload XLS File</label>
|
||||||
<input type="file" class="form-control" id="excel_file" name="excel_file" accept=".xls,.xlsx" required>
|
<input type="file" class="form-control" id="excel_file" name="excel_file" accept=".xls,.xlsx" required>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary">Carica</button>
|
<button type="submit" class="btn btn-primary">Upload</button>
|
||||||
<div class="loader" id="loader"></div>
|
<div class="loader" id="loader"></div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -48,6 +48,7 @@ $_SESSION["surnameuser"] = $surnameuser;
|
|||||||
$_SESSION["emailuser"] = $emailuser;
|
$_SESSION["emailuser"] = $emailuser;
|
||||||
$_SESSION["photouser"] = $avatar;
|
$_SESSION["photouser"] = $avatar;
|
||||||
$photouser = $_SESSION["photouser"];
|
$photouser = $_SESSION["photouser"];
|
||||||
|
$photousername = basename($avatar);
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -11,6 +11,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<!--navigation-->
|
<!--navigation-->
|
||||||
<ul class="metismenu" id="menu">
|
<ul class="metismenu" id="menu">
|
||||||
|
<?php if ((Auth::user()->hasRole('Admin')) || (Auth::user()->hasRole('User')) || (Auth::user()->hasRole('Superuser'))) : ?>
|
||||||
<li>
|
<li>
|
||||||
<a href="javascript:;" class="has-arrow">
|
<a href="javascript:;" class="has-arrow">
|
||||||
<div class="parent-icon"><i class='bx bx-home-alt'></i>
|
<div class="parent-icon"><i class='bx bx-home-alt'></i>
|
||||||
@ -20,7 +21,7 @@
|
|||||||
<ul>
|
<ul>
|
||||||
<li> <a href="index.php"><i class='bx bx-radio-circle'></i>Default</a>
|
<li> <a href="index.php"><i class='bx bx-radio-circle'></i>Default</a>
|
||||||
</li>
|
</li>
|
||||||
<li> <a href="import_dashboard.php"><i class='bx bx-radio-circle'></i>Import Dashboard</a>
|
<li> <a href="import_dashboard.php"><i class='bx bx-radio-circle'></i>XLS Import</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
@ -45,6 +46,32 @@
|
|||||||
|
|
||||||
<li class="menu-label">Others</li>
|
<li class="menu-label">Others</li>
|
||||||
|
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<a href="https://helpdesk.cesoft.io" target="_blank">
|
||||||
|
<div class="parent-icon"><i class="bx bx-support"></i>
|
||||||
|
</div>
|
||||||
|
<div class="menu-title">Support</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<?php
|
||||||
|
endif; ?>
|
||||||
|
<?php if (Auth::user()->hasRole('Admin')) : ?>
|
||||||
|
<li class="menu-label">Admin Menù</li>
|
||||||
|
<li>
|
||||||
|
<a href="../" target="_blank">
|
||||||
|
<div class="parent-icon"><i class="bx bx-support"></i>
|
||||||
|
</div>
|
||||||
|
<div class="menu-title">User Management</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="template/index.html" target="_blank">
|
||||||
|
<div class="parent-icon"><i class="bx bx-support"></i>
|
||||||
|
</div>
|
||||||
|
<div class="menu-title">Template</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<a href="https://codervent.com/rocker/documentation/index.html" target="_blank">
|
<a href="https://codervent.com/rocker/documentation/index.html" target="_blank">
|
||||||
<div class="parent-icon"><i class="bx bx-folder"></i>
|
<div class="parent-icon"><i class="bx bx-folder"></i>
|
||||||
@ -52,15 +79,8 @@
|
|||||||
<div class="menu-title">Documentation</div>
|
<div class="menu-title">Documentation</div>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<?php
|
||||||
<a href="https://themeforest.net/user/codervent" target="_blank">
|
endif; ?>
|
||||||
<div class="parent-icon"><i class="bx bx-support"></i>
|
|
||||||
</div>
|
|
||||||
<div class="menu-title">Support</div>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li> <a href="template/index.html" target="_blank"><i class='bx bx-radio-circle'></i>Template</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<!--end navigation-->
|
<!--end navigation-->
|
||||||
</div>
|
</div>
|
||||||
@ -5,7 +5,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="search-bar d-lg-block d-none" data-bs-toggle="modal" data-bs-target="#SearchModal">
|
<div class="search-bar d-lg-block d-none" data-bs-toggle="modal" data-bs-target="#SearchModal">
|
||||||
<a href="avascript:;" class="btn d-flex align-items-center"><i class='bx bx-search'></i>Search</a>
|
<!-- <a href="avascript:;" class="btn d-flex align-items-center"><i class='bx bx-search'></i>Search</a> -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="top-menu ms-auto">
|
<div class="top-menu ms-auto">
|
||||||
@ -15,25 +15,12 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item dropdown dropdown-laungauge d-none d-sm-flex">
|
<li class="nav-item dropdown dropdown-laungauge d-none d-sm-flex">
|
||||||
<a class="nav-link dropdown-toggle dropdown-toggle-nocaret" href="avascript:;" data-bs-toggle="dropdown"><img src="assets/images/county/02.png" width="22" alt="">
|
<a class="nav-link dropdown-toggle dropdown-toggle-nocaret" href="avascript:;" data-bs-toggle="dropdown"><img src="assets/images/county/uk.svg" width="22" alt="">
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/01.png" width="20" alt=""><span class="ms-2">English</span></a>
|
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/uk.svg" width="20" alt=""><span class="ms-2">English</span></a>
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/02.png" width="20" alt=""><span class="ms-2">Catalan</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/03.png" width="20" alt=""><span class="ms-2">French</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/04.png" width="20" alt=""><span class="ms-2">Belize</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/05.png" width="20" alt=""><span class="ms-2">Colombia</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/06.png" width="20" alt=""><span class="ms-2">Spanish</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/07.png" width="20" alt=""><span class="ms-2">Georgian</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center py-2" href="javascript:;"><img src="assets/images/county/08.png" width="20" alt=""><span class="ms-2">Hindi</span></a>
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item dark-mode d-none d-sm-flex">
|
<li class="nav-item dark-mode d-none d-sm-flex">
|
||||||
@ -41,7 +28,7 @@
|
|||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item dropdown dropdown-app">
|
<li class="nav-item dropdown dropdown-app">
|
||||||
<a class="nav-link dropdown-toggle dropdown-toggle-nocaret" data-bs-toggle="dropdown" href="javascript:;"><i class='bx bx-grid-alt'></i></a>
|
<!-- <a class="nav-link dropdown-toggle dropdown-toggle-nocaret" data-bs-toggle="dropdown" href="javascript:;"><i class='bx bx-grid-alt'></i></a> -->
|
||||||
<div class="dropdown-menu dropdown-menu-end p-0">
|
<div class="dropdown-menu dropdown-menu-end p-0">
|
||||||
<div class="app-container p-2 my-2">
|
<div class="app-container p-2 my-2">
|
||||||
|
|
||||||
@ -50,14 +37,14 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="nav-item dropdown dropdown-large">
|
<li class="nav-item dropdown dropdown-large">
|
||||||
<a class="nav-link dropdown-toggle dropdown-toggle-nocaret position-relative" href="#" data-bs-toggle="dropdown"><span class="alert-count">7</span>
|
<a class="nav-link dropdown-toggle dropdown-toggle-nocaret position-relative" href="#" data-bs-toggle="dropdown"><span class="alert-count">0</span>
|
||||||
<i class='bx bx-bell'></i>
|
<i class='bx bx-bell'></i>
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu dropdown-menu-end">
|
<div class="dropdown-menu dropdown-menu-end">
|
||||||
<a href="javascript:;">
|
<a href="javascript:;">
|
||||||
<div class="msg-header">
|
<div class="msg-header">
|
||||||
<p class="msg-header-title">Notifications</p>
|
<p class="msg-header-title">Notifications</p>
|
||||||
<p class="msg-header-badge">8 New</p>
|
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<div class="header-notifications-list">
|
<div class="header-notifications-list">
|
||||||
@ -73,99 +60,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="notify bg-light-danger text-danger">dc
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">New Orders <span class="msg-time float-end">2 min
|
|
||||||
ago</span></h6>
|
|
||||||
<p class="msg-info">You have recived new orders</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="user-online">
|
|
||||||
<img src="assets/images/avatars/avatar-2.png" class="msg-avatar" alt="user avatar">
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">Althea Cabardo <span class="msg-time float-end">14
|
|
||||||
sec ago</span></h6>
|
|
||||||
<p class="msg-info">Many desktop publishing packages</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="notify bg-light-success text-success">
|
|
||||||
<img src="assets/images/app/outlook.png" width="25" alt="user avatar">
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">Account Created<span class="msg-time float-end">28 min
|
|
||||||
ago</span></h6>
|
|
||||||
<p class="msg-info">Successfully created new email</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="notify bg-light-info text-info">Ss
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">New Product Approved <span
|
|
||||||
class="msg-time float-end">2 hrs ago</span></h6>
|
|
||||||
<p class="msg-info">Your new product has approved</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="user-online">
|
|
||||||
<img src="assets/images/avatars/avatar-4.png" class="msg-avatar" alt="user avatar">
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">Katherine Pechon <span class="msg-time float-end">15
|
|
||||||
min ago</span></h6>
|
|
||||||
<p class="msg-info">Making this the first true generator</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="notify bg-light-success text-success"><i class='bx bx-check-square'></i>
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">Your item is shipped <span class="msg-time float-end">5 hrs
|
|
||||||
ago</span></h6>
|
|
||||||
<p class="msg-info">Successfully shipped your item</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="notify bg-light-primary">
|
|
||||||
<img src="assets/images/app/github.png" width="25" alt="user avatar">
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">New 24 authors<span class="msg-time float-end">1 day
|
|
||||||
ago</span></h6>
|
|
||||||
<p class="msg-info">24 new authors joined last week</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
<a class="dropdown-item" href="javascript:;">
|
|
||||||
<div class="d-flex align-items-center">
|
|
||||||
<div class="user-online">
|
|
||||||
<img src="assets/images/avatars/avatar-8.png" class="msg-avatar" alt="user avatar">
|
|
||||||
</div>
|
|
||||||
<div class="flex-grow-1">
|
|
||||||
<h6 class="msg-name">Peter Costanzo <span class="msg-time float-end">6 hrs
|
|
||||||
ago</span></h6>
|
|
||||||
<p class="msg-info">It was popularised in the 1960s</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
<a href="javascript:;">
|
<a href="javascript:;">
|
||||||
<div class="text-center msg-footer">
|
<div class="text-center msg-footer">
|
||||||
@ -184,22 +85,16 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="user-box dropdown px-3">
|
<div class="user-box dropdown px-3">
|
||||||
<a class="d-flex align-items-center nav-link dropdown-toggle gap-3 dropdown-toggle-nocaret" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
<a class="d-flex align-items-center nav-link dropdown-toggle gap-3 dropdown-toggle-nocaret" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<img src="assets/images/avatars/avatar-1.png" class="user-img" alt="user avatar">
|
<img src="<?= htmlspecialchars($photousername ? '../upload/users/' . $photousername : '../upload/users/profile.png'); ?>" class="user-img" alt="user avatar">
|
||||||
<div class="user-info">
|
<div class="user-info">
|
||||||
<p class="user-name mb-0"><?= htmlspecialchars($user->first_name . ' ' . $user->last_name); ?></p>
|
<p class="user-name mb-0"><?= htmlspecialchars($user->first_name . ' ' . $user->last_name); ?></p>
|
||||||
<p class="designattion mb-0"><?= htmlspecialchars($user->email); ?></p>
|
<p class="designattion mb-0"><?= htmlspecialchars($user->email); ?></p>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu dropdown-menu-end">
|
<ul class="dropdown-menu dropdown-menu-end">
|
||||||
<li><a class="dropdown-item d-flex align-items-center" href="javascript:;"><i class="bx bx-user fs-5"></i><span>Profile</span></a>
|
<li><a class="dropdown-item d-flex align-items-center" href="user-profile.php"><i class="bx bx-user fs-5"></i><span>Profile</span></a>
|
||||||
</li>
|
</li>
|
||||||
<li><a class="dropdown-item d-flex align-items-center" href="javascript:;"><i class="bx bx-cog fs-5"></i><span>Settings</span></a>
|
<li><a class="dropdown-item d-flex align-items-center" href="settings.php"><i class="bx bx-cog fs-5"></i><span>Settings</span></a>
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center" href="javascript:;"><i class="bx bx-home-circle fs-5"></i><span>Dashboard</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center" href="javascript:;"><i class="bx bx-dollar-circle fs-5"></i><span>Earnings</span></a>
|
|
||||||
</li>
|
|
||||||
<li><a class="dropdown-item d-flex align-items-center" href="javascript:;"><i class="bx bx-download fs-5"></i><span>Downloads</span></a>
|
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<div class="dropdown-divider mb-0"></div>
|
<div class="dropdown-divider mb-0"></div>
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
<?php include('include/headscript.php'); ?>
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
|
|||||||
@ -73,13 +73,13 @@ $result->saveToFile($qrCodeFile);
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="popup-content">
|
<div class="popup-content">
|
||||||
<h3>Gestione Foto</h3>
|
<h3>Manage Photos</h3>
|
||||||
<p><strong>ID Riga:</strong> <?= htmlspecialchars($idriga) ?></p>
|
<p><strong>ID Row:</strong> <?= htmlspecialchars($idriga) ?></p>
|
||||||
<p><strong>Sample Code:</strong> <?= htmlspecialchars($sampleCode) ?></p>
|
<p><strong>Sample Code:</strong> <?= htmlspecialchars($sampleCode) ?></p>
|
||||||
|
|
||||||
<!-- QR Code per il caricamento da mobile -->
|
<!-- QR Code per il caricamento da mobile -->
|
||||||
<div style="text-align: center; margin-bottom: 20px;">
|
<div style="text-align: center; margin-bottom: 20px;">
|
||||||
<p>Scansiona il QR code per caricare foto dal tuo telefono:</p>
|
<p>Scan the QR Code with the mobile to take photo with camera:</p>
|
||||||
<img src="../photostrf/qrcodes/qrcode_<?= $iddatadb ?>.png" alt="QR Code" style="max-width: 150px;">
|
<img src="../photostrf/qrcodes/qrcode_<?= $iddatadb ?>.png" alt="QR Code" style="max-width: 150px;">
|
||||||
<p style="margin-top: 10px;">
|
<p style="margin-top: 10px;">
|
||||||
<a href="<?= htmlspecialchars($uploadUrl) ?>" target="_blank"><?= htmlspecialchars($uploadUrl) ?></a>
|
<a href="<?= htmlspecialchars($uploadUrl) ?>" target="_blank"><?= htmlspecialchars($uploadUrl) ?></a>
|
||||||
@ -88,14 +88,14 @@ $result->saveToFile($qrCodeFile);
|
|||||||
|
|
||||||
<!-- Area drag-and-drop per il caricamento delle foto -->
|
<!-- Area drag-and-drop per il caricamento delle foto -->
|
||||||
<div id="dropArea" style="border: 2px dashed #ccc; padding: 20px; text-align: center; margin-bottom: 20px;">
|
<div id="dropArea" style="border: 2px dashed #ccc; padding: 20px; text-align: center; margin-bottom: 20px;">
|
||||||
<p>Trascina qui le foto o clicca per selezionarle</p>
|
<p>Drag the photo here or click to select</p>
|
||||||
<input type="file" id="photoInput" multiple accept="image/*" style="display: none;">
|
<input type="file" id="photoInput" multiple accept="image/*" style="display: none;">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Elenco delle foto -->
|
<!-- Elenco delle foto -->
|
||||||
<div id="photosList">
|
<div id="photosList">
|
||||||
<?php if (empty($photos)): ?>
|
<?php if (empty($photos)): ?>
|
||||||
<p>Nessuna foto presente.</p>
|
<p>No Photos present.</p>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<?php foreach ($photos as $photo): ?>
|
<?php foreach ($photos as $photo): ?>
|
||||||
<?php
|
<?php
|
||||||
|
|||||||
52
public/userarea/update-profile.php
Normal file
52
public/userarea/update-profile.php
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
require_once(__DIR__ . '/class/db-functions.php');
|
||||||
|
include('../../extra/auth.php');
|
||||||
|
|
||||||
|
if (!Auth::check()) {
|
||||||
|
redirectTo('../public/login');
|
||||||
|
}
|
||||||
|
|
||||||
|
$user = Auth::user();
|
||||||
|
$id = $_POST['iduserlogin'];
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
$first_name = $_POST['first_name'];
|
||||||
|
$last_name = $_POST['last_name'];
|
||||||
|
$email = $_POST['email'];
|
||||||
|
$password = $_POST['password'] ?: null;
|
||||||
|
|
||||||
|
$db = DBHandlerSelect::getInstance()->getConnection();
|
||||||
|
|
||||||
|
// Gestione avatar
|
||||||
|
$avatar = $user->present()->avatar;
|
||||||
|
if (isset($_FILES['avatar']) && $_FILES['avatar']['error'] === UPLOAD_ERR_OK) {
|
||||||
|
$avatar = time() . '_' . basename($_FILES['avatar']['name']);
|
||||||
|
$uploadDir = __DIR__ . '/../../public/upload/users/';
|
||||||
|
if (!is_dir($uploadDir)) {
|
||||||
|
mkdir($uploadDir, 0755, true);
|
||||||
|
}
|
||||||
|
move_uploaded_file($_FILES['avatar']['tmp_name'], $uploadDir . $avatar);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiornamento dati
|
||||||
|
$sql = "UPDATE auth_users SET first_name = ?, last_name = ?, email = ?, avatar = ? WHERE id = ?";
|
||||||
|
$stmt = $db->prepare($sql);
|
||||||
|
$stmt->execute([$first_name, $last_name, $email, $avatar, $id]);
|
||||||
|
|
||||||
|
// Aggiornamento password se fornita
|
||||||
|
if ($password) {
|
||||||
|
$hashedPassword = password_hash($password, PASSWORD_BCRYPT);
|
||||||
|
$sql = "UPDATE auth_users SET password = ? WHERE id = ?";
|
||||||
|
$stmt = $db->prepare($sql);
|
||||||
|
$stmt->execute([$hashedPassword, $id]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Aggiorna la sessione con i nuovi dati
|
||||||
|
$_SESSION["nameuser"] = $first_name;
|
||||||
|
$_SESSION["surnameuser"] = $last_name;
|
||||||
|
$_SESSION["emailuser"] = $email;
|
||||||
|
$_SESSION["photouser"] = $avatar;
|
||||||
|
|
||||||
|
header('Location: user-profile.php');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
94
public/userarea/user-profile.php
Normal file
94
public/userarea/user-profile.php
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<?php include('include/headscript.php'); ?>
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<!-- Required meta tags -->
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<!--favicon-->
|
||||||
|
<link rel="icon" href="assets/images/favicon-32x32.png" type="image/png" />
|
||||||
|
<?php include('cssinclude.php'); ?>
|
||||||
|
<title>xxx - <?= htmlspecialchars($titlewebsite, ENT_QUOTES, 'UTF-8'); ?> - User Profile</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<!--wrapper-->
|
||||||
|
<div class="wrapper">
|
||||||
|
<!--sidebar wrapper -->
|
||||||
|
<?php include('include/navbar.php'); ?>
|
||||||
|
<!--end sidebar wrapper -->
|
||||||
|
<!--start header -->
|
||||||
|
<?php include('include/topbar.php'); ?>
|
||||||
|
<!--end header -->
|
||||||
|
<!--start page wrapper -->
|
||||||
|
<div class="page-wrapper">
|
||||||
|
<div class="page-content">
|
||||||
|
<?php include('top_stat_widget.php'); ?>
|
||||||
|
|
||||||
|
<div class="card radius-10">
|
||||||
|
<div class="card-header">
|
||||||
|
<div class="d-flex align-items-center">
|
||||||
|
<div>
|
||||||
|
<h6 class="mb-0">Edit Profile</h6>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card-body">
|
||||||
|
<form action="update-profile.php" method="POST" enctype="multipart/form-data">
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="first_name" class="form-label">First Name</label>
|
||||||
|
<input type="text" class="form-control" id="first_name" name="first_name" value="<?= htmlspecialchars($nameuser); ?>" required>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="last_name" class="form-label">Last Name</label>
|
||||||
|
<input type="text" class="form-control" id="last_name" name="last_name" value="<?= htmlspecialchars($surnameuser); ?>" required>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="email" class="form-label">Email</label>
|
||||||
|
<input type="email" class="form-control" id="email" name="email" value="<?= htmlspecialchars($emailuser); ?>" required>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="avatar" class="form-label">Profile Picture</label>
|
||||||
|
<input type="file" class="form-control" id="avatar" name="avatar">
|
||||||
|
<?php if ($photousername): ?>
|
||||||
|
<p>Current avatar: <img src="..//upload/users/<?= htmlspecialchars($photousername); ?>" alt="Current Avatar" style="max-width: 100px;"></p>
|
||||||
|
<?php else: ?>
|
||||||
|
<p>Current avatar: <img src="..//upload/users/profile.png" alt="Default Avatar" style="max-width: 100px;"></p>
|
||||||
|
<?php endif; ?>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3">
|
||||||
|
<label for="password" class="form-label">Password (leave blank to keep current)</label>
|
||||||
|
<input type="password" class="form-control" id="password" name="password">
|
||||||
|
</div>
|
||||||
|
<input type="hidden" name="iduserlogin" value="<?= htmlspecialchars($iduserlogin); ?>">
|
||||||
|
<button type="submit" class="btn btn-primary">Update Profile</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!--end page wrapper -->
|
||||||
|
<!--start overlay-->
|
||||||
|
<div class="overlay toggle-icon"></div>
|
||||||
|
<!--end overlay-->
|
||||||
|
<!--Start Back To Top Button-->
|
||||||
|
<a href="javaScript:;" class="back-to-top"><i class='bx bxs-up-arrow-alt'></i></a>
|
||||||
|
<!--End Back To Top Button-->
|
||||||
|
<?php include('include/footer.php'); ?>
|
||||||
|
</div>
|
||||||
|
<!--end wrapper-->
|
||||||
|
|
||||||
|
<!-- search modal -->
|
||||||
|
<?php //include('include/searchmodal.php');
|
||||||
|
?>
|
||||||
|
<!-- end search modal -->
|
||||||
|
|
||||||
|
<!--start switcher-->
|
||||||
|
<?php //include('include/themeswitcher.php');
|
||||||
|
?>
|
||||||
|
<!--end switcher-->
|
||||||
|
<?php include('jsinclude.php'); ?>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
||||||
Binary file not shown.
BIN
public/userarea/xlstemplates/17-1743684564-TrialClient1TRF.xlsx
Normal file
BIN
public/userarea/xlstemplates/17-1743684564-TrialClient1TRF.xlsx
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
public/userarea/xlstemplates/7-1743684275-TrialClient1TRF.xlsx
Normal file
BIN
public/userarea/xlstemplates/7-1743684275-TrialClient1TRF.xlsx
Normal file
Binary file not shown.
@ -1 +1 @@
|
|||||||
{"remember_me":"1","notifications_signup_email":"1","forgot_password":"1","login_reset_token_lifetime":"30","throttle_enabled":"1","throttle_attempts":"3","throttle_lockout_time":"2","reg_enabled":"1","reg_email_confirmation":"1","2fa":{"enabled":true},"app_name":"DB Template","registration":{"captcha":{"enabled":false}},"tos":"1","captcha":{"enabled":false},"max_active_sessions":"0"}
|
{"remember_me":"1","notifications_signup_email":"1","forgot_password":"1","login_reset_token_lifetime":"30","throttle_enabled":"1","throttle_attempts":"3","throttle_lockout_time":"2","reg_enabled":"0","reg_email_confirmation":"1","2fa":{"enabled":true},"app_name":"SmartTRF","registration":{"captcha":{"enabled":false}},"tos":"1","captcha":{"enabled":false},"max_active_sessions":"0"}
|
||||||
Loading…
x
Reference in New Issue
Block a user