foto

Заготовка AJAX файла

Автор темы: Sander, 10 марта 2017г
Sander
Отправлено: 10 март 2017, 11:43:30
Путь по умолчанию /engine/mods/{modName}/file.php
<?php
@error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
@ini_set('error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE);
@ini_set('display_errors', true);
@ini_set('html_errors', false);

define('DATALIFEENGINE', true);
define('ROOT_DIR', __DIR__ . '/../../..');
define('ENGINE_DIR', ROOT_DIR . '/engine');

if (file_exists(ENGINE_DIR . '/classes/plugins.class.php')) {
	include_once ENGINE_DIR . '/classes/plugins.class.php';
} else {
	@ini_set('pcre.recursion_limit', 10000000 );
	@ini_set('pcre.backtrack_limit', 10000000 );
	@ini_set('pcre.jit', false);
	@include_once (ENGINE_DIR . '/data/config.php');
	require_once (ENGINE_DIR . '/classes/mysql.php');
	require_once (ENGINE_DIR . '/data/dbconfig.php');

	abstract class DLEPlugins {
		public static function Check($source = '') {
			return $source;
		}
	}
}

include_once (DLEPlugins::Check(ENGINE_DIR . '/modules/functions.php'));
dle_session();

if ($_REQUEST['dle_skin']) {
	$_REQUEST['dle_skin'] = totranslit($_REQUEST['dle_skin'], false, false);
	if ($_REQUEST['dle_skin'] && is_dir( ROOT_DIR . '/templates/' . $_REQUEST['dle_skin'])) {
		$config['skin'] = $_REQUEST['dle_skin'];
	}
} elseif ($_COOKIE['dle_skin']) {
	$_COOKIE['dle_skin'] = totranslit((string)$_COOKIE['dle_skin'], false, false);
	if ($_COOKIE['dle_skin'] && is_dir(ROOT_DIR . '/templates/' . $_COOKIE['dle_skin'])) {
		$config['skin'] = $_COOKIE['dle_skin'];
	}
}

if ($config["lang_" . $config['skin']] && file_exists(DLEPlugins::Check(ROOT_DIR . '/language/' . $config["lang_" . $config['skin']] . '/website.lng'))) {
	include_once (DLEPlugins::Check(ROOT_DIR . '/language/' . $config["lang_" . $config['skin']] . '/website.lng'));
} else {
	include_once (DLEPlugins::Check(ROOT_DIR . '/language/' . $config['langs'] . '/website.lng'));
}
@header("Content-type: text/html; charset=" . $config['charset']);
setlocale(LC_NUMERIC, "C");

require_once ENGINE_DIR . '/modules/sitelogin.php';
if (!$is_logged) {
	$member_id['user_group'] = 5;
}

/* Код файла */

/*
// JSON
$html = json_encode($html, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
echo $html;
*/
foto
  • Администратор
  1. • starcom #1
    Отправлено: 24 февраль 2019, 02:52:42
    А для 13.1 Какой должен быть?
    foto
    • Гость
    • Сообщений: 0
  2. Sander #2
    Отправлено: 25 февраль 2019, 13:30:24
    Цитата: starcom
    А для 13.1 Какой должен быть?

    Обновил код. Сделал универсальным для всех последних версий DLE (10.1 и старше)
    foto
    • Администратор
    • Сообщений: 559
  3. • Starcom #3
    Отправлено: 25 февраль 2019, 22:05:04
    А если к примеру файл лежит не в папке AJAX, а modules/mymod/ajax/myfile.php при обращении в JS
    $.post(dle_root+"engine/ajax/controller.php?mod=myfile"
    нужно скопировать файл controller.php в папку с модулем и изменить путь на
    define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -21 ) );
    и вызывать уже
    $.post(dle_root+"engine/modules/mymod/ajax/controller.php?mod=myfile"
    . Или можно как то по другом его вызвать?
    foto
    • Гость
    • Сообщений: 0
Добавить комментарий
  • Логин
  • E-mail (не обязательно)
Повторите рисунок:
antibot
© Sander-Development. 2009-2018.
При копировании, ссылка на источник обязательна.