Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 29 мар 2024, 03:45

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 04 июл 2012, 13:26 
Не в сети
Зеленый

Зарегистрирован: 25 июн 2012, 22:35
Сообщения: 5
Посоветуйте WYSIWYG-редактор с РАБОТАЮЩИМ в кохане файловым менеджером.

Требования минимальные:
выбор нужного изображения из редактора и вставка его в текст.

пока стоит elrte, но менеджер файлов подключить к нему не удалось.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 07 июл 2012, 17:00 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 11 июн 2012, 12:31
Сообщения: 46
Прикрутил себе ckeditor. Подредактировать его под себя не составило труда. А вот прикрутить ckfinder (файловый менеджер) никак не получается. Пробовал и другие, результат одинаков. Было бы очень замечательно, если бы наш Админ написал урок об добавлении редактора с файловым менеджером, конечно по возможности :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 07 июл 2012, 19:04 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
Я сделал просто функцией
Код:
function ckedit($name, $value = '', $height = '260', $width = '98%')
{
    $url_base = URL::base();

    include_once(DOCROOT.'assets/vendors/ckeditor/ckeditor.php');
    include_once(DOCROOT.'assets/vendors/ckfinder/ckfinder.php');

    $CKEditor = new CKEditor();
    $CKEditor->basePath = $url_base . 'assets/vendors/ckeditor/';

    $CKEditor->config['height'] = $height . 'px';
    $CKEditor->config['width']  = $width;

    $CKEditor->config['filebrowserBrowseUrl']      = $url_base.'assets/vendors/ckfinder/ckfinder.html';
    $CKEditor->config['filebrowserImageBrowseUrl'] = $url_base.'assets/vendors/ckfinder/ckfinder.html?type=Images';
    $CKEditor->config['filebrowserFlashBrowseUrl'] = $url_base.'assets/vendors/ckfinder/ckfinder.html?type=Flash';
    $CKEditor->config['filebrowserUploadUrl']      = $url_base.'assets/vendors/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files';
    $CKEditor->config['filebrowserImageUploadUrl'] = $url_base.'assets/vendors/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images';
    $CKEditor->config['filebrowserFlashUploadUrl'] = $url_base.'assets/vendors/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash';

    $config['uiColor'] = '#efefef';
    $config['toolbar'] = array(
        array('Source','-', 'Maximize', 'ShowBlocks'),
        array('Cut','Copy','Paste','PasteText','PasteFromWord'),
        array('Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'),
        array('Link','Unlink','Anchor'),
        array('Image','Table','HorizontalRule','SpecialChar','PageBreak'),
        '/',
        array('Format','Font', 'Bold','Italic','Underline','Strike',),
        array('JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','NumberedList','BulletedList'),
        array('Outdent','Indent','-','TextColor','BGColor','-','Subscript','Superscript'),
        array('uiColor')
    );

    ob_start();
    $CKEditor->editor($name, $value, $config);
    return ob_get_clean();
}
 

В корне сайта в папках
assets/vendors/ckeditor/ - ckeditor
assets/vendors/ckfinder/ - ckfinder
соответственно.

В файле assets/vendors/ckfinder/config.php
Код:
function CheckAuthentication()
{
    return true;
}
$baseUrl = '/uploads/';
 
Папка uploads в корне сайта

В шаблоне вызываем так:
Код:
<?php echo ckedit('mytext', 'Вот такая строка') ?>

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 19 июл 2012, 19:44 
Не в сети
Зеленый

Зарегистрирован: 25 июн 2012, 22:35
Сообщения: 5
Да, все работает. а elFinder не пробовал прицеплять?
Для некоторых проектов не хочется использовать "платные" скрипты.
Я попробовал http://www.askdev.ru/question/8492/koha ... inder/new/ (последний коммент)
Все работает, только файлы не загружаются, не удаляются и тд


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 19 июл 2012, 20:16 
Не в сети
Зеленый

Зарегистрирован: 25 июн 2012, 22:35
Сообщения: 5
хотя прицепил по тому же принципу. Все окей, большое спасибо.
Теперь надо подумать как бы защитить все от несанкционированного доступа (по прямой ссылке).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 20 июл 2012, 03:15 
Не в сети
Бывалый
Аватара пользователя

Зарегистрирован: 05 июн 2012, 03:08
Сообщения: 213
Цитата:
Для некоторых проектов не хочется использовать "платные" скрипты
Ну его как-бы и бесплатно можно использовать. Там просто будет сверху надпись типа "This demo version", на работу скрипта никак не влияет, убирается этот div в css и все. Только слева внизу останется, что это demo version, но это вообще не мешает и даже не сразу обратишь внимание.
Цитата:
Теперь надо подумать как бы защитить все от несанкционированного доступа (по прямой ссылке)
Вот это интересно, если сделаете - напишИте)

Еще бы и для каждого юзера разграничить папки с изображениями (чтобы у других к ним не было доступа из ckfinder). Я это еще не делал и не думал даже, но чувствую скоро будет нужно) И, думаю, это будет связано с function CheckAuthentication()

_________________
http://de-en.info (работает на Kohana 3.3)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Файловый менеджер + WYSIWYG
СообщениеДобавлено: 20 июл 2012, 14:17 
Не в сети
Зеленый

Зарегистрирован: 25 июн 2012, 22:35
Сообщения: 5
Я использую elfinder как браузер файлов. Сделал так.
В базовом контроллере создаю сессию (в моем случае, кто зарегистрирован, тот должен получить доступ к файловому менеджеру)
Код:
$this->session = Session::instance('native');
if (Пользователь_авторизован)
   $this->session->set('id', 'ID_пользователя');


в php/connector.php в самом начале файла:
Код:
session_name('session');
session_start();
if(empty($_SESSION['id']))
    exit('{"error" : "Access denied"}');

и все.

Аналогично можно сделать для ckfinder
Код:
function CheckAuthentication()
{
    session_name('session');
    session_start();
    if (empty($_SESSION['id']))
        return false;
    else
        return true;
}


а для
Цитата:
Еще бы и для каждого юзера разграничить папки с изображениями (чтобы у других к ним не было доступа из ckfinder)

я думаю надо в сессию заносить путь папки, которая разрешена пользователю и заносить из сессии в $baseUrl (ckfinder/config.php)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group