[SPIP] v3.2.1-->v3.2.2
[lhc/web/www.git] / www / ecrire / inc / preselectionner_parent_nouvel_objet.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13
14 if (!defined('_ECRIRE_INC_VERSION')) {
15 return;
16 }
17 if (!defined('_AUTO_SELECTION_RUBRIQUE')) {
18 define('_AUTO_SELECTION_RUBRIQUE', false);
19 }
20
21
22 /**
23 * Preselectionner la rubrique lors de la creation
24 * desactive par defaut suite a remontee utilisateur mais activable par define
25 * ou surchargeable
26 *
27 * @param string $objet
28 * @param array $row
29 * @return string
30 */
31 function inc_preselectionner_parent_nouvel_objet_dist($objet, $row) {
32 if (!_AUTO_SELECTION_RUBRIQUE) {
33 return '';
34 }
35
36 if (!isset($row['id_rubrique'])) {
37 return '';
38 }
39
40 $id_rubrique = '';
41 if ($GLOBALS['connect_id_rubrique']) {
42 // si admin restreint : sa rubrique
43 $id_rubrique = $GLOBALS['connect_id_rubrique'][0];
44 } else {
45 // sinon la derniere rubrique cree
46 $row_rub = sql_fetsel("id_rubrique", "spip_rubriques", "", "", "id_rubrique DESC", "0,1");
47 $id_rubrique = $row_rub['id_rubrique'];
48 }
49 // si le choix ne convient pas, on cherche dans un secteur
50 if (!autoriser('creer' . $objet . 'dans', 'rubrique', $id_rubrique)) {
51 $id_rubrique = '';
52 // manque de chance, la rubrique n'est pas autorisee, on cherche un des secteurs autorises
53 $res = sql_select("id_rubrique", "spip_rubriques", "id_parent=0");
54 while (!$id_rubrique and $row_rub = sql_fetch($res)) {
55 if (autoriser('creer' . $objet . 'dans', 'rubrique', $row_rub['id_rubrique'])) {
56 $id_rubrique = $row_rub['id_rubrique'];
57 }
58 }
59 }
60
61 return $id_rubrique;
62
63 }