¡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,505
  • Temas del foro:526
  • Miembros:510
  • Último miembro:Mike Higgins


Enviado por: Chctrpgo
04-04-2024, 12:29 PM
Foro: Complementos Terminados
- Respuestas (1)

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



En posts.php --> inc --> php --> posts.php

Buscar:
Código PHP:
// AFILIADOS
$smarty->assign("tsAfiliados",$tsAfiliado->getAfiliados()); 


Arriba agregar:
Código PHP:
// CHAT CBOX
include(TS_CLASS."c.chat.php");
$tsChat =new tsChat();
$smarty->assign("tsBanchat",$tsChat->getBan());
$smarty->assign("tsRango",$tsChat->getRango());
$tsChat->getClean();
$smarty->assign("tsConectadostotal",$tsChat->getConectadostotal()); 


En t.home.tpl --> themes --> default --> templates --> t.home.tpl

Buscar:
Código PHP:
{include file='sections/main_header.tpl'


Debajo agregar:
Código PHP:
{include file='chat/chat.tpl'



Y subir esta carpeta

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

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

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

Imprimir


Enviado por: Chctrpgo
04-03-2024, 02:07 PM
Foro: Complementos Terminados
- Sin respuestas

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]


En c.posts.php --> inc --> class --> c.posts.php

Al final antes del último } agregar:
 
