CKEditor, TinyMCE Ajex File Manager 1.0 (PHP)

Файловый браузер для CKEditor и TinyMCE, и просто для сайта.

Сборка имеет два скина: dark & light
Скриншоты кликабельны

Что уммет:

- Загружать файлы
- Показывать размер занимаемых файлами папок
- Показывать максимальный объем загружаемых файлов
- Загружать только файлы выбранного для просмотра типов
   - Информер состояния загрузки
   - Информер при выборе файла не того типа, не ставить в очередь
- Сжатие изображений при загрузке
- Сортировать отображение по параметра Имя, Дата, Размер
- Групповое удаление файлов
- Скачивание напрямую просматриваемых файлов

 

<head>
	<script type="text/javascript" src="/AjexFileManager/ajex.js"></script>
</head>
<body>
<script type="text/javascript">
AjexFileManager.init({
// Обязательный параметр
	returnTo: '', // [ckeditor, tinymce, function] default=ckeditor

// Опционально
	path: '/path/to/AjexFileManager/', // Определяется автоматически, но если вдруг не удается то можно прописать
	editor: '', // Объект CKEDitor'a, нужен только для него
	width: '', // Ширина popup, default=1000
	height: '', // Высота popup, default=660
	skin: '', // [dark, light], default=dark
	lang: '', // Язык, сейчас есть [ru, en], default=ru
	connector: '', // default=php,
	contextmenu: true // [true, false], default=true
});
</script>

 

Тестировано: ff3 3.5, ff2 2.0, opera 10.0, chrome 4.0, ie 8.0; 7(compatibility); 6(открыл, увидел, плюнул, закрыл)

В планах предварительно:
- сделать прозрачную поддержку для Joomla, Drupal но это не скоро, так как не копал ни один из них.
- онлайн редактор изображений вот думаю забабахать, ну там кроп, ресайз, надписи

Из основных настроек "AjexFileManager/ajax/php/ajax.php"

$cfg['url']  = 'upload'; // Папка для загрузок по типам, на манер как раньше было
$cfg['root'] = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfg['url'] . DIR_SEP;    // http://www.yousite.com/upload/        абсолютный путь до папки
$cfg['quickdir'] = ''; // Папка для быстрой загрузки, это закладка Закачать - не открывая файл менеджер, пример: $cfg['quickdir'] = 'quick-folder'; само собой будет по типам, если грузите изображение то оно попадет в /upload/image/quick-folder/filename.jpg

	
$cfg['thumb']['width']  = 150; // ширина создаваемых превьюшек
$cfg['thumb']['height'] = 120; // высота
$cfg['thumb']['quality']= 80; // качество сжатия
$cfg['thumb']['cut']  = true; // дабы превьюшки не вызывали смех они будут резаться, а не пропорционально уменьшаться
$cfg['thumb']['auto'] = true; // если изображения были закачены через ftp то автоматически превью не создастся, поэтому при включенной данной опции будет проверка на существование превьюшки
$cfg['thumb']['dir']  = '_thumb'; // скрытая папка которая будет создаваться там где лежат изображения, думал делать одну для всех, но решил пока так сделать
$cfg['thumb']['date'] = "j.m.Y, H:i"; // дата в отображении с именами файлов

Специальная благодарность людям чьи разработки использовал при создании:

Скачать:
Вместе с CKEditor ~790Kb
Вместе с TinyMCE ~720Kb
Только AjexFileManager ~400Kb (можно удалить папку "skin/dark" она занимает больше всего)
AjexFileManager full with lib

Demo CKEditor
Demo TinyMCE
Demo Function

Для проверки и создания основных папок вы можете вызвать php файл с параметром ?isWork
Пример

Jens, Hamburg 29 Сентября 2009, 21:02
Hi Alex,
do you have any idea how to use your nice filebrowser in Drupal6?
CKeditor is working well (using a modified wysywig api for it) and also Ajex FM is actually working ("Upload" tab and "Browse Server" button are available).
The only problem is the path. So far I get always a 404, doesn't matter what I try.
Drupal is running as a multiuser CMS, means I run several domains under one Drupal installation. Therefore every domain has it own directory e. g. /sites/domain1.com/files and /sites/domain2.com/files and so on. Drupal is managing the access of the different domains.
I know a bit about PHP but JavaScript ... yes I heart about :-)
Do you think it's possible to figure something out? You will become a hero in the Drupal community ;-)

Best wishes from Hamburg and thanks a lot
Jens
Demphest, in code 29 Сентября 2009, 23:07
Hello Jens,
I had no chance with Drupal more work, dig a little, that's what happens :)

1) Copy file ajex.js to "modules/wysiwyg/editors/js"
2) Copy folder AjexFileManager to "sites/all/libraries/ckeditor"
3) Add in "modules/wysiwyg/editors/ckeditor.php" -> 'ajex.js'

.... 'js files' => array('ckeditor-3.0.js', 'ajex.js'),

4) Edit "modules/wysiwyg/editors/js/ckeditor-3.0.js"

Drupal.wysiwyg.editor.attach.ckeditor = function(context, params, settings) {
 CKEDITOR.config.customConfig = '';
 CKEDITOR.replace(params.field, settings);

 AjexFileManager.init({
  path: '/sites/all/libraries/ckeditor',
  returnTo: 'ckeditor',
  editor: CKEDITOR
 });
};
....

5) Create a folder upload in the site root

---

If the folder "upload" must lie in a different place then Experiment with ways in
"sites/all/libraries/ckeditor/AjexFileManager/ajax/php/ajax.php"

Variables:
$cfg['url'] = 'upload';
$cfg['root'] = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfg['url'] . DIR_SEP;


But as for each user its own folder to make do not know, is not stored in the session login, otherwise we could do

session_start();
$cfg['url'] = 'upload/' . $_SESSION[ user-login ];
$cfg['root'] = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfg['url'] . DIR_SEP;

But there's a clever way a while so don`t know :)
Jhon, San Diego 4 Октября 2009, 01:25
* Ajex.FileManager is free software: you can redistribute it and/or modify

very difficult modify if your scripts is packed.
so, can i unpack, modifyed and use those script in my project?
in best case you may under GPL license put uncompressed suorce for distribute..
Demphest 5 Октября 2009, 11:33
>Jhon
Added to post a link to the full version - AjexFileManager full with lib ;-)
andruhon 12 Октября 2009, 08:47
Было бы неплохо, если бы софтина после загрузки фотографии обновлялась текущая директория.
Сейчс сразу после загрузки файлов не видно результата и для того, чтобы его увидеть приходится кликнуть по другой директории, а потом снова по желаемой.
Обычный пользователь такое не осилит.
andruhon 12 Октября 2009, 08:49
Я сгенерировал какой-то безумный текст, в прошлом комменте.
В общем мысль ясна - после загрузки картинок не видно результата.
Jonathan Puddle, Jyvaskyla, Finland 13 Октября 2009, 13:32
Hey, I like this file manager! Thanks a lot. However the upload controls are in Russian, not English. Do you have any tips on changing the text to English?
Demphest 13 Октября 2009, 14:36
>andruhon
Да, вы правы, сделаемс :)

>Jonathan Puddle
Specify language in the .init
AjexFileManager.init({
...,
lang: 'en'
});
Viktor, EU 13 Октября 2009, 23:15
hi,

which version of ckeditor did you use? When click Image button appears annoing scrolls in ie, which disapeared in new version of ckeditor. could you integrate your manager with new editor version?
Demphest 14 Октября 2009, 10:06
>Viktor
Hello, Utilized the latest stable version CKEditor 3.0 (revision 4148)
For IE 6 layout is not optimized, in other versions should be OK
Peter 14 Октября 2009, 22:55
hi,
I have problem with integrating Ajex File Browser into CKEditor 3.0

In CKEditor I had add
$ckeditorDef = "CKEDITOR.replace( 'icontent',
{
...
filebrowserBrowseUrl : 'path/to/AjexFileManager/',

...
});";


At the begining of page I add code which is on the top.

When I click browse, Ajex File Manager window is opened, but I dont see icons and all configuration settings from Optional settings aren't used.

Could you please help me.

It will be great if you writte a tutorial how to integrate your browser into CKEditor.

PS: Browser is cool!!!
Demphest, chelny 15 Октября 2009, 09:16
Hi.
You are wrong to initialize the script, it must be done not in CKEDITOR, see how it is done in Demo CKEditor.

var ckeditor = CKEDITOR.replace('editor1');

AjexFileManager.init ((
 returnTo: 'ckeditor',
 editor: ckeditor
));

In facility ckeditor change nothing.
Jonathan Puddle, Jyvaskyla 15 Октября 2009, 17:18
Thanks!
Guerra 17 Октября 2009, 02:00
здравствуйте. Подключил Ajex File Manager к своему проекту:
Хелпер:
Copy&nbsp;Source&nbsp;|&nbsp;Copy&nbsp;HTML&lt;?php
if(!defined('BASEPATH')) exit('No&nbsp;direct&nbsp;script&nbsp;access&nbsp;allowed');
&nbsp;
function form_ckeditor($data)
{
&nbsp;&nbsp;&nbsp;&nbsp;return '&lt;script&nbsp;type="text/javascript"&nbsp;src="'.base_url().'application/plugins/ckeditor/ckeditor.js"&gt;&lt;/script&gt;' .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;script&nbsp;type="text/javascript"&nbsp;src="'.base_url().'application/plugins/ckeditor/ajexFileManager/ajex.js"&gt;&lt;/script&gt;' .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;script&nbsp;type="text/javascript"&gt;var&nbsp;editor&nbsp;=&nbsp;CKEDITOR.replace("'.$data['id'].'");&lt;/script&gt;' .
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'&lt;script&nbsp;type="text/javascript"&gt;ajexFileManager(editor,&nbsp;"/site/application/plugins/ckeditor/",&nbsp;{/*lang:&nbsp;"ru",*/&nbsp;connector:&nbsp;"php"/*,&nbsp;width:&nbsp;1000,&nbsp;height:&nbsp;750*/});&lt;/script&gt;';
}

Отображение:
Copy&nbsp;Source&nbsp;|&nbsp;Copy&nbsp;HTMLecho "&lt;p&gt;&lt;label&nbsp;for='long'&gt;Content&lt;/label&gt;&lt;br/&gt;";
$data = array('name'=&gt;'body','id'=&gt;'long', 'value' =&gt;$post['body']);
echo form_textarea($data) ."&lt;/p&gt;";
echo form_ckeditor(array('id'=&gt;'long'));

Все прекрасно работает, вот только когда открываешь менеджер управления файлами появляется папка "uploads" и больше некакой реакции :( В чем может быть дело?
andruhon 18 Октября 2009, 06:54
Возможно ли получить не обфусцированный JS код?
Demphest, Набережные Челны 18 Октября 2009, 11:20
>Guerra
Возможно рутовая папка не доступна на запись, или неправильно определеятся, попробуйте вызвать php файл с параметром ?isWork для проверки.
И судя по подключению, вы используете прошлую версию, так как в новой регистр в имени изменён, сейчас не ajexFileManager а AjexFileManager, скачайте последнюю версию.

>andruhon
Да, конечно.
Добавил к списку ссылок на скачивание: AjexFileManager full with lib
andruhon 18 Октября 2009, 20:39
Спасибо.
Если допилю что-нибудь полезное - скину вам.
dogzilla, Одесса 18 Октября 2009, 23:00
что б после загрузки файла обновилось содержимое папки в фулл версии в файле ajex.filemanager.js после 136 строчки

success : function showResponse(response, status) {

добавляем строчку

viewsUpdate($cfg.dir);

вот так вот всё просто.

в принципе то же надо сделать и при открытии окна менеджера. но я пока не разбирался где это происходит.

надеюсь в ближайшие дни обновится сжатая версия с этими изменениями :)
Руслан Гаврилов, Пермь 19 Октября 2009, 06:58
Хм, к размышлению... :)
Demphest, пью кофе :) 19 Октября 2009, 08:53
>dogzilla
Список хотелок и исправлений есть :)
В эти или следующие выходные буду реализовывать, а покамесь весь в работе :)

>Руслан
Что именно? :)
BoлкBepнyлcя, Ростов 22 Октября 2009, 23:48
Отличная статья, по-моему что вам нужно в какие нибудь журналы специальные писать :)
Demphest, ни кочегары мы не плотники, ага 23 Октября 2009, 10:34
>BoлкBepнyлcя
Шутить изволите :)
Dirk, Hamburg 23 Октября 2009, 19:39
Hi Alex,

I have some problems with the path with using the ckeditor. I want have the files of the filemanager and the upload folder in the same folder called "ckeditor".

I changed the path in ajax.php:

$cfg['url'] = 'upload';
$cfgds ="ckeditor";
$cfg['root'] = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfgds . DIR_SEP . $cfg['url'];

Now I can see the uploadfolder and I can upload images. In the right frame I can see the file - the description, but not the image.
If I click on "LOOK" the image I get the new window with a wrong path - without "ckeditor/" in front.

The third thing is - if I doubleclick to select a picture I get a URL "/upload/image/xxx.jpg" but I must get the url without "/" in front - (upload/image/xxx.jpg).

What is wrong with my path?

Thanks and greetings

Dirk
Delf, Hamburg 23 Октября 2009, 21:03
Hi,

it is possible to put this codes together?


CKEDITOR.replace( 'editor1',
  {
    toolbar :
    [
      ['Source','-','Save','NewPage','Preview','-','Templates'],
  ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'],
  ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],
  ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
  '/',
  ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
  ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote'],
  ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
  ['Link','Unlink','Anchor'],
  ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak'],
  '/',
  ['Styles','Format','Font','FontSize'],
  ['TextColor','BGColor'],
  ['Maximize', 'ShowBlocks','-','About']
    ]
  });



with


var ckeditor = CKEDITOR.replace('editor1');

AjexFileManager.init ((
returnTo: 'ckeditor',
editor: ckeditor
));
Demphest 25 Октября 2009, 12:08
Hello Dirk

To obtain the correct path should be in place
$cfg['url']   = 'upload';
$cfgds ="ckeditor";
$cfg['root']  = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfgds . DIR_SEP . $cfg['url'];

Contact:
$cfg['url']   = 'ckeditor/upload';
$cfg['root']  = $_SERVER['DOCUMENT_ROOT'] . DIR_SEP . $cfg['url'];

To remove the slash in front of the path, change in ajax.php on line 132
$reply['config'] = array(
 ...
 'url' => '/'. $cfg['url']. '/',

On
'url' => $cfg['url']. '/',
Demphest 25 Октября 2009, 12:20
Hi Delf
Yes, of course, should get the following code:

var editor = CKEDITOR.replace( 'editor1',
{
toolbar :
...
});

AjexFileManager.init({editor: editor});
Viktor, Vilnius 30 Октября 2009, 22:03
Privet,
u menia vopros. Kak sdelat, chtoby kogda vybiraesh svoistva kartinki, vyvodilas' vysota i shirina kartinki? Zaranee spasibo.
lukas 2 Ноября 2009, 12:31
Hi!
Your filemenager is cool, but have on problem IE6.
Maybe you try to make it compatibile with IE6 it is still important.
DeeJay OuKay, Пермь 3 Ноября 2009, 14:51
Приветы афтару! И респект туда же :)

Подключаю ваш скрипт к ckeditor следующим образом:



var ckeditor = CKEDITOR.replace('body');

AjexFileManager.init({
returnTo: 'ckeditor',
editor: ckeditor,
skin: 'dark'
});


Здесь, похоже, ошибок нет, так как окно файл-менеджера открывается. Но в нём ни папок ни файлов нет. Настройки в ajax.php сейчас стоят все дефолтовые. Папка upload давно существует (юзаем и fckeditor тоже). В чём может быть проблема? Заранее сенксы
D 3 Ноября 2009, 14:53
Чё-т, защита у вас, видать от скриптов :)
Вот [] вместо треугольных скобок
[script type="text/javascript" src="ckeditor/ckeditor.js"][/script]
[script type="text/javascript" src="AjexFileManager/ajex.js"][/script]
[script type="text/javascript"]
var ckeditor = CKEDITOR.replace('body');

AjexFileManager.init({
returnTo: 'ckeditor',
editor: ckeditor,
skin: 'dark'
});

[/script]
Demphest, с чашкой кофе 4 Ноября 2009, 15:13
>DeeJay
А что выдает "?isWork" ?

>Viktor
Что то я вас не совсем понял, это где именно?
DeeJay OuKay, Пермь 4 Ноября 2009, 16:18
http://my_site/AjexFileManager/ajax/php/ajax.php?isWork
Вобще ничего не выдаёт. В HTML-коде результата - пусто :)
DeeJay OuKay, Пермь 4 Ноября 2009, 16:21
Упс, не то.
http://my_site/AjexFileManager/ajax/php/lib.php?isWork
Directory not found:
Failed created, You need to create the folder manually, or set the right
Вам необходимо создать папку вручную, или выставить права
---
Папка upload есть в корне сайта. Работаю под виндами - с правами порядок :)
DeeJay OuKay, Пермь 4 Ноября 2009, 16:31
Насколько я понимаю (проанализировав код), после
Directory not found: должно выводиться значение $cfg['root'].
В ajax.php оно равно 'upload', но в ?isWork пусто :)
Demphest 4 Ноября 2009, 16:51
>DeeJay
Пусто потому-что необходимо ajax.php?isWork вызывать, а не lib.php.
Если ничего не выдает, у вас php рабочий вобще? :)
Какая версия?
DeeJay OuKay 4 Ноября 2009, 20:58
PHP-то работает (v. 5.2.4)
А что файл-менеджер может запуститься без PHP? Выше-то написано же, что он запускается. Но списка папок нет :)
Lyudistek, Spb 5 Ноября 2009, 10:12
Кто подскажет как его прикручивать, где и что надо прописать, а то никак не получаеться
Demphest 5 Ноября 2009, 10:52
>DeeJay
Да, php через ajax работает только ;-)
Внешний вид/вёрстка просто загружается.
В общем надо вам как-то заставить isWork заработать, чтобы проверить.

>Lyudistek
Подключаете в head, вызываете через .init() =)
DeeJay OuKay 5 Ноября 2009, 13:40
Однако, косячёк :)
isWork начинает работать только в том случае, если закомментировать 48-уй строку в ajax.php
---
mb_internal_encoding('utf-8');
---
Вижу ещё ряд косячков (о них, "коллеги" уже сообщили выше), но главное, что эта штука всё-таки "вертится" :)
DeeJay OuKay, Пермь 5 Ноября 2009, 15:13
Баг: При нажатии по кнопульке "посмотреть" открывается окошко/вкладка с адресом картинки, в котором присутствует "AjexFileManager". Видимо, дело в относительном адресе, и скорее всего поможет добавление "/" в соответствующей функции :)

Кстати, скрипт сильно привязан к указанному набору допустимых папок. Если из списка "file, flash, image, media" убрать, например, "file", то папки становятся как бы пустыми :)

Мелочь (так как поправимо), а не приятно :)
Demphest 6 Ноября 2009, 12:12
>DeeJay
Вы где такой хостинг нашли, без mbstring :)

По поводу 'Посмотреть', что-то не увидел наличие AjexFileManager, у меня в demo его нету к примеру, где он светится?

Странно, вроде привязки жесткой не должно быть, в начальных версиях была она, но в 1.0 я уже сделал что ключевая папка только 'upload' остальное из неё уже берется, в конфиге просто проверки на три папки [file, flash, image] ведутся дополнительно.
DeeJay OuKay, Пермь 7 Ноября 2009, 18:55
Про хостинг: это Денвер :)
Про "Посмотреть": сам-то адрес нигде не светится, кроме как в адресной строке браузера. Просто, когда пытаюсь "посмотреть" картинку, вижу 404.
Про папки: это не такая большая проблема. Просто раньше юзал FCKeditor и у него настроил папки "archive, doc, flash, image, media". Хотел тут также, но не прокатило :)
DeeJay OuKay, Пермь 9 Ноября 2009, 16:22
Хотелка 1: Неплохо было бы, если бы расширения файлов были нечувствительны к регистру
Хотелка 2: Неплохо бы сохранять настройки в отдельном файле - так можно избежать ряда проблем при установке новой версии, которая надеюсь, скоро выйдет :)
Torch, СПб 10 Ноября 2009, 11:47
Можно ли сделать так, чтоб быстрая загрузка файлов (вкладка "Закачать" в CKEditor'е) работала при наличии нескольких CKEditor'ов на странице? Сейчас оно работает только в первом эдиторе.
Gigi, Днепр 10 Ноября 2009, 16:11
Не могу инициализировать несколько вызовов копий AjexFileManager
Можно ли на одной странице сделать инициализацию для TinyMCE и нескольких input'ов ?
Gigi, Днепр 10 Ноября 2009, 16:11
Не могу инициализировать несколько вызовов копий AjexFileManager
Можно ли на одной странице сделать инициализацию для TinyMCE и нескольких input'ов ?
Martin, Mannheim 10 Ноября 2009, 20:42
Hi, I can upload files from the Upload-Tab but not from the Filebrowser itself. When I chhoe files vie the "select files < x" Button, the names appear in a list below but I can?t submit them to the server. What?s wrong? The second Problem is that when I Upload via the upload-tab the file goes to the server but no url is pasted into the pic url field. I have to choose the File in the Filebrowser once again. Can you help me?
Gigi, Днепр 11 Ноября 2009, 10:00
Да, и еще. На большинстве хостингов стоит лимит памяти для php в 8мб, поэтому при создании превьюшки из файла размером больше 2мб превьюшка не создается, т к операции с изображениями требуют много памяти, при этом исходный файл копируется. А при отсутствии какой-либо превьюшки данный менеджер не отображает файлов вообще.
Один из вариантов лечения - добавить в начало ajax.php
строчку ini_set('memory_limit', '100M');
Lyudistek 11 Ноября 2009, 10:20
В подключаю:




В прописываю:


var ckeditor = CKEDITOR.replace('editor1');

AjexFileManager.init({
returnTo: 'ckeditor',
editor: ckeditor
});


Что не так? При щелчке в редакторе на кнопке загрузки изображения, кнопочки вызова файл-менеджера нет. Помогите решить проблему у кого это удалось. Спасибо.
Lyudistek 11 Ноября 2009, 12:28
Хоть кто-то может написать более подробно как его прикрутить, а то никак неполучаеться
Gigi, Днепр 11 Ноября 2009, 13:01
могу объяснить как к tinymce прикрутить )
Gigi, Днепр 11 Ноября 2009, 13:08
только что скачал с этой страницы файл-менеджер вместе с CKEDITOR. С первого раза все пошло
у Вас нет кнопки "посмотреть на сервере" при нажатии на кнопку "изображение"?
Lyudistek 11 Ноября 2009, 13:14
Gigi, Днепр

Спасибо большое что откликнулись.
Да, у меня нет кнопки "посмотреть на сервере"
Lyudistek 11 Ноября 2009, 13:20
Вот меня интересует как к tinymce прикрутить
Gigi, Днепр 11 Ноября 2009, 13:32
если скачали архив без тинимце
1) распаковали архив,
2) запустили http://your_server/AjexFileManager/ajax/php/ajax.php?isWork
3) в head'e документа

tinyMCE.init({
mode : "exact",
elements : "tinymce_editor",
theme : "advanced",
relative_urls : true,

file_browser_callback : "AjexFileManager.open",
});

AjexFileManager.init({
path: '/admin/AjexFileManager',
returnTo: 'tinymce',
skin: 'light'
});


теперь при нажатии на иконку изображения в тини рядом с полем имени картинки появится кнопка менеджера

если скачали архив вместе с менеджера с тини
запускайте:
http://your_server/AjexFileManager/ajax/php/ajax.php?isWork
затем посмотрите
http://your_server/AjexFileManager/tinymce-file-manager.html
и посмотрите на исходный код
Carmic, Prague 11 Ноября 2009, 21:07
Hello,
I just moved website from local to live web, but there is some kind of malfunction in the code after this. There should not be the "htdocs" in the path - it was on local, but on live site its srv2/home/fidle/...... I just changed upload folder in ajax.cfg (cfg [url]) to "files"
Earlier I managed to get the upload working by changing root folder in ajax.cfg (file was moved to server), but the link to the file was wrong.

Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/htdocs/srv2/home/fidle/files/) is not within the allowed path(s): (/srv2/home:/home/www/uvadi.cz:/usr/local/lib/php:/usr/share/phpmyadmin:/etc/phpmyadmin) in /srv2/home/fidle/plugins/editors/AjexFileManager/ajax/php/lib.php on line 26

Thank you for your help and your work!
Lyudistek 12 Ноября 2009, 11:11
Gigi, Днепр

Спасибо за подробное описание, но что-то не получается. Давайте выложу простенький набросок страници с тини, а вы посмотрите если не тяжело у себя. Файли в архиве 7zip. Адрес: http://files.mail.ru/W4DTT7
Gigi, Днепр 12 Ноября 2009, 15:02
Lyudistek,
пробуйте http://files.mail.ru/F4CNWL )
Gigi, Днепр 12 Ноября 2009, 16:20
а вот автор, похоже нас совсем бросил...
Demphest, где-то рядом 12 Ноября 2009, 20:19
Автор тоже человек, и сейчас этот человек простите сопливит и кашляет :) поэтому пардон, делать ничего особо не хочеться :)
Но очень скоро он вернётся в строй ;-)
Demphest, что-то ночи нынче короткие 13 Ноября 2009, 03:33
>Torch
>"чтоб быстрая загрузка файлов работала при наличии нескольких CKEditor'ов"
Попробовал посмотреть, к сожалению ошибка происходит в коде самого CKEditor'a, с чем это связано пока не знаю.


>Gigi
Блин, сидел пыхтел, искал способ переинициализировать возврат :)
А потом осенило, не буду вдаваться в подробности, всё просто, надо сначала инициализировать сам объект AjexFileManager для инпутов, потом отдать его на растерзание tinymce.
http://demphest.ru/demo/AjexFileManager/tinymce-and-some-input.html

По поводу памяти учту, хотя как правило этот параметр не дают изменять.


>Martin
Hi
- Try to file with the variable isWork for testing
For sending files to the server, you must right-click on the folder and select the download, or click on the green arrow at the top.
Or, you can not send out an error which then?

-URL can not be inserted because it probably is an error on the server, first try isWork
Example:
http://demphest.ru/demo/AjexFileManager/AjexFileManager/ajax/php/ajax.php?isWork


>Lyudistek
Ну как, получилось кнопку достать?


>Carmic
Hello
Unfortunately the security settings do not allow the full absolute path to use, badly of course.
Try to start this way completely to register in the variable $cfg['root']
If I understand correctly would get:
$cfg['root'] = '/srv2/home/fidle/'. $cfg['url'];

If not work, try a relative path :
$cfg['root'] = '../../../../../' . $cfg['url'];
Like 5 levels up getting :) but it is a distortion :)

Set admin a beer :) to remove the restriction ;-)
Gigi, Днепр 13 Ноября 2009, 10:19
Не совсем логически понимаю как оно заработало, но работает (я про несколько инпутов) :)

Автор, не болей ) Искренне желаем выздороветь. Ты нам очень нужен :)
Henrique Moody, Sao Paulo / SP - Brazil 13 Ноября 2009, 20:59
Hi!
For me this works fine!

I make a translation for it:

Portugues (Brasil) - Portuguese Brazil

/** pt_BR.js **/
$lang = {
'location': 'Local',
'allowRegSymbol': 'Permitido usar alfabeto latino, numeros e simbolos:<br />- _ = # ~ $ % & ( ) [ ]',
'send': 'Enviar',
'cancel': 'Cancelar',
'or': 'ou',
'successUpload': 'Carregamento realizado com sucesso',
'chooseDownloads': 'Primeiro, escolha o arquivo',
'deleteChecked': 'Deselecionar',

'folderExist': 'Esta pasta ja existe',
'enterNameCreateFolder': 'Entre com o nome da pasta',
'enterNewNameFile': 'Entre com o nome do arquivo',
'enterNewNameFolder': 'Entre com o nome da nova pasta',

'successDeleteFolder': 'A pasta e todos os conteudos nele sao removidos',
'failedDeleteFolder' : 'Nao e possivel excluir uma pasta ou nao',

'size': 'Tamanho',
'fileOf': ' arquivos',

'chooseFileUpload': 'Carregar',
'deniedExt': 'Arquivos deste tipo sao proibidos: $ext',
'selected': 'Selecionado: $file',
'removeFile': '<img src="skin/_ico/cross.png" alt="X" />',
'duplicate': 'Este arquivo ja existe na lista:\n $file',

'width': 'Largura',
'height': 'Altura',
'resizeGraph': 'Redimensionar',

'view': 'Ver: ',
'list': 'Lista',
'images': 'Imagens',

'display': 'Display: ',
'fileName': 'Nome',
'fileDate': 'Data',
'fileSize': 'Tamanho',

'sort': 'Ordem: ',
'sortName': 'Nome',
'sortDate': 'Date',
'sortSize': 'Tamanho',

'select': 'Selecionar',
'selectThumb': 'Selecionar miniatura',
'lookAt': 'Visualizar',
'downloadFile': 'Baixar arquivo',
'renameFile': 'Renomear arquivo',
'deleteFile' : 'Apagar arquivo',
'deleteCheckedFile': 'Apagar arquivos selecionados',

"update":"Atualizar",
"createFolder":"Criar subpasta",
"renameFolder":"Renomear pasta",
"deleteFolder":"Apagar pasta",
"uploadSelectFiles":"Carregar arquivos selecionados",
"resultUpload":"Resultados do carregamento"
}
Demphest 14 Ноября 2009, 02:46
Oi Henrique Moody
Obrigado pela traducao ;-)
Carmic, Prague 14 Ноября 2009, 22:56
Hi Demphest, I changed the root cfg as you said, only change is this if absolute path is set:

Warning: mkdir() [function.mkdir]: Permission denied in /srv2/home/fidle/plugins/editors/AjexFileManager/ajax/php/lib.php on line 368

Warning: mkdir() [function.mkdir]: No such file or directory in /srv2/home/fidle/plugins/editors/AjexFileManager/ajax/php/ajax.php on line 283

Warning: move_uploaded_file(/srv2/home/fidle/srv2/home/fidle/files/file//01.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in /srv2/home/fidle/plugins/editors/AjexFileManager/ajax/php/ajax.php on line 288

The relative path didnt work at all - only safe mode ON warning from the server. I appreciate your help!
DeeJay OuKay, Пермь 15 Ноября 2009, 20:32
Афтар. Пора вместо гостевой тут форум сделать :)
Demphest 16 Ноября 2009, 09:28
>Carmic
Create a folder [file, flash, image] in your "upload" folder, and assign them the right 0777
Should work.

>DeeJay
Ага, форум с 2-3 темами :)
Листинг вот думаю сделать надо просто.
Guest 16 Ноября 2009, 10:50
Gigi, Днепр

Спасибо большое, разобрался и прикрутил к тини.
Gigi, Днепр 16 Ноября 2009, 14:43
не за что...)

Автор, пора уже версию 1.1 запускать )
DeeJay OuKay 16 Ноября 2009, 15:38
Про форум: я думаю этот проект будет развиваться. Форум всё равно со временем будет удобнее гостевой :)
fominsa 20 Ноября 2009, 13:18
Здравствуйте спасибо за интересный скрипт.
Есть вопрос: у меня стоит сервер на рабочем компьютере и установлены виртуальные сервера, через vhosts так вот переменая $_SERVER['DOCUMENT_ROOT'] определяет не путь к сайту а путь к htdocs в папке с апачем. я решил проблему просто заменой в \AjexFileManager\ajax\php\ajax.php переменой $_SERVER['DOCUMENT_ROOT'] на путь к сайту
Егор 20 Ноября 2009, 13:48
Добрый день.
В ajax.php я случайно заметил странную строку (253):
if (!is_dir(is_dir($toDir = $cfg['root'] . $dir . DIR_SEP . $cfg['quickdir'])))
Подозреваю, что такое условие будет выполняться всегда.
Demphest 20 Ноября 2009, 14:15
>fominsa
Привет. В таком случае вручную пропишите для сайта $cfg['root'] путь до папки где лежит "upload", точнее папка $cfg['url']

>Егор
Привет, да, видать перемкнуло меня :) спасибо
Выполняется оно только при загрузке через закладку Загрузить в CKEditor
Никита 23 Ноября 2009, 20:01
добрый день, огромное спасибо за вашу работу!!

только вот такой вопрос: можно ли как-то попроще сделать так, что на сайте выводилась превьюшка а при нажатии она открывалась в расширенном варианте. В иделале было бы скрестить всё с лайтбоксом!

если не сложно, то ответьте пожалуйста на мыло
soft, Николаев 24 Ноября 2009, 00:40
Привет. установил Файл менеджер и сразу сталкнулся с такой проблемой: Если расширение файла написано в верхнем регистре (большими буквами) то в окне браузера оно не отображается.
Если кому понадобится вот решение: нужно просто проверяемое расширение привести к нижнему регистру с помощью ф-и strtolower.
В файле lib.php ищем $cfg['allow'] (38, 104 и 107 строки) и первый параметр ф-и in_array передаем в strtolower()
Пример:
in_array(strtolower($ext), $cfg['allow']['image'])

Теже изменения я сделал и в ajax.php ... но вроде и без них работало...
Никита, пермь 25 Ноября 2009, 11:53
А всё таки к нескольким полям можно применить?
Demphest 25 Ноября 2009, 13:44
>Никита
Эм, к каким именно полям то? :)
Если к ckeditor, то нет, ибо ошибка.
Для простых инпутов на пару с редактором выше ссылка была
http://demphest.ru/demo/AjexFileManager/tinymce-and-some-input.html
Никита , Пермь 25 Ноября 2009, 19:54
ckeditor, тоесть пока нет такой возможности? а будет?

Ещё такую штуку хотелось бы:
загружаем файл(не картинку) и в редакторе выводится на него прямая ссылка!! Ваще было б нереально круто
Demphest 25 Ноября 2009, 23:25
>Никита
В ckeditor при использовании нескольких редакторов ошибка возникает, с чем связана пока не разбирался, времени покамесь нету.

По ссылке на файл, так а в чём проблема?
Нажимаете вставить ссылку, жмёте Посмотреть на сервере, загружаете и выбираете файл, путь вставляется в поле :)
Не то? :)
lyudisrek 26 Ноября 2009, 14:50
Demphest

Прикручиваю к ckeditor:

<script type="text/javascript" src="../../ckeditor/ckeditor.js"></script>
<script type="text/javascript" src="../../AjexFileManager/ajex.js"></script>

<script type="text/javascript">
var ckeditor = CKEDITOR.replace('editor1');

AjexFileManager.init({
  path: '../../AjexFileManager',
returnTo: 'ckeditor',
editor: ckeditor
});
</script>

но кнопочка загрузки так и не появляеться. Подскажите где копать?
Demphest 26 Ноября 2009, 15:18
>lyudisrek
Кнопки загрузки нету, надо либо правой кнопкой на папке нажать, либо вверху на иконку стрелки вверх
lyudisrek 26 Ноября 2009, 16:34
Demphest

