diff --git a/Makefile b/Makefile index a3a0101b..0fc91a7a 100644 --- a/Makefile +++ b/Makefile @@ -37,7 +37,7 @@ OBJS = swad_account.o swad_action.o swad_agenda.o swad_announcement.o \ swad_file.o swad_file_browser.o swad_follow.o swad_forum.o \ swad_global.o swad_group.o \ swad_help.o swad_holiday.o \ - swad_icon.o swad_ID.o swad_image.o swad_import.o swad_indicator.o \ + swad_icon.o swad_ID.o swad_image.o swad_indicator.o \ swad_info.o swad_institution.o \ swad_layout.o swad_link.o swad_logo.o \ swad_mail.o swad_main.o swad_mark.o swad_menu.o swad_message.o \ diff --git a/sql/swad.sql b/sql/swad.sql index 30f0c59a..902d35b8 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -575,41 +575,6 @@ CREATE TABLE IF NOT EXISTS holidays ( INDEX(InsCod), INDEX(PlcCod)); -- --- Table imported_groups: stores the external groups in a course imported from an external service --- -CREATE TABLE IF NOT EXISTS imported_groups ( - GrpCod INT NOT NULL AUTO_INCREMENT, - SessionId CHAR(43) NOT NULL, - ExternalCrsCod CHAR(7) NOT NULL, - DegName VARCHAR(127) NOT NULL, - CrsName VARCHAR(127) NOT NULL, - GrpName VARCHAR(255) NOT NULL, - GrpType VARCHAR(255) NOT NULL, - UNIQUE INDEX(GrpCod), - INDEX(SessionId)); --- --- Table imported_sessions: stores the session data from external service --- -CREATE TABLE IF NOT EXISTS imported_sessions ( - SessionId CHAR(43) NOT NULL, - UsrCod INT NOT NULL, - ImportedUsrId CHAR(255) NOT NULL, - ImportedSessionId CHAR(255) NOT NULL, - ImportedRole TINYINT NOT NULL DEFAULT 0, - UNIQUE INDEX(SessionId)); --- --- Table imported_students: stores the data of students imported from external service --- -CREATE TABLE IF NOT EXISTS imported_students ( - GrpCod INT NOT NULL AUTO_INCREMENT, - UsrID CHAR(16) NOT NULL, - Surname1 VARCHAR(32) NOT NULL, - Surname2 VARCHAR(32) NOT NULL, - FirstName VARCHAR(32) NOT NULL, - Sex ENUM('unknown','female','male') NOT NULL DEFAULT 'unknown', - E_mail VARCHAR(127) NOT NULL, - INDEX(GrpCod)); --- -- Table institutions: stores the institutions (for example, universities) -- CREATE TABLE IF NOT EXISTS institutions ( diff --git a/swad_action.c b/swad_action.c index 7dd6ddb1..6c78923c 100644 --- a/swad_action.c +++ b/swad_action.c @@ -918,8 +918,6 @@ Users: 760. ActRenGrp Request renaming of a group of students 761. ActChgMaxStdGrp Request change in the number máximo of students of a group - 762. ActGetExtLstStd Get external lists of students - 763. ActLstGst List main data of administrators 764. ActPrnGstPho Show the class photo of guests ready to be printed @@ -1329,7 +1327,6 @@ Profile: 1138. ActAutUsrInt Authentify user internally (directly from the platform) NEW. ActAutUsrNew Authentify user internally (directly from the platform, only if user has not password) - 1139. ActAutUsrExt Authentify user externally (remotely from an external site) 1140. ActAutUsrChgLan Change language to my language just after authentication 1141. ActAnnSee Mark announcement as seen 1142. ActChgMyRol Change type of logged user @@ -2306,8 +2303,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActRenGrp */{ 121,-1,TabUsr,ActReqSelGrp ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Grp_RenameGroup ,NULL}, /* ActChgMaxStdGrp */{ 106,-1,TabUsr,ActReqSelGrp ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Grp_ChangeMaxStdsGrp ,NULL}, - /* ActGetExtLstStd */{ 796,-1,TabUsr,ActLstStd ,0x110,0x110,0x110,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Imp_ListMyImpGrpsAndStdsNoForm ,NULL}, - /* ActLstGst */{ 587,-1,TabUsr,ActLstOth ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_SeeGuests ,NULL}, /* ActPrnGstPho */{1190,-1,TabUsr,ActLstStd ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Usr_SeeGstClassPhotoPrn ,NULL}, @@ -2762,7 +2757,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActAutUsrInt */{ 6,-1,TabPrf,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, /* ActAutUsrNew */{1585,-1,TabPrf,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, - /* ActAutUsrExt */{ 794,-1,TabPrf,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, /* ActAutUsrChgLan */{1077,-1,TabPrf,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, /* ActAnnSee */{1234,-1,TabPrf,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ann_MarkAnnouncementAsSeen ,NULL}, /* ActChgMyRol */{ 589,-1,TabPrf,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Rol_ChangeMyRole ,Usr_ShowFormsLogoutAndRole ,NULL}, @@ -3647,9 +3641,9 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq ActRcvURLTchGui, // #791 ActAdmAsgWrkUsr, // #792 -1, // #793 (obsolete action) - ActAutUsrExt, // #794 + -1, // #794 (obsolete action) -1, // #795 (obsolete action) - ActGetExtLstStd, // #796 + -1, // #796 (obsolete action) -1, // #797 (obsolete action) -1, // #798 (obsolete action) -1, // #799 (obsolete action) diff --git a/swad_action.h b/swad_action.h index 9a069194..15340890 100644 --- a/swad_action.h +++ b/swad_action.h @@ -72,7 +72,7 @@ typedef enum typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+246+186+156+172+36+30+87) +#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+246+186+155+172+36+30+86) #define Act_MAX_ACTION_COD 1586 @@ -951,154 +951,152 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica #define ActRenGrp (ActChgNumRowFooGrp+ 26) #define ActChgMaxStdGrp (ActChgNumRowFooGrp+ 27) -#define ActGetExtLstStd (ActChgNumRowFooGrp+ 28) +#define ActLstGst (ActChgNumRowFooGrp+ 28) -#define ActLstGst (ActChgNumRowFooGrp+ 29) +#define ActPrnGstPho (ActChgNumRowFooGrp+ 29) +#define ActPrnStdPho (ActChgNumRowFooGrp+ 30) +#define ActPrnTchPho (ActChgNumRowFooGrp+ 31) +#define ActLstGstAll (ActChgNumRowFooGrp+ 32) +#define ActLstStdAll (ActChgNumRowFooGrp+ 33) +#define ActLstTchAll (ActChgNumRowFooGrp+ 34) -#define ActPrnGstPho (ActChgNumRowFooGrp+ 30) -#define ActPrnStdPho (ActChgNumRowFooGrp+ 31) -#define ActPrnTchPho (ActChgNumRowFooGrp+ 32) -#define ActLstGstAll (ActChgNumRowFooGrp+ 33) -#define ActLstStdAll (ActChgNumRowFooGrp+ 34) -#define ActLstTchAll (ActChgNumRowFooGrp+ 35) +#define ActSeeRecOneStd (ActChgNumRowFooGrp+ 35) +#define ActSeeRecOneTch (ActChgNumRowFooGrp+ 36) +#define ActSeeRecSevGst (ActChgNumRowFooGrp+ 37) +#define ActSeeRecSevStd (ActChgNumRowFooGrp+ 38) +#define ActSeeRecSevTch (ActChgNumRowFooGrp+ 39) +#define ActPrnRecSevGst (ActChgNumRowFooGrp+ 40) +#define ActPrnRecSevStd (ActChgNumRowFooGrp+ 41) +#define ActPrnRecSevTch (ActChgNumRowFooGrp+ 42) +#define ActRcvRecOthUsr (ActChgNumRowFooGrp+ 43) +#define ActEdiRecFie (ActChgNumRowFooGrp+ 44) +#define ActNewFie (ActChgNumRowFooGrp+ 45) +#define ActReqRemFie (ActChgNumRowFooGrp+ 46) +#define ActRemFie (ActChgNumRowFooGrp+ 47) +#define ActRenFie (ActChgNumRowFooGrp+ 48) +#define ActChgRowFie (ActChgNumRowFooGrp+ 49) +#define ActChgVisFie (ActChgNumRowFooGrp+ 50) +#define ActRcvRecCrs (ActChgNumRowFooGrp+ 51) -#define ActSeeRecOneStd (ActChgNumRowFooGrp+ 36) -#define ActSeeRecOneTch (ActChgNumRowFooGrp+ 37) -#define ActSeeRecSevGst (ActChgNumRowFooGrp+ 38) -#define ActSeeRecSevStd (ActChgNumRowFooGrp+ 39) -#define ActSeeRecSevTch (ActChgNumRowFooGrp+ 40) -#define ActPrnRecSevGst (ActChgNumRowFooGrp+ 41) -#define ActPrnRecSevStd (ActChgNumRowFooGrp+ 42) -#define ActPrnRecSevTch (ActChgNumRowFooGrp+ 43) -#define ActRcvRecOthUsr (ActChgNumRowFooGrp+ 44) -#define ActEdiRecFie (ActChgNumRowFooGrp+ 45) -#define ActNewFie (ActChgNumRowFooGrp+ 46) -#define ActReqRemFie (ActChgNumRowFooGrp+ 47) -#define ActRemFie (ActChgNumRowFooGrp+ 48) -#define ActRenFie (ActChgNumRowFooGrp+ 49) -#define ActChgRowFie (ActChgNumRowFooGrp+ 50) -#define ActChgVisFie (ActChgNumRowFooGrp+ 51) -#define ActRcvRecCrs (ActChgNumRowFooGrp+ 52) +#define ActReqEnrSevStd (ActChgNumRowFooGrp+ 52) +#define ActReqEnrSevTch (ActChgNumRowFooGrp+ 53) -#define ActReqEnrSevStd (ActChgNumRowFooGrp+ 53) -#define ActReqEnrSevTch (ActChgNumRowFooGrp+ 54) +#define ActReqLstStdAtt (ActChgNumRowFooGrp+ 54) +#define ActSeeLstMyAtt (ActChgNumRowFooGrp+ 55) +#define ActPrnLstMyAtt (ActChgNumRowFooGrp+ 56) +#define ActSeeLstStdAtt (ActChgNumRowFooGrp+ 57) +#define ActPrnLstStdAtt (ActChgNumRowFooGrp+ 58) +#define ActFrmNewAtt (ActChgNumRowFooGrp+ 59) +#define ActEdiOneAtt (ActChgNumRowFooGrp+ 60) +#define ActNewAtt (ActChgNumRowFooGrp+ 61) +#define ActChgAtt (ActChgNumRowFooGrp+ 62) +#define ActReqRemAtt (ActChgNumRowFooGrp+ 63) +#define ActRemAtt (ActChgNumRowFooGrp+ 64) +#define ActHidAtt (ActChgNumRowFooGrp+ 65) +#define ActShoAtt (ActChgNumRowFooGrp+ 66) +#define ActSeeOneAtt (ActChgNumRowFooGrp+ 67) +#define ActRecAttStd (ActChgNumRowFooGrp+ 68) +#define ActRecAttMe (ActChgNumRowFooGrp+ 69) -#define ActReqLstStdAtt (ActChgNumRowFooGrp+ 55) -#define ActSeeLstMyAtt (ActChgNumRowFooGrp+ 56) -#define ActPrnLstMyAtt (ActChgNumRowFooGrp+ 57) -#define ActSeeLstStdAtt (ActChgNumRowFooGrp+ 58) -#define ActPrnLstStdAtt (ActChgNumRowFooGrp+ 59) -#define ActFrmNewAtt (ActChgNumRowFooGrp+ 60) -#define ActEdiOneAtt (ActChgNumRowFooGrp+ 61) -#define ActNewAtt (ActChgNumRowFooGrp+ 62) -#define ActChgAtt (ActChgNumRowFooGrp+ 63) -#define ActReqRemAtt (ActChgNumRowFooGrp+ 64) -#define ActRemAtt (ActChgNumRowFooGrp+ 65) -#define ActHidAtt (ActChgNumRowFooGrp+ 66) -#define ActShoAtt (ActChgNumRowFooGrp+ 67) -#define ActSeeOneAtt (ActChgNumRowFooGrp+ 68) -#define ActRecAttStd (ActChgNumRowFooGrp+ 69) -#define ActRecAttMe (ActChgNumRowFooGrp+ 70) +#define ActSignUp (ActChgNumRowFooGrp+ 70) +#define ActUpdSignUpReq (ActChgNumRowFooGrp+ 71) +#define ActReqRejSignUp (ActChgNumRowFooGrp+ 72) +#define ActRejSignUp (ActChgNumRowFooGrp+ 73) -#define ActSignUp (ActChgNumRowFooGrp+ 71) -#define ActUpdSignUpReq (ActChgNumRowFooGrp+ 72) -#define ActReqRejSignUp (ActChgNumRowFooGrp+ 73) -#define ActRejSignUp (ActChgNumRowFooGrp+ 74) +#define ActReqMdfOneOth (ActChgNumRowFooGrp+ 74) +#define ActReqMdfOneStd (ActChgNumRowFooGrp+ 75) +#define ActReqMdfOneTch (ActChgNumRowFooGrp+ 76) -#define ActReqMdfOneOth (ActChgNumRowFooGrp+ 75) -#define ActReqMdfOneStd (ActChgNumRowFooGrp+ 76) -#define ActReqMdfOneTch (ActChgNumRowFooGrp+ 77) +#define ActReqMdfOth (ActChgNumRowFooGrp+ 77) +#define ActReqMdfStd (ActChgNumRowFooGrp+ 78) +#define ActReqMdfTch (ActChgNumRowFooGrp+ 79) -#define ActReqMdfOth (ActChgNumRowFooGrp+ 78) -#define ActReqMdfStd (ActChgNumRowFooGrp+ 79) -#define ActReqMdfTch (ActChgNumRowFooGrp+ 80) +#define ActReqOthPho (ActChgNumRowFooGrp+ 80) +#define ActReqStdPho (ActChgNumRowFooGrp+ 81) +#define ActReqTchPho (ActChgNumRowFooGrp+ 82) +#define ActDetOthPho (ActChgNumRowFooGrp+ 83) +#define ActDetStdPho (ActChgNumRowFooGrp+ 84) +#define ActDetTchPho (ActChgNumRowFooGrp+ 85) +#define ActUpdOthPho (ActChgNumRowFooGrp+ 86) +#define ActUpdStdPho (ActChgNumRowFooGrp+ 87) +#define ActUpdTchPho (ActChgNumRowFooGrp+ 88) +#define ActReqRemOthPho (ActChgNumRowFooGrp+ 89) +#define ActReqRemStdPho (ActChgNumRowFooGrp+ 90) +#define ActReqRemTchPho (ActChgNumRowFooGrp+ 91) +#define ActRemOthPho (ActChgNumRowFooGrp+ 92) +#define ActRemStdPho (ActChgNumRowFooGrp+ 93) +#define ActRemTchPho (ActChgNumRowFooGrp+ 94) +#define ActCreOth (ActChgNumRowFooGrp+ 95) +#define ActCreStd (ActChgNumRowFooGrp+ 96) +#define ActCreTch (ActChgNumRowFooGrp+ 97) +#define ActUpdOth (ActChgNumRowFooGrp+ 98) +#define ActUpdStd (ActChgNumRowFooGrp+ 99) +#define ActUpdTch (ActChgNumRowFooGrp+100) -#define ActReqOthPho (ActChgNumRowFooGrp+ 81) -#define ActReqStdPho (ActChgNumRowFooGrp+ 82) -#define ActReqTchPho (ActChgNumRowFooGrp+ 83) -#define ActDetOthPho (ActChgNumRowFooGrp+ 84) -#define ActDetStdPho (ActChgNumRowFooGrp+ 85) -#define ActDetTchPho (ActChgNumRowFooGrp+ 86) -#define ActUpdOthPho (ActChgNumRowFooGrp+ 87) -#define ActUpdStdPho (ActChgNumRowFooGrp+ 88) -#define ActUpdTchPho (ActChgNumRowFooGrp+ 89) -#define ActReqRemOthPho (ActChgNumRowFooGrp+ 90) -#define ActReqRemStdPho (ActChgNumRowFooGrp+ 91) -#define ActReqRemTchPho (ActChgNumRowFooGrp+ 92) -#define ActRemOthPho (ActChgNumRowFooGrp+ 93) -#define ActRemStdPho (ActChgNumRowFooGrp+ 94) -#define ActRemTchPho (ActChgNumRowFooGrp+ 95) -#define ActCreOth (ActChgNumRowFooGrp+ 96) -#define ActCreStd (ActChgNumRowFooGrp+ 97) -#define ActCreTch (ActChgNumRowFooGrp+ 98) -#define ActUpdOth (ActChgNumRowFooGrp+ 99) -#define ActUpdStd (ActChgNumRowFooGrp+100) -#define ActUpdTch (ActChgNumRowFooGrp+101) +#define ActReqAccEnrStd (ActChgNumRowFooGrp+101) +#define ActReqAccEnrTch (ActChgNumRowFooGrp+102) +#define ActAccEnrStd (ActChgNumRowFooGrp+103) +#define ActAccEnrTch (ActChgNumRowFooGrp+104) +#define ActRemMe_Std (ActChgNumRowFooGrp+105) +#define ActRemMe_Tch (ActChgNumRowFooGrp+106) -#define ActReqAccEnrStd (ActChgNumRowFooGrp+102) -#define ActReqAccEnrTch (ActChgNumRowFooGrp+103) -#define ActAccEnrStd (ActChgNumRowFooGrp+104) -#define ActAccEnrTch (ActChgNumRowFooGrp+105) -#define ActRemMe_Std (ActChgNumRowFooGrp+106) -#define ActRemMe_Tch (ActChgNumRowFooGrp+107) +#define ActNewAdmIns (ActChgNumRowFooGrp+107) +#define ActRemAdmIns (ActChgNumRowFooGrp+108) +#define ActNewAdmCtr (ActChgNumRowFooGrp+109) +#define ActRemAdmCtr (ActChgNumRowFooGrp+110) +#define ActNewAdmDeg (ActChgNumRowFooGrp+111) +#define ActRemAdmDeg (ActChgNumRowFooGrp+112) -#define ActNewAdmIns (ActChgNumRowFooGrp+108) -#define ActRemAdmIns (ActChgNumRowFooGrp+109) -#define ActNewAdmCtr (ActChgNumRowFooGrp+110) -#define ActRemAdmCtr (ActChgNumRowFooGrp+111) -#define ActNewAdmDeg (ActChgNumRowFooGrp+112) -#define ActRemAdmDeg (ActChgNumRowFooGrp+113) +#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp+113) +#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp+114) -#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp+114) -#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp+115) +#define ActReqCnfID_Oth (ActChgNumRowFooGrp+115) +#define ActReqCnfID_Std (ActChgNumRowFooGrp+116) +#define ActReqCnfID_Tch (ActChgNumRowFooGrp+117) +#define ActCnfID_Oth (ActChgNumRowFooGrp+118) +#define ActCnfID_Std (ActChgNumRowFooGrp+119) +#define ActCnfID_Tch (ActChgNumRowFooGrp+120) -#define ActReqCnfID_Oth (ActChgNumRowFooGrp+116) -#define ActReqCnfID_Std (ActChgNumRowFooGrp+117) -#define ActReqCnfID_Tch (ActChgNumRowFooGrp+118) -#define ActCnfID_Oth (ActChgNumRowFooGrp+119) -#define ActCnfID_Std (ActChgNumRowFooGrp+120) -#define ActCnfID_Tch (ActChgNumRowFooGrp+121) +#define ActFrmIDsOth (ActChgNumRowFooGrp+121) +#define ActFrmIDsStd (ActChgNumRowFooGrp+122) +#define ActFrmIDsTch (ActChgNumRowFooGrp+123) +#define ActRemID_Oth (ActChgNumRowFooGrp+124) +#define ActRemID_Std (ActChgNumRowFooGrp+125) +#define ActRemID_Tch (ActChgNumRowFooGrp+126) +#define ActNewID_Oth (ActChgNumRowFooGrp+127) +#define ActNewID_Std (ActChgNumRowFooGrp+128) +#define ActNewID_Tch (ActChgNumRowFooGrp+129) +#define ActFrmPwdOth (ActChgNumRowFooGrp+130) +#define ActFrmPwdStd (ActChgNumRowFooGrp+131) +#define ActFrmPwdTch (ActChgNumRowFooGrp+132) +#define ActChgPwdOth (ActChgNumRowFooGrp+133) +#define ActChgPwdStd (ActChgNumRowFooGrp+134) +#define ActChgPwdTch (ActChgNumRowFooGrp+135) +#define ActFrmMaiOth (ActChgNumRowFooGrp+136) +#define ActFrmMaiStd (ActChgNumRowFooGrp+137) +#define ActFrmMaiTch (ActChgNumRowFooGrp+138) +#define ActRemMaiOth (ActChgNumRowFooGrp+139) +#define ActRemMaiStd (ActChgNumRowFooGrp+140) +#define ActRemMaiTch (ActChgNumRowFooGrp+141) +#define ActNewMaiOth (ActChgNumRowFooGrp+142) +#define ActNewMaiStd (ActChgNumRowFooGrp+143) +#define ActNewMaiTch (ActChgNumRowFooGrp+144) -#define ActFrmIDsOth (ActChgNumRowFooGrp+122) -#define ActFrmIDsStd (ActChgNumRowFooGrp+123) -#define ActFrmIDsTch (ActChgNumRowFooGrp+124) -#define ActRemID_Oth (ActChgNumRowFooGrp+125) -#define ActRemID_Std (ActChgNumRowFooGrp+126) -#define ActRemID_Tch (ActChgNumRowFooGrp+127) -#define ActNewID_Oth (ActChgNumRowFooGrp+128) -#define ActNewID_Std (ActChgNumRowFooGrp+129) -#define ActNewID_Tch (ActChgNumRowFooGrp+130) -#define ActFrmPwdOth (ActChgNumRowFooGrp+131) -#define ActFrmPwdStd (ActChgNumRowFooGrp+132) -#define ActFrmPwdTch (ActChgNumRowFooGrp+133) -#define ActChgPwdOth (ActChgNumRowFooGrp+134) -#define ActChgPwdStd (ActChgNumRowFooGrp+135) -#define ActChgPwdTch (ActChgNumRowFooGrp+136) -#define ActFrmMaiOth (ActChgNumRowFooGrp+137) -#define ActFrmMaiStd (ActChgNumRowFooGrp+138) -#define ActFrmMaiTch (ActChgNumRowFooGrp+139) -#define ActRemMaiOth (ActChgNumRowFooGrp+140) -#define ActRemMaiStd (ActChgNumRowFooGrp+141) -#define ActRemMaiTch (ActChgNumRowFooGrp+142) -#define ActNewMaiOth (ActChgNumRowFooGrp+143) -#define ActNewMaiStd (ActChgNumRowFooGrp+144) -#define ActNewMaiTch (ActChgNumRowFooGrp+145) +#define ActRemStdCrs (ActChgNumRowFooGrp+145) +#define ActRemTchCrs (ActChgNumRowFooGrp+146) +#define ActRemUsrGbl (ActChgNumRowFooGrp+147) -#define ActRemStdCrs (ActChgNumRowFooGrp+146) -#define ActRemTchCrs (ActChgNumRowFooGrp+147) -#define ActRemUsrGbl (ActChgNumRowFooGrp+148) +#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+148) +#define ActRemAllStdCrs (ActChgNumRowFooGrp+149) -#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+149) -#define ActRemAllStdCrs (ActChgNumRowFooGrp+150) +#define ActReqRemOldUsr (ActChgNumRowFooGrp+150) +#define ActRemOldUsr (ActChgNumRowFooGrp+151) -#define ActReqRemOldUsr (ActChgNumRowFooGrp+151) -#define ActRemOldUsr (ActChgNumRowFooGrp+152) +#define ActLstDupUsr (ActChgNumRowFooGrp+152) +#define ActLstSimUsr (ActChgNumRowFooGrp+153) +#define ActRemDupUsr (ActChgNumRowFooGrp+154) -#define ActLstDupUsr (ActChgNumRowFooGrp+153) -#define ActLstSimUsr (ActChgNumRowFooGrp+154) -#define ActRemDupUsr (ActChgNumRowFooGrp+155) - -#define ActLstClk (ActChgNumRowFooGrp+156) +#define ActLstClk (ActChgNumRowFooGrp+155) /*****************************************************************************/ /******************************** Social tab *********************************/ @@ -1385,88 +1383,87 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica #define ActLogOut (ActSeeMyUsgRep+13) #define ActAutUsrInt (ActSeeMyUsgRep+14) #define ActAutUsrNew (ActSeeMyUsgRep+15) -#define ActAutUsrExt (ActSeeMyUsgRep+16) -#define ActAutUsrChgLan (ActSeeMyUsgRep+17) -#define ActAnnSee (ActSeeMyUsgRep+18) -#define ActChgMyRol (ActSeeMyUsgRep+19) -#define ActChkUsrAcc (ActSeeMyUsgRep+20) -#define ActCreUsrAcc (ActSeeMyUsgRep+21) -#define ActRemID_Me (ActSeeMyUsgRep+22) -#define ActNewIDMe (ActSeeMyUsgRep+23) -#define ActRemOldNic (ActSeeMyUsgRep+24) -#define ActChgNic (ActSeeMyUsgRep+25) -#define ActRemMaiMe (ActSeeMyUsgRep+26) -#define ActNewMaiMe (ActSeeMyUsgRep+27) -#define ActCnfMai (ActSeeMyUsgRep+28) -#define ActFrmChgMyPwd (ActSeeMyUsgRep+29) -#define ActChgPwd (ActSeeMyUsgRep+30) -#define ActReqRemMyAcc (ActSeeMyUsgRep+31) -#define ActRemMyAcc (ActSeeMyUsgRep+32) +#define ActAutUsrChgLan (ActSeeMyUsgRep+16) +#define ActAnnSee (ActSeeMyUsgRep+17) +#define ActChgMyRol (ActSeeMyUsgRep+18) +#define ActChkUsrAcc (ActSeeMyUsgRep+19) +#define ActCreUsrAcc (ActSeeMyUsgRep+20) +#define ActRemID_Me (ActSeeMyUsgRep+21) +#define ActNewIDMe (ActSeeMyUsgRep+22) +#define ActRemOldNic (ActSeeMyUsgRep+23) +#define ActChgNic (ActSeeMyUsgRep+24) +#define ActRemMaiMe (ActSeeMyUsgRep+25) +#define ActNewMaiMe (ActSeeMyUsgRep+26) +#define ActCnfMai (ActSeeMyUsgRep+27) +#define ActFrmChgMyPwd (ActSeeMyUsgRep+28) +#define ActChgPwd (ActSeeMyUsgRep+29) +#define ActReqRemMyAcc (ActSeeMyUsgRep+30) +#define ActRemMyAcc (ActSeeMyUsgRep+31) -#define ActChgMyData (ActSeeMyUsgRep+33) +#define ActChgMyData (ActSeeMyUsgRep+32) -#define ActReqMyPho (ActSeeMyUsgRep+34) -#define ActDetMyPho (ActSeeMyUsgRep+35) -#define ActUpdMyPho (ActSeeMyUsgRep+36) -#define ActReqRemMyPho (ActSeeMyUsgRep+37) -#define ActRemMyPho (ActSeeMyUsgRep+38) +#define ActReqMyPho (ActSeeMyUsgRep+33) +#define ActDetMyPho (ActSeeMyUsgRep+34) +#define ActUpdMyPho (ActSeeMyUsgRep+35) +#define ActReqRemMyPho (ActSeeMyUsgRep+36) +#define ActRemMyPho (ActSeeMyUsgRep+37) -#define ActEdiPri (ActSeeMyUsgRep+39) -#define ActChgPriPho (ActSeeMyUsgRep+40) -#define ActChgPriPrf (ActSeeMyUsgRep+41) +#define ActEdiPri (ActSeeMyUsgRep+38) +#define ActChgPriPho (ActSeeMyUsgRep+39) +#define ActChgPriPrf (ActSeeMyUsgRep+40) -#define ActReqEdiMyIns (ActSeeMyUsgRep+42) -#define ActChgCtyMyIns (ActSeeMyUsgRep+43) -#define ActChgMyIns (ActSeeMyUsgRep+44) -#define ActChgMyCtr (ActSeeMyUsgRep+45) -#define ActChgMyDpt (ActSeeMyUsgRep+46) -#define ActChgMyOff (ActSeeMyUsgRep+47) -#define ActChgMyOffPho (ActSeeMyUsgRep+48) +#define ActReqEdiMyIns (ActSeeMyUsgRep+41) +#define ActChgCtyMyIns (ActSeeMyUsgRep+42) +#define ActChgMyIns (ActSeeMyUsgRep+43) +#define ActChgMyCtr (ActSeeMyUsgRep+44) +#define ActChgMyDpt (ActSeeMyUsgRep+45) +#define ActChgMyOff (ActSeeMyUsgRep+46) +#define ActChgMyOffPho (ActSeeMyUsgRep+47) -#define ActReqEdiMyNet (ActSeeMyUsgRep+49) -#define ActChgMyNet (ActSeeMyUsgRep+50) +#define ActReqEdiMyNet (ActSeeMyUsgRep+48) +#define ActChgMyNet (ActSeeMyUsgRep+49) -#define ActChgThe (ActSeeMyUsgRep+51) -#define ActReqChgLan (ActSeeMyUsgRep+52) -#define ActChgLan (ActSeeMyUsgRep+53) -#define ActChg1stDay (ActSeeMyUsgRep+54) -#define ActChgCol (ActSeeMyUsgRep+55) -#define ActHidLftCol (ActSeeMyUsgRep+56) -#define ActHidRgtCol (ActSeeMyUsgRep+57) -#define ActShoLftCol (ActSeeMyUsgRep+58) -#define ActShoRgtCol (ActSeeMyUsgRep+59) -#define ActChgIco (ActSeeMyUsgRep+60) -#define ActChgMnu (ActSeeMyUsgRep+61) -#define ActChgNtfPrf (ActSeeMyUsgRep+62) +#define ActChgThe (ActSeeMyUsgRep+50) +#define ActReqChgLan (ActSeeMyUsgRep+51) +#define ActChgLan (ActSeeMyUsgRep+52) +#define ActChg1stDay (ActSeeMyUsgRep+53) +#define ActChgCol (ActSeeMyUsgRep+54) +#define ActHidLftCol (ActSeeMyUsgRep+55) +#define ActHidRgtCol (ActSeeMyUsgRep+56) +#define ActShoLftCol (ActSeeMyUsgRep+57) +#define ActShoRgtCol (ActSeeMyUsgRep+58) +#define ActChgIco (ActSeeMyUsgRep+59) +#define ActChgMnu (ActSeeMyUsgRep+60) +#define ActChgNtfPrf (ActSeeMyUsgRep+61) -#define ActPrnUsrQR (ActSeeMyUsgRep+63) +#define ActPrnUsrQR (ActSeeMyUsgRep+62) -#define ActPrnMyTT (ActSeeMyUsgRep+64) -#define ActEdiTut (ActSeeMyUsgRep+65) -#define ActChgTut (ActSeeMyUsgRep+66) -#define ActChgMyTT1stDay (ActSeeMyUsgRep+67) +#define ActPrnMyTT (ActSeeMyUsgRep+63) +#define ActEdiTut (ActSeeMyUsgRep+64) +#define ActChgTut (ActSeeMyUsgRep+65) +#define ActChgMyTT1stDay (ActSeeMyUsgRep+66) -#define ActReqRemFilBrf (ActSeeMyUsgRep+68) -#define ActRemFilBrf (ActSeeMyUsgRep+69) -#define ActRemFolBrf (ActSeeMyUsgRep+70) -#define ActCopBrf (ActSeeMyUsgRep+71) -#define ActPasBrf (ActSeeMyUsgRep+72) -#define ActRemTreBrf (ActSeeMyUsgRep+73) -#define ActFrmCreBrf (ActSeeMyUsgRep+74) -#define ActCreFolBrf (ActSeeMyUsgRep+75) -#define ActCreLnkBrf (ActSeeMyUsgRep+76) -#define ActRenFolBrf (ActSeeMyUsgRep+77) -#define ActRcvFilBrfDZ (ActSeeMyUsgRep+78) -#define ActRcvFilBrfCla (ActSeeMyUsgRep+79) -#define ActExpBrf (ActSeeMyUsgRep+80) -#define ActConBrf (ActSeeMyUsgRep+81) -#define ActZIPBrf (ActSeeMyUsgRep+82) -#define ActReqDatBrf (ActSeeMyUsgRep+83) -#define ActChgDatBrf (ActSeeMyUsgRep+84) -#define ActDowBrf (ActSeeMyUsgRep+85) +#define ActReqRemFilBrf (ActSeeMyUsgRep+67) +#define ActRemFilBrf (ActSeeMyUsgRep+68) +#define ActRemFolBrf (ActSeeMyUsgRep+69) +#define ActCopBrf (ActSeeMyUsgRep+70) +#define ActPasBrf (ActSeeMyUsgRep+71) +#define ActRemTreBrf (ActSeeMyUsgRep+72) +#define ActFrmCreBrf (ActSeeMyUsgRep+73) +#define ActCreFolBrf (ActSeeMyUsgRep+74) +#define ActCreLnkBrf (ActSeeMyUsgRep+75) +#define ActRenFolBrf (ActSeeMyUsgRep+76) +#define ActRcvFilBrfDZ (ActSeeMyUsgRep+77) +#define ActRcvFilBrfCla (ActSeeMyUsgRep+78) +#define ActExpBrf (ActSeeMyUsgRep+79) +#define ActConBrf (ActSeeMyUsgRep+80) +#define ActZIPBrf (ActSeeMyUsgRep+81) +#define ActReqDatBrf (ActSeeMyUsgRep+82) +#define ActChgDatBrf (ActSeeMyUsgRep+83) +#define ActDowBrf (ActSeeMyUsgRep+84) -#define ActReqRemOldBrf (ActSeeMyUsgRep+86) -#define ActRemOldBrf (ActSeeMyUsgRep+87) +#define ActReqRemOldBrf (ActSeeMyUsgRep+85) +#define ActRemOldBrf (ActSeeMyUsgRep+86) /*****************************************************************************/ /******************************** Public types *******************************/ diff --git a/swad_changelog.h b/swad_changelog.h index ec78866b..a2ea737d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -148,14 +148,21 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.17.17 (2016-10-09)" +#define Log_PLATFORM_VERSION "SWAD 16.18 (2016-10-09)" #define CSS_FILE "swad15.229.css" #define JS_FILE "swad15.238.1.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.17.17: Oct 09, 2016 Fixed bug in user's usage report. (? lines) + Version 16.18: Oct 09, 2016 Removed external authentication (previously used at University of Granada). (205092 lines) + 4 changes necessary in database: +DROP TABLE IF EXISTS imported_groups; +DROP TABLE IF EXISTS imported_sessions; +DROP TABLE IF EXISTS imported_students; +UPDATE actions SET Obsolete='Y' WHERE ActCod IN ('794','796'); + + Version 16.17.17: Oct 09, 2016 Fixed bug in user's usage report. (206245 lines) Version 16.17.16: Oct 09, 2016 Code refactoring in user's usage report. (206236 lines) Version 16.17.15: Oct 09, 2016 Code refactoring in user's usage report. (206236 lines) Version 16.17.14: Oct 09, 2016 Code refactoring in user's usage report. (206268 lines) diff --git a/swad_config.h b/swad_config.h index 03577f07..f53c3407 100644 --- a/swad_config.h +++ b/swad_config.h @@ -28,8 +28,8 @@ /** Uncomment one of the following installations of SWAD or create your own **/ /*****************************************************************************/ -//#define LOCALHOST_UBUNTU // Comment this line if not applicable -#define OPENSWAD_ORG // Comment this line if not applicable +#define LOCALHOST_UBUNTU // Comment this line if not applicable +//#define OPENSWAD_ORG // Comment this line if not applicable //#define SWAD_UGR_ES // Comment this line if not applicable //#define SWADBERRY_UGR_ES // Comment this line if not applicable @@ -83,14 +83,6 @@ #define Cfg_DEFAULT_COLUMNS Lay_SHOW_BOTH_COLUMNS -#define Cfg_EXTERNAL_LOGIN_CLIENT_COMMAND "" // Client of the web service called by this CGI -#define Cfg_EXTERNAL_LOGIN_SERVICE_NAME "" -#define Cfg_EXTERNAL_LOGIN_URL "" -#define Cfg_NAME_PARAM_IMPORTED_USR_ID "" -#define Cfg_NAME_PARAM_IMPORTED_SESSION_ID "" -#define Cfg_MAX_LENGTH_IMPORTED_USR_ID 255 // The same size as that of column ImportedUsrId in table imported_sessions -#define Cfg_MAX_LENGTH_IMPORTED_SESSION_ID 255 // The same size as that of column ImportedSessionId in table imported_sessions - #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t)(30UL*60UL)) // After these seconds after first pending notification, all the pending notifications are sent by e-mail #define Cfg_GOOGLE_ANALYTICS "" @@ -132,14 +124,6 @@ #define Cfg_DEFAULT_COLUMNS Lay_SHOW_BOTH_COLUMNS -#define Cfg_EXTERNAL_LOGIN_CLIENT_COMMAND "" // Client of the web service called by this CGI -#define Cfg_EXTERNAL_LOGIN_SERVICE_NAME "" -#define Cfg_EXTERNAL_LOGIN_URL "" -#define Cfg_NAME_PARAM_IMPORTED_USR_ID "" -#define Cfg_NAME_PARAM_IMPORTED_SESSION_ID "" -#define Cfg_MAX_LENGTH_IMPORTED_USR_ID 255 // The same size as that of column ImportedUsrId in table imported_sessions -#define Cfg_MAX_LENGTH_IMPORTED_SESSION_ID 255 // The same size as that of column ImportedSessionId in table imported_sessions - #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t)(30UL*60UL)) // After these seconds after first pending notification, all the pending notifications are sent by e-mail /* Google Analytics without cookies. @@ -198,22 +182,6 @@ #define Cfg_DEFAULT_COLUMNS Lay_SHOW_BOTH_COLUMNS -#define Cfg_EXTERNAL_LOGIN_CLIENT_COMMAND "" // Client of the web service called by this CGI -#define Cfg_EXTERNAL_LOGIN_SERVICE_NAME "" -#define Cfg_EXTERNAL_LOGIN_URL "" -#define Cfg_NAME_PARAM_IMPORTED_USR_ID "" -#define Cfg_NAME_PARAM_IMPORTED_SESSION_ID "" -#define Cfg_MAX_LENGTH_IMPORTED_USR_ID 255 // The same size as that of column ImportedUsrId in table imported_sessions -#define Cfg_MAX_LENGTH_IMPORTED_SESSION_ID 255 // The same size as that of column ImportedSessionId in table imported_sessions -/* -#define Cfg_EXTERNAL_LOGIN_CLIENT_COMMAND "./prado" // Client of the web service called by this CGI -#define Cfg_EXTERNAL_LOGIN_SERVICE_NAME "PRADO (Plataforma de Recursos de Apoyo a la Docencia)" -#define Cfg_EXTERNAL_LOGIN_URL "https://oficinavirtual.ugr.es/" -#define Cfg_NAME_PARAM_IMPORTED_USR_ID "pradouser" -#define Cfg_NAME_PARAM_IMPORTED_SESSION_ID "pradosession" -#define Cfg_MAX_LENGTH_IMPORTED_USR_ID 255 // The same size as that of column ImportedUsrId in table imported_sessions -#define Cfg_MAX_LENGTH_IMPORTED_SESSION_ID 255 // The same size as that of column ImportedSessionId in table imported_sessions -*/ #define Cfg_TIME_TO_SEND_PENDING_NOTIF ((time_t)(60UL*60UL)) // After these seconds after first pending notification, all the pending notifications are sent by e-mail #define Cfg_GOOGLE_ANALYTICS "