Use intervals for sessions deletion with postgres fix oc-492

This commit is contained in:
Brice Maron 2012-06-24 19:41:23 +00:00
parent f56b3df0bc
commit 61adae1e49
1 changed files with 8 additions and 2 deletions

View File

@ -77,7 +77,7 @@ class OC_MEDIA_AMPACHE{
$songs=OC_MEDIA_COLLECTION::getSongCount(); $songs=OC_MEDIA_COLLECTION::getSongCount();
$artists=OC_MEDIA_COLLECTION::getArtistCount(); $artists=OC_MEDIA_COLLECTION::getArtistCount();
$albums=OC_MEDIA_COLLECTION::getAlbumCount(); $albums=OC_MEDIA_COLLECTION::getAlbumCount();
$query=OCP\DB::prepare("INSERT INTO *PREFIX*media_sessions (`session_id`, `token`, `user_id`, `start`) VALUES (NULL, ?, ?, now());"); $query=OCP\DB::prepare("INSERT INTO *PREFIX*media_sessions (`token`, `user_id`, `start`) VALUES (?, ?, now());");
$query->execute(array($token,$user)); $query->execute(array($token,$user));
$expire=date('c',time()+600); $expire=date('c',time()+600);
echo('<?xml version="1.0" encoding="UTF-8"?>'); echo('<?xml version="1.0" encoding="UTF-8"?>');
@ -136,8 +136,14 @@ class OC_MEDIA_AMPACHE{
return false; return false;
} }
} }
$CONFIG_DBTYPE = OCP\Config::getSystemValue( "dbtype", "sqlite" );
if($CONFIG_DBTYPE == 'psql'){
$interval = ' \'600s\'::interval ';
}else {
$interval = '600';
}
//remove old sessions //remove old sessions
$query=OCP\DB::prepare("DELETE from *PREFIX*media_sessions WHERE start<(NOW()-600)"); $query=OCP\DB::prepare("DELETE from *PREFIX*media_sessions WHERE start<(NOW() - ".$interval.")");
$query->execute(); $query->execute();
$query=OCP\DB::prepare("SELECT user_id from *PREFIX*media_sessions WHERE token=?"); $query=OCP\DB::prepare("SELECT user_id from *PREFIX*media_sessions WHERE token=?");