Сегодня обновил ckeditor, добавил YouTube в редактор, потребовалось интегрировать видосики...
Да вот только старый механизм подгрузки сломался, раньше была загрузка при которой в GET передавалась функция и в результате она выполнялась с параметрами нужными, а теперь нужно стало возвращать JSON код....
В config.js нужно прописать такое
config.filebrowserUploadUrl = '/upload_ck.php';
А в файле upload_ck.php
<?php
//тут нужно проверить имеет ли данный запрос право выполняться,
//если нет, то выкинуть 503 и послать нафиг
$path = $_SERVER['DOCUMENT_ROOT'].DIRECTORY_SEPARATOR."media";
if (isset($_FILES['upload']) && isset($_FILES['upload']['name']))
{
if (!is_dir($path)) mkdir($path);
//ваша функция генерации имен файлов
$name = GEN_FNAME($_FILES['upload']['name'],$path);
$url = $path.DIRECTORY_SEPARATOR.$name;
//if move file - exit
if (!move_uploaded_file($_FILES['upload']['tmp_name'], $url))
exit('{"uploaded": 0,"error": {"message": "Fail"}');
//resize function
//MPIMG::resize ($url,$url,1700,1700);
echo json_encode(['uploaded'=>1,'fileName'=>$name,'url'=>$url]);
}
else
$message = 'No file has been sent';
В данном листинге используются собственные функции генерации имен и контроля максимального размера, загрузка происходит в папку media, ни в коем случае не рекомендую использовать данный код в таком виде, как минимум, тут еще нужно проверять авторизацию пользователя.