Version 15.140

This commit is contained in:
Antonio Cañas Vargas 2016-03-01 03:16:29 +01:00
parent c06fef3674
commit 169039f21c
9 changed files with 261 additions and 163 deletions

View File

@ -92,6 +92,19 @@ static void Acc_AskIfRemoveOtherUsrAccount (void);
static void Acc_RemoveUsrBriefcase (struct UsrData *UsrDat);
static void Acc_RemoveUsr (struct UsrData *UsrDat);
/*****************************************************************************/
/******************** Put link to create a new account ***********************/
/*****************************************************************************/
void Acc_PutLinkToCreateAccount (void)
{
extern const char *Txt_Create_account;
Lay_PutContextualLink (ActFrmUsrAcc,NULL,
"arroba64x64.gif",
Txt_Create_account,Txt_Create_account);
}
/*****************************************************************************/
/******** Show form to change my account or to create a new account **********/
/*****************************************************************************/

View File

@ -44,6 +44,7 @@
/****************************** Public prototypes ****************************/
/*****************************************************************************/
void Acc_PutLinkToCreateAccount (void);
void Acc_ShowFormAccount (void);
void Acc_ShowFormRequestNewAccount (void);
void Acc_ShowFormChangeMyAccount (void);

View File

@ -1243,7 +1243,8 @@ Statistics:
1069. ActSeeAccCrs Query clicks to current course
1070. ActSeeAllStaCrs Show statistics of courses
Profile:
1071. ActFrmLogIn Show form to log in
NEW 1071. ActFrmLogIn Show landing page (forms to log in and to create a new account)
1071. ActFrmRolSes Show form to log out and to change current role in this session
1072. ActMyCrs Select one of my courses
1073. ActSeeMyTT Show the timetable of all courses of the logged user
1074. ActFrmUsrAcc Show form to the creation or change of user's account
@ -1252,14 +1253,14 @@ Profile:
1077. ActAdmBrf Show the briefcase of private archives
1078. ActMFUAct Show most frequently used actions
1084. ActReqSndNewPwd Show form to send a new password via e-mail
1085. ActSndNewPwd Send a new password via e-mail
1082. ActLogOut Close session
1079. ActAutUsrInt Authentify user internally (directly from the platform)
1080. ActAutUsrExt Authentify user externally (remotely from an external site)
1081. ActAutUsrChgLan Change language to my language just after authentication
1082. ActLogOut Close session
1083. ActAnnSee Mark announcement as seen
1084. ActReqSndNewPwd Show form to send a new password via e-mail
1085. ActSndNewPwd Send a new password via e-mail
1086. ActChgMyRol Change type of logged user
1087. ActCreUsrAcc Create new user account
@ -2605,25 +2606,26 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
// TabPrf ******************************************************************
// Actions in menu:
/* ActFrmLogIn */{ 843, 0,TabPrf,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WriteFormLoginLogout ,"keyuser64x64.gif" },
/* ActMyCrs */{ 987, 1,TabPrf,ActMyCrs ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_ReqSelectOneOfMyCourses ,"mygroups64x64.gif" },
/* ActSeeMyTT */{ 408, 2,TabPrf,ActSeeMyTT ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowClassTimeTable ,"clock64x64.gif" },
/* ActFrmUsrAcc */{ 36, 3,TabPrf,ActFrmUsrAcc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_ShowFormAccount ,"arroba64x64.gif" },
/* ActReqEdiRecCom */{ 285, 4,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ShowFormMyCommRecord ,"card64x64.gif" },
/* ActEdiPrf */{ 673, 5,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pre_EditPrefs ,"heart64x64.gif" },
/* ActAdmBrf */{ 23, 6,TabPrf,ActAdmBrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"pendrive64x64.gif" },
/* ActMFUAct */{ 993, 7,TabPrf,ActMFUAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Act_ShowMyMFUActions ,"star64x64.gif" },
/* ActFrmLogIn */{1521, 0,TabPrf,ActFrmLogIn ,0x001,0x001,0x001,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WriteLandingPage ,"keyuser64x64.gif" },
/* ActFrmRolSes */{ 843, 1,TabPrf,ActFrmRolSes ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WriteFormLogout ,"keyuser64x64.gif" },
/* ActMyCrs */{ 987, 2,TabPrf,ActMyCrs ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_ReqSelectOneOfMyCourses ,"mygroups64x64.gif" },
/* ActSeeMyTT */{ 408, 3,TabPrf,ActSeeMyTT ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowClassTimeTable ,"clock64x64.gif" },
/* ActFrmUsrAcc */{ 36, 4,TabPrf,ActFrmUsrAcc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_ShowFormAccount ,"arroba64x64.gif" },
/* ActReqEdiRecCom */{ 285, 5,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Rec_ShowFormMyCommRecord ,"card64x64.gif" },
/* ActEdiPrf */{ 673, 6,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pre_EditPrefs ,"heart64x64.gif" },
/* ActAdmBrf */{ 23, 7,TabPrf,ActAdmBrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"pendrive64x64.gif" },
/* ActMFUAct */{ 993, 8,TabPrf,ActMFUAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Act_ShowMyMFUActions ,"star64x64.gif" },
// Actions not in menu:
/* ActAutUsrInt */{ 6,-1,TabPrf,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL},
/* ActAutUsrExt */{ 794,-1,TabPrf,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL},
/* ActAutUsrChgLan */{1077,-1,TabPrf,ActFrmLogIn ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Usr_WelcomeUsr ,NULL},
/* ActLogOut */{ 10,-1,TabPrf,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ses_CloseSession ,Usr_Logout ,NULL},
/* ActAnnSee */{1234,-1,TabPrf,ActFrmLogIn ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ann_MarkAnnouncementAsSeen ,NULL},
/* ActReqSndNewPwd */{ 665,-1,TabPrf,ActFrmLogIn ,0x000,0x001,0x001,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pwd_ShowFormSendNewPwd ,NULL},
/* ActSndNewPwd */{ 633,-1,TabPrf,ActFrmLogIn ,0x000,0x001,0x001,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pwd_ChkIdLoginAndSendNewPwd ,NULL},
/* ActChgMyRol */{ 589,-1,TabPrf,ActFrmLogIn ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,Rol_ChangeMyRole ,Usr_ShowFormsLogoutAndRole ,NULL},
/* ActLogOut */{ 10,-1,TabPrf,ActFrmLogIn ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Ses_CloseSession ,Usr_Logout ,NULL},
/* ActAutUsrInt */{ 6,-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},
/* ActCreUsrAcc */{1163,-1,TabPrf,ActFrmUsrAcc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Acc_AfterCreationNewAccount ,NULL},
@ -3552,7 +3554,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActSetUp, // #840
ActChgThe, // #841
-1, // #842 (obsolete action)
ActFrmLogIn, // #843
ActFrmRolSes, // #843
ActHom, // #844
ActRefCon, // #845
ActRcvFilAsgCrsCla, // #846
@ -4233,6 +4235,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActFavSocComUsr, // #1518
ActUnfSocComUsr, // #1519
ActSeeSocPrf, // #1520
ActFrmLogIn, // #1521
};
/*****************************************************************************/

