Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}
Ejemplo n.º 3
0
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;
}
Ejemplo n.º 4
0
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;
}
Ejemplo n.º 7
0
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;
}
Ejemplo n.º 8
0
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;
}
Ejemplo n.º 9
0
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;
}
Ejemplo n.º 10
0
/**
 * 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;
}
Ejemplo n.º 11
0
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;
}
Ejemplo n.º 12
0
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;
}
Ejemplo n.º 13
0
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;
}
Ejemplo n.º 14
0
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;
}
Ejemplo n.º 15
0
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;
}
Ejemplo n.º 16
0
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;
}
Ejemplo n.º 18
0
/**
 * 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;
}
Ejemplo n.º 21
0
/**
 * 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;
}
Ejemplo n.º 22
0
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;
}
Ejemplo n.º 23
0
/**
 * 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;
}
Ejemplo n.º 24
0
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;
}
Ejemplo n.º 25
0
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;
}
Ejemplo n.º 26
0
/**
 * 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'));
}
Ejemplo n.º 27
0
/**
 * 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'));
}
Ejemplo n.º 28
0
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;
}
Ejemplo n.º 29
0
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;
}
Ejemplo n.º 30
0
/**
 * 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;
}