function tache_redirige ($row) { $m = $row['description']; if (substr($m,0,1) == '=') if ($m = chapo_redirige(substr($m,1), true)) return $m; return generer_url_ecrire("message", "id_message=".$row['uid']); }
function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot, $select_groupe, $trad_err, $debut_forum=0, $statut_forum='prive') { global $spip_lang_right, $dir_lang; $id_rubrique = $row['id_rubrique']; $id_secteur = $row['id_secteur']; $statut_article = $row['statut']; $titre = $row["titre"]; $surtitre = $row["surtitre"]; $soustitre = $row["soustitre"]; $descriptif = $row["descriptif"]; $nom_site = $row["nom_site"]; $url_site = $row["url_site"]; $texte = $row["texte"]; $ps = $row["ps"]; $date = $row["date"]; $date_redac = $row["date_redac"]; $extra = $row["extra"]; $id_trad = $row["id_trad"]; $virtuel = (strncmp($row["chapo"],'=',1)!==0) ? '' : chapo_redirige(substr($row["chapo"], 1)); $statut_rubrique = autoriser('publierdans', 'rubrique', $id_rubrique); $flag_editable = autoriser('modifier', 'article', $id_article); // Est-ce que quelqu'un a deja ouvert l'article en edition ? if ($flag_editable AND $GLOBALS['meta']['articles_modif'] != 'non') { include_spip('inc/drapeau_edition'); $modif = mention_qui_edite($id_article, 'article'); } else $modif = array(); // chargement prealable des fonctions produisant des formulaires $dater = charger_fonction('dater', 'inc'); $editer_mots = charger_fonction('editer_mots', 'inc'); $editer_auteurs = charger_fonction('editer_auteurs', 'inc'); $referencer_traduction = charger_fonction('referencer_traduction', 'inc'); $discuter = charger_fonction('discuter', 'inc'); $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); $iconifier = charger_fonction('iconifier', 'inc'); $icone = $iconifier('id_article', $id_article,'articles', false, $flag_editable); $boite = pipeline ('boite_infos', array('data' => '', 'args' => array( 'type'=>'article', 'id' => $id_article, 'row' => $row ) )); $navigation = debut_boite_info(true). $boite . fin_boite_info(true) . $icone . (_INTERFACE_ONGLETS?"":boites_de_config_articles($id_article)) . ($flag_editable ? boite_article_virtuel($id_article, $virtuel):'') . pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')); $extra = creer_colonne_droite('', true) . $meme_rubrique($id_rubrique, $id_article, 'article') . pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) . debut_droite('',true); // affecter les globales dictant les regles de typographie de la langue changer_typo($row['lang']); $actions = ($flag_editable ? bouton_modifier_articles($id_article, $id_rubrique, $modif, _T('avis_article_modifie', $modif), "article-24.gif", "edit.gif",$spip_lang_right) : ""); $haut = "<div class='bandeau_actions'>$actions</div>". (_INTERFACE_ONGLETS?"":"<span $dir_lang class='arial1 spip_medium'><b>" . typo($surtitre) . "</b></span>\n") . gros_titre($titre, '' , false) . (_INTERFACE_ONGLETS?"":"<span $dir_lang class='arial1 spip_medium'><b>" . typo($soustitre) . "</b></span>\n"); $onglet_contenu = afficher_corps_articles($id_article,$virtuel,$row) . "<div class='bandeau_actions'>$actions</div>"; $onglet_proprietes = ((!_INTERFACE_ONGLETS) ? "" :"") . $dater($id_article, $flag_editable, $statut_article, 'article', 'articles', $date, $date_redac) . $editer_auteurs('article', $id_article, $flag_editable, $cherche_auteur, $ids) . (!$editer_mots ? '' : $editer_mots('article', $id_article, $cherche_mot, $select_groupe, $flag_editable, false, 'articles')) . (!$referencer_traduction ? '' : $referencer_traduction($id_article, $flag_editable, $id_rubrique, $id_trad, $trad_err)) . pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>'')) . bouton_proposer_article($id_article,$statut_article) ; $documenter_objet = charger_fonction('documenter_objet','inc'); $onglet_documents = $documenter_objet($id_article,'article','articles',$flag_editable); $onglet_interactivite = (_INTERFACE_ONGLETS?boites_de_config_articles($id_article):""); $onglet_discuter = !$statut_forum ? '' : ($discuter($id_article, 'articles', 'id_article', $statut_forum, $debut_forum)); return $navigation . $extra . pipeline('afficher_fiche_objet',array('args'=>array('type'=>'article','id'=>$id_article),'data'=> "<div class='fiche_objet'>" . $haut . afficher_onglets_pages( array( 'voir' => _T('onglet_contenu'), 'props' => _T('onglet_proprietes'), 'docs' => _T('onglet_documents'), 'interactivite' => _T('onglet_interactivite'), 'discuter' => _T('onglet_discuter')), array( 'props'=>$onglet_proprietes, 'voir'=>$onglet_contenu, 'docs'=>$onglet_documents, 'interactivite'=>$onglet_interactivite, 'discuter'=>_INTERFACE_ONGLETS?$onglet_discuter:"")) . "</div>" . (_INTERFACE_ONGLETS?"":$onglet_discuter) )); }
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&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; }