Seite 2 von 153

Verfasst: 27.05.2007 04:43
von fragz
in deiner update anleitung von 011 auf 012 is nen fehler drinne

find

Code: Alles auswählen

$sql = 'SELECT user_id, username, user_type, user_colour, user_allow_viewonline, user_lastpage_time,  [b]user_lastvisit[/b]
		FROM ' . USERS_TABLE . '
		WHERE user_type <> 2
		AND user_lastpage_time > ' . $midnight . '
		ORDER BY user_lastpage_time DESC';
	$result = $db->sql_query($sql);
konnt ich nicht finden! Das dick geschrieben ist zviel!

Ist es möglich das man anststatt
Wer war da?

Insgesamt waren 10 Besucher online :: 4 registrierte, 0 unsichtbare und 6 Gäste (Die Angaben basieren auf den heute aktiven Besuchern)
Der Besucherrekord liegt bei 7 Besuchern, die am 27.05.2007 online waren.

Mitglieder: Fragz (zuletzt um 04:37Uhr), Google [Bot] (zuletzt um 04:32Uhr), MSN [Bot] (zuletzt um 01:43Uhr), Yahoo [Bot] (zuletzt um 00:29Uhr)
Einfach nur
Heute waren schon folgende Online: Fragz, Google [Bot], MSN [Bot], Yahoo [Bot]
[/quote][/code]

Verfasst: 27.05.2007 08:50
von nickvergessen
fragz hat geschrieben:in deiner update anleitung von 011 auf 012 is nen fehler drinne

find

Code: Alles auswählen

$sql = 'SELECT user_id, username, user_type, user_colour, user_allow_viewonline, user_lastpage_time,  [b]user_lastvisit[/b]
		FROM ' . USERS_TABLE . '
		WHERE user_type <> 2
		AND user_lastpage_time > ' . $midnight . '
		ORDER BY user_lastpage_time DESC';
	$result = $db->sql_query($sql);
konnt ich nicht finden! Das dick geschrieben ist zviel!
Danke, hab ich korregiert.
fragz hat geschrieben:Ist es möglich..
Einfach nur
Heute waren schon folgende Online: Fragz, Google [Bot], MSN [Bot], Yahoo [Bot]
ja, ist möglich.
Aber dann wird das mti dem updaten ziemlich schwer...
Naja ich versuchs so kurz wie möglich zumachen:
includes/functions.php
finde 2mal und lösche:

Code: Alles auswählen

&nbsp;(' . $user->lang['WHO_WAS_HERE_LATEST1'] . '&nbsp;' . date ('H:i', $row['user_lastpage_time']) . $user->lang['WHO_WAS_HERE_LATEST2'] . ')
finde und lösche:

Code: Alles auswählen

&nbsp;(' . $user->lang['WHO_WAS_HERE_LATEST1'] . '&nbsp;' . date ('H:i', $row['user_lastvisit']) . $user->lang['WHO_WAS_HERE_LATEST2'] . ')
in der style datei:
finde:

Code: Alles auswählen

         <h3>{L_WHO_WAS_HERE}</h3>
         <p>{WHO_WAS_HERE_LIST2} ({L_WHO_WAS_HERE_EXP})<br />{WHO_WAS_HERE_RECORD}<br /> <br />{WHO_WAS_HERE_LIST}</p>
Ersetze mit:

Code: Alles auswählen

Heute waren schon folgende Online:{WHO_WAS_HERE_LIST}</p>
ich habs jetzt absichtlich nur so gemacht und nicht die ganzen funktionen komplett entfernt, weil so kannst du es leichter wieder zurück bauen.

Verfasst: 27.05.2007 20:08
von MaxMoon
nickvergessen hat geschrieben:Nein, proSilver ist standard.
Und wenn müsste es schon so lauten:
Öffne: styles/subsilver2/templates/index_body.html
Finde:

Code: Alles auswählen

	<!-- ENDIF -->
		<td class="row1" width="100%"><span class="genmed">{TOTAL_USERS_ONLINE}<br />{RECORD_USERS}<br /><br />{LOGGED_IN_USER_LIST}<br /><br />{L_ONLINE_EXPLAIN}</span></td>
Danach, einfügen:

Code: Alles auswählen

		<td class="row1" width="100%"><span class="genmed">{WHO_WAS_HERE_LIST2} ({L_WHO_WAS_HERE_EXP})<br />{WHO_WAS_HERE_RECORD}<br /><br />{WHO_WAS_HERE_LIST}</span></td>
und ohne <br /><br />{L_ONLINE_EXPLAIN}
Ich habe Deine Updateanleitung durchgearbeitet, konnte aber keine Anpassungen für subsilver2 finden :-? Naja, vielleicht bin ich ja blind.

Wenn ich og. Code einbaue, dann stehen die beiden TD's nebeneinander. Ist das so gewollt?

Verfasst: 27.05.2007 20:35
von MaxMoon
Anyway, habe ich mal etwas rumgebastelt.

Code: Alles auswählen

<TABLE CLASS="tablebg" WIDTH="100%" CELLSPACING="1">
		<TR>
		  <TD CLASS="cat" COLSPAN="2">
			 <H4><A HREF="{U_VIEWONLINE}">{L_WHO_IS_ONLINE}</A></H4></TD>
		</TR>
		<TR>
	<!-- IF LEGEND -->
		  <TD CLASS="row1" ROWSPAN="3" ALIGN="center" VALIGN="middle"><IMG SRC="{T_THEME_PATH}/images/whosonline.gif" ALT="{L_WHO_IS_ONLINE}"></TD>
	<!-- ELSE -->
		  <TD CLASS="row1" ALIGN="center" VALIGN="middle" rowspan="2"><IMG SRC="{T_THEME_PATH}/images/whosonline.gif" ALT="{L_WHO_IS_ONLINE}"></TD>
   <!-- ENDIF -->
		  <TD CLASS="row1" WIDTH="100%"><SPAN CLASS="genmed">{TOTAL_USERS_ONLINE}<BR>{RECORD_USERS}<BR><BR>{LOGGED_IN_USER_LIST}<BR><BR>{L_ONLINE_EXPLAIN}</SPAN></TD>



		</TR>
		<TR>
		  <TD CLASS="row1" WIDTH="100%"><SPAN CLASS="genmed">{WHO_WAS_HERE_LIST2}
			 ({L_WHO_WAS_HERE_EXP})<BR>{WHO_WAS_HERE_RECORD}<BR><BR>{WHO_WAS_HERE_LIST}</SPAN></TD>

		</TR>
	<!-- IF LEGEND -->
		<TR>
		  <TD CLASS="row1"><B CLASS="gensmall">{L_LEGEND} :: {LEGEND}</B></TD>
		</TR>
	<!-- ENDIF -->
	 </TABLE>
Ich habe den ROWSPAN auf 3 gesetzt und Deine TD's in einen TR gestellt.

Verfasst: 27.05.2007 21:11
von nickvergessen
nickvergessen hat geschrieben:Nein, proSilver ist standard.
MaxMoon hat geschrieben:Ich habe Deine Updateanleitung durchgearbeitet, konnte aber keine Anpassungen für subsilver2 finden :-? Naja, vielleicht bin ich ja blind.
Also ich hab gesagt das es eine Anleitung für subSilver definitiv nicht geben wird. Dann kannst du es in der Anleitung auch gar nicht finden.

