Merge branch 'v1' into v3
[lhc/web/www.git] / www / plugins-dist / urls_etendues / urls_pipeline.php
1 <?php
2 /***************************************************************************\
3 * SPIP, Systeme de publication pour l'internet *
4 * *
5 * Copyright (c) 2001-2016 *
6 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
7 * *
8 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
9 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
10 \***************************************************************************/
11
12 if (!defined('_ECRIRE_INC_VERSION')) {
13 return;
14 }
15
16 function urls_autoriser($f) { return $f; }
17
18 function autoriser_url_administrer($faire, $type = '', $id = 0, $qui = null, $opt = null) {
19 return (
20 isset($GLOBALS['meta']['urls_activer_controle'])
21 and $GLOBALS['meta']['urls_activer_controle'] == 'oui'
22 and $qui['statut'] == '0minirezo'
23 and !$qui['restreint']);
24 }
25
26 function autoriser_controlerurls_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
27 return autoriser('administrer', 'url');
28 }
29
30 function autoriser_configurerurls_menu_dist($faire, $type, $id, $qui, $opt) {
31 return autoriser('configurer', '_urls', $id, $qui, $opt);
32 }
33
34 function autoriser_modifierurl($faire, $type = '', $id = 0, $qui = null, $opt = null) {
35 if (autoriser('modifier', $type, $id, $qui, $opt)) {
36 return true;
37 }
38
39 // si pas le droit de 'modifier', regarder d'un peu plus pres pourquoi
40 if (!$type or !intval($id)) {
41 return false;
42 }
43 // verifier si l'objet existe encore en base
44 $table_sql = table_objet_sql($type);
45 $primary = id_table_objet($type);
46 if (!sql_countsel($table_sql, "$primary=" . intval($id))) {
47 return autoriser('administrer', 'url');
48 }
49
50 return false;
51 }
52
53 function urls_afficher_fiche_objet($flux) {
54 if (isset($GLOBALS['meta']['urls_activer_controle'])
55 and $GLOBALS['meta']['urls_activer_controle'] == 'oui'
56 and $objet = $flux['args']['type']
57 and $id_objet = $flux['args']['id']
58 and objet_info($objet, 'page')
59 ) {
60 $p = strpos($flux['data'], 'fiche_objet');
61 $p = strpos($flux['data'], '<!--/hd-->', $p);
62 //$p = strrpos(substr($flux['data'],0,$p),'<div');
63
64 $res = recuperer_fond('prive/objets/editer/url', array('id_objet' => $id_objet, 'objet' => $objet),
65 array('ajax' => true));
66 $flux['data'] = substr_replace($flux['data'], $res, $p, 0);
67 }
68
69 return $flux;
70 }