Error al crear un subforo

Started by José Javier UEx, April 01, 2017, 07:30:23 AM

Previous topic - Next topic

José Javier UEx

¡Hola a todos!

Hace unos días, creando un nuevo subforo, me daba error y me pedía actualizar la BD con el upgrade.php. Tras actualizarla, me ha aparecido el siguiente mensaje de error:

QuoteError en la Base de Datos
Field 'facebooklike_board_enable' doesn't have a default value
Archivo: /var/www/ceem/public_html/wp/web/foro/Sources/Subs-Boards.php
Línea: 779

Y esto es lo que me aparece en las líneas 767-783 (la línea 779 es la que aparece en rojo):
Quote// Insert a board, the settings are dealt with later.
   $smcFunc['db_insert']('',
      '{db_prefix}boards',
      array(
         'id_cat' => 'int', 'name' => 'string-255', 'description' => 'string', 'board_order' => 'int',
         'member_groups' => 'string', 'redirect' => 'string',
      ),
      array(
         $boardOptions['target_category'], $boardOptions['board_name'] , '', 0,
         '-1,0', '',
      ),
      array('id_board')
   );
   $board_id = $smcFunc['db_insert_id']('{db_prefix}boards', 'id_board');

   if (empty($board_id))
      return 0;

No tengo instalado ningún mod, aunque tras echar un vistazo a algunos temas de este foro, todo indica que en su día pudo haberse instalado el mod "Facebook Like" (yo solo llevo como Administrador del foro año y medio, por lo que debe haber sido antes). Sin embargo, no encuentro restos de este mod en ningún lado salvo en una tabla de la BD.

Si alguien me pudiera ayudar con este problema, lo agradecería muchísimo.

Un saludo :)

Príncipe_Azul

Hola, lo que vas a tener que hacer es borrar todo rastro de ese mod, no tengo muchos conocimientos en ese tema, pero deberías usar el parse del mod para verificar que todas las modificaciones que hizo ese mod, hayan sido borradas de los archivos que en su momento ha modificado.

Si traducimos al español el error:

doesn't have a default value

nos dice lo siguiente:

No tiene un valor predeterminado

lo que creo que debés hacer, es instalar ese mod facebook like en un foro de pruebas o en otro foro que tengas disponible, luego desde PHPMyAdmin dirijite a la tabla facebooklike_board_enable y fijate el valor que tiene, luego pon ese mismo valor en la misma tabla de tu otro foro, quizás el valor sea un 1 o un 0 ya que 1 es activado y 0 es desactivado, pero mejor es que lo compruebes.


Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

José Javier UEx

¡Hola!

Acabo de comprobar las modificaciones del parse y todas se borraron en su momento.

Lo que comentas de volver a instalar el mod es imposible, ya que no es compatible con la versión de mi foro, aunque sí que he podido ver que en la columna facebooklike_board_enable todas las filas tienen valor 0. Al ver esto, he probado a poner 0 como valor predeterminado, pero sigue apareciendo el mismo mensaje de error en el foro.

Príncipe_Azul

Hola,

Quote
QuoteLo que comentas de volver a instalar el mod es imposible, ya que no es compatible con la versión de mi foro

has probado a emular tu foro?, igual he visto que ese mod es muy antiguo, creo que ni emulando se lo puede usar.

He descargado el mod que tenías instalado, creo que es éste:

http://custom.simplemachines.org/mods/index.php?mod=2543

y en el archivo installFBdatabase.php he visto ésto:

$smcFunc['db_add_column'] (
'{db_prefix}boards',
array
(
'name' => 'facebooklike_board_enable',
                'type' => 'tinyint',
                'size' => 1,
)
);


podrías probar a poner esos valores:

                'type' => 'tinyint',
                'size' => 1,



Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

José Javier UEx

¡Hola!

He emulado mi foro, he vuelto a instalar el mod y lo he desinstalado. He probado a crear un subforo tanto con el mod instalado como después de desinstalarlo, pero me sigue saliendo el mismo error.

Quotepodrías probar a poner esos valores:

                'type' => 'tinyint',
                'size' => 1,

Esos valores que comentas son los que tenía ya la tabla, así que la he dejado como estaba.

Un saludo :)

Príncipe_Azul

Ok amigo, vamos a hacer lo siguiente, vas a deshabilitar la evaluación de plantillas, seguí éstos pasos:

Administración => Configuración del Foro => Configuración del Servidor => General y tildas la opción Desactivar evaluación de plantillas, luego te vas abajo de la página y presionás el botón Guardar.

luego te vas al Log de errores del foro y borras todos los errores, ahora te vas a crear un nuevo subforo que obviamente te dará error, luego vuelve al Log de errores y comentanos si aparece algo al respecto.

Si no aparece nada, entónces fijate en el archivo error_log que está ubicado en el directorio raíz de tu foro e informanos si ahí aparece algún o algunos errores (fijate la fecha del o de los errores).


Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

José Javier UEx

Esto es lo que me ha aparecido en el Log de errores:



Un saludo :)

Príncipe_Azul

Bien amigo, adjuntame el archivo Subs-Boards.php.


Saludos!!
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

José Javier UEx


Príncipe_Azul

Bien amigo, acabo de descargar SMF 2.0.13:

http://download.simplemachines.org/index.php/smf_2-0-13_install.zip

la misma versión que tienes en tu foro, he comparado los 2 archivos (Subs-Boards.php) y son exactamente iguales, así que el problema no está ahí.
Lo que vas a hacer ahora, es un backup de tu base de datos (haz una copia por si algo no sale bien), luego desde PHPMyAdmin vas a borrar la tabla facebooklike_board_enable, una vez borrada, prueba a crear un Nuevo Sub-Foro.

Nos comentas las novedades.


Saludos
Foro ArgentinaIRC - Ayuda de Programación General, Informática, IRC y mIRC Scripting.

Foro de Artesanías, Recetas de cocina, Ropa para perros, Tejidos, Bijouterie, Porcelana, Chocolatería, Fondos de pantalla, Noticias, Belleza, Medicina natural, Videos y Programas: http://www.misartesanias.net/

Gluz

No es una tabla, es un campo que ese MOD ha agregado a la tabla smf_boards y que al desinstalar no ha borrado y causa conflictos, ya que las funciones del foro no saben que hacer con él basicamente.

Solo con borrar ese campo de la tabla smf_boards de tu base de datos debería dejar de darte ese error.

Recuerda hacer primero backup de la base de datos antes de borrar o modificar algo directamente.


Nota:
+ usa el prefijo de tu base de datos.

José Javier UEx

Eso mismo ya probé a hacerlo antes de escribir aquí por primera vez y no funcionó. De todas formas, he vuelto a intentarlo otra vez y tampoco ha dado resultado.

Un saludo :)

Gluz

¿Te da el mismo error después de borrar el campo de la tabla?

Si no es igual pero es muy similar, entonces hay otras partes de código del MOD que no se borraron en otros archivos.

Advertisement: