From: <ara...@us...> - 2007-01-20 22:31:27
|
Revision: 67 http://svn.sourceforge.net/easybox-mod/?rev=67&view=rev Author: aragornis Date: 2007-01-20 14:31:24 -0800 (Sat, 20 Jan 2007) Log Message: ----------- Gros patch de fjandot sur le module d'enregistrement Modif des compteurs de la playlist audio Modified Paths: -------------- trunk/_framework/fonctions_partagees.inc.php trunk/module/mp3/playlist_audio.tpl trunk/module/multiposte/add.php trunk/module/multiposte/enregistrement.tpl trunk/module/multiposte/enregistrement_add.tpl trunk/module/multiposte/index1.php Modified: trunk/_framework/fonctions_partagees.inc.php =================================================================== --- trunk/_framework/fonctions_partagees.inc.php 2007-01-19 19:27:20 UTC (rev 66) +++ trunk/_framework/fonctions_partagees.inc.php 2007-01-20 22:31:24 UTC (rev 67) @@ -54,6 +54,22 @@ RETURN($result[0]['value']); } +//Supprime les variables de session +function clean_vars(){ +global $USER; + $db = sqlite_open($USER.'utilisateur.db', 0666); + sqlite_query($db,'DELETE FROM var'); + sqlite_close($db); +} + +//Supprime une variable de session +function del_variable($var){ +global $USER; + $db = sqlite_open($USER.'utilisateur.db', 0666); + sqlite_query($db,'DELETE FROM var WHERE var=\''.$var.'\''); + sqlite_close($db); +} + //Programmer une action cron function save_cron($timestamp, $exec){ global $USER; @@ -82,22 +98,6 @@ RETURN($result[0]['value']); } -//Supprime les variables de session -function clean_vars(){ -global $USER; - $db = sqlite_open($USER.'utilisateur.db', 0666); - sqlite_query($db,'DELETE FROM var'); - sqlite_close($db); -} - -//Supprime une variable de session -function del_variable($var){ -global $USER; - $db = sqlite_open($USER.'utilisateur.db', 0666); - sqlite_query($db,'DELETE FROM var WHERE var=\''.$var.'\''); - sqlite_close($db); -} - //Fournit le lien ou doit retourner EB \xE0 la fin du fichier en cours function page_retour_film(){ global $RACINE_REP; Modified: trunk/module/mp3/playlist_audio.tpl =================================================================== --- trunk/module/mp3/playlist_audio.tpl 2007-01-19 19:27:20 UTC (rev 66) +++ trunk/module/mp3/playlist_audio.tpl 2007-01-20 22:31:24 UTC (rev 67) @@ -46,10 +46,9 @@ {assign var=temp value=$min-16} {attribbouton touche="green" lien="lecteuraudio.php?min=$temp"} {/if} - {counter name=indice start=$min print=false} {section name=playlist loop=$pl start=$min max=16} - <font size="1">{counter name=indice print=true}. </font> + <font size="1">{counter name=indice print=true start=$min}. </font> <font size="1"> {if $pl[playlist].1}<u>{/if} <a href=lecteuraudio.php?toplay={$pl[playlist].3}&url={$pl[playlist].2|urlencode}>{$pl[playlist].0|truncate:130:''|strip_delimiters}</a> Modified: trunk/module/multiposte/add.php =================================================================== --- trunk/module/multiposte/add.php 2007-01-19 19:27:20 UTC (rev 66) +++ trunk/module/multiposte/add.php 2007-01-20 22:31:24 UTC (rev 67) @@ -17,93 +17,225 @@ $smarty->assign('CONTENT',$smarty->fetch('enregistrement_add.tpl')); $smarty->display('interface.tpl'); break; - + + case 'modif' : + $chaine = explode("|",urldecode($_GET['chaine'])); + $deb = $_GET['deb']; + $end = $_GET['end']; + $id = $_GET['id']; + + // Suppression des commandes et fichiers + $at=shell_exec('at'); + if(eregi(urldecode($_GET['fichierbat']),$at)) + { + $at=exec('at '.$_GET['task'].' /delete'); + $at.=exec('at '.$_GET['taskend'].' /delete'); + } + @unlink(urldecode($_GET['fichierbat'])); + @unlink(ereg_replace(".bat","-end.bat",urldecode($_GET['fichierbat']))); + + // Modification des commandes at et des fichiers bat + $fichier = realpath($ini[multiposte][multiposte]).'\\'.$chaine[1].' - '.date("d-m-y H\hi", $deb).'.mpg'; + $fichierbat = $chaine[1].' - '.date("d-m-y H\hi", $deb).'.bat'; + $fichierbat2 = $chaine[1].' - '.date("d-m-y H\hi", $deb).'-end.bat'; + + //Cr\xE9ation du fichier bat de lancement + + $contenu_html = @file_get_contents ($USER.'multiposte.m3u'); + if(eregi('stream?id=', $contenu_html)){ + $moreinfo = 'stream?id='; + } + + //Profils d'encodage + if($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]!='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{vcodec='.$ini[multiposte][cvid].',vb='.$ini[multiposte][bvid].',scale=1,acodec='.$ini[multiposte][caud].',ab='.$ini[multiposte][baud].',channels=2} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.$id; + }elseif($ini[multiposte][cvid]=='none' AND $ini[multiposte][caud]=='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.$id; + }elseif($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]=='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{vcodec='.$ini[multiposte][cvid].',vb='.$ini[multiposte][bvid].',scale=1} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.$id; + }elseif($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]=='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{acodec='.$ini[multiposte][caud].',ab='.$ini[multiposte][baud].',channels=2} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.$id; + } + + $variable = 'SET vlcpath="'.realpath("../../../").'" + CD %vlcpath% + '.$link.' + exit'; + + $fp = fopen(realpath($USER).'\\'.$fichierbat,"a+"); + fputs($fp,$variable); + fclose($fp); + + //Cr\xE9ation du fichier bat de fermeture + $link2 = 'start http://localhost:8080/lecteur/stop_rec.php?id='.$id; + $variable = 'SET vlcpath="'.realpath("../../../").'" + CD %vlcpath% + '.$link2.' + exit'; + + $fp = fopen($USER.$fichierbat2,"w+"); + fputs($fp,$variable); + fclose($fp); + + //Enregistrement des taches + $output = exec('at '.date("H:i", $deb).' /interactive /next:'.date("d", $deb).' "'.realpath($USER.$fichierbat).'"'); + $output2 = exec('at '.date("H:i", $end).' /interactive /next:'.date("d", $end).' "'.realpath($USER.$fichierbat2).'"'); + $debut = 'ID = '; + $fin = ''; + preg_match("/$debut(.{1,2})$fin/s", $output, $valeur); + preg_match("/$debut(.{1,2})$fin/s", $output2, $valeur2); + + // Modification de end dans SQLite + $db = sqlite_open('../../_utilisateur/records.db', 0666); + $requete='DELETE FROM records WHERE id='.$id; + $result = sqlite_query($db,$requete); + sqlite_query($db,'INSERT INTO records VALUES ("'.$id.'","'.urldecode($_GET['chaine']).'","'.$deb.'","'.$end.'","'.realpath($USER.$fichierbat).'","'.$valeur[1].'","'.$valeur2[1].'","En attente")'); + + sqlite_close($db); + + // Redirection page see + $META['refresh']= '3;url=index1.php?module=see'; + $msg = "<br><br>Votre enregistrement a bien \xE9t\xE9 modifi\xE9 :<br>"; + $msg .= 'Sur '.$chaine[1].' le '.date("d/m/y H:i", $deb); + $smarty->assign('AVERTISSEMENT',$msg); + $smarty->display('avertissement.tpl'); + + + break; case '4': $chaine = explode("|",$_GET['chaine']); + $j = $y = 0; + $chaine = explode('|',urldecode($_GET['chaine'])); + // Si l'heure de d\xE9but n'est pas renseign\xE9e, c'est mintenant + if( $_GET['deb_heure']) $deb_heure = $_GET['deb_heure']; else $deb_heure = date("H"); + if( $_GET['deb_min']) $deb_min = $_GET['deb_min']; else $deb_min = date("i")+1; + // Si l'heure de fin n'est pas renseign\xE9e, c'est un enregistrement d'une heure + if( $_GET['fin_heure']) $fin_heure = $_GET['fin_heure']; else $fin_heure = $deb_heure+1; + if( $_GET['fin_min']) $fin_min = $_GET['fin_min']; else $fin_min = $deb_min; + // programation sur le jour suivant + if( $_GET['deb_heure'] > $_GET['fin_heure']) $j = 1; + // Si le jour n'est pas saisi c'est aujourd'hui + if( $_GET['deb_jour']) + $jour = $_GET['deb_jour']; + else $jour = date("d"); + // Si le mois n'est pas saisi + if( $_GET['deb_mois']) + $mois = $_GET['deb_mois']; + else $mois = date("m"); + // Programmation l'ann\xE9e suivante : mois identique, jour pr\xE9c\xE9dent + if( sprintf("%02d", $mois) == date("m") && sprintf("%02d", $jour) < date("d")) $y = 1; + // programation l'ann\xE9e suivante : mois pr\xE9c\xE9dent + if( sprintf("%02d", $mois) < date("m")) $y = 1; + // cr\xE9ation des dates corrig\xE9es + $deb = mktime( $deb_heure, $deb_min, 0, $mois, $jour, date("Y")+$y); + $end = mktime($fin_heure, $fin_min, 0, $mois , $jour + $j, date("Y")+$y); + // $deb et $fin \xE0 cheval sur heure courante : debut enregistrement dans une minute + if($deb < strtotime("now") && $end > strtotime("now")) + $deb = mktime( date("H"), date("i")+1, 0, date("m"), date("d"), date("Y")); + /********************* A FAIRE ******************/ + // V\xE9rifier si il n'y a pas d\xE9j\xE0 un enregistrement programm\xE9 + $db = sqlite_open('../../_utilisateur/records.db', 0666); + $requete='SELECT * from records '; // debut et fin qui nous interresse !! + $result = sqlite_query($db,$requete); + $Heures_OK = TRUE; + while($row = sqlite_fetch_array($result)){ + if ( ($deb >= $row['debut'] && $deb < $row['fin']) || ($end > $row['debut'] && $end <= $row['fin'])){ + // Si c'est la m\xEAme chaine, proposer de concat\xE9ner les deux enregistrements + if( $_GET['chaine'] == $row['chaine']){ + ($deb < $row['debut'])?$new_deb = $deb : $new_deb = $row['debut']; + ($end > $row['fin'])?$new_end = $end : $new_end = $row['fin']; + $msg = "<br>Deux programmes sur ".$chaine[1]." se chevauchent !<br><br>"; + $msg .= 'Fusionner les deux enregistrements ?<br>'; + $msg .= '<a href="add.php?etape=modif&id='.$row['id'].'&chaine='.urlencode($row['chaine']).'&deb='.$new_deb.'&end='.$new_end.'&task='.$row['task'].'&taskend='.$row['taskend'].'&fichierbat='.urlencode($row['fichierbat']).'">OUI</a> / <a href="index1.php?module=see">NON</a>'; + } + else{ + $META['refresh']= '2;url=index1.php?module=see'; + $msg = "<br><br>Cet enregistrement entre en conflit avec un autre.<br>"; + $msg .= 'Veuillez v\xE9rifier et/ou corriger.'; + } + $Heures_OK = FALSE; + } + } + /********************* A FAIRE ******************/ + if( $Heures_OK){ + // ATTENTION Vlc a des probl\xE8mes avec les accents lors de la cr\xE9ation du fichier --- Mais \xE7a marche avec la 0.8.6 !!! + $fichier = realpath($ini[multiposte][multiposte]).'\\'.$chaine[1].' - '.date("d-m-y H\hi", $deb).'.mpg'; + $fichierbat = $chaine[1].' - '.date("d-m-y H\hi", $deb).'.bat'; + $fichierbat2 = $chaine[1].' - '.date("d-m-y H\hi", $deb).'-end.bat'; - $deb = $_GET['debtime']; - $end = $_GET['endtime']; - - if(isset($_GET['deb_heure']) || isset($_GET['deb_min']) || isset($_GET['deb_mois']) || isset($_GET['deb_jour'])){ - $deb = mktime(max($_GET['deb_heure'],1), max($_GET['deb_min'],1), 0, max($_GET['deb_mois'],1) , max($_GET['deb_jour'],1), 2007); - $end = mktime(max($_GET['fin_heure'],1), max($_GET['fin_min'],1), 0, max($_GET['fin_mois'],1) , max($_GET['fin_jour'],1), 2007); - } - - if($deb>$end){ - $META['refresh']= '2;url=?etape=4&chaine='.$_GET['chaine'].'&deb_jour='.$_GET['deb_jour'].'&deb_mois='.$_GET['deb_mois'].'&deb_heure='.$_GET['deb_heure'].'&deb_min='.$_GET['deb_min'].'&fin_jour='.$_GET['fin_jour'].'&fin_mois='.$_GET['fin_mois'].'&fin_heure='.$_GET['fin_heure'].'&fin_min='.$_GET['fin_min']; - $msg = 'Les dates ne concordent pas. Veuillez modifier votre saisie.'; - } - - $fichier = realpath($ini[multiposte][multiposte]).'\\'.$chaine[1].' - '.date("d-m-y H\hi", $deb).'.mpg'; - $fichierbat = $chaine[1].' - '.date("d-m-y H\hi", $deb).'.bat'; - $fichierbat2 = $chaine[1].' - '.date("d-m-y H\hi", $deb).'-end.bat'; - - $db = sqlite_open('../../_utilisateur/records.db', 0666); - $requete='SELECT * from records '; - $result = sqlite_query($db,$requete); + $requete='SELECT MAX(id) from records '; + $result = sqlite_query($db,$requete); + sqlite_close($db); + $row = sqlite_fetch_array($result); - //Cr\xE9ation du fichier bat de lancement + //Cr\xE9ation du fichier bat de lancement - $contenu_html = @file_get_contents ($USER.'multiposte.m3u'); - if(eregi('stream?id=', $contenu_html)){ - $moreinfo = 'stream?id='; - } - - //Profils d'encodage - if($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]!='none'){ - $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{vcodec='.$ini[multiposte][cvid].',vb='.$ini[multiposte][bvid].',scale=1,acodec='.$ini[multiposte][caud].',ab='.$ini[multiposte][baud].',channels=2} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} - start http://localhost:8080/lecteur/lunch_rec.php?id='.(sqlite_num_rows($result)+1); - }elseif($ini[multiposte][cvid]=='none' AND $ini[multiposte][caud]=='none'){ - $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} - start http://localhost:8080/lecteur/lunch_rec.php?id='.(sqlite_num_rows($result)+1); - }elseif($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]=='none'){ - $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{vcodec='.$ini[multiposte][cvid].',vb='.$ini[multiposte][bvid].',scale=1} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} - start http://localhost:8080/lecteur/lunch_rec.php?id='.(sqlite_num_rows($result)+1); - }elseif($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]=='none'){ - $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{acodec='.$ini[multiposte][caud].',ab='.$ini[multiposte][baud].',channels=2} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} - start http://localhost:8080/lecteur/lunch_rec.php?id='.(sqlite_num_rows($result)+1); + $contenu_html = @file_get_contents ($USER.'multiposte.m3u'); + if(eregi('stream?id=', $contenu_html)){ + $moreinfo = 'stream?id='; + } + + //Profils d'encodage + if($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]!='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{vcodec='.$ini[multiposte][cvid].',vb='.$ini[multiposte][bvid].',scale=1,acodec='.$ini[multiposte][caud].',ab='.$ini[multiposte][baud].',channels=2} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1); + }elseif($ini[multiposte][cvid]=='none' AND $ini[multiposte][caud]=='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1); + }elseif($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]=='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{vcodec='.$ini[multiposte][cvid].',vb='.$ini[multiposte][bvid].',scale=1} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1); + }elseif($ini[multiposte][cvid]!='none' AND $ini[multiposte][caud]=='none'){ + $link = 'start vlc\vlc.exe --wx-systray --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet --dummy-quiet -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#transcode{acodec='.$ini[multiposte][caud].',ab='.$ini[multiposte][baud].',channels=2} --sout=#duplicate{dst=std{access=file,mux='.$ini[multiposte][muxer].',url="'.$fichier.'"} + start http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1); } - $variable = 'SET vlcpath="'.realpath("../../../").'" - CD %vlcpath% - '.$link.' - exit'; + $variable = 'SET vlcpath="'.realpath("../../../").'" + CD %vlcpath% + '.$link.' + exit'; - $fp = fopen(realpath($USER).'\\'.$fichierbat,"a+"); - fputs($fp,$variable); - fclose($fp); + $fp = fopen(realpath($USER).'\\'.$fichierbat,"a+"); + fputs($fp,$variable); + fclose($fp); - //Cr\xE9ation du fichier bat de fermeture - $link2 = 'start http://localhost:8080/lecteur/stop_rec.php?id='.(sqlite_num_rows($result)+1); - $variable = 'SET vlcpath="'.realpath("../../../").'" - CD %vlcpath% - '.$link2.' - exit'; + //Cr\xE9ation du fichier bat de fermeture + $link2 = 'start http://localhost:8080/lecteur/stop_rec.php?id='.($row[0]+1); + $variable = 'SET vlcpath="'.realpath("../../../").'" + CD %vlcpath% + '.$link2.' + exit'; - $fp = fopen($USER.$fichierbat2,"w+"); - fputs($fp,$variable); - fclose($fp); + $fp = fopen($USER.$fichierbat2,"w+"); + fputs($fp,$variable); + fclose($fp); - //Enregistrement des taches - $output = exec('at '.date("H:i", $deb).' /interactive /next:'.date("d", $deb).' "'.realpath($USER.$fichierbat).'"'); - $output2 = exec('at '.date("H:i", $end).' /interactive /next:'.date("d", $end).' "'.realpath($USER.$fichierbat2).'"'); + //Enregistrement des taches + $output = exec('at '.date("H:i", $deb).' /interactive /next:'.date("d", $deb).' "'.realpath($USER.$fichierbat).'"'); + $output2 = exec('at '.date("H:i", $end).' /interactive /next:'.date("d", $end).' "'.realpath($USER.$fichierbat2).'"'); - if(eregi("T\x83che ajout\x82e",$output)){ - $META['refresh']= '3;url=index1.php?module=see'; - $msg = "<br><br>Votre enregistrement a bien \xE9t\xE9 programm\xE9 :<br>"; - $msg .= 'Sur '.$chaine[1].' le '.date("d/m/y H:i", $deb); - } + //if(eregi("T\x83che ajout\x82e",$output)){ // Probl\xE8me d'encodage des accents dans le fichier !! + if(isset($output)){ // Ce test n'est pas bon test !!! + $META['refresh']= '3;url=index1.php?module=see'; + $msg = "<br><br>Votre enregistrement a bien \xE9t\xE9 programm\xE9 :<br>"; + $msg .= 'Sur '.$chaine[1].' le '.date("d/m/y H:i", $deb); + } - $debut = 'ID = '; - $fin = ''; - preg_match("/$debut(.{1,2})$fin/s", $output, $valeur); - preg_match("/$debut(.{1,2})$fin/s", $output2, $valeur2); - - sqlite_query($db,'INSERT INTO records VALUES ("'.(sqlite_num_rows($result)+1).'","'.$_GET['chaine'].'","'.$deb.'","'.$end.'","'.realpath($USER.$fichierbat).'","'.$valeur[1].'","'.$valeur2[1].'","En attente")'); - - $smarty->assign('AVERTISSEMENT',$msg); - $smarty->display('avertissement.tpl'); + $debut = 'ID = '; + $fin = ''; + preg_match("/$debut(.{1,2})$fin/s", $output, $valeur); + preg_match("/$debut(.{1,2})$fin/s", $output2, $valeur2); + + sqlite_query($db,'INSERT INTO records VALUES ("'.($row[0]+1).'","'.$_GET['chaine'].'","'.$deb.'","'.$end.'","'.realpath($USER.$fichierbat).'","'.$valeur[1].'","'.$valeur2[1].'","En attente")'); + } + $smarty->assign('AVERTISSEMENT',$msg); + $smarty->display('avertissement.tpl'); + break; @@ -134,7 +266,8 @@ } if(!eregi("Mire FREEBOX",trim(utf8_decode($valeur[2][$key])))){ - $CHAINE[]=array('id'=>trim($valeur[1][$key]), 'nom'=>trim(utf8_decode($valeur[2][$key])), 'num'=>trim($valeur[3][$key]), 'ico'=>trim(str_replace(array('>',' !',' ','\xE9','\xEE','\xF4'),array('','','','e','i','o'),$ico)).'.gif'); + // Encodage URL du nom de la chaine (utilis\xE9 en passage d'argument sur lien html) + $CHAINE[]=array('id'=>trim($valeur[1][$key]), 'nom'=>trim(utf8_decode($valeur[2][$key])), 'num'=>trim($valeur[3][$key]), 'ico'=>trim(str_replace(array('>',' !',' ','\xE9','\xEE','\xF4','\xE8','\xEA','\''),array('','','','e','i','o','e','e',''),$ico)).'.gif'); } } Modified: trunk/module/multiposte/enregistrement.tpl =================================================================== --- trunk/module/multiposte/enregistrement.tpl 2007-01-19 19:27:20 UTC (rev 66) +++ trunk/module/multiposte/enregistrement.tpl 2007-01-20 22:31:24 UTC (rev 67) @@ -5,7 +5,43 @@ <table width="450" border="0" cellpadding="0" cellspacing="0"> {/if} {cycle name=color assign=COLOR print=false values="`$smarty.config.COULEUR_INTERFACE1`,`$smarty.config.COULEUR_INTERFACE2`"} - <tr><td width=324 bgcolor="{$COLOR}">{$ENREGISTREMENT[enregistrement].num+1} - {$ENREGISTREMENT[enregistrement].chaine} du {$ENREGISTREMENT[enregistrement].d\xE9but} au {$ENREGISTREMENT[enregistrement].fin}</a></td><td width="110" bgcolor="{$COLOR}">{$ENREGISTREMENT[enregistrement].statut}</td><td width="20" bgcolor="{$COLOR}"><a href="index1.php?module=delete&id={$ENREGISTREMENT[enregistrement].num}"><table width="20" height="20" border="0" cellpadding="0" cellspacing="0" bgcolor="{$COLOR}" abgcolor="{#COULEUR_ALINK#}"><tr height="20"><td align=center width="20" height="20" align="center" valign="middle"><img src="{$INTERFACE_REP}delete.gif" border="0" width="20" height="20"></td></tr></table></a></td></tr> + <tr> + <td width=324 bgcolor="{$COLOR}"> + {$ENREGISTREMENT[enregistrement].chaine} {$ENREGISTREMENT[enregistrement].dates} + </td> + <td width="110" bgcolor="{$COLOR}"> + {if $ENREGISTREMENT[enregistrement].statut != 'Enregistr\xE9'} + {$ENREGISTREMENT[enregistrement].statut} + {/if} + </td> + <td width="20" bgcolor="{$COLOR}"> + {if $ENREGISTREMENT[enregistrement].statut != 'En cours'} + <a href="index1.php?module=delete&id={$ENREGISTREMENT[enregistrement].num}"> + <table width="20" height="20" border="0" cellpadding="0" cellspacing="0" bgcolor="{$COLOR}" abgcolor="{#COULEUR_ALINK#}"> + <tr height="20"> + <td align=center width="20" height="20" align="center" valign="middle"> + {if $ENREGISTREMENT[enregistrement].statut == 'En attente'} + <img src="{$INTERFACE_REP}cancelled.gif" border="0" width="20" height="20"> + {else} + <img src="{$INTERFACE_REP}finished.gif" border="0" width="20" height="20"> + {/if} + </td> + </tr> + </table> + </a> + {else} + <a href="index1.php?module=suppr&id={$ENREGISTREMENT[enregistrement].num}"> + <table width="20" height="20" border="0" cellpadding="0" cellspacing="0" bgcolor="{$COLOR}" abgcolor="{#COULEUR_ALINK#}"> + <tr height="20"> + <td align=center width="20" height="20" align="center" valign="middle"> + <img src="{$INTERFACE_REP}encours.gif" border="0" width="20" height="20"> + </td> + </tr> + </table> + </a> + {/if} + </td> + </tr> {if $smarty.section.enregistrement.last} </table> {/if} Modified: trunk/module/multiposte/enregistrement_add.tpl =================================================================== --- trunk/module/multiposte/enregistrement_add.tpl 2007-01-19 19:27:20 UTC (rev 66) +++ trunk/module/multiposte/enregistrement_add.tpl 2007-01-20 22:31:24 UTC (rev 67) @@ -1,13 +1,31 @@ {if $etape==3} {attribbouton touche="red" lien="add.php?etape=2"} Choisissez les date et heure du d\xE9but et de la fin de l'enregistrement :<br> <br> - <table width="450" border="0" cellpadding="0" cellspacing="0"><tr><td align=center width="150"><img src="{$INTERFACE_REP}heure_enregistrement.gif"></td> - <td align=center> - <form action="add.php" method="get"><input type=hidden name="etape" value="4"><input type=hidden name=chaine value="{$_GET.chaine}"> - <u>D\xE9but de l'enregistrement</u> : <br> <br>Le <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_jour size=2> / <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_mois size=2> \xE0 <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_heure size=2> h <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_min size=2> min - <br> <br><u>Fin de l'enregistrement</u> : <br> <br>Le <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=fin_jour size=2> / <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=fin_mois size=2> \xE0 <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=fin_heure size=2> h <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=fin_min size=2> min - <br> <br><input bgcolor="{#COULEUR_TEXTBOX#}" type=submit value="Valider les heures d'enregistrement"></form> - </td></tr></table> + <table width="450" border="0" cellpadding="0" cellspacing="0"> + <tr> + <td align=center width="150"> + <img src="{$INTERFACE_REP}heure_enregistrement.gif"> + </td> + <td align=center> + <form action="add.php" method="get"> + <input type=hidden name="etape" value="4"> + <input type=hidden name=chaine value="{$_GET.chaine}"> + <u>D\xE9but de l'enregistrement</u> : <br> + <br>Le + <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_jour size=2 focused> / + <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_mois size=2> + <br> <br> + De + <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_heure size=2> h + <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=deb_min size=2> min \xE0 + <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=fin_heure size=2> h + <input bgcolor="{#COULEUR_TEXTBOX#}" type=text name=fin_min size=2> min + <br> <br> + <input bgcolor="{#COULEUR_TEXTBOX#}" type=submit value="Valider les heures d'enregistrement"> + </form> + </td> + </tr> + </table> <br> <br>Utilisez la petite croix rouge de la t\xE9l\xE9commande pour effacer un champ si vous voulez corriger une valeur. {else} Choisissez la chaine a enregistrer :<br> <br> @@ -23,7 +41,7 @@ {if $smarty.section.chaine.first} <table width="480" height="400" border="0" cellpadding="0" cellspacing="0"><tr> {/if} - <td width="96" height="80"><a href="add.php?etape=3&chaine={$CHAINE[chaine].id|urlencode}|{$CHAINE[chaine].nom}|{$CHAINE[chaine].num}"><table border="0" cellpadding="0" cellspacing="0" width="96" height="80" bgcolor="{#COULEUR_FOND1#}" abgcolor="{#COULEUR_TABLE_SELECTED#}"><tr height="40"><td align=center width="96" height="40" valign="middle"><img width="36" height="36" border="0" src="{$CHAINE_REP}{$CHAINE[chaine].ico}"></td></tr><tr height="40"><td align=center width="96" height="40"><font size="1">{$CHAINE[chaine].nom}</font></td></tr></table></a></td> + <td width="96" height="80"><a href="add.php?etape=3&chaine={$CHAINE[chaine].id}|{$CHAINE[chaine].nom|urlencode}|{$CHAINE[chaine].num}"><table border="0" cellpadding="0" cellspacing="0" width="96" height="80" bgcolor="{#COULEUR_FOND1#}" abgcolor="{#COULEUR_TABLE_SELECTED#}"><tr height="40"><td align=center width="96" height="40" valign="middle"><img width="36" height="36" border="0" src="{$CHAINE_REP}{$CHAINE[chaine].ico}"></td></tr><tr height="40"><td align=center width="96" height="40"><font size="1">{$CHAINE[chaine].nom}</font></td></tr></table></a></td> {if $smarty.section.chaine.iteration is div by 5 AND NOT $smarty.section.chaine.last} </tr><tr> {/if} Modified: trunk/module/multiposte/index1.php =================================================================== --- trunk/module/multiposte/index1.php 2007-01-19 19:27:20 UTC (rev 66) +++ trunk/module/multiposte/index1.php 2007-01-20 22:31:24 UTC (rev 67) @@ -11,52 +11,76 @@ array('lien'=>'/module/films/index1.php?directory='.urlencode($ini['multiposte']['multiposte']), 'nom'=>'Enregistr\xE9s', 'selected'=>0)); switch($module){ -case 'see': - $db = sqlite_open('../../_utilisateur/records.db', 0666); - $requete='SELECT * from records'; - $result = sqlite_query($db,$requete); - - $at=shell_exec('at'); +case 'suppr' : //arr\xEAt d'un enregistrement en cours + if(isset($_GET['id'])){ + $db = sqlite_open('../../_utilisateur/records.db', 0666); + $requete='SELECT * from records WHERE id='.$_GET['id']; + $result = sqlite_query($db,$requete); + $result = sqlite_fetch_array($result); + + $at=exec('at '.$result['task'].' /delete'); + $at.=exec('at '.$result['taskend'].' /delete'); + + + $requete='UPDATE records SET statut=\'Enregistr\xE9\' WHERE id='.$_GET['id']; + $result = sqlite_query($db,$requete); + sqlite_close($db); + $file1 = @file_get_contents("http://127.0.0.1:8082/lecteur/action.html?control=shutdown"); + + $META['refresh']= '2;url=index1.php?module=see'; - while($row = sqlite_fetch_array($result)){ - if(eregi(addslashes($row[fichierbat]),$at) or $row[statut]!="En attente" or 1==1){ - $chaine = explode("|",$row[chaine]); - $ENREGISTREMENT[]=array('num'=>$row[id], 'chaine'=>$chaine[1], 'd\xE9but'=>date("d/m/y H:i", $row[debut]), 'fin'=>date("d/m/y H:i", $row[fin]), 'statut'=>$row[statut]); - } - } - -sqlite_close($db); - -$LINK['red']='index1.php'; - -$smarty->assign('ENREGISTREMENT',$ENREGISTREMENT); -$smarty->assign('CONTENT',$smarty->fetch('enregistrement.tpl')); -$smarty->display('interface.tpl'); + $smarty->assign('AVERTISSEMENT',"Enregistrement interrompu"); + $smarty->display('avertissement.tpl'); + } break; case 'delete': -$db = sqlite_open('../../_utilisateur/records.db', 0666); -$requete='SELECT * from records WHERE id='.$_GET['id']; -$result = sqlite_query($db,$requete); -$result = sqlite_fetch_array($result); - -$at=exec('at '.$result['task'].' /delete'); -$at.=exec('at '.$result['taskend'].' /delete'); + if(isset($_GET['id'])){ + $db = sqlite_open('../../_utilisateur/records.db', 0666); + $requete='SELECT * from records WHERE id='.$_GET['id']; + $result = sqlite_query($db,$requete); + $result = sqlite_fetch_array($result); + $at=shell_exec('at'); + if(eregi(addslashes($result['fichierbat']),$at)) + { + $at=exec('at '.$result['task'].' /delete'); + $at.=exec('at '.$result['taskend'].' /delete'); + } -@unlink($result['fichierbat']); -@unlink(ereg_replace(".bat","-end.bat",$result['fichierbat'])); -$requete='DELETE from records WHERE id='.$_GET['id']; -$result = sqlite_query($db,$requete); + @unlink($result['fichierbat']); + @unlink(ereg_replace(".bat","-end.bat",$result['fichierbat'])); + $requete='DELETE from records WHERE id='.$_GET['id']; + $result = sqlite_query($db,$requete); -$META['refresh']= '2;url=index1.php?module=see'; + $META['refresh']= '2;url=index1.php?module=see'; -$smarty->assign('AVERTISSEMENT',"Suppression de l'enregistrement effectu\xE9e"); -$smarty->display('avertissement.tpl'); + $smarty->assign('AVERTISSEMENT',"Suppression de l'enregistrement effectu\xE9e"); + $smarty->display('avertissement.tpl'); -sqlite_close($db); + sqlite_close($db); + } break; +case 'see': + + $db = sqlite_open('../../_utilisateur/records.db', 0666); + $requete='SELECT * from records ORDER BY debut'; + $result = sqlite_query($db,$requete); + + while($row = sqlite_fetch_array($result)){ + $chaine = explode("|",$row[chaine]); + $dates = Cool_Date( $row[debut], $row[fin]); + $ENREGISTREMENT[]=array('num'=>$row[id], 'chaine'=>$chaine[1], 'dates'=>$dates, 'statut'=>$row[statut]); + } + sqlite_close($db); + $LINK['red']='index1.php'; + + $smarty->assign('ENREGISTREMENT',$ENREGISTREMENT); + $smarty->assign('CONTENT',$smarty->fetch('enregistrement.tpl')); + $smarty->display('interface.tpl'); +break; + default : $LINK['red']=$MODULE.'_menu/menu.php?cat=9'; $smarty->assign('CONTENT',$smarty->fetch('enregistrement.tpl')); @@ -64,6 +88,13 @@ break; } +function Cool_Date( $debut, $fin) { +$mois = array("janvier","f\xE9vrier","mars","avril","mai","juin","juillet","ao\xFBt","septembre","octobre","novembre","d\xE9cembre"); + if (date("d m", $debut) == date("d m",mktime(0,0,0,date('m'),date('d')-1,date('Y')))) $date_deb = "hier"; + elseif (date("d m", $debut) == date("d m")) $date_deb = "aujourd'hui"; + elseif (date("d m", $debut) == date("d m",mktime(0,0,0,date('m'),date('d')+1,date('Y')))) $date_deb = "demain"; + else $date_deb = 'le '.date("d", $debut) .' '. $mois[date("n", $debut)-1]; + return sprintf("%s de %s \xE0 %s", $date_deb, date("H:i", $debut),date("H:i", $fin)); +} - ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |