=$heuremin)&&($heure<=$heuremax)){
$url=parametre_url($urlbase,'ndate',urlencode(date('Y-m-d H:i',$j)));
$creneau=date('Y-m-d H:i:s',$j);
if (date('Y-m-d',$j)==$today)
Agenda_memo_full($creneau,$creneau,preg_replace(",\s+,"," ",date('H:i',$j)." "._T('agenda:ajouter_un_evenement')), " ", "", $url,'calendrier-creneau-today');
else if (date('w',$j)==0)
Agenda_memo_full($creneau,$creneau,preg_replace(",\s+,"," ",date('H:i',$j)." "._T('agenda:ajouter_un_evenement')), " ", "",$url,'calendrier-creneau-sunday');
else
Agenda_memo_full($creneau,$creneau,preg_replace(",\s+,"," ",date('H:i',$j)." "._T('agenda:ajouter_un_evenement')), " ", "",$url,'calendrier-creneau');
}
}
}
}
function affiche_evenements_agenda($flag_editable){
global $visu_evenements;
$type = _request('type');
$partie_cal = _request('partie_cal');
if (!$type) $type='semaine';
$id_evenement = intval(_request('id_evenement'));
$ajouter_id_article = intval(_request('ajouter_id_article'));
global $annee,$mois,$jour;
$annee = intval(_request('annee'));
$mois = intval(_request('mois'));
$jour = intval(_request('jour'));
if ($flag_editable)
Agenda_action_formulaire_article($ajouter_id_article);
$visu_evenements=array();
if ((!$annee)||(!$mois)||(!$jour)){
if (!$id_evenement){ // pas d'id_evenement--> date du jour
$stamp=time();
}
else { // date de l'evenement
$res = spip_query("SELECT date_debut FROM spip_evenements WHERE id_evenement=".spip_abstract_quote($id_evenement));
if ($row = spip_fetch_array($res))
$stamp=strtotime($row['date_debut']);
else
$stamp=time();
}
$annee=date('Y',$stamp);
$mois=date('m',$stamp);
$jour=date('d',$stamp);
}
$urlbase=self();
$urlbase=parametre_url($urlbase,'edit','');
$urlbase=parametre_url($urlbase,'del','');
$urlbase=parametre_url($urlbase,'ndate','');
$urlbase=parametre_url($urlbase,'id_evenement','');
$urlbase=parametre_url($urlbase,'neweven','1');
//$urlbase=str_replace("&","&",$urlbase);
// creation des boites creneaux horaires pour ajout rapide
list($ts_start,$ts_fin) = date_debut_fin($annee,$mois,$jour,$type);
if ($flag_editable)
ajoute_creneaux_horaires($urlbase,$ts_start,$ts_fin,$type,$partie_cal,$echelle);
$categorie_concerne=array('plage'=>'calendrier-plage','evenement'=>'calendrier-evenement');
$categorie_info=array('plage'=>'calendrier-plage-info','evenement'=>'calendrier-evenement-info');
$datestart=date('Y-m-d H:i:s',$ts_start-24*60*60);
$datefin=date('Y-m-d H:i:s',$ts_fin+24*60*60);
// tous les evenements
$res = spip_query("SELECT *
FROM spip_evenements AS evenements
WHERE ((evenements.date_debut>='$datestart' AND evenements.date_debut<='$datefin')
OR (evenements.date_fin>='$datestart' AND evenements.date_fin<='$datefin')
OR (evenements.date_debut<'$datestart' AND evenements.date_fin>'$datefin'))
ORDER BY evenements.date_debut;");
$urlbase=parametre_url($urlbase,'neweven','');
$urlbase=parametre_url($urlbase,'annee',$annee);
$urlbase=parametre_url($urlbase,'mois',$mois);
$urlbase=parametre_url($urlbase,'jour',$jour);
while ($row = spip_fetch_array($res)){
$is_evt=($row['horaire']!='oui')
||($row['date_debut']<$datestart && $row['date_fin']>$datefin);
$concerne=(!$ajouter_id_article) || ($ajouter_id_article==$row['id_article']);
$url=parametre_url($urlbase,'id_evenement',$row['id_evenement']);
$url=parametre_url($url,'ajouter_id_article',$row['id_article']);
$titre = typo($row['titre']);
$descriptif = typo($row['descriptif']);
$lieu = typo($row['lieu']);
$texte=wordwrap(entites_html($row['titre'],ENT_QUOTES),15,"
\n");
if (($type!='mois')&&(!$is_evt))
$texte.="
" . wordwrap(entites_html($row['descriptif'],ENT_QUOTES),15, "
\n");
if (strlen($texte)==0) $texte=_L("(sans objet)");
if ($concerne) $categorie = $categorie_concerne;
else $categorie = $categorie_info;
if ($is_evt) $categorie = $categorie['evenement'];
else $categorie = $categorie['plage'];
if ($id_evenement==$row['id_evenement'])
$categorie.='-selection';
if (!$is_evt)
Agenda_memo_full($row['date_debut'], $row['date_fin'], $titre, $descriptif, $lieu, $url, $categorie);
else{
//if ($type!='mois')
// Agenda_memo_evt_full($row['date_debut'], $row['date_debut'], Agenda_rendu_boite($titre,$descriptif,$lieu), "", "", $url, $categorie);
//else
Agenda_memo_evt_full($row['date_debut'], $row['date_fin'], $titre, $descriptif, $lieu, $url, $categorie);
}
$visu_evenements[$row['id_evenement']]=1;
}
$s = "\n";
// attention : bug car $type est modifie apres cet appel !
$s .= Agenda_affiche_full(1,'', $type, 'calendrier-creneau','calendrier-creneau-today','calendrier-creneau-sunday','calendrier-plage','calendrier-evenement','calendrier-plage-info','calendrier-evenement-info','calendrier-plage-selection','calendrier-evenement-selection');
$s .= "";
return $s;
}
function visu_evenement_agenda($id_evenement,$flag_editable){
$out = "";
$ndate = _request('ndate');
$del = _request('del');
if ($id_evenement!=NULL){
$res = spip_query("SELECT evenements.* FROM spip_evenements AS evenements WHERE evenements.id_evenement=".spip_abstract_quote($id_evenement));
if ($row = spip_fetch_array($res)){
if (!isset($neweven)){
$fid_evenement=$row['id_evenement'];
$ftitre=attribut_html(typo($row['titre']));
$flieu=attribut_html(typo($row['lieu']));
$fhoraire=attribut_html($row['horaire']);
$fdescriptif=attribut_html(typo($row['descriptif']));
$fstdatedeb=strtotime($row['date_debut']);
$fstdatefin=strtotime($row['date_fin']);
$fid_evenement_source=$row['id_evenement_source'];
}
}
$out .= "";
$res2 = spip_query("SELECT articles.* FROM spip_articles AS articles LEFT JOIN spip_evenements AS J ON J.id_article=articles.id_article WHERE J.id_evenement=".spip_abstract_quote($id_evenement));
if ($row2 = spip_fetch_array($res2)){
$out .= "
\n";
}
$out .= "
";
$url=self();
$url=parametre_url($url,'edit','');
$url=parametre_url($url,'neweven','');
$url=parametre_url($url,'del','');
$url=parametre_url($url,'id_evenement','');
$out .= "
";
$out .= "
\n";
$fobjet = entites_html($fobjet,ENT_QUOTES);
$flieu = entites_html($flieu,ENT_QUOTES);
$fdescription = entites_html($fdescription,ENT_QUOTES);
$out .= "
Titre
$ftitre
\n";
$out .= "
Lieu
$flieu
\n";
$out .= "
";
$out .= "
Date
";
$out .= "
";
$out .= "Du ".affdate_jourcourt(date("Y-m-d H:i",$fstdatedeb));
if ($fhoraire=='oui')
$out .= " à ".date("H:i",$fstdatedeb);
$out .= "
\n";
$out .= "Au ".affdate_jourcourt(date("Y-m-d H:i",$fstdatefin));
if ($fhoraire=='oui')
$out .= " à ".date("H:i",$fstdatefin);
$out .= "
\n";
$out .= "
\n";
$out .= "
Description
$fdescriptif
\n";
$out .= "
";
$res = spip_query("SELECT * FROM spip_groupes_mots WHERE evenements='oui' ORDER BY titre");
$sep = "";
while ($row = spip_fetch_array($res,SPIP_ASSOC)){
$id_groupe = $row['id_groupe'];
$row2 = spip_fetch_array(
spip_query("SELECT mots.titre FROM spip_mots_evenements AS mots_evenements
LEFT JOIN spip_mots AS mots ON mots.id_mot=mots_evenements.id_mot
WHERE mots.id_groupe=".spip_abstract_quote($id_groupe).
" AND mots_evenements.id_evenement=".spip_abstract_quote($id_evenement)));
if ($row2){
$out .= $sep . supprimer_numero($row['titre'])." : ".supprimer_numero($row2['titre']);
$sep = "\n, ";
}
}
$out .= "
\n";
$url = parametre_url(self(),'annee','');
$url = parametre_url($url,'mois','');
$url = parametre_url($url,'jour','');
$out .= "
";
$id_source = $fid_evenement_source?$fid_evenement_source:$id_evenement;
$res2 = spip_query("SELECT * FROM spip_evenements WHERE id_evenement=".spip_abstract_quote($id_source)." OR id_evenement_source=".spip_abstract_quote($id_source)." ORDER BY date_debut");
if (spip_num_rows($res2)>1){
$out .= _T('agenda:evenement_autres_occurences');
while($row2 = spip_fetch_array($res2)){
if ($row2['id_evenement']!=$fid_evenement){
$url = parametre_url(self(),'id_evenement',$row2['id_evenement']);
$out .= "
" . affdate_jourcourt($row2['date_debut']) ."";
}
}
}
$out .= "
";
if ($fid_evenement_source!=0){
$res2 = spip_query("SELECT evenements.* FROM spip_evenements AS evenements WHERE evenements.id_evenement=".spip_abstract_quote($fid_evenement_source));
if ($row2 = spip_fetch_array($res2)){
$url = parametre_url($url,'id_evenement',$row2['id_evenement']);
$out .= "
";
}
}
else if ($flag_editable){
$url=self();
$url=parametre_url($url,'edit','');
$url=parametre_url($url,'neweven','');
$url=parametre_url($url,'del','');
$url=parametre_url($url,'id_evenement','');
if ($del==1) { //---------------Suppression RDV ------------------------------
$out .= "
";
}
else {
$url=parametre_url($url,'id_evenement',$id_evenement);
$out .= "
";
}
}
$out .= "
\n";
}
return $out;
}
function exec_agenda_evenements_dist(){
// s'assurer que les tables sont crees
Agenda_install();
include_spip('inc/calendar');
// Reserver les widgets agenda
WCalendar_ajoute_lies(_T('agenda:evenement_date_debut'),'_evenement_debut',_T('agenda:evenement_date_fin'),'_evenement_fin');
WCalendar_ajoute_statique(_T('agenda:evenement_repetitions'),'_repetitions');
$ajouter_id_article = intval(_request('ajouter_id_article'));
$flag_editable = article_editable($ajouter_id_article);
global $visu_evenements;
$type = _request('type');
if (!$type) $type='semaine';
$id_evenement = intval(_request('id_evenement'));
$edit = _request('edit');
$neweven = _request('neweven');
$annee = intval(_request('annee'));
$mois = intval(_request('mois'));
$jour = intval(_request('jour'));
$date = date("Y-m-d", time());
if ($annee&&$mois&&$jour)
$date = date("Y-m-d", strtotime("$annee-$mois-$jour"));
if ($type == 'semaine') {
//$GLOBALS['afficher_bandeau_calendrier_semaine'] = true;
$titre = _T('titre_page_calendrier',
array('nom_mois' => nom_mois($date), 'annee' => annee($date)));
}
elseif ($type == 'jour') {
$titre = nom_jour($date)." ". affdate_jourcourt($date);
}
else {
$titre = _T('titre_page_calendrier',
array('nom_mois' => nom_mois($date), 'annee' => annee($date)));
}
debut_page($titre, "redacteurs", "calendrier","",$css);
barre_onglets("calendrier", "evenements");
$out = "";
if ($ajouter_id_article){
$res2 = spip_query("SELECT * FROM spip_articles AS articles WHERE id_article=".spip_abstract_quote($ajouter_id_article));
if ($row2 = spip_fetch_array($res2)){
$out .= "
";
}
}
echo $out ."
" ;
echo affiche_evenements_agenda($flag_editable);
if (($edit||$neweven)&&($flag_editable)) { //---------------Edition RDV ------------------------------
$ndate = _request('ndate');
echo Agenda_formulaire_edition_evenement($id_evenement,$neweven,$ndate);
}
else
if ((isset($id_evenement))&&(isset($visu_evenements[$id_evenement]))){ //---------------Visualisation RDV ------------------------------
echo visu_evenement_agenda($id_evenement,$flag_editable);
}
fin_page();
}
function http_calendrier_ics_message($annee, $mois, $jour, $large)
{
return "";
}
function http_calendrier_aide_mess()
{
return "";
}
function http_calendrier_semainesh($annee, $mois, $jour, $echelle, $partie_cal, $script, $ancre, $evt)
{
global $spip_ecran;
if (!isset($spip_ecran)) $spip_ecran = 'large';
$init = date("w",mktime(1,1,1,$mois,$jour,$annee));
$init = $jour+1-($init ? $init : 7);
$sd = '';
if (is_array($evt))
{
list($sansduree, $evenements, $premier_jour, $dernier_jour) = $evt;
if ($sansduree)
foreach($sansduree as $d => $r)
$evenements[$d] = !$evenements[$d] ? $r : array_merge($evenements[$d], $r);
$finurl = "&echelle=$echelle&partie_cal=$partie_cal$ancre";
$evt =
http_calendrier_semaine_noms($annee, $mois, $init, $script, $finurl) .
http_calendrier_mois_sept($annee, $mois, $init, $init+ 6, $evenements, $script);
} else $evt = "$evt |
";
return
"\n" .
http_calendrier_semaine_navigation($annee, $mois, $init, $echelle, $partie_cal, $script, $ancre) .
$evt .
"
" .
(_DIR_RESTREINT ? "" : http_calendrier_aide_mess());
}