cron.class.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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){
  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. foreach ($_array as $heure => $tmp) {
  20. foreach ($tmp as $jour => $value) {
  21. db::query("INSERT INTO " . DB_T_ALERTES_EMAILS . " (id, id_user, heure, jour) VALUES (:id, :id_user, :heure, :jour)");
  22. db::bind(':id', $userId."#".$heure."#".$jour);
  23. db::bind(':id_user', $userId);
  24. db::bind(':heure', $heure);
  25. db::bind(':jour', $jour);
  26. try {
  27. db::execute();
  28. } catch (Exception $ex) {
  29. alert::recError("Erreur d'enregistrement des alertes");
  30. return FALSE;
  31. }
  32. }
  33. }
  34. alert::recSuccess("Enregistrement des alertes");
  35. return TRUE;
  36. }
  37. public static function getParameter(float $_id = NULL){
  38. $userId = is_null($_id) ? session::getId() : $_id;
  39. db::query("SELECT "
  40. . "" . DB_T_ALERTES_EMAILS . ".heure, "
  41. . "" . DB_T_ALERTES_EMAILS . ".jour "
  42. . "FROM " . DB_T_ALERTES_EMAILS . " "
  43. . "WHERE id_user = :id_user");
  44. db::bind(':id_user', $userId);
  45. $tmp = db::resultset();
  46. if(isset($tmp)){
  47. $return = [];
  48. foreach ($tmp as $value) {
  49. $return[$value["heure"]][$value["jour"]] = 1;
  50. }
  51. return $return;
  52. } else {
  53. return NULL;
  54. }
  55. }
  56. public static function checkParameter(float $_id){
  57. $data = self::getParameter($_id);
  58. $jourSemaineOriginal = date('w');
  59. $jourSemaineAdjuste = ($jourSemaineOriginal + 6) % 7; // Pour que le Lundi soit le numéro 0
  60. return isset($data[date('G')][$jourSemaineAdjuste]) ? TRUE : FALSE;
  61. }
  62. }