/** * Supprime un produit (et tout ce qui lui est relatif) * @param oledrion_products $product */ function deleteProduct(oledrion_products $product) { global $xoopsModule; $id = $product->getVar('product_id'); // On commence par supprimer les commentaires $mid = $xoopsModule->getVar('mid'); xoops_comment_delete($mid, $id); // Puis les votes $this->handlers->h_oledrion_votedata->deleteProductRatings($id); // Puis les produits relatifs $this->handlers->h_oledrion_related->deleteProductRelatedProducts($id); // Les images (la grande et la miniature) $product->deletePictures(); // Le fichier attaché $product->deleteAttachment(); // Les fichiers attachés $this->handlers->h_oledrion_files->deleteProductFiles($id); // Suppression dans les paniers persistants enregistrés $this->handlers->h_oledrion_persistent_cart->deleteProductForAllCarts($id); // Les attributs qui lui sont rattachés $this->handlers->h_oledrion_attributes->deleteProductAttributes($id); // Le produit dans les listes $this->handlers->h_oledrion_products_list->deleteProductFromLists($id); // La relation entre le produit et le fabricant $this->handlers->h_oledrion_productsmanu->removeManufacturerProduct($id); // Le produit dans les remises $this->handlers->h_oledrion_discounts->removeProductFromDiscounts($id); // Et le produit en lui même, à la fin return $this->handlers->h_oledrion_products->delete($product, true); }