function SendVerificationEmail($id) { global $cfg, $db, $mail, $func, $framework, $CurentURL; $verification_code = ''; for ($x = 0; $x <= 24; $x++) { $verification_code .= chr(mt_rand(65, 90)); } $db->qry('UPDATE %prefix%user SET fcode=%string% WHERE userid = %int%', $verification_code, $id); $path = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], "index.php")); if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) { $proto = 'https'; } else { $proto = 'http'; } $verification_link = "{$proto}://{$_SERVER['SERVER_NAME']}:{$_SERVER['SERVER_PORT']}{$path}index.php?mod=usrmgr&action=verify_email&verification_code={$verification_code}"; $row = $db->qry_first('SELECT firstname, name, email FROM %prefix%user WHERE userid = %int%', $id); if (!$_POST['firstname']) { $_POST['firstname'] = $row['firstname']; } if (!$_POST['name']) { $_POST['name'] = $row['name']; } if (!$_POST['email']) { $_POST['email'] = $row['email']; } if (!$mail->create_inet_mail($_POST['firstname'] . ' ' . $_POST['name'], $_POST['email'], t_no_html('Verifizierung deiner eMail Adresse auf %1', $_SERVER['SERVER_NAME']), t_no_html("Du hast sich soeben bei uns auf %1 angemeldet.\r\nDamit du dich bei uns Einloggen kannst, müssen wir jedoch zuerst sicherstellen, dass deine Email korrekt ist.\r\nKlicke zum Verifizieren deiner Email-Adresse bitte auf den folgenden Link\n%2 \n\nErst nach diesem Schritt wird es möglich sein sich auf unserer Seite einzuloggen.", $_SERVER['SERVER_NAME'], $verification_link), $cfg["sys_party_mail"])) { $func->error(t('Es ist ein Fehler beim Versand der Verifikations-Email aufgetreten.')); return 0; } return 1; }
function WriteResult() { global $game, $first, $score1, $gameid1, $name1, $leaderid1, $tournamentid, $lang, $func, $tournament, $mail, $cfg; if ($first) { $first = 0; $score1 = $game['score']; $score1 = $score1 + 0; $gameid1 = $game['gameid']; $name1 = $game['name']; $leaderid1 = $game['leaderid']; } else { $first = 1; $score2 = $game['score']; $score2 = $score2 + 0; $gameid2 = $game['gameid']; $name2 = $game['name']; $leaderid2 = $game['leaderid']; // If no result has been submitted, and both gameids are set and none of the teams is a bye (leaderid = 0) if ($score1 == 0 and $score2 == 0 and $gameid1 != "" and $gameid2 != "" and $leaderid1 and $leaderid2) { // Choose random winner and set score to default win if ($cfg["t_default_win"] == 0) { $cfg["t_default_win"] = 2; } if (rand(0, 1) == 1) { $score1 = $cfg["t_default_win"]; $score2 = 0; } else { $score1 = 0; $score2 = $cfg["t_default_win"]; } $this->SubmitResult($tournamentid, $gameid1, $gameid2, $score1, $score2, t('Ergbnis wurde automatisch gelost, da die Zeit überschritten wurde')); // Log action and send mail $func->log_event(t('Das Ergebnis des Spieles %1 gegen %2 im Turnier %3 wurde automatisch gelost, da die Zeit überschritten wurde', $name1, $name2, $tournament['name']), 1, t('Turnier Ergebnise')); $mail->create_sys_mail($leaderid1, t_no_html('Zeitüberschreitung im Turnier %1', $tournament['name']), t_no_html('Das Ergebnis deines Spieles %1 gegen %2 im Turnier %5 wurde nicht rechtzeitig gemeldet. Um Verzögerungen im Turnier zu vermeiden haben die Organisatoren festgelegt, dass das Ergebnis in diesem Fall gelost werden soll. Das geloste Ergebnis ist: %1 %3 - %2 %4. Falls du denkst diese Entscheidung wurde zu Unrecht getroffen, melden dich bitte schnellstmöglich bei den Organisatoren.', $name1, $name2, $score1, $score2, $tournament['name'])); $mail->create_sys_mail($leaderid2, t_no_html('Zeitüberschreitung im Turnier %1', $tournament['name']), t_no_html('Das Ergebnis deines Spieles %1 gegen %2 im Turnier %5 wurde nicht rechtzeitig gemeldet. Um Verzögerungen im Turnier zu vermeiden haben die Organisatoren festgelegt, dass das Ergebnis in diesem Fall gelost werden soll. Das geloste Ergebnis ist: %1 %3 - %2 %4. Falls du denkst diese Entscheidung wurde zu Unrecht getroffen, melden dich bitte schnellstmöglich bei den Organisatoren.', $name1, $name2, $score1, $score2, $tournament['name'])); } } }
$exp++; } $needed_freilose = pow(2, $exp) - $team_anz; ########## Seeding durchführen ## Teams werden in 2 Array geteilt: Geseedet und Nicht-geseedet $seed_team_liste = array(); $noseed_team_liste = array(); $teams_num = 0; while ($team = $db->fetch_array($teams)) { $teams_num++; if ($team["seeding_mark"]) { array_push($seed_team_liste, $team["leaderid"]); } else { array_push($noseed_team_liste, $team["leaderid"]); } $mail->create_sys_mail($team['leaderid'], t_no_html('Turnier %1 generiert', $tournament['name']), t_no_html('Die Rundes des Turniers %1 wurden soeben generiert. Wir bitte dich, direkt mit dem ersten Spiel anzufangen, damit es keine unnötge Verzögerung im Turnier gibt. Viel Erfolg!', $tournament['name'])); } $seeded_teams_num = count($seed_team_liste); ## Jedes wie vielte Element soll geseedet werden? $seeded_teams_num ? $seed_this = ceil($teams_num / $seeded_teams_num) : ($seed_this = 0); ## Die beiden Arrays wieder sortiert zu einem zusammenfügen $team_liste = array(); for ($akt = 1; $akt <= $teams_num; $akt++) { $error = 0; if ($seed_this && $akt % $seed_this == 1) { if (!($akt_leaderid = array_shift($seed_team_liste))) { $error = 1; } } else { if (!($akt_leaderid = array_shift($noseed_team_liste))) { $error = 1;
function kick($teamid, $userid) { global $db, $lang, $func, $mail; if ($teamid == "") { $func->error(t('Du hast kein Team ausgeählt!')); return false; } if ($userid == "") { $func->error(t('Du hast keinen Benutzer ausgewählt!')); return false; } // Select Output information $t = $db->qry_first("SELECT t.name\n FROM %prefix%tournament_tournaments AS t\n LEFT JOIN %prefix%t2_teammembers AS m ON t.tournamentid = m.tournamentid\n WHERE (m.userid = %int%) AND (m.teamid = %int%)\n ", $userid, $teamid); $user = $db->qry_first("SELECT username FROM %prefix%user WHERE userid = %int%", $userid); $team = $db->qry_first("SELECT name FROM %prefix%t2_teams WHERE teamid = %int%", $teamid); // Is the tournament finished? if ($t["status"] == "closed") { $func->information(t('Dieses Turnier läuft bereits!')); return false; } // Perform Action $db->qry("DELETE FROM %prefix%t2_teammembers WHERE (userid = %int%) AND (teamid = %int%)", $userid, $teamid); // Create Outputs $mail->create_sys_mail($userid, t_no_html('Du wurdest im Turnier %1 aus deinem Team geworfen', $t["name"]), str_replace("%NAME%", $t["name"], t_no_html('Der Ersteller dieses Teams hat dich soeben aus seinem Team entfernt. Dies bedeutet, dass du nun nicht mehr zu dem Turnier \'%NAME%\' angemeldet bist.'))); $func->log_event(t('Der Benutzer %1 wurde vom Teamadmin aus dem Team %2 geworfen', $user["username"], $team['name']), 1, t('Turnier Teamverwaltung')); return true; }