Commit | Line | Data |
---|---|---|
c495c100 P |
1 | <?php |
2 | ||
3 | /***************************************************************************\ | |
4 | * SPIP, Systeme de publication pour l'internet * | |
5 | * * | |
6 | * Copyright (c) 2001-2007 * | |
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 | if (!defined("_ECRIRE_INC_VERSION")) return; #securite | |
14 | ||
15 | // Le contexte indique dans quelle rubrique le visiteur peut proposer le site | |
16 | ||
17 | ||
18 | // http://doc.spip.org/@balise_FORMULAIRE_SITE | |
19 | function balise_FORMULAIRE_SITE ($p) { | |
20 | return calculer_balise_dynamique($p,'FORMULAIRE_SITE', array('id_rubrique')); | |
21 | } | |
22 | ||
23 | // http://doc.spip.org/@balise_FORMULAIRE_SITE_stat | |
24 | function balise_FORMULAIRE_SITE_stat($args, $filtres) { | |
25 | ||
26 | // Pas d'id_rubrique ? Erreur de squelette | |
27 | if (!$args[0]) | |
28 | return erreur_squelette( | |
29 | _T('zbug_champ_hors_motif', | |
30 | array ('champ' => '#FORMULAIRE_SITE', | |
31 | 'motif' => 'RUBRIQUES')), ''); | |
32 | ||
33 | // Verifier que les visisteurs sont autorises a proposer un site | |
34 | ||
35 | return (($GLOBALS['meta']["proposer_sites"] != 2) ? '' : $args); | |
36 | } | |
37 | ||
38 | // http://doc.spip.org/@balise_FORMULAIRE_SITE_dyn | |
39 | function balise_FORMULAIRE_SITE_dyn($id_rubrique) { | |
40 | ||
41 | if ($nom = _request('nom_site')) { | |
42 | ||
43 | // Tester le nom du site | |
44 | if (strlen ($nom) < 2) | |
45 | $message_erreur = _T('form_prop_indiquer_nom_site'); | |
46 | ||
47 | // Tester l'URL du site | |
48 | include_spip('inc/sites'); | |
49 | $url = _request('url_site'); | |
50 | if (!recuperer_page($url)) | |
51 | $message_erreur = _T('form_pet_url_invalide'); | |
52 | ||
53 | $desc = _request('description_site'); | |
54 | ||
55 | // Integrer a la base de donnees | |
56 | if (!$message_erreur) { | |
57 | spip_abstract_insert('spip_syndic', "(nom_site, url_site, id_rubrique, descriptif, date, date_syndic, statut, syndication)", "(" . _q($nom) . ", " . _q($url) . ", " . intval($id_rubrique) .", " . _q($desc) . ", NOW(), NOW(), 'prop', 'non')"); | |
58 | $message_ok = _T('form_prop_enregistre'); | |
59 | } | |
60 | } | |
61 | ||
62 | return array('formulaires/site', $GLOBALS['delais'], | |
63 | array( | |
64 | 'self' => str_replace('&', '&', self()), | |
65 | 'message_ok' => $message_ok, | |
66 | 'message_erreur' => $message_erreur, | |
67 | 'nom_site' => $nom, | |
68 | 'url_site' => $url ? $url : 'http://', | |
69 | 'descriptif_site' => $desc | |
70 | ) | |
71 | ); | |
72 | ||
73 | } | |
74 | ||
75 | ?> |