• ¡Bienvenido a XenFácil!

    Estás viendo el sitio como Invitado. Para poder participar en este sitio

    y obtendrás privilegios adicionales, acceso a otras áreas y mucho mas.

    ¡Es gratis!


    ¿Ya eres miembro? Inicia sesión

Truco Error de código en XenForo/Model/Node.php con las opciones devueltas en php 5.4 o mayor

lms

Administrador
Mensajes
7.741
Puntuación de reacciones
2.163
Puntos
2.613
Sitio web
xenfacil.com
País
España
Versión de XenForo
2.1.x
PayPal
Donar dinero a este usuario
Página web
Web
Cuando se trata de usar una devolución de opciones personalizada en el panel de control de administración, se obtiene un error como este:

Insertar CODE, HTML o PHP:
Información del error
ErrorException: Array to string conversion - library/XenForo/Model/Node.php:1255
Generado por: lms, Hace 8 minutos
Seguimiento
 
#0 [internal function]: XenForo_Application::handlePhpError(8, 'Array to string...', '/home/user/...', 1255, Array)
#1 /home/user/public_html/foro/library/XenForo/Model/Node.php(1255): strval(Array)
#2 /home/user/public_html/foro/library/XfFex/FirstPostModerated/Option/ForumChooser.php(18): XenForo_Model_Node->getNodeOptionsArray(Array, Array, '(All forums)')
#3 [internal function]: XfFex_FirstPostModerated_Option_ForumChooser::renderOption(Object(XenForo_ViewAdmin_Option_ListOptions), 'options', Array, true)
#4 /home/user/public_html/foro/library/XenForo/ViewAdmin/Helper/Option.php(327): call_user_func(Array, Object(XenForo_ViewAdmin_Option_ListOptions), 'options', Array, true)
#5 /home/user/public_html/foro/library/XenForo/ViewAdmin/Helper/Option.php(71): XenForo_ViewAdmin_Helper_Option::_renderCallbackOptionHtml(Object(XenForo_ViewAdmin_Option_ListOptions), 'options', Array, true)
#6 /home/user/public_html/foro/library/XenForo/ViewAdmin/Helper/Option.php(33): XenForo_ViewAdmin_Helper_Option::renderPreparedOptionHtml(Object(XenForo_ViewAdmin_Option_ListOptions), Array, true, 'options')
#7 /home/user/public_html/foro/library/XenForo/ViewAdmin/Option/ListOptions.php(30): XenForo_ViewAdmin_Helper_Option::renderPreparedOptionsHtml(Object(XenForo_ViewAdmin_Option_ListOptions), Array, true)
#8 /home/user/public_html/foro/library/XenForo/ViewRenderer/Abstract.php(215): XenForo_ViewAdmin_Option_ListOptions->renderHtml()
#9 /home/user/public_html/foro/library/XenForo/ViewRenderer/HtmlAdmin.php(63): XenForo_ViewRenderer_Abstract->renderViewObject('XenForo_ViewAdm...', 'Html', Array, 'option_list')
#10 /home/user/public_html/foro/library/XenForo/FrontController.php(533): XenForo_ViewRenderer_HtmlAdmin->renderView('XenForo_ViewAdm...', Array, 'option_list', NULL)
#11 /home/user/public_html/foro/library/XenForo/FrontController.php(156): XenForo_FrontController->renderView(Object(XenForo_ControllerResponse_View), Object(XenForo_ViewRenderer_HtmlAdmin), Array)
#12 /home/user/public_html/foro/admin.php(13): XenForo_FrontController->run()
#13 {main}
 
Estado de la solicitud
 
array(3) {
  ["url"] => string(76) "http://www.example.com/foro/admin.php?options/list/xffex_firstpostmoderated"
  ["_GET"] => array(1) {
	["options/list/xffex_firstpostmoderated"] => string(0) ""
  }
  ["_POST"] => array(0) {
  }
}

Pienso que es un error de XenForo con php 5.4+. En el archivo library/XenForo/Model/Node.php, en la línea 1255 está el siguiente código:
PHP:
				'selected' => (strval($selectedNodeId) === '0'),
que genera un error cuando la variable $selectedNodeId es una matríz de nodos seleccionados y es cuando ocurre el error.
He cambiado esta línea por:
Insertar CODE, HTML o PHP:
[S]				'selected' => (!$selectedNodeId ? $selectedNodeId : 0),[/S]
Actualizado:
mejor aún
PHP:
				'selected' => (!$selectedNodeId ? true : false),

Salud2
y funciona perfecto para mi. Puedo usar el selector 'Todos' en las opciones devueltas y en todos los complementos.
Publicado en XenForo en http://xenforo.com/community/thread...h-render-options-in-php-5-4-or-greater.44611/

Salud2
 

luis

Administrador
Mensajes
1.636
Puntuación de reacciones
727
Puntos
613
Sitio web
xenfacil.com
País
España
Versión de XenForo
1.5.12
PayPal
Donar dinero a este usuario
Página web
Web
Gracias por la información y por un dolor de cabeza menos, hoy.
 

lms

Administrador
Mensajes
7.741
Puntuación de reacciones
2.163
Puntos
2.613
Sitio web
xenfacil.com
País
España
Versión de XenForo
2.1.x
PayPal
Donar dinero a este usuario
Página web
Web
Mejor aún que la sustitución anterior es esta otra:
PHP:
				'selected' => (!$selectedNodeId ? true : false),

Salud2
 
Arriba