News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Una duda con algunas variables...

Started by -Rock Lee-, June 14, 2016, 12:33:54 PM

Previous topic - Next topic

-Rock Lee-

Bueno hace tiempo no tenia problemas donde me atore aun buscando un poco, en resumen ando probando unas cosas en un foro. Al mirar en log de errores me aparecían una larga lista de errores de eval? por lo cual deshabilite la evaluación de plantillas y me resumió a 3 errores principales.

El primero es del color "SimpleColorizer" ya que elimine un usuario para probar algo y supongo como el mismo error me dice seria completar esa variable faltante  ¿verdad? igual dejo el mismo:

8: Undefined index: post_group_colorAplicar filtro: Solamente muestra los errores de este archivo Archivo: /***/public_html/Themes/default/Display.template.php
Línea: 238

Que la misma linea es el echo`:

if ($shown)
echo '
</ul>
</li>';
}


ahora el segundo va algo de la mano, buscando solo encontré 8: Undefined index: child_level y 8: Undefined index: childLevel aunque esta ultima no estoy del todo seguro si es aplicable :/

8: Undefined index: child_levelAplicar filtro: Solamente muestra los errores de este archivo Archivo: /***/public_html/foro/Themes/default/MoveTopic.template.php
Línea: 42

8: Undefined index: selectedAplicar filtro: Solamente muestra los errores de este archivo Archivo: /***/public_html/foro/Themes/default/MoveTopic.template.php
Línea: 42


si voy a la linea la que es el problema es:

<option value="', $board['id'], '"', $board['selected'] ? ' selected="selected"' : '', $board['id'] == $context['current_board'] ? ' disabled="disabled"' : '', '>', $board['child_level'] > 0 ? str_repeat('==', $board['child_level']-1) . '=&gt; ' : '', $board['name'], '</option>';

Complete las variables pero me da error por lo cual deduzco lo estoy haciendo mal o no la forma correcta si alguien puede darme una idea seria genial!


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Suki

El primer error pasa cuando tratas de visitar una cuenta de invitado o algo que haya dejado un invitado (comentario, mensaje, etc) los invitados son cuentas borradas por lo que no tienen toda la información de una cuenta normal.

El mod espera que la varialble  $algo['post_group_color'] esté siempre definida lo cual para cuentas de visitantes no lo está.

Para solucionarlo basta con hacer un empty() sobre esa variable y sólo usarla si retorna true:

', (!empty($algo['post_group_color']) ? 'aqui usar '. $algo['post_group_color'] .'' : '') ,'



El segundo problema es similar, de nuevo una variable que se usa pero que no ha sido definida o ha sido definida como vacia, muchos hostings dependiendo de su configuración toman variables vacias como no definidas lo cual es equivocado, una variable puede estar definida y aún asi estás "vacia":

$lol = null;
$lol = '';
$lol = false;

Para solucionarlo igual haz un ternary sobre esa variable igual que en el ejemplo enterior.
Disclaimer: unless otherwise stated, all my posts are personal and does not represent any views or opinions held by Simple Machines.

-Rock Lee-

Gracias @Suki ahora apenas pueda trato de resolverlo y dejo la solución, cualquier paso a preguntar de nuevo...


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

-Rock Lee-

No soy de revivir viejos temas pero como resolví el problema quiero dejar la solución del SimpleColorizer del parámetro indefinido "post_group_color"... hay que buscar:

<div class="post_wrapper" style="border-left: 5px solid ', (!empty($message['member']['group_color'] ) ? $message['member']['group_color'] : $message['member']['post_group_color']),' !important;" />';

y remplazar por:
<div class="post_wrapper" style="border-left: 5px solid ', (!empty($message['member']['group_color'] ) ? $message['member']['group_color'] : (!empty($message['member']['post_group_color']) ? $message['member']['post_group_color'] : '#434343')),' !important;" />';

Bueno queda de mas explicar que el error venia porque un usuarios al no estar registrado no posee color por eso mi log de errores de se lleno (por cada visita que tenia el tema, tenia una linea mas del error) ademas que el mod no contempla esa posibilidad (que el usuario borrara su cuenta), casi lo olvido aunque creo es obvio de igual manera lo digo... si quieren cambiar el color del usuario que no esta mas (debería figurar como visitante por default) deben cambiar #434343 por el color desean mostrar ... Gracias a @^HeRaCLeS^ quien me dio la solución! » Link del tema


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Advertisement: