Anzeige nächstes Quiz im Index & Portal

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Anzeige nächstes Quiz im Index & Portal

Beitrag von modbo »

Ich würde gerne die Anzeige aus der Quiz-FAQ "Die nächste Quizfrage wird z. B. am Do 03.Feb, 2005 04:00 vom Quizbot gepostet" in den Index, bzw. Portal übernehmen.

Datum und Uhrzeit werden in der quiz.php generiert ($next_quiz)
case 'faq':
$quiz->get_config();
$next_quiz = create_date($board_config['default_dateformat'], $quiz->config['next_quiz'], $board_config['board_timezone']);
$next_quiz_step = $quiz->config['next_quiz_step'] . ' ' . $lang['quiz_step_mode'][ $quiz->config['next_quiz_step_mode'] ];
include($phpbb_root_path . 'language/lang_' . $board_config['default_lang'] . '/lang_quiz_faq.' . $phpEx);
...
Im Prinzip kann es nicht schwer sein, diese Information auszulesen ... für mich aber schon :rolleyes:


Kann mir dort jemand behilflich sein?
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ganz einfach. :)
Setz in die portal.php, oberhalb von

Code: Alles auswählen

// Generate the page
$template->pparse('body');
diesen code

Code: Alles auswählen

// Next Quiz time
$quiz->get_config(); 
$next_quiz = create_date($board_config['default_dateformat'], $quiz->config['next_quiz'], $board_config['board_timezone']);
$template->assign_vars(array(
	'NEXT_QUIZ' => $next_quiz)
);
//
Dann hast du im platzhalter

Code: Alles auswählen

{NEXT_QUIZ}
das Datum und die Uhrzeit der nächsten Quizfrage (in abhängigkeit des im ACP eingestellten Datumsformat), den du dann beliebig in der portal_body.tpl platzieren kannst. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

Ich hab es in die index.php eingebaut.

Leider kommt dann:
Fatal error: Call to a member function on a non-object in /www/htdocs/xxx/forum/index.php on line 590
In Zeile 590 steht: $quiz->get_config();

Ist das nicht irgendwie ... create_date ...

Es gibt noch eine quiz.php. Die steckt allerdings unter includes. Dort ist $netx_quiz auch noch einmal enthalten:
if ( $this->config['next_quiz_step_mode'] > 2 )
{
eval ('$next_quiz = mktime(' . $t . ');');
}
else
{
$next_quiz = $this->config['next_quiz'] + round( $t * $this->config['next_quiz_step'] );
}
$sql = "UPDATE " . QUIZ_CONFIG_TABLE . "
SET config_value = '$next_quiz'
WHERE config_name = 'next_quiz'";
if ( !$db->sql_query($sql) )
{
$this->notify_admin('Could not update next_quiz time', __LINE__, __FILE__, $sql);
return false;
}
return $next_quiz;
Kann man das ggf. irgendwie aus der DB saugen? Ich kann den Code nicht interpretieren. Ist nur so ne Vermutung.

//edit: In der DB steht dort 1107403200. Umgewandelt bedeutet das 03.02.2005 - 05:00. Das passt.
Zuletzt geändert von modbo am Mi 02.Feb, 2005 15:35, insgesamt 3-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ok, wen obiger Code nicht läuft, dann machen wir es halt so: :D

Code: Alles auswählen

#
#----------[ OPEN ]-------------------------------------
#

language/lang_german/lang_main.php

#
#----------[ FIND ]-------------------------------------
#

$lang['Quiz_answer_hidden'] = "Die Antworten werden erst angezeigt wenn das Quiz beendet wurde.";

#
#----------[ AFTER, ADD ]-------------------------------
#

$lang['Next_quiz'] = "Die nächste Quizfrage wird am %s gestellt.";

#
#----------[ OPEN ]-------------------------------------
#

language/lang_english/lang_main.php

#
#----------[ FIND ]-------------------------------------
#

$lang['Quiz_answer_hidden'] = "The answer is only shown if the quiz is finished.";

#
#----------[ AFTER, ADD ]-------------------------------
#

$lang['Next_quiz'] = "Next quiz question will post at %s.";

#
#----------[ OPEN ]-------------------------------------
#

index.php

#
#----------[ FIND ]-------------------------------------
#

//
// Generate the page
//

#
#----------[ BEFORE, ADD ]------------------------------
#

// Next Quiz time
$sql = "SELECT * FROM " . QUIZ_CONFIG_TABLE;
if ( $result = $db->sql_query($sql) )
	{
		while ( $row = $db->sql_fetchrow($result) )
		{
			$quiz_config[$row['config_name']] = $row['config_value'];
		}
	}
	else
	{
		message_die(GENERAL_ERROR, 'Could not query quiz_config information', '', __LINE__, __FILE__, $sql);
	}
$next_quiz = create_date($board_config['default_dateformat'], $quiz_config['next_quiz'], $board_config['board_timezone']);
$template->assign_vars(array(
	'NEXT_QUIZ' => sprintf($lang['Next_quiz'], $next_quiz)
));
//

#
#----------[ OPEN ]-------------------------------------
#

index_body.tpl

#
#----------[ FIND ]-------------------------------------
#

  <tr> 
	<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
  </tr>

#
#----------[ AFTER, ADD ]-------------------------------
#

  <tr>
	<td class="row1" align="left"><span class="gensmall">{NEXT_QUIZ}</span></td>
  </tr>

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Nein, der Code wird hier nicht eingebaut!
Darüber haben wir uns schliesslich schon lange geärgert :D :cool:
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

[quote="oxpus - Mi 02.Feb, 2005 16:11";p="22306"]Nein, der Code wird hier nicht eingebaut!
Darüber haben wir uns schliesslich schon lange geärgert :D :cool:[/quote]
Musst du ja nicht :D auch wenn ich das mit dem ärgern jetzt nicht verstehe.

@Amiga: Ich werds nachher ausprobieren. Danke.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich weis was oxpus meint und kann das gut verstehen.
Selber hab ich den Code zwar im Portal drin, aber nur sichtbar für Admins! :)

// EDIT
Programmiertechische frage an oxpus:
Lässt sich die DB-Abfrage in meinem Snippet noch optimieren, oder ist das ok so?
(Ich lese mit absicht die komplette quiz_config aus!)
Zuletzt geändert von AmigaLink am Mi 02.Feb, 2005 16:35, insgesamt 1-mal geändert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Programmiertechische frage an oxpus:
Lässt sich die DB-Abfrage in meinem Snippet noch optimieren, oder ist das ok so?
Noch kürzer bekomme ich das auch nicht hin.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

>Ich weis was oxpus meint und kann das gut verstehen.

Wird das mal ne Qiuzfrage ;) oder erläutert ihr mir das mal?
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

@ oxpus
Cool - danke, ich tue mich bei DB-abfragen nämlich noch etwas schwer. :heiss:

@ modbo
Wir haben die Erfahrung gemacht das es nicht soooo gut ist wenn die User den Termin für die nächste Quizfrage kennen. Einige gehen nämlich dann hin und kommen genau zur angegeben Zeit (manche sogar nur dann), um erster bei der Frage zu sein! :rolleyes:
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ganz einfach:
Hier wird immer wieder darüber diskutiert, zu spät/früh für die nächste Quizfrage zu sein und andere heimsen sich die Punkte ein.
Ich verrate nicht, wann die nächste Frage kommt und daher wird dieser Code hier auch nicht eingebaut ;)

EDIT
:lol: Zeitgleich. Mal wieder ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich verrate nicht, wann die nächste Frage kommt
Ich auch nicht!
Hab extra diese angabe aus der Quiz-Faq rausgenommen und für den intervall eine (ungerade) kommazahl eingestellt, damit selbst aufmerksame User schwierigkeiten haben den nächsten termin zu ermitteln. ;)
Zeitgleich. Mal wieder
Ich war nen hauch schneller! :p ^a
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Einen schwachen Hauch. 2 Sekunden lt. DB ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Beitrag von modbo »

LOL

Alles klar. Hab ich mir fast gedacht, nur nicht vorher geschaut, ob ihr die Info aus der FAQ ausgebaut hab ;)
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Und wie würde die Information aus der FAQ ausgebaut? Bitte komplett erläutern mit der *.PHP & *.TPL Datei...

Danke schonmal...

Gruß SuesseMaus28884
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Code: Alles auswählen

#
#----------[ OPEN ]-------------------------------------
#

language/lang_xxx/lang_quiz_faq.php

#
#----------[ FIND ]-------------------------------------
#

$faq[] = array("Wie werden die Quizfragen gestellt?", "Die Quizfragen werden im Abstand von $next_quiz_step automatisch vom Quizbot gestellt. Die nächste Quizfrage wird z. B. am $next_quiz vom Quizbot gepostet.");

#
#----------[ REPLACE WITH ]-----------------------------
#

//$faq[] = array("Wie werden die Quizfragen gestellt?", "Die Quizfragen werden im Abstand von $next_quiz_step automatisch vom Quizbot gestellt. Die nächste Quizfrage wird z. B. am $next_quiz vom Quizbot gepostet.");

#
#----------[ FIND ]-------------------------------------
#

if ( $quiz->check_mod_auth($userdata, true) )
{

#
#----------[ BEFORE, ADD ]------------------------------
#

/*

#
#----------[ FIND ]-------------------------------------
#

//
// This ends the FAQ entries

#
#----------[ BEFORE, ADD ]------------------------------
#

*/

#
#----------[ SAVE AND CLOSE ALL FILES ]-----------------
#
# EoM
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Code: Alles auswählen

# 
#----------[ FIND ]------------------------------------- 
# 

if ( $quiz->check_mod_auth($userdata, true) ) 
{ 
ist sicher nicht in der language/lang_xxx/lang_quiz_faq.php mit dabei.

Dies müsst in eine andere Datei sein :)

Jedenfalls Danke schonmal :)
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

^^ Doch es ist in der lang_quiz_faq.php !!!
Deswegen kann man diese auch nicht über die faq.php anzeigen lassen. Sondern nur über quiz.php?mode=faq . :(
Nach dieser änderung funktioniert die Anzeige auch über die faq.php. :D
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Aso, naja lol hatte den MOD noch nicht installiert dachte nur das in solche lang dateis nur so $lang... stehen.

Wollte es nur schonmal vorweg wissen, da ich die nächste Tage den jetzt einbaue werde :)

Danke dir jedenfalls.

Gruß SuesseMaus28884
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Im Album werden in Lang-Files auch andere Dateien includiert (je nach Add-On).
Ist also normal, daß dort nicht nur $lang['...']'s enthalten sind.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
Christian_N
Beiträge: 1787
Registriert: Sa 19.Feb, 2005 21:48
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von Christian_N »

Nun jetzt weiss ich es ja danke für die ausführliche Information :)
Hatte es nur bisher nicht gewusst da ich noch so eine lang-datei hatte.

Gruß SuesseMaus28884
Meine Projekte: Chantals - Fanpage .::. phpBB Projekt
Antworten