function inc_instituer_breve_dist($id_breve, $statut=-1) { if ($statut == -1) return ""; $liste_statuts = array( // statut => array(titre,image) 'prop' => array(_T('item_breve_proposee'),''), 'publie' => array(_T('item_breve_validee'),''), 'refuse' => array(_T('item_breve_refusee'),'') ); if (!in_array($statut, array_keys($liste_statuts))) $liste_statuts[$statut] = array($statut,''); $res = "<ul id='instituer_breve-$id_breve' class='instituer_breve instituer'>" . "<li>" . _T('entree_breve_publiee') ."<ul>"; $href = redirige_action_auteur('editer_breve',$id_breve,'breves_voir', "id_breve=$id_breve"); foreach($liste_statuts as $s=>$affiche){ $href = parametre_url($href,'statut',$s); if ($s==$statut) $res .= "<li class='$s selected'>" . puce_statut($s) . $affiche[0] . '</li>'; else $res .= "<li class='$s'><a href='$href' onclick='return confirm(confirm_changer_statut);'>" . puce_statut($s) . $affiche[0] . '</a></li>'; } $res .= "</ul></li></ul>"; return $res; }
function inc_instituer_site_dist($id_syndic, $statut=-1) { if ($statut == -1) return ""; $liste_statuts = array( // statut => array(titre,image) 'prop' => array(_T('info_statut_site_3'),''), 'publie' => array(_T('info_statut_site_2'),''), 'refuse' => array(_T('info_statut_site_4'),'') ); if (!in_array($statut, array_keys($liste_statuts))) $liste_statuts[$statut] = array($statut,''); $res = "<ul id='instituer_site-$id_syndic' class='instituer_site instituer'>" . "<li>" . _T('info_statut_site_1') ."<ul>"; $href = redirige_action_auteur('editer_site',$id_syndic,'sites', "id_syndic=$id_syndic" /*"&id_parent=$id_rubrique"*/); foreach($liste_statuts as $s=>$affiche){ $href = parametre_url($href,'statut',$s); if ($s==$statut) $res .= "<li class='$s selected'>" . puce_statut($s) . $affiche[0] . '</li>'; else $res .= "<li class='$s'><a href='$href' onclick='return confirm(confirm_changer_statut);'>" . puce_statut($s) . $affiche[0] . '</a></li>'; } $res .= "</ul></li></ul>"; return $res; }
function inc_instituer_article_dist($id_article, $statut, $id_rubrique) { // menu de date pour les articles post-dates (plugin) /* un branchement sauvage ? if ($statut <> 'publie' AND $GLOBALS['meta']['post_dates'] == 'non' AND function_exists('menu_postdates')) list($postdates,$postdates_js) = menu_postdates(); else $postdates = $postdates_js = '';*/ // cf autorisations dans action/editer_article if (!autoriser('modifier', 'article', $id_article)) return ''; $res = ''; $etats = $GLOBALS['liste_des_etats']; if (!autoriser('publierdans', 'rubrique', $id_rubrique)) { if ($statut == 'publie') return ''; unset($etats[array_search('publie', $etats)]); unset($etats[array_search('refuse', $etats)]); if ($statut == 'prepa') $res = supprimer_tags(_T('texte_proposer_publication')); } $res .= "<ul id='instituer_article-$id_article' class='instituer_article instituer'>" . "<li>" . _T('texte_article_statut') . aide("artstatut") ."<ul>"; $href = redirige_action_auteur('instituer_article',$id_article,'articles', "id_article=$id_article"); $href = parametre_url($href,'statut_old',$statut); foreach($etats as $affiche => $s){ $puce = puce_statut($s) . _T($affiche); if ($s==$statut) $class=' selected'; else { $class=''; $puce = "<a href='" . parametre_url($href,'statut_nouv',$s) . "' onclick='return confirm(confirm_changer_statut);'>$puce</a>"; } $res .= "<li class='$s $class'>$puce</li>"; } $res .= "</ul></li></ul>"; return $res; }
function exec_articles_versions_args($id_article, $id_version, $id_diff) { global $spip_lang_left, $spip_lang_right; if (!autoriser('voirrevisions', 'article', $id_article) OR !$row = sql_fetsel("*", "spip_articles", "id_article=".sql_quote($id_article))){ include_spip('inc/minipres'); echo minipres(); return; } include_spip('inc/suivi_versions'); include_spip('inc/presentation'); include_spip('inc/revisions'); // recuperer les donnees actuelles de l'article $id_article = $row["id_article"]; $id_rubrique = $row["id_rubrique"]; $titre = $row["titre"]; $statut_article = $row["statut"]; $lang = $row["lang"]; // Afficher le debut de la page (y compris rubrique) $commencer_page = charger_fonction('commencer_page', 'inc'); echo $commencer_page(_T('info_historique')." « $titre »", "naviguer", "articles", $id_rubrique); echo debut_grand_cadre(true); echo afficher_hierarchie($id_rubrique); echo fin_grand_cadre(true); ////////////////////////////////////////////////////// // Affichage de la colonne de gauche // echo debut_gauche('', true); echo bloc_des_raccourcis(icone_horizontale(_T('icone_retour_article'), generer_url_ecrire("articles","id_article=$id_article"), "article-24.gif","rien.gif", false) . icone_horizontale(_T('icone_suivi_revisions'), generer_url_ecrire("suivi_revisions",""), "historique-24.gif","rien.gif", false)); ////////////////////////////////////////////////////// // Affichage de la colonne de droite // echo debut_droite('', true); $lang_dir = lang_dir(changer_typo($lang)); // // recuperer les donnees versionnees // $last_version = false; if (!$id_version) { $id_version = $row['id_version']; $last_version = true; } $textes = revision_comparee($id_article, $id_version, 'complet', $id_diff); unset($id_rubrique); # on n'en n'aura besoin que si on affiche un diff // // Titre, surtitre, sous-titre // $debut = $corps = ''; if (is_array($textes)) foreach ($textes as $var => $t) { switch ($var) { case 'id_rubrique': $debut .= "<div dir='$lang_dir' class='arial1 spip_x-small'>" . $t . "</div>\n"; break; case 'surtitre': case 'soustitre': $debut .= "<div dir='$lang_dir' class='arial1 spip_medium'><b>" . propre_diff($t) . "</b></div>\n"; break; case 'titre': $debut .= gros_titre(propre_diff($t), puce_statut($statut_article, " style='vertical-align: center'"), false); break; // trois champs a affichage combine case 'descriptif': case 'url_site': case 'nom_site': if (!$vudesc++) { $debut .= "<div style='text-align: $spip_lang_left; padding: 5px; border: 1px dashed #aaaaaa; background-color: #e4e4e4;' dir='$lang_dir'>"; $texte_case = ($textes['descriptif']) ? "{{"._T('info_descriptif')."}} ".$textes['descriptif']."\n\n" : ''; $texte_case .= ($textes['nom_site'].$textes['url_site']) ? "{{"._T('info_urlref')."}} [".$textes['nom_site']."->".$textes['url_site']."]" : ''; $debut .= "<span class='verdana1 spip_small'>" . propre($texte_case). "</span>"; $debut .= "</div>"; } break; default: $corps .= "<div dir='$lang_dir' class='champ contenu_$var'>" . "<div class='label'>$var</div>" . "<div class='$var'>" . propre_diff($t) . "</div></div>\n"; break; } } echo '<div id="contenu">'; echo debut_cadre_relief('', true); echo "\n<table id='diff' cellpadding='0' cellspacing='0' border='0' width='100%'>"; echo "<tr><td style='width: 100%' valign='top'>"; echo $debut; echo "</td><td>"; // Icone de modification if (autoriser('modifier', 'article', $id_article)) echo icone_inline( _T('icone_modifier_article').'<br />('._T('version')." $id_version)", generer_url_ecrire("articles_edit", "id_article=$id_article".((!$last_version)?"&id_version=$id_version":"")), "article-24.gif", "edit.gif", $spip_lang_right ); echo "</td>"; echo "</tr></table>"; echo fin_cadre_relief(true); ////////////////////////////////////////////////////// // Affichage des versions // $result = sql_select("id_version, titre_version, date, id_auteur", "spip_versions", "id_article=".sql_quote($id_article)." AND id_version>0", "", "id_version DESC"); echo debut_cadre_relief('', true); $zapn = 0; $lignes = array(); $points = '...'; $tranches = 10; while ($row = sql_fetch($result)) { $res = ''; // s'il y en a trop on zappe a partir de la 10e // et on s'arrete juste apres celle cherchee if ($zapn++ > $tranches AND abs($id_version - $row['id_version']) > $tranches<<1) { if ($points) { $lignes[]= $points; $points = ''; } if ($id_version > $row['id_version']) break; continue; } $date = affdate_heure($row['date']); $version_aff = $row['id_version']; $titre_version = typo($row['titre_version']); $titre_aff = $titre_version ? $titre_version : $date; if ($version_aff != $id_version) { $lien = parametre_url(self(), 'id_version', $version_aff); $lien = parametre_url($lien, 'id_diff', ''); $res .= "<a href='".($lien.'#diff')."' title=\""._T('info_historique_affiche')."\">$titre_aff</a>"; } else { $res .= "<b>$titre_aff</b>"; } if (is_numeric($row['id_auteur']) AND $t = sql_getfetsel('nom', 'spip_auteurs', "id_auteur=" . intval($row['id_auteur']))) { $res .= " (".typo($t).")"; } else { $res .= " (".$row['id_auteur'].")"; #IP edition anonyme } if ($version_aff != $id_version) { $res .= " <span class='verdana2'>"; if ($version_aff == $id_diff) { $res .= "<b>("._T('info_historique_comparaison').")</b>"; } else { $lien = parametre_url(self(), 'id_version', $id_version); $lien = parametre_url($lien, 'id_diff', $version_aff); $res .= "(<a href='".($lien.'#diff'). "'>"._T('info_historique_comparaison')."</a>)"; } $res .= "</span>"; } $lignes[]= $res; } if ($lignes) { echo "<ul class='verdana3'><li>\n"; echo join("\n</li><li>\n", $lignes); echo "</li></ul>\n"; } ////////////////////////////////////////////////////// // Corps de la version affichee // echo "\n\n<div id='wysiwyg' style='text-align: justify;'>$corps"; // notes de bas de page if (strlen($GLOBALS['les_notes'])) echo "<div class='champ contenu_notes'> <div class='label'>"._T('info_notes')."</div> <div class='notes' dir='$lang_dir'>" .$GLOBALS['les_notes'] ."</div></div>\n"; echo "</div>\n"; echo fin_cadre_relief(true); echo '</div>'; // /#contenu echo fin_gauche(), fin_page(); }
function revisions_bouton($id_article, $id_auteur, $id_version, $titre, $statut, $date, $lang_dir, $nom) { $titre_bouton = "<span class='arial2'>"; $titre_bouton .= puce_statut($statut); $titre_bouton .= "\n <a class='$statut' style='font-weight: bold;' href='" . generer_url_ecrire("articles_versions","id_article=$id_article") . "'>$titre</a>"; $titre_bouton .= "<span class='arial1' dir='$lang_dir'>"; $titre_bouton .= "\n".date_relative($date)." "; # laisser un peu de privacy aux redacteurs $titre_bouton .= "</span>"; if (strlen($nom)>0) $titre_bouton .= "($nom)"; $titre_bouton .= "</span>"; return $titre_bouton; }
function puce_statut_article_dist($id, $statut, $id_rubrique, $type='article', $ajax = false) { global $lang_objet; static $coord = array('publie' => 2, 'prepa' => 0, 'prop' => 1, 'refuse' => 3, 'poubelle' => 4); $lang_dir = lang_dir($lang_objet); if (!$id) { $id = $id_rubrique; $ajax_node =''; } else $ajax_node = " id='imgstatut$type$id'"; $inser_puce = puce_statut($statut, " width='9' height='9' style='margin: 1px;'$ajax_node"); if (!autoriser('publierdans', 'rubrique', $id_rubrique) OR !_ACTIVER_PUCE_RAPIDE) return $inser_puce; $titles = array( "blanche" => _T('texte_statut_en_cours_redaction'), "orange" => _T('texte_statut_propose_evaluation'), "verte" => _T('texte_statut_publie'), "rouge" => _T('texte_statut_refuse'), "poubelle" => _T('texte_statut_poubelle')); $clip = 1+ (11*$coord[$statut]); if ($ajax){ return "<span class='puce_article_fixe'>" . $inser_puce . "</span>" . "<span class='puce_article_popup' id='statutdecal$type$id' style='margin-left: -$clip"."px;'>" . afficher_script_statut($id, $type, -1, 'puce-blanche.gif', 'prepa', $titles['blanche']) . afficher_script_statut($id, $type, -12, 'puce-orange.gif', 'prop', $titles['orange']) . afficher_script_statut($id, $type, -23, 'puce-verte.gif', 'publie', $titles['verte']) . afficher_script_statut($id, $type, -34, 'puce-rouge.gif', 'refuse', $titles['rouge']) . afficher_script_statut($id, $type, -45, 'puce-poubelle.gif', 'poubelle', $titles['poubelle']) . "</span>"; } $nom = "puce_statut_"; if ((! _SPIP_AJAX) AND $type != 'article') $over =''; else { $action = generer_url_ecrire('puce_statut',"",true); $action = "if (!this.puce_loaded) { this.puce_loaded = true; prepare_selec_statut('$nom', '$type', '$id', '$action'); }"; $over = "\nonmouseover=\"$action\""; } return "<span class='puce_article' id='$nom$type$id' dir='$lang_dir'$over>" . $inser_puce . '</span>'; }