Чтобы в диалоге загружать изображения в MarkitUp, взял github.com/drewm/MIU-ImageUpload
и дописал к нему обработчик:
[php]<?php
class ImageController extends Controller
{
public function actionUpload(){
/* Customise the paths here: */
$file_path = YiiBase::getPathOfAlias('webroot').'/media/uploads/img'; // full filesystem path
Yii::log($file_path);
$web_path = '/media/uploads/img'; // path from root of website
/* Supernoob-style PHP file upload begins here: */
if (is_array($_FILES) && count($_FILES)) {
$image_folder_writable = is_writable($file_path);
foreach($_FILES as $file) {
if ($image_folder_writable && (int) $file['size'] > 0 && $file['error']=='0') {
$filename = $file['name'];
if (strpos($filename, '.php')!==false) $filename .= '.txt'; // diffuse PHP files
$target = $file_path.DIRECTORY_SEPARATOR.$filename;
if (file_exists($target)) {
$filename = time().'-'.$filename;
$target = $file_path.DIRECTORY_SEPARATOR.$filename;
}
if (move_uploaded_file($file['tmp_name'], $target)) {
echo $web_path.'/'.$filename;
exit;
}
}
}
}
echo 'FAIL';
}
}
Вопрос: как это сделать правильнее? Пробовал по другому - сделать форму (class Image extends CFormModel) для загрузки изображений, которая вкладывается в CJUIWidget, так и не поборол. Может кто-то уже сделал нормально, и может поделиться?
Updated. Сделал-таки по стандарту, файл загружается, теперь я так понял мне нужен
callback от контроллера с именем загруженного файла, что-то вроде
getFileCallback:function(file){
$.markItUp({ replaceWith:''});
Как это сделать?