diff --git a/icon/iconset/awesome/clipboard-list.svg b/icon/iconset/awesome/clipboard-list.svg index bbf0d5b1..9f1076cd 100644 --- a/icon/iconset/awesome/clipboard-list.svg +++ b/icon/iconset/awesome/clipboard-list.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/swad_assignment_resource.c b/swad_assignment_resource.c index c2449665..24ef7c69 100644 --- a/swad_assignment_resource.c +++ b/swad_assignment_resource.c @@ -55,7 +55,7 @@ void AsgRsc_GetLinkToAssignment (void) Assignments.CurrentPage = Pag_GetParPagNum (Pag_ASSIGNMENTS); /***** Get assignment code *****/ - Assignments.Asg.AsgCod = ParCod_GetAndCheckPar (ParCod_Asg); + Assignments.Asg.AsgCod = ParCod_GetPar (ParCod_Asg); /***** Get assignment title *****/ AsgRsc_GetTitleFromAsgCod (Assignments.Asg.AsgCod,Title,sizeof (Title) - 1); diff --git a/swad_attendance_resource.c b/swad_attendance_resource.c index ff8b5d39..9d9a7995 100644 --- a/swad_attendance_resource.c +++ b/swad_attendance_resource.c @@ -45,7 +45,7 @@ void AttRsc_GetLinkToEvent (void) char Title[Att_MAX_BYTES_ATTENDANCE_EVENT_TITLE + 1]; /***** Get attendance event code *****/ - AttCod = ParCod_GetAndCheckPar (ParCod_Att); + AttCod = ParCod_GetPar (ParCod_Att); /***** Get attendance event title *****/ AttRsc_GetTitleFromAttCod (AttCod,Title,sizeof (Title) - 1); diff --git a/swad_browser_resource.c b/swad_browser_resource.c index 853fa5cd..26614623 100644 --- a/swad_browser_resource.c +++ b/swad_browser_resource.c @@ -56,7 +56,7 @@ void BrwRsc_GetLinkToFile (void) Brw_GetParAndInitFileBrowser (); /***** Get file code *****/ - FilCod = ParCod_GetAndCheckPar (ParCod_Fil); + FilCod = ParCod_GetPar (ParCod_Fil); /***** Get file title *****/ switch (Gbl.Action.Act) diff --git a/swad_call_for_exam_resource.c b/swad_call_for_exam_resource.c index 74a5a8ad..d9c19d41 100644 --- a/swad_call_for_exam_resource.c +++ b/swad_call_for_exam_resource.c @@ -46,7 +46,7 @@ void Cfe_GetLinkToCallForExam (void) char Title[Cfe_MAX_BYTES_SESSION_AND_DATE]; /***** Get the code of the call for exam *****/ - ExaCod = ParCod_GetAndCheckPar (ParCod_Exa); + ExaCod = ParCod_GetPar (ParCod_Exa); /***** Get session and date of the exam *****/ CfeRsc_GetTitleFromExaCod (ExaCod,Title,sizeof (Title) - 1); diff --git a/swad_changelog.h b/swad_changelog.h index 0bc407b0..3475fb4a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,15 +629,26 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.86.1 (2023-03-29)" +#define Log_PLATFORM_VERSION "SWAD 22.86.2 (2023-03-30)" #define CSS_FILE "swad22.86.css" #define JS_FILE "swad22.49.js" /* + Version 22.86.2: Mar 30, 2023 New links to manual about resource clipboard. + Fixed bugs in links to resources. (338655 lines) Version 22.86.1: Mar 29, 2023 Icon to remove resource clipboard only if there are resources. (338596 lines) Version 22.86: Mar 29, 2023 New actions to see and remove the resource clipboard in rubrics. (338578 lines) Version 22.85.1: Mar 29, 2023 Code refactoring in links to update sections. (338447 lines) Version 22.85: Mar 29, 2023 New action to remove the resource clipboard in program. (338449 lines) Version 22.84: Mar 29, 2023 New action to see the resource clipboard in program. (338356 lines) +Copy the following icons to icon public directory: +sudo cp -a icon/clipboard-user.svg /var/www/html/swad/icon/ +sudo cp -a icon/clipboard.svg /var/www/html/swad/icon/ +sudo cp -a icon/clipboard-check.svg /var/www/html/swad/icon/ +sudo cp -a icon/clipboard-question.svg /var/www/html/swad/icon/ +sudo cp -a icon/clipboard-list.svg /var/www/html/swad/icon/ +sudo cp -a icon/paste.svg /var/www/html/swad/icon/ +sudo cp -a icon/iconset/awesome/clipboard-list.svg /var/www/html/swad/icon/iconset/awesome/ + Version 22.83.5: Mar 28, 2023 Fixed bugs in rubrics and exams. (338235 lines) Version 22.83.4: Mar 28, 2023 Code refactoring in rubrics and exams. (338221 lines) Version 22.83.3: Mar 27, 2023 Changes in rubric criteria. (338218 lines) diff --git a/swad_exam.c b/swad_exam.c index ebadd1f3..092ad405 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -199,7 +199,7 @@ void Exa_SeeAllExams (void) Exa_ResetExams (&Exams); /***** Get parameters *****/ - Exa_GetPars (&Exams,false); // Don't check exam code + Exa_GetPars (&Exams,Exa_DONT_CHECK_EXA_COD); /***** Show all exams *****/ Exa_ListAllExams (&Exams); @@ -414,7 +414,7 @@ void Exa_SeeOneExam (void) ExaSes_ResetSession (&Session); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); /***** Get exam data *****/ Exa_GetExamDataByCod (&Exams.Exam); @@ -729,12 +729,12 @@ void Exa_PutPars (void *Exams) /******************* Get parameters used to edit an exam **********************/ /*****************************************************************************/ -void Exa_GetPars (struct Exa_Exams *Exams,bool CheckExaCod) +void Exa_GetPars (struct Exa_Exams *Exams,Exa_CheckExaCod_t CheckExaCod) { long (*GetExaCo[2]) (ParCod_Param_t ParCode) = { - [false] = ParCod_GetPar, - [true ] = ParCod_GetAndCheckPar, + [Exa_DONT_CHECK_EXA_COD] = ParCod_GetPar, + [Exa_CHECK_EXA_COD ] = ParCod_GetAndCheckPar, }; /***** Get other parameters *****/ @@ -991,7 +991,7 @@ void Exa_AskRemExam (void) Exa_ResetExam (&Exams.Exam); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); /***** Get data of the exam from database *****/ Exa_GetExamDataByCod (&Exams.Exam); @@ -1213,7 +1213,7 @@ static void Exa_HideUnhideExam (bool Hide) Exa_ResetExam (&Exams.Exam); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); /***** Get data of the exam from database *****/ Exa_GetExamDataByCod (&Exams.Exam); @@ -1245,7 +1245,7 @@ void Exa_ReqCreatOrEditExam (void) ExaSet_ResetSet (&Set); /***** Get parameters *****/ - Exa_GetPars (&Exams,false); // Don't check exam code + Exa_GetPars (&Exams,Exa_DONT_CHECK_EXA_COD); ItsANewExam = (Exams.Exam.ExaCod <= 0); /***** Get exam data *****/ @@ -1418,7 +1418,7 @@ void Exa_ReceiveFormExam (void) ExaSet_ResetSet (&Set); /***** Get parameters *****/ - Exa_GetPars (&Exams,false); // Don't check exam code + Exa_GetPars (&Exams,Exa_DONT_CHECK_EXA_COD); ItsANewExam = (Exams.Exam.ExaCod <= 0); /***** Get all current exam data from database *****/ diff --git a/swad_exam.h b/swad_exam.h index 8ea27527..6819cf5a 100644 --- a/swad_exam.h +++ b/swad_exam.h @@ -52,7 +52,7 @@ void Exa_ShowOnlyOneExamEnd (void); void Exa_SetCurrentExaCod (long ExaCod); void Exa_PutPars (void *Exams); -void Exa_GetPars (struct Exa_Exams *Exams,bool CheckExaCod); +void Exa_GetPars (struct Exa_Exams *Exams,Exa_CheckExaCod_t CheckExaCod); void Exa_GetListExams (struct Exa_Exams *Exams,Exa_Order_t SelectedOrder); void Exa_GetListSelectedExaCods (struct Exa_Exams *Exams); diff --git a/swad_exam_resource.c b/swad_exam_resource.c index 2a3718b1..2a1c8019 100644 --- a/swad_exam_resource.c +++ b/swad_exam_resource.c @@ -49,7 +49,7 @@ void ExaRsc_GetLinkToExam (void) Exa_ResetExams (&Exams); /***** Get parameters *****/ - Exa_GetPars (&Exams,false); + Exa_GetPars (&Exams,Exa_DONT_CHECK_EXA_COD); /***** Get exam title *****/ ExaRsc_GetTitleFromExaCod (Exams.Exam.ExaCod,Title,sizeof (Title) - 1); diff --git a/swad_exam_result.c b/swad_exam_result.c index 13ec5441..fd73902d 100644 --- a/swad_exam_result.c +++ b/swad_exam_result.c @@ -195,7 +195,7 @@ void ExaRes_ShowMyResultsInExa (void) ExaSes_ResetSession (&Session); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); /***** Get exam data from database *****/ Exa_GetExamDataByCod (&Exams.Exam); @@ -243,7 +243,7 @@ void ExaRes_ShowMyResultsInSes (void) ExaSes_ResetSession (&Session); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Session.SesCod = ParCod_GetAndCheckPar (ParCod_Ses); Exa_GetExamDataByCod (&Exams.Exam); ExaSes_GetSessionDataByCod (&Session); @@ -389,7 +389,7 @@ void ExaRes_ShowAllResultsInExa (void) ExaSes_ResetSession (&Session); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Exa_GetExamDataByCod (&Exams.Exam); /***** Exam begin *****/ @@ -457,7 +457,7 @@ void ExaRes_ShowAllResultsInSes (void) ExaSes_ResetSession (&Session); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Session.SesCod = ParCod_GetAndCheckPar (ParCod_Ses); /***** Get exam data and session *****/ diff --git a/swad_exam_session.c b/swad_exam_session.c index 4611ebfb..2dcc59e2 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -939,7 +939,7 @@ void ExaSes_GetAndCheckPars (struct Exa_Exams *Exams, struct ExaSes_Session *Session) { /***** Get parameters *****/ - Exa_GetPars (Exams,true); + Exa_GetPars (Exams,Exa_CHECK_EXA_COD); Grp_GetParWhichGroups (); Session->SesCod = ParCod_GetAndCheckPar (ParCod_Ses); @@ -1121,7 +1121,7 @@ void ExaSes_ReqCreatOrEditSes (void) ExaSes_ResetSession (&Session); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Grp_GetParWhichGroups (); Session.SesCod = ParCod_GetPar (ParCod_Ses); ItsANewSession = (Session.SesCod <= 0); @@ -1167,7 +1167,7 @@ void ExaSes_ReceiveFormSession (void) ExaSes_ResetSession (&Session); /***** Get main parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Grp_GetParWhichGroups (); Session.SesCod = ParCod_GetPar (ParCod_Ses); ItsANewSession = (Session.SesCod <= 0); diff --git a/swad_exam_set.c b/swad_exam_set.c index 672ecf3a..f70e0108 100644 --- a/swad_exam_set.c +++ b/swad_exam_set.c @@ -255,7 +255,7 @@ void ExaSet_ReceiveFormSet (void) ExaSet_ResetSet (&Set); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Set.ExaCod = Exams.Exam.ExaCod; /***** Get exam data from database *****/ @@ -452,7 +452,7 @@ void ExaSet_ReqCreatOrEditSet (void) ExaSet_ResetSet (&Set); /***** Get parameters *****/ - Exa_GetPars (&Exams,true); + Exa_GetPars (&Exams,Exa_CHECK_EXA_COD); Exams.SetCod = Set.SetCod = ParCod_GetPar (ParCod_Set); ItsANewSet = (Set.SetCod <= 0); @@ -1627,7 +1627,7 @@ static void ExaSet_GetAndCheckPars (struct Exa_Exams *Exams, struct ExaSet_Set *Set) { /***** Get parameters *****/ - Exa_GetPars (Exams,true); + Exa_GetPars (Exams,Exa_CHECK_EXA_COD); Grp_GetParWhichGroups (); Set->SetCod = ParCod_GetAndCheckPar (ParCod_Set); diff --git a/swad_exam_type.h b/swad_exam_type.h index 541f401b..92cd2c61 100644 --- a/swad_exam_type.h +++ b/swad_exam_type.h @@ -56,6 +56,12 @@ typedef enum } Exa_Order_t; #define Exa_ORDER_DEFAULT Exa_ORDER_BY_START_DATE +typedef enum + { + Exa_DONT_CHECK_EXA_COD, + Exa_CHECK_EXA_COD, + } Exa_CheckExaCod_t; + struct Exa_ExamSelected { long ExaCod; // Exam code diff --git a/swad_help_URL.c b/swad_help_URL.c index 32472377..00452611 100644 --- a/swad_help_URL.c +++ b/swad_help_URL.c @@ -1032,6 +1032,29 @@ const char *Hlp_COURSE_Program_edit_item = "COURSE.Program.en#edit-item"; #endif +const char *Hlp_COURSE_Program_resource_clipboard = +#if L==1 + "COURSE.Program.en#resource-clipboard"; +#elif L==2 + "COURSE.Program.en#resource-clipboard"; +#elif L==3 + "COURSE.Program.en#resource-clipboard"; +#elif L==4 + "COURSE.Program.es#portapapeles-de-recursos"; +#elif L==5 + "COURSE.Program.en#resource-clipboard"; +#elif L==6 + "COURSE.Program.es#portapapeles-de-recursos"; +#elif L==7 + "COURSE.Program.en#resource-clipboard"; +#elif L==8 + "COURSE.Program.en#resource-clipboard"; +#elif L==9 + "COURSE.Program.en#resource-clipboard"; +#elif L==10 // tr + "COURSE.Program.en#resource-clipboard"; +#endif + const char *Hlp_COURSE_Guide = #if L==1 "COURSE.Guide.es"; @@ -2116,6 +2139,29 @@ const char *Hlp_ASSESSMENT_Rubrics_criteria = "ASSESSMENT.Rubrics.en#criteria"; #endif +const char *Hlp_ASSESSMENT_Rubrics_resource_clipboard = +#if L==1 + "ASSESSMENT.Rubrics.es#resource-clipboard"; +#elif L==2 + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#elif L==3 + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#elif L==4 + "ASSESSMENT.Rubrics.es#portapapeles-de-recursos"; +#elif L==5 + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#elif L==6 + "ASSESSMENT.Rubrics.es#portapapeles-de-recursos"; +#elif L==7 + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#elif L==8 + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#elif L==9 + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#elif L==10 // tr + "ASSESSMENT.Rubrics.en#resource-clipboard"; +#endif + /***** FILES tab *****/ const char *Hlp_FILES_Documents = diff --git a/swad_program_resource.c b/swad_program_resource.c index 640e66bb..5a835cf6 100644 --- a/swad_program_resource.c +++ b/swad_program_resource.c @@ -854,12 +854,12 @@ void PrgRsc_ViewResourceClipboard (void) static void PrgRsc_ShowClipboard (void) { - extern const char *Hlp_COURSE_Program; + extern const char *Hlp_COURSE_Program_resource_clipboard; extern const char *Txt_Resource_clipboard; Box_BoxBegin (NULL,Txt_Resource_clipboard, PrgRsc_PutIconsClipboard,NULL, - Hlp_COURSE_Program,Box_CLOSABLE); + Hlp_COURSE_Program_resource_clipboard,Box_CLOSABLE); Rsc_ShowClipboard (); Box_BoxEnd (); } diff --git a/swad_project_resource.c b/swad_project_resource.c index 84f6835b..2a320411 100644 --- a/swad_project_resource.c +++ b/swad_project_resource.c @@ -51,7 +51,7 @@ void PrjRsc_GetLinkToProject (void) /***** Get parameters *****/ Prj_GetPars (&Projects); - Projects.Prj.PrjCod = ParCod_GetAndCheckPar (ParCod_Prj); + Projects.Prj.PrjCod = ParCod_GetPar (ParCod_Prj); /***** Get project title *****/ PrjRsc_GetTitleFromPrjCod (Projects.Prj.PrjCod,Title,sizeof (Title) - 1); diff --git a/swad_rubric_resource.c b/swad_rubric_resource.c index 4b5a84d9..36c69ef9 100644 --- a/swad_rubric_resource.c +++ b/swad_rubric_resource.c @@ -157,12 +157,12 @@ void RubRsc_ViewResourceClipboard (void) static void RubRsc_ShowClipboard (void) { - extern const char *Hlp_ASSESSMENT_Rubrics; + extern const char *Hlp_ASSESSMENT_Rubrics_resource_clipboard; extern const char *Txt_Resource_clipboard; Box_BoxBegin (NULL,Txt_Resource_clipboard, RubRsc_PutIconsClipboard,NULL, - Hlp_ASSESSMENT_Rubrics,Box_CLOSABLE); + Hlp_ASSESSMENT_Rubrics_resource_clipboard,Box_CLOSABLE); Rsc_ShowClipboard (); Box_BoxEnd (); } diff --git a/swad_survey_resource.c b/swad_survey_resource.c index cffeffd0..940a7ef7 100644 --- a/swad_survey_resource.c +++ b/swad_survey_resource.c @@ -49,7 +49,7 @@ void SvyRsc_GetLinkToSurvey (void) Svy_ResetSurveys (&Surveys); /***** Get survey code *****/ - Surveys.Svy.SvyCod = ParCod_GetAndCheckPar (ParCod_Svy); + Surveys.Svy.SvyCod = ParCod_GetPar (ParCod_Svy); /***** Get survey title *****/ SvyRsc_GetTitleFromSvyCod (Surveys.Svy.SvyCod,Title,sizeof (Title) - 1); diff --git a/swad_text_action.c b/swad_text_action.c index 65720552..16cff800 100644 --- a/swad_text_action.c +++ b/swad_text_action.c @@ -11817,25 +11817,25 @@ const char *Txt_Actions[ActLst_NUM_ACTIONS] = , [ActSeeExa] = #if L==1 // ca - "See exams" // Necessita traducció + "Veure examen" #elif L==2 // de - "See exams" // Need Übersetzung + "Siehe Prüfung" #elif L==3 // en - "See exams" + "See exam" #elif L==4 // es - "Ver exámenes" + "Ver examen" #elif L==5 // fr - "See exams" // Besoin de traduction + "Voir examen" #elif L==6 // gn - "Ver exámenes" // Okoteve traducción + "Ehecha examen" #elif L==7 // it - "See exams" // Bisogno di traduzione + "Vedi esame" #elif L==8 // pl - "See exams" // Potrzebujesz tlumaczenie + "Zobacz egzamin" #elif L==9 // pt - "See exams" // Precisa de tradução + "Ver exame" #elif L==10 // tr - "See exams" // Çeviri lazim! + "Sınava bakın" #endif , [ActFrmNewExa] =