Código PHP:
// USUARIOS RANDOM
function Random(){
global 
$tsCore$tsUser;
$query db_exec(array(__FILE____LINE__), 'query''SELECT DISTINCT u.user_name, u.user_id, u.user_posts, f.f_id FROM u_miembros AS u LEFT JOIN u_perfil AS p ON u.user_id = p.user_id LEFT JOIN u_follows AS f ON u.user_id = f.f_id WHERE u.user_id != \''.$tsUser->uid.'\' ORDER BY RAND() LIMIT 4');
$data result_array($query);
return 
$data;


En LIMIT 4 pueden cambiar el valor 4 por el número de usuarios que quieran que aparezca


En posts.php --> inc --> php --> posts.php

Buscar:
 
Código PHP:
$smarty->assign("tsStats",$tsTops->getStats()); 


Debajo agregar:
 
Código PHP:
// USUARIOS RANDOM
$smarty->assign("tsRandom",$tsPosts->Random()); 


En t.home.tpl --> themes --> default --> templates --> t.home.tpl

Donde quieran que aparezca agregan:
 
Código PHP:
{include file='modules/m.home_usuarios_random.tpl'


En estilos.css --> themes --> default --> estilos.css

Al final agregar:
 
Código PHP:
.useraletor,.useraletori{float:left;padding:9px 0;text-align:center;background:#f8f8f8}.useralet{width:100%;position:relative;height:auto;display:-webkit-inline-box;margin-top:16px}.useraleto{width:18%;display:block;position:relative;float:left;border:3px solid #005fa3;bottom:4px}.useraletor{width:50%;font-family:cursive}.useraletori{width:37.8%;border-radius:0 0 5px;color:#eee} 


Y subir esta carpeta

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

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

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

Imprimir


Enviado por: Chctrpgo
04-03-2024, 09:58 AM
Foro: Complementos Terminados
- Respuestas (1)

Captura GIF

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



En bbcode.inc.php --> inc --> ext --> bbcode.inc.php

Buscar:
Código PHP:
$this->text preg_replace("/\[img\=(.+?)\]/i""[img]$1[/img]"$this->text); 


Debajo agregar:
Código PHP:
$this->text preg_replace("/\[img\](https?:\/\/.*\.(?:gif))\[\/img\]/i""[gif]$1[/gif]"$this->text); 


Buscar:
Código PHP:
array('tag' => 'img''replace' => '<img src="{param}" onload="if(this.width > 735) {this.width=735}"/>''parse' => false'validParam' => $imgValidator), 


Debajo agregar:
Código PHP:
array('tag' => 'gif''replace' => '<img style="display: none;" class="myImg" src="URLTUWEB/gifs/genthumb.php?img={param}" data-gif="{param}"/>''parse' => false'validParam' => $imgValidator), 


En c.core.php --> inc --> class --> c.core.php

Buscar:
Código PHP:
$parser->setRestriction(array('url''code''quote''font''size''color''gif''img'


Reemplazar por:
Código PHP:
$parser->setRestriction(array('url''code''quote''font''size''color''gif''img''gif'


En t.posts.tpl --> themes --> default --> templates --> t.posts.tpl

Buscar:
Código PHP:
{include file='sections/main_header.tpl'


Debajo agregar:
Código PHP:
<link rel="stylesheet" href="{$tsConfig.url}/gifs/jqGifPreview.css" />
<
script src="{$tsConfig.url}/gifs/jqGifPreview.js"></script




Para ponerlo en otro sitio


Buscar:
Código PHP:
{include file='sections/main_header.tpl'


Debajo agregar:
Código PHP:
<link rel="stylesheet" href="{$tsConfig.url}/gifs/jqGifPreview.css" />
<
script src="{$tsConfig.url}/gifs/jqGifPreview.js"></script


Buscar:
Código PHP:
<img src="{$p.a_img}"/> 


Reemplazar por:
Código PHP:
{if $p.a_img|substr:-== 'gif'}
<
img class="myImg" style="display: none;" src="{$tsConfig.url}/gifs/genthumb.php?img={$p.a_img}data-gif="{$p.a_img}"/>
{else}
<
img src="{$p.a_img}"/>
{/if} 




Y subir esta carpeta

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

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

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



Creditos: Tronlar

Imprimir


Enviado por: Chctrpgo
04-02-2024, 03:32 PM
Foro: Complementos Terminados
- Respuestas (4)

Zona VIP adaptada al tema FlatPost, si tiene algún error comentarlo aquí en los comentarios.

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

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]

Descarga

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

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

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


Creditos: Tronlar

Imprimir


Enviado por: York0x
04-01-2024, 11:08 PM
Foro: Pedido de Complementos
- Respuestas (4)

Hola, quisiera pedir los siguientes complementos:

- Modo claro / oscuro
- Generador de post
- Avatares GIF de usuario.
- Google, Discord connect
- Links ocultos únicamente para visitantes

Imprimir


Enviado por: Miguel92
03-29-2024, 08:57 PM
Foro: Complementos Terminados
- Respuestas (11)

Ver publicidad para ver enlace!

Bueno la instalación es un poco larga, no es administrable por el momento... Los cambios deberán ser manuales, en otro momento crear una forma de hacerlo administrable.
El modo para usarlo es
 
Código PHP:
[encode]la url que desees esconder[/encode


Espero que sea lo que estas buscando y lamento no tener capturas de pantalla... Pero es bastante parecido a lo que hace comparado con el html que compartiste @nakcho02#402 

Exceptuando que cuando termina de contar, este cerrará la ventana emergente e insertará el enlace en la página como si fuese un enlace normal...

[font]Actualizado 31.03.2024[/font]

Paso 1:
En c.core.php buscamos
 
Código:
function parseBBCode(...) {
    ... código

y dentro de esta línea en el array (es el primero que aparece)
 
Código:
$parser->setRestriction(array( ... ));

añaden
 
Código:
, 'encode'


Paso 2:
En bbcode.inc.php debajo de
 
Código:
require_once 'JBBCode/definitions/Video.php';

Añadiremos
 
Código:
require_once 'JBBCode/definitions/Encode.php';

más abajo buscamos
 
Código:
public function addBBcodes() {

y agregaremos
 
Código:
$tsCore = new tsCore;
// Solo para obtener la url
$url = $tsCore->settings['url'];

luego más abajo buscamos
 
Código:
// Tag de video independiente
if (in_array('video', $this->restriction) || !$this->restriction) {
    $this->parser->addCodeDefinition(new Video());
}

y abajo agregamos
 
Código:
if(in_array('encode', $this->restriction) || !$this->restriction) {
    $this->parser->addCodeDefinition(new Encode());
}


Paso 3: (paso actualizado)
En inc/ext/JBBCode/definitions crearemos un archivo llamado "Encode.php" y agregamos esto
 
Código PHP:
<?php

class Encode extends JBBCode\CodeDefinition {

   public function 
__construct() {
      
parent::__construct();
      
$this->setTagName("encode");
   }
   
/**
    * Returns true iff $input is a valid url.
    *
    * @param string $input  the string to validate
    * @return boolean
    */
   
public function asHtml(JBBCode\ElementNode $input) {
      
$content "";
      foreach (
$input->getChildren() as $child$content .= $child->getAsBBCode();

      
// Codificamos la url
      
$code base64_encode($content);

      
$tsCore = new tsCore;
      
$ads json_decode(file_get_contents($tsCore->settings['url'].'/publicidad.json'));
      
$active $ads->active;
      
$publicidades $ads->publicidades;

      
// Desde este punto, puedes hacer lo que quieras
      
$asHtml "<a class=\"adsHtml {$publicidades->$active->clase}\" href=\"javascript:ads.start('$code')\"><embed src=\"{$publicidades->$active->enlace}\" allowfullscreen></a>";
      return 
$asHtml;
   }


Paso 4:
En php/ajax crearemos un archivo llamado "ajax.publicidad.php" y agregaremos esto
 
Código PHP:
<?php if ( ! defined('TS_HEADER')) exit('No se permite el acceso directo al script');
/**
 * Controlador AJAX
 *
 * @name    ajax.afiliado.php
 * @author  PHPost Team
*/
/**********************************\

*    (VARIABLES POR DEFAULT)        *

\*********************************/

    // NIVELES DE ACCESO Y PLANTILLAS DE CADA ACCIÓN
    $files = array(
        'publicidad' => array('n' => 0'p' => ''),
    );

/**********************************\

* (VARIABLES LOCALES ESTE ARCHIVO)    *

\*********************************/

    // REDEFINIR VARIABLES
    $tsPage 'php_files/p.publicidad.'.$files[$action]['p'];
    $tsLevel $files[$action]['n'];
    $tsAjax = empty($files[$action]['p']) ? 0;

/**********************************\

*    (INSTRUCCIONES DE CODIGO)        *

\*********************************/
    
    
// DEPENDE EL NIVEL
    $tsLevelMsg $tsCore->setLevel($tsLeveltrue);
    if($tsLevelMsg != 1) { echo '0: '.$tsLevelMsg['mensaje']; die();}

    // CODIGO
    switch($action){
      default:
          // Obtenemos el enlace codificado antes y decodificamos...
          $enlace base64_decode($tsCore->setSecure($_POST['link']));
          // Lo mostraremos con un echo
         echo $enlace;
      break;
    


Paso 5: (Paso actualizado)
En cualquier hoja de estilo como estilo.css, phpost.css, extra.css, etc añaden
 
Código:
.adsHtml {
    overflow: hidden;
    border-radius: .325rem;
    background-color: #CCC6;
    display: block;
    position: relative;
}
.adsHtml.large {
    --largo: 728px;
    --alto: 90px;
}
.adsHtml.medium {
    --largo: 300px;
    --alto: 250px;
}
.adsHtml, #temporizador {
    width: var(--largo);
    height: var(--alto);
}
.adsHtml * {
    pointer-events: none;
    padding: 0;
    margin: 0;
    height: 100%;
    width: 100%;
}
.adsHtml.finish {
    all: unset!important;
    color: #689FD2!important;
    font-weight: 600!important;
    text-decoration: underline!important;
    cursor: pointer!important;
}
.adsHmlt.withoutembed > embed {
    display: none;
}
#temporizador {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
   background: #F4F4F4;
}
#temporizador p {
   font-size: 1.325rem;
   font-weight: bold;
   display: flex;
   justify-content: center;
   align-items: center;
   line-height: 1.2rem;
   width: 80%;
   margin: 0 auto;
}


Paso 6: (Paso actualizado)
En acciones.js o funciones.js donde quieran al final de todo agregan
 
Código:
const ads = {
   pagina: 'Registrate o inicia tu sesión para ver este contenido // Reemplazar 00000 por tu referido
   enlace: '',
   intervalo: '',
   ventanaEmergente: '',
   cerrarVentana: false,
   mensajeMostrado: false,
   tiempo: 5,
   loadTime: function() {
      // Función para actualizar el temporizador
      $('.adsHtml').addClass('withoutembed').append(`<div id="temporizador"><p>El contenido se abrirá en ${ads.tiempo} segundos</p></div>`);
      this.intervalo = setInterval(function() {
         ads.tiempo--;
         $('#temporizador p').html(`El contenido se abrirá en ${ads.tiempo} segundos`);
         if (ads.tiempo === 0) {
            clearInterval(ads.intervalo);
            $('#temporizador p').html(`El contenido se abrirá en ${ads.tiempo} segundos`);
            this.mensajeMostrado = true;
            ads.startLink();
         }
      }, 1000);
   },
   popup: function() {
      this.loadTime();
      // Este archivo es para mostrar algo, página estatica, video, etc
      this.ventanaEmergente = window.open(`${this.pagina}`, '_blank', 'width=600,height=400');
      // Verificar si la ventana emergente se cierra
      let interval = setInterval(function() {
        if (ads.ventanaEmergente.closed) {
              clearInterval(interval);
            clearInterval(ads.intervalo);
            if (!ads.mensajeMostrado) {
                  $('#temporizador p').html(`Vuelve a presionar sobre la publicidad y espera a que termine el tiempo.`);
            }
        }
      }, 1000);
      },
   startLink: function() {
         let link = this.enlace;
         let self = this
         $.post(`${global_data.url}/publicidad.php`, { link }, response => {
            $('.adsHtml').attr({
                href: response
            }).addClass('finish').html(response);
            if(self.cerrarVentana) self.ventanaEmergente.close();
         })
   },
   start: function(link) {
       this.enlace = link;
       this.popup();
   }
}


Paso 7:
En la raíz de su sitio crean un archivo llamado "ads.html", en el caso que quieran darle otro nombre lo deberán modificar en esta parte
 
Código:
const ads = {
    pagina: 'ads.html', // <- nombre de la pagina html
    ....
}

Para añadir a wysibb.js
1 - Buscan 
 
Código:
removeFormat: "Eliminar formato",
debajo añaden
 
Código:
encode: "Esconder enlace",
luego buscan
 
Código:
,img,video,link,
y a lado agregan
 
Código:
encode,

y por último buscan
 
Código:
    img : {
        title: CURLANG.img,

y arriba añaden
 
Código:
encode : {
    title: CURLANG.linkHidden,
    buttonHTML: '<span class="fonticon ve-tlb-link1">\uE007</span>',
    modal: {
        title: CURLANG.modal_link_title,
        width: "500px",
        tabs: [
            {
                input: [
                    {param: "URL",title:CURLANG.modal_link_url,validation: '^http(s)?://'}
                ]
            }
        ]
    },
    transform : {
        '<a class="adsHtml" href="javascript:ads.start(\'{URL}\')"><embed src="Registrate o inicia tu sesión para ver este contenido" allowfullscreen></a>':"[encode]{URL}[/encode]"
    }
},

[font]Paso 8: (Nuevo paso)
En la ruta de tu sitio creas un archivo llamado "publicidad.json" y en el agregan[/font]
Código:
{
    "active": 2,
    "publicidades": {
        "1": {
            "enlace": "Registrate o inicia tu sesión para ver este contenido",
            "clase": "large"
        },
        "2": {
            "enlace": "Registrate o inicia tu sesión para ver este contenido",
            "clase": "medium"
        }
    }
}
En donde dice "active": 2, es para activar la publicidad 2 300x250, si quieren el 728x90 simplemente cambian al 1 "active": 1,

Quedaría como forma default ya que editar lo que esta en transform: { es mucho más complicado/largo de hacer, pero cuando se visualice en el post se verá el que este activo.

y eso sería todo

Imprimir


Enviado por: nakcho02
03-29-2024, 11:40 AM
Foro: Complementos
- Respuestas (3)

buenas , eh generado este codigo con ayuda IE no quedaba otra jaja .. lo que necesito saber es como puedo implementarlo en la seccion de agregar post  que ejecute el codigo con un shorcode.. y por ejemplo la idea es ocultar un enlace dentro de un shortcode y que me muestre una publicidad como la quue se muesra en el codigo oviamente puede ir cualquier publicdad..  lo que necesito es que aparescta en los post donde yo ingrece el contenido oculto alguien me puede ayudar por favor , porporciono el codigo base..

Código:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Publicidad con temporizador</title>
<style>
  /* Estilos para centrar los elementos */
  body, html {
    height: 100%;
    margin: 0;
    display: flex;
    justify-content: center;
    align-items: center;
  }
</style>
</head>
<body>

<!-- Contenedor principal para centrar el contenido -->
<div id="container" style="position: relative;">
  <!-- Contenedor para el anuncio publicitario -->
  <div id="ad-container" style="width: 728px; height: 90px; margin: 0 auto;">
    <!-- Anuncio publicitario -->
    <iframe id="ad-frame" src="Registrate o inicia tu sesión para ver este contenido" frameborder="0" height="90" width="728"></iframe>
    <!-- Capa transparente para interactuar con el anuncio -->
    <div id="click-layer" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; cursor: pointer;"></div>
  </div>

  <!-- Enlace oculto -->
  <div id="enlace-container" style="display: none; position: absolute; bottom: 0; width: 728px; margin: 10px auto; text-align: center;">
    <div style="background-color: #f0f0f0; border: 1px solid #ccc; padding: 10px;">
      <a id="hidden-link" href="Registrate o inicia tu sesión para ver este contenido" target="_blank" style="text-decoration: none;">Haz clic aquí para ver el contenido</a>
    </div>
  </div>
</div>

<script>
  let intervalo;
  let ventanaEmergente;
  let mensajeMostrado = false;

  // Función para mostrar el temporizador debajo del anuncio
  function mostrarTemporizador() {
    let contador = 5;
    let temporizador = document.createElement('div');
    temporizador.setAttribute('id', 'temporizador');
    temporizador.style.position = 'absolute';
    temporizador.style.bottom = '0';
    temporizador.style.width = '100%';
    temporizador.style.backgroundColor = '#f0f0f0';
    temporizador.style.textAlign = 'center';
    temporizador.style.padding = '10px';
    temporizador.innerText = 'El contenido se abrirá en ' + contador + ' segundos';

    document.getElementById('ad-container').appendChild(temporizador);

    // Función para actualizar el temporizador
    intervalo = setInterval(function() {
      contador--;
      temporizador.innerText = 'El contenido se abrirá en ' + contador + ' segundos';
      if (contador === 0) {
        clearInterval(intervalo);
        document.getElementById('enlace-container').style.display = 'block';
        temporizador.style.display = 'none';
        mensajeMostrado = true;
      }
    }, 1000);
  }

  // Función para abrir la ventana emergente y mostrar el temporizador
  function abrirVentanaEmergente() {
    mostrarTemporizador();

    ventanaEmergente = window.open('Registrate o inicia tu sesión para ver este contenido '_blank', 'width=600,height=400');

    // Verificar si la ventana emergente se cierra
    let interval = setInterval(function() {
      if (ventanaEmergente.closed) {
        clearInterval(interval);
        clearInterval(intervalo);
        // Mostrar el mensaje para volver a presionar sobre la publicidad si el temporizador ya ha terminado
        if (!mensajeMostrado) {
          alert('Vuelve a presionar sobre la publicidad y espera a que termine el tiempo.');
        }
      }
    }, 1000);
  }

  // Evento para abrir la ventana emergente y comenzar el temporizador al hacer clic en la publicidad
  document.getElementById('click-layer').addEventListener('click', function() {
    abrirVentanaEmergente();
    // Ocultar el mensaje después de hacer clic en la publicidad
    document.getElementById('mensaje').style.display = 'none';
  });
</script>

</body>
</html>

Imprimir


Enviado por: Miguel92
03-28-2024, 06:22 PM
Foro: Complementos Terminados
- Respuestas (6)

¡Hola!
Como indica el título, he actualizado el complemento encargado de actualizar Smarty a la versión 4.5.1. Tras realizar pruebas con varios scripts que poseo, la actualización se hace correctamente. Es importante destacar que este proceso no es aplicable a "Syntaxis Lite" ni a "PHPost", versiones para las cuales se habían publicado complementos previos.
 
Además, este nuevo complemento crea una carpeta específica para almacenar los plugins actualizados. Si tienes plugins personalizados, te recomiendo que los saques de dicha carpeta antes de iniciar el proceso de actualización. Una vez finalizado, simplemente vuelve a colocar los plugins en la ruta "ruta/inc/plugins".

Para usarlo, descárgalo, descomprímelo en tu script y lo ejecutas "Registrate o inicia tu sesión para ver este contenido"

Por las dudas realiza un backup de tu sitio!
 
¡Espero que esta actualización sea de ayuda!
Si tienes alguna pregunta o necesitas más información, no dudes en preguntar.

ActualizadorSmarty.zip

Imprimir


Enviado por: York0x
03-24-2024, 12:33 PM
Foro: Ayuda y Soporte
- Respuestas (5)

Hola.

Hago este tema para decir que no me deja citar comentarios en mi sitio web (Debe ser algo del tema v5, ya que con los demás temas si me deja). Al igual que el visualizar los vídeos de Youtube. Que se ve en blanco

User demo: Ficer
Pass: abaioquiena66;

El tema que utilizo es: Registrate o inicia tu sesión para ver este contenido

Una vez no tenga bugs, lo modificaré, lo haré responsive, le daré una mejor estética y lo publicaré en el foro. Pues quisiera hacer una "mega V5"  o una "V5 2.0" más moderna.

Imprimir

  V5

Enviado por: Chctrpgo
03-22-2024, 10:05 PM
Foro: Diseños Terminados
- Respuestas (2)

[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

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

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

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

Imprimir