Browse Source

Retrait d'une dépendance à l'organiseur

master
Julien Lanfrey 2 months ago
parent
commit
f1cefe9bb9
  1. 36
      formulaires/editer_evenement.php
  2. 35
      inc/simplecal_utils.php

36
formulaires/editer_evenement.php

@ -103,11 +103,16 @@ function formulaires_editer_evenement_verifier_dist($id_evenement='new', $id_rub
$get_horaire = _request('horaire') == 'non' ? false : true;
}
if (empty($erreurs['date_debut'])) {
$date_debut = verifier_corriger_date_saisie('debut', $get_horaire, $erreurs);
$date_debut = simplecal_date_saisie2sql(_request('date_debut'));
$date_fin = simplecal_date_saisie2sql(_request('date_fin'));
$heure_debut = _request('heure_debut');
$heure_fin = _request('heure_fin');
if (empty($erreurs['date_debut']) && !$date_debut) {
$erreurs['date_debut'] = _T('simplecal:validation_date_format');
}
if (empty($erreurs['date_fin'])) {
$date_fin = verifier_corriger_date_saisie('fin', $get_horaire, $erreurs);
if (empty($erreurs['date_fin']) & !$date_fin) {
$erreurs['date_fin'] = _T('simplecal:validation_date_format');
}
// Chronologie : Date de fin >= Date de debut (si pas d'autres erreurs sur les dates)
@ -150,11 +155,24 @@ function formulaires_editer_evenement_traiter_dist($id_evenement='new', $id_rubr
else {
$get_horaire = _request('horaire') == 'non' ? false : true;
}
include_spip('inc/date_gestion');
$date_debut = verifier_corriger_date_saisie('debut', $get_horaire, $erreurs);
$date_fin = verifier_corriger_date_saisie('fin', $get_horaire, $erreurs);
set_request('date_debut', date('Y-m-d H:i:s', $date_debut));
set_request('date_fin', date('Y-m-d H:i:s', $date_fin));
$heure_debut = '00:00:00';
$heure_fin = '00:00:00';
if ($get_horaire) {
$h = simplecal_heure_saisie2sql(_request('heure_debut'));
$heure_debut = $h ? $h : $heure_debut;
$h = simplecal_heure_saisie2sql(_request('heure_fin'));
$heure_fin = $h ? $h : $heure_fin;
}
$date_debut = simplecal_date_saisie2sql(_request('date_debut'));
$date_debut = $date_debut . ' ' . $heure_debut;
$date_fin = simplecal_date_saisie2sql(_request('date_fin'));
$date_fin = $date_fin . ' ' . $heure_fin;
set_request('date_debut', date('Y-m-d H:i:s', strtotime($date_debut)));
set_request('date_fin', date('Y-m-d H:i:s', strtotime($date_fin)));
// On reconstitue les champs 'type' et 'id_objet' a partir du champ 'ref'

35
inc/simplecal_utils.php

@ -23,17 +23,38 @@ function date_sql2affichage($texte) {
}
// Converti une date saisie a la main en date SQL
// Retourne une date a zero si conversion impossible.
function date_saisie2sql($texte) {
// Retourne null si conversion impossible.
function simplecal_date_saisie2sql($texte) {
if (!$texte) {
return null;
}
// texte = jj/mm/aaaa ou separateur = [/, -, .]
$texte = trim($texte);
$date = "0000-00-00 00:00:00";
$date_sql = null;
if (preg_match("#^([0-9]{2})[\-,\., \/]([0-9]{2})[\-,\., \/]([1-2][0-9]{3})$#i", $texte, $matches)){
$date = $matches[3]."-".$matches[2]."-".$matches[1]." 00:00:00";
$date_sql = $matches[3]."-".$matches[2]."-".$matches[1];
}
return $date;
return $date_sql;
}
// Converti une horaire
// Retourne null si conversion impossible.
function simplecal_heure_saisie2sql($texte) {
if (!$texte) {
return null;
}
// texte = hh:mm
$texte = trim($texte);
if (strlen($texte) == 5) {
$texte .= ':00';
}
$heure_sql = null;
if (preg_match("#^([0-9]{2})[\:]([0-9]{2})[\:]([0-9]{2})$#i", $texte, $matches)){
$heure_sql = $matches[1].":".$matches[2].":".$matches[3];
}
return $heure_sql;
}

Loading…
Cancel
Save