ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Spoiler Funktion

Geschlossen
  1. #1
    User Pic
    Chester Mitglied
    Registriert seit
    17.02.2009
    Beiträge
    753
    Beitragswertungen
    19 Beitragspunkte
    Hallo,

    ich würde mir auf ilch.de eine Spoiler Funktion wünschen um ellenlangen code auszublenden.

    Eure Meinung?
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Sunshine Live Mitglied
    Registriert seit
    03.06.2009
    Beiträge
    1.027
    Beitragswertungen
    109 Beitragspunkte
    würd ich auch nicht schlecht finden wir haben das bei uns so

    Offen:


    Geschlossen:
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    kdl Mitglied
    Registriert seit
    21.08.2010
    Beiträge
    333
    Beitragswertungen
    62 Beitragspunkte
    Jo, man könnte das so machen, dass der Spoiler je nach länge des Codes automatisch offen oder zu ist.
    .
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.260
    Beitragswertungen
    1114 Beitragspunkte
    @Sunshine Live

    ... hatte ich für Euch auf Anfrage von whazza gemacht! Hier eine BBCode 2.0 - Anpassung mit jQuery Syntax Highlighter. Diese BBCode-Änderung hatte Ich zur Info an Mairu gesendet.
    rules :: doku :: faq :: linkus
    2 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Sunshine Live Mitglied
    Registriert seit
    03.06.2009
    Beiträge
    1.027
    Beitragswertungen
    109 Beitragspunkte
    Jup das stimmt cooles teil
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Könntet ihr das hier bei Ilch in den BBCode einbauen. Gebe Chester da recht. Es sind manchmal ellenlange Codes zu finden.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    MVN050 Mitglied
    Registriert seit
    20.09.2008
    Beiträge
    1.273
    Beitragswertungen
    29 Beitragspunkte
    ganz meiner meinung

    wenn man 5 beiträge sieht und darim 4 mal eine index.htm steht hat man einfach kein bock mehr zu scrollen und bekommt ein krampf in den finger wenn man das mausrad immer bewegen muss lachen
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    soviel ich mitbekommen habe, wollte Mairu das in ilch 1.2 einbauen.
    Wenn er wieder kommt hau ich ihn mal darauf an.
    Ist auch gut möglich, dass das Update schon committed wurde aber noch nicht online ist
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Das wäre super Gecko. Schubs Mairu mal an ;-)
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    ist bereits fertig und beim nächsten Site-update mit online lächeln


    Zuletzt modifiziert von GeCk0 am 29.08.2011 - 22:01:48
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    1 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Das ist mal ne gute Nachricht.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Sind fast 2 Monate um. Kommt die Funktion jetzt?
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Sunshine Live Mitglied
    Registriert seit
    03.06.2009
    Beiträge
    1.027
    Beitragswertungen
    109 Beitragspunkte
    Naja die frage ist wann wohl das Update kommt^^
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    sobald ich oder Mairu auf "update" klicken lächeln
    Da es aber mehr als eine Änderung sein wird, bitte ich noch um etwas Geduld.
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    MagistYata Mitglied
    Registriert seit
    22.12.2007
    Beiträge
    861
    Beitragswertungen
    6 Beitragspunkte
    Vielen Dank dass ihr das nun endlich eingebaut habt.
    Streß ist Lebensdiebstahl
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    xXschippi88Xx Mitglied
    Registriert seit
    14.12.2013
    Beiträge
    176
    Beitragswertungen
    2 Beitragspunkte
    hallöchen liebe Community,

    ich wollte mich mal erkundigen, da es mich genauso interessiert, ob denn die "spoiler - funktion" eingebaut wurde ins ilch - template..??

    Da mir das bei meinem derzeitigen Projekt sehr helfen würde, wäre es halt gut zu wissen..^^


    mfg
    Hmm... Soll ich heute trinken?
    Oder soll ich heute UND morgen trinken?
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    163
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von GeCk0
    sobald ich oder Mairu auf "update" klicken lächeln
    Da es aber mehr als eine Änderung sein wird, bitte ich noch um etwas Geduld.


    Hallo alle,
    Ist es denn schon Fertig zwinker

    MFG
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    BBCode 2.0 Installieren zwinker
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    163
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von -saarlonz-
    BBCode 2.0 Installieren zwinker


    Hallo -saarlonz-

    Ich habe denn BBCode 2.0 Installiert.
    Aber ich möchte ja das er als Klapptext Angezeigt ist so wie im ilch Forum.

    Bei mir Zeigt er von 1 bis 245 Zeilen an.

    ich denke mal mal das es das ist und das man da noch was rein Schreiben muss aber was?

    Aus: include/includes/func/bbcode.php
    		//> Code Dropdown!
        if($boolButton['fnFormatCode'] == 1 || $boolButton['fnFormatPhp'] == 1 || $boolButton['fnFormatHtml'] == 1 || $boolButton['fnFormatCss'] == 1) {
          $BBCodeButtons .= "<select onChange=\"javascript:bbcode_code_insert_codes(this.value); javascript:this.value='0';\" style=\"font-family:Verdana;font-size:10px; margin-bottom:6px; z-index:0;\" name=\"code\"><option value=\"0\">Code einf&uuml;gen</option>";
        }
    
    
        if($boolButton['fnFormatPhp'] == 1) {
          $BBCodeButtons .= "<option value=\"php\">PHP</option>";
        }
    
        if($boolButton['fnFormatHtml'] == 1) {
          $BBCodeButtons .= "<option value=\"html\">HTML</option>";
        }
    
        if($boolButton['fnFormatCss'] == 1) {
          $BBCodeButtons .= "<option value=\"css\">CSS</option>";
        }
    
        if($boolButton['fnFormatCode'] == 1) {
          $BBCodeButtons .= "<option value=\"code\">Sonstiger Code</option>";
        }
    
    		if($boolButton['fnFormatCode'] == 1 || $boolButton['fnFormatPhp'] == 1 || $boolButton['fnFormatHtml'] == 1 || $boolButton['fnFormatCss'] == 1) {
    			$BBCodeButtons .= "</select>";
    		}
    
        return $BBCodeButtons;
    }


    Kompletter BBCode 2.0 aus: include/includes/func/bbcode.php

    <?php
    #   Copyright by Manuel Staechele
    #   Support www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    //Klasse laden
    require_once('include/includes/class/bbcode.php');
    require_once('include/includes/bbcode_config.php');
    $ILCH_HEADER_ADDITIONS .= "<script type=\"text/javascript\" src=\"include/includes/js/BBCodeGlobal.js\"></script>\n<script type=\"text/javascript\">\nvar bbcodemaximagewidth = {$info['ImgMaxBreite']};\nvar bbcodemaximageheight = {$info['ImgMaxHoehe']};\n</script>";
    
    //Farbliste erstellen
    function colorliste ( $ar ) {
      $l = '';
      foreach($ar as $k => $v) {
       $l .= '<td width="10" style="background-color: '.$k.';"><a href="javascript:bbcode_code_insert(\'color\',\''.$k.'\'); hide_color();"><img src="include/images/icons/bbcode/transparent.gif" border="0" height="10" width="10" alt="'.$v.'" title="'.$v.'"></td>';
      }
      return ($l);
    }
    
    function getBBCodeButtons(){
    		//> Buttons Informationen.
    		$ButtonSql = db_query("SELECT *	FROM prefix_bbcode_buttons WHERE fnButtonNr='1'");
    		$boolButton = db_fetch_assoc($ButtonSql);
    
    		$cfgBBCsql = db_query("SELECT * FROM prefix_bbcode_config WHERE fnConfigNr='1'");
    		$cfgInfo = db_fetch_assoc($cfgBBCsql);
    
    		$BBCodeButtons = '<script type="text/javascript" src="include/includes/js/interface.js"></script>';
    		
    		//> Fett Button!
    		if($boolButton['fnFormatB'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('b','Gib hier den Text an der fett formatiert werden soll.')\"><img src=\"include/images/icons/bbcode/bbcode_bold.png\" alt=\"Fett formatieren\" title=\"Fett formatieren\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Kursiv Button!
    		if($boolButton['fnFormatI'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('i','Gib hier den Text an der kursiv formatiert werden soll.')\"><img src=\"include/images/icons/bbcode/bbcode_italic.png\" alt=\"Kursiv formatieren\" title=\"Kursiv formatieren\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Unterschrieben Button!
    		if($boolButton['fnFormatU'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('u','Gib hier den Text an der unterstrichen formatiert werden soll.')\"><img src=\"include/images/icons/bbcode/bbcode_underline.png\" alt=\"Unterstrichen formatieren\" title=\"Unterstrichen formatieren\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Durchgestrichener Button!
    		if($boolButton['fnFormatS'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('s','Gib hier den Text an der durchgestrichen formatiert werden soll..')\"><img src=\"include/images/icons/bbcode/bbcode_strike.png\" alt=\"Durchgestrichen formatieren\" title=\"Durchgestrichen formatieren\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Leerzeichen?
    		if($boolButton['fnFormatB'] == 1 || $boolButton['fnFormatI'] == 1 || $boolButton['fnFormatU'] == 1 || $boolButton['fnFormatS'] == 1) {
    			$BBCodeButtons .= "&nbsp;";
    		}
    
    		//> Links Button!
    		if($boolButton['fnFormatLeft'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_code_insert('left','0')\"><img src=\"include/images/icons/bbcode/bbcode_left.png\" alt=\"Links ausrichten\" title=\"Links ausrichten\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Zentriert Button!
    		if($boolButton['fnFormatCenter'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_code_insert('center','0')\"><img src=\"include/images/icons/bbcode/bbcode_center.png\" alt=\"Mittig ausrichten\" title=\"Mittig ausrichten\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Rechts Button!
    		if($boolButton['fnFormatRight'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_code_insert('right','0')\"><img src=\"include/images/icons/bbcode/bbcode_right.png\" alt=\"Rechts ausrichten\" title=\"Rechts ausrichten\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Leerzeichen?
    		if($boolButton['fnFormatLeft'] == 1 || $boolButton['fnFormatCenter'] == 1 || $boolButton['fnFormatRight'] == 1) {
    			$BBCodeButtons .= "&nbsp;";
    		}
    
    		//> Listen Button!
    		if($boolButton['fnFormatList'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('list','Gib hier den Text ein der aufgelistet werden soll.\\nUm die liste zu beenden einfach auf Abbrechen klicken.')\"><img src=\"include/images/icons/bbcode/bbcode_list.png\" alt=\"Liste erzeugen\" title=\"Liste erzeugen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Hervorheben Button!
    		if($boolButton['fnFormatEmph'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_code_insert('emph','0')\"><img src=\"include/images/icons/bbcode/bbcode_emph.png\" alt=\"Text hervorheben\" title=\"Text hervorheben\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Schriftfarbeauswahlcontainer
    		if($boolButton['fnFormatColor'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:hide_color();\"><img id=\"bbcode_color_button\" src=\"include/images/icons/bbcode/bbcode_color.png\" alt=\"Text f&auml;rben\" title=\"Text f&auml;rben\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    			$colorar = array('#FF0000' => 'red','#FFFF00' => 'yellow','#008000' => 'green','#00FF00' => 'lime','#008080' => 'teal','#808000' => 'olive','#0000FF' => 'blue','#00FFFF' => 'aqua', '#000080' => 'navy','#800080' => 'purple','#FF00FF' => 'fuchsia','#800000' => 'maroon','#C0C0C0' => 'grey','#808080' => 'silver','#000000' => 'black','#FFFFFF' => 'white',);
    			$BBCodeButtons .= '<div style="position:absolute;"><div style="display:none; position:relative; top:-30px; left:100px; width:200px; z-index:100;" id="colorinput">
    			<table width="100%" class="border" border="0" cellspacing="1" cellpadding="0">
    				<tr class="Chead" onclick="javascript:hide_color();"><td colspan="16"><b>Farbe wählen</b></td></tr>
    				<tr class="Cmite" height="15">'.colorliste($colorar).'</tr></table>
    			</div></div>';
    		}
    
    		//> Schriftgröße Button!
    		if($boolButton['fnFormatSize'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_value('size','Gib hier den Text an, der in einer anderen Schriftgr&ouml;ße formatiert werden soll.','Gib hier die Gr&ouml;&szlig;e des textes in Pixel an. \\n Pixellimit liegt bei ".$cfgInfo['fnSizeMax']."px !!!')\"><img src=\"include/images/icons/bbcode/bbcode_size.png\" alt=\"Textgr&ouml;&szlig;e ver&auml;ndern\" title=\"Textgr&ouml;&szlig;e ver&auml;ndern\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Leerzeichen?
    		if($boolButton['fnFormatList'] == 1 || $boolButton['fnFormatEmph'] == 1 || $boolButton['fnFormatColor'] == 1 || $boolButton['fnFormatSize'] == 1) {
    			$BBCodeButtons .= "&nbsp;";
    		}
    
    		//> Url Button!
    		if($boolButton['fnFormatUrl'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_value('url','Gib hier die Beschreibung für den Link an.','Gib hier die Adresse zu welcher verlinkt werden soll an.')\"><img src=\"include/images/icons/bbcode/bbcode_url.png\" alt=\"Hyperlink einf&uuml;gen\" title=\"Hyperlink einf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> E-Mail Button!
    		if($boolButton['fnFormatEmail'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_value('mail','Gib hier den namen des links an.','Gib hier die eMail - Adresse an.')\"><img src=\"include/images/icons/bbcode/bbcode_email.png\" alt=\"eMail hinzuf&uuml;gen\" title=\"eMail hinzuf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Leerzeichen?
    		if($boolButton['fnFormatUrl'] == 1 || $boolButton['fnFormatEmail'] == 1) {
    			$BBCodeButtons .= "&nbsp;";
    		}
    
    		//> Bild Button!
    		if($boolButton['fnFormatImg'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('img','Gib hier die Adresse des Bildes an.\\nHinweise: Die Breite und H&ouml;he des Bildes ist auf ".$cfgInfo['fnImgMaxBreite']."x".$cfgInfo['fnImgMaxHoehe']." eingeschr&auml;nkt und w&uuml;rde verkleinert dargstellt werden.\\nEs ist möglich ein Bild rechts oder links von anderen Elementen darzustellen, indem man [img=left] oder [img=right] benutzt.')\"><img src=\"include/images/icons/bbcode/bbcode_image.png\" alt=\"Bild einf&uuml;gen\" title=\"Bild einf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Screenshot Button!
    		if($boolButton['fnFormatScreen'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert('shot','Gib hier die Adresse des Screens an.\\nDie Breite und H&ouml;he des Bildes ist auf ".$cfgInfo['fnScreenMaxBreite']."x".$cfgInfo['fnScreenMaxHoehe']." eingeschränkt und wird verkleinert dargstellt.\\nEs ist möglich ein Screenshot rechts oder links von anderen Elementen darzustellen, indem man [shot=left] oder [shot=right] benutzt.')\"><img src=\"include/images/icons/bbcode/bbcode_screenshot.png\" alt=\"Bild einf&uuml;gen\" title=\"Screen einf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Leerzeichen?
    		if($boolButton['fnFormatImg'] == 1 || $boolButton['fnFormatScreen'] == 1) {
    			$BBCodeButtons .= "&nbsp;";
    		}
    
    		//> Quote Button!
    		if($boolButton['fnFormatQuote'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_code_insert('quote','0')\"><img src=\"include/images/icons/bbcode/bbcode_quote.png\" alt=\"Zitat einf&uuml;gen\" title=\"Zitat einf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Klapptext Button!
    		if($boolButton['fnFormatKtext'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_value('ktext','Gib hier den zu verbergenden Text ein.','Gib hier einen Titel f&uuml;r den Klapptext an.')\"><img src=\"include/images/icons/bbcode/bbcode_ktext.png\" alt=\"Klappfunktion hinzuf&uuml;gen\" title=\"Klappfunktion hinzuf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Video Button!
    		if($boolButton['fnFormatVideo'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_value_2('video','Gib hier die Video ID vom Anbieter an.','Bitte Anbieter ausw&auml;hlen.\\nAkzeptiert werden: Google, YouTube, MyVideo und GameTrailers')\"><img src=\"include/images/icons/bbcode/bbcode_video.png\" alt=\"Video einf&uuml;gen\" title=\"Video einf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Flash Button!
    		if($boolButton['fnFormatFlash'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_multiple_values('flash',{tag:['Gib hier den Link zur Flashdatei an',''],width:['Gib hier die Breite für die Flashdatei an','400'],height:['Gib hier die Höhe für die Flashdatei an','300']})\"><img src=\"include/images/icons/bbcode/bbcode_flash.png\" alt=\"Flash einf&uuml;gen\" title=\"Flash einf&uuml;gen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Countdown Button!
    		if($boolButton['fnFormatCountdown'] == 1) {
    			$BBCodeButtons .= "<a href=\"javascript:bbcode_insert_with_value('countdown','Gib hier das Datum an wann das Ereignis beginnt.\\n Format: TT.MM.JJJJ Bsp: 24.12.".date("Y")."','Gib hier eine Zeit an, wann das Ergeinis am Ereignis- Tag beginnt.\\nFormat: Std:Min:Sek Bsp: 20:15:00')\"><img src=\"include/images/icons/bbcode/bbcode_countdown.png\" alt=\"Countdown festlegen\" title=\"Countdown festlegen\" width=\"23\" height=\"22\" border=\"0\"></a> ";
    		}
    
    		//> Leerzeichen?
    		if($boolButton['fnFormatQuote'] == 1|| $boolButton['fnFormatKtext'] == 1 || $boolButton['fnFormatVideo'] == 1 || $boolButton['fnFormatFlash'] == 1 || $boolButton['fnFormatCountdown'] == 1) {
    			$BBCodeButtons .= "&nbsp;";
    		}
    
    		//> Code Dropdown!
        if($boolButton['fnFormatCode'] == 1 || $boolButton['fnFormatPhp'] == 1 || $boolButton['fnFormatHtml'] == 1 || $boolButton['fnFormatCss'] == 1) {
          $BBCodeButtons .= "<select onChange=\"javascript:bbcode_code_insert_codes(this.value); javascript:this.value='0';\" style=\"font-family:Verdana;font-size:10px; margin-bottom:6px; z-index:0;\" name=\"code\"><option value=\"0\">Code einf&uuml;gen</option>";
        }
    
    
        if($boolButton['fnFormatPhp'] == 1) {
          $BBCodeButtons .= "<option value=\"php\">PHP</option>";
        }
    
        if($boolButton['fnFormatHtml'] == 1) {
          $BBCodeButtons .= "<option value=\"html\">HTML</option>";
        }
    
        if($boolButton['fnFormatCss'] == 1) {
          $BBCodeButtons .= "<option value=\"css\">CSS</option>";
        }
    
        if($boolButton['fnFormatCode'] == 1) {
          $BBCodeButtons .= "<option value=\"code\">Sonstiger Code</option>";
        }
    
    		if($boolButton['fnFormatCode'] == 1 || $boolButton['fnFormatPhp'] == 1 || $boolButton['fnFormatHtml'] == 1 || $boolButton['fnFormatCss'] == 1) {
    			$BBCodeButtons .= "</select>";
    		}
    
        return $BBCodeButtons;
    }
    
    function BBcode($s,$maxLength=0,$maxImgWidth=0,$maxImgHeight=0) {
      global $permitted,$info,$global_smiles_array;
    
      //> Smilies in array abspeichern.
    	if(!isset($global_smiles_array)) {
    		$erg = db_query("SELECT ent, url, emo FROM `prefix_smilies`");
    		while ($row = db_fetch_object($erg) ) {
    			$global_smiles_array[$row->ent] = $row->emo.'#@#-_-_-#@#'.$row->url;
    		}
    	}
    
    	$bbcode = new bbcode();
    	$bbcode->smileys = $global_smiles_array;
    	$bbcode->permitted = $permitted;
    	$bbcode->info = $info;
    
      if ($maxLength != 0) {
        $bbcode->info['fnWortMaxLaenge'] = $maxLength;
      }
      if ($maxImgWidth != 0) {
        $bbcode->info['fnImgMaxBreite'] = $maxImgWidth;
      }
      if ($maxImgHeight != 0) {
        $bbcode->info['fnImgMaxBreite'] = $maxImgHeight;
      }
    
    	return $bbcode->parse($s);
    }
    ?>


    MFG


    Zuletzt modifiziert von FightClub am 20.02.2014 - 11:51:19
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Aber die dort Spoilerfunktion die dort vorhanden ist hast du gesehen? Und die reicht nicht aus?
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    163
    Beitragswertungen
    1 Beitragspunkte
    Was ist denn die Spoilerfunktion? genervt

    Habe mir jetzt alle 60 Datein in 20 Ordner angeguckt und nicht gefunden.

    mit Klapptext Angezeigt für [code], [html], [php],

    MFG


    Zuletzt modifiziert von FightClub am 20.02.2014 - 15:52:39
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Ich wollte nur wissen ob das normale [ktext] nicht ausreicht. Was hier auf Ilch.de zum Einsatz kommt ist der SyntaxHighlighter, den wirst du so nicht im Script finden.
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    163
    Beitragswertungen
    1 Beitragspunkte
    ok und kann mann das mit denn SyntaxHighlighter machen.
    in denn BBCode 2.0 das mann ein Klapptext Angezeigt für [code], [html], [php], hat?

    Da ich ein Projket Names: ilch Community CMS habe

    MFG


    Zuletzt modifiziert von FightClub am 20.02.2014 - 16:15:09
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Das wirst du schon selbst machen müssen, oder eben im Anfrage / Angebot anfragen ob es jemand für dich macht. Die Seite des hier verwendeten SyntaxHighlighter findest du hier:

    alexgorbatchev.com/SyntaxHighlighter/
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    FightClub Mitglied
    Registriert seit
    02.06.2013
    Beiträge
    163
    Beitragswertungen
    1 Beitragspunkte
    OK Danke zwinker
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.205
    Beitragswertungen
    130 Beitragspunkte
    Hallo zusammen,

    ich wollte das Synthax-Highlighting für BBCode einbauen. Dazu habe ich entsprechend der von -saarlonz- geposteten Seite versucht, in der BBCode-Klasse die Code-Tags zu erweitern.

    Ich habe folgendes verändert:
    function _addcodecontainer($code, $type, $file=null, $firstline=1) {
            //> Datei pfad mit angegeben?
            $file = ($file == NULL) ? "":" von Datei <em>".$this->_shortwords($file)."</em>";
    
            //> Zeilen zählen.
            $linescount = substr_count($code, "\n") + $firstline + 1;
            if ($type == 'Php') {
                $linescount = substr_count($code, "\r") + $firstline + 1;
            }
            $line = '';
            for($no=$firstline;$no < $linescount;$no++) {
                $line .= $no.":<br />";
            }
    
            //> Hier könnt ihr den Header und Footer für HTML editieren.
            $breite = trim($this->info['BlockTabelleBreite']);
            $breite = (strpos($breite, '%') !== false) ? '450px' : $breite.'px';
            $header = "<div style=\"overflow: auto; width: {$breite};\">"
                     ."<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"BORDER: 1px SOLID ".$this->info['BlockRandFarbe'].";\" width=\"100%\">"
                     ."<tr><td colspan=\"3\" style=\"font-family:Arial, Helvetica, sans-serif;font-size:12px; font-weight:bold; color:".$this->info['BlockSchriftfarbe'].";background-color:".$this->info['BlockHintergrundfarbe'].";\">&nbsp;".$type.$file."</td></tr>"
                     ."<tr bgcolor=\"".$this->info['BlockHintergrundfarbeIT']."\"><td style=\"width:20px; color:".$this->info['BlockSchriftfarbe'].";padding-left:2px;padding-right:2px;border-right:1px solid ".$this->info['BlockHintergrundfarbe'].";font-family:Arial, Helvetica, sans-serif;\" align=\"right\" valign=\"top\"><code style=\"width:20px;\">"
                     .$line
                     ."</code></td><td width=\"5\">&nbsp;</td><td valign=\"top\" style=\"background-color:".$this->info['BlockHintergrundfarbe']."; color:".$this->info['BlockSchriftfarbe'].";\" nowrap width=\"95%\"><code>";
            $footer = "</code></td></tr></table></div>";
    
            return $header.$code.$footer;
        }


    Und das ist der derzeitige Stand:
    function _addcodecontainer($code, $type, $file=null, $firstline=1) {
            //> Datei pfad mit angegeben?
            $file = ($file == NULL) ? "":" von Datei <em>".$this->_shortwords($file)."</em>";
    
            //> Zeilen zählen.
            $linescount = substr_count($code, "\n") + $firstline + 1;
            if ($type == 'Php') {
                $linescount = substr_count($code, "\r") + $firstline + 1;
            }
            $line = '';
            for($no=$firstline;$no < $linescount;$no++) {
                $line .= $no.":<br />";
            }
    
            //> Hier könnt ihr den Header und Footer für HTML editieren.
            $breite = trim($this->info['BlockTabelleBreite']);
            $breite = (strpos($breite, '%') !== false) ? '450px' : $breite.'px';
    //        $header = "<div style=\"overflow: auto; width: {$breite};\">"
    //                 ."<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"BORDER: 1px SOLID ".$this->info['BlockRandFarbe'].";\" width=\"100%\">"
    //                 ."<tr><td colspan=\"3\" style=\"font-family:Arial, Helvetica, sans-serif;font-size:12px; font-weight:bold; color:".$this->info['BlockSchriftfarbe'].";background-color:".$this->info['BlockHintergrundfarbe'].";\">&nbsp;".$type.$file."</td></tr>"
    //                 ."<tr bgcolor=\"".$this->info['BlockHintergrundfarbeIT']."\"><td style=\"width:20px; color:".$this->info['BlockSchriftfarbe'].";padding-left:2px;padding-right:2px;border-right:1px solid ".$this->info['BlockHintergrundfarbe'].";font-family:Arial, Helvetica, sans-serif;\" align=\"right\" valign=\"top\"><code style=\"width:20px;\">"
    //                 .$line
    //                 ."</code></td><td width=\"5\">&nbsp;</td><td valign=\"top\" style=\"background-color:".$this->info['BlockHintergrundfarbe']."; color:".$this->info['BlockSchriftfarbe'].";\" nowrap width=\"95%\"><code>";
    //        $footer = "</code></td></tr></table></div>";
    
    	$header = "<div style=\"overflow: auto; width: {$breite};\">"
                        ."<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"BORDER: 1px SOLID ".$this->info['BlockRandFarbe'].";\" width=\"100%\">"
                        ."<tr><td colspan=\"3\" style=\"font-family:Arial, Helvetica, sans-serif;font-size:12px; font-weight:bold; color:".$this->info['BlockSchriftfarbe'].";background-color:".$this->info['BlockHintergrundfarbe'].";\">"
                        ."<pre class=\"brush: php;\">";
            
            $footer = "</pre></td></tr></table></div>";
    
            return $header.$code.$footer;
    	}


    Das Ergebnis ist leider nicht das Gewünschte:
    www.testing.sivos.de/index.php?forum-showposts-22-p1#188

    Wie es aussieht, ist in der Variable $code mehr als nur der tatsächliche Code enthalten.
    Ich habe die pre-Tags auch an mehreren Stellen getestet, immer mit ähnlichen Ergebnissen.
    Könnte mir bitte jemand bei meinem Problem helfen?

    Danke im Voraus!


    Zuletzt modifiziert von Outi77 am 01.03.2014 - 16:00:00
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Nein dein Code sollte komplett nur durch das pre selbst angeben werden, alles andere wird dann durch Javascript umgewandelt, also das ganze div Zeugs drumherum ist überflüssig bzw. störend.

    Das Zeilennr. anzeigen müsste auch komplett raus (kann als Option beim dem pre mit angegeben werden)

    Ich kann dir hier mal die entsprechenden Teile der func/bbcode.php von ilch.de zur Verfügung stellen, die sieht aber schon etwas anders aus (Erweiterung des Standard BBCodes).

    Du siehst aber schön, dass am Ende einfach nur ein <pre ...>...</pre> ausgegeben wird.

    function bbcode_code_start($s, $coTime, $result) {
        for ($i = 0; $i < count($result[1]); $i++) {
            if ($result[0][$i]) {
                $s = str_replace($result[0][$i], '#' . $coTime . '#' . $i . '#' . $coTime . '#', $s);
            }
        }
        return ($s);
    }
    
    function bbcode_code_end($s, $coTime, $result) {
        $tpl = new tpl('codereplace.htm');
        $count = count($result[3]);
        for ($i = 0; $i < $count; $i++) {
            if ($result[3][$i]) {
                $code = rtrim($result[3][$i]);
                //Parameter
                $paramstr = trim($result[1][$i]);
                $opts = array('start' => 1, 'type' => '');
                if (strlen($paramstr)) {
                    preg_match_all('/(\w+)=\'([^\']+)\'/i', $paramstr, $params);
                    debug($params);
                    foreach ($params[1] as $key => $value) {
                        $opts[$value] = $params[2][$key];
                    }
                }
                $opts['start'] = intval($opts['start']);
                /* Syntaxhighliger / Javascript */
                $addopts = '';
                if (substr_count($code, "\n") > 20) {
                    $addopts .= 'collapse: true;';
                }
                if (isset($opts['title'])) {
                    $addopts .= 'title: \'' . $opts['title'] . '\';';
                }
                if (isset($opts['highlight'])) {
                    $lines = explode(';', trim($opts['highlight']));
                    $linesAr = array();
                    foreach ($lines as $line) {
                        $tmp = explode('-', trim($line));
                        array_map('intval', $tmp);
                        if ($tmp[0] > 0) {
                            if (count($tmp) == 1) {
                                $linesAr[] = $tmp[0];
                            } elseif ($tmp[0] <= $tmp[1]) {
                                for ($j = $tmp[0]; $j <= $tmp[1]; $j++)
                                    $linesAr[] = $j;
                            }
                        }
                    }
                    $addopts .= 'highlight: [' . implode(',', $linesAr) . '];';
                }
                //Check Parameter
                switch ($opts['type']) {
                    case 'php': case 'css': case 'js': case 'text': case 'diff': case 'sql': break;
                    case 'html': case 'htm':
                        $opts['type'] = 'xml';
                        break;
                    default:
                        if (preg_match('%<\?php.*\?>%s', $code) > 0) {
                            $opts['type'] = 'php';
                            break;
                        } elseif (preg_match('%<html>.*</html>%s', $code) > 0) {
                            $opts['type'] = 'xml';
                            break;
                        }
                        $opts['type'] = 'text';
                }
                if ($opts['start'] <= 0) {
                    $addopts .= 'gutter: false;';
                } elseif ($opts['start'] > 1) {
                    $addopts .= 'first-line: ' . $opts['start'] . ';';
                }
    
                $newstring = '<pre class="brush: ' . $opts['type'] . ';' . $addopts . '">' . htmlspecialchars($code) . '</pre>';
                $s = str_replace('#' . $coTime . '#' . $i . '#' . $coTime . '#', $newstring, $s);
            }
        }
        unset($tpl);
        return ($s);
    }


    Siehe dazu auch alexgorbatchev.com/SyntaxHighlighter/manual/configuration/ ganz unten.


    Zuletzt modifiziert von Mairu am 02.03.2014 - 17:17:11
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.205
    Beitragswertungen
    130 Beitragspunkte
    Zunächst mal vielen Dank für Deine Hilfe, Mairu!
    Ich habe mir Deine php angeschaut, allerdings weicht diese doch zu sehr von der Standard-Datei ab, als dass ich sie im Moment für mich nutzen könnte.
    Also nach ein paar Tests bin ich nicht weiter gekommen.
    Wenn ich in der bbcode.php-Klasse in der
    ZitatZitat
    function _addcodecontainer

    alles weglasse und nur $code zurückgebe, ist das Ergebnis folgendes:

    Bette ich aber $code in ein
    <pre class="brush: php;">...</pre>

    ein, sieht es wiederum so aus:

    Irgendetwas stimmt noch nicht und ich weiß nicht, woran es liegt.
    Könntest Du mir eventuell noch einen Tipp geben?
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.253
    Beitragswertungen
    366 Beitragspunkte
    Ja stimmt, der BBCode 2.0 hat ja seine eigene hightlight Funktion (für php die interne php Funktionalität), die den Code ja mit weiterem Markup (HTML) versieht.

    (Fast am Ende der parse Methode)
            //> Zum schluss die blöcke die verschlüsselt wurden wieder entschlüsseln und Parsen.
            if($this->permitted['php'] == true) {
                $string = preg_replace("%\[php\](.+)\[\/php\]%esiU", '$this->_phpblock("$1")', $string);
                $string = preg_replace("%\[php=([^;]*);(\d+)\](.+)\[\/php\]%esiU", 'this->_phpblock("$3","$1","$2")', $string);
                  $string = preg_replace("%\[php=(.*)\](.+)\[\/php\]%esiU", '$this->_phpblock("$2","$1")', $string);
            }
    
            if($this->permitted['html'] == true) {
                $string = preg_replace("%\[html\](.+)\[\/html\]%esiU","\$this->_htmlblock('\$1')",$string);
                $string = preg_replace("%\[html=([^;]*);(\d+)\](.+)\[\/html\]%esiU","\$this->_htmlblock('\$3','\$1','\$2')",$string);
                  $string = preg_replace("%\[html=(.*)\](.+)\[\/html\]%esiU","\$this->_htmlblock('\$2','\$1')",$string);
            }
    
            if($this->permitted['css'] == true) {
                $string = preg_replace("%\[css\](.+)\[\/css\]%esiU","\$this->_cssblock('\$1')",$string);
                $string = preg_replace("%\[css=([^;]*);(\d+)\](.+)\[\/css\]%esiU","\$this->_cssblock('\$3','\$1','\$2')",$string);
          $string = preg_replace("%\[css=(.*)\](.+)\[\/css\]%esiU","\$this->_cssblock('\$2','\$1')",$string);
            }
    
            if($this->permitted['code'] == true) {
                $string = preg_replace("%\[code\](.+)\[\/code\]%esiU","\$this->_codeblock('\$1')",$string);
                $string = preg_replace("%\[code=([^;]*);(\d+)\](.+)\[\/code\]%esiU","\$this->_codeblock('\$3','\$1','\$2')",$string);
                  $string = preg_replace("%\[code=(.*)\](.+)\[\/code\]%esiU","\$this->_codeblock('\$2','\$1')",$string);
            }


    Dort steht, ja welche Codefunktion aufgerufen wird, dort müssten denke ich alle mit der Standardcode (_codeblock) aufgerufen werden.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten