<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
/**
 * MaxSite CMS
 * (c) https://max-3000.com/
 */

global $MSO;

if (isset($MSO->data['uri_segment'][2])) {
	if (!isset($_SERVER['HTTP_X_REQUESTED_WITH'])) {
		@header('HTTP/1.0 404 Not Found');
		die();
	}

	mso_checkreferer();

	$fn = $MSO->config['base_dir'] . base64_decode($MSO->data['uri_segment'][2]);

	// файл есть
	if (file_exists($fn)) {
		// подключаются только файлы вида имя-ajax.php 
		if (strpos($fn, '-ajax.php') !== false) // есть вхождение
		{
			$fn1 = preg_replace('!(.*)/(.*)-ajax.php(.*)!', "$1", $fn); // путь
			$fn2 = preg_replace('!(.*)/(.*)-ajax.php(.*)!', "$2", $fn); // имя
			$fn3 = preg_replace('!(.*)/(.*)-ajax.php(.*)!', "$3", $fn); // концовка

			if (strpos($fn1, $MSO->config['base_dir']) === false) {
				@header('HTTP/1.0 404 Not Found');
				die(); // неверный путь
			}
			if (!$fn2) {
				@header('HTTP/1.0 404 Not Found');
				die(); // неверное имя
			}

			if ($fn3) {
				@header('HTTP/1.0 404 Not Found');
				die(); // в конце какой-то мусор
			}

			require($fn);
		} else {
			@header('HTTP/1.0 404 Not Found');
			die();
		}
	}
} else {
	@header('HTTP/1.0 404 Not Found');
	die();
}

# end of file
