| Server IP : 188.114.96.2 / Your IP : 104.23.197.231 Web Server : Apache/2.4.59 (Debian) System : Linux EDL-STRETCH 4.19.0-27-amd64 #1 SMP Debian 4.19.316-1 (2024-06-25) x86_64 User : edlftp ( 1002) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/nicolasj/www/blog.ecoledelangues.be/wp-content/plugins/redirection/models/ |
Upload File : |
<?php
include_once dirname( __FILE__ ) . '/url-query.php';
include_once dirname( __FILE__ ) . '/url-path.php';
include_once dirname( __FILE__ ) . '/url-match.php';
include_once dirname( __FILE__ ) . '/url-flags.php';
class Red_Url {
private $url;
public function __construct( $url = '' ) {
$this->url = $url;
$this->url = str_replace( ' ', '%20', $this->url ); // deprecated
}
/**
* Get the raw URL
*
* @return string URL
*/
public function get_url() {
return $this->url;
}
/**
* Match a target URL against the current URL, using any match flags
*
* @param string $requested_url Target URL
* @param Red_Source_Flags $flags Match flags
* @return boolean
*/
public function is_match( $requested_url, Red_Source_Flags $flags ) {
if ( $flags->is_regex() ) {
$regex = new Red_Regex( $this->url, $flags->is_ignore_case() );
return $regex->is_match( $requested_url );
}
$path = new Red_Url_Path( $this->url );
$query = new Red_Url_Query( $this->url, $flags );
return $path->is_match( $requested_url, $flags ) && $query->is_match( $requested_url, $flags );
}
}