¡Bienvenido! ¿Aún no estás registrado?, deberás registrarte antes de poder usar el Chat, Comentar y Descargar en el Foro. Usa un email válido para la activación.
Últimos temas

Estadísticas del foro
  • Mensajes del foro:1,761
  • Temas del foro:557
  • Miembros:1,008
  • Último miembro:go88baby


Enviado por: EZZIFY
12-01-2024, 10:29 PM
Foro: Librerías JavaScript
- Respuestas (1)

¡Hola a todos!
Esta mañana, mientras navegaba por aqui, me encontré con un interesante efecto de veladoras que me inspiró a desarrollar un pequeño código que genera un efecto de nieve.
Quiero compartirlo con ustedes, ya que puede darle un toque especial a sus sitios web.

Ligero:
El script pesa apenas 3 KB sin minificar, por lo que no impactará significativamente en el rendimiento de tu sitio.
Responsivo:
El número de copos de nieve se ajusta automáticamente según el tamaño de la pantalla, con un máximo de 200 copos para evitar sobrecargas.
Interactivo:
si un usuario hace clic en uno, este se elimina. Esto garantiza que no interfiera con la interacción del usuario en tu sitio, como hacer clic en botones o enlaces.
Fácil de personalizar:
El código está diseñado para ser sencillo y claro, permitiéndote personalizar fácilmente aspectos como tamaño, velocidad o cantidad de copos.
Seguro y optimizado:
Incluye medidas para evitar la sobrecarga del DOM, gracias a un manejo eficiente de temporizadores y la limpieza de elementos no necesarios.

Demo:
http://Registrate o inicia tu sesión par... contenido

Instalación:

  1. Copia el fragmento de código y pégalo en tu archivo HTML.
  2. Ubicación recomendada:
    Puedes colocarlo dentro de las etiquetas 
    <head> o al final de <body>, dependiendo de tus necesidades:
    • Dentro de <head> 
      si quieres que los estilos y animaciones estén disponibles desde el inicio de la carga de la página.
    • Dentro de <body>
       si prefieres cargar el efecto después del contenido principal.
Código:
<script>
    (async function () {
        const loadStyles = () => {
            const style = document.createElement("style");
            style.innerHTML = `.snowflake {position: fixed;width: 11px;height: 11px;background: white;border-radius: 50%;animation: fall linear infinite;top: -16px;transition: width 0.6s ease, height 0.6s ease;}.small-snowflakes .snowflake {width: 7px;height: 7px;}@keyframes fall {0% {transform: translate(var(--start-x), -10px) scale(var(--scale));opacity: var(--opacity);}50% {transform: translate(var(--end-x), var(--mid-y)) scale(var(--scale));opacity: var(--opacity);}100% {transform: translate(var(--end-x-final), 100vh) scale(var(--scale));opacity: 0;}}`;
            document.head.appendChild(style);
        };
        const generateSnowflakes = () => {
            const screenWidth = window.innerWidth;
            const baseCount = 200;
            const snowflakeCount = Math.min(baseCount, Math.floor(screenWidth / 5));
            for (let i = 0; i < snowflakeCount; i++) {
                const snowflake = document.createElement('div');
                snowflake.className = 'snowflake';
                const startX = Math.random() * 100 + 'vw';
                snowflake.style.setProperty('--start-x', startX);
                snowflake.style.setProperty('--end-x', `calc(${startX} + ${(Math.random() - 0.5) * 20}vw)`);
                snowflake.style.setProperty('--end-x-final', `calc(${startX} + ${(Math.random() - 0.5) * 10}vw)`);
                snowflake.style.setProperty('--mid-y', Math.random() * 50 + 50 + '%');
                snowflake.style.setProperty('--scale', Math.random() * 0.5 + 0.5);
                snowflake.style.setProperty('--opacity', Math.random() * 0.5 + 0.5);
                snowflake.style.animationDuration = Math.random() * 15 + 10 + 's';
                snowflake.style.animationDelay = Math.random() * -30 + 's';
                document.body.appendChild(snowflake);
            }
            clearTimeout(window.snowTimer);
            window.snowTimer = setTimeout(() => {
                document.body.classList.add('small-snowflakes');
            }, 3000);
        };
        const debounceResize = (func, delay = 300) => {
            let timer;
            return function (...args) {
                clearTimeout(timer);
                timer = setTimeout(() => func.apply(this, args), delay);
            };
        };
        const init = () => {
            loadStyles();
            generateSnowflakes();
            document.body.addEventListener('click', event => {
                if (event.target.classList.contains('snowflake')) {
                    event.target.remove();
                }
            });
            const handleResize = debounceResize(() => {
                document.querySelectorAll('.snowflake').forEach(snowflake => snowflake.remove());
                generateSnowflakes();
            });
            window.addEventListener('resize', handleResize);
        };
        while (true) {
            if (document.readyState === 'complete') {
                init();
                break;
            }
            await new Promise(resolve => setTimeout(resolve, 100));
        }
    })();
</script>

Imprimir


Enviado por: jocker
11-21-2024, 12:14 AM
Foro: Preséntanos tu web
- Respuestas (1)

bueno ya creo que todos ya saben de mi y de mis webs
bueno despues de estar tanto tiempo en las sombras quise volver a resubir una web que tenia hace años atras
ya creo que muchos conocieron a   Rompela!  una web que sus tiempos fue grande y deje de albergar ...
bueno la re abri nuevamente y quien quiera unirse bien y
de a poco ire haciendola crecer
estamos arrancando con el script de @Miguel92#23  el cual encuentro bueno y estable y sera el que quedara en la web

unete a rompela.net

[img]Registrate o inicia tu sesión para ver este contenido[/img]

Imprimir


Enviado por: moyo
09-27-2024, 02:05 AM
Foro: Ayuda y Soporte
- Respuestas (4)

¿Cómo mostrar la portada en la página del post?

Teniendo lo siguiente:
 

Código:
<img title="{$p.post_title}" src="{$tsConfig.url}/files/portadas/toup{$p.post_portada}P240X180.jpg">

Imprimir


Enviado por: Krsh
09-23-2024, 08:21 AM
Foro: Ayuda y Soporte
- Respuestas (5)

Hola, me di cuenta que me salen varios errores en la administración, quería saber si alguien me puede ayudar a resolver, los errores son en varias secciones

Sesiones: 
 

Código:
Fatal error: Uncaught Error: Call to undefined method tsAdmin::GetAdminStats() in D:\xampp\htdocs\inc\php\admin.php:145 Stack trace: #0 {main} thrown in D:\xampp\htdocs\inc\php\admin.php on line 145


Blacklist
 
Código:
Fatal error: Uncaught Error: Call to undefined method tsAdmin::getBlackList() in D:\xampp\htdocs\inc\php\admin.php:157 Stack trace: #0 {main} thrown in D:\xampp\htdocs\inc\php\admin.php on line 157


Censuras:
 
Código:
Fatal error: Uncaught Error: Call to undefined method tsAdmin::getBadWords() in D:\xampp\htdocs\inc\php\admin.php:174 Stack trace: #0 {main} thrown in D:\xampp\htdocs\inc\php\admin.php on line 174


Todos los post;
 
Código:
Fatal error: Uncaught Error: Call to undefined method tsAdmin::GetAdminPosts() in D:\xampp\htdocs\inc\php\admin.php:135 Stack trace: #0 {main} thrown in D:\xampp\htdocs\inc\php\admin.php on line 135


Sesiones:
 
Código:
Fatal error: Uncaught Error: Call to undefined method tsAdmin::GetSessions() in D:\xampp\htdocs\inc\php\admin.php:191 Stack trace: #0 {main} thrown in D:\xampp\htdocs\inc\php\admin.php on line 191


Cambio de nick:
 
Código:
Fatal error: Uncaught Error: Call to undefined method tsAdmin::getChangeNicks() in D:\xampp\htdocs\inc\php\admin.php:150 Stack trace: #0 {main} thrown in D:\xampp\htdocs\inc\php\admin.php on line 150


alguien me pudiera ayudar a saber porque paso? 
les adjunto mi archivo de admin.php

Imprimir


Enviado por: edrien
09-16-2024, 12:23 AM
Foro: Presentaciones
- Respuestas (2)

Hola a todos me presento, soy Edrien, un nuevo usuario en el foro.

Imprimir

  V5C

Enviado por: Chctrpgo
09-08-2024, 08:07 PM
Foro: Diseños Terminados
- Respuestas (4)

Hola, os dejo otra V5, para el que la quiera usar o lo que sea.

Nota: El tema es del 2012, le he tenido que actualizar todos los archivos para que funcione, puede que tenga algún error de una página que no haya visto o se me haya escapado algo, cualquier error dejarlo aquí y cuando tenga tiempo lo soluciono.


Capturas

[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
[img]Registrate o inicia tu sesión para ver este contenido[/img]



DEMO
http://Registrate o inicia tu sesión par... contenido


Descarga

Mediafire
http://Registrate o inicia tu sesión par... contenido

Imprimir

  Zero

Enviado por: Chctrpgo
09-06-2024, 07:14 AM
Foro: Diseños Terminados
- Respuestas (6)

Captura

[img]Registrate o inicia tu sesión para ver este contenido[/img]


Demo
http://Registrate o inicia tu sesión par... contenido
 


Descarga

Mediafire
http://Registrate o inicia tu sesión par... contenido


Google Drive
http://Registrate o inicia tu sesión par... contenido

Imprimir


Enviado por: Miguel92
09-01-2024, 04:54 PM
Foro: Off topic
- Sin respuestas

Hola a todos, les comparto una forma que he realizado para cambiar de versión de PHP de forma más automática y no tan manual, lo único molesto será descargar, buscar y reemplazar algunas cosas, pero una vez hecho esto, ya no será problema.
(cabe recalcar, que hoy me acabó de que existe laragon)
 
Bueno, lo primero es descargar la versión que se desee de forma "portable", ya que vamos a requerir algunas carpetas, por ejemplo esta versión:
PHP 8.2.12 (zip desde SourceForge)
Otras versiones Xampp/Files (windows)
 
Las carpetas que necesitaremos:
apache/
mysql/
php/
 
Pueden crear una carpeta llama versiones y dentro de ella crear la carpeta con la versión que tenga, en mi caso es
versiones_php
  --  /7.4.33
  --  /8.2.12
 
Ahora en esas carpetas hay que buscar lo que deben reemplazar, si usan un editor como VSCode, Sublime text u otro, pueden buscar y reemplazar por lote.
 
Buscar (igual esto esta en un solo archivo, apache/conf/extra/httpd-xampp.conf)
\\xampp\\
Reemplazar (más bien, agregar la unidad donde tengan instalado el xampp)
C:\\xampp\\
 
Luego hacer lo mismo, pero buscando
/xampp/
Y exactamente lo mismo que el anterior
C:/xampp/
 
Ya que tengan modificados, crear un archivo y lo pueden guardar como "cambiar_version.bat" o como quieran llamarlo pero con .bat, y en el agregan lo siguiente. 
 

Código PHP:
@echo off
:menu
cls
echo ====# Desde este .bat podras cambiar de version rapido!
echo.
echo 
# 1 - Cambiar Version de PHP
echo # 2 - Salir
echo.
set /p OPTION=ESCOGE UNA OPCION:
if 
"%OPTION%"=="1" goto change_php_version
if "%OPTION%"=="2" goto out_of_cmd
goto menu

:change_php_version
cls
echo ==========================================================================
echo    
Desde aca podras cambiar la version de tu PHP sin problemas y rapido
echo ==========================================================================
echo.
echo 
# 1 - PHP v7.4.33 (carpeta '7.4.33')
echo # 2 - PHP v8.2.12 (carpeta '8.2.12')
echo.
echo ====
# ANTES DE EMPEZAR DEBES TENER LOS SERVICIOS DE XAMPP DETENIDOS #====
echo.
set /p SELECT_VERSION=ESCOGE UNA OPCION:
if 
"%SELECT_VERSION%"=="1" set SELECT_VERSION=7.4.33
if "%SELECT_VERSION%"=="2" set SELECT_VERSION=8.2.12

cls
echo ====# Eliminando Apache...
rd //q C:\xampp\apache
echo.
echo ====
# Copiando archivos de Apache (PHP %SELECT_VERSION%)
xcopy ////q C:\versiones_php\%SELECT_VERSION%\apache C:\xampp\apache
echo.
echo.
echo ====
# Eliminando PHP...
rd //q C:\xampp\php
echo.
echo ====
# Copiando archivos de PHP %SELECT_VERSION%
xcopy ////q C:\versiones_php\%SELECT_VERSION%\php C:\xampp\php
echo.
echo.
echo ====
# Copiando archivos de MySQL (PHP %SELECT_VERSION%)
xcopy /////-//q C:\versiones_php\%SELECT_VERSION%\mysql C:\xampp\mysql

goto menu

:out_of_cmd
cls
echo.
echo 
CERRANDO SISTEMA
echo.
exit 
(Ahora tiene un poco más de espaciado, también estará en el archivo adjunto)
 
Ahora, en esta parte debe tener el mismo nombre que las carpetas de las versiones escogidas, en mi caso es
if "%SELECT_VERSION%"=="1" set SELECT_VERSION=7.4.33 (nombre de la carpeta)
if "%SELECT_VERSION%"=="2" set SELECT_VERSION=8.2.12 (nombre de la carpeta)
 
Acá es desde donde va a copiar en donde lo va a copiar, en mi caso lo tengo en C:\ más practico para mí. Pero si lo tiene en otra ubicación deberán poner la ruta de dicha ubicación modificando esto C:\versiones_php\
xcopy /e /i C:\versiones_php\%SELECT_VERSION% C:\xampp
 
NOTA: Esto reemplazará los archivos existentes, se que en xampp/mysql/data se guardan las bases de datos y que estarán las bases de sus proyectos, estos no serán tocados, ni reemplazados, por que no los tiene las versiones de xampp, estas son las únicas 'carpetas' que hay dentro de mysql/data/
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
Para usarlo, lo ejecutan como administrador y verán lo siguiente:
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
 
Una vez que termina, volverá al menú principal, este proceso tardará unos minutos...
 
[img]Registrate o inicia tu sesión para ver este contenido[/img][img]Registrate o inicia tu sesión para ver este contenido[/img]
 
Hagan copia de seguridad a sus bases, por si acaso, si desconfían, pueden buscar información sobre lo que hace cada línea.
Comandos en CMD: xcopyechordclsifset-optiongoto
 
PD: Si en su versión actual de xampp tienen alguna configuración de php.ini, les sugiero que se lo apliquen a las versiones o versión que tengan.
 
Espero que les sirva, úsenlo con cuidado!

Imprimir


Enviado por: York0x
08-31-2024, 09:22 AM
Foro: Complementos Terminados
- Respuestas (3)

Hola.
Muchos ( entre ellos yo ) hemos intentado colocar este mod sin éxito ninguno: http://Registrate o inicia tu sesión par... contenido

Asique allí voy con la solución:

1 - En inc/ext/bbcode.inc.php buscan
 

Código PHP:
array('tag' => 'url''replace' => '<a href="{param}" target="_blank">{param}</a>''parse' => false'validParam' => $urlValidator),
array(
'tag' => 'url''replace' => '<a href="{option}" target="_blank">{param}</a>''option' => true'validOption' => $urlValidator), 

Y lo reemplazamos por:
 
Código PHP:
array('tag' => 'url''replace' => '<a href="{param}" target="_blank" data-encode="true">{param}</a>''parse' => false'validParam' => $urlValidator),
array(
'tag' => 'url''replace' => '<a href="{option}" target="_blank" data-encode="true">{param}</a>''option' => true'validOption' => $urlValidator), 

Al final de tutema/js/funciones.js agregamos:
 
Código PHP:
function base64_encode(string) {
    
let type "undefined" != typeof window && window.btoa;
    return 
type window.btoa(unescape(encodeURIComponent(string))) : Buffer.from(string,"binary").toString("base64");
}

$(
document).ready(function(){
   $(
'a[data-encode="true"]').each(function(){
       
let url = $(this).attr('href');
         $(
this).attr({
             
href: `${global_data.url}/go/?p=`  + base64_encode(url)
       });
    });
}); 

Y tras ello subimos la carpeta de @Tronlar#1  (Subimos los archivos a sus respectivas rutas)

http://Registrate o inicia tu sesión par... contenido
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Imprimir


Enviado por: Weber
08-26-2024, 05:53 AM
Foro: Presentaciones
- Respuestas (10)

Hola gente. Espero que estén bien. Pueden llamarme Weber, es el apodo que elegí cuando empecé a trastear con este Script, y que uso también en algunas redes sociales. Smile
Desde 2013 que administro un sitio con el venerado Script con un tema creado por To-Up que hasta hoy no encuentro el origen. Sad
Llegué acá después de hablar con Isidro porque se había caído el .net. Dijo que en algún momento volvería pero me sugirió que venga para acá que encontraría compañía. Cool
Por lo que veo llevan bastante tiempo, así que voy a ir leyendo un poco cada dia. Smile

Gracias.

Imprimir