Modificar ruta de la imagen del usuario en Moodle 2.3

En el desarrollo de nuestra solución integral para el elearning hemos utilizado varias aplicaciones en un mismo entorno, esto ha hecho necesario recojer la imagen del usuario que aparece en Moodle de una dirección distinta a la que tiene el propio sistema, ya que la edición del perfil está en otra aplicación.

Por si alguien más está en la misma tesitura, dejo constancia en este post del archivo que contiene la clase que modifica la ruta de la imagen del usuario, tanto si el usuario ha subido una como si utiliza la imagen por defecto. En este caso en particular, en ambos casos modificaré el código, pues como ya he dicho, nuestro perfil de usuario se encuentra alojado en otra aplicación.

La clase está en la línea 353 (aproximadamente) del archivo outputcomponents.php, situado en http://midominio/lib/

  1. // Did the user upload a picture?
  2. if ($this->user->picture > 0) {
  3. if (!empty($this->user->contextid)) {
  4. $contextid = $this->user->contextid;
  5. } else {
  6. $context = context_user::instance($this->user->id, IGNORE_MISSING);
  7. if (!$context) {
  8. // This must be an incorrectly deleted user, all other users have context.
  9. return $defaulturl;
  10. }
  11. $contextid = $context->id;
  12. }
  13.  
  14. $path = '/';
  15. if (clean_param($page->theme->name, PARAM_THEME) == $page->theme->name) {
  16. // We append the theme name to the file path if we have it so that
  17. // in the circumstance that the profile picture is not available
  18. // when the user actually requests it they still get the profile
  19. // picture for the correct theme.
  20. $path .= $page->theme->name.'/';
  21. }
  22. // Set the image URL to the URL for the uploaded file and return.
  23. $url = moodle_url::make_pluginfile_url($contextid, 'user', 'icon', NULL, $path, $filename);
  24. $url->param('rev', $this->user->picture);
  25. <span style="background-color:#ffff00;">echo "La ruta de la imagen es: ".$url."</span>
  26.  
  27. ";
  28. return <span style="color:#0000ff;">$url</span>;
  29. }

En este caso he añadido un echo para indicar el punto en el que la función devuelve la url mediante la variable $url. Aquí puedes modificar el código para indicarle la nueva ruta.  ;)

Enviar un comentario nuevo

El contenido de este campo se mantiene privado y no se mostrará públicamente.
  • Las direcciones de las páginas web y las de correo se convierten en enlaces automáticamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>, <pre>, <c>, <cpp>, <csharp>, <css>, <drupal5>, <drupal6>, <html>, <java>, <javascript>, <jquery>, <mysql>, <php>, <python>, <robots>, <ruby>, <sql>, <tsql>, <vb>, <vbnet>, <xml>. The supported tag styles are: <foo>, [foo]. PHP source code can also be enclosed in <?php ... ?> or <% ... %>.

Más información sobre opciones de formato

CAPTCHA
Esta pregunta se hace para comprobar que es usted una persona real e impedir el envío automatizado de mensajes basura.
CAPTCHA de imagen
Escriba los caracteres que se muestran en la imagen.