Skip to content
Extraits de code Groupes Projets
Valider 9a78980c rédigé par esj's avatar esj
Parcourir les fichiers

Création d'une breve ou d'un article dans le contexte de la racine: prendre la...

Création d'une breve ou d'un article dans le contexte de la racine: prendre la rubrique la plus récemment créée, dans la liste des rubriques administrées sur admin restreint. Le bug n'existait pas pour les sites curieusement, mais on lui applique aussi cette stratégie. Résoud #592
parent b1056f18
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -23,6 +23,7 @@ function exec_breves_edit_dist() ...@@ -23,6 +23,7 @@ function exec_breves_edit_dist()
global global
$champs_extra, $champs_extra,
$connect_statut, $connect_statut,
$connect_id_rubrique,
$id_breve, $id_breve,
$id_rubrique, $id_rubrique,
$lien_titre, $lien_titre,
...@@ -130,6 +131,17 @@ if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") { ...@@ -130,6 +131,17 @@ if ($connect_statut=="0minirezo" OR $statut=="prop" OR $new == "oui") {
debut_cadre_couleur("$logo_parent", false, "",_T('entree_interieur_rubrique').aide ("brevesrub")); debut_cadre_couleur("$logo_parent", false, "",_T('entree_interieur_rubrique').aide ("brevesrub"));
// appel du script a la racine, faut choisir
// on prend le dernier secteur cree
// dans une liste restreinte si admin restreint
if (!$id_rubrique) {
$in = !$connect_id_rubrique ? ''
: (' AND id_rubrique IN (' . join(',', $connect_id_rubrique) . ')');
$row_rub = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques WHERE id_parent=0$in ORDER BY id_rubrique DESC LIMIT 1"));
$id_rubrique = $row_rub['id_rubrique'];
}
// selecteur de rubrique (en general pas d'ajax car toujours racine) // selecteur de rubrique (en general pas d'ajax car toujours racine)
$selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc'); $selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc');
echo $selecteur_rubrique($id_rubrique, 'breve', ($statut == 'publie')); echo $selecteur_rubrique($id_rubrique, 'breve', ($statut == 'publie'));
......
...@@ -16,7 +16,7 @@ include_spip('inc/presentation'); ...@@ -16,7 +16,7 @@ include_spip('inc/presentation');
// http://doc.spip.org/@exec_sites_edit_dist // http://doc.spip.org/@exec_sites_edit_dist
function exec_sites_edit_dist() function exec_sites_edit_dist()
{ {
global $champs_extra, $connect_statut, $descriptif, $id_rubrique, $id_secteur, $id_syndic, $new, $nom_site, $syndication, $url_site, $url_syndic; global $champs_extra, $connect_statut, $descriptif, $id_rubrique, $id_secteur, $id_syndic, $new, $nom_site, $syndication, $url_site, $url_syndic, $connect_id_rubrique;
$result = spip_query("SELECT * FROM spip_syndic WHERE id_syndic=" . intval($id_syndic)); $result = spip_query("SELECT * FROM spip_syndic WHERE id_syndic=" . intval($id_syndic));
...@@ -34,7 +34,9 @@ else { ...@@ -34,7 +34,9 @@ else {
$syndication = 'non'; $syndication = 'non';
$new = 'oui'; $new = 'oui';
if (!intval($id_rubrique)) { if (!intval($id_rubrique)) {
$row = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques WHERE id_parent='0' ORDER BY titre LIMIT 1")); $in = !$connect_id_rubrique ? ''
: (' WHERE id_rubrique IN (' . join(',', $connect_id_rubrique) . ')');
$row = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques$in ORDER BY id_rubrique DESC LIMIT 1"));
$id_rubrique = $row['id_rubrique']; $id_rubrique = $row['id_rubrique'];
} }
} }
......
...@@ -20,7 +20,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return; ...@@ -20,7 +20,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
// new=oui = article a creer si on valide le formulaire // new=oui = article a creer si on valide le formulaire
// http://doc.spip.org/@article_select // http://doc.spip.org/@article_select
function article_select($id_article, $id_rubrique, $lier_trad, $new) { function article_select($id_article, $id_rubrique, $lier_trad, $new) {
global $connect_id_auteur, $spip_lang; global $connect_id_auteur, $connect_id_rubrique, $spip_lang;
$id_article = intval($id_article); $id_article = intval($id_article);
$id_rubrique = intval($id_rubrique); $id_rubrique = intval($id_rubrique);
$lier_trad = intval($lier_trad); $lier_trad = intval($lier_trad);
...@@ -61,6 +61,18 @@ else if ($new=='oui') { ...@@ -61,6 +61,18 @@ else if ($new=='oui') {
if ($lier_trad) if ($lier_trad)
$row = article_select_trad($lier_trad); $row = article_select_trad($lier_trad);
// appel du script a la racine, faut choisir
// admin restreint ==> sa premiere rubrique
// autre ==> la derniere rubrique cree
if (!$row['id_rubrique']) {
if ($connect_id_rubrique)
$row['id_rubrique'] = $id_rubrique = $connect_id_rubrique[0];
else {
$row_rub = spip_fetch_array(spip_query("SELECT id_rubrique FROM spip_rubriques ORDER BY id_rubrique DESC LIMIT 1"));
$row['id_rubrique'] = $id_rubrique = $row_rub['id_rubrique'];
}
}
// recuperer le secteur, pour affecter les bons champs extras // recuperer le secteur, pour affecter les bons champs extras
if (!$row['id_secteur']) { if (!$row['id_secteur']) {
$row_rub = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique=$id_rubrique")); $row_rub = spip_fetch_array(spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter