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);
}

enero 13, 2011

Moodle - Depurar errores

Usando moodle 1.9.3 (Build: 20081015)

Para poder ver los mensajes de error que moodle muestra hay que entrar como administrador.

Dentro del panel de Administración del Sitio seleccionar Servidor / Depurando

En "Depurar mensajes" (debug) Seleccionar "DESARROLLADOR: mensajes extra de depuración Moodle para desarrolladores".


Documentación sobre el tema en:

http://docs.moodle.org/en/Debugging#How_to_turn_on_debugging

How to turn on debugging

Go into the admin screens, and look under Administration > Server > Debugging (In Moodle 2.0 it is Site administration ▶ Development ▶ Debugging). Set the...

* Debug messages to ALL, and
* Display debug messages to Yes.

(You must do both). There is rarely any advantage in going to Developer level, unless you are a developer, in which case it is strongly recommended.

Once you have got the error message, and copied and pasted it somewhere, you are recommended to turn debugging back off again.


.
Se ha producido un error en este gadget.