Comment mettre à jour CKFinder dans Kajax



Voici un guide expliquant l'intégration de CKFinder et des modifications à appliquer sur ses sources.

Kajax est un CMS full AJAX dégradable, le terme dégradable a des implications, cela signifie que le serveur peut en permanence recevoir des données via $_GET ou via $_POST (selon que l'on utilise la navigation dynamique ou pas; à noter que Kajax_core n'envoit des requêtes ajax en POST que si la chaine dépasse 2000 caractères).

La solution que j'ai mise en oeuvre pour qu'on ait pas à gérer 2 variables tout le temps est de tout simplement merger le contenu de $_GET et $_POST dans une globale dénommée $in. (à noter que $in peut aussi être amené dans certains cas spécifiques avec retraitement de l'url via htaccess, à extraire et merger le contenu de la super globale $_SERVER['REQUEST_URI'])


Deuxièment, il est à prendre en compte que Kajax est indépendant des sites internets qui l'utilisent en ce sens où il est stocké dans un répertoire bien spécifique sur le serveur afin de ne pas avoir n répertoires contenant Kajax pour n sites respectifs (je vais pas m'amuser à mettre à jour 36.000 répertoires à chaque update). Pour cibler le répertoire de Kajax, il faut utiliser la constante KAJAX_CORE_DIR et pour cibler le répertoire du site (par exemple le répertoire d'upload), il faut utiliser ROOT_DIR.'upload/'

En bref, voici les fichiers à éditer :

ckfinder/config.js

  1. Ajouter global $user;return $user->getRights('file',1); dans la fonction CheckAuthentication()
  2. Editer la variable $baseUrl, fixer le contenu à URL.'upload/';
  3. Editer la variable $baseDir, fixer le contenu à ROOT_DIR.'upload/';
  4. Fixer la variable $config['ForceAscii'] à true;

ckfinder/core/connector/php/connector.php

  1. Ajouter après ob_start(); : global $in;$_GET=$in; (assez sauvage j'en ai conscience, mais pas vraiment d'autres solutions rapide à mettre en place)
  2. Modifier require_once "./constants.php"; pour require_once "constants.php";

ckfinder/core/connector/php/constants.php

  1. Editer la constante CKFINDER_CONNECTOR_DEFAULT_USER_FILES_PATH et la fixer à ROOT_DIR.'upload/'
  2. Editer la constante CKFINDER_CONNECTOR_CONFIG_FILE_PATH et la fixer à KAJAX_CORE_DIR.'ckeditor/ckfinder/config.php'
  3. Editer la constante CKFINDER_CONNECTOR_LIB_DIR et la fixer à KAJAX_CORE_DIR."ckeditor/ckfinder/core/connector/php/php5"
Partager sur les réseaux sociaux !        



0   Suivre les commentaires :   ou    

  Laisser un commentaire  

Partenaires : Le Monde Numérique - Création de site internet dynamique
Cabinet d'expertise comptable - Construction de maisons individuelles

WebAnalytics