Je vous laisse quand même le script d'insertion au cas où :
if( isset($_POST'i_name']) && isset($_POST'i_slug']) )
{
check_csrf();
if( preg_match('/^[a-z\-0-9]+$/', $_POST'i_slug']) )
{
$i_id = $db->quote($_GET'id']);
foreach($_POST as $key => $value)
{
${$key} = $db->quote($value);
}
// On sauvegarde l'article dans la base de donnée
if( isset($_GET'id']) )
{
$id = $db->quote($_GET'id']);
// On vérifie que la catégorie n'a pas changé
$select = $db->query("SELECT i_cat_id FROM " . PREFIX . "items WHERE i_id=$id");
$item = $select->fetch();
$item_old_id = $db->quote($item'i_cat_id']);
// Si la catégorie est différente, on met à jour
if( $item_old_id != $i_cat_id )
{
// On enlève un item dans l'ancienne catégorie
$db->query("UPDATE " . PREFIX . "cats SET c_count = c_count - 1 WHERE c_id=$item_old_id");
// On rajoute un item dans la nouvelle
$db->query("UPDATE " . PREFIX . "cats SET c_count = c_count + 1 WHERE c_id=$i_cat_id");
}
// Enfin on met à jour le produit
$time = $db->quote(time());
$db->query("UPDATE " . PREFIX . "items
SET i_name=$i_name, i_price=$i_price, i_slug=$i_slug, i_content=$i_content, i_time=$time, i_reference=$i_reference, i_height=$i_height, i_width=$i_width, i_depth=$i_depth, i_diameter=$i_diameter, i_statut=$i_statut, i_cat_id=$i_cat_id
WHERE i_id=$i_id");
setFlash('Le produit a bien été modifiée');
}
else
{
$time = $db->quote(time());
$db->query("INSERT INTO " . PREFIX . "items
SET i_name=$i_name, i_price=$i_price, i_slug=$i_slug, i_content=$i_content, i_time=$time, i_reference=$i_reference, i_height=$i_height, i_width=$i_width, i_depth=$i_depth, i_diameter=$i_diameter, i_statut=$i_statut, i_cat_id=$i_cat_id");
setFlash('Le produit a bien été ajoutée');
$_GET'id'] = $db->lastInsertId();
// On met à jour le nombre d'articles par rapport à la catégorie
$db->query("UPDATE " . PREFIX . "cats SET c_count = c_count + 1 WHERE c_id=$i_cat_id");
}
// Envoi des images
$work_id = $db->quote($_GET'id']);
$files = $_FILES'images'];
$images = array();
// On récupère la librairie
// require($racine . 'libs/image.php');
foreach($files'tmp_name'] as $k => $v)
{
$image = array(
'name' => $files'name']$k],
'tmp_name' => $files'tmp_name']$k],
);
$extension = pathinfo($image'name'], PATHINFO_EXTENSION);
if( in_array($extension, array('jpg', 'png')) )
{
// On transfère l'id associée dans la base de donnée
$db->query("INSERT INTO " . PREFIX . "images SET img_work_id=$work_id");
// On récupère l'id transférée pour avoir l'id de l'image
$image_id = $db->lastInsertId();
$image_name = $image_id . '.' . $extension;
// On transfère l'image dans le bon dossier
move_uploaded_file($image'tmp_name'], IMAGES . 'works' . DS . $image_name);
// resizeImage(WEBROOT . 'img/works/' . $image_name, 150,150);
// On met enfin à jour la base de donnée
$image_name = $db->quote($image_name);
$db->query("UPDATE " . PREFIX . "images SET img_name=$image_name WHERE img_id=$image_id");
// On définit la première image comme image principale
for($i = 0; $i <= 1; $i++)
{
$db->query("UPDATE " . PREFIX . "items SET i_image=$image_id WHERE i_id=$work_id");
}
}
}
header('Location:work.php');
die();
}
else
{
setFlash('Le slug n\'est pas valide !', 'danger');
}
}