Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/Utility/Service/Url.php
Строк: 32
<?php
namespace ConcreteCoreUtilityService;
use 
Loader;
class 
Url {


    public function 
setVariable($variable, $value = false, $url = false) {
        
// either it's key/value as variables, or it's an associative array of key/values

        
if ($url == false) {
            
$url = Loader::helper('security')->sanitizeString($_SERVER['REQUEST_URI']);
        } elseif(!
strstr($url,'?')) {
            
$url = $url . '?' . Loader::helper('security')->sanitizeString($_SERVER['QUERY_STRING']);
        }

         
$vars = array();
        if (!
is_array($variable)) {
            
$vars[$variable] = $value;
        } else {
            
$vars = $variable;
        }

        foreach(
$vars as $variable => $value) {
            
$url = preg_replace('/(.*)(?|&)' . $variable . '=[^&]+?(&)(.*)/i', '$1$2$4', $url . '&');
            
$url = substr($url, 0, -1);
            if (
strpos($url, '?') === false) {
                
$url = $url . '?' . $variable . '=' . $value;
            } else {
                
$url = $url . '&' . $variable . '=' . $value;
            }
        }

        
// THIS DOES NOT WORK. SOMEONE WILL NEED TO FIX THIS PROPERLY IF THE W3C FOLKS WANT IT TO WORK
        //$url = str_replace('&', '&amp;', $url);
        
return $url;
    }

    public function 
unsetVariable($variable, $url = false) {
        
// either it's key/value as variables, or it's an associative array of key/values

        
if ($url == false) {
            
$url = $_SERVER['REQUEST_URI'];
        } elseif(!
strstr($url,'?')) {
            
$url = $url . '?' . $_SERVER['QUERY_STRING'];
        }

         
$vars = array();
        if (!
is_array($variable)) {
            
$vars[] = $variable;
        } else {
            
$vars = $variable;
        }

        foreach(
$vars as $variable) {
          
$url = preg_replace('/(.*)(?|&)' . $variable . '=[^&]+?(&)(.*)/i', '$1$2$4', $url . '&');
          
$url = substr($url, 0, -1);
        }


        
// THIS DOES NOT WORK. SOMEONE WILL NEED TO FIX THIS PROPERLY IF THE W3C FOLKS WANT IT TO WORK
        //$url = str_replace('&', '&amp;', $url);
        
return $url;
    }
    public function 
buildQuery($url, $params) {
        return 
$url . '?' . http_build_query($params, '', '&');
    }

    
/**
     * Shortens a given url with the tiny url api
     * @param string $strURL
     * @return string $url
     */
    
public function shortenURL($strURL) {
        
$file = Loader::helper('file');
        
$url = $file->getContents("http://tinyurl.com/api-create.php?url=".$strURL);
        return 
$url;
    }


}
Онлайн: 1
Реклама