forked from LiveCarta/LiveCartaWP
Changed source root directory
This commit is contained in:
193
html/wp-content/plugins/duplicator/helper.php
Normal file
193
html/wp-content/plugins/duplicator/helper.php
Normal file
@@ -0,0 +1,193 @@
|
||||
<?php
|
||||
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
if (!function_exists('duplicator_cloned_get_home_path')) {
|
||||
/**
|
||||
* Cloned function of the get_home_path(). It is same code except two lines of code
|
||||
* Get the absolute filesystem path to the root of the WordPress installation
|
||||
*
|
||||
* @return string Full filesystem path to the root of the WordPress installation
|
||||
*/
|
||||
function duplicator_cloned_get_home_path()
|
||||
{
|
||||
$home = set_url_scheme(get_option('home'), 'http');
|
||||
$siteurl = set_url_scheme(get_option('siteurl'), 'http');
|
||||
|
||||
// below two lines
|
||||
// extra added by snapcreek
|
||||
// when home is www. path and siteurl is non-www , the duplicator_get_home_psth() was returning empty value
|
||||
$home = str_ireplace('://www.', '://', $home);
|
||||
$siteurl = str_ireplace('://www.', '://', $siteurl);
|
||||
|
||||
if (!empty($home) && 0 !== strcasecmp($home, $siteurl) && $home !== $siteurl) {
|
||||
$wp_path_rel_to_home = str_ireplace($home, '', $siteurl); /* $siteurl - $home */
|
||||
$pos = strripos(str_replace('\\', '/', $_SERVER['SCRIPT_FILENAME']), trailingslashit($wp_path_rel_to_home));
|
||||
$home_path = substr($_SERVER['SCRIPT_FILENAME'], 0, $pos);
|
||||
$home_path = trailingslashit($home_path);
|
||||
} else {
|
||||
$home_path = ABSPATH;
|
||||
}
|
||||
return str_replace('\\', '/', $home_path);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('duplicator_get_home_path')) {
|
||||
/**
|
||||
* Get home path
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function duplicator_get_home_path()
|
||||
{
|
||||
static $homePath = null;
|
||||
if (is_null($homePath)) {
|
||||
if (!function_exists('get_home_path')) {
|
||||
require_once(ABSPATH . 'wp-admin/includes/file.php');
|
||||
}
|
||||
$homePath = wp_normalize_path(duplicator_cloned_get_home_path());
|
||||
if ($homePath == '//' || $homePath == '') {
|
||||
$homePath = '/';
|
||||
} else {
|
||||
$homePath = rtrim($homePath, '/');
|
||||
}
|
||||
}
|
||||
return $homePath;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('duplicator_get_abs_path')) {
|
||||
|
||||
/**
|
||||
* Get abspath
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function duplicator_get_abs_path()
|
||||
{
|
||||
static $absPath = null;
|
||||
if (is_null($absPath)) {
|
||||
$absPath = wp_normalize_path(ABSPATH);
|
||||
if ($absPath == '//' || $absPath == '') {
|
||||
$absPath = '/';
|
||||
} else {
|
||||
$absPath = rtrim($absPath, '/');
|
||||
}
|
||||
}
|
||||
return $absPath;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('sanitize_textarea_field')) {
|
||||
/**
|
||||
* Sanitizes a multiline string from user input or from the database.
|
||||
*
|
||||
* The function is like sanitize_text_field(), but preserves
|
||||
* new lines (\n) and other whitespace, which are legitimate
|
||||
* input in textarea elements.
|
||||
*
|
||||
* @see sanitize_text_field()
|
||||
*
|
||||
* @since 4.7.0
|
||||
*
|
||||
* @param string $str String to sanitize.
|
||||
*
|
||||
* @return string Sanitized string.
|
||||
*/
|
||||
function sanitize_textarea_field($str)
|
||||
{
|
||||
$filtered = _sanitize_text_fields($str, true);
|
||||
|
||||
/**
|
||||
* Filters a sanitized textarea field string.
|
||||
*
|
||||
* @since 4.7.0
|
||||
*
|
||||
* @param string $filtered The sanitized string.
|
||||
* @param string $str The string prior to being sanitized.
|
||||
*/
|
||||
return apply_filters('sanitize_textarea_field', $filtered, $str);
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('_sanitize_text_fields')) {
|
||||
/**
|
||||
* Internal helper function to sanitize a string from user input or from the db
|
||||
*
|
||||
* @since 4.7.0
|
||||
* @access private
|
||||
*
|
||||
* @param string $str String to sanitize.
|
||||
* @param bool $keep_newlines optional Whether to keep newlines. Default: false.
|
||||
*
|
||||
* @return string Sanitized string.
|
||||
*/
|
||||
function _sanitize_text_fields($str, $keep_newlines = false)
|
||||
{
|
||||
$filtered = wp_check_invalid_utf8($str);
|
||||
|
||||
if (strpos($filtered, '<') !== false) {
|
||||
$filtered = wp_pre_kses_less_than($filtered);
|
||||
// This will strip extra whitespace for us.
|
||||
$filtered = wp_strip_all_tags($filtered, false);
|
||||
|
||||
// Use html entities in a special case to make sure no later
|
||||
// newline stripping stage could lead to a functional tag
|
||||
$filtered = str_replace("<\n", "<\n", $filtered);
|
||||
}
|
||||
|
||||
if (! $keep_newlines) {
|
||||
$filtered = preg_replace('/[\r\n\t ]+/', ' ', $filtered);
|
||||
}
|
||||
$filtered = trim($filtered);
|
||||
|
||||
$found = false;
|
||||
while (preg_match('/%[a-f0-9]{2}/i', $filtered, $match)) {
|
||||
$filtered = str_replace($match[0], '', $filtered);
|
||||
$found = true;
|
||||
}
|
||||
|
||||
if ($found) {
|
||||
// Strip out the whitespace that may now exist after removing the octets.
|
||||
$filtered = trim(preg_replace('/ +/', ' ', $filtered));
|
||||
}
|
||||
|
||||
return $filtered;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('wp_normalize_path')) {
|
||||
/**
|
||||
* Normalize a filesystem path.
|
||||
*
|
||||
* On windows systems, replaces backslashes with forward slashes
|
||||
* and forces upper-case drive letters.
|
||||
* Allows for two leading slashes for Windows network shares, but
|
||||
* ensures that all other duplicate slashes are reduced to a single.
|
||||
*
|
||||
* @param string $path Path to normalize.
|
||||
*
|
||||
* @return string Normalized path.
|
||||
*/
|
||||
function wp_normalize_path($path)
|
||||
{
|
||||
$wrapper = '';
|
||||
if (wp_is_stream($path)) {
|
||||
list( $wrapper, $path ) = explode('://', $path, 2);
|
||||
$wrapper .= '://';
|
||||
}
|
||||
|
||||
// Standardise all paths to use /
|
||||
$path = str_replace('\\', '/', $path);
|
||||
|
||||
// Replace multiple slashes down to a singular, allowing for network shares having two slashes.
|
||||
$path = preg_replace('|(?<=.)/+|', '/', $path);
|
||||
|
||||
// Windows paths should uppercase the drive letter
|
||||
if (':' === substr($path, 1, 1)) {
|
||||
$path = ucfirst($path);
|
||||
}
|
||||
|
||||
return $wrapper . $path;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user