示例#1
0
require_once './eagle/utils/Downloader.php';
require_once './eagle/utils/FileReader.php';
require_once './eagle/utils/Utils.php';
require_once './eagle/models/PitScouting.php';
require_once './eagle/models/Defense.php';
require_once './eagle/models/MatchScouting.php';
require_once './eagle/models/Comment.php';
$app->group('/scouting', function () use($app) {
    $this->get('/{url:.*\\/}', function ($req, $res, $args) {
        header('Location:/event/' . trim($args['url'], '/'));
        exit;
    });
    $this->get('/pit', function ($req, $res, $args) {
        Auth::getLoggedInUser();
        $event = Utils::getCurrentEvent();
        $this->view->render($res, 'pitScoutingHome.html', ['title' => 'Pit Scouting Home', 'teams' => Utils::getUnscoutedTeams($event), 'event' => FileReader::getEvent($event), 'user' => Auth::getLoggedInUser()]);
    });
    $this->get('/pit/new/{team:[0-9]{1,4}}', function ($req, $res, $args) {
        Auth::getLoggedInUser();
        $this->view->render($res, 'pitScouting.html', ['title' => 'Pit Scouting for ' . $args['team'], 'team' => $args['team'], 'user' => Auth::getLoggedInUser()]);
    });
    $this->post('/pit/new', function ($req, $res, $args) {
        $defense = new Defense();
        $defense->user_id = Auth::getLoggedInUser()->id;
        $defense->author = Auth::getLoggedInUser()->name;
        $defense->team_id = $_POST['team_id'];
        $defense->low_bar = $_POST['lowbar'];
        $defense->portcullis = $_POST['portcullis'];
        $defense->cheval_de_frise = $_POST['cheval'];
        $defense->moat = $_POST['moat'];
        $defense->ramparts = $_POST['ramparts'];
示例#2
0
        }
        $rankings = FileReader::getRankingsAtEvent($args['event']);
        if (!count($rankings)) {
            Downloader::getRankingsAtEvent($args['event']);
            header('Refresh:0');
        }
        $dlstats = FileReader::getStatsAtEvent($args['event']);
        if (!$dlstats && !count($dlstats)) {
            Downloader::getStatsAtEvent($args['event']);
            header('Refresh:0');
        }
        $stats = array();
        for ($i = 0; $i < count((array) $dlstats->oprs); $i++) {
            $tempTeam = array_keys((array) $dlstats->oprs)[$i];
            $opr = $dlstats->oprs->{$tempTeam};
            $dpr = $dlstats->dprs->{$tempTeam};
            $ccwm = $dlstats->ccwms->{$tempTeam};
            $stats[$tempTeam] = array('number' => $tempTeam, 'opr' => $opr, 'dpr' => $dpr, 'ccwm' => $ccwm);
        }
        $this->view->render($res, 'event.html', ['title' => $event->name, 'event' => $event, 'teams' => $teams, 'stats' => $stats, 'rankings' => $rankings, 'matches' => $matches, 'user' => Auth::getLoggedInUser()]);
    });
    $this->get('/{event:\\d{4}[A-Za-z]{1,4}}/update', function ($req, $res, $args) {
        Auth::redirectIfNotLoggedIn();
        FileReader::getEvent($args['event'], true);
        FileReader::getTeamsAtEvent($args['event'], true);
        FileReader::getMatchesAtEvent($args['event'], true);
        FileReader::getStatsAtEvent($args['event'], true);
        FileReader::getRankingsAtEvent($args['event'], true);
        return $res->withStatus(302)->withHeader('Location', '/event/' . $args['event']);
    });
});