X-Git-Url: http://git.cyclocoop.org/?p=velocampus%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Ffullcalendar%2Fexec%2Ffullcalendar_edit.php;fp=www%2Fplugins%2Fauto%2Ffullcalendar%2Fexec%2Ffullcalendar_edit.php;h=67a1b44ce78fc6823f7b0b26f679e00b2f40ea7a;hp=0000000000000000000000000000000000000000;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c diff --git a/www/plugins/auto/fullcalendar/exec/fullcalendar_edit.php b/www/plugins/auto/fullcalendar/exec/fullcalendar_edit.php new file mode 100644 index 0000000..67a1b44 --- /dev/null +++ b/www/plugins/auto/fullcalendar/exec/fullcalendar_edit.php @@ -0,0 +1,900 @@ +"; + while ($row = sql_fetch($res)) { + $LISTE .= "
".$row['nom']."

"; + if($row['type']=='mysql') + $LISTE_CALENDRIER.=""; + } + } + sql_free($res); + + ###################### + # Ajout d'un mot clé # + ###################### + + if( + $_POST['action_to_take']=='add_mot' + && $_POST['ajouter'] + && $_POST['id_calendrier'] + && strlen($_POST['id_mot']) + ){ + $INFO="
  "._T('fullcalendar:action_mot_add').".

"; + sql_insert('spip_fullcalendar_events', '(id_fullcalendar, lien)', "(".sql_quote(intval($_POST['id_calendrier'])).", ".sql_quote(intval($_POST['id_mot'])).")"); + } + + ####################### + # Modifier le mot clé # + ####################### + + if( + $_POST['action_to_take']=='update_mot' + && $_POST['ajouter'] + && $_POST['id_calendrier'] + && strlen($_POST['id_mot']) + ){ + $INFO="
  "._T('fullcalendar:action_mot_edit').".

"; + sql_update('spip_fullcalendar_events', array('lien' => sql_quote(intval($_POST['id_mot'])) ), "id_fullcalendar=".sql_quote(intval($_POST['id_calendrier'])) ); + } + + ######################## + # Ajout d'une rubrique # + ######################## + + if( + $_POST['action_to_take']=='add_rubrique' + && $_POST['ajouter'] + && $_POST['id_calendrier'] + && strlen($_POST['id_rubrique']) + ){ + $INFO="
  "._T('fullcalendar:action_rub_add').".

"; + sql_insert('spip_fullcalendar_events', '(id_fullcalendar, lien)', "(".sql_quote(intval($_POST['id_calendrier'])).", ".sql_quote(intval($_POST['id_rubrique'])).")"); + } + + ######################## + # Modifier la rubrique # + ######################## + + if( + $_POST['action_to_take']=='update_rubrique' + && $_POST['ajouter'] + && $_POST['id_calendrier'] + && strlen($_POST['id_rubrique']) + ){ + $INFO="
  "._T('fullcalendar:action_rub_edit').".

"; + sql_update('spip_fullcalendar_events', array('lien' => sql_quote(intval($_POST['id_rubrique'])) ), "id_fullcalendar=".sql_quote(intval($_POST['id_calendrier'])) ); + } + + ########################## + # Ajout d'une clé Google # + ########################## + + if( + $_POST['action_to_take']=='add' + && $_POST['ajouter'] + && $_POST['id_calendrier'] + && strlen($_POST['gcalID']) + ){ + $INFO="
  "._T('fullcalendar:action_key_add').".

"; + sql_insert('spip_fullcalendar_events', '(id_fullcalendar, lien)', "(".sql_quote(intval($_POST['id_calendrier'])).", ".sql_quote($_POST['gcalID']).")"); + } + + ########################## + # Modifier la clé Google # + ########################## + + if( + $_POST['action_to_take']=='update' + && $_POST['ajouter'] + && $_POST['id_calendrier'] + && strlen($_POST['gcalID']) + ){ + $INFO="
  "._T('fullcalendar:action_key_edit').".

"; + sql_update('spip_fullcalendar_events', array('lien' => sql_quote(trim($_POST['gcalID'])) ), "id_fullcalendar=".sql_quote(intval($_POST['id_calendrier'])) ); + } + + ############################## + # Ajout d'un évènement MySQL # + ############################## + + if( + $_POST['action_to_take']=='AddEvent' + && strlen($_POST['Nom_Evenement']) + && $_POST['id_calendrier'] + ){ + + $t = explode('/',$_POST['Date']); + $date = $t['2'].'-'.$t['1'].'-'.$t['0']; + $t = explode('/',$_POST['Date_Fin']); + $date_fin = $t['2'].'-'.$t['1'].'-'.$t['0']; + unset($t); + + sql_insert("spip_fullcalendar_events", + "(id_fullcalendar, id_style, titre, lien, start, end)", + "( + ".sql_quote(intval($_POST['id_calendrier'])).", + ".sql_quote(intval($_POST['id_style'])).", + ".sql_quote($_POST['Nom_Evenement']).", + ".sql_quote($_POST['Lien_Evenement']).", + ".sql_quote($date." ".$_POST['HeureDebut'].":00").", + ".sql_quote($date_fin." ".$_POST['HeureFin'].":00")." + )"); + + $INFO="
  "._T('fullcalendar:event_add').".

"; + + } + + ############################### + # Modification d'un évènement # + ############################### + + if( + $_POST['action_to_take']=='EditEvent' + && strlen($_POST['Nom_Evenement']) + && strlen($_POST['id_evenement']) + && $_POST['id_calendrier'] + ){ + + $t = explode('/',$_POST['Date']); + $date = $t[2].'-'.$t[1].'-'.$t[0]; + $t = explode('/',$_POST['Date_Fin']); + $date_fin = $t[2].'-'.$t[1].'-'.$t[0]; + unset($t); + + sql_update('spip_fullcalendar_events', + array( + 'id_fullcalendar' => sql_quote($_POST['id_calendrier']), + 'id_style' => sql_quote($_POST['id_style']), + 'titre' => sql_quote($_POST['Nom_Evenement']), + 'lien' => sql_quote(trim($_POST['Lien_Evenement'])), + 'start' => sql_quote($date." ".$_POST['HeureDebut'].":00"), + 'end' => sql_quote($date_fin." ".$_POST['HeureFin'].":00") + ), + "id_event=".sql_quote(intval($_POST['id_evenement'])) + ); + + $INFO="
  "._T('fullcalendar:event_edit').".

"; + + } + + ####################### + # Efface un évènement # + ####################### + + if( + $_POST['action_to_take']=='del' + && $_POST['id_calendrier'] + && $_POST['id_evenement'] + ){ + sql_delete("spip_fullcalendar_events", "id_event=".sql_quote(intval($_POST['id_evenement'])) ); + $INFO="
  "._T('fullcalendar:event_del')."

"; + } + + ################################# + # Calendrier en cours d'édition # + ################################# + + $req = sql_select('*', 'spip_fullcalendar_main', 'id_fullcalendar='.$id_fullcalendar); + $num_calendar = sql_count($req); + if(!$num_calendar) $INFO="
"._T('fullcalendar:unknown_error')."

"; + else { + + $row = sql_fetch($req); + $id = $row['id_fullcalendar']; + $type = $row['type']; + $nom = $row['nom']; + sql_free($req); + + # Récupère les styles pour les évènements + + $req = sql_select('*', 'spip_fullcalendar_styles'); + $num_style = sql_count($req); + if(!$num_style) $STYLES=_T('fullcalendar:no_style'); + else { + $STYLES="

"._T('fullcalendar:event_style').":

"; + } + + $LISTE_CALENDRIER.=''; + + if($type=='mysql'){ + + # Modification d'un évènement + + if( + $_POST['action_to_take']=='edit' + && $_POST['id_evenement'] + ){ + + $req = sql_select('*', 'spip_fullcalendar_events', array('id_fullcalendar='.$id_fullcalendar, 'id_event='.intval($_POST['id_evenement'])) ); + $rw = sql_fetch($req); + sql_free($req); + + $NOM=$rw['titre']; + $LIEN=$rw['lien']; + + $ACTION='EditEvent'; + $ID_EVENEMENT=$_POST['id_evenement']; + $DATE = DateFromMysql(substr($rw['start'],0,10)); + $DATE_FIN = DateFromMysql(substr($rw['end'],0,10)); + $START = substr($rw['start'],11,5); + $END = substr($rw['end'],11,5); + $BUTTON = ""; + + } else { + + $ACTION='AddEvent'; + $ID_EVENEMENT=''; + $DATE=(strlen($_POST['Date'])==10)?stripslashes($_POST['Date']):Date("d/m/Y"); + $DATE_FIN=(strlen($_POST['Date_Fin'])==10)?stripslashes($_POST['Date_Fin']):Date("d/m/Y"); + $START=(strlen($_POST['HeureDebut'])==5)?stripslashes($_POST['HeureDebut']):Date("H:m"); + $END=(strlen($_POST['HeureFin'])==5)?stripslashes($_POST['HeureFin']):Date("H:m"); + $BUTTON = ""; + + } + + # Récupère les style css + $HTML.=""; + + # Récupère les évènements du calendrier MySQL + + $events=''; + $req = sql_select('*', 'spip_fullcalendar_events', 'id_fullcalendar='.$id_fullcalendar, '', 'start ASC'); + $num_events = sql_count($req); + if(!$num_events) $INFO.=_T('fullcalendar:no_event'); + else { + + $HTML.=" + + + + + "; + + $entete=" + + + + + "; + + while ($row = sql_fetch($req)) { + + $date = substr($row['start'],0,10); + $date_fin = substr($row['end'],0,10); + $start = substr($row['start'],11,5); + $end = substr($row['end'],11,5); + $class=$url=$lien_start=$lien_end=''; + + $fc_date = explode('-',substr($row['start'],0,10)); + $fc_date_fin = explode('-',substr($row['end'],0,10)); + $fc_start = explode(':',substr($row['start'],11,5)); + $fc_end = explode(':',substr($row['end'],11,5)); + + if($row['id_style']>0){ + $class=",backgroundColor: '".$style[$row['id_style']]['back']."', textColor: '".$style[$row['id_style']]['text']."', borderColor: '".$style[$row['id_style']]['bord']."'"; + } else $class=''; + + if(strlen(trim($row['lien']))){ + $lien_start=""; + $lien_end=""; + } + + $bloc=''; + $t=substr($date,5,2); + if($bloc_mois!=$t){ + $bloc_mois=$t; + $annee=substr($date,0,4); + $bloc.="".$entete; + } + + $url="url:\"javascript:ModifierEvenement('".$row['id_event']."')\","; + + $events.="{title: '".texte_script($row['titre'])."',start: new Date(".$fc_date[0].", ".($fc_date[1]-1).", ".$fc_date[2].", ".$fc_start[0].", ".$fc_start[1]."),end: new Date(".$fc_date_fin[0].", ".($fc_date_fin[1]-1).", ".$fc_date_fin[2].", ".$fc_end[0].", ".$fc_end[1]."),".$url." allDay: false ".$class."},"; + + $HTML.= "$bloc + + + + + + "; + + } + sql_free($req); + $HTML.="
"._T('fullcalendar:event_title').""._T('fullcalendar:event_start').""._T('fullcalendar:event_end')." 
+ ".MyMonth($t)." ".$annee." +
".$lien_start."".$row['titre']."".$lien_end."".MyDateEnLettre ($date)."
".$start."
".MyDateEnLettre ($date_fin)."
".$end."
+   + +
"; + + $events=substr($events,0,strlen($events)-1); + + } + + + $INTERFACE=" + +

+
+
+
+ + +

"._T('fullcalendar:calendar')." :

+

"._T('fullcalendar:event_from')." : + +

+

"._T('fullcalendar:event_to')." : + +

+

"._T('fullcalendar:event_title')." :

+ ".$STYLES." +

"._T('fullcalendar:lien')." :

+
+
".$BUTTON."
+ +
"; + + + } else if($type=='google') { + + $INFO=""._T('fullcalendar:google_agenda')."

"._T('fullcalendar:google_agenda_info')."

".$INFO; + + # Récupère le lien Google dans les évènements + + $req = sql_select('lien', 'spip_fullcalendar_events', 'id_fullcalendar='.$id); + if(sql_count($req)){ # Une clé est déjà renseignée + $rw = sql_fetch($req); + sql_free($req); + $gcalID=$rw['lien']; + $URL_AGENDA = "http://www.google.com/calendar/feeds/".$rw['lien']."/public/basic"; + $ACTION='update'; + $BUTTON = ""; + } else { # on ajoute la clé + $ACTION='add'; + $gcalID=''; + $BUTTON = ""; + } + + + $INTERFACE=' +
+
+
+ + +

+
+
'.$BUTTON.'
+ +
'; + + } else if($type=='rub') { + + $INFO=""._T('fullcalendar:rub_agenda')."

"._T('fullcalendar:rub_agenda_info')."

".$INFO; + + # Récupère le secteur utilisé pour les évènements + + $req = sql_select('lien', 'spip_fullcalendar_events', 'id_fullcalendar='.$id); + if(sql_count($req)){ # Une rubrique est déjà renseignée + $rw = sql_fetch($req); + $ID_MOT=intval($rw['lien']); + sql_free($req); + $ACTION='update_rubrique'; + $BUTTON = ""; + } else { # on ajoute la clé + $ACTION='add_rubrique'; + $ID_MOT=''; + $BUTTON = ""; + } + + # Rubriques du site (contenant des articles) + + $LISTE_RUBRIQUES=''; + + $req = sql_select( + array( + "DISTINCT R.id_rubrique", + "R.titre" ), + array( + "spip_rubriques AS R", + "spip_articles AS A" ), + array( + "R.id_parent=0", + "R.id_rubrique=A.id_rubrique", + "R.id_parent=0" ), + "", + "R.titre ASC"); + + if(sql_count($req)){ + + while ($row = sql_fetch($req)) { + $LISTE_RUBRIQUES.="