Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu]CKFinder, ckeditor et droits

Posted by dantahoua on 08/12/2010 18:01

Bonjour! Quelqu'un aurait une idée pour utiliser les droits dans le config.php de ckfinder ? Je ne vois pas comment lui passer car il est appeler en javascript au niveau de mon "ckeditor_default.js". Pour ceux qui cherche comment faire pour inclure ckfinder avec ckeditor dans Jelix, voilà comment je fais:

function jelix_ckeditor_default(textarea_id, form_id) {
<code>
    var textarea_name = document.getElementById(textarea_id).getAttribute('name');
    CKEDITOR.replace(textarea_name,
	{
	filebrowserBrowseUrl : '/js/ckfinder/ckfinder.html',
        filebrowserImageBrowseUrl : '/js/ckfinder/ckfinder.html?Type=Images',
        filebrowserFlashBrowseUrl : '/js/ckfinder/ckfinder.html?Type=Flash',
        filebrowserUploadUrl : '/js/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
        filebrowserImageUploadUrl : '/js/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
        filebrowserFlashUploadUrl : '/js/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
	}
	);

}</code> Mon problème maintenant et de passer les droits dans le config.php de ckfinder pour ne pas permettre à n'importe qui d'aller jouer avec les fichiers... Comment y récupérer la session? Une idée?

  [Opened] CKFinder, ckeditor et droits

Reply #1 Posted by dantahoua on 10/20/2010 18:58

Bon j'ai trouvé une solution, c'est un peu tordu, mais ça fonctionne. Le but étant surtout d'empêcher quelqu'un qui n'est pas loguer d'ouvrir ckfinder... Donc dans le fichier ckeditor_default.js

function jelix_ckeditor_default(textarea_id, form_id) {
<code>
    var textarea_name = document.getElementById(textarea_id).getAttribute('name');
    CKEDITOR.replace(textarea_name,
    {
    filebrowserBrowseUrl : '/jelix/ckfinder/ckfinder.html?sid='+sid,
        filebrowserImageBrowseUrl : '/jelix/ckfinder/ckfinder.html?Type=Images&sid='+sid,
        filebrowserFlashBrowseUrl : '/jelix/ckfinder/ckfinder.html?Type=Flash&sid='+sid,
        filebrowserUploadUrl : '/jelix/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files&sid='+sid,
        filebrowserImageUploadUrl : '/jelix/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images&sid='+sid,
        filebrowserFlashUploadUrl : '/jelix/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash&sid='+sid
    }
    );    
    CKEDITOR.config.toolbarStartupExpanded = false;

}</code> Ensuite dans le fichier config.php de ckfinder

function CheckAuthentication()
{
<code>
    $referrer = $_SERVER['HTTP_REFERER'];
    $sid = array();
    preg_match('/sid=([^&]*)/', $referrer, $sid);
    $sessionpath = substr(resolveUrl('/'),0,strrpos(resolveUrl('/'),'www')).'var/sessions';
    session_save_path($sessionpath);
    session_id($sid[1]);
    session_start();
    if($_SESSION['JELIX_USER'])
        return true;
    return false;

}</code> Dans mes controlleur je fais un addjscode dans lequel je place mon sid. Donc impossible ici de lancer ckfinder pour un user qui n'est pas dans master-admin.

 
Page
  1. CKFinder, ckeditor et droits