/**
 * Intervient après le changement de statut d'un objet
 *
 * @pipeline post_edition
 *
 * @param array $flux
 *        	Données du pipeline
 * @return array Données du pipeline
 */
function reservations_credits_post_edition($flux)
{
    $table = $flux['args']['table'];
    if ($table == 'spip_evenements') {
        $statut_ancien = $flux['args']['statut_ancien'];
        $statut = $flux['data']['statut'];
        // Si un événement publié est annulé
        if ($statut_ancien == 'publie' and $statut == 'annule') {
            set_request('instituer_credit_mouvement', 'credit');
        } elseif ($statut_ancien == 'annule' and $statut == 'publie') {
            set_request('instituer_credit_mouvement', 'debit');
        }
        // On crée les crédits pour chaque détail de réservation payé
        if ($type = _request('instituer_credit_mouvement')) {
            set_request('type', $type);
            $action = charger_fonction('editer_objet', 'action');
            if (test_plugin_actif('prix_objets')) {
                $sql = sql_select('id_reservations_detail,
							id_auteur,
							email,
							spip_reservations_details.prix_ht,
							spip_reservations_details.prix,
							spip_reservations_details.taxe,
							descriptif,code_devise', 'spip_reservations_details
							LEFT JOIN spip_reservations USING (id_reservation)
							LEFT JOIN spip_prix_objets USING (id_prix_objet)', 'id_evenement=' . $flux['args']['id_objet'] . ' AND spip_reservations_details.statut="accepte"');
            } else {
                $sql = sql_select('id_reservations_detail, id_auteur, email, prix_ht, prix, taxe,descriptif', 'spip_reservations_details LEFT JOIN spip_reservations USING (id_reservation)', 'id_evenement=' . $flux['args']['id_objet'] . ' AND spip_reservations_details.statut="accepte"');
            }
            $date = date('Y-m-d H:i:s');
            while ($data = sql_fetch($sql)) {
                if (!isset($data['id_auteur']) or !($email = sql_getfetsel('email', 'spip_auteurs', 'id_auteur =' . $data['id_auteur']))) {
                    $email = $data['email'];
                }
                if (isset($data['code_devise'])) {
                    set_request('devise', $data['code_devise']);
                }
                set_request('email', $email);
                set_request('id_reservations_detail', $data['id_reservations_detail']);
                set_request('descriptif', _T('reservation_credit_mouvement:mouvement_evenement_' . $statut, array('titre' => $data['descriptif'])));
                // On établit le montant
                if ($data['prix'] > 0) {
                    set_request('montant', $data['prix']);
                } else {
                    $montant = $data['prix_ht'] + $data['taxe'];
                    set_request('montant', $montant);
                }
                set_request('date_creation', $date);
                // Création du crédit
                $action('new', 'reservation_credit_mouvement');
            }
        }
    }
    return $flux;
}
function action_generer_recu_souscription_dist($id_souscription = null, $annee = null)
{
    if (is_null($id_souscription)) {
        $id_souscription = _request('id_souscription');
        $annee = _request('annee');
        $hash = _request('hash');
        $lowsec = souscription_hash_lowsec($id_souscription, $annee);
        if ($hash !== $lowsec) {
            die('Erreur : URL pas autorisee');
        }
    } else {
        $lowsec = souscription_hash_lowsec($id_souscription, $annee);
    }
    $format = _request('format');
    if (!in_array($format, array('html', 'pdf'))) {
        // PDF ou HTML ? si le plugin SPIPDF est la on genere un recu en PDF
        $format = "html";
        if (test_plugin_actif("spipdf")) {
            $format = "pdf";
        }
    }
    $numero = souscription_numero_recu($id_souscription, $annee);
    $dir = sous_repertoire(_DIR_IMG, "attestations");
    // securite : dossier inaccessible en http
    if (!file_exists($f = $dir . ".htaccess")) {
        ecrire_fichier($f, "deny from all\n");
    }
    $filename = $numero . ".{$format}";
    $file = $dir . $filename;
    if (!file_exists($file)) {
        $fond = $format == "pdf" ? "attestation_pdf" : "attestation";
        $content = recuperer_fond($fond, array("id_souscription" => $id_souscription, "annee" => $annee, "hash" => $lowsec));
        ecrire_fichier($file, $content);
    }
    $mime = "text/html";
    if ($format == "pdf") {
        $mime = "application/pdf";
    }
    header("Content-type: {$mime}");
    if ($format == "pdf") {
        $filename = preg_replace(",\\W+,", "", $GLOBALS['meta']['nom_site']) . "-Recu-" . $filename;
        header("Content-Disposition: attachment; filename={$filename}");
        //header("Content-Transfer-Encoding: binary");
    }
    // fix for IE catching or PHP bug issue
    header("Pragma: public");
    header("Expires: 0");
    // set expiration time
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    if ($cl = filesize($file)) {
        header("Content-Length: " . $cl);
    }
    readfile($file);
}
示例#3
0
function taa_pre_insertion($flux){
   if ($flux['args']['table']=='spip_articles'){
		if($lang=_request('lang_dest')){
			$flux['data']['lang'] =  $lang;
			$flux['data']['langue_choisie'] =  'oui';		 	
			}
		elseif(test_plugin_actif('tradrub')){
		    $id_rubrique=_request('id_parent')?_request('id_parent'):_request('id_rubrique');
			$lang=sql_getfetsel('lang','spip_rubriques','id_rubrique='.$id_rubrique);
			$flux['data']['lang'] = $lang;
			$flux['data']['langue_choisie'] = 'non';	
			}		
    	}
return $flux;
}
/**
 * Action sécurisée pour valider manuellement les membres du site
 *
 * On change le statut de l'auteur et on lui envoie un mail avec de quoi se loguer
 *
 * @return rien
 */
function action_valider_auteur_dist()
{
    $securiser_action = charger_fonction('securiser_action', 'inc');
    $id_auteur = $securiser_action();
    if (!$id_auteur or !autoriser('valider', 'auteur', $id_auteur)) {
        include_spip('inc/minipres');
        $msg = _T('valider_inscription:permissions_insuffisantes');
        die(minipres($msg));
    }
    include_spip('base/abstract_sql');
    // le statut à donné a été enregistré dans le champs « prefs »
    $statut = sql_getfetsel('prefs', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
    include_spip('action/editer_objet');
    if ($err = objet_modifier('auteur', $id_auteur, array('statut' => $statut))) {
        include_spip('inc/minipres');
        die(minipres(_T('valider_inscription:erreur_validation'), $err));
    }
    $desc = sql_fetsel('statut, id_auteur, login, email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
    include_spip('action/inscrire_auteur');
    // generer le mot de passe (ou le refaire si compte inutilise)
    $desc['pass'] = creer_pass_pour_auteur($id_auteur);
    // attribuer un jeton pour confirmation par clic sur un lien
    $desc['jeton'] = auteur_attribuer_jeton($id_auteur);
    // Si on doit lier l'auteur à une zone, il faut le faire ici,
    // parce que les visiteurs n'ont pas les autorisations nécessaires
    // lors de l'inscription
    if (test_plugin_actif('auteur2zone')) {
        include_spip('inc/config');
        $config = lire_config('auteur2zone');
        // Lier à la zone
        include_spip('action/editer_zone');
        zone_lier($config['auteur_zone_auto'], 'auteur', $id_auteur);
    }
    $envoyer_inscription = charger_fonction('envoyer_inscription', '');
    list($sujet, $msg, $from, $head) = $envoyer_inscription($desc, $nom, $statut);
    include_spip('inc/notifications');
    notifications_envoyer_mails($desc['email'], $msg, $sujet, $from, $head);
}
/**
 * Massicoter un logo
 *
 * Traitement automatique sur les balises #LOGO_*
 *
 * @param string $fichier : Le logo
 *
 * @return string : Un logo massicoté
 */
function massicoter_logo($logo, $objet_type = null, $id_objet = null, $role = null, $env = null)
{
    include_spip('inc/filtres');
    if (!$logo) {
        return $logo;
    }
    $src = extraire_attribut($logo, 'src');
    $alt = extraire_attribut($logo, 'alt');
    $classes = extraire_attribut($logo, 'class');
    $onmouseover = extraire_attribut($logo, 'onmouseover');
    $onmouseout = extraire_attribut($logo, 'onmouseout');
    /* S'il n'y a pas d'id_objet, on essaie de le deviner avec le nom du
       fichier, c'est toujours mieux que rien. Sinon on abandonne… */
    if (is_null($id_objet)) {
        $objet = massicot_trouver_objet_logo($src);
        /* Si le plugin roles_documents est activé, l'objet n'est pas forcément
         * devinable via le nom de fichier (notamment avec la balise
         * LOGO_ARTICLE_RUBRIQUE). Dans ce cas on essaie de bidouiller un truc
         * avec l'environnement. */
        if (test_plugin_actif('roles_documents') and $env) {
            if (isset($env['id_article'])) {
                $objet = array('objet' => 'article', 'id_objet' => $env['id_article']);
            } elseif (isset($env['id_rubrique'])) {
                $objet = array('objet' => 'rubrique', 'id_objet' => $env['id_rubrique']);
            }
        }
        if (is_null($objet)) {
            return $logo;
        }
        $objet_type = $objet['objet'];
        $id_objet = $objet['id_objet'];
    }
    $parametres = massicot_get_parametres($objet_type, $id_objet, $role);
    $fichier = massicoter_fichier($src, $parametres);
    if ($onmouseout) {
        $onmouseout = str_replace($src, $fichier, $onmouseout);
    }
    if ($onmouseover) {
        $src_off = preg_replace('/^.*[\']([^\']+)[\']/', '$1', $onmouseover);
        $parametres_off = massicot_get_parametres($objet_type, $id_objet, 'logo_survol');
        $fichier_off = massicoter_fichier($src_off, $parametres_off);
        $onmouseover = str_replace($src_off, $fichier_off, $onmouseover);
    }
    $balise_img = charger_filtre('balise_img');
    $balise = $balise_img($fichier, $alt, $classes);
    $balise = inserer_attribut($balise, 'onmouseover', $onmouseover);
    $balise = inserer_attribut($balise, 'onmouseout', $onmouseout);
    return $balise;
}
function formulaires_csv2auteurs_exportation_traiter_dist()
{
    $nom_champs = _request('nom_champs');
    $choix_statut = _request('choix_statut');
    $retour = $login_restreint = array();
    // creation du nom du fichier
    $date_du_jour = date(Y_m_d);
    $nom_fichier_csv = $date_du_jour . '_export_table_auteurs.csv';
    $statut = array("0minirezo" => "administrateur", "1comite" => "redacteur", "6forum" => "visiteur");
    // récupération des données dans la tables spip_auteurs que l'on place dans le champ "ss_groupe"
    // Ecriture de la premiere ligne d'entete
    foreach ($nom_champs as $entete) {
        $tableau_csv[0][$entete] = $entete;
    }
    // ajout de l'admin restreint
    $tableau_csv[0]["ss_groupe"] = "ss_groupe";
    // ajout de l'acces restreint s'il existe
    if (test_plugin_actif("accesrestreint")) {
        $tableau_csv[0]["zone"] = "zone";
    }
    $i = 1;
    // création d'un array contenant tous les logins des admins restreints
    if (in_array("0minirezo", $choix_statut)) {
        $r = sql_select("DISTINCT auteur.login AS login", array("spip_auteurs AS auteur", "spip_auteurs_liens AS liens"), array("auteur.statut='0minirezo'", "liens.id_auteur=auteur.id_auteur", "liens.objet='rubrique'"));
        while ($row = sql_fetch($r)) {
            $login_restreint[] = $row['login'];
        }
    }
    if ($res = sql_select('*', 'spip_auteurs AS auteur')) {
        while ($row = sql_fetch($res)) {
            // test les statuts demandés
            if (in_array($row[statut], $choix_statut)) {
                // si c'est un admin, on ne selectionne que les admins restreints !!!
                if ($row['statut'] == "0minirezo" and in_array($row['login'], $login_restreint) or $row['statut'] == "1comite" or $row['statut'] == "6forum") {
                    // Prise en compte de tous les champs selectionnés
                    foreach ($nom_champs as $nom_champ) {
                        // Prise en compte du champ statut
                        if ($nom_champ == "statut") {
                            $tableau_csv[$i]["statut"] = $statut[$row[statut]];
                        } else {
                            $tableau_csv[$i][$nom_champ] = $row[$nom_champ];
                        }
                    }
                    // on selectionne les noms des rubriques pour les admins restreints
                    if ($res2 = sql_select(array("rub.titre AS titre"), array("spip_rubriques AS rub", "spip_auteurs_liens AS lien"), array("rub.id_rubrique = lien.id_objet", "lien.id_auteur  = {$row['id_auteur']}", "lien.objet      = 'rubrique'"))) {
                        $j = 0;
                        while ($row2 = sql_fetch($res2)) {
                            $input[$row[nom]][$j] = $row2[titre];
                            $j++;
                        }
                        if ($input[$row[nom]]) {
                            $tableau_csv[$i]["ss_groupe"] = implode('|', $input[$row[nom]]);
                        } else {
                            $tableau_csv[$i]["ss_groupe"] = "";
                        }
                    }
                    // Prise en compte des zones restreintes : plugin acces restreint si le plugin est installe
                    if (test_plugin_actif("accesrestreint")) {
                        $k = 0;
                        if ($res3 = sql_select(array("rub.titre AS titre"), array("spip_zones_liens AS zone_auteur", "spip_zones_liens AS zone_rubrique", "spip_rubriques AS rub"), array("zone_auteur.id_zone = zone_rubrique.id_zone", "zone_auteur.objet='auteur' AND zone_auteur.id_objet ={$row['id_auteur']}", "zone_rubrique.objet='rubrique'AND zone_rubrique.id_objet = rub.id_rubrique"))) {
                            while ($row3 = sql_fetch($res3)) {
                                $zones[$row[nom]][$k] = $row3[titre];
                                $tableau_csv[$i]["zone"] = implode('|', $zones[$row[nom]]);
                                $k++;
                            }
                        }
                    }
                }
            }
            $i++;
        }
    }
    // création de la variable contenant l'intégralité des donnees
    $a_ecrire = '';
    include_spip('inc/config');
    $separateur = lire_config("csv2auteurs_separateur");
    foreach ($tableau_csv as $ligne) {
        $a_ecrire .= implode("{$separateur}", $ligne);
        $a_ecrire .= "\r\n";
    }
    // telechargement du fichier csv
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename={$nom_fichier_csv}");
    header("Content-Length: " . strlen($a_ecrire));
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
    header('Pragma: public');
    echo $a_ecrire;
    exit;
    return $retour;
}
示例#7
0
/**
 * Creation du profil a la volee lors de l'inscription a la newsletter
 * @param $flux
 * @return mixed
 */
function profils_post_edition($flux)
{
    $notifier = true;
    //ne pas envoyer de notif par exemple lors d'une inscription en masse a une newsletter
    if (isset($GLOBALS['notification_instituermailsubscriber_status']) and !$GLOBALS['notification_instituermailsubscriber_status']) {
        $notifier = false;
    }
    // quand un auteur change d'email, noter le changement
    // pour actualiser ses abonnements mailsubscribers si besoin dans post_edition
    if ($flux['args']['table'] == 'spip_auteurs' and $id_auteur = $flux['args']['id_objet'] and isset($flux['data']['email']) and isset($GLOBALS['email_changed'][$flux['data']['email']]) and $old_email = $GLOBALS['email_changed'][$flux['data']['email']]) {
        if (test_plugin_actif("mailsubscribers")) {
            sql_updateq("spip_mailsubscribers", array('email' => $flux['data']['email']), "email=" . sql_quote($old_email));
        }
    }
    if ($flux['args']['table'] == 'spip_mailsubscribers' and $id_mailsubscriber = $flux['args']['id_objet'] and $flux['args']['action'] == 'instituer' and isset($flux['data']['statut']) and $flux['data']['statut'] == 'valide' and $flux['args']['statut_ancien'] !== 'valide') {
        include_spip("inc/config");
        if (lire_config("profils/creer_depuis_mailsubscriber", "non") == 'oui') {
            if ($row = sql_fetsel("*", "spip_mailsubscribers", "id_mailsubscriber=" . intval($id_mailsubscriber))) {
                if (!sql_fetsel("*", "spip_auteurs", "email=" . sql_quote($row['email']) . " AND statut<>" . sql_quote("5poubelle"))) {
                    include_spip("inc/profils");
                    $id_auteur = profils_creer_depuis_mailsubscriber($row, $notifier);
                }
            }
        }
    }
    return $flux;
}
示例#8
0
function formulaires_editer_profil_traiter_dist($id_auteur)
{
    refuser_traiter_formulaire_ajax();
    $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
    $new_email = "";
    // si l'email change
    if (_request('email') and _request('email') !== $auteur['email']) {
        $new_email = _request('email');
        // si c'etait le login, changer aussi le login
        if ($auteur['email'] == $auteur['login']) {
            set_request('login', _request('email'));
        }
    }
    include_spip('inc/editer');
    // renseigner le nom de la table auteurs (s'il n'a pas été renseigné)
    if (!_request('nom')) {
        set_request('nom', _request('prenom') . ' ' . _request('name'));
    }
    $res = formulaires_editer_objet_traiter('auteur', $id_auteur);
    // si l'email change
    if ($new_email) {
        // securite si jamais la modif en base n'a pas eu lieu
        $new_email = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
        // updater les abonnements dans mailsubscribers
        // si jamais il y a deja in subscriber sur le nouveau mail, ca ne fera rien, et l'ancien email continuera a recevoir
        // a charge pour l'utilisateur de se desabonner manuellement sur l'ancien
        if (test_plugin_actif("mailsubscribers")) {
            sql_updateq("spip_mailsubscribers", array('email' => $new_email), "email=" . sql_quote($auteur['email']));
        }
    }
    /*
    if ($email = _request('email')){
    
      if (_request('newsletter')){
    		$subscribe = charger_fonction("subscribe","newsletter");
    		$subscribe($email,array('nom'=>_request('nom'),'listes'=>array('profils'),'force'=>true));
      }
    	else {
    		$unsubscribe = charger_fonction("unsubscribe","newsletter");
    		$unsubscribe($email,array('listes'=>array('profils')));
    	}
    	set_request('newsletter');
    }
    */
    if (isset($res['message_ok'])) {
        $res['message_ok'] = _T('editer_profil:message_ok_profil_modifie');
        $res['editable'] = true;
    }
    return $res;
}
function csv2auteurs_supprimer_auteurs($Tid, $statut, $traitement = "supprimer_articles", $id_rubrique_archive = 1)
{
    // passage à la poubelle
    $objet = 'auteur';
    $set = array('statut' => '5poubelle');
    foreach ($Tid as $id) {
        $Tarticles = sql_allfetsel('id_objet', 'spip_auteurs_liens', array('id_auteur=' . $id, 'objet="article"'));
        // auteur sans article et demande de suppression: suppression complète
        if (count($Tarticles) == 0 and _request('abs_poubelle') == 'supprimer') {
            sql_delete('spip_auteurs', "id_auteur={$id}");
        } else {
            objet_modifier($objet, $id, $set);
        }
        // traitement des articles de l'auteur
        if (count($Tarticles) != 0) {
            // supprimer les articles
            $table_idarticle = array();
            if ($traitement == 'supprimer_articles') {
                objet_dissocier(array('id_auteur' => $id), array('article' => $Tarticles));
                foreach ($Tarticles as $idarticle) {
                    $table_idarticle[] = $idarticle['id_objet'];
                }
                $inarticle = join(',', $table_idarticle);
                sql_delete('spip_articles', "id_article IN ({$inarticle})");
            }
            // deplacer les articles dans la rubrique d'archivage
            if ($traitement == 'transferer_articles') {
                foreach ($Tarticles as $idarticle) {
                    objet_modifier('article', $idarticle['id_objet'], array('id_parent' => $id_rubrique_archive));
                }
            }
        }
        if (test_plugin_actif("accesrestreint")) {
            // suppression des zones de l'auteur
            $Tzones = sql_allfetsel('id_zone', 'spip_zones_liens', array('id_objet=' . $id, 'objet="auteur"'));
            foreach ($Tzones as $id_zone) {
                zone_lier($id_zone, 'auteur', $id, 'del');
            }
        }
        // suppression des rubriques des admins restreints
        if ($statut == '0minirezo') {
            $Trubriques = sql_allfetsel('id_objet', 'spip_auteurs_liens', array('id_auteur=' . $id, 'objet="rubrique"'));
            objet_dissocier(array('id_auteur' => $id), array('rubrique' => $Trubriques));
        }
    }
}
示例#10
0
function inc_barre_langues_dist($id_article){
	include_spip('inc/config');
	include_spip('inc/actions');
	if(!function_exists('icone_verticale')) {
	       include_spip('inc/presentation');
	   }	
	$row = sql_fetsel("*", "spip_articles", "id_article=$id_article");
		
	$id_rubrique = $row['id_rubrique'];
	$id_trad = $row["id_trad"];
		
	$virtuel = (strncmp($row["chapo"],'=',1)!==0) ? '' :
	chapo_redirige(substr($row["chapo"], 1));
		
	$objet='article';	
	
	//création des onglets traduction
	
	// Les langues du site ou si restreint celle définis par config
	
	$langues_dispos=lire_config('taa/utiliser_langues')?lire_config('taa/utiliser_langues'):explode(',',lire_config('langues_multilingue'));

	
	// On établit les traductions de l'article
	$traductions	= array();
	
	if($langues_dispos){	
		
	// L'article est traduit	
	if($id_trad>0){
	
		// les traductions de l'article
		$sql=sql_select('lang,id_article','spip_articles','id_trad='.$id_trad);
	
		while($row=sql_fetch($sql)){
			$traductions[$row['lang']]=$row['id_article'];
			}
		$clic = _T('trad_delier');	
		$options = '<div class="options delier ajax">'.icone_verticale($clic, redirige_action_auteur('traduction',$id_article.'-article-0',"article&amp;id_article=$id_article"), "traductions-24.gif", "supprimer.gif",'right', false).'</div>';		
		}
	// L'article n'est pas traduit	
	else{
		$id_trad=$id_article;
		$row=sql_fetsel('lang,id_article','spip_articles','id_article='.$id_article);
		
		// Seul l'aticle présent est pris dans l'array traductions
		$traductions[$row['lang']]=$row['id_article'];
		
		$options =  '<div class="options form_lier"><h2>'._T('taa:lier_traduction').'</h2>'.redirige_action_auteur("traduction",
			$id_article.'-article',
			"article",
			"id_article=$id_article",
			("<label for='lier_trad'>" . _T('trad_lier') . "</label>" .
			"\n<input type='text' class='fondl' name='lier_trad' id='lier_trad' size='5' />\n"),
			_T('bouton_valider'),
			" class='fondl'").'</div>';
		}
	
	// Pour chaque langue présente on crée un bouton
	
	// indique l'article par défaut
	$span_content='<div class="ref_article">*<span>'._T('spip:trad_reference').'</span></div>';	
	
	foreach($langues_dispos as $key => $value){
		$class='';
		$span='';	
		$trad='';

		// les boutons hors article présent
		if($traductions[$value]!=$id_article){
					
			//Si il existe une traduction dans une langue du site on crée le bouton avec le lien de l'article
			if(array_key_exists($value,$traductions)){
				// Article de référence?	
				if($traductions[$value]==$id_trad){
					$span=$span_content;					
					}
				$onglets_traduction.='<li class="traduit box_onglet ajax">'.$span.'<a href="'.generer_url_ecrire($objet,'id_article='.$traductions[$value]).'">'.traduire_nom_langue($value).'</a></li>';					
			}
			// Sinon on crée un nouvel article dans la langue souhaitée
			else{
				// Si le plugin traduction rubriques est activé on regarde si on trouve la rubrique traduite
				if ($trad_rub=test_plugin_actif('tradrub')) {
					$id_rubrique_traduite=rubrique_traduction($value,$id_rubrique);

					if($id_rubrique_traduite){
						$onglets_traduction.= '<li class="non_traduit box_onglet"><a href="'.generer_url_ecrire($objet.'_edit','new=oui&lier_trad='.$id_trad.'&id_rubrique='.$id_rubrique_traduite.'&lang_dest='.$value).'" title="'._T('ecrire:info_tout_site2').'">'.traduire_nom_langue($value).'</a></li>';
						}
					elseif(test_plugin_actif('trad_rub')){
                       
						$donnes_trad=destination_traduction($value,$id_rubrique,$creer_racine='');
						$parent_trad=$donnes_trad[0];
						$trad=$donnes_trad[1];
						
						$onglets_traduction.='<li class="non_traduit box_onglet"><a href="'.generer_url_ecrire('rubrique_edit','new=oui&id_parent='.$parent_trad.'&lang_dest='.$value.'&lier_trad='.$trad.'&trad_new='.$trad_new.'&retour=nav').'" class="avis_source" title="'._T('tra:avis_rubrique_source').'">'.traduire_nom_langue($value).'</a>';
						} 					
					
					$section='oui';

					}
				else{
					$onglets_traduction.= '<li class="non_traduit box_onglet"><a href="'.generer_url_ecrire($objet.'_edit','new=oui&lier_trad='.$id_trad.'&lang_dest='.$value).'" title="'._T('ecrire:info_tout_site2').'">'.traduire_nom_langue($value).'</a></li>';				
				}

				$action=redirige_action_auteur ('changer_langue',$id_article.'-'.$value,$objet,"id_article=$id_article");
				// Si le plugin traduction rubriques est activé on affiche pas les onglets changement de langue car la langue se change en modifiant la rubrique
				if(!$section){
					$changer_traduction.='<li class="item  lang box_onglet"><a href="'.parametre_url($action,'changer_lang',$value).'">'.traduire_nom_langue($value).'</a></li>';					
					}

				}
			}
		// le bouton de l'article présent	
		else{
			if($traductions[$value]==$id_trad){
					$span=$span_content;					
					}
			$onglets_traduction.='<li class="box_onglet"><strong class="on">'.$span.traduire_nom_langue($value).'</strong></li>';
			}
		}
	}

	$contexte=array(
		'onglets_traduction'=>$onglets_traduction,
		'options'=>$options,
		'langue_article'=>$langue_article,
		'changer_traduction'=>$changer_traduction,
		'edition_seule'=>$edition_seule,
		'id_article'=>$id_article,	
		'voir'=>_request('voir'),									
		);
		
		$retour=recuperer_fond('prive/editer/barre_traductions_article',$contexte,array('ajax'=>true));
	return $retour;
	
}