$max) $texte_ret .= '(...)'; } $texte = $texte_ret; return $texte; } // Retourne le titre de la rubrique demandee, pour affichage de la chaine // "deplace de XX vers YY" // http://doc.spip.org/@titre_rubrique function titre_rubrique($id_rubrique) { if (!$id = intval($id_rubrique)) return _T('info_sans_titre'); return typo(sql_getfetsel('titre', 'spip_rubriques', "id_rubrique=$id")); } // http://doc.spip.org/@afficher_suivi_versions function afficher_suivi_versions ($debut = 0, $id_secteur = 0, $uniq_auteur = false, $lang = "", $court = false) { changer_typo($lang); $lang_dir = lang_dir($lang); $nb_aff = 10; $champs = array('surtitre', 'titre', 'soustitre', 'descriptif', 'nom_site', 'url_site', 'chapo', 'texte', 'ps'); if ($uniq_auteur) { $req_where = " AND articles.statut IN ('prepa','prop','publie')"; $req_where .= " AND versions.id_auteur = $uniq_auteur"; } else { $req_where = " AND articles.statut IN ('prop','publie')"; } if (strlen($lang) > 0) $req_where .= " AND articles.lang=" . sql_quote($lang); if ($id_secteur > 0) $req_where .= " AND articles.id_secteur = ".intval($id_secteur); $req_where = "versions.id_version > 1 $req_where"; $req_sel = "versions.id_version, versions.id_auteur, versions.date, versions.id_article, articles.statut, articles.titre"; $req_from = 'spip_versions AS versions LEFT JOIN spip_articles AS articles ON versions.id_article = articles.id_article'; $revisions = ''; $items = array(); $result = sql_select($req_sel, $req_from, $req_where, '', 'versions.date DESC', "$debut, $nb_aff"); while ($row = sql_fetch($result)) { $id_article = $row['id_article']; if (autoriser('voir','article',$id_article)){ $statut = $row['statut']; $id_version = $row['id_version']; $id_auteur = $row['id_auteur']; $date = $row['date']; $titre = typo(supprime_img($row['titre'],'')); // l'id_auteur peut etre un numero IP (edition anonyme) if ($id_auteur == intval($id_auteur) AND $row_auteur = sql_fetsel('nom,email', 'spip_auteurs', "id_auteur = ".sql_quote($id_auteur))) { $nom = typo($row_auteur["nom"]); $email = $row_auteur['email']; } else { $nom = $id_auteur; $email = ''; } $aff = revisions_bouton($id_article, $id_auteur, $id_version, $titre, $statut, $date, $lang_dir, $nom); if (!$court) { $bouton_id = "b$id_version-$id_article-$id_auteur"; $aff = bouton_block_depliable($aff,false,$bouton_id) . debut_block_depliable(false,$bouton_id) . safehtml(revisions_diff ($id_article, $id_version, $court)) . fin_block(); } $revisions .= "\n
'.$GLOBALS['les_notes'].'
'; $GLOBALS['les_notes'] = ''; } $rev .= "$aff"; } } } return $court ? _T('taille_octets', array('taille' => $nb)) : $rev; } // http://doc.spip.org/@revisions_bouton function revisions_bouton($id_article, $id_auteur, $id_version, $titre, $statut, $date, $lang_dir, $nom) { $titre_bouton = ""; $titre_bouton .= puce_statut($statut); $titre_bouton .= "\n $titre"; $titre_bouton .= ""; $titre_bouton .= "\n".date_relative($date)." "; # laisser un peu de privacy aux redacteurs $titre_bouton .= ""; if (strlen($nom)>0) $titre_bouton .= "($nom)"; $titre_bouton .= ""; return $titre_bouton; } // http://doc.spip.org/@revisions_entete_boite function revisions_entete_boite($court, $debut, $id_secteur, $lang, $nb_aff, $req_from, $req_where, $uniq_auteur) { $titre_table = '' . _T('icone_suivi_revisions').aide('suivimodif') . ''; if ($court) $titre_table = afficher_plus(generer_url_ecrire("suivi_revisions")) . $titre_table; $total = sql_countsel($req_from, $req_where); if ($total >= 150) $total = 149; $id_liste = 't'.substr(md5("$req_where 149"),0,8); $bouton = bouton_block_depliable($titre_table,true,$id_liste); $revisions = debut_cadre('liste',"historique-24.gif",'',$bouton) . debut_block_depliable(true,$id_liste); if ($total > $nb_aff) { $nb_tranches = ceil($total / $nb_aff); $revisions .= "\n