2
0

cron.class.php 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. class cron
  3. {
  4. public static function ifLocalHost(){
  5. return $_SERVER['SERVER_ADDR'] === $_SERVER['REMOTE_ADDR'] ? TRUE : FALSE;
  6. }
  7. public static function sendMailAssignDocument(){
  8. foreach (document::assignMailDocument() as $assign) {
  9. if(self::checkParameter($assign["id"])){
  10. document::sendEmailCronAssign($assign);
  11. }
  12. }
  13. }
  14. public static function insertParameter(array $_array = NULL){
  15. $userId = session::getId();
  16. db::query("DELETE FROM " . DB_T_ALERTES_EMAILS . " WHERE id_user = :id_user");
  17. db::bind(':id_user', $userId);
  18. db::execute();
  19. if(!is_null($_array)){
  20. foreach ($_array as $heure => $tmp) {
  21. foreach ($tmp as $jour => $value) {
  22. db::query("INSERT INTO " . DB_T_ALERTES_EMAILS . " (id, id_user, heure, jour) VALUES (:id, :id_user, :heure, :jour)");
  23. db::bind(':id', $userId."#".$heure."#".$jour);
  24. db::bind(':id_user', $userId);
  25. db::bind(':heure', $heure);
  26. db::bind(':jour', $jour);
  27. try {
  28. db::execute();
  29. } catch (Exception $ex) {
  30. alert::recError("Erreur d'enregistrement des alertes");
  31. return FALSE;
  32. }
  33. }
  34. }
  35. alert::recSuccess("Enregistrement pris en compte");
  36. return TRUE;
  37. } else {
  38. alert::recSuccess("Vous n'avez plus de plages horaires enregistrées");
  39. return TRUE;
  40. }
  41. }
  42. public static function getParameter(float $_id = NULL){
  43. $userId = is_null($_id) ? session::getId() : $_id;
  44. db::query("SELECT "
  45. . "" . DB_T_ALERTES_EMAILS . ".heure, "
  46. . "" . DB_T_ALERTES_EMAILS . ".jour "
  47. . "FROM " . DB_T_ALERTES_EMAILS . " "
  48. . "WHERE id_user = :id_user");
  49. db::bind(':id_user', $userId);
  50. $tmp = db::resultset();
  51. if(isset($tmp)){
  52. $return = [];
  53. foreach ($tmp as $value) {
  54. $return[$value["heure"]][$value["jour"]] = 1;
  55. }
  56. return $return;
  57. } else {
  58. return NULL;
  59. }
  60. }
  61. public static function checkParameter(float $_id){
  62. $data = self::getParameter($_id);
  63. $jourSemaineOriginal = date('w');
  64. $jourSemaineAdjuste = ($jourSemaineOriginal + 6) % 7; // Pour que le Lundi soit le numéro 0
  65. return isset($data[date('G')][$jourSemaineAdjuste]) ? TRUE : FALSE;
  66. }
  67. }