File "uri.php"
Full Path: /home/jlklyejr/public_html/wp-content-20241030122153/plugins/woo-currency/classes/uri.php
File size: 4.34 KB
MIME-type: text/x-php
Charset: utf-8
<?php
class uriWcu {
/**
* Tell link form method to replace symbols for special html caracters only for ONE output
*/
static private $_oneHtmlEnc = false;
static public function fileToPageParam($file) {
$file = str_replace(DS, '/', $file);
return substr($file, strpos($file, WCU_PLUG_NAME));
}
static public function _( $params ) {
global $wp_rewrite;
$link = '';
if ( is_string( $params )
&& ( strpos( $params, 'http' ) === 0
|| strpos( $params, WCU_PLUG_NAME ) !== false ) // If relative links in WP is used (by other plugin for example)
) {
if ( self::isHttps() ) {
$params = self::makeHttps( $params );
}
return $params;
} elseif ( is_array( $params ) && isset( $params['page_id'] ) ) {
if ( is_null( $wp_rewrite ) ) {
$wp_rewrite = new WP_Rewrite();
}
$link = get_page_link( $params['page_id'] );
unset( $params['page_id'] );
} elseif ( is_array( $params ) && isset( $params['baseUrl'] ) ) {
$link = $params['baseUrl'];
unset( $params['baseUrl'] );
} else {
$link = WCU_URL;
}
if ( ! empty( $params ) ) {
$query = is_array( $params ) ? http_build_query( $params, '', '&' ) : $params;
$sign = ( strpos( $query, '/' ) === 0 ) ? '' : ( strpos( $link, '?' ) === false ? '?' : '&' );
$link .= $sign . ltrim( $query, '/' );
}
if ( self::$_oneHtmlEnc ) {
$link = str_replace( '&', '&', $link );
self::$_oneHtmlEnc = false;
}
return $link;
}
static public function _e($params) {
echo self::_($params);
}
static public function page($id) {
return get_page_link($id);
}
static public function getGetParams($exclude = array()) {
$res = array();
if(isset($_GET) && !empty($_GET)) {
foreach($_GET as $key => $val) {
if(in_array($key, $exclude)) continue;
$res[$key] = $val;
}
}
return $res;
}
static public function mod($name, $action = '', $data = NULL) {
$params = array('mod' => $name);
if($action)
$params['action'] = $action;
$params['pl'] = WCU_CODE;
if($data) {
if(is_array($data)) {
$params = array_merge($params, $data);
if(isset($data['reqType']) && $data['reqType'] == 'ajax') {
$params['baseUrl'] = admin_url('admin-ajax.php');
}
} elseif(is_string($data)) {
$params = http_build_query($params);
$params .= '&'. $data;
}
}
return self::_($params);
}
static public function atach($params) {
$getData = self::getGetParams();
if(!empty($getData)) {
if(is_array($params))
$params = array_merge($getData, $params);
else
$params = http_build_query($getData). '&'. $params;
}
return self::_($params);
}
/**
* Get current path
* @return string current link
*/
static public function getCurrent() {
if (!empty($_SERVER['HTTPS'])) {
return 'https://'. $_SERVER['HTTP_HOST']. $_SERVER['SCRIPT_NAME'];
} else {
return 'http://'. $_SERVER['HTTP_HOST']. $_SERVER['SCRIPT_NAME'];
}
}
static public function getFullUrl() {
$url = isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) ? 'https://' : 'http://';
$url .= $_SERVER['HTTP_HOST']. $_SERVER['REQUEST_URI'];
return $url;
}
/**
* Replace symbols to special html caracters in one output
*/
static public function oneHtmlEnc() {
self::$_oneHtmlEnc = true;
}
static public function makeHttps($link) {
if(strpos($link, 'https:') === false) {
$link = str_replace('http:', 'https:', $link);
}
return $link;
}
static public function isHttps() {
return is_ssl();
//return (isset($_SERVER['HTTPS']) && !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on');
}
/**
* If url is without http:// - just domain name for example - we will add it here
* @param string $url Url to check
* @return string Checked and corrected URL (if this will be required)
*/
static public function normal($url) {
$url = trim($url);
if(strpos($url, 'http') !== 0) {
$url = 'http://'. $url;
}
return $url;
}
}