Menü

  Login

  Shoutbox

  Forum » Fragen zu Ilch » Anleitungen etc. » BBcode in Shoutbox


BBcode in Shoutbox
zbrother
Grünschnabel

User Pic

Posts: 4
# 11.09.2010 - 13:03:27
    zitieren



hi
erst mal großes Lob an dich Mairus

und zugleich mal eine frage ist das irgendwie möglich den BBCODE in die shoutbox zu integrieren? gedacht ist es um externe Smilies in der shotbox anzeigen zu lassen
in Moment steht nur der Link drinnen vom externen Smielie Traurig
ich verwende die Standart shoutbox von 1.1.O alle anderen Shoutboxen gefallen mir nicht


Mit freundlich Gruß
zbrother
traxxx
Grünschnabel

User Pic

Posts: 6
# 09.02.2013 - 10:04:01
    zitieren



ja sowas würde ich auch gerne haben
hab auch schon versucht das bbcode
reinzustellen aber immer nur fehler gehabt
aber ich versuche es weiter bis ich das hab

wenn mir einer noch tipp geben könnte währe es nett Smilie
Mairu
Administrator

User Pic

Posts: 1908
# 09.02.2013 - 13:43:18
    zitieren



Die Frage wurde aber schon oft beantwortet, in der boxes/shoutbox.php muss in der Zeile, wo der Text ausgegeben wird
 Php von Datei shoutbox.php
38:
      echo '<tr class="' $class '"><td><b>' $row->nickname ':</b> ' preg_replace('/([^\s]{' $allgAr['sb_maxwordlength'] . '})(?=[^\s])/'"$1\n"$row->textarea) . '</td></tr>';

die BBCode Funktion einfügen, sollte dann so aussehen:
 Php von Datei shoutbox.php
38:
      echo '<tr class="' $class '"><td><b>' $row->nickname ':</b> ' bbcode(preg_replace('/([^\s]{' $allgAr['sb_maxwordlength'] . '})(?=[^\s])/'"$1\n"$row->textarea)) . '</td></tr>';
traxxx
Grünschnabel

User Pic

Posts: 6
# 10.02.2013 - 09:59:25
    zitieren



also ich hab es verucht leider nichts

ich sehe nicht mal die icon

ich hab shoutbox_style von maretz
würde so gerne das bb geht
traxxx
Grünschnabel

User Pic

Posts: 6
# 10.02.2013 - 10:02:43
    zitieren



 Php
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
  <?php
#   Copyright by Manuel
#   Support www.ilch.de

defined ('main') or die ( 'no direct access' );

//Smilies in der Textarea ausgeben
function smilies ($string) {
 global 
$smilies_array;
  if (!isset(
$smilies_array)) {
    
$smilies_array = array();
    
$erg db_query("SELECT ent, url, emo FROM `prefix_smiliesshb`");
      while (
$row db_fetch_object($erg) ) {
          
$smilies_array[$row->ent] = $row->emo.'#@#-_-_-#@#'.$row->url;
      }
  }
  foreach (
$smilies_array as $k => $v) {
    list(
$emo$url) = explode('#@#-_-_-#@#'$v);
    
$string str_replace($k,'<img src="include/images/smiliesshb/'.$url.'" border="0" alt="'.$emo.'" title="'.$emo.'" />',$string);
  }
  return 
$string;
}

//Smilies in die Textarea übermitteln
function smiliesshb () {

  global 
$lang;
  
$zeilen 5$i 0;
    
$b '<script language="JavaScript" type="text/javascript">function moreSmilies () { var x = window.open("about:blank", "moreSmilies", "width=250,height=200,left=200,top=300,status=no,scrollbars=yes,resizable=yes"); ';
  
$a '';
  
  
$erg db_query('SELECT emo, ent, url FROM `prefix_smiliesshb`');
    while (
$row db_fetch_object($erg) ) {

    
$b .= 'x.document.write ("<a href=\"javascript:opener.put_shb(\''.addslashes(addslashes($row->ent)).'\')\">");';
    
$b .= 'x.document.write ("<img style=\"border: 0px; padding: 5px;\" src=\"include/images/smiliesshb/'.$row->url.'\" title=\"'.$row->emo.'\"></a>");';

    if (
$i<0) {
      
# float einbauen
      
if($i%$zeilen == AND $i <> 0) { $a .= '<br /><br />'; }
      
$a .= '<a href="javascript:put_shb(\''.addslashes($row->ent).'\')">';
      
$a .= '<img style="margin: 2px;" src="include/images/smilesshb/'.$row->url.'" border="0" title="'.$row->emo.'"></a>';
    }
    
$i++;
    }
  
$b .= ' x.document.write("<br /><br /><center><a href=\"javascript:window.close();\">'.$lang['close'].'</a></center>"); x.document.close(); }</script>';
  if (
$i>0) { $a .= '<br /><center><a href="javascript:moreSmilies();">Smilies</a></center>'; }
  
$a $b.$a;
  return (
$a);
  
}

// IP und Zeit ausgeben
  
$shoutbox_VALUE_name2 getenv("REMOTE_ADDR");
  
$datum date("j.n.Y");
  
$zeit date(" H:i ");

//Avatar prüfen und ggf. anzeigen
  
$abf 'SELECT avatar FROM prefix_user WHERE name = "'.$_SESSION['authname'].'"';
  
$erg db_query($abf);
  
$row db_fetch_object($erg);

  if (
$allgAr['sh_avatar'] == 1) {
   if (
loggedin ())  {
    if (
file_exists($row->avatar)) {
       
$avatar $row->avatar// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
       
$avatar 'include/images/avatars/noavatar.jpg';
    }
    } else {
    
$avatar 'include/images/avatars/gast.png';
    }
    
$avatar '<img src="'.$avatar.'" border="0" width="50" />'
    } else {
    
$avatar '';
    }

//Nickname und Gast 
 
if ( loggedin() ) {
    
$shoutbox_VALUE_name $_SESSION['authname'];
  } else {
    
$shoutbox_VALUE_name 'Gast';
  }

//Shoutbox , Namenschutz 
  
if (has_right($allgAr['sb_recht'])){
   if (!empty(
$_POST['shoutbox_submit']) AND chk_antispam ('shoutbox')) {
    
$insert true;
    if (!
loggedin()) {
        
$shoutbox_nickname escape($_POST['shoutbox_nickname'], 'string');
        
$shoutbox_nickname substr($shoutbox_nickname015);
        if (
db_count_query("SELECT COUNT(*) FROM prefix_user WHERE name LIKE '%$shoutbox_nickname%'") > 0) {
            
$insert false;
            echo 
'<center><font color="#ff0000">Benutzen sie einen anderen Namen, dieser ist bereits vergeben.</font></center><br />';
        }
    } else {
        
$shoutbox_nickname escape($_SESSION['authname'], 'string');
    }
    
$shoutbox_textarea escape($_POST['shoutbox_textarea'], 'textarea');
    
$shoutbox_textarea preg_replace("/\[.?(url|b|i|u|img|code|quote)[^\]]*?\]/i"""$shoutbox_textarea);
    
$shoutbox_textarea strip_tags($shoutbox_textarea);
    if (!empty(
$shoutbox_nickname) AND !empty($shoutbox_textarea) AND $insert) {
        
db_query('INSERT INTO `prefix_shoutbox` (`nickname`,`textarea`,`time`) VALUES ( "' $shoutbox_nickname '" , "' $shoutbox_textarea '", ' time() . ' ) ');
    }
}
?>
<script type="text/javascript">
// S-Box-Smileys START
function simple_insert_shb(aTag,eTag) {

  var input = document.forms['shoutbox'].elements['shoutbox_textarea'];
  input.focus();
  /* für Internet Explorer */
  if(typeof document.selection != 'undefined') {
    /* Einfügen des Formatierungscodes */
    var range = document.selection.createRange();
    var insText = range.text;
    range.text = aTag + insText + eTag;
    /* Anpassen der Cursorposition */
    range = document.selection.createRange();
    if (insText.length == 0) {
      range.move('character', -eTag.length);
    } else {
      range.moveStart('character', aTag.length + insText.length + eTag.length);
    }
    range.select();
  }
  /* für neuere auf Gecko basierende Browser */
  else if(typeof input.selectionStart != 'undefined')
  {
    /* Einfügen des Formatierungscodes */
    var start = input.selectionStart;
    var end = input.selectionEnd;
    var insText = input.value.substring(start, end);
    input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    /* Anpassen der Cursorposition */
    var pos;
    if (insText.length == 0) {
      pos = start + aTag.length;
    } else {
      pos = start + aTag.length + insText.length + eTag.length;
    }
    input.selectionStart = pos;
    input.selectionEnd = pos;
  }
  /* für die übrigen Browser */
  else
  {
    /* Abfrage der Einfügeposition */
    var pos = input.value.length;

    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
  }
}

function  put_shb ( towrite ) {
 simple_insert_shb ( towrite, '' );

}
        <td width="100%">
      <!-- BB Code START -->{__BBCodeButtons__}<!-- BB Code START -->
     
  if (isset($_POST['priview'])) {
    $tpl->set_out('txt', bbcode(unescape($txt)), 0);
  }
  
// S-Box-Smileys END
</script>
<?php
echo '<link rel="stylesheet" href="include/boxes/shoutbox/shoutbox_style.css" type="text/css"/>';
    echo 
'<form action="index.php" method="POST" name="shoutbox">';
    echo 
'<table width="100%" cellpadding="2" cellspacing="1" border="0" class="shoutbox_oben">
          <tr><td style="font-size:11px; text-align:center;">Heute ist der '
.$datum.' <br />um '.$zeit.' Uhr<br />Deine IP:<b> '.$shoutbox_VALUE_name2.'</b></td></tr>
          '
;

    echo 
'
          <tr><td align="center">'
.$avatar.'<br />
              <input type="text" size="15" name="shoutbox_nickname" value="'
.$shoutbox_VALUE_name.'" onFocus="if (value == \''.$shoutbox_VALUE_name.'\') {value = \'\'}" onBlur="if (value == \'\') {value = \''.$shoutbox_VALUE_name.'\'}" maxlength="15">
              <textarea style="width: 85%" cols="15" rows="4" name="shoutbox_textarea"></textarea>
              '
.smiliesshb ('shoutbox'0).'</td></tr>
          '
;

    echo 
'
          <tr><td align="center">'
.get_antispam ('shoutbox'0).
              <input type="submit" value="'
.$lang['formsub'].'" name="shoutbox_submit"></td></tr>
          </table><br/>'
;

    echo 
'</form>';
    } else { 
  
//Gaeste
echo '<link rel="stylesheet" href="include/boxes/shoutbox/shoutbox_style.css" type="text/css"/>';
    echo 
'<table width="100%"  cellpadding="2" cellspacing="1" border="0" class="shoutbox_oben">
          <tr><td style="font-size:11px; text-align:center;"><b>Zum Posten<br />Bitte Einloggen!<br /></b>Deine IP: '
.$shoutbox_VALUE_name2.'</td></tr>
          </table><br/>'
;
  } 

  echo 
'<table width="100%" cellpadding="0" cellspacing="0" border="0">';
  
$erg db_query('SELECT `prefix_shoutbox`.*, `prefix_user`.name, `prefix_user`.avatar FROM `prefix_shoutbox` LEFT JOIN `prefix_user` ON `prefix_user`.name =  `prefix_shoutbox`.nickname ORDER BY id DESC LIMIT ' . (is_numeric($allgAr['sb_limit'])?$allgAr['sb_limit']:5));
  
$class 'Cnorm';
  while (
$row db_fetch_object($erg)) { 
    
// Avatar prüfen und ggf. anzeigen
    
if ($allgAr['sh_avatar'] == 1) {
    if (
$row->name)  {
    if (
file_exists($row->avatar)) {
       
$avatar $row->avatar// $row->avatar sollte den Pfad zum Bild enthalten
    
} else {
       
$avatar 'include/images/avatars/wurstegal.jpg';
    }
    } else {
    
$avatar 'include/images/avatars/wurstegal_gast.jpg';
    }
    
$avatar '<img src="'.$avatar.'" border="0" width="50"/>'
    } else {
    
$avatar '';
    }
      
$class = ( $class == 'Cmite' 'Cnorm' 'Cmite' );
         
$time is_null($row->time) ? '<br />' ' '.date('d.m.y - H:i',$row->time).' Uhr';

    echo 
'<tr><td class="shoutboxuser">'.$row->nickname.'<br/><span class="time_sh_box" title="Eintrag von '.$row->nickname.' am '.$time.'">'.$time.'</span></td></tr>

<tr><td class="shoutboxfeld"><span style="float:left;width: 50px;">'
.$avatar.'</span>'.smilies(preg_replace'/([^\s]{'.$allgAr['sb_maxwordlength'].'})(?=[^\s])/'"$1\n"bbcode($row->textarea))).'</td></tr>
<tr><td class="shoutboxend"></td></tr>
<tr><td class="bbcode"></td></tr>
<tr><td class="losse"></td></tr>'
;
  }
  echo 
'</table><span style="float:right;"><a class="archivbut_sh_box" href="index.php?shoutbox" title="Shoutbox Archiv anzeigen">'.$lang['archiv'].'</a></span>';

?>



Zuletzt modifiziert von Mairu am 11.02.2013 - 23:42:16
Mairu
Administrator

User Pic

Posts: 1908
# 10.02.2013 - 22:55:22
    zitieren



Das sieht doch sehr danach aus, dass die Smileys in der Box schon mit drin wären.

Du kannst ja nicht denken, dass die Symbole des BBCodes mit in die Shoutbox sollen, die passen dort doch gar nicht rein.
traxxx
Grünschnabel

User Pic

Posts: 6
# 10.02.2013 - 22:59:28
    zitieren



will ja das mein Shoutbox bei den news sind
Mairu
Administrator

User Pic

Posts: 1908
# 11.02.2013 - 00:08:25
    zitieren



Versteh ich nicht wirklich, kannst du das genauer ausführen?
traxxx
Grünschnabel

User Pic

Posts: 6
# 11.02.2013 - 08:00:23
    zitieren



Stell dir vor das die Shoutbox so breit ist wie die News ...
und jeder kann was schreiben

zB. fb Status kann da auch jeder schreiben und lesen

Ps. guck pn bei dir
Mairu
Administrator

User Pic

Posts: 1908
# 11.02.2013 - 18:14:55
    zitieren



Du willst die Shoutbox also als eigenständige Seite, oder nur über die komplette Breite auf jeder oder nur bestimmten Seiten?

Hast du das schon zum Teil verwirklicht und dir fehlt nur noch die BBCode Eingabemaske, oder verhält es sich anders?
traxxx
Grünschnabel

User Pic

Posts: 6
# 11.02.2013 - 18:33:50
    zitieren



über die komplette Breite will ich sie haben

und wie wo gebe ich die BBCode Eingabemaske ein

will ja die Symbole noch drin haben aber kp wo ich das einfügen soll