mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-01 22:35:28 +02:00
Version 16.77
This commit is contained in:
parent
6add447c4e
commit
c899d13400
182
swad_action.c
182
swad_action.c
|
@ -81,7 +81,7 @@ extern struct Globals Gbl;
|
||||||
/************************ Internal global variables **************************/
|
/************************ Internal global variables **************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*
|
/*
|
||||||
1230 actions in one CGI:
|
1232 actions in one CGI:
|
||||||
0. ActAll Any action (used for statistics)
|
0. ActAll Any action (used for statistics)
|
||||||
1. ActUnk Unknown action
|
1. ActUnk Unknown action
|
||||||
2. ActHom Show home menu
|
2. ActHom Show home menu
|
||||||
|
@ -1328,7 +1328,7 @@ Profile:
|
||||||
1141. ActMyCrs Select one of my courses
|
1141. ActMyCrs Select one of my courses
|
||||||
1142. ActSeeMyTT Show the timetable of all courses of the logged user
|
1142. ActSeeMyTT Show the timetable of all courses of the logged user
|
||||||
1143. ActSeeMyAgd Show my agenda (personal organizer)
|
1143. ActSeeMyAgd Show my agenda (personal organizer)
|
||||||
1144. ActSeeMyLoc Show my location
|
1144. ActSeeMyLoc Show my locations
|
||||||
1145. ActFrmMyAcc Show form to the creation or change of user's account
|
1145. ActFrmMyAcc Show form to the creation or change of user's account
|
||||||
1146. ActReqEdiRecCom Request the edition of the record with the personal data of the user
|
1146. ActReqEdiRecCom Request the edition of the record with the personal data of the user
|
||||||
1147. ActEdiPrf Show forms to edit preferences
|
1147. ActEdiPrf Show forms to edit preferences
|
||||||
|
@ -1344,89 +1344,91 @@ Profile:
|
||||||
1155. ActAnnSee Mark announcement as seen
|
1155. ActAnnSee Mark announcement as seen
|
||||||
1156. ActChgMyRol Change type of logged user
|
1156. ActChgMyRol Change type of logged user
|
||||||
|
|
||||||
1157. ActEdiLoc Edit my locations
|
1157. ActFrmNewLoc Form to create a new location
|
||||||
1158. ActNewLoc Request the creation of a location
|
1158. ActEdiOneLoc Edit one location
|
||||||
1159. ActRemLoc Remove a location
|
1159. ActNewLoc Create new location
|
||||||
1160. ActChgLocStrDat Change start date of a location
|
1160. ActChgLoc Modify data of an existing location
|
||||||
1161. ActChgLocEndDat Change end date of a location
|
1161. ActReqRemLoc Request the removal of a location
|
||||||
1162. ActRenLoc Rename a location
|
1162. ActRemLoc Remove location
|
||||||
|
1163. ActHidLoc Hide location
|
||||||
|
1164. ActShoLoc Show location
|
||||||
|
|
||||||
1163. ActChkUsrAcc Check if already exists a new account without password associated to a ID
|
1165. ActChkUsrAcc Check if already exists a new account without password associated to a ID
|
||||||
1164. ActCreUsrAcc Create new user account
|
1166. ActCreUsrAcc Create new user account
|
||||||
1165. ActRemID_Me Remove one of my user's IDs
|
1167. ActRemID_Me Remove one of my user's IDs
|
||||||
1166. ActNewIDMe Create a new user's ID for me
|
1168. ActNewIDMe Create a new user's ID for me
|
||||||
1167. ActRemOldNic Remove one of my old nicknames
|
1169. ActRemOldNic Remove one of my old nicknames
|
||||||
1168. ActChgNic Change my nickname
|
1170. ActChgNic Change my nickname
|
||||||
1169. ActRemMaiMe Remove one of my old emails
|
1171. ActRemMaiMe Remove one of my old emails
|
||||||
1170. ActNewMaiMe Change my email address
|
1172. ActNewMaiMe Change my email address
|
||||||
1171. ActCnfMai Confirm email address
|
1173. ActCnfMai Confirm email address
|
||||||
1172. ActFrmChgMyPwd Show form to the change of the password
|
1174. ActFrmChgMyPwd Show form to the change of the password
|
||||||
1173. ActChgPwd Change the password
|
1175. ActChgPwd Change the password
|
||||||
1174. ActReqRemMyAcc Request the removal of my account
|
1176. ActReqRemMyAcc Request the removal of my account
|
||||||
1175. ActRemMyAcc Remove my account
|
1177. ActRemMyAcc Remove my account
|
||||||
|
|
||||||
1176. ActChgMyData Update my personal data
|
1178. ActChgMyData Update my personal data
|
||||||
|
|
||||||
1177. ActReqMyPho Show form to send my photo
|
1179. ActReqMyPho Show form to send my photo
|
||||||
1178. ActDetMyPho Receive my photo and detect faces on it
|
1180. ActDetMyPho Receive my photo and detect faces on it
|
||||||
1179. ActUpdMyPho Update my photo
|
1181. ActUpdMyPho Update my photo
|
||||||
1180. ActReqRemMyPho Request the removal of my photo
|
1182. ActReqRemMyPho Request the removal of my photo
|
||||||
1181. ActRemMyPho Remove my photo
|
1183. ActRemMyPho Remove my photo
|
||||||
|
|
||||||
1182. ActEdiPri Edit my privacy
|
1184. ActEdiPri Edit my privacy
|
||||||
1183. ActChgPriPho Change privacy of my photo
|
1185. ActChgPriPho Change privacy of my photo
|
||||||
1184. ActChgPriPrf Change privacy of my public profile
|
1186. ActChgPriPrf Change privacy of my public profile
|
||||||
|
|
||||||
1185. ActReqEdiMyIns Request the edition of my institution, centre and department
|
1187. ActReqEdiMyIns Request the edition of my institution, centre and department
|
||||||
1186. ActChgCtyMyIns Change the country of my institution
|
1188. ActChgCtyMyIns Change the country of my institution
|
||||||
1187. ActChgMyIns Change my institution
|
1189. ActChgMyIns Change my institution
|
||||||
1188. ActChgMyCtr Change my centre
|
1190. ActChgMyCtr Change my centre
|
||||||
1189. ActChgMyDpt Change my department
|
1191. ActChgMyDpt Change my department
|
||||||
1190. ActChgMyOff Change my office
|
1192. ActChgMyOff Change my office
|
||||||
1191. ActChgMyOffPho Change my office phone
|
1193. ActChgMyOffPho Change my office phone
|
||||||
|
|
||||||
1192. ActReqEdiMyNet Request the edition of my social networks
|
1194. ActReqEdiMyNet Request the edition of my social networks
|
||||||
1193. ActChgMyNet Change my web and social networks
|
1195. ActChgMyNet Change my web and social networks
|
||||||
|
|
||||||
1194. ActChgThe Change theme
|
1196. ActChgThe Change theme
|
||||||
1195. ActReqChgLan Ask if change language
|
1197. ActReqChgLan Ask if change language
|
||||||
1196. ActChgLan Change language
|
1198. ActChgLan Change language
|
||||||
1197. ActChg1stDay Change first day of the week
|
1199. ActChg1stDay Change first day of the week
|
||||||
1198. ActChgCol Change side columns
|
1200. ActChgCol Change side columns
|
||||||
1119. ActHidLftCol Hide left side column
|
1201. ActHidLftCol Hide left side column
|
||||||
1200. ActHidRgtCol Hide right side column
|
1202. ActHidRgtCol Hide right side column
|
||||||
1201. ActShoLftCol Show left side column
|
1203. ActShoLftCol Show left side column
|
||||||
1202. ActShoRgtCol Show right side column
|
1204. ActShoRgtCol Show right side column
|
||||||
1203. ActChgIco Change icon set
|
1205. ActChgIco Change icon set
|
||||||
1204. ActChgMnu Change menu
|
1206. ActChgMnu Change menu
|
||||||
1205. ActChgNtfPrf Change whether to notify by email new messages
|
1207. ActChgNtfPrf Change whether to notify by email new messages
|
||||||
1206. ActPrnUsrQR Show my QR code ready to print
|
1208. ActPrnUsrQR Show my QR code ready to print
|
||||||
|
|
||||||
1207. ActPrnMyTT Show the timetable listo to impresión of all my courses
|
1209. ActPrnMyTT Show the timetable listo to impresión of all my courses
|
||||||
1208. ActEdiTut Edit the timetable of tutorías
|
1210. ActEdiTut Edit the timetable of tutorías
|
||||||
1209. ActChgTut Modify the timetable of tutorías
|
1211. ActChgTut Modify the timetable of tutorías
|
||||||
1210. ActChgMyTT1stDay Change first day of week and show timetable of the course
|
1212. ActChgMyTT1stDay Change first day of week and show timetable of the course
|
||||||
|
|
||||||
1211. ActReqRemFilBrf Request removal of a file of the briefcase
|
1213. ActReqRemFilBrf Request removal of a file of the briefcase
|
||||||
1212. ActRemFilBrf Remove a file of the briefcase
|
1214. ActRemFilBrf Remove a file of the briefcase
|
||||||
1213. ActRemFolBrf Remove a folder empty of the briefcase
|
1215. ActRemFolBrf Remove a folder empty of the briefcase
|
||||||
1214. ActCopBrf Set source of copy in the briefcase
|
1216. ActCopBrf Set source of copy in the briefcase
|
||||||
1215. ActPasBrf Paste a folder or file in the briefcase
|
1217. ActPasBrf Paste a folder or file in the briefcase
|
||||||
1216. ActRemTreBrf Remove a folder no empty of the briefcase
|
1218. ActRemTreBrf Remove a folder no empty of the briefcase
|
||||||
1217. ActFrmCreBrf Form to crear a folder or file in the briefcase
|
1219. ActFrmCreBrf Form to crear a folder or file in the briefcase
|
||||||
1218. ActCreFolBrf Create a new folder in the briefcase
|
1220. ActCreFolBrf Create a new folder in the briefcase
|
||||||
1219. ActCreLnkBrf Create a new link in the briefcase
|
1221. ActCreLnkBrf Create a new link in the briefcase
|
||||||
1220. ActRenFolBrf Rename a folder of the briefcase
|
1222. ActRenFolBrf Rename a folder of the briefcase
|
||||||
1221. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
|
1223. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
|
||||||
1222. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
|
1224. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
|
||||||
1223. ActExpBrf Expand a folder in briefcase
|
1225. ActExpBrf Expand a folder in briefcase
|
||||||
1224. ActConBrf Contract a folder in briefcase
|
1226. ActConBrf Contract a folder in briefcase
|
||||||
1225. ActZIPBrf Compress a folder in briefcase
|
1227. ActZIPBrf Compress a folder in briefcase
|
||||||
1226. ActReqDatBrf Ask for metadata of a file in the briefcase
|
1228. ActReqDatBrf Ask for metadata of a file in the briefcase
|
||||||
1227. ActChgDatBrf Change metadata of a file in the briefcase
|
1229. ActChgDatBrf Change metadata of a file in the briefcase
|
||||||
1228. ActDowBrf Download a file in the briefcase
|
1230. ActDowBrf Download a file in the briefcase
|
||||||
1229. ActReqRemOldBrf Ask for removing old files in the briefcase
|
1231. ActReqRemOldBrf Ask for removing old files in the briefcase
|
||||||
1230. ActRemOldBrf Remove old files in the briefcase
|
1232. ActRemOldBrf Remove old files in the briefcase
|
||||||
*/
|
*/
|
||||||
|
|
||||||
struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
|
@ -2792,12 +2794,14 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* 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},
|
||||||
|
|
||||||
/* ActEdiLoc */{1603,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_EditLocations ,NULL},
|
/* ActFrmNewLoc */{1603,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RequestCreatOrEditLoc ,NULL},
|
||||||
/* ActNewLoc */{1604,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RecFormNewLocation ,NULL},
|
/* ActEdiOneLoc */{1604,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RequestCreatOrEditLoc ,NULL},
|
||||||
/* ActRemLoc */{1605,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RemoveLocation ,NULL},
|
/* ActNewLoc */{1605,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RecFormLocation ,NULL},
|
||||||
/* ActChgLocStrDat */{1606,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_ChangeStartDate ,NULL},
|
/* ActChgLoc */{1606,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RecFormLocation ,NULL},
|
||||||
/* ActChgLocEndDat */{1607,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_ChangeEndDate ,NULL},
|
/* ActReqRemLoc */{1607,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_AskRemLocation ,NULL},
|
||||||
/* ActRenLoc */{1608,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x100,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RenameLocation ,NULL},
|
/* ActRemLoc */{1608,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_RemoveLocation ,NULL},
|
||||||
|
/* ActHidLoc */{1609,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_HideLocation ,NULL},
|
||||||
|
/* ActShoLoc */{1610,-1,TabUnk,ActSeeMyLoc ,0x100,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Loc_ShowLocation ,NULL},
|
||||||
|
|
||||||
/* ActChkUsrAcc */{1584,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_CheckIfEmptyAccountExists ,NULL},
|
/* ActChkUsrAcc */{1584,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_CheckIfEmptyAccountExists ,NULL},
|
||||||
/* ActCreUsrAcc */{1163,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_AfterCreationNewAccount ,NULL},
|
/* ActCreUsrAcc */{1163,-1,TabUnk,ActFrmMyAcc ,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Acc_AfterCreationNewAccount ,NULL},
|
||||||
|
@ -4491,12 +4495,14 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
||||||
ActRenCrsFulCfg, // #1600
|
ActRenCrsFulCfg, // #1600
|
||||||
ActRenCrsShoCfg, // #1601
|
ActRenCrsShoCfg, // #1601
|
||||||
ActSeeMyLoc, // #1602
|
ActSeeMyLoc, // #1602
|
||||||
ActEdiLoc, // #1603
|
ActFrmNewLoc, // #1603
|
||||||
ActNewLoc, // #1604
|
ActEdiOneLoc, // #1604
|
||||||
ActRemLoc, // #1605
|
ActNewLoc, // #1605
|
||||||
ActChgLocStrDat, // #1606
|
ActChgLoc, // #1606
|
||||||
ActChgLocEndDat, // #1607
|
ActReqRemLoc, // #1607
|
||||||
ActRenLoc, // #1608
|
ActRemLoc, // #1608
|
||||||
|
ActHidLoc, // #1609
|
||||||
|
ActShoLoc, // #1610
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
154
swad_action.h
154
swad_action.h
|
@ -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+155+172+36+31+92)
|
#define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+186+155+172+36+31+94)
|
||||||
|
|
||||||
#define Act_MAX_ACTION_COD 1608
|
#define Act_MAX_ACTION_COD 1610
|
||||||
|
|
||||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
|
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
|
||||||
|
|
||||||
|
@ -1381,90 +1381,92 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
||||||
#define ActAutUsrChgLan (ActSeeMyUsgRep+16)
|
#define ActAutUsrChgLan (ActSeeMyUsgRep+16)
|
||||||
#define ActAnnSee (ActSeeMyUsgRep+17)
|
#define ActAnnSee (ActSeeMyUsgRep+17)
|
||||||
#define ActChgMyRol (ActSeeMyUsgRep+18)
|
#define ActChgMyRol (ActSeeMyUsgRep+18)
|
||||||
#define ActEdiLoc (ActSeeMyUsgRep+19)
|
#define ActFrmNewLoc (ActSeeMyUsgRep+19)
|
||||||
#define ActNewLoc (ActSeeMyUsgRep+20)
|
#define ActEdiOneLoc (ActSeeMyUsgRep+20)
|
||||||
#define ActRemLoc (ActSeeMyUsgRep+21)
|
#define ActNewLoc (ActSeeMyUsgRep+21)
|
||||||
#define ActChgLocStrDat (ActSeeMyUsgRep+22)
|
#define ActChgLoc (ActSeeMyUsgRep+22)
|
||||||
#define ActChgLocEndDat (ActSeeMyUsgRep+23)
|
#define ActReqRemLoc (ActSeeMyUsgRep+23)
|
||||||
#define ActRenLoc (ActSeeMyUsgRep+24)
|
#define ActRemLoc (ActSeeMyUsgRep+24)
|
||||||
#define ActChkUsrAcc (ActSeeMyUsgRep+25)
|
#define ActHidLoc (ActSeeMyUsgRep+25)
|
||||||
#define ActCreUsrAcc (ActSeeMyUsgRep+26)
|
#define ActShoLoc (ActSeeMyUsgRep+26)
|
||||||
#define ActRemID_Me (ActSeeMyUsgRep+27)
|
#define ActChkUsrAcc (ActSeeMyUsgRep+27)
|
||||||
#define ActNewIDMe (ActSeeMyUsgRep+28)
|
#define ActCreUsrAcc (ActSeeMyUsgRep+28)
|
||||||
#define ActRemOldNic (ActSeeMyUsgRep+29)
|
#define ActRemID_Me (ActSeeMyUsgRep+29)
|
||||||
#define ActChgNic (ActSeeMyUsgRep+30)
|
#define ActNewIDMe (ActSeeMyUsgRep+30)
|
||||||
#define ActRemMaiMe (ActSeeMyUsgRep+31)
|
#define ActRemOldNic (ActSeeMyUsgRep+31)
|
||||||
#define ActNewMaiMe (ActSeeMyUsgRep+32)
|
#define ActChgNic (ActSeeMyUsgRep+32)
|
||||||
#define ActCnfMai (ActSeeMyUsgRep+33)
|
#define ActRemMaiMe (ActSeeMyUsgRep+33)
|
||||||
#define ActFrmChgMyPwd (ActSeeMyUsgRep+34)
|
#define ActNewMaiMe (ActSeeMyUsgRep+34)
|
||||||
#define ActChgPwd (ActSeeMyUsgRep+35)
|
#define ActCnfMai (ActSeeMyUsgRep+35)
|
||||||
#define ActReqRemMyAcc (ActSeeMyUsgRep+36)
|
#define ActFrmChgMyPwd (ActSeeMyUsgRep+36)
|
||||||
#define ActRemMyAcc (ActSeeMyUsgRep+37)
|
#define ActChgPwd (ActSeeMyUsgRep+37)
|
||||||
|
#define ActReqRemMyAcc (ActSeeMyUsgRep+38)
|
||||||
|
#define ActRemMyAcc (ActSeeMyUsgRep+39)
|
||||||
|
|
||||||
#define ActChgMyData (ActSeeMyUsgRep+38)
|
#define ActChgMyData (ActSeeMyUsgRep+40)
|
||||||
|
|
||||||
#define ActReqMyPho (ActSeeMyUsgRep+39)
|
#define ActReqMyPho (ActSeeMyUsgRep+41)
|
||||||
#define ActDetMyPho (ActSeeMyUsgRep+40)
|
#define ActDetMyPho (ActSeeMyUsgRep+42)
|
||||||
#define ActUpdMyPho (ActSeeMyUsgRep+41)
|
#define ActUpdMyPho (ActSeeMyUsgRep+43)
|
||||||
#define ActReqRemMyPho (ActSeeMyUsgRep+42)
|
#define ActReqRemMyPho (ActSeeMyUsgRep+44)
|
||||||
#define ActRemMyPho (ActSeeMyUsgRep+43)
|
#define ActRemMyPho (ActSeeMyUsgRep+45)
|
||||||
|
|
||||||
#define ActEdiPri (ActSeeMyUsgRep+44)
|
#define ActEdiPri (ActSeeMyUsgRep+46)
|
||||||
#define ActChgPriPho (ActSeeMyUsgRep+45)
|
#define ActChgPriPho (ActSeeMyUsgRep+47)
|
||||||
#define ActChgPriPrf (ActSeeMyUsgRep+46)
|
#define ActChgPriPrf (ActSeeMyUsgRep+48)
|
||||||
|
|
||||||
#define ActReqEdiMyIns (ActSeeMyUsgRep+47)
|
#define ActReqEdiMyIns (ActSeeMyUsgRep+49)
|
||||||
#define ActChgCtyMyIns (ActSeeMyUsgRep+48)
|
#define ActChgCtyMyIns (ActSeeMyUsgRep+50)
|
||||||
#define ActChgMyIns (ActSeeMyUsgRep+49)
|
#define ActChgMyIns (ActSeeMyUsgRep+51)
|
||||||
#define ActChgMyCtr (ActSeeMyUsgRep+50)
|
#define ActChgMyCtr (ActSeeMyUsgRep+52)
|
||||||
#define ActChgMyDpt (ActSeeMyUsgRep+51)
|
#define ActChgMyDpt (ActSeeMyUsgRep+53)
|
||||||
#define ActChgMyOff (ActSeeMyUsgRep+52)
|
#define ActChgMyOff (ActSeeMyUsgRep+54)
|
||||||
#define ActChgMyOffPho (ActSeeMyUsgRep+53)
|
#define ActChgMyOffPho (ActSeeMyUsgRep+55)
|
||||||
|
|
||||||
#define ActReqEdiMyNet (ActSeeMyUsgRep+54)
|
#define ActReqEdiMyNet (ActSeeMyUsgRep+56)
|
||||||
#define ActChgMyNet (ActSeeMyUsgRep+55)
|
#define ActChgMyNet (ActSeeMyUsgRep+57)
|
||||||
|
|
||||||
#define ActChgThe (ActSeeMyUsgRep+56)
|
#define ActChgThe (ActSeeMyUsgRep+58)
|
||||||
#define ActReqChgLan (ActSeeMyUsgRep+57)
|
#define ActReqChgLan (ActSeeMyUsgRep+59)
|
||||||
#define ActChgLan (ActSeeMyUsgRep+58)
|
#define ActChgLan (ActSeeMyUsgRep+60)
|
||||||
#define ActChg1stDay (ActSeeMyUsgRep+59)
|
#define ActChg1stDay (ActSeeMyUsgRep+61)
|
||||||
#define ActChgCol (ActSeeMyUsgRep+60)
|
#define ActChgCol (ActSeeMyUsgRep+62)
|
||||||
#define ActHidLftCol (ActSeeMyUsgRep+61)
|
#define ActHidLftCol (ActSeeMyUsgRep+63)
|
||||||
#define ActHidRgtCol (ActSeeMyUsgRep+62)
|
#define ActHidRgtCol (ActSeeMyUsgRep+64)
|
||||||
#define ActShoLftCol (ActSeeMyUsgRep+63)
|
#define ActShoLftCol (ActSeeMyUsgRep+65)
|
||||||
#define ActShoRgtCol (ActSeeMyUsgRep+64)
|
#define ActShoRgtCol (ActSeeMyUsgRep+66)
|
||||||
#define ActChgIco (ActSeeMyUsgRep+65)
|
#define ActChgIco (ActSeeMyUsgRep+67)
|
||||||
#define ActChgMnu (ActSeeMyUsgRep+66)
|
#define ActChgMnu (ActSeeMyUsgRep+68)
|
||||||
#define ActChgNtfPrf (ActSeeMyUsgRep+67)
|
#define ActChgNtfPrf (ActSeeMyUsgRep+69)
|
||||||
|
|
||||||
#define ActPrnUsrQR (ActSeeMyUsgRep+68)
|
#define ActPrnUsrQR (ActSeeMyUsgRep+70)
|
||||||
|
|
||||||
#define ActPrnMyTT (ActSeeMyUsgRep+69)
|
#define ActPrnMyTT (ActSeeMyUsgRep+71)
|
||||||
#define ActEdiTut (ActSeeMyUsgRep+70)
|
#define ActEdiTut (ActSeeMyUsgRep+72)
|
||||||
#define ActChgTut (ActSeeMyUsgRep+71)
|
#define ActChgTut (ActSeeMyUsgRep+73)
|
||||||
#define ActChgMyTT1stDay (ActSeeMyUsgRep+72)
|
#define ActChgMyTT1stDay (ActSeeMyUsgRep+74)
|
||||||
|
|
||||||
#define ActReqRemFilBrf (ActSeeMyUsgRep+73)
|
#define ActReqRemFilBrf (ActSeeMyUsgRep+75)
|
||||||
#define ActRemFilBrf (ActSeeMyUsgRep+74)
|
#define ActRemFilBrf (ActSeeMyUsgRep+76)
|
||||||
#define ActRemFolBrf (ActSeeMyUsgRep+75)
|
#define ActRemFolBrf (ActSeeMyUsgRep+77)
|
||||||
#define ActCopBrf (ActSeeMyUsgRep+76)
|
#define ActCopBrf (ActSeeMyUsgRep+78)
|
||||||
#define ActPasBrf (ActSeeMyUsgRep+77)
|
#define ActPasBrf (ActSeeMyUsgRep+79)
|
||||||
#define ActRemTreBrf (ActSeeMyUsgRep+78)
|
#define ActRemTreBrf (ActSeeMyUsgRep+80)
|
||||||
#define ActFrmCreBrf (ActSeeMyUsgRep+79)
|
#define ActFrmCreBrf (ActSeeMyUsgRep+81)
|
||||||
#define ActCreFolBrf (ActSeeMyUsgRep+80)
|
#define ActCreFolBrf (ActSeeMyUsgRep+82)
|
||||||
#define ActCreLnkBrf (ActSeeMyUsgRep+81)
|
#define ActCreLnkBrf (ActSeeMyUsgRep+83)
|
||||||
#define ActRenFolBrf (ActSeeMyUsgRep+82)
|
#define ActRenFolBrf (ActSeeMyUsgRep+84)
|
||||||
#define ActRcvFilBrfDZ (ActSeeMyUsgRep+83)
|
#define ActRcvFilBrfDZ (ActSeeMyUsgRep+85)
|
||||||
#define ActRcvFilBrfCla (ActSeeMyUsgRep+84)
|
#define ActRcvFilBrfCla (ActSeeMyUsgRep+86)
|
||||||
#define ActExpBrf (ActSeeMyUsgRep+85)
|
#define ActExpBrf (ActSeeMyUsgRep+87)
|
||||||
#define ActConBrf (ActSeeMyUsgRep+86)
|
#define ActConBrf (ActSeeMyUsgRep+88)
|
||||||
#define ActZIPBrf (ActSeeMyUsgRep+87)
|
#define ActZIPBrf (ActSeeMyUsgRep+89)
|
||||||
#define ActReqDatBrf (ActSeeMyUsgRep+88)
|
#define ActReqDatBrf (ActSeeMyUsgRep+90)
|
||||||
#define ActChgDatBrf (ActSeeMyUsgRep+89)
|
#define ActChgDatBrf (ActSeeMyUsgRep+91)
|
||||||
#define ActDowBrf (ActSeeMyUsgRep+90)
|
#define ActDowBrf (ActSeeMyUsgRep+92)
|
||||||
|
|
||||||
#define ActReqRemOldBrf (ActSeeMyUsgRep+91)
|
#define ActReqRemOldBrf (ActSeeMyUsgRep+93)
|
||||||
#define ActRemOldBrf (ActSeeMyUsgRep+92)
|
#define ActRemOldBrf (ActSeeMyUsgRep+94)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************************** Public types *******************************/
|
/******************************** Public types *******************************/
|
||||||
|
|
|
@ -172,17 +172,23 @@
|
||||||
|
|
||||||
// TODO: List only confirmed emails to send a message with MESSAGES > Email ?
|
// TODO: List only confirmed emails to send a message with MESSAGES > Email ?
|
||||||
|
|
||||||
|
// TODO: When activating folders in groups, go to section for that type of group
|
||||||
|
// TODO: I can not remove a folder inside assignments (see swad.ugr.es -> EC -> assignment acanas)
|
||||||
|
// 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
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.76 (2016-11-29)"
|
#define Log_PLATFORM_VERSION "SWAD 16.77 (2016-11-29)"
|
||||||
#define CSS_FILE "swad16.69.css"
|
#define CSS_FILE "swad16.69.css"
|
||||||
#define JS_FILE "swad16.46.1.js"
|
#define JS_FILE "swad16.46.1.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.77: Nov 29, 2016 Changes in location. Not finished. (209483 lines)
|
||||||
Version 16.76: Nov 29, 2016 New form to create location. Not finished. (208936 lines)
|
Version 16.76: Nov 29, 2016 New form to create location. Not finished. (208936 lines)
|
||||||
8 changes necessary in database:
|
8 changes necessary in database:
|
||||||
CREATE TABLE IF NOT EXISTS locations (LocCod INT NOT NULL AUTO_INCREMENT,StartDate DATE NOT NULL,EndDate DATE NOT NULL,Location VARCHAR(255) NOT NULL,UNIQUE INDEX(LocCod));
|
CREATE TABLE IF NOT EXISTS locations (LocCod INT NOT NULL AUTO_INCREMENT,StartDate DATE NOT NULL,EndDate DATE NOT NULL,Location VARCHAR(255) NOT NULL,UNIQUE INDEX(LocCod));
|
||||||
|
|
|
@ -357,11 +357,11 @@ struct Globals
|
||||||
} MyCrss;
|
} MyCrss;
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
bool LstIsRead; // Is the list already read from database, or it needs to be read?
|
bool LstIsRead; // Is the list already read from database, or it needs to be read?
|
||||||
unsigned Num; // Number of locations
|
unsigned Num; // Number of locations
|
||||||
struct Location *Lst; // List of locations
|
long *LstLocCods; // List of location codes
|
||||||
struct Location EditingLoc;
|
Loc_Order_t SelectedOrderType;
|
||||||
Loc_OrderType_t SelectedOrderType;
|
long LocCodToEdit; // Used as parameter in contextual links
|
||||||
} Locs;
|
} Locs;
|
||||||
Usr_ShowUsrsType_t ListType; // My preference about user's list type
|
Usr_ShowUsrsType_t ListType; // My preference about user's list type
|
||||||
unsigned NumFollowers; // Number of users who follow me
|
unsigned NumFollowers; // Number of users who follow me
|
||||||
|
|
|
@ -227,8 +227,9 @@ const char *Hlp_PROFILE_Courses = WIKI "PROFILE.Courses";
|
||||||
|
|
||||||
const char *Hlp_PROFILE_Timetable = WIKI "PROFILE.Timetable";
|
const char *Hlp_PROFILE_Timetable = WIKI "PROFILE.Timetable";
|
||||||
|
|
||||||
const char *Hlp_PROFILE_Location = WIKI "PROFILE.Location";
|
const char *Hlp_PROFILE_Location = WIKI "PROFILE.Location";
|
||||||
const char *Hlp_PROFILE_Location_edit = WIKI "PROFILE.Location#edit";
|
const char *Hlp_PROFILE_Location_new_location = WIKI "PROFILE.Location#new-location";
|
||||||
|
const char *Hlp_PROFILE_Location_edit_location = WIKI "PROFILE.Location#edit-location";
|
||||||
|
|
||||||
const char *Hlp_PROFILE_Record = WIKI "PROFILE.Record";
|
const char *Hlp_PROFILE_Record = WIKI "PROFILE.Record";
|
||||||
const char *Hlp_PROFILE_Institution = WIKI "PROFILE.Institution";
|
const char *Hlp_PROFILE_Institution = WIKI "PROFILE.Institution";
|
||||||
|
|
1710
swad_location.c
1710
swad_location.c
File diff suppressed because it is too large
Load Diff
|
@ -28,33 +28,51 @@
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#include "swad_date.h"
|
#include "swad_date.h"
|
||||||
#include "swad_place.h"
|
#include "swad_user.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************** Public types and constants ***********************/
|
/************************** Public types and constants ***********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Loc_MAX_LENGTH_LOCATION 255
|
#define Loc_MAX_LENGTH_ASSIGNMENT_TITLE 255
|
||||||
|
|
||||||
|
#define Loc_MAX_LENGTH_FOLDER 32
|
||||||
|
|
||||||
|
#define Loc_NUM_TYPES_SEND_WORK 2
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
LOC_START_DATE,
|
Loc_DO_NOT_SEND_WORK = 0,
|
||||||
LOC_END_DATE
|
Loc_SEND_WORK = 1,
|
||||||
} Loc_StartOrEndDate_t;
|
} Loc_SendWork_t;
|
||||||
|
|
||||||
|
#define Loc_NUM_DATES 2
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
Loc_START_TIME = 0,
|
||||||
|
Loc_END_TIME = 1,
|
||||||
|
} Loc_StartOrEndTime_t;
|
||||||
|
|
||||||
struct Location
|
struct Location
|
||||||
{
|
{
|
||||||
long LocCod;
|
long LocCod;
|
||||||
struct Date StartDate;
|
bool Hidden;
|
||||||
struct Date EndDate;
|
long UsrCod;
|
||||||
char Location[Loc_MAX_LENGTH_LOCATION+1];
|
time_t TimeUTC[Loc_NUM_DATES];
|
||||||
|
bool Open;
|
||||||
|
char Title[Loc_MAX_LENGTH_ASSIGNMENT_TITLE+1];
|
||||||
|
Loc_SendWork_t SendWork;
|
||||||
|
char Folder[Loc_MAX_LENGTH_FOLDER+1];
|
||||||
|
bool IBelongToCrsOrGrps; // I can do this location
|
||||||
|
// (it is associated to no groups
|
||||||
|
// or, if associated to groups,
|
||||||
|
// I belong to any of the groups)
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
Loc_ORDER_BY_START_DATE = 0,
|
Loc_ORDER_BY_START_DATE = 0,
|
||||||
Loc_ORDER_BY_END_DATE = 1,
|
Loc_ORDER_BY_END_DATE = 1,
|
||||||
} Loc_OrderType_t;
|
} Loc_Order_t;
|
||||||
|
|
||||||
#define Loc_DEFAULT_ORDER_TYPE Loc_ORDER_BY_START_DATE
|
#define Loc_DEFAULT_ORDER_TYPE Loc_ORDER_BY_START_DATE
|
||||||
|
|
||||||
|
@ -63,15 +81,24 @@ typedef enum
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Loc_SeeLocations (void);
|
void Loc_SeeLocations (void);
|
||||||
void Loc_EditLocations (void);
|
void Loc_PutHiddenParamLocOrderType (void);
|
||||||
|
void Loc_RequestCreatOrEditLoc (void);
|
||||||
void Loc_GetListLocations (void);
|
void Loc_GetListLocations (void);
|
||||||
|
void Loc_GetDataOfLocationByCod (struct Location *Loc);
|
||||||
void Loc_FreeListLocations (void);
|
void Loc_FreeListLocations (void);
|
||||||
|
|
||||||
|
void Loc_GetNotifLocation (char *SummaryStr,char **ContentStr,long LocCod,unsigned MaxChars,bool GetContent);
|
||||||
|
|
||||||
long Loc_GetParamLocCod (void);
|
long Loc_GetParamLocCod (void);
|
||||||
|
void Loc_AskRemLocation (void);
|
||||||
void Loc_RemoveLocation (void);
|
void Loc_RemoveLocation (void);
|
||||||
void Loc_ChangeStartDate (void);
|
void Loc_HideLocation (void);
|
||||||
void Loc_ChangeEndDate (void);
|
void Loc_ShowLocation (void);
|
||||||
void Loc_RenameLocation (void);
|
void Loc_RecFormLocation (void);
|
||||||
void Loc_RecFormNewLocation (void);
|
void Loc_RemoveCrsLocations (long CrsCod);
|
||||||
|
unsigned Loc_GetNumLocationsInCrs(long CrsCod);
|
||||||
|
|
||||||
|
unsigned Loc_GetNumCoursesWithLocations (Sco_Scope_t Scope);
|
||||||
|
unsigned Loc_GetNumLocations (Sco_Scope_t Scope,unsigned *NumNotif);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
208
swad_text.c
208
swad_text.c
|
@ -6842,25 +6842,25 @@ const char *Txt_Created_new_link_X = // Warning: it is very important to include
|
||||||
"Criado nova ligação <strong>%s</strong>.";
|
"Criado nova ligação <strong>%s</strong>.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Created_new_location =
|
const char *Txt_Created_new_location_X = // Warning: it is very important to include %s in the following sentences
|
||||||
#if L==1
|
#if L==1
|
||||||
"Creada nova ubicació.";
|
"Creada nova ubicació <strong>%s</strong>.";
|
||||||
#elif L==2
|
#elif L==2
|
||||||
"Neuer Standort eingegeben.";
|
"Neuer Standort <strong>%s</strong> eingegeben.";
|
||||||
#elif L==3
|
#elif L==3
|
||||||
"Created new location.";
|
"Created new location <strong>%s</strong>.";
|
||||||
#elif L==4
|
#elif L==4
|
||||||
"Creada nueva ubicación.";
|
"Creada nueva ubicación <strong>%s</strong>.";
|
||||||
#elif L==5
|
#elif L==5
|
||||||
"Créé nouvel emplacement.";
|
"Créé nouvel emplacement <strong>%s</strong>.";
|
||||||
#elif L==6
|
#elif L==6
|
||||||
"Creada nueva ubicación."; // Okoteve traducción
|
"Creada nueva ubicación <strong>%s</strong>."; // Okoteve traducción
|
||||||
#elif L==7
|
#elif L==7
|
||||||
"Creata nuova posizione.";
|
"Creata nuova posizione <strong>%s</strong>.";
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"Utworzono nowe lokacja.";
|
"Utworzono nowe lokacja <strong>%s</strong>.";
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"Criado nova localização.";
|
"Criado nova localização <strong>%s</strong>.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Created_new_place_X = // Warning: it is very important to include %s in the following sentences
|
const char *Txt_Created_new_place_X = // Warning: it is very important to include %s in the following sentences
|
||||||
|
@ -17110,25 +17110,25 @@ const char *Txt_Location =
|
||||||
"Localização";
|
"Localização";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Location_removed =
|
const char *Txt_Location_X_removed = // Warning: it is very important to include %s in the following sentences
|
||||||
#if L==1
|
#if L==1
|
||||||
"Ubicació eliminada.";
|
"Ubicació <strong>%s</strong> eliminada.";
|
||||||
#elif L==2
|
#elif L==2
|
||||||
"Standort entfernt.";
|
"Standort <strong>%s</strong> entfernt.";
|
||||||
#elif L==3
|
#elif L==3
|
||||||
"Location removed.";
|
"Location <strong>%s</strong> removed.";
|
||||||
#elif L==4
|
#elif L==4
|
||||||
"Ubicación eliminada.";
|
"Ubicación <strong>%s</strong> eliminada.";
|
||||||
#elif L==5
|
#elif L==5
|
||||||
"Emplacement supprimé.";
|
"Emplacement <strong>%s</strong> supprimé.";
|
||||||
#elif L==6
|
#elif L==6
|
||||||
"Ubicación eliminada."; // Okoteve traducción
|
"Ubicación <strong>%s</strong> eliminada."; // Okoteve traducción
|
||||||
#elif L==7
|
#elif L==7
|
||||||
"Posizione rimossa.";
|
"Posizione <strong>%s</strong> rimossa.";
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"Lokacja usuniete.";
|
"Lokacja <strong>%s</strong> usuniete.";
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"Localização removida.";
|
"Localização <strong>%s</strong> removida.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Locations =
|
const char *Txt_Locations =
|
||||||
|
@ -24572,6 +24572,27 @@ const char *Txt_No_institutions =
|
||||||
"Não há instituções.";
|
"Não há instituções.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_No_locations =
|
||||||
|
#if L==1
|
||||||
|
"No hi ha ubicacions.";
|
||||||
|
#elif L==2
|
||||||
|
"Es gibt keine Standorte.";
|
||||||
|
#elif L==3
|
||||||
|
"No locations.";
|
||||||
|
#elif L==4
|
||||||
|
"No existen ubicaciones.";
|
||||||
|
#elif L==5
|
||||||
|
"Il n'y a pas d'emplacements.";
|
||||||
|
#elif L==6
|
||||||
|
"No existen ubicaciones."; // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"Non ci sono posizioni.";
|
||||||
|
#elif L==8
|
||||||
|
"Brak lokalizacje.";
|
||||||
|
#elif L==9
|
||||||
|
"Não existem localizações.";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_No_BR_msgs =
|
const char *Txt_No_BR_msgs =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Nº<br />mens."; // Necessita traduccio
|
"Nº<br />mens."; // Necessita traduccio
|
||||||
|
@ -30787,6 +30808,27 @@ const char *Txt_Remove_link =
|
||||||
"Remover ligação";
|
"Remover ligação";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_Remove_location =
|
||||||
|
#if L==1
|
||||||
|
"Eliminar ubicació";
|
||||||
|
#elif L==2
|
||||||
|
"Entfernen Standort";
|
||||||
|
#elif L==3
|
||||||
|
"Remove location";
|
||||||
|
#elif L==4
|
||||||
|
"Eliminar ubicación";
|
||||||
|
#elif L==5
|
||||||
|
"Supprimer emplacement";
|
||||||
|
#elif L==6
|
||||||
|
"Eliminar ubicación"; // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"Rimuovere posizione";
|
||||||
|
#elif L==8
|
||||||
|
"Usuń lokacja";
|
||||||
|
#elif L==9
|
||||||
|
"Remover localização";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Remove_logo =
|
const char *Txt_Remove_logo =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Eliminar logo";
|
"Eliminar logo";
|
||||||
|
@ -42287,27 +42329,6 @@ const char *Txt_The_date_of_the_holiday_X_has_changed_to_Y = // Warning: it is v
|
||||||
"The date of the holiday <strong>%s</strong> has changed to <strong>%s</strong>."; // Necessita de tradução
|
"The date of the holiday <strong>%s</strong> has changed to <strong>%s</strong>."; // Necessita de tradução
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_The_date_of_the_location_has_changed_to_X = // Warning: it is very important to include %s in the following sentences
|
|
||||||
#if L==1
|
|
||||||
"La fecha de la festividad ha cambiado a <strong>%s</strong>."; // Necessita traduccio
|
|
||||||
#elif L==2
|
|
||||||
"The date of the location has changed to <strong>%s</strong>."; // Need Übersetzung
|
|
||||||
#elif L==3
|
|
||||||
"The date of the location has changed to <strong>%s</strong>.";
|
|
||||||
#elif L==4
|
|
||||||
"La fecha de la ubicación ha cambiado a <strong>%s</strong>.";
|
|
||||||
#elif L==5
|
|
||||||
"The date of the location has changed to <strong>%s</strong>."; // Besoin de traduction
|
|
||||||
#elif L==6
|
|
||||||
"La fecha de la ubicación ha cambiado a <strong>%s</strong>."; // Okoteve traducción
|
|
||||||
#elif L==7
|
|
||||||
"La data delle posizione è cambiata a <strong>%s</strong>.";
|
|
||||||
#elif L==8
|
|
||||||
"The date of the location has changed to <strong>%s</strong>."; // Potrzebujesz tlumaczenie
|
|
||||||
#elif L==9
|
|
||||||
"The date of the location has changed to <strong>%s</strong>."; // Necessita de tradução
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_The_date_range_must_be_less_than_or_equal_to_X_days = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_The_date_range_must_be_less_than_or_equal_to_X_days = // Warning: it is very important to include %u in the following sentences
|
||||||
#if L==1
|
#if L==1
|
||||||
"El rango de fechas debe ser menor o igual a %u días."; // Necessita traduccio
|
"El rango de fechas debe ser menor o igual a %u días."; // Necessita traduccio
|
||||||
|
@ -43580,48 +43601,6 @@ const char *Txt_The_list_of_X_users_is_too_large_to_be_displayed = // Warning: i
|
||||||
"The list of %u users is too large to be displayed."; // Necessita de tradução
|
"The list of %u users is too large to be displayed."; // Necessita de tradução
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_The_location_has_changed_to_X = // Warning: it is very important to include %s in the following sentences
|
|
||||||
#if L==1
|
|
||||||
"La ubicació ha canviat a <strong>%s</strong>.";
|
|
||||||
#elif L==2
|
|
||||||
"Der Standort wurde in <strong>%s</strong> geändert.";
|
|
||||||
#elif L==3
|
|
||||||
"The location has changed to <strong>%s</strong>.";
|
|
||||||
#elif L==4
|
|
||||||
"La ubicación ha cambiado a <strong>%s</strong>.";
|
|
||||||
#elif L==5
|
|
||||||
"L'emplacement a changé en <strong>%s</strong>.";
|
|
||||||
#elif L==6
|
|
||||||
"La ubicación ha cambiado a <strong>%s</strong>."; // Okoteve traducción
|
|
||||||
#elif L==7
|
|
||||||
"La posizione è cambiato a <strong>%s</strong>.";
|
|
||||||
#elif L==8
|
|
||||||
"Zmieniona na miejscu <strong>%s</strong>.";
|
|
||||||
#elif L==9
|
|
||||||
"A localização mudou para <strong>%s</strong>.";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_The_location_has_not_changed =
|
|
||||||
#if L==1
|
|
||||||
"La ubicació no ha canviat.";
|
|
||||||
#elif L==2
|
|
||||||
"Der Standort wurde nicht geändert.";
|
|
||||||
#elif L==3
|
|
||||||
"The location has not changed.";
|
|
||||||
#elif L==4
|
|
||||||
"La ubicación no ha cambiado.";
|
|
||||||
#elif L==5
|
|
||||||
"L'emplacement n'a pas changé.";
|
|
||||||
#elif L==6
|
|
||||||
"La ubicación no ha cambiado."; // Okoteve traducción
|
|
||||||
#elif L==7
|
|
||||||
"La posizione non è cambiato.";
|
|
||||||
#elif L==8
|
|
||||||
"Miejsca nie uległa zmianie.";
|
|
||||||
#elif L==9
|
|
||||||
"A localização não foi alterado.";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_The_lower_limit_of_correct_answers_must_be_less_than_or_equal_to_the_upper_limit =
|
const char *Txt_The_lower_limit_of_correct_answers_must_be_less_than_or_equal_to_the_upper_limit =
|
||||||
#if L==1
|
#if L==1
|
||||||
"El límite inferior del intervalo de respuestas correctas"
|
"El límite inferior del intervalo de respuestas correctas"
|
||||||
|
@ -46634,27 +46613,6 @@ const char *Txt_There_are_no_links =
|
||||||
"There are no links."; // Necessita de tradução
|
"There are no links."; // Necessita de tradução
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_There_are_no_locations =
|
|
||||||
#if L==1
|
|
||||||
"No hi ha ubicacions.";
|
|
||||||
#elif L==2
|
|
||||||
"Es gibt keine Standorte.";
|
|
||||||
#elif L==3
|
|
||||||
"There are no locations.";
|
|
||||||
#elif L==4
|
|
||||||
"No existen ubicaciones.";
|
|
||||||
#elif L==5
|
|
||||||
"Il n'y a pas d'emplacements.";
|
|
||||||
#elif L==6
|
|
||||||
"No existen ubicaciones."; // Okoteve traducción
|
|
||||||
#elif L==7
|
|
||||||
"Non ci sono posizioni.";
|
|
||||||
#elif L==8
|
|
||||||
"Brak lokalizacje.";
|
|
||||||
#elif L==9
|
|
||||||
"Não existem localizações.";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_There_are_no_places =
|
const char *Txt_There_are_no_places =
|
||||||
#if L==1
|
#if L==1
|
||||||
"No existen lugares."; // Necessita traduccio
|
"No existen lugares."; // Necessita traduccio
|
||||||
|
@ -52169,27 +52127,6 @@ const char *Txt_You_can_not_leave_the_IP_address_empty =
|
||||||
"You can not leave the IP address empty."; // Necessita de tradução
|
"You can not leave the IP address empty."; // Necessita de tradução
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_You_can_not_leave_the_location_empty =
|
|
||||||
#if L==1
|
|
||||||
"No es pot deixar la ubicació buido.";
|
|
||||||
#elif L==2
|
|
||||||
"Sie können den Standort nicht leer lassen.";
|
|
||||||
#elif L==3
|
|
||||||
"You can not leave the location empty.";
|
|
||||||
#elif L==4
|
|
||||||
"No puede dejar la ubicación vacía.";
|
|
||||||
#elif L==5
|
|
||||||
"Vous ne pouvez pas laisser l'emplacement vide.";
|
|
||||||
#elif L==6
|
|
||||||
"No puede dejar la ubicación vacía."; // Okoteve traducción
|
|
||||||
#elif L==7
|
|
||||||
"Non puoi lasciare la posizione vuota.";
|
|
||||||
#elif L==8
|
|
||||||
"Nie można pozostawić miejsca pustego.";
|
|
||||||
#elif L==9
|
|
||||||
"Você não pode deixar a localização vazia.";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_You_can_not_leave_the_logo_empty =
|
const char *Txt_You_can_not_leave_the_logo_empty =
|
||||||
#if L==1
|
#if L==1
|
||||||
"No puede dejar el logo vacío."; // Necessita traduccio
|
"No puede dejar el logo vacío."; // Necessita traduccio
|
||||||
|
@ -54092,27 +54029,6 @@ const char *Txt_You_must_specify_the_name_of_the_new_type_of_group =
|
||||||
"You must specify the name of the new type of group."; // Necessita de tradução
|
"You must specify the name of the new type of group."; // Necessita de tradução
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_You_must_specify_the_new_location =
|
|
||||||
#if L==1
|
|
||||||
"Cal especificar la nova ubicació.";
|
|
||||||
#elif L==2
|
|
||||||
"Sie müssen den neuen Speicherort angeben.";
|
|
||||||
#elif L==3
|
|
||||||
"You must specify the new location.";
|
|
||||||
#elif L==4
|
|
||||||
"Debe especificar la nueva ubicación.";
|
|
||||||
#elif L==5
|
|
||||||
"Vous devez spécifier le nouvel emplacement.";
|
|
||||||
#elif L==6
|
|
||||||
"Debe especificar la nueva ubicación."; // Okoteve traducción
|
|
||||||
#elif L==7
|
|
||||||
"Devi specificare la nuova posizione.";
|
|
||||||
#elif L==8
|
|
||||||
"Musisz podać nazwę nowej lokalizacji.";
|
|
||||||
#elif L==9
|
|
||||||
"Você deve especificar a nova localização.";
|
|
||||||
#endif
|
|
||||||
|
|
||||||
const char *Txt_You_must_specify_the_short_name_and_the_full_name_of_the_new_banner =
|
const char *Txt_You_must_specify_the_short_name_and_the_full_name_of_the_new_banner =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Debe especificar el nombre breve y el nombre completo"
|
"Debe especificar el nombre breve y el nombre completo"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user