|
From: <gu...@us...> - 2007-05-13 20:26:53
|
Revision: 151
http://svn.sourceforge.net/easybox-mod/?rev=151&view=rev
Author: guyou
Date: 2007-05-13 13:26:51 -0700 (Sun, 13 May 2007)
Log Message:
-----------
Enregistrement
Gestion de l'enregistrement via cron
Modified Paths:
--------------
trunk/lecteur/stop_rec.php
trunk/module/multiposte/add.php
trunk/module/multiposte/index1.php
Modified: trunk/lecteur/stop_rec.php
===================================================================
--- trunk/lecteur/stop_rec.php 2007-05-13 20:26:26 UTC (rev 150)
+++ trunk/lecteur/stop_rec.php 2007-05-13 20:26:51 UTC (rev 151)
@@ -1,5 +1,8 @@
<?php
+ $RACINE_REP = "../";
+ require($RACINE_REP.'_framework/framework.php');
+
$db = sqlite_open('../_utilisateur/records.db', 0666);
$requete='UPDATE records SET statut=\'Enregistr\xE9\' WHERE id='.$_GET['id'];
$result = sqlite_query($db,$requete);
@@ -11,8 +14,16 @@
@unlink($result['fichierbat']);
@unlink(ereg_replace(".bat","-end.bat",$result['fichierbat']));
- $at=exec('at '.$result['task'].' /delete');
- $at.=exec('at '.$result['taskend'].' /delete');
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $at=exec('at '.$result['task'].' /delete');
+ $at.=exec('at '.$result['taskend'].' /delete');
+ } else {
+ // Support eventuel de /etc/cron.d
+ $string1 = $result['fichierbat'];
+ $string2 = ereg_replace(".bat","-end.bat",$string1);
+ remove_from_cron($string1);
+ remove_from_cron($string2);
+ }
$file1 = @file_get_contents("http://127.0.0.1:8082/lecteur/action.html?control=shutdown");
Modified: trunk/module/multiposte/add.php
===================================================================
--- trunk/module/multiposte/add.php 2007-05-13 20:26:26 UTC (rev 150)
+++ trunk/module/multiposte/add.php 2007-05-13 20:26:51 UTC (rev 151)
@@ -7,6 +7,22 @@
$etape=$_GET['etape'];
$smarty->assign('etape',$etape);
+if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $wxsystray='--wx-systray';
+ // This is DOS specific
+ $vlcdummyquiet="--dummy-quiet";
+ $vlcstart="start vlc\vlc.exe";
+ $wwwstartbeg="start ";
+ $wwwstartend="";
+} elseif (is_writable('/etc/cron.d/easybox')) {
+ $wxsystray='--no-wx-systray';
+ $vlcdummyquiet='-d --syslog';
+ $vlcstart="/usr/bin/vlc";
+ $wwwstartbeg="wget --quiet --output-document=/dev/null --output-file=/dev/null '";
+ $wwwstartend="'";
+}
+
+
$MENU_ALT=array(array('lien'=>'add.php', 'nom'=>'Nouvel enregistrement', 'selected'=>0),
array('lien'=>'index1.php?module=see', 'nom'=>'Programm\xE9s', 'selected'=>0),
array('lien'=>'/module/films/index1.php?directory='.urlencode($ini['multiposte']['multiposte']), 'nom'=>'Enregistr\xE9s', 'selected'=>0));
@@ -25,18 +41,28 @@
$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');
- }
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $at=shell_exec('at');
+ if(eregi(urldecode($_GET['fichierbat']),$at))
+ {
+ $at=exec('at '.$_GET['task'].' /delete');
+ $at.=exec('at '.$_GET['taskend'].' /delete');
+ }
+ } else {
+ // Support eventuel de /etc/cron.d
+ $string1 = $_GET['fichierbat'];
+ $string2 = ereg_replace(".bat","-end.bat",$string1);
+ remove_from_cron($string1);
+ remove_from_cron($string2);
+ }
@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';
+
+ // Note: le double slash est DOS specifique, or DOS comprend sans probleme le slash
+ $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
@@ -48,46 +74,58 @@
//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;
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -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.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.$id.$wwwstartend;
}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;
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#duplicate{dst=std{access=file,mux='.$ini['multiposte']['muxer'].',url="'.$fichier.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.$id.$wwwstartend;
}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;
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -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.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.$id.$wwwstartend;
}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;
- }
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -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.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.$id.$wwwstartend;
+ }
- $variable = 'SET vlcpath="'.realpath("../../../").'"
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $variable = 'SET vlcpath="'.realpath("../../../").'"
CD %vlcpath%
'.$link.'
exit';
-
- $fp = fopen(realpath($USER).'\\'.$fichierbat,"a+");
+ } else {
+ $variable = 'vlcpath="'.realpath("../../")."\"\ncd \$vlcpath\n".$link."\nexit\n";
+ }
+
+ // Le double slash est DOS specifique, or DOS comprend sans probleme le slash
+ $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("../../../").'"
+ $link2 = $wwwstartbeg.'http://localhost:8080/lecteur/stop_rec.php?id='.$id.$wwwstartend;
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $variable = 'SET vlcpath="'.realpath("../../../").'"
CD %vlcpath%
'.$link2.'
exit';
+ } else {
+ $variable = 'vlcpath="'.realpath("../../../")."\"\ncd \$vlcpath\n".$link2."\nexit\n";
+ }
$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);
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $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);
+ } else {
+ add_to_cron(realpath($USER.$fichierbat), $deb,
+ realpath($USER.$fichierbat2), $end);
+ // les valeurs n'ont ici plus d'importance
+ $valeur[1] = $valeur2[1] = 99999;
+ }
// Modification de end dans SQLite
$db = sqlite_open('../../_utilisateur/records.db', 0666);
@@ -164,7 +202,9 @@
/********************* 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';
+
+ // Le double slash est DOS specifique, or DOS comprend sans probleme le slash
+ $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';
@@ -182,42 +222,57 @@
//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);
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -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.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1).$wwwstartend;
}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);
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -vvv rtsp://mafreebox.freebox.fr/freeboxtv/'.$moreinfo.$chaine[2].' --sout=#duplicate{dst=std{access=file,mux='.$ini['multiposte']['muxer'].',url="'.$fichier.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1).$wwwstartend;
}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);
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -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.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1).$wwwstartend;
}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);
- }
+ $link = $vlcstart.' '.$wxsystray.' --intf=dummy --extraintf=http --http-src="'.realpath(realpath("../../").'/http-vlc').'" --http-host=:8082 --http-charset=ISO-8859-1 --quiet '.$vlcdummyquiet.' -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.'"}'."\n".$wwwstartbeg.'http://localhost:8080/lecteur/lunch_rec.php?id='.($row[0]+1).$wwwstartend;
+ }
- $variable = 'SET vlcpath="'.realpath("../../../").'"
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $variable = 'SET vlcpath="'.realpath("../../../").'"
CD %vlcpath%
'.$link.'
exit';
-
- $fp = fopen(realpath($USER).'\\'.$fichierbat,"a+");
+ } else {
+ // Support eventuel de /etc/cron.d
+ $variable = 'vlcpath="'.realpath("../../")."\"\ncd \$vlcpath\n".$link."\nexit\n";
+ }
+
+ // Le double slash est DOS specifique, or DOS comprend sans probleme le slash
+ $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='.($row[0]+1);
- $variable = 'SET vlcpath="'.realpath("../../../").'"
+ $link2 = $wwwstartbeg.'http://localhost:8080/lecteur/stop_rec.php?id='.($row[0]+1).$wwwstartend;
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $variable = 'SET vlcpath="'.realpath("../../../").'"
CD %vlcpath%
'.$link2.'
exit';
+ } else {
+ // Support eventuel de /etc/cron.d
+ $variable = 'vlcpath="'.realpath("../../")."\"\ncd \$vlcpath\n".$link2."\nexit\n";
+ }
$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).'"');
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $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).'"');
+ } else {
+ // Support eventuel de /etc/cron.d
+ add_to_cron(realpath($USER.$fichierbat), $deb,
+ realpath($USER.$fichierbat2), $end);
+ // Ici les output n'ont plus d'importance
+ $output = $output2 = "Et voila";
+ }
//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 !!!
@@ -226,10 +281,33 @@
$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);
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $debut = 'ID = ';
+ $fin = '';
+ preg_match("/$debut(.{1,2})$fin/s", $output, $valeur);
+ preg_match("/$debut(.{1,2})$fin/s", $output2, $valeur2);
+ } else {
+ // On devrait utiliser une table avec un auto increment
+ $db = sqlite_open('../../_utilisateur/records.db', 0666);
+ $requete='SELECT COUNT(*) AS currentrecords FROM records';
+ $result = sqlite_query($db,$requete);
+ $row = sqlite_fetch_array($result);
+ sqlite_close($db);
+ if ($row['currentrecords'] == 0) {
+ // Table vide
+ $valeur[1] = 1;
+ } else {
+ // Je sais, ca n'est pas atomique
+ // A ameliorer
+ $db = sqlite_open('../../_utilisateur/records.db', 0666);
+ $requete='SELECT MAX(id) AS maxid FROM records';
+ $result = sqlite_query($db,$requete);
+ $row = sqlite_fetch_array($result);
+ $valeur[1] = $row['maxid'];
+ sqlite_close($db);
+ }
+ $valeur2[1] = $valeur[1]+1;
+ }
sqlite_query($db,'INSERT INTO records VALUES ("'.($row[0]+1).'","'.$_GET['chaine'].'","'.$deb.'","'.$end.'","'.realpath($USER.$fichierbat).'","'.$valeur[1].'","'.$valeur2[1].'","En attente")');
}
Modified: trunk/module/multiposte/index1.php
===================================================================
--- trunk/module/multiposte/index1.php 2007-05-13 20:26:26 UTC (rev 150)
+++ trunk/module/multiposte/index1.php 2007-05-13 20:26:51 UTC (rev 151)
@@ -35,12 +35,20 @@
$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');
- }
+ if (PHP_OS == "WIN32" || PHP_OS == "WINNT") {
+ $at=shell_exec('at');
+ if(eregi(addslashes($result['fichierbat']),$at))
+ {
+ $at=exec('at '.$result['task'].' /delete');
+ $at.=exec('at '.$result['taskend'].' /delete');
+ }
+ } else {
+ // Support eventuel de /etc/cron.d
+ $string1 = $result['fichierbat'];
+ $string2 = ereg_replace(".bat","-end.bat",$string1);
+ remove_from_cron($string1);
+ remove_from_cron($string2);
+ }
@unlink($result['fichierbat']);
@unlink(ereg_replace(".bat","-end.bat",$result['fichierbat']));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|