Файл: system/modules/radio/files/parser.js
Строк: 77
function stripslashes( str ) {
    return (str+'').replace(/ /g, '0').replace(/\([\'"])/g, '$1');
}
function strip_tags(input, allowed) {
    allowed = (((allowed || "") + "").toLowerCase().match(/<[a-z][a-z0-9]*>/g) || []).join('');
    var tags = /</?([a-z][a-z0-9]*)b[^>]*>/gi, commentsAndPhpTags = /<!--[sS]*?-->|<?(?:php)?[sS]*??>/gi;
    return input.replace(commentsAndPhpTags, '').replace(tags, function($0, $1){
        return allowed.indexOf('<' + $1.toLowerCase() + '>') > -1 ? $0 : '';
    });
}
function lastfm(radio, lfm, server, dir) {
    var lang = ["<b>Информация об исполнителе:</b><br />", "<br /><br /><b>Похожие исполнители:</b><br />", "Информация отсутствует", "Похожих исполнителей не найдено", "Без загаловка", "Загрузка..."],
        songID = "#song",
        API = "96e0589327a3f120074f74dbc8ec6443",
        bioID = ".bio",
        coID = ".cover img",
        nocover = dir + "system/modules/radio/template/files/nocover.jpg";
        
    $.ajax({
        url: dir + "system/modules/radio/parser.php",
        data: "url=" + radio + "&server=" + server,
        dataType: "html", 
        cache: false,
        timeout: 5000,
        success: function( data ){
            if( data != "none" ) {
                
                $(songID).html(strip_tags(data, ""));
                $(document).attr("title", data);
                
                if( lfm == 1 ) {
                        
                    var band = data.split(" - ");
                
                    if( $(bioID).attr("rel") != band[0] ) {
                
                        $.ajax({
                            url: "http://ws.audioscrobbler.com/2.0/?method=artist.getinfo&artist=" + encodeURI(band[0]) + "&api_key=" + API + "&lang=ru&format=json&callback=?",
                            dataType: "json",
                            cache: false,
                            timeout: 5000,
                            beforeSend: function() {
                                $(bioID).text(lang[5]);
                            },
                            success: function(result){
                                var sim = "";
                                $.each(result.artist.similar.artist, function(i, item){ if( item.name != "" ) { sim += item.name + ", "; }});
                                
                                if( sim == "" ) { sim = lang[3]; }
                
                                if( result.artist.image[2]['#text'] == "" ){ var cover = nocover; } 
                                else { var cover = stripslashes(result.artist.image[2]['#text']); }
                                
                                if( result.artist.bio.summary == "" ){ var biog = lang[2]; }
                                else { var biog = strip_tags(result.artist.bio.summary, ""); }
                            
                                $(bioID).attr("rel", band[0]).html(lang[0] + biog + lang[1] + sim);
                                $(coID).attr("src", cover).attr("alt", band[0]);
                            },
                            error: function(){
                                $(bioID).attr("rel", "").html(lang[0] + lang[2] + lang[1] + lang[3]);
                                $(coID).attr("src", nocover)
                            }
                        });
                    }
                }
                
            } else {
                $(songID).text(lang[4]);
                $(document).attr("title", lang[4]);
                
                if( lfm == 1 ) {
                    $(coID).attr("src", nocover)
                    $(bioID).attr("rel", "").text(lang[2]);
                }
            }
        },
        error: function(){
            $(songID).text(lang[4]);
            $(document).attr("title", lang[4]);
            if( lfm == 1 ) {
                $(coID).attr("src", nocover)
                $(bioID).attr("rel", "").text(lang[2]);
            }
        }
    });
}