search()
";
}
/*
* DBSQLITE CONNECT
*/
function connect( ) {
try {
$db = new SQLite3( DEFAULT_DBNAME , SQLITE3_OPEN_READWRITE | SQLITE3_OPEN_CREATE );
} catch (Exception $e) {
myerror("Unable to open DB ". DEFAULT_DBNAME .". (".$e->getMessage().")\n");
return Null;
}
return $db;
}
/* DBSQLITE DISCONNECT */
function disconnect( $db ){ if ($db) $db->close(); }
/*
* INSTALLAZIONE DEL NUOVO DB
*/
function rec_install( $db ) {
$sqlstring = "CREATE TABLE IF NOT EXISTS registrazioni (
id INTEGER PRIMARY KEY,
starttime DATE,
endtime DATE,
stopped boolean DEFAULT 0,
extracted boolean DEFAULT 0,
title varchar(500),
outfile text
)";
if ( ($res = $db->exec( $sqlstring )) == FALSE ) {
myerror("impossibile installare"); exit;
}
}
/*
* CREO NUOVA REGISTRAZIONE
*/
function rec_new($db, $p) {
$title = ( isset($p['title']) ) ? $p['title'] : DEFAULT_TITLE;
$starttime = ( isset($p['starttime'] ) ) ? $p['starttime'] : DEFAULT_START;
$endtime = ( isset($p['endtime']) ) ? $p['endtime'] : DEFAULT_END;
if ( $starttime == DEFAULT_START ) {
$starttime = date("Y/m/d H:i" );
}
$sqlstring = "INSERT into registrazioni (title,starttime,endtime)
VALUES ('$title','$starttime','$endtime')";
try {
$db->exec($sqlstring);
mymessage("Informazioni registrate");
} catch (Exception $e) {
myerror("Errore registrazione informazioni". $e->getMessage() .")\n");
}
}
/*
* CANCELLA UNA REGISTRAZIONE
*/
function rec_del( $db, $id ) {
$sqlstring = "DELETE from registrazioni where id='$id'";
if ( ($result = $sq->exec($sqlstring)) == FALSE) {
myerror("Impossibile cancellare");
} else {
mymessage("Registrazione correttamente cancellata!");
}
}
/*
* MODIFICA UNA REGISTRAZIONE
*/
function rec_update( $db, $p ) {
$id = $p['id'];
$title = $p['title'];
$starttime = $p['starttime'];
$endtime = ( $p['endtime'] == DEFAULT_END) ? date("Y/m/d H:i") : $endtime = $p['endtime'] ;
$sqlstring = "UPDATE registrazioni
set title = '$title', starttime = '$starttime', endtime = '$endtime', stopped=1
where id='$id'";
if ( ($result = $db->exec($sqlstring)) == FALSE) {
myerror("Impossibile Modificare i contenut ($sqlstring)");
} else {
mymessage("Aggiornamento eseguito");
}
}
/*
* ESTRAI UNA REGISTRAZIONE
*/
function rec_extract( $db, $p ) {
// Get values from form
$id = $p['id'];
$title = $p['title'];
$starttime = $p['starttime'];
$endtime = $p['endtime'];
$outfile = AUDIO_DIR."/".date("Y")."-".date("m")."/".date("d")."/".$title."-".date("U").".mp3";
$content = "s=\"$starttime\"\ne=\"$endtime\"\noutfile=\"$outfile\"\n";
$outfile_rel = AUDIO_DIR_R."/".date("Y")."-".date("m")."/".date("d")."/".$title."-".date("U").".mp3";
#s="2013/03/31 18:37"
#e="END"
#outfile="mimmo.mp3"
if ( data2file( FIFO_DIR . "/$title.fifo", $content ) ) {
$sqlstring = "UPDATE registrazioni set outfile = '$outfile_rel ' , extracted = 1 where id='$id'";
if ( ($result = $db->exec($sqlstring)) == FALSE) {
myerror( "Impossibile segnare come fermata");
}
mymessage( "Registrazione in processamento ma non segnalata come fermata ($sqlstring)");
} else {
myerror("Impossibile SALVARE la richiesta");
}
}
/*
* CERCA UNA REGISTRAZIONE
*/
function rec_get($db, $p) {
$order = "starttime desc";
# qui c'e' il bug perche' passo in input "starttime desc" e questo non viene rilevato
// if ( isset($p['sort']) && in_array($p['sort'], array("starttime","endtime","title") ) ) {
if ( isset($p['sort']) ) {
$order = $p['sort'];
}
$sqlstring = "SELECT *
FROM registrazioni
ORDER BY $order";
// debug purposes
myerror($sqlstring);
if ( ($result = $db->query( $sqlstring )) == FALSE) {
myerror("Impossibile prelevare dati");
}
print "
Titolo (desc) |
Inizio (desc) |
Fine (desc) |
Stop/Aggiorna |
Estrai |
Download |
Cancella |
";
while ($data = $result->fetchArray() )
{
// se e' stata stoppata (aggiornata almeno una volta) => Pulsate STOP/Aggiorna
$stoplabel = ( $data['stopped'] == 1) ? "aggiorna" : "stop";
$updatedisabled = ( $data['extracted'] == 1) ? "disabled" : "";
$extractiondisabled = ( $data['stopped'] == 1 && $data['extracted'] == 0 ) ? "": "disabled" ;
print "
";
}
print "
";
}
?>