<?php

if (!defined('_ECRIRE_INC_VERSION')) {
	return;
}

/*
 * Creer les rewrite rules
 *
 * Dans /IMG, on arrive avec (http://naya/IMG/jpg/photo.jpg) :
 *  %{HTTP_HOST} = 'naya'
 *  %{SCRIPT_NAME} = '/chemin/http/jusqu/a/spip/spip.php'
 *  %{REQUEST_URI} = '/IMG/jpg/photo.jpg'
 *
 */
// sur le repertoire $dir (sites/truc/local/)
function mutualisation_verifier_htaccess($url, $dir) {
	// lire le .htaccess existant
	lire_fichier($url . _ACCESS_FILE_NAME, $htaccess);
	$source = $htaccess;

	// verifier notre bloc init
	$bloc = '####
## ce fichier .htaccess est gere par le plugin *mutualisation*
##
## ne le modifiez pas : en cas de besoin editez ce plugin,
## puis effacez ce fichier, il sera recree
##

RewriteEngine On
RewriteBase /
';

	if (strpos($htaccess, $bloc) === false) {
		$htaccess = $bloc;
	}

	$host = $_SERVER['HTTP_HOST'];
	$racine = dirname($_SERVER['SCRIPT_NAME']); // profondeur_url();
	if ($racine == '/' OR $racine == '\\') {
		$racine = '';
	}
	$site = basename(dirname($dir));
	$bloc = "

#### 'http://$host$racine/' = 'sites/$site/'
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^" . preg_quote("$host$racine/", ',') . "
RewriteRule .* $racine/$dir\$0 [L]
";

	if (strpos($htaccess, $bloc) === false) {
		$htaccess .= $bloc;
	}

	return ($htaccess === $source
		or ecrire_fichier($url . _ACCESS_FILE_NAME, $htaccess));
}

/**
 * Transformer les liens
 * sites/nom_site/(IMG|local).* en (IMG|local).*.
 *
 * @param string $flux
 */
function mutualisation_traiter_url_img_courtes($flux) {
	// IMG
	if (!defined('_URL_IMG')) {
		define('_URL_IMG', _DIR_RACINE . _NOM_PERMANENTS_ACCESSIBLES);
	}
	// local
	if (!defined('_URL_VAR')) {
		define('_URL_VAR', _DIR_RACINE . _NOM_TEMPORAIRES_ACCESSIBLES);
	}

	if (mutualisation_verifier_htaccess(_URL_VAR, _DIR_VAR)
		and mutualisation_verifier_htaccess(_URL_IMG, _DIR_IMG)
	) {
		return str_replace(
			array(_DIR_VAR, _DIR_IMG),
			array(_URL_VAR, _URL_IMG),
			$flux
		);
	} else {
		return $flux;
	}
}
