¡Bienvenido a PHPost!

Para participar en el foro, descargar complementos y acceder al chat, es necesario tener una cuenta activa.
Por favor, regístrate utilizando un correo electrónico válido para completar la activación.

Descarga Risus Nova 2.0   (Ver notas de la versión) Estable | Actualizado: 16/06/2026

Regístrate Descargar Risus Nova
Últimos temas

Estadísticas del foro
  • Mensajes del foro:1,957
  • Temas del foro:614
  • Miembros:1,036
  • Último miembro:carlos007r


Enviado por: Chctrpgo
03-08-2022, 06:22 PM
Foro: Complementos Terminados
- Respuestas (1)

Captura

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




Ejecutar esta consulta
 
Código PHP:
ALTER TABLE w_configuracion
ADD logoc_url tinytext NOT NULL
,
ADD logoc_title tinytext NOT NULL
 
 
En perfil.php  --> inc --> php --> perfil.php

Buscar:
 
Código PHP:
// MANDAR A PLANTILLA 
 
 
Debajo agregar:
 
Código PHP:
$dia=date('d');
    
$mes=date('m');
    
$smarty->assign('tsDia',$dia);
    
$smarty->assign('tsMes',$mes); 
 
 
En m.perfil_headinfo.tpl --> themes --> default --> templates --> modules --> m.perfil_headinfo.tpl

Buscar:
 
Código PHP:
<span class="bio">{if $tsInfo.p_nombre != ''}{$tsInfo.p_nombrees {else}Es {/if}{if $tsInfo.user_sexo == 1}un hombre{else}una mujer{/if}. Vive en <span id="info_pais">{$tsInfo.user_pais}</spany se uni&oacutea la familia de {$tsConfig.tituloel {$tsInfo.user_registro|fecha:true}. {if $tsInfo.p_empresa}Trabaja en {$tsInfo.p_empresa}{/if}</span
 
 
Debajo agregar:
 
Código PHP:
<br />
                                <
span title="felicidades" style="background-image:url({$tsConfig.default}/images/icons/cookie.png);background-repeat: no-repeat;">      Felic&iacute;tale el: {$tsInfo.user_diade {if $tsInfo.user_mes==1}Enero{elseif $tsInfo.user_mes==2}Febrero{elseif $tsInfo.user_mes==3}Marzo{elseif $tsInfo.user_mes==4}Abril{elseif $tsInfo.user_mes==5}Mayo{elseif $tsInfo.user_mes==6}Junio{elseif $tsInfo.user_mes==7}Julio{elseif $tsInfo.user_mes==8}Agosto{elseif $tsInfo.user_mes==9}Septiembre{elseif $tsInfo.user_mes==10}Octubre{elseif $tsInfo.user_mes==11}Noviembre{elseif $tsInfo.user_mes==12}Diciembre{/if}</span
 
 
En c.admin.php  --> inc --> class --> c.admin.php

Buscar:
 
Código PHP:
$c['chat'] . 
 
 
Al lado agregar:
 
Código PHP:
'\', `logoc_url` = \'' $c['logoc_url'] . '\', `logoc_title` = \'' $c['logoc_title'] . 
 
 
Buscar:
 
Código PHP:
'chat' => $tsCore->setSecure($_POST['chat']), 
 
 
Debajo agregar:
 
Código PHP:
'logoc_url' => $tsCore->setSecure($_POST['logocurl']),
            
'logoc_title' => $tsCore->setSecure($_POST['logoctitle']), 

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

Buscar:
 
Código PHP:
/*
        getIUP()
    */
    
function getIUP($array$prefix ''){
        
// NOMBRE DE LOS CAMPOS
        
$fields array_keys($array);
        
// VALOR PARA LAS TABLAS
        
$valores array_values($array);
        
// NUMERICOS Y CARACTERES
        
foreach($valores as $i => $val) {
          
$sets[$i] = $prefix.$fields[$i]." = '".$this->setSecure($val)."'"// Version: 1.1.500.8
        
}
        
$values implode(', ',$sets);
        
//
        
return $values;
    } 
 
 
Debajo agregar:
 
Código PHP:
/*
         birthday() OBTENEMOS LA FECHA
    */
    
function birthday(){
        global 
$tsUser;
        
//
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT user_mes, user_dia FROM u_perfil WHERE user_id = \'' $tsUser->uid '\' ORDER BY user_id DESC LIMIT 1');
        if(!
$query) exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') );
        
$data db_exec('fetch_assoc'$query);
        return 
$data;
    } 


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

Buscar:
 
Código PHP:
// INFORMACION GENERAL
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT u.user_id, u.user_name, u.user_registro, u.user_lastactive, u.user_activo, u.user_baneado, p.user_sexo, p.user_pais, p.p_nombre, p.p_avatar, p.p_mensaje, p.p_socials, p.p_empresa, p.p_configs FROM u_miembros AS u, u_perfil AS p WHERE u.user_id = \''.(int)$user_id.'\' AND p.user_id = \''.(int)$user_id.'\''); 


Después de:
 
Código PHP:
p.user_pais


Agregar:
 
Código PHP:
p.user_diap.user_mes
 

En header.php

Buscar:
 
Código PHP:
// Mensajes
    
$smarty->assign('tsMPs',$tsMP->mensajes); 
 
 
Debajo agregar:
 
Código PHP:
// Cumpleaños
$actuald date('d'); 
$actualm date('m'); 
$smarty->assign('tsActuald'$actuald);
$smarty->assign('tsActualm'$actualm);
$smarty->assign('tsBirthday'$tsCore->birthday()); 
 
 
En main_header.tpl --> themes --> default --> templates --> sections --> main_header.tpl

Buscar:
 
Código PHP:
<a id="logoi" title="{$tsConfig.titulo}href="{$tsConfig.url}">
                    <
img border="0" align="top" title="{$tsConfig.titulo}alt="{$tsConfig.titulo}src="Registrate o inicia tu sesión para ver este contenido">
                </
a
 
 
Reemplazar:
 
Código PHP:
{if $tsActuald == $tsBirthday.user_dia && $tsActualm == $tsBirthday.user_mes}
                <
a id="logoi" style="background:url({$tsConfig.logoc_url}) no-repeat; height: 500px; width: 500px;" title="{$tsConfig.logoc_title}href="{$tsConfig.url}"></a>
                {else}
                <
a id="logoi" title="{$tsConfig.titulo}href="{$tsConfig.url}"></a>
                {/if} 
 
 
En m.admin_configs.tpl --> themes --> default --> templates --> sections --> m.admin_configs.tpl

Buscar:
 
Código PHP:
<p>
                <
input type="submit" name="save" value="Guardar Cambios" class="btn_g" />
            </
p
 
 
Arriba agregar:
 
Código PHP:
<dl>
                <
dt><label for="logoc_url">Logo de cumplea&ntilde;os</label><br /><span>Introduce la URL del logo de cumplea&ntilde;osLes aparecer&aacutecuando cumplan los a&ntilde;os.</span></dt>
                <
dd><input type="text" id="logoc_url" name="logocurl" maxlength="300" value="{$tsConfig.logoc_url}/></dd>
            </
dl>
            <
dl>
                <
dt><label for="logoc_title">T&iacute;tulo Del logo</label><br /><span>Introduce el t&iacute;tulo que quieres que salga al poner el maose encima del logo.</span></dt>
                <
dd><input type="text" id="logoc_title" name="logoctitle" maxlength="300" value="{$tsConfig.logoc_title}/></dd>
            </
dl>
            <
hr /> 




Creditos: k_jupiter

Imprimir


Enviado por: Chctrpgo
03-08-2022, 11:32 AM
Foro: Complementos Terminados
- Sin respuestas

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

Captura

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

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

Buscar:
 
Código PHP:
// MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA 
 
 
Arriba agregar:
 
Código PHP:
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `u_follows` (`f_user`, `f_id`, `f_type`, `f_date`) VALUES (\'1\', \''.(int)$tsData['user_id'].'\' , \'1\', \''.time().'\')'); 





Creditos: Vellenger

Imprimir


Enviado por: Chctrpgo
03-08-2022, 11:26 AM
Foro: Complementos Terminados
- Sin respuestas

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


Captura

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



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

Buscar:
Código PHP:
// MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA 
 
 
Arriba agregar:
Código PHP:
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `u_follows` (`f_user`, `f_id`, `f_type`, `f_date`) VALUES (\''.(int)$tsData['user_id'].'\', \'1\', \'1\', \''.time().'\')'); 





Creditos: Vellenger

Imprimir


Enviado por: Chctrpgo
03-08-2022, 09:27 AM
Foro: Complementos Terminados
- Sin respuestas

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]
 
