From e57ed8f6c367802bd5db0fa7b291af5a751f64b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Mon, 3 Jul 2017 23:41:00 +0200 Subject: [PATCH] Version 16.248 --- Makefile | 2 +- swad_action.c | 6 +- swad_action.h | 141 ++++++++++++++++++++++++----------------------- swad_changelog.h | 3 +- swad_menu.c | 4 +- swad_text.c | 48 ++++++++++++++-- 6 files changed, 125 insertions(+), 79 deletions(-) diff --git a/Makefile b/Makefile index 1ccea3d97..3d1f9dff3 100644 --- a/Makefile +++ b/Makefile @@ -47,7 +47,7 @@ OBJS = swad_account.o swad_action.o swad_agenda.o swad_alert.o \ swad_place.o swad_plugin.o swad_preference.o swad_privacy.o \ swad_profile.o \ swad_QR.o \ - swad_record.o swad_report.o swad_role.o swad_RSS.o \ + swad_record.o swad_remote_control.o swad_report.o swad_role.o swad_RSS.o \ swad_scope.o swad_search.o swad_session.o swad_setup.o swad_social.o \ swad_statistic.o swad_string.o swad_survey.o swad_syllabus.o \ swad_tab.o swad_table.o swad_test.o swad_test_import.o swad_theme.o swad_timetable.o \ diff --git a/swad_action.c b/swad_action.c index fcf8563ae..0a5c98035 100644 --- a/swad_action.c +++ b/swad_action.c @@ -65,6 +65,7 @@ #include "swad_privacy.h" #include "swad_profile.h" #include "swad_QR.h" +#include "swad_remote_control.h" #include "swad_report.h" #include "swad_role.h" #include "swad_search.h" @@ -425,6 +426,7 @@ Assessment: 289. ActSeeAsg Show assignments 290. ActReqTst Request a test of self-assesment 291. ActSeeAllSvy List all surveys in pages + NEW. ActRmtCtl Remote control 292. ActSeeAllExaAnn Show the exam announcements 293. ActEdiAss Edit the assessment system @@ -1878,7 +1880,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActSeeAsg */{ 801, 1,TabAss,ActSeeAsg ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_SeeAssignments ,"desk64x64.gif" }, /* ActReqTst */{ 103, 2,TabAss,ActReqTst ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Tst_ShowFormAskTst ,"test64x64.gif" }, /* ActSeeAllSvy */{ 966, 3,TabAss,ActSeeAllSvy ,0x3F8,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Svy_SeeAllSurveys ,"survey64x64.gif" }, - /* ActSeeAllExaAnn */{ 85, 4,TabAss,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ListExamAnnouncementsSee ,"announce64x64.gif" }, + /* ActRmtCtl */{1649, 4,TabAss,ActRmtCtl ,0x200,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Rmt_RemoteControl ,"remote64x64.png" }, + /* ActSeeAllExaAnn */{ 85, 5,TabAss,ActSeeAllExaAnn ,0x3F8,0x3C7, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ListExamAnnouncementsSee ,"announce64x64.gif" }, // Actions not in menu: /* ActEdiAss */{ 69,-1,TabUnk,ActSeeAss ,0x220,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Inf_FormsToSelSendInfo ,NULL}, @@ -4653,6 +4656,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un ActUpdNET, // #1646 ActRemNETCrs, // #1647 ActChgCtrPlcCfg, // #1648 + ActRmtCtl, // #1649 }; /*****************************************************************************/ diff --git a/swad_action.h b/swad_action.h index a33fa6272..99d0a738c 100644 --- a/swad_action.h +++ b/swad_action.h @@ -57,9 +57,9 @@ typedef enum typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 33 + 24 + 115 + 72 + 416 + 165 + 172 + 42 + 14 + 97) +#define Act_NUM_ACTIONS (1 + 9 + 43 + 17 + 47 + 33 + 24 + 115 + 73 + 416 + 165 + 172 + 42 + 14 + 97) -#define Act_MAX_ACTION_COD 1648 +#define Act_MAX_ACTION_COD 1649 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12 @@ -435,81 +435,82 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to #define ActSeeAsg (ActChgCalCrs1stDay + 2) #define ActReqTst (ActChgCalCrs1stDay + 3) #define ActSeeAllSvy (ActChgCalCrs1stDay + 4) -#define ActSeeAllExaAnn (ActChgCalCrs1stDay + 5) +#define ActRmtCtl (ActChgCalCrs1stDay + 5) +#define ActSeeAllExaAnn (ActChgCalCrs1stDay + 6) // Secondary actions -#define ActEdiAss (ActChgCalCrs1stDay + 6) -#define ActChgFrcReaAss (ActChgCalCrs1stDay + 7) -#define ActChgHavReaAss (ActChgCalCrs1stDay + 8) -#define ActSelInfSrcAss (ActChgCalCrs1stDay + 9) -#define ActRcvURLAss (ActChgCalCrs1stDay + 10) -#define ActRcvPagAss (ActChgCalCrs1stDay + 11) -#define ActEditorAss (ActChgCalCrs1stDay + 12) -#define ActPlaTxtEdiAss (ActChgCalCrs1stDay + 13) -#define ActRchTxtEdiAss (ActChgCalCrs1stDay + 14) -#define ActRcvPlaTxtAss (ActChgCalCrs1stDay + 15) -#define ActRcvRchTxtAss (ActChgCalCrs1stDay + 16) +#define ActEdiAss (ActChgCalCrs1stDay + 7) +#define ActChgFrcReaAss (ActChgCalCrs1stDay + 8) +#define ActChgHavReaAss (ActChgCalCrs1stDay + 9) +#define ActSelInfSrcAss (ActChgCalCrs1stDay + 10) +#define ActRcvURLAss (ActChgCalCrs1stDay + 11) +#define ActRcvPagAss (ActChgCalCrs1stDay + 12) +#define ActEditorAss (ActChgCalCrs1stDay + 13) +#define ActPlaTxtEdiAss (ActChgCalCrs1stDay + 14) +#define ActRchTxtEdiAss (ActChgCalCrs1stDay + 15) +#define ActRcvPlaTxtAss (ActChgCalCrs1stDay + 16) +#define ActRcvRchTxtAss (ActChgCalCrs1stDay + 17) -#define ActFrmNewAsg (ActChgCalCrs1stDay + 17) -#define ActEdiOneAsg (ActChgCalCrs1stDay + 18) -#define ActPrnOneAsg (ActChgCalCrs1stDay + 19) -#define ActNewAsg (ActChgCalCrs1stDay + 20) -#define ActChgAsg (ActChgCalCrs1stDay + 21) -#define ActReqRemAsg (ActChgCalCrs1stDay + 22) -#define ActRemAsg (ActChgCalCrs1stDay + 23) -#define ActHidAsg (ActChgCalCrs1stDay + 24) -#define ActShoAsg (ActChgCalCrs1stDay + 25) +#define ActFrmNewAsg (ActChgCalCrs1stDay + 18) +#define ActEdiOneAsg (ActChgCalCrs1stDay + 19) +#define ActPrnOneAsg (ActChgCalCrs1stDay + 20) +#define ActNewAsg (ActChgCalCrs1stDay + 21) +#define ActChgAsg (ActChgCalCrs1stDay + 22) +#define ActReqRemAsg (ActChgCalCrs1stDay + 23) +#define ActRemAsg (ActChgCalCrs1stDay + 24) +#define ActHidAsg (ActChgCalCrs1stDay + 25) +#define ActShoAsg (ActChgCalCrs1stDay + 26) -#define ActSeeTst (ActChgCalCrs1stDay + 26) -#define ActAssTst (ActChgCalCrs1stDay + 27) -#define ActEdiTstQst (ActChgCalCrs1stDay + 28) -#define ActEdiOneTstQst (ActChgCalCrs1stDay + 29) -#define ActReqImpTstQst (ActChgCalCrs1stDay + 30) -#define ActImpTstQst (ActChgCalCrs1stDay + 31) -#define ActLstTstQst (ActChgCalCrs1stDay + 32) -#define ActRcvTstQst (ActChgCalCrs1stDay + 33) -#define ActReqRemTstQst (ActChgCalCrs1stDay + 34) -#define ActRemTstQst (ActChgCalCrs1stDay + 35) -#define ActShfTstQst (ActChgCalCrs1stDay + 36) -#define ActCfgTst (ActChgCalCrs1stDay + 37) -#define ActEnableTag (ActChgCalCrs1stDay + 38) -#define ActDisableTag (ActChgCalCrs1stDay + 39) -#define ActRenTag (ActChgCalCrs1stDay + 40) -#define ActRcvCfgTst (ActChgCalCrs1stDay + 41) +#define ActSeeTst (ActChgCalCrs1stDay + 27) +#define ActAssTst (ActChgCalCrs1stDay + 28) +#define ActEdiTstQst (ActChgCalCrs1stDay + 29) +#define ActEdiOneTstQst (ActChgCalCrs1stDay + 30) +#define ActReqImpTstQst (ActChgCalCrs1stDay + 31) +#define ActImpTstQst (ActChgCalCrs1stDay + 32) +#define ActLstTstQst (ActChgCalCrs1stDay + 33) +#define ActRcvTstQst (ActChgCalCrs1stDay + 34) +#define ActReqRemTstQst (ActChgCalCrs1stDay + 35) +#define ActRemTstQst (ActChgCalCrs1stDay + 36) +#define ActShfTstQst (ActChgCalCrs1stDay + 37) +#define ActCfgTst (ActChgCalCrs1stDay + 38) +#define ActEnableTag (ActChgCalCrs1stDay + 39) +#define ActDisableTag (ActChgCalCrs1stDay + 40) +#define ActRenTag (ActChgCalCrs1stDay + 41) +#define ActRcvCfgTst (ActChgCalCrs1stDay + 42) -#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 42) -#define ActSeeMyTstRes (ActChgCalCrs1stDay + 43) -#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 44) -#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 45) -#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 46) -#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 47) +#define ActReqSeeMyTstRes (ActChgCalCrs1stDay + 43) +#define ActSeeMyTstRes (ActChgCalCrs1stDay + 44) +#define ActSeeOneTstResMe (ActChgCalCrs1stDay + 45) +#define ActReqSeeUsrTstRes (ActChgCalCrs1stDay + 46) +#define ActSeeUsrTstRes (ActChgCalCrs1stDay + 47) +#define ActSeeOneTstResOth (ActChgCalCrs1stDay + 48) -#define ActSeeOneSvy (ActChgCalCrs1stDay + 48) -#define ActAnsSvy (ActChgCalCrs1stDay + 49) -#define ActFrmNewSvy (ActChgCalCrs1stDay + 50) -#define ActEdiOneSvy (ActChgCalCrs1stDay + 51) -#define ActNewSvy (ActChgCalCrs1stDay + 52) -#define ActChgSvy (ActChgCalCrs1stDay + 53) -#define ActReqRemSvy (ActChgCalCrs1stDay + 54) -#define ActRemSvy (ActChgCalCrs1stDay + 55) -#define ActReqRstSvy (ActChgCalCrs1stDay + 56) -#define ActRstSvy (ActChgCalCrs1stDay + 57) -#define ActHidSvy (ActChgCalCrs1stDay + 58) -#define ActShoSvy (ActChgCalCrs1stDay + 59) -#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 60) -#define ActRcvSvyQst (ActChgCalCrs1stDay + 61) -#define ActReqRemSvyQst (ActChgCalCrs1stDay + 62) -#define ActRemSvyQst (ActChgCalCrs1stDay + 63) +#define ActSeeOneSvy (ActChgCalCrs1stDay + 49) +#define ActAnsSvy (ActChgCalCrs1stDay + 50) +#define ActFrmNewSvy (ActChgCalCrs1stDay + 51) +#define ActEdiOneSvy (ActChgCalCrs1stDay + 52) +#define ActNewSvy (ActChgCalCrs1stDay + 53) +#define ActChgSvy (ActChgCalCrs1stDay + 54) +#define ActReqRemSvy (ActChgCalCrs1stDay + 55) +#define ActRemSvy (ActChgCalCrs1stDay + 56) +#define ActReqRstSvy (ActChgCalCrs1stDay + 57) +#define ActRstSvy (ActChgCalCrs1stDay + 58) +#define ActHidSvy (ActChgCalCrs1stDay + 59) +#define ActShoSvy (ActChgCalCrs1stDay + 60) +#define ActEdiOneSvyQst (ActChgCalCrs1stDay + 61) +#define ActRcvSvyQst (ActChgCalCrs1stDay + 62) +#define ActReqRemSvyQst (ActChgCalCrs1stDay + 63) +#define ActRemSvyQst (ActChgCalCrs1stDay + 64) -#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 64) -#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 65) -#define ActEdiExaAnn (ActChgCalCrs1stDay + 66) -#define ActRcvExaAnn (ActChgCalCrs1stDay + 67) -#define ActPrnExaAnn (ActChgCalCrs1stDay + 68) -#define ActReqRemExaAnn (ActChgCalCrs1stDay + 69) -#define ActRemExaAnn (ActChgCalCrs1stDay + 70) -#define ActHidExaAnn (ActChgCalCrs1stDay + 71) -#define ActShoExaAnn (ActChgCalCrs1stDay + 72) +#define ActSeeOneExaAnn (ActChgCalCrs1stDay + 65) +#define ActSeeDatExaAnn (ActChgCalCrs1stDay + 66) +#define ActEdiExaAnn (ActChgCalCrs1stDay + 67) +#define ActRcvExaAnn (ActChgCalCrs1stDay + 68) +#define ActPrnExaAnn (ActChgCalCrs1stDay + 69) +#define ActReqRemExaAnn (ActChgCalCrs1stDay + 70) +#define ActRemExaAnn (ActChgCalCrs1stDay + 71) +#define ActHidExaAnn (ActChgCalCrs1stDay + 72) +#define ActShoExaAnn (ActChgCalCrs1stDay + 73) /*****************************************************************************/ /******************************** Files tab **********************************/ diff --git a/swad_changelog.h b/swad_changelog.h index d4bb3479f..b2a99847b 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -236,13 +236,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.247.6 (2017-07-02)" +#define Log_PLATFORM_VERSION "SWAD 16.248 (2017-07-03)" #define CSS_FILE "swad16.235.1.css" #define JS_FILE "swad16.206.3.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.248: Jul 03, 2017 New option to emulate a remote control. (222272 lines) Version 16.247.6: Jul 02, 2017 Fixed bug in user's enrolment. (222151 lines) Version 16.247.5: Jul 02, 2017 Fixed error in layout when searching for courses. (222138 lines) Version 16.247.4: Jul 02, 2017 Fixed bug in surveys. (222138 lines) diff --git a/swad_menu.c b/swad_menu.c index dfdf692e3..f76694369 100644 --- a/swad_menu.c +++ b/swad_menu.c @@ -180,8 +180,8 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB ActSeeAsg, // 1 ActReqTst, // 2 ActSeeAllSvy, // 3 - ActSeeAllExaAnn, // 4 - 0, // 5 + ActRmtCtl, // 4 + ActSeeAllExaAnn, // 5 0, // 6 0, // 7 0, // 8 diff --git a/swad_text.c b/swad_text.c index 72c4d6b04..0214f0da0 100644 --- a/swad_text.c +++ b/swad_text.c @@ -18876,7 +18876,28 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Inquéritos" #endif , - // 4: ActSeeAllExaAnn + // 4: ActRmtCtl +#if L==1 + "Comandament" +#elif L==2 + "Fernsteuerung" +#elif L==3 + "Remote" +#elif L==4 + "Mando" +#elif L==5 + "Télécommande" +#elif L==6 + "Mando" // Okoteve traducción +#elif L==7 + "Telecomando" +#elif L==8 + "Pilot" +#elif L==9 + "Remoto" +#endif + , + // 5: ActSeeAllExaAnn #if L==1 "Convocatòries" #elif L==2 @@ -18897,7 +18918,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Chamadas" #endif , - NULL, // 5 NULL, // 6 NULL, // 7 NULL, // 8 @@ -20801,7 +20821,28 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Inquéritos" #endif , - // 4: ActSeeAllExaAnn + // 4: ActRmtCtl +#if L==1 + "Comandament" +#elif L==2 + "Fernsteuerung" +#elif L==3 + "Remote" +#elif L==4 + "Mando" +#elif L==5 + "Télécommande" +#elif L==6 + "Mando" // Okoteve traducción +#elif L==7 + "Telecomando" +#elif L==8 + "Pilot" +#elif L==9 + "Remoto" +#endif + , + // 5: ActSeeAllExaAnn #if L==1 "Llistat de convocatòries d'exàmens d'aquesta assignatura" #elif L==2 @@ -20822,7 +20863,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] = "Chamadas para exames" #endif , - NULL, // 5 NULL, // 6 NULL, // 7 NULL, // 8