コード例 #1
0
ファイル: user.php プロジェクト: nyaa11/oplayer
function lastfmchart()
{
    $app = Reg::get('app');
    $lastfmdata = Art\LastFM::request($app['conf'], "chart.getTopTracks", array("page" => 0, "limit" => 20));
    $tracks = array();
    if (isset($lastfmdata->tracks)) {
        $tracks = $lastfmdata->tracks->track;
    }
    $rtracks = array();
    foreach ($tracks as $track) {
        $artist = $track->artist->name;
        $name = $track->name;
        $vtrack = $app['openplayer']->audioSearch("{$artist} - {$name}", 0, 1);
        $vtrack = $vtrack['result'][0];
        $rtracks[] = array('vkid' => "{$vtrack['owner_id']}_{$vtrack['aid']}", 'lyrics_id' => $vtrack['lyrics_id'], 'artist' => $artist, 'title' => $name, 'duration' => $vtrack['duration']);
    }
    return $app['view']->render(null, "part/lastfmchart.phtml", array('tracks' => $rtracks));
}
コード例 #2
0
ファイル: index.php プロジェクト: nyaa11/oplayer
<?php

use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\RedirectResponse;
$app->get('/', function (Request $request) use($app) {
    // old ver compatibility
    if ($q = $request->get('q')) {
        $query = $app->escape($q);
        return new RedirectResponse("./search/{$query}");
    }
    $lastfmdata = Art\LastFM::request($app['conf'], "chart.getTopArtists", array("limit" => $app['conf']->getOption('app', 'catalogLimit', 100)));
    return $app['view']->render('layout.phtml', 'index/index.phtml', array('artists' => $lastfmdata));
});
$app->get('/about', function () use($app) {
    return $app['view']->render('layout.phtml', 'index/about.phtml', array());
});
$app->get('/discuss', function () use($app) {
    return $app['view']->render('layout.phtml', 'index/discuss.phtml', array());
});
$app->get('/contact', function () use($app) {
    return $app['view']->render('layout.phtml', 'index/contact.phtml', array());
});
$app->get('/forcopyrighters', function () use($app) {
    return $app['view']->render('layout.phtml', 'index/forcopyrighters.phtml', array());
});
コード例 #3
0
ファイル: search.php プロジェクト: nyaa11/oplayer
    $q = $app->escape($query);
    $seo = Reg::get('seo');
    $seo['title'] = "Слушать {$q} онлайн.";
    Reg::set('seo', $seo);
    $p = $request->get('p', 1);
    $ipp = $app['conf']->getOption('app', 'itemsPerPage', 10);
    $pagerfanta = new Pagerfanta(new Art\OpenPlayerPagerfantaAdapter($app['openplayer'], $q, $p, $ipp));
    $pagerfanta->setCurrentPage($p);
    $pagerfanta->setMaxPerPage($ipp);
    $view = new DefaultView();
    $pagination = $view->render($pagerfanta, function ($page) use($q) {
        return "./search/{$q}?p={$page}";
    }, array('proximity' => 5, 'next_message' => 'Вперед', 'previous_message' => 'Назад'));
    $similar = array();
    if (!strpos($q, " ")) {
        $lastfmdata = Art\LastFM::request($app['conf'], "artist.getSimilar", array("limit" => 10, "artist" => $q));
        if (isset($lastfmdata->similarartists)) {
            $similar = $lastfmdata->similarartists->artist;
        }
    }
    Reg::set('q', $q);
    return $app['view']->render('layout.phtml', 'search/list.phtml', array('res' => $pagerfanta, 'pagination' => $pagination, 'q' => $q, 'similar' => $similar));
});
$app->get('/track/{vkid}', function (Request $request, $vkid) use($app) {
    $vtrack = $app['openplayer']->audioGetById($vkid)->audio;
    $seo = Reg::get('seo');
    $seo['title'] = "Слушать {$vtrack->artist} - {$vtrack->title} онлайн.";
    Reg::set('seo', $seo);
    $track = (array) $vtrack;
    $track['vkid'] = "{$vtrack->owner_id}_{$vtrack->aid}";
    return $app['view']->render('layout.phtml', 'part/track.phtml', array('track' => $track));