|
WHK
|
SandBox
Antiguamente todo post podía ejecutar código pero a veces se hacía un desmadre al momento de insertar códigos no ejecutables por lo tanto agregué un nuevo tag llamado sandbox y puede ser utilizado de esta manera:
[sandbox]
<table border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">ddfg</span></td>
<td style="vertical-align: top;"><span style="color: red;">d</span></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right;">d</td>
<td style="vertical-align: top;">ddsf</td>
</tr>
</tbody>
</table>
[/sandbox]
Resultado:
<table border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;"><span style="font-weight: bold;">ddfg</span></td>
<td style="vertical-align: top;"><span style="color: red;">d</span></td>
</tr>
<tr>
<td style="vertical-align: top; text-align: right;">d</td>
<td style="vertical-align: top;">ddsf</td>
</tr>
</tbody>
</table>
Para insertar esta etiqueta solo deben presionar en este botón  que estará disponible en el formulario para enviar un post.
Alert
También podrán ver este botón:  y sirve para encerrar un texto o código en rojo a modo de alerta o emarcar algo.
Por ejemplo:
[al ert]No al spammmm!!!![/al ert]
quedaría:
No al spammmm!!!!
Smilleys
También aprobeché de agregar smilleys (caritas) y agregar un par de modificaciones internas como un sistema de caché para poder controlar los archivos desde un sistema, así por ejemplo si actualizo una hoja de estilo puedo mandar a que no aloje caché por x dias 
|
|
|
|
« Última modificación: Marzo 30, 2010, 01:34:54 por WHK »
|
En línea
|
|
|
|
janito24
Programador
Usuario constante
Karma: +6/-0
Mensajes: 232
Booooooo!
|
Muy bueno felicidades 
|
|
|
|
|
En línea
|
|
|
|
lol
Recién llegado
Karma: +8/-0
Mensajes: 49
lol
|
|
|
|
|
|
En línea
|
|
|
|
|
|
|
WHK
|
habia alguien que quería tener mil mujeres y un spoiler en el foro asi que por lo emnos hize lo que estaba a mi alcance y ahora cuando hagan o editen un post se verá esta imagen:  y al presionarse se verá un tag [ocu lto][/oc ulto] y todo lo que escriban dentro quedará dentro de un spoiler.
Si alguien tiene scripts deshabilitados no se verá el botón pero si se verá el contenido.
me lo comentó alguien muy malo para el counter 
|
|
|
|
« Última modificación: Abril 03, 2010, 06:26:22 por WHK »
|
En línea
|
|
|
|
yoyahack
Recién llegado
Karma: +0/-0
Mensajes: 21
|
|
|
|
|
« Última modificación: Abril 03, 2010, 08:55:13 por yoyahack »
|
En línea
|
|
|
|
nakp
Moderador global
Usuario regular
   
Karma: +5/-1
Mensajes: 92
|
lol... como mola
el spoiler era indispensable xD 
|
|
|
|
|
En línea
|
|
|
|
|
WHK
|
Si a alguien le gustaría implementar estas cosas en sus foros pueden hacer en un solo archivo las funciones que procesan los mensajes antes de ser mostrado en pantalla:
<?php
/* Deniega el acceso a la visualización directa */
if(!defined('SMF'))
die('Hacking attempt...');
function filtro_acs_bbcode($buffer){
if(!$buffer) return false;
return preg_replace(
'/\[sandbox\](.*?)\[\/sandbox\]/s',
'<!-- Start Sandbox --><div sandbox="sandbox">$1</div><!-- End Sandbox -->',
$buffer
);
}
function filtro_msgbox_err($buffer){
global $settings;
if(!$buffer) return false;
return preg_replace(
'/\[alert\](.*?)\[\/alert\]/s',
'<div class="msgbox_alert">$1</div>',
$buffer
);
}
function filtro_spoiler($buffer){
if(!$buffer) return false;
return preg_replace(
'/\[oculto\](.*?)\[\/oculto\]/s',
'<input class="noscript" value="Mostrar spoiler" type="button" onclick="$(nextSibling).slideToggle(\'fast\');" />'.
'<div style="display: none;" class="mensaje_box_n">$1</div>'.
'<noscript><div class="mensaje_box_n">$1</div></noscript>',
$buffer
);
// $(nextSibling).slideToggle(\'slow\');
// $(nextSibling).show(\'slow\'); $(this).hide(\'slow\');
}
function alinea_smiley($buffer){
if($_SERVER['HTTPS']){
$base = dirname('https://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']).'/';
}else{
$base = dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']).'/';
}
return str_replace(
'<img src="'.$base.'Smileys/',
'<img style="vertical-align: middle;" src="'.$base.'Smileys/',
$buffer
);
}
function procesa_mensaje_bbc($buffer){
global $settings;
if(!$buffer) return false;
/* Elimina saltos de linea */
$buffer = str_replace('<br />', "\n", $buffer);
/* Antepone la división en PRE */
$buffer = '<div style="white-space: pre-line;">'.$buffer;
/* ACS */
if($settings['theme_personalizado']['acs']){
$buffer = filtro_acs_bbcode($buffer);
}
/* MsgBox Alert */
if($settings['theme_personalizado']['msgbox_alert']){
$buffer = filtro_msgbox_err($buffer);
}
if($settings['theme_personalizado']['spoiler']){
$buffer = filtro_spoiler($buffer);
}
/* alinea los smileys */
$buffer = alinea_smiley($buffer);
/* Cierra la división en PRE */
$buffer .= '</div>';
/* Retorno */
return $buffer;
}
?>
Está claro que para esto es mi código donde yo tengo en otro archivo configuraciones y mas cosas, por lo tanto pueden adaptarlo como ustedes quieran.
<?php
/* Deniega el acceso a la visualización directa */
if(!defined('SMF'))
die('Hacking attempt...');
/* Configuraciones del theme */
$settings['theme_personalizado'] = array(
'mostrar_iconos_rss' => true,
'mostrar_top_10' => true,
'mostrar_afiliados' => true,
'acs' => true,
'msgbox_alert' => true,
'spoiler' => true,
'nocache' => array(
'nativo.css'
)
);
?>
|
|
|
|
|
En línea
|
|
|
|
nakp
Moderador global
Usuario regular
   
Karma: +5/-1
Mensajes: 92
|
wtf... esto se suponia que lo hacias con css xD
function alinea_smiley($buffer){
if($_SERVER['HTTPS']){
$base = dirname('https://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']).'/';
}else{
$base = dirname('http://'.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']).'/';
}
return str_replace(
'<img src="'.$base.'Smileys/',
'<img style="vertical-align: middle;" src="'.$base.'Smileys/',
$buffer
);
}
asi:
img[src*="Smileys"] {
vertical-align: middle;
}
fail xD
|
|
|
|
« Última modificación: Abril 04, 2010, 06:12:39 por nakp »
|
En línea
|
|
|
|
|
WHK
|
tututu eso es css3 xD y no lo soporta internet explorer o por lo menos no desde la version 7 hacia abajo, por eso lo hize en php o si no hubiera tenido que agregarle un tag class a los smileys y eso significaba modificar los subs, por eso mejor lo hize desde el theme reemplazando el código.
|
|
|
|
|
En línea
|
|
|
|
nakp
Moderador global
Usuario regular
   
Karma: +5/-1
Mensajes: 92
|
no lo soporta IE6, desde el 7 si lo hace
|
|
|
|
« Última modificación: Abril 05, 2010, 01:27:26 por nakp »
|
En línea
|
|
|
|
|
WHK
|
bueno, mi código es compatible con todos los exploradores xD
tutututu gracias pero así está bién xD
|
|
|
|
|
En línea
|
|
|
|
janito24
Programador
Usuario constante
Karma: +6/-0
Mensajes: 232
Booooooo!
|
|
|
|
|
|
En línea
|
|
|
|
|
WHK
|
nop, la version wap no incluye smileys ni bbcode de este tipo porque se supone que wap se utiliza para celulares viejos, para los mas modernos se usa exploración normal xD
|
|
|
|
|
En línea
|
|
|
|
nakp
Moderador global
Usuario regular
   
Karma: +5/-1
Mensajes: 92
|
pues deberias seguir el buen ejemplo de google
retirar el soporte a navegadores obsoletos 
|
|
|
|
|
En línea
|
|
|
|
|