(ach ja und pack doch mal bitte ein Leerzeichen in die überlange Zeile rein (z.B. mach aus <br> ein <br /> das macht kein unterschied in der Wirkung, aber der Rahmen bleibt erhalten)

Verfasst: 27.05.2007 21:13
von MaxMoon
Okay

Verfasst: 29.05.2007 13:28
von redbull254
Hallo,nickvergessen :wink:

ich habe diese Mod erstmal local installiert und dort funktioniert es tadellos.

Nun wollte ich es auch auf meinem Webserver in einem Testforum installieren und bekomme dann eine Fehlermeldung vom SQL Server:
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Unknown column 'user_lastpage_time' in 'field list' [1054]

SQL

UPDATE phpbb3_users SET user_lastpage_time = '1180436739' WHERE user_id = '3'

BACKTRACE

FILE: includes/db/mysql.php
LINE: 133
CALL: dbal_mysql->sql_error()

FILE: includes/functions.php
LINE: 3842
CALL: dbal_mysql->sql_query()

FILE: viewforum.php
LINE: 136
CALL: page_header()
Das Forum kann auch nicht mehr erreicht werden.

Das habe ich local wie auch Online in die SQL eingetragen:
CREATE TABLE phpbb3_wwh_counter_ips (
`ip` VARCHAR( 15 ) NOT NULL ,
PRIMARY KEY ( `ip` )
);
INSERT INTO phpbb3_config( config_name, config_value, is_dynamic )
VALUES ('wwh_counter_date', '0', '1');
INSERT INTO phpbb3_config( config_name, config_value, is_dynamic )
VALUES ('wwh_record_time', '0', '1');
INSERT INTO phpbb3_config( config_name, config_value, is_dynamic )
VALUES ('wwh_counter_ips', '0', '1');
ALTER TABLE `phpbb3_users` ADD `user_lastpage_time` varchar(20) DEFAULT "0" NOT NULL AFTER user_lastpage;
So wirklich verstehe ich das jetzt nicht.

Kannst Du mit helfen?

Verfasst: 29.05.2007 13:57
von nickvergessen
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Unknown column 'user_lastpage_time' in 'field list' [1054]
versuch das hier nochmal in phpmyadmin einzugeben

Code: Alles auswählen

ALTER TABLE `phpbb3_users` ADD `user_lastpage_time` varchar(20)  DEFAULT "0" NOT NULL AFTER user_lastpage;

Verfasst: 29.05.2007 15:12
von redbull254
Ich habe das erstmal aus der Datenbank gelöscht gehabt. Aber scheinbar nicht alles. :oops:

Das steht als Fragment jetzt noch auf der Indexseite:

{ WHO_WAS_HERE }
({ WHO_WAS_HERE_EXP })

zu sehen auf :


Entfernt

Soll ich die SQL Befehle noch mal komplett incl. des neuen Code ausführen ?

Verfasst: 29.05.2007 16:38
von oyano
Hallo zusammen,
der kleine Fehlerteufel hat zugeschlagen.
In der includes/functions.php soll dieser Code (Auszug) eingefügt werden.

Code: Alles auswählen

//---- [ who was here ] ----
	$who_was_here_list = $test = '';
	$wwh_count_total = $wwh_count_visible = $wwh_count_hidden = $wwh_count_guests = $wwh_count_bot = '0';
	$time = time();
	$current_date = date('Ymd', $time);
	$ip = $_SERVER['REMOTE_ADDR'];
	$midnight = mktime(0,0,0,date('m', $time),date('d', $time),date('Y', $time));
	if ( $config['wwh_counter_date'] != $current_date )
	{
		$sql = "UPDATE " . CONFIG_TABLE . "
			SET config_value = '$current_date'
			WHERE config_name = 'wwh_counter_date'";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'ERROR with the who was here mod', '', __LINE__, __FILE__, $sql);
		}
		$sql = "DELETE FROM `phpbb_wwh_counter_ips`";
		if ( !$db->sql_query($sql) )
		{
			message_die(GENERAL_ERROR, 'ERROR with the who was here mod', '', __LINE__, __FILE__, $sql);
		}
	}

....

Damit das Mod (0.1.2) mit jedem Prefix lauffähig ist muss die Zeile

Code: Alles auswählen

$sql = "DELETE FROM `phpbb_wwh_counter_ips`";
durch

Code: Alles auswählen

$sql = "DELETE FROM `" . WWH_TABLE . "`";
ersetzt werden.

Bei mir ist die Tabelle unter phpbb3_wwh_counter_ips hinterlegt und nicht unter phpbb_wwh_counter_ips