Automatische Link-Auflistung am Ende der Seite fehlerhaft

  • Affected App
    WoltLab Suite Blog

    in der links Aufzählung werden Dateianhänge gelistet mit falschen namen


    Die automatische link Aufzählung in den blogs funktioniert nicht richtig.


    1. Es werden alle Dateianhänge aufgelistet (denke das ist gewollt oder)


    2. der Name der Dateianhänge bekommt immer den namen des Dateianhang das Global in der Datenbank die kleinste ID hat.


    Demo http://www.cafe-anime.de/index.php?page=UserBlogEntry&userID=2430&entryID=425


    Die Dateien heißen alle Stammbaum dies hat in der Dateianhang Datenbank die ID 1

    • Official Post

    Ich sehe im verlinkten Eintrag die offensichtlich fehlerhaften Angaben, jedoch kann ich diesen Fehler nicht reproduzieren. Tritt dieses Problem auch nach dem Bearbeiten und erneut Abspeichern auf bzw. betrifft dies generell jeden Blogeintrag?

  • das ist aber jetzt blöde. wegen dem nachstellen...
    aber ne andere frage es ist schon gewollt das Dateianhänge dort aufgelistet werden?


    dann warten wir mal ab ob sich noch jmd. meldet


    ps. keine Panik hat nichts mit Forum zutun, das hat was mit einem anderen FROM Fehler der Justiz zutun.

  • o.k


    habe es jetzt mal in einer clean instalation getestet. und da tritt der fehler nicht auf.
    jetzt schließe ich darauf das es an bbcodes liegt die im parser abgearbeitet werden aber was genau... ist jetzt die frage.


    hmm komisch. per debug komme ich bis


    PHP
    // remove image tags within label
    					$label = StringUtil::trim(preg_replace('/\<img\ (.*)\ \/\>/isU', '', $matches[3][$i]));
    
    					if (strlen($label) > 0) {
    						// store link data
    						$linkedURLs[$i] = array(
    							'isExternal' => (strlen($matches[2][$i]) > 0 ? true : false),
    							'label' => StringUtil::stripHTML($label),
    							'url' => $url
    						);


    sobald

    PHP
    // find attachments
    						if (preg_match('~^index\.php\?page\=Attachment(\&|\&amp\;)attachmentID=(\d+)~isU', $url, $innerMatches)) {
    							if (isset($innerMatches[2])) {
    								$attachmentIDs[$i] = intval($innerMatches[2]);
    							}
    						}


    läuft gibt mir print_r($innerMatches); nur noch eine 1 bzw.2 aus.


    ###########################################################################
    habe für mich jetzt eine Lösung gefunden.


    bei

    Code
    if (preg_match('~^index\.php\?page\=Attachment(\&|\&amp\;)attachmentID=(\d+)~isU', $url, $innerMatches)) {


    nehme ich isU raus und schon geht es ohne probleme.


    #########################################


    es liegt am Suchmuster-Modifikatoren U der bei mir Probleme macht.
    jetzt die frage warum und wieso das so ist.


    ########################################


    so wie es aussieht nimmt er wenn U gesetzt ist nur die erste Ziffer der ID

    • Official Post

    Vielen Dank für deine Mühen, der Modifikator ist tatsächlich schuld daran. Eine korrigierte Fassung wird mit Version 1.1.0 Beta 4 veröffentlicht. Den Modifikator "U" kannst du bei dir entfernen.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!