Wikipedia n'a qu'a bien ce se tenir !
Une remarque sur l'esprit du plugin.
C'est une chouette idée mais je trouve que c'est bien aussi d'avoir une notion d'édition.
Dans Agora (c'est un exemple mais ça existe sans doute aillleurs) on peu interchanger les id de deux articles pour en substituer l'un à l'autre ce qui permet de garder bloqué l'édition.
Cependant d'expérience, et ce contrairement à ce qui ce produit dans l'édition papier, il arrive fréquamment que l'auteur ai un repentir après publication.
Cad que sont besoin n'est pas de pouvoir continuer à modifier son article comme sur wikipedia mais de pouvoir faire de fines corrections.
Le soucis c'est qu'il n'y a pas de limite entre une fine correction et une nouvelle edition. Je fais deux propositions d'une par que l'un puisse fixer un delta de modification autorisé (somme des caractères ajoutés et/supprimé). Que les admins soit prevenu de la modification.
Cela n'empeche pas un systeme de versionnement à la agora.
Remarque : est il possible de ne pas prendre en compte les caractere de raccourcis typo dans les difs.
remarque 2 : amha, il ne devrait pas être possible de supprimer des modele pour une modification mineurs mais je ne vois pas comment l''interdire en l'état.
J'ai bien une idée mais pas pour la situation du code en l'état.
Souhaite-t'on pousser plus loin ?
Author: james@rezo.net
Date: Thu Aug 31 16:24:23 2006
New Revision: 5011Log:
acces_elargi: code originalAdded:
_plugins_/acces_elargi/
_plugins_/acces_elargi/auteur_modifie_article_publie/
_plugins_/acces_elargi/auteur_modifie_article_publie/exec/
_plugins_/acces_elargi/auteur_modifie_article_publie/exec/articles.php
_plugins_/acces_elargi/auteur_modifie_article_publie/exec/articles_versions.php
_plugins_/acces_elargi/auteur_modifie_article_publie/inc/
_plugins_/acces_elargi/auteur_modifie_article_publie/inc/article_select.php
_plugins_/acces_elargi/auteur_modifie_article_publie/plugin.xmlAdded: _plugins_/acces_elargi/auteur_modifie_article_publie/exec/articles.php
--- _plugins_/acces_elargi/auteur_modifie_article_publie/exec/articles.php (added)
+++ _plugins_/acces_elargi/auteur_modifie_article_publie/exec/articles.php Thu Aug 31 16:24:23 2006
@@ -0,0 +1,697 @@
+
+
+/***************************************************************************\
+ * SPIP, Systeme de publication pour l'internet *
+ * *
+ * Copyright (c) 2001-2006 *
+ * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
+ * *
+ * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
+ * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+include_spip('inc/presentation');
+include_spip('inc/texte');
+include_spip('inc/rubriques');
+include_spip('inc/mots');
+include_spip('inc/date');
+include_spip('inc/documents');
+include_spip('inc/petition');
+include_spip('exec/editer_auteurs');
+include_spip('exec/referencer_traduction');
+include_spip('exec/virtualiser');
+include_spip('exec/discuter');
+include_spip('base/abstract_sql');
+
+// http://doc.spip.org/@exec_articles_dist
+function exec_articles_dist()
+{
+ global $cherche_auteur, $ids, $cherche_mot, $select_groupe, $debut, $id_article, $trad_err;
+
+ global $connect_id_auteur, $connect_statut, $options, $spip_display, $spip_lang_left, $spip_lang_right, $dir_lang;
+
+ $id_article= intval($id_article);
+
+ pipeline('exec_init',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
+
+ $row = spip_fetch_array(spip_query("SELECT * FROM spip_articles WHERE id_article=$id_article"));
+
+ if (!$row) {
+ // cas du numero hors table
+ $titre = _T('public:aucun_article');
+ debut_page("« $titre »", "naviguer", "articles");
+ debut_grand_cadre();
+ fin_grand_cadre();
+ echo $titre;
+ exit;
+ }
+
+ $id_rubrique = $row['id_rubrique'];
+ $statut_article = $row['statut'];
+ $surtitre = $row["surtitre"];
+ $titre = sinon($row["titre"],_T('info_sans_titre'));
+ $soustitre = $row["soustitre"];
+ $descriptif = $row["descriptif"];
+ $nom_site = $row["nom_site"];
+ $url_site = $row["url_site"];
+ $chapo = $row["chapo"];
+ $texte = $row["texte"];
+ $ps = $row["ps"];
+ $date = $row["date"];
+ $maj = $row["maj"];
+ $date_redac = $row["date_redac"];
+ $visites = $row["visites"];
+ $referers = $row["referers"];
+ $extra = $row["extra"];
+ $id_trad = $row["id_trad"];
+ $id_version = $row["id_version"];
+
+ $statut_rubrique = acces_rubrique($id_rubrique);
+
+ $flag_auteur = spip_num_rows(spip_query("SELECT id_auteur FROM spip_auteurs_articles WHERE id_article=$id_article AND id_auteur=$connect_id_auteur LIMIT 1"));
+
+ $flag_editable = ($statut_rubrique OR ($flag_auteur AND ($statut_article == 'prepa' OR $statut_article == 'prop' OR $statut_article == 'poubelle')));
+
+ debut_page("« $titre »", "naviguer", "articles", "", "", $id_rubrique);
+
+ debut_grand_cadre();
+
+ afficher_hierarchie($id_rubrique);
+
+ fin_grand_cadre();
+
+//
+// Affichage de la colonne de gauche
+//
+
+debut_gauche();
+
+boite_info_articles($id_article, $statut_article, $visites, $id_version);
+
+//
+// Logos de l'article
+//
+
+ if ($flag_editable AND ($spip_display != 4)) {
+ include_spip('inc/chercher_logo');
+ echo afficher_boite_logo('id_article', $id_article,
+ _T('logo_article').aide ("logoart"), _T('logo_survol'), 'articles');
+ }
+
+// pour l'affichage du virtuel
+$virtuel = '';
+if (substr($chapo, 0, 1) == '=') {
+ $virtuel = substr($chapo, 1);
+}
+
+// Boites de configuration avancee
+
+if ($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable)
+ {
+ boites_de_config_articles($id_article);
+
+ boite_article_virtuel($id_article, $virtuel);
+ }
+
+//
+// Articles dans la meme rubrique
+//
+
+meme_rubrique_articles($id_rubrique, $id_article, $options);
+
+echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
+
+//
+// Affichage de la colonne de droite
+//
+
+creer_colonne_droite();
+ echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
+
+debut_droite();
+
+changer_typo('','article'.$id_article);
+
+debut_cadre_relief();
+
+//
+// Titre, surtitre, sous-titre
+//
+
+$modif = titres_articles($titre, $statut_article,$surtitre, $soustitre, $descriptif, $url_site, $nom_site, $flag_editable, $id_article, $id_rubrique);
+
+
+ echo "
";
+
+ debut_cadre_couleur();
+ echo formulaire_dater($id_article, $flag_editable, $statut_article, $date, $date_redac);
+ fin_cadre_couleur();
+
+//
+// Liste des auteurs de l'article
+//
+
+ echo formulaire_editer_auteurs($cherche_auteur, $ids, $id_article,$flag_editable);
+
+//
+// Liste des mots-cles de l'article
+//
+
+if ($options == 'avancees' AND $GLOBALS['meta']["articles_mots"] != 'non') {
+ echo formulaire_mots('article', $id_article, $cherche_mot, $select_groupe, $flag_editable);
+}
+
+// Les langues
+
+ if (($GLOBALS['meta']['multi_articles'] == 'oui')
+ OR (($GLOBALS['meta']['multi_rubriques'] == 'oui') AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) {
+
+ echo formulaire_referencer_traduction($id_article, $id_rubrique, $id_trad, $flag_editable, $trad_err);
+ }
+
+ echo pipeline('affiche_milieu',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''));
+
+ if ($statut_rubrique)
+ echo debut_cadre_relief('', true),
+ "\n
",
+ formulaire_instituer_article($id_article, $statut_article, 'articles', "id_article=$id_article"),
+ '
',
+ fin_cadre_relief('', true);
+
+ afficher_corps_articles($virtuel, $chapo, $texte, $ps, $extra);
+
+ if ($flag_editable) {
+ echo "\n
";
+ bouton_modifier_articles($id_article, $id_rubrique, $modif,_T('texte_travail_article', $modif), "warning-24.gif", "");
+ echo "
";
+}
+
+//
+// Documents associes a l'article
+//
+
+ if ($spip_display != 4)
+ afficher_documents_et_portfolio($id_article, "article", $flag_editable);
+
+ if ($flag_auteur AND $statut_article == 'prepa' AND !$statut_rubrique)
+ echo demande_publication($id_article);
+
+ echo "
";
+ echo "
";
+ fin_cadre_relief();
+
+ echo "
";
+
+ $tm = rawurlencode($titre);
+ echo "\n
";
+ icone(_T('icone_poster_message'), generer_url_ecrire("forum_envoi","statut=prive&id_article=$id_article&titre_message=$tm&url=" . generer_url_retour("articles","id_article=$id_article")), "forum-interne-24.gif", "creer.gif");
+ echo "
";
+
+ echo exec_discuter_dist($id_article, $debut);
+
+ fin_page();
+
+}
+
+
+
+// http://doc.spip.org/@demande_publication
+function demande_publication($id_article)
+{
+ return debut_cadre_relief('',true) .
+ "
" .
+ "" ._T('texte_proposer_publication') . "" .
+ aide ("artprop") .
+ redirige_action_auteur('instituer_article', "$id_article-prop",
+ 'articles',
+ "id_article=$id_article",
+ ("
+ _T('bouton_demande_publication') .
+ "\" />\n"),
+ "method='post'") .
+ "
" .
+ fin_cadre_relief(true);
+}
+
+// http://doc.spip.org/@boite_info_articles
+function boite_info_articles($id_article, $statut_article, $visites, $id_version)
+{
+ global $connect_statut, $options, $flag_revisions;
+
+ debut_boite_info();
+
+ echo "
\n";
+
+ echo ""._T('info_numero_article')."\n";
+ echo "
$id_article\n";
+
+ echo "
\n";
+
+ voir_en_ligne('article', $id_article, $statut_article);
+
+ if ($connect_statut == "0minirezo" AND $statut_article == 'publie' AND $visites > 0 AND $GLOBALS['meta']["activer_statistiques"] != "non" AND $options == "avancees"){
+ icone_horizontale(_T('icone_evolution_visites', array('visites' => $visites)), generer_url_ecrire("statistiques_visites","id_article=$id_article"), "statistiques-24.gif","rien.gif");
+ }
+
+ if ((($GLOBALS['meta']["articles_versions"]=='oui') && $flag_revisions)
+ AND $id_version>1 AND $options == "avancees") {
+ icone_horizontale(_T('info_historique_lien'), generer_url_ecrire("articles_versions","id_article=$id_article"), "historique-24.gif", "rien.gif");
+}
+
+ // Correction orthographique
+ if ($GLOBALS['meta']['articles_ortho'] == 'oui') {
+ $js_ortho = "onclick=\"window.open(this.href, 'spip_ortho', 'scrollbars=yes, resizable=yes, width=740, height=580'); return false;\"";
+ icone_horizontale(_T('ortho_verifier'), generer_url_ecrire("articles_ortho", "id_article=$id_article"), "ortho-24.gif", "rien.gif", 'echo', $js_ortho);
+ }
+
+ fin_boite_info();
+}
+
+
+//
+// Boites de configuration avancee
+//
+
+// http://doc.spip.org/@boites_de_config_articles[... 892 lines stripped ...]
_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit
Cet été, pensez aux cartes postales de laposte.net !
Cet été, pensez aux cartes postales de laposte.net !