ilch Forum » Allgemein » HTML, PHP, SQL,... » Schnippsel der Selfpages entfernen

Geschlossen
  1. #1
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Wenn man eine Textseite in ilch 1.1 erstellt, wird nachfolgender Schnipsel in der jeweiligen PHP-Datei gespeichert.

    <!--@title=Startseite@--><!--@hmenu=Startseite@--><!--@view=normal@--><!--@viewoptions=@--><!--@wysiwyg=1@-->


    Wenn man nun die Website im Browser aufruft, wird dieser Schnipsel automatisch im Quelltext ausgegeben.

    Wo/Wie kann ich diesen Schnipsel so herausfiltern lassen: dass das ilch CMS die Daten trotzdem nutzt um den Seitentitel und das HMENU zu definieren, aber im Quelltext später nicht ausgibt?


    verwendete ilch Version: 1.1 P

    betroffene Homepage: www.cristiang.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Also die einfachste Lösung ist denke ich, die HTML Tags innerhalb eines PHP Kommentars zu speichern.

    Dazu muss die edit_text Funktion wie folgt geändert werden. (include/admin/selfbp.php)

    # fügt defined('main') hinzu, oder entfernt es
    function edit_text ($t, $add) {
      $erg = preg_match ("/^\s*<\?php defined \('main'\) or die \('no direct access'\);.*\?>/s", $t);
      if (!$erg && $add) {
        $t = trim($t);
        //remove PHP (or shorttags)
        $options = is_string($add) ? '/* ' . $add . ' */' : '';
        $t = preg_replace('/<\?.*(\?>|$)/', '', $t);
        $t = '<?php defined (\'main\') or die (\'no direct access\'); ' . $options . '?>'. $t;
      } elseif ($erg AND !$add) {
        $t = preg_replace("/^\s*<\?php defined \('main'\) or die \('no direct access'\);.*\?>(.*)$/s","\\1",$t);
      }
      return ($t);
    }


    Weiter ist dann der Aufruf beim Speichern leicht anzupassen.

    if ( isset ($_POST['bbwy']) AND isset($_POST['filename']) AND isset($_POST['akl']) ) {
      # speichern
      $akl = $_POST['akl'];
      $text = $_POST['bbwy'];
      #$text = rteSafe($_POST['text']);
      $properties = set_properties(array('title'=>$_POST['title'],'hmenu'=>$_POST['hmenu'],'view'=>$_POST['view'],'viewoptions'=>$_POST['viewoptions'],'wysiwyg'=>$_POST['wysiwyg']));
      $text = edit_text(stripslashes($text), $properties);
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Ahrtas Moderator
    Registriert seit
    17.12.2007
    Beiträge
    2.368
    Beitragswertungen
    210 Beitragspunkte
    Vielen Dank für die schnelle Hilfe Yes
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten