Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 1 addition & 8 deletions administrator/includes/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,7 @@
include_once dirname(__DIR__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__DIR__));
require_once JPATH_BASE . '/includes/defines.php';
}

if (!defined('JPATH_PUBLIC')) {
define('JPATH_PUBLIC', JPATH_ROOT);
}
require_once __DIR__ . '/defines.php';

// Check for presence of vendor dependencies not included in the git repository
if (!file_exists(JPATH_LIBRARIES . '/vendor/autoload.php') || !is_dir(JPATH_PUBLIC . '/media/vendor')) {
Expand Down
29 changes: 16 additions & 13 deletions administrator/includes/defines.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,24 @@

defined('_JEXEC') or die;

// Define JPATH constants if not defined yet
defined('JPATH_BASE') || define('JPATH_BASE', dirname(__DIR__));

// Global definitions
$parts = explode(DIRECTORY_SEPARATOR, JPATH_BASE);
array_pop($parts);

// Defines
define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
define('JPATH_SITE', JPATH_ROOT);
define('JPATH_PUBLIC', JPATH_ROOT);
define('JPATH_CONFIGURATION', JPATH_ROOT);
define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
define('JPATH_CACHE', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'cache');
define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
define('JPATH_API', JPATH_ROOT . DIRECTORY_SEPARATOR . 'api');
define('JPATH_CLI', JPATH_ROOT . DIRECTORY_SEPARATOR . 'cli');
defined('JPATH_ROOT') || define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
defined('JPATH_SITE') || define('JPATH_SITE', JPATH_ROOT);
defined('JPATH_PUBLIC') || define('JPATH_PUBLIC', JPATH_ROOT);
defined('JPATH_CONFIGURATION') || define('JPATH_CONFIGURATION', JPATH_ROOT);
defined('JPATH_ADMINISTRATOR') || define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
defined('JPATH_LIBRARIES') || define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
defined('JPATH_PLUGINS') || define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
defined('JPATH_INSTALLATION') || define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
defined('JPATH_THEMES') || define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
defined('JPATH_CACHE') || define('JPATH_CACHE', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'cache');
defined('JPATH_MANIFESTS') || define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
defined('JPATH_API') || define('JPATH_API', JPATH_ROOT . DIRECTORY_SEPARATOR . 'api');
defined('JPATH_CLI') || define('JPATH_CLI', JPATH_ROOT . DIRECTORY_SEPARATOR . 'cli');
9 changes: 1 addition & 8 deletions api/includes/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,7 @@
include_once dirname(__DIR__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__DIR__));
require_once JPATH_BASE . '/includes/defines.php';
}

if (!defined('JPATH_PUBLIC')) {
define('JPATH_PUBLIC', JPATH_ROOT);
}
require_once __DIR__ . '/defines.php';

require_once JPATH_BASE . '/includes/framework.php';

Expand Down
31 changes: 17 additions & 14 deletions api/includes/defines.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,24 @@

defined('_JEXEC') or die;

// Define JPATH constants if not defined yet
defined('JPATH_BASE') || define('JPATH_BASE', dirname(__DIR__));

// Global definitions
$parts = explode(DIRECTORY_SEPARATOR, JPATH_BASE);
array_pop($parts);

// Defines.
define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
define('JPATH_SITE', JPATH_ROOT);
define('JPATH_PUBLIC', JPATH_ROOT);
define('JPATH_CONFIGURATION', JPATH_ROOT);
define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
define('JPATH_CACHE', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'cache');
define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
define('JPATH_API', JPATH_ROOT . DIRECTORY_SEPARATOR . 'api');
define('JPATH_CLI', JPATH_ROOT . DIRECTORY_SEPARATOR . 'cli');
// Defines
defined('JPATH_ROOT') || define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
defined('JPATH_SITE') || define('JPATH_SITE', JPATH_ROOT);
defined('JPATH_PUBLIC') || define('JPATH_PUBLIC', JPATH_ROOT);
defined('JPATH_CONFIGURATION') || define('JPATH_CONFIGURATION', JPATH_ROOT);
defined('JPATH_ADMINISTRATOR') || define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
defined('JPATH_LIBRARIES') || define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
defined('JPATH_PLUGINS') || define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
defined('JPATH_INSTALLATION') || define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
defined('JPATH_THEMES') || define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
defined('JPATH_CACHE') || define('JPATH_CACHE', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'cache');
defined('JPATH_MANIFESTS') || define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
defined('JPATH_API') || define('JPATH_API', JPATH_ROOT . DIRECTORY_SEPARATOR . 'api');
defined('JPATH_CLI') || define('JPATH_CLI', JPATH_ROOT . DIRECTORY_SEPARATOR . 'cli');
5 changes: 1 addition & 4 deletions includes/app.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,7 @@
include_once dirname(__DIR__) . '/defines.php';
}

if (!defined('_JDEFINES')) {
define('JPATH_BASE', dirname(__DIR__));
require_once JPATH_BASE . '/includes/defines.php';
}
require_once __DIR__ . '/defines.php';

if (!defined('JPATH_PUBLIC')) {
define('JPATH_PUBLIC', JPATH_ROOT);
Expand Down
32 changes: 15 additions & 17 deletions includes/defines.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,18 @@

defined('_JEXEC') or die;

// Global definitions
$parts = explode(DIRECTORY_SEPARATOR, JPATH_BASE);

// Defines.
define('JPATH_ROOT', implode(DIRECTORY_SEPARATOR, $parts));
define('JPATH_SITE', JPATH_ROOT);
define('JPATH_CONFIGURATION', JPATH_ROOT);
define('JPATH_PUBLIC', JPATH_ROOT);
define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
define('JPATH_CACHE', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'cache');
define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
define('JPATH_API', JPATH_ROOT . DIRECTORY_SEPARATOR . 'api');
define('JPATH_CLI', JPATH_ROOT . DIRECTORY_SEPARATOR . 'cli');
// Define JPATH constants if not defined yet
defined('JPATH_BASE') || define('JPATH_BASE', dirname(__DIR__));
defined('JPATH_ROOT') || define('JPATH_ROOT', JPATH_BASE);
defined('JPATH_SITE') || define('JPATH_SITE', JPATH_ROOT);
defined('JPATH_PUBLIC') || define('JPATH_PUBLIC', JPATH_ROOT);
defined('JPATH_CONFIGURATION') || define('JPATH_CONFIGURATION', JPATH_ROOT);
defined('JPATH_ADMINISTRATOR') || define('JPATH_ADMINISTRATOR', JPATH_ROOT . DIRECTORY_SEPARATOR . 'administrator');
defined('JPATH_LIBRARIES') || define('JPATH_LIBRARIES', JPATH_ROOT . DIRECTORY_SEPARATOR . 'libraries');
defined('JPATH_PLUGINS') || define('JPATH_PLUGINS', JPATH_ROOT . DIRECTORY_SEPARATOR . 'plugins');
defined('JPATH_INSTALLATION') || define('JPATH_INSTALLATION', JPATH_ROOT . DIRECTORY_SEPARATOR . 'installation');
defined('JPATH_THEMES') || define('JPATH_THEMES', JPATH_BASE . DIRECTORY_SEPARATOR . 'templates');
defined('JPATH_CACHE') || define('JPATH_CACHE', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'cache');
defined('JPATH_MANIFESTS') || define('JPATH_MANIFESTS', JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'manifests');
defined('JPATH_API') || define('JPATH_API', JPATH_ROOT . DIRECTORY_SEPARATOR . 'api');
defined('JPATH_CLI') || define('JPATH_CLI', JPATH_ROOT . DIRECTORY_SEPARATOR . 'cli');
4 changes: 2 additions & 2 deletions libraries/src/Router/SiteRouter.php
Original file line number Diff line number Diff line change
Expand Up @@ -149,11 +149,11 @@ public function parseInit(&$router, &$uri)
if (preg_match("#.*?\.php#u", $path, $matches)) {
// Get the current entry point path relative to the site path.
$scriptPath = realpath($_SERVER['SCRIPT_FILENAME'] ?: str_replace('\\\\', '\\', $_SERVER['PATH_TRANSLATED']));
$relativeScriptPath = str_replace('\\', '/', str_replace(JPATH_SITE, '', $scriptPath));
$relativeScriptPath = str_replace('\\', '/', str_replace(JPATH_PUBLIC, '', $scriptPath));

// If a php file has been found in the request path, check to see if it is a valid file.
// Also verify that it represents the same file from the server variable for entry script.
if (is_file(JPATH_SITE . $matches[0]) && ($matches[0] === $relativeScriptPath)) {
if (is_file(JPATH_PUBLIC . $matches[0]) && ($matches[0] === $relativeScriptPath)) {
// Remove the entry point segments from the request path for proper routing.
$path = str_replace($matches[0], '', $path);
}
Expand Down