67 lines
1.6 KiB
PHP
67 lines
1.6 KiB
PHP
|
|
<?php
|
||
|
|
namespace RSSSL\lib\admin;
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Trait admin helper
|
||
|
|
*
|
||
|
|
*
|
||
|
|
* @package RSSSL\helper
|
||
|
|
* @since 8.2
|
||
|
|
*
|
||
|
|
* @author Really Simple Security
|
||
|
|
* @see https://really-simple-ssl.com
|
||
|
|
*/
|
||
|
|
trait Helper {
|
||
|
|
/**
|
||
|
|
* Get the wp-config path
|
||
|
|
*
|
||
|
|
* @return string
|
||
|
|
*/
|
||
|
|
public function wpconfig_path(): string {
|
||
|
|
// Allow the wp-config.php path to be overridden via a filter.
|
||
|
|
$filtered_path = apply_filters( 'rsssl_wpconfig_path', '' );
|
||
|
|
|
||
|
|
// If a filtered path is provided, validate it.
|
||
|
|
if ( ! empty( $filtered_path ) ) {
|
||
|
|
$directory = dirname( $filtered_path );
|
||
|
|
|
||
|
|
// Ensure the directory exists before checking for the file.
|
||
|
|
if ( is_dir( $directory ) && file_exists( $filtered_path ) ) {
|
||
|
|
return $filtered_path;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Default behavior to locate wp-config.php
|
||
|
|
$location_of_wp_config = ABSPATH;
|
||
|
|
if ( ! file_exists( ABSPATH . 'wp-config.php' ) && file_exists( dirname( ABSPATH ) . '/wp-config.php' ) ) {
|
||
|
|
$location_of_wp_config = dirname( ABSPATH );
|
||
|
|
}
|
||
|
|
|
||
|
|
$location_of_wp_config = trailingslashit( $location_of_wp_config );
|
||
|
|
$wpconfig_path = $location_of_wp_config . 'wp-config.php';
|
||
|
|
|
||
|
|
// Check if the file exists and return the path if valid.
|
||
|
|
if ( file_exists( $wpconfig_path ) ) {
|
||
|
|
return $wpconfig_path;
|
||
|
|
}
|
||
|
|
|
||
|
|
// Return an empty string if no valid wp-config.php path is found.
|
||
|
|
return '';
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Log a message if WP_DEBUG is enabled
|
||
|
|
*
|
||
|
|
* @param string $message
|
||
|
|
*
|
||
|
|
* @return void
|
||
|
|
*/
|
||
|
|
public function log( string $message ): void {
|
||
|
|
if ( defined( 'WP_DEBUG' ) && WP_DEBUG ) {
|
||
|
|
error_log( "Really Simple Security: ".$message );
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|