Example #1
0
 /**
  * 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);
 }