enero 14, 2011

Moodle - Call to undefined method

En hojear lista de usuarios si muestra página en blanco, en vez del contenido hay que activar la depuración ver http://blogdeecomputo.blogspot.com/2011/01/moodle-depurar-errores.html

Si aparece esto

Fatal error: Call to undefined method MoodleQuickForm_hidden::MoodleQuickForm_hidden() in moodle\lib\pear\HTML\QuickForm\element.php on line 363

la respuesta oficial es que Moodle 1.9.4 o 1.9.3 no funciona con PHP 5.3

Solución 1 (recomendada). Actualizar Moodle a una versión actualizada.
Solución 2. Regresar PHP a una versión anterior como PHP 5.2
Solución 3. Modificar los elementos siguientes:


------------------
Fatal error: Call to undefined method MoodleQuickForm_hidden::MoodleQuickForm_hidden() in moodle\lib\pear\HTML\QuickForm\element.php on line 363
Modificar /moodle/lib/form/hidden.php después de:
var $_helpbutton='';

Agregar esto:
function MoodleQuickForm_hidden($elementName=null, $value='', $attributes=null) {
parent::HTML_QuickForm_hidden($elementName, $value, $attributes);
}
------------------


------------------
Fatal error: Call to undefined method MoodleQuickForm_header::MoodleQuickForm_header() in moodle/lib/pear/HTML/QuickForm/element.php on line 363
Modificar /moodle/lib/form/header.php despues de:

var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_header($elementName = null, $text = null) {
parent::HTML_QuickForm_header($elementName, $text);
}
------------------


------------------
Fatal error: Call to undefined method MoodleQuickForm_select::MoodleQuickForm_select() in moodle/lib/pear/HTML/QuickForm/element.php on line 363
Modificar /moodle/lib/form/select.php después de:

var $_helpbutton='';
var $_hiddenLabel=false;

Agregar esto:
function MoodleQuickForm_select($elementName=null, $elementLabel=null, $options=null, $attributes=null) {
parent::HTML_QuickForm_select($elementName, $elementLabel, $options, $attributes);
}
------------------

------------------
Fatal error: Call to undefined method MoodleQuickForm_text::MoodleQuickForm_text() in moodle/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/text.php despues de:

var $_helpbutton='';
var $_hiddenLabel=false;

Agregar esto:

function MoodleQuickForm_text($elementName=null, $elementLabel=null, $attributes=null) {
parent::HTML_QuickForm_text($elementName, $elementLabel, $attributes);
}
------------------

------------------

Fatal error: Call to undefined method MoodleQuickForm_group::MoodleQuickForm_group() in moodle/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/group.php despues de:

var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_group($elementName=null, $elementLabel=null, $elements=null, $separator=null, $appendName = true) {
parent::HTML_QuickForm_group($elementName, $elementLabel, $elements, $separator, $appendName);
}

------------------

------------------
Fatal error: Call to undefined method MoodleQuickForm_checkbox::MoodleQuickForm_checkbox() in moodle/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/checkbox.php despues de:

var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_checkbox($elementName=null, $elementLabel=null, $text='', $attributes=null) {
parent::HTML_QuickForm_checkbox($elementName, $elementLabel, $text, $attributes);
}

------------------


------------------

Fatal error: Call to undefined method MoodleQuickForm_submit::MoodleQuickForm_submit() in moodle/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/submit.php despues de:

class MoodleQuickForm_submit extends HTML_QuickForm_submit {

Agregar esto:



function MoodleQuickForm_submit($elementName=null, $value=null, $attributes=null) {
parent::HTML_QuickForm_submit($elementName, $value, $attributes);
}

------------------


------------------

Fatal error: Call to undefined method MoodleQuickForm_static::MoodleQuickForm_static() in moodle/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/static.php despues de:

var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_static($elementName=null, $elementLabel=null, $text=null) {
parent::HTML_QuickForm_static($elementName, $elementLabel, $text);
}

------------------


------------------
Fatal error: Call to undefined method MoodleQuickForm_passwordunmask::MoodleQuickForm_passwordunmask() in moodle/lib/pear/HTML/QuickForm/element.php on line 363


Modificar /moodle/lib/form/passwordunmask.php despues de:

class MoodleQuickForm_passwordunmask extends MoodleQuickForm_password {

Agregar esto:

function MoodleQuickForm_passwordunmask($elementName=null, $elementLabel=null, $attributes=null) {
parent::MoodleQuickForm_password($elementName, $elementLabel, $attributes);
}
------------------


------------------
Fatal error: Call to undefined method MoodleQuickForm_password::MoodleQuickForm_password() in moodle/lib/form/passwordunmask.php on line 18


Modificar /moodle/lib/form/password.php despues de:

var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_password($elementName=null, $elementLabel=null, $attributes=null) {
parent::HTML_QuickForm_password($elementName, $elementLabel, $attributes);
}

------------------


------------------
Fatal error: Call to undefined method MoodleQuickForm_textarea::MoodleQuickForm_textarea() in moodle/lib/form/htmleditor.php on line 16


Modificar /moodle/lib/form/textarea.php despues de:

var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_textarea($elementName=null, $elementLabel=null, $attributes=null) {
parent::HTML_QuickForm_textarea($elementName, $elementLabel, $attributes);
}

------------------

------------------
Fatal error: Call to undefined method MoodleQuickForm_file::MoodleQuickForm_file() in moodle/lib/form/file.php on line 56

Modificar /moodle/lib/form/file.php despues de:
var $_helpbutton='';

Agregar esto:

function MoodleQuickForm_file($elementName=null, $elementLabel=null, $attributes=null) {
parent::HTML_QuickForm_file($elementName, $elementLabel, $attributes);
}
------------------
Fatal error: Call to undefined method MoodleQuickForm_radio::MoodleQuickForm_radio() in moodle/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/radio.php despues de:
var $_helpbutton='';

Agregar esto:
function MoodleQuickForm_radio($elementName=null, $elementLabel=null, $attributes=null) {
parent::HTML_QuickForm_radio($elementName, $elementLabel, $attributes);
}
------------------
Fatal error: Call to undefined method MoodleQuickForm_button::MoodleQuickForm_button() in /var/www/html/moodle-exaleconomia-2011/lib/pear/HTML/QuickForm/element.php on line 363

Modificar /moodle/lib/form/button.php despues de:
var $_helpbutton='';
function MoodleQuickForm_button($elementName=null, $elementLabel=null, $options=null, $attributes=null) {
parent::HTML_QuickForm_button($elementName, $elementLabel, $options, $attributes);
}

38 comentarios:

Anónimo dijo...

You sir are a life saver.. Thank you for your post (although I did have to translate it :P)

Anónimo dijo...

You sir are a life saver... worked a treat (Although I did have to translate this page first :P)

jlgranda dijo...

Gracias Richard, salvaste mi sitio eqaula.org, justo ahora que estamos cursando la certificaci{on oficial

Anónimo dijo...

Excelente solución para salir del paso, mientras se corrije la version.

Felicidades!!!

Anónimo dijo...

Many thanks.

Anónimo dijo...

Eres un crack, ¡te debo una!

Maneesh Thareja dijo...

You are really good and the help you provided here is a life saver as we upgraded our server with new php and mysql and suddenly everything stops working.

Anónimo dijo...

Muchas gracias.
Tu solución me ha servidor.
Un saludo.

Anónimo dijo...

Muchas gracias. Me has alegrado el día.
Canario.

Anónimo dijo...

Gracias, increíble encontrar una solución tan precisa y en español. Aplausos!!

mad4maths dijo...

Brilliant - thank you so much

lresendiz dijo...

Es oro -molido-, Gracias.

Boracco dijo...

Tesekkurler

Boracco dijo...

radio button can not get value after this! $value should also added

zubs dijo...

thanks bro
It helped us a lot

zubs dijo...

Thanks bro
It helped us a lot

Unknown dijo...

Muito obrigado. Você salvou o meu dia. Parabéns.

Anónimo dijo...

Gracias... mil gracias!!!

Valassis dijo...

Muchas gracias.
Sálvame de un montón de problemas.
Saludos de un nuevo amigo en Grecia.

Anónimo dijo...

Muchísimas gracias. Me has ahorrado horas de trabajo y quebraderos de cabeza...

Anónimo dijo...

Thank you so much - you have saved my whole site!!!!

Anónimo dijo...

Thanks from the bottom of my heart!!! Worked smoothly and saved me a lot of time...

yuni dijo...

Hola mil gracias por esta informacion.

Aun tengo el siguiente error cuando necesito abrir la seccion de users en mi moodle site:

Parse error: syntax error, unexpected ';', expecting T_FUNCTION in /moodle/lib/form/submit.php on line 69

Alguien tiene alguna solucion? Gracias

yuni dijo...

en relacion a mi comentario anterior. active el depurador para desarrolladores y vi que el problema era crear una vez mas una clase ya definida, por lo tanto me di cuenta que habia copiado la declaracion de la clase otra vez en lugar de solo copiar las funciones dentro de la clase.
Todo funciona bien ahora, gracias por tu ayuda.

sudharsan dijo...

I got following error after i put this code MoodleQuickForm_hidden function ($ elementName = null, $ value ='', $ attributes = null) {
parent :: HTML_QuickForm_hidden ($ elementName, $ value, $ attributes);
}

Parse error: syntax error, unexpected T_STRING, expecting T_FUNCTION in lib/form/hidden.php kindly help me on this

Anónimo dijo...

Fantástico. Muchas gracias. Me has evitado muchos dolores de cabeza.

Quinn Comendant dijo...

A similar but much simpler fix (using a __call() method in QuickForm/element.php) to this problem is documented here:
https://tracker.moodle.org/browse/MDL-16804?focusedCommentId=127748&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-127748

Anónimo dijo...

Thanks a lot!!!

Anónimo dijo...

Muchísimas gracias, al margen de que tenga que actualizar la versión de mi Moodle, de momento me ha salvado de un buen problema. Estupendo post!!

Mítaly - Carlos dijo...

Muchas gracias por la solución, seguí esta pista y más bien bajando la versión del Moodle 1.9.9+ y descomprimiendo reemplacé la carpeta \moodle\lib\form con el contenido de la nueva versión y arrancó sin problema solucionando el inconveniente de la página en blanco al editar.

Anónimo dijo...

Solved my problem.
Thanks a lot!

F. Wieschmann dijo...

SOOO many Thanks!!!!!!
You saved me an my ... ;-)

Khadija Naji dijo...

Merci infiniment Monsieur! c’était très utile

Eduardo H. Rizo dijo...

Thanks !

Anónimo dijo...

Muchisimas gracias por compartir desde Granada , eres una maquina.

ienliven dijo...

eres lo mejor ! muchas gracias

Toni dijo...

Muchísimas gracias!!!

Anónimo dijo...

Genial!!, me funcionó para echar andar mi plataforma en mooodle 1.9, gracias.

Se ha producido un error en este gadget.