1
0
Fork 0
This repository has been archived on 2023-11-30. You can view files and clone it, but cannot push or open issues or pull requests.
dtux__gestion_ateliers/atelier.php

157 lines
4.9 KiB
PHP

<?php
// TODO: vérifier disponibilité de la salle
require_once "session_init.php";
require_once "include/entete_dolibarr.php";
require_once "config.inc.php";
require_once 'fonctions.php';
//echo "argc=" . $argc . EOL . "argv=" . EOL;
//print_r($argv);
$param = array(
"date::",
"heure::",
"help::",
"action::",
"cat::",
"courriel::"
);
$optind=null;
$opt = getopt( 'h::', $param, $optind);
$cat = getparam( "cat", "" );
$action = getparam( "action", "" );
$date = getparam("date");
$heure = getparam("heure");
$courriel = getparam("courriel");
$type = getparam("type");
$intervenant = getparam("intervenant");
$nom_atelier = getparam("nom_atelier", "");
$description = getparam("description", "");
if( !empty(getopt("h")) or !empty(getopt("help")) )
{
// affiche l'aide de la commande
print "Aide de la commande atelier.php\n
atelier.php [--h|-h] [--date=<date>] [--heure=<heure>] [action=<action>] [cat=<catégorie>]
atelier.php --action=nouveau --date=<01/01/20> --heure=<10h30>
atelier.php --action=sendmail [cat=<all|membres|contacts>]
atelier.php --action=liste
Avec l'argument --action=liste affiche un résumé des ateliers en cours.
Avec l'argument --action=sondage elle crée un sondage,réserve la salle altnet et crée une entrée dans l'agenda 'Lalis'.
Avec l'argument --action=sendmail, elle envoi un mail contenant la liste des ateliers en cours, à la catégorie sélectionnée par --cat (par défaut 'all')
\t-h\t--help\taffiche cette aide
\t\t--date\tdate de l'atelier
\t\t--heure\tHeure l'atelier (par défaut la duré d'un atelier est de 1h30)
\t\t--cat\tcatégorie de personnes pour l'envoi de courriel (all, membres, contacts)
\t\t--action\taction à effectuer par le script( 'sondage', 'sendmail' )
\t\t--courriel\tadresse courriel du destinataire
";
}else
{
if ( empty($action) )
{
// affiche le résumé des sondages
require_once("recap.php");
recap();
}else
{
switch ($action)
{
case "nouveau":
if (!empty($date) && !empty($heure))
{
// sondage => crée un nouveau sondage
// enregistre le sondage dans la base opensurvey de dolibarr
echo "Création d'un sondage le " ;
$date_time = date_reservation($date, $heure);
echo $date_time["mysql"];
if ($date_time != 1)
{
//print_r($date_time);
echo date("j/m/Y à H\hi", $date_time["ts_debut"] ) . EOL;
if ( !verif_agenda( $date_time ) )
{
//echo 'La date est disponible';
require_once( "donnees.inc.php");
require_once( "db.class.php");
//$sujet = $base_url . "dbarr/public/opensurvey/studs.php?sondage=" . $sondage->id_sondage;
if ($type == "s" )
{
$sujet = 'Atelier Libre@checkbox';
}elseif(!empty($nom_atelier))
{
$sujet = $nom_atelier . '@checkbox';
$type = "l";
}
echo "Enregistrement dans dolibarr/opensurvey" . EOL;
$db = new db( "dolibarr" );
$sondage = new sondage(commentaires($date, $heure, $type, $intervenant, $nom_atelier, $description, $minimPart), $sujet);
$sondage->mail_admin = "contact@lalis.fr";
$sondage->nom_admin = "Daniel";
//echo "titre => " . $titre;
if ($type == "t")
{
$sondage->titre = "Télé-";
}else
{
$sondage->titre = "";
}
$sondage->titre .= "Atelier du " . date("j/m/Y à H\hi", $date_time["ts_debut"]);
echo "titre => " . $sondage->titre . "\n";
$sondage->datetime_debut = date("Y-m-d H:i:s", $date_time['ts_debut']);
$sondage->datetime_fin = date("Y-m-d H:i:s", $date_time['ts_fin']);
$sondage->write($db);
print_r($sondage);
$db->close();
if ($type == "p")
{
// enregistre la réservation dans mrbs
echo "Création de la réservation dans MRBS" . EOL;
$db = new db("librepcfr", "librepc");
$reservation = new reservation( $date_time[ "ts_debut" ], $date_time["ts_fin"], addslashes(html_entity_decode(commentaires($date, $heure, $type, $intervenant, $nom_atelier, $description, $minimPart), ENT_QUOTES )));
$reservation->write($db);
//print_r($reservation) . EOL;
}
// envoi de l'évènement sur l'agenda nextcloud
require_once("send_nextcloud.php");
echo "Ajout à l'agenda Nextcloud" . EOL;
//require_once('send_nextcloud.php');
envoi_event($date_time, $base_url . "dbarr/public/opensurvey/studs.php?sondage=" . $sondage->id_sondage, $type);
}else
{
echo "La date n'est pas disponible.";
}
}else
{
echo "La date et l'heure entrées ne sont pas dans les plages définies";
}
}else
{
echo "Il y a un problème avec la date ou l'heure entrée : date =>" . $date . " Heure=>" . $heure;
}
break;
case "sendmail":
if ( !empty($cat) )
{
require_once("send_mail.php");
send_mail( $cat, $courriel);
}
break;
case "liste":
require_once("recap.php");
recap();
break;
}
}
}
?>