BUEditor + Вставка картинки.

Главные вкладки

Аватар пользователя Funtik44 Funtik44 19 мая 2011 в 16:55

Добрый день.

Кто-нибудь в силах написать PHP или Java код к кнопке BUEditor. Которая бы отвечала следующим требованиям!

Без использования IMCE, чтобы пользователь нажимал кнопку в BUEditor'e, вылетало бы окошко, где он мог бы ввести:

1. URL изображения стороннего сайта (Это уже по умолчанию есть).
2. Кнопка "Обзор", по нажатию на которой, открывалось бы обычное окно Windows для вставки файла, где пользователь выбирал бы картинку и нажимал "ОК".
3. Сама картинка вставлялась бы в текст используя ImageCash пресет, незаметно для пользователя (без выбора имени пресета).
4. Вставленная картинка отображалась бы в редакторе, а не сгенерированная ссылка.

Заранее премного благодарен!

Комментарии

Аватар пользователя Funtik44 Funtik44 19 мая 2011 в 17:01

Гуру, вопрос к Вам. Молю, не поленитесь соберите воедино все вышесказанное, для толкового программиста, это реализовать достаточно легко я так понимаю, но ваша работа подарит людям счастье т.к. этот вопрос - головная боль десятков участников данного форума.

Аватар пользователя Funtik44 Funtik44 19 мая 2011 в 17:12

Для старта вот код:

php:
$filepath = url(file_directory_path());
// ниже в массиве указываем пресеты врчную
$presets = array(
  '' => '',
  'preset_1' => 'название preset_1',
  'preset_2' => 'название preset_2',
  'preset_3' => 'название preset_3'
);
$presets = drupal_to_js($presets);

return "js:
var form = [
  {name: 'src', title: 'URL Изображения', required: 1},
  {name: 'preset', title: 'ImageCache', type: 'select', options: $presets},
  {name: 'alt', title: 'Альтернативный текст', required: 1}
];

E.tagDialog('img', form, {title: 'Вставить/редактировать изображение', submit: function(tag, form) {
  var ps = form.elements['attr_preset'];
  var url = form.elements['attr_src'];
  var fp = '$filepath';
  if (ps.value) {
    url.value = fp +'/imagecache/'+ ps.value + url.value.substr(fp.length);
    ps.value = '';
  }
  E.tgdSubmit(tag, form);
}})
";

Выводит окошко, в котором осталось добавить кнопку "Обзор" и скрыть поле ImageCash (просто скрыть). По умолчанию в коде указать использование всего одного определенного пресета. + скрыть поле "Альтернативный текст".