diff options
Diffstat (limited to 'apps/media')
-rw-r--r-- | apps/media/appinfo/app.php | 19 | ||||
-rw-r--r-- | apps/media/lib_ampache.php | 10 | ||||
-rw-r--r-- | apps/media/lib_collection.php | 4 | ||||
-rw-r--r-- | apps/media/lib_media.php | 12 |
4 files changed, 26 insertions, 19 deletions
diff --git a/apps/media/appinfo/app.php b/apps/media/appinfo/app.php index c5bfc346542..75015d627b4 100644 --- a/apps/media/appinfo/app.php +++ b/apps/media/appinfo/app.php @@ -22,9 +22,22 @@ $l=OC_L10N::get('media'); -require_once('media/lib_media.php'); -require_once('media/lib_collection.php'); -require_once('media/lib_scanner.php'); +OC::$CLASSPATH['OC_MEDIA'] = 'media/lib_media.php'; +OC::$CLASSPATH['OC_MediaSearchProvider'] = 'media/lib_media.php'; +OC::$CLASSPATH['OC_MEDIA_COLLECTION'] = 'media/lib_collection.php'; +OC::$CLASSPATH['OC_MEDIA_SCANNER'] = 'media/lib_scanner.php'; + +//we need to have the sha256 hash of passwords for ampache +OCP\Util::connectHook('OC_User','post_login','OC_MEDIA','loginListener'); + +//connect to the filesystem for auto updating +OCP\Util::connectHook('OC_Filesystem','post_write','OC_MEDIA','updateFile'); + +//listen for file deletions to clean the database if a song is deleted +OCP\Util::connectHook('OC_Filesystem','post_delete','OC_MEDIA','deleteFile'); + +//list for file moves to update the database +OCP\Util::connectHook('OC_Filesystem','post_rename','OC_MEDIA','moveFile'); OCP\Util::addscript('media','loader'); OCP\App::registerPersonal('media','settings'); diff --git a/apps/media/lib_ampache.php b/apps/media/lib_ampache.php index f5c91661abe..255e6f468f8 100644 --- a/apps/media/lib_ampache.php +++ b/apps/media/lib_ampache.php @@ -77,7 +77,7 @@ class OC_MEDIA_AMPACHE{ $songs=OC_MEDIA_COLLECTION::getSongCount(); $artists=OC_MEDIA_COLLECTION::getArtistCount(); $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)); $expire=date('c',time()+600); echo('<?xml version="1.0" encoding="UTF-8"?>'); @@ -136,8 +136,14 @@ class OC_MEDIA_AMPACHE{ return false; } } + $CONFIG_DBTYPE = OCP\Config::getSystemValue( "dbtype", "sqlite" ); + if($CONFIG_DBTYPE == 'psql'){ + $interval = ' \'600s\'::interval '; + }else { + $interval = '600'; + } //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=OCP\DB::prepare("SELECT user_id from *PREFIX*media_sessions WHERE token=?"); diff --git a/apps/media/lib_collection.php b/apps/media/lib_collection.php index a32a50534ed..598c08d32e2 100644 --- a/apps/media/lib_collection.php +++ b/apps/media/lib_collection.php @@ -104,7 +104,7 @@ class OC_MEDIA_COLLECTION{ return self::$albumIdCache[$artistId][$albumId][$name]; }else{ $uid=$_SESSION['user_id']; - $query=OCP\DB::prepare("SELECT song_id FROM *PREFIX*media_songs WHERE song_user=? AND song_name LIKE ? AND song_artist=? AND song_album=?"); + $query=OCP\DB::prepare("SELECT song_id FROM *PREFIX*media_songs WHERE song_user=? AND lower(song_name) LIKE ? AND song_artist=? AND song_album=?"); $songs=$query->execute(array($uid,$name,$artistId,$albumId))->fetchAll(); if(is_array($songs) and isset($songs[0])){ self::$albumIdCache[$artistId][$albumId][$name]=$songs[0]['song_id']; @@ -277,7 +277,7 @@ class OC_MEDIA_COLLECTION{ $query=self::$queries['addsong']; } $query->execute(array($name,$artist,$album,$path,$uid,$length,$track,$size)); - $songId=OCP\DB::insertid('*PREFIX*media_songs'); + $songId=OCP\DB::insertid('*PREFIX*media_songs_song'); // self::setLastUpdated(); return self::getSongId($name,$artist,$album); } diff --git a/apps/media/lib_media.php b/apps/media/lib_media.php index 71069fdf4b9..9e687a4af2c 100644 --- a/apps/media/lib_media.php +++ b/apps/media/lib_media.php @@ -21,18 +21,6 @@ * */ -//we need to have the sha256 hash of passwords for ampache -OCP\Util::connectHook('OC_User','post_login','OC_MEDIA','loginListener'); - -//connect to the filesystem for auto updating -OCP\Util::connectHook('OC_Filesystem','post_write','OC_MEDIA','updateFile'); - -//listen for file deletions to clean the database if a song is deleted -OCP\Util::connectHook('OC_Filesystem','post_delete','OC_MEDIA','deleteFile'); - -//list for file moves to update the database -OCP\Util::connectHook('OC_Filesystem','post_rename','OC_MEDIA','moveFile'); - class OC_MEDIA{ /** * get the sha256 hash of the password needed for ampache |