у меня подключился ckeditor, нажимаю на иконку для вставки изображения, открываеться окошко с свойством изображения, и уже в этом окошке нет кнопки "Посмотреть на сервере". Как ее достать?
Demphest 27 Ноября 2009, 05:21
>lyudisrek
1) Проверьте подключается ли ajex.js, скорее всего у вас файл не загружается.
2) Уберите в ".init" передачу переменной "path:.." по умолчанию она больше не нужна.
lyudistek 27 Ноября 2009, 10:14
Demphest
а можно вам выложить файлы, а вы уже посмотрите, а то все уже перепробовал и ничего. В tinymce подключился, а вот в ckeditor никак не могу. Спасибо за пониммание.
lyudistek 27 Ноября 2009, 10:22
Demphest
вот ссылка. Там сайт учебный сайт: http://files.mail.ru/V55LA0
lyudistek 27 Ноября 2009, 10:24
Demphest
пользователь:
admin
пароль:
5555555
DeeJay OuKay, Пермь 27 Ноября 2009, 11:06
Только щас заметил эту проблему. Файлы не закачиваются. Всё остальное нормально работает. В чём может быть проблема?
Вряд ли в правах доступа, так как тестю на XP.
Guest 30 Ноября 2009, 08:47
Demphest
Вы посмотрели архив с моим сайтом?
Demphest, трям парам пам пам =) 30 Ноября 2009, 18:02
>lyudistek
Сейчас посмотрел, вы там целый сайт выложили :) вы мне предлагаете перенести базы запустить сайт и смотреть где и почему у него не работает да?.. :)
В head видел что returnto не убрали, я же предлагал убрать и потестить.

>DeeJay
Телепаты в отпуске ;)
Яков Карпин, Москва 1 Декабря 2009, 12:21
Познавательно написано! Надобыотметить на БобрДобр. :)
lyudistek 1 Декабря 2009, 12:53
Demphest
returnto убрал , но кнопочка все же не появилась.
Demphest 1 Декабря 2009, 21:25
lyudistek
Попробуйте firefox+firebug, какая-то ошибка должна появиться, или Error Console может быть поможет
DeeJay OuKay, Пермь 2 Декабря 2009, 16:36
Эспешели фор телепатс :)
1. Файлы для закачки добавляются в список.
2. Жму "закачать"
3. Полоска типа, бегает и бегает до бесконечности
4. Но нужные файлы не закачиваются.
Всё остальное работает нормально
БaKиHeЦ, Москва 2 Декабря 2009, 18:36
Большое спасибо! Буду теперь заходить на этот блог каждый день! :)
Hit Shappens, Пенза 2 Декабря 2009, 18:46
Здравствуйте! У меня проблема с использованием файл менеджера вне WYSIWYG редакторов (как в примере http://demphest.ru/demo/AjexFileManager/function-file-manager.html) При нажатии на кнопке, открывается адрес тип: http://site/undefined&returnTo=$id.
Demphest, тили тили трали вали 3 Декабря 2009, 02:35
>DeeJay
Аа, ну теперь всё понятно в чём дело :)
Файрбагом результат аякса проверьте, ошибка скорее всго какая-то выходит в ответе php, раз ответ в json перегнаться не может.

>БaKиHeЦ
Пожалуйста ;-) Не, не надо, иначе придётся писать что нибудь в блог :)

>Hit Shappens
Посмотрите пример, видимо вы забыли вызвать:
AjexFileManager.init({
  returnTo: 'function'
});
f09, Рязань 3 Декабря 2009, 14:55
у меня проблема... все настроил, но работает не до конца! Почему то файл-менеджер не может увидеть указанную директорию

По запросу http://site/admin/AjexFileManager/ajax/php/ajax.php?isWork
Directory not found: http://site/uploads/
Failed created, You need to create the folder manually, or set the right
Вам необходимо создать папку вручную, или выставить права. И так абсолютно со всеми папками - не видит ни одну!

P.S. пробую на денвере, в сети пока нет возмжности...
Demphest 3 Декабря 2009, 17:13
>f09
- Попробуйте создать корневую папку "uploads" вручную, там где она должна быть.
- Проверьте переменные $cfg['root'], $cfg['url'] может вы там спецсимволы какие-то поставили в пути, поэтому папки не создаются.
f09, Рязань 3 Декабря 2009, 20:07
Пробовал уже по всякому... создана и папка uploads и еще куча папок в ней, пробовал править $cfg['root'], $cfg['url'] - никак не получается...
DeeJay OuKay, Пермь 3 Декабря 2009, 21:24
>Файрбагом результат аякса проверьте
Слова знакомые вижу. И, вроде, главную мысль уловил, но если можно по пунктикам (сказал он, выкрикивая из чего-то вроде танка) =)
Demphest 3 Декабря 2009, 21:40
>DeeJay
1) Ставим firebug аддон для FireFox
2) Открываем окно файл менеджера
  - жмём F12
  - консоль просит обновить страницу, жмём F5
3) Пробуем загрузить файл
  - в консоли отображается результат выполнения ajax запроса
4) Нажимаме крестик чтобы развернуть ответ ajax'a
  - смотрим наличие постороннего текста ;-)
DeeJay OuKay, Пермь 3 Декабря 2009, 21:50
>soft, Николаев
Спасибо за совет с переводом расширений в нижний регистр. Помогло. Без изменений в ajax.php всё-таки не работало... (на XP)
Решение хорошее, но в любом случае расширения приходится прописывать как минимум дважды. А надо бы и больше. Юзеры-то разные бывают. Могут jpg или JPG написать, а могут Jpg и так далее
f09, Рязань 3 Декабря 2009, 22:06
использовал компилированную версию... ругалось че-то там на dynatree... установил полную версию, все заработало... Но не очень стабильная работа...
Ждем с нетерпением новых хороших версий!
Дмитрий, Старый Оскол 10 Декабря 2009, 14:54
Добрый день)))
Поставил AjexFileManager вместе с CKEditor.
папки upload images flash _thumbs были успешно созданы и php файл с ?itWorks выдает что всё хорошо.
Но при попытке произвести upload ничего не происходит. В чем может быть дело?
Дмитрий, С 10 Декабря 2009, 15:36
Странно

В Chrome работает отлично а в FF3.5 никак
Дмитрий, Старый Оскол 10 Декабря 2009, 20:39
итак.

Пусть FF сам разбирается почему не работает этот скрипт.

Вопрос вот в чем: я внес следующие изменения в файлы:
1. $cfg['url'] = '';
$cfg['root'] = $_SERVER['DOCUMENT_ROOT']/* . DIR_SEP . $cfg['url']*/; // http://www.yousite.com/upload/ absolute path

2. На 132 строке в ajax.php
  'url'=> /*'/' .*/ $cfg['url'] . '/',

Теперь работает всё кроме 1 вещи-не показываются превью изображений.

Так же кому интересно есть способ прикрутить к 1 странице несколько CKEditor'ов с файловыми менеджерами-способ кривой но работает)))

Сначала определяемся сколько нам нужно полей на странице
Затем копируем папку AjexFileManager сколько надо раз и обзываем их AjexFileManager1 AjexFileManager2 и т.д.

затем в каждой папке находим ajex.js и ищем там AjexFileManager
и переименовываем их в AjexFileManager1 AjexFileManager2 ...

а на странице делаем вот что:

вверху:
<script type="text/javascript" src="AjexFileManager/ajex.js"></script>
<script type="text/javascript" src="AjexFileManager1/ajex.js"></script>

+
в <body>

<textarea cols="80" id="editor1" name="editor1" rows="10">This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://www.fckeditor.net/"&gt;CKEditor&lt;/a&gt;.</textarea>
<textarea cols="80" id="editor2" name="editor2" rows="10">This is some &lt;strong&gt;sample text&lt;/strong&gt;. You are using &lt;a href="http://www.fckeditor.net/"&gt;CKEditor&lt;/a&gt;.</textarea>

<script type="text/javascript">
var ckeditor = CKEDITOR.replace('editor1');
var ckeditor1 = CKEDITOR.replace('editor2');

AjexFileManager.init({
returnTo: 'ckeditor',
editor: ckeditor
});
AjexFileManager1.init({
returnTo: 'ckeditor',
editor: ckeditor1
});

</script>
Demphest, пролетая где-то мимо 11 Декабря 2009, 00:40
>Дмитрий
Ночер добрый :)
Превью скорее всего не показываются из за того что в путях слэш удалён, поставьте "/", иначе на выходе он 'путьИзображение' склеивает, вместо 'путь/изображение'.
Дмитрий, Старый Оскол 11 Декабря 2009, 15:14
В каких путях???
Которые я менял???

Давай те я напишу структуру директорий:

htdocs->
  
  images-> здесь изображения
  texts  -> здесь файлы на которые необходимо ставить ссылки
  etc...

А где находятся пути к превьюшкам??? в ajax.php???
Fedia, Moscow 11 Декабря 2009, 22:36
Добрый день. В этом прекрасном файловом менеджере не хватает функции "Перенести в" (перенести файл из одной папки в другую). Может автор в свободное время сделает эту функциональность :).
Senia, Russia 12 Декабря 2009, 00:07
Добрый день.
нельзя ли сделать file manager без Lazy loading'a .
А то минус, который появляется, если в папке нет других папок или файлов, очень запутывает (лучше, если б минуса не было и показывало, что нет ни папок, ни файлов в директории). И еще, После рефреша при нажатии на папку ничего не проишодит, хотя в папке есть файлы.
А так, спасибо за хороший менеджер.
Demphest 14 Декабря 2009, 09:03
>Дмитрий
Слушайте, а вы кстати зачем закоментировали всё это, вам необходимо просто оставить пустой переменную $cfg['url'] чтобы папки [images, flash, file] учитывались в корне сайта.
Верните на место все, и сделайте $cfg['url'] = "'; пустой.

>Fedia, Утр добрый
Да, этот пункт стоит в списке хотелок на следующую версию :)

>Senia, Добрый утр
Согласен, учту, про рефреш не совсем понял, имеете в виду чтобы окно сохраняло вид текущей папки? которая открыта

>DeeJay
Это текст :)
Я говорил о ошибках в статусе выполнения, а вы кстати попробовали полную(не сжатую) библиотеку использовать?
Xyлигaнкa, Ярославль 14 Декабря 2009, 10:45
Ну и после этого, как говорится, хотелось бы услышать начальника транспортного цеха ;)
fog 14 Декабря 2009, 14:57
Все настроил, пару недель все было хорошо, а сегодня увидел, что стиль не грузится и пишет

In the process of creation used the following components, for which it separate thanks ;-)

Хотя ничего за это время не менялось! помогите! в чем проблема?
Demphest 14 Декабря 2009, 15:41
>fog
-Видимо сервер/сайт на вас обиделись, что уже так долго ничего не менялось, решили вас занять чем нибудь :)
-Прилетело НЛО :)
-2012 наступил раньше по какому то календарю :)

.Проверьте права на папки и файлы
.Проверьте не попортил ли вредный вирус файлы, что скорее всего так и есть, спам боты которые ссылки прописывают в base64*** портя файлы
fog 14 Декабря 2009, 20:59
ничего, никаких изменений файлов, пробовал заливать новые... сайт валяется на локалке... и реально не работает... если вам весело, веселитесь...
Дмитрий. Вот оно как, Старый Оскол в снегу!!! 14 Декабря 2009, 22:59
>Demphest

Если всё оставить как есть и просто сделать пустой $cfg['url'] то вообще ничего не показывается)))
Дмитрий, Старый Оскол 14 Декабря 2009, 23:05
А нет)))
Всё так же и без превью
Евгений, Москва 14 Декабря 2009, 23:12
Здравствуйте, все вроде поставил. Все работает. Но вот не могу понять, почему у меня файлы складываются в upload/image в кодировке колесо_Р¶РёР·РЅРё
Demphest, ночной 14 Декабря 2009, 23:21
>fog
Не надо воспринимать это так всерьез :) просто сами подумайте какие я могу на основе ваших слов сделать выводы?
Я не телепат ;-)

>Дмитрий
Хм, а они до этого создавались вобще?
Может быть само gd расширение не работает?

>Евгений
Локаль глючит видимо, вы случаем файл ru.php не пересохранили в cp1251?
Или может быть русский апач, который насильно к русскому приводит, такое на старых денверах вроде наблюдалось. Потестируйте функцию translit на ваших настройках.
Евгений, Москва 15 Декабря 2009, 00:30
Нет, ru.php не трогал. Все работает уже у провайдера.
На денвере даже не запускал.
Причем файл на сервере в иероглифах, а в интерфейсе норма.
А если $fileName = getFreeFileName($_FILES['upload']['name'], $toDir); сменить? В MD5 + время, например)
Demphest 15 Декабря 2009, 03:17
Эх, вот я блин тестер :) оказывается с последнего раза, после переноса файлов не проверил пути, из за этого не работало.
В общем необходимо внести правку в файле lib.php на строке 282 следующий момент:


 if (file_exists($langPhp = dirname(__FILE__) . DIR_SEP . 'lang' . DIR_SEP . $cfg['lang'] . '.php')) {
  require_once $langPhp;
 }

Как выяснилось, банально файл ru.php не подлключался, а я и не заметил.
Ну и само собой язык должен русский стоять: $cfg['lang'] = 'ru';

---
Обновил архивы менеджера.
Спасибо за найденную ошибку ;-)
Mikhail, Moscow 15 Декабря 2009, 13:01
define('DEV', true);

Но ошибок никаких не выводится. Где начать искать зарытую собаку? На локальном сервере всё работает.
Кстати совместимость с PHP4 можно добиться малой кровью?
Demphest 15 Декабря 2009, 14:43
>Mikhail
Ошибки надо через firebug(к примеру) отслеживать, так как всё через ajax посылается/принимается.

С php4 в принципе достаточно просто совместимость сделать, там пару функций аналогичных надо добавить, которых в php4 нету: json_encode, json_decode, scandir(она должна быть причём)
Sat-Lin, Санкт-Петербург 15 Декабря 2009, 15:57
Прекрасная софтинка!!! Очень удобная и всем понятная!!! Огромное спасибо! так держать! :)
anonim, Russia 19 Декабря 2009, 16:38
как я понял, новая версия появится, когда в dynatree появится drag&drop :) ...
DeeJay OuKay, Пермь 19 Декабря 2009, 17:02
Проблема с закачкой никуда не делась:(
Скачал то, что называется "AjexFileManager full with lib"
Список папок опять стал отображаться только после закомментирования48-й строки (mb_internal_encoding('utf-8');) в ajax.php

Всё, остальное вроде работает, но закачка файлов не проходит.
Это вобще может быть связано с закомментированной кодировкой?
Demphest 19 Декабря 2009, 18:12
>anonim
Нет, она будет когда время высвободится :) пока в очереди следующая версия ;-)

>DeeJay
Ну вот) Выходит у вас mbstring отключён, а он дальше тоже применяется для транслита имён, вот и не проходит видимо файл до конечной точки.
- Или включите mbstring, что будет самым правильным, вобще он по дефолту как правило включён.
- Или вырежте его упоминания, а лучше заглушку сделать даже, на манер:
if (!function_exists('mb_strtolower')) {
 function mb_strtolower($s) {
   return $s;
 }
}
user, Moscow 20 Декабря 2009, 14:41
Добрый день.

Из всех найденных мной файловых менеджеров, тех, которые бы делали то, что нужно, оказалось не так и много. Некоторые имеют много ненужного функционала, где-то он хромает, а где-то нет даже элементарных функций файлового менеджера. Alex filemanager мне нравится тем, что в нем пока что нет ничего лишнего и я надеюсь, что скоро появится то, чего, как мне кажется, не хватает - было бы неплохо иметь возможность копировать/ перенести папку, файл в другую директорию (просто указывая в какую директорию перенести или drag&drop из списка файлов в дерево директорий) и не хватает поиска. И тогда менеджер будет похож на лучший (на мой взгляд) файловый менеджер: http://www.ajaxplorer.info/demo. (Очень продуманный drag&drop: когда элемент наводится на дерево директорий, если директория не раскрыта, она раскрывается). Жду новых версий. Удачи!
DeeJay OuKay, Пермь 20 Декабря 2009, 19:15
Продолжаем бороться с НЕзакачкой :)

mbstring включать надо в php.ini, я так понимаю. Нашёл там несколько параметров вида mbstring_разный текст. Чё именно надо включить/раскомментировать? (юзаю Денвер)

С заглушкой уже понятнее. Тока, где её лучше вставить? В котором файле?
Дмитрий. Всё интереснее и интереснее, Старый Оскол 20 Декабря 2009, 22:52
Это снова про превью.
Они отображались)))gd точно работает.
Становится интересно
. Всё интереснее и интереснее, Старый Оскол 20 Декабря 2009, 22:53
и превью созданы. папка _thumb есть и в ней все превьюшки.
Demphest 21 Декабря 2009, 09:58
>user
Добрый день
Да, надеюсь всё впереди, спасибо.

>DeeJay
Да, в php.ini необходимо раскоментировать(убрать ; впереди) срочку:
extension=php_mbstring.dll

Если делать заглушку то лучше в отдельном файле, а в ajax.php вначале подключать его.

>Дмитрий
Прям даже не знаю :)
Проверьте какой путь на странице у файлов - превьюшек.
Дмитрий, Старый Оскол 21 Декабря 2009, 14:32
Вот в чем дело то)))

<div class="thumb ext_jpg" thumb="_thumb/images/15199831_1899157.jpg" file="images/15199831_1899157.jpg">
 <div class="image">
  <img alt="" src="//_thumb/images/15199831_1899157.jpg"/>
 </div>
 <div class="check">
  <input type="checkbox" value="15199831_1899157.jpg" name="file[]"/>
 </div>
 <div class="name" style="display: block;">15199831_1899157.jpg</div>
 <div class="date" style="display: none;">11.12.2009, 14:52</div>
 <div class="size" style="display: none;">(700 x 517) 121 KB</div>
</div>

где можно убрать // перед _thumb
DeeJay OuKay, Пермь 21 Декабря 2009, 16:48
Заглушка и раскомментирование не помогают - не закачивается точно также как и раньше.
А как вобще можно проверить наличие mb_string в phpinfo()? Он там как-то маячит, нет?

Пока пробую вырезать его упоминания из кода, но проще будет свой файл-менеджер сообразить :)))
Demphest 21 Декабря 2009, 19:11
>Дмитрий
lib.php ~124 строка, там формируется 'thumb' => ###

>DeeJay
Эм, ну по идее в phpinfo() если есть большим шрифтом надпись mbstring, под которой табличка параметров разных. Начинается с Multibyte Support -> enabled
То теоретически значит работает :)
Дмитрий., Старый Оскол 21 Декабря 2009, 21:22
Всё работает. Прямо огромное неохватное всеобъемлющее спасибо)))))
Дмитрий, Старый Оскол 22 Декабря 2009, 10:34
Еще вопрос)))
Можно ли сделать так чтобы менеджер видел файлы в корне сайта а не только в папках???
Demphest 23 Декабря 2009, 10:34
>Дмитрий
На текущий момент нету такой возможности
DeeJay OuKay, Пермь 23 Декабря 2009, 17:45
Вот, где собака порылась: закачка не пашет из-за отсутствия mbstring в этой поставке (в phpinfo() пусто по этой части). Жопа :(
Может, его откуда-то скачать можно?
Дмитрий, Старый Оскол 23 Декабря 2009, 18:49
Понятно. Тогда буду ждать с нетерпением новой версии менеджера)))))
Demphest 23 Декабря 2009, 23:42
>DeeJay
Ну дыг :)
http://windows.php.net/qa/

>Дмитрий
:)
DeeJay OuKay, Пермь 28 Декабря 2009, 18:06
http://windows.php.net/qa/
Тут же полный пакет PHP. А отдельно этот "типа плагин" нигде не водится? :)
Virtex, Саратов 3 Января 2010, 18:38
Вопрос к автору , а вот у вас время у каждой статьи и в комментах пишется... Это какое? Московское? Заранее спасибочки за ответ.
anonimous, Russia 5 Января 2010, 21:23
добрый день. И все же вернусь к своему вопросу насчет lazy loading'a. Проблемма описана тут http://code.google.com/p/dynatree/issues/detail?id=125, тут : http://code.google.com/p/dynatree/issues/detail?id=118. Какие соображения по этому вопросу?
Владимир Малкин, Саратов 6 Января 2010, 03:29
Только недавно попал на Ваш сайт, теперь каждый вечер захожу посмотреть, не написали ли чего новенького. :) К сожалению только Вы не каждый день свой блог обновляете :(
Alexey, ZP 7 Января 2010, 04:41
Автору низкий поклон. Увы, в джаве практически не разбираюсь, потому 2 вопроса:
-CKEditor почему то экранирует кавычки, пробовал и из вашего архива, и из официального. т.е. картинка приходит в виде <img src="\"/upload/image/111.jpg\"" alt="\"\""/> естественно ерунда...
-нет возможности протестировать на хостинге, но на локальном сервере(Денвер) картинки не загружаются, загрузка вечная. но папки создаются удачно, если руками ложить файлы в папки, то их видно. Очень надеюсь на вашу помощ. В долгу не останусь
Alexey, ZP 7 Января 2010, 17:56
Раз уж спросил, то и отвечу. В для денвера нужно загрузить расширения, и разкоментить mb_string.
Для того, что бы не бло кавычек, нужно отключить magic_quotes в пхп.ини
Но, у меня получается создавать папки только в папке с файлом ajax.php Ни абсолютные пути, ни относительные не работают. В полной растерянности целый день.
DeeJay OuKay, Пермь 10 Января 2010, 16:06
Alexey, ZP
Спасибо за подсказку. У меня аналогичные проблемы с Денвером :)
Буду устранять
Demphest 11 Января 2010, 16:29
Всем привет! :)

>DeeJay
Там на http://windows.php.net/qa/ в пакетах просто в папке "ext" есть все дефолтные расширения, можно было взять один файл php_mbstring.dll просто и к себе скопировать ;-)

>Virtex
Московское вроде как :)

>anonimous
В общем попробую на днях в dynatree эту проблему пофиксить.
А в следующей версии уже буду использовать jsTree

>Alexey
В php
ini_set('magic_quotes_gpc', 'off');
set_magic_quotes_runtime(0);

или в .htaccess
php_value magic_quotes_gpc off

Но в php 5.3+ set_magic функция помечена на удаление

А вот по поводу создания файлов в папке с ajax.php, не сталкивался, может быть дело как раз в глюке с кавычками? или так и остался?
lyudistek 22 Января 2010, 14:13
Demphest
А можно ли в следующей версии сделать чтобы файловый менеджер прикручивался к нескольким текстовым полям, так как у меня к примеру их несколько на одной странице. Дмитрий, Старый Оскол 10 Декабря 2009, 20:39 написал как он это делает, но тот вариант не очень удобен

Алексей 27 Января 2010, 18:27
не появляется кнопка "Browse", что я не так сделал?
Demphest 27 Января 2010, 19:50
>lyudistek
Там проблемы в коде возникают, решения пока нету.

>Алексей
Проверьте подключается ли ajex.js, видимо какая-то ошибка при инициализации происходит. Проверьте объект редактора который передается в .init({})
Саша, Ростов-на-Дону 29 Января 2010, 11:08
Спасибо автору за его труды.
1)У меня возникают проблемы с загрузкой файлов с русскими именами. Исчезает имя или последняя буква расширения.
2)Можно ли увеличить размер окошка в котором находится кнопка "Посмотреть на сервере"
3)При загрузки файлового менеджера сразу не показываются миниатюры.
Как можно решить эту ситуацию?
Приоритетен 1ый пункт. может имеет смысл формировать случайное имя файла после загрузки на сервер?
Demphest 31 Января 2010, 16:05
@Саша
1) Проверьте включено ли расширение mbstring так как транслит через эти функции делается
2) Если имеется в виду сама левая колонка, то ширина её в классе #dirs {} в dark.css например, по дефолту 20% экрана
3) Не совсем понял, т.е. при нажатии на папку файлы выводятся без изображений? Возможно на новые файлы скрипт не успевает првьюшки сделать просто
Евгений, Челябинск 3 Февраля 2010, 05:23
Здравствуйте! Покажите пожалуйста на наглядном примере как работает это всё. Допустим в корне сайта есть папка upload. Туда нужно загружать фотографии. Если можно по шагам. Что бы можно было на Денвере потестить. Заранее огромное спасибо. С уважением Евгений.
lyudistek 3 Февраля 2010, 14:53
Demphest
Действительно очень хороший файл-менеджер. Автор молодец, но так как не может быть прикручен к нескольким текстовым полям на одной странице, то теряет свой смысл. Я например в админке использую 3 текстовых поля, а файл-менеджер прикручиваеться только к одному. Но все равно вы молодец, затрачено много труда. Вот если бы еще к нескольким полям ...Мой Вам респект
Bogdan, Plovdiv 4 Февраля 2010, 10:41
How can I integrate into TOKO CMS http://toko-contenteditor.pageil.net/
Bogdan, Plovdiv 4 Февраля 2010, 10:43
Как я могу интегрировать в TOKO CMS
Demphest 4 Февраля 2010, 20:42
@Евгений
Написал небольшую инструкцию
http://demphest.ru/ru/programming/instruction-filemanager/

@lyudistek
Только что попробовал в ckeditor 3.1, что-то поправили, теперь работает как минимум с двумя полями.

@Bogdan
Процедура аналогична по идее, но там я вижу FCKeditor, а у него код отличается, используйте более новую версию CKEditor для прикрепления
Евгений 5 Февраля 2010, 00:40
Demphest. Всё сделал как Вы сказали, проверил несколько раз.
1. По нажатию кнопки "Посмотреть на сервере" - открывается окно файл менеджера, но папок images, file и т.д. - нету.
2 При нажатии на "загрузить файлы" открывается окно загрузки, выбираю файл, окно закрылось - но файлы не выбрались.
3. По проверочной ссылке:
http://site.ru/AjexFileManager/ajax/php/ajax.php?isWork
тупо пустая страница
Вот я даже картинку с примером загрузил:
http://narod.ru/disk/17592282000/123.jpg.html

И если даже просто выбрать загрузить фото через редактор (по одному)- оно тоже не загружается.
Евгений, Челябинск 5 Февраля 2010, 01:00
Demphest. Вобщем разобрался. На Локалке (на Денвере) не работает. Залил на сервер - всё ОК!
Что можете посоветовать по поводу Денвера. Очень нужно что бы сначала всё отладить, а потом уже в сетку залить.
С уважением. Евгений.
Demphest 5 Февраля 2010, 10:20
@Евгений
Почти уверен что расширение mbstring не работает, точнее не включено.
Надо в php.ini раскоментировать extension=php_mbstring.dll
чaтЪлaнбaзник, Самара 6 Февраля 2010, 19:38
+1 к предыдущему комментарию :)
Антон, Докучаевск 8 Февраля 2010, 19:57
>Евгений
По описанию у меня была такая же проблема.
Решения нашел два:
Вариант 1: Как было написано выше раскомментировать в php.ini строку extension=php_mbstring.dll. Но плюс к этому еще необходимо скачать саму библиотеку php_mbstring.dll и поместить в каталог \usr\local\php5\ext\, т.к. она в базовом пакете Денвера не идет (у меня было так). На сайте Денвера кажется есть пакет с расширением: модули PHP (с этой библиотекой).
Вариант 2: Если закоментировать в ajax.php строку mb_internal_encoding('utf-8'); и создать "заглушки" для функций mb_strtolower, mb_substr, mb_strrpos, mb_strlen, mb_ereg_replace - то на локальном компьютере все работает.
Пример заглушки был где то уже намного выше. (Если есть необходимость могу выложить как я сделал эти пять загушек).
Антон, Спб 9 Февраля 2010, 21:48
Спасибо за проделаную работу! Посоветуйте наиболее рациональный способ ограничения доступа к AjexFileManager. По идее, сейчас любой посетитель может обратиться к нему по прямому url: site.ru/js/AjexFileManager и удалить все фотографии!?
Demphest 9 Февраля 2010, 23:05
@Антон
Самый рациональный способ использовать сессии.
- на вашем сайте где-то происходит авторизация пользователя
- в ajax.php, по данным из сессии проверяете пользователя на доступ
- в зависимости от уровня, оперируете переменной $cfg['url']
if ($_SESSION['admin']) {
 $cfg['url'] = 'upload';
} else {
  $cfg['url'] = 'upload/guest';
}

или, $cfg['url'] = 'upload/' . $_SESSION['user_login'];

Ну и другими переменными из массива $cfg оперировать при необходимости.
Beckham, Волгоград 10 Февраля 2010, 17:50
Красота — это в общем-то гениальность, даже больше, чем гениальность, ибо она в объяснении не нуждается.
wepik 11 Февраля 2010, 01:42
Вопрос.
можно ли с помощью CKFinder загрузить, например, php файл, который будет выполняться сервере. Т.е. я,например, загрузил пхп и могу уже обратится к нему просто по ссылке? вопрос безопастности. я просто не понимаю принцип.
Евгений, Челябинск 11 Февраля 2010, 08:04
Здравствуйте. Demphest.
А как можно защитить файл: AjexFileManager/index.html
Набираю путь до него из строки адреса и все файлы как на ладони. (для любого человека)
Можно как нибудь его сделать .php
Спасибо!
Евгений, Челябинск 11 Февраля 2010, 16:01
Demphest.
По Вашему совету, использовать сессии не получается! Потому что они убитые файле ajax.php.
То есть для авторизации я использую 2 переменные $_SESSION['login'] и $_SESSION['password'] но в файле ajax.php они пустые! Почему так? Не подскажите?
Demphest 11 Февраля 2010, 20:39
@Евгений
У вас на самом сайте видимо место хранения сессий отличается от места по умолчанию.
Проверьте session_save_path() на самом сайте и в ajax.php, они скорее всего отличаются.
Евгений, Челябинск 12 Февраля 2010, 13:22
С выше сказанным, разобрался!
Вот ещё есть вопрос! Почему, если в файле ajex.php сделать любой вывод на экран (например: echo "Сдесь все что угодно"; )
он перестанет работать (можете попробовать). Да еще сделать запрос к БД тоже не получится (например чтобы сравнить переменные сессии со значениями в БД) Например:
$res=mysql_query("SELECT * FROM admin WHERE login='".$_SESSION['login']."' AND pass='".md5($_SESSION['password'])."'");
if(mysql_num_rows($res)!==1){Header("Location: http://fsb.ru");}
else // всё ништяк!

Это запрос тупо ни что не возвратит (можете проверить)
А очень нужно!
Demphest 12 Февраля 2010, 14:31
@Евгений
Так как файл ajax.php всегда в зависимости от запроса возвращает json в ответе для дальнейшего парсинга на странице.
А вы когда выводите какую либо информацию, делаете возврат невалидным для javascript'a.
Т.е. выводить что-то в ajax.php не нужно, он не для этого.
А header('Location: ...') туда бессмысленно ставить, он не сработает у вас, т.к. прямого обращения к файлу не идёт.
Поставьте после проверки exit; чтобы не работал менеджер по сути в принципе.
Евгений, Челябинск 12 Февраля 2010, 17:01
Demphest. Извините, наверное достал уже..
Последний вопрос. Вот есть запрос который я пытаюсь выполнить в файле ajax.php:
$res=mysql_query("SELECT * FROM admin WHERE login='".$_SESSION['login']."' AND pass='".md5($_SESSION['password'])."'");
$a=mysql_num_rows($res)

В данном случае функция "mysql_num_rows" ни чего не возвратит. То есть переменную $a нет смысла проверять. Её просто нет. И суть всей проверки теряется. Если Вы скажете что нужно создать подключение к БД - пробовал. то же самое.
Demphest 12 Февраля 2010, 17:52
@Евгений
Проверьте по этапам всё.
1) Проверьте подключается ли правильно к базе
2) Сделайте простой запрос без условий к таблице:
$res=mysql_query("SELECT * FROM admin");
3) Если всё работает, то уже смотрите переменные
4) Добавьте в sql запрос логин, проверьте, после добавьте пароль
5) Проверяйте ;-)
Евгений, Челябинск 16 Февраля 2010, 18:06
Всё отлично, Demphest. Разобрался.
Хочу сказать спасибо за Вашу разработку, и за помощь в настройке. Хороший плагин! Главное чтобы с точки зрения безопасности всё было "тип топ"!
Андрей, Питер 19 Февраля 2010, 02:14
СУПЕРОГРОМНЕЙШАЯ БЛАГОДАРНОСТЬ РАЗРАБОТЧИКУ 5 БАЛОВ!!!
давно искал Ckeditor с встроенным файловым менеджером !!!
NguyTieuNhan, Hà Giang 21 Февраля 2010, 11:13
I can't upload file and creatsubfloder when manager file on sever plz help me, when I upload then I've error "Error loading or banned file type"
Demphest 21 Февраля 2010, 11:32
@NguyTieuNhan
Most likely you do not have permission to write to the folder
NguyTieuNhan, Hà Giang 22 Февраля 2010, 06:44
I created folder upload(image/file/flash) and CHMOD to 777 but when I run http://leloi.edu.vn/soanthao/AjexFileManager/ajax/php/ajax.php?isWork did not work, plz help me.
Никита, Пермь 22 Февраля 2010, 11:40
обновляться то будет что-то? (
Demphest 22 Февраля 2010, 12:57
@NguyTieuNhan
Are you using php5?
Extension mbstring included?
Check: open_basedir, safe_mode
And the values of variables:
 file_uploads
 upload_tmp_dir
 upload_max_filesize
 max_file_uploads

@Никита
Пока не в ближайшее время
Никита, Пермь 22 Февраля 2010, 13:00
вот такой момент я озвучивал уже где пол года назад. он так и не был реализован?

"загружаем картинку в тексте выводится её уменьшенная копия, а при нажатии картинка увеличивается(в идеале спомощью лайтбокса)"
Demphest 23 Февраля 2010, 03:20
@Никита
Это было 3месяца назад ;-)
Нативной так сказать поддержки пока не ожидается, можете реализовать пока таким образом:
http://demphest.ru/ru/javascript/ckeditor-fancybox-lightbox/
spiller, varazdin 23 Февраля 2010, 17:21
I've problem with upload like NguyTieuNhan, Hà Giang. I replace
$result = 'Error loading or banned file type '; with
$result = 'Error ' . $cfg['root']; and here is result
Error /usr/local/apache/htdocs/upload/
Art, Yerevan, Armenia 2 Марта 2010, 09:13
конечно очень мило выглядит, но вот, что заметил:
когда загружаю фаил(у вас в демо), фрейм с файлами в выбраной папке не перегружается, т.е. когда я гружу файл, мне надо обновить, что бы увидеть только что загруженный файл. Думаю, можно сделать поудобнее это дело)

и Второе, когда делает просмотр в виде списка, то выбрав в меню, которое появляется при нажатии правой кнопы меню, я не могу просмотреть файл. Это уже касяк)))
Denny, London, England 4 Марта 2010, 09:01
Hi, thanks very much for sharing this code. I have a question about licensing - in your ajax.php it says "Dual licensed under the MIT and GPL licenses", but then straight after that is has the LGPL banner text. Is it licensed under the GPL or the LGPL, or both?
Elsepas, SPB 8 Марта 2010, 16:13
Спасибо оч удобная вещь, давно искал =)
Demphest 9 Марта 2010, 09:56
@Art
Да, точно :)

@Denny
Yes, incorrectly written there :). Distribution as is, unlimited ;-)
xVansX, Tashkent 10 Марта 2010, 12:33
огромное спасибо тебе зай файл менеджер) горел буквально CKfinder защиту поставил все мои проекты под твой переделаю спасибо тебе друг выручил)
Оставить комментарий
Имя:
E-mail:
Город:
Пишите в ICQ или на E-mail
Как только буду On-Line сразу отвечу
Добро
Пожаловать
Меня зовут Александр, на своём сайте я собрал краткую информацию о себе, а также портфолио сделанных работ.

← Здесь я публикую свои мысли, идеи, реализации. В общем всякую ерунду и не только. Фактически использую как записную книжку.