public static function checkAuth($auth)
 {
     if (is_array($auth)) {
         if (isset($auth['auth'])) {
             $auth = $auth['auth'];
         } else {
             return false;
         }
     }
     //remove old sessions
     $query = OC_DB::prepare("DELETE from *PREFIX*media_sessions WHERE start<(NOW()-600)");
     $query->execute();
     $query = OC_DB::prepare("SELECT user_id from *PREFIX*media_sessions WHERE token=?");
     $users = $query->execute(array($auth))->fetchAll();
     if (count($users) > 0) {
         OC_MEDIA_COLLECTION::$uid = $users[0]['user_id'];
         return $users[0]['user_id'];
     } else {
         return false;
     }
 }
    $arguments = $_GET;
}
foreach ($arguments as &$argument) {
    $argument = stripslashes($argument);
}
@ob_clean();
if (!isset($arguments['artist'])) {
    $arguments['artist'] = 0;
}
if (!isset($arguments['album'])) {
    $arguments['album'] = 0;
}
if (!isset($arguments['search'])) {
    $arguments['search'] = '';
}
OC_MEDIA_COLLECTION::$uid = OC_User::getUser();
if ($arguments['action']) {
    switch ($arguments['action']) {
        case 'delete':
            $path = $arguments['path'];
            OC_MEDIA_COLLECTION::deleteSongByPath($path);
            $paths = explode(PATH_SEPARATOR, OC_Preferences::getValue(OC_User::getUser(), 'media', 'paths', ''));
            if (array_search($path, $paths) !== false) {
                unset($paths[array_search($path, $paths)]);
                OC_Preferences::setValue(OC_User::getUser(), 'media', 'paths', implode(PATH_SEPARATOR, $paths));
            }
        case 'get_collection':
            $data = array();
            $data['artists'] = OC_MEDIA_COLLECTION::getArtists();
            $data['albums'] = OC_MEDIA_COLLECTION::getAlbums();
            $data['songs'] = OC_MEDIA_COLLECTION::getSongs();
Exemplo n.º 3
0
}
foreach ($arguments as &$argument) {
    $argument = stripslashes($argument);
}
@ob_clean();
if (!isset($arguments['artist'])) {
    $arguments['artist'] = 0;
}
if (!isset($arguments['album'])) {
    $arguments['album'] = 0;
}
if (!isset($arguments['search'])) {
    $arguments['search'] = '';
}
session_write_close();
OC_MEDIA_COLLECTION::$uid = OCP\USER::getUser();
if ($arguments['action']) {
    switch ($arguments['action']) {
        case 'delete':
            $path = $arguments['path'];
            OC_MEDIA_COLLECTION::deleteSongByPath($path);
            $paths = explode(PATH_SEPARATOR, OCP\Config::getUserValue(OCP\USER::getUser(), 'media', 'paths', ''));
            if (array_search($path, $paths) !== false) {
                unset($paths[array_search($path, $paths)]);
                OCP\Config::setUserValue(OCP\USER::getUser(), 'media', 'paths', implode(PATH_SEPARATOR, $paths));
            }
        case 'get_collection':
            $data = array();
            $data['artists'] = OC_MEDIA_COLLECTION::getArtists();
            $data['albums'] = OC_MEDIA_COLLECTION::getAlbums();
            $data['songs'] = OC_MEDIA_COLLECTION::getSongs();
 /**
  * Get the list of songs that (optionally) match an artist and/or album and/or search string
  * @param integer artist optional
  * @param integer album optional
  * @param string search optional
  * @return array the list of songs found
  */
 public static function getSongs($artist = 0, $album = 0, $search = '', $exact = false)
 {
     $uid = self::$uid;
     if (empty($uid)) {
         $uid = self::$uid = $_SESSION['user_id'];
     }
     $params = array($uid);
     if ($artist != 0) {
         $artistString = "AND song_artist = ?";
         array_push($params, $artist);
     } else {
         $artistString = '';
     }
     if ($album != 0) {
         $albumString = "AND song_album = ?";
         array_push($params, $album);
     } else {
         $albumString = '';
     }
     if ($search) {
         if (!$exact) {
             $search = "%{$search}%";
         }
         $searchString = "AND song_name LIKE ?";
         array_push($params, $search);
     } else {
         $searchString = '';
     }
     $query = OC_DB::prepare("SELECT * FROM *PREFIX*media_songs WHERE song_user=? {$artistString} {$albumString} {$searchString}");
     return $query->execute($params)->fetchAll();
 }
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library.  If not, see <http://www.gnu.org/licenses/>.
*
*/
$_POST = $_GET;
//debug
require_once '../../lib/base.php';
OC_JSON::checkAppEnabled('media');
require_once 'lib_collection.php';
$user = isset($_POST['user']) ? $_POST['user'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';
if (OC_User::checkPassword($user, $pass)) {
    OC_Util::setupFS($user);
    OC_MEDIA_COLLECTION::$uid = $user;
} else {
    exit;
}
if (isset($_POST['play']) and $_POST['play'] == 'true') {
    if (!isset($_POST['song'])) {
        exit;
    }
    $song = OC_MEDIA_COLLECTION::getSong($_POST['song']);
    $ftype = OC_Filesystem::getMimeType($song['song_path']);
    header('Content-Type:' . $ftype);
    header('Expires: 0');
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    header('Content-Length: ' . OC_Filesystem::filesize($song['song_path']));
    OC_Filesystem::readfile($song['song_path']);
Exemplo n.º 6
0
 public static function checkAuth($auth)
 {
     if (is_array($auth)) {
         if (isset($auth['auth'])) {
             $auth = $auth['auth'];
         } else {
             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() - " . $interval . ")");
     $query->execute();
     $query = OCP\DB::prepare("SELECT `user_id` FROM `*PREFIX*media_sessions` WHERE `token`=?");
     $users = $query->execute(array($auth))->fetchAll();
     if (count($users) > 0) {
         OC_MEDIA_COLLECTION::$uid = $users[0]['user_id'];
         OC_User::setUserId($users[0]['user_id']);
         return $users[0]['user_id'];
     } else {
         return false;
     }
 }