promo.class.php 2.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. require_once("connector.class.php");
  3. class Promo
  4. {
  5. private $id_promo;
  6. private $libelle;
  7. function __construct($id)
  8. {
  9. $bdd = new Connector();
  10. $promo = $bdd->Select("*", "promo", array(
  11. "where" => array(
  12. array("id_promo", "=", $id)
  13. )
  14. ))[0];
  15. if($promo == NULL)
  16. {
  17. throw new LengthException("La promo n'existe pas");
  18. }
  19. $this->id_promo = $promo["id_promo"];
  20. $this->libelle = $promo["libelle"];
  21. }
  22. public static function getAll()
  23. {
  24. $bdd = new Connector();
  25. return $bdd->Select("*", "promo");
  26. }
  27. /**
  28. * @return mixed
  29. */
  30. public function getIdPromo()
  31. {
  32. return $this->id_promo;
  33. }
  34. /**
  35. * @return mixed
  36. */
  37. public function getLibelle()
  38. {
  39. return $this->libelle;
  40. }
  41. /**
  42. * @param mixed $id_promo
  43. */
  44. public function setIdPromo($id_promo)
  45. {
  46. $this->id_promo = $id_promo;
  47. }
  48. /**
  49. * @param mixed $libelle
  50. */
  51. public function setLibelle($libelle)
  52. {
  53. $this->libelle = $libelle;
  54. }
  55. function write()
  56. {
  57. $bdd = new Connector();
  58. $promo = $bdd->Select("*", "promo", array(
  59. "where" => array(
  60. array("id_promo", "=", $this->id_promo)
  61. )
  62. ))[0];
  63. if(!$promo)
  64. {
  65. throw new UnexpectedValueException("La promo n'existe plus en base de données");
  66. }
  67. $attrs = get_object_vars($this);
  68. $toUpdate = array();
  69. foreach ($attrs as $key => $value) {
  70. if ($value != $promo[$key]) {
  71. $toUpdate[$key] = $value;
  72. }
  73. }
  74. $bdd->Update("promo", array(
  75. "set" => $toUpdate,
  76. "where" => array(array("id_promo", "=", $this->id_promo))
  77. ));
  78. }
  79. function erase()
  80. {
  81. $bdd = new Connector();
  82. $bdd->Delete("promo", array(array("id_promo", "=", $this->id_promo)));
  83. }
  84. public static function addPromo($promo)
  85. {
  86. $bdd = new Connector();
  87. $bdd->Insert("promo", array(
  88. "id_promo" => $promo["id"],
  89. "libelle" => $promo["libelle"]
  90. ));
  91. }
  92. }