Jump to content

Rhuan

Moderador
  • Contenido

    1547
  • Registrado

  • Última Visita

  • Days Won

    51

Rhuan last won the day on August 27

Rhuan had the most liked content!

Reputación en la Comunidad

629 Exaltado

Sobre Rhuan

  • Rango
    -- --- -.. . .-. .- -.. --- .-. .-.-.
  • Cumpleaños 04/20/11

Información de perfil

Visitantes recientes en el perfil

12876 visitas al perfil
  1. [Desarrollo] Bootstrapost

    No tienes muy buen gusto con los colores xD, te recomiendo usar una paleta de colores predefinida o alguna aplicación para combinar colores.
  2. CSS y HTTPS

    Aunque en la configuración pongas la URL con https:// todavía puedes entrar usando http:// y se verá bien. Al revés no funciona porque no se pueden cargar archivos inseguros (http) desde un entorno seguro (https).
  3. Fuente: https://material.io/
  4. [Smarty-Plugin] NOBBcode

    @Muerte tiene razón, tienes que dejar un enlace de descarga directa desde aquí.
  5. No, no vi la estructura de los archivos .js, por eso te pregunté específicamente si lo que hiciste fue cambiar $('#algo').live( ... ) por $('#algo').on( ... ) porque así no funciona, y tu me dijiste que sí funciona. Pero bueno, solo ha sido un mal entendido entonces.
  6. No, la verdad es que no. La diferencia fundamental entre .live() y .on() es que .live() añade listeners (hover, click, change, blur, etc.) a los elementos aunque se añadan después del .live() mientras que .on() no lo hace. Para que sea más fácil de entender, te pongo dos ejemplos con jQuery 1.7.1 (la versión que usa Risus) para que funcione .live(). Esto NO funcionará porque se añade el elemento después del .on(): <body> <script src="https://code.jquery.com/jquery-1.7.1.min.js"></script> <script> // Elemento cualquiera que tendrá el listener "click" var algo = $('<button id="algo">').html('Haz clic'); // Añadimos el listener $('#algo').on('click', function() { alert('Clic detectado.'); }); // Añadimos el elemento a la página $('body').append(algo); </script> </body> En cambio esto SÍ funcionará dado que .live() funciona con elementos añadidos "en vivo" (de ahí el nombre de la función): <body> <script src="https://code.jquery.com/jquery-1.7.1.min.js"></script> <script> // Elemento cualquiera que tendrá el listener "click" var algo = $('<button id="algo">').html('Haz clic'); // Añadimos el listener $('#algo').live('click', function() { alert('Clic detectado.'); }); // Añadimos el elemento a la página $('body').append(algo); </script> </body> Para que .on() funcione igual que funcionaba el obsoleto .live(), se debe usar de esta forma: $('body').on('click', '#algo', function() {}); Y otro ejemplo (esta vez con jQuery 3.2.1): <body> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script> // Elemento cualquiera que tendrá el listener "click" var algo = $('<button id="algo">').html('Haz clic'); // Añadimos el listener $('body').on('click', '#algo', function() { alert('Clic detectado.'); }); // Añadimos el elemento a la página $('body').append(algo); </script> </body>
  7. Por cierto, no te recomiendo usar el editor Wysibb, tiene demasiados fallos (la mayoría ni están reportados) y parece estar descontinuado. Mejor usa CKEditor (el del foro) que es muy personalizable y tiene muchos plugins o SCEditor que, aunque es bastante viejo, lo siguen actualizando en GitHub.
  8. Solo una pequeña pregunta, ¿cómo estás reemplazando live() por on()? Lo digo porque no es lo mismo $('#algo').live( ... ) que $('#algo').on( ... ) aunque en un principio pueda parecer que funciona igual.
  9. Por que pasa esto con risus

    Deja la URL de tu web.
  10. A eso me refería con "ponerlo directamente en el TPL". No es necesario que sea justo arriba de </body> siempre y cuando esté debajo del elemento HTML que quieres manipular, en este caso los inputs de la contraseña y el checkbox del login. Si no te funciona, asegúrate que el <input> de la contraseña tenga el atributo id="password" y el del checkbox tenga id="vermipass".
  11. No te preocupes jajaja, se pone debajo de esta línea: elseif($contador_saltos > 5 || $contador_caracteres > 150) return '0: Tu shout es demasiado largo'; Es el mismo lugar que el anterior.
  12. Tienes que envolver el código con $(document).ready() para que se ejecute cuando el DOM este cargado. $(document).ready(function() { /* Aquí el código */ }); O ponerlo directamente en el TPL así: {literal} <script> /* Aquí el código */ </script> {/literal}
  13. Te has complicado bastante la vida. Mostrar la contraseña es tan simple como cambiar el atributo type del input de password a text. $('#vermipass').click(function(){ var newType = $('#password').attr('type') == 'text' ? 'password' : 'text'; $('#password').attr('type', newType); });
  14. Al parecer esa función es para los comentarios del shout. Si quieres que tengan la misma validación que los shouts sí deberías reemplazarlo. Pero en esa función es un poco diferente y cambia un poco el código del comentario anterior, en vez de buscar: $data = $tsCore->setSecure($_POST['data'], true); Deberías buscar: $data = $tsCore->setSecure($tsCore->parseBadWords($_POST['data'])); Y reemplazar por: $data = $_POST['data']; Y lo que tienes que poner al final en vez de: $data = $tsCore->setSecure($data, true); es: $data = $tsCore->setSecure($tsCore->parseBadWords($data));
  15. Ya dejé la prueba en el comentario que cité: https://regex101.com/r/1ZNTut/1. Y tienes razón en que mi solución falla, eso me pasa por probarlo en un archivo externo y no en Risus. El problema es que antes de pasar por mi validación la variable pasa por setSecure() y esta función reemplaza los saltos de línea por los caracteres "\n", supongo que por eso había un código para sustituir "\n" por "n", aún así me parece una mala solución. Pero bueno, para que el código que dije funcione debemos obtener los datos directamente de $_POST ya que $data ya ha sido modificada por setSecure() y causa errores. En c.muro.php buscar: $data = $tsCore->setSecure($_POST['data'], true); y reemplazar por: $data = !empty($_GET['type']) && $_GET['type'] != 'status' ? $tsCore->setSecure($_POST['data'], true) : $_POST['data']; Esto es para saltarse la función setSecure() que causa errores. Un poco más abajo en el mismo archivo, buscar (este código es una parte de mi solución): elseif($contador_saltos > 5 || $contador_caracteres > 150) return '0: Tu shout es demasiado largo'; y debajo añadir: $data = $tsCore->setSecure($data, true); Y esto es para volver a aplicar el setSecure() que nos hemos saltado arriba. De nada, pero deberías aplicar el pequeño ajuste de código que dejo en este comentario. Sobre lo de que estoy en otro nivel, te aseguro que si prácticas lograrás entender el código fácilmente, no es nada complicado. Sí que es verdad que "estoy en otro nivel" en algún sentido porque trabajo diariamente con algoritmos de aprendizaje profundo, inteligencias artificiales y hasta con biotecnología, pero no se parece nada a la programación web por lo que no me sirve de mucho aquí xD.
×