(.*?)

Aus HL7 Austria MediaWiki
Wechseln zu: Navigation, Suche
[unmarkierte Version][unmarkierte Version]
(Die Seite wurde neu angelegt: „Diese Seite dient zur Erklärung von verschiedenen Fehlercodes die behoben worden sind. =Fehler in PHP= ==CustomTitle== Mit der Extension CustomTitle hatten w…“)
 
Zeile 3: Zeile 3:
 
=Fehler in PHP=
 
=Fehler in PHP=
 
==CustomTitle==
 
==CustomTitle==
Mit der Extension CustomTitle hatten wir leider das Problem, dass im Text folgender Code dargestellt wurde: xxx-CustomPageTitleStart-xxxDoel en scopexxx-CustomPageTitleEnd-xxx
+
Mit der Extension CustomTitle trat das Problem auf, dass im Text immer wieder Codeteile dargestellt wurden, wie z.B. xxx-CustomPageTitleStart-xxxDoel en scopexxx-CustomPageTitleEnd-xxx
  
Um dies zu Unterbinden wurden in der CustomTitle.php die Funktion onOutputPageBeforeHTML erweitert.
+
Um dies zu Unterbinden wurden in der CustomTitle.php die Funktion onOutputPageBeforeHTML verändert.
  
vorheriger Code:
+
'''vorheriger Code:'''
 
<pre>
 
<pre>
 
function onOutputPageBeforeHTML(&$out, &$text)
 
function onOutputPageBeforeHTML(&$out, &$text)
Zeile 29: Zeile 29:
 
</pre>
 
</pre>
  
Lösung:
+
'''Lösung:'''
 
<pre>
 
<pre>
 
   function onOutputPageBeforeHTML(&$out, &$text)
 
   function onOutputPageBeforeHTML(&$out, &$text)

Version vom 16. Mai 2018, 16:17 Uhr

Diese Seite dient zur Erklärung von verschiedenen Fehlercodes die behoben worden sind.

1 Fehler in PHP

1.1 CustomTitle

Mit der Extension CustomTitle trat das Problem auf, dass im Text immer wieder Codeteile dargestellt wurden, wie z.B.

Um dies zu Unterbinden wurden in der CustomTitle.php die Funktion onOutputPageBeforeHTML verändert.

vorheriger Code:

function onOutputPageBeforeHTML(&$out, &$text)
    {
        if (($found = strpos($text, 'xxx-CustomTitleStart-xxx')) !== false) {
            if (preg_match("//", $text, $matches)) {
                $this->customTitle = $matches[1];
                $text = str_replace($matches[0], "", $text);
            }
        }

        if (($found = strpos($text, 'xxx-CustomPageTitleStart-xxx')) !== false) {
            if (preg_match("//", $text, $matches)) {
                $this->customPageTitle = $matches[1];
                $text = str_replace($matches[0], "", $text);
            }
        }

        return true;
    }

Lösung:

   function onOutputPageBeforeHTML(&$out, &$text)
    {
        if (($found = strpos($text, 'xxx-CustomTitleStart-xxx')) !== false) {
            if (preg_match("//", $text, $matches)) {
                $this->customTitle = $matches[1];
                $text = str_replace($matches[0], "", $text);
                // replace any remaining occurrences
                while (preg_match("//", $text, $matches)) {
                    $text = str_replace($matches[0], "", $text);
                }
            }
        }
 
        if (($found = strpos($text, 'xxx-CustomPageTitleStart-xxx')) !== false) {
            if (preg_match("//", $text, $matches)) {
                $this->customPageTitle = $matches[1];
                $text = str_replace($matches[0], "", $text);
                // replace any remaining occurrences
                while (preg_match("//", $text, $matches)) {
                    $text = str_replace($matches[0], "", $text);
                }
            }
        }
 
        return true;
    }