function formulaires_tri_stages_verifier_dist()
{
    $erreurs = array();
    // vérfication champs ville stage qui peut comporter plusieurs villes
    $ville_stage = _request('ville_stage');
    if ($ville_stage) {
        preg_match_all("/[-0-9a-zA-Z_]+/", $ville_stage, $recherche);
        $nbre = count($recherche[0]);
        $sortie = '';
        if ($recherche && $nbre > 1) {
            foreach ($recherche[0] as $k => $v) {
                if ($k < $nbre - 1) {
                    $sortie .= $v . ', ';
                } else {
                    $sortie .= $v;
                }
            }
            if ($input == $sortie) {
                return;
            } else {
                //	$erreurs["ville_stage"] = _T('fraap_candidatures:erreur_champ_ville_stage');
                set_request("ville_stage", $sortie);
            }
        }
    }
    // vérification des dates (via spip-bonux)
    $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;
}
Exemple #2
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;
	$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('agenda:erreur_date_avant_apres');

	include_spip('spip_bonux_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_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;
}
Exemple #4
0
function action_evenement_set($id_evenement, $set=null){
	$err = '';

	if (is_null($set)){
		$c = array();
		foreach (array(
			'titre', 'descriptif', 'lieu', 'id_parent',
			'inscription','places','adresse',
		) as $champ)
			$c[$champ] = _request($champ);

		$c['horaire'] = _request('horaire')=='non'?'non':'oui';
		include_spip('inc/date_gestion');
		$date_debut = verifier_corriger_date_saisie('debut',$c['horaire']=='oui',$erreurs);
		$date_fin = verifier_corriger_date_saisie('fin',$c['horaire']=='oui',$erreurs);

		$c['date_debut'] = date('Y-m-d H:i:s',$date_debut);
		$c['date_fin'] = date('Y-m-d H:i:s',$date_fin);
	}
	else
		$c = $set;

	include_spip('inc/modifier');
	agenda_action_revision_evenement($id_evenement, $c);
	agenda_action_revision_evenement_mots($id_evenement, _request('mots',$set));
	agenda_action_revision_evenement_repetitions($id_evenement,_request('repetitions',$set), _request('mots',$set));

	// Modification de statut, changement de rubrique ?
	$c = array();
	foreach (array(
		'id_parent'
	) as $champ)
		$c[$champ] = _request($champ,$set);
	$err .= agenda_action_instituer_evenement($id_evenement, $c);

	return $err;
}
function action_candidature_set($id_candidature, $set = null)
{
    $err = '';
    if (is_null($set)) {
        $c = array();
        foreach (array('regions', 'ville_stage', 'date_debut', 'date_fin', 'ecole', 'ville_ecole', 'diplome', 'niveau', 'competences_offre', 'competences_recherche') as $champ) {
            $c[$champ] = _request($champ);
        }
    } else {
        $c = $set;
    }
    $c['regions'] = serialize($c['regions']);
    $c['competences_offre'] = serialize($c['competences_offre']);
    $c['competences_recherche'] = serialize($c['competences_recherche']);
    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);
    $c['date_debut'] = date('Y-m-d', $date_debut);
    $c['date_fin'] = date('Y-m-d', $date_fin);
    include_spip('inc/modifier');
    stage_action_revision_candidature($id_candidature, $c);
    return $err;
}
function formulaires_editer_evenement_traiter_dist($id_evenement = 'new', $id_article = 0, $retour = '', $lier_trad = 0, $config_fonc = 'evenements_edit_config', $row = array(), $hidden = '')
{
    set_request('horaire', _request('horaire') == 'non' ? 'non' : 'oui');
    set_request('inscription', _request('inscription') ? 1 : 0);
    include_spip('inc/date_gestion');
    $erreurs = array();
    $date_debut = verifier_corriger_date_saisie('debut', _request('horaire') == 'oui', $erreurs);
    $date_fin = verifier_corriger_date_saisie('fin', _request('horaire') == 'oui', $erreurs);
    set_request('date_debut', date('Y-m-d H:i:s', $date_debut));
    set_request('date_fin', date('Y-m-d H:i:s', $date_fin));
    $res = formulaires_editer_objet_traiter('evenement', $id_evenement, $id_article, 0, $retour, $config_fonc, $row, $hidden);
    // si c'est une creation dans un article publie, passer l'evenement en publie
    // l'article peut être renseigné/modifié par l'utilisateur dans le formulaire. On le retrouve.
    if (!intval($id_evenement) and $id_article = sql_getfetsel('id_article', 'spip_evenements', 'id_evenement=' . $res['id_evenement']) and objet_test_si_publie('article', $id_article)) {
        // sera refuse si auteur pas autorise
        evenement_modifier($res['id_evenement'], array('statut' => 'publie'));
    }
    // a la creation, documenter la date de creation
    if (!intval($id_evenement)) {
        evenement_modifier($res['id_evenement'], array('date_creation' => date('Y-m-d H:i:s')));
    }
    $id_evenement = $res['id_evenement'];
    if ($res['redirect']) {
        if (strpos($res['redirect'], 'article') !== false) {
            $id_article = sql_getfetsel('id_article', 'spip_evenements', 'id_evenement=' . intval($id_evenement));
            $res['redirect'] = parametre_url($res['redirect'], 'id_article', $id_article);
        }
    }
    return $res;
}
Exemple #7
0
function formulaires_editer_message_traiter_dist($id_message = 'new', $type = 'message', $retour = '', $accepter_email = 'oui', $destinataires = '', $titre = '', $texte = '')
{
    // preformater le post
    // fixer le type de message
    // sans modifier le type d'un message existant
    if (intval($id_message) and $t = sql_getfetsel('type', 'spip_messages', 'id_message=' . intval($id_message))) {
        $type = $t;
    }
    set_request('type', $type);
    // formater les destinataires
    $d = _request('destinataires');
    if (!$d) {
        $d = array();
    }
    include_spip('inc/messages');
    $d = messagerie_nettoyer_destinataires($d);
    // si email non acceptes, extraire les seuls id_auteur de la liste proposee
    if ($accepter_email !== 'oui') {
        // separer id_auteur et email
        $d = messagerie_destiner($d);
        // ne conserver que les id_auteur
        $d = reset($d);
    }
    // reinjecter sous forme de chaine
    set_request('destinataires', implode(',', $d));
    // fixer l'auteur !
    set_request('id_auteur', $GLOBALS['visiteur_session']['id_auteur']);
    if (_request('rv') == 'oui') {
        include_spip('inc/date_gestion');
        $erreurs = array();
        $date_debut = verifier_corriger_date_saisie('debut', true, $erreurs);
        $date_fin = verifier_corriger_date_saisie('fin', true, $erreurs);
        set_request('date_heure', date('Y-m-d H:i:s', $date_debut));
        set_request('date_fin', date('Y-m-d H:i:s', $date_fin));
    } else {
        set_request('date_heure');
        set_request('date_fin');
    }
    // on gere par les traitements standard
    // la diffusion du message se fait par pipeline post_edition sur instituer
    // et notification
    $res = formulaires_editer_objet_traiter('message', $id_message, 0, 0, $retour, '');
    if ($id_message = $res['id_message'] and !_request('draft')) {
        include_spip('action/editer_objet');
        objet_modifier('message', $id_message, array('statut' => 'publie'));
        // apres en message envoyes, retourner sur la boite d'envoi plutot que sur le message
        if ($res['redirect'] == generer_url_ecrire('message', 'id_message=' . $id_message)) {
            $res['redirect'] = generer_url_ecrire('messages', 'quoi=envoi');
        }
    }
    set_request('destinataires', explode(',', _request('destinataires')));
    return $res;
}
Exemple #8
0
/**
 * Compat ascendante pour d'autre plugins
 * http://zone.spip.org/trac/spip-zone/changeset/36546
 */

function agenda_verifier_corriger_date_saisie($suffixe,$horaire,&$erreurs){
	include_spip('inc/date_gestion');
	return verifier_corriger_date_saisie($suffixe,$horaire,$erreurs);
}