2026-02-05 17:08:59 +03:00

57 lines
1.8 KiB
PHP

<?php
/**
* MainWP bootstrap.
*
* Set default php.ini variables
* check if load wp-load & wp-config exist & include them
* else exit due to "Unsupported WordPress Setup".
*
* @package MainWP/Bootstrap
*/
// phpcs:disable -- required to support custom wp-config.php file location
// set php.ini variables.
@ignore_user_abort( true );
if ( false !== strpos( ini_get( 'disable_functions' ), 'set_time_limit' ) ) {
@set_time_limit( 0 );
}
$mem = '512M';
@ini_set( 'memory_limit', $mem );
@ini_set( 'max_execution_time', 0 );
/**
* Checks whether cron is in progress.
*
* @const ( bool ) Default: true
* @source https://github.com/mainwp/mainwp/blob/master/cron/bootstrap.php
*/
define( 'DOING_CRON', true );
$included = false;
if ( file_exists( __DIR__ . '/../../../../wp-load.php' ) ) {
include_once __DIR__ . '/../../../../wp-load.php'; // NOSONAR - WP compatible.
$included = true;
} elseif ( file_exists( __DIR__ . '/../../../../wp-config.php' ) ) {
$wp_config = file_get_contents( __DIR__ . '/../../../../wp-config.php' ); // phpcs:ignore -- used before loading WP.
preg_match_all( '/.*define[^d].*ABSPATH.*/i', $wp_config, $matches );
if ( ! empty( $matches ) ) {
foreach ( $matches as $match ) {
$execute = str_ireplace( 'ABSPATH', 'TMPABSPATH', $match[0] );
$execute = str_ireplace( '__FILE__', "'" . __DIR__ . '/../../../../wp-config.php' . "'", $execute );
eval( $execute ); // NOSONAR - wp-config file are safe content.
if ( file_exists( TMPABSPATH . 'wp-load.php' ) ) {
include_once TMPABSPATH . 'wp-load.php'; // NOSONAR - WP compatible.
$included = true;
break;
}
}
}
}
// phpcs:enable
if ( ! $included ) {
exit( 'Unsupported WordPress setup' );
}