Version 16.87

This commit is contained in:
Antonio Cañas Vargas 2016-12-05 13:26:12 +01:00
parent 26ad90468b
commit 7bc74d7a36
13 changed files with 223 additions and 174 deletions

View File

@ -299,7 +299,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
/***** Button to login with this account *****/ /***** Button to login with this account *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Act_FormStart (ActAutUsrNew); Act_FormStart (ActLogInNew);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Lay_PutCreateButtonInline (Txt_Its_me); Lay_PutCreateButtonInline (Txt_Its_me);
Act_FormEnd (); Act_FormEnd ();

View File

@ -958,6 +958,7 @@ Users:
NEW. ActFrmLogInUsrAgd Put form to log in to show another user's public agenda NEW. ActFrmLogInUsrAgd Put form to log in to show another user's public agenda
NEW. ActLogInUsrAgd Show another user's public agenda after log in NEW. ActLogInUsrAgd Show another user's public agenda after log in
NEW. ActLogInUsrAgdLan Show another user's public agenda after change language
NEW. ActSeeUsrAgd Show another user's public agenda NEW. ActSeeUsrAgd Show another user's public agenda
797. ActReqEnrSevStd Request the enrollment/removing of several users to / from current course 797. ActReqEnrSevStd Request the enrollment/removing of several users to / from current course
@ -1340,9 +1341,9 @@ Profile:
1149. ActSndNewPwd Send a new password via email 1149. ActSndNewPwd Send a new password via email
1150. ActLogOut Close session 1150. ActLogOut Close session
1151. ActAutUsrInt Authentify user internally (directly from the platform) 1151. ActLogIn Authentify user internally (directly from the platform)
1152. ActAutUsrNew Authentify user internally (directly from the platform, only if user has not password) 1152. ActLogInNew Authentify user internally (directly from the platform, only if user has not password)
1153. ActAutUsrChgLan Change language to my language just after authentication 1153. ActLogInLan Change language to my language just after authentication
1154. ActAnnSee Mark announcement as seen 1154. ActAnnSee Mark announcement as seen
1155. ActChgMyRol Change type of logged user 1155. ActChgMyRol Change type of logged user
@ -2370,6 +2371,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActFrmLogInUsrAgd */{1614,-1,TabUnk,ActLstTch ,0x001,0x001,0x001,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_PutFormLogInToShowUsrAgenda,NULL}, /* ActFrmLogInUsrAgd */{1614,-1,TabUnk,ActLstTch ,0x001,0x001,0x001,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_PutFormLogInToShowUsrAgenda,NULL},
/* ActLogInUsrAgd */{1615,-1,TabUnk,ActLstTch ,0x1FC,0x1FC,0x1FC,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowUsrAgendaAfterLogIn ,NULL}, /* ActLogInUsrAgd */{1615,-1,TabUnk,ActLstTch ,0x1FC,0x1FC,0x1FC,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowUsrAgendaAfterLogIn ,NULL},
/* ActLogInUsrAgdLan */{1616,-1,TabUnk,ActLstTch ,0x1FC,0x1FC,0x1FC,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowUsrAgendaAfterLogIn ,NULL},
/* ActSeeUsrAgd */{1611,-1,TabUnk,ActLstTch ,0x1FC,0x1FC,0x1FC,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowUsrAgenda ,NULL}, /* ActSeeUsrAgd */{1611,-1,TabUnk,ActLstTch ,0x1FC,0x1FC,0x1FC,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Agd_ShowUsrAgenda ,NULL},
/* ActReqEnrSevStd */{1426,-1,TabUnk,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminStds ,NULL}, /* ActReqEnrSevStd */{1426,-1,TabUnk,ActLstStd ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Enr_ReqAdminStds ,NULL},
@ -2795,9 +2797,9 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSndNewPwd */{ 633,-1,TabUnk,ActFrmLogIn ,0x000,0x001,0x001,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Pwd_ChkIdLoginAndSendNewPwd ,NULL}, /* ActSndNewPwd */{ 633,-1,TabUnk,ActFrmLogIn ,0x000,0x001,0x001,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Pwd_ChkIdLoginAndSendNewPwd ,NULL},
/* ActLogOut */{ 10,-1,TabUnk,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,Ses_CloseSession ,Usr_Logout ,NULL}, /* ActLogOut */{ 10,-1,TabUnk,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,Ses_CloseSession ,Usr_Logout ,NULL},
/* ActAutUsrInt */{ 6,-1,TabUnk,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, /* ActLogIn */{ 6,-1,TabUnk,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_WelcomeUsr ,NULL},
/* ActAutUsrNew */{1585,-1,TabUnk,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, /* ActLogInNew */{1585,-1,TabUnk,ActFrmRolSes ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_WelcomeUsr ,NULL},
/* ActAutUsrChgLan */{1077,-1,TabUnk,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_WelcomeUsr ,NULL}, /* ActLogInLan */{1077,-1,TabUnk,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Usr_WelcomeUsr ,NULL},
/* ActAnnSee */{1234,-1,TabUnk,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ann_MarkAnnouncementAsSeen ,NULL}, /* ActAnnSee */{1234,-1,TabUnk,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ann_MarkAnnouncementAsSeen ,NULL},
/* ActChgMyRol */{ 589,-1,TabUnk,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Rol_ChangeMyRole ,Usr_ShowFormsLogoutAndRole ,NULL}, /* ActChgMyRol */{ 589,-1,TabUnk,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Rol_ChangeMyRole ,Usr_ShowFormsLogoutAndRole ,NULL},
@ -2904,7 +2906,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActSeeRcvMsg, // #3 ActSeeRcvMsg, // #3
-1, // #4 (obsolete action) -1, // #4 (obsolete action)
-1, // #5 (obsolete action) -1, // #5 (obsolete action)
ActAutUsrInt, // #6 ActLogIn, // #6
-1, // #7 (obsolete action) -1, // #7 (obsolete action)
-1, // #8 (obsolete action) -1, // #8 (obsolete action)
ActSeeCrsLnk, // #9 ActSeeCrsLnk, // #9
@ -3975,7 +3977,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActSeeLstStdAtt, // #1074 ActSeeLstStdAtt, // #1074
ActPrnLstStdAtt, // #1075 ActPrnLstStdAtt, // #1075
ActRecAttMe, // #1076 ActRecAttMe, // #1076
ActAutUsrChgLan, // #1077 ActLogInLan, // #1077
ActSeeDocCrs, // #1078 ActSeeDocCrs, // #1078
ActSeeMrkCrs, // #1079 ActSeeMrkCrs, // #1079
ActReqSeeUsrTstRes, // #1080 ActReqSeeUsrTstRes, // #1080
@ -4486,7 +4488,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActSeeMyUsgRep, // #1582 ActSeeMyUsgRep, // #1582
-1, // #1583 (obsolete action) -1, // #1583 (obsolete action)
ActChkUsrAcc, // #1584 ActChkUsrAcc, // #1584
ActAutUsrNew, // #1585 ActLogInNew, // #1585
ActReqMyUsgRep, // #1586 ActReqMyUsgRep, // #1586
ActChgCrsDegCfg, // #1587 ActChgCrsDegCfg, // #1587
ActChgDegCtrCfg, // #1588 ActChgDegCtrCfg, // #1588
@ -4517,6 +4519,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActShoEvtMyAgd, // #1613 ActShoEvtMyAgd, // #1613
ActFrmLogInUsrAgd, // #1614 ActFrmLogInUsrAgd, // #1614
ActLogInUsrAgd, // #1615 ActLogInUsrAgd, // #1615
ActLogInUsrAgdLan, // #1616
}; };
/*****************************************************************************/ /*****************************************************************************/
@ -4884,7 +4887,7 @@ void Act_AdjustCurrentAction (void)
} }
/***** If my login password is not enough secure, the only action possible is show a form to change my password *****/ /***** If my login password is not enough secure, the only action possible is show a form to change my password *****/
if (Gbl.Action.Act == ActAutUsrInt) if (Gbl.Action.Act == ActLogIn)
if (!Pwd_FastCheckIfPasswordSeemsGood (Gbl.Usrs.Me.LoginPlainPassword)) if (!Pwd_FastCheckIfPasswordSeemsGood (Gbl.Usrs.Me.LoginPlainPassword))
{ {
Gbl.Action.Act = ActFrmChgMyPwd; Gbl.Action.Act = ActFrmChgMyPwd;
@ -4978,8 +4981,8 @@ void Act_AdjustCurrentAction (void)
case Rol_STUDENT: case Rol_STUDENT:
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActAutUsrInt: case ActLogIn:
case ActAutUsrNew: case ActLogInNew:
case ActHom: case ActHom:
case ActMnu: case ActMnu:
case ActLogOut: case ActLogOut:

View File

@ -55,9 +55,9 @@ typedef enum
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action 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+14+93+73+70+249+186+158+172+36+31+95) #define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+186+159+172+36+31+95)
#define Act_MAX_ACTION_COD 1615 #define Act_MAX_ACTION_COD 1616
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
@ -974,127 +974,128 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActFrmLogInUsrAgd (ActChgNumRowFooGrp+ 52) #define ActFrmLogInUsrAgd (ActChgNumRowFooGrp+ 52)
#define ActLogInUsrAgd (ActChgNumRowFooGrp+ 53) #define ActLogInUsrAgd (ActChgNumRowFooGrp+ 53)
#define ActSeeUsrAgd (ActChgNumRowFooGrp+ 54) #define ActLogInUsrAgdLan (ActChgNumRowFooGrp+ 54)
#define ActSeeUsrAgd (ActChgNumRowFooGrp+ 55)
#define ActReqEnrSevStd (ActChgNumRowFooGrp+ 55) #define ActReqEnrSevStd (ActChgNumRowFooGrp+ 56)
#define ActReqEnrSevTch (ActChgNumRowFooGrp+ 56) #define ActReqEnrSevTch (ActChgNumRowFooGrp+ 57)
#define ActReqLstStdAtt (ActChgNumRowFooGrp+ 57) #define ActReqLstStdAtt (ActChgNumRowFooGrp+ 58)
#define ActSeeLstMyAtt (ActChgNumRowFooGrp+ 58) #define ActSeeLstMyAtt (ActChgNumRowFooGrp+ 59)
#define ActPrnLstMyAtt (ActChgNumRowFooGrp+ 59) #define ActPrnLstMyAtt (ActChgNumRowFooGrp+ 60)
#define ActSeeLstStdAtt (ActChgNumRowFooGrp+ 60) #define ActSeeLstStdAtt (ActChgNumRowFooGrp+ 61)
#define ActPrnLstStdAtt (ActChgNumRowFooGrp+ 61) #define ActPrnLstStdAtt (ActChgNumRowFooGrp+ 62)
#define ActFrmNewAtt (ActChgNumRowFooGrp+ 62) #define ActFrmNewAtt (ActChgNumRowFooGrp+ 63)
#define ActEdiOneAtt (ActChgNumRowFooGrp+ 63) #define ActEdiOneAtt (ActChgNumRowFooGrp+ 64)
#define ActNewAtt (ActChgNumRowFooGrp+ 64) #define ActNewAtt (ActChgNumRowFooGrp+ 65)
#define ActChgAtt (ActChgNumRowFooGrp+ 65) #define ActChgAtt (ActChgNumRowFooGrp+ 66)
#define ActReqRemAtt (ActChgNumRowFooGrp+ 66) #define ActReqRemAtt (ActChgNumRowFooGrp+ 67)
#define ActRemAtt (ActChgNumRowFooGrp+ 67) #define ActRemAtt (ActChgNumRowFooGrp+ 68)
#define ActHidAtt (ActChgNumRowFooGrp+ 68) #define ActHidAtt (ActChgNumRowFooGrp+ 69)
#define ActShoAtt (ActChgNumRowFooGrp+ 69) #define ActShoAtt (ActChgNumRowFooGrp+ 70)
#define ActSeeOneAtt (ActChgNumRowFooGrp+ 70) #define ActSeeOneAtt (ActChgNumRowFooGrp+ 71)
#define ActRecAttStd (ActChgNumRowFooGrp+ 71) #define ActRecAttStd (ActChgNumRowFooGrp+ 72)
#define ActRecAttMe (ActChgNumRowFooGrp+ 72) #define ActRecAttMe (ActChgNumRowFooGrp+ 73)
#define ActSignUp (ActChgNumRowFooGrp+ 73) #define ActSignUp (ActChgNumRowFooGrp+ 74)
#define ActUpdSignUpReq (ActChgNumRowFooGrp+ 74) #define ActUpdSignUpReq (ActChgNumRowFooGrp+ 75)
#define ActReqRejSignUp (ActChgNumRowFooGrp+ 75) #define ActReqRejSignUp (ActChgNumRowFooGrp+ 76)
#define ActRejSignUp (ActChgNumRowFooGrp+ 76) #define ActRejSignUp (ActChgNumRowFooGrp+ 77)
#define ActReqMdfOneOth (ActChgNumRowFooGrp+ 77) #define ActReqMdfOneOth (ActChgNumRowFooGrp+ 78)
#define ActReqMdfOneStd (ActChgNumRowFooGrp+ 78) #define ActReqMdfOneStd (ActChgNumRowFooGrp+ 79)
#define ActReqMdfOneTch (ActChgNumRowFooGrp+ 79) #define ActReqMdfOneTch (ActChgNumRowFooGrp+ 80)
#define ActReqMdfOth (ActChgNumRowFooGrp+ 80) #define ActReqMdfOth (ActChgNumRowFooGrp+ 81)
#define ActReqMdfStd (ActChgNumRowFooGrp+ 81) #define ActReqMdfStd (ActChgNumRowFooGrp+ 82)
#define ActReqMdfTch (ActChgNumRowFooGrp+ 82) #define ActReqMdfTch (ActChgNumRowFooGrp+ 83)
#define ActReqOthPho (ActChgNumRowFooGrp+ 83) #define ActReqOthPho (ActChgNumRowFooGrp+ 84)
#define ActReqStdPho (ActChgNumRowFooGrp+ 84) #define ActReqStdPho (ActChgNumRowFooGrp+ 85)
#define ActReqTchPho (ActChgNumRowFooGrp+ 85) #define ActReqTchPho (ActChgNumRowFooGrp+ 86)
#define ActDetOthPho (ActChgNumRowFooGrp+ 86) #define ActDetOthPho (ActChgNumRowFooGrp+ 87)
#define ActDetStdPho (ActChgNumRowFooGrp+ 87) #define ActDetStdPho (ActChgNumRowFooGrp+ 88)
#define ActDetTchPho (ActChgNumRowFooGrp+ 88) #define ActDetTchPho (ActChgNumRowFooGrp+ 89)
#define ActUpdOthPho (ActChgNumRowFooGrp+ 89) #define ActUpdOthPho (ActChgNumRowFooGrp+ 90)
#define ActUpdStdPho (ActChgNumRowFooGrp+ 90) #define ActUpdStdPho (ActChgNumRowFooGrp+ 91)
#define ActUpdTchPho (ActChgNumRowFooGrp+ 91) #define ActUpdTchPho (ActChgNumRowFooGrp+ 92)
#define ActReqRemOthPho (ActChgNumRowFooGrp+ 92) #define ActReqRemOthPho (ActChgNumRowFooGrp+ 93)
#define ActReqRemStdPho (ActChgNumRowFooGrp+ 93) #define ActReqRemStdPho (ActChgNumRowFooGrp+ 94)
#define ActReqRemTchPho (ActChgNumRowFooGrp+ 94) #define ActReqRemTchPho (ActChgNumRowFooGrp+ 95)
#define ActRemOthPho (ActChgNumRowFooGrp+ 95) #define ActRemOthPho (ActChgNumRowFooGrp+ 96)
#define ActRemStdPho (ActChgNumRowFooGrp+ 96) #define ActRemStdPho (ActChgNumRowFooGrp+ 97)
#define ActRemTchPho (ActChgNumRowFooGrp+ 97) #define ActRemTchPho (ActChgNumRowFooGrp+ 98)
#define ActCreOth (ActChgNumRowFooGrp+ 98) #define ActCreOth (ActChgNumRowFooGrp+ 99)
#define ActCreStd (ActChgNumRowFooGrp+ 99) #define ActCreStd (ActChgNumRowFooGrp+100)
#define ActCreTch (ActChgNumRowFooGrp+100) #define ActCreTch (ActChgNumRowFooGrp+101)
#define ActUpdOth (ActChgNumRowFooGrp+101) #define ActUpdOth (ActChgNumRowFooGrp+102)
#define ActUpdStd (ActChgNumRowFooGrp+102) #define ActUpdStd (ActChgNumRowFooGrp+103)
#define ActUpdTch (ActChgNumRowFooGrp+103) #define ActUpdTch (ActChgNumRowFooGrp+104)
#define ActReqAccEnrStd (ActChgNumRowFooGrp+104) #define ActReqAccEnrStd (ActChgNumRowFooGrp+105)
#define ActReqAccEnrTch (ActChgNumRowFooGrp+105) #define ActReqAccEnrTch (ActChgNumRowFooGrp+106)
#define ActAccEnrStd (ActChgNumRowFooGrp+106) #define ActAccEnrStd (ActChgNumRowFooGrp+107)
#define ActAccEnrTch (ActChgNumRowFooGrp+107) #define ActAccEnrTch (ActChgNumRowFooGrp+108)
#define ActRemMe_Std (ActChgNumRowFooGrp+108) #define ActRemMe_Std (ActChgNumRowFooGrp+109)
#define ActRemMe_Tch (ActChgNumRowFooGrp+109) #define ActRemMe_Tch (ActChgNumRowFooGrp+110)
#define ActNewAdmIns (ActChgNumRowFooGrp+110) #define ActNewAdmIns (ActChgNumRowFooGrp+111)
#define ActRemAdmIns (ActChgNumRowFooGrp+111) #define ActRemAdmIns (ActChgNumRowFooGrp+112)
#define ActNewAdmCtr (ActChgNumRowFooGrp+112) #define ActNewAdmCtr (ActChgNumRowFooGrp+113)
#define ActRemAdmCtr (ActChgNumRowFooGrp+113) #define ActRemAdmCtr (ActChgNumRowFooGrp+114)
#define ActNewAdmDeg (ActChgNumRowFooGrp+114) #define ActNewAdmDeg (ActChgNumRowFooGrp+115)
#define ActRemAdmDeg (ActChgNumRowFooGrp+115) #define ActRemAdmDeg (ActChgNumRowFooGrp+116)
#define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp+116) #define ActRcvFrmEnrSevStd (ActChgNumRowFooGrp+117)
#define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp+117) #define ActRcvFrmEnrSevTch (ActChgNumRowFooGrp+118)
#define ActReqCnfID_Oth (ActChgNumRowFooGrp+118) #define ActReqCnfID_Oth (ActChgNumRowFooGrp+119)
#define ActReqCnfID_Std (ActChgNumRowFooGrp+119) #define ActReqCnfID_Std (ActChgNumRowFooGrp+120)
#define ActReqCnfID_Tch (ActChgNumRowFooGrp+120) #define ActReqCnfID_Tch (ActChgNumRowFooGrp+121)
#define ActCnfID_Oth (ActChgNumRowFooGrp+121) #define ActCnfID_Oth (ActChgNumRowFooGrp+122)
#define ActCnfID_Std (ActChgNumRowFooGrp+122) #define ActCnfID_Std (ActChgNumRowFooGrp+123)
#define ActCnfID_Tch (ActChgNumRowFooGrp+123) #define ActCnfID_Tch (ActChgNumRowFooGrp+124)
#define ActFrmIDsOth (ActChgNumRowFooGrp+124) #define ActFrmIDsOth (ActChgNumRowFooGrp+125)
#define ActFrmIDsStd (ActChgNumRowFooGrp+125) #define ActFrmIDsStd (ActChgNumRowFooGrp+126)
#define ActFrmIDsTch (ActChgNumRowFooGrp+126) #define ActFrmIDsTch (ActChgNumRowFooGrp+127)
#define ActRemID_Oth (ActChgNumRowFooGrp+127) #define ActRemID_Oth (ActChgNumRowFooGrp+128)
#define ActRemID_Std (ActChgNumRowFooGrp+128) #define ActRemID_Std (ActChgNumRowFooGrp+129)
#define ActRemID_Tch (ActChgNumRowFooGrp+129) #define ActRemID_Tch (ActChgNumRowFooGrp+130)
#define ActNewID_Oth (ActChgNumRowFooGrp+130) #define ActNewID_Oth (ActChgNumRowFooGrp+131)
#define ActNewID_Std (ActChgNumRowFooGrp+131) #define ActNewID_Std (ActChgNumRowFooGrp+132)
#define ActNewID_Tch (ActChgNumRowFooGrp+132) #define ActNewID_Tch (ActChgNumRowFooGrp+133)
#define ActFrmPwdOth (ActChgNumRowFooGrp+133) #define ActFrmPwdOth (ActChgNumRowFooGrp+134)
#define ActFrmPwdStd (ActChgNumRowFooGrp+134) #define ActFrmPwdStd (ActChgNumRowFooGrp+135)
#define ActFrmPwdTch (ActChgNumRowFooGrp+135) #define ActFrmPwdTch (ActChgNumRowFooGrp+136)
#define ActChgPwdOth (ActChgNumRowFooGrp+136) #define ActChgPwdOth (ActChgNumRowFooGrp+137)
#define ActChgPwdStd (ActChgNumRowFooGrp+137) #define ActChgPwdStd (ActChgNumRowFooGrp+138)
#define ActChgPwdTch (ActChgNumRowFooGrp+138) #define ActChgPwdTch (ActChgNumRowFooGrp+139)
#define ActFrmMaiOth (ActChgNumRowFooGrp+139) #define ActFrmMaiOth (ActChgNumRowFooGrp+140)
#define ActFrmMaiStd (ActChgNumRowFooGrp+140) #define ActFrmMaiStd (ActChgNumRowFooGrp+141)
#define ActFrmMaiTch (ActChgNumRowFooGrp+141) #define ActFrmMaiTch (ActChgNumRowFooGrp+142)
#define ActRemMaiOth (ActChgNumRowFooGrp+142) #define ActRemMaiOth (ActChgNumRowFooGrp+143)
#define ActRemMaiStd (ActChgNumRowFooGrp+143) #define ActRemMaiStd (ActChgNumRowFooGrp+144)
#define ActRemMaiTch (ActChgNumRowFooGrp+144) #define ActRemMaiTch (ActChgNumRowFooGrp+145)
#define ActNewMaiOth (ActChgNumRowFooGrp+145) #define ActNewMaiOth (ActChgNumRowFooGrp+146)
#define ActNewMaiStd (ActChgNumRowFooGrp+146) #define ActNewMaiStd (ActChgNumRowFooGrp+147)
#define ActNewMaiTch (ActChgNumRowFooGrp+147) #define ActNewMaiTch (ActChgNumRowFooGrp+148)
#define ActRemStdCrs (ActChgNumRowFooGrp+148) #define ActRemStdCrs (ActChgNumRowFooGrp+149)
#define ActRemTchCrs (ActChgNumRowFooGrp+149) #define ActRemTchCrs (ActChgNumRowFooGrp+150)
#define ActRemUsrGbl (ActChgNumRowFooGrp+150) #define ActRemUsrGbl (ActChgNumRowFooGrp+151)
#define ActReqRemAllStdCrs (ActChgNumRowFooGrp+151) #define ActReqRemAllStdCrs (ActChgNumRowFooGrp+152)
#define ActRemAllStdCrs (ActChgNumRowFooGrp+152) #define ActRemAllStdCrs (ActChgNumRowFooGrp+153)
#define ActReqRemOldUsr (ActChgNumRowFooGrp+153) #define ActReqRemOldUsr (ActChgNumRowFooGrp+154)
#define ActRemOldUsr (ActChgNumRowFooGrp+154) #define ActRemOldUsr (ActChgNumRowFooGrp+155)
#define ActLstDupUsr (ActChgNumRowFooGrp+155) #define ActLstDupUsr (ActChgNumRowFooGrp+156)
#define ActLstSimUsr (ActChgNumRowFooGrp+156) #define ActLstSimUsr (ActChgNumRowFooGrp+157)
#define ActRemDupUsr (ActChgNumRowFooGrp+157) #define ActRemDupUsr (ActChgNumRowFooGrp+158)
#define ActLstClk (ActChgNumRowFooGrp+158) #define ActLstClk (ActChgNumRowFooGrp+159)
/*****************************************************************************/ /*****************************************************************************/
/******************************** Social tab *********************************/ /******************************** Social tab *********************************/
@ -1379,9 +1380,9 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActReqSndNewPwd (ActSeeMyUsgRep+10) #define ActReqSndNewPwd (ActSeeMyUsgRep+10)
#define ActSndNewPwd (ActSeeMyUsgRep+11) #define ActSndNewPwd (ActSeeMyUsgRep+11)
#define ActLogOut (ActSeeMyUsgRep+12) #define ActLogOut (ActSeeMyUsgRep+12)
#define ActAutUsrInt (ActSeeMyUsgRep+13) #define ActLogIn (ActSeeMyUsgRep+13)
#define ActAutUsrNew (ActSeeMyUsgRep+14) #define ActLogInNew (ActSeeMyUsgRep+14)
#define ActAutUsrChgLan (ActSeeMyUsgRep+15) #define ActLogInLan (ActSeeMyUsgRep+15)
#define ActAnnSee (ActSeeMyUsgRep+16) #define ActAnnSee (ActSeeMyUsgRep+16)
#define ActChgMyRol (ActSeeMyUsgRep+17) #define ActChgMyRol (ActSeeMyUsgRep+17)
#define ActFrmNewEvtMyAgd (ActSeeMyUsgRep+18) #define ActFrmNewEvtMyAgd (ActSeeMyUsgRep+18)

View File

@ -100,13 +100,16 @@ static void Agd_UpdateEvent (struct AgendaEvent *AgdEvent,const char *Txt);
void Agd_PutFormLogInToShowUsrAgenda (void) void Agd_PutFormLogInToShowUsrAgenda (void)
{ {
/***** Get encrypted user code from user code *****/
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat);
/***** Form to log in *****/ /***** Form to log in *****/
/* Put the form to log in always, even if user does not exist, Usr_WriteFormLogin (ActLogInUsrAgd,Agd_PutParamAgd);
to not give clues about whether a user exists or not */ }
Usr_WriteFormLogin (ActLogInUsrAgd,Usr_PutParamOtherUsrCodEncrypted);
void Agd_PutParamAgd (void)
{
char Nickname[Nck_MAX_BYTES_NICKNAME_WITH_ARROBA+1];
sprintf (Nickname,"@%s",Gbl.Usrs.Other.UsrDat.Nickname);
Par_PutHiddenParamString ("agd",Nickname);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -115,15 +118,27 @@ void Agd_PutFormLogInToShowUsrAgenda (void)
void Agd_ShowUsrAgendaAfterLogIn (void) void Agd_ShowUsrAgendaAfterLogIn (void)
{ {
extern const unsigned Txt_Current_CGI_SWAD_Language;
extern const char *Txt_User_not_found_or_you_do_not_have_permission_; extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
extern const char *Txt_Switching_to_LANGUAGE[1+Txt_NUM_LANGUAGES];
/***** Get user *****/ if (Gbl.Usrs.Me.Logged)
/* User code is already got */ {
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Existing user if (Gbl.Usrs.Me.UsrDat.Prefs.Language == Txt_Current_CGI_SWAD_Language)
/***** Show all the visible events in the user's agenda *****/ {
Agd_ShowEvents (Agd_USR_AGENDA); /***** Get user *****/
else /* If nickname is correct, user code is already got from nickname */
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_); if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Existing user
/***** Show all the visible events in the user's agenda *****/
Agd_ShowEvents (Agd_USR_AGENDA);
else
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
}
else
/* The current language is not my preferred language
==> change automatically to my language */
Lay_ShowAlert (Lay_INFO,Txt_Switching_to_LANGUAGE[Gbl.Usrs.Me.UsrDat.Prefs.Language]);
}
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -75,6 +75,8 @@ typedef enum
/*****************************************************************************/ /*****************************************************************************/
void Agd_PutFormLogInToShowUsrAgenda (void); void Agd_PutFormLogInToShowUsrAgenda (void);
void Agd_PutParamAgd (void);
void Agd_ShowUsrAgendaAfterLogIn (void); void Agd_ShowUsrAgendaAfterLogIn (void);
void Agd_ShowUsrAgenda (void); void Agd_ShowUsrAgenda (void);
void Agd_ShowMyAgenda (void); void Agd_ShowMyAgenda (void);

View File

@ -179,19 +179,21 @@
// TODO: When teacher sees "No hay estudiantes", put a button to add students // TODO: When teacher sees "No hay estudiantes", put a button to add students
// TODO: When admin sees "No hay profesores", put a button to add teachers // TODO: When admin sees "No hay profesores", put a button to add teachers
// TODO: Al entrar sin identificar a ver una agenda, por ejemplo, https://localhost/swad/pt?agd=@rms, el idioma cambia ¿?
/*****************************************************************************/ /*****************************************************************************/
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.86.11 (2016-12-05)" #define Log_PLATFORM_VERSION "SWAD 16.87 (2016-12-05)"
#define CSS_FILE "swad16.86.5.css" #define CSS_FILE "swad16.86.5.css"
#define JS_FILE "swad16.84.2.js" #define JS_FILE "swad16.84.2.js"
// Number of lines (includes comments but not blank lines) has been got with the following command: // 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 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
/* /*
Version 16.87: Dec 05, 2016 Change language after log in to view another user's public agenda. (209952 lines)
1 change necessary in database:
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1616','es','N','Cambiar idioma para ver agenda otro usuario');
Version 16.86.11: Dec 05, 2016 Link to QR in user's agenda. (209908 lines) Version 16.86.11: Dec 05, 2016 Link to QR in user's agenda. (209908 lines)
Version 16.86.10: Dec 05, 2016 Code refactoring related to user's QR (nickname). (209904 lines) Version 16.86.10: Dec 05, 2016 Code refactoring related to user's QR (nickname). (209904 lines)
Version 16.86.9: Dec 05, 2016 Link to QR in user's agenda. Not finished. (209889 lines) Version 16.86.9: Dec 05, 2016 Link to QR in user's agenda. Not finished. (209889 lines)

View File

@ -264,8 +264,8 @@ void Con_GetAndShowLastClicks (void)
/* Use a special color for this row depending on the action */ /* Use a special color for this row depending on the action */
ClassRow = (Act_Actions[Act_FromActCodToAction[ActCod]].BrowserWindow == Act_DOWNLD_FILE) ? "DAT_SMALL_YELLOW LEFT_MIDDLE" : ClassRow = (Act_Actions[Act_FromActCodToAction[ActCod]].BrowserWindow == Act_DOWNLD_FILE) ? "DAT_SMALL_YELLOW LEFT_MIDDLE" :
(ActCod == Act_Actions[ActAutUsrInt].ActCod || (ActCod == Act_Actions[ActLogIn].ActCod ||
ActCod == Act_Actions[ActAutUsrNew].ActCod) ? "DAT_SMALL_GREEN" : ActCod == Act_Actions[ActLogInNew].ActCod) ? "DAT_SMALL_GREEN" :
(ActCod == Act_Actions[ActLogOut].ActCod ) ? "DAT_SMALL_RED" : (ActCod == Act_Actions[ActLogOut].ActCod ) ? "DAT_SMALL_RED" :
(ActCod == Act_Actions[ActWebSvc].ActCod ) ? "DAT_SMALL_BLUE" : (ActCod == Act_Actions[ActWebSvc].ActCod ) ? "DAT_SMALL_BLUE" :
"DAT_SMALL_GREY"; "DAT_SMALL_GREY";

View File

@ -334,9 +334,9 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
{ {
if (Gbl.Usrs.Me.IBelongToCurrentCrs) // I belong to this course if (Gbl.Usrs.Me.IBelongToCurrentCrs) // I belong to this course
{ {
if (Gbl.Action.Act != ActAutUsrInt && if (Gbl.Action.Act != ActLogIn &&
Gbl.Action.Act != ActAutUsrNew && Gbl.Action.Act != ActLogInNew &&
Gbl.Action.Act != ActAutUsrChgLan) // I am not just logged Gbl.Action.Act != ActLogInLan) // I am not just logged
{ {
/* Request my removing from this course */ /* Request my removing from this course */
sprintf (Gbl.Title,Txt_Remove_me_from_the_course_X, sprintf (Gbl.Title,Txt_Remove_me_from_the_course_X,

View File

@ -79,7 +79,9 @@ static void Lay_WriteEndOfPage (void);
static void Lay_WritePageTitle (void); static void Lay_WritePageTitle (void);
static void Lay_WriteRedirectionToMyLanguage (void); static void Lay_WriteRedirToMyLangOnLogIn (void);
static void Lay_WriteRedirToMyLangOnViewUsrAgd (void);
static void Lay_WriteScripts (void); static void Lay_WriteScripts (void);
static void Lay_WriteScriptInit (void); static void Lay_WriteScriptInit (void);
static void Lay_WriteScriptParamsAJAX (void); static void Lay_WriteScriptParamsAJAX (void);
@ -220,11 +222,15 @@ void Lay_WriteStartOfPage (void)
Cfg_URL_SWAD_PUBLIC); Cfg_URL_SWAD_PUBLIC);
/* Redirect to correct language */ /* Redirect to correct language */
if ((Gbl.Action.Act == ActAutUsrInt || if (Gbl.Usrs.Me.Logged && // I am logged
Gbl.Action.Act == ActAutUsrNew) && // Action is log in
Gbl.Usrs.Me.Logged && // I am just logged
Gbl.Usrs.Me.UsrDat.Prefs.Language != Txt_Current_CGI_SWAD_Language) // My language != current language Gbl.Usrs.Me.UsrDat.Prefs.Language != Txt_Current_CGI_SWAD_Language) // My language != current language
Lay_WriteRedirectionToMyLanguage (); {
if (Gbl.Action.Act == ActLogIn || // Regular log in
Gbl.Action.Act == ActLogInNew) // Log in when checking account
Lay_WriteRedirToMyLangOnLogIn ();
else if (Gbl.Action.Act == ActLogInUsrAgd) // Log in to view another user's public agenda
Lay_WriteRedirToMyLangOnViewUsrAgd ();
}
/* Write initial scripts depending on the action */ /* Write initial scripts depending on the action */
Lay_WriteScripts (); Lay_WriteScripts ();
@ -321,9 +327,9 @@ void Lay_WriteStartOfPage (void)
Gbl.Layout.HTMLStartWritten = true; Gbl.Layout.HTMLStartWritten = true;
/* Write new year greeting */ /* Write new year greeting */
if (Gbl.Action.Act == ActAutUsrInt || if (Gbl.Action.Act == ActLogIn ||
Gbl.Action.Act == ActAutUsrNew || Gbl.Action.Act == ActLogInNew ||
Gbl.Action.Act == ActAutUsrChgLan) Gbl.Action.Act == ActLogInLan)
if (Gbl.Now.Date.Month == 1 && if (Gbl.Now.Date.Month == 1 &&
Gbl.Now.Date.Day == 1) Gbl.Now.Date.Day == 1)
{ {
@ -395,7 +401,7 @@ static void Lay_WritePageTitle (void)
/************* Write script and meta to redirect to my language **************/ /************* Write script and meta to redirect to my language **************/
/*****************************************************************************/ /*****************************************************************************/
static void Lay_WriteRedirectionToMyLanguage (void) static void Lay_WriteRedirToMyLangOnLogIn (void)
{ {
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS]; extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES]; extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES];
@ -404,10 +410,24 @@ static void Lay_WriteRedirectionToMyLanguage (void)
" content=\"0; url='%s/%s?act=%ld&amp;ses=%s'\">", " content=\"0; url='%s/%s?act=%ld&amp;ses=%s'\">",
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Txt_STR_LANG_ID[Gbl.Usrs.Me.UsrDat.Prefs.Language], Txt_STR_LANG_ID[Gbl.Usrs.Me.UsrDat.Prefs.Language],
Act_Actions[ActAutUsrChgLan].ActCod, Act_Actions[ActLogInLan].ActCod,
Gbl.Session.Id); Gbl.Session.Id);
} }
static void Lay_WriteRedirToMyLangOnViewUsrAgd (void)
{
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES];
fprintf (Gbl.F.Out,"<meta http-equiv=\"refresh\""
" content=\"0; url='%s/%s?act=%ld&amp;ses=%s&amp;agd=@%s'\">",
Cfg_URL_SWAD_CGI,
Txt_STR_LANG_ID[Gbl.Usrs.Me.UsrDat.Prefs.Language],
Act_Actions[ActLogInUsrAgdLan].ActCod,
Gbl.Session.Id,
Gbl.Usrs.Other.UsrDat.Nickname);
}
/*****************************************************************************/ /*****************************************************************************/
/************ Write some scripts depending on the current action *************/ /************ Write some scripts depending on the current action *************/
/*****************************************************************************/ /*****************************************************************************/
@ -984,8 +1004,8 @@ static void Lay_ShowRightColumn (void)
/***** SWADroid advertisement *****/ /***** SWADroid advertisement *****/
if (!Gbl.Usrs.Me.Logged || if (!Gbl.Usrs.Me.Logged ||
Gbl.Action.Act == ActAutUsrInt || Gbl.Action.Act == ActLogIn ||
Gbl.Action.Act == ActAutUsrNew) Gbl.Action.Act == ActLogInNew)
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">" fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">"
"<a href=\"https://play.google.com/store/apps/details?id=es.ugr.swad.swadroid\"" "<a href=\"https://play.google.com/store/apps/details?id=es.ugr.swad.swadroid\""
" target=\"_blank\" title=\"%s\">" " target=\"_blank\" title=\"%s\">"

View File

@ -1732,7 +1732,7 @@ void Mai_ConfirmEmail (void)
Lay_ShowAlert (Lay_WARNING,Txt_Failed_email_confirmation_key); Lay_ShowAlert (Lay_WARNING,Txt_Failed_email_confirmation_key);
/***** Form to log in *****/ /***** Form to log in *****/
Usr_WriteFormLogin (ActAutUsrInt,NULL); Usr_WriteFormLogin (ActLogIn,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -115,7 +115,6 @@ int main (int argc, char *argv[])
Par_CreateListOfParams (); Par_CreateListOfParams ();
Par_GetMainParameters (); Par_GetMainParameters ();
Hie_InitHierarchy (); Hie_InitHierarchy ();
if (!Gbl.WebService.IsWebService) if (!Gbl.WebService.IsWebService)
{ {
/***** Create file for HTML output *****/ /***** Create file for HTML output *****/

View File

@ -32,7 +32,7 @@
#include "swad_action.h" #include "swad_action.h"
#include "swad_config.h" #include "swad_config.h"
#include "swad_database.h" // TODO: REMOVE !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#include "swad_global.h" #include "swad_global.h"
#include "swad_parameter.h" #include "swad_parameter.h"
#include "swad_password.h" #include "swad_password.h"
@ -677,10 +677,14 @@ void Par_GetMainParameters (void)
{ {
if (Nickname[0]) if (Nickname[0])
{ {
/* Set another user's nickname */
Str_RemoveLeadingArrobas (Nickname);
strcpy (Gbl.Usrs.Other.UsrDat.Nickname,Nickname); // without arroba
// This user's code is used to go to public profile // This user's code is used to go to public profile
// and to refresh old publishings in user's timeline // and to refresh old publishings in user's timeline
// If user does not exist ==> UsrCod = -1 // If user does not exist ==> UsrCod = -1
Gbl.Usrs.Other.UsrDat.UsrCod = Nck_GetUsrCodFromNickname (Nickname); Gbl.Usrs.Other.UsrDat.UsrCod = Nck_GetUsrCodFromNickname (Gbl.Usrs.Other.UsrDat.Nickname);
Gbl.Action.Act = ActSeePubPrf; // Set default action if no other is specified Gbl.Action.Act = ActSeePubPrf; // Set default action if no other is specified
} }
} }
@ -688,9 +692,13 @@ void Par_GetMainParameters (void)
{ {
if (Nickname[0]) if (Nickname[0])
{ {
/* Set another user's nickname */
Str_RemoveLeadingArrobas (Nickname);
strcpy (Gbl.Usrs.Other.UsrDat.Nickname,Nickname); // without arroba
// This user's code is used to go to public agenda // This user's code is used to go to public agenda
// If user does not exist ==> UsrCod = -1 // If user does not exist ==> UsrCod = -1
Gbl.Usrs.Other.UsrDat.UsrCod = Nck_GetUsrCodFromNickname (Nickname); Gbl.Usrs.Other.UsrDat.UsrCod = Nck_GetUsrCodFromNickname (Gbl.Usrs.Other.UsrDat.Nickname);
Gbl.Action.Act = ActFrmLogInUsrAgd; // Set default action if no other is specified Gbl.Action.Act = ActFrmLogInUsrAgd; // Set default action if no other is specified
} }
} }
@ -720,9 +728,6 @@ void Par_GetMainParameters (void)
Gbl.Action.Act == ActRefOldSocPubGbl || Gbl.Action.Act == ActRefOldSocPubGbl ||
Gbl.Action.Act == ActRefOldSocPubUsr) Gbl.Action.Act == ActRefOldSocPubUsr)
Gbl.Action.UsesAJAX = true; Gbl.Action.UsesAJAX = true;
else if (Gbl.Action.Act == ActLogInUsrAgd)
// It's necessary to do this here when log in to view user's agenda fails
Usr_GetParamOtherUsrCodEncrypted (&Gbl.Usrs.Other.UsrDat);
/***** Get session identifier, if exists *****/ /***** Get session identifier, if exists *****/
Par_GetParToText ("ses",Gbl.Session.Id,Ses_LENGTH_SESSION_ID); Par_GetParToText ("ses",Gbl.Session.Id,Ses_LENGTH_SESSION_ID);
@ -757,7 +762,7 @@ void Par_GetMainParameters (void)
/***** Get user password and login *****/ /***** Get user password and login *****/
switch (Gbl.Action.Act) switch (Gbl.Action.Act)
{ {
case ActAutUsrInt: case ActLogIn:
case ActFrmLogInUsrAgd: case ActFrmLogInUsrAgd:
case ActLogInUsrAgd: // This action is necessary here when log in fails case ActLogInUsrAgd: // This action is necessary here when log in fails
Pwd_GetParamUsrPwdLogin (); Pwd_GetParamUsrPwdLogin ();

View File

@ -1683,7 +1683,7 @@ bool Usr_ChkIfEncryptedUsrCodExists (const char *EncryptedUsrCod)
void Usr_WriteLandingPage (void) void Usr_WriteLandingPage (void)
{ {
/***** Form to log in *****/ /***** Form to log in *****/
Usr_WriteFormLogin (ActAutUsrInt,NULL); Usr_WriteFormLogin (ActLogIn,NULL);
/***** Form to go to request the creation of a new account *****/ /***** Form to go to request the creation of a new account *****/
Acc_ShowFormGoToRequestNewAccount (); Acc_ShowFormGoToRequestNewAccount ();
@ -1714,7 +1714,7 @@ void Usr_Logout (void)
Lay_ShowAlert (Lay_INFO,Txt_The_session_has_been_closed); Lay_ShowAlert (Lay_INFO,Txt_The_session_has_been_closed);
/***** Form to log in *****/ /***** Form to log in *****/
Usr_WriteFormLogin (ActAutUsrInt,NULL); Usr_WriteFormLogin (ActLogIn,NULL);
/***** Advertisement about mobile app *****/ /***** Advertisement about mobile app *****/
Lay_AdvertisementMobile (); Lay_AdvertisementMobile ();
@ -1872,7 +1872,9 @@ void Usr_WelcomeUsr (void)
/***** Show the global announcements I have not seen *****/ /***** Show the global announcements I have not seen *****/
Ann_ShowMyAnnouncementsNotMarkedAsSeen (); Ann_ShowMyAnnouncementsNotMarkedAsSeen ();
} }
else // The current language is not my preferred language ==> change automatically to my language else
/* The current language is not my preferred language
==> change automatically to my language */
Lay_ShowAlert (Lay_INFO,Txt_Switching_to_LANGUAGE[Gbl.Usrs.Me.UsrDat.Prefs.Language]); Lay_ShowAlert (Lay_INFO,Txt_Switching_to_LANGUAGE[Gbl.Usrs.Me.UsrDat.Prefs.Language]);
} }
} }
@ -2210,7 +2212,7 @@ void Usr_ChkUsrAndGetUsrData (void)
} FormLogin = } FormLogin =
{ {
false, false,
ActAutUsrInt, ActLogIn,
NULL NULL
}; };
Act_Action_t Action; Act_Action_t Action;
@ -2268,7 +2270,7 @@ void Usr_ChkUsrAndGetUsrData (void)
else else
FormLogin.PutForm = true; FormLogin.PutForm = true;
} }
else if (Gbl.Action.Act == ActAutUsrInt || else if (Gbl.Action.Act == ActLogIn ||
Gbl.Action.Act == ActLogInUsrAgd) // Login using @nickname, email or ID from form Gbl.Action.Act == ActLogInUsrAgd) // Login using @nickname, email or ID from form
{ {
if (Usr_ChkUsrAndGetUsrDataFromDirectLogin ()) // User logged in if (Usr_ChkUsrAndGetUsrDataFromDirectLogin ()) // User logged in
@ -2287,11 +2289,11 @@ void Usr_ChkUsrAndGetUsrData (void)
if (Gbl.Action.Act == ActLogInUsrAgd) if (Gbl.Action.Act == ActLogInUsrAgd)
{ {
FormLogin.Action = ActLogInUsrAgd; FormLogin.Action = ActLogInUsrAgd;
FormLogin.FuncParams = Usr_PutParamOtherUsrCodEncrypted; FormLogin.FuncParams = Agd_PutParamAgd;
} }
} }
} }
else if (Gbl.Action.Act == ActAutUsrNew) // Empty account without password, login using encrypted user's code else if (Gbl.Action.Act == ActLogInNew) // Empty account without password, login using encrypted user's code
{ {
/***** Get user's data *****/ /***** Get user's data *****/
Usr_GetParamOtherUsrCodEncrypted (&Gbl.Usrs.Me.UsrDat); Usr_GetParamOtherUsrCodEncrypted (&Gbl.Usrs.Me.UsrDat);
@ -2588,8 +2590,8 @@ static void Usr_SetUsrRoleAndPrefs (void)
/***** Get my last data *****/ /***** Get my last data *****/
Usr_GetMyLastData (); Usr_GetMyLastData ();
if (Gbl.Action.Act == ActAutUsrInt || if (Gbl.Action.Act == ActLogIn ||
Gbl.Action.Act == ActAutUsrNew) // If I just logged in... Gbl.Action.Act == ActLogInNew) // If I just logged in...
{ {
/***** WhatToSearch is stored in session, /***** WhatToSearch is stored in session,
but in login it is got from user's last data *****/ but in login it is got from user's last data *****/