/** * Modifier un evenement existant * * @param int $id_evenement * @param array $set * @return bool|string */ function evenement_modifier($id_evenement, $set = null) { include_spip('inc/modifier'); include_spip('inc/filtres'); $c = collecter_requests(objet_info('evenement', 'champs_editables'), array('statut', 'id_article'), $set); // Si l'evenement est publie, invalider les caches et demander sa reindexation $t = sql_getfetsel('statut', 'spip_evenements', 'id_evenement=' . intval($id_evenement)); $invalideur = $indexation = false; if ($t == 'publie') { $invalideur = "id='evenement/{$id_evenement}'"; $indexation = true; } if ($err = objet_modifier_champs('evenement', $id_evenement, array('data' => $set, 'nonvide' => array('titre' => _T('info_nouvel_evenement') . ' ' . _T('info_numero_abbreviation') . $id_evenement), 'invalideur' => $invalideur, 'indexation' => $indexation), $c)) { return $err; } if (!is_null($repetitions = _request('repetitions', $set))) { agenda_action_revision_evenement_repetitions($id_evenement, $repetitions); } // Modification de statut, changement de parent ? $c = collecter_requests(array('statut', 'id_parent'), array(), $set); $err = evenement_instituer($id_evenement, $c); return $err; }
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; }