<?php

$loader = (require __DIR__ . "/../vendor/autoload.php");
$loader->add('Sokil\\Mongo\\Migrator\\', __DIR__);
// check mongo connection presence
$client = new \Sokil\Mongo\Client();
try {
    $client->getMongoClient()->connect();
} catch (MongoConnectionException $e) {
    die('Error connecting to mongo server');
}
Exemple #2
0
<?php

require_once __DIR__ . '/../vendor/autoload.php';
require_once __DIR__ . '/../config.php';
// Save request
$client = new \Sokil\Mongo\Client(MONGO_DSN);
$collection = $client->getDatabase(MONGO_DBNAME)->getCollection('artists');
for ($i = 1; $i <= 6451447; $i++) {
    $collection->insert(json_decode(file_get_contents('http://api.deezer.com/artist/' . $i), true));
}
Exemple #3
0
    // Search from Vk or memcache
    $cache = new memcache();
    $cache->connect('localhost');
    if (($xmlString = $cache->get('top')) === false) {
        $xmlString = file_get_contents('http://www.billboard.com/rss/charts/hot-100');
        $cache->set('top', $xmlString, 0, 8600);
    }
    $xml = new SimpleXMLElement($xmlString);
    $results = $xml->channel[0]->item;
    $app->render('layout.php', ['page' => 'main', 'results' => $results]);
});
// Search route
$app->get('/:query.html', function ($query) use($app) {
    $query = urlclean($query);
    // Save request
    $client = new \Sokil\Mongo\Client(MONGO_DSN);
    $collection = $client->getDatabase(MONGO_DBNAME)->getCollection(MONGO_COLLECTION);
    if (!$collection->find(['request' => $query])->count()) {
        $collection->insert(['request' => $query, 'created' => new MongoDate(), 'views' => 1]);
    } else {
        $collection->getMongoCollection()->update(['request' => $query], ['$inc' => ['views' => 1]]);
    }
    // Search from Vk or memcache
    $cache = new memcache();
    $cache->connect('localhost');
    // Поиск в ВК и отправка пользователю
    if (($results = $cache->get($query)) === false) {
        // Search from Vk or memcache
        $http = new dHttp\Client('https://api.vk.com/method/audio.search.json?access_token=096fb2d19fc28da6694e9db15f47ff9561c36628f5485fbcd642f7edc6185ea413ab2f2fa4a5c1789cb79&q=' . urlencode($query));
        $results = json_decode($http->get()->getBody(), true);
        $cache->set($query, json_decode($http->get()->getBody(), true), 0, 72000);