Seite 1 von 2

Frage zum Last Visit Mod(Einbau)...

Verfasst: 05.06.2005 20:13
von phpBBNoob
Hi,

diesmal Frage ich bevor ich es verbocke... werde irgendwie nicht schlau aus dem Part hier:

Code: Alles auswählen

# 
#-----[ FIND ]------------------------------------------------ 
#
if (
{// (
$last_visit = (

$sql = "UPDATE " . USERS_TABLE . " 
SET

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
if

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
{

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
//

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
user_lastvisit = $last_visit

# 
#-----[ IN-LINE AFTER, ADD ]---------------------------------- 
#
, user_lastlogon = " . time() .  ", user_totallogon=user_totallogon+1
und bei mir sieht ja der Code so bisher aus:

Code: Alles auswählen

if ( $user_id != ANONYMOUS )
	{// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( 
		$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 

		if (!$admin)
		{
			$sql = "UPDATE " . USERS_TABLE . " 
				SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
				WHERE user_id = $user_id";
			if ( !$db->sql_query($sql) )
			{
				message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
			}
		}

		$userdata['user_lastvisit'] = $last_visit;

		$sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid'];
		$sessiondata['userid'] = $user_id;
	}
Mein Problem ist, ich werde nicht schlau welches if und welche Klammern gemeint sind und ich jetzt deswegen erstmal keinen Fehler machen will...

Wäre nett wenn mir einer helfen kann :)

Verfasst: 05.06.2005 20:41
von Markus67
Hi ...

so sollte es danach aussehen .. :wink:

Code: Alles auswählen

// if ( $user_id != ANONYMOUS ) 
// {// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( 
      $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 

      if (!$admin) 
      { 
         $sql = "UPDATE " . USERS_TABLE . " 
            SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit, user_lastlogon = " . time() .  ", user_totallogon=user_totallogon+1 
            WHERE user_id = $user_id"; 
         if ( !$db->sql_query($sql) ) 
         { 
            message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql); 
         } 
      } 

      $userdata['user_lastvisit'] = $last_visit; 

      $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid']; 
      $sessiondata['userid'] = $user_id; 
   }
Markus

Verfasst: 05.06.2005 20:49
von easygo
Hm, ich glaub eher so...

Code: Alles auswählen

// if ( $user_id != ANONYMOUS ) 
// {// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : ( 
      $last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time; 

      if (!$admin) 
      { 
         $sql = "UPDATE " . USERS_TABLE . " 
            SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit, user_lastlogon = " . time() .  ", user_totallogon=user_totallogon+1 
            WHERE user_id = $user_id"; 
         if ( !$db->sql_query($sql) ) 
         { 
            message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql); 
         } 
      } 

      $userdata['user_lastvisit'] = $last_visit; 

      $sessiondata['autologinid'] = (!$admin) ? (( $enable_autologin && $sessionmethod == SESSION_METHOD_COOKIE ) ? $auto_login_key : '') : $sessiondata['autologinid']; 
      $sessiondata['userid'] = $user_id; 
// }

Verfasst: 05.06.2005 20:51
von Markus67
@easygo ....

das steht dann aber erst weiter unten in der Anleitung ... und die wurde nicht gepostet :wink:

Markus

Verfasst: 05.06.2005 21:59
von phpBBNoob
jo super danke :)
sowei so gut hat ja alles geklappt, den fehler in der deutschen Uebersetzung konnte ich noch wegmachen, aber nun zeigt er mir einen Fehler in der index.php an mit dem ich nix anfangen kann :(

Code: Alles auswählen

 
Couldn't retrieve user today data

DEBUG MODE

SQL Error : 1054 Unknown column 'user_lastlogon' in 'field list'

SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM phpbb_users WHERE user_id!="-1" AND user_session_time >= 1117922400 AND user_session_time< 1118008799 ORDER BY username

Line : 274
File : index.php
 
habe in der anleitung nachgesehen undhabe genau das gemacht was drin steht, der code ist folgender(Zeile 274 ist die mit if)

Code: Alles auswählen

$guests_today = $db->sql_numrows($result);
	$sql = 'SELECT user_id,username,user_allow_viewonline,user_level,user_lastlogon FROM ' . USERS_TABLE . ' WHERE user_id!="'.ANONYMOUS.'" AND user_session_time >= '.$timetoday.' AND user_session_time< '.($timetoday+86399).' ORDER BY username'; 
	if (!$result = $db->sql_query($sql)) message_die(GENERAL_ERROR, "Couldn't retrieve user today data", "", __LINE__, __FILE__, $sql); 
	while( $todayrow = $db->sql_fetchrow($result)) 

Verfasst: 05.06.2005 22:10
von phpBBNoob
Ein weiterer Fehler der Auftrifft wenn ich zum Beispiel auf Private Nachrichten klicken oder auf FAQ, Profil usw(Weil ezPortal geht ja noch...) ist folgender, und betrifft leider genau die session.php

Edit:
Portal geht doch nicht mehr(war nur immer zurück gegangen...)
Edit2: Hatte zuerst vergessen die last_visit_db_update.php ausführen, fehler ist aber immer noch der selbe :(

Code: Alles auswählen

phpBB : Kritischer Fehler

Error updating last visit time

DEBUG MODE

SQL Error : 1054 Unknown column 'user_lastlogon' in 'field list'

UPDATE phpbb_users SET user_session_time = 1118001843, user_session_page = -10, user_lastvisit = 1118001843, user_lastlogon = 1118001843, user_totallogon=user_totallogon+1 WHERE user_id = -1

Line : 186
File : sessions.php
Edit3: Habe die geänderten Files alle nochmal runtergenommen und mit dem Backup ersetzt, dann die geänderten Files wieder rauf gemacht und gleich die last_visit_db_update.php ausgeführt, jetzt läuft es :) Kann mich also auf den Birthday Mod stürzen *g* obwohl erstmal lieber ein Backup...
Edit4: Ein kleinen Fehler hab ich dochnoch endeckt und zwar wenn ich in Adminbereich gehe sieht der adminindex jetzt so aus *verwirrt*
[ externes Bild ]

Verfasst: 07.06.2005 14:32
von phpBBNoob
hm.. weiß einer wie ich meinen normalen admin-index wiederherstelle bzw. wo ich da was falsch gemacht haben könnte? Weil hab gesucht und find es nicht :( Danke schonmal im vorraus..

Verfasst: 07.06.2005 14:56
von Markus67
Hi ...

Für die Anzeige ist die templates/subSilver/admin/index_body.tpl zuständig .. und die sollte so aussehen ...

Code: Alles auswählen

<h1>{L_WELCOME}</h1>

<p>{L_ADMIN_INTRO}</p>

<h1>{L_FORUM_STATS}</h1>

<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline">
  <tr> 
	<th width="25%" nowrap="nowrap" height="25" class="thCornerL">{L_STATISTIC}</th>
	<th width="25%" height="25" class="thTop">{L_VALUE}</th>
	<th width="25%" nowrap="nowrap" height="25" class="thTop">{L_STATISTIC}</th>
	<th width="25%" height="25" class="thCornerR">{L_VALUE}</th>
  </tr>
  <tr> 
	<td class="row1" nowrap="nowrap">{L_NUMBER_POSTS}:</td>
	<td class="row2"><b>{NUMBER_OF_POSTS}</b></td>
	<td class="row1" nowrap="nowrap">{L_POSTS_PER_DAY}:</td>
	<td class="row2"><b>{POSTS_PER_DAY}</b></td>
  </tr>
  <tr> 
	<td class="row1" nowrap="nowrap">{L_NUMBER_TOPICS}:</td>
	<td class="row2"><b>{NUMBER_OF_TOPICS}</b></td>
	<td class="row1" nowrap="nowrap">{L_TOPICS_PER_DAY}:</td>
	<td class="row2"><b>{TOPICS_PER_DAY}</b></td>
  </tr>
  <tr> 
	<td class="row1" nowrap="nowrap">{L_NUMBER_USERS}:</td>
	<td class="row2"><b>{NUMBER_OF_USERS}</b></td>
	<td class="row1" nowrap="nowrap">{L_USERS_PER_DAY}:</td>
	<td class="row2"><b>{USERS_PER_DAY}</b></td>
  </tr>
  <tr> 
	<td class="row1" nowrap="nowrap">{L_BOARD_STARTED}:</td>
	<td class="row2"><b>{START_DATE}</b></td>
	<td class="row1" nowrap="nowrap">{L_AVATAR_DIR_SIZE}:</td>
	<td class="row2"><b>{AVATAR_DIR_SIZE}</b></td>
  </tr>
  <tr> 
	<td class="row1" nowrap="nowrap">{L_DB_SIZE}:</td>
	<td class="row2"><b>{DB_SIZE}</b></td>
	<td class="row1" nowrap="nowrap">{L_GZIP_COMPRESSION}:</td>
	<td class="row2"><b>{GZIP_COMPRESSION}</b></td>
  </tr>
</table>
<h1>{L_WHO_IS_ONLINE}</h1>

<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline">
  <tr> 
	<th width="20%" class="thCornerL" height="25">&nbsp;{L_USERNAME}&nbsp;</th>
	<th width="20%" height="25" class="thTop">&nbsp;{L_STARTED}&nbsp;</th>
	<th width="20%" class="thTop">&nbsp;{L_LAST_UPDATE}&nbsp;</th>
	<th width="20%" class="thCornerR">&nbsp;{L_FORUM_LOCATION}&nbsp;</th>
	<th width="20%" height="25" class="thCornerR">&nbsp;{L_IP_ADDRESS}&nbsp;</th>
  </tr>
  <!-- BEGIN reg_user_row -->
  <tr> 
	<td width="20%" class="{reg_user_row.ROW_CLASS}">&nbsp;<span class="gen"><a href="{reg_user_row.U_USER_PROFILE}" class="gen">{reg_user_row.USERNAME}</a></span>&nbsp;</td>
	<td width="20%" align="center" class="{reg_user_row.ROW_CLASS}">&nbsp;<span class="gen">{reg_user_row.STARTED}</span>&nbsp;</td>
	<td width="20%" align="center" nowrap="nowrap" class="{reg_user_row.ROW_CLASS}">&nbsp;<span class="gen">{reg_user_row.LASTUPDATE}</span>&nbsp;</td>
	<td width="20%" class="{reg_user_row.ROW_CLASS}">&nbsp;<span class="gen"><a href="{reg_user_row.U_FORUM_LOCATION}" class="gen">{reg_user_row.FORUM_LOCATION}</a></span>&nbsp;</td>
	<td width="20%" class="{reg_user_row.ROW_CLASS}">&nbsp;<span class="gen"><a href="{reg_user_row.U_WHOIS_IP}" class="gen" target="_phpbbwhois">{reg_user_row.IP_ADDRESS}</a></span>&nbsp;</td>
  </tr>
  <!-- END reg_user_row -->
  <tr> 
	<td colspan="5" height="1" class="row3"><img src="../templates/subSilver/images/spacer.gif" width="1" height="1" alt="."></td>
  </tr>
  <!-- BEGIN guest_user_row -->
  <tr> 
	<td width="20%" class="{guest_user_row.ROW_CLASS}">&nbsp;<span class="gen">{guest_user_row.USERNAME}</span>&nbsp;</td>
	<td width="20%" align="center" class="{guest_user_row.ROW_CLASS}">&nbsp;<span class="gen">{guest_user_row.STARTED}</span>&nbsp;</td>
	<td width="20%" align="center" nowrap="nowrap" class="{guest_user_row.ROW_CLASS}">&nbsp;<span class="gen">{guest_user_row.LASTUPDATE}</span>&nbsp;</td>
	<td width="20%" class="{guest_user_row.ROW_CLASS}">&nbsp;<span class="gen"><a href="{guest_user_row.U_FORUM_LOCATION}" class="gen">{guest_user_row.FORUM_LOCATION}</a></span>&nbsp;</td>
	<td width="20%" class="{guest_user_row.ROW_CLASS}">&nbsp;<span class="gen"><a href="{guest_user_row.U_WHOIS_IP}" target="_phpbbwhois">{guest_user_row.IP_ADDRESS}</a></span>&nbsp;</td>
  </tr>
  <!-- END guest_user_row -->
</table>

<br />

<h1>{L_VERSION_INFORMATION}</h1>

{VERSION_INFO}

<br />
Was hast du denn versucht einzubauen? Weder der Last Visit MOD noch der Birthday MOD nehmen da Veränderungen vor.

Markus

Verfasst: 07.06.2005 15:21
von phpBBNoob
jo super danke :) Das Problem war, das ich wohl einmal ausversehen die templates/subSilver/index_body.tpl, die ja bei Last Visit geaendert wird, in dem Admin.Ordner kopiert habe :( Jup wie Blöd man doch sein kann :(, aber jetzt weiß ich wenigstens wofuer die Datei gut ist ;)

Verfasst: 10.06.2005 21:20
von phpBBNoob
Ein kleinen Fehler muss ich doch übersehen haben und zwar wenn ich auf das Profil eines User klicke kommt folgende Fehlermeldung:

Parse error: parse error, unexpected T_DOUBLE_ARROW in /meineDaten/phpBB2/includes/usercp_viewprofile.php on line 205

Hier mal nen Link:
http://www.forum.majestic-five.de/inclu ... rofile.txt

Danke schonmal, waere echt stark wenn ihr mir nochmal helfen koennt :)