Subversion Repositories Applications.papyrus

Rev

Rev 2036 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 2036 Rev 2037
Line 25... Line 25...
25
 
25
 
26
// +------------------------------------------------------------------------------------------------------+
26
// +------------------------------------------------------------------------------------------------------+
27
// |                                            ENTETE du PROGRAMME                                       |
27
// |                                            ENTETE du PROGRAMME                                       |
28
// +------------------------------------------------------------------------------------------------------+
28
// +------------------------------------------------------------------------------------------------------+
29
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherContenuLocal';
29
$GLOBALS['_GEN_commun']['info_applette_nom_fonction'] = 'afficherContenuLocal';
-
 
30
$GLOBALS['_GEN_commun']['info_applette_balise'] = 	'\{\{[Cc]ontenu_local'.
-
 
31
													'(?:\s*'.
-
 
32
														'(?:'.
-
 
33
															'(var="[^"]*")|'.
-
 
34
														')'.
-
 
35
													')+'.
Line 30... Line 36...
30
$GLOBALS['_GEN_commun']['info_applette_balise'] = 	'(?:<!-- '.$GLOBALS['_GEN_commun']['balise_prefixe'].'(CONTENU_LOCAL_?(?:([A-Za-z0-9_]+))) -->)';
36
													'\s*\}\}';
31
 
37
 
32
// +------------------------------------------------------------------------------------------------------+
38
// +------------------------------------------------------------------------------------------------------+
Line 48... Line 54...
48
* @param  string  nom de la variable a chercher dans les fichiers de configuration ($GLOBALS)
54
* @param  string  nom de la variable a chercher dans les fichiers de configuration ($GLOBALS)
49
*/
55
*/
Line 50... Line 56...
50
 
56
 
51
function afficherContenuLocal($tab_applette_arguments, $_GEN_commun)
57
function afficherContenuLocal($tab_applette_arguments, $_GEN_commun)
52
{
58
{
53
	//Gestion de la valeur par défaut
59
	//Gestion de la langue par défaut
-
 
60
	$langue = $GLOBALS['_GEN_commun']['i18n'];
54
	$langue = $GLOBALS['_GEN_commun']['i18n'];
61
	
55
	if ($langue == '')	{
62
	if ($langue == '')	{
56
		$langue = 'en';		
63
		$langue = GEN_I18N_ID_DEFAUT;		
Line 57... Line 64...
57
	}
64
	}
-
 
65
	
58
	
66
	trouverI18N($langue);
59
	trouverI18N($langue);
-
 
Line -... Line 67...
-
 
67
	
-
 
68
	$lang = $GLOBALS['_PAPYRUS_']['page']['langue_site'];
60
	$lang = $GLOBALS['_PAPYRUS_']['page']['langue_site'];
69
	
-
 
70
	//+----------------------------------------------------------------------------------------------------------------+
-
 
71
	// Gestion des arguments
-
 
72
	$balise = $tab_applette_arguments[0];
-
 
73
    $tab_arguments = $tab_applette_arguments;
-
 
74
	unset($tab_arguments[0]);
-
 
75
    foreach($tab_arguments as $argument) {
-
 
76
    	if ($argument != '') {
-
 
77
	    	$tab_parametres = explode('=', $argument, 2);
-
 
78
	    	$options[$tab_parametres[0]] = trim($tab_parametres[1], '"');
-
 
79
    	}
-
 
80
    }
61
	$cle = $tab_applette_arguments[2];
81
    
62
	
82
    $cle = $options["var"];
63
	if (isset($tab_applette_arguments[2]))
-
 
64
	{
83
	if (isset($cle))
65
		// Si l'argument a bien été passé, on cherche la traduction
84
	{
66
		
85
		// Si l'argument a bien été passé, on cherche la traduction		
67
		if (isset($GLOBALS['_PAPYRUS_']['PAP_LANG'][$lang][$cle])&&(!empty($GLOBALS['_PAPYRUS_']['PAP_LANG'][$lang][$cle])))
-
 
68
		{
86
		if (isset($GLOBALS['_CONTENU_LOCAL_']['TRANS'][$lang][$cle])&&(!empty($GLOBALS['_CONTENU_LOCAL_']['TRANS'][$lang][$cle])))
69
			// La traduction extiste dans la langue courante
87
		{
70
			
88
			// La traduction extiste dans la langue courante
71
			return $GLOBALS['_PAPYRUS_']['PAP_LANG'][$lang][$cle]; 			
89
			return $GLOBALS['_CONTENU_LOCAL_']['TRANS'][$lang][$cle]; 			
72
		}	
90
		}	
Line 73... Line 91...
73
		elseif (isset($GLOBALS['_PAPYRUS_']['PAP_LANG'][GEN_I18N_ID_DEFAUT][$cle])&&(!empty($GLOBALS['_PAPYRUS_']['PAP_LANG'][GEN_I18N_ID_DEFAUT][$cle]))){
91
		elseif (isset($GLOBALS['_CONTENU_LOCAL_']['TRANS'][GEN_I18N_ID_DEFAUT][$cle])&&(!empty($GLOBALS['_CONTENU_LOCAL_']['TRANS'][GEN_I18N_ID_DEFAUT][$cle]))){
Line 74... Line 92...
74
			// La traduction dans la langue par défaut est définie
92
			// La traduction dans la langue par défaut est définie
Line 83... Line 101...
83
	return $cle;
101
	return $cle;
84
}
102
}
Line 85... Line 103...
85
 
103
 
-
 
104
 
-
 
105
	/**
-
 
106
	 * Grégoire : 
-
 
107
	 * 
86
 
108
	 * Fonction trouverI18N : 
87
	/**
109
	 * Si le fichier n'a pas déjà été chargé dans la variable $GLOBALS,
88
	 * GREG : définition de la fonction pour charger les fichiers de langue (.ini)
110
	 * on cherche un fichier i18n.ini dans le site courant et la langue courante  
89
	 * Enregistre dans les variables $GLOBALS
111
	 * Enregistre dans les variables $GLOBALS
-
 
112
	 * @param string la langue a charger  
90
	 * @param string la langue a charger  
113
	 * */
91
	 * */
114
	
92
	function trouverI18N($langue)	{
115
	function trouverI18N($langue)	{
93
		//Définir le dossier ou se trouvent les sites
-
 
Line 94... Line 116...
94
		$dir = PAP_CHEMIN_RACINE."sites/";
116
		//Définir le dossier ou se trouvent les sites
95
		$dossierSites = opendir($dir);
117
		$dir = PAP_CHEMIN_RACINE."sites/".$GLOBALS['_GEN_commun']['info_site']->gs_code_alpha;
96
		
118
		
-
 
119
		// 1. essayer d'ouvrir le dossier avec la langue courante
-
 
120
		if (file_exists($dir."/".$langue."/i18n.ini"))	{
Line -... Line 121...
-
 
121
 
Line 97... Line -...
97
		//Parcourir l'arborescence
-
 
98
		while ($f = readdir($dossierSites))
-
 
99
		{
-
 
100
			
-
 
101
			
-
 
102
			if (($f != ".")&&($f != "..")&&($f != ".svn"))	{
-
 
103
				if (is_dir($dir.$f))	{
122
			//Vérifier si le fichier a été chargé
104
					//C'est un dossier, on trouve le fichier de langues.
123
			if (!isset($GLOBALS['_CONTENU_LOCAL_']['LOADED_FILES'][$dir."/".$langue."/i18n.ini"]))	{
105
					if (file_exists($dir.$f."/".$langue."/i18n.ini"))	{
124
			
106
						$ini_array = parse_ini_file($dir.$f."/".$langue."/i18n.ini");
125
			$ini_array = parse_ini_file($dir."/".$langue."/i18n.ini");
107
						
-
 
108
						//Le fichier ini a été lu, définir les variables globales
-
 
109
						foreach	($ini_array as $key => $valeur)
-
 
110
						{
126
			
Line -... Line 127...
-
 
127
			//Le fichier ini a été lu, définir les variables globales
-
 
128
			foreach	($ini_array as $key => $valeur)
-
 
129
			{
111
							$GLOBALS['_PAPYRUS_']['PAP_LANG'][$langue][$key] = $valeur;
130
				$GLOBALS['_CONTENU_LOCAL_']['TRANS'][$langue][$key] = $valeur;
-
 
131
			}
112
						}
132
			
113
					}		
133
			$GLOBALS['_CONTENU_LOCAL_']['LOADED_FILES'][$dir."/".$langue."/i18n.ini"] = true;
114
				}
134
			
115
			}
135
			}