Warning FCKeditor - 6.x-2.0

Al actualizar el módulo fckeditor de Drupal a la versión 6.x-2.0 vemos el siguiente mensaje:

 

  1. warning: file_exists(): open_basedir restriction in effect. File(/fckstyles.xml) is not within the allowed path(s): (/srv/www/vhosts/xxxxxxx/httpdocs:/tmp) in /srv/www/vhosts/xxxxxxx/httpdocs/sites/all/modules/fckeditor/fckeditor.module on line 786.

El problema nos da la pista de la línea 786 del archivo fckeditor.module; bien en esta línea tenemos

 

  1. if (file_exists($themepath .'fckstyles.xml')) {

Si trazamos el código podremos observar que la variable $themepath está vacía y por ello tenemos el error.

Bien, entonces, sigamos tirando de nuestra pista, ¿dónde se define el valor de la variable $themepath? En la línea 521, donde la función fckeditor_path_to_theme() "debe" traer su valor, sin embargo, no es así, he aquí el origen del problema.

Analizando esta función (sobre la línea 1134 del archivo fckeditor.module) podemos comprobar que si el bucle if que contiene falla, estaremos devolviendo un valor de $themepath vacío.
 

En el blog oficial de drupal.org podemos encontrar una solución que consiste en sustituir la funcion fckeditor_path_to_theme() por esta que solventa la situación con otro bucle if adicional:

  1. function fckeditor_path_to_theme() {
  2.  
  3. global $theme_key;
  4.  
  5. static $themepath;
  6.  
  7. if(empty($themepath) && !empty($theme_key)) {
  8.  
  9. $themepath = drupal_get_path('theme', $theme_key);
  10.  
  11. }
  12.  
  13. // fall back
  14.  
  15. if(empty($themepath)) {
  16.  
  17. return path_to_theme();
  18.  
  19. }
  20. return $themepath;
  21.  
  22. }

Otra solución si no queremos tocar el código del módulo fckeditor consiste en actualiazarse a la versión 6.x-2.1 de dicho módulo que ya viene con este parche incorporado.

Espero que os sea de ayuda, a mi me ha sido muy util esta solución y por ello la comparto con vosotros! No he vuelto a saber nada más de ese warning!

 

 

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.