[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]



Ejecutar esta consulta
 
Código PHP:
ALTER TABLE `p_categoriasADD `c_privint(1NOT NULL DEFAULT '0'
 
 
En c.admin.php  --> inc --> class --> c.admin.php

Buscar:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT cid, c_orden, c_nombre, c_seo, c_img FROM p_categorias WHERE cid = \'' 
 
 
Reemplazar por:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT cid, c_orden, c_nombre, c_seo, c_img, c_priv FROM p_categorias WHERE cid = \'' 


Buscar:
Código PHP:
function saveCat()
    {
        global 
$tsCore;
        
//
        //$db = $this->getDBtypes();
        
$cid $tsCore->setSecure($_GET['cid']);
        
//
        
$c_nombre $tsCore->setSecure($tsCore->parseBadWords($_POST['c_nombre']));
        
$cimg $tsCore->setSecure($tsCore->parseBadWords($_POST['c_img']));
        if (
db_exec(array(__FILE____LINE__), 'query''UPDATE `p_categorias` SET c_nombre = \'' $tsCore->setSecure($c_nombre) .
            
'\', c_seo = \'' $tsCore->setSecure($tsCore->setSEO($c_nombretrue)) . '\', c_img = \'' .
            
$tsCore->setSecure($cimg) . '\' WHERE cid = \'' . (int)$cid '\''))
            return 
true;
    } 
 
 
Reemplazar por:
Código PHP:
function saveCat()
    {
        global 
$tsCore;
        
//
        //$db = $this->getDBtypes();
        
$cid $tsCore->setSecure($_GET['cid']);
        
//
        
$c_nombre $tsCore->setSecure($tsCore->parseBadWords($_POST['c_nombre']));
        
$cimg $tsCore->setSecure($tsCore->parseBadWords($_POST['c_img']));
        
$c_priv $tsCore->setSecure($tsCore->parseBadWords($_POST['c_priv'] == 'n') ? 1);
        if (
db_exec(array(__FILE____LINE__), 'query''UPDATE `p_categorias` SET c_nombre = \'' $tsCore->setSecure($c_nombre) .
            
'\', c_seo = \'' $tsCore->setSecure($tsCore->setSEO($c_nombretrue)) . '\', c_img = \'' .
            
$tsCore->setSecure($cimg) .'\', c_priv = \'' .$tsCore->setSecure($c_priv) . '\' WHERE cid = \'' . (int)$cid '\''))
            return 
true;
    } 
 
 
Buscar:
Código PHP:
function newCat()
    {
        global 
$tsCore;
        
//
        //$db = $this->getDBtypes();
        // VALORES
        
$c_nombre $tsCore->setSecure($tsCore->parseBadWords($_POST['c_nombre']));
        
$cimg $tsCore->setSecure($tsCore->parseBadWords($_POST['c_img']));
        
// ORDEN
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(cid) AS total FROM `p_categorias`');
        
$orden db_exec('fetch_assoc'$query);
        
$orden $orden['total'] + 1;
        
// INSERTS
        
if (db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_categorias` (`c_orden`, `c_nombre`, `c_seo`, `c_img`) VALUES (\'' .
            
$orden '\', \'' $c_nombre '\',\'' $tsCore->setSEO($c_nombretrue) . '\', \'' .
            
$cimg '\')'))
            return 
true;
    } 
 
 
Reemplazar por:
Código PHP:
function newCat()
    {
        global 
$tsCore;
        
//
        //$db = $this->getDBtypes();
        // VALORES
        
$c_nombre $tsCore->setSecure($tsCore->parseBadWords($_POST['c_nombre']));
        
$cimg $tsCore->setSecure($tsCore->parseBadWords($_POST['c_img']));
        
$c_priv $tsCore->setSecure($tsCore->parseBadWords($_POST['c_priv'] == 'n') ? 1);
        
// ORDEN
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT COUNT(cid) AS total FROM `p_categorias`');
        
$orden db_exec('fetch_assoc'$query);
        
$orden $orden['total'] + 1;
        
// INSERTS
        
if (db_exec(array(__FILE____LINE__), 'query''INSERT INTO `p_categorias` (`c_orden`, `c_nombre`, `c_seo`, `c_img`, `c_priv`) VALUES (\'' .
            
$orden '\', \'' $c_nombre '\',\'' $tsCore->setSEO($c_nombretrue) . '\', \'' .
            
$cimg '\', \'' .$c_priv '\')'))
            return 
true;
    } 
 
 
En c.posts.php  --> inc --> class --> c.posts.php

Buscar:
Código PHP:
$postID db_exec('insert_id'); 
 
 
Debajo agregar:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_category, p.post_status, c.cid, c.c_priv FROM p_posts AS p LEFT JOIN p_categorias AS c ON p.post_category = c.cid WHERE p.post_id = \''.$postID.'\' AND p.post_status = \'0\' LIMIT 1');
                
$data db_exec('fetch_assoc'$query);
                if(
$data['c_priv']==&& !$tsUser->is_admod && $tsUser->permisos['gorpap'] == false){db_exec(array(__FILE____LINE__), 'query''UPDATE p_posts SET post_status = \'3\' WHERE post_id = \''.$postID.'\'');
                
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `w_historial` (`pofid`, `action`, `type`, `mod`, `reason`, `date`, `mod_ip`) VALUES (\''.(int)$postID.'\', \'3\', \'1\', \''.$tsUser->uid.'\', \'Categor&iacutea; Privada\', \''.time().'\', \''.$_SERVER['REMOTE_ADDR'].'\')');
                } 
 
 
Buscar:
Código PHP:
if(empty($ford['post_id'])){
            return 
'El post elegido no existe.';
        }elseif(
$ford['post_status'] != '0' && $tsUser->is_admod == && $tsUser->permisos['moedpo'] == false){
            return 
'El post no puede ser editado.'
 
 
Debajo agregar:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_category, p.post_status, c.cid, c.c_priv FROM p_posts AS p LEFT JOIN p_categorias AS c ON p.post_category = c.cid WHERE post_id = \''.(int)$pid.'\' LIMIT 1');
        
$vell db_exec('fetch_assoc'$query);
        if(
$vell['c_priv']==&& $vell['post_status']==3) return 'No se permite editar esta Categor&iacute;a.'
 
 
Buscar:
Código PHP:
// GUARDAR EN EL HISTORIAL    DE MODERACION 
 
 
Arriba agregar:
Código PHP:
$query db_exec(array(__FILE____LINE__), 'query''SELECT p.post_id, p.post_category, p.post_status, c.cid, c.c_priv FROM p_posts AS p LEFT JOIN p_categorias AS c ON p.post_category = c.cid WHERE post_id = \''.(int)$post_id.'\' LIMIT 1');
                    
$vell db_exec('fetch_assoc'$query);
                    if(
$vell['c_priv']==&& !$tsUser->is_admod){db_exec(array(__FILE____LINE__), 'query''UPDATE p_posts SET post_status = \'3\' WHERE post_id = \''.(int)$post_id.'\'');
                    
db_exec(array(__FILE____LINE__), 'query''INSERT INTO `w_historial` (`pofid`, `action`, `type`, `mod`, `reason`, `date`, `mod_ip`) VALUES (\''.(int)$post_id.'\', \'3\', \'1\', \''.$tsUser->uid.'\', \'Cambio de Categor&iacute;a\', \''.time().'\', \''.$_SERVER['REMOTE_ADDR'].'\')');
                } 
 
 
En m.admin_cats.tpl --> themes --> default --> templates --> admin_mods --> m.admin_cats.tpl

Buscar:
Código PHP:
<p><input type="submit" name="save" value="Guardar cambios" class="btn_g"/  ></p
 
 
Arriba agregar:
Código PHP:
<hr/>
                                            <
dl>
                                                <
dt><label for="cat_opc">Categor&iacute;a Privada:</label><span>Seleccione si desea que la categor&iacute;a sea privadaDeber&aacutepasar por revisi&oacute;n antes de ser publicada.</span></dt>    
                                                <
label><input type="radio" value="s" name="c_priv" class="radio cuenta-save-1" {if $tsCat.c_priv == '1'}checked="checked"{/if}/><b></b></label>
                                                <
label><input type="radio" value="n" name="c_priv" class="radio cuenta-save-1" {if $tsCat.c_priv == '0'}checked="checked"{/if}/><b>No</b></label>
                                            </
dl
 
 
Buscar:
Código PHP:
<p><input type="submit" name="save" value="Crear Categor&iacute;a" class="btn_g"/></p
 
 
Arriba agregar:
Código PHP:
<hr/>
                                            <
dl>
                                                <
dt><label for="cat_opc">Categor&iacute;a Privada:</label><span>Seleccione si desea que la categor&iacute;a sea privadaDeber&aacutepasar por revisi&oacute;n antes de ser publicada.</span></dt>    
                                                <
label><input type="radio" value="s" name="c_priv" class="radio cuenta-save-1" {if $tsCat.c_priv == '1'}checked="checked"{/if}/><b></b></label>
                                                <
label><input type="radio" value="n" name="c_priv" class="radio cuenta-save-1" {if $tsCat.c_priv == '0'}checked="checked"{/if}/><b>No</b></label>
                                            </
dl




Creditos: Vellenger

Imprimir


Enviado por: Chctrpgo
03-03-2022, 11:31 AM
Foro: Complementos Terminados
- Respuestas (8)

Captura

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




En funciones.js --> themes --> default --> js --> funciones.js

Al final agregar:
 
Código PHP:
function cambiar_rango(){
     var 
iduser = $('input[name=iduser]').val();
     if(
iduser){
     
mydialog.procesando_inicio("Cargando...","Editar Rango");
     $.
ajax({
             
type'post',
             
url'/rango-editar.php',
             
data'iduser=' iduser,
             
success: function(h){
             
//mydialog.procesando_fin();
             
switch(h.charAt(0)){
             case 
'0':
             
mydialog.alert("Error",h.substring(3));
             break;
             
//Si se eligio el rango entonces mostramos el paso siguiente
             
case '1':
             
mydialog.show();
             
mydialog.title("Editando Rango");
             
mydialog.body(h.substring(3));
             
mydialog.buttons(truetrue'Guardar'"cambiar_rango_send("iduser +")"truetruetrue'Cancelar''close'truefalse);
             
mydialog.center();
             break;
             }
             },
             
error: function(){mydialog.error_500("cambiar_rango()");},
             
complete: function(){mydialog.procesando_fin();}
        });
     }else{
     
mydialog.alert("Error","El Usuario No existe.");
     }
}

function 
cambiar_rango_send(iduser){
     
mydialog.procesando_inicio("Guardando..","Editar Rango");
     var 
rangonuevo = $('select[name=rangonuevo]').val();
     $.
ajax({
             
type'post',
             
url'/rango-save.php',
             
data'iduser=' iduser '&rangonuevo=' rangonuevo,
             
success: function (h){
             
mydialog.procesando_fin();
             switch (
h.charAt(0)){
             case 
'0':
             
mydialog.alert("Error",h.substring(3));
             break;
             case 
'1':
             
mydialog.alert("Rango Editado!",h.substring(3),true);
             break;
             }
             }
     });

 
 
En m.perfil_headinfo.tpl --> themes --> default --> templates --> modules --> m.perfil_headinfo.tpl

Buscar:
 
Código PHP:
{if !$tsInfo.user_activo || $tsInfo.user_baneado}<span style="background-color:#CE152E;">Cuenta {if !$tsInfo.user_activo}desactivada{else}baneada{/if}</span>{/if} 
 
 
Debajo agregar:
 
Código PHP:
{if $tsUser->is_admod}<input type="hidden" value="{$tsInfo.uid}name="iduser"><a style="background-color:#CE152E;" href="javascript:cambiar_rango();">Editar Rango</a>{/if} 
 
 
Y subir esta carpeta

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

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

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



Creditos: Registrate o inicia tu sesión para ver este contenido

Imprimir


Enviado por: Kreatore
03-02-2022, 10:38 AM
Foro: Programadores
- Respuestas (3)

Estoy creando una comunidad de Harry Potter y necesito un mod que cuando te estes registrando tengas que escoger un rango. Gracias.
uso la v6 dark 

Imprimir


Enviado por: mariano14
02-26-2022, 08:27 PM
Foro: Preséntanos tu web
- Respuestas (1)

Hola Les Queria Invitar A Mi Web Si Estan Interesados Se Pueden Registrar Gratuitamente, La Web Es Nueva Y Esta Basada En Descarga De Contenido, Como Lo Era Taringa En Sus Tiempos Viejos. Muchas Gracias Y Disculpen Las Molestias.
La Web: TELFULL.COM

Imprimir


Enviado por: Miguel92
02-25-2022, 04:50 PM
Foro: Complementos Terminados
- Sin respuestas

Bueno como ya había mencionado, ya esta la "herramienta" para crear copias de seguridad completa o parcial de la base de datos y podrás restaurar dicho copia, el problema será que no tengas acceso a la administración del sitio y allí necesitarás una herramienta externa pero que funcione dentro del sitio.

Solo tengo que hacerle algunos cambios a la herramienta que ya tengo creada desde hace 1 año.

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]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Antes de comenzar, si tienes Ejecutar SQL desde la administración [Arreglado] tendrás que quitarlo o eliminar archivos

Bueno comencemos con la integración, los archivos para descargar están al final.

1 - Este archivo "c.database.php" y lo agregan a inc/class/

2 - En inc/php/admin.php buscamos
 

Código PHP:
   /** NOTICIAS **/
   } elseif($action == 'news'){ 

arriba agregarán
 
Código PHP:
    } elseif($action == 'execute' OR $action == 'backup') {
       # Incluimos el archivo necesario
        include("../class/c.database.php");
        $tsDataBase = new tsDataBase();
        # Todas las opciones de la copia de seguridad
        if($action == 'backup') {
            if(empty($act)) {
                $smarty->assign('tsListBackup'$tsDataBase->listBackup());
            # Creamos el backup completo
            } elseif($act === 'new_backup') {
                if(!empty($_POST["nombre_copia"])) {
                    if($tsDataBase->createBackUp()[0]) $tsCore->redirectTo($tsCore->settings['url'].'/admin/backup?save=true');
                    else $smarty->assign("tsError"$tsDataBase->createBackUp()[1]);
                }
            # Creamos el backup seleccionando tablas
            } elseif($act === 'new_backup_select') {
                $smarty->assign('tsTablas'$tsDataBase->show_tables());
                if(!empty($_POST["nombre_copia"])) {
                    if($tsDataBase->seletedTables()[0]) $tsCore->redirectTo($tsCore->settings['url'].'/admin/backup?save=true');
                    else $smarty->assign("tsError"$tsDataBase->seletedTables()[1]);
                }
            # Descargamos el fichero
            } elseif($act === 'download') {
                if(isset($_GET["code"])) {
                    $smarty->assign('tsDownload'$tsDataBase->downloader());
                }
            }
        


3 - Ahora en inc/php/ajax/ajax.php buscan
 
Código PHP:
      'admin-badwords-delete' => array('n' => 4'p' => ''), 
debajo agregan
 
Código PHP:
      'admin-eliminar-sql' => array('n' => 4'p' => ''),
      'admin-restaurar-sql' => array('n' => 4'p' => ''),
      'admin-ejecutar-sql' => array('n' => 4'p' => ''), 
más abajo buscan
 
Código PHP:
    include("../class/c.admin.php");
   $tsAdmin = new tsAdmin(); 
y agregan
 
Código PHP:
   if($action === 'admin-eliminar-sql' OR $action === 'admin-restaurar-sql' OR $action === 'admin-ejecutar-sql') {
       include("../class/c.database.php");
        $dbase = new tsDataBase();
   
por último buscan
 
Código PHP:
      default:
         die('0: Este archivo no existe.');
      break; 
y arriba agregan
 
Código PHP:
        case 'admin-eliminar-sql':
            echo $dbase->delete_file_sql();
        break;
        case 'admin-restaurar-sql':
            echo $dbase->restore_file_sql();
        break;
        case 'admin-ejecutar-sql':
            echo $dbase->executeSQL();
        break

4 - Ahora en tema/templates/t.admin.tpl buscan
 
Código:
{include file='admin_mods/m.admin_rangos.tpl'}
y debajo pegan
 
Código:
{elseif $tsAction == 'execute' || $tsAction == 'backup'}
{include file='admin_mods/m.admin_database.tpl'}

5 - En tema/templates/admin_mods/m.admin_sidemenu.tpl buscan
 
Código:
<h4>Configuraci&oacute;n de PHPost</h4>
y arriba agregan
 
Código:
<h4>Seguridad</h4>
<ul class="cat-list">
    <li id="a_configs"><span class="cat-title"><a href="{$tsConfig.url}/admin/execute">Ejecutar consultas</a></span></li>
    <li id="a_main"><span class="cat-title"><a href="{$tsConfig.url}/admin/backup">Crear copia</a></span></li>
</ul>

6 - Este archivo "m.admin_database.tpl" y lo agregan a tema/templates/admin_mods/

7 - Por último en tema/ja/admin.js al final del archivo agregan
 
Código:
/** 
 * Database
 * para ejecutar consultas y crear copias
*/
var database = new function() {
    this.execute = () => {
        var SQL = 'sql=' + $("#sql").val();
        $.post(global_data.url + '/admin-ejecutar-sql.php', SQL, h => {
            switch (h.charAt(0)) {
                case '0':
                    mydialog.alert('Error', h.substring(3), false)
                break;
                case '1':
                    mydialog.alert('Bien', h.substring(3), true)
                break;
            }
        })
    },
   this.delete = (id, file, gew) => {
      if(!gew) {
         mydialog.show()
         mydialog.title('Eliminar')
         mydialog.body(`Estas seguro que quieres eliminar este archivo: ${file}`) 
         mydialog.buttons(true, true, 'Borrar SQL', `database.delete(${id}, '${file}', true)`, true, false, true, 'Cancelar', 'close', true, true);
         /*mydialog.buttons([
            {mostrar:true,texto:'Borrar SQL',accion:`database.delete(${id}, '${file}', true)`,activo:true},
            {mostrar:true,texto:'Cancelar',accion:'cerrar',activo:true}
         ]);
*/         mydialog.center()
      } else {
         $.post(global_data.url + '/admin-eliminar-sql.php', {id,file}, e => {
            switch (e.charAt(0)) {
               case '0':
                  mydialog.alert('Error', e.substring(3));
               break;
               case '1':
                  mydialog.close();
                  $("#sql" + id).remove();
               break;
            }
         })
      }
   },
   this.restore = (file, gew) => {
      if(!gew) {
         mydialog.show()
         mydialog.title('Restaurar')
         mydialog.body(`Estas seguro que quieres restaurar esta copia: ${file}`) 
         mydialog.buttons(true, true, 'Restaurar SQL', `database.restore('${file}', true)`, true, false, true, 'Cancelar', 'close', true, true);
         /*mydialog.buttons([
            {mostrar:true,texto:'Restaurar SQL',accion:`database.restore('${file}', true)`,activo:true},
            {mostrar:true,texto:'Cancelar',accion:'cerrar',activo:true}
         ]);*/
         mydialog.center()
      } else {
         mydialog.procesando_inicio('', "Espere");
         mydialog.buttons(false);
         mydialog.center()
         $.post(global_data.url + '/admin-restaurar-sql.php', {restore: file}, e => {
            switch (e.charAt(0)) {
               case '0':
                  mydialog.procesando_fin();
                  mydialog.alert('Error', e.substring(3), false);
               break;
               case '1':
                  mydialog.procesando_fin();
                  mydialog.alert('Bien', e.substring(3), false);
               break;
            }
         })
      }
   }
}

Descargar los archivos "-#- Justo aquí -#-"

En caso que tengan problemas al querer crear las copias de seguridad, comprueben que se haya creado la carpeta "database" en files/ y que tenga los permisos 0777 aplicados, en caso contrario deberán crearlo y darle los permisos correspondientes

Imprimir


Enviado por: Miguel92
02-25-2022, 02:17 AM
Foro: Complementos
- Sin respuestas

Bug en Ejecutar SQL desde la administración [Arreglado] 

En lo que sería la función executeSQL(), tiene problemas... Ya que esta no ejecuta "todas las sentencias", si la sentencia tiene comillas simples/dobles, les dará un error.

Por el momento lo estoy intentado arreglar. 

Ya he terminado la sección para generar la copia de seguridad completa o seleccionando las tablas que deseen crear el backup, podrán descargar el archivo y restaurar dicha copia, cabe recalcar que no podrán restaurar si tiene algún problema en w_configuracion como por ejemplo la url, ya no podrán aplicar la restauración, así luego crear una herramienta que funcione sin necesidad del script o alguna configuración de la base.

Imprimir


Enviado por: Chctrpgo
02-22-2022, 06:35 PM
Foro: Complementos Terminados
- Sin respuestas

Captura

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


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

Buscar:
Código PHP:
/*
        getLastComentarios()
        : PARA EL PORTAL
    */
    
function getLastComentarios(){
        global 
$tsUser$tsCore;
        
//
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT cm.cid, cm.c_status, u.user_name, u.user_activo, u.user_baneado, p.post_id, p.post_title, p.post_status, c.c_seo FROM p_comentarios AS cm LEFT JOIN u_miembros AS u ON cm.c_user = u.user_id LEFT JOIN p_posts AS p ON p.post_id = cm.c_post_id LEFT JOIN p_categorias AS c ON c.cid = p.post_category '.($tsUser->is_admod && $tsCore->settings['c_see_mod'] == '' 'WHERE p.post_status = \'0\'  AND cm.c_status = \'0\' AND u.user_activo = \'1\' && u.user_baneado = \'0\'').' ORDER BY cid DESC LIMIT 10');
        if(!
$query) exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') );
        
$data result_array($query);
        
        
//
        
return $data;
    } 
 
 
Debajo agregar:
Código PHP:
/*
       ULTIMO REGISTRADO
    */
    
function getULTREG(){
        global 
$tsCore;
        
$query db_exec(array(__FILE____LINE__), 'query''SELECT user_name, user_id, user_activo FROM u_miembros WHERE user_activo= \'1\' AND user_baneado= \'0\' ORDER BY user_id DESC LIMIT 1');
        if(!
$query) exit( show_error('Error al ejecutar la consulta de la l&iacute;nea '.__LINE__.' de '.__FILE__.'.''db') );
        
$data result_array($query);
        
        
//
        
return $data;
    } 
 
 
En posts.php  --> inc --> php --> posts.php

Buscar:
Código PHP:
// FOTOS
        
include(TS_CLASS."c.fotos.php");
        
$tsFotos = new tsFotos();
        
$tsImages $tsFotos->getLastFotos();
        
$smarty->assign("tsImages",$tsImages);
        
$smarty->assign("tsImTotal",count($tsImages)); 
 
 
Debajo agregar:
Código PHP:
// ULTIMO REGISTRADO
        
$smarty->assign("tsult",$tsPosts->getULTREG()); 
 
 
En t.home.tpl --> themes --> default --> templates --> t.home.tpl

Buscar:
Código PHP:
<div id="derecha"
 
 
Debajo agregar:
Código PHP:
{include file='modules/m.home_last_user.tpl'
 
 
Y subir esta carpeta:

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

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

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



Creditos: Titan

Imprimir