MyBB.de Forum
Begrüßung der Benutzer nach der Tageszeit. - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: Begrüßung der Benutzer nach der Tageszeit. (/thread-37646.html)

Seiten: Seiten: 1 2 3 4 5


RE: Begrüßung der Benutzer nach der Tageszeit. - tc4me - 05.02.2021

PHP-Code:
//Begin Time welcome Tc4me
    
$uhrzeit gmdate($mybb->settings['timeformat'],TIME_NOW $mybb->user['timezone'] * 3600);
 if (
$uhrzeit >= && $uhrzeit 4

$lang->welcome_back $lang->sprintf($lang->welcome_back_nightbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 elseif (
$uhrzeit 10 && $uhrzeit >= 4)

$lang->welcome_back $lang->sprintf($lang->welcome_back_morningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 elseif (
$uhrzeit <= 18 && $uhrzeit >= 10

$lang->welcome_back $lang->sprintf($lang->welcome_back_daybuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

  else//if ($uhrzeit >= 19)

$lang->welcome_back $lang->sprintf($lang->welcome_back_eveningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);
 }
 
//End Time welcome Tc4me 

So sollte die global.php danach ausssehen,  Wink


RE: Begrüßung der Benutzer nach der Tageszeit. - Omega6 - 06.02.2021

Top !
   

Omega6 Wink


RE: Begrüßung der Benutzer nach der Tageszeit. - Gerti - 06.02.2021

(05.02.2021, 07:10)tc4me schrieb: So sollte die global.php danach ausssehen,  Wink

Alles in allem eine echt saubere Sache. Kompliment.

Habe es mal umgesetzt und festgestellt, das wenn man anstelle
<18 und >10 = Text "Tag" = funktioniert
mal nimmt:
<12 und >10 = Text "Tag" = funktioniert
<14 und >12 = Text "Mahlzeit" = keine Funktion, es wird "Tag angezeigt.
Kann es sein dass da 0-12 = AM/PM ausgeführt wird anstelle von 0-24

[Edit:]
Fehler gefunden, es lag an meiner falsch eingestellten Zeitzone. Funktioniert nun perfekt. Danke


RE: Begrüßung der Benutzer nach der Tageszeit. - [ExiTuS] - 07.02.2021

Ich möchte noch einmal darauf hinweisen, dass man diese "umfangreichen" if-Abfragen vereinfachen kann.
Wie hier bereits erwähnt wurde, braucht es absolut kein "if von und bis Stunde". Um alle Stunden abzufragen reicht entweder nur "< Stunde" oder "> Stunde" (je nach Reihenfolge).
Warum also macht ihr es euch komplizierter als nötig? Wink

Nebenbei. Wie man sieht, kommt man manches Mal nicht drum herum in den PHP-Dateien zu manipulieren. Also noch ein kleiner Tipp: Versucht besser die Zeilen so gut es geht bei zu behalten, so dass man sich auch weiterhin an Zeilenangaben innerhalb des Codes orientieren kann. Der gesamte Code ließe sich auch in ein/zwei Zeilen unterbringen und würde die Zeilen nicht verrutschen Smile

[ExiTuS]


RE: Begrüßung der Benutzer nach der Tageszeit. - tc4me - 07.02.2021

Servus und Danke, jetzt hänge ich :-( , kannst du mir mal mit  "< Stunde" oder "> Stunde" (je nach Reihenfolge). einen kurzen Ansatz in meine Ausführung eingeben, damit ich es verstehe, leider reichen meine Kenntnisse jetzt Null aus . Danke Grüße Tc4me
PHP-Code:
//Begin Time welcome Tc4me
    $uhrzeit gmdate($mybb->settings['timeformat'],TIME_NOW $mybb->user['timezone'] * 3600);
 if (
$uhrzeit <= 10)

$lang->welcome_back $lang->sprintf($lang->welcome_back_morningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 elseif (
$uhrzeit <= 18

$lang->welcome_back $lang->sprintf($lang->welcome_back_daybuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

  elseif ($uhrzeit <= 22

$lang->welcome_back $lang->sprintf($lang->welcome_back_eveningbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);
 }
 else
//if ($uhrzeit >= 22)

$lang->welcome_back $lang->sprintf($lang->welcome_back_nightbuild_profile_link(htmlspecialchars_uni($mybb->user['username']), $mybb->user['uid']), $timenow);

 
//End Time welcome Tc4me 

Dass mit der Stunde denke ich habe ich verstanden, :-)


RE: Begrüßung der Benutzer nach der Tageszeit. - Omega6 - 07.02.2021

Warum etwas ändern wenn es läuft?
Ich lass es so, Danke


RE: Begrüßung der Benutzer nach der Tageszeit. - itsmeJAY - 08.02.2021

1. Programmierrichtlinien / Konventionen
2. Weniger Code = bessere Performance (auch wenn es bei so wenig Code erst mal egal ist)


RE: Begrüßung der Benutzer nach der Tageszeit. - Omega6 - 08.02.2021

Habt ihr soetwas wie einen Geheimcode untereinander? Jetzt sprechen schon meherere von was geändert gehört, abe.
r keiner sagt wie. Wie Politiker, reden aber nichts sagen...😄


RE: Begrüßung der Benutzer nach der Tageszeit. - [ExiTuS] - 08.02.2021

Auf der ersten Seite ist bereits erwähnt worden, wie man die if-Abfragen vereinfacht Smile
https://www.mybb.de/forum/thread-37646-post-247383.html#pid247383

Es ging nur darum, diesen Happen an Programmcode noch schlanker und effizienter zu machen.

[ExiTuS]


RE: Begrüßung der Benutzer nach der Tageszeit. - itsmeJAY - 08.02.2021

(08.02.2021, 12:24)[ExiTuS] schrieb: Auf der ersten Seite ist bereits erwähnt worden, wie man die if-Abfragen vereinfacht Smile
https://www.mybb.de/forum/thread-37646-post-247383.html#pid247383

Es ging nur darum, diesen Happen an Programmcode noch schlanker und effizienter zu machen.

[ExiTuS]

Rein vom optischen ist da durchaus switch-case schöner. 

Man könnte sowas machen wie (runtergeschrieben in 20 Sek, nicht getestet)
PHP-Code:
// aktuelle Stunde
$time 20;

switch (
$time) {
  case $time <= 5:
    echo "So früh schon wach?";
    break;
  case $time <= 10:
    echo "Guten Morgen";
    break;
  case $time >= 19:
    echo "Guten Abend";
    break;
  default:
    echo "Guten Tag!";