Mensajes Privados Tu Cuenta Inicio
Cerrar Patrocinadores

Desarrollo Web Profesional


Cerrar Nuestros Proyectos

Dedalus

-| ¿Que es Dédalus?
-| Descargar
-| Añadir Bug
-| Screenshots
-| Demo On-Line
-| Documentación
-| Foros
-| Directorio Web

BrisaTop

-| ¿Que es BrisaTop?
-| Descargar
-| Screenshots
-| Demo On-Line
-| Documentación
-| Foros
-| Directorio Web

NukeET

-| ¿Que es NukeET?
-| Descargar
-| Screenshots
-| Demo On-Line
-| Documentación
-| Foros
-| Directorio Web

T-Blog

-| ¿Que es T-Blog?
-| Descargar
-| Screenshots
-| Demo On-Line
-| Documentación
-| Foros
-| Directorio Web


Cerrar Protección SSL
Thawte siteseal


09-09-2010 17:21
Bienvenid@ identifícarse o registrarse
Cerrar Avisos Importantes

Problemas de autentificación

Se han realizado cambios en la gestión de las cookies, si tienes problemas a la hora de identificarte, prueba a eliminar las cookies (si no sabes cómo eliminar sólo las relacionadas con la TruZone, o tu navegador no deja, puedes eliminarlas todas). Si tras intentar la conexión sin ninguna cookie activa persiste el problema, contacta con la administración desde la zona de contacto.

Gracias




ADAPTANDO MÓDULOS A NUKEET
    Índice » NUKE ET » Adaptando módulos a NukeET

INFORMACIÓN
  •   Zona Adaptando módulos a NukeET  
  •   Lecturas 4243  
  •   Creado el 08 de julio de 2008 a las 00:13:16  
  •   Última modificación 08 de julio de 2008 a las 04:22:02  

Preguntas
Respuestas

• Módulos de NukeET
Código
 
echo '<br>';
 


Editas todos los archivos .php que tenga tu módulo y buscas lo siguiente:

Código
 
if (!eregi("modules.php"$_SERVER['SCRIPT_NAME'])) 
{
   
Header("Location: /error.php?op=e403");
    die();
}
 


Puede ser SCRIPT_NAME o PHP_SELF... y cambiarlo por

Código
 
if(!defined('NUKE_ET')){
    
Header("Location: ../error.php?op=e403");
    die();
}
 


Si en los archivos existe la variable $dbi es una herencia del PHP-Nuke 6.0 en la zona de Modulos de PHP-Nuke 6.0 de este archivos se explica cómo proceder de existir esa variable.

En el admin hay que realizar ciertos cambios, si tu archivo de admin/modules/loquesea.php al inicio tiene algo como esto (el contenido del if, o sea el die puede ser diferente):

Código
 
if (!eregi("admin.php"$_SERVER['PHP_SELF'])) { die ("Access Denied"); }
 


o

Código
 if (!eregi("admin.php"$_SERVER['SCRIPT_NAME'])) { die ("Access Denied"); }  


deberá modificarse por:

Código
 if(!defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}  


A continuación si tu archivo tiene algo así:

Código
 $result sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'"$dbi);
list(
$radminsuper) = sql_fetch_row($result$dbi);
if (
$radminsuper==1) {      


Puedes no hacer ningún cambio, de no hacerlo sólo podrán acceder superusuarios aunque desde el admin des acceso a la zona, de querer adaptarlo a las nuevas opciones del admin deberás hacer el cambio que se dice a continuación, cambio que recomendamos hacer.

Si tu archivo tiene lo siguiente:

Código
 $result sql_query("select radmindownload, radminsuper from ".$prefix."_authors where aid='$aid'"$dbi);
list(
$radmindownload$radminsuper) = sql_fetch_row($result$dbi);
if ((
$radmindownload==1) OR ($radminsuper==1)) {  


deberá modificarse, puede dejarse como el código anterior dando acceso sólo al superadmin o puede cambiarse ese texto por lo siguiente:

Código
 
$paso
=0;
$result $db->sql_query("SELECT radminsuper FROM ".$prefix."_authors WHERE aid='$aid'");
$row $db->sql_fetchrow($result);
$radminsuper intval($row['radminsuper']);
if(
$radminsuper==1){
$paso=1;
}else{
list(
$admitidos) = $db->sql_fetchrow($db->sql_query("SELECT admitidos FROM ".$prefix."_authors_admin where zona='download'"));
$admitidos explode(":",$admitidos);
    for(
$i=0$i<sizeof($admitidos); $i++) {
        if(
$aid==$admitidos[$i]){ $paso=1; }
    }
}
if (
$paso == 1) {
 


el valor del where para la zona qeu en el ejemplo pone download es el nombre que tenga
el archivo de admin/links que enlaza pero sin el links. y el .php, en el ejemplo el
archivo es links.download.php por lo que es download.

Abrimos el links.loquesa.php y lo siguiente (o lo que sea parecido):

Código
 if (($radminsuper==1) OR ($radmindownload==1)) {
 


se cambia por

Código
 if ($paso==1) { 

Volver al inicio

• Módulos de PHP-Nuke 6.5-7.4
Editas todos los archivos .php que tenga tu módulo y buscas lo siguiente:

Código
 if (!eregi("modules.php"$_SERVER['PHP_SELF'])) {
die (
"lo qe sea");


Puede ser SCRIPT_NAME o PHP_SELF... y cambiarlo por
Código
 if(!defined('NUKE_ET')){
    
Header("Location: ../error.php?op=e403");
    die();


Tambien en todos los archivos del módulo se debe cambiar los now() y time() por $ora añadiendo en el global de la function el $ora tal y como están el resto de variables. Si en los archivos existe la variable $dbi es una herencia del PHP-Nuke 6.0 en la zona de Modulos de PHP-Nuke 6.0 de este archivos se explica cómo proceder de existir esa variable.

En el admin hay que realizar ciertos cambios, si tu archivo de admin/modules/loquesea.php
al inicio tiene algo como esto (el contenido del if, o sea el die puede ser diferente):

Código
 if (!eregi("admin.php"$PHP_SELF)) { die ("Access Denied"); }      


deberá modificarse por:

Código
 if(!defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}      


A continuación si tu archivo tiene algo así:

Código
 $result sql_query("select radminsuper from ".$prefix."_authors where aid='$aid'"$dbi);
list(
$radminsuper) = sql_fetch_row($result$dbi);
if (
$radminsuper==1) {      


Puedes no hacer ningún cambio, de no hacerlo sólo podrán acceder superusuarios aunque desde el admin des acceso a la zona, de querer adaptarlo a las nuevas opciones del admin deberás hacer el cambio que se dice a continuación, cambio que recomendamos hacer.

Si tu archivo tiene lo siguiente:

Código
 $result sql_query("select radmindownload, radminsuper from ".$prefix."_authors where aid='$aid'"$dbi);
list(
$radmindownload$radminsuper) = sql_fetch_row($result$dbi);
if ((
$radmindownload==1) OR ($radminsuper==1)) {      


deberá modificarse, puede dejarse como el código anterior dando acceso sólo al superadmin o puede cambiarse ese texto por lo siguiente:

Código
 $paso=0;
$result $db->sql_query("SELECT radminsuper FROM ".$prefix."_authors WHERE aid='$aid'");
$row $db->sql_fetchrow($result);
$radminsuper intval($row['radminsuper']);
if(
$radminsuper==1){
$paso=1;
}else{
list(
$admitidos) = $db->sql_fetchrow($db->sql_query("SELECT admitidos FROM ".$prefix."_authors_admin where zona='download'"));
$admitidos explode(":",$admitidos);
    for(
$i=0$i<sizeof($admitidos); $i++) {
        if(
$aid==$admitidos[$i]){ $paso=1; }
    }
}
if (
$paso == 1) {      


el valor del where para la zona qeu en el ejemplo pone download es el nombre que tenga
el archivo de admin/links que enlaza pero sin el links. y el .php, en el ejemplo el
archivo es links.download.php por lo que es download.

Abrimos el links.loquesa.php y lo siguiente (o lo que sea parecido):

Código
 if (($radminsuper==1) OR ($radmindownload==1)) {      


se cambia por

Código
 if ($paso==1) {      


De no existir ni en case o en el links restricción alguna de las relatadas (o sea ningún if) al inicio se debe colocar lo siguiente:

En el caso del case:

Código
 if(!defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}      


En el caso del links:

Código
 if ($paso!=1) {
    
Header("Location: ../../error.php?op=e403");
    die();

Volver al inicio

• Módulos de PHP-Nuke 6.0
Código
 if (!eregi("modules.php"$PHP_SELF)) {
die (
"lo qe sea");


Cambiarlo por

Código
 if(!defined('NUKE_ET')){
    
Header("Location: ../error.php?op=e403");
    die();


Tambien en todos los archivos del módulo se debe cambiar los now() y time() por $ora añadiendo en el global de la function el $ora tal y como están el resto de variable, además deben cambiarse los uid email y uname que están en alguna llamada a la ase de datos a la tabla nuke_users por user_id user_email username, algo que debe hacer tb con los $uid, $email y $uname cuando son las variables extraídas de dicha llamada, un ejemplo:

Código
 $sql "SELECT uid, uname from ".$user_prefix."_users";
$result mysql_query($sql$dbi);
while(list(
$uid,$uname) = mysql_fetch_row($result)){
echo 
"$uid, $uname";


sería:

Código
 $sql "SELECT user_id, username from ".$user_prefix."_users";
$result mysql_query($sql$dbi);
while(list(
$user_id,$username) = mysql_fetch_row($result)){
echo 
"$user_id, $username";


Otra adaptación no necesaria, pero sí muy recomendada es cambiar la forma de llamar a la base de datos, se trta de añadir en el global la variable $db cuando aparezca la $dbi y siguiendo el ejemplo anterior, sería:

Código
 $result $db->sql_query("SELECT user_id, username from ".$user_prefix."_users");
while(list(
$user_id,$username) = $db->sql_fetchrow($result)){
echo 
"$user_id, $username";
}  


A continuación la tabla de equivalencias para que sea más sencillo:

Código
 mysql_query() ==> $db->sql_query()
mysql_num_row() ==> $db->sql_numrows()
mysql_fetch_row() ==> $db->sql_fetchrow()
mysql_fetch_array() ==> $db->sql_fetchrow()
sql_query() ==> $db->sql_query()
sql_num_rows() ==> $db->sql_numrows()
sql_fetch_row() ==> $db->sql_fetchrow()
sql_fetch_array()     ==> $db->sql_fetchrow() 


Se elimina el ,$dbi que lleven entre los paréntesis de llevarlo y si no existe ninguna otra función que llama a la BD de las que no están en la tabla de equivalencias, eliminamos el $dbi del global de la function.

Tambien han de realizarse cambios en la administración del módulo, en el archivo links.loquesea.php debe añadirse después del
Código
 if ($paso!=1) {
    
Header("Location: ../../error.php?op=e403");
    die();


En el case de no presentar ningún if restrictivo deberá añadirse el siguiente código (de tenerlo se tendrá que modiciar por el código siguiente):

Código
 if(!defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}      


y en el archivo que va en admin/modules se tendrá algo parecido a esto:

Código
 if (!eregi("admin.php"$PHP_SELF)) { die ("Access Denied"); }
$aid trim($aid);
$result sql_query("select radminfaq, radminsuper from ".$prefix."_authors where aid='$aid'"$dbi);
list(
$radminfaq$radminsuper) = sql_fetch_row($result$dbi);
if ((
$radminfaq==1) OR ($radminsuper==1)) {      


deberá modificarse por:

Código
 if(!defined('NUKE_ET')) {
    
Header("Location: ../../error.php?op=e403");
    die();
}
$aid trim($aid);
$paso=0;
$result $db->sql_query("SELECT radminsuper FROM ".$prefix."_authors WHERE aid='$aid'");
$row $db->sql_fetchrow($result);
$radminsuper intval($row['radminsuper']);
if(
$radminsuper==1){
$paso=1;
}else{
list(
$admitidos) = $db->sql_fetchrow($db->sql_query("SELECT admitidos FROM ".$prefix."_authors_admin where zona='loquesea'"));
$admitidos explode(":",$admitidos);
    for(
$i=0$i<sizeof($admitidos); $i++) {
        if(
$aid==$admitidos[$i]){ $paso=1; }
    }
}
if (
$paso == 1) { 


Cambiando el loquesea del where por el nombre del links.loquesea.php sin el links. ni el .php
Volver al inicio




Powered by Dedalus CMS License TruOpenSource/LGP TruZone Community
Tiempo de carga 0,039 segundos (PHP: 89,04% | MySQL: 10,96%) | 20 llamadas a la Base de Datos