ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » ilchBB-First New Post

Geschlossen
  1. #1
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    Hallo zusammen,

    ich habe das Problem, dass in den Topics mit neuen Beiträgen nicht zum ersten neuen Beitrag weitergeleitet wird.
    Als Beispiel:
    Die include/contents/forum/search.php gibt den Link wie folgt aus:
    http://www.le-graphics.de/index.php?forum-showposts-1092-firstnew

    Beim Klick werde ich nach
    http://www.le-graphics.de/index.php?forum-showposts-1092-p1#11368
    weitergeleitet.

    Der erste neue Post in dem Topic ist allerdings der mit der id 11369,
    der Link also
    http://www.le-graphics.de/index.php?forum-showposts-1092-p1#11369.

    Jetzt habe ich mal die ursprüngliche ilchBB-Klasse mit unserer verglichen,
    da konnte ich keine Unterschied feststellen, die function $ilchBB->newestPostPage sind identisch.

    Hat jemand eine Idee, wo sich der Fehler versteckt. Ich bin momentan etwas ratlos.
    Vielen Dank schon mal.

    Gruß Outi


    verwendete ilch Version: 1.1 P

    betroffene Homepage: externer Link


    Zuletzt modifiziert von Outi77 am 24.11.2016 - 10:46:52
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Keine Ahnung, ob das jetzt Besserung bringt, auf ilch.de wird folgender Code eingesetzt.

        /**
         * Fragt den neusten Post, mitsamt Seite ab
         * Wenn kein neuster Post gefunden wird, wird angenommen, dass das Thema schon besucht wurde und es wird zum letzten
         * Beitrag gesprungen
         *
         * @param integer $fid Foren-ID
         * @param integer $tid Topic-ID
         * @param integer $Fpanz Posts pro Seite
         * @return array
         */
        public function firstNewPostPage($fid, $tid, $Fpanz) {
            // Abbruch, wenn nicht eingeloggt
            if (!loggedin()) {
                return array(1, '');
            }
    
            // Pruefen, ob Datensatz (noch) vorhanden
            if (isset($this->newTopics[$fid][$tid])) {
                $timeWhereOlder = ' AND `time` <= ' . $this->newTopics[$fid][$tid];
                $timeWhereNewer = ' AND `time` >= ' . $this->newTopics[$fid][$tid];
            } else {
                //Zum letzten Beitrag springen
                $timeWhereOlder = $timeWhereNewer = '';
            }
    
            $posts = db_result(db_query('SELECT COUNT(`id`) FROM `prefix_posts` WHERE `tid` = ' . $tid . $timeWhereOlder), 0);
            $fpost = db_result(db_query('SELECT MIN(`id`) FROM `prefix_posts` WHERE `tid` = ' . $tid . $timeWhereNewer), 0);
    
            $page = ceil(($posts + 1) / $Fpanz);
            return array($page, $fpost);
        }
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    /**
         * Fragt den neusten Post, mitsamt Seite ab
         *
         * @param integer $fid Foren-ID
         * @param integer $tid Topic-ID
         * @param integer $Fpanz Posts pro Seite
         * @return array
         */
        function newestPostPage($fid, $tid, $Fpanz) {
            // Standard-Array
            $array = array(1,'');
    
            // Abbruch, wenn nicht eingeloggt
            if (!loggedin()) return $array;
    
            // Pruefen, ob Datensatz (noch) vorhanden
            if (isset($this->newTopics[$fid][$tid]))
            {
                $time = $this->newTopics[$fid][$tid];
    
                $posts = @db_result(db_query('SELECT count(`id`) FROM `prefix_posts` WHERE `tid` = '.$tid.' AND `time` <= '.$time),0);
                $fpost = @db_result(db_query('SELECT `id` FROM `prefix_posts` WHERE `tid` = '.$tid.' AND `time` <= '.$time.' ORDER BY `id` DESC LIMIT 1'),0);
    
                if ($posts == 0) $posts = 1;
                
                $page = ceil ( ($posts)  / $Fpanz );
                $array = array($page, $fpost);
            }
    
            // Ergebnisse als Array zurueckgeben
            return $array;
        }

    Also die wirklich einzigen signifikanten Unterschiede sehe ich in den markierten Zeilen. Dort fehlt bei mir das +1 und das MIN, denn damit funktioniert es fehlerfrei.
    Komisch ist nur, dass das bis jetzt keinem aufgefallen ist, da es sich hierbei um die ursprüngliche ilchbb-Klasse handelt.

    Danke für die Hilfe!

    Gruß Oouti


    Zuletzt modifiziert von Outi77 am 25.11.2016 - 06:44:38
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also mir ist es aufgefallen, deswegen habe ich die Funktion ja umgeschrieben.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.337
    Beitragswertungen
    143 Beitragspunkte
    OK ich hatte alle Genies ausgeschlossen zwinker
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten