Файл: onlinepoisk.wm-scripts.ru/controller/search.php
Строк: 158
<?php
use SymfonyComponentHttpFoundationRequest;
use SymfonyComponentHttpFoundationResponse;
use PagerfantaPagerfanta;
use PagerfantaViewDefaultView;
function strip_data($text) {
    $quotes = array ("x27", "x22", "x60", "t", "n", "r", "'", ",", "/", "¬", ";", ":", "@", "~", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"', '\', '/', );
    $text = trim( str_replace( $quotes, '', $text ) );
    return $text;
}
$app->get('/search/{query}', function(Request $request, $query) use($app) {
    $query = str_replace('+', ' ', $query);
    $query = strip_data($query);
    $ress=0;
    $dest='block.php';
    $pfile=fopen($dest,'r');
    if (!$pfile) die("fail attempt to open file");
    while (!feof($pfile))        {
        $tempstr=fgets($pfile);
    if (trim(mb_strtolower($tempstr, 'UTF-8'))==trim(mb_strtolower($query, 'UTF-8'))) $ress=1;
    }
    if ($ress!=1){
    $filename = 'zapros.php';
    $contents = '<li><a href="/search/'.$query.'" class="btn hash">'.$query."</a></li>n";
    $array = file($filename);
    $arr_count = count($array); 
    $dest='zapros.php';
    $ressx=0;
    $pfile=fopen($dest,'r');
    if (!$pfile) die("fail attempt to open file");
    while (!feof($pfile))        {
        $tempstr=fgets($pfile);
    if (trim(mb_strtolower($tempstr, 'UTF-8'))==trim(mb_strtolower($contents, 'UTF-8'))) $ressx=1;
    }
    if (($arr_count==23)&&($ressx==0)) $start=1;
    else $start=0;
    $count=0;
    for ($i=$start; $i<=$arr_count; $i++) { 
    if ($array[$i]!="")  {$arr[$count]=$array[$i]; 
    $count++;}
    }
    $r = fopen($filename, 'w');
    if ( $r ) {
    foreach($arr as $val){
        fwrite($r, $val);
    }
    if ($ressx==0) 
{
fwrite($r, $contents);
   fclose($handle);
}
else{}
    }
    $q = $app->escape($query);
    $q = html_entity_decode($q);
    $q = str_replace('+', ' ', $q);
    $seo = Reg::get('seo');
    $seo['title'] = "Скачать {$q} mp3 песню, слушать онлайн бесплатно";
    $seo['description'] = "бесплатный онлайн плеер у нас вы сможете скачать {$q} и прослушать бесплатно";
    $seo['keywords'] = "скчать песню, скачать мп3, {$q}, скачать mp3, бесплатно, без регистрации, новинка, поиск музыки, адхив, файл, без смс, слушать онлайн, плеер, быстро, скачать mp3 песню";
    Reg::set('seo', $seo);
    
    
    $p = $request->get('p', 1);
    $ipp = $app['conf']->getOption('app', 'itemsPerPage', 10) ;
    $pagerfanta = new Pagerfanta(new ArtSearchMusicPagerfantaAdapter( 
        $app['searchmusic'], str_replace("&", " ", $q), $p, $ipp
    ));
    
    $ippv = $app['conf']->getOption('app', 'itemsPerPageVI', 10) ;
    $pagerfantav = new Pagerfanta(new ArtSearchVideoPagerfantaAdapter( 
        $app['searchmusic'], str_replace("&", " ", $q), $p, $ippv
    ));
    
    $pagerfanta->setCurrentPage($p);
    $pagerfanta->setMaxPerPage($ipp);
    $view = new DefaultView();
    $pp = getlang(74,1);
    $ppp = getlang(73,1);
    $pagination = $view->render($pagerfanta, function($page) use ($q) { 
            return "./search/{$q}?p={$page}";
        }, array(
            'proximity' => 11,
            'next_message' => $pp,
            'previous_message' => $ppp,
        )
    );
    $similar = array();
    if ( substr_count($q, " ") <= 4 ) {
        $lastfmdata = ArtLastFM::request($app['conf'], "artist.getSimilar", array(
            "limit" => 10,
            "artist" => $q
        ));
        if ( isset($lastfmdata->similarartists) ) {
            $similar = $lastfmdata->similarartists->artist;
        }
        
    }
       $similars = array();
    if ( substr_count($q, " ") <= 4 ) {
        $lastfmdata = ArtLastFM::request($app['conf'], "artist.getTopAlbums", array(
            "limit" => 10,
            "artist" => $q,
            " autocorrect" => 1
        ));
        if ( isset($lastfmdata->topalbums) ) {
            $similars = $lastfmdata->topalbums->album;
        }
    }
    Reg::set('q', $q);
    $artist = ArtLastFM::request($app['conf'], "artist.getInfo", array(
        "artist" => $q
    ));
    return $app['view']->render('layout.phtml', 'search/list.phtml', array(
        'res' => $pagerfanta,
        'resv' => $pagerfantav,
        'pagination' => $pagination,
        'q' => $q,
        'similar' => $similar,
        'similars' => $similars,
        'artist' => $artist
    ));
}
else return $app['view']->render('layout.phtml', 'search/block.phtml', array(
       
    ));
});
$app->get('/popular', function(Request $request) use($app) {
   
    $seo = Reg::get('seo');
    $seo['title'] = "Топ 100 популярных треков";
    $seo['description'] = "Топ 100 популярных треков";
    $seo['keywords'] = "скчать песню, скачать мп3, скачать mp3, бесплатно, без регистрации, новинка, поиск музыки, адхив, файл, без смс, слушать онлайн, плеер, быстро, скачать mp3 песню";
    Reg::set('seo', $seo);
    $p = $request->get('p', 1);
    $ipp = $app['conf']->getOption('app', 'itemsPerPagePop', 10) ;
    $pagerfantap = new Pagerfanta(new ArtSearchPopPagerfantaAdapter( 
        $app['searchmusic'], $p, $ipp
    ));
    
    $pagerfantap->setCurrentPage($p);
    $pagerfantap->setMaxPerPage($ipp);
    
    $view = new DefaultView();
    
 
    
    return $app['view']->render('layout.phtml', 'part/popular.phtml', array(
        'resp' => $pagerfantap,
        
        
    ));
});
$app->get('/video/{vkid}', function(Request $request, $vkid) use($app) {
    $vvideo = $app['searchmusic']->videoget($vkid);
    $seo = Reg::get('seo');
    $seo['title'] = "{$vvideo->title} смотреть онлайн бесплатно";
    $seo['description'] = "смотреть бесплатно видео";
    $seo['keywords'] = "видео онлайн";
    Reg::set('seo', $seo);
    $video = (array)$vvideo;
    $video['vkid'] = "{$vvideo->owner_id}_{$vvideo->id}";
     return $app['view']->render('layout.phtml', 'part/vi-page.phtml', array(
        'video' => $video,
        'text' => $text
    ));
});
$app->get('/track/{vkid}', function(Request $request, $vkid) use($app) {
    $vtrack = $app['searchmusic']->audioGetById($vkid);
    $seo = Reg::get('seo');
    $seo['title'] = " {$vtrack->artist} - {$vtrack->title} скачать mp3 трек, слушать онлайн бесплатно";
    $seo['description'] = "прослушать мп3 трек {$vtrack->artist} - {$vtrack->title} и скачать бесплатно";
    $seo['keywords'] = "скачать,{$vtrack->artist}, песня, новинка, слушать онлайн, файл, мп3, mp3 архив, популярный хит, {$vtrack->title}, бесплатно, без смс, онлайн плеер, архив mp3, исполнители";
    Reg::set('seo', $seo);
    $track = (array)$vtrack;
    $track['vkid'] = "{$vtrack->owner_id}_{$vtrack->aid}";
$text = (isset($track['lyrics_id']) && $track['lyrics_id']) ? nl2br($app['searchmusic']->audioGetLyrics( 
        $track['lyrics_id']
    )) : '';
     return $app['view']->render('layout.phtml', 'part/track-page.phtml', array(
        'track' => $track,
        'text' => $text
    ));
});
$app->get('/getlyrics', function(Request $request) use($app) { 
    $text = nl2br($app['searchmusic']->audioGetLyrics( 
        $request->get('lyricsId')
    ));
    return new Response($text);
});
$app->get('/getsong/{vkid}', function(Request $request, $vkid) use($app) {
    session_write_close();
    $vkTrack = $app['searchmusic']->getTrack( $vkid );
    header("Content-Length: {$vkTrack['size']}");
    if ( $request->get('dl') ) {
        header('Last-Modified:');
        header('ETag:');
        header('Content-Type: audio/mpeg');
        header('Accept-Ranges: bytes');
        header("Content-Disposition: attachment; filename="{$vkTrack['fname']}"");
        header('Content-Description: File Transfer');
        header('Content-Transfer-Encoding: binary');
    }
        echo($vkTrack['url']);
    return $app->stream(function () use ($vkTrack) {
        readfile($vkTrack['url']);
    }, 200, array('Content-Type' => 'audio/mpeg'));
});
/*
Техническая поддержка и обновления
http://wm-scripts.ru
*/