• File: class.u.shell.php
  • Full Path: /home/chassiw/www/wp-content/plugins/duplicator/classes/utilities/class.u.shell.php
  • File size: 1.16 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
defined("ABSPATH") or die("");

// Exit if accessed directly
if (! defined('DUPLICATOR_VERSION')) exit;

class DUP_Shell_U
{
    /**
     * Escape a string to be used as a shell argument with bypass support for Windows
     *
     * 	NOTES:
     * 		Provides a way to support shell args on Windows OS and allows %,! on Windows command line
     * 		Safe if input is know such as a defined constant and not from user input escape shellarg
     * 		on Windows with turn %,! into spaces
     *
     * @return string
     */
    public static function escapeshellargWindowsSupport($string)
    {
        if (strncasecmp(PHP_OS, 'WIN', 3) == 0) {
            if (strstr($string, '%') || strstr($string, '!')) {
                $result = '"'.str_replace('"', '', $string).'"';
                return $result;
            }
        }
        return escapeshellarg($string);
    }

    public static function isPopenEnabled() { 
        if (!function_exists('popen') || !function_exists('proc_open')) { 
            $ret = false; 
        } else { 
            $ret = true; 
        } 
        $ret = apply_filters('duplicator_pro_is_popen_enabled', $ret); 
        return $ret; 
    }
}