Сообщение об ошибке

  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 126 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_prepare() (строка 131 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).
  • Deprecated function: Function create_function() is deprecated в функции _geshifilter_process() (строка 231 в файле /var/www/lsoft/sites/all/modules/geshifilter/geshifilter.pages.inc).

CKEditor 4.3 и загрузка картинок в Kohana 3 Framework

test

Кратко и по сути о том как включить загрузку картинок для CKEditor и прикрутить все это к контроллеру Kohana 3. Ничего сложного, руководствовался статьей

В ckeditor/config.js добавляем строчку:

CKEDITOR.editorConfig = function( config ) {
// Define changes to default configuration here. For example:
// config.language = 'fr';
// config.uiColor = '#AADC6E';
    config.filebrowserUploadUrl = '/upload/image';
};

Добавляем контроллер вида:

class Controller_Images extends Controller_Template
{

    public function action_upload(){
        $callback = $_GET['CKEditorFuncNum'];
        $error = '';
        if (!empty($_FILES['upload']['tmp_name'])) {
            $fileload = $_FILES['upload'];
//папку для картинок создаем заранее и даем права на запись
            $directory = $_SERVER["DOCUMENT_ROOT"]."/public/images/upload/";
            if ($file = Upload::save($fileload, NULL, $directory)) {
                $filename = md5(date("YmdHis").rand(5,50));
                $img = Image::factory($file);
                $img->render("jpg"); //фотки ведь желательно сохранять именно в jpg

                $img->save($directory . $filename . '.jpg');
                unlink($file);
                $http_path = '/public/images/upload/'.$filename.".jpg";
            }else {
                $error = 'Some error occured please try again later';
                $http_path = '';
            }
            echo "<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction(".$callback.",  "".$http_path."", "".$error."" );</script>";
        }
    }
}

Не забываем дать доступ к роуту в bootstrap.php

Route::set('images', 'upload/image')
    ->defaults(array(
        'controller' => 'images',
        'action'     => 'upload',
    ));

Все. В "Вставить картинку" в CKEditor-е появиться вкладка Загрузить.

Категория: 
Share/Save

Делитесь с друзьями в социальных сетях! Оставляйте комментарии!

Share/Save

Это Вам так же может быть интересно!