source: spip-zone/_plugins_/shortcut_url/trunk/formulaires/editer_shortcut_url.php @ 98014

Last change on this file since 98014 was 98014, checked in by kent1@…, 3 years ago

Enlever les variables qui ne servent à rien

Ajouter les variables non déclarées

File size: 4.1 KB
Line 
1<?php
2/**
3 * shortcut_url
4 *
5 * @plugin     shortcut_url
6 * @copyright  2015
7 * @author     cyp
8 * @license    GNU/GPL
9 * @package    SPIP\formulaires\shortcut_url
10 */
11
12/**
13 * Gestion du formulaire de shortcut_url des sites
14 *
15 * @package SPIP\Formulaires
16 **/
17if (!defined('_ECRIRE_INC_VERSION')) {
18        return;
19}
20
21include_spip('inc/actions');
22include_spip('inc/editer');
23include_spip('action/editer_objet');
24
25/**
26 * Chargement du formulaire de configuration du shortcut_url
27 *
28 * @return array
29 *     Environnement du formulaire
30 **/
31function formulaires_editer_shortcut_url_charger_dist($id_shortcut_url = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
32        $valeurs = formulaires_editer_objet_charger('shortcut_url', $id_shortcut_url, '', '', $retour, '');
33
34        if (defined('_TAILLE_RACCOURCI')) {
35                if (_TAILLE_RACCOURCI >= 5) {
36                        $valeurs['taille_raccourci'] = _TAILLE_RACCOURCI;
37                } else {
38                        $valeurs['taille_raccourci'] = 8;
39                }
40        } else {
41                $valeurs['taille_raccourci'] = 8;
42        }
43        return $valeurs;
44}
45
46function formulaires_editer_shortcut_url_verifier_dist($id_shortcut_url = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
47        $erreurs = formulaires_editer_objet_verifier('shortcut_url', $id_shortcut_url, array('url'));
48
49        if (!$url = _request('url')) {
50                $erreurs['url'] = _T('info_obligatoire');
51        } else {
52                // Check si l'url est valide
53                if (filter_var($url, FILTER_VALIDATE_URL) === false) {
54                        $erreurs['url'] = _T('shortcut_url:erreur_url_invalide');
55                } else {
56                        // On supprime ?var_mode=recalcul et autres var_mode (cf traiter aussi)
57                        $url = parametre_url($url, 'var_mode', '');
58                        // Check si l'URL existe deja
59                        if (($id_shortcut_url == 'oui')
60                                and ($id_shortcut_url_existe = sql_getfetsel('id_shortcut_url', 'spip_shortcut_urls', 'url=' . sql_quote($url)))) {
61                                set_request('id_shortcut_url_existe', $id_shortcut_url_existe);
62                                $erreurs['url'] = _T('shortcut_url:erreur_url_exist');
63                        }
64                }
65        }
66        // On vérifie que l'URL raccourcie n'existe pas
67        if (_request('titre')) {
68                $id_shortcut_url_existe = sql_getfetsel('id_shortcut_url', 'spip_shortcut_urls', 'titre=' . sql_quote(_request('titre')));
69                if ($id_shortcut_url_existe) {
70                        set_request('id_shortcut_url_existe', $id_shortcut_url_existe);
71                        $erreurs['titre'] = _T('shortcut_url:erreur_url_raccourcis_exist');
72                }
73        }
74
75        return $erreurs;
76}
77
78// http://doc.spip.org/@inc_editer_shortcut_url_dist
79function formulaires_editer_shortcut_url_traiter_dist($id_shortcut_url = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
80        include_spip('inc/distant');
81        $result = $set = array();
82        $recup = recuperer_page(_request('url'), true);
83        if (preg_match(',<title[^>]*>(.*),i', $recup, $regs)) {
84                $result['nom_site'] = filtrer_entites(supprimer_tags(preg_replace(',</title>.*,i', '', $regs[1])));
85        }
86
87        if (defined('_TAILLE_RACCOURCI')) {
88                if (_TAILLE_RACCOURCI >= 5) {
89                        $taille_raccourci = _TAILLE_RACCOURCI;
90                } else {
91                        $taille_raccourci = 8;
92                }
93        } else {
94                $taille_raccourci = 8;
95        }
96
97        if (_request('titre')) {
98                $set['titre'] = _request('titre');
99        } else {
100                $set['titre'] = generer_chaine_aleatoire($taille_raccourci);
101        }
102        $set['description'] = $result['nom_site'];
103        // On supprime ?var_mode=recalcul et autres var_mode
104        $set['url'] = parametre_url(_request('url'), 'var_mode', '');
105        $set['ip_address'] = $_SERVER['REMOTE_ADDR'];
106        $set['date_modif'] = date('Y-m-d H:i:s');
107
108        if (intval($id_shortcut_url) > 0) {
109                sql_delete('spip_urls', 'type=' . sql_quote('shortcut_url') . ' AND id_objet=' . intval($id_shortcut_url));
110        }
111        $editer_objet = charger_fonction('editer_objet', 'action');
112        $editer_objet($id_shortcut_url, 'shortcut_url', $set);
113
114        // $res = array('redirect' => self(), 'id_shortcut_url' => $id_shortcut_url);
115        $res = array(
116                        'editable' => true,
117                        'message_ok' => _T('shortcut_url:message_confirmation_shortcut_url')
118        );
119        if (_request('exec') == 'accueil') {
120                set_request('id_shortcut_url', false);
121                set_request('url', false);
122                set_request('titre', false);
123        }
124        $res['message_ok'] .= "<script type='text/javascript'>if (window.jQuery) $('.liste-objets.shortcut_url').ajaxReload();</script>";
125        return $res;
126}
Note: See TracBrowser for help on using the repository browser.