-
Cómo funcionan las Mision...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-14-2026, 09:46 PM
» Respuestas: 0
» Vistas: 105 -
V6 Original/Dark/Memes (A...
Foro: Diseños Terminados
Último mensaje por: carlos007r
06-14-2026, 11:08 AM
» Respuestas: 26
» Vistas: 6,358 -
V5
Foro: Diseños Terminados
Último mensaje por: Aeikox
06-13-2026, 12:16 AM
» Respuestas: 8
» Vistas: 1,452 -
Risus 1.3 Actualizado jQu...
Foro: Risus 1.3
Último mensaje por: Tronlar
06-12-2026, 10:45 PM
» Respuestas: 55
» Vistas: 10,674 -
Preguntas Frecuentes y So...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-12-2026, 06:17 PM
» Respuestas: 0
» Vistas: 85 -
Cómo registrar tu comunid...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-12-2026, 05:32 PM
» Respuestas: 0
» Vistas: 63 -
Cómo monetizar tu comunid...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 07:19 PM
» Respuestas: 0
» Vistas: 74 -
Introducción al SEO para ...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 06:58 PM
» Respuestas: 0
» Vistas: 82 -
Guía completa de SEO para...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 06:48 PM
» Respuestas: 0
» Vistas: 95 -
Diccionario de términos b...
Foro: Guías y Tutoriales
Último mensaje por: Tronlar
06-11-2026, 01:41 PM
» Respuestas: 0
» Vistas: 115
- Mensajes del foro:1,957
- Temas del foro:614
- Miembros:1,036
- Último miembro:carlos007r
Captura
Ejecutar esta consulta
ALTER TABLE w_configuracion
ADD logoc_url tinytext NOT NULL,
ADD logoc_title tinytext NOT NULL;
En perfil.php --> inc --> php --> perfil.php
Buscar:
// MANDAR A PLANTILLA
Debajo agregar:
$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:
<span class="bio">{if $tsInfo.p_nombre != ''}{$tsInfo.p_nombre} es {else}Es {/if}{if $tsInfo.user_sexo == 1}un hombre{else}una mujer{/if}. Vive en <span id="info_pais">{$tsInfo.user_pais}</span> y se unió a la familia de {$tsConfig.titulo} el {$tsInfo.user_registro|fecha:true}. {if $tsInfo.p_empresa}Trabaja en {$tsInfo.p_empresa}{/if}</span>
Debajo agregar:
<br />
<span title="felicidades" style="background-image:url({$tsConfig.default}/images/icons/cookie.png);background-repeat: no-repeat;"> Felicítale el: {$tsInfo.user_dia} de {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['chat'] .
Al lado agregar:
'\', `logoc_url` = \'' . $c['logoc_url'] . '\', `logoc_title` = \'' . $c['logoc_title'] .
Buscar:
'chat' => $tsCore->setSecure($_POST['chat']),
Debajo agregar:
'logoc_url' => $tsCore->setSecure($_POST['logocurl']),
'logoc_title' => $tsCore->setSecure($_POST['logoctitle']),
En c.core.php --> inc --> class --> c.core.php
Buscar:
/*
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:
/*
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ínea '.__LINE__.' de '.__FILE__.'.', 'db') );
$data = db_exec('fetch_assoc', $query);
return $data;
}
En c.cuenta.php --> inc --> class --> c.cuenta.php
Buscar:
// 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:
p.user_pais,
Agregar:
p.user_dia, p.user_mes,
En header.php
Buscar:
// Mensajes
$smarty->assign('tsMPs',$tsMP->mensajes);
Debajo agregar:
// 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:
<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:
{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:
<p>
<input type="submit" name="save" value="Guardar Cambios" class="btn_g" />
</p>
Arriba agregar:
<dl>
<dt><label for="logoc_url">Logo de cumpleaños</label><br /><span>Introduce la URL del logo de cumpleaños. Les aparecerá cuando cumplan los añ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ítulo Del logo</label><br /><span>Introduce el tí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
Demo
http://Registrate o inicia tu sesión par... contenido
Captura
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
// MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA
Arriba agregar:
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
Demo
http://Registrate o inicia tu sesión par... contenido
Captura
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
// MENSAJE PARA DAR LA BIENVENIDA BIENVENIDA
Arriba agregar:
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
Demo
http://Registrate o inicia tu sesión par... contenido
Capturas
Ejecutar esta consulta
ALTER TABLE `p_categorias` ADD `c_priv` int(1) NOT NULL DEFAULT '0';
En c.admin.php --> inc --> class --> c.admin.php
Buscar:
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT cid, c_orden, c_nombre, c_seo, c_img FROM p_categorias WHERE cid = \'' .
Reemplazar por:
$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:
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_nombre, true)) . '\', c_img = \'' .
$tsCore->setSecure($cimg) . '\' WHERE cid = \'' . (int)$cid . '\''))
return true;
}
Reemplazar por:
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') ? 0 : 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_nombre, true)) . '\', c_img = \'' .
$tsCore->setSecure($cimg) .'\', c_priv = \'' .$tsCore->setSecure($c_priv) . '\' WHERE cid = \'' . (int)$cid . '\''))
return true;
}
Buscar:
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_nombre, true) . '\', \'' .
$cimg . '\')'))
return true;
}
Reemplazar por:
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') ? 0 : 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_nombre, true) . '\', \'' .
$cimg . '\', \'' .$c_priv . '\')'))
return true;
}
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
$postID = db_exec('insert_id');
Debajo agregar:
$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']==1 && !$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ía; Privada\', \''.time().'\', \''.$_SERVER['REMOTE_ADDR'].'\')');
}
Buscar:
if(empty($ford['post_id'])){
return 'El post elegido no existe.';
}elseif($ford['post_status'] != '0' && $tsUser->is_admod == 0 && $tsUser->permisos['moedpo'] == false){
return 'El post no puede ser editado.';
Debajo agregar:
$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']==1 && $vell['post_status']==3) return 'No se permite editar esta Categoría.';
Buscar:
// GUARDAR EN EL HISTORIAL DE MODERACION
Arriba agregar:
$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']==1 && !$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ía\', \''.time().'\', \''.$_SERVER['REMOTE_ADDR'].'\')');
}
En m.admin_cats.tpl --> themes --> default --> templates --> admin_mods --> m.admin_cats.tpl
Buscar:
<p><input type="submit" name="save" value="Guardar cambios" class="btn_g"/ ></p>
Arriba agregar:
<hr/>
<dl>
<dt><label for="cat_opc">Categoría Privada:</label><span>Seleccione si desea que la categoría sea privada. Deberá pasar por revisió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>Sí</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:
<p><input type="submit" name="save" value="Crear Categoría" class="btn_g"/></p>
Arriba agregar:
<hr/>
<dl>
<dt><label for="cat_opc">Categoría Privada:</label><span>Seleccione si desea que la categoría sea privada. Deberá pasar por revisió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>Sí</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
Captura
En funciones.js --> themes --> default --> js --> funciones.js
Al final agregar:
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(true, true, 'Guardar', "cambiar_rango_send("+ iduser +")", true, true, true, 'Cancelar', 'close', true, false);
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:
{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:
{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
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
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
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
/** NOTICIAS **/
} elseif($action == 'news'){
arriba agregarán
} 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
'admin-badwords-delete' => array('n' => 4, 'p' => ''),
'admin-eliminar-sql' => array('n' => 4, 'p' => ''),
'admin-restaurar-sql' => array('n' => 4, 'p' => ''),
'admin-ejecutar-sql' => array('n' => 4, 'p' => ''),
include("../class/c.admin.php");
$tsAdmin = new tsAdmin();
if($action === 'admin-eliminar-sql' OR $action === 'admin-restaurar-sql' OR $action === 'admin-ejecutar-sql') {
include("../class/c.database.php");
$dbase = new tsDataBase();
}
default:
die('0: Este archivo no existe.');
break;
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
{include file='admin_mods/m.admin_rangos.tpl'}{elseif $tsAction == 'execute' || $tsAction == 'backup'}
{include file='admin_mods/m.admin_database.tpl'}5 - En tema/templates/admin_mods/m.admin_sidemenu.tpl buscan
<h4>Configuración de PHPost</h4><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
/**
* 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
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.
Captura
En c.posts.php --> inc --> class --> c.posts.php
Buscar:
/*
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'] == 1 ? '' : '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ínea '.__LINE__.' de '.__FILE__.'.', 'db') );
$data = result_array($query);
//
return $data;
}
Debajo agregar:
/*
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ínea '.__LINE__.' de '.__FILE__.'.', 'db') );
$data = result_array($query);
//
return $data;
}
En posts.php --> inc --> php --> posts.php
Buscar:
// FOTOS
include(TS_CLASS."c.fotos.php");
$tsFotos = new tsFotos();
$tsImages = $tsFotos->getLastFotos();
$smarty->assign("tsImages",$tsImages);
$smarty->assign("tsImTotal",count($tsImages));
Debajo agregar:
// ULTIMO REGISTRADO
$smarty->assign("tsult",$tsPosts->getULTREG());
En t.home.tpl --> themes --> default --> templates --> t.home.tpl
Buscar:
<div id="derecha">
Debajo agregar:
{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

