<?php

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

// Pour la mutualisation, metas à regarder
$GLOBALS['mutualisation_afficher_config'] = (isset($GLOBALS['mutualisation_afficher_config']) ? $GLOBALS['mutualisation_afficher_config'] . ',' : '') . 'soyezcreateurs/mode_affichage,slogan_site';


// Optimisation du chargement des JS (SPIP 3.1 requis, cf https://core.spip.net/issues/3497)
//define('_JS_ASYNC_LOAD',true);
if (!function_exists('lire_config')) {
	include_spip('inc/config');
}

// Taille minimum et maximum pour logo et images
// Cf https://git.spip.net/spip/medias/commit/6867398ecffd78630481903b650faeb4b780c9cb
if ((_request('exec') !== 'auteur') && (_request('exec') !== 'gis') && (_request('exec') !== 'site') && (_request('exec') !== 'site_edit') && (_request('exec') !== 'configurer_identite') && (_request('exec') !== 'admin_plugin') && (_request('exec') !== 'document_edit') && (_request('exec') !== 'mot') && (_request('exec') !== '')) {
	// Exception pour les logos des auteurs et sites et du site : eux-seuls n'ont pas de dimension minimum
	// document_edit permet de changer un fichier pour un autre : on lève le contrôle ici aussi (ça sera un easter-egg)
	if (!defined('_LOGO_MIN_WIDTH')) {
		define('_LOGO_MIN_WIDTH', intval(lire_config('soyezcreateurs_layout/largeurminlogosupload', 1920)));
	}
	if (!defined('_LOGO_MIN_HEIGHT')) {
		define('_LOGO_MIN_HEIGHT', intval(lire_config('soyezcreateurs_layout/hauteurminlogosupload', max(lire_config('soyezcreateurs/hauteur_slider', 580), lire_config('soyezcreateurs_layout/hauteurlogocontenuprincipal', 300)))));
	}
}

if (!defined('_LOGO_MAX_WIDTH')) {
	define('_LOGO_MAX_WIDTH', 3840);
}


// Ne pas imposer de taille d'image minimum, contrairement aux logos, on peut avoir besoin d'insérer une petite image dans le texte
/* if (!defined('_IMG_MIN_WIDTH'))
	define('_IMG_MIN_WIDTH', 1920);
*/
if (!defined('_IMG_MAX_WIDTH')) {
	define('_IMG_MAX_WIDTH', 3840);
}
if (!defined('_IMG_MAX_HEIGHT')) {
	define('_IMG_MAX_HEIGHT', 0);
}

if (!defined('_IMG_GD_QUALITE')) {
	define('_IMG_GD_QUALITE', 95); // Haute qualité pour les images réduites ; voir https://contrib.spip.net/Astuces-SPIP
}

// https://www.spip.net/fr_article903.html#Surligner-la-requete-dans-les-autres-pages
if (!defined('_SURLIGNE_RECHERCHE_REFERERS')) {
	define('_SURLIGNE_RECHERCHE_REFERERS',true);
}
if (isset($_REQUEST['recherche'])) {
  $_GET['var_recherche'] = $_REQUEST['recherche'];
}

// Vu l'usage des articles virtuels avec SoyezCréateurs, une redirection permanente sera plus appropriée
if (!defined('_STATUS_REDIRECTION_VIRTUEL')) {
	define('_STATUS_REDIRECTION_VIRTUEL', 301); // https://www.spip.net/fr_article5615.html
}

if (!defined('_CRITERE_MOTS_ARBO_BRANCHE')) {
	define('_CRITERE_MOTS_ARBO_BRANCHE', true);
}

// Pour que le plugin Correction liens internes fasse bien un lien interne pour les sites web
if (!defined('_CORRECTION_LIENS_INTERNES_LIEN_SITES')) {
	define('_CORRECTION_LIENS_INTERNES_LIEN_SITES', 'refsite');
}

if (!defined('_CHAMPS_INDENTITE_EXTRA_SC')) {
	define('_CHAMPS_INDENTITE_EXTRA_SC', 'adresse,code_postal,ville,pays,telephonedesc,telephone,mobiledesc,mobile,faxdesc,fax,email_contact,informations,id_article_contact,id_image_pied,lien_image_pied,id_formidable,textecol2,latitude,longitude,id_gis');
}

if (!defined('_ACCESSIBILITE_CONSERVER_BULLE')) {
	define('_ACCESSIBILITE_CONSERVER_BULLE', true); // Pour conserver les bulles d'aide volontaire sur les liens vers les documents
}
if (!defined('_MEDIAS_RESPONSIVE_MASQUER_LEGENDE')) {
	define('_MEDIAS_RESPONSIVE_MASQUER_LEGENDE', true); // Pour ne pas afficher les légendes sur les <img> avec le plugin https://www.paris-beyrouth.org/Plugin-SPIP-Insertion-avancee-d-images
}

if (!defined('_LARGEUR_ALBUM_AUTO_MIN')) {
	define('_LARGEUR_ALBUM_AUTO_MIN', 800);
}

if (!defined('_TITRER_DOCUMENTS')) {
	define('_TITRER_DOCUMENTS', true); // Le titre des documents joints est automatiquement pris à partir du nom du fichier (avec mediatheque) ; Voir https://zone.spip.org/trac/spip-zone/changeset/41565 et https://git.spip.net/spip/medias/commit/77ba1a949045811af7aff1d16e513d1721d1e5ee
}
if (!defined('_MOTS_CREATION_RETOUR_MOT_CREE')) {
	define('_MOTS_CREATION_RETOUR_MOT_CREE', true); // Revenir au mot clef nouvellement créé. Cf https://git.spip.net/spip/mots/commit/84da17fe7cc720df1de2c8fef683b802339fc816
}
if (!defined('_AGENDA_CHOIX_RUBRIQUE_OUVERT')) {
	define('_AGENDA_CHOIX_RUBRIQUE_OUVERT', false); // Ne pas pouvoir choisir qu'une rubrique puisse être parmis les seules à recevoir des événements. Cf : https://git.spip.net/spip-contrib-extensions/agenda/commit/f9f03b3950700b5df9e90b53086af9b9bc0f5d0f
}

// Pour forcer le mode écran large
$GLOBALS['spip_ecran'] = $_COOKIE['spip_ecran'] = 'large';

// Activer HTML5 depuis le squelette uniquement dans le public, et jamais dans le privé
// Cf https://contrib.spip.net/Formidable-le-generateur-de-formulaires#forum488975
if (!test_espace_prive()) {
	$GLOBALS['meta']['version_html_max'] = 'html5';
} else {
	$GLOBALS['meta']['version_html_max'] = 'html4';
}

// Pour avoir un affichage compact des Saisies (admin et mails), cf https://git.spip.net/spip-contrib-extensions/saisies/commit/82d28c13900e0d6766b692e6ef3e333236f410f6
if (!defined('_SAISIES_AFFICHAGE_COMPACT')) {
	define('_SAISIES_AFFICHAGE_COMPACT', 'oui');
}

// Demander au compresseur CSS d'embarquer les images : cf https://core.spip.net/issues/3425 et https://core.spip.net/issues/4164
#$GLOBALS['compresseur_filtres_css'] = array('compresseur_embarquer_images_css');

$GLOBALS['toujours_paragrapher'] = true;
$GLOBALS['barre_typo_pas_de_fork_typo'] = false; // Pour tenir compte de https://zone.spip.org/trac/spip-zone/changeset/22723 et disposer des raccourcis typo supplémentaires !
if (!defined('_AUTOBR')) {
	define('_AUTOBR', ''); // cf https://www.spip.net/fr_article5427.html (TextWheel)
}

// Recalculer le cache si la config du site change
// Ne marche pas sur les CSS et JS calculés avec #PRODUIRE, cf https://core.spip.net/issues/3696
$GLOBALS['marqueur'] = ($GLOBALS['marqueur'] ?? '') . ':sc' . md5(
	($GLOBALS['meta']['boutonstexte'] ?? '') .
	($GLOBALS['meta']['btv2'] ?? '') .
	($GLOBALS['meta']['bte'] ?? '') .
	($_COOKIE['spip_lang'] ?? '') .
	($GLOBALS['meta']['nom_site'] ?? '') .
	($GLOBALS['meta']['slogan_site'] ?? '') .
	($GLOBALS['meta']['descriptif_site'] ?? '') .
	($GLOBALS['meta']['email_webmaster'] ?? '')
); // Sur un conseil de Cedric : http://permalink.gmane.org/gmane.comp.web.spip.zone/6258
if (!defined('_TRI_GROUPES_MOTS')) {
	define('_TRI_GROUPES_MOTS', '0+titre,titre');  // cf http://trac.rezo.net/trac/spip/changeset/14712
}
if (!defined('_DUREE_CACHE_DEFAUT')) {
	define('_DUREE_CACHE_DEFAUT', 12 * 3600); // pris en compte à partir de http://trac.rezo.net/trac/spip/changeset/10121
}
if (!defined('_URLS_PROPRES_MAX')) {
	define('_URLS_PROPRES_MAX', 60); // pris en compte à partire de http://trac.rezo.net/trac/spip/changeset/10346
}
# FBI : si on trie sur les titre puis sur les dates, les dates ne classent que ceux qui ont le même titre ==> inutile
# TODO later : quand les rang seront gérés, 'rang, date DESC' fonctionnera
#define('_TRI_ARTICLES_RUBRIQUE', '0+titre,date DESC'); // cf http://trac.rezo.net/trac/spip/changeset/11492
if (!defined('_CLEVERMAIL_NOUVEAUTES_HTML')) {
	define('_CLEVERMAIL_NOUVEAUTES_HTML', 'lettre_libre');
}
// Doit être à vide depuis que CM gère la génération automatique du format texte à partir du format HTML
if (!defined('_CLEVERMAIL_NOUVEAUTES_TEXT')) {
	define('_CLEVERMAIL_NOUVEAUTES_TEXT', '');
}

if (!defined('_CLEVERMAIL_DISTANT')) {
	define('_CLEVERMAIL_DISTANT', false); // Pour que CM ne calcule pas l'URL publique du squelette
}
if (!defined('_SKEL_HORS_TRAVAUX')) {
	define('_SKEL_HORS_TRAVAUX', 'clevermail_do,gis_json,identifiants'); // Pour que le plugin en travaux laisse passer les inscriptions à la NL, la carto GIS et les inscriptions au site
}

if (!defined('_SIDR_PERSO')) {
	define('_SIDR_PERSO', true); // Pour avoir sa propre insertion des scripts de sidr
}

if (!defined('_PREVIEW_TOKEN')) {
	define('_PREVIEW_TOKEN', true); // https://git.spip.net/spip/spip/commit/6865e8262439397295aac07b28ed07cb1073fd46
}

/*
	Le truc pour disposer dans #ENV{marker_icon_name} dans les squelettes.
	Merci à ARNO* : http://permalink.gmane.org/gmane.comp.web.spip.devel/55856
*/
#$_GET['marker_icon_name'] = '_Marker_icon'; // Pas utilisé

// Tous ces parametres sont inutiles et non pris en compte si le plugin cfg est installe
$GLOBALS['barre_typo_pas_de_fausses_puces'] = true;
$GLOBALS['BarreTypoEnrichie_Preserve_Header'] = true;
$GLOBALS['config_intertitre'] = true; // Necessaire pour empécher la configuration par CFG
$GLOBALS['debut_intertitre'] = '<h2 class="spip">';
$GLOBALS['fin_intertitre'] = '</h2>';
$GLOBALS['debut_intertitre_2'] = '<h3 class="spip">';
$GLOBALS['fin_intertitre_2'] = '</h3>';
$GLOBALS['debut_intertitre_3'] = '<h4 class="spip">';
$GLOBALS['fin_intertitre_3'] = '</h4>';
$GLOBALS['debut_intertitre_4'] = '<h5 class="spip">';
$GLOBALS['fin_intertitre_4'] = '</h5>';
$GLOBALS['debut_intertitre_5'] = '<h6 class="spip">';
$GLOBALS['fin_intertitre_5'] = '</h6>';

// Pour suivre les recommandations du RGAA :
$GLOBALS['debut_italique'] = '<em class="spip">';
$GLOBALS['fin_italique'] = '</em>';

// Pour pouvoir styler en appliquant : http://www.sovavsiti.cz/css/hr.html
$GLOBALS['ligne_horizontale'] = "\n<div class='hrspip'><hr class='spip' /></div>\n";

# Envoi de mail aux contributeurs d'un forum si reponse a leur message
if (!defined('_SUIVI_FORUM_THREAD')) {
	define('_SUIVI_FORUM_THREAD', true);
}

// désactiver l'héritage des logos de rubriques (cf https://www.spip.net/fr_article5691.html)
if (lire_config('soyezcreateurs_layout/logolocal', 'local') == 'local') {
	define('_LOGO_RUBRIQUE_DESACTIVER_HERITAGE', true);
}

function balise_SECTEUR_PDF_dist($p) {
	if (!is_array($p->param)) {
		$p->param = [];
	}

	// Produire le premier argument {secteur_pdf}
	$texte = new Texte();
	$texte->type = 'texte';
	$texte->texte = 'secteur_pdf';
	$param = [0 => null, 1 => [0 => $texte]];
	array_unshift($p->param, $param);

	// Transformer les filtres en arguments
	for ($i = 1; $i < count($p->param); $i++) {
		if ($p->param[$i][0]) {
			if (!strstr((string) $p->param[$i][0], '=')) {
				break;# on a rencontre un vrai filtre, c'est fini
			}
			$texte = new Texte();
			$texte->type = 'texte';
			$texte->texte = $p->param[$i][0];
			$param = [0 => $texte];
			$p->param[$i][1] = $param;
			$p->param[$i][0] = null;
		}
	}

	// Appeler la balise #MODELE{secteur_pdf}{arguments}
	if (!function_exists($f = 'balise_modele')) {
		$f = 'balise_modele_dist';
	}
	return $f($p);
}

if (!defined('_DIR_PLUGIN_CRITERE_MOTS')) {
	function critere_mots_dist($idb, &$boucles, $crit) {
		return true;
	}
	function critere_mots_selon_id_dist($idb, &$boucles, $crit) {
		return true;
	}
	function critere_mots_selon_titre_dist($idb, &$boucles, $crit) {
		return true;
	}
}

define('_NOIZETIER_REPERTOIRE_PAGES', 'contenu/');
