17 de febrero de 2010

Gestor de Archivos - Plugin de CKEditor

Depués de millones de años sin escribir nada y medio abandonar el blog, vuelvo con algo que quizás ya exista, pero igual que mi editor de texto enriquecido me ayudó a entender varias cosas, esta vez respecto al desarrollo de plugins para CKEditor, un editor de texto enriquecido bastante completo que está disponible desde hace tiempo.

La versión actual del ckeditor (3.0) es bastante buena pero (que vainas con los peros) el gestor de imágenes que tienen disponible en el sitio es funcional pero en modo "demo", que no exactamente que quieren decir con eso, porque está totalmente funcional pero con una advertencia medio fastidiosa que dice "bla bla bla esto es una versión de prueba", la única manera de quitarla es pagando entre $59 y $1390 dependiendo del uso que le vayas a dar.

Quizás valga la pena pagar por una herramienta bastante buena, pero como no tengo el dinero ni las ganas de gastarlo, me puse a buscar a ver que conseguía por internet y la única solución que ví (o será que ya no se usar buscadores) no me llegó a funcionar nunca, tenía que cambiar un montón de variables para la configuración y el código no era del todo genérico. Así que como no existía algo que cumpliera mis necesidades, decidí inventarlo.

El resultado es un plugin que funciona bien, no es muy complejo y todavía le faltan funcionalidades, pero para ser una primera versión estoy bastante complacido, un detalle es que lo desarrollé con php, pero la versión en jsp está en la lista de cosas por hacer; para descargarlo vayan a http://code.google.com/p/ckimagemanager/

13 comentarios:

Anónimo dijo...

Hola, gracias por este aporte. Tengo una duda con las instrucciones, especialmente en lo referente a las rutas que hay que cambiar en el archivo php, primero se debe poner la dirección web sola, sin carpetas ni nada?, en la segunda línea la ruta a la carpeta que irán las imágenes?. Y lo otro, cuál sería la url en el caso de que esté usando localhost:8080, pues al intentar subir imágen me envía el siguiente mensaje: "Folder is not writable", no es problema de permiso ya que estoy en local. Saludos.

José Carrero dijo...

Respecto a los cambios en el archivo de configuración, en la primera línea colocas el URL de la carpeta de las imágenes, y la segunda línea es la carpeta en el servidor que corresponde al URL que especificaste antes.

En cuanto al mensaje de error, así estés corriendo el servidor de forma local, los archivos de php se ejecutan como el usuario apache(httpd o www-data), por eso tienes que darle permisos extra de escritura a la carpeta

Y en tu caso (suponiendo que usas la carpeta imagenes) la base_url sería http://localhost:8080/imagenes, y upload_path sería la direccion completa de la carpeta imagenes que se referencia en la URL

Anónimo dijo...

Déjame ver si entendí, lo de permisos de escritura eso lo se hacer, de hecho ya he probado con move_upload y ningún problema. Por lo que entendí, si mi web fuera google, entonces tendría que hacer lo siguiente: $config["base_url"]="http://www.google.cl";
$config["upload_path"]="http://www.google.cl/images";

o tengo que hacer: $config["base_url"]="http://www.google.cl";
$config["upload_path"]="/images";
ó
$config["base_url"]="http://www.google.cl/images";
$config["upload_path"]="/images";

Saludos.

Anónimo dijo...

Es decir, si mi URL es "http://drilltex.net/pruebas", entonces el $config["upload_path"]="/pruebas/" ???

José Carrero dijo...

no, el upload_path tiene que ser la direccion absoluta de los archivos en el disco duro, es decir, deberia ser algo así: como$config["upload_path"]=/direccion/completa/de/carpeta/pruebas si el servidor corre linux, en windows seria: como$config["upload_path"]=c:\\direccion\\completa\\de\\carpeta\\pruebas

Alez dijo...

Hola,

¿Es correcta esta configuración?

$config["base_url"]="C:\xampp\htdocs\zend\rayoteam\img";
$config["upload_path"]="C:\xampp\htdocs\zend\rayoteam\img\images_blog";

Y otra cosa...¿cómo le doy permisos de escritura a la carpeta para subir las imagenes?

Desde ya muchas gracias y muy buen aporte!

José Carrero dijo...

@Alez, el $config["upload_path"] está bien, pero en $config["base_url"] tienes que colocar la direccion como si la estuvieses viendo en un navegador, entonces sería algo así:

$config["base_url"]="http://".$_SERVER["SERVER_ADDR"]."/zend/rayoteam/img/images_blog";

Anónimo dijo...

si quiero implementar esto mismo para una pagina en asp funcionaria???

José Carrero dijo...

No, por ahora solo funciona en PHP

Anónimo dijo...

mm oki muchas gracias.

Daniel dijo...

quiero darte las gracias por este fabuloso plugin! me salvaste la vida jajaja

Anónimo dijo...

Hola a mi me sale este error Warning: in_array() [function.in-array]: Wrong datatype for second argument in C:\AppServ\www\CKImageManager-master\php\ckimagemanager.class.php on line 155

Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\CKImageManager-master\php\ckimagemanager.class.php:155) in C:\AppServ\www\CKImageManager-master\php\ckimagemanager.class.php on line 172

Unknown dijo...

jose!
me esta siendo imposible configurar, simpre me salta el error "Folder is not writable".

lo tengo local y lo tengo en el servidor, te paso lo que puse en el servidor

$config["base_url"]="http://www.dominio.com/clients/easy/adm/upload/";
$config["upload_path"]="/var/www/html/clients/easy/adm/upload/editor/";

Publicar un comentario