diff --git a/content/article.html b/content/article.html
index d361bf7..b5a2133 100644
--- a/content/article.html
+++ b/content/article.html
@@ -2,24 +2,16 @@
#SET{id_grpe_tags, #ID_GROUPE}
#SET{grpes_importants,#GET{grpes_importants}|push{#ID_GROUPE}}
-#SET{id_mot_statut_bien,0}
-
-
- #SET{id_mot_statut_bien, #ID_MOT}
-
-
-
- [(#AUTORISER{modifier, article, #ID_ARTICLE})
- [(#INFO_STATUT{article,#ID_ARTICLE}|=={publie}|non)
- Éditer
- ]
- ]
-
- [(#INCLURE{fond=inclure/bouton_une,id_article=#ENV{id_article}})]
-
+
+
+ [(#AUTORISER{modifier, article, #ID_ARTICLE})
+
+ ]
#TITRE
@@ -49,7 +41,7 @@
+
-
diff --git a/content/editer_article.html b/content/editer_article.html
index 01e22c8..b4cf94d 100644
--- a/content/editer_article.html
+++ b/content/editer_article.html
@@ -3,9 +3,7 @@
- [(#FORMULAIRE_INSCRIPTION{#SELF})]
+ [(#FORMULAIRE_INSCRIPTION{6forum,0,#SELF})]
]
diff --git a/content/editer_groupe.html b/content/editer_groupe.html
new file mode 100644
index 0000000..c26adf6
--- /dev/null
+++ b/content/editer_groupe.html
@@ -0,0 +1,44 @@
+
-
+
diff --git a/formulaires/editer_groupe.html b/formulaires/editer_groupe.html
new file mode 100644
index 0000000..46f0c9c
--- /dev/null
+++ b/formulaires/editer_groupe.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+
diff --git a/formulaires/editer_groupe.php b/formulaires/editer_groupe.php
new file mode 100644
index 0000000..f6415b9
--- /dev/null
+++ b/formulaires/editer_groupe.php
@@ -0,0 +1,273 @@
+ 'image_web','taille_max'=>'2000','largeur_max'=>'2048','hauteur_max'=>'2048'];
+ $bigform($options,$erreurs);
+
+ return $erreurs;
+}
+
+function formulaires_editer_groupe_traiter_dist($id_article=0, $redirect=''){
+ $new = $id_article;
+ if (!intval($id_article)) {
+
+ $id_rubrique = intval(_request('id_rubrique'));
+ include_spip('action/editer_article');
+ $set = array(
+ 'statut' => 'publie'
+ );
+ $id_article = article_inserer($id_rubrique,$set);
+ }
+
+ // enregistrement de l'image
+ if (!intval($new)) {
+ $where = array(
+ 'objet="article"',
+ 'id_objet='.intval(session_get('id_auteur')) * -1
+ );
+ sql_updateq('spip_documents_liens',array('id_objet' => intval($id_article)), $where);
+ }
+
+ // maj de l'article
+ $set = array(
+ 'titre' => _request('titre'),
+ 'texte' => _request('texte'),
+ 'soustitre' => _request('soustitre'),
+ 'date' => date("Y-m-d H:i:s"),
+// 'champ_1' => _request('champ_1'),
+// 'champ_2' => _request('champ_2'),
+ 'descriptif' => _request('descriptif'),
+// 'chapo' => _request('chapo'),
+ 'surtitre' => _request('surtitre')
+ );
+ sql_updateq('spip_articles',$set,'id_article='.intval($id_article));
+
+ // maj rubrique si besoin
+ $id_rubrique = intval(_request('id_rubrique'));
+ $id_rub = sql_getfetsel('id_rubrique', 'spip_articles', 'id_article='.$id_article);
+ if ($id_rub != $id_rubrique) {
+ include_spip('action/editer_article');
+ article_instituer($id_article, array('id_parent' => $id_rubrique));
+ }
+
+ // maj association article -> auteurs
+ include_spip('action/editer_liens');
+ $where = array(
+ 'id_objet='.intval($id_article),
+ 'objet="article"',
+ );
+ $ids_auteurs = sql_allfetsel('id_auteur', 'spip_auteurs_liens', $where);
+ $ids_auteurs = array_column($ids_auteurs, 'id_auteur');
+ $Tauteurs = _request('Tauteurs');
+
+ if (count($Tauteurs)) {
+ $associer = array_diff($Tauteurs, $ids_auteurs);
+ $dissocier = array_diff($ids_auteurs, $Tauteurs);
+
+ objet_associer( array('auteur' => $associer),array('article' => intval($id_article) ));
+ objet_dissocier( array('auteur' => $dissocier) , array('article' =>intval($id_article) ));
+ }
+
+ // maj des mots fermes
+ $T_id_groupe = sql_allfetsel('id_groupe','spip_groupes_mots','grigri!="tags"');
+ $T_id_groupe = array_column($T_id_groupe,'id_groupe');
+
+ foreach ($T_id_groupe as $id_groupe) {
+ $from = array(
+ 'spip_mots as M',
+ 'spip_mots_liens as L'
+ );
+ $where = array(
+ 'L.id_objet='.intval($id_article),
+ 'L.objet="article"',
+ 'L.id_mot=M.id_mot',
+ 'M.id_groupe='.$id_groupe
+ );
+
+ $ids_mots = sql_allfetsel('M.id_mot AS id_mot', $from, $where);
+ $ids_mots = array_column($ids_mots, 'id_mot');
+ $coches = _request('id_groupe_'.$id_groupe);
+ if (count($coches)) {
+ $associer = array_diff($coches, $ids_mots);
+ $dissocier = array_diff($ids_mots, $coches);
+
+ objet_associer(array('mot' => $associer),array('article' => intval($id_article)));
+ objet_dissocier(array('mot' => $dissocier), array('article' => intval($id_article)));
+ }
+ }
+
+ include_spip('action/editer_objet');
+ // GIS
+ $lat_def = lire_config('gis/lat');
+ $lon_def = lire_config('gis/lon');
+ $lat = _request('lat');
+ $lon = _request('lon');
+ // 1. recup id_gis si present
+ $from = array(
+ 'spip_gis as G',
+ 'spip_gis_liens as L',
+ 'spip_articles as A'
+ );
+ $where = array(
+ 'L.id_objet='.intval($id_article),
+ 'L.objet="article"',
+ 'L.id_gis=G.id_gis'
+ );
+ $id_gis = sql_getfetsel('G.id_gis', $from, $where);
+ $set = array(
+ 'titre' => _request('titre'),
+ 'lat' => $lat,
+ 'lon' => $lon,
+ 'zoom' => 15
+ );
+
+ if (!$id_gis) {
+ $id_gis = sql_insertq('spip_gis',$set);
+ $set = array(
+ 'id_gis' => $id_gis,
+ 'id_objet' => intval($id_article),
+ 'objet' => 'article'
+ );
+ sql_insertq('spip_gis_liens',$set);
+ } else {
+ if ($lat !== $lat_def and $lon !== $lon_def) {
+ objet_modifier('gis', $id_gis, $set);
+ }
+ }
+
+ // SEO title et description: créer ou mettre à jour, y compris si les valeurs postées sont vides (= vidage du champ)
+ $id_article = intval($id_article);
+ $seo_titre = _request('seo_titre');
+ $set = array('id_objet' => $id_article, 'objet' => 'article', 'meta_name' => 'title', 'meta_content' => $seo_titre);
+ $where = array("id_objet = $id_article", "objet = 'article'", "meta_name = 'title'");
+ $res = sql_getfetsel('meta_content', 'spip_seo', $where);
+ if ((!$res AND $seo_titre != '')
+ OR ($res != $seo_titre)) {
+ sql_replace('spip_seo', $set, $where);
+ }
+ $seo_descriptif = _request('seo_descriptif');
+ $set = array('id_objet' => $id_article, 'objet' => 'article', 'meta_name' => 'description', 'meta_content' => $seo_descriptif);
+ $where = array("id_objet = $id_article", "objet = 'article'", "meta_name = 'description'");
+ $res = sql_getfetsel('meta_content', 'spip_seo', $where);
+ if ((!$res AND $seo_descriptif != '')
+ OR ($res != $seo_descriptif)) {
+ sql_replace('spip_seo', $set, $where);
+ }
+
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_article/1'");
+
+ $retour = array();
+ $retour['message_ok'] = "Le groupe est bien enregistré.";
+
+ //$retour['redirect'] = 'spip.php?page=article&id_article='.$id_article;
+
+ $bigform = charger_fonction('bigform_traiter','inc');
+ $bigform($id_article, 'article');
+
+
+ return $retour;
+}
diff --git a/formulaires/editer_post.html b/formulaires/editer_post.html
new file mode 100644
index 0000000..1928594
--- /dev/null
+++ b/formulaires/editer_post.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+
diff --git a/formulaires/editer_post.php b/formulaires/editer_post.php
new file mode 100644
index 0000000..391ad08
--- /dev/null
+++ b/formulaires/editer_post.php
@@ -0,0 +1,260 @@
+ 'image_web','taille_max'=>'2000','largeur_max'=>'2048','hauteur_max'=>'2048'];
+ $bigform($options,$erreurs);
+
+ return $erreurs;
+}
+
+function formulaires_editer_post_traiter_dist($id_article = 0, $redirect = ''){
+ $new = $id_article;
+
+ $id_rubrique = lire_config('balint/id_rub_articles');
+
+ if (!intval($id_article)) {
+
+ include_spip('action/editer_article');
+ $set = array(
+ 'statut' => 'prepa'
+ );
+ $id_article = article_inserer($id_rubrique,$set);
+ }
+
+ // enregistrement de l'image
+ if (!intval($new)) {
+ $where = array(
+ 'objet="article"',
+ 'id_objet='.intval(session_get('id_auteur')) * -1
+ );
+ sql_updateq('spip_documents_liens',array('id_objet' => intval($id_article)), $where);
+ }
+
+ // maj de l'article
+ $set = array(
+ 'titre' => _request('titre'),
+ 'texte' => _request('texte'),
+ 'soustitre' => _request('soustitre'),
+ 'date' => date("Y-m-d H:i:s"),
+ 'descriptif' => _request('descriptif'),
+ 'date_agenda' => _request('date_agenda'),
+ 'statut' => _request('statut'),
+ 'id_groupe' => _request('id_groupe')
+// 'champ_1' => _request('champ_1'),
+// 'champ_2' => _request('champ_2'),
+// 'chapo' => _request('chapo'),
+// 'surtitre' => _request('surtitre')
+ );
+ sql_updateq('spip_articles',$set,'id_article='.intval($id_article));
+
+ // maj association article -> auteurs
+ include_spip('action/editer_liens');
+ $where = array(
+ 'id_objet='.intval($id_article),
+ 'objet="article"',
+ );
+ $ids_auteurs = sql_allfetsel('id_auteur', 'spip_auteurs_liens', $where);
+ $ids_auteurs = array_column($ids_auteurs, 'id_auteur');
+ $Tauteurs = _request('Tauteurs');
+ if (count($Tauteurs)) {
+ $associer = array_diff($Tauteurs, $ids_auteurs);
+ $dissocier = array_diff($ids_auteurs, $Tauteurs);
+
+ objet_associer( array('auteur' => $associer),array('article' => intval($id_article) ));
+ objet_dissocier( array('auteur' => $dissocier) , array('article' =>intval($id_article) ));
+ }
+
+ // maj des mots fermes
+ $T_id_groupe = sql_allfetsel('id_groupe','spip_groupes_mots','grigri!="tags"');
+ $T_id_groupe = array_column($T_id_groupe,'id_groupe');
+
+ foreach ($T_id_groupe as $id_groupe) {
+ $from = array(
+ 'spip_mots as M',
+ 'spip_mots_liens as L'
+ );
+ $where = array(
+ 'L.id_objet='.intval($id_article),
+ 'L.objet="article"',
+ 'L.id_mot=M.id_mot',
+ 'M.id_groupe='.$id_groupe
+ );
+
+ $ids_mots = sql_allfetsel('M.id_mot AS id_mot', $from, $where);
+ $ids_mots = array_column($ids_mots, 'id_mot');
+ $coches = _request('id_groupe_'.$id_groupe);
+ if (count($coches)) {
+ $associer = array_diff($coches, $ids_mots);
+ $dissocier = array_diff($ids_mots, $coches);
+
+ objet_associer(array('mot' => $associer),array('article' => intval($id_article)));
+ objet_dissocier(array('mot' => $dissocier), array('article' => intval($id_article)));
+ }
+ }
+
+ include_spip('action/editer_objet');
+ // GIS
+ $lat_def = lire_config('gis/lat');
+ $lon_def = lire_config('gis/lon');
+ $lat = _request('lat');
+ $lon = _request('lon');
+ // 1. recup id_gis si present
+ $from = array(
+ 'spip_gis as G',
+ 'spip_gis_liens as L',
+ 'spip_articles as A'
+ );
+ $where = array(
+ 'L.id_objet='.intval($id_article),
+ 'L.objet="article"',
+ 'L.id_gis=G.id_gis'
+ );
+ $id_gis = sql_getfetsel('G.id_gis', $from, $where);
+ $set = array(
+ 'titre' => _request('titre'),
+ 'lat' => $lat,
+ 'lon' => $lon,
+ 'zoom' => 15
+ );
+
+ if (!$id_gis) {
+ $id_gis = sql_insertq('spip_gis',$set);
+ $set = array(
+ 'id_gis' => $id_gis,
+ 'id_objet' => intval($id_article),
+ 'objet' => 'article'
+ );
+ sql_insertq('spip_gis_liens',$set);
+ } else {
+ if ($lat !== $lat_def and $lon !== $lon_def) {
+ objet_modifier('gis', $id_gis, $set);
+ }
+ }
+
+ // SEO title et description: créer ou mettre à jour, y compris si les valeurs postées sont vides (= vidage du champ)
+ $id_article = intval($id_article);
+ $seo_titre = _request('seo_titre');
+ $set = array('id_objet' => $id_article, 'objet' => 'article', 'meta_name' => 'title', 'meta_content' => $seo_titre);
+ $where = array("id_objet = $id_article", "objet = 'article'", "meta_name = 'title'");
+ $res = sql_getfetsel('meta_content', 'spip_seo', $where);
+ if ((!$res AND $seo_titre != '')
+ OR ($res != $seo_titre)) {
+ sql_replace('spip_seo', $set, $where);
+ }
+ $seo_descriptif = _request('seo_descriptif');
+ $set = array('id_objet' => $id_article, 'objet' => 'article', 'meta_name' => 'description', 'meta_content' => $seo_descriptif);
+ $where = array("id_objet = $id_article", "objet = 'article'", "meta_name = 'description'");
+ $res = sql_getfetsel('meta_content', 'spip_seo', $where);
+ if ((!$res AND $seo_descriptif != '')
+ OR ($res != $seo_descriptif)) {
+ sql_replace('spip_seo', $set, $where);
+ }
+
+ include_spip('inc/invalideur');
+ suivre_invalideur("id='id_article/1'");
+
+ $retour = array();
+ $retour['message_ok'] = "L'article est bien enregistré.";
+
+ $bigform = charger_fonction('bigform_traiter','inc');
+ $bigform($id_article, 'article');
+
+
+ return $retour;
+}
diff --git a/formulaires/inscription.php b/formulaires/inscription.php
index 6fa5df8..3cf58bd 100644
--- a/formulaires/inscription.php
+++ b/formulaires/inscription.php
@@ -140,7 +140,7 @@ function formulaires_inscription_traiter_dist($mode = '', $id = 0) {
}
// 1. On cree l'auteur en BDD :
- // statut = 1comite
+ // statut = 6forum
$nom = _request('nom_inscription');
$mail_complet = _request('mail_inscription');
$password = _request('password');
@@ -153,7 +153,7 @@ function formulaires_inscription_traiter_dist($mode = '', $id = 0) {
// on modifie aussi le statut
$set = array(
'pass' => $password,
- 'statut' => '1comite'
+ 'statut' => '6forum'
);
auteur_modifier($id_auteur, $set);
}
diff --git a/inclure/bouton_supprimer.html b/inclure/bouton_supprimer.html
index df90e6a..39cefdc 100644
--- a/inclure/bouton_supprimer.html
+++ b/inclure/bouton_supprimer.html
@@ -1,4 +1,4 @@
-
+
Supprimer
diff --git a/inclure/photos_article.html b/inclure/photos_article.html
new file mode 100644
index 0000000..062bb48
--- /dev/null
+++ b/inclure/photos_article.html
@@ -0,0 +1,26 @@
+#CACHE{0}
+[(#ENV{id_article}|=={0}|oui) [(#SESSION{id_auteur}|mult{-1}|setenv{id_article})] ]
+
+
+
+
+ [(#FICHIER|image_recadre{320:180,-,focus}|image_reduire{320,180})]
+
+ [(#SESSION{statut}|=={0minirezo}|oui)
+
+ ]
+ [
(#TITRE|sinon{[(#SESSION{statut}|=={0minirezo}|oui)Double cliquez pour ajouter un titre]})
]
+
+
+