Valider 63f5aa81 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Généralisation de la gestion des langue et traductions :

- le formulaire de configuration propose automatiquement l'activation du menu de choix de langue et de traduction pour chaque objet déclaré qui support le premier (lang) ou les deux (lang+id_trad)
- le formulaire de gestion de langue est maintenant automatiquement inséré sur la page de consultation des objets pour lesquels la configuration l'a activé
 - on propose un squelette générique de liste des traductions d'un objet (prive/objets/liste/objets-trad), qui sera utilisé par défaut si pas de liste personalisée pour le type d'objet affiché
 - on corrige les chaines de langues pour qu'elles soient plus generique dans l'affichage des traductions
 - on provisionne l'upgrade de base pour convertir les meta, mais pour le moment on ne l'active pas pour ne pas risquer une concurence d'upgrade avec une autre branche.
 
 Autrement dit, il devient possible d'activer la gestion de langue sur n'importe quel objet en lui ajoutant simplement les champs lang+langue_choisie dans sa table SQL. Pour gérer les traductions, il faut en plus un champ id_trad en base.
parent 84663b9e
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+3 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -618,6 +618,7 @@ prive/objets/editer/logo.html -text
prive/objets/editer/objet.html -text
prive/objets/editer/rediriger_article.html -text
prive/objets/editer/rubrique.html -text
prive/objets/editer/traductions.html -text
prive/objets/infos/article.html -text
prive/objets/infos/article_fonctions.php -text
prive/objets/infos/auteur.html -text
@@ -632,6 +633,8 @@ prive/objets/liste/auteurs_lies.html -text
prive/objets/liste/auteurs_lies_fonctions.php -text
prive/objets/liste/objets-en-edition.html -text
prive/objets/liste/objets-en-edition_fonctions.php -text
prive/objets/liste/objets-trad.html -text
prive/objets/liste/objets-trad_fonctions.php -text
prive/objets/liste/rubriques.html -text
prive/objets/liste/visiteurs.html -text
prive/objets/liste/visiteurs_fonctions.php -text
+13 −6
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -103,12 +103,19 @@ function f_afficher_blocs_ecrire($flux) {
		if ($fond=="prive/squelettes/contenu/$exec"){
			if (!strpos($flux['data']['texte'],"<!--affiche_milieu-->"))
				$flux['data']['texte'] = preg_replace(',<div id=["\']wysiwyg,',"<!--affiche_milieu-->\\0",$flux['data']['texte']);
			if ($o = trouver_objet_exec($exec)
				AND $objet = $o['type']
			  AND $o['edition'] == false
			  AND $id = intval($flux['args']['contexte'][$o['id_table_objet']])){
				// inserer le formulaire de traduction
				$flux['data']['texte'] = str_replace("<!--affiche_milieu-->",recuperer_fond('prive/objets/editer/traductions',array('objet'=>$objet,'id_objet'=>$id))."<!--affiche_milieu-->",$flux['data']['texte']);
				$flux['data']['texte'] = pipeline('afficher_fiche_objet',array(
																						'args'=>array(
																							'contexte'=>$flux['args']['contexte'],
																						'type'=>$flux['args']['contexte']['exec'],
																						'id'=>$flux['args']['contexte'][id_table_objet($flux['args']['contexte']['exec'])]),
																							'type'=>$objet,
																							'id'=>$id),
																						'data'=>$flux['data']['texte']));
			}
			$flux['data']['texte'] = pipeline('affiche_milieu',array('args'=>$flux['args']['contexte'],'data'=>$flux['data']['texte']));
		}
		if (strncmp($fond,"prive/objets/contenu/",21)==0
+5 −2
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -452,6 +452,7 @@ exige d\'avoir un acc&egrave;s FTP au site Web.</p>',
	dans l\'espace public du site (forums sur abonnement).',
'info_generation_miniatures_images' => 'G&eacute;n&eacute;ration de miniatures des images',
'info_gerer_trad' => 'G&eacute;rer les liens de traduction ?',
'info_gerer_trad_objets' => '@objets@&nbsp;: g&eacute;rer les liens de traduction',
'info_groupe_important' => 'Groupe important',
'info_hebergeur_desactiver_envoi_email' => 'Certains h&eacute;bergeurs d&eacute;sactivent l\'envoi automatique de
		mails depuis leurs serveurs. Dans ce cas, les fonctionnalit&eacute;s suivantes
@@ -514,6 +515,7 @@ exige d\'avoir un acc&egrave;s FTP au site Web.</p>',
'info_mots_cles_association' => 'Les mots-cl&eacute;s de ce groupe peuvent &ecirc;tre associ&eacute;s&nbsp;:',
'info_moyenne' => 'moyenne&nbsp;:',
'info_multi_articles' => 'Activer le menu de langue sur les articles&nbsp;?',
'info_multi_objets' => '@objets@&nbsp;: activer le menu de langue',
'info_multi_cet_article' => 'Langue de cet article&nbsp;:',
'info_multi_langues_choisies' => 'Veuillez s&eacute;lectionner ci-apr&egrave;s les langues &agrave; disposition des r&eacute;dacteurs de votre site.
		Les langues d&eacute;j&agrave; utilis&eacute;es dans votre site (affich&eacute;es en premier) ne peuvent pas &ecirc;tre d&eacute;sactiv&eacute;es.',
@@ -725,6 +727,7 @@ exige d\'avoir un acc&egrave;s FTP au site Web.</p>',
'info_tout_site6' => '<b>Attention&nbsp;:</b> seuls les articles originaux sont affich&eacute;s.
Les traductions sont associ&eacute;es &agrave; l\'original,
dans une couleur qui indique leur &eacute;tat&nbsp;:',
'info_traductions' => 'Traductions',
'info_travail_colaboratif' => 'Travail collaboratif sur les articles',
'info_un_article' => 'un article,',
'info_un_mot' => 'Un seul mot &agrave; la fois',
@@ -1324,9 +1327,9 @@ avez fait des modifications importantes de graphisme ou de structure du site.',
'trad_article_inexistant' => 'Il n\'y a pas d\'article portant ce num&eacute;ro.',
'trad_article_traduction' => 'Toutes les versions de cet article&nbsp;:',
'trad_deja_traduit' => 'Erreur : impossible de relier cet article au num&eacute;ro demand&eacute;. ',
'trad_delier' => 'Ne plus lier cet article &agrave; ces traductions',
'trad_delier' => 'Ne plus lier &agrave; ces traductions',
'trad_lier' => 'Cet article est une traduction de l\'article num&eacute;ro&nbsp;:',
'trad_new' => '&Eacute;crire une nouvelle traduction de cet article',
'trad_new' => '&Eacute;crire une nouvelle traduction',

// U
'upload_fichier_zip' => 'Fichier ZIP',
+1 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -772,7 +772,7 @@ et vous reconnecter au site.
'titre_statistiques' => 'Statistiques du site',
'titre_titre_document' => 'Titre du document&nbsp;:',
'todo' => '&agrave; venir',
'trad_reference' => '(article de r&eacute;f&eacute;rence)',
'trad_reference' => '(r&eacute;f&eacute;rence des traductions)',

// Z
'zbug_balise_b_aval' => '&nbsp;: balise B en aval',
+16 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -300,4 +300,20 @@ function maj_auteurs_16428 () {
	}
}

//TODO : upgrades a activer
/*
$GLOBALS['maj'][17311] = array(
	array('ecrire_meta',"multi_objets",implode(',',
				 array_diff(
					 array($GLOBALS['meta']['multi_rubriques']=='oui'?'spip_rubriques':'',$GLOBALS['meta']['multi_articles']=='oui'?'spip_articles':''),
					 array('')
				 ))),
	array('ecrire_meta',"gerer_trad_objets",implode(',',
				 array_diff(
					 array($GLOBALS['meta']['gerer_trad']=='oui'?'spip_articles':''),
					 array('')
				 ))),
);
*/

?>
Chargement en cours