Ejemplo n.º 1
0
				track.track_artist,
				track.featuring,
				track.miliseconds,
				track.track_id,
				track.genre AS genre_id,
				genre.genre AS genre_string,
				track.audio_dataformat,
				track.audio_bits_per_sample,
				track.audio_sample_rate,
				track.album_id,
				track.number,
				track.track_id,
				track.year as trackYear
			FROM track, genre
			WHERE track.genre=genre.genre_id
			  AND track.relative_file_hash= "' . pathhash($file[$i]) . '"
			');
    $table_track = mysql_fetch_assoc($query);
    $playtime[] = (int) $table_track['miliseconds'];
    $track_id[] = (string) $table_track['track_id'];
    $genre_id[(int) $table_track['genre_id']] = (string) $table_track['genre_string'];
    $number[] = (string) $table_track['number'];
    if (!isset($table_track['artist'])) {
        $table_track['artist'] = $file[$i];
        $table_track['title'] = 'Unknown';
    }
    $query2 = mysql_query('SELECT album, year, image_id FROM album WHERE album_id="' . $table_track['album_id'] . '"');
    $image_id = mysql_fetch_assoc($query2);
    $table_track['title'] = $table_track['title'] == '' ? basename($table_track['relative_file']) : $table_track['title'];
    $image_id['album'] = $image_id['album'] == '' ? basename(dirname($table_track['relative_file'])) : $image_id['album'];
    ?>
Ejemplo n.º 2
0
function updateSong($currentSong, $currentDirectory, $mtimeDirectory, $mtime, $time, $artist, $title, $track, $album, $date, $genre)
{
    global $cfg, $db, $allAlbumIds, $allGenreIds;
    // phase
    if (isset($allAlbumIds[$cfg['media_dir'] . $currentDirectory]) === TRUE) {
        $album_id = $allAlbumIds[$cfg['media_dir'] . $currentDirectory];
    } else {
        // create a new album_id
        $album_id = base_convert(uniqid(), 16, 36);
        $album_add_time = $mtimeDirectory;
        mysql_query("\n\t\t\tINSERT INTO album_id(\n\t\t\t\talbum_id,\n\t\t\t\tpath,\n\t\t\t\talbum_add_time,\n\t\t\t\tupdated\n\t\t\t) VALUES ('" . mysql_real_escape_string($album_id) . "','" . mysql_real_escape_string($cfg['media_dir'] . $currentDirectory) . "','" . $album_add_time . "',\n\t\t\t\t'1'\n\t\t\t)");
        $allAlbumIds[$cfg['media_dir'] . $currentDirectory] = $album_id;
        // initial insert with album-tags based on (first) track
        # genre is currently '1(Unknown)' - it will be updated in on of the next import/update phases
        mysql_query("\n\t\t\tINSERT INTO album(\n\t\t\t\tartist,\n\t\t\t\tartist_alphabetic,\n\t\t\t\talbum,\n\t\t\t\tyear,\n\t\t\t\talbum_id,\n\t\t\t\talbum_add_time,\n\t\t\t\tgenre_id,\n\t\t\t\tdiscs,\n\t\t\t\tupdated\n\t\t\t) VALUES (\n\t\t\t\t'" . mysql_real_escape_string($artist) . "',\n\t\t\t\t'" . mysql_real_escape_string($artist) . "',\n\t\t\t\t'" . mysql_real_escape_string($album) . "',\n\t\t\t\t'" . mysql_real_escape_string($date) . "',\n\t\t\t\t'" . mysql_real_escape_string($album_id) . "',\n\t\t\t\t'" . (int) $album_add_time . "',\n\t\t\t\t'1',\n\t\t\t\t'1',\n\t\t\t\t'1'\n\t\t\t)");
    }
    // TODO: assign multiple genres to track and album based on splitchars
    $genre = genreUnifier($genre);
    $genreAz09 = az09($genre);
    // get Genre id
    $genre_id = isset($allGenreIds[$genreAz09]) === TRUE ? $allGenreIds[$genreAz09] : insertGenre($genre);
    $allGenreIds[$genreAz09] = $genre_id;
    // check if we do already have a matching track
    $res = mysql_query('SELECT track_id FROM track
		WHERE album_id		= "' . mysql_real_escape_string($album_id) . '"
		AND relative_file	= BINARY "' . mysql_real_escape_string($currentDirectory . $currentSong) . '"
		LIMIT 1');
    if (mysql_num_rows($res) == 0) {
        mysql_query('
			INSERT INTO track (
				artist,
				title,
				relative_file,
				relative_file_hash,
				number,
				album_id,
				updated,
				track_id,
				filemtime,
				genre,
				year,
				disc,
				miliseconds,
				track_artist
			)
			VALUES (
				"' . mysql_real_escape_string($artist) . '",
				"' . mysql_real_escape_string($title) . '",
				"' . mysql_real_escape_string($currentDirectory . $currentSong) . '",
				"' . pathhash($currentDirectory . $currentSong) . '",
				' . (is_numeric($track) ? (int) $track : 'NULL') . ',
				"' . mysql_real_escape_string($album_id) . '",
				1,
				\'' . $album_id . '_' . fileId($cfg['media_dir'] . $currentDirectory . $currentSong) . '\',
				' . (int) $mtime . ',
				' . (int) $genre_id . ',
				' . (int) $date . ',
				1,
				' . $time * 1000 . ',
				\'' . mysql_real_escape_string($artist) . '\'
			)');
    } else {
        $row = mysql_fetch_assoc($res);
        $track_id = $row["track_id"];
        mysql_query('UPDATE track SET
			artist				= "' . mysql_real_escape_string($artist) . '",
			title				= "' . mysql_real_escape_string($title) . '",
			number				= ' . (is_numeric($track) ? (int) $track : 'NULL') . ',
			album_id			= "' . mysql_real_escape_string($album_id) . '",
			updated				= 1
			WHERE track_id		= "' . mysql_real_escape_string($track_id) . '"
			LIMIT 1');
    }
}