DLE и FastCGI

Сегодня в ТП HF обратился клиент с вопросом в каком виде у нас стоит PHP, в виде модуля Apache или FastCGI.

Ответил естественно что FastCGI, но т.к. было не рабочее время поинтересовался зачем ему эти данные. Оказалось DLE требует для расширенной авторизации PHP в виде модуля.

И под конец из-за того что делать было нечего я решил скачать DLE и посмотреть зачем же ему PHP нужен в виде модуля.

Оказалось, расширенная авторизация в DLE подразумевает HTTP авторизацию и да ключей PHP_AUTH_USER и PHP_AUTH_PW в массиве $_SERVER нет когда PHP в виде FastCGI.

Но, их можно спокойно вернуть, если даже и PHP в виде FastCGI.

А точнее, в файле ./engine/inc/include/init.php найти:

	if( $config['extra_login'] ) {

Добавить после:

		if (php_sapi_name() != 'apache') {
			if(isset($_SERVER['Authorization'])) {
				list($hf_auth_type, $hf_auth_data)	= preg_split("/[\s,]+/", $_SERVER['Authorization']);
				list($_hf_login, $_hf_pass)			= preg_split("/:/", base64_decode($hf_auth_data));

				$_SERVER['PHP_AUTH_USER']	= $_hf_login;
				$_SERVER['PHP_AUTH_PW']		= $_hf_pass;

				unset($hf_auth_type, $hf_auth_data, $_hf_login, $_hf_pass);
			}
		}

И вуаля, расширенная авторитизация работает даже когда PHP в виде FastCGI.

Встает вопрос, за что же я плачу при покупке DLE?
За недоработанную CMS?