Compare commits
3 Commits
8f26283832
...
247f154cc8
| Author | SHA1 | Date | |
|---|---|---|---|
| 247f154cc8 | |||
| e683a81f46 | |||
| cf7068d7c6 |
+2
-2
@@ -3,7 +3,7 @@
|
|||||||
/public/hot
|
/public/hot
|
||||||
/public/storage
|
/public/storage
|
||||||
/storage/*.key
|
/storage/*.key
|
||||||
|
/vendor
|
||||||
/.idea
|
/.idea
|
||||||
/.fleet
|
/.fleet
|
||||||
/.vscode
|
/.vscode
|
||||||
@@ -12,7 +12,7 @@ Homestead.json
|
|||||||
Homestead.yaml
|
Homestead.yaml
|
||||||
npm-debug.log
|
npm-debug.log
|
||||||
yarn-error.log
|
yarn-error.log
|
||||||
|
.env
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
.php_cs.cache
|
.php_cs.cache
|
||||||
/documentation
|
/documentation
|
||||||
|
|||||||
@@ -108,14 +108,13 @@ class LoginController extends Controller
|
|||||||
|
|
||||||
// Reindirizza in base al ruolo
|
// Reindirizza in base al ruolo
|
||||||
if ($user->hasRole('Admin')) {
|
if ($user->hasRole('Admin')) {
|
||||||
return redirect()->to('userarea/admin.php');
|
return redirect()->to('userarea/import_dashboard.php');
|
||||||
} elseif ($user->hasRole('User')) {
|
} elseif ($user->hasRole('User')) {
|
||||||
return redirect()->to('userarea/index.php');
|
return redirect()->to('userarea/index.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Se il ruolo non è specificato, reindirizza alla home predefinita
|
// Se il ruolo non è specificato, reindirizza alla home predefinita
|
||||||
return redirect()->intended('/');
|
return redirect()->intended('/');
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function logoutAndRedirectToTokenPage(Request $request, $user, ?string $redirectPage): RedirectResponse
|
protected function logoutAndRedirectToTokenPage(Request $request, $user, ?string $redirectPage): RedirectResponse
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 10 KiB |
@@ -50,7 +50,7 @@
|
|||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="d-flex align-items-center">
|
<div class="d-flex align-items-center">
|
||||||
<div>
|
<div>
|
||||||
<p class="mb-0 text-dark">Bounce Rate</p>
|
<p class="mb-0 text-dark">Other Stats</p>
|
||||||
<h4 class="my-1 text-dark">34.46%</h4>
|
<h4 class="my-1 text-dark">34.46%</h4>
|
||||||
<p class="mb-0 font-13 text-dark"><i class="bx bxs-down-arrow align-middle"></i>12.2% from last week</p>
|
<p class="mb-0 font-13 text-dark"><i class="bx bxs-down-arrow align-middle"></i>12.2% from last week</p>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -40,10 +40,10 @@ if (!is_writable($uploadDir)) {
|
|||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verifica che il file sia un'immagine
|
// Verifica che il file sia un'immagine (inclusi HEIC/HEIF)
|
||||||
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif'];
|
$allowedTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/heic', 'image/heif'];
|
||||||
if (!in_array($photo['type'], $allowedTypes)) {
|
if (!in_array($photo['type'], $allowedTypes)) {
|
||||||
echo json_encode(['success' => false, 'message' => 'Il file deve essere un\'immagine (JPEG, PNG, GIF)']);
|
echo json_encode(['success' => false, 'message' => 'Il file deve essere un\'immagine (JPEG, PNG, GIF, HEIC)']);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,14 +56,40 @@ if (!file_exists($photo['tmp_name']) || !is_uploaded_file($photo['tmp_name'])) {
|
|||||||
// Rinomina il file: idriga-timestamp-nomeoriginale.estensione
|
// Rinomina il file: idriga-timestamp-nomeoriginale.estensione
|
||||||
$timestamp = date('YmdHis');
|
$timestamp = date('YmdHis');
|
||||||
$originalName = pathinfo($photo['name'], PATHINFO_FILENAME);
|
$originalName = pathinfo($photo['name'], PATHINFO_FILENAME);
|
||||||
$extension = pathinfo($photo['name'], PATHINFO_EXTENSION);
|
$extension = strtolower(pathinfo($photo['name'], PATHINFO_EXTENSION));
|
||||||
$newFileName = "{$iddatadb}-{$timestamp}-{$originalName}.{$extension}";
|
|
||||||
|
// Se il file è HEIC/HEIF, convertilo in JPEG
|
||||||
|
if (in_array($photo['type'], ['image/heic', 'image/heif'])) {
|
||||||
|
// Verifica che la libreria GD sia disponibile
|
||||||
|
if (!extension_loaded('gd')) {
|
||||||
|
echo json_encode(['success' => false, 'message' => 'La libreria GD non è disponibile per convertire il file HEIC']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Carica il file HEIC
|
||||||
|
$image = imagecreatefromstring(file_get_contents($photo['tmp_name']));
|
||||||
|
if ($image === false) {
|
||||||
|
echo json_encode(['success' => false, 'message' => 'Impossibile caricare il file HEIC']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Crea un nuovo nome per il file JPEG
|
||||||
|
$newFileName = "{$iddatadb}-{$timestamp}-{$originalName}.jpg";
|
||||||
$destination = $uploadDir . $newFileName;
|
$destination = $uploadDir . $newFileName;
|
||||||
|
|
||||||
// Debug: verifica i percorsi
|
// Salva l'immagine come JPEG
|
||||||
error_log("Upload directory: $uploadDir");
|
if (!imagejpeg($image, $destination, 90)) { // 90 è la qualità JPEG
|
||||||
error_log("Destination: $destination");
|
imagedestroy($image);
|
||||||
error_log("Temp file: " . $photo['tmp_name']);
|
echo json_encode(['success' => false, 'message' => 'Errore durante la conversione del file HEIC in JPEG']);
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Libera la memoria
|
||||||
|
imagedestroy($image);
|
||||||
|
} else {
|
||||||
|
// Per i formati non HEIC, usa il nome e l'estensione originali
|
||||||
|
$newFileName = "{$iddatadb}-{$timestamp}-{$originalName}.{$extension}";
|
||||||
|
$destination = $uploadDir . $newFileName;
|
||||||
|
|
||||||
// Salva il file
|
// Salva il file
|
||||||
if (!move_uploaded_file($photo['tmp_name'], $destination)) {
|
if (!move_uploaded_file($photo['tmp_name'], $destination)) {
|
||||||
@@ -71,9 +97,15 @@ if (!move_uploaded_file($photo['tmp_name'], $destination)) {
|
|||||||
echo json_encode(['success' => false, 'message' => 'Errore durante il caricamento del file: ' . (isset($error['message']) ? $error['message'] : 'Sconosciuto')]);
|
echo json_encode(['success' => false, 'message' => 'Errore durante il caricamento del file: ' . (isset($error['message']) ? $error['message'] : 'Sconosciuto')]);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Debug: verifica i percorsi
|
||||||
|
error_log("Upload directory: $uploadDir");
|
||||||
|
error_log("Destination: $destination");
|
||||||
|
error_log("Temp file: " . $photo['tmp_name']);
|
||||||
|
|
||||||
// Salva il riferimento nel database
|
// Salva il riferimento nel database
|
||||||
$stmt = $pdo->prepare("INSERT INTO datadb_photos (iddatadb, file_path, file_name, uploaded_by) VALUES (?, ?, ?, ?)");
|
$stmt = $pdo->prepare("INSERT INTO datadb_photos (iddatadb, file_path, file_name, uploaded_by) VALUES (?, ?, ?, ?)");
|
||||||
$stmt->execute([$iddatadb, $newFileName, $photo['name'], $iduserlogin]);
|
$stmt->execute([$iddatadb, $newFileName, $newFileName, $iduserlogin]);
|
||||||
|
|
||||||
echo json_encode(['success' => true, 'message' => 'Foto caricata con successo']);
|
echo json_encode(['success' => true, 'message' => 'Foto caricata con successo']);
|
||||||
|
|||||||
Reference in New Issue
Block a user