<commit_before><?php

/**
 * La classe Url permet de gérer les URL à travers MINZ
 */
class Url {
	/**
	 * Affiche une Url formatée selon que l'on utilise l'url_rewriting ou non
	 * si oui, on cherche dans la table de routage la correspondance pour formater
	 * @param $url l'url à formater définie comme un tableau :
	 *                    $url['c'] = controller
	 *                    $url['a'] = action
	 *                    $url['params'] = tableau des paramètres supplémentaires
	 *                    $url['protocol'] = protocole à utiliser (http par défaut)
	 *             ou comme une chaîne de caractère
	 * @param $encodage pour indiquer comment encoder les & (& ou &amp; pour html)
	 * @return l'url formatée
	 */
	public static function display ($url = array (), $encodage = 'html') {
		$url = self::checkUrl ($url);
		
		$url_string = '';
		
		if (is_array ($url) && isset ($url['protocol'])) {
			$protocol = $url['protocol'];
		} else {
			if(isset($_SERVER['HTTPS']) && $_SERVER["HTTPS"] == 'on') {
				$protocol = 'https';
			} else {
				$protocol = 'http';
			}
		}
		$url_string .= $protocol . '://';
		
		$url_string .= Request::getDomainName ();
		
		$url_string .= Request::getBaseUrl ();
		
		if (is_array ($url)) {
			$router = new Router ();
			
			if (Configuration::useUrlRewriting ()) {
				$url_string .= $router->printUriRewrited ($url);
			} else {
				$url_string .= self::printUri ($url, $encodage);
			}
		} else {
			$url_string .= $url;
		}
		
		return $url_string;
	}
	
	/**
	 * Construit l'URI d'une URL sans url rewriting
	 * @param l'url sous forme de tableau
	 * @param $encodage pour indiquer comment encoder les & (& ou &amp; pour html)
	 * @return l'uri sous la forme ?key=value&key2=value2
	 */
	private static function printUri ($url, $encodage) {
		$uri = '';
		$separator = '/?';
		
		if($encodage == 'html') {
			$and = '&amp;';
		} else {<commit_msg>Utilise par défaut des adresses relatives<commit_after><?php

/**
 * La classe Url permet de gérer les URL à travers MINZ
 */
class Url {
	/**
	 * Affiche une Url formatée selon que l'on utilise l'url_rewriting ou non
	 * si oui, on cherche dans la table de routage la correspondance pour formater
	 * @param $url l'url à formater définie comme un tableau :
	 *                    $url['c'] = controller
	 *                    $url['a'] = action
	 *                    $url['params'] = tableau des paramètres supplémentaires
	 *                    $url['protocol'] = protocole à utiliser (http par défaut)
	 *             ou comme une chaîne de caractère
	 * @param $encodage pour indiquer comment encoder les & (& ou &amp; pour html)
	 * @return l'url formatée
	 */
	public static function display ($url = array (), $encodage = 'html', $absolute = false) {
		$url = self::checkUrl ($url);
		
		$url_string = '';
		
		if ($absolute) {
			$protocol = (is_array ($url) && isset ($url['protocol'])) ? ($url['protocol'] . ':') : '';	//Empty protocol will use automatic http or https
			$url_string = $protocol
			            . '//'
			            . Request::getDomainName ()
			            . Request::getBaseUrl ();
		}
		else {
			$url_string = '.';
		}
		
		if (is_array ($url)) {
			$router = new Router ();
			
			if (Configuration::useUrlRewriting ()) {
				$url_string .= $router->printUriRewrited ($url);
			} else {
				$url_string .= self::printUri ($url, $encodage);
			}
		} else {
			$url_string .= $url;
		}
		
		return $url_string;
	}
	
	/**
	 * Construit l'URI d'une URL sans url rewriting
	 * @param l'url sous forme de tableau
	 * @param $encodage pour indiquer comment encoder les & (& ou &amp; pour html)
	 * @return l'uri sous la forme ?key=value&key2=value2
	 */
	private static function printUri ($url, $encodage) {
		$uri = '';
		$separator = '/?';
		
		if($encodage == 'html') {
			$and = '&amp;';
		} else {
{'fraction_non_alphanumeric': 0.15035238841033674, 'fraction_numerical': 0.0010441138084051162, 'mean_word_length': 2.6048918156161807, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3256818', 'n_tokens_mistral': 1416, 'n_tokens_neox': 1241, 'n_words': 369}