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) )); }
/** * Afficher la mention des autres auteurs ayant modifié un objet * * @param int $id_objet * @param string $objet * @return string */ function afficher_qui_edite($id_objet, $objet) { static $qui = array(); if (isset($qui[$objet][$id_objet])) { return $qui[$objet][$id_objet]; } if ($GLOBALS['meta']['articles_modif'] == 'non') { return $qui[$objet][$id_objet] = ''; } include_spip('inc/drapeau_edition'); $modif = mention_qui_edite($id_objet, $objet); if (!$modif) { return $qui[$objet][$id_objet] = ''; } include_spip('base/objets'); $infos = lister_tables_objets_sql(table_objet_sql($objet)); if (isset($infos['texte_signale_edition'])) { return $qui[$objet][$id_objet] = _T($infos['texte_signale_edition'], $modif); } return $qui[$objet][$id_objet] = _T('info_qui_edite', $modif); }
function exec_breves_voir_args($id_breve, $cherche_mot, $select_groupe) { $row = sql_fetsel("*", "spip_breves", "id_breve=$id_breve"); if (!$row OR !autoriser('voir','breve',$id_breve)){ include_spip('inc/minipres'); echo minipres(); } else { $id_breve=$row['id_breve']; $date_heure=$row['date_heure']; $titre_breve=$row['titre']; $titre=$row['titre']; $texte=$row['texte']; $extra=$row['extra']; $lien_titre=$row['lien_titre']; $lien_url=$row['lien_url']; $statut=$row['statut']; $id_rubrique=$row['id_rubrique']; $commencer_page = charger_fonction('commencer_page', 'inc'); $flag_editable = autoriser('modifier','breve',$id_breve); // Est-ce que quelqu'un a deja ouvert la breve en edition ? if ($flag_editable AND $GLOBALS['meta']['articles_modif'] != 'non') { include_spip('inc/drapeau_edition'); $modif = mention_qui_edite($id_breve, 'breve'); } else $modif = array(); pipeline('exec_init', array( 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), 'data'=>'' ) ); $iconifier = charger_fonction('iconifier', 'inc'); $dater = charger_fonction('dater', 'inc'); $meme_rubrique = charger_fonction('meme_rubrique', 'inc'); $editer_mots = charger_fonction('editer_mots', 'inc'); echo $commencer_page("« $titre_breve »", "naviguer", "breves", $id_rubrique); echo debut_grand_cadre(true); echo afficher_hierarchie($id_rubrique); echo fin_grand_cadre(true); echo debut_gauche('', true); echo debut_boite_info(true) . pipeline ('boite_infos', array('data' => '', 'args' => array( 'type'=>'breve', 'id' => $id_breve, 'row' => $row ))) . fin_boite_info(true); echo pipeline('affiche_gauche', array( 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), 'data'=>'' ) ); echo $iconifier('id_breve', $id_breve, 'breves_voir', false, autoriser('publierdans','rubrique',$id_rubrique)); echo creer_colonne_droite('', true); echo pipeline('affiche_droite', array( 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), 'data'=>'' ) ); echo $meme_rubrique($id_rubrique, $id_breve, 'breve', 'date_heure'); /* raccourcis ont disparu */ echo bloc_des_raccourcis(icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui&id_rubrique=$id_rubrique"), "breve-24.gif","creer.gif", 0)); $actions = $flag_editable ? icone_inline( // TODO -- _L("Fil a travaille sur cette breve il y a x minutes") !$modif ? _T('icone_modifier_breve') : _T('texte_travail_article', $modif), generer_url_ecrire("breves_edit","id_breve=$id_breve&retour=nav"), !$modif ? "breve-24.gif" : "warning-24.gif", !$modif ? "edit.gif" : '', $GLOBALS['spip_lang_right'] ) : ""; $haut = "<div class='bandeau_actions'>$actions</div>" . gros_titre($titre,'', false); $type = 'breve'; $contexte = array('id'=>$id_breve,'id_rubrique'=>$id_rubrique); $fond = recuperer_fond("prive/contenu/$type",$contexte); // permettre aux plugin de faire des modifs ou des ajouts $fond = pipeline('afficher_contenu_objet', array( 'args'=>array( 'type'=>$type, 'id_objet'=>$id_breve, 'contexte'=>$contexte), 'data'=> $fond)); $onglet_contenu = "<div id='wysiwyg'>$fond</div>"; $onglet_proprietes = afficher_breve_rubrique($id_breve, $id_rubrique, $statut) . ($dater ? $dater($id_breve, $flag_editable, $statut, 'breve', 'breves_voir', $date_heure) : '' ) . $editer_mots('breve', $id_breve, $cherche_mot, $select_groupe, $flag_editable, true, 'breves_voir') . ((($GLOBALS['meta']['multi_articles'] == 'oui') AND ($flag_editable)) ? langue_breve($id_breve,$row):"") . pipeline('affiche_milieu',array( 'args'=>array('exec'=>'breves_voir','id_breve'=>$id_breve), 'data'=>'')) ; $onglet_documents = ""; $onglet_interactivite = ""; $discuter = charger_fonction('discuter', 'inc'); $onglet_discuter = $discuter($id_breve, 'breves_voir', 'id_breve'); echo debut_droite('', true) . "<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')), _INTERFACE_ONGLETS? array( 'props'=>$onglet_proprietes, 'voir'=>$onglet_contenu, 'docs'=>$onglet_documents, 'interactivite'=>$onglet_interactivite, 'discuter'=>$onglet_discuter) : array( 'props'=>$onglet_proprietes, 'voir'=>$onglet_contenu) ) . "</div>" . (_INTERFACE_ONGLETS?"":$onglet_discuter) . fin_gauche() . fin_page(); } }