44 lines
1.2 KiB
PHP
44 lines
1.2 KiB
PHP
<?php
|
|
namespace EmotionHero\Api;
|
|
|
|
use EmotionHero\Application as EH;
|
|
use Silex\Application;
|
|
use Symfony\Component\HttpFoundation\Request;
|
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
|
use Symfony\Component\HttpFoundation\Response;
|
|
use Silex\Api\ControllerProviderInterface;
|
|
use EmotionHero\Models;
|
|
use EmotionHero\Server\Websockets;
|
|
|
|
class StatsControllerProvider implements ControllerProviderInterface
|
|
{
|
|
/** @var EH */
|
|
protected $_eh;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->_eh = EH::getInstance();
|
|
}
|
|
|
|
public function connect(Application $app)
|
|
{
|
|
// creates a new controller based on the default route
|
|
$controllers = $app['controllers_factory'];
|
|
$gamesRepo = $this->_eh->getEm()->getRepository(Models\Game::class);
|
|
|
|
$controllers->get('/', function (Application $app) {
|
|
$stats = [
|
|
'new_games' => [],
|
|
'new_users' => [],
|
|
];
|
|
|
|
for ($i=0; $i < 14; $i++) {
|
|
$day = date('Y-m-d',strtotime("-$i days"));
|
|
$stats['new_games'] = $gameRepo->getCreatedCountOnDate($day);
|
|
}
|
|
return $app['serializer']->serialize($stats, 'json');
|
|
});
|
|
|
|
return $controllers;
|
|
}
|
|
}
|