157 lines
4.9 KiB
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;
|
|
}
|
|
}
|
|
}
|
|
?>
|