- 1
[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
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.
- 1