View File

@ -71,9 +71,9 @@ 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+52+15+90+70+67+205+183+143+172+36+27+82)
#define Act_NUM_ACTIONS (1+9+52+15+90+70+67+205+183+143+172+36+27+83)
#define Act_MAX_ACTION_COD 1520
#define Act_MAX_ACTION_COD 1521
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@ -1301,98 +1301,99 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
/*****************************************************************************/
// Actions in menu
#define ActFrmLogIn (ActSeeAllStaCrs+ 1)
#define ActMyCrs (ActSeeAllStaCrs+ 2)
#define ActSeeMyTT (ActSeeAllStaCrs+ 3)
#define ActFrmUsrAcc (ActSeeAllStaCrs+ 4)
#define ActReqEdiRecCom (ActSeeAllStaCrs+ 5)
#define ActEdiPrf (ActSeeAllStaCrs+ 6)
#define ActAdmBrf (ActSeeAllStaCrs+ 7)
#define ActMFUAct (ActSeeAllStaCrs+ 8)
#define ActFrmRolSes (ActSeeAllStaCrs+ 2)
#define ActMyCrs (ActSeeAllStaCrs+ 3)
#define ActSeeMyTT (ActSeeAllStaCrs+ 4)
#define ActFrmUsrAcc (ActSeeAllStaCrs+ 5)
#define ActReqEdiRecCom (ActSeeAllStaCrs+ 6)
#define ActEdiPrf (ActSeeAllStaCrs+ 7)
#define ActAdmBrf (ActSeeAllStaCrs+ 8)
#define ActMFUAct (ActSeeAllStaCrs+ 9)
// Secondary actions
#define ActAutUsrInt (ActSeeAllStaCrs+ 9)
#define ActAutUsrExt (ActSeeAllStaCrs+10)
#define ActAutUsrChgLan (ActSeeAllStaCrs+11)
#define ActReqSndNewPwd (ActSeeAllStaCrs+10)
#define ActSndNewPwd (ActSeeAllStaCrs+11)
#define ActLogOut (ActSeeAllStaCrs+12)
#define ActAnnSee (ActSeeAllStaCrs+13)
#define ActReqSndNewPwd (ActSeeAllStaCrs+14)
#define ActSndNewPwd (ActSeeAllStaCrs+15)
#define ActChgMyRol (ActSeeAllStaCrs+16)
#define ActCreUsrAcc (ActSeeAllStaCrs+17)
#define ActRemID_Me (ActSeeAllStaCrs+18)
#define ActNewIDMe (ActSeeAllStaCrs+19)
#define ActRemOldNic (ActSeeAllStaCrs+20)
#define ActChgNic (ActSeeAllStaCrs+21)
#define ActRemMaiMe (ActSeeAllStaCrs+22)
#define ActNewMaiMe (ActSeeAllStaCrs+23)
#define ActCnfMai (ActSeeAllStaCrs+24)
#define ActFrmChgMyPwd (ActSeeAllStaCrs+25)
#define ActChgPwd (ActSeeAllStaCrs+26)
#define ActReqRemMyAcc (ActSeeAllStaCrs+27)
#define ActRemMyAcc (ActSeeAllStaCrs+28)
#define ActAutUsrInt (ActSeeAllStaCrs+13)
#define ActAutUsrExt (ActSeeAllStaCrs+14)
#define ActAutUsrChgLan (ActSeeAllStaCrs+15)
#define ActAnnSee (ActSeeAllStaCrs+16)
#define ActChgMyRol (ActSeeAllStaCrs+17)
#define ActCreUsrAcc (ActSeeAllStaCrs+18)
#define ActRemID_Me (ActSeeAllStaCrs+19)
#define ActNewIDMe (ActSeeAllStaCrs+20)
#define ActRemOldNic (ActSeeAllStaCrs+21)
#define ActChgNic (ActSeeAllStaCrs+22)
#define ActRemMaiMe (ActSeeAllStaCrs+23)
#define ActNewMaiMe (ActSeeAllStaCrs+24)
#define ActCnfMai (ActSeeAllStaCrs+25)
#define ActFrmChgMyPwd (ActSeeAllStaCrs+26)
#define ActChgPwd (ActSeeAllStaCrs+27)
#define ActReqRemMyAcc (ActSeeAllStaCrs+28)
#define ActRemMyAcc (ActSeeAllStaCrs+29)
#define ActChgMyData (ActSeeAllStaCrs+29)
#define ActChgMyData (ActSeeAllStaCrs+30)
#define ActReqMyPho (ActSeeAllStaCrs+30)
#define ActDetMyPho (ActSeeAllStaCrs+31)
#define ActUpdMyPho (ActSeeAllStaCrs+32)
#define ActRemMyPho (ActSeeAllStaCrs+33)
#define ActReqMyPho (ActSeeAllStaCrs+31)
#define ActDetMyPho (ActSeeAllStaCrs+32)
#define ActUpdMyPho (ActSeeAllStaCrs+33)
#define ActRemMyPho (ActSeeAllStaCrs+34)
#define ActEdiPri (ActSeeAllStaCrs+34)
#define ActChgPriPho (ActSeeAllStaCrs+35)
#define ActChgPriPrf (ActSeeAllStaCrs+36)
#define ActEdiPri (ActSeeAllStaCrs+35)
#define ActChgPriPho (ActSeeAllStaCrs+36)
#define ActChgPriPrf (ActSeeAllStaCrs+37)
#define ActReqEdiMyIns (ActSeeAllStaCrs+37)
#define ActChgCtyMyIns (ActSeeAllStaCrs+38)
#define ActChgMyIns (ActSeeAllStaCrs+39)
#define ActChgMyCtr (ActSeeAllStaCrs+40)
#define ActChgMyDpt (ActSeeAllStaCrs+41)
#define ActChgMyOff (ActSeeAllStaCrs+42)
#define ActChgMyOffPho (ActSeeAllStaCrs+43)
#define ActReqEdiMyIns (ActSeeAllStaCrs+38)
#define ActChgCtyMyIns (ActSeeAllStaCrs+39)
#define ActChgMyIns (ActSeeAllStaCrs+40)
#define ActChgMyCtr (ActSeeAllStaCrs+41)
#define ActChgMyDpt (ActSeeAllStaCrs+42)
#define ActChgMyOff (ActSeeAllStaCrs+43)
#define ActChgMyOffPho (ActSeeAllStaCrs+44)
#define ActReqEdiMyNet (ActSeeAllStaCrs+44)
#define ActChgMyNet (ActSeeAllStaCrs+45)
#define ActReqEdiMyNet (ActSeeAllStaCrs+45)
#define ActChgMyNet (ActSeeAllStaCrs+46)
#define ActChgThe (ActSeeAllStaCrs+46)
#define ActReqChgLan (ActSeeAllStaCrs+47)
#define ActChgLan (ActSeeAllStaCrs+48)
#define ActChg1stDay (ActSeeAllStaCrs+49)
#define ActChgCol (ActSeeAllStaCrs+50)
#define ActHidLftCol (ActSeeAllStaCrs+51)
#define ActHidRgtCol (ActSeeAllStaCrs+52)
#define ActShoLftCol (ActSeeAllStaCrs+53)
#define ActShoRgtCol (ActSeeAllStaCrs+54)
#define ActChgIco (ActSeeAllStaCrs+55)
#define ActChgMnu (ActSeeAllStaCrs+56)
#define ActChgNtfPrf (ActSeeAllStaCrs+57)
#define ActChgThe (ActSeeAllStaCrs+47)
#define ActReqChgLan (ActSeeAllStaCrs+48)
#define ActChgLan (ActSeeAllStaCrs+49)
#define ActChg1stDay (ActSeeAllStaCrs+50)
#define ActChgCol (ActSeeAllStaCrs+51)
#define ActHidLftCol (ActSeeAllStaCrs+52)
#define ActHidRgtCol (ActSeeAllStaCrs+53)
#define ActShoLftCol (ActSeeAllStaCrs+54)
#define ActShoRgtCol (ActSeeAllStaCrs+55)
#define ActChgIco (ActSeeAllStaCrs+56)
#define ActChgMnu (ActSeeAllStaCrs+57)
#define ActChgNtfPrf (ActSeeAllStaCrs+58)
#define ActPrnUsrQR (ActSeeAllStaCrs+58)
#define ActPrnUsrQR (ActSeeAllStaCrs+59)
#define ActPrnMyTT (ActSeeAllStaCrs+59)
#define ActEdiTut (ActSeeAllStaCrs+60)
#define ActChgTut (ActSeeAllStaCrs+61)
#define ActChgMyTT1stDay (ActSeeAllStaCrs+62)
#define ActPrnMyTT (ActSeeAllStaCrs+60)
#define ActEdiTut (ActSeeAllStaCrs+61)
#define ActChgTut (ActSeeAllStaCrs+62)
#define ActChgMyTT1stDay (ActSeeAllStaCrs+63)
#define ActReqRemFilBrf (ActSeeAllStaCrs+63)
#define ActRemFilBrf (ActSeeAllStaCrs+64)
#define ActRemFolBrf (ActSeeAllStaCrs+65)
#define ActCopBrf (ActSeeAllStaCrs+66)
#define ActPasBrf (ActSeeAllStaCrs+67)
#define ActRemTreBrf (ActSeeAllStaCrs+68)
#define ActFrmCreBrf (ActSeeAllStaCrs+69)
#define ActCreFolBrf (ActSeeAllStaCrs+70)
#define ActCreLnkBrf (ActSeeAllStaCrs+71)
#define ActRenFolBrf (ActSeeAllStaCrs+72)
#define ActRcvFilBrfDZ (ActSeeAllStaCrs+73)
#define ActRcvFilBrfCla (ActSeeAllStaCrs+74)
#define ActExpBrf (ActSeeAllStaCrs+75)
#define ActConBrf (ActSeeAllStaCrs+76)
#define ActZIPBrf (ActSeeAllStaCrs+77)
#define ActReqDatBrf (ActSeeAllStaCrs+78)
#define ActChgDatBrf (ActSeeAllStaCrs+79)
#define ActDowBrf (ActSeeAllStaCrs+80)
#define ActReqRemFilBrf (ActSeeAllStaCrs+64)
#define ActRemFilBrf (ActSeeAllStaCrs+65)
#define ActRemFolBrf (ActSeeAllStaCrs+66)
#define ActCopBrf (ActSeeAllStaCrs+67)
#define ActPasBrf (ActSeeAllStaCrs+68)
#define ActRemTreBrf (ActSeeAllStaCrs+69)
#define ActFrmCreBrf (ActSeeAllStaCrs+70)
#define ActCreFolBrf (ActSeeAllStaCrs+71)
#define ActCreLnkBrf (ActSeeAllStaCrs+72)
#define ActRenFolBrf (ActSeeAllStaCrs+73)
#define ActRcvFilBrfDZ (ActSeeAllStaCrs+74)
#define ActRcvFilBrfCla (ActSeeAllStaCrs+75)
#define ActExpBrf (ActSeeAllStaCrs+76)
#define ActConBrf (ActSeeAllStaCrs+77)
#define ActZIPBrf (ActSeeAllStaCrs+78)
#define ActReqDatBrf (ActSeeAllStaCrs+79)
#define ActChgDatBrf (ActSeeAllStaCrs+80)
#define ActDowBrf (ActSeeAllStaCrs+81)
#define ActAskRemOldBrf (ActSeeAllStaCrs+81)
#define ActRemOldBrf (ActSeeAllStaCrs+82)
#define ActAskRemOldBrf (ActSeeAllStaCrs+82)
#define ActRemOldBrf (ActSeeAllStaCrs+83)
/*****************************************************************************/
/******************************** Public types *******************************/

View File

@ -125,13 +125,18 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.139.2 (2016-02-29)"
#define Log_PLATFORM_VERSION "SWAD 15.140 (2016-03-01)"
#define CSS_FILE "swad15.137.2.css"
#define JS_FILE "swad15.131.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 15.140: Mar 01, 2016 New option "landing page". (195817 lines)
2 changes necessary in database:
UPDATE actions SET Txt='Formularios cambiar rol y cerrar sesión' WHERE ActCod='843' AND Language='es';
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1521','es','N','Página de inicio');
Version 15.139.2: Feb 29, 2016 Changed message related to year/semester. (195731 lines)
Version 15.139.1: Feb 29, 2016 Remove fields FirstYear and LastYear from database table degrees. (195732 lines)
1 change necessary in database:

View File

@ -181,6 +181,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
// TabPrf **********
{
ActFrmLogIn,
ActFrmRolSes,
ActMyCrs,
ActSeeMyTT,
ActFrmUsrAcc,

View File

@ -18449,6 +18449,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
{
// TabPrf *****************************************************
// ActFrmLogIn
#if L==1
"Entrar"
#elif L==2
"Einloggen"
#elif L==3
"Log in"
#elif L==4
"Entrar"
#elif L==5
"S'identifier"
#elif L==6
"Entrar" // Okoteve traducción
#elif L==7
"Accesso"
#elif L==8
"Zaloguj Się"
#elif L==9
"Entrar"
#endif
,
// ActFrmRolSes
#if L==1
"Sessió"
#elif L==2
@ -18622,7 +18643,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
NULL,
NULL,
NULL,
NULL,
}
};
@ -20441,6 +20461,27 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Rola w tej sesji"
#elif L==9
"Role nesta sessão"
#endif
,
// ActFrmRolSes
#if L==1
"Rol en aquesta sessió"
#elif L==2
"Rolle in dieser Sitzung"
#elif L==3
"Role in this session"
#elif L==4
"Rol en esta sesión"
#elif L==5
"Rôle dans cette session"
#elif L==6
"Rol en esta sesión" // Okoteve traducción
#elif L==7
"Ruolo in questa sessione"
#elif L==8
"Rola w tej sesji"
#elif L==9
"Role nesta sessão"
#endif
,
// ActMyCrs
@ -20596,7 +20637,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
NULL,
NULL,
NULL,
NULL,
}
};

View File

@ -120,6 +120,9 @@ static void Usr_GetParamOtherUsrIDNickOrEMail (void);
static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void);
static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void);
static bool Usr_ChkUsrAndGetUsrDataFromSession (void);
static void Usr_ShowAlertUsrDoesNotExistsOrWrongPassword (void);
static void Usr_ShowAlertThereAreMoreThanOneUsr (void);
static void Usr_ShowAlertNoUsrWithThisID (void);
static void Usr_SetUsrRoleAndPrefs (void);
@ -1407,22 +1410,29 @@ bool Usr_ChkIfEncryptedUsrCodExists (const char *EncryptedUsrCod)
}
/*****************************************************************************/
/****************** Write form for user log in or log out ********************/
/***************************** Write landing page ****************************/
/*****************************************************************************/
void Usr_WriteFormLoginLogout (void)
void Usr_WriteLandingPage (void)
{
if (Gbl.Session.IsOpen)
{
/***** Form to change my role *****/
Usr_ShowFormsLogoutAndRole ();
/***** Form to log in *****/
Usr_WriteFormLogin ();
/***** Show help to enroll me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo ();
}
else
/***** Form to log in *****/
Usr_WriteFormLogin ();
/***** Form to create a new account *****/
Acc_ShowFormRequestNewAccount ();
}
/*****************************************************************************/
/************************ Write form for user log out ************************/
/*****************************************************************************/
void Usr_WriteFormLogout (void)
{
/***** Form to change my role *****/
Usr_ShowFormsLogoutAndRole ();
/***** Show help to enroll me *****/
Hlp_ShowHelpWhatWouldYouLikeToDo ();
}
/*****************************************************************************/
@ -1473,6 +1483,9 @@ void Usr_WriteFormLogin (void)
/***** Links to other actions *****/
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
/* Links to create a new account */
Acc_PutLinkToCreateAccount ();
/* Link to enter from external site */
if (Cfg_EXTERNAL_LOGIN_URL[0] &&
Cfg_EXTERNAL_LOGIN_SERVICE_SHORT_NAME[0])
@ -1547,9 +1560,6 @@ void Usr_WriteFormLogin (void)
Lay_EndRoundFrameTable ();
Act_FormEnd ();
/***** Form to create a new account *****/
Acc_ShowFormRequestNewAccount ();
fprintf (Gbl.F.Out,"</div>");
}
@ -2058,20 +2068,18 @@ void Usr_ChkUsrAndGetUsrData (void)
static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
{
extern const char *Txt_The_user_does_not_exist_or_password_is_incorrect;
extern const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email;
struct ListUsrCods ListUsrCods;
bool PasswordCorrect = false;
/***** Check if user typed anything *****/
if (!Gbl.Usrs.Me.UsrIdLogin)
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
if (!Gbl.Usrs.Me.UsrIdLogin[0])
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
@ -2081,7 +2089,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
// User is trying to log using his/her nickname
if ((Gbl.Usrs.Me.UsrDat.UsrCod = Nck_GetUsrCodFromNickname (Gbl.Usrs.Me.UsrIdLogin)) <= 0)
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
}
@ -2090,7 +2098,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
// User is trying to log using his/her e-mail
if ((Gbl.Usrs.Me.UsrDat.UsrCod = Mai_GetUsrCodFromEmail (Gbl.Usrs.Me.UsrIdLogin)) <= 0)
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
}
@ -2104,7 +2112,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
// User is trying to log using his/her ID
if (strlen (Gbl.Usrs.Me.UsrIdLogin) > ID_MAX_LENGTH_USR_ID) // User's ID too long
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
@ -2132,10 +2140,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
/* Free memory used for list of users' codes found for this ID */
Usr_FreeListUsrCods (&ListUsrCods);
sprintf (Gbl.Message,Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email,
Gbl.Usrs.Me.UsrIdLogin);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
Usr_ShowAlertThereAreMoreThanOneUsr ();
return false;
}
}
@ -2155,7 +2160,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
}
else
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
}
@ -2164,21 +2169,19 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
/* Free memory used for list of users' codes found for this ID */
Usr_FreeListUsrCods (&ListUsrCods);
sprintf (Gbl.Message,Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email,
Gbl.Usrs.Me.UsrIdLogin);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
Usr_ShowAlertThereAreMoreThanOneUsr ();
return false;
}
}
else // No users found for this ID
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
}
else // String is not a valid user's nickname, e-mail or ID
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
}
@ -2199,7 +2202,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
Pwd_AssignMyPendingPasswordToMyCurrentPassword ();
else
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
}
@ -2215,9 +2218,6 @@ static bool Usr_ChkUsrAndGetUsrDataFromDirectLogin (void)
static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
{
extern const char *Txt_The_user_does_not_exist_or_password_is_incorrect;
extern const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email;
extern const char *Txt_There_is_no_user_in_X_with_ID_Y_If_you_already_have_an_account_on_Z_;
struct ListUsrCods ListUsrCods;
bool ItSeemsANewUsrIsEnteringFromExternalSite = false;
char PathRelParamsToCommandsPriv[PATH_MAX+1];
@ -2247,7 +2247,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
// User is trying to log using his/her ID
if (strlen (Gbl.Usrs.Me.UsrIdLogin) > ID_MAX_LENGTH_USR_ID) // User's ID too long
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
@ -2273,10 +2273,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
/* Free memory used for list of users' codes found for this ID */
Usr_FreeListUsrCods (&ListUsrCods);
sprintf (Gbl.Message,Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email,
Gbl.Usrs.Me.UsrIdLogin);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
Usr_ShowAlertThereAreMoreThanOneUsr ();
return false;
}
}
@ -2298,10 +2295,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
/* Free memory used for list of users' codes found for this ID */
Usr_FreeListUsrCods (&ListUsrCods);
sprintf (Gbl.Message,Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email,
Gbl.Usrs.Me.UsrIdLogin);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
Usr_ShowAlertThereAreMoreThanOneUsr ();
return false;
}
}
@ -2310,7 +2304,7 @@ static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
}
else // String is not a valid user's nickname, e-mail or ID
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
@ -2362,17 +2356,13 @@ static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
if (ItSeemsANewUsrIsEnteringFromExternalSite)
{
/***** User does not exist in the platform *****/
sprintf (Gbl.Message,Txt_There_is_no_user_in_X_with_ID_Y_If_you_already_have_an_account_on_Z_,
Cfg_PLATFORM_SHORT_NAME,
Gbl.Usrs.Me.UsrIdLogin,
Cfg_PLATFORM_SHORT_NAME);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
Usr_ShowAlertNoUsrWithThisID ();
return false;
}
}
else // External user's ID or session are not valid
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
@ -2385,15 +2375,13 @@ static bool Usr_ChkUsrAndGetUsrDataFromExternalLogin (void)
static bool Usr_ChkUsrAndGetUsrDataFromSession (void)
{
extern const char *Txt_The_user_does_not_exist_or_password_is_incorrect;
/***** Session is open and user's code is get from session *****/
Gbl.Usrs.Me.UsrDat.UsrCod = Gbl.Session.UsrCod;
/* Check if user exists in database, and get his/her data */
if (!Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Me.UsrDat))
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
@ -2402,13 +2390,58 @@ static bool Usr_ChkUsrAndGetUsrDataFromSession (void)
is the same as the stored in database? */
if (!Pwd_CheckCurrentPassword ()) // If my password is not correct...
{
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
Usr_ShowAlertUsrDoesNotExistsOrWrongPassword ();
return false;
}
return true;
}
/*****************************************************************************/
/** Show alert indicating that user does not exists or password is incorrect */
/*****************************************************************************/
static void Usr_ShowAlertUsrDoesNotExistsOrWrongPassword (void)
{
extern const char *Txt_The_user_does_not_exist_or_password_is_incorrect;
Gbl.Action.Act = ActFrmLogIn;
Tab_SetCurrentTab ();
Lay_ShowAlert (Lay_WARNING,Txt_The_user_does_not_exist_or_password_is_incorrect);
}
/*****************************************************************************/
/****** Show alert indicating that more than one user share the same ID ******/
/*****************************************************************************/
static void Usr_ShowAlertThereAreMoreThanOneUsr (void)
{
extern const char *Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email;
Gbl.Action.Act = ActFrmLogIn;
Tab_SetCurrentTab ();
sprintf (Gbl.Message,Txt_There_are_more_than_one_user_with_the_ID_X_Please_type_a_nick_or_email,
Gbl.Usrs.Me.UsrIdLogin);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
}
/*****************************************************************************/
/********** Show alert indicating that this ID does not exist ****************/
/*****************************************************************************/
static void Usr_ShowAlertNoUsrWithThisID (void)
{
extern const char *Txt_There_is_no_user_in_X_with_ID_Y_If_you_already_have_an_account_on_Z_;
Gbl.Action.Act = ActFrmLogIn;
Tab_SetCurrentTab ();
sprintf (Gbl.Message,Txt_There_is_no_user_in_X_with_ID_Y_If_you_already_have_an_account_on_Z_,
Cfg_PLATFORM_SHORT_NAME,
Gbl.Usrs.Me.UsrIdLogin,
Cfg_PLATFORM_SHORT_NAME);
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
}
/*****************************************************************************/
/**** Check if users exists, if his password is correct, get his data... *****/
/*****************************************************************************/

View File

@ -245,7 +245,8 @@ unsigned long Usr_GetCrssFromUsr (long UsrCod,long DegCod,MYSQL_RES **mysql_res)
bool Usr_ChkIfEncryptedUsrCodExists (const char *EncryptedUsrCod);
void Usr_WriteFormLoginLogout (void);
void Usr_WriteLandingPage (void);
void Usr_WriteFormLogout (void);
void Usr_Logout (void);
void Usr_PutLinkToLogin (void);
void Usr_WriteFormLogin (void);