Sommer- Winterzeit Problem mit heute gesten mod

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Genial :D

Aber dann heißt es wohl
#
#-----[ FINDE ]------------------------------------------
#
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone'], true) : '';

#
#-----[ ERSETZE MIT ]-----------------------------------
#

/*
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone'], true) : '';
*/

//
// MOD - TODAY AT - BEGIN
//
if ( $board_config['time_today'] < $userdata['session_logged_in'] + $userdata['user_lastvisit'])
{
$s_last_visit = sprintf($lang['Today_at'], create_date($board_config['default_timeformat'], $userdata['user_lastvisit'], $board_config['board_timezone']));
}
else if ( $board_config['time_yesterday'] < $userdata['session_logged_in'] + $userdata['user_lastvisit'])
{
$s_last_visit = sprintf($lang['Yesterday_at'], ( $userdata['session_logged_in'] ) ? create_date($board_config['default_timeformat'], $userdata['user_lastvisit'], $board_config['board_timezone'], true) : '');
}
// MOD - TODAY AT - END
Auf jeden Fall funktionierts 1A :grin:

_______________________________________

*Auf der profile_view_body wollt ichs auch noch haben.

Also, das da steht:

Code: Alles auswählen

Anmeldedatum:   	23.04.2006
Letzter Login:  	Heute um 20:48
Beiträge insgesamt:  	2476
und nicht

Code: Alles auswählen

Anmeldedatum:   	23.04.2006
Letzter Login:  	Am 12 Dezember um 20:48
Beiträge insgesamt:  	2476
__FUNKTIONIERT_NICHT__ hat geschrieben:Für die Geschichte hab ich einen Quick_and_Dirty_Hack eingebaut.

Funktioniert prima:

Öffne

includes/page_header.php

Finde

Code: Alles auswählen

'LAST_VISIT_DATE' => sprintf($lang['You_last_visit'], $s_last_visit),
Dahinter füge ein

Code: Alles auswählen

'LAST_VISIT_DATE_2' => sprintf($lang['You_last_visit_2'], $s_last_visit),
Öffne

language/lang_main.php

Finde

Code: Alles auswählen

$lang['You_last_visit'] = 'Dein letzter Besuch war am: %s'; // %s replaced by date/time
Dahinter füge ein

Code: Alles auswählen

$lang['You_last_visit_2'] = ' %s'; // %s replaced by date/time
Öffne

templates/xxxxx/profile_view_body.tpl

Finde

Code: Alles auswählen

        <td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_LASTLOGIN}:&nbsp;</span></td>
        <td width="100%"><b><span class="gen">{LASTLOGIN}
        </span></b></td>
Dahinter füge ein

Code: Alles auswählen

        <td valign="middle" align="right" nowrap="nowrap"><span class="gen">{L_LASTLOGIN}:&nbsp;</span></td>
        <td width="100%"><b><span class="gen"> <!-- {LASTLOGIN} -->            
       {LAST_VISIT_DATE_2}
        </span></b></td>
EDIT: Mist, klappt doch nur bei der eigenen Zeit.
Jetzt steht bei allen anderen meine letzte Loginzeit :-?

*Vielleicht hat noch wer n Ansatz ?

lg
4seven
Zuletzt geändert von 4seven am 14.12.2007 01:32, insgesamt 5-mal geändert.
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Du meinst die Zeile gehört dann raus?

Code: Alles auswählen

/* 
$s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['default_dateformat'], $userdata['user_lastvisit'], $board_config['board_timezone'], true) : ''; 
*/ 
Ich habe sie unverändert drin gelassen. Gibt das Probleme?
Gruß Markus
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo mark2,

Probleme hatte ich mit und ohne Auskommentierung nicht bemerkt.
Ist halt eine doppelte (daher unnötige) $s_last_visit = Anweisung.

Die ist ja schon in deinem Self-Mod drin :wink:

lg
4seven
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

das login Datum auf der profile_view_body habe ich so gemacht.

Code: Alles auswählen

#-----[ OPEN ]------------------------------
#
includes/usercp_viewprofile.php

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

else
{
	$u_search_author = urlencode(str_replace(array('&', ''', '"', '<', '>'), array('&', "'", '"', '<', '>'), $profiledata['username']));
}

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

// MOD - TODAY AT - BEGIN
$last_logon = ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($profiledata['user_lastlogon'])? create_date($board_config['default_dateformat'], $profiledata['user_lastlogon'], $board_config['board_timezone']):$lang['Never_last_logon']):$lang['Hidde_last_logon'];

		if ( $board_config['time_today'] < $profiledata['user_lastlogon'])
		{
			$last_logon = ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($profiledata['user_lastlogon'])? sprintf($lang['Today_at'], create_date($board_config['default_timeformat'], $profiledata['user_lastlogon'], $board_config['board_timezone'])):$lang['Never_last_logon']):$lang['Hidde_last_logon'];
		}
		else if ( $board_config['time_yesterday'] < $profiledata['user_lastlogon'])
		{
			$last_logon = ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($profiledata['user_lastlogon'])? sprintf($lang['Yesterday_at'], create_date($board_config['default_timeformat'], $profiledata['user_lastlogon'], $board_config['board_timezone'])):$lang['Never_last_logon']):$lang['Hidde_last_logon'];
                 }
// MOD - TODAY AT - END

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

'LAST_LOGON' => ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($profiledata['user_lastlogon'])? create_date($board_config['default_dateformat'], $profiledata['user_lastlogon'], $board_config['board_timezone']):$lang['Never_last_logon']):$lang['Hidde_last_logon'],                                           

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

// MOD - TODAY AT - BEGIN
'LAST_LOGON' => $last_logon,
// original zeile   'LAST_LOGON' => ($userdata['user_level'] == ADMIN || (!$board_config['hidde_last_logon'] && $profiledata['user_allow_viewonline'])) ? (($profiledata['user_lastlogon'])? create_date($board_config['default_dateformat'], $profiledata['user_lastlogon'], $board_config['board_timezone']):$lang['Never_last_logon']):$lang['Hidde_last_logon'],
// MOD - TODAY AT - END[quote]

Abr auch hier auf eigene G[/quote]
efahr. alles selbst gebastelt.
Gruß Markus
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo mark2,

danke für die Info :grin:
doch setzt dein Snippet das Last-Visit-Mod voraus, was ich nicht eingebaut hab.

Der Code wird ohne Last-Visit-Mod durch diese Anweisung ausgeworfen:

Öffne

usercp_viewprofile.php

Finde:

Code: Alles auswählen

'LASTLOGIN' => create_date($lang['DATE_FORMAT'], $profiledata['user_lastvisit'], $board_config['board_timezone']),
Wenn wer Lust hat, das auf Basis dieses Mods so anzupassen ,
das da nicht Letzter Login: 15.12.2007
sondern z.B. Letzter Login: Gestern um xyz steht, würde ich mich sehr freuen.

lg
4seven
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Das ist doch auch nicht viel anders als die anderen code blöcke. sollte also genauso machbar sein.
Versuche es mal so. Hab ich aber nicht getestet! Dateien vorher sichern!

Code: Alles auswählen

#
# --- [ FÜGE AN GEEIGNETER STELLE EIN ] ---
#

   // MOD - TODAY AT - BEGIN
$LASTLOGIN = create_date($lang['DATE_FORMAT'], $profiledata['user_lastvisit'], $board_config['board_timezone']);

      if ( $board_config['time_today'] < $profiledata['user_lastvisit'])
      {
         $last_logon = sprintf($lang['Today_at'], create_date($lang['default_timeformat'], $profiledata['user_lastvisit'], $board_config['board_timezone']);
      }
      else if ( $board_config['time_yesterday'] < $profiledata['user_lastvisit'])
      {
         $LASTLOGIN = sprintf($lang['Yesterday_at'],create_date($lang['default_timeformat'], $profiledata['user_lastvisit'], $board_config['board_timezone']);
                 }
// MOD - TODAY AT - END

#
# --- [ FINDE ] ----
#

'LASTLOGIN' => create_date($lang['DATE_FORMAT'], $profiledata['user_lastvisit'], $board_config['board_timezone']),

#
# --- [ ERSETZE MIT ] ------
#

'LASTLOGIN' => $last_logon,
Frage mich warum bei create_date das $lang dabei steht "create_date($lang"
vielleicht funktioniert das hier doch nicht.
Gruß Markus
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo mark2,

danke nochmals,
aber es hagelt Fehlermeldungen.

Der Ausgangs-Code...

Code: Alles auswählen

'LASTLOGIN' => create_date($lang['DATE_FORMAT'], $profiledata['user_lastvisit'], $board_config['board_timezone']),
..muß wohl direkt angepasst werden *grübel
Frage mich warum bei create_date das $lang dabei steht "create_date($lang"
vielleicht funktioniert das hier doch nicht.
Heißt wohl, werfe das Standard-Datum-Format aus.

Noch einer eine Idee?


lg
4seven
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

*push*
xxsteezyxx
Mitglied
Beiträge: 63
Registriert: 11.12.2007 21:29

Beitrag von xxsteezyxx »

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------
#
index.php

#
#-----[ FIND ]-----------------------------------
#
$last_post_time = create_date($board_config['default_dateformat'], $subforum_data[$j]['post_time'], $board_config['board_timezone']);

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

// MOD - TODAY AT - BEGIN

                        if ( $board_config['time_today'] < $subforum_data[$j]['post_time'])
                        {
                           $last_post_time = sprintf($lang['Today_at'], create_date($board_config['default_timeformat'], $subforum_data[$j]['post_time'], $board_config['board_timezone'])) . '<br />';
                        }
                        else if ( $board_config['time_yesterday'] < $subforum_data[$j]['post_time'])
                        {
                           $last_post_time = sprintf($lang['Yesterday_at'], create_date($board_config['default_timeformat'], $subforum_data[$j]['post_time'], $board_config['board_timezone'])) . '<br />';
                        }
                        else
                        {
                           $last_post_time = create_date($board_config['default_dateformat'], $subforum_data[$j]['post_time'], $board_config['board_timezone']);
                        }

// MOD - TODAY AT - END
perfekt in zusammenarbeit mit last topic on index...
regie 510
Mitglied
Beiträge: 142
Registriert: 08.11.2008 23:40
Wohnort: Freiburg i. Br.

Beitrag von regie 510 »

Hallo,

ich hatte mir DIESEN Mod eingebaut. Im Login-Zustand funktionierte alles einwandfrei mit der Gestern- und Heute-Anzeige, aber nach dem Logout springt die Forenzeit um eine Stunde zurück, quasi auf GMT. Habe die aktuelle phpBB-Version 2.0.23.

Kennt jemand das Problem?

Gruß, Norbert
Antworten

Zurück zu „phpBB 2.0: Mod Support“