Mac OS и Flash-загрузчик в WordPress

Сегодня обнаружил одну особенность движка WordPress. Если у пользователя Mac OS, a на хостинге, где стоит WordPress, установлен модуль mod_security (именно установлен, не обязательно включен) то Flash-загрузчик изображений отключается без возможности его запустить. То-есть пользователь даже не видит фразы «Попробуйте использовать вместо него Flash загрузчик.»

Без Flash-загрузчикa

Вызвано такое поведение кодом в файле /wp-admin/includes/media.php:

// If Mac and mod_security, no Flash. :(
	$flash = true;
	if ( false !== strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'mac')
&& apache_mod_loaded('mod_security') )
		$flash = false;

	$flash = apply_filters('flash_uploader', $flash);

Сделано было так, потому что при этой комбинации появлялись ошибки в работе Flash-загрузчика.
Но при этом можно ведь отключить mod_security директивой в файле .htaccess

SecFilterEngine off

И из всей комбинации выпадает один элемент. Точнее не совсем — mod_security будет отключен для корневой папки и всех ее внутренних, но по-прежнему будет доступен в загруженных Апачем модулях. В коде проверяется не состояние модуля, а его наличие вообще. Поэтому одна лишь правка .htaccess еще не решит всю проблему. А принудительно включить загрузчик можно добавив в любой из своих постоянно включенных плагинов (у меня таким оказался Rus-to-Lat) следующий код:

function enable_flash_loader($flash)
{
    $flash = true;
    return $flash;
}

add_filter('flash_uploader','enable_flash_loader');

С Flash-загрузчиком

<code>...</code>

Комментарии(9)

  1. ihizgil

    Спасибо.Я под макосью была аналогичная проблема

  2. Артур

    Спасибо, помогло

  3. Skotnikov

    Респект и уважуха — чуть не вскрылся, заливая картинки по одной!

  4. SnekFlimes

  5. imnokmypi

  6. ofehomelewug

    Again. I wondered, his pants

  7. SnekFlimes

  8. xniwad

  9. SnekFlimes

Оставить комментарий