Inhaltsverzeichnis

Items für Forumbeiträge

Idee verworfen; bleibt aber hier, falls jemand sowas realisieren möchte :)

Idee

Für neue Themen und/oder Beiträge bekommt man am Ende eines Monats eine Belohnung in Minecraft.

Ziel

Nach einer Auswertung muss man auf dem Server nur noch das Shell-Script mit Angabe des Benutzers starten; dieser muss gerade auf dem Server sein und Platz im Inventar haben und bekommt dann per give die Gegenstände die das Script ermittelt hat.

Berechung

Dabei gibt es x*Item für normale Beiträge und 3x*Item für neu begonnene Themen; dies ist aber nur eine Idee und muss noch diskutiert werden.

Auswertung

Als Forum verwenden wir phpbb3. Die folgenden MySQL-Abfragen werden verwendet.

(Ich bin ein Anfänger was SQL angeht, kann also noch fehlerhaft sein, auch wenn es zu passen scheint.)

„forum_id=15“ ist unser Spambereich und wird nicht mitgezählt.

Für Beiträge (Posts)

SELECT phpbb_users.user_id,phpbb_users.username,COUNT(*) AS Posts from phpbb_posts INNER JOIN phpbb_users on phpbb_posts.poster_id = phpbb_users.user_id WHERE forum_id<>15 AND post_time>=0 AND post_time<=1329573684 GROUP BY phpbb_users.user_id ORDER BY phpbb_users.user_id ASC;

Für Themen (Topics)

SELECT phpbb_users.user_id,phpbb_users.username,COUNT(*) AS Topics from phpbb_topics INNER JOIN phpbb_users on phpbb_topics.topic_poster = phpbb_users.user_id WHERE forum_id<>15 AND topic_time>=0 AND topic_time<=1329573684 GROUP BY phpbb_users.user_id ORDER BY phpbb_users.user_id ASC;

Shell-Funktion für Anfangs- und Endzeit

get_dates () 
{ 
    _date_from=$1;
    _date_to=$2;
    _timestamp_from=$(date "+%s" --date="$_date_from");
    _timestamp_to=$(date "+%s" --date="$_date_to");
    echo "From ($_timestamp_from), to ($_timestamp_to)"
}

Aufruf

get_dates 2012-01-01 2012-01-31
From (1325372400), to (1327964400)

Todo