");
- for (PstFut = Agd_PAST_EVENTS;
+ for (PstFut = Agd_PAST___EVENTS;
PstFut <= Agd_FUTURE_EVENTS;
PstFut++)
{
fprintf (Gbl.F.Out,"
",
- (Gbl.Agenda.PastFutureEvents & (1 << PstFut)) ? "PREF_ON" :
- "PREF_OFF");
+ (Gbl.Agenda.Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" :
+ "PREF_OFF");
Act_FormStart (ActSeeMyAgd);
- Agd_PutHiddenParamsPastFutureEvents (1 << PstFut);
- Agd_PutHiddenParamsPrivatePublicEvents (Gbl.Agenda.PrivatePublicEvents);
- Agd_PutHiddenParamsHiddenVisibleEvents (Gbl.Agenda.HiddenVisibleEvents);
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents ^ (1 << PstFut), // Toggle
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Gbl.Pag.CurrentPage);
fprintf (Gbl.F.Out,"",
Gbl.Prefs.IconsURL,
Image[PstFut],
- Txt_AGENDA_PAST_FUTURE_EVENTS[PstFut],
- Txt_AGENDA_PAST_FUTURE_EVENTS[PstFut]);
+ Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut],
+ Txt_AGENDA_PAST___FUTURE_EVENTS[PstFut]);
Act_FormEnd ();
fprintf (Gbl.F.Out,"
");
}
@@ -200,36 +215,39 @@ static void Agd_ShowFormToSelPastFutureEvents (void)
/************** Show form to select private / public events ******************/
/*****************************************************************************/
-static void Agd_ShowFormToSelPrivatePublicEvents (void)
+static void Agd_ShowFormToSelPrivatPublicEvents (void)
{
- extern const char *Txt_AGENDA_PRIVATE_PUBLIC_EVENTS[2];
- Agd_PastFutureEvents_t PrvPub;
+ extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2];
+ Agd_PrivatPublicEvents_t PrvPub;
static const char *Image[2] =
{
- "lock-on64x64.png", // Agd_PRIVATE_EVENTS
+ "lock-on64x64.png", // Agd_PRIVAT_EVENTS
"unlock-on64x64.png", // Agd_PUBLIC_EVENTS
};
fprintf (Gbl.F.Out,"
");
- for (PrvPub = Agd_PAST_EVENTS;
- PrvPub <= Agd_FUTURE_EVENTS;
+ for (PrvPub = Agd_PRIVAT_EVENTS;
+ PrvPub <= Agd_PUBLIC_EVENTS;
PrvPub++)
{
fprintf (Gbl.F.Out,"
",
- (Gbl.Agenda.PrivatePublicEvents & (1 << PrvPub)) ? "PREF_ON" :
- "PREF_OFF");
+ (Gbl.Agenda.PrivatPublicEvents & (1 << PrvPub)) ? "PREF_ON" :
+ "PREF_OFF");
Act_FormStart (ActSeeMyAgd);
- Agd_PutHiddenParamsPastFutureEvents (Gbl.Agenda.PastFutureEvents);
- Agd_PutHiddenParamsPrivatePublicEvents (1 << PrvPub);
- Agd_PutHiddenParamsHiddenVisibleEvents (Gbl.Agenda.HiddenVisibleEvents);
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents ^ (1 << PrvPub), // Toggle
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Gbl.Pag.CurrentPage);
fprintf (Gbl.F.Out,"",
Gbl.Prefs.IconsURL,
Image[PrvPub],
- Txt_AGENDA_PRIVATE_PUBLIC_EVENTS[PrvPub],
- Txt_AGENDA_PRIVATE_PUBLIC_EVENTS[PrvPub]);
+ Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub],
+ Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[PrvPub]);
Act_FormEnd ();
fprintf (Gbl.F.Out,"
");
}
@@ -240,36 +258,39 @@ static void Agd_ShowFormToSelPrivatePublicEvents (void)
/************* Show form to select hidden / visible events *******************/
/*****************************************************************************/
-static void Agd_ShowFormToSelHiddenVisibleEvents (void)
+static void Agd_ShowFormToSelHiddenVisiblEvents (void)
{
- extern const char *Txt_AGENDA_HIDDEN_VISIBLE_EVENTS[2];
- Agd_PastFutureEvents_t HidVis;
+ extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2];
+ Agd_HiddenVisiblEvents_t HidVis;
static const char *Image[2] =
{
"eye-slash-on64x64.png", // Agd_HIDDEN_EVENTS
- "eye-on64x64.png", // Agd_VISIBLE_EVENTS
+ "eye-on64x64.png", // Agd_VISIBL_EVENTS
};
fprintf (Gbl.F.Out,"
");
- for (HidVis = Agd_PAST_EVENTS;
- HidVis <= Agd_FUTURE_EVENTS;
+ for (HidVis = Agd_HIDDEN_EVENTS;
+ HidVis <= Agd_VISIBL_EVENTS;
HidVis++)
{
fprintf (Gbl.F.Out,"
",
- (Gbl.Agenda.HiddenVisibleEvents & (1 << HidVis)) ? "PREF_ON" :
- "PREF_OFF");
+ (Gbl.Agenda.HiddenVisiblEvents & (1 << HidVis)) ? "PREF_ON" :
+ "PREF_OFF");
Act_FormStart (ActSeeMyAgd);
- Agd_PutHiddenParamsPastFutureEvents (Gbl.Agenda.PastFutureEvents);
- Agd_PutHiddenParamsPrivatePublicEvents (Gbl.Agenda.PrivatePublicEvents);
- Agd_PutHiddenParamsHiddenVisibleEvents (1 << HidVis);
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents ^ (1 << HidVis), // Toggle
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Gbl.Pag.CurrentPage);
fprintf (Gbl.F.Out,"",
Gbl.Prefs.IconsURL,
Image[HidVis],
- Txt_AGENDA_HIDDEN_VISIBLE_EVENTS[HidVis],
- Txt_AGENDA_HIDDEN_VISIBLE_EVENTS[HidVis]);
+ Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis],
+ Txt_AGENDA_HIDDEN_VISIBL_EVENTS[HidVis]);
Act_FormEnd ();
fprintf (Gbl.F.Out,"
");
}
@@ -277,63 +298,56 @@ static void Agd_ShowFormToSelHiddenVisibleEvents (void)
}
/*****************************************************************************/
-/**************** Put hidden params for past / future events *****************/
+/************************ Put hidden params for events ***********************/
/*****************************************************************************/
-static void Agd_PutHiddenParamsPastFutureEvents (unsigned PastFutureEvents)
+static void Agd_PutHiddenParamPast__FutureEvents (unsigned Past__FutureEvents)
{
- Agd_PastFutureEvents_t PstFut;
- static const char *ParamName[2] =
- {
- "Past", // Agd_PAST_EVENTS
- "Future", // Agd_FUTURE_EVENTS
- };
+ Par_PutHiddenParamUnsigned (ParamPast__FutureName,Past__FutureEvents);
+ }
- for (PstFut = Agd_PAST_EVENTS;
- PstFut <= Agd_FUTURE_EVENTS;
- PstFut++)
- if (PastFutureEvents & (1 << PstFut)) // Booleans stored as bits in PastFutureEvents
- Par_PutHiddenParamChar (ParamName[PstFut],'Y');
+static void Agd_PutHiddenParamPrivatPublicEvents (unsigned PrivatPublicEvents)
+ {
+ Par_PutHiddenParamUnsigned (ParamPrivatPublicName,PrivatPublicEvents);
+ }
+
+static void Agd_PutHiddenParamHiddenVisiblEvents (unsigned HiddenVisiblEvents)
+ {
+ Par_PutHiddenParamUnsigned (ParamHiddenVisiblName,HiddenVisiblEvents);
}
/*****************************************************************************/
-/************** Put hidden params for private / public events ****************/
+/************************ Get hidden params for events ***********************/
/*****************************************************************************/
-static void Agd_PutHiddenParamsPrivatePublicEvents (unsigned PrivatePublicEvents)
+static void Agd_GetParamsPast__FutureEvents (void)
{
- Agd_PrivatePublicEvents_t PrvPub;
- static const char *ParamName[2] =
- {
- "Private", // Agd_PRIVATE_EVENTS
- "Public", // Agd_PUBLIC_EVENTS
- };
-
- for (PrvPub = Agd_PRIVATE_EVENTS;
- PrvPub <= Agd_PUBLIC_EVENTS;
- PrvPub++)
- if (PrivatePublicEvents & (1 << PrvPub)) // Booleans stored as bits in PrivatePublicEvents
- Par_PutHiddenParamChar (ParamName[PrvPub],'Y');
+ Gbl.Agenda.Past__FutureEvents = (unsigned) Par_GetParToUnsignedLong (ParamPast__FutureName,
+ 0,
+ (1 << Agd_PAST___EVENTS) |
+ (1 << Agd_FUTURE_EVENTS),
+ Agd_DEFAULT_PAST___EVENTS |
+ Agd_DEFAULT_FUTURE_EVENTS);
}
-/*****************************************************************************/
-/************** Put hidden params for hidden / visible events ****************/
-/*****************************************************************************/
-
-static void Agd_PutHiddenParamsHiddenVisibleEvents (unsigned HiddenVisibleEvents)
+static void Agd_GetParamsPrivatPublicEvents (void)
{
- Agd_HiddenVisibleEvents_t HidVis;
- static const char *ParamName[2] =
- {
- "Hidden", // Agd_HIDDEN_EVENTS
- "Visible", // Agd_VISIBLE_EVENTS
- };
+ Gbl.Agenda.PrivatPublicEvents = (unsigned) Par_GetParToUnsignedLong (ParamPrivatPublicName,
+ 0,
+ (1 << Agd_PRIVAT_EVENTS) |
+ (1 << Agd_PUBLIC_EVENTS),
+ Agd_DEFAULT_PRIVAT_EVENTS |
+ Agd_DEFAULT_PUBLIC_EVENTS);
+ }
- for (HidVis = Agd_HIDDEN_EVENTS;
- HidVis <= Agd_VISIBLE_EVENTS;
- HidVis++)
- if (HiddenVisibleEvents & (1 << HidVis)) // Booleans stored as bits in HiddenVisibleEvents
- Par_PutHiddenParamChar (ParamName[HidVis],'Y');
+static void Agd_GetParamsHiddenVisiblEvents (void)
+ {
+ Gbl.Agenda.HiddenVisiblEvents = (unsigned) Par_GetParToUnsignedLong (ParamHiddenVisiblName,
+ 0,
+ (1 << Agd_HIDDEN_EVENTS) |
+ (1 << Agd_VISIBL_EVENTS),
+ Agd_DEFAULT_HIDDEN_EVENTS |
+ Agd_DEFAULT_VISIBL_EVENTS);
}
/*****************************************************************************/
@@ -471,8 +485,7 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
};
/***** Get parameters *****/
- Agd_GetParamEventOrder ();
- Pag_GetParamPagNum (WhatPaginate[AgendaType]);
+ Agd_GetParams (AgendaType);
/***** Get list of events *****/
Agd_GetListEvents (AgendaType);
@@ -534,7 +547,7 @@ static void Agd_ShowEventsToday (Agd_AgendaType_t AgendaType)
unsigned NumEvent;
/***** Get parameters *****/
- Agd_GetParamEventOrder ();
+ Agd_GetParams (AgendaType);
/***** Get list of events *****/
Agd_GetListEvents (AgendaType);
@@ -613,8 +626,8 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
+ Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
Act_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"
");
@@ -678,7 +691,8 @@ static void Agd_PutIconToCreateNewEvent (void)
extern const char *Txt_New_event;
/***** Put form to create a new event *****/
- Lay_PutContextualLink (ActFrmNewEvtMyAgd,Agd_PutParamsToCreateNewEvent,
+ Gbl.Agenda.AgdCodToEdit = -1L;
+ Lay_PutContextualLink (ActFrmNewEvtMyAgd,Agd_PutCurrentParams,
"plus64x64.png",
Txt_New_event,NULL,
NULL);
@@ -748,21 +762,16 @@ static void Agd_PutButtonToCreateNewEvent (void)
extern const char *Txt_New_event;
Act_FormStart (ActFrmNewEvtMyAgd);
- Agd_PutParamsToCreateNewEvent ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Gbl.Pag.CurrentPage);
Lay_PutConfirmButton (Txt_New_event);
Act_FormEnd ();
}
-/*****************************************************************************/
-/******************** Put parameters to create a new event *******************/
-/*****************************************************************************/
-
-static void Agd_PutParamsToCreateNewEvent (void)
- {
- Agd_PutHiddenParamEventsOrder ();
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
- }
-
/*****************************************************************************/
/******************************* Show one event ******************************/
/*****************************************************************************/
@@ -879,6 +888,141 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
}
+/*****************************************************************************/
+/******************* Put a link (form) to edit one event *********************/
+/*****************************************************************************/
+
+static void Agd_PutFormsToRemEditOneEvent (struct AgendaEvent *AgdEvent)
+ {
+ extern const char *Txt_Remove;
+ extern const char *Txt_Show;
+ extern const char *Txt_Hide;
+ extern const char *Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses;
+ extern const char *Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private;
+ extern const char *Txt_Edit;
+
+ Gbl.Agenda.AgdCodToEdit = AgdEvent->AgdCod; // Used as parameter in contextual links
+
+ /***** Put form to remove event *****/
+ Lay_PutContextualLink (ActReqRemEvtMyAgd,Agd_PutCurrentParams,
+ "remove-on64x64.png",
+ Txt_Remove,NULL,
+ NULL);
+
+ /***** Put form to hide/show event *****/
+ if (AgdEvent->Hidden)
+ Lay_PutContextualLink (ActShoEvtMyAgd,Agd_PutCurrentParams,
+ "eye-slash-on64x64.png",
+ Txt_Show,NULL,
+ NULL);
+ else
+ Lay_PutContextualLink (ActHidEvtMyAgd,Agd_PutCurrentParams,
+ "eye-on64x64.png",
+ Txt_Hide,NULL,
+ NULL);
+
+ /***** Put form to edit event *****/
+ Lay_PutContextualLink (ActEdiOneEvtMyAgd,Agd_PutCurrentParams,
+ "edit64x64.png",
+ Txt_Edit,NULL,
+ NULL);
+
+ /***** Put form to make event public/private *****/
+ if (AgdEvent->Public)
+ Lay_PutContextualLink (ActPrvEvtMyAgd,Agd_PutCurrentParams,
+ "unlock-on64x64.png",
+ Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private,NULL,
+ NULL);
+ else
+ Lay_PutContextualLink (ActPubEvtMyAgd,Agd_PutCurrentParams,
+ "lock-on64x64.png",
+ Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses,NULL,
+ NULL);
+ }
+
+/*****************************************************************************/
+/******************* Parameters passed in agenda forms ***********************/
+/*****************************************************************************/
+
+static void Agd_PutCurrentParams (void)
+ {
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ Gbl.Agenda.AgdCodToEdit,
+ Gbl.Pag.CurrentPage);
+ }
+
+/* The following function is called
+ when one or more parameters must be passed explicitely.
+ Each parameter is passed only if its value is distinct to default. */
+
+void Agd_PutParams (unsigned Past__FutureEvents,
+ unsigned PrivatPublicEvents,
+ unsigned HiddenVisiblEvents,
+ Agd_Order_t Order,
+ long AgdCodToEdit,
+ unsigned NumPage)
+ {
+ if (Past__FutureEvents != (Agd_DEFAULT_PAST___EVENTS |
+ Agd_DEFAULT_FUTURE_EVENTS))
+ Agd_PutHiddenParamPast__FutureEvents (Past__FutureEvents);
+
+ if (PrivatPublicEvents != (Agd_DEFAULT_PRIVAT_EVENTS |
+ Agd_DEFAULT_PUBLIC_EVENTS))
+ Agd_PutHiddenParamPrivatPublicEvents (PrivatPublicEvents);
+
+ if (HiddenVisiblEvents != (Agd_DEFAULT_HIDDEN_EVENTS |
+ Agd_DEFAULT_VISIBL_EVENTS))
+ Agd_PutHiddenParamHiddenVisiblEvents (HiddenVisiblEvents);
+
+ if (Order != Agd_ORDER_DEFAULT)
+ Par_PutHiddenParamUnsigned ("Order",(unsigned) Order);
+
+ if (AgdCodToEdit > 0)
+ Par_PutHiddenParamLong ("AgdCod",AgdCodToEdit);
+
+ if (NumPage > 1)
+ Pag_PutHiddenParamPagNum (NumPage);
+ }
+
+/*****************************************************************************/
+/********** Get parameter with the type or order in list of events ***********/
+/*****************************************************************************/
+
+static void Agd_GetParams (Agd_AgendaType_t AgendaType)
+ {
+ Pag_WhatPaginate_t WhatPaginate[Agd_NUM_AGENDA_TYPES] =
+ {
+ Pag_MY_FULL_AGENDA, // Agd_MY_FULL_AGENDA_TODAY, not used
+ Pag_MY_FULL_AGENDA, // Agd_MY_FULL_AGENDA
+ Pag_MY_PUBLIC_AGENDA, // Agd_MY_PUBLIC_AGENDA_TODAY, not used
+ Pag_MY_PUBLIC_AGENDA, // Agd_MY_PUBLIC_AGENDA
+ Pag_OTHER_PUBLIC_AGENDA, // Agd_OTHER_PUBLIC_AGENDA_TODAY, not used
+ Pag_OTHER_PUBLIC_AGENDA, // Agd_OTHER_PUBLIC_AGENDA
+ };
+
+ if (AgendaType == Agd_MY_FULL_AGENDA)
+ {
+ Agd_GetParamsPast__FutureEvents ();
+ Agd_GetParamsPrivatPublicEvents ();
+ Agd_GetParamsHiddenVisiblEvents ();
+ }
+ Agd_GetParamEventOrder ();
+ Pag_GetParamPagNum (WhatPaginate[AgendaType]);
+ }
+
+/*****************************************************************************/
+/****** Put a hidden parameter with the type of order in list of events ******/
+/*****************************************************************************/
+
+void Agd_PutHiddenParamEventsOrder (void)
+ {
+ if (Gbl.Agenda.SelectedOrder != Agd_ORDER_DEFAULT)
+ Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Agenda.SelectedOrder);
+ }
+
/*****************************************************************************/
/********** Get parameter with the type or order in list of events ***********/
/*****************************************************************************/
@@ -898,78 +1042,6 @@ static void Agd_GetParamEventOrder (void)
}
}
-/*****************************************************************************/
-/****** Put a hidden parameter with the type of order in list of events ******/
-/*****************************************************************************/
-
-void Agd_PutHiddenParamEventsOrder (void)
- {
- Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Agenda.SelectedOrder);
- }
-
-/*****************************************************************************/
-/******************* Put a link (form) to edit one event *********************/
-/*****************************************************************************/
-
-static void Agd_PutFormsToRemEditOneEvent (struct AgendaEvent *AgdEvent)
- {
- extern const char *Txt_Remove;
- extern const char *Txt_Show;
- extern const char *Txt_Hide;
- extern const char *Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses;
- extern const char *Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private;
- extern const char *Txt_Edit;
-
- Gbl.Agenda.AgdCodToEdit = AgdEvent->AgdCod; // Used as parameter in contextual links
-
- /***** Put form to remove event *****/
- Lay_PutContextualLink (ActReqRemEvtMyAgd,Agd_PutParams,
- "remove-on64x64.png",
- Txt_Remove,NULL,
- NULL);
-
- /***** Put form to hide/show event *****/
- if (AgdEvent->Hidden)
- Lay_PutContextualLink (ActShoEvtMyAgd,Agd_PutParams,
- "eye-slash-on64x64.png",
- Txt_Show,NULL,
- NULL);
- else
- Lay_PutContextualLink (ActHidEvtMyAgd,Agd_PutParams,
- "eye-on64x64.png",
- Txt_Hide,NULL,
- NULL);
-
- /***** Put form to edit event *****/
- Lay_PutContextualLink (ActEdiOneEvtMyAgd,Agd_PutParams,
- "edit64x64.png",
- Txt_Edit,NULL,
- NULL);
-
- /***** Put form to make event public/private *****/
- if (AgdEvent->Public)
- Lay_PutContextualLink (ActPrvEvtMyAgd,Agd_PutParams,
- "unlock-on64x64.png",
- Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private,NULL,
- NULL);
- else
- Lay_PutContextualLink (ActPubEvtMyAgd,Agd_PutParams,
- "lock-on64x64.png",
- Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses,NULL,
- NULL);
- }
-
-/*****************************************************************************/
-/********************** Params used to edit an event *************************/
-/*****************************************************************************/
-
-static void Agd_PutParams (void)
- {
- Agd_PutParamAgdCod (Gbl.Agenda.AgdCodToEdit);
- Agd_PutHiddenParamEventsOrder ();
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
- }
-
/*****************************************************************************/
/************************* Get list of agenda events *************************/
/*****************************************************************************/
@@ -1213,15 +1285,6 @@ static void Agd_GetEventTxtFromDB (struct AgendaEvent *AgdEvent,
Lay_ShowErrorAndExit ("Error when getting event text.");
}
-/*****************************************************************************/
-/******************* Write parameter with code of event **********************/
-/*****************************************************************************/
-
-static void Agd_PutParamAgdCod (long AgdCod)
- {
- Par_PutHiddenParamLong ("AgdCod",AgdCod);
- }
-
/*****************************************************************************/
/******************** Get parameter with code of event ***********************/
/*****************************************************************************/
@@ -1243,8 +1306,7 @@ void Agd_AskRemEvent (void)
struct AgendaEvent AgdEvent;
/***** Get parameters *****/
- Agd_GetParamEventOrder ();
- Pag_GetParamPagNum (Pag_MY_FULL_AGENDA);
+ Agd_GetParams (Agd_MY_FULL_AGENDA);
/***** Get event code *****/
if ((AgdEvent.AgdCod = Agd_GetParamAgdCod ()) == -1L)
@@ -1256,9 +1318,8 @@ void Agd_AskRemEvent (void)
/***** Button of confirmation of removing *****/
Act_FormStart (ActRemEvtMyAgd);
- Agd_PutParamAgdCod (AgdEvent.AgdCod);
- Agd_PutHiddenParamEventsOrder ();
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
+ Gbl.Agenda.AgdCodToEdit = AgdEvent.AgdCod;
+ Agd_PutCurrentParams ();
/***** Ask for confirmation of removing *****/
sprintf (Gbl.Message,Txt_Do_you_really_want_to_remove_the_event_X,
@@ -1454,8 +1515,7 @@ void Agd_RequestCreatOrEditEvent (void)
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Get parameters *****/
- Agd_GetParamEventOrder ();
- Pag_GetParamPagNum (Pag_MY_FULL_AGENDA);
+ Agd_GetParams (Agd_MY_FULL_AGENDA);
/***** Get the code of the event *****/
ItsANewEvent = ((AgdEvent.AgdCod = Agd_GetParamAgdCod ()) == -1L);
@@ -1483,14 +1543,16 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Start form *****/
if (ItsANewEvent)
+ {
Act_FormStart (ActNewEvtMyAgd);
+ Gbl.Agenda.AgdCodToEdit = -1L;
+ }
else
{
Act_FormStart (ActChgEvtMyAgd);
- Agd_PutParamAgdCod (AgdEvent.AgdCod);
+ Gbl.Agenda.AgdCodToEdit = AgdEvent.AgdCod;
}
- Agd_PutHiddenParamEventsOrder ();
- Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage);
+ Agd_PutCurrentParams ();
/***** Table start *****/
Lay_StartRoundFrameTable (NULL,
diff --git a/swad_agenda.h b/swad_agenda.h
index 0c3b97359..b2ce9f87f 100644
--- a/swad_agenda.h
+++ b/swad_agenda.h
@@ -61,19 +61,27 @@ struct AgendaEvent
typedef enum
{
- Agd_PAST_EVENTS, // Events until yesterday (included)
- Agd_FUTURE_EVENTS, // Events from today (included) onwards
- } Agd_PastFutureEvents_t;
+ Agd_PAST___EVENTS = 0, // Events until yesterday (included)
+ Agd_FUTURE_EVENTS = 1, // Events from today (included) onwards
+ } Agd_Past__FutureEvents_t;
+#define Agd_DEFAULT_PAST___EVENTS (0 << Agd_PAST___EVENTS) // off
+#define Agd_DEFAULT_FUTURE_EVENTS (1 << Agd_FUTURE_EVENTS) // on
+
typedef enum
{
- Agd_PRIVATE_EVENTS,
- Agd_PUBLIC_EVENTS,
- } Agd_PrivatePublicEvents_t;
+ Agd_PRIVAT_EVENTS = 0,
+ Agd_PUBLIC_EVENTS = 1,
+ } Agd_PrivatPublicEvents_t;
+#define Agd_DEFAULT_PRIVAT_EVENTS (1 << Agd_PRIVAT_EVENTS) // on
+#define Agd_DEFAULT_PUBLIC_EVENTS (1 << Agd_PUBLIC_EVENTS) // on
+
typedef enum
{
- Agd_HIDDEN_EVENTS,
- Agd_VISIBLE_EVENTS,
- } Agd_HiddenVisibleEvents_t;
+ Agd_HIDDEN_EVENTS = 0,
+ Agd_VISIBL_EVENTS = 1,
+ } Agd_HiddenVisiblEvents_t;
+#define Agd_DEFAULT_HIDDEN_EVENTS (0 << Agd_HIDDEN_EVENTS) // off
+#define Agd_DEFAULT_VISIBL_EVENTS (1 << Agd_VISIBL_EVENTS) // on
#define Agd_NUM_ORDERS 2
typedef enum
@@ -95,8 +103,16 @@ void Agd_ShowMyPublicAgenda (void);
void Agd_ShowUsrAgenda (void);
void Agd_ShowOtherAgendaAfterLogIn (void);
-void Agd_PutHiddenParamEventsOrder (void);
void Agd_RequestCreatOrEditEvent (void);
+
+void Agd_PutParams (unsigned Past__FutureEvents,
+ unsigned PrivatPublicEvents,
+ unsigned HiddenVisiblEvents,
+ Agd_Order_t Order,
+ long AgdCodToEdit,
+ unsigned NumPage);
+void Agd_PutHiddenParamEventsOrder (void);
+
void Agd_FreeListEvents (void);
long Agd_GetParamAgdCod (void);
diff --git a/swad_changelog.h b/swad_changelog.h
index 78a19e03a..5c27ca717 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -210,19 +210,20 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 16.158.1 (2017-03-21)"
+#define Log_PLATFORM_VERSION "SWAD 16.159 (2017-03-21)"
#define CSS_FILE "swad16.157.css"
#define JS_FILE "swad16.144.js"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
/*
+ Version 16.159: Mar 21, 2017 Changes in agenda. Not finished. (217511 lines)
Version 16.158.1: Mar 21, 2017 Changes in agenda. Not finished. (217395 lines)
Version 16.158: Mar 21, 2017 Changes in agenda. Not finished.
Fixed bug in user enrollment. (217394 lines)
Copy the following icons to icon public directory:
-sudo cp -a backward64x64.png /var/www/html/swad/icon/
-sudo cp -a forward64x64.png /var/www/html/swad/icon/
+sudo cp -a past64x64.png /var/www/html/swad/icon/
+sudo cp -a future64x64.png /var/www/html/swad/icon/
Version 16.157.3: Mar 20, 2017 Contextual help in edition of custom record card fields. (217046 lines)
Version 16.157.2: Mar 20, 2017 Some help URLs translated to spanish. (217041 lines)
diff --git a/swad_global.c b/swad_global.c
index 02bf989eb..15fbdbaf4 100644
--- a/swad_global.c
+++ b/swad_global.c
@@ -423,11 +423,14 @@ void Gbl_InitializeGlobals (void)
Gbl.FileBrowser.UploadingWithDropzone = false;
/* Agenda */
- Gbl.Agenda.PastFutureEvents = (1 << Agd_FUTURE_EVENTS);
- Gbl.Agenda.PrivatePublicEvents = (1 << Agd_PRIVATE_EVENTS) |
- (1 << Agd_PUBLIC_EVENTS);
- Gbl.Agenda.HiddenVisibleEvents = (1 << Agd_VISIBLE_EVENTS);
+ Gbl.Agenda.Past__FutureEvents = Agd_DEFAULT_PAST___EVENTS |
+ Agd_DEFAULT_FUTURE_EVENTS;
+ Gbl.Agenda.PrivatPublicEvents = Agd_DEFAULT_PRIVAT_EVENTS |
+ Agd_DEFAULT_PUBLIC_EVENTS;
+ Gbl.Agenda.HiddenVisiblEvents = Agd_DEFAULT_HIDDEN_EVENTS |
+ Agd_DEFAULT_VISIBL_EVENTS;
Gbl.Agenda.SelectedOrder = Agd_ORDER_DEFAULT;
+ Gbl.Agenda.AgdCodToEdit = -1L;
/* To alternate colors where listing rows */
Gbl.RowEvenOdd = 0;
diff --git a/swad_global.h b/swad_global.h
index 408be9bee..13bc8dc73 100644
--- a/swad_global.h
+++ b/swad_global.h
@@ -414,9 +414,9 @@ struct Globals
bool LstIsRead; // Is the list already read from database, or it needs to be read?
unsigned Num; // Number of events
long *LstAgdCods; // List of agenda codes
- unsigned PastFutureEvents;
- unsigned PrivatePublicEvents;
- unsigned HiddenVisibleEvents;
+ unsigned Past__FutureEvents;
+ unsigned PrivatPublicEvents;
+ unsigned HiddenVisiblEvents;
Agd_Order_t SelectedOrder;
long AgdCodToEdit; // Used as parameter in contextual links
} Agenda;
diff --git a/swad_pagination.c b/swad_pagination.c
index 3f4c651dc..a62889f8f 100644
--- a/swad_pagination.c
+++ b/swad_pagination.c
@@ -166,18 +166,26 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
break;
case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd);
- Pag_PutHiddenParamPagNum (1);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ 1);
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
- Pag_PutHiddenParamPagNum (1);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ 1);
break;
case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd);
- Pag_PutHiddenParamPagNum (1);
Agd_PutHiddenParamEventsOrder ();
+ Pag_PutHiddenParamPagNum (1);
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
@@ -259,18 +267,26 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
break;
case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd);
- Pag_PutHiddenParamPagNum (1);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ 1);
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
- Pag_PutHiddenParamPagNum (1);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ 1);
break;
case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd);
- Pag_PutHiddenParamPagNum (1);
Agd_PutHiddenParamEventsOrder ();
+ Pag_PutHiddenParamPagNum (1);
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
@@ -335,18 +351,26 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
break;
case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd);
- Pag_PutHiddenParamPagNum (Pagination->LeftPage);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Pagination->LeftPage);
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
- Pag_PutHiddenParamPagNum (Pagination->LeftPage);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Pagination->LeftPage);
break;
case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd);
- Pag_PutHiddenParamPagNum (Pagination->LeftPage);
Agd_PutHiddenParamEventsOrder ();
+ Pag_PutHiddenParamPagNum (Pagination->LeftPage);
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
@@ -418,18 +442,26 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
break;
case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd);
- Pag_PutHiddenParamPagNum (NumPage);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ NumPage);
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
- Pag_PutHiddenParamPagNum (NumPage);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ NumPage);
break;
case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd);
- Pag_PutHiddenParamPagNum (NumPage);
Agd_PutHiddenParamEventsOrder ();
+ Pag_PutHiddenParamPagNum (NumPage);
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
@@ -497,18 +529,26 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
break;
case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd);
- Pag_PutHiddenParamPagNum (Pagination->RightPage);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Pagination->RightPage);
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
- Pag_PutHiddenParamPagNum (Pagination->RightPage);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Pagination->RightPage);
break;
case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd);
- Pag_PutHiddenParamPagNum (Pagination->RightPage);
Agd_PutHiddenParamEventsOrder ();
+ Pag_PutHiddenParamPagNum (Pagination->RightPage);
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
@@ -573,18 +613,26 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P
break;
case Pag_MY_FULL_AGENDA:
Act_FormStart (ActSeeMyAgd);
- Pag_PutHiddenParamPagNum (Pagination->NumPags);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Pagination->NumPags);
break;
case Pag_MY_PUBLIC_AGENDA:
Act_FormStart (ActSeeMyPubAgd);
- Pag_PutHiddenParamPagNum (Pagination->NumPags);
- Agd_PutHiddenParamEventsOrder ();
+ Agd_PutParams (Gbl.Agenda.Past__FutureEvents,
+ Gbl.Agenda.PrivatPublicEvents,
+ Gbl.Agenda.HiddenVisiblEvents,
+ Gbl.Agenda.SelectedOrder,
+ -1L,
+ Pagination->NumPags);
break;
case Pag_OTHER_PUBLIC_AGENDA:
Act_FormStart (ActSeeUsrAgd);
- Pag_PutHiddenParamPagNum (Pagination->NumPags);
Agd_PutHiddenParamEventsOrder ();
+ Pag_PutHiddenParamPagNum (Pagination->NumPags);
Usr_PutParamOtherUsrCodEncrypted ();
break;
}
diff --git a/swad_text.c b/swad_text.c
index ea2e8b6b5..84e5292eb 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -2105,9 +2105,9 @@ const char *Txt_Administer_user =
"Gerenciar utilizador";
#endif
-const char *Txt_AGENDA_PAST_FUTURE_EVENTS[2] =
+const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2] =
{
- // Agd_PAST_EVENTS
+ // Agd_PAST___EVENTS
#if L==1
"Esdeveniments passats"
#elif L==2
@@ -2150,9 +2150,9 @@ const char *Txt_AGENDA_PAST_FUTURE_EVENTS[2] =
#endif
};
-const char *Txt_AGENDA_PRIVATE_PUBLIC_EVENTS[2] =
+const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2] =
{
- // Agd_PRIVATE_EVENTS
+ // Agd_PRIVAT_EVENTS
#if L==1
"Esdeveniments passats"
#elif L==2
@@ -2195,7 +2195,7 @@ const char *Txt_AGENDA_PRIVATE_PUBLIC_EVENTS[2] =
#endif
};
-const char *Txt_AGENDA_HIDDEN_VISIBLE_EVENTS[2] =
+const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2] =
{
// Agd_HIDDEN_EVENTS
#if L==1
@@ -2218,7 +2218,7 @@ const char *Txt_AGENDA_HIDDEN_VISIBLE_EVENTS[2] =
"Eventos passados"
#endif
,
- // Agd_VISIBLE_EVENTS
+ // Agd_VISIBL_EVENTS
#if L==1
"Esdeveniments actuals i futurs"
#elif L==2