• Ce blog — désormais archivé — est en lecture seule.

Intégrer un gestionnaire de fichiers dans dmCkEditorPlugin

Bonjour,

je laisse ici une petite astuce pour intégrer KFM (http://kfm.verens.com/), un excellent gestionnaire de fichiers en AJAX, au plugin Diem nommé dmCkEditorPlugin. Ce plugin offre un nouveau widget contenant, comme son nom l’indique, l’éditeur WYSIWYG CkEditor.

Pour installer KFM, on télécharge la dernière version que l’on place dans dmCkEditorPlugin/js/kfm.

Ensuite on ouvre dmCkEditorPlugin/config/dm/config.yml et on ajoute cette ligne :

default:
  ckeditor:
    config:
      ...
      filebrowserBrowseUrl: /dmCkEditorPlugin/js/kfm/index.php

 

KFM utilise une base de données, il faut donc la configurer. Le choix que j’ai fait est de parser le fichier databases.yml afin de récupérer les paramètres de connexion directement. Il faut donc modifier le fichier de configuration de KFM (dmCkEditorPlugin/js/kfm/configuration.php). J’ai placé ce code tout en haut en remplaçant les variables en rapport avec la base de données :

require_once(dirname(__FILE__).'/../../../../lib/vendor/diem/symfony/lib/yaml/sfYaml.php');

$config = sfYaml::load(dirname(__FILE__).'/../../../../config/databases.yml');

$dsn  = $config['all']['doctrine']['param']['dsn'];
preg_match('#(?P\w+):host=(?P\w+);dbname=(?P\w+);#', $dsn, $matches);

// what type of database to use
// values allowed: mysql, pgsql, sqlite, sqlitepdo
$kfm_db_type = $matches['type'];
// the following options should only be filled if you are not using sqlite/sqlitepdo as the database
$kfm_db_prefix   = 'kfm_';
$kfm_db_host     = $matches['host'];
$kfm_db_name     = $matches['dbname'];
$kfm_db_username = $config['all']['doctrine']['param']['username'];
$kfm_db_password = $config['all']['doctrine']['param']['password'];
$kfm_db_port     = '';

C’est une manière simple et efficace d’intégrer ce gestionnaire de fichiers. Ce n’est pas parfait mais fonctionnel :)

  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Twitter
  • Google Bookmarks
  • FriendFeed
  • LinkedIn
  • MySpace
  • Netvibes
  • PDF
  • Ping.fm
  • RSS
  • Technorati
  • viadeo FR
  • Wikio
  • Yahoo! Buzz

Related Posts

Cet article a été publié dans Diem Project, Tips avec les mots-clefs : , , , . Bookmarker le permalien. Les commentaires et les trackbacks sont fermés.

Un commentaire

  1. riceweb
    Le 20 janvier 2011 à 16 h 12 min | Permalien

    Bonjour
    J’ai installé ckeditor comme éditeur de texte dans mon site, une vrai petite merveille.
    Mais comme souvent avec ce genre d’éditeur, il n’y a pas de browser pour les images.
    J’ai donc testé KFM en local sur Wampserver, il fonctionne parfaitement aussi
    Maintenant je teste KFM sur mon site,hé là, je précise que je suis chez OVH.

    Après 3 jours de recherches et de tests sans aboutir, je me retourne vers vous pour une aide.
    Voici, les 2 codes( le 1ER qui fonctionne sur WAMPSERVER et le 2ème qui ne fonctionne pas sur mon site)
    Merci d’avance à tous….

    Wampserver en local:
    <?php
    $kfm_db_type = 'mysql';
    $kfm_db_prefix = 'kfm_';
    $kfm_db_host = 'localhost';
    $kfm_db_name = 'kfm';
    $kfm_db_username = 'root';
    $kfm_db_password = '';
    $kfm_db_port = '';
    $use_kfm_security=false;
    $kfm_userfiles_address = $_SERVER["DOCUMENT_ROOT"].'/imagescms';
    $kfm_userfiles_output = '/imagescms/';
    $kfm_workdirectory = '.files';
    $kfm_imagemagick_path = '/usr/bin/convert';
    $kfm_dont_send_metrics = 0;
    $kfm_server_hours_offset = 1;

    Chez OVH en ligne sur mon site

    <?php$kfm_db_type = 'mysql';
    $kfm_db_prefix = 'kfm_';
    $kfm_db_host ='mysql5-59.90';
    $kfm_db_name = 'basekfm2';*Le nom de ma base et d'utilisateur sont identique, mais en théorie le problème ne vient pas de là.$kfm_db_username = 'basekfm2';
    $kfm_db_password = 'monsecret';
    $kfm_db_port = '';
    $use_kfm_security=true;
    $kfm_userfiles_address = '../telechargement';
    $kfm_userfiles_output = 'http://www.monsite.be/php/ckeditor/plugins/telechargement/';
    $kfm_workdirectory = '.files';
    $kfm_imagemagick_path = '/usr/bin/convert';
    $kfm_dont_send_metrics = 0;
    $kfm_server_hours_offset = 1;