mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-22 00:00:40 +02:00
Version19.177
This commit is contained in:
parent
e089c03a00
commit
bf1010c1a7
|
@ -718,8 +718,8 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
[ActReqRemSvyQst ] = {1524,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestRemoveQst ,NULL},
|
[ActReqRemSvyQst ] = {1524,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RequestRemoveQst ,NULL},
|
||||||
[ActRemSvyQst ] = { 981,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveQst ,NULL},
|
[ActRemSvyQst ] = { 981,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveQst ,NULL},
|
||||||
|
|
||||||
[ActSeeOneExaAnn ] = {1572,-1,TabUnk,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Exa_GetExaCodToHighlight ,Exa_ListExamAnnouncementsSee ,NULL},
|
[ActSeeOneExaAnn ] = {1572,-1,TabUnk,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ListExamAnnouncementsCod ,NULL},
|
||||||
[ActSeeDatExaAnn ] = {1571,-1,TabUnk,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Exa_GetDateToHighlight ,Exa_ListExamAnnouncementsSee ,NULL},
|
[ActSeeDatExaAnn ] = {1571,-1,TabUnk,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_ListExamAnnouncementsDay ,NULL},
|
||||||
[ActEdiExaAnn ] = { 91,-1,TabUnk,ActSeeAllExaAnn ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_PutFrmEditAExamAnnouncement,NULL},
|
[ActEdiExaAnn ] = { 91,-1,TabUnk,ActSeeAllExaAnn ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_PutFrmEditAExamAnnouncement,NULL},
|
||||||
[ActRcvExaAnn ] = { 110,-1,TabUnk,ActSeeAllExaAnn ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Exa_ReceiveExamAnnouncement1 ,Exa_ReceiveExamAnnouncement2 ,NULL},
|
[ActRcvExaAnn ] = { 110,-1,TabUnk,ActSeeAllExaAnn ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Exa_ReceiveExamAnnouncement1 ,Exa_ReceiveExamAnnouncement2 ,NULL},
|
||||||
[ActPrnExaAnn ] = { 179,-1,TabUnk,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Exa_PrintExamAnnouncement ,NULL},
|
[ActPrnExaAnn ] = { 179,-1,TabUnk,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_NEW_TAB,NULL ,Exa_PrintExamAnnouncement ,NULL},
|
||||||
|
|
|
@ -497,7 +497,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.176 (2020-04-12)"
|
#define Log_PLATFORM_VERSION "SWAD 19.177 (2020-04-12)"
|
||||||
#define CSS_FILE "swad19.146.css"
|
#define CSS_FILE "swad19.146.css"
|
||||||
#define JS_FILE "swad19.172.1.js"
|
#define JS_FILE "swad19.172.1.js"
|
||||||
/*
|
/*
|
||||||
|
@ -548,6 +548,7 @@ Funci
|
||||||
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
|
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
|
||||||
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
|
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
|
||||||
|
|
||||||
|
Version 19.177: Apr 12, 2020 Code refactoring in exam announcements. (285509 lines)
|
||||||
Version 19.176: Apr 12, 2020 Code refactoring in agenda. (285419 lines)
|
Version 19.176: Apr 12, 2020 Code refactoring in agenda. (285419 lines)
|
||||||
Version 19.175: Apr 12, 2020 Code refactoring in syllabus. (285345 lines)
|
Version 19.175: Apr 12, 2020 Code refactoring in syllabus. (285345 lines)
|
||||||
Version 19.174: Apr 11, 2020 Code refactoring in messages. (285250 lines)
|
Version 19.174: Apr 11, 2020 Code refactoring in messages. (285250 lines)
|
||||||
|
|
|
@ -383,7 +383,7 @@ struct tm *Dat_GetLocalTimeFromClock (const time_t *timep)
|
||||||
/********* Convert a struct with Day, Month and Year to a date string ********/
|
/********* Convert a struct with Day, Month and Year to a date string ********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Dat_ConvDateToDateStr (struct Date *Date,char StrDate[Cns_MAX_BYTES_DATE + 1])
|
void Dat_ConvDateToDateStr (const struct Date *Date,char StrDate[Cns_MAX_BYTES_DATE + 1])
|
||||||
{
|
{
|
||||||
extern const char *Txt_MONTHS_SMALL_SHORT[12];
|
extern const char *Txt_MONTHS_SMALL_SHORT[12];
|
||||||
|
|
||||||
|
|
|
@ -141,7 +141,7 @@ bool Dat_GetDateFromYYYYMMDD (struct Date *Date,const char *YYYYMMDDString);
|
||||||
void Dat_ShowClientLocalTime (void);
|
void Dat_ShowClientLocalTime (void);
|
||||||
|
|
||||||
struct tm *Dat_GetLocalTimeFromClock (const time_t *timep);
|
struct tm *Dat_GetLocalTimeFromClock (const time_t *timep);
|
||||||
void Dat_ConvDateToDateStr (struct Date *Date,char StrDate[Cns_MAX_BYTES_DATE + 1]);
|
void Dat_ConvDateToDateStr (const struct Date *Date,char StrDate[Cns_MAX_BYTES_DATE + 1]);
|
||||||
|
|
||||||
void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME]);
|
void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME]);
|
||||||
void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START_END_TIME],
|
void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START_END_TIME],
|
||||||
|
|
664
swad_exam.c
664
swad_exam.c
File diff suppressed because it is too large
Load Diff
25
swad_exam.h
25
swad_exam.h
|
@ -57,7 +57,7 @@ typedef enum
|
||||||
#define Exa_MAX_CHARS_SESSION (128 - 1) // 127
|
#define Exa_MAX_CHARS_SESSION (128 - 1) // 127
|
||||||
#define Exa_MAX_BYTES_SESSION ((Exa_MAX_CHARS_SESSION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
|
#define Exa_MAX_BYTES_SESSION ((Exa_MAX_CHARS_SESSION + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
|
||||||
|
|
||||||
struct ExamData
|
struct Exa_ExamAnnouncement
|
||||||
{
|
{
|
||||||
long CrsCod;
|
long CrsCod;
|
||||||
Exa_ExamAnnouncementStatus_t Status;
|
Exa_ExamAnnouncementStatus_t Status;
|
||||||
|
@ -83,10 +83,24 @@ struct Exa_ExamCodeAndDate
|
||||||
struct Date ExamDate;
|
struct Date ExamDate;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Exa_ExamAnnouncements
|
||||||
|
{
|
||||||
|
unsigned NumExaAnns; // Number of announcements of exam in the list
|
||||||
|
struct Exa_ExamCodeAndDate *Lst; // List of exam announcements
|
||||||
|
long NewExaCod; // New exam announcement just created
|
||||||
|
long HighlightExaCod; // Exam announcement to be highlighted
|
||||||
|
char HighlightDate[4 + 2 + 2 + 1]; // Date with exam announcements to be highlighted (in YYYYMMDD format)
|
||||||
|
long ExaCod; // Used to put contextual icons
|
||||||
|
const char *Anchor; // Used to put contextual icons
|
||||||
|
struct Exa_ExamAnnouncement ExamAnn;
|
||||||
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Public prototypes *****************************/
|
/***************************** Public prototypes *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Exa_ResetExamAnnouncements (struct Exa_ExamAnnouncements *ExamAnns);
|
||||||
|
|
||||||
void Exa_PutFrmEditAExamAnnouncement (void);
|
void Exa_PutFrmEditAExamAnnouncement (void);
|
||||||
void Exa_ReceiveExamAnnouncement1 (void);
|
void Exa_ReceiveExamAnnouncement1 (void);
|
||||||
void Exa_ReceiveExamAnnouncement2 (void);
|
void Exa_ReceiveExamAnnouncement2 (void);
|
||||||
|
@ -97,15 +111,14 @@ void Exa_RemoveExamAnnouncement2 (void);
|
||||||
void Exa_HideExamAnnouncement (void);
|
void Exa_HideExamAnnouncement (void);
|
||||||
void Exa_UnhideExamAnnouncement (void);
|
void Exa_UnhideExamAnnouncement (void);
|
||||||
|
|
||||||
void Exa_FreeMemExamAnnouncement (void);
|
void Exa_FreeListExamAnnouncements (struct Exa_ExamAnnouncements *ExamAnns);
|
||||||
void Exa_FreeListExamAnnouncements (void);
|
|
||||||
void Exa_ListExamAnnouncementsSee (void);
|
void Exa_ListExamAnnouncementsSee (void);
|
||||||
void Exa_ListExamAnnouncementsEdit (void);
|
void Exa_ListExamAnnouncementsEdit (void);
|
||||||
|
|
||||||
void Exa_GetExaCodToHighlight (void);
|
void Exa_ListExamAnnouncementsCod (void);
|
||||||
void Exa_GetDateToHighlight (void);
|
void Exa_ListExamAnnouncementsDay (void);
|
||||||
|
|
||||||
void Exa_CreateListDatesOfExamAnnouncements (void);
|
void Exa_CreateListExamAnnouncements (struct Exa_ExamAnnouncements *ExamAnns);
|
||||||
void Exa_PutHiddenParamExaCod (long ExaCod);
|
void Exa_PutHiddenParamExaCod (long ExaCod);
|
||||||
|
|
||||||
void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
|
void Exa_GetSummaryAndContentExamAnnouncement (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
|
||||||
|
|
|
@ -205,12 +205,6 @@ void Gbl_InitializeGlobals (void)
|
||||||
}
|
}
|
||||||
Gbl.Usrs.ListOtherRecipients = NULL;
|
Gbl.Usrs.ListOtherRecipients = NULL;
|
||||||
|
|
||||||
Gbl.ExamAnns.NumExaAnns = 0;
|
|
||||||
Gbl.ExamAnns.Lst = NULL;
|
|
||||||
Gbl.ExamAnns.NewExaCod = -1L;
|
|
||||||
Gbl.ExamAnns.HighlightExaCod = -1L;
|
|
||||||
Gbl.ExamAnns.HighlightDate[0] = '\0'; // No exam announcements highlighted
|
|
||||||
|
|
||||||
/***** Reset current hierarchy *****/
|
/***** Reset current hierarchy *****/
|
||||||
Hie_ResetHierarchy ();
|
Hie_ResetHierarchy ();
|
||||||
|
|
||||||
|
@ -415,8 +409,6 @@ void Gbl_Cleanup (void)
|
||||||
Usr_FreeListOtherRecipients ();
|
Usr_FreeListOtherRecipients ();
|
||||||
Usr_FreeListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
|
Usr_FreeListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
|
||||||
Syl_FreeListItemsSyllabus ();
|
Syl_FreeListItemsSyllabus ();
|
||||||
Exa_FreeMemExamAnnouncement ();
|
|
||||||
Exa_FreeListExamAnnouncements ();
|
|
||||||
if (Gbl.F.Tmp)
|
if (Gbl.F.Tmp)
|
||||||
fclose (Gbl.F.Tmp);
|
fclose (Gbl.F.Tmp);
|
||||||
Fil_CloseXMLFile ();
|
Fil_CloseXMLFile ();
|
||||||
|
|
|
@ -428,17 +428,6 @@ struct Globals
|
||||||
long HighlightNotCod; // Notice code of a notice to be highlighted
|
long HighlightNotCod; // Notice code of a notice to be highlighted
|
||||||
} Notices;
|
} Notices;
|
||||||
} Crs;
|
} Crs;
|
||||||
struct
|
|
||||||
{
|
|
||||||
struct Exa_ExamCodeAndDate *Lst; // List of exam announcements
|
|
||||||
unsigned NumExaAnns; // Number of announcements of exam in the list
|
|
||||||
long NewExaCod; // New exam announcement just created
|
|
||||||
long HighlightExaCod; // Exam announcement to be highlighted
|
|
||||||
char HighlightDate[4 + 2 + 2 + 1]; // Date with exam announcements to be highlighted (in YYYYMMDD format)
|
|
||||||
long ExaCod; // Used to put contextual icons
|
|
||||||
const char *Anchor; // Used to put contextual icons
|
|
||||||
struct ExamData ExaDat;
|
|
||||||
} ExamAnns;
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
unsigned Id; // Each file browser in the page has a unique identifier
|
unsigned Id; // Each file browser in the page has a unique identifier
|
||||||
|
|
|
@ -488,6 +488,7 @@ static void Lay_WriteScripts (void)
|
||||||
extern const char *Txt_DAYS_CAPS[7];
|
extern const char *Txt_DAYS_CAPS[7];
|
||||||
extern const char *Txt_DAYS_SMALL[7];
|
extern const char *Txt_DAYS_SMALL[7];
|
||||||
extern const char *Txt_Exam_of_X;
|
extern const char *Txt_Exam_of_X;
|
||||||
|
struct Exa_ExamAnnouncements ExamAnns;
|
||||||
unsigned DayOfWeek; /* 0, 1, 2, 3, 4, 5, 6 */
|
unsigned DayOfWeek; /* 0, 1, 2, 3, 4, 5, 6 */
|
||||||
unsigned NumHld;
|
unsigned NumHld;
|
||||||
unsigned NumExamAnnouncement; // Number of exam announcement
|
unsigned NumExamAnnouncement; // Number of exam announcement
|
||||||
|
@ -533,8 +534,11 @@ static void Lay_WriteScripts (void)
|
||||||
Hld_GetListHolidays ();
|
Hld_GetListHolidays ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Create list of calls for examination *****/
|
/***** Reset exam announcements context *****/
|
||||||
Exa_CreateListDatesOfExamAnnouncements ();
|
Exa_ResetExamAnnouncements (&ExamAnns);
|
||||||
|
|
||||||
|
/***** Create list of exam announcements *****/
|
||||||
|
Exa_CreateListExamAnnouncements (&ExamAnns);
|
||||||
|
|
||||||
/***** Write script to initialize variables used to draw months *****/
|
/***** Write script to initialize variables used to draw months *****/
|
||||||
HTM_SCRIPT_Begin (NULL,NULL);
|
HTM_SCRIPT_Begin (NULL,NULL);
|
||||||
|
@ -567,18 +571,18 @@ static void Lay_WriteScripts (void)
|
||||||
|
|
||||||
HTM_TxtF ("\tvar LstExamAnnouncements = [];\n");
|
HTM_TxtF ("\tvar LstExamAnnouncements = [];\n");
|
||||||
for (NumExamAnnouncement = 0;
|
for (NumExamAnnouncement = 0;
|
||||||
NumExamAnnouncement < Gbl.ExamAnns.NumExaAnns;
|
NumExamAnnouncement < ExamAnns.NumExaAnns;
|
||||||
NumExamAnnouncement++)
|
NumExamAnnouncement++)
|
||||||
HTM_TxtF ("LstExamAnnouncements.push({ ExaCod: %ld, Year: %u, Month: %u, Day: %u });\n",
|
HTM_TxtF ("LstExamAnnouncements.push({ ExaCod: %ld, Year: %u, Month: %u, Day: %u });\n",
|
||||||
Gbl.ExamAnns.Lst[NumExamAnnouncement].ExaCod,
|
ExamAnns.Lst[NumExamAnnouncement].ExaCod,
|
||||||
Gbl.ExamAnns.Lst[NumExamAnnouncement].ExamDate.Year,
|
ExamAnns.Lst[NumExamAnnouncement].ExamDate.Year,
|
||||||
Gbl.ExamAnns.Lst[NumExamAnnouncement].ExamDate.Month,
|
ExamAnns.Lst[NumExamAnnouncement].ExamDate.Month,
|
||||||
Gbl.ExamAnns.Lst[NumExamAnnouncement].ExamDate.Day);
|
ExamAnns.Lst[NumExamAnnouncement].ExamDate.Day);
|
||||||
|
|
||||||
HTM_SCRIPT_End ();
|
HTM_SCRIPT_End ();
|
||||||
|
|
||||||
/***** Free list of dates of exam announcements *****/
|
/***** Free list of exam announcements *****/
|
||||||
Exa_FreeListExamAnnouncements ();
|
Exa_FreeListExamAnnouncements (&ExamAnns);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Scripts depending on action *****/
|
/***** Scripts depending on action *****/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user