* */ $host = 'localhost'; $db = 'amarok'; $dbuser = 'amarok'; $dbpasswd = 'amarok'; $link = mysql_connect($host, $dbuser, $dbpasswd) || die('Could not connect: ' . mysql_error()); mysql_select_db($db) or die('Could not select database'); mysql_query('SET NAMES \'utf8\';') or die('Could not select charset utf8'. mysql_error()); mysql_query('SET CHARACTER SET utf8;') or die('Could not select charset utf8: '. mysql_error()); $sql = 'SELECT '; $sql .= 'CONCAT(devices.lastmountpoint, \'/\', t.url) AS filename, '; $sql .= 'artist.name AS artist, '; $sql .= 'album.name AS album, '; $sql .= 't.title AS title, '; $sql .= 't.track AS track '; $sql .= "FROM tags t "; $sql .= 'LEFT JOIN album ON album.id = t.album '; $sql .= 'LEFT JOIN artist ON artist.id = t.artist '; $sql .= 'LEFT JOIN devices ON devices.id = t.deviceid '; $sql .= 'ORDER BY t.bitrate DESC '; ($result = mysql_query($sql)) || die (mysql_error()); while ($row = mysql_fetch_assoc($result)) { $filename = str_replace('/./', '/', $row['filename']); $artist = str_replace('/', '|', $row['artist']); $album = str_replace('/', '|', $row['album']); $title = str_replace('/', '|', $row['title']); $track = (int) $row['track']; if ($track > 0 && $track < 10) $track = '0' . $track . ' - '; elseif ($track > 10) $track = $track . ' - '; else $track = ''; $dst = $artist . '/' . $album . '/' . $track . $title . '.' . substr($filename, -3); $dir = dirname($dst); if (!is_dir($dir)) mkdir($dir, 0755, true); if (!is_readable($dst)) symlink($filename, $dst); }