예제 #1
0
파일: club.php 프로젝트: nishad/bmtmgr
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['id']);
$club = User::by_id($_GET['id']);
render('club', ['user' => $u, 'breadcrumbs' => [['name' => 'Vereine', 'path' => 'club/'], ['name' => $club->name, 'path' => 'club/' . \urlencode($club->id) . '/']], 'club' => $club]);
예제 #2
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['entry_id']);
$entry = Entry::by_id($_GET['entry_id']);
$discipline = $entry->get_discipline();
$tournament = $discipline->get_tournament();
$disciplines = $tournament->get_disciplines();
$season = $tournament->get_season();
$player_input_spec = ['gender' => $discipline->player_gender(), 'required' => !$discipline->is_mixed(), 'name' => 'player', 'autofocus' => 'autofocus', 'values' => ['player' => $entry->get_player(), 'club' => $entry->get_player_club()]];
$partner_input_spec = ['gender' => $discipline->partner_gender(), 'required' => false, 'name' => 'partner', 'values' => ['player' => $entry->get_partner(), 'club' => $entry->get_partner_club()]];
render('entry_edit', ['add_scripts' => [['filename' => 'discipline.js']], 'user' => $u, 'breadcrumbs' => [['name' => 'Ligen', 'path' => 'season/'], ['name' => $season->name, 'path' => 'season/' . $season->id . '/'], ['name' => $tournament->name, 'path' => 't/' . $tournament->id . '/'], ['name' => $discipline->name, 'path' => 'd/' . $discipline->id . '/'], ['name' => 'Meldung bearbeiten', 'path' => 'entry/' . $entry->id . '/edit_dialog']], 'season' => $season, 'tournament' => $tournament, 'disciplines' => $disciplines, 'discipline' => $discipline, 'player_input_spec' => $player_input_spec, 'partner_input_spec' => $partner_input_spec, 'entry' => $entry]);
예제 #3
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
utils\csrf_protect();
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['club_id', 'season_id']);
utils\require_post_params(['firstname', 'lastname', 'gender']);
$season = Season::by_id($_GET['season_id']);
$club = User::by_id($_GET['club_id']);
$name = \sprintf('%s, %s', $_POST['lastname'], $_POST['firstname']);
$textid = \str_replace(' ', '_', $club->name . '-' . $_POST['firstname'] . ' ' . $_POST['lastname']);
try {
    $player = Player::create($season->id, $club->id, $textid, $name, $_POST['gender']);
    $player->save();
} catch (utils\DuplicateEntryException $e) {
    render_ajax_error(sprintf('Ein Spieler mit der Id "%s" existiert bereits', $textid));
    exit;
}
render_ajax('season/' . $season->id . '/club/' . $club->id . '/', ['player' => $player]);
예제 #4
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['tournament_id']);
$tournament = Tournament::by_id($_GET['tournament_id']);
$season = $tournament->get_season();
$disciplines = $tournament->get_disciplines_with_counts();
\usort($disciplines, function ($d1, $d2) {
    return \strcmp($d1['name'], $d2['name']);
});
render('disciplines', ['user' => $u, 'breadcrumbs' => [['name' => 'Ligen', 'path' => 'season/'], ['name' => $season->name, 'path' => 'season/' . $season->id . '/'], ['name' => $tournament->name, 'path' => 't/' . $tournament->id . '/'], ['name' => 'Disziplinen', 'path' => 't/' . $tournament->id . '/disciplines']], 'season' => $season, 'tournament' => $tournament, 'disciplines' => $disciplines]);
예제 #5
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
require_once dirname(__DIR__) . '/src/sftp.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['publication_id']);
$publication = Publication::by_id($_GET['publication_id']);
$tournament = $publication->get_tournament();
$disciplines = $tournament->get_disciplines();
$season = $tournament->get_season();
render('publication_' . $publication->ptype, ['user' => $u, 'breadcrumbs' => [['name' => 'Ligen', 'path' => 'season/'], ['name' => $season->name, 'path' => 'season/' . $season->id . '/'], ['name' => $tournament->name, 'path' => 't/' . $tournament->id . '/'], ['name' => 'Veröffentlichung ' . $publication->id, 'path' => 'publication/' . $publication->id . '/']], 'season' => $season, 'tournament' => $tournament, 'disciplines' => $disciplines, 'publication' => $publication]);
예제 #6
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['player_id']);
$player = Player::by_id($_GET['player_id']);
$season = $player->get_season();
$club = $player->get_club();
render('player_show', ['user' => $u, 'breadcrumbs' => [['name' => 'Ligen', 'path' => 'season/'], ['name' => $season->name, 'path' => 'season/' . \urlencode($season->id) . '/'], ['name' => $player->natural_name(), 'path' => '/player/' . \urlencode($player->id) . '/']], 'season' => $season, 'player' => $player, 'player_club' => $club]);
예제 #7
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['season_id']);
$season = Season::by_id($_GET['season_id']);
$clubs = User::get_all('ORDER BY name ASC');
render('club_list', ['user' => $u, 'breadcrumbs' => [['name' => 'Ligen', 'path' => 'season/'], ['name' => $season->name, 'path' => 'season/' . urlencode($season->id) . '/'], ['name' => 'Alle Vereine', 'path' => 'season/' . urlencode($season->id) . '/club/']], 'season' => $season, 'clubs' => $clubs]);
예제 #8
0
파일: entry_add.php 프로젝트: nishad/bmtmgr
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
utils\csrf_protect();
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['discipline_id']);
$discipline = Discipline::by_id($_GET['discipline_id']);
$tournament = $discipline->get_tournament();
$season = $tournament->get_season();
$player = null;
$player_club = null;
$partner = null;
$partner_club = null;
if (!empty($_POST['player'])) {
    $player = $season->get_player_by_input($_POST['player']);
    if (!empty($_POST['player_club'])) {
        $player_club = $season->get_club_by_input($_POST['player_club']);
    }
}
if (!empty($_POST['partner'])) {
    $partner = $season->get_player_by_input($_POST['partner']);
    if (!empty($_POST['partner_club'])) {
        $partner_club = $season->get_club_by_input($_POST['partner_club']);
    }
}
$email = isset($_POST['email']) ? $_POST['email'] : null;
$seeding = isset($_POST['seeding']) ? $_POST['seeding'] : null;
$memo = isset($_POST['memo']) ? $_POST['memo'] : null;
예제 #9
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['discipline_id', 'gender', 'term']);
$player_rows = Discipline::suggest_player_rows_with_clubs_by_id($_GET['discipline_id'], $_GET['term'], $_GET['gender']);
render_json(['players' => $player_rows]);
예제 #10
0
파일: login.php 프로젝트: nishad/bmtmgr
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
require_once dirname(__DIR__) . '/src/utils.php';
require_once dirname(__DIR__) . '/src/user.php';
require_once dirname(__DIR__) . '/src/email.php';
// No CSRF protection necessary; login is harmless
utils\require_get_params(array('t'));
$u = \bmtmgr\user\find_by_token('login_email_token', $_GET['t']);
if (!$u) {
    $title = 'Ungültiges oder abgelaufenes temporäres Passwort';
    render('login', ['title' => $title, 'errors' => [['title' => $title, 'message' => 'Entschuldigung, aber das temporäre Passwort ist nicht mehr gültig. Bitte fordern Sie einen neues Passwort an.']]]);
    exit;
}
assert($u);
\bmtmgr\user\create_session($u);
header('Location: ' . utils\root_path());
예제 #11
0
<?php

namespace bmtmgr;

require_once dirname(__DIR__) . '/src/common.php';
utils\csrf_protect();
$u = user\check_current();
$u->require_perm('admin');
utils\require_get_params(['id', 'action']);
$season = Season::by_id($_GET['id']);
switch ($_GET['action']) {
    case 'hide':
    case 'show':
        $season->visible = $_GET['action'] == 'show';
        $season->save();
        render_ajax('season/' . $season->id . '/', ['season' => $season]);
        break;
    default:
        header('HTTP/1.1 404 Not Found');
        render('error', ['title' => 'Unbekannte Aktion', 'msg' => 'Entschuldigung, wir haben eine Adresse falsch eingetragen. Die Aktion "' . $_GET['action'] . '" ist nicht implementiert.']);
}