ilch Forum » Ilch Clan 1.1 » Allgemein » Smileys pro Account aktivieren

Geschlossen
  1. #1
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Guten Tag,

    ich habe eine Frage, wie kann ich pro Account (Member), die Option einbauen, dass jeder selbst entscheiden kann ob er die Smileys als Smiley oder als Textausgabe sieht...

    Bei vBulletin gibt es diese Option im Profil... aber ich habe absolut keinen Anhaltspunkt wo ich bei Ilch damit und wie anfangen sollte...

    Danke schonmal im vorraus für die hilfreichen Antworten...

    betroffene Homepage: autofreunde-herford.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Es muss ein neues Profilfeld (Nicht über den Adminbereich!) erzeugt werden.

    dieses muss dann in der Ausgabefunktion der smileys abgefragt werden.
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Danke schonmal...

    habe in der "include/templates/user/profil_edit.htm" ein Feld eingefügt...

    <label style="float:left; width:35%;">Smileys<span class="smalfont"> möchtest Du Smileys sehen?</span></label><input id="opt_sml1" type="radio" value="1" name="opt_sml" {opt_sml1} /><label for="opt_sml1"> {_lang_yes}</label>, <input id="opt_sml0" type="radio" value="0" name="opt_sml" {opt_sml0} /><label for="opt_sml"> {_lang_no} nur als Text!</label><br style="clear:both;" />


    dazu in der "include/contents/user/profil_edit.php"

    $abf = 'SELECT email,wohnort,homepage,aim,msn,icq,yahoo,avatar,status,staat,gebdatum,sig,opt_pm_popup,opt_pm,opt_mail,opt_sec,opt_sml,geschlecht,spezrank FROM `prefix_user` WHERE id = "'.$_SESSION['authid'].'"';


    if ( $row['opt_sml'] == 1 ) { $row['opt_sml1'] = 'checked'; $row['opt_sml0'] = ''; } else { $row['opt_sml1'] = ''; $row['opt_sml0'] = 'checked'; }


    und als statisches Feld:

    opt_sml = '".escape($_POST['opt_sml'], 'integer')."',



    Aber wie komme ich nun weiter, habe keinen Ansatz wo überhaupt die Ausgabefunktion zu finden ist und wie sie aussehen muss wenn ich die einbaue...

    werde jetzt noch eine Zeile in der MySQL Datenbank erstellen...

    Habe es mit diesem Befehl versucht:

    ALTER TABLE prefix_user ADD opt_sml int(1) NOT NULL DEFAULT '0';


    Nun kann ich auch schon im Profil die Einstellung vornehmen...er speichert diese auch und gibt sie auch richtig aus...


    Zuletzt modifiziert von Dennis3107 am 25.10.2012 - 11:08:14
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Also bei einer standart installation:

    include/includes/func/bbcode.php

    # smilies umwandeln
    $s = bbcode_smiles ($s);
    
    ####################
    $uid=escape($SESSION['authid'], 'integer');
    $UserSmilesAllowed=db_result(db_query('SELECT `opt_sml` FROM prefix_users WHERE id='.$uid),0);
    
    # smilies umwandeln
    if($UserSmilesAllowed){
        $s = bbcode_smiles ($s);
    }
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Habe nun gesucht, gesucht und gesucht...

    ...leider habe ich diese Funktionen nicht in meiner bbcode.php drin


    Ich weiß aber auch absolut nicht wie ich per php drauf zufreifen sollte, nichtmal wie ich da eine Option einbaue, dass es jeder selbst per Profil auswählen kann, meine php Kenntnisse sind nicht wirklich die besten, trotz das ich viele php Kurse versucht habe zu verstehen...

    Hier ist meine 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>';
    		
    		//> 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>';
    		}
    
    		//> 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> ";
    		}
    
    		//> Schriftfarbe Button!
            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> ";
            }
    
    		//> 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);
    }
    ?>


    Die einzige Passagen mit Smiles sind die ab Zeile 200:

    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);
    }


    Aber habe eigentlich gar nichts an der Datei gemacht, was mich nun wundert...da bei mir die Einträge scheinbar fehlen...

    In der bbcode_config.php habe ich folgendes gefunden (Zeile 91):

    //> Smileys umwandeln ja oder nein?
    	$permitted['smileys'] = $boolButton['fnFormatSmilies'];


    In der include/includes/class/bbcode.php folgendes:

        //> Smilies die in Grafik umgewandelt werden sollen.
        var $smileys = array();


    und:

        //> Smilies aus dem Array auslesen.
        function _smileys($string) {
            if(!is_null($this->smileys) && is_array($this->smileys)) {
                if($this->permitted['smileys'] == true) {
                    $smileystart = '#@'.uniqid('').'@#';
                    $smileymid = '|#@|'.uniqid('').'|@#|';
                    $smileyend = '#@'.uniqid('').'@#';
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($icon, $smileystart.$icon.$smileyend, $string);
                    }
                    $string = str_replace($smileyend.$smileystart, $smileymid, $string);
                    $string = preg_replace('%(\S)' . $smileystart . '(.*)' . $smileyend . '%iU', '$1$2', $string);
                    $string = preg_replace('%(^|\s)(' . $smileystart . ')(.*)(' . $smileyend . ')%iUe', '\'$1\'.\'$2\'.str_replace(\''.$smileymid.'\',\''.$smileyend.$smileystart.'\',\'$3\').\'$4\'', $string);
    
                    $string = str_replace($smileymid, '', $string);
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($smileystart.$icon.$smileyend, '<img src="include/images/smiles/'.$url.'" border="0" alt="'.$icon.'" title="'.$emo.'" />', $string);
                    }
                    $string = str_replace(array($smileyend, $smileystart), '', $string);
                }
                return $string;
            } else {
                return $string;
            }
        }
    
    //    //> Smilies aus dem Array auslesen.
    //    function _smileys($string) {
    //        if(!is_null($this->smileys) && is_array($this->smileys)) {
    //            if($this->permitted['smileys'] == true) {
    //                foreach ($this->smileys as $icon => $info) {
    //                    list($emo, $url) = explode('#@#-_-_-#@#', $info);
    //                    $string = str_replace($icon,'<img src="include/images/smiles/'.$url.'" border="0" alt="'.$emo.'" title="'.$emo.'" />',$string);
    //                }
    //            }
    //            return $string;
    //        } else {
    //            return $string;
    //        }
    //    }


    und kleinere weiter Einträge in dieser Datei...

    Was ich aber auch nicht verstehe, weil ich nicht weiß was ich damit machen kann bzw. soll / könnte...


    Zuletzt modifiziert von Dennis3107 am 26.10.2012 - 23:43:05
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Das ist aus dem BBcode 2.0 damit hab ich mich noch nicht genau befasst.

    die nötige php funktion hatte ich oben gepostet zunge
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Rockwulf

    die nötige php funktion hatte ich oben gepostet zunge


    Hilft nur nicht, wenn man keine Ahnung hat was man damit machen soll, bzw. wohin damit...

    Als ich diese Funktion in der "include/contents/user/profil_edit.php" gemacht hatte...

    Kam folgender Fehler:

    Fatal error: Call to undefined function bbcode_smiles() in /home/www/web185/html/teaminsanity/include/contents/user/profil_edit.php on line 14


    Und das entspricht:

    $s = bbcode_smiles ($s);


    #EDIT:

    Dann habe ich die Funktion nach ganz unten in die "profil_edit.php" gepackt. Dann zeigt er nur den Fehler beim abspeichern.


    #EDIT2:

    Hatte auch versucht den Code in die "bbcode.php", "forum.php" und "show_posts.php" einzubauen...jedesmal der gleiche Fehler...


    #EDIT 3:

    Habe nun diese Funktion aus der Originalen bbcode.php entnommen und ans Ende der Neuen bbcode.php (von BBcode2.0) gesetzt.

    function bbcode_smiles ($s) {
      global $global_smiles_array;
      if (!isset($global_smiles_array)) {
        $global_smiles_array = 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;
         }
      }
      foreach ($global_smiles_array as $k => $v) {
        list($emo, $url) = explode('#@#-_-_-#@#', $v);
        $s = str_replace($k,'<img src="include/images/smiles/'.$url.'" border="0" alt="'.$emo.'" title="'.$emo.'" />',$s);
      }
      return ($s);
    }


    Aber wohin nun mit Deiner php Funktion^^


    Zuletzt modifiziert von Dennis3107 am 27.10.2012 - 13:05:32
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Irgendjemand noch eine Idee, wo der Code reinkommt? Oder einen anderen Lösungsvorschlag???
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    diese Datei Posten

    include/includes/class/bbcode.php

    und deine änderungen mit der Funktion rückgängig machen
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Das ist die Originale Datei ohne Änderungen:

    <?php
    #   Copyright by Thomas Bowe [Funjoy]
    #   Support bbcode@phpline.de
    #   link www.phpline.de
    
    /* Module - Information
    * -------------------------------------------------------
    * Hier könnt ihr eure Module includieren lassen.
    * Wenn Ihr selber Module zum Highlight programmiert
    * denkt daran das ihr auch noch das Parsen hier definieren müsst.
    * und in der bbcode_config.php Datei müsstet ihr die Option auch noch einstellen.
    * um ein Beispiel zu haben schaut euch die Funktion _htmlblock() am besten mal an.
    * und in Zeile 308 und Zeile 490 habt ihr ein Beispiel wie ihr die Parsebefehle schreiben könnt.
    */
    
    //> Bitte denkt daran das, dass Modul html.php immer unter dem Modul css.php sein muss.
    //> Modul [css.php]
        if(file_exists("include/includes/class/highlight/css.php")) {
            require_once("include/includes/class/highlight/css.php");
        }
    
    //> Modul [html.php]
        if(file_exists("include/includes/class/highlight/html.php")) {
            require_once("include/includes/class/highlight/html.php");
        }
    
    
    class bbcode {
        //> Tags die geparsed werden dürfen.
        var $permitted = array();
    
        //> Verschlüsselte codeblocks.
        var $codecblocks = array();
    
        //> Badwords!
        var $badwords = array();
    
        //> Informationen für die Klasse!
        var $info = array();
    
        //> Patter befehle!
        var $pattern = array();
    
        //> Replace strings!
        var $replace = array();
    
        //> Smilies die in Grafik umgewandelt werden sollen.
        var $smileys = array();
    
        //> Cache für Quotes Header!
        var $ayCacheQuoteOpen = array();
    
        //> Cache fürQuotes Footer!
        var $ayCacheQuoteClose = array();
    
        //> Cache für Quotes Header!
        var $ayCacheKtextOpen = array();
    
        //> Cache fürQuotes Footer!
        var $ayCacheKtextClose = array();
    
        //> Codeblock verschlüsseln und wieder ausgeben.
        function encode_codec($string,$tag,$file=NULL) {
            $string = str_replace('\"', '"', $string);
            $file = ($file == NULL) ? "":"=".$file;
            $crypt = md5(count($this->codecblocks));
            $this->codecblocks[$crypt.":".$tag] = $string;
            return "[".$tag.$file."]".$crypt."[/".$tag."]";
        }
    
        //> Codeblock entschlüsseln und parsen!
        function _codeblock($codecid,$file=NULL,$firstline=1) {
            $string = $this->codecblocks[$codecid.':code'];
            $string = htmlentities($string);
    
            $string = str_replace("\t", '&nbsp; &nbsp;', $string);
            $string = str_replace('  ', '&nbsp; ', $string);
            $string = str_replace('  ', ' &nbsp;', $string);
            $string = nl2br($string);
    
            return $this->_addcodecontainer($string, 'Code', $file, $firstline);
        }
    
        //> htmlblock entschlüsseln und parsen!
        function _htmlblock($codecid,$file=NULL,$firstline=1) {
            $string = $this->codecblocks[$codecid.':html'];
            $string = htmlentities($string);
    
            //> Highlight Modul Funktion checken ob sie existerit.
            if(function_exists("highlight_html")) {
                $string = highlight_html($string,$this->info['BlockCodeFarbe']);
            }
    
            $string = str_replace("\t", '&nbsp; &nbsp;', $string);
            $string = str_replace('  ', '&nbsp; ', $string);
            $string = str_replace('  ', ' &nbsp;', $string);
            $string = nl2br($string);
    
            return $this->_addcodecontainer($string, 'HTML', $file, $firstline);
        }
    
        //> cssblock entschlüsseln und parsen!
        function _cssblock($codecid,$file=NULL,$firstline=1) {
            $string = $this->codecblocks[$codecid.':css'];
            $string = htmlentities($string);
    
            //> Highlight Modul Funktion checken ob sie existerit.
            if(function_exists("highlight_css")) {
                $string = highlight_css($string);
            }
    
            $string = str_replace("\t", '&nbsp; &nbsp;', $string);
            $string = str_replace('  ', '&nbsp; ', $string);
            $string = str_replace('  ', ' &nbsp;', $string);
            $string = nl2br($string);
    
            return $this->_addcodecontainer($string, 'CSS', $file, $firstline);
        }
    
        //> phpblock entschlüsseln und parsen!
        function _phpblock($codecid, $file = null, $firstline = 1) {
            $string = $this->codecblocks[$codecid . ':php'];
            if (strpos($string, '<?php') === false) {
                $string = "<?php\n{$string}\n?>";
                $remove = true;
            } else {
                $remove = false;
            }
            ob_start();
            highlight_string($string);
            $php = ob_get_contents();
            ob_end_clean();
            if ($remove) {
                $php = str_replace(array('&lt;?php<br />', '<br /></span><span style="color: #0000BB">?&gt;</span>'), '', $php);
            }
            return $this->_addcodecontainer($php, 'Php', $file, $firstline);
        }
    
        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;
        }
    
        //> Smilies aus dem Array auslesen.
        function _smileys($string) {
            if(!is_null($this->smileys) && is_array($this->smileys)) {
                if($this->permitted['smileys'] == true) {
                    $smileystart = '#@'.uniqid('').'@#';
                    $smileymid = '|#@|'.uniqid('').'|@#|';
                    $smileyend = '#@'.uniqid('').'@#';
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($icon, $smileystart.$icon.$smileyend, $string);
                    }
                    $string = str_replace($smileyend.$smileystart, $smileymid, $string);
                    $string = preg_replace('%(\S)' . $smileystart . '(.*)' . $smileyend . '%iU', '$1$2', $string);
                    $string = preg_replace('%(^|\s)(' . $smileystart . ')(.*)(' . $smileyend . ')%iUe', '\'$1\'.\'$2\'.str_replace(\''.$smileymid.'\',\''.$smileyend.$smileystart.'\',\'$3\').\'$4\'', $string);
    
                    $string = str_replace($smileymid, '', $string);
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($smileystart.$icon.$smileyend, '<img src="include/images/smiles/'.$url.'" border="0" alt="'.$icon.'" title="'.$emo.'" />', $string);
                    }
                    $string = str_replace(array($smileyend, $smileystart), '', $string);
                }
                return $string;
            } else {
                return $string;
            }
        }
    
    //    //> Smilies aus dem Array auslesen.
    //    function _smileys($string) {
    //        if(!is_null($this->smileys) && is_array($this->smileys)) {
    //            if($this->permitted['smileys'] == true) {
    //                foreach ($this->smileys as $icon => $info) {
    //                    list($emo, $url) = explode('#@#-_-_-#@#', $info);
    //                    $string = str_replace($icon,'<img src="include/images/smiles/'.$url.'" border="0" alt="'.$emo.'" title="'.$emo.'" />',$string);
    //                }
    //            }
    //            return $string;
    //        } else {
    //            return $string;
    //        }
    //    }
    
        //> Badwords Filtern.
        function _badwords($string) {
            //> Badwords aus der Datenbank laden!
            $cfgBBCodeSql = db_query("SELECT fcBadPatter, fcBadReplace FROM prefix_bbcode_badword");
            while ($row = db_fetch_object($cfgBBCodeSql) ) {
                $pattern[] = '%' . preg_quote($row->fcBadPatter,'%') . '%iU';
                $replace[] = $row->fcBadReplace;
            }
            if(isset($pattern)) {
                $string = preg_replace($pattern,$replace,$string);
            }
    
            return $string;
        }
    
        //> Liste formatieren.
        function _list($codecid) {
            $string = $this->codecblocks[$codecid.':list'];
            $array = explode("[*]",$string);
            for($no=1;$no<=(count($array)-1);$no++) {
                $li .= "<li>".$this->parse($array[$no])."</li>";
            }
    
            return "<ul>".$li."</ul>";
        }
    
        //> Auf Maximale Schriftgröße überprüfen.
        function _size($size, $string) {
            $max = $this->info['SizeMax'];
            return '<span style="font-size:' . ($size > $max ? $max : $size) . 'px">' . stripcslashes($string) . '</span>';
        }
    
        //> Bilder auf Verkleinern via Javascript überprüfen.
        function _img($string, $float='') {
            if ($float == 'none' OR $float == 'left' OR $float == 'right') {
              $float = 'style="float:'.$float.'; margin: 5px;" ';
            } else {
              $float = '';
            }
            $image = '<img src="'.$string.'" alt="" title="" border="0" class="bbcode_image" '.$float.'/>';
            return $image;
        }
    
        //> Screenshots darstellen.
        function _screenshot($string,$float='none') {
          if ($float == 'none' OR $float == 'left' OR $float == 'right') {
          $float = 'style="float:'.$float.'; margin: 5px;" ';
        } else {
          $float = '';
        }
        $image = '<a href="'.$string.'" target="_blank"><img src="'.$string.'" alt="" title="" border="0" width="'.$this->info['ScreenMaxBreite'].'" height="'.$this->info['ScreenMaxHoehe'].'" '.$float.'/></a>';
        return $image;
        }
    
        //> Urls Filtern um XSS vorzubeugen
        function _filterurl($url) {
            return str_replace(
              array('<','>','(',')','#'),
              array('&lt;','&gt;','&#40;','&#41;','&#35;'),
              $url
            );
        }
    
        //> Links darstellen und ggf. kürzen
        function _shorturl($string,$caption=null) {
            if ($caption == null) { $caption = $string; }
    	    $string = trim($string);
    	    $caption = trim($this->_smileys($caption));
    	    $server = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'];
    	    if (preg_match('%^((http|ftp|https)://)|^/%i',$string) == 0) { $string = 'http://'.$string; }
    	    if (substr($string,0,1) == '/' OR strpos($string,$server) !== false) {
    	      $target = '_self';
    	    } else {
    	      $target = '_blank';
    	    }
    
    	    $count = strlen($caption);
    	    if($count >= $this->info['UrlMaxLaenge']) {
                $string = "<a href=\"".$string."\" target=\"".$target."\">".$this->_shortcaptions($caption)."</a>";
            } else {
                $string = "<a href=\"".$string."\" target=\"".$target."\">".$caption."</a>";
            }
            return $string;
        }
    
        //> Linkbeschreibung kürzen
        function _shortcaptions($string) {
            $words = explode(" ",$string);
            foreach($words as $word)
          if(strlen($word) > $this->info['WortMaxLaenge'] && !preg_match('%(\[(img|shot)\](.*)\[/(img|shot)\])%i',$word)) {
                    $maxd2 = sprintf("%00d",($this->info['WortMaxLaenge']/2));
                    $string = str_replace($word,substr($word,0,$maxd2)."...".substr($word,-$maxd2),$string);
                }
            return $string;
        }
    
        //> Hilfsfunktion für _shortwords
        function _checkpatterns($patterns, $word) {
            if (!is_array($patterns)) {
                return true;
            }
            foreach ($patterns as $p) {
                if (preg_match($p, $word) == 1) {
                    return false;
                }
            }
            return true;
        }
    
        //> Zu lange Wörter kürzen.
        function _shortwords($string) {
            //> Zeichenkette in einzelne Array elemente zerlegen.
            $lines = explode("\n",$string);
    
            //> Patter Befehle die nicht gekürzt werden dürfen !!!
            $pattern = array("%^(www)(.[-a-zA-Z0-9@:;\%_\+.~#?&//=]+?)%i",
                             "%^(http|https|ftp)://{1}[-a-zA-Z0-9@:;\%_\+.~#?&//=]+?%i",
                             "%(\[(url|img(=(left|right))?|shot(=(left|right))?)\](.*)\[/(url|img|shot)\])|(\[url=(.*)\])%i",
                             "%\[(code|html|css|php|countdown)(=[^]]+)].*\[/(code|html|css|php|countdown)]%i",
                             "%(\[flash)?]((http|https|ftp)://[a-z-0-9@:\%_\+.~#\?&/=,;]+)\[/flash]%i",
                             "%\[list].*\[/list]%");
    
            foreach($lines as $line) {
                $words = explode(" ",$line);
                foreach($words as $word)
                    if(strlen($word) > $this->info['WortMaxLaenge'] && $this->_checkpatterns($pattern, $word)) {
                        //Auskommentiert also Variante mit 'zulanges...Wort' zu gunsten von 'zulanges allesdazwischen Wort' (ohne ...)
                        //$maxd2 = sprintf("%00d",($this->info['WortMaxLaenge']/2));
                        $string = wordwrap($string, $this->info['WortMaxLaenge']);
                    }
                }
            return $string;
        }
    
        //> Geöffnete Ktext- Tags Nummerieren.
        function _addKtextOpen($Titel=Null) {
            $this->ayCacheKtextOpen[count($this->ayCacheKtextOpen)+1] = true;
            $intCountKtext = count($this->ayCacheKtextOpen);
    
            $string = "[ktext:".$intCountKtext."=".$Titel."]";
    
            return $string;
        }
    
        //> Geschlossene Ktext- Tags Nummerieren.
        function _addKtextClose() {
            $this->ayCacheKtextClose[count($this->ayCacheKtextClose)+1] = true;
            $intCountKtext = count($this->ayCacheKtextClose);
    
            return "[/ktext:".$intCountKtext."]";
        }
    
        //> Ktext- Tags umwandeln..
        function _ktext($string) {
            $Random = rand(1,10000000);
    
            //> Html- Muster für geöffnete Tags mit Titel.
            $HeaderTitel = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"".$this->info['KtextTabelleBreite']."\" align=\"center\">"
                          ."<tr><td><a href=\"javascript:Klapptext('__ID__')\">"
                          ."<img src=\"include/images/icons/plus.gif\" id=\"image___ID__\" border=0 alt=\"Aus/Ein-klappen\" title=\"Aus/Ein-klappen\"> ";
    
            $FooterTitel = "</a></td></tr>"
                          ."<tr><td><div id=\"layer___ID__\" style=\"display:none;border:1px ".$this->info['KtextRandFormat']." ".$this->info['KtextRandFarbe'].";\">";
    
            //> Html- Muster für geschlossene Tags.
            $KtextClose = "</div></td></tr></table>\n";
    
            //> Geöffnete Tags umwandeln.
            for($c=1;$c <= count($this->ayCacheKtextOpen);$c++) {
                if(count($this->ayCacheKtextClose) == count($this->ayCacheKtextOpen)) {
                    //> Format: [ktext=xxx]
                    $this->ktext_pattern[] = "%\[ktext:".$c."=([^]]*)\]%siU";
                    $this->ktext_replace[] = str_replace("__ID__",$c."@".$Random,$HeaderTitel)."\$1".str_replace("__ID__",$c."@".$Random,$FooterTitel);
                    //> Format: [/ktext]
                    $this->ktext_pattern[] = "%\[/ktext:".$c."\]%siU";
                    $this->ktext_replace[] = $KtextClose;
                } else {
                    //> Format: [ktext=xxx]xxx[/ktext]
                    $this->ktext_pattern[] = "%\[ktext:([0-9]*)=([^]](.*)\[/ktext:([0-9]*)\]%siU";
                    $this->ktext_replace[] = str_replace("__ID__","\$1@".$Random,$HeaderTitel)."\$2".str_replace("__ID__","\$1@".$Random,$FooterTitel)."\$3".$KtextClose;
                }
            }
    
            //> Nicht gefundene Paare wieder darstellen.
            //> Format: [ktext=xxx]
            $this->ktext_pattern[] = "%\[ktext:([0-9]*)=([^[/]*)\]%siU";
            $this->ktext_replace[] = "[ktext=\$1]";
    
            //> Format: [/ktext]
            $this->ktext_pattern[] = "%\[/ktext:([0-9]*)\]%siU";
            $this->ktext_replace[] = "[/ktext]";
    
            //> String parsen
            $string = preg_replace($this->ktext_pattern,$this->ktext_replace,$string);
    
    
            return $string;
        }
    
        //> Geöffnete Quote- Tags Nummerieren.
        function _addQuoteOpen($User=Null) {
            $this->ayCacheQuoteOpen[count($this->ayCacheQuoteOpen)+1] = $User;
            $intCountQuote = count($this->ayCacheQuoteOpen);
    
            if($User != NULL) {
                $string = "[quote:".$intCountQuote."=".$User."]";
            } else {
                $string = "[quote:".$intCountQuote."]";
            }
    
            return $string;
        }
    
        //> Geschlossene Quote- Tags Nummerieren.
        function _addQuoteClose() {
            $this->ayCacheQuoteClose[count($this->ayCacheQuoteClose)+1] = true;
            $intCountQuote = count($this->ayCacheQuoteClose);
    
            return "[/quote:".$intCountQuote."]";
        }
    
    
        //> Quote- Tags umwandeln.
        function _quote($string) {
            //> überprüfen ob Bod gesetzt ist.
            if(strtolower($this->info['QuoteSchriftformatIT']) == "bold") {
                $Schriftformat = "font-weight:bold;";
            } else {
                $Schriftformat = "font-style:".$this->info['QuoteSchriftformatIT'].";";
            }
    
            //> Html- Muster für geöffnete Quote- Tags.
            $Header = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\" style=\"BORDER: 1px SOLID ".$this->info['QuoteRandFarbe'].";\" width=\"".$this->info['QuoteTabelleBreite']."\" align=\"center\">"
                     ."<tr><td style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\">&nbsp;Zitat</td></tr>"
                     ."<tr bgcolor=\"".$this->info['QuoteHintergrundfarbeIT']."\"><td><table align=\"center\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"98%\"><tr><td style=\"".$Schriftformat."FONT-SIZE:10px;COLOR:".$this->info['QuoteSchriftfarbeIT'].";\">";
    
            //> Html- Muster für geöffnete Quote- Tags mit User.
            $HeaderUser = "<table cellspacing=\"0\" cellpadding=\"2\" border=\"0\" style=\"BORDER: 1px SOLID ".$this->info['QuoteRandFarbe'].";\" width=\"".$this->info['QuoteTabelleBreite']."\" align=\"center\">"
                               ."<tr><td style=\"font-family:Arial, Helvetica, sans-serif;FONT-SIZE:13px;FONT-WEIGHT:BOLD;COLOR:".$this->info['QuoteSchriftfarbe'].";BACKGROUND-COLOR:".$this->info['QuoteHintergrundfarbe'].";\">&nbsp;Zitat von ";
    
            $FooterUser = "</td></tr><tr bgcolor=\"".$this->info['QuoteHintergrundfarbeIT']."\"><td><table align=\"center\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"98%\"><tr><td style=\"".$Schriftformat."FONT-SIZE:10px;COLOR:".$this->info['QuoteSchriftfarbeIT'].";\">";
    
            //> Html- Muster für geschlossene Quote- Tags.
            $QuoteClose = "</td></tr></table></td></tr></table>";
    
            //> Geöffnete Tags umwandeln.
            for($c=1;$c <= count($this->ayCacheQuoteOpen);$c++) {
                if(count($this->ayCacheQuoteClose) == count($this->ayCacheQuoteOpen)) {
                    //> Format: [quote=xxx]
                    $this->quote_pattern[] = "%\[quote:".$c."=([^[/]*)\]%siU";
                    $this->quote_replace[] = $HeaderUser."\$1".$FooterUser;
    
                    //> Format: [quote]
                    $this->quote_pattern[] = "%\[quote:".$c."\]%siU";
                    $this->quote_replace[] = $Header;
    
                    //> Format: [/quote]
                    $this->quote_pattern[] = "%\[/quote:".$c."\]%siU";
                    $this->quote_replace[] = $QuoteClose;
                } else {
                    //> Format: [quote=xxx]xxx[/quote]
                    $this->quote_pattern[] = "%\[quote:([0-9]*)=([^[/]*)\[/quote:([0-9]*)\]%siU";
                    $this->quote_replace[] = $HeaderUser."\$2".$FooterUser."\$3".$QuoteClose;
    
                    //> Format: [quote]xxx[/quote]
                    $this->quote_pattern[] = "%\[quote:([0-9]*)\](.*)\[/quote:\\1\]%siU";
                    $this->quote_replace[] = $Header."\$2".$QuoteClose;
                }
            }
    
            //> Nicht gefundene Paare wieder darstellen.
            //> Format: [quote=xxx]
            $this->quote_pattern[] = "%\[quote:([0-9]*)=([^[/]*)\]%siU";
            $this->quote_replace[] = "[quote=\$2]";
    
            //> Format: [quote]
            $this->quote_pattern[] = "%\[quote:([0-9])\]%siU";
            $this->quote_replace[] = "[quote]";
    
            //> Format: [/quote]
            $this->quote_pattern[] = "%\[/quote:([0-9])\]%siU";
            $this->quote_replace[] = "[/quote]";
    
            //> String parsen
            $string = preg_replace($this->quote_pattern,$this->quote_replace,$string);
    
    
            return $string;
        }
    
        //> Video intergration.
        function _video($typ,$id) {
            $typ = strtolower($typ);
    
            if($typ == "google") {
                $str = "<embed style=\"width:".$this->info['GoogleBreite']."px; height:".$this->info['GoogleHoehe']."px;\" id=\"VideoPlayback\" align=\"middle\" type=\"application/x-shockwave-flash\" src=\"http://video.google.com/googleplayer.swf?docId=".$id."\" allowScriptAccess=\"sameDomain\" quality=\"best\" bgcolor=\"".$this->info['GoogleHintergrundfarbe']."\" scale=\"noScale\" salign=\"TL\" FlashVars=\"playerMode=embedded\"/>";
            }
    
            if($typ == "youtube") {
                $str = "<object width=\"".$this->info['YoutubeBreite']."\" height=\"".$this->info['YoutubeHoehe']."\"><param name=\"movie\" value=\"http://www.youtube.com/v/".$id."\"></param><embed src=\"http://www.youtube.com/v/".$id."\" type=\"application/x-shockwave-flash\"  width=\"".$this->info['YoutubeBreite']."\" height=\"".$this->info['YoutubeHoehe']."\" bgcolor=\"".$this->info['YoutubeHintergrundfarbe']."\"></embed></object>";
            }
    
            if($typ == "myvideo") {
                $str = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" width=\"".$this->info['MyvideoBreite']."\" height=\"".$this->info['MyvideoHoehe']."\"><param name=\"movie\" value=\"http://www.myvideo.de/movie/".$id."\"></param><embed src=\"http://www.myvideo.de/movie/".$id."\" width=\"".$this->info['MyvideoBreite']."\" height=\"".$this->info['MyvideoHoehe']."\" type=\"application/x-shockwave-flash\"></embed></object>";
            }
    
            if($typ == "gametrailers") {
          $str = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="gtembed" width="'.$this->info['YoutubeBreite'].'" height="'.$this->info['YoutubeHoehe'].'">    <param name="allowScriptAccess" value="sameDomain" />     <param name="allowFullScreen" value="true" /> <param name="movie" value="http://www.gametrailers.com/remote_wrap.php?mid='.$id.'"/> <param name="quality" value="high" /> <embed src="http://www.gametrailers.com/remote_wrap.php?mid='.$id.'" swLiveConnect="true" name="gtembed" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'.$this->info['YoutubeBreite'].'" height="'.$this->info['YoutubeHoehe'].'"></embed> </object>';
        }
    
            return $str;
        }
    
        //> Countdown berechnen.
        function _countdown($date,$time=NULL) {
            $date = explode(".",$date);
    
            if ($time != NULL) {
          $timechk = explode(':',$time);
          if ($timechk[0] <= 23 && $timechk[1] <= 59 && $timechk[2] <= 59) $timechk = TRUE;
          else $timechk = FALSE;
          }
        else $timechk = TRUE;
    
            //> Html Design.
                $Header =  "<div style=\"width:".$this->info['CountdownTabelleBreite'].";padding:5px;font-family:Verdana;font-size:".$this->info['CountdownSchriftsize']."px;".$Font."color:".$this->info['CountdownSchriftfarbe'].";border:2px dotted ".$this->info['CountdownRandFarbe'].";text-align:center\">";
                $Footer = "</div>";
    
            //> Überprüfen ob die angaben stimmen.
            if($date[0] <= 31 && $date[1] <= 12 && $date[2] /*>= date("Y")*/ && checkdate($date[1],$date[0],$date[2]) && $timechk) {
                if(isset($time)) {
                    $time = explode(":",$time);
                    $intStd = $time[0];
                    $intMin = $time[1];
                    $intSek = $time[2];
                } else {
                    $intStd = 0;
                    $intMin = 0;
                    $intSek = 0;
                }
    
                $Timestamp = @mktime($intStd, $intMin, $intSek, $date[1], $date[0], $date[2]);
                $Diff = $Timestamp - time();
    
                $Font =($this->info['CountdownSchriftformat'] == "bold") ? "font-wight:bold;":"font-style:".$this->info['CountdownSchriftformat'].";";
    
                if($Diff > 1) {
                    $Tage = sprintf("%00d",($Diff / 86400));
                    $Stunden = sprintf("%00d",(($Diff - ($Tage * 86400)) / 3600));
                    $Minuten = sprintf("%00d",(($Diff - (($Tage * 86400)+($Stunden*3600))) / 60));
                    $Sekunden = ($Diff - (($Tage * 86400)+($Stunden*3600)+($Minuten*60)));
    
                    //> Bei höheren Wert wie 1 als Mehrzahl ausgeben.
                    $mzTg = ($Tage == 1) ? "":"e";
                    $mzStd = ($Stunden == 1) ? "":"n";
                    $mzMin = ($Minuten == 1) ? "":"n";
                    $mzSek = ($Sekunden == 1) ? "":"n";
    
                    //> Datum zusamstellen.
                    $str = $Header.$Tage." Tag".$mzTg.", ".$Stunden." Stunde".$mzStd.", ".$Minuten." Minute".$mzMin." und ".$Sekunden." Sekunde".$mzSek.$Footer;
                } else {
                    //> Datum zusamstellen wenn Datum unmittelbar bevor steht.
                    $str = $Header.(is_array($time) ? implode(':',$time) : $time).' '.implode('.',$date)." !!!".$Footer;
                }
            } else {
                /*if($time == NULL) {
                    $str = "[countdown]".implode('.',$date)."[/countdown]";
                } else {
                    $str = "[countdown=".$time."]".implode('.',$date)."[/countdown]";
                }*/
                $str =  $Header."Der Countdown ist falsch definiert".$Footer;
    
            }
    
            return $str;
        }
    
        function _ws($ws) {
        return $ws;
      }
    
        //> Flash verwerten
        function _flash($url, $options){
            $width = $this->info['FlashBreite'];
            $height = $this->info['FlashHoehe'];
            if (!empty($options)) {
                $options = explode(' ', $options);
                foreach ($options as $option){
                    $tmp = 0;
                    list($name, $value) = explode('=', $option);
                    if ($name == 'width') {
                        $tmp = substr($value, 2, -2);
                        if ($tmp < $width) {
                            $width = $tmp;
                        }
                    } elseif ($name == 'height') {
                        $tmp = substr($value, 2, -2);
                        if ($tmp < $height) {
                            $height = $tmp;
                        }
                    }
                }
            }
            return '<object classid="CLSID:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'.$width.'" height="'.$height.'"'.
                'codebase="http://active.macromedia.com/flash2/cabs/swflash.cab#version=7,0,0,0" class="bbcode_flash">'.
                '<param name="movie" value="' . $url . '">'.
                '<param name="quality" value="high">'.
                '<param name="scale" value="exactfit">'.
                '<param name="menu" value="true">'.
                '<param name="bgcolor" value="'.$this->info['FlashHintergrundfarbe'].'"> '.
                '<embed src="' . $url . '" quality="high" scale="exactfit" menu="false" '.
                'bgcolor="'.$this->info['FlashHintergrundfarbe'].'" width="'.$width.'" height="'.$height.'" swLiveConnect="false" '.
                'type="application/x-shockwave-flash" '.
                'pluginspage="http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">'.
                '</embed>'.
                '</object>';
        }
    
        function parse($string) {
            //> Die Blocks werden codiert um sie vor dem restlichen parsen zu schützen.
            if($this->permitted['php'] == true) {
                $string = preg_replace("%\[php\](.+)\[\/php\]%esiU","\$this->encode_codec('\$1','php')",$string);
                $string = preg_replace("%\[php=(.*)\](.+)\[\/php\]%esiU","\$this->encode_codec('\$2','php','\$1')",$string);
            }
    
            if($this->permitted['html'] == true) {
                $string = preg_replace("%\[html\](.+)\[\/html\]%esiU","\$this->encode_codec('\$1','html')",$string);
                $string = preg_replace("%\[html=(.*)\](.+)\[\/html\]%esiU","\$this->encode_codec('\$2','html','\$1')",$string);
            }
    
            if($this->permitted['css'] == true) {
                $string = preg_replace("%\[css\](.+)\[\/css\]%esiU","\$this->encode_codec('\$1','css')",$string);
                $string = preg_replace("%\[css=(.*)\](.+)\[\/css\]%esiU","\$this->encode_codec('\$2','css','\$1')",$string);
            }
    
            if($this->permitted['code'] == true) {
                $string = preg_replace("%\[code\](.+)\[\/code\]%esiU","\$this->encode_codec('\$1','code')",$string);
                $string = preg_replace("%\[code=(.*)\](.+)\[\/code\]%esiU","\$this->encode_codec('\$2','code','\$1')",$string);
            }
    
            if($this->permitted['list'] == true) {
                $string = preg_replace("%\[list\](.+)\[\/list\]%esiU","\$this->encode_codec('\$1','list')",$string);
            }
    
            //> Badwors Filtern.
            $string = $this->_badwords($string);
    
            //> BB Code der den Codeblock nicht betrifft.
            //> Überprüfen ob die wörter nicht die maximal länge überschrieten.
            $string = $this->_shortwords($string);
            $string = htmlentities($string);
            $string = nl2br($string);
    
            if($this->permitted['url'] == true) {
                if($this->permitted['autourl'] == true) {
                    //> Format: www.xxx.de
                    $this->pattern[] = "%(( |\n|^)(www.[a-zA-Z\-0-9@:\%_\+.~#?&//=,;]+?))%eUi";
                    $this->replace[] = "\$this->_ws('\$2').\$this->_shorturl('\$3')";
    
                    //> Format: http://www.xxx.de
                    $this->pattern[] = "%(( |\n|^)((http|https|ftp)://{1}[a-zA-Z\-0-9@:\%_\+.~#?&//=,;]+?))%eUi";
                    $this->replace[] = "\$this->_ws('\$2').\$this->_shorturl('\$3')";
    
                    //> Format xxx@xxx.de
                    $this->pattern[] = "%(\s|^)([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})%i";
                    $this->replace[] = "<a href=\"mailto:$2\">$2</a>";
                }
    
                //> Format: [url=xxx]xxx[/url]
                $this->pattern[] = "%\[url=([^\]]*)\](.+)\[\/url\]%eUis";
                $this->replace[] = "\$this->_shorturl('\$1','\$2')";
    
                //> Format: [url]xxx[/url]
                $this->pattern[] = "%\[url\](.+)\[\/url\]%esiU";
                $this->replace[] = "\$this->_shorturl('\$1')";
            }
    
            //> Darf BB Code [MAIL] dekodiert werden?
            if($this->permitted['email'] == true) {
                //> Format: [mail]xxx@xxx.de[/mail]
                $this->pattern[] = "%\[mail\]([_\.0-9a-z-]+\@([0-9a-z\-]+)\.[a-z]{2,3})\[\/mail\]%Uis";
                $this->replace[] = "<a href=\"mailto:$1\">$1</a>";
    
                //> Format: [mail=xxx@xxx.de]xxx[/mail]
                $this->pattern[] = "%\[mail=([_\.0-9a-z-]+\@([0-9a-z\-]+)\.[a-z]{2,3})\](.+)\[\/mail\]%Uis";
                $this->replace[] = "<a href=\"mailto:$1\">$3</a>";
            }
    
    
    
            //> Darf BB Code [B] dekodiert werden?
            if($this->permitted['b'] == true) {
                //> Format: [b]xxx[/b]
                $this->pattern[] = "%\[b\](.+)\[\/b\]%Uis";
                $this->replace[] = "<b>\$1</b>";
            }
    
            //> Darf BB Code [I] dekodiert werden?
            if($this->permitted['i'] == true) {
                //> Format: [i]xxx[/i]
                $this->pattern[] = "%\[i\](.+)\[\/i\]%Uis";
                $this->replace[] = "<i>\$1</i>";
            }
    
            //> Darf BB Code [U] dekodiert werden?
            if($this->permitted['u'] == true) {
                //> Format: [u]xxx[/u]
                $this->pattern[] = "%\[u\](.+)\[\/u\]%Uis";
                $this->replace[] = "<u>\$1</u>";
            }
    
            //> Darf BB Code [S] dekodiert werden?
            if($this->permitted['s'] == true) {
                //> Format: [s]xxx[/s]
                $this->pattern[] = "%\[s\](.+)\[\/s\]%Uis";
                $this->replace[] = "<strike>\$1</strike>";
            }
    
    
            ###############################################
    
    
            //> Darf BB Code [LEFT] dekodiert werden?
            if($this->permitted['left'] == true) {
                //> Format: [left]xxx[/left]
                $this->pattern[] = "%\[left\](.+)\[\/left\]%Uis";
                $this->replace[] = "<div align=\"left\">\$1</div>";
            }
    
            //> Darf BB Code [CENTER] dekodiert werden?
            if($this->permitted['center'] == true) {
                //> Format: [center]xxx[/center]
                $this->pattern[] = "%\[center\](.+)\[\/center\]%Uis";
                $this->replace[] = "<div align=\"center\">\$1</div>";
            }
    
            //> Darf BB Code [RIGHT] dekodiert werden?
            if($this->permitted['right'] == true) {
                //> Format: [right]xxx[/right]
                $this->pattern[] = "%\[right\](.+)\[\/right\]%Uis";
                $this->replace[] = "<div align=\"right\">\$1</div>";
            }
    
            ###############################################
    
            //> Darf BB Code [EMPH] dekodiert werden?
            if($this->permitted['emph'] == true) {
                //> Format: [emph]xxx[/emph]
                $this->pattern[] = "%\[emph\](.+)\[\/emph\]%Uis";
                $this->replace[] = "<span style=\"background-color:".$this->info['EmphHintergrundfarbe'].";color:".$this->info['EmphSchriftfarbe'].";\">$1</span>";
            }
    
            //> Darf BB Code [COLOR] dekodiert werden?
            if($this->permitted['color'] == true) {
                //> Format: [color=#xxxxxx]xxx[/color]
                $this->pattern[] = "%\[color=(#{1}[0-9a-zA-Z]+?)\](.+)\[\/color\]%Uis";
                $this->replace[] = "<font color=\"$1\">$2</font>";
            }
    
            //> Darf BB Code [SIZE] dekodiert werden?
            if($this->permitted['size'] == true) {
                //> Format: [size=xx]xxx[/size]
                $this->pattern[] = "%\[size=([0-9]+?)\](.+)\[\/size\]%eUis";
                $this->replace[] = "\$this->_size('\$1','\$2')";
            }
    
            //> Darf BB Code [KTEXT] decodiert werden?
            if($this->permitted['ktext'] == true) {
                //> Format: [ktext=xxx]
                $this->pattern[] = "%\[ktext=([^[/]*)\]%esiU";
                $this->replace[] = "\$this->_addKtextOpen('\\1')";
    
                //> Format: [/ktext]
                $this->pattern[] = "%\[/ktext\]%esiU";
                $this->replace[] = "\$this->_addKtextClose()";
            }
    
            //> Darf BB Code [IMG] dekodiert werden?
            if($this->permitted['img'] == true) {
                //> Format: [img]xxx.de[/img]
                $this->pattern[] = "%\[img\]([-a-zA-Z0-9@:\%_\+,.~#?&//=]+?)\[\/img\]%eUi";
                $this->replace[] = "\$this->_img('\$1')";
          //> Format: [img=left|right]xxx.de[/img]
          $this->pattern[] = "%\[img=(left|right)\]([-a-zA-Z0-9@:\%_\+,.~#?&//=]+?)\[\/img\]%eUi";
              $this->replace[] = "\$this->_img('\$2','\$1')";
        }
    
            //> Darf BB Code [SCREENSHOT] dekodiert werden?
            if($this->permitted['screenshot'] == true) {
                //> Format: [shot]xxx.de[/screenshot]
                $this->pattern[] = "%\[shot\]([-a-zA-Z0-9@:\%_\+.~#?&//=]+?)\[\/shot\]%eUi";
                $this->replace[] = "\$this->_screenshot('\$1')";
          //> Format: [shot=left|right]xxx.de[/screenshot]
                $this->pattern[] = "%\[shot=(left|right)\]([-a-zA-Z0-9@:\%_\+.~#?&//=]+?)\[\/shot\]%eUi";
                $this->replace[] = "\$this->_screenshot('\$2','\$1')";
    
            }
    
            //> Farf BB Code [VIDEO] dekodiert werden?
            if($this->permitted['video'] == true) {
                //> Format: [video=xxx]xxx[/video]
                $this->pattern[] = "%\[video=(google|youtube|myvideo|gametrailers)\](.+)\[\/video\]%eUis";
                $this->replace[] = "\$this->_video('\$1','\$2')";
            }
    
            //> Darf BB Code [COUNTDOWN] dekodiert werden?
            if($this->permitted['countdown'] == true) {
                //> Format: [countdown=Std:Min:Sek]TT.MM.JJJJ[/countdown]
                $this->pattern[] = "%\[countdown=(([0-9]{2}):([0-9]{2}):([0-9]{2}))\](([0-9]{2})\.([0-9]{2})\.([0-9]{4}))\[\/countdown\]%eUis";
                $this->replace[] = "\$this->_countdown('\$5','\$1')";
    
                //> Format: [countdown]TT.MM.JJJJ[/countdown]
                $this->pattern[] = "%\[countdown\](([0-9]{2})\.([0-9]{2})\.([0-9]{4}))\[\/countdown\]%eUis";
                $this->replace[] = "\$this->_countdown('\$1')";
            }
    
            ###############################################
    
            //> Darf BB Code [QUOTE] dekodiert werden?
            if($this->permitted['quote'] == true) {
    
                //> Format: [quote]
                $this->pattern[] = "%\[quote\]%esiU";
                $this->replace[] = "\$this->_addQuoteOpen()";
    
                //> Format: [quote=xxx]
                $this->pattern[] = "%\[quote=([^[/]*)\]%esiU";
                $this->replace[] = "\$this->_addQuoteOpen('\\1')";
    
                //> Format: [/quote]
                $this->pattern[] = "%\[/quote\]%esiU";
                $this->replace[] = "\$this->_addQuoteClose()";
            }
    
            //> Darf BB Code [FLASH] dekodiert werden?
            if($this->permitted['flash'] == true) {
                //> Format: [flash]*[/flash]
                $this->pattern[] = "%\[flash(( \w+=\'\d+\')*)]((http|https|ftp)://[a-z-0-9@:\%_\+.~#\?&/=,;]+)\[/flash]%ie";
                $this->replace[] = '$this->_flash("$3", trim("$1"));';
            }
    
            //> String parsen
            $string = preg_replace($this->pattern,$this->replace,$string);
    
            //> Darf BB Code [QUOTE] dekodiert werden?
            if($this->permitted['quote'] == true) {
                $string = $this->_quote($string);
            }
    
            //> Darf BB Code [KTEXT] decodiert werden?
            if($this->permitted['ktext'] == true) {
                $string = $this->_ktext($string);
            }
    
            //> Smilies Filtern.
            $string = $this->_smileys($string);
    
            //> 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);
            }
    
            if($this->permitted['list'] == true) {
                $string = preg_replace("%\[list\](.+)\[\/list\]%esiU","\$this->_list('\$1')",$string);
            }
    
            unset($this->pattern);
            unset($this->replace);
    
            unset($this->ayCacheQuoteOpen);
            unset($this->ayCacheQuoteClose);
    
            unset($this->ayCacheKtextOpen);
            unset($this->ayCacheKtextClose);
    
            return $string;
        }
    }
    ?>
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    function _smileys($string) {
        $uid=escape($SESSION['authid'], 'integer');
        $UserSmilesAllowed=db_result(db_query('SELECT `opt_sml` FROM prefix_users WHERE id='.$uid),0);
            if(!is_null($this->smileys) && is_array($this->smileys)) {
                if($this->permitted['smileys'] == true AND $UserSmilesAllowed==1) {
                    $smileystart = '#@'.uniqid('').'@#';
                    $smileymid = '|#@|'.uniqid('').'|@#|';
                    $smileyend = '#@'.uniqid('').'@#';
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($icon, $smileystart.$icon.$smileyend, $string);
                    }
                    $string = str_replace($smileyend.$smileystart, $smileymid, $string);
                    $string = preg_replace('%(\S)' . $smileystart . '(.*)' . $smileyend . '%iU', '$1$2', $string);
                    $string = preg_replace('%(^|\s)(' . $smileystart . ')(.*)(' . $smileyend . ')%iUe', '\'$1\'.\'$2\'.str_replace(\''.$smileymid.'\',\''.$smileyend.$smileystart.'\',\'$3\').\'$4\'', $string);
     
                    $string = str_replace($smileymid, '', $string);
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($smileystart.$icon.$smileyend, '<img src="include/images/smiles/'.$url.'" border="0" alt="'.$icon.'" title="'.$emo.'" />', $string);
                    }
                    $string = str_replace(array($smileyend, $smileystart), '', $string);
                }
                return $string;
            } else {
                return $string;
            }
        }


    versuch es mal so
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Nun zeigt er permanent keine Smileys mehr an, gibt alle als Text aus...

    und diesen Fehler zeigt er an (für jeden Smiley auf der Seite):

    MySQL Error:
    1146 : Table 'usr_web185_2.ic1_users' doesn't exist
    in Query:
    SELECT `opt_sml` FROM ic1_users WHERE id=0
    
    Debug backtrace:
    	@ mysql.php:32 -- debug_bt()
    	@ mysql.php:50 -- db_check_error(...)
    	@ bbcode.php:170 -- db_query(...)
    	@ bbcode.php:279 -- bbcode->_smileys(...)
    	@ bbcode.php(854) : regexp code:1 -- bbcode->_shorturl(...)
    	@ bbcode.php:854 -- preg_replace(...)
    	@ bbcode.php:226 -- bbcode->parse(...)
    	@ show_posts.php:53 -- BBcode(...)
    	@ forum.php:129 -- require_once(...)
    	@ index.php:35 -- require_once(...)
    
    
    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/www/web185/html/teaminsanity/include/includes/func/db/mysql.php on line 54



    Zuletzt modifiziert von Dennis3107 am 04.11.2012 - 16:19:04
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    whazza Mitglied
    Registriert seit
    18.10.2009
    Beiträge
    1.160
    Beitragswertungen
    35 Beitragspunkte
    Er sagt das es ic1_users nicht gibt, eigentlich heißt es ic1_user

    Ändere mal prefix_users zu prefix_user in den Code von Rock@wolf


    Zuletzt modifiziert von whazza am 04.11.2012 - 16:26:49
    ez-skinz.com
    Unmögliches wird sofort erledigt, auf Wunsch wird auch gehext. Nur Wunder dauern etwas länger.
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Hätte mir auch auffallen können^^

    Dann kommt dieser Fehler:

    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 68 in /home/www/web185/html/teaminsanity/include/includes/func/db/mysql.php on line 54
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ZitatZitat geschrieben von Rockwulf

    function _smileys($string) {
        $uid=escape($SESSION['authid'], 'integer');
        $UserSmilesAllowed=@db_result(db_query('SELECT `opt_sml` FROM prefix_user WHERE id='.$uid),0);
        $UserSmilesAllowed=($uid!=0?1:$UserSmilesAllowed);
            if(!is_null($this->smileys) && is_array($this->smileys)) {
                if($this->permitted['smileys'] == true AND $UserSmilesAllowed==1) {
                    $smileystart = '#@'.uniqid('').'@#';
                    $smileymid = '|#@|'.uniqid('').'|@#|';
                    $smileyend = '#@'.uniqid('').'@#';
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($icon, $smileystart.$icon.$smileyend, $string);
                    }
                    $string = str_replace($smileyend.$smileystart, $smileymid, $string);
                    $string = preg_replace('%(\S)' . $smileystart . '(.*)' . $smileyend . '%iU', '$1$2', $string);
                    $string = preg_replace('%(^|\s)(' . $smileystart . ')(.*)(' . $smileyend . ')%iUe', '\'$1\'.\'$2\'.str_replace(\''.$smileymid.'\',\''.$smileyend.$smileystart.'\',\'$3\').\'$4\'', $string);
     
                    $string = str_replace($smileymid, '', $string);
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($smileystart.$icon.$smileyend, '<img src="include/images/smiles/'.$url.'" border="0" alt="'.$icon.'" title="'.$emo.'" />', $string);
                    }
                    $string = str_replace(array($smileyend, $smileystart), '', $string);
                }
                return $string;
            } else {
                return $string;
            }
        }


    versuch es mal so


    Syr mit den users hab das aus dem Kopf geschrieben xD

    So sollte kein DB Fehler mehr kommen und die Smilies bei nicht gesetzten wert ausgegeben werden gäste usw


    Zuletzt modifiziert von Rock@wulf am 04.11.2012 - 20:45:25
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    So habe alles nochmal neu gemacht...

    ...es wird nun kein Datenbankfehler mehr angezeigt, aber auch keine Smileys mehr...

    egal welche Option man im Profil angibt...Ausgabe immer als Text...
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ZitatZitat geschrieben von Rockwulf

    ZitatZitat geschrieben von Rockwulf

    function _smileys($string) {
        $uid=escape($_SESSION['authid'], 'integer');
        $UserSmilesAllowed=@db_result(db_query('SELECT `opt_sml` FROM prefix_user WHERE id='.$uid),0);
        $UserSmilesAllowed=($uid!=0?1:$UserSmilesAllowed);
            if(!is_null($this->smileys) && is_array($this->smileys)) {
                if($this->permitted['smileys'] == true AND $UserSmilesAllowed==1) {
                    $smileystart = '#@'.uniqid('').'@#';
                    $smileymid = '|#@|'.uniqid('').'|@#|';
                    $smileyend = '#@'.uniqid('').'@#';
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($icon, $smileystart.$icon.$smileyend, $string);
                    }
                    $string = str_replace($smileyend.$smileystart, $smileymid, $string);
                    $string = preg_replace('%(\S)' . $smileystart . '(.*)' . $smileyend . '%iU', '$1$2', $string);
                    $string = preg_replace('%(^|\s)(' . $smileystart . ')(.*)(' . $smileyend . ')%iUe', '\'$1\'.\'$2\'.str_replace(\''.$smileymid.'\',\''.$smileyend.$smileystart.'\',\'$3\').\'$4\'', $string);
     
                    $string = str_replace($smileymid, '', $string);
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($smileystart.$icon.$smileyend, '<img src="include/images/smiles/'.$url.'" border="0" alt="'.$icon.'" title="'.$emo.'" />', $string);
                    }
                    $string = str_replace(array($smileyend, $smileystart), '', $string);
                }
                return $string;
            } else {
                return $string;
            }
        }


    versuch es mal so


    Syr mit den users hab das aus dem Kopf geschrieben xD

    So sollte kein DB Fehler mehr kommen und die Smilies bei nicht gesetzten wert ausgegeben werden gäste usw


    Zuletzt modifiziert von Rock@wulf am 04.11.2012 - 20:45:25
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Ja, hatte ich schon gelesen und verstanden...aber ich setze doch einen Wert über mein Profil...

    ...stehe grad aufm Schlauch...


    oder schreibst es nochmal neu, oder ist der Fehler in der profil_edit.php...^^
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    ich hatte noch was geändert im letzten post
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Gäste sehen es als Text und Member als Smiley (egal welche Option gewählt wurde)...

    ti.autofreunde-herford.de


    Zuletzt modifiziert von Dennis3107 am 05.11.2012 - 17:48:19
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    function _smileys($string) {
        if(loggedin()){
            $uid=escape($_SESSION['authid'], 'integer');
            $UserSmilesAllowed=@db_result(db_query('SELECT `opt_sml` FROM prefix_user WHERE id='.$uid),0);
        } else {
            $UserSmilesAllowed = 1;
        }
            if(!is_null($this->smileys) && is_array($this->smileys)) {
                if($this->permitted['smileys'] == true AND $UserSmilesAllowed == 1) {
                    $smileystart = '#@'.uniqid('').'@#';
                    $smileymid = '|#@|'.uniqid('').'|@#|';
                    $smileyend = '#@'.uniqid('').'@#';
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($icon, $smileystart.$icon.$smileyend, $string);
                    }
                    $string = str_replace($smileyend.$smileystart, $smileymid, $string);
                    $string = preg_replace('%(\S)' . $smileystart . '(.*)' . $smileyend . '%iU', '$1$2', $string);
                    $string = preg_replace('%(^|\s)(' . $smileystart . ')(.*)(' . $smileyend . ')%iUe', '\'$1\'.\'$2\'.str_replace(\''.$smileymid.'\',\''.$smileyend.$smileystart.'\',\'$3\').\'$4\'', $string);
     
                    $string = str_replace($smileymid, '', $string);
                    foreach ($this->smileys as $icon => $info) {
                        list($emo, $url) = explode('#@#-_-_-#@#', $info);
                        $string = str_replace($smileystart.$icon.$smileyend, '<img src="include/images/smiles/'.$url.'" border="0" alt="'.$icon.'" title="'.$emo.'" />', $string);
                    }
                    $string = str_replace(array($smileyend, $smileystart), '', $string);
                }
                return $string;
            } else {
                return $string;
            }
        }



    Zuletzt modifiziert von Rock@wulf am 06.11.2012 - 09:24:43
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Dennis3107 Mitglied
    Registriert seit
    27.08.2010
    Beiträge
    47
    Beitragswertungen
    0 Beitragspunkte
    Geil, geil, geil...


    ...es läuft wie es soll...

    Gäste sehen alle Smileys als Bild...wenn ich per Profil diese sehen möchte sehe ich sie und wenn nicht, dann sehe ich nur Text...


    Danke, vielen Dank...
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten