Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Overview (MyBB 1.6)
(09.04.2020, 23:15)[ExiTuS] schrieb: Termine für einen Tag haben kein Enddatum - in der Datenbank ist kein 'e.enddate' hinterlegt, sondern "0".

Ohne es genauer grpüft zu haben,
gehe ich davon aus, dass die o.g. geänderte Funktion my_date aus dem Datumsformat "0" einfach das heutige Datum nimmt.

Die o.g. Code-Änderung ist zwar korrekt, arbeitet aber nur, wenn auch ein "e.enddate" in der Datenbank vorhanden ist.
Die Lösung hier ist eine Änderung des Codes und Einfügen einer zusätzlichen if-Abfrage, ob "e.enddate != 0" ist.

[ExiTuS]

Ok danke, habe es einfach so gelöst das Termine die einen Tag gehen als Enddatum auch das Startrdatum haben, also zum Beispiel vom 19.05-19.05..

Das Problem mit der falschen Ausgabe des Enddatums irritiert da aber weil halt nicht 19.05-19.05 angezeigt wird sondern 19.05-20.05 also alles ist immer +1 Tag.
Zitieren
So sollte es auch gehen:

PHP-Code:
// Print data
        while($events $db->fetch_array($query))
        {
        if (
$events['starttime']<$events['endtime'])
        {        
            $events['name'] = my_date($settings['dateformat'], $events['starttime'])." - ".my_date($settings['dateformat'], $events['endtime']).": ".$events['name'];
        }

        else
        {
            
$events['name'] = my_date($settings['dateformat'], $events['starttime']).": ".$events['name'];
        }        
            $val1 overview_parsesubject($events['name'], 0000$events['eid'], 0);
            $val2 overview_parseuser($events['uid'], $events['username'], $events['usergroup'], $events['displaygroup']);
            eval("\$table_content .= \"".$templates->get("overview_2_columns_row")."\";"); 
        }
    }

    eval("\$output = \"".$templates->get("overview_2_columns")."\";");

    return $output;

Einmal gibst Du endtime mit aus und das andere mal eben nicht.
Wenn dort z.B. 16.04.2020 - 16.04.2020 steht, macht das für mich auch keinen Sinn. Wink
Zitieren
(10.04.2020, 11:01)Schnapsnase schrieb: So sollte es auch gehen:

PHP-Code:
// Print data
        while($events $db->fetch_array($query))
        {
        if (
$events['starttime']<$events['endtime'])
        {        
            $events['name'] = my_date($settings['dateformat'], $events['starttime'])." - ".my_date($settings['dateformat'], $events['endtime']).": ".$events['name'];
        }

        else
        {
            
$events['name'] = my_date($settings['dateformat'], $events['starttime']).": ".$events['name'];
        }        
            $val1 overview_parsesubject($events['name'], 0000$events['eid'], 0);
            $val2 overview_parseuser($events['uid'], $events['username'], $events['usergroup'], $events['displaygroup']);
            eval("\$table_content .= \"".$templates->get("overview_2_columns_row")."\";"); 
        }
    }

    eval("\$output = \"".$templates->get("overview_2_columns")."\";");

    return $output;

Einmal gibst Du endtime mit aus und das andere mal eben nicht.
Wenn dort z.B. 16.04.2020 - 16.04.2020 steht, macht das für mich auch keinen Sinn. Wink

Funktioniert danke dir Smile bleibt nur noch das Problem das beim Enddatum immer 1 Tag + ist, das liegt aber an Mybb wie ich gerade sehe ,den andere Plugins geben das Enddatum auch so aus.


Edit:
Fehler gefunden, man muss eine Endzeit angeben, sonst ist der Termin erst um 23:59 ende und dauert somit bis 0 Uhr wo der neue Tag beginnt  Rolleyes
Zitieren
(10.04.2020, 11:23)lenox schrieb: Funktioniert danke dir Smile bleibt nur noch das Problem das beim Enddatum immer 1 Tag + ist

Das hab ich mir jetzt nicht weiter angesehen.
Versuche mal eine andere Zeitzone oder die Uhrzeit des Endes z.B. auf 22 Uhr einzustellen.
Könnte damit zusammenhängen...
Zitieren
Code:
if ($events['endtime'] != 0) {
  $events['name'] = my_date($settings['dateformat'], $events['starttime'])." - ".my_date($settings['dateformat'], $events['endtime']).": ".$events['name'];
} else {
  $events['name'] = my_date($settings['dateformat'], $events['starttime']).": ".$events['name'];
}
Mit diesem Codeschnipsel bist du nicht mehr auf ein e.enddate angewiesen. Das Von-Bis wird nur erzeugt, wenn tatsächlich ein Enddatum angegeben ist.

