FckEditor resource type

 FckEditor - WYSIWYG редактор, но технически он построен очень нерасширяемо, поэтому делать plugin-ы и изменения очень сложно, но сейчас не в этом проблема.

Достаточно неудобно добавление ресурсов - все файлы разделяются по трём папкам - image, files, flash куда доступ получается в зависимости от нажатой кнопки. Неудобство в том, что нельзя нормально группировать тематические наборы файлов, т.е. нельзя создать папку "training 1995", куда можно было бы залить и картинки и flash, и остальное.

Попробуем убрать эти ограничения..

Чтобы увидеть все виды ресурсов, независимо от нажатой кнопки, в filemanager/browser/default/frmresourcetype.html комментируем строку..
//if ( oConnector.ShowAllTypes || aTypes[i][0] == oConnector.ResourceType )

Чтобы сделать фильтр файлов в зависимости от нажатой кнопки - в editor/fckdialog.html добавляем после body
iframe width=0 height=0 style="display:none;" id="sessx" src="fckblank.html">

а ниже в script раздел ставим
document.getElementById('sessx').src = 'fcksess.php?rtype='+window.dialogArguments.Page;

Соответсвенно создаём файл fcksess.php
switch($_GET['rtype']){
case 'dialog/fck_image.html': setcookie('rtype','image',time()+3600); break;
case 'dialog/fck_flash.html': setcookie('rtype','flash',time()+3600); break;
default: setcookie('rtype','link',time()+3600); break;
}

И установим собственно фильтр в filemanager/ browser/ default/ connectors/ php/ commands.php в функцию GetFoldersAndFiles до строчки $aFiles[] добавляем:

$sFileExt=explode('.',$sFile);
$sFileExt=$sFileExt[count($sFileExt)-1];

if (
($_COOKIE['rtype']=='image' && in_array(strtolower($sFileExt), array('jpg', 'jpeg', 'gif','png', 'bmp', 'tif')))
|| ($_COOKIE['rtype']=='flash' && in_array(strtolower($sFileExt),array('swf','fla')))
|| $_COOKIE['rtype']=='link'
)

Теперь у нас есть удобный показ файлов, не зависящий от выбранного ресурса и если надо группировать файлы по папкам, то не надо заморачиваться на то чтобы они были раскиданы по разным ресурс-папкам.

RSS

Комментарии

  • кабанчик
    привет, скажи как вообще убрать отовсюду этот resourceType ?
    вот мне он совершенно не нужен))