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'); // Envoi depuis le formulaire d'analyse automatique d'un site 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]); foreach ($feeds as $feed) { 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); } $erreurs['message_ok'] = _T('texte_referencement_automatique_verifier', array('url' => $u)); } else{ $erreurs['url_auto'] = _T('avis_site_introuvable'); } } else $erreurs = formulaires_editer_objet_verifier('site',$id_syndic,$oblis); return $erreurs; }
function formulaires_editer_message_verifier_dist($id_message = 'new', $type = 'message', $retour = '', $accepter_email = 'oui', $destinataires = '', $titre = '', $texte = '') { $oblis = array('titre'); if (!_request('draft')) { $oblis[] = 'texte'; } if (intval($id_message) and $t = sql_getfetsel('type', 'spip_messages', 'id_message=' . intval($id_message))) { $type = $t; } if (!in_array($type, array('pb', 'affich')) and !_request('draft')) { $oblis['destinataires'] = 'destinataires'; } if ($d = _request('destinataires')) { set_request('destinataires', implode(',', $d)); } $erreurs = formulaires_editer_objet_verifier('message', $id_message, $oblis); if ($d) { set_request('destinataires', $d); } include_spip('inc/messages'); if (!$erreurs['destinataires'] and isset($oblis['destinataires']) and $e = messagerie_verifier_destinataires(_request('destinataires'), array('accepter_email' => $accepter_email == 'oui'))) { $erreurs['destinataires'] = implode(', ', $e); } if (_request('rv') == 'oui') { include_spip('inc/date_gestion'); $date_debut = verifier_corriger_date_saisie('debut', true, $erreurs); $date_fin = verifier_corriger_date_saisie('fin', true, $erreurs); if ($date_debut and $date_fin and $date_fin < $date_debut) { $erreurs['date_fin'] = _T('organiseur:erreur_date_avant_apres'); } } else { set_request('rv', ''); } return $erreurs; }
function formulaires_editer_evenement_verifier_dist($id_evenement = 'new', $id_article = 0, $retour = '', $lier_trad = 0, $config_fonc = 'evenements_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('evenement', $id_evenement, array('titre', 'date_debut', 'date_fin')); include_spip('inc/date_gestion'); $horaire = _request('horaire') == 'non' ? false : true; if (!$erreurs['date_debut']) { $date_debut = verifier_corriger_date_saisie('debut', $horaire, $erreurs); } if (!$erreurs['date_fin']) { $date_fin = verifier_corriger_date_saisie('fin', $horaire, $erreurs); } if ($date_debut and $date_fin and $date_fin < $date_debut) { $erreurs['date_fin'] = _T('agenda:erreur_date_avant_apres'); } include_spip('formulaires/selecteur/selecteur_fonctions'); if (count($id = picker_selected(_request('parents_id'), 'article')) and $id = reset($id) and $id = sql_getfetsel('id_article', 'spip_articles', 'id_article=' . intval($id))) { // reinjecter dans id_parent set_request('id_parent', $id); } if (!($id_parent = intval(_request('id_parent')))) { $erreurs['id_parent'] = _T('agenda:erreur_article_manquant'); } else { if (!autoriser('creerevenementdans', 'article', $id_parent)) { $erreurs['id_parent'] = _T('agenda:erreur_article_interdit'); } } #if (!count($erreurs)) # $erreurs['message_erreur'] = 'ok?'; return $erreurs; }
function formulaires_editer_breve_verifier_dist($id_breve = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'breves_edit_config', $row = array(), $hidden = '') { // auto-renseigner le titre si il n'existe pas titre_automatique('titre', array('texte')); // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_article si vide $erreurs = formulaires_editer_objet_verifier('breve', $id_breve, array('id_parent')); return $erreurs; }
function formulaires_vacarme_editer_email_auteur_verifier_dist($id_auteur = 'new') { $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, array('email')); if ($email = _request('email')) { include_spip('inc/filtres'); if (!email_valide($email)) { $erreurs['email'] = _T('form_email_non_valide'); } } return $erreurs; }
function formulaires_editer_candidature_verifier_dist($id_candidature = 'new', $id_auteur = '', $retour = '') { $erreurs = formulaires_editer_objet_verifier('candidature', $id_candidature, array('regions', 'date_debut', 'date_fin', 'ecole', 'diplome', 'niveau', 'competences_offre', 'competences_recherche')); // vérification des dates (via spip-bonux) include_spip('inc/date_gestion'); $horaire = false; $date_debut = verifier_corriger_date_saisie('debut', $horaire, $erreurs); $date_fin = verifier_corriger_date_saisie('fin', $horaire, $erreurs); if ($date_debut and $date_fin and $date_fin < $date_debut) { $erreurs['date_fin'] = _T('fraap_candidatures:erreur_date_avant_apres'); } return $erreurs; }
function formulaires_editer_mot_verifier_dist($id_mot = 'new', $id_groupe = 0, $retour = '', $associer_objet = '', $dummy1 = '', $dummy2 = '', $config_fonc = 'mots_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('mot', $id_mot, array('titre')); // verifier qu'un mot du meme groupe n'existe pas avec le meme titre // la comparaison accepte un numero absent ou different // sinon avertir if (!count($erreurs) and !_request('confirm_titre_mot')) { if (sql_countsel("spip_mots", "titre REGEXP " . sql_quote("^([0-9]+[.] )?" . preg_quote(supprimer_numero(_request('titre'))) . "\$") . " AND id_mot<>" . intval($id_mot))) { $erreurs['titre'] = _T('mots:avis_doublon_mot_cle') . " <input type='hidden' name='confirm_titre_mot' value='1' />"; } } return $erreurs; }
function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $lier_article=0, $config_fonc='auteurs_edit_config', $row=array(), $hidden=''){ $erreurs = formulaires_editer_objet_verifier('auteur',$id_auteur,array('nom')); $auth_methode = sql_getfetsel('source','spip_auteurs','id_auteur='.intval($id_auteur)); $auth_methode = ($auth_methode ? $auth_methode : 'spip'); include_spip('inc/auth'); include_spip('inc/autoriser'); include_spip('inc/filtres'); if (!nom_acceptable(_request('nom'))) { $erreurs['nom'] = _T("info_nom_pas_conforme"); } if ($email = _request('email')){ // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un if (!autoriser('modifier','auteur',$id_auteur,null,array('email'=>'?')) AND $GLOBALS['visiteur_session']['id_auteur']==$id_auteur AND !strlen(trim($email)) AND $email!=($email_ancien=sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($id_auteur))) ){ $erreurs['email'] = _T('form_email_non_valide'); } else if (!email_valide($email)){ $erreurs['email'] = _T('form_email_non_valide'); } } if (preg_match(",^\s*javascript,i", _request('url_site'))) { $erreurs['url_site'] = _T('info_url_site_pas_conforme'); } if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)){ $erreurs['new_login'] = $err; $erreurs['message_erreur'] .= $err; } else { // pass trop court ou confirmation non identique if ($p = _request('new_pass')) { if ($p != _request('new_pass2')) { $erreurs['new_pass'] = _T('info_passes_identiques'); $erreurs['message_erreur'] .= _T('info_passes_identiques'); } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'),$p, $id_auteur)){ $erreurs['new_pass'] = $err; $erreurs['message_erreur'] .= $err; } } } return $erreurs; }
function formulaires_editer_article_verifier_dist($id_article = 'new', $id_rubrique = 0, $retour = '', $lier_trad = 0, $config_fonc = 'articles_edit_config', $row = array(), $hidden = '') { // auto-renseigner le titre si il n'existe pas titre_automatique('titre', array('descriptif', 'chapo', 'texte')); // on ne demande pas le titre obligatoire : il sera rempli a la volee dans editer_article si vide $erreurs = formulaires_editer_objet_verifier('article', $id_article, array('id_parent')); if (!function_exists('autoriser')) { include_spip('inc/autoriser'); } // si on utilise le formulaire dans le public if (!isset($erreurs['id_parent']) and !autoriser('creerarticledans', 'rubrique', _request('id_parent'))) { $erreurs['id_parent'] = _T('info_creerdansrubrique_non_autorise'); } return $erreurs; }
/** * Chargement du formulaire d'édition de souscription * * Déclarer les champs postés et y intégrer les valeurs par défaut * * @uses formulaires_editer_objet_charger() * * @param int$id_souscription_campagne * Identifiant de la campagne de souscription * @return array * Tableau des erreurs */ function formulaires_souscription_verifier_dist($id_souscription_campagne) { $erreurs = formulaires_editer_objet_verifier('souscription', 'new', array('courriel')); $campagne = sql_fetsel("*", "spip_souscription_campagnes", "id_souscription_campagne=" . intval($id_souscription_campagne)); $type_campagne = $campagne['type_objectif']; if (!verifier_campagne($id_souscription_campagne, $type_campagne)) { $erreurs['message_erreur'] = _T('souscription:erreur_souscription_campagne_invalide'); } if (_request('recu_fiscal') === "on" or $type_campagne == "adhesion") { foreach (array('civilite', 'prenom', 'nom', 'adresse', 'code_postal', 'ville', 'pays') as $obligatoire) { if (!_request($obligatoire)) { if ($type_campagne == "adhesion") { $erreurs[$obligatoire] = _T('souscription:erreur_adhesion_champ_obligatoire'); } else { $erreurs[$obligatoire] = _T('souscription:erreur_recu_fiscal_champ_obligatoire'); } } } } if ($e = _request('courriel') and !email_valide($e)) { $erreurs['courriel'] = _T('form_prop_indiquer_email'); } if ($e = _request('pays')) { $ret = sql_select('nom', 'spip_pays', "code='{$e}'"); if (sql_count($ret) != 1) { $erreurs['pays'] = _T('souscription:erreur_pays_invalide'); } elseif ($e = _request('pays') and $e == "FR") { if ($e = _request('code_postal') and !preg_match("/^(2[ABab]|0[1-9]|[1-9][0-9])[0-9]{3}\$/", $e)) { $erreurs['code_postal'] = _T('souscription:erreur_code_postal_invalide'); } } } if ($e = _request('telephone') and !preg_match("/^[0-9\\+ \\.]+\$/", $e)) { $erreurs['telephone'] = _T('souscription:erreur_telephone_invalide'); } $montant = formulaires_souscription_trouver_montant($campagne, $erreurs); if (!$montant) { $erreurs['montant'] = $erreurs['abo_montant'] = _T('souscription:erreur_montant_obligatoire'); } if (count($erreurs) > 0 and !isset($erreurs['message_erreur'])) { $erreurs['message_erreur'] = _T('souscription:erreur_formulaire'); } return $erreurs; }
function formulaires_editer_mot_verifier_dist($id_mot='new', $id_groupe=0, $retour='', $ajouter_id_article=0, $table='', $table_id=0, $config_fonc='mots_edit_config', $row=array(), $hidden=''){ $erreurs = formulaires_editer_objet_verifier('mot',$id_mot,array('titre')); // verifier qu'un mot du meme groupe n'existe pas avec le meme titre // la comparaison accepte un numero absent ou different // sinon avertir if (!count($erreurs) AND !_request('confirm_titre_mot')){ if ($l = sql_allfetsel('id_mot', "spip_mots", "titre REGEXP ".sql_quote("^([0-9]+[.] )?".preg_quote(supprimer_numero(_request('titre')))."$") ." AND id_mot<>".intval($id_mot))) { $a = 'id_mot='.$l[0]['id_mot']; $h = generer_url_ecrire('mots_edit', $a); $l = join(' ', array_map('array_shift', $l)); $t = _T('avis_doublon_mot_cle'); $erreurs['titre'] = "$t <a href='$h' title='$l'>?</a>" ." <input type='hidden' name='confirm_titre_mot' value='1' />"; set_request('edit','oui'); } } return $erreurs; }
function formulaires_editer_auteur_public_verifier_dist($id_auteur = 'new', $retour = '', $associer_objet = '', $config_fonc = 'auteurs_edit_config', $row = array(), $hidden = '') { // auto-renseigner le nom si il n'existe pas, sans couper titre_automatique('nom', array('email', 'login'), 255); // mais il reste obligatoire si on a rien trouve $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, array('nom')); $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)); $auth_methode = $auth_methode ? $auth_methode : 'spip'; include_spip('inc/auth'); if ($email = _request('email')) { include_spip('inc/filtres'); include_spip('inc/autoriser'); // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un if (!autoriser('modifier', 'auteur', $id_auteur, null, array('email' => '?')) and $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur and !strlen(trim($email)) and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))) { $erreurs['email'] = $id_auteur == $GLOBALS['visiteur_session']['id_auteur'] ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'); } else { if (!email_valide($email)) { $erreurs['email'] = $id_auteur == $GLOBALS['visiteur_session']['id_auteur'] ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'); } } } if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) { $erreurs['new_login'] = $err; $erreurs['message_erreur'] .= $err; } else { // pass trop court ou confirmation non identique if ($p = _request('new_pass')) { if ($p != _request('new_pass2')) { $erreurs['new_pass'] = _T('info_passes_identiques'); $erreurs['message_erreur'] .= _T('info_passes_identiques'); } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) { $erreurs['new_pass'] = $err; $erreurs['message_erreur'] .= $err; } } } return $erreurs; }
function formulaires_editer_document_verifier_dist($id_document = 'new', $id_parent = '', $retour = '', $lier_trad = 0, $config_fonc = 'documents_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('document', $id_document, is_numeric($id_document) ? array() : array('titre')); // verifier l'upload si on a demande a changer le document if (_request('joindre_upload') or _request('joindre_ftp') or _request('joindre_distant')) { if (_request('copier_local')) { } else { $verifier = charger_fonction('verifier', 'formulaires/joindre_document'); $erreurs = array_merge($erreurs, $verifier($id_document)); } } // On ne vérifie la date que si on avait le droit de la modifier if (lire_config('documents_date') == 'oui') { if (!($date = recup_date(_request('saisie_date') . ' ' . _request('saisie_heure') . ':00')) or !($date = mktime($date[3], $date[4], 0, $date[1], $date[2], $date[0]))) { $erreurs['saisie_date'] = _T('medias:format_date_incorrect'); } else { set_request('saisie_date', date('d/m/Y', $date)); set_request('saisie_heure', date('H:i', $date)); set_request('date', date("Y-m-d H:i:s", $date)); } } return $erreurs; }
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'); // Envoi depuis le formulaire d'analyse automatique d'un site 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]); foreach ($feeds as $feed) { 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); } $erreurs['verif_url_auto'] = _T('sites:texte_referencement_automatique_verifier', array('url' => $u)); } else { $erreurs['url_auto'] = _T('sites:avis_site_introuvable'); } } else { // auto-renseigner le titre si il n'existe pas // d'abord a partir du descriptif en coupant 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); } return $erreurs; }
function formulaires_editer_adhcoti_verifier_dist($id_coti = 'new', $retour = '', $config_fonc = 'cotis_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('adhcoti', $id_coti, array('titre', 'descriptif', 'mnt_cotis', 'id_saison')); return $erreurs; }
function formulaires_editer_adresse_verifier_dist($id_adresse = 'new', $objet = '', $id_objet = '', $retour = '') { $erreurs = formulaires_editer_objet_verifier('adresse', $id_adresse); return $erreurs; }
function formulaires_editer_souscription_campagne_verifier_dist($id_souscription_campagne = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('souscription_campagne', $id_souscription_campagne, array('titre', 'type_objectif')); $type = _request("type_objectif"); if (!in_array($type, array('don', 'adhesion'))) { $erreurs['type_objectif'] = _T("souscription_campagne:erreur_objectif_invalide"); } elseif ($type == "don" and lire_config("souscription/don_activer", "off") !== "on") { $erreurs['type_objectif'] = _T("souscription_campagne:erreur_objectif_don_inactif"); } elseif ($type == "adhesion" and lire_config("souscription/adhesion_activer", "off") !== "on") { $erreurs['type_objectif'] = _T("souscription_campagne:erreur_objectif_adhesion_inactif"); } /* Si un objectif est demandé, alors on vérifie que les champs sont * bien des entiers. */ if (_request('objectif_oui_non') == 'on') { $objectif = _request('objectif'); if (!ctype_digit($objectif) || intval($objectif) < 0) { $erreurs['objectif'] = _T("souscription_campagne:erreur_objectif_invalide"); } $objectif_initial = _request('objectif_initial'); if ($objectif_initial != '') { if (!ctype_digit($objectif_initial) || intval($objectif_initial < 0)) { $erreurs['objectif_initial'] = _T("souscription_campagne:erreur_objectif_initial_valeur"); } elseif (intval($objectif_initial) > $objectif) { $erreurs['objectif_initial'] = _T("souscription_campagne:erreur_objectif_initial_supperieur_objectif"); } } } /* Si une limite est demandée, alors, on vérifie que le champs est * bien un entier. */ $limite_oui_non = _request('limite_oui_non'); if ($limite_oui_non == "on") { $limite = _request('limite'); if (!ctype_digit($objectif)) { $erreurs['limite'] = _T("souscription_campagne:erreur_limite_valeur"); } } /* Si une guration spécifique est demandée, alors on vérifie les * valeurs 'type_saisie' et 'montants' (si on a demandé un bouton * radio ou une selection). Autrement, les données sont supprimées * dans la fonction traiter. */ if (_request('configuration_specifique')) { $type_saisie = _request('type_saisie'); $saisies = array("none", "input", "radio", "radioinput", "selection"); if (!$type_saisie || !in_array($type_saisie, $saisies)) { $erreurs['type_saisie'] = _T('souscription:erreur_type_saisie_invalide'); } else { $montants = _request('montants'); if ($type_saisie and $type_saisie !== "input" and $type_saisie !== "none") { if (!$montants || !is_string($montants)) { $erreurs['montants'] = _T('souscription:erreur_champ_obligatoire'); } elseif (!montants_str2array($montants)) { $erreurs['montants'] = _T('souscription:erreur_montants'); } } } $abo_type_saisie = _request('abo_type_saisie'); if (!$abo_type_saisie || !in_array($abo_type_saisie, $saisies)) { $erreurs['abo_type_saisie'] = _T('souscription:erreur_type_saisie_invalide'); } else { $abo_montants = _request('abo_montants'); if ($abo_type_saisie and $abo_type_saisie !== "input" and $abo_type_saisie !== "none") { if (!$abo_montants || !is_string($abo_montants)) { $erreurs['abo_montants'] = _T('souscription:erreur_champ_obligatoire'); } elseif (!montants_str2array($abo_montants)) { $erreurs['abo_montants'] = _T('souscription:erreur_montants'); } } } if (!isset($erreurs['type_saisie']) and !isset($erreurs['abo_type_saisie']) and $type_saisie == "none" and $abo_type_saisie == "none") { $erreurs['type_saisie'] = $erreurs['abo_type_saisie'] = _T('souscription:erreur_type_saisie_obligatoire'); } } return $erreurs; }
/** * Vérifier les saisies des valeurs du #FORMULAIRE_TRADUIRE * * @param string $objet * Type d'objet * @param int $id_objet * Identifiant de l'objet * @param string $retour * URL de retour * @param bool $traduire * Permet de désactiver la gestion de traduction sur un objet ayant id_trad * @return array * Erreurs des saisies */ function formulaires_traduire_verifier_dist($objet, $id_objet, $retour = '', $traduire = true) { $erreurs = array(); if (null !== _request('changer_lang')) { $erreurs = formulaires_editer_objet_verifier($objet, $id_objet, array('changer_lang')); } // si id_trad fourni, verifier que cela ne conflicte pas avec un id_trad existant // et que ca reference bien un objet existant if ($id_trad = _request('id_trad')) { $table_objet_sql = table_objet_sql($objet); $_id_table_objet = id_table_objet($objet); if (sql_getfetsel('id_trad', $table_objet_sql, "{$_id_table_objet}=" . intval($id_objet))) { $erreurs['id_trad'] = _L('Une traduction est deja referencee'); } elseif (!sql_getfetsel($_id_table_objet, $table_objet_sql, "{$_id_table_objet}=" . intval($id_trad))) { $erreurs['id_trad'] = _L('Indiquez un contenu existant'); } } return $erreurs; }
/** * Vérifications du formulaire d'édition de reservation_credit * * Vérifier les champs postés et signaler d'éventuelles erreurs * * @uses formulaires_editer_objet_verifier() * * @param int|string $id_reservation_credit * Identifiant du reservation_credit. 'new' pour un nouveau reservation_credit. * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un reservation_credit source d'une 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 reservation_credit, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Tableau des erreurs */ function formulaires_editer_reservation_credit_verifier_dist($id_reservation_credit = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') { return formulaires_editer_objet_verifier('reservation_credit', $id_reservation_credit, array('email')); }
function formulaires_vacarme_editer_contact_verifier_dist($id_contact = 'new', $id_organisation = 0, $redirect = '') { $erreurs = formulaires_editer_objet_verifier('contact', $id_contact); return $erreurs; }
/** * Vérifications du formulaire d'édition de publicite * * Vérifier les champs postés et signaler d'éventuelles erreurs * * @uses formulaires_editer_objet_verifier() * * @param int|string $id_publicite * Identifiant du publicite. 'new' pour un nouveau publicite. * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un publicite source d'une 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 publicite, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Tableau des erreurs */ function formulaires_editer_publicite_verifier_dist($id_publicite = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') { $erreurs = array(); $verifier = charger_fonction('verifier', 'inc'); foreach (array('date_debut', 'date_fin') as $champ) { $normaliser = null; if ($erreur = $verifier(_request($champ), 'date', array('normaliser' => 'datetime'), $normaliser)) { $erreurs[$champ] = $erreur; // si une valeur de normalisation a ete transmis, la prendre. } elseif (!is_null($normaliser)) { set_request($champ, $normaliser); // si pas de normalisation ET pas de date soumise, il ne faut pas tenter d'enregistrer '' } else { set_request($champ, null); } } $erreurs += formulaires_editer_objet_verifier('publicite', $id_publicite, array('titre')); return $erreurs; }
function formulaires_editer_adhsaison_verifier_dist($id_saison = 'new', $retour = '', $config_fonc = 'saisons_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('adhsaison', $id_saison, array('titre', 'descriptif', 'saison_deb')); return $erreurs; }
/** * Vérifications du formulaire d'édition d'un auteur * * Vérifie en plus des vérifications prévues : * - qu'un rédacteur ne peut pas supprimer son adresse mail, * - que le mot de passe choisi n'est pas trop court et identique à sa * deuxième saisie * * @see formulaires_editer_objet_verifier() * * @param int|string $id_auteur * Identifiant de l'auteur. 'new' pour une nouvel auteur. * @param string $retour * URL de redirection après le traitement * @param string $associer_objet * Éventuel 'objet|x' indiquant de lier le mot créé à cet objet, * tel que 'article|3' * @param string $config_fonc * Nom de la fonction ajoutant des configurations particulières au formulaire * @param array $row * Valeurs de la ligne SQL de l'auteur, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Erreurs des saisies **/ function formulaires_editer_auteur_verifier_dist($id_auteur = 'new', $retour = '', $associer_objet = '', $config_fonc = 'auteurs_edit_config', $row = array(), $hidden = '') { // auto-renseigner le nom si il n'existe pas, sans couper titre_automatique('nom', array('email', 'login'), 255); // mais il reste obligatoire si on a rien trouve $erreurs = formulaires_editer_objet_verifier('auteur', $id_auteur, array('nom')); $auth_methode = sql_getfetsel('source', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)); $auth_methode = $auth_methode ? $auth_methode : 'spip'; include_spip('inc/auth'); if (!nom_acceptable(_request('nom'))) { $erreurs['nom'] = _T("info_nom_pas_conforme"); } if ($email = _request('email')) { include_spip('inc/filtres'); include_spip('inc/autoriser'); // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un if (!autoriser('modifier', 'auteur', $id_auteur, null, array('email' => '?')) and $GLOBALS['visiteur_session']['id_auteur'] == $id_auteur and !strlen(trim($email)) and $email != ($email_ancien = sql_getfetsel('email', 'spip_auteurs', 'id_auteur=' . intval($id_auteur)))) { $erreurs['email'] = $id_auteur == $GLOBALS['visiteur_session']['id_auteur'] ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'); } else { if (!email_valide($email)) { $erreurs['email'] = $id_auteur == $GLOBALS['visiteur_session']['id_auteur'] ? _T('form_email_non_valide') : _T('form_prop_indiquer_email'); } } # Ne pas autoriser d'avoir deux auteurs avec le même email # cette fonctionalité nécessite que la base soit clean à l'activation : pas de # doublon sur la requête select email,count(*) from spip_auteurs group by email ; if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) { #Nouvel auteur if (intval($id_auteur) == 0) { #Un auteur existe deja avec cette adresse ? if (sql_countsel("spip_auteurs", "email=" . sql_quote($email)) > 0) { $erreurs['email'] = _T('erreur_email_deja_existant'); } } else { #Un auteur existe deja avec cette adresse ? et n'est pas le user courant. if (sql_countsel("spip_auteurs", "email=" . sql_quote($email)) > 0 and $id_auteur != ($id_auteur_ancien = sql_getfetsel('id_auteur', 'spip_auteurs', "email=" . sql_quote($email)))) { $erreurs['email'] = _T('erreur_email_deja_existant'); } } } } if (preg_match(",^\\s*javascript,i", _request('url_site'))) { $erreurs['url_site'] = _T('info_url_site_pas_conforme'); } $erreurs['message_erreur'] = ''; if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)) { $erreurs['new_login'] = $err; $erreurs['message_erreur'] .= $err; } else { // pass trop court ou confirmation non identique if ($p = _request('new_pass')) { if ($p != _request('new_pass2')) { $erreurs['new_pass'] = _T('info_passes_identiques'); $erreurs['message_erreur'] .= _T('info_passes_identiques'); } elseif ($err = auth_verifier_pass($auth_methode, _request('new_login'), $p, $id_auteur)) { $erreurs['new_pass'] = $err; $erreurs['message_erreur'] .= $err; } } } if (!$erreurs['message_erreur']) { unset($erreurs['message_erreur']); } return $erreurs; }
function formulaires_editer_article_verifier_dist($id_article='new', $id_rubrique=0, $retour='', $lier_trad=0, $config_fonc='articles_edit_config', $row=array(), $hidden=''){ $erreurs = formulaires_editer_objet_verifier('article',$id_article,array('titre')); return $erreurs; }
function formulaires_editer_adhniv_verifier_dist($id_niveau = 'new', $retour = '', $config_fonc = 'niveaux_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('adhniv', $id_niveau, array('titre', 'techbase', 'encadrant', 'id_trombi', 'rangtrombi')); return $erreurs; }
/** * Vérifications du formulaire d'édition de livraisonmode * * Vérifier les champs postés et signaler d'éventuelles erreurs * * @uses formulaires_editer_objet_verifier() * * @param int|string $id_livraisonmode * Identifiant du livraisonmode. 'new' pour un nouveau livraisonmode. * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un livraisonmode source d'une 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 livraisonmode, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Tableau des erreurs */ function formulaires_editer_livraisonmode_verifier_dist($id_livraisonmode = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') { return formulaires_editer_objet_verifier('livraisonmode', $id_livraisonmode, array('titre')); }
/** * Vérifications du formulaire d'édition de banniere * * Vérifier les champs postés et signaler d'éventuelles erreurs * * @uses formulaires_editer_objet_verifier() * * @param int|string $id_banniere * Identifiant du banniere. 'new' pour un nouveau banniere. * @param string $retour * URL de redirection après le traitement * @param int $lier_trad * Identifiant éventuel d'un banniere source d'une 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 banniere, si connu * @param string $hidden * Contenu HTML ajouté en même temps que les champs cachés du formulaire. * @return array * Tableau des erreurs */ function formulaires_editer_banniere_verifier_dist($id_banniere = 'new', $retour = '', $lier_trad = 0, $config_fonc = '', $row = array(), $hidden = '') { return formulaires_editer_objet_verifier('banniere', $id_banniere, array('nom', 'largeur', 'hauteur')); }
function formulaires_editer_zone_verifier_dist($id_zone = 'new', $retour = '', $associer_objet = '', $config_fonc = 'zones_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('zone', $id_zone, array('titre')); return $erreurs; }
function formulaires_editer_groupe_mot_verifier_dist($id_groupe = 'new', $retour = '', $config_fonc = 'groupes_mots_edit_config', $row = array(), $hidden = '') { $erreurs = formulaires_editer_objet_verifier('groupe_mots', 0, array('titre')); return $erreurs; }
/** * Vérification du formulaire d'édition de dépot * * @param int $id_depot * Identifiant du dépot * @param string $redirect * URL de redirection * @return array * Tableau des erreurs **/ function formulaires_editer_depot_verifier_dist($id_depot, $redirect) { $erreurs = formulaires_editer_objet_verifier('depot', $id_depot, array('titre')); return $erreurs; }