Schon gewusst?

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!
modbo
Beiträge: 1344
Registriert: Mo 13.Dez, 2004 11:18
Kontaktdaten:

Schon gewusst?

Beitrag von modbo »

Quelle: http://www.dseitz.de

In diesem Mod wird folgender Code verwendet:

Code: Alles auswählen

page_header.php
#
#-----[ AFTER, ADD ]------------------------------------------
#
//
// Generate 'Schon Gewusst?'
//
$random_file = $phpbb_root_path . 'schon_gewusst.txt';
$random = file($random_file);

srand();
$randomizer = rand(0, count($random) );
$znumber = rand(1, 2);

if( !isset($random[$randomizer]) )
{
   $random[$randomizer] = 'Mehr Mods wie diesen gibts <a href="http://www.dseitz.de">hier</a>';
}

#
#-----[ FIND ]------------------------------------------
#
   'PRIVMSG_IMG' => $icon_pm,

#
#-----[ AFTER, ADD ]------------------------------------------
#
   'ZMESSAGE' => $random[$randomizer],
   'ZNUMBER' => $znumber,
D.h. entweder wird eine Anzeige aus der schon_gewusst.txt angezeigt, oder der Text 'Mehr Mods wie ...'

Ich hätte gerne, dass alle Anzeigen aus der txt kommen, meinetwegen auch der Hinweis auf den Autor.
Wenn ich den Abschnitt if( .... } einfach nur entferne, erscheint jedoch teilweise eine leere Anzeige.

Kann mir jemand sagen, wie man das ändern muss, damit es funktioniert?
Zuletzt geändert von modbo am Do 17.Feb, 2005 10:45, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Um hier auch einen Autor mir anzuzeigen, müsste der zunächst auch in der txt-Datei enthalten und irgendwie vom Text getrennt sein (z.B. Semikolon).
Dann kann man den hier mit darstellen.
Dazu wäre dann eine Trennung der Texte mit explode() nötig, womit dann Text und Autor nun dargestellt werden könnten.

Aber: Was für einen Autor willst Du denn haben? Den der einzelnen Texte? Den des Mods?
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 »

Ja, nee. Ich will im Prinzip nur den Abschnitt

Code: Alles auswählen

if( !isset($random[$randomizer]) ) 

{ 

   $random[$randomizer] = 'Mehr Mods wie diesen gibts <a href="http://www.dseitz.de">hier</a>'; 

} 
dort aus der page_header heraus haben. Alles, was Angezeigt wird (die Texte) sollen aus der txt kommen.
Wenn man den aber einfach löscht, kommt dann irgendwann er per Zufall eine leere Anzeige.

Das mit dem Autor habe ich erwähnt, weil es sich nicht in seinem Sinne ist, diese Passage einfach zu streichen.
Zuletzt geändert von modbo am Do 17.Feb, 2005 12:45, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann

Code: Alles auswählen

$randomizer = rand(0, count($random) ); 
$znumber = rand(1, 2); 

if( !isset($random[$randomizer]) ) 
{ 
   $random[$randomizer] = 'Mehr Mods wie diesen gibts <a href="http://www.dseitz.de">hier</a>'; 
}
mit diesem ersetzen:

Code: Alles auswählen

do
{
$randomizer = rand(0, count($random) ); 
$znumber = rand(1, 2); 
}
while ($random[$randomizer]) != '' );
Theoretisch ^6
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 »

Praktisch kommt dann

Code: Alles auswählen

Parse error: parse error, unexpected T_IS_NOT_EQUAL, expecting ';' in /www/htdocs/furinf/phpBB2/includes/page_header.php on line 436
Da spricht er die Zeile mit while an ^2
Zuletzt geändert von modbo am Do 17.Feb, 2005 13:47, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Äh ja. So wäre die dann auch korrekt:

Code: Alles auswählen

while ($random[$randomizer] != '' );
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 »

Mmmh. Der Parse error ist weg, aber nun wird gar nichts mehr ausgegeben. Der Text wird nicht angezeigt.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

:eek:
Ui,
dann muss ich doch mal selber testen...

Wie schaut eigentlich Deine Text-Datei aus? Mit Leerzeilen oder ohne?
Und nimm dann doch mal

Code: Alles auswählen

while (!isset($random[$randomizer]));
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 »

>Text-Datei
Ist noch die selbe, wie im Mod begelegt
schon_gewusst.txt

Code: Alles auswählen

Die Wand ist rot
Schönes Wetter heute
Noch schöneres Wetter, nicht wahr?
>nimm doch mal
*freu* Das scheint zu funktionieren

Danke !!!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Yepp. Denn das andere wäre (halt zwar nur etwas anders ausgedrückt), das genaue Gegenteil davon. Es hies ja auch: Führe solange aus, bis $random[$randomizer] leer ist. Also mit anderen Worten: Zeige nichts an :(
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 »

Eine wirklich schöne Sache :)

Wenn du dein Werk mal betrachten möchtest ... [klick] ;)
So lässt sich dezent immer wieder auf nützliche Funktionen des Boards hinweisen.

Wenn ich jetzt so ein Skriptking wäre, könnte ich mir folgendes vorstellen:
- Texte und URLs editierbar über ACP
- Texte werden in der Datenbank abgelegt
- Aktivier/deaktivierbare Scollfunktion (marquee), Texte scrollen durch

Vielleicht hat ja mal jemand Lust, sich daran zu versuchen ;)
Zuletzt geändert von modbo am Do 17.Feb, 2005 20:28, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Wenn ich jetzt so ein Skriptking wäre, könnte ich mir folgendes vorstellen:
- Texte und URLs editierbar über ACP
- Texte werden in der Datenbank abgelegt
- Aktivier/deaktivierbare Scollfunktion (marquee), Texte scrollen durch

Vielleicht hat ja mal jemand Lust, sich daran zu versuchen
Das gibt's bereits!
Zum einem gibt´s den Random Quote, den du jetzt verwendet hast, auch mit Datenbankunterstützung (allerdings kann man die Einträge nicht editieren, sondern nur löschen und neue hinzufügen).
Und zum anderem gibt es einen Mod (ich glaube er heist "Board Message") der Scolling unterstützt und sogar Nachrichten auf bestimmte Foren sowie auf User/Gäste beschränkt! :)
[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 »

Nach Board Message kann ich ja mal suchen, aber bei Random Quote wirds dann wohl schwierig.
Aber ich schau mal. Thx.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Den Random Quote kann ich dir schicken, den benutze ich nämlich. :D
Ich müsste ich allerdings zusammen suchen, denn die Datenbankunterstützung und der dazugehörige ACP-teil sind (glaube ich) von verschiedenen Autoren und wenn ich das richtig im Kopf habe, hab ich selber auch noch ein wenig daran rumgestrickt. ^2
Ich hab auch bereits seit ewigen zeiten vor, den ACP-teil um eine Editfunktion zu erweitern. Aber die ist mir nicht wirklich wichtig, von daher verschiebe ich das andauernd. :rolleyes:
Zuletzt geändert von AmigaLink am Do 17.Feb, 2005 23:35, insgesamt 1-mal geändert.
[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 »

>Schicken
Das wäre fein. Hab gestern mal 10min versucht etwas zu ersuchen, konnte aber nichts finden.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Jetzt muss ich weg und morgen bin ich ausgebucht.
Ich schau mal ob ich dir das morgen abend zusammensuchen kann und schicks dann raus. :)
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ich hängs hier mal an.
Wie gesagt ich kann keine aussage mehr über den bzw. die Autoren machen, denn wenn ich mich recht erinnere hab ich mir das mal aus verschiedenen 'Random Quotes Mods' zusammengestrickt (ist schon ein weilchen her)!

// EDIT
Ach ja - der Board Message den ich oben meinte ist der "Board Message XL" von Shannado ^q
Zuletzt geändert von AmigaLink am Mo 21.Feb, 2005 21:21, insgesamt 1-mal geändert.
[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 »

Kewl :cool: Danke. Ich probiers gleich aus :)

//edit: Schmeisst er mir nen Fehler vor

Code: Alles auswählen

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /www/htdocs/furinf/phpBB2/portal.php on line 1083

### portal.php ###
1079: //Start Quote
1080: srand((double)microtime()*1000000);
1081: $sql = "SELECT quote, author FROM " . QUOTE_TABLE . "  ORDER BY rand()";
1082: $result = $db->sql_query($sql);
1083: while ($row = mysql_fetch_array($result))
1084: {
1085:    $quote = $row['quote'];
1086:    $author = $row['author'];
1087: }
Tabelle phpbb_quote existiert in der DB.
Zuletzt geändert von modbo am Mo 21.Feb, 2005 22:05, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Ups, da fehlt noch der eintrag in der includes/constans.php.

Code: Alles auswählen

// Quote
define('QUOTE_TABLE', $table_prefix.'quote');
Füg das einfach vor ?> ein. :)
[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 »

Jo, der Fehler ist weg. Allerdings bleibt die Ausgabe leer ^2
Zuletzt geändert von modbo am Mo 21.Feb, 2005 22:41, insgesamt 2-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Die Ausgabe bleibt leer? :eek:
[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 »

Jupp. Guckst du hier, Screenshot von meinem Testboard:
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Das kann ich jetzt aber überhaupt nicht nachvollziehen. ^1
Ich habe exact diesen code in zwei Boards problemlos am laufen (1x plus & 1x selbstgemoddet)! ^2
Datenbankeinträge sind aber wirklich vorhanden?
Füg mal noch ein paar dazu, ich hab ihn selber nie mit nur 2 Einträgen getestet. Kanns mir zwar nicht vorstellen, aber vielleicht verschluckt er ja diese beiden!? :(
[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 »

Hab welche hinzugefügt, ändert nichts. Im ACP werden die Einträge auch alle angezeigt.
Ich kontrollier den MOD-Einbau nochmal.

//edit: Ich kann keinen Fehler finden. Ist ja auch nur copy & paste. Muss da noch was in die page_header? Ich denke mal die Variablen {QUOTE}{AUTHOR} werden nicht übergeben .... irgendwie ... oder so.
Zuletzt geändert von modbo am Di 22.Feb, 2005 17:36, insgesamt 1-mal geändert.
Benutzeravatar
AmigaLink
Beiträge: 5843
Registriert: Mi 03.Mär, 2004 09:05
Wohnort: NRW
Kontaktdaten:

Beitrag von AmigaLink »

Änder mal in der portal.php

Code: Alles auswählen

    'QUOTE' => $quote,
    'AUTHOR' => $quote_author)
in

Code: Alles auswählen

    'RANDOM_QUOTE' => $quote,
    'RANDOM_QUOTE_AUTHOR' => $quote_author)
und entsprechend in der portal_body.tpl

Code: Alles auswählen

{QUOTE}{AUTHOR}
in

Code: Alles auswählen

{RANDOM_QUOTE}{RANDOM_QUOTE_AUTHOR}
ab.
Vielleicht werden die Orginalen ja bereits irgendwie verwendet.

Wenn das nicht geht, häng mal deine Dateien an. Ich schau dann mal ob ich was finden kann das hier blockiert.
[center].: Web Relax .::. Essen mit Freude .::. AmigaLink.de :.
______________________________________

Kein Support per PM, ICQ oder eMail!!!
[/center]
Antworten