02-17-2022, 01:54 PM
(Última modificación: 02-17-2022, 05:15 PM por Chctrpgo.
Razón: Pequeño detalle agregado chat y xat
)
2

Simplificar la función saveConfig()
Como todos sabrán que la función saveConfig() que se encuentra en inc/class/c.admin.php, es un dolor de cabeza para editarlo sin equivocarse...
Bueno acá les traigo una solución, pero deben tener en cuenta que los campos en la administración específicamente "Configuración" en el atributo name debe coincidir con la que tienen en la base de datos, ya que si no son iguales, este les devolverá un error.
Ejemplo 1:
Bueno acá les traigo una solución, pero deben tener en cuenta que los campos en la administración específicamente "Configuración" en el atributo name debe coincidir con la que tienen en la base de datos, ya que si no son iguales, este les devolverá un error.
Ejemplo 1:
Cita:<input type="text" id="ai_titulo" name="titulo" maxlength="24" value="{$tsConfig.titulo}" />
El titulo coincide con w_configuracion.titulo de la base de datos
Ejemplo 2:
Cita:<textarea name="message_welcome" id="ai_met_welcome" style="width: 260px; height: 100px; {if $tsConfig.c_met_welcome == 0} display:none; {/if}">{$tsConfig.c_message_welcome}</textarea>
El message_welcome no coincide con w_configuracion.c_message_welcome de la base de datos ya que este comienza con c_ o tal vez comienzan con c_allow_.
lo que pueden hacer es ver database.php del instalador y ver todas las que lleva c_ o c_allow_ y agregarle a los campos que lo requieran, excepto name="chat" y name="xat" ya que sería así name="chat_id" y name="xat_id"
Les dejó Debes agradecer para ver el contenido... para los que no quieran buscar, cabe recalcar que si tienen campos agregados lo tendrán que agregar devuelta. (Es de la versión default)
Bueno una vez aclarado esto, continuamos, buscamos en el archivo ya mencionado inc/class/c.admin.php...
y la reemplazamos por
Ahora en el caso que tengan que incluir por ejemplo el "Debes agradecer para ver el contenido...", ya que ese campo se tiene que codificar a JSON...y pensarán, como lo hago es simple..
Se pregunta si existe el parámetro con dicho nombre como por ejemplo isset($_POST['el_nombre']), como el nombre que necesitamos es 'providers' se hace lo siguiente, arriba de $columnas se agrega la condicional.
y eso sería básicamente todo, espero haberme explicado bien.
Les dejó Debes agradecer para ver el contenido... para los que no quieran buscar, cabe recalcar que si tienen campos agregados lo tendrán que agregar devuelta. (Es de la versión default)
Bueno una vez aclarado esto, continuamos, buscamos en el archivo ya mencionado inc/class/c.admin.php...
Código PHP: ( Seleccionar Todo )
function saveConfig()
{
global $tsCore;
//
$c = array(
'titulo' => $tsCore->setSecure($tsCore->parseBadWords($_POST['titulo'])),
'slogan' => $tsCore->setSecure($tsCore->parseBadWords($_POST['slogan'])),
'url' => $tsCore->setSecure($tsCore->parseBadWords($_POST['url'])),
'offline' => empty($_POST['offline']) ? 0 : 1,
'offline_message' => $tsCore->setSecure($tsCore->parseBadWords($_POST['offline_message'])),
'chat' => $tsCore->setSecure($_POST['chat']),
'xat' => $tsCore->setSecure($_POST['xat']),
'edad' => $tsCore->setSecure($_POST['edad']),
'active' => $tsCore->setSecure($_POST['active']),
'sess_ip' => empty($_POST['sess_ip']) ? 0 : 1,
'count_guests' => $tsCore->setSecure($_POST['count_guests']),
'reg_active' => empty($_POST['reg_active']) ? 0 : 1,
'reg_activate' => empty($_POST['reg_activate']) ? 0 : 1,
'met_welcome' => $tsCore->setSecure($_POST['met_welcome']),
'message_welcome' => $tsCore->setSecure($tsCore->parseBadWords($_POST['message_welcome'])),
'fotos_private' => empty($_POST['fotos_private']) ? 0 : 1,
'hits_guest' => empty($_POST['hits_guest']) ? 0 : 1,
'keep_points' => empty($_POST['keep_points']) ? 0 : 1,
'allow_points' => $tsCore->setSecure($_POST['allow_points']),
'see_mod' => empty($_POST['see_mod']) ? 0 : 1,
'stats_cache' => $tsCore->setSecure($_POST['stats_cache']),
'desapprove_post' => empty($_POST['desapprove_post']) ? 0 : 1,
'firma' => empty($_POST['firma']) ? 0 : 1,
'upload' => empty($_POST['upload']) ? 0 : 1,
'portal' => empty($_POST['portal']) ? 0 : 1,
'live' => empty($_POST['live']) ? 0 : 1,
'max_nots' => $tsCore->setSecure($_POST['max_nots']),
'max_acts' => $_POST['max_acts'],
'max_posts' => $tsCore->setSecure($_POST['max_posts']),
'max_com' => $tsCore->setSecure($_POST['max_com']),
'sump' => empty($_POST['sump']) ? 0 : 1,
'newr' => empty($_POST['newr']) ? 0 : 1,
'pkey' => $tsCore->setSecure($_POST['pkey']),
'skey' => $tsCore->setSecure($_POST['skey']),
);
// UPDATE
if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `w_configuracion` SET `titulo` = \'' . $c['titulo'] . '\', `slogan` = \'' .
$c['slogan'] . '\', `url` = \'' . $c['url'] . '\', `chat_id` = \'' . $c['chat'] .
'\', `xat_id` = \'' . $c['xat'] . '\',`c_last_active` = \'' . $c['active'] . '\', `c_allow_sess_ip` = \'' .
$c['sess_ip'] . '\', `c_count_guests` = \'' . $c['count_guests'] . '\', `c_reg_active` = \'' .
$c['reg_active'] . '\', `c_reg_activate` = \'' . $c['reg_activate'] . '\', `c_met_welcome` = \'' .
$c['met_welcome'] . '\', `c_message_welcome` = \'' . $c['message_welcome'] . '\', `c_fotos_private` = \'' .
$c['fotos_private'] . '\', `c_hits_guest` = \'' . $c['hits_guest'] . '\', `c_keep_points` = \'' .
$c['keep_points'] . '\', `c_allow_points` = \'' . $c['allow_points'] . '\', `c_see_mod` = \'' .
$c['see_mod'] . '\', `c_stats_cache` = \'' . $c['stats_cache'] . '\',`c_desapprove_post` = \'' .
$c['desapprove_post'] . '\', `c_allow_edad` = \'' . $c['edad'] . '\', `c_max_posts` = \'' .
$c['max_posts'] . '\', `c_max_com` = \'' . $c['max_com'] . '\', `c_max_nots` = \'' .
$c['max_nots'] . '\', `c_max_acts` = \'' . $c['max_acts'] . '\', `c_allow_sump` = \'' .
$c['sump'] . '\', `c_newr_type` = \'' . $c['newr'] . '\', `c_allow_firma` = \'' .
$c['firma'] . '\', `c_allow_upload` = \'' . $c['upload'] . '\', `c_allow_portal` = \'' .
$c['portal'] . '\', `c_allow_live` = \'' . $c['live'] . '\', `offline` = \'' . $c['offline'] .
'\', `offline_message` = \'' . $c['offline_message'] . '\', `pkey` = \'' . $c['pkey'] . '\', `skey` = \'' . $c['skey'] . '\' WHERE `tscript_id` = \'1\''))
return true;
else
exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'db') );
}
y la reemplazamos por
Código PHP: ( Seleccionar Todo )
public function saveConfig() {
global $tsCore;
/**
* Unimos todos los parametros y
* quitamos el $_POST["save"] con array_slice()
* @link Registrate o inicia tu sesión para ver este contenido
* con el -1 se quita el $_POST["save"]
*/
$columnas = $tsCore->getIUP( array_slice($_POST, 0, -1) );
if (db_exec([__FILE__, __LINE__], "query", "UPDATE w_configuracion SET {$columnas} WHERE tscript_id = 1")) return true;
else exit( show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__.'.', 'Base de datos') );
}
Ahora en el caso que tengan que incluir por ejemplo el "Debes agradecer para ver el contenido...", ya que ese campo se tiene que codificar a JSON...y pensarán, como lo hago es simple..
Se pregunta si existe el parámetro con dicho nombre como por ejemplo isset($_POST['el_nombre']), como el nombre que necesitamos es 'providers' se hace lo siguiente, arriba de $columnas se agrega la condicional.
Código PHP: ( Seleccionar Todo )
# Consultamos si existe, tenemos que poner el nombre
if(isset($_POST["providers"])):
# Lo que va a hacer es reemplazar el parametro por este nuevo
/**
* @link Registrate o inicia tu sesión para ver este contenido
*/
$_POST["providers"] = json_encode(explode(', ', $_POST["providers"]), JSON_FORCE_OBJECT);
endif;
y eso sería básicamente todo, espero haberme explicado bien.


Facebook
Twitter
Reddit
Digg
del.icio.us
Tumblr
Pinterest
Blogger
Fark
LinkedIn
Mix
Google