Commit e207d72f authored by mbriand's avatar mbriand
Browse files

Gestion des écrans d'affichage : génèrer le pdf

parent ba12a986
......@@ -115,6 +115,29 @@ if ( $_REQUEST["page"] == "list" )
$site->end_page ();
exit();
}
/* Permet de vérifier s'il existe une version plus récente du fichier pdf.
* Page vide dans le cas où le pde n'a pas changé depuis 'last'.
* Dans le cas où le pdf a changé, la page contient l'heure actuelle : celle-ci
* doit être utilisée pour les futures vérifications (et non l'heure local de
* l'ordinateur diffusant le pdf, les horloges sont jamais à jour de toute
* façon... )
*/
if ( $_REQUEST["page"] == "checkupdate" )
{
$last = mysql_real_escape_string(urldecode($_REQUEST['last']));
if ($affiche->check_update($last))
echo date("Y-m-d H:i:s");
exit();
}
/* Génère le pdf avec les affiches en cours
*/
if ( $_REQUEST["page"] == "pdf" )
{
$affiches->gen_pdf();
exit();
}
if ( $affiche->id > 0 )
......
......@@ -268,6 +268,44 @@ class affiche extends stdentity
return $tbl;
}
/* Vérifie si un changement à eu lieu depuis 'last'
*/
function check_update($last){
$req = new requete($this->db, "SELECT COUNT(*) FROM `aff_affiches`
WHERE (date_deb > '".$last."' AND date_deb < NOW())
OR (date_fin > '".$last."' AND date_fin < NOW())
OR (date_modifie > '".$last."' AND date_modifie < NOW())");
list($count_modif) = $req->get_row();
return ($count_modif > 0);
}
/* Génère un pdf avec les affiches
*/
function gen_pdf($last){
$req = new requete($this->db, "SELECT id_file* FROM `aff_affiches`
WHERE date_deb < NOW AND date_fin < NOW()");
$file = new dfile($site->db, $site->dbrw);
$fichiers = array();
if ( $req->lines < 1 )
{
$file->load_by_id(2762);
$fichiers[] = $file->get_real_filename();
}
else
{
while ($row = $req->get_row())
{
$file->load_by_id($row['id_file']);
$fichiers[] = $file->get_real_filename();
}
}
passthru("convert ".implode(' ', $fichiers)." pdf:-");
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment