[Final] Version 1.2014.0 - Formel 1 WebTipp - phpBB3
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
OK, here we go:
Öffne die Datei viewtopic.php
SUCHE:
DAVOR EINFÜGEN:
Öffne die Datei viewtopic_body.html
SUCHE:
DANACH EINFÜGEN:
Aber Achtung: Das ganze kann auf die Serverlast gehen, da bei jedem aufgelistetem Beitrag für jeden User die Formel 1 Punkte ermittelt werden müssen!
Öffne die Datei viewtopic.php
SUCHE:
Code: Alles auswählen
// Dump vars into template
Code: Alles auswählen
//
// F1 WebTipp
//
include_once($phpbb_root_path . 'includes/functions_formel.'.$phpEx);
$formel_config = get_formel_config();
$user->setup('mods/formel');
if ( $formel_config['show_in_profile'] )
{
// Check if this user has one of the formular 1 admin permission. If this user has one or more of these permissions, he gets also moderator permissions.
$is_admin = $auth->acl_gets('a_formel_settings', 'a_formel_drivers', 'a_formel_teams', 'a_formel_races');
if ( $formel_config['restrict_to'] == 0 || get_formel_auth() || $is_admin == 1 || $user->data['user_id'] == $formel_config['mod_id'] )
{
$tippers_rank = $user->lang['formel_profile_norank'];
$tippers_points = 0;
$race_done = 0;
// Get tipp data for this user
$sql = 'SELECT *, sum(tipp_points) as total_points, count(tipp_points) as tipps_made
FROM ' . FORMEL_TIPPS_TABLE . '
GROUP BY tipp_user
ORDER BY total_points DESC';
$result = $db->sql_query($sql);
$rank_count = $real_rank = 1;
$previous_points = false;
while ($row_f1 = $db->sql_fetchrow($result))
{
if($row_f1['total_points'] != $previous_points)
{
$rank_count = $real_rank;
$previous_points = $row_f1['total_points'];
}
if ( $row_f1['tipp_user'] == $poster_id )
{
$tippers_points = $row_f1['total_points'];
$race_done = $row_f1['tipps_made'];
$tippers_rank = sprintf($user->lang['formel_profile_rank'], $rank_count);
break;
}
$real_rank++;
}
$db->sql_freeresult($result);
// Count total races with existing results
$sql = 'SELECT *
FROM ' . FORMEL_RACES_TABLE . '
WHERE race_result <> 0';
$result = $db->sql_query($sql);
$race_total = $db->sql_affectedrows($result);
$db->sql_freeresult($result);
$formel1 = array(
'L_PROFILE_WEBTIPP' => $user->lang['formel_profile_title'],
'TIPPER_POINTS' => $tippers_points,
'TIPPER_RANK' => $tippers_rank,
'RACE_DONE' => sprintf($user->lang['formel_profile_tipps'], $race_done, $race_total),
'U_FORMEL_STATS' => append_sid("formel.$phpEx?mode=stats"),
);
$postrow = array_merge($postrow, $formel1);
//echo "<pre>";print_r($postrow);echo "</pre>";die();
}
}
//
// END of F1 WebTipp
//
SUCHE:
Code: Alles auswählen
<!-- IF postrow.POSTER_FROM --><dd><strong>{L_LOCATION}:</strong> {postrow.POSTER_FROM}</dd><!-- ENDIF -->
Code: Alles auswählen
<!-- IF postrow.TIPPER_POINTS --><dd><strong>{postrow.L_PROFILE_WEBTIPP} : {postrow.TIPPER_POINTS}<br /><a href="{postrow.U_FORMEL_STATS}" class="genmed">{postrow.TIPPER_RANK}</a></strong><br />({postrow.RACE_DONE})</dd><!-- ENDIF -->
Aber Achtung: Das ganze kann auf die Serverlast gehen, da bei jedem aufgelistetem Beitrag für jeden User die Formel 1 Punkte ermittelt werden müssen!
Hallole Dr. Death,
super! Es funktioniert einwandfrei. Es ist auch nicht langsamer geworden.
Das mit den Bildern hab ich jetzt auch hinbekommen. Irgendwie hab ich das mit dem Ortner falsch verstanden gehabt. Ich hatte einen Ortner /f1/Strecken.... usw. angelegt.
Das war der Fehler.
Jetzt geht alles.
Danke und Grüßle
Wollez
super! Es funktioniert einwandfrei. Es ist auch nicht langsamer geworden.
Das mit den Bildern hab ich jetzt auch hinbekommen. Irgendwie hab ich das mit dem Ortner falsch verstanden gehabt. Ich hatte einen Ortner /f1/Strecken.... usw. angelegt.


Jetzt geht alles.
Danke und Grüßle
Wollez
Hallo Dr.Death,
das Tippspiel ist echt gelungen, Glückwunsch dazu.
Jetzt hat mich einer meiner User darauf hingewiesen, dass man auch nach der Deadline noch die Tipps ändern kann. Zwar nicht vom Tippspiel selber aus, weil das Formular nach der Deadline gesperrt ist, aber man kann wenn man den Code kennt ein eigenes Formular auf einer externen Seite erstellen und damit die Tipps im nachhinein ändern.
Was kann ich tun, um zu verhindern, dass die Leute schummeln?
das Tippspiel ist echt gelungen, Glückwunsch dazu.
Jetzt hat mich einer meiner User darauf hingewiesen, dass man auch nach der Deadline noch die Tipps ändern kann. Zwar nicht vom Tippspiel selber aus, weil das Formular nach der Deadline gesperrt ist, aber man kann wenn man den Code kennt ein eigenes Formular auf einer externen Seite erstellen und damit die Tipps im nachhinein ändern.
Was kann ich tun, um zu verhindern, dass die Leute schummeln?
Die aktuellste Version 0.1.26 verwenden.
Dann kannst Du im Userlog sehen, wer durch Cheaterei nach der Deadline den Tipp bearbeitet hat.
Ansonsten sende mir bitte per PN wie das "Cheater" Formular aussieht.
EDIT: Das "nachgemachte" Formular besitzt keinen gültigen "Token" und wird daher auch korrekt abgewiesen.
Dann kannst Du im Userlog sehen, wer durch Cheaterei nach der Deadline den Tipp bearbeitet hat.
Ansonsten sende mir bitte per PN wie das "Cheater" Formular aussieht.
EDIT: Das "nachgemachte" Formular besitzt keinen gültigen "Token" und wird daher auch korrekt abgewiesen.