[ExiTuS]
MyBB + innovative Themes:
NokiaPort.de Forum Nokia-Traditionsforum seit 2006.
Live Escape Game Forum Diskussionsplattform für Escape-Rooms.
Unlösbares Problem, Dilemma? -> das Nötel Smile
Zitieren
(10.04.2020, 12:54)[ExiTuS] schrieb: Mit diesem Codeschnipsel bist du nicht mehr auf ein e.enddate angewiesen...

Das dürfte er mit meiner Variante auch sein.
Es ist aber immer wieder schön, wenn viele Wege nach Rom führen. Wink
Zitieren
(02.08.2012, 12:37)ternes3 schrieb: Overview nur auf bestimmten templates?

ich möchte machen das man overview bei dem Standard Thema sieht. aber nicht in der mobile version.

geht das?

mfg Ternes3

(02.08.2012, 12:41)StefanT schrieb: Klar, einfach die Variablen ({$overview},...) aus den Templates des Themes entfernen.

Ich habe ein respionsive Design (Emerald - https://www.mybb.de/erweiterungen/18x/themes/emerald/ ), welches sich automatisch anpasst.
Gibt es da auch eine Möglichkeit, das Overview mobilmäßig zu entfernen, ohne die Variable zu entfernen?

Ich habe mal mit dem Webtool geschaut, aber für mich, bisher keine Lösung gefunden.


Angehängte Dateien Thumbnail(s)
   
Zitieren
(07.06.2020, 13:48)Foxi schrieb: Ich habe ein respionsive Design (Emerald...
Gibt es da auch eine Möglichkeit, das Overview mobilmäßig zu entfernen, ohne die Variable zu entfernen?

Klar, warum nicht?!
Z.B.: Du bettest im Template "index" das overview in ein div ein und gibst diesem div eine css-Klasse mit.
PHP-Code:
<div class="overview_mobile">    
{
$overview}
</
div
Jetzt kannst Du im CSS die Klasse "overview_mobile" über Media-Querys ein-/ausblenden und Deinen Bedürfnissen anpassen.
Zitieren
Perfekt, vielen Dank! Hat geklappt.

Falls noch jemand die Übersicht auf dem Handy ausschalten möchte:

Code:
@media all and (max-width:500px){
     /* mobile Geräte */
.overview_mobile {
display: none;    
}         
}

Den Code habe ich jetzt eingebaut.
Zitieren
Ist installiert, läuft auf 1.8x auch noch ohne Probleme. Wollte eine Alternative für "New Threads", wie hier erklärt.

Nun die Frage der Fragen: Wie kann ich Foren ausschließen, damit die letzten Themen dieser nicht mit aufgeführt werden?

Ich schaue nun mal selber in den Code, aber vielleicht hat das schon mal jemand gemacht oder hat eine schnelle Lösung zur Hand!

Lösung wie folgt:

Code:
$query = $db->query("SELECT subject, username, uid, tid, replies, icon, prefix
                         FROM ".TABLE_PREFIX."threads
                         WHERE visible = '1' {$overview_unviewwhere} AND closed NOT LIKE 'moved|%'
                         ORDER BY dateline DESC
                         LIMIT 0,{$settings['overview_max']};");

Habe ab Zeile 816 folgende Änderung gemacht:

Code:
$query = $db->query("SELECT subject, username, uid, tid, fid, replies, icon, prefix
                         FROM ".TABLE_PREFIX."threads
                         WHERE visible = '1' {$overview_unviewwhere} AND closed NOT LIKE 'moved|%'
                         AND fid IN (21, 7, 19, 156, 357, 127, 764, 376, 144, 755, 58, 333, 11, 13, 10, 383, 129, 143, 359, 55, 146, 756, 356, 358, 750, 20, 138, 763, 369, 159, 67, 62, 352, 326, 765, 32, 193, 131, 743, 738, 134, 322, 360, 741, 210, 209, 744, 745)
                         ORDER BY dateline DESC
                         LIMIT 0,{$settings['overview_max']};");

Bis nächstes Mal! Smile
Zitieren