Привет.
Проблема админки SleepingOwl.
При нажатии на кнопку редактора ckeditor "Загрузить изображение с сервера" обращается к контроллеру
\vendor\sleeping-owl\admin\src\SleepingOwl\Admin\Controllers\ImagesController.phpImagesController@getAll и там загружаются все изображения и кодируются слеши параметров при получении пути через route() в классе \Illuminate\Routing\UrlGenerator@toRoute() .
\vendor\sleeping-owl\admin\src\SleepingOwl\Admin\Controllers\ImagesController.phpImagesController@getAll...
function __construct(Finder $finder, Filesystem $filesystem)
{
$this->finder = $finder;
$this->filesystem = $filesystem;
}
/**
* Get all images within "images" directory without "seeds" subdirectories
*
* @return array
*/
public function getAll()
{
$files = $this->getAllFiles();
$result = [];
foreach ($files as $file)
{
$result[] = $this->createImageObject($file);
}
return $result;
}
/**
* @return Finder
*/
protected function getAllFiles()
{
return $this->finder->create()->exclude('seeds')->files()->in(Config::get('admin.imagesDirectory'));
}
/**
* @param SplFileInfo $file
* @return StdClass
*/
protected function createImageObject(SplFileInfo $file)
{
$obj = new StdClass;
$path = $file->getRelativePathname();
$obj->url = <b>route</b>('imagecache', [
'original',
$path
]);
$obj->thumbnail = route('imagecache', [
'small',
$path
]);
return $obj;
}
..
\Illuminate\Routing\UrlGenerator...
protected function toRoute($route, $parameters, $absolute)
{
$parameters = $this->formatParameters($parameters);
$domain = $this->getRouteDomain($route, $parameters);
$uri = strtr(<b>rawurlencode</b>($this->addQueryString($this->trimUrl(
$root = $this->replaceRoot($route, $domain, $parameters),
$this->replaceRouteParameters($route->uri(), $parameters)
), $parameters)), $this->dontEncode);
return $absolute ? $uri : '/'.ltrim(str_replace($root, '', $uri), '/');
}
rawurlencode() и кодирует.
Эта стандартный класс \Illuminate\Routing\UrlGenerator и как обойти все это красиво не ясно.
Laravel 5.1.
Помогите пожалуйста.
Спасибо.