- 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

