37 lines
1.2 KiB
PHP
37 lines
1.2 KiB
PHP
<?php
|
|
session_start();
|
|
require '../config/db.php';
|
|
|
|
$userId = $_SESSION['user_id'] ?? null;
|
|
if(!$userId){
|
|
echo json_encode(['success'=>false,'message'=>'Vous devez être connecté']);
|
|
exit;
|
|
}
|
|
|
|
$content = trim($_POST['content'] ?? '');
|
|
if(!$content){
|
|
echo json_encode(['success'=>false,'message'=>'Message vide']);
|
|
exit;
|
|
}
|
|
|
|
// Insertion du message
|
|
$stmt = $pdo->prepare("INSERT INTO messages (id_utilisateur, contenu, date_creation)>
|
|
$stmt->execute([$userId, $content]);
|
|
$messageId = $pdo->lastInsertId();
|
|
|
|
// Upload de fichier
|
|
if(!empty($_FILES['image']['tmp_name'])){
|
|
$file = $_FILES['image'];
|
|
$allowedTypes = ['image/png','image/jpeg'];
|
|
if(!in_array($file['type'],$allowedTypes) || $file['size']>2*1024*1024){
|
|
echo json_encode(['success'=>false,'message'=>'Fichier non valide']);
|
|
exit;
|
|
}
|
|
|
|
$data = file_get_contents($file['tmp_name']);
|
|
$base64 = 'data:'.$file['type'].';base64,'.base64_encode($data);
|
|
$stmt = $pdo->prepare("INSERT INTO fichiers (id_message, nom_fichier, chemin_fic>
|
|
$stmt->execute([$messageId, $file['name'], $base64, $file['size'], $file['type']>
|
|
}
|
|
|
|
echo json_encode(['success'=>true,'message'=>'Post publié avec succès']); |