[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins-dist / sites / formulaires / editer_site.php
index 2ee3e4a..5f69fad 100644 (file)
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined("_ECRIRE_INC_VERSION")) return;
+/**
+ * Gestion du formulaire de d'édition d'un site
+ *
+ * @package SPIP\Sites\Formulaires
+ **/
+
+if (!defined("_ECRIRE_INC_VERSION")) {
+       return;
+}
 
 include_spip('inc/actions');
 include_spip('inc/editer');
 include_spip('inc/filtres'); // pour vider_url()
 
-function formulaires_editer_site_charger_dist($id_syndic='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='sites_edit_config', $row=array(), $hidden=''){
-       $valeurs = formulaires_editer_objet_charger('site',$id_syndic,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
+/**
+ * Chargement du formulaire d'édition d'un site
+ *
+ * @uses formulaires_editer_objet_charger()
+ *
+ * @param int|string $id_syndic
+ *     Identifiant du site. 'new' pour un nouveau site.
+ * @param int $id_rubrique
+ *     Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ *     URL de redirection après le traitement
+ * @param int $lier_trad
+ *     Identifiant éventuel d'un site source de traduction
+ * @param string $config_fonc
+ *     Nom de la fonction ajoutant des configurations particulières au formulaire
+ * @param array $row
+ *     Valeurs de la ligne SQL du mot, si connu
+ * @param string $hidden
+ *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
+ * @return array
+ *     Environnement du formulaire
+ **/
+function formulaires_editer_site_charger_dist(
+       $id_syndic = 'new',
+       $id_rubrique = 0,
+       $retour = '',
+       $lier_trad = 0,
+       $config_fonc = 'sites_edit_config',
+       $row = array(),
+       $hidden = ''
+) {
+       $valeurs = formulaires_editer_objet_charger('site', $id_syndic, $id_rubrique, $lier_trad, $retour, $config_fonc, $row,
+               $hidden);
        # pour recuperer le logo issu d'analyse auto
-       $valeurs['logo']='';
-       $valeurs['format_logo']='';
+       $valeurs['logo'] = '';
+       $valeurs['format_logo'] = '';
+
        return $valeurs;
 }
 
 /**
- * Identifier le formulaire en faisant abstraction des parametres qui
- * ne representent pas l'objet edite
+ * Identifier le formulaire en faisant abstraction des paramètres qui
+ * ne représentent pas l'objet edité
+ *
+ * @param int|string $id_syndic
+ *     Identifiant du site. 'new' pour un nouveau site.
+ * @param int $id_rubrique
+ *     Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ *     URL de redirection après le traitement
+ * @param int $lier_trad
+ *     Identifiant éventuel d'un site source de traduction
+ * @param string $config_fonc
+ *     Nom de la fonction ajoutant des configurations particulières au formulaire
+ * @param array $row
+ *     Valeurs de la ligne SQL du mot, si connu
+ * @param string $hidden
+ *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
+ * @return string
+ *     Hash du formulaire
  */
-function formulaires_editer_site_identifier_dist($id_syndic='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='sites_edit_config', $row=array(), $hidden=''){
-       return serialize(array(intval($id_syndic),$lier_trad));
+function formulaires_editer_site_identifier_dist(
+       $id_syndic = 'new',
+       $id_rubrique = 0,
+       $retour = '',
+       $lier_trad = 0,
+       $config_fonc = 'sites_edit_config',
+       $row = array(),
+       $hidden = ''
+) {
+       return serialize(array(intval($id_syndic), $lier_trad));
 }
 
-// Choix par defaut des options de presentation
-function sites_edit_config($row)
-{
+/**
+ * Choix par défaut des options de présentation
+ *
+ * @param array $row
+ *     Valeurs de la ligne SQL d'un site, si connu
+ * return array
+ *     Configuration pour le formulaire
+ */
+function sites_edit_config($row) {
        global $spip_lang;
 
        $config = $GLOBALS['meta'];
@@ -42,55 +113,119 @@ function sites_edit_config($row)
        $config['langue'] = $spip_lang;
 
        $config['restreint'] = false;
+
        return $config;
 }
 
-function formulaires_editer_site_verifier_dist($id_syndic='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='sites_edit_config', $row=array(), $hidden=''){
+/**
+ * Vérifications du formulaire d'édition de site
+ *
+ * @uses formulaires_editer_objet_verifier()
+ *
+ * @param int|string $id_syndic
+ *     Identifiant du site. 'new' pour un nouveau site.
+ * @param int $id_rubrique
+ *     Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ *     URL de redirection après le traitement
+ * @param int $lier_trad
+ *     Identifiant éventuel d'un site source de traduction
+ * @param string $config_fonc
+ *     Nom de la fonction ajoutant des configurations particulières au formulaire
+ * @param array $row
+ *     Valeurs de la ligne SQL du mot, si connu
+ * @param string $hidden
+ *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
+ * @return array
+ *     Erreurs du formulaire
+ */
+function formulaires_editer_site_verifier_dist(
+       $id_syndic = 'new',
+       $id_rubrique = 0,
+       $retour = '',
+       $lier_trad = 0,
+       $config_fonc = 'sites_edit_config',
+       $row = array(),
+       $hidden = ''
+) {
        include_spip('inc/filtres');
        include_spip('inc/site');
-       $oblis = array('nom_site','url_site','id_parent');
+       $oblis = array('nom_site', 'url_site', 'id_parent');
        // Envoi depuis le formulaire d'analyse automatique d'un site
-       if (_request('ajoute_url_auto') AND strlen(vider_url($u = _request('url_auto')))) {
+       if (_request('ajoute_url_auto') and strlen(vider_url($u = _request('url_auto')))) {
                if ($auto = analyser_site($u)) {
                        // Si pas de logo, on va le chercher dans le ou les feeds
-                       if(isset($auto['url_syndic']) && !$auto['logo'] && ($auto['url_syndic'] != _request('ajouter_url_auto')) && preg_match(',^select: (.+),', $auto['url_syndic'], $regs)){
-                               $url_syndic = str_replace('select: ','',$auto['url_syndic']);
-                               $feeds = explode(' ',$regs[1]);
+                       if (isset($auto['url_syndic'])
+                               && !(isset($auto['logo']) and $auto['logo'])
+                               && ($auto['url_syndic'] != _request('ajouter_url_auto'))
+                               && preg_match(',^select: (.+),', $auto['url_syndic'], $regs)
+                       ) {
+                               $url_syndic = str_replace('select: ', '', $auto['url_syndic']);
+                               $feeds = explode(' ', $regs[1]);
                                foreach ($feeds as $feed) {
-                                       if(($auto_syndic = analyser_site($feed)) && isset($auto_syndic['format_logo'])){
+                                       if (($auto_syndic = analyser_site($feed)) && isset($auto_syndic['format_logo'])) {
                                                $auto['format_logo'] = $auto_syndic['format_logo'];
                                                $auto['logo'] = $auto_syndic['logo'];
                                                break;
                                        }
                                }
                        }
-                       foreach($auto as $k=>$v){
-                               set_request($k,$v);
+                       foreach ($auto as $k => $v) {
+                               set_request($k, $v);
                        }
                        $erreurs['verif_url_auto'] = _T('sites:texte_referencement_automatique_verifier', array('url' => $u));
-               }
-               else{
+                       $erreurs['message_erreur'] = '';
+               } else {
                        $erreurs['url_auto'] = _T('sites:avis_site_introuvable');
                }
-       }
-       else{
+       } else {
                // auto-renseigner le titre si il n'existe pas
                // d'abord a partir du descriptif en coupant
-               titre_automatique('nom_site',array('descriptif'));
+               titre_automatique('nom_site', array('descriptif'));
                // et sinon l'url du site, sans couper
-               titre_automatique('nom_site',array('url_site'),255);
-               $erreurs = formulaires_editer_objet_verifier('site',$id_syndic,$oblis);
+               titre_automatique('nom_site', array('url_site'), 255);
+               $erreurs = formulaires_editer_objet_verifier('site', $id_syndic, $oblis);
        }
+
        return $erreurs;
 }
 
-function formulaires_editer_site_traiter_dist($id_syndic='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='sites_edit_config', $row=array(), $hidden=''){
+/**
+ * Traitements du formulaire d'édition de site
+ *
+ * @uses formulaires_editer_objet_traiter()
+ *
+ * @param int|string $id_syndic
+ *     Identifiant du site. 'new' pour un nouveau site.
+ * @param int $id_rubrique
+ *     Identifiant de la rubrique parente (si connue)
+ * @param string $retour
+ *     URL de redirection après le traitement
+ * @param int $lier_trad
+ *     Identifiant éventuel d'un site source de traduction
+ * @param string $config_fonc
+ *     Nom de la fonction ajoutant des configurations particulières au formulaire
+ * @param array $row
+ *     Valeurs de la ligne SQL du mot, si connu
+ * @param string $hidden
+ *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
+ * @return array
+ *     Erreurs du formulaire
+ */
+function formulaires_editer_site_traiter_dist(
+       $id_syndic = 'new',
+       $id_rubrique = 0,
+       $retour = '',
+       $lier_trad = 0,
+       $config_fonc = 'sites_edit_config',
+       $row = array(),
+       $hidden = ''
+) {
        // netoyer les entrees
-       if (!is_null(_request('url_site')))
-               set_request('url_site',vider_url(_request('url_site')));
+       if (!is_null(_request('url_site'))) {
+               set_request('url_site', vider_url(_request('url_site')));
+       }
 
-       return formulaires_editer_objet_traiter('site',$id_syndic,$id_rubrique,$lier_trad,$retour,$config_fonc,$row,$hidden);
+       return formulaires_editer_objet_traiter('site', $id_syndic, $id_rubrique, $lier_trad, $retour, $config_fonc, $row,
+               $hidden);
 }
-
-
-?>