Version 16.50

This commit is contained in:
Antonio Cañas Vargas 2016-11-10 21:16:23 +01:00
parent 952c6d0efe
commit 8f7f502300
7 changed files with 252 additions and 250 deletions

View File

@ -205,7 +205,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
{
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
extern const char *The_ClassFormNoWrap[The_NUM_THEMES];
extern const char *Txt_Frequent_actions;
extern const char *Txt_My_frequent_actions;
extern const char *Txt_TABS_FULL_TXT[Tab_NUM_TABS];
unsigned NumAct;
Act_Action_t Action;
@ -216,7 +216,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
char TabMenuStr[128+6+128+1];
/***** Start frame *****/
Lay_StartRoundFrame (NULL,Txt_Frequent_actions,NULL);
Lay_StartRoundFrame (NULL,Txt_My_frequent_actions,NULL);
fprintf (Gbl.F.Out,"<div id=\"MFU_actions_big\">");
/***** Write list of frequently used actions *****/
@ -263,7 +263,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions)
{
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
extern const char *Txt_Frequent_actions;
extern const char *Txt_My_frequent_actions;
extern const char *Txt_Frequent_ACTIONS;
extern const char *Txt_TABS_FULL_TXT[Tab_NUM_TABS];
unsigned NumAct;
@ -277,7 +277,7 @@ void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions)
/***** Start div and link *****/
fprintf (Gbl.F.Out,"<div id=\"MFU_actions\">");
Act_FormStart (ActMFUAct);
Act_LinkFormSubmit (Txt_Frequent_actions,"MFU_ACT",NULL);
Act_LinkFormSubmit (Txt_My_frequent_actions,"MFU_ACT",NULL);
fprintf (Gbl.F.Out," %s"
"</a>",
Txt_Frequent_ACTIONS);

View File

@ -1295,42 +1295,42 @@ Statistics:
1111. ActReqStaCrs Request statistics of courses
1112. ActReqAccGbl Request query of clicks to the complete platform
1113. ActReqMyUsgRep Request my usage report
1114. ActMFUAct Show most frequently used actions
1114. ActSeeOneSvy Show one survey
1115. ActAnsSvy Answer a survey
1116. ActFrmNewSvy Form to create a new survey
1117. ActEdiOneSvy Edit one survey
1118. ActNewSvy Create new survey
1119. ActChgSvy Modify data of an existing survey
1120. ActReqRemSvy Request the removal of a survey
1121. ActRemSvy Remove survey
1122. ActReqRstSvy Request the reset of answers of a survey
1123. ActRstSvy Reset answers of survey
1124. ActHidSvy Hide survey
1125. ActShoSvy Show survey
1126. ActEdiOneSvyQst Edit a new question for a survey
1127. ActRcvSvyQst Receive a question of a survey
1128. ActReqRemSvyQst Request the removal of a question of a survey
1129. ActRemSvyQst Confirm the removal of a question of a survey
1130. ActSeeUseGbl Show use of the platform
1131. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree.
1132. ActCalPhoDeg Compute the average photos of the students of each degree
1133. ActSeeAccGbl Query clicks to the complete platform
1134. ActReqAccCrs Request query of clicks in the course
1135. ActSeeAccCrs Query clicks to current course
1136. ActSeeAllStaCrs Show statistics of courses
1137. ActSeeMyUsgRep Show my usage report
1115. ActSeeOneSvy Show one survey
1116. ActAnsSvy Answer a survey
1117. ActFrmNewSvy Form to create a new survey
1118. ActEdiOneSvy Edit one survey
1119. ActNewSvy Create new survey
1120. ActChgSvy Modify data of an existing survey
1121. ActReqRemSvy Request the removal of a survey
1122. ActRemSvy Remove survey
1123. ActReqRstSvy Request the reset of answers of a survey
1124. ActRstSvy Reset answers of survey
1125. ActHidSvy Hide survey
1126. ActShoSvy Show survey
1127. ActEdiOneSvyQst Edit a new question for a survey
1128. ActRcvSvyQst Receive a question of a survey
1129. ActReqRemSvyQst Request the removal of a question of a survey
1130. ActRemSvyQst Confirm the removal of a question of a survey
1131. ActSeeUseGbl Show use of the platform
1132. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree.
1133. ActCalPhoDeg Compute the average photos of the students of each degree
1134. ActSeeAccGbl Query clicks to the complete platform
1135. ActReqAccCrs Request query of clicks in the course
1136. ActSeeAccCrs Query clicks to current course
1137. ActSeeAllStaCrs Show statistics of courses
1138. ActSeeMyUsgRep Show my usage report
Profile:
1138. ActFrmLogIn Show landing page (forms to log in and to create a new account)
1139. ActFrmRolSes Show form to log out and to change current role in this session
1140. ActMyCrs Select one of my courses
1141. ActSeeMyTT Show the timetable of all courses of the logged user
1142. ActSeeMyAgd Show my agenda (personal organizer)
1143. ActFrmMyAcc Show form to the creation or change of user's account
1144. ActReqEdiRecCom Request the edition of the record with the personal data of the user
1145. ActEdiPrf Show forms to edit preferences
1146. ActAdmBrf Show the briefcase of private archives
1147. ActMFUAct Show most frequently used actions
1139. ActFrmLogIn Show landing page (forms to log in and to create a new account)
1140. ActFrmRolSes Show form to log out and to change current role in this session
1141. ActMyCrs Select one of my courses
1142. ActSeeMyTT Show the timetable of all courses of the logged user
1143. ActSeeMyAgd Show my agenda (personal organizer)
1144. ActFrmMyAcc Show form to the creation or change of user's account
1145. ActReqEdiRecCom Request the edition of the record with the personal data of the user
1146. ActEdiPrf Show forms to edit preferences
1147. ActAdmBrf Show the briefcase of private archives
1148. ActReqSndNewPwd Show form to send a new password via e-mail
1149. ActSndNewPwd Send a new password via e-mail
@ -2727,6 +2727,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActReqStaCrs */{ 767, 3,TabSta,ActReqStaCrs ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Ind_ReqIndicatorsCourses ,"tablestats64x64.gif" },
/* ActReqAccGbl */{ 591, 4,TabSta,ActReqAccGbl ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Sta_SetIniEndDates ,Sta_AskShowGblHits ,"stats64x64.gif" },
/* ActReqMyUsgRep */{1586, 5,TabSta,ActReqMyUsgRep ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Rep_ReqMyUsageReport ,"report64x64.png" },
/* ActMFUAct */{ 993, 6,TabSta,ActMFUAct ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,MFU_ShowMyMFUActions ,"star64x64.gif" },
// Actions not in menu:
/* ActSeeOneSvy */{ 982,-1,TabUnk,ActSeeAllSvy ,0x1F8,0x1F8,0x1F8,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Svy_SeeOneSurvey ,NULL},
@ -2769,7 +2770,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActReqEdiRecCom */{ 285, 6,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Rec_ShowFormMyCommRecord ,"card64x64.gif" },
/* ActEdiPrf */{ 673, 7,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Pre_EditPrefs ,"heart64x64.gif" },
/* ActAdmBrf */{ 23, 8,TabPrf,ActAdmBrf ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"pendrive64x64.gif" },
/* ActMFUAct */{ 993, 9,TabPrf,ActMFUAct ,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,MFU_ShowMyMFUActions ,"star64x64.gif" },
// Actions not in menu:
/* ActReqSndNewPwd */{ 665,-1,TabUnk,ActFrmLogIn ,0x000,0x001,0x001,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Pwd_ShowFormSendNewPwd ,NULL},

View File

@ -55,7 +55,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+14+93+73+70+249+186+155+172+36+30+86)
#define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+186+155+172+36+31+85)
#define Act_MAX_ACTION_COD 1601
@ -1328,34 +1328,35 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActReqStaCrs (ActUnbUsrLst+ 4)
#define ActReqAccGbl (ActUnbUsrLst+ 5)
#define ActReqMyUsgRep (ActUnbUsrLst+ 6)
#define ActMFUAct (ActUnbUsrLst+ 7)
// Secondary actions
#define ActSeeOneSvy (ActUnbUsrLst+ 7)
#define ActAnsSvy (ActUnbUsrLst+ 8)
#define ActFrmNewSvy (ActUnbUsrLst+ 9)
#define ActEdiOneSvy (ActUnbUsrLst+ 10)
#define ActNewSvy (ActUnbUsrLst+ 11)
#define ActChgSvy (ActUnbUsrLst+ 12)
#define ActReqRemSvy (ActUnbUsrLst+ 13)
#define ActRemSvy (ActUnbUsrLst+ 14)
#define ActReqRstSvy (ActUnbUsrLst+ 15)
#define ActRstSvy (ActUnbUsrLst+ 16)
#define ActHidSvy (ActUnbUsrLst+ 17)
#define ActShoSvy (ActUnbUsrLst+ 18)
#define ActEdiOneSvyQst (ActUnbUsrLst+ 19)
#define ActRcvSvyQst (ActUnbUsrLst+ 20)
#define ActReqRemSvyQst (ActUnbUsrLst+ 21)
#define ActRemSvyQst (ActUnbUsrLst+ 22)
#define ActSeeOneSvy (ActUnbUsrLst+ 8)
#define ActAnsSvy (ActUnbUsrLst+ 9)
#define ActFrmNewSvy (ActUnbUsrLst+ 10)
#define ActEdiOneSvy (ActUnbUsrLst+ 11)
#define ActNewSvy (ActUnbUsrLst+ 12)
#define ActChgSvy (ActUnbUsrLst+ 13)
#define ActReqRemSvy (ActUnbUsrLst+ 14)
#define ActRemSvy (ActUnbUsrLst+ 15)
#define ActReqRstSvy (ActUnbUsrLst+ 16)
#define ActRstSvy (ActUnbUsrLst+ 17)
#define ActHidSvy (ActUnbUsrLst+ 18)
#define ActShoSvy (ActUnbUsrLst+ 19)
#define ActEdiOneSvyQst (ActUnbUsrLst+ 20)
#define ActRcvSvyQst (ActUnbUsrLst+ 21)
#define ActReqRemSvyQst (ActUnbUsrLst+ 22)
#define ActRemSvyQst (ActUnbUsrLst+ 23)
#define ActSeeUseGbl (ActUnbUsrLst+ 23)
#define ActPrnPhoDeg (ActUnbUsrLst+ 24)
#define ActCalPhoDeg (ActUnbUsrLst+ 25)
#define ActSeeAccGbl (ActUnbUsrLst+ 26)
#define ActReqAccCrs (ActUnbUsrLst+ 27)
#define ActSeeAccCrs (ActUnbUsrLst+ 28)
#define ActSeeAllStaCrs (ActUnbUsrLst+ 29)
#define ActSeeUseGbl (ActUnbUsrLst+ 24)
#define ActPrnPhoDeg (ActUnbUsrLst+ 25)
#define ActCalPhoDeg (ActUnbUsrLst+ 26)
#define ActSeeAccGbl (ActUnbUsrLst+ 27)
#define ActReqAccCrs (ActUnbUsrLst+ 28)
#define ActSeeAccCrs (ActUnbUsrLst+ 29)
#define ActSeeAllStaCrs (ActUnbUsrLst+ 30)
#define ActSeeMyUsgRep (ActUnbUsrLst+ 30)
#define ActSeeMyUsgRep (ActUnbUsrLst+ 31)
/*****************************************************************************/
/******************************** Profile tab ********************************/
@ -1370,94 +1371,93 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActReqEdiRecCom (ActSeeMyUsgRep+ 7)
#define ActEdiPrf (ActSeeMyUsgRep+ 8)
#define ActAdmBrf (ActSeeMyUsgRep+ 9)
#define ActMFUAct (ActSeeMyUsgRep+10)
// Secondary actions
#define ActReqSndNewPwd (ActSeeMyUsgRep+11)
#define ActSndNewPwd (ActSeeMyUsgRep+12)
#define ActLogOut (ActSeeMyUsgRep+13)
#define ActAutUsrInt (ActSeeMyUsgRep+14)
#define ActAutUsrNew (ActSeeMyUsgRep+15)
#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 ActReqSndNewPwd (ActSeeMyUsgRep+10)
#define ActSndNewPwd (ActSeeMyUsgRep+11)
#define ActLogOut (ActSeeMyUsgRep+12)
#define ActAutUsrInt (ActSeeMyUsgRep+13)
#define ActAutUsrNew (ActSeeMyUsgRep+14)
#define ActAutUsrChgLan (ActSeeMyUsgRep+15)
#define ActAnnSee (ActSeeMyUsgRep+16)
#define ActChgMyRol (ActSeeMyUsgRep+17)
#define ActChkUsrAcc (ActSeeMyUsgRep+18)
#define ActCreUsrAcc (ActSeeMyUsgRep+19)
#define ActRemID_Me (ActSeeMyUsgRep+20)
#define ActNewIDMe (ActSeeMyUsgRep+21)
#define ActRemOldNic (ActSeeMyUsgRep+22)
#define ActChgNic (ActSeeMyUsgRep+23)
#define ActRemMaiMe (ActSeeMyUsgRep+24)
#define ActNewMaiMe (ActSeeMyUsgRep+25)
#define ActCnfMai (ActSeeMyUsgRep+26)
#define ActFrmChgMyPwd (ActSeeMyUsgRep+27)
#define ActChgPwd (ActSeeMyUsgRep+28)
#define ActReqRemMyAcc (ActSeeMyUsgRep+29)
#define ActRemMyAcc (ActSeeMyUsgRep+30)
#define ActChgMyData (ActSeeMyUsgRep+32)
#define ActChgMyData (ActSeeMyUsgRep+31)
#define ActReqMyPho (ActSeeMyUsgRep+33)
#define ActDetMyPho (ActSeeMyUsgRep+34)
#define ActUpdMyPho (ActSeeMyUsgRep+35)
#define ActReqRemMyPho (ActSeeMyUsgRep+36)
#define ActRemMyPho (ActSeeMyUsgRep+37)
#define ActReqMyPho (ActSeeMyUsgRep+32)
#define ActDetMyPho (ActSeeMyUsgRep+33)
#define ActUpdMyPho (ActSeeMyUsgRep+34)
#define ActReqRemMyPho (ActSeeMyUsgRep+35)
#define ActRemMyPho (ActSeeMyUsgRep+36)
#define ActEdiPri (ActSeeMyUsgRep+38)
#define ActChgPriPho (ActSeeMyUsgRep+39)
#define ActChgPriPrf (ActSeeMyUsgRep+40)
#define ActEdiPri (ActSeeMyUsgRep+37)
#define ActChgPriPho (ActSeeMyUsgRep+38)
#define ActChgPriPrf (ActSeeMyUsgRep+39)
#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 ActReqEdiMyIns (ActSeeMyUsgRep+40)
#define ActChgCtyMyIns (ActSeeMyUsgRep+41)
#define ActChgMyIns (ActSeeMyUsgRep+42)
#define ActChgMyCtr (ActSeeMyUsgRep+43)
#define ActChgMyDpt (ActSeeMyUsgRep+44)
#define ActChgMyOff (ActSeeMyUsgRep+45)
#define ActChgMyOffPho (ActSeeMyUsgRep+46)
#define ActReqEdiMyNet (ActSeeMyUsgRep+48)
#define ActChgMyNet (ActSeeMyUsgRep+49)
#define ActReqEdiMyNet (ActSeeMyUsgRep+47)
#define ActChgMyNet (ActSeeMyUsgRep+48)
#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 ActChgThe (ActSeeMyUsgRep+49)
#define ActReqChgLan (ActSeeMyUsgRep+50)
#define ActChgLan (ActSeeMyUsgRep+51)
#define ActChg1stDay (ActSeeMyUsgRep+52)
#define ActChgCol (ActSeeMyUsgRep+53)
#define ActHidLftCol (ActSeeMyUsgRep+54)
#define ActHidRgtCol (ActSeeMyUsgRep+55)
#define ActShoLftCol (ActSeeMyUsgRep+56)
#define ActShoRgtCol (ActSeeMyUsgRep+57)
#define ActChgIco (ActSeeMyUsgRep+58)
#define ActChgMnu (ActSeeMyUsgRep+59)
#define ActChgNtfPrf (ActSeeMyUsgRep+60)
#define ActPrnUsrQR (ActSeeMyUsgRep+62)
#define ActPrnUsrQR (ActSeeMyUsgRep+61)
#define ActPrnMyTT (ActSeeMyUsgRep+63)
#define ActEdiTut (ActSeeMyUsgRep+64)
#define ActChgTut (ActSeeMyUsgRep+65)
#define ActChgMyTT1stDay (ActSeeMyUsgRep+66)
#define ActPrnMyTT (ActSeeMyUsgRep+62)
#define ActEdiTut (ActSeeMyUsgRep+63)
#define ActChgTut (ActSeeMyUsgRep+64)
#define ActChgMyTT1stDay (ActSeeMyUsgRep+65)
#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 ActReqRemFilBrf (ActSeeMyUsgRep+66)
#define ActRemFilBrf (ActSeeMyUsgRep+67)
#define ActRemFolBrf (ActSeeMyUsgRep+68)
#define ActCopBrf (ActSeeMyUsgRep+69)
#define ActPasBrf (ActSeeMyUsgRep+70)
#define ActRemTreBrf (ActSeeMyUsgRep+71)
#define ActFrmCreBrf (ActSeeMyUsgRep+72)
#define ActCreFolBrf (ActSeeMyUsgRep+73)
#define ActCreLnkBrf (ActSeeMyUsgRep+74)
#define ActRenFolBrf (ActSeeMyUsgRep+75)
#define ActRcvFilBrfDZ (ActSeeMyUsgRep+76)
#define ActRcvFilBrfCla (ActSeeMyUsgRep+77)
#define ActExpBrf (ActSeeMyUsgRep+78)
#define ActConBrf (ActSeeMyUsgRep+79)
#define ActZIPBrf (ActSeeMyUsgRep+80)
#define ActReqDatBrf (ActSeeMyUsgRep+81)
#define ActChgDatBrf (ActSeeMyUsgRep+82)
#define ActDowBrf (ActSeeMyUsgRep+83)
#define ActReqRemOldBrf (ActSeeMyUsgRep+85)
#define ActRemOldBrf (ActSeeMyUsgRep+86)
#define ActReqRemOldBrf (ActSeeMyUsgRep+84)
#define ActRemOldBrf (ActSeeMyUsgRep+85)
/*****************************************************************************/
/******************************** Public types *******************************/

View File

@ -156,13 +156,15 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.49.1 (2016-11-10)"
#define Log_PLATFORM_VERSION "SWAD 16.50 (2016-11-10)"
#define CSS_FILE "swad16.48.4.css"
#define JS_FILE "swad16.46.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.50: Nov 10, 2016 My frequent actions are moved from PROFILE tab to STATS tab.
Some messages translated. (206558 lines)
Version 16.49.1: Nov 10, 2016 Message translated. (206556 lines)
Version 16.49: Nov 08, 2016 Set some user's figures to 0 when creating an account. (206555 lines)
Version 16.48.12: Nov 07, 2016 Icon in my webs / social networks to show figure (statistics). (206537 lines)

View File

@ -178,6 +178,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActReqStaCrs,
ActReqAccGbl,
ActReqMyUsgRep,
ActMFUAct,
},
// TabPrf **********
{
@ -190,7 +191,6 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActReqEdiRecCom,
ActEdiPrf,
ActAdmBrf,
ActMFUAct,
},
};

View File

@ -3510,7 +3510,7 @@ void Rec_ShowFormMyInsCtrDpt (void)
extern const char *Txt_Please_fill_in_your_centre_and_department;
extern const char *Txt_Institution_centre_and_department;
extern const char *Txt_Institution;
extern const char *Txt_Country_of_the_institution;
extern const char *Txt_Country_of_your_institution;
extern const char *Txt_Another_institution;
extern const char *Txt_Centre;
extern const char *Txt_Another_centre;
@ -3546,7 +3546,7 @@ void Rec_ShowFormMyInsCtrDpt (void)
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">",
ClassForm,Txt_Country_of_the_institution,
ClassForm,Txt_Country_of_your_institution,
COL2_WIDTH);
/* If list of countries is empty, try to get it */

View File

@ -168,7 +168,7 @@ const char *Txt_Do_you_want_to_change_the_language_to_LANGUAGE[1+Txt_NUM_LANGUAG
const char *Txt_Do_you_want_to_change_your_language_to_LANGUAGE[1+Txt_NUM_LANGUAGES] =
{
"",
"Voleu canviar el vostre idioma a catal&agrave;?",
"Voleu canviar el seu idioma a catal&agrave;?",
"Wollen Sie Ihre Sprache auf Deutsch umstellen?",
"Do you want to change your language to English?",
"&iquest;Desea cambiar su idioma a espa&ntilde;ol?",
@ -461,7 +461,7 @@ const char *Txt_If_you_no_longer_wish_to_receive_email_notifications_NO_HTML[1+T
{
"",
"Si no desitgeu rebre més avisos per correu,"
" desactiveu la opció corresponent en les preferències del vostre perfil.",
" desactiveu la opció corresponent en les preferències del seu perfil.",
"Wenn Sie nicht mehr erhalten möchten, E-Mail-Benachrichtigungen,"
" Deaktivieren Sie die Option in den Einstellungen Ihres Profils.",
"If you no longer wish to receive e-mail notifications,"
@ -881,7 +881,7 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H
#if L==1
"Se li ha assignat la següent contrasenya per entrar a %s: %s\n"
"Si desitja activar aquesta nova contrasenya,"
" ha de entrar a %s amb el vostre ID (DNI/cédula), sobrenom o e-mail"
" ha de entrar a %s amb el seu ID (DNI/cédula), sobrenom o e-mail"
" i aquesta nova contrasenya abans de %u dies."
" Un cop hagi entrat, pot canviar la contrasenya per una altra.\n"
"Si no accedeix amb aquesta nova contrasenya,"
@ -890,7 +890,7 @@ const char *Txt_The_following_password_has_been_assigned_to_you_to_log_in_X_NO_H
" es deu a que algú que coneix el vostre ID (DNI/cédula), el vostre sobrenom o el vostre e-mail"
" ha sol&middot;licitat l'enviament de una nova contrasenya per a vostè.\n"
"Aquesta nova contrasenya se ha enviat només a la adreça de correu %s,"
" que és la que apareix a la vostra fitxa.\n\n";
" que és la que apareix a la seva fitxa.\n\n";
#elif L==2
"The following password has been assigned to you to log in %s: %s\n"
"If you want to activate the new password,"
@ -3567,7 +3567,7 @@ const char *Txt_Banners =
const char *Txt_Before_creating_a_new_account_check_if_you_have_been_already_registered_with_your_ID =
#if L==1
"Abans de crear un compte nou,"
" comprovi si ja li han inscrit amb el vostre ID";
" comprovi si ja li han inscrit amb el seu ID";
#elif L==2
"Bevor ein neues Benutzerkonto erstellen,"
" wenn Sie bereits mit Ihrer ID registriert worden sind";
@ -3597,7 +3597,7 @@ const char *Txt_Before_creating_a_new_account_check_if_you_have_been_already_reg
const char *Txt_Before_going_to_any_other_option_you_must_fill_your_nickname =
#if L==1
"Abans d'accedir a qualsevol altra opci&oacute;"
" ha de crear el vostre sobrenom.";
" ha de crear el seu sobrenom.";
#elif L==2
"Bevor ich auf jede andere Option"
" m&uuml;ssen Sie Ihr Benutzernamen erstellen.";
@ -3627,7 +3627,7 @@ const char *Txt_Before_going_to_any_other_option_you_must_fill_your_nickname =
const char *Txt_Before_going_to_any_other_option_you_must_create_your_password =
#if L==1
"Abans d'accedir a qualsevol altra opci&oacute;"
" ha de crear la vostra contrasenya.";
" ha de crear la seva contrasenya.";
#elif L==2
"Bevor ich auf jede andere Option"
" m&uuml;ssen Sie Ihr Passwort erstellen.";
@ -4995,11 +4995,11 @@ const char *Txt_Confirm_my_enrollment =
const char *Txt_Congratulations_You_have_created_your_account_X_Now_Y_will_request_you_ = // Warning: it is very important to include two %s in the following sentences
#if L==1
"Enhorabona! Ha creat el vostre compte @%s."
" Ara %s li demanar&agrave; algunes dades per completar el vostre perfil."
" Despr&eacute;s podr&agrave; sol&middot;licitar la vostra inscripci&oacute; en assignatures."
"Enhorabona! Ha creat el seu compte @%s."
" Ara %s li demanar&agrave; algunes dades per completar el seu perfil."
" Despr&eacute;s podr&agrave; sol&middot;licitar la seva inscripci&oacute; en assignatures."
" Si no hi ha una assignatura,"
" vost&egrave; pot crear abans de sol&middot;licitar la vostra inscripci&oacute; en ella"
" vost&egrave; pot crear abans de sol&middot;licitar la seva inscripci&oacute; en ella"
" (el mateix &eacute;s aplicable a institucions, centres i titulacions).";
#elif L==2
"Herzlichen Gl&uuml;ckwunsch! Du hast Dein Benutzerkonto <strong>@%s</strong> erstellt."
@ -5457,25 +5457,25 @@ const char *Txt_Country =
"Pa&iacute;s";
#endif
const char *Txt_Country_of_the_institution =
const char *Txt_Country_of_your_institution =
#if L==1
"Pa&iacute;s de la instituci&oacute;";
"Pa&iacute;s de la seva instituci&oacute;";
#elif L==2
"Land der Hochschule";
"Land Ihrer Hochschule";
#elif L==3
"Country of the institution";
"Country of your institution";
#elif L==4
"Pa&iacute;s de la instituci&oacute;n";
"Pa&iacute;s de su instituci&oacute;n";
#elif L==5
"Pays du &eacute;tablissement";
"Pays de votre &eacute;tablissement";
#elif L==6
"Tet&atilde; mbo'ehao";
#elif L==7
"Paese della istituzione";
"Paese della vostra istituzione";
#elif L==8
"Kraj instytucji";
"Kraj swojej instytucji";
#elif L==9
"Pa&iacute;s da institu&ccedil;&atilde;o";
"Pa&iacute;s da sua institu&ccedil;&atilde;o";
#endif
const char *Txt_Country_unspecified =
@ -9255,7 +9255,7 @@ const char *Txt_Do_you_really_want_to_remove_the_type_of_group_X_Y_groups_ = //
const char *Txt_Do_you_really_want_to_remove_your_photo =
#if L==1
"De veres voleu eliminar la vostra foto?";
"De veres voleu eliminar la seva foto?";
#elif L==2
"Wollen Sie die Ihr Foto zu entfernen?";
#elif L==3
@ -12690,7 +12690,7 @@ const char *Txt_FOLLOWS_YOU =
const char *Txt_For_security_enter_your_password =
#if L==1
"Per a m&eacute;s seguretat, introdueixi la vostra contrasenya";
"Per a m&eacute;s seguretat, introdueixi la seva contrasenya";
#elif L==2
"Aus Sicherheitsgr&uuml;nden geben Sie Ihr Passwort";
#elif L==3
@ -13027,27 +13027,6 @@ const char *Txt_Frequent_ACTIONS = // Check that this sentence fits within the a
"Freq&uuml;entes";
#endif
const char *Txt_Frequent_actions =
#if L==1
"Accions freq&uuml;ents";
#elif L==2
"H&auml;ufige Handlungen";
#elif L==3
"Frequent actions";
#elif L==4
"Acciones frecuentes";
#elif L==5
"Frequent actions";
#elif L==6
"Acciones frecuentes"; // Okoteve traducción
#elif L==7
"Azioni frequenti";
#elif L==8
"Cz&eogon;ste dzia&lstrok;ania";
#elif L==9
"A&ccedil;&otilde;es freq&uuml;entes";
#endif
const char *Txt_from =
#if L==1
"de"; // Necessita traduccio
@ -14697,8 +14676,8 @@ const char *Txt_If_this_is_a_new_user_in_X_you_should_indicate_her_his_ID = // W
const char *Txt_If_you_can_not_find_your_institution_your_centre_your_degree_or_your_courses_you_can_create_them =
#if L==1
"Si no trobes la vostra instituci&oacute;, el vostre centre,"
" la vostra titulaci&oacute; o les seves assignatures, pot crear-los.";
"Si no trobes la seva instituci&oacute;, el seu centre,"
" la seva titulaci&oacute; o les seves assignatures, pot crear-los.";
#elif L==2
"Wenn Sie Ihre Institution, Ihre Zentrum, Ihr Studium"
" oder Ihre Kurse nicht finden k&oacute;nnen, k&oacute;nnen Sie sie erstellen.";
@ -19172,6 +19151,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Raport"
#elif L==9
"Relat&oacute;rio"
#endif
,
// ActMFUAct
#if L==1
"Freq&uuml;ents"
#elif L==2
"H&auml;ufige"
#elif L==3
"Frequent"
#elif L==4
"Frecuentes"
#elif L==5
"Frequent"
#elif L==6
"Frecuentes" // Okoteve traducción
#elif L==7
"Frequenti"
#elif L==8
"Cz&eogon;ste"
#elif L==9
"Freq&uuml;entes"
#endif
},
{
@ -19363,27 +19363,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Teczka"
#elif L==9
"Pasta"
#endif
,
// ActMFUAct
#if L==1
"Freq&uuml;ents"
#elif L==2
"H&auml;ufige"
#elif L==3
"Frequent"
#elif L==4
"Frecuentes"
#elif L==5
"Frequent"
#elif L==6
"Frecuentes" // Okoteve traducción
#elif L==7
"Frequenti"
#elif L==8
"Cz&eogon;ste"
#elif L==9
"Freq&uuml;entes"
#endif
}
};
@ -21045,6 +21024,27 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Raport o moim korzystania z platformy"
#elif L==9
"Relat&oacute;rio sobre o meu uso da plataforma"
#endif
,
// ActMFUAct
#if L==1
"Acc&eacute;s directe a les meves accions m&eacute;s freq&uuml;ents"
#elif L==2
"Direkter Zugriff auf meine h&auml;ufige Aktionen"
#elif L==3
"Direct access to my most frequent actions"
#elif L==4
"Acceso directo a mis acciones m&aacute;s frecuentes"
#elif L==5
"Acc&egrave;s direct &agrave; mes actions les plus fr&eacute;quentes"
#elif L==6
"Acceso directo a mis acciones m&aacute;s frecuentes"// Okoteve traducción
#elif L==7
"Accesso diretto alle mie azioni pi&ugrave; frequenti"
#elif L==8
"Bezpo&sacute;redni dost&eogon;p do najcz&eogon;stszych dzia&lstrok;a&nacute;"
#elif L==9
"Acesso direto das minhas a&ccedil;&otilde;es mais freq&uuml;entes"
#endif
},
{
@ -21236,27 +21236,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Pendrive wirtualne"
#elif L==9
"Pasta"
#endif
,
// ActMFUAct
#if L==1
"Acc&eacute;s directe a les meves accions m&eacute;s freq&uuml;ents"
#elif L==2
"Direkter Zugriff auf meine h&auml;ufige Aktionen"
#elif L==3
"Direct access to my most frequent actions"
#elif L==4
"Acceso directo a mis acciones m&aacute;s frecuentes"
#elif L==5
"Acc&egrave;s direct &agrave; mes actions les plus fr&eacute;quentes"
#elif L==6
"Acceso directo a mis acciones m&aacute;s frecuentes"// Okoteve traducción
#elif L==7
"Accesso diretto alle mie azioni pi&ugrave; frequenti"
#elif L==8
"Bezpo&sacute;redni dost&eogon;p do najcz&eogon;stszych dzia&lstrok;a&nacute;"
#elif L==9
"Acesso direto das minhas a&ccedil;&otilde;es mais freq&uuml;entes"
#endif
}
};
@ -23061,6 +23040,27 @@ const char *Txt_my_documents =
"meus documentos";
#endif
const char *Txt_My_frequent_actions =
#if L==1
"Les meves accions freq&uuml;ents";
#elif L==2
"Meine h&auml;ufigen Handlungen";
#elif L==3
"My frequent actions";
#elif L==4
"Mis acciones frecuentes";
#elif L==5
"Mes actions fr&eacute;quentes";
#elif L==6
"Mis acciones frecuentes"; // Okoteve traducción
#elif L==7
"Le mie azioni frequenti";
#elif L==8
"Moi cz&eogon;ste dzia&lstrok;ania";
#elif L==9
"Minhas a&ccedil;&otilde;es freq&uuml;entes";
#endif
const char *Txt_My_groups =
#if L==1
"Meus grups";
@ -28346,7 +28346,7 @@ const char *Txt_PLACES_ORDER[2] =
const char *Txt_Please_check_and_confirm_your_email_address =
#if L==1
"Si us plau, comproveu i confirmeu la vostra adre&ccedil;a de correu.";
"Si us plau, comproveu i confirmeu la seva adre&ccedil;a de correu.";
#elif L==2
"Bitte &uuml;berpr&uuml;fen Sie und Ihre E-Mail-Adresse best&auml;tigen.";
#elif L==3
@ -28367,7 +28367,7 @@ const char *Txt_Please_check_and_confirm_your_email_address =
const char *Txt_Please_enter_your_ID =
#if L==1
"Si us plau, escriviu el vostre ID (DNI/c&egrave;dula).";
"Si us plau, escriviu el seu ID (DNI/c&egrave;dula).";
#elif L==2
"Bitte geben Sie Ihre Ausweis-Nr. &auml;nder.";
#elif L==3
@ -28388,7 +28388,7 @@ const char *Txt_Please_enter_your_ID =
const char *Txt_Please_fill_in_your_centre_and_department =
#if L==1
"Si us plau, ompli el vostre centre i department.";
"Si us plau, ompli el seu centre i department.";
#elif L==2
"Bitte geben Sie Ihre Zentrum und Abteilung zu f&uuml;llen.";
#elif L==3
@ -28409,7 +28409,7 @@ const char *Txt_Please_fill_in_your_centre_and_department =
const char *Txt_Please_fill_in_your_email_address =
#if L==1
"Si us plau, ompli la vostra adre&ccedil;a de correu.";
"Si us plau, ompli la seva adre&ccedil;a de correu.";
#elif L==2
"Bitte geben Sie Ihre E-Mail-Adresse ein.";
#elif L==3
@ -28430,7 +28430,7 @@ const char *Txt_Please_fill_in_your_email_address =
const char *Txt_Please_fill_in_your_ID =
#if L==1
"Si us plau, ompli el vostre ID (DNI/c&egrave;dula)."
"Si us plau, ompli el seu ID (DNI/c&egrave;dula)."
" &Eacute;s una dada opcional,"
" per&ograve; &eacute;s recomanable que l'ompli"
" perqu&egrave; facilita el proc&eacute;s d'inscripci&oacute;"
@ -28486,7 +28486,7 @@ const char *Txt_Please_fill_in_your_ID =
const char *Txt_Please_fill_in_your_institution =
#if L==1
"Si us plau, ompli la vostra instituci&oacute;.";
"Si us plau, ompli la seva instituci&oacute;.";
#elif L==2
"Bitte geben Sie Ihre Einrichtung zu f&uuml;llen.";
#elif L==3
@ -28507,8 +28507,8 @@ const char *Txt_Please_fill_in_your_institution =
const char *Txt_Please_fill_in_your_record_card_including_your_country_nationality =
#if L==1
"Si us plau, ompli la vostra fitxa,"
" incloent el vostre pais (nacionalitat).";
"Si us plau, ompli la seva fitxa,"
" incloent el seu pais (nacionalitat).";
#elif L==2
"Bitte geben Sie Ihre Karteikarte zu f&uuml;llen,"
" einschlie&szlig;lich Ihrem Land (Nationalit&auml;t).";
@ -28536,8 +28536,8 @@ const char *Txt_Please_fill_in_your_record_card_including_your_country_nationali
const char *Txt_Please_fill_in_your_record_card_including_your_name =
#if L==1
"Si us plau, ompli la vostra fitxa,"
" incloent el vostre nom i cognom(s).";
"Si us plau, ompli la seva fitxa,"
" incloent el seu nom i cognom(s).";
#elif L==2
"Bitte geben Sie Ihre Karteikarte zu f&uuml;llen,"
" mit Ihrem Namen.";
@ -28566,7 +28566,7 @@ const char *Txt_Please_fill_in_your_record_card_including_your_name =
const char *Txt_Please_fill_in_your_record_card_including_your_sex =
#if L==1
"Si us plau, ompli la vostra fitxa,"
"Si us plau, ompli la seva fitxa,"
" incloent el sexe.";
#elif L==2
"Bitte geben Sie Ihre Karteikarte zu f&uuml;llen,"
@ -28617,7 +28617,7 @@ const char *Txt_Please_review_your_privacy_preferences =
const char *Txt_Please_select_the_country_of_your_institution =
#if L==1
"Si us plau, seleccioneu el pa&iacute;s de la vostra instituci&oacute;.";
"Si us plau, seleccioneu el pa&iacute;s de la seva instituci&oacute;.";
#elif L==2
"Bitte w&auml;hlen Sie das Land Ihrer Einrichtung aus";
#elif L==3
@ -35720,7 +35720,7 @@ const char *Txt_Select_or_create_one_institution_in_X = // Warning: it is very i
const char *Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here =
#if L==1
"Seleccioneu un o m&eacute;s fitxers del vostre ordinador<br />"
"Seleccioneu un o m&eacute;s fitxers del seu ordinador<br />"
"o arrossegueu i deixeu-los anar aqu&iacute;";
#elif L==2
"W&auml;hlen Sie eine oder mehrere Dateien von Ihrem Computer<br />"
@ -46895,7 +46895,7 @@ const char *Txt_this_field_is_filled_in_the_records_of_X_students = // Warning:
const char *Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists =
#if L==1
"Aquest enlla&ccedil; romandr&agrave; actiu mentre existeixi el vostre compte de l'usuari.";
"Aquest enlla&ccedil; romandr&agrave; actiu mentre existeixi el seu compte de l'usuari.";
#elif L==2
"Diese Verbindung bleibt aktiv, solange das Konto Ihres Benutzers vorhanden.";
#elif L==3
@ -52704,7 +52704,7 @@ const char *Txt_You_can_register_voluntarily_in_one_or_more_groups_of_type_X = /
const char *Txt_You_can_search_for_courses_select_them_and_request_your_enrollment_in_them =
#if L==1
"Podeu cercar assignatures, seleccionar-les"
" i sol&middot;licitar la vostra inscripci&oacute; en elles.";
" i sol&middot;licitar la seva inscripci&oacute; en elles.";
#elif L==2
"Sie k&ouml;nnen f&uuml;r Kurse zu suchen, w&auml;hlen Sie sie aus"
" und fordern Sie Ihre Anmeldung in ihnen.";
@ -53039,7 +53039,7 @@ const char *Txt_You_have_not_confirmed_the_action =
const char *Txt_You_have_not_entered_your_password_correctly =
#if L==1
"No ha introdu&iuml;t correctament la vostra contrasenya.";
"No ha introdu&iuml;t correctament la seva contrasenya.";
#elif L==2
"Sie haben Ihr Passwort nicht korrekt eingegeben wurde.";
#elif L==3
@ -53237,7 +53237,7 @@ const char *Txt_You_must_enter_the_range_of_floating_point_values_allowed_as_ans
const char *Txt_You_must_enter_your_nick_email_or_ID =
#if L==1
"Ha d'escriure el vostre @sobrenom, correu o ID (DNI/c&egrave;dula).";
"Ha d'escriure el seu @sobrenom, correu o ID (DNI/c&egrave;dula).";
#elif L==2
"Bitte geben Sie Ihre @Benutzername, E-mail oder Ausweis-Nr.";
#elif L==3
@ -54591,7 +54591,7 @@ const char *Txt_Your_request_for_enrollment_as_X_in_the_course_Y_has_been_accept
"La seva petici&oacute; d'inscripci&oacute; com <strong>%s</strong>"
" en l'assignatura <strong>%s</strong> ha estat realitzada."
" La petici&oacute; ser&agrave; revisada per un professor o un administrador."
" Vost&egrave; rebr&agrave; una notificaci&oacute; quan s'accepti la vostra inscripci&oacute;.";
" Vost&egrave; rebr&agrave; una notificaci&oacute; quan s'accepti la seva inscripci&oacute;.";
#elif L==2
"Sein Antrag auf Registrierung als <strong>%s</strong>"
" in Kurs <strong>%s</strong> gemacht wurde."