Esempio n. 1
0
 public function __construct()
 {
     parent::__construct();
     $this['debug'] = filter_var(StatTracker::getConstant("DEBUG", false), FILTER_VALIDATE_BOOLEAN);
     $this->basedir = dirname($_SERVER['SCRIPT_FILENAME']);
     $this->logger = new Logger(LOG_DIR, $this['debug'] ? LogLevel::DEBUG : LogLevel::INFO);
     $this->register(new \Silex\Provider\SessionServiceProvider());
     $this->register(new \Silex\Provider\TwigServiceProvider(), array('twig.path' => array($this->basedir . "/views", $this->basedir . "/resources", $this->basedir . "/resources/scripts")));
     $this['twig']->addFilter(new \Twig_SimpleFilter('name_sort', function ($array) {
         usort($array, function ($a, $b) {
             return strcmp($a->name, $b->name);
         });
         return $array;
     }));
 }
Esempio n. 2
0
    }
})->assert('page', '[a-z-]+')->value('page', 'dashboard');
$StatTracker->get('/page/{page}', function (Request $request, $page) use($StatTracker) {
    $page_parameters = array();
    if ($page == "submit-stats") {
        $date = $request->get("date");
        $date = $StatTracker->isValidDate($date) ? $date : null;
        if ($date == null || new DateTime() < new DateTime($date)) {
            $StatTracker->getAgent()->getStats("latest", true);
            $date = date("Y-m-d");
        } else {
            $StatTracker->getAgent()->getStats($date, true);
        }
        $page_parameters['date'] = $date;
    }
    return $StatTracker['twig']->render($page . ".twig", array("agent" => $StatTracker->getAgent(), "constants" => array("admin_agent" => StatTracker::getConstant("ADMIN_AGENT"), "email_submission" => StatTracker::getConstant("EMAIL_SUBMISSION")), "stats" => $StatTracker->getStats(), "faction_class" => $StatTracker->getAgent()->faction == "R" ? "resistance-agent" : "enlightened-agent", "faction_color" => $StatTracker->getAgent()->faction == "R" ? RES_BLUE : ENL_GREEN, "parameters" => $page_parameters));
});
$StatTracker->get("/resources/{resource_dir}/{resource}", function (Request $request, $resource) use($StatTracker) {
    switch ($resource) {
        case "style.css":
            $file = "./resources/css/style.less";
            $lastModified = filemtime($file);
            $css = new Symfony\Component\HttpFoundation\Response("", 200, array("Content-Type" => "text/css"));
            $css->setLastModified(new \DateTime("@" . filemtime($file)));
            if ($css->isNotModified($request)) {
                $css->setNotModified();
            } else {
                $parser = new Less_Parser(array("compress" => true));
                $parser->parseFile($file, $request->getBaseUrl());
                $css->setLastModified(new \DateTime("@" . filemtime($file)));
                $css->setContent($parser->getCss());