Mostly instruction

1) For example a domain site.ru
Extract and do the following structure:

site.ru
  ckeditor
     ckeditor.js
     ...
  AjexFileManager
     ajex.js
     ...
  upload
      file
      image
      ....
    
2) Create a file in the root editor.htm with the following content

<html>
<head>
	<title>example</title>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
	<script type="text/javascript" src="/AjexFileManager/ajex.js"></script>
</head>
<body>

<textarea cols="80" id="editor1" name="editor1" rows="10">Example text</textarea>
<script type="text/javascript">

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

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

</script>
</body>
</html>


That's all, open "http://site.ru/editor.htm" click Insert image and check.

If not work, you can call the test: http://site.ru/AjexFileManager/ajax/php/ajax.php?isWork

 


To attach to two or more fields, you need to initialize each object (only works in ckeditor 3.1 +)

<html>
<head>
	<title>example</title>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<script type="text/javascript" src="/ckeditor/ckeditor.js"></script>
	<script type="text/javascript" src="/AjexFileManager/ajex.js"></script>
</head>
<body>

<textarea cols="80" id="editor1" name="editor1" rows="10">Example text 1</textarea>

<textarea cols="80" id="editor2" name="editor2" rows="10">Example text 2</textarea>


<script type="text/javascript">
var ckeditor = CKEDITOR.replace('editor1');
AjexFileManager.init({
	returnTo: 'ckeditor',
	editor: ckeditor
});

var ckeditor2 = CKEDITOR.replace('editor2');
AjexFileManager.init({
	returnTo: 'ckeditor',
	editor: ckeditor2
});

</script>
</body>
</html>

lyudistek 12 February 2010, 12:57
Отлично все расписали, а нужно ли создавать при этом еще одну копию папки AjexFileManager на сайте? А то не подключаеться в другом окне
Demphest 12 February 2010, 14:25
@lyudistek
Нет, нужно только ckeditor 3.1 ну и объекты textarea заменить.
Необходимости копии делать нету теперь.
Павел, Kiev 17 February 2010, 12:45
У меня вопрос по безопасности:
Получается что любой человек может вызвать файл http://site.com/editor.htm и загрузить что угодно?
Павел, Kiev 17 February 2010, 12:46
АААААААААААА! :) ВСе, понял :) Тестинг на этом файле. Сори.
Павел, Kiev 17 February 2010, 13:30
Спасибо! Клевая штука! Посоветую друганам по сайтостроительству.
alko, Измаил 28 February 2010, 15:31
каждый может запустить
/AjexFileManager/index.html
вопросик, а как оный в пхп обратить для скрипта+tpl? и какие соображения по безопасности?
Demphest 1 March 2010, 23:24
@alko
Самый рациональный способ использовать сессии.
- на вашем сайте где-то происходит авторизация пользователя
- в ajax.php, по данным из сессии проверяете пользователя на доступ
- в зависимости от уровня, оперируете переменной $cfg['url']
if ($_SESSION['admin']) {
$cfg['url'] = 'upload';
} else {
 $cfg['url'] = 'upload/guest';
}

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

Ну и другими переменными из массива $cfg оперировать при необходимости.
lyudistek 18 March 2010, 10:57
ckeditor 3.2, Ajex filemanager 1.0.2
Сделал все как описано вами Выше, но кнопка "Посмотреть на сервере" в второй текстовом поле так и не появилась (в первом поле присутствует). Где грабли, подскажите.
lyudistek 18 March 2010, 11:00
Все, нашел ошибку, был невнимателен, спасибо
Alexander, Krasnodar 9 April 2010, 16:33
уже десяток раз пределывал все в точности как написанно, проверял, второй день сижу и не могу понять, почему не работает. 
при вызове с параметром пигет :Вы попытались получить доступ к адресу http://cke/AjexFileManager/ajax/php/ajax.php?isWork, который сейчас недоступен.
и при быстрой загрузке то же самое. все кнопки появились, просмотр на сервере открывает, но не видит ни одной папки и ничто не работает.
В чем может быть проблема? делаю на денвере,может какие то настройки сервера необходимо..??? Помогите ПЖЛСТ.
Валек 5 June 2010, 14:32
Добрый день! Такой вопрос, у меня есть в корне папка images в ней картинки и папки с картинками, он видит только папки и что внутри их но не видит файлы в папке images, как это можно поправить, если есть подобная тема дайте ссылку.
Спасибо
hwtech, Москва 9 June 2010, 13:47
Через вкладку "Закачать", если на странице используется несколько визуальных редакторов, изображение закачивается, но на клиенской стороне он не появляется (это не относится к первому редакотру, там всё чик, только во втором, третьем и т.д.!). Полагаю проблема где-то здесь:

Файл ajax.php (line:109)
//---------------------------
... window.parent.CKEDITOR.tools.callFunction(1, '/". $cfg['url'] . '/' . $dir . '/' . (empty($cfg['quickdir'])? '' : trim($cfg['quickdir'], '/\\') . '/') . $fileName."', ''); ...
//---------------------------

Пытался быстро написать костыль, но не получилось:

Файл ajax.php (line:109)
//---------------------------
... window.parent.insertImageIntoTheView('/". $cfg['url'] . '/' . $dir . '/' . (empty($cfg['quickdir'])? '' : trim($cfg['quickdir'], '/\\') . '/') . $fileName."'); ...
//---------------------------

#======================================

Файл с редактором
//---------------------------
function insertImageIntoTheView(valTet){
$('.cke_dialog_ui_input_text:first input').first().val('<?=(substr(base_url(),-1) == '/' ? substr(base_url(),0,-1) : base_url())?>'+valTet);

$($('.cke_dialog_ui_vbox.cke_dialog_page_contents').get(2)).html('<div align="center" style="text-align:center"><img src="<?=(substr(base_url(),-1) == '/' ? substr(base_url(),0,-1) : base_url())?>'+valTet+'" style="width:200px" /></div>');
}
//---------------------------


Как бы всё нормально, в первой вкладке прописывается путь к изображению на сервере, но картинка в окне просмотра не появляется сразу (и если закрыть окно, картинка появляется в редакторе, но её свойства не работают и закачать ещё одну картинку уже нельзя), только если onchange поле с путём до картинки, тогда дальше всё хорошо...
Пытался написать программный onchange в функции insertImageIntoTheView, но не смог определить какое событие мониторится в CKEDITOR, перепробывал все, но не помогает.. Создалось твёрдое впечатление, что CKEDITOR эту проблему решает setInterval ом. В общем совершенно не понял что к чему в
CKEDITOR, поэтому пишу сюда, в общем есть баг с несколькими редакторами на странице, при закачивании файлов через третью вкладку...

PS: Для меня это очень важно, если не сложно отпишитесь мне
Demphest 11 June 2010, 18:01
@hwtech
Исправил проблемку, в соответствующей теме ссылка на
"Ajex File Manager вместе с CKEditor 3.3"
Антошка 29 June 2010, 20:07
Добрый день и спасибо за файл мэнеджер!
Хотел спросить, а дыра, которая была в AjexFileManager 1.0 уже исправлена в версии которая здесь ("Ajex File Manager вместе с CKEditor 3.3") выложена для скачивания?
Антошка 29 June 2010, 20:11
Да, кстати, хотел предупредить тех, кто работает на локальном сервере пакета "Дэнвер". Долго мучился пытаясь заставить работать на локалке - не работало. Залил на сервер - всё Ок.
Demphest 1 July 2010, 10:07
@Антошка
Да, в архиве исправленная версия
Дамир, Стерлитамак 21 July 2010, 19:35
Ребята, 2 дня сижу:
http://dxwwww.ru/AjexFileManager/ajax/php/ajax.php?isWork
ничего не выдает ни на Денвере ни на sweb.ru
слева в менюшке нет папок. в чем может быть поблема. все комментарии перечитал
Александр, Балашиха 12 August 2010, 17:50
Вопрос. А можно AjexFileManager динамически передавать путь, куда загружать файлы?
stelert, Lemberg 6 September 2010, 18:23
Спасибо большое за такой замечательный файловый менеджер! Но возникла проблемка.. Подключил к CKEditor 3.4, создал папку upload в корне папки с сайтом, но файловый менеджер автоматически создал папку upload на уровень выше, параллельно с папкой сайта, все файлы попадают в него, как это можно исправить?
Сергей, СПб 22 September 2010, 15:51
сделал все как в инструкции но почему то не работает (
открывается окно файлового браузера и зависает с ошибкой

Сообщение: 'config' - есть null или не является объектом
Строка: 229
Символ: 3
Код: 0
URI-код: http://xxx.ru/AjexFileManager/lib/ajex.filemanager.js

и файлы не грузятся через загрузку
при этом окно вставки картинки в ckeditor первая вкладка какаято вся кривая стала.

загрузил сразу пак ckeditor +AFM с сайта. ничего не менял. на сервер создал папку upload с полным доступом. не пойму в чем может быть проблема. проверочный путь ...ajax.php?isWork выдает пустую страницу
Сергей, СПб 22 September 2010, 16:39
кривая вкладка это мой косяк забыл doctype прописать )
Сергей, Спб 22 September 2010, 20:43
омг включил отображение ошибок и зашел на тестовую страницу ...ajax.php?isWork которая а там ошибка

Fatal error: Call to undefined function: date_default_timezone_set() in /home/www/vididesign/prestigefitness/AjexFileManager/ajax/php/ajax.php on line 48

закоментил эту функцию
после этого загрузилась тестовая страница. там все ок кроме пункта json_encode нашел скрипт вот тут

http://alexmuz.ru/php-json_encode/

воткнул в страницу после этого загрузка файла работает. но загружаются они видимо битыми потому что потом не открываются. и браузер так и не пашет (((
нет ни папок ни файлов
Demphest 23 September 2010, 07:35
@Сергей
У вас php4 значит, в принципе теоретически все должно так-же работать при наличии аналогичных функций, а вот почему файлы бьются непонятно. Попробуйте для эксперимента php5 если есть возможность.
Сергей 23 September 2010, 15:16
действительно 4 :( спасибо
Сергей 23 September 2010, 15:31
на 5ой все гуд! ) еще раз спс я был уверен что у меня 5ая )
Денис 24 January 2011, 22:05
Не работает проверка http://site.ru/AjexFileManager/ajax/php/ajax.php?isWork
Пробовал и на локалке и на сервере сам создавал папку upload права по максиму выставил =( Подскажите в чём проблема может быть?
Demphest 25 January 2011, 16:51
@Денис
1) Попробуйте включить отладку в ajax.php -> define('DEV', true);
2) Через файрфокс к примеру со включенным FireBug посмотреть какой результат возвращается, будет понятно какую ошибку выдаёт.
Денис 25 January 2011, 19:09
Спасибо, всё отладил, на сервере уж больно старая версия php была
Ifgeny, Екб 3 March 2011, 15:43
Привет. Не получается залить новые картинки в папку.
Может чего не настроил? ?isWork ошибок не выводит.
Alza, Ставрополь 10 March 2011, 14:29
Спасибо Demphest, отличная штука! Но прошу помощи! Т.к. все страницы моего сайта хранятся в базе, не могу придумать, как дополнительно прицепить к диалогу "Вставить ссылку" возможность выбора этих страниц. Где копать? ХЕЛП МИ!!!
Demphest 11 March 2011, 02:01
>Ifgeny
Привет, "isWork" в данной версии пока нету, проверьте версию php, желательно 5.3 надо, на ней тестирую. Проверьте fireBug'ом что возвращается. Может быть прав просто не хватает.

@Alza
Не совсем понял суть проблемы, я так понимаю, что сами шаблоны html страниц лежат в базе, ну это или копать и править, или искать другие способы какие-то :)
Я не думаю, что они зашифрованы как-то, скорее всего в них через тот-же pma можно внести изменения.
Но я больше подозреваю, что вы их просто не нашли, наверняка где-то есть подключаемые модули.
Alza, Ставрополь 11 March 2011, 08:47
Скорее не нашел :(. Дюжеть код мудреный... Пока в Ckeditor-е сделаю свою кнопку. Спасибо Demphest.
andruhon 6 July 2011, 20:19
По поводу вопроса заданного hwtech
в строке
window.parent.CKEDITOR.tools.callFunction(1, '/". $cfg['url'] . '/' . $dir . '/' . (empty($cfg['quickdir'])? '' : trim($cfg['quickdir'], '/\\') . '/') . $fileName."', '');

вместо 1 нужно передать корректный номер функции, который будет передан гетом в виде параметра CKEditorFuncNum

Т.е. строка должна принять следующий вид:
window.parent.CKEDITOR.tools.callFunction(".$_GET['CKEditorFuncNum'].", '/". $cfg['url'] . '/' . $dir . '/' . (empty($cfg['quickdir'])? '' : trim($cfg['quickdir'], '/\\') . '/') . $fileName."', '');
werevirus, Питер 7 September 2011, 20:04
ВНИМАНИЕ!!!
Всем у кого НЕ РАБОТАЕТ проверка http://site.ru/AjexFileManager/ajax/php/ajax.php?isWork И у кого СЛЕВА В МЕНЮШКЕ НЕТ ПАПОК. Этот скрипт работает только на PHP5, на 4 работать не будет. И в Денвере он тоже не работает.
Deep, Россия 22 October 2011, 12:57
Залез в код.

str_replace('\\', DIR_SEP, realpath($cfg['root'] . $dir) . DIR_SEP);

Двойной обратный слеш это типа экранируем?
В одинарных кавычках это просто два двойных слеша.
В двойных - один заэкранированый. Не знал?
т.е. в этой строке ты заменяешь все вхождения "двух обратных слешей" на DIR_SEP.
Естественно там таких вхождений скорее всего не будет.
Перерывать весь filemanager придется - там все в таких "однокавычках".
Сделай, а? Вещь то классная. ;)
Write comment
Name:
E-mail:
City:
Write in ICQ or E-mail
Once the On-Line will immediately answer
Welcome
My name is Alexander, on his website, I gathered a brief information about myself and portfolio of completed works.

← Here, I publish their thoughts, ideas and implementation. In general, all the small stuff and not only. In fact, using a notebook.