diff --git a/css/swad15.113.8.css b/css/swad15.115.css similarity index 100% rename from css/swad15.113.8.css rename to css/swad15.115.css diff --git a/js/swad15.113.8.js b/js/swad15.115.js similarity index 99% rename from js/swad15.113.8.js rename to js/swad15.115.js index 9b9816b5..2eddc057 100644 --- a/js/swad15.113.8.js +++ b/js/swad15.115.js @@ -573,7 +573,7 @@ function readOldTimelineData () { timeline.appendChild(oldTimeline.firstChild); } - if (countOldTimeline < 10) // Set to Soc_MAX_OLD_PUBS_TO_GET_AND_SHOW + if (countOldTimeline < 20) // Set to Soc_MAX_OLD_PUBS_TO_GET_AND_SHOW // No more old publishings document.getElementById("view_old_posts_container").style.display = 'none'; } diff --git a/swad_action.c b/swad_action.c index 7746a749..0e6e2bc9 100644 --- a/swad_action.c +++ b/swad_action.c @@ -76,1259 +76,1259 @@ extern struct Globals Gbl; /************************ Internal global variables **************************/ /*****************************************************************************/ /* -1130 actions in one CGI: +1145 actions in one CGI: 0. ActAll Any action (used for statistics) 1. ActUnk Unknown action 2. ActHom Show home menu 3. ActMnu Show menu of a tab 4. ActRefCon Refresh number of notifications and connected users via AJAX 5. ActRefLstClk Refresh last clicks in log via AJAX -New!!!!!!!!. ActRefNewSocPubGbl Refresh recent social timeline via AJAX -New!!!!!!!!. ActRefOldSocPubUsr View old social timeline of a user via AJAX -New!!!!!!!!. ActRefOldSocPubGbl View old social timeline with users I follow via AJAX - 6. ActWebSvc Call plugin function + 6. ActRefNewSocPubGbl Refresh recent social timeline via AJAX + 7. ActRefOldSocPubGbl View old social timeline with users I follow via AJAX + 8. ActRefOldSocPubUsr View old social timeline of a user via AJAX + 9. ActWebSvc Call plugin function System: - 7. ActSysReqSch Request search in system tab - 8. ActSeeCty List countries - 9. ActSeePen List pending institutions, centres, degrees and courses - 10. ActReqRemOldCrs Request the total removal of old courses - 11. ActSeeDegTyp List types of degrees - 12. ActSeeMai See mail domains - 13. ActSeeBan See banners - 14. ActSeeLnk See institutional links - 15. ActLstPlg List plugins - 16. ActSetUp Initial set up + 10. ActSysReqSch Request search in system tab + 11. ActSeeCty List countries + 12. ActSeePen List pending institutions, centres, degrees and courses + 13. ActReqRemOldCrs Request the total removal of old courses + 14. ActSeeDegTyp List types of degrees + 15. ActSeeMai See mail domains + 16. ActSeeBan See banners + 17. ActSeeLnk See institutional links + 18. ActLstPlg List plugins + 19. ActSetUp Initial set up - 17. ActSysSch Search for courses, teachers, documents... - 18. ActEdiDegTyp Request edition of types of degrees - 19. ActEdiCty Edit countries - 20. ActNewCty Request the creation of a country - 21. ActRemCty Remove a country - 22. ActRenCty Change the name of a country - 23. ActChgCtyWWW Change web of country + 20. ActSysSch Search for courses, teachers, documents... + 21. ActEdiDegTyp Request edition of types of degrees + 22. ActEdiCty Edit countries + 23. ActNewCty Request the creation of a country + 24. ActRemCty Remove a country + 25. ActRenCty Change the name of a country + 26. ActChgCtyWWW Change web of country - 24. ActNewDegTyp Request the creation of a type of degree - 25. ActRemDegTyp Request the removal of a type of degree - 26. ActRenDegTyp Request renaming of a type of degree - 27. ActChgDegTypLog REquest changing whether direct log in is allowd + 27. ActNewDegTyp Request the creation of a type of degree + 28. ActRemDegTyp Request the removal of a type of degree + 29. ActRenDegTyp Request renaming of a type of degree + 30. ActChgDegTypLog REquest changing whether direct log in is allowd - 28. ActRemOldCrs Remove completely old courses - 29. ActEdiMai Edit mail domains - 30. ActNewMai Request the creation of a mail domain - 31. ActRemMai Request the removal of a mail domain - 32. ActRenMaiSho Request the change of a mail domain - 33. ActRenMaiFul Request the change of the info of a mail domain + 31. ActRemOldCrs Remove completely old courses + 32. ActEdiMai Edit mail domains + 33. ActNewMai Request the creation of a mail domain + 34. ActRemMai Request the removal of a mail domain + 35. ActRenMaiSho Request the change of a mail domain + 36. ActRenMaiFul Request the change of the info of a mail domain - 34. ActEdiBan Edit banners - 35. ActNewBan Request the creation of a banner - 36. ActRemBan Request the removal of a banner - 37. ActShoBan Show a hidden banner - 38. ActHidBan Hide a visible banner - 39. ActRenBanSho Request the change of the short name of a banner - 40. ActRenBanFul Request the change of the full name of a banner - 41. ActChgBanImg Request the change of the image of a banner - 42. ActChgBanWWW Request the change of the web of a banner - 43. ActClkBan Go to a banner when clicked + 37. ActEdiBan Edit banners + 38. ActNewBan Request the creation of a banner + 39. ActRemBan Request the removal of a banner + 40. ActShoBan Show a hidden banner + 41. ActHidBan Hide a visible banner + 42. ActRenBanSho Request the change of the short name of a banner + 43. ActRenBanFul Request the change of the full name of a banner + 44. ActChgBanImg Request the change of the image of a banner + 45. ActChgBanWWW Request the change of the web of a banner + 46. ActClkBan Go to a banner when clicked - 44. ActEdiLnk Edit institutional links - 45. ActNewLnk Request the creation of an institutional link - 46. ActRemLnk Request the removal of an institutional link - 47. ActRenLnkSho Request the change of the short name of an institutional link - 48. ActRenLnkFul Request the change of the full name of an institutional link - 49. ActChgLnkWWW Request the change of the web of an institutional link - 50. ActEdiPlg Edit plugins - 51. ActNewPlg Request the creation of a plugin - 52. ActRemPlg Remove a plugin - 53. ActRenPlg Rename a plugin - 54. ActChgPlgDes Change the description of a plugin - 55. ActChgPlgLog Change the logo of a plugin - 56. ActChgPlgAppKey Change the application key of a plugin - 57. ActChgPlgURL Change the URL of a plugin - 58. ActChgPlgIP Change the IP address of a plugin + 47. ActEdiLnk Edit institutional links + 48. ActNewLnk Request the creation of an institutional link + 49. ActRemLnk Request the removal of an institutional link + 50. ActRenLnkSho Request the change of the short name of an institutional link + 51. ActRenLnkFul Request the change of the full name of an institutional link + 52. ActChgLnkWWW Request the change of the web of an institutional link + 53. ActEdiPlg Edit plugins + 54. ActNewPlg Request the creation of a plugin + 55. ActRemPlg Remove a plugin + 56. ActRenPlg Rename a plugin + 57. ActChgPlgDes Change the description of a plugin + 58. ActChgPlgLog Change the logo of a plugin + 59. ActChgPlgAppKey Change the application key of a plugin + 60. ActChgPlgURL Change the URL of a plugin + 61. ActChgPlgIP Change the IP address of a plugin Country: - 59. ActCtyReqSch Request search in country tab + 62. ActCtyReqSch Request search in country tab - 60. ActSeeCtyInf Show information on the current country - 61. ActSeeIns List institutions + 63. ActSeeCtyInf Show information on the current country + 64. ActSeeIns List institutions - 62. ActCtySch Search for courses, teachers, documents... + 65. ActCtySch Search for courses, teachers, documents... - 63. ActPrnCtyInf Print information on the current country - 64. ActChgCtyMapAtt Change map attribution of country + 66. ActPrnCtyInf Print information on the current country + 67. ActChgCtyMapAtt Change map attribution of country - 65. ActEdiIns Edit institutions - 66. ActReqIns Request the creation of a request for a new institution (a teacher makes the petition to an administrator) - 67. ActNewIns Request the creation of an institution - 68. ActRemIns Remove institution - 69. ActChgInsCty Change country of institution - 70. ActRenInsSho Change short name of institution - 71. ActRenInsFul Change full name of institution - 72. ActChgInsWWW Change web of institution - 73. ActChgInsSta Request change of status of an institution + 68. ActEdiIns Edit institutions + 69. ActReqIns Request the creation of a request for a new institution (a teacher makes the petition to an administrator) + 70. ActNewIns Request the creation of an institution + 71. ActRemIns Remove institution + 72. ActChgInsCty Change country of institution + 73. ActRenInsSho Change short name of institution + 74. ActRenInsFul Change full name of institution + 75. ActChgInsWWW Change web of institution + 76. ActChgInsSta Request change of status of an institution Institution: - 74. ActInsReqSch Request search in institution tab + 77. ActInsReqSch Request search in institution tab - 75. ActSeeInsInf Show information on the current institution - 76. ActSeeCtr List centres - 77. ActSeeDpt List departments - 78. ActSeePlc List places - 79. ActSeeHld List holidays - 80. ActSeeAdmDocIns Documents zone of the institution (see or admin) - 81. ActAdmShaIns Admin the shared files zone of the institution + 78. ActSeeInsInf Show information on the current institution + 79. ActSeeCtr List centres + 80. ActSeeDpt List departments + 81. ActSeePlc List places + 82. ActSeeHld List holidays + 83. ActSeeAdmDocIns Documents zone of the institution (see or admin) + 84. ActAdmShaIns Admin the shared files zone of the institution - 82. ActInsSch Search for courses, teachers, documents... + 85. ActInsSch Search for courses, teachers, documents... - 83. ActPrnInsInf Print information on the current institution - 84. ActReqInsLog Show form to send the logo of the current institution - 85. ActRecInsLog Receive and store the logo of the current institution - 86. ActRemInsLog Remove the logo of the current institution + 86. ActPrnInsInf Print information on the current institution + 87. ActReqInsLog Show form to send the logo of the current institution + 88. ActRecInsLog Receive and store the logo of the current institution + 89. ActRemInsLog Remove the logo of the current institution - 87. ActEdiCtr Edit centres - 88. ActReqCtr Request the creation of a request for a new centre (a teacher makes the petition to an administrator) - 89. ActNewCtr Request the creation of a centre - 90. ActRemCtr Remove centre - 91. ActChgCtrIns Request change of the institution of a centre - 92. ActChgCtrPlc Request change of the place of a centre - 93. ActRenCtrSho Change short name centre - 94. ActRenCtrFul Change full name centre - 95. ActChgCtrWWW Change web of centre - 96. ActChgCtrSta Request change of status of a centre + 90. ActEdiCtr Edit centres + 91. ActReqCtr Request the creation of a request for a new centre (a teacher makes the petition to an administrator) + 92. ActNewCtr Request the creation of a centre + 93. ActRemCtr Remove centre + 94. ActChgCtrIns Request change of the institution of a centre + 95. ActChgCtrPlc Request change of the place of a centre + 96. ActRenCtrSho Change short name centre + 97. ActRenCtrFul Change full name centre + 98. ActChgCtrWWW Change web of centre + 99. ActChgCtrSta Request change of status of a centre - 97. ActEdiDpt Edit departments - 98. ActNewDpt Request the creation of a department - 99. ActRemDpt Remove department - 100. ActChgDptIns Request change of the institution of a department - 101. ActRenDptSho Change short name department - 102. ActRenDptFul Change full name department - 103. ActChgDptWWW Change web of department + 100. ActEdiDpt Edit departments + 101. ActNewDpt Request the creation of a department + 102. ActRemDpt Remove department + 103. ActChgDptIns Request change of the institution of a department + 104. ActRenDptSho Change short name department + 105. ActRenDptFul Change full name department + 106. ActChgDptWWW Change web of department - 104. ActEdiPlc Edit places - 105. ActNewPlc Request the creation of a place - 106. ActRemPlc Remove a place - 107. ActRenPlcSho Change short name of a place - 108. ActRenPlcFul Change full name of a place + 107. ActEdiPlc Edit places + 108. ActNewPlc Request the creation of a place + 109. ActRemPlc Remove a place + 110. ActRenPlcSho Change short name of a place + 111. ActRenPlcFul Change full name of a place - 109. ActEdiHld Edit holidays - 110. ActNewHld Request the creation of a holiday - 111. ActRemHld Remove a holiday - 112. ActChgHldPlc Change place of a holiday - 113. ActChgHldTyp Change type of a holiday - 114. ActChgHldStrDat Change start date of a holiday - 115. ActChgHldEndDat Change end date of a holiday - 116. ActRenHld Change name of a holiday + 112. ActEdiHld Edit holidays + 113. ActNewHld Request the creation of a holiday + 114. ActRemHld Remove a holiday + 115. ActChgHldPlc Change place of a holiday + 116. ActChgHldTyp Change type of a holiday + 117. ActChgHldStrDat Change start date of a holiday + 118. ActChgHldEndDat Change end date of a holiday + 119. ActRenHld Change name of a holiday - 117. ActChgToSeeDocIns Change to see institution documents + 120. ActChgToSeeDocIns Change to see institution documents - 118. ActSeeDocIns See the files of the documents zone of the institution - 119. ActExpSeeDocIns Expand a folder in institution documents - 120. ActConSeeDocIns Contract a folder in institution documents - 121. ActZIPSeeDocIns Compress a folder in institution documents - 122. ActReqDatSeeDocIns Ask for metadata of a file of the documents zone of the institution - 123. ActDowSeeDocIns Download a file in documents zone of the institution + 121. ActSeeDocIns See the files of the documents zone of the institution + 122. ActExpSeeDocIns Expand a folder in institution documents + 123. ActConSeeDocIns Contract a folder in institution documents + 124. ActZIPSeeDocIns Compress a folder in institution documents + 125. ActReqDatSeeDocIns Ask for metadata of a file of the documents zone of the institution + 126. ActDowSeeDocIns Download a file in documents zone of the institution - 124. ActChgToAdmDocIns Change to administrate institution documents + 127. ActChgToAdmDocIns Change to administrate institution documents - 125. ActAdmDocIns Admin the files of the documents zone of the institution - 126. ActReqRemFilDocIns Request removal of a file in the documents zone of the institution - 127. ActRemFilDocIns Remove a file in the documents zone of the institution - 128. ActRemFolDocIns Remove a folder empty the documents zone of the institution - 129. ActCopDocIns Set source of copy in the documents zone of the institution - 130. ActPasDocIns Paste a folder or file in the documents zone of the institution - 131. ActRemTreDocIns Remove a folder no empty in the documents zone of the institution - 132. ActFrmCreDocIns Form to crear a folder or file in the documents zone of the institution - 133. ActCreFolDocIns Create a new folder in the documents zone of the institution - 134. ActCreLnkDocIns Create a new link in the documents zone of the institution - 135. ActRenFolDocIns Rename a folder in the documents zone of the institution - 136. ActRcvFilDocInsDZ Receive a file in the documents zone of the institution using Dropzone.js - 137. ActRcvFilDocInsCla Receive a file in the documents zone of the institution using the classic way - 138. ActExpAdmDocIns Expand a folder when administrating the documents zone of the institution - 139. ActConAdmDocIns Contract a folder when administrating the documents zone of the institution - 140. ActZIPAdmDocIns Compress a folder when administrating the documents zone of the institution - 141. ActShoDocIns Show hidden folder or file of the documents zone of the institution - 142. ActHidDocIns Hide folder or file of the documents zone of the institution - 143. ActReqDatAdmDocIns Ask for metadata of a file of the documents zone of the institution - 144. ActChgDatAdmDocIns Change metadata of a file of the documents zone of the institution - 145. ActDowAdmDocIns Download a file of the documents zone of the institution + 128. ActAdmDocIns Admin the files of the documents zone of the institution + 129. ActReqRemFilDocIns Request removal of a file in the documents zone of the institution + 130. ActRemFilDocIns Remove a file in the documents zone of the institution + 131. ActRemFolDocIns Remove a folder empty the documents zone of the institution + 132. ActCopDocIns Set source of copy in the documents zone of the institution + 133. ActPasDocIns Paste a folder or file in the documents zone of the institution + 134. ActRemTreDocIns Remove a folder no empty in the documents zone of the institution + 135. ActFrmCreDocIns Form to crear a folder or file in the documents zone of the institution + 136. ActCreFolDocIns Create a new folder in the documents zone of the institution + 137. ActCreLnkDocIns Create a new link in the documents zone of the institution + 138. ActRenFolDocIns Rename a folder in the documents zone of the institution + 139. ActRcvFilDocInsDZ Receive a file in the documents zone of the institution using Dropzone.js + 140. ActRcvFilDocInsCla Receive a file in the documents zone of the institution using the classic way + 141. ActExpAdmDocIns Expand a folder when administrating the documents zone of the institution + 142. ActConAdmDocIns Contract a folder when administrating the documents zone of the institution + 143. ActZIPAdmDocIns Compress a folder when administrating the documents zone of the institution + 144. ActShoDocIns Show hidden folder or file of the documents zone of the institution + 145. ActHidDocIns Hide folder or file of the documents zone of the institution + 146. ActReqDatAdmDocIns Ask for metadata of a file of the documents zone of the institution + 147. ActChgDatAdmDocIns Change metadata of a file of the documents zone of the institution + 148. ActDowAdmDocIns Download a file of the documents zone of the institution - 146. ActReqRemFilShaIns Request removal of a shared file of the institution - 147. ActRemFilShaIns Remove a shared file of the institution - 148. ActRemFolShaIns Remove a folder empty común of the institution - 149. ActCopShaIns Set source of copy in common zone of the institution - 150. ActPasShaIns Paste a folder or file in common zone of the institution - 151. ActRemTreShaIns Remove a folder no empty of common zone of the institution - 152. ActFrmCreShaIns Form to crear a folder or file in common zone of the institution - 153. ActCreFolShaIns Create a new folder in common zone of the institution - 154. ActCreLnkShaIns Create a new link in common zone of the institution - 155. ActRenFolShaIns Rename a folder in common zone of the institution - 156. ActRcvFilShaInsDZ Receive a file in common zone of the institution using Dropzone.js - 157. ActRcvFilShaInsCla Receive a file in common zone of the institution using the classic way - 158. ActExpShaIns Expand a folder in common zone of the institution - 159. ActConShaIns Contract a folder in common zone of the institution - 160. ActZIPShaIns Compress a folder in common zone of the institution - 161. ActReqDatShaIns Ask for metadata of a file of the common zone of the institution - 162. ActChgDatShaIns Change metadata of a file of the common zone of the institution - 163. ActDowShaIns Download a file of the common zone of the institution + 149. ActReqRemFilShaIns Request removal of a shared file of the institution + 150. ActRemFilShaIns Remove a shared file of the institution + 151. ActRemFolShaIns Remove a folder empty común of the institution + 152. ActCopShaIns Set source of copy in common zone of the institution + 153. ActPasShaIns Paste a folder or file in common zone of the institution + 154. ActRemTreShaIns Remove a folder no empty of common zone of the institution + 155. ActFrmCreShaIns Form to crear a folder or file in common zone of the institution + 156. ActCreFolShaIns Create a new folder in common zone of the institution + 157. ActCreLnkShaIns Create a new link in common zone of the institution + 158. ActRenFolShaIns Rename a folder in common zone of the institution + 159. ActRcvFilShaInsDZ Receive a file in common zone of the institution using Dropzone.js + 160. ActRcvFilShaInsCla Receive a file in common zone of the institution using the classic way + 161. ActExpShaIns Expand a folder in common zone of the institution + 162. ActConShaIns Contract a folder in common zone of the institution + 163. ActZIPShaIns Compress a folder in common zone of the institution + 164. ActReqDatShaIns Ask for metadata of a file of the common zone of the institution + 165. ActChgDatShaIns Change metadata of a file of the common zone of the institution + 166. ActDowShaIns Download a file of the common zone of the institution Centre: - 164. ActCtrReqSch Request search in centre tab + 167. ActCtrReqSch Request search in centre tab - 165. ActSeeCtrInf Show information on the current centre - 166. ActSeeDeg List degrees of a type - 167. ActSeeAdmDocCtr Documents zone of the centre (see or admin) - 168. ActAdmShaCtr Admin the shared files zone of the centre + 168. ActSeeCtrInf Show information on the current centre + 169. ActSeeDeg List degrees of a type + 170. ActSeeAdmDocCtr Documents zone of the centre (see or admin) + 171. ActAdmShaCtr Admin the shared files zone of the centre - 169. ActCtrSch Search for courses, teachers, documents... + 172. ActCtrSch Search for courses, teachers, documents... - 170. ActPrnCtrInf Print information on the current centre - 171. ActReqCtrLog Show form to send the logo of the current centre - 172. ActRecCtrLog Receive and store the logo of the current centre - 173. ActRemCtrLog Remove the logo of the current centre - 174. ActReqCtrPho Show form to send the photo of the current centre - 175. ActRecCtrPho Receive and store the photo of the current centre - 176. ActChgCtrPhoAtt Change attribution of centre photo + 173. ActPrnCtrInf Print information on the current centre + 174. ActReqCtrLog Show form to send the logo of the current centre + 175. ActRecCtrLog Receive and store the logo of the current centre + 176. ActRemCtrLog Remove the logo of the current centre + 177. ActReqCtrPho Show form to send the photo of the current centre + 178. ActRecCtrPho Receive and store the photo of the current centre + 179. ActChgCtrPhoAtt Change attribution of centre photo - 177. ActEdiDeg Request edition of degrees of a type - 178. ActReqDeg Request the creation of a request for a new degree (a teacher makes the petition to an administrator) - 179. ActNewDeg Request the creation of a degree - 180. ActRemDeg Request the removal of a degree - 181. ActRenDegSho Request change of the short name of a degree - 182. ActRenDegFul Request change of the full name of a degree - 183. ActChgDegTyp Request change of the type of a degree - 184. ActChgDegCtr Request change of the centre of a degree - 185. ActChgDegFstYea Request change of the first year of a degree - 186. ActChgDegLstYea Request change of the last year of a degree - 187. ActChgDegWWW Request change of the web of a degree - 188. ActChgDegSta Request change of status of a degree + 180. ActEdiDeg Request edition of degrees of a type + 181. ActReqDeg Request the creation of a request for a new degree (a teacher makes the petition to an administrator) + 182. ActNewDeg Request the creation of a degree + 183. ActRemDeg Request the removal of a degree + 184. ActRenDegSho Request change of the short name of a degree + 185. ActRenDegFul Request change of the full name of a degree + 186. ActChgDegTyp Request change of the type of a degree + 187. ActChgDegCtr Request change of the centre of a degree + 188. ActChgDegFstYea Request change of the first year of a degree + 189. ActChgDegLstYea Request change of the last year of a degree + 190. ActChgDegWWW Request change of the web of a degree + 191. ActChgDegSta Request change of status of a degree - 189. ActChgToSeeDocCtr Change to see centre documents + 192. ActChgToSeeDocCtr Change to see centre documents - 190. ActSeeDocCtr See the files of the documents zone of the centre - 191. ActExpSeeDocCtr Expand a folder in centre documents - 192. ActConSeeDocCtr Contract a folder in centre documents - 193. ActZIPSeeDocCtr Compress a folder in centre documents - 194. ActReqDatSeeDocCtr Ask for metadata of a file of the documents zone of the centre - 195. ActDowSeeDocCtr Download a file in documents zone of the centre + 193. ActSeeDocCtr See the files of the documents zone of the centre + 194. ActExpSeeDocCtr Expand a folder in centre documents + 195. ActConSeeDocCtr Contract a folder in centre documents + 196. ActZIPSeeDocCtr Compress a folder in centre documents + 197. ActReqDatSeeDocCtr Ask for metadata of a file of the documents zone of the centre + 198. ActDowSeeDocCtr Download a file in documents zone of the centre - 196. ActChgToAdmDocCtr Change to administrate centre documents + 199. ActChgToAdmDocCtr Change to administrate centre documents - 197. ActAdmDocCtr Admin the files of the documents zone of the centre - 198. ActReqRemFilDocCtr Request removal of a file in the documents zone of the centre - 199. ActRemFilDocCtr Remove a file in the documents zone of the centre - 200. ActRemFolDocCtr Remove a folder empty the documents zone of the centre - 201. ActCopDocCtr Set source of copy in the documents zone of the centre - 202. ActPasDocCtr Paste a folder or file in the documents zone of the centre - 203. ActRemTreDocCtr Remove a folder no empty in the documents zone of the centre - 204. ActFrmCreDocCtr Form to crear a folder or file in the documents zone of the centre - 205. ActCreFolDocCtr Create a new folder in the documents zone of the centre - 206. ActCreLnkDocCtr Create a new link in the documents zone of the centre - 207. ActRenFolDocCtr Rename a folder in the documents zone of the centre - 208. ActRcvFilDocCtrDZ Receive a file in the documents zone of the centre using Dropzone.js - 209. ActRcvFilDocCtrCla Receive a file in the documents zone of the centre using the classic way - 210. ActExpAdmDocCtr Expand a folder when administrating the documents zone of the centre - 211. ActConAdmDocCtr Contract a folder when administrating the documents zone of the centre - 212. ActZIPAdmDocCtr Compress a folder when administrating the documents zone of the centre - 213. ActShoDocCtr Show hidden folder or file of the documents zone of the centre - 214. ActHidDocCtr Hide folder or file of the documents zone of the centre - 215. ActReqDatAdmDocCtr Ask for metadata of a file of the documents zone of the centre - 216. ActChgDatAdmDocCtr Change metadata of a file of the documents zone of the centre - 217. ActDowAdmDocCtr Download a file of the documents zone of the centre + 200. ActAdmDocCtr Admin the files of the documents zone of the centre + 201. ActReqRemFilDocCtr Request removal of a file in the documents zone of the centre + 202. ActRemFilDocCtr Remove a file in the documents zone of the centre + 203. ActRemFolDocCtr Remove a folder empty the documents zone of the centre + 204. ActCopDocCtr Set source of copy in the documents zone of the centre + 205. ActPasDocCtr Paste a folder or file in the documents zone of the centre + 206. ActRemTreDocCtr Remove a folder no empty in the documents zone of the centre + 207. ActFrmCreDocCtr Form to crear a folder or file in the documents zone of the centre + 208. ActCreFolDocCtr Create a new folder in the documents zone of the centre + 209. ActCreLnkDocCtr Create a new link in the documents zone of the centre + 210. ActRenFolDocCtr Rename a folder in the documents zone of the centre + 211. ActRcvFilDocCtrDZ Receive a file in the documents zone of the centre using Dropzone.js + 212. ActRcvFilDocCtrCla Receive a file in the documents zone of the centre using the classic way + 213. ActExpAdmDocCtr Expand a folder when administrating the documents zone of the centre + 214. ActConAdmDocCtr Contract a folder when administrating the documents zone of the centre + 215. ActZIPAdmDocCtr Compress a folder when administrating the documents zone of the centre + 216. ActShoDocCtr Show hidden folder or file of the documents zone of the centre + 217. ActHidDocCtr Hide folder or file of the documents zone of the centre + 218. ActReqDatAdmDocCtr Ask for metadata of a file of the documents zone of the centre + 219. ActChgDatAdmDocCtr Change metadata of a file of the documents zone of the centre + 220. ActDowAdmDocCtr Download a file of the documents zone of the centre - 218. ActReqRemFilShaCtr Request removal of a shared file of the centre - 219. ActRemFilShaCtr Remove a shared file of the centre - 220. ActRemFolShaCtr Remove a folder empty común of the centre - 221. ActCopShaCtr Set source of copy in common zone of the centre - 222. ActPasShaCtr Paste a folder or file in common zone of the centre - 223. ActRemTreShaCtr Remove a folder no empty of common zone of the centre - 224. ActFrmCreShaCtr Form to crear a folder or file in common zone of the centre - 225. ActCreFolShaCtr Create a new folder in common zone of the centre - 226. ActCreLnkShaCtr Create a new link in common zone of the centre - 227. ActRenFolShaCtr Rename a folder in common zone of the centre - 228. ActRcvFilShaCtrDZ Receive a file in common zone of the centre using Dropzone.js - 229. ActRcvFilShaCtrCla Receive a file in common zone of the centre using the classic way - 230. ActExpShaCtr Expand a folder in common zone of the centre - 231. ActConShaCtr Contract a folder in common zone of the centre - 232. ActZIPShaCtr Compress a folder in common zone of the centre - 233. ActReqDatShaCtr Ask for metadata of a file of the common zone of the centre - 234. ActChgDatShaCtr Change metadata of a file of the common zone of the centre - 235. ActDowShaCtr Download a file of the common zone of the centre + 221. ActReqRemFilShaCtr Request removal of a shared file of the centre + 222. ActRemFilShaCtr Remove a shared file of the centre + 223. ActRemFolShaCtr Remove a folder empty común of the centre + 224. ActCopShaCtr Set source of copy in common zone of the centre + 225. ActPasShaCtr Paste a folder or file in common zone of the centre + 226. ActRemTreShaCtr Remove a folder no empty of common zone of the centre + 227. ActFrmCreShaCtr Form to crear a folder or file in common zone of the centre + 228. ActCreFolShaCtr Create a new folder in common zone of the centre + 229. ActCreLnkShaCtr Create a new link in common zone of the centre + 230. ActRenFolShaCtr Rename a folder in common zone of the centre + 231. ActRcvFilShaCtrDZ Receive a file in common zone of the centre using Dropzone.js + 232. ActRcvFilShaCtrCla Receive a file in common zone of the centre using the classic way + 233. ActExpShaCtr Expand a folder in common zone of the centre + 234. ActConShaCtr Contract a folder in common zone of the centre + 235. ActZIPShaCtr Compress a folder in common zone of the centre + 236. ActReqDatShaCtr Ask for metadata of a file of the common zone of the centre + 237. ActChgDatShaCtr Change metadata of a file of the common zone of the centre + 238. ActDowShaCtr Download a file of the common zone of the centre Degree: - 236. ActDegReqSch Request search in degree tab + 239. ActDegReqSch Request search in degree tab - 237. ActSeeDegInf Show information on the current degree - 238. ActSeeCrs List courses of a degree - 239. ActSeeAdmDocDeg Documents zone of the degree (see or admin) - 240. ActAdmShaDeg Admin the shared files zone of the degree + 240. ActSeeDegInf Show information on the current degree + 241. ActSeeCrs List courses of a degree + 242. ActSeeAdmDocDeg Documents zone of the degree (see or admin) + 243. ActAdmShaDeg Admin the shared files zone of the degree - 241. ActDegSch Search for courses, teachers, documents... + 244. ActDegSch Search for courses, teachers, documents... - 242. ActPrnDegInf Print information on the current degree - 243. ActReqDegLog Show form to send the logo of the current degree - 244. ActRecDegLog Receive and store the logo of the current degree - 245. ActRemDegLog Remove the logo of the current degree + 245. ActPrnDegInf Print information on the current degree + 246. ActReqDegLog Show form to send the logo of the current degree + 247. ActRecDegLog Receive and store the logo of the current degree + 248. ActRemDegLog Remove the logo of the current degree - 246. ActEdiCrs Request edition of courses of a degree - 247. ActReqCrs Request the creation of a request for a new course (a teacher makes the petition to an administrator) - 248. ActNewCrs Request the creation of a course - 249. ActRemCrs Request the removal of a course - 250. ActChgInsCrsCod Request change of institutional code of a course - 251. ActChgCrsDeg Request change of degree of a course - 252. ActChgCrsYea Request change of year of a course inside of its degree - 253. ActRenCrsSho Request change of short name of a course - 254. ActRenCrsFul Request change of full name of a course - 255. ActChgCrsSta Request change of status of a course + 249. ActEdiCrs Request edition of courses of a degree + 250. ActReqCrs Request the creation of a request for a new course (a teacher makes the petition to an administrator) + 251. ActNewCrs Request the creation of a course + 252. ActRemCrs Request the removal of a course + 253. ActChgInsCrsCod Request change of institutional code of a course + 254. ActChgCrsDeg Request change of degree of a course + 255. ActChgCrsYea Request change of year of a course inside of its degree + 256. ActRenCrsSho Request change of short name of a course + 257. ActRenCrsFul Request change of full name of a course + 258. ActChgCrsSta Request change of status of a course - 256. ActChgToSeeDocDeg Change to see degree documents + 259. ActChgToSeeDocDeg Change to see degree documents - 257. ActSeeDocDeg See the files of the documents zone of the degree - 258. ActExpSeeDocDeg Expand a folder in degree documents - 259. ActConSeeDocDeg Contract a folder in degree documents - 260. ActZIPSeeDocDeg Compress a folder in degree documents - 261. ActReqDatSeeDocDeg Ask for metadata of a file of the documents zone of the degree - 262. ActDowSeeDocDeg Download a file in documents zone of the degree + 260. ActSeeDocDeg See the files of the documents zone of the degree + 261. ActExpSeeDocDeg Expand a folder in degree documents + 262. ActConSeeDocDeg Contract a folder in degree documents + 263. ActZIPSeeDocDeg Compress a folder in degree documents + 264. ActReqDatSeeDocDeg Ask for metadata of a file of the documents zone of the degree + 265. ActDowSeeDocDeg Download a file in documents zone of the degree - 263. ActChgToAdmDocDeg Change to administrate degree documents + 266. ActChgToAdmDocDeg Change to administrate degree documents - 264. ActAdmDocDeg Admin the files of the documents zone of the degree - 265. ActReqRemFilDocDeg Request removal of a file in the documents zone of the degree - 266. ActRemFilDocDeg Remove a file in the documents zone of the degree - 267. ActRemFolDocDeg Remove a folder empty the documents zone of the degree - 268. ActCopDocDeg Set source of copy in the documents zone of the degree - 269. ActPasDocDeg Paste a folder or file in the documents zone of the degree - 270. ActRemTreDocDeg Remove a folder no empty in the documents zone of the degree - 271. ActFrmCreDocDeg Form to crear a folder or file in the documents zone of the degree - 272. ActCreFolDocDeg Create a new folder in the documents zone of the degree - 273. ActCreLnkDocDeg Create a new link in the documents zone of the degree - 274. ActRenFolDocDeg Rename a folder in the documents zone of the degree - 275. ActRcvFilDocDegDZ Receive a file in the documents zone of the degree using Dropzone.js - 276. ActRcvFilDocDegCla Receive a file in the documents zone of the degree using the classic way - 277. ActExpAdmDocDeg Expand a folder when administrating the documents zone of the degree - 278. ActConAdmDocDeg Contract a folder when administrating the documents zone of the degree - 279. ActZIPAdmDocDeg Compress a folder when administrating the documents zone of the degree - 280. ActShoDocDeg Show hidden folder or file of the documents zone of the degree - 281. ActHidDocDeg Hide folder or file of the documents zone of the degree - 282. ActReqDatAdmDocDeg Ask for metadata of a file of the documents zone of the degree - 283. ActChgDatAdmDocDeg Change metadata of a file of the documents zone of the degree - 284. ActDowAdmDocDeg Download a file of the documents zone of the degree + 267. ActAdmDocDeg Admin the files of the documents zone of the degree + 268. ActReqRemFilDocDeg Request removal of a file in the documents zone of the degree + 269. ActRemFilDocDeg Remove a file in the documents zone of the degree + 270. ActRemFolDocDeg Remove a folder empty the documents zone of the degree + 271. ActCopDocDeg Set source of copy in the documents zone of the degree + 272. ActPasDocDeg Paste a folder or file in the documents zone of the degree + 273. ActRemTreDocDeg Remove a folder no empty in the documents zone of the degree + 274. ActFrmCreDocDeg Form to crear a folder or file in the documents zone of the degree + 275. ActCreFolDocDeg Create a new folder in the documents zone of the degree + 276. ActCreLnkDocDeg Create a new link in the documents zone of the degree + 277. ActRenFolDocDeg Rename a folder in the documents zone of the degree + 278. ActRcvFilDocDegDZ Receive a file in the documents zone of the degree using Dropzone.js + 279. ActRcvFilDocDegCla Receive a file in the documents zone of the degree using the classic way + 280. ActExpAdmDocDeg Expand a folder when administrating the documents zone of the degree + 281. ActConAdmDocDeg Contract a folder when administrating the documents zone of the degree + 282. ActZIPAdmDocDeg Compress a folder when administrating the documents zone of the degree + 283. ActShoDocDeg Show hidden folder or file of the documents zone of the degree + 284. ActHidDocDeg Hide folder or file of the documents zone of the degree + 285. ActReqDatAdmDocDeg Ask for metadata of a file of the documents zone of the degree + 286. ActChgDatAdmDocDeg Change metadata of a file of the documents zone of the degree + 287. ActDowAdmDocDeg Download a file of the documents zone of the degree - 285. ActReqRemFilShaDeg Request removal of a shared file of the degree - 286. ActRemFilShaDeg Remove a shared file of the degree - 287. ActRemFolShaDeg Remove a folder empty común of the degree - 288. ActCopShaDeg Set source of copy in common zone of the degree - 289. ActPasShaDeg Paste a folder or file in common zone of the degree - 290. ActRemTreShaDeg Remove a folder no empty of common zone of the degree - 291. ActFrmCreShaDeg Form to crear a folder or file in common zone of the degree - 292. ActCreFolShaDeg Create a new folder in common zone of the degree - 293. ActCreLnkShaDeg Create a new link in common zone of the degree - 294. ActRenFolShaDeg Rename a folder in common zone of the degree - 295. ActRcvFilShaDegDZ Receive a file in common zone of the degree using Dropzone.js - 296. ActRcvFilShaDegCla Receive a file in common zone of the degree using the classic way - 297. ActExpShaDeg Expand a folder in common zone of the degree - 298. ActConShaDeg Contract a folder in common zone of the degree - 299. ActZIPShaDeg Compress a folder in common zone of the degree - 300. ActReqDatShaDeg Ask for metadata of a file of the common zone of the degree - 301. ActChgDatShaDeg Change metadata of a file of the common zone of the degree - 302. ActDowShaDeg Download a file of the common zone of the degree + 288. ActReqRemFilShaDeg Request removal of a shared file of the degree + 289. ActRemFilShaDeg Remove a shared file of the degree + 290. ActRemFolShaDeg Remove a folder empty común of the degree + 291. ActCopShaDeg Set source of copy in common zone of the degree + 292. ActPasShaDeg Paste a folder or file in common zone of the degree + 293. ActRemTreShaDeg Remove a folder no empty of common zone of the degree + 294. ActFrmCreShaDeg Form to crear a folder or file in common zone of the degree + 295. ActCreFolShaDeg Create a new folder in common zone of the degree + 296. ActCreLnkShaDeg Create a new link in common zone of the degree + 297. ActRenFolShaDeg Rename a folder in common zone of the degree + 298. ActRcvFilShaDegDZ Receive a file in common zone of the degree using Dropzone.js + 299. ActRcvFilShaDegCla Receive a file in common zone of the degree using the classic way + 300. ActExpShaDeg Expand a folder in common zone of the degree + 301. ActConShaDeg Contract a folder in common zone of the degree + 302. ActZIPShaDeg Compress a folder in common zone of the degree + 303. ActReqDatShaDeg Ask for metadata of a file of the common zone of the degree + 304. ActChgDatShaDeg Change metadata of a file of the common zone of the degree + 305. ActDowShaDeg Download a file of the common zone of the degree Course: - 303. ActCrsReqSch Request search in course tab + 306. ActCrsReqSch Request search in course tab - 304. ActSeeCrsInf Show information on the current course - 305. ActSeeTchGui Show teaching guide of the course - 306. ActSeeSyl Show syllabus (lectures or practicals) - 307. ActSeeSylLec Show the syllabus of lectures - 308. ActSeeSylPra Show the syllabus of practicals - 309. ActSeeAdmDocCrsGrp Documents zone of the course (see or admin) - 310. ActAdmShaCrsGrp Request the administration of the files of the common zone of the course or of a group - 311. ActSeeCrsTT Show the timetable - 312. ActSeeBib Show the bibliography - 313. ActSeeFAQ Show the FAQ - 314. ActSeeCrsLnk Show links related to the course + 307. ActSeeCrsInf Show information on the current course + 308. ActSeeTchGui Show teaching guide of the course + 309. ActSeeSyl Show syllabus (lectures or practicals) + 310. ActSeeSylLec Show the syllabus of lectures + 311. ActSeeSylPra Show the syllabus of practicals + 312. ActSeeAdmDocCrsGrp Documents zone of the course (see or admin) + 313. ActAdmShaCrsGrp Request the administration of the files of the common zone of the course or of a group + 314. ActSeeCrsTT Show the timetable + 315. ActSeeBib Show the bibliography + 316. ActSeeFAQ Show the FAQ + 317. ActSeeCrsLnk Show links related to the course - 315. ActCrsSch Search for courses, teachers, documents... + 318. ActCrsSch Search for courses, teachers, documents... - 316. ActPrnCrsInf Print information on the course - 317. ActChgCrsLog Change log in method for this course - 318. ActEdiCrsInf Edit general information about the course - 319. ActEdiTchGui Edit teaching guide of the course - 320. ActPrnCrsTT Show print view of the timetable - 321. ActEdiCrsTT Edit the timetable - 322. ActChgCrsTT Modify the timetable of the course - 323. ActChgCrsTT1stDay Change first day of week and show timetable of the course - 324. ActEdiSylLec Edit the syllabus of lectures - 325. ActEdiSylPra Edit the syllabus of practicals - 326. ActDelItmSylLec Remove a item from syllabus of lectures - 327. ActDelItmSylPra Remove a item from syllabus of practicals - 328. ActUp_IteSylLec Subir the posición of a subtree of the syllabus of lectures - 329. ActUp_IteSylPra Subir the posición of a subtree of the syllabus of practicals - 330. ActDwnIteSylLec Bajar the posición of a subtree of the syllabus of lectures - 331. ActDwnIteSylPra Bajar the posición of a subtree of the syllabus of practicals - 332. ActRgtIteSylLec Aumentar the level of a item of the syllabus of lectures - 333. ActRgtIteSylPra Aumentar the level of a item of the syllabus of practicals - 334. ActLftIteSylLec Disminuir the level of a item of the syllabus of lectures - 335. ActLftIteSylPra Disminuir the level of a item of the syllabus of practicals - 336. ActInsIteSylLec Insertar a new item in the syllabus of lectures - 337. ActInsIteSylPra Insertar a new item in the syllabus of practicals - 338. ActModIteSylLec Modify a item of the syllabus of lectures - 339. ActModIteSylPra Modify a item of the syllabus of practicals + 319. ActPrnCrsInf Print information on the course + 320. ActChgCrsLog Change log in method for this course + 321. ActEdiCrsInf Edit general information about the course + 322. ActEdiTchGui Edit teaching guide of the course + 323. ActPrnCrsTT Show print view of the timetable + 324. ActEdiCrsTT Edit the timetable + 325. ActChgCrsTT Modify the timetable of the course + 326. ActChgCrsTT1stDay Change first day of week and show timetable of the course + 327. ActEdiSylLec Edit the syllabus of lectures + 328. ActEdiSylPra Edit the syllabus of practicals + 329. ActDelItmSylLec Remove a item from syllabus of lectures + 330. ActDelItmSylPra Remove a item from syllabus of practicals + 331. ActUp_IteSylLec Subir the posición of a subtree of the syllabus of lectures + 332. ActUp_IteSylPra Subir the posición of a subtree of the syllabus of practicals + 333. ActDwnIteSylLec Bajar the posición of a subtree of the syllabus of lectures + 334. ActDwnIteSylPra Bajar the posición of a subtree of the syllabus of practicals + 335. ActRgtIteSylLec Aumentar the level of a item of the syllabus of lectures + 336. ActRgtIteSylPra Aumentar the level of a item of the syllabus of practicals + 337. ActLftIteSylLec Disminuir the level of a item of the syllabus of lectures + 338. ActLftIteSylPra Disminuir the level of a item of the syllabus of practicals + 339. ActInsIteSylLec Insertar a new item in the syllabus of lectures + 340. ActInsIteSylPra Insertar a new item in the syllabus of practicals + 341. ActModIteSylLec Modify a item of the syllabus of lectures + 342. ActModIteSylPra Modify a item of the syllabus of practicals - 340. ActChgToSeeDocCrs Change to see course/group documents + 343. ActChgToSeeDocCrs Change to see course/group documents - 341. ActSeeDocCrs See the files of the documents zone of the course - 342. ActExpSeeDocCrs Expand a folder in course documents - 343. ActConSeeDocCrs Contract a folder in course documents - 344. ActZIPSeeDocCrs Compress a folder in course documents - 345. ActReqDatSeeDocCrs Ask for metadata of a file of the documents zone of the course - 346. ActDowSeeDocCrs Download a file in documents zone of the course + 344. ActSeeDocCrs See the files of the documents zone of the course + 345. ActExpSeeDocCrs Expand a folder in course documents + 346. ActConSeeDocCrs Contract a folder in course documents + 347. ActZIPSeeDocCrs Compress a folder in course documents + 348. ActReqDatSeeDocCrs Ask for metadata of a file of the documents zone of the course + 349. ActDowSeeDocCrs Download a file in documents zone of the course - 347. ActSeeDocGrp See the files of the documents zone of a group - 348. ActExpSeeDocGrp Expand a folder in group documents - 349. ActConSeeDocGrp Contract a folder in group documents - 350. ActZIPSeeDocGrp Compress a folder in group documents - 351. ActReqDatSeeDocGrp Ask for metadata of a file of the documents zone of a group - 352. ActDowSeeDocGrp Download a file of the documents zone of a group + 350. ActSeeDocGrp See the files of the documents zone of a group + 351. ActExpSeeDocGrp Expand a folder in group documents + 352. ActConSeeDocGrp Contract a folder in group documents + 353. ActZIPSeeDocGrp Compress a folder in group documents + 354. ActReqDatSeeDocGrp Ask for metadata of a file of the documents zone of a group + 355. ActDowSeeDocGrp Download a file of the documents zone of a group - 353. ActChgToAdmDocCrs Change to administrate course/group documents + 356. ActChgToAdmDocCrs Change to administrate course/group documents - 354. ActAdmDocCrs Admin the files of the documents zone of the course - 355. ActReqRemFilDocCrs Request removal of a file in the documents zone of the course - 356. ActRemFilDocCrs Remove a file in the documents zone of the course - 357. ActRemFolDocCrs Remove a folder empty the documents zone of the course - 358. ActCopDocCrs Set source of copy in the documents zone of the course - 359. ActPasDocCrs Paste a folder or file in the documents zone of the course - 360. ActRemTreDocCrs Remove a folder no empty in the documents zone of the course - 361. ActFrmCreDocCrs Form to crear a folder or file in the documents zone of the course - 362. ActCreFolDocCrs Create a new folder in the documents zone of the course - 363. ActCreLnkDocCrs Create a new link in the documents zone of the course - 364. ActRenFolDocCrs Rename a folder in the documents zone of the course - 365. ActRcvFilDocCrsDZ Receive a file in the documents zone of the course using Dropzone.js - 366. ActRcvFilDocCrsCla Receive a file in the documents zone of the course using the classic way - 367. ActExpAdmDocCrs Expand a folder when administrating the documents zone of the course - 368. ActConAdmDocCrs Contract a folder when administrating the documents zone of the course - 369. ActZIPAdmDocCrs Compress a folder when administrating the documents zone of the course - 370. ActShoDocCrs Show hidden folder or file of the documents zone - 371. ActHidDocCrs Hide folder or file of the documents zone - 372. ActReqDatAdmDocCrs Ask for metadata of a file of the documents zone - 373. ActChgDatAdmDocCrs Change metadata of a file of the documents zone - 374. ActDowAdmDocCrs Download a file of the documents zone + 357. ActAdmDocCrs Admin the files of the documents zone of the course + 358. ActReqRemFilDocCrs Request removal of a file in the documents zone of the course + 359. ActRemFilDocCrs Remove a file in the documents zone of the course + 360. ActRemFolDocCrs Remove a folder empty the documents zone of the course + 361. ActCopDocCrs Set source of copy in the documents zone of the course + 362. ActPasDocCrs Paste a folder or file in the documents zone of the course + 363. ActRemTreDocCrs Remove a folder no empty in the documents zone of the course + 364. ActFrmCreDocCrs Form to crear a folder or file in the documents zone of the course + 365. ActCreFolDocCrs Create a new folder in the documents zone of the course + 366. ActCreLnkDocCrs Create a new link in the documents zone of the course + 367. ActRenFolDocCrs Rename a folder in the documents zone of the course + 368. ActRcvFilDocCrsDZ Receive a file in the documents zone of the course using Dropzone.js + 369. ActRcvFilDocCrsCla Receive a file in the documents zone of the course using the classic way + 370. ActExpAdmDocCrs Expand a folder when administrating the documents zone of the course + 371. ActConAdmDocCrs Contract a folder when administrating the documents zone of the course + 372. ActZIPAdmDocCrs Compress a folder when administrating the documents zone of the course + 373. ActShoDocCrs Show hidden folder or file of the documents zone + 374. ActHidDocCrs Hide folder or file of the documents zone + 375. ActReqDatAdmDocCrs Ask for metadata of a file of the documents zone + 376. ActChgDatAdmDocCrs Change metadata of a file of the documents zone + 377. ActDowAdmDocCrs Download a file of the documents zone - 375. ActAdmDocGrp Admin the files of the documents zone of a group - 376. ActReqRemFilDocGrp Request removal of a file in the documents zone of a group - 377. ActRemFilDocGrp Remove a file in the documents zone of a group - 378. ActRemFolDocGrp Remove a folder empty in the documents zone of a group - 379. ActCopDocGrp Set source of copy in the documents zone of a group - 380. ActPasDocGrp Paste a folder or file in the documents zone of a group - 381. ActRemTreDocGrp Remove a folder no empty in the documents zone of a group - 382. ActFrmCreDocGrp Form to crear a folder or file in the documents zone of a group - 383. ActCreFolDocGrp Create a new folder in the documents zone of a group - 384. ActCreLnkDocGrp Create a new link in the documents zone of a group - 385. ActRenFolDocGrp Rename a folder in the documents zone of a group - 386. ActRcvFilDocGrpDZ Receive a file in the documents zone of a group using Dropzone.js - 387. ActRcvFilDocGrpCla Receive a file in the documents zone of a group using the classic way - 388. ActExpAdmDocGrp Expand a folder when administrating the documents zone of a group - 389. ActConAdmDocGrp Contract a folder when administrating the documents zone of a group - 390. ActZIPAdmDocGrp Compress a folder when administrating the documents zone of a group - 391. ActShoDocGrp Show hidden folder or file of download - 392. ActHidDocGrp Hide folder or file of download - 393. ActReqDatAdmDocGrp Ask for metadata of a file of the documents zone of a group - 394. ActChgDatAdmDocGrp Change metadata of a file of the documents zone of a group - 395. ActDowAdmDocGrp Download a file of the documents zone of a group + 378. ActAdmDocGrp Admin the files of the documents zone of a group + 379. ActReqRemFilDocGrp Request removal of a file in the documents zone of a group + 380. ActRemFilDocGrp Remove a file in the documents zone of a group + 381. ActRemFolDocGrp Remove a folder empty in the documents zone of a group + 382. ActCopDocGrp Set source of copy in the documents zone of a group + 383. ActPasDocGrp Paste a folder or file in the documents zone of a group + 384. ActRemTreDocGrp Remove a folder no empty in the documents zone of a group + 385. ActFrmCreDocGrp Form to crear a folder or file in the documents zone of a group + 386. ActCreFolDocGrp Create a new folder in the documents zone of a group + 387. ActCreLnkDocGrp Create a new link in the documents zone of a group + 388. ActRenFolDocGrp Rename a folder in the documents zone of a group + 389. ActRcvFilDocGrpDZ Receive a file in the documents zone of a group using Dropzone.js + 390. ActRcvFilDocGrpCla Receive a file in the documents zone of a group using the classic way + 391. ActExpAdmDocGrp Expand a folder when administrating the documents zone of a group + 392. ActConAdmDocGrp Contract a folder when administrating the documents zone of a group + 393. ActZIPAdmDocGrp Compress a folder when administrating the documents zone of a group + 394. ActShoDocGrp Show hidden folder or file of download + 395. ActHidDocGrp Hide folder or file of download + 396. ActReqDatAdmDocGrp Ask for metadata of a file of the documents zone of a group + 397. ActChgDatAdmDocGrp Change metadata of a file of the documents zone of a group + 398. ActDowAdmDocGrp Download a file of the documents zone of a group - 396. ActChgToAdmSha Change to administrate shared files of the course/group + 399. ActChgToAdmSha Change to administrate shared files of the course/group - 397. ActAdmShaCrs Admin the shared files zone of the course - 398. ActReqRemFilShaCrs Request removal of a shared file of the course - 399. ActRemFilShaCrs Remove a shared file of the course - 400. ActRemFolShaCrs Remove a folder empty común of the course - 401. ActCopShaCrs Set source of copy in common zone of the course - 402. ActPasShaCrs Paste a folder or file in common zone of the course - 403. ActRemTreShaCrs Remove a folder no empty of common zone of the course - 404. ActFrmCreShaCrs Form to crear a folder or file in common zone of the course - 405. ActCreFolShaCrs Create a new folder in common zone of the course - 406. ActCreLnkShaCrs Create a new link in common zone of the course - 407. ActRenFolShaCrs Rename a folder in common zone of the course - 408. ActRcvFilShaCrsDZ Receive a file in common zone of the course using Dropzone.js - 409. ActRcvFilShaCrsCla Receive a file in common zone of the course using the classic way - 410. ActExpShaCrs Expand a folder in common zone of the course - 411. ActConShaCrs Contract a folder in common zone of the course - 412. ActZIPShaCrs Compress a folder in common zone of the course - 413. ActReqDatShaCrs Ask for metadata of a file of the common zone of the course - 414. ActChgDatShaCrs Change metadata of a file of the common zone of the course - 415. ActDowShaCrs Download a file of the common zone of the course + 400. ActAdmShaCrs Admin the shared files zone of the course + 401. ActReqRemFilShaCrs Request removal of a shared file of the course + 402. ActRemFilShaCrs Remove a shared file of the course + 403. ActRemFolShaCrs Remove a folder empty común of the course + 404. ActCopShaCrs Set source of copy in common zone of the course + 405. ActPasShaCrs Paste a folder or file in common zone of the course + 406. ActRemTreShaCrs Remove a folder no empty of common zone of the course + 407. ActFrmCreShaCrs Form to crear a folder or file in common zone of the course + 408. ActCreFolShaCrs Create a new folder in common zone of the course + 409. ActCreLnkShaCrs Create a new link in common zone of the course + 410. ActRenFolShaCrs Rename a folder in common zone of the course + 411. ActRcvFilShaCrsDZ Receive a file in common zone of the course using Dropzone.js + 412. ActRcvFilShaCrsCla Receive a file in common zone of the course using the classic way + 413. ActExpShaCrs Expand a folder in common zone of the course + 414. ActConShaCrs Contract a folder in common zone of the course + 415. ActZIPShaCrs Compress a folder in common zone of the course + 416. ActReqDatShaCrs Ask for metadata of a file of the common zone of the course + 417. ActChgDatShaCrs Change metadata of a file of the common zone of the course + 418. ActDowShaCrs Download a file of the common zone of the course - 416. ActAdmShaGrp Admin the shared files zone of a group - 417. ActReqRemFilShaGrp Request removal of a shared file of a group - 418. ActRemFilShaGrp Remove a shared file of a group - 419. ActRemFolShaGrp Remove a folder empty común of a group - 420. ActCopShaGrp Set source of copy in common zone of a group - 421. ActPasShaGrp Paste a folder or file in common zone of a group - 422. ActRemTreShaGrp Remove a folder no empty of common zone of a group - 423. ActFrmCreShaGrp Form to crear a folder or file in common zone of a group - 424. ActCreFolShaGrp Create a new folder in common zone of a group - 425. ActCreLnkShaGrp Create a new link in common zone of a group - 426. ActRenFolShaGrp Rename a folder in common zone of a group - 427. ActRcvFilShaGrpDZ Receive a file in common zone of a group using Dropzone.js - 428. ActRcvFilShaGrpCla Receive a file in common zone of a group using the classic way - 429. ActExpShaGrp Expand a folder in common zone of a group - 430. ActConShaGrp Contract a folder in common zone of a group - 431. ActZIPShaGrp Compress a folder in common zone of a group - 432. ActReqDatShaGrp Ask for metadata of a file of the common zone of a group - 433. ActChgDatShaGrp Change metadata of a file of the common zone of a group - 434. ActDowShaGrp Download a file of the common zone of a group + 419. ActAdmShaGrp Admin the shared files zone of a group + 420. ActReqRemFilShaGrp Request removal of a shared file of a group + 421. ActRemFilShaGrp Remove a shared file of a group + 422. ActRemFolShaGrp Remove a folder empty común of a group + 423. ActCopShaGrp Set source of copy in common zone of a group + 424. ActPasShaGrp Paste a folder or file in common zone of a group + 425. ActRemTreShaGrp Remove a folder no empty of common zone of a group + 426. ActFrmCreShaGrp Form to crear a folder or file in common zone of a group + 427. ActCreFolShaGrp Create a new folder in common zone of a group + 428. ActCreLnkShaGrp Create a new link in common zone of a group + 429. ActRenFolShaGrp Rename a folder in common zone of a group + 430. ActRcvFilShaGrpDZ Receive a file in common zone of a group using Dropzone.js + 431. ActRcvFilShaGrpCla Receive a file in common zone of a group using the classic way + 432. ActExpShaGrp Expand a folder in common zone of a group + 433. ActConShaGrp Contract a folder in common zone of a group + 434. ActZIPShaGrp Compress a folder in common zone of a group + 435. ActReqDatShaGrp Ask for metadata of a file of the common zone of a group + 436. ActChgDatShaGrp Change metadata of a file of the common zone of a group + 437. ActDowShaGrp Download a file of the common zone of a group - 435. ActEdiBib Edit the bibliography - 436. ActEdiFAQ Edit the FAQ - 437. ActEdiCrsLnk Edit the links relacionados with the course - 438. ActChgFrcReaCrsInf Change force students to read course info - 439. ActChgFrcReaTchGui Change force students to read teaching guide - 440. ActChgFrcReaSylLec Change force students to read lectures syllabus - 441. ActChgFrcReaSylPra Change force students to read practicals syllabus - 442. ActChgFrcReaBib Change force students to read bibliography - 443. ActChgFrcReaFAQ Change force students to read FAQ - 444. ActChgFrcReaCrsLnk Change force students to read links - 445. ActChgHavReaCrsInf Change if I have read course info - 446. ActChgHavReaTchGui Change if I have read teaching guide - 447. ActChgHavReaSylLec Change if I have read lectures syllabus - 448. ActChgHavReaSylPra Change if I have read practicals syllabus - 449. ActChgHavReaBib Change if I have read bibliography - 450. ActChgHavReaFAQ Change if I have read FAQ - 451. ActChgHavReaCrsLnk Change if I have read links - 452. ActSelInfSrcCrsInf Select the type of info shown in the general information about the course - 453. ActSelInfSrcTchGui Select the type of info shown in the teaching guide - 454. ActSelInfSrcSylLec Select the type of info shown in the lectures syllabus - 455. ActSelInfSrcSylPra Select the type of info shown in the practicals syllabus - 456. ActSelInfSrcBib Select the type of info shown in the bibliography - 457. ActSelInfSrcFAQ Select the type of info shown in the FAQ - 458. ActSelInfSrcCrsLnk Select the type of info shown in the links - 459. ActRcvURLCrsInf Receive a link a the general information about the course - 460. ActRcvURLTchGui Receive a link a the teaching guide - 461. ActRcvURLSylLec Receive a link al syllabus of lectures - 462. ActRcvURLSylPra Receive a link al syllabus of practicals - 463. ActRcvURLBib Receive a link a bibliography - 464. ActRcvURLFAQ Receive a link a FAQ - 465. ActRcvURLCrsLnk Receive a link a links - 466. ActRcvPagCrsInf Receive a page with the general information about the course - 467. ActRcvPagTchGui Receive a page with the teaching guide - 468. ActRcvPagSylLec Receive a page with the syllabus of lectures - 469. ActRcvPagSylPra Receive a page with the syllabus of practicals - 470. ActRcvPagBib Receive a page with bibliography - 471. ActRcvPagFAQ Receive a page with FAQ - 472. ActRcvPagCrsLnk Receive a page with links - 473. ActEditorCrsInf Integrated editor of the general information about the course - 474. ActEditorTchGui Integrated editor of the teaching guide - 475. ActEditorSylLec Integrated editor of the syllabus of lectures - 476. ActEditorSylPra Integrated editor of the syllabus of practicals - 477. ActEditorBib Integrated editor of bibliography - 478. ActEditorFAQ Integrated editor of FAQ - 479. ActEditorCrsLnk Integrated editor of links - 480. ActPlaTxtEdiCrsInf Editor of plain text of the general information about the course - 481. ActPlaTxtEdiTchGui Editor of plain text of the teaching guide - 482. ActPlaTxtEdiSylLec Editor of plain text of the syllabus of lectures - 483. ActPlaTxtEdiSylPra Editor of plain text of the syllabus of practicals - 484. ActPlaTxtEdiBib Editor of plain text of the bibliography - 485. ActPlaTxtEdiFAQ Editor of plain text of the FAQ - 486. ActPlaTxtEdiCrsLnk Editor of plain text of the links - 487. ActRchTxtEdiCrsInf Editor of plain text of the general information about the course - 488. ActRchTxtEdiTchGui Editor of plain text of the teaching guide - 489. ActRchTxtEdiSylLec Editor of plain text of the syllabus of lectures - 490. ActRchTxtEdiSylPra Editor of plain text of the syllabus of practicals - 491. ActRchTxtEdiBib Editor of plain text of the bibliography - 492. ActRchTxtEdiFAQ Editor of plain text of the FAQ - 493. ActRchTxtEdiCrsLnk Editor of plain text of the links - 494. ActRcvPlaTxtCrsInf Receive and change the plain text of the general information about the course - 495. ActRcvPlaTxtTchGui Receive and change the plain text of the teaching guide - 496. ActRcvPlaTxtSylLec Receive and change the plain text of the syllabus of lectures - 497. ActRcvPlaTxtSylPra Receive and change the plain text of the syllabus of practicals - 498. ActRcvPlaTxtBib Receive and change the plain text of the bibliography - 499. ActRcvPlaTxtFAQ Receive and change the plain text of the FAQ - 500. ActRcvPlaTxtCrsLnk Receive and change the plain text of the links - 501. ActRcvPlaTxtCrsInf Receive and change the rich text of the general information about the course - 502. ActRcvPlaTxtTchGui Receive and change the rich text of the teaching guide - 503. ActRcvPlaTxtSylLec Receive and change the rich text of the syllabus of lectures - 504. ActRcvPlaTxtSylPra Receive and change the rich text of the syllabus of practicals - 505. ActRcvPlaTxtBib Receive and change the rich text of the bibliography - 506. ActRcvPlaTxtFAQ Receive and change the rich text of the FAQ - 507. ActRcvPlaTxtCrsLnk Receive and change the rich text of the links + 438. ActEdiBib Edit the bibliography + 439. ActEdiFAQ Edit the FAQ + 440. ActEdiCrsLnk Edit the links relacionados with the course + 441. ActChgFrcReaCrsInf Change force students to read course info + 442. ActChgFrcReaTchGui Change force students to read teaching guide + 443. ActChgFrcReaSylLec Change force students to read lectures syllabus + 444. ActChgFrcReaSylPra Change force students to read practicals syllabus + 445. ActChgFrcReaBib Change force students to read bibliography + 446. ActChgFrcReaFAQ Change force students to read FAQ + 447. ActChgFrcReaCrsLnk Change force students to read links + 448. ActChgHavReaCrsInf Change if I have read course info + 449. ActChgHavReaTchGui Change if I have read teaching guide + 450. ActChgHavReaSylLec Change if I have read lectures syllabus + 451. ActChgHavReaSylPra Change if I have read practicals syllabus + 452. ActChgHavReaBib Change if I have read bibliography + 453. ActChgHavReaFAQ Change if I have read FAQ + 454. ActChgHavReaCrsLnk Change if I have read links + 455. ActSelInfSrcCrsInf Select the type of info shown in the general information about the course + 456. ActSelInfSrcTchGui Select the type of info shown in the teaching guide + 457. ActSelInfSrcSylLec Select the type of info shown in the lectures syllabus + 458. ActSelInfSrcSylPra Select the type of info shown in the practicals syllabus + 459. ActSelInfSrcBib Select the type of info shown in the bibliography + 460. ActSelInfSrcFAQ Select the type of info shown in the FAQ + 461. ActSelInfSrcCrsLnk Select the type of info shown in the links + 462. ActRcvURLCrsInf Receive a link a the general information about the course + 463. ActRcvURLTchGui Receive a link a the teaching guide + 464. ActRcvURLSylLec Receive a link al syllabus of lectures + 465. ActRcvURLSylPra Receive a link al syllabus of practicals + 466. ActRcvURLBib Receive a link a bibliography + 467. ActRcvURLFAQ Receive a link a FAQ + 468. ActRcvURLCrsLnk Receive a link a links + 469. ActRcvPagCrsInf Receive a page with the general information about the course + 470. ActRcvPagTchGui Receive a page with the teaching guide + 471. ActRcvPagSylLec Receive a page with the syllabus of lectures + 472. ActRcvPagSylPra Receive a page with the syllabus of practicals + 473. ActRcvPagBib Receive a page with bibliography + 474. ActRcvPagFAQ Receive a page with FAQ + 475. ActRcvPagCrsLnk Receive a page with links + 476. ActEditorCrsInf Integrated editor of the general information about the course + 477. ActEditorTchGui Integrated editor of the teaching guide + 478. ActEditorSylLec Integrated editor of the syllabus of lectures + 479. ActEditorSylPra Integrated editor of the syllabus of practicals + 480. ActEditorBib Integrated editor of bibliography + 481. ActEditorFAQ Integrated editor of FAQ + 482. ActEditorCrsLnk Integrated editor of links + 483. ActPlaTxtEdiCrsInf Editor of plain text of the general information about the course + 484. ActPlaTxtEdiTchGui Editor of plain text of the teaching guide + 485. ActPlaTxtEdiSylLec Editor of plain text of the syllabus of lectures + 486. ActPlaTxtEdiSylPra Editor of plain text of the syllabus of practicals + 487. ActPlaTxtEdiBib Editor of plain text of the bibliography + 488. ActPlaTxtEdiFAQ Editor of plain text of the FAQ + 489. ActPlaTxtEdiCrsLnk Editor of plain text of the links + 490. ActRchTxtEdiCrsInf Editor of plain text of the general information about the course + 491. ActRchTxtEdiTchGui Editor of plain text of the teaching guide + 492. ActRchTxtEdiSylLec Editor of plain text of the syllabus of lectures + 493. ActRchTxtEdiSylPra Editor of plain text of the syllabus of practicals + 494. ActRchTxtEdiBib Editor of plain text of the bibliography + 495. ActRchTxtEdiFAQ Editor of plain text of the FAQ + 496. ActRchTxtEdiCrsLnk Editor of plain text of the links + 497. ActRcvPlaTxtCrsInf Receive and change the plain text of the general information about the course + 498. ActRcvPlaTxtTchGui Receive and change the plain text of the teaching guide + 499. ActRcvPlaTxtSylLec Receive and change the plain text of the syllabus of lectures + 500. ActRcvPlaTxtSylPra Receive and change the plain text of the syllabus of practicals + 501. ActRcvPlaTxtBib Receive and change the plain text of the bibliography + 502. ActRcvPlaTxtFAQ Receive and change the plain text of the FAQ + 503. ActRcvPlaTxtCrsLnk Receive and change the plain text of the links + 504. ActRcvPlaTxtCrsInf Receive and change the rich text of the general information about the course + 505. ActRcvPlaTxtTchGui Receive and change the rich text of the teaching guide + 506. ActRcvPlaTxtSylLec Receive and change the rich text of the syllabus of lectures + 507. ActRcvPlaTxtSylPra Receive and change the rich text of the syllabus of practicals + 508. ActRcvPlaTxtBib Receive and change the rich text of the bibliography + 509. ActRcvPlaTxtFAQ Receive and change the rich text of the FAQ + 510. ActRcvPlaTxtCrsLnk Receive and change the rich text of the links Assessment: - 508. ActSeeAss Show the assessment system - 509. ActSeeAsg Show assignments - 510. ActAdmAsgWrkUsr One user sends works of the course - 511. ActReqAsgWrkCrs A teacher requests edition of works sent to the course - 512. ActReqTst Request a test of self-assesment - 513. ActSeeCal Show the academic calendar of the course with exam announcements - 514. ActSeeExaAnn Show the exam announcements - 515. ActSeeAdmMrk Marks zone (see or admin) + 511. ActSeeAss Show the assessment system + 512. ActSeeAsg Show assignments + 513. ActAdmAsgWrkUsr One user sends works of the course + 514. ActReqAsgWrkCrs A teacher requests edition of works sent to the course + 515. ActReqTst Request a test of self-assesment + 516. ActSeeCal Show the academic calendar of the course with exam announcements + 517. ActSeeExaAnn Show the exam announcements + 518. ActSeeAdmMrk Marks zone (see or admin) - 516. ActEdiAss Edit the assessment system - 517. ActChgFrcReaAss Change force students to read assessment system - 518. ActChgHavReaAss Change if I have read assessment system - 519. ActSelInfSrcAss Selec. type of assessment - 520. ActRcvURLAss Receive a link a assessment - 521. ActRcvPagAss Receive a page with assessment - 522. ActEditorAss Integrated editor of assessment - 523. ActPlaTxtEdiAss Editor of plain text of assessment - 524. ActRchTxtEdiAss Editor of rich text of assessment - 525. ActRcvPlaTxtAss Receive and change the plain text of the assessment system - 526. ActRcvRchTxtAss Receive and change the rich text of the assessment system - 527. ActFrmNewAsg Form to create a new assignment - 528. ActEdiOneAsg Edit one assignment - 529. ActNewAsg Create new assignment - 530. ActChgAsg Modify data of an existing assignment - 531. ActReqRemAsg Request the removal of an assignment - 532. ActRemAsg Remove assignment - 533. ActHidAsg Hide assignment - 534. ActShoAsg Show assignment - 535. ActAdmAsgWrkCrs Edit all the works sent to the course - 536. ActReqRemFilAsgUsr Request removal of a file of assignments from a user - 537. ActRemFilAsgUsr Remove a file of assignments from a user - 538. ActRemFolAsgUsr Remove an empty folder of assignments of a user - 539. ActCopAsgUsr Set origin of copy in assignments of a user - 540. ActPasAsgUsr Paste a file or folder of assignments of a user - 541. ActRemTreAsgUsr Remove a not empty folder of assignments of a user - 542. ActFrmCreAsgUsr Form to create a new folder or file of assignments of a user - 543. ActCreFolAsgUsr Create a new folder of assignments of a user - 544. ActCreLnkAsgUsr Create a new link of assignments of a user - 545. ActRenFolAsgUsr Rename a folder of assignments of a user - 546. ActRcvFilAsgUsrDZ Receive a new file of assignments of a user using Dropzone.js - 547. ActRcvFilAsgUsrCla Receive a new file of assignments of a user using the classic way - 548. ActExpAsgUsr Expand a folder of assignments of a user - 549. ActConAsgUsr Contract a folder of assignments of a user - 550. ActZIPAsgUsr Compress a folder of assignments of a user - 551. ActReqDatAsgUsr Ask for metadata of a file of assignments of a user - 552. ActChgDatAsgUsr Change metadata of a file of assignments of a user - 553. ActDowAsgUsr Download a file of assignments of a user - 554. ActReqRemFilWrkUsr Request removal of a file of works from a user - 555. ActRemFilWrkUsr Remove a file of works from a user - 556. ActRemFolWrkUsr Remove an empty folder of works of a user - 557. ActCopWrkUsr Set origin of copy in works of a user - 558. ActPasWrkUsr Paste a file or folder of works of a user - 559. ActRemTreWrkUsr Remove a not empty folder of works of a user - 560. ActFrmCreWrkUsr Form to create a new folder or file of works of a user - 561. ActCreFolWrkUsr Create a new folder of works of a user - 562. ActCreLnkWrkUsr Create a new link of works of a user - 563. ActRenFolWrkUsr Rename a folder of works of a user - 564. ActRcvFilWrkUsrDZ Receive a new file of works of a user using Dropzone.js - 565. ActRcvFilWrkUsrCla Receive a new file of works of a user using the classic way - 566. ActExpWrkUsr Expand a folder of works of a user - 567. ActConWrkUsr Contract a folder of works of a user - 568. ActZIPWrkUsr Compress a folder of works of a user - 569. ActReqDatWrkUsr Ask for metadata of a file of works of a user - 570. ActChgDatWrkUsr Change metadata of a file of works of a user - 571. ActDowWrkUsr Download a file of works of a user - 572. ActReqRemFilAsgCrs Request removal of a file of assignments in the course - 573. ActRemFilAsgCrs Remove a file of assignments in the course - 574. ActRemFolAsgCrs Remove an empty folder of assignments in the course - 575. ActCopAsgCrs Set origin of copy in assignments in the course - 576. ActPasAsgCrs Paste a file or folder of assignments in the course - 577. ActRemTreAsgCrs Remove a not empty folder of assignments in the course - 578. ActFrmCreAsgCrs Form to create a new folder or file of assignments in the course - 579. ActCreFolAsgCrs Create a new folder of assignments in the course - 580. ActCreLnkAsgCrs Create a new link of assignments in the course - 581. ActRenFolAsgCrs Rename a folder of assignments in the course - 582. ActRcvFilAsgCrsDZ Receive a file of assignments in the course using Dropzone.js - 583. ActRcvFilAsgCrsCla Receive a file of assignments in the course using the classic way - 584. ActExpAsgCrs Expand a folder of assignments in a course - 585. ActConAsgCrs Contract a folder of assignments in a course - 586. ActZIPAsgCrs Compress a folder of assignments in a course - 587. ActReqDatAsgCrs Ask for metadata of a file of assignments in a course - 588. ActChgDatAsgCrs Change metadata of a file of assignments in a course - 589. ActDowAsgCrs Download a file of assignments in a course - 590. ActReqRemFilWrkCrs Request removal of a file of works in the course - 591. ActRemFilWrkCrs Remove a file of works in the course - 592. ActRemFolWrkCrs Remove an empty folder of works in the course - 593. ActCopWrkCrs Set origin of copy in works in the course - 594. ActPasWrkCrs Paste a file or folder of works in the course - 595. ActRemTreWrkCrs Remove a not empty folder of works in the course - 596. ActFrmCreWrkCrs Form to create a new folder or file of works in the course - 597. ActCreFolWrkCrs Create a new folder of works in the course - 598. ActCreLnkWrkCrs Create a new link of works in the course - 599. ActRenFolWrkCrs Rename a folder of works in the course - 600. ActRcvFilWrkCrsDZ Receive a file of works in the course using Dropzone.js - 601. ActRcvFilWrkCrsCla Receive a file of works in the course using the classic way - 602. ActExpWrkCrs Expand a folder of works in a course - 603. ActConWrkCrs Contract a folder of works in a course - 604. ActZIPWrkCrs Compress a folder of works in a course - 605. ActReqDatWrkCrs Ask for metadata of a file of works in a course - 606. ActChgDatWrkCrs Change metadata of a file of works in a course - 607. ActDowWrkCrs Download a file of works in a course - 608. ActSeeTst Show the seft-assessment test - 609. ActAssTst Assess a self-assessment test - 610. ActEdiTstQst Request the edition of self-assessment questions - 611. ActEdiOneTstQst Edit one self-assesment test question - 612. ActReqImpTstQst Put form to ask for an XML with test questions to import - 613. ActImpTstQst Import test questions from XML file - 614. ActLstTstQst List for edition several self-assessment test questions - 615. ActRcvTstQst Receive a question of self-assessment - 616. ActShfTstQst Change shuffle of of a question of self-assessment - 617. ActRemTstQst Remove a question of self-assessment - 618. ActCfgTst Request renaming of tags of questions of self-assesment - 619. ActEnableTag Enable a tag - 620. ActDisableTag Disable a tag - 621. ActRenTag Rename a tag - 622. ActRcvCfgTst Receive configuration of test - 623. ActReqSeeMyTstExa Select range of dates to see my results of test exams - 624. ActSeeMyTstExa Show my test results - 625. ActReqSeeUsrTstExa Select users and range of dates to see results of test exams - 626. ActSeeUsrTstExa Show test results of several users - 627. ActSeeOneTstExaMe Show one test exam of me as student - 628. ActSeeOneTstExaOth Show one test exam of other user + 519. ActEdiAss Edit the assessment system + 520. ActChgFrcReaAss Change force students to read assessment system + 521. ActChgHavReaAss Change if I have read assessment system + 522. ActSelInfSrcAss Selec. type of assessment + 523. ActRcvURLAss Receive a link a assessment + 524. ActRcvPagAss Receive a page with assessment + 525. ActEditorAss Integrated editor of assessment + 526. ActPlaTxtEdiAss Editor of plain text of assessment + 527. ActRchTxtEdiAss Editor of rich text of assessment + 528. ActRcvPlaTxtAss Receive and change the plain text of the assessment system + 529. ActRcvRchTxtAss Receive and change the rich text of the assessment system + 530. ActFrmNewAsg Form to create a new assignment + 531. ActEdiOneAsg Edit one assignment + 532. ActNewAsg Create new assignment + 533. ActChgAsg Modify data of an existing assignment + 534. ActReqRemAsg Request the removal of an assignment + 535. ActRemAsg Remove assignment + 536. ActHidAsg Hide assignment + 537. ActShoAsg Show assignment + 538. ActAdmAsgWrkCrs Edit all the works sent to the course + 539. ActReqRemFilAsgUsr Request removal of a file of assignments from a user + 540. ActRemFilAsgUsr Remove a file of assignments from a user + 541. ActRemFolAsgUsr Remove an empty folder of assignments of a user + 542. ActCopAsgUsr Set origin of copy in assignments of a user + 543. ActPasAsgUsr Paste a file or folder of assignments of a user + 544. ActRemTreAsgUsr Remove a not empty folder of assignments of a user + 545. ActFrmCreAsgUsr Form to create a new folder or file of assignments of a user + 546. ActCreFolAsgUsr Create a new folder of assignments of a user + 547. ActCreLnkAsgUsr Create a new link of assignments of a user + 548. ActRenFolAsgUsr Rename a folder of assignments of a user + 549. ActRcvFilAsgUsrDZ Receive a new file of assignments of a user using Dropzone.js + 550. ActRcvFilAsgUsrCla Receive a new file of assignments of a user using the classic way + 551. ActExpAsgUsr Expand a folder of assignments of a user + 552. ActConAsgUsr Contract a folder of assignments of a user + 553. ActZIPAsgUsr Compress a folder of assignments of a user + 554. ActReqDatAsgUsr Ask for metadata of a file of assignments of a user + 555. ActChgDatAsgUsr Change metadata of a file of assignments of a user + 556. ActDowAsgUsr Download a file of assignments of a user + 557. ActReqRemFilWrkUsr Request removal of a file of works from a user + 558. ActRemFilWrkUsr Remove a file of works from a user + 559. ActRemFolWrkUsr Remove an empty folder of works of a user + 560. ActCopWrkUsr Set origin of copy in works of a user + 561. ActPasWrkUsr Paste a file or folder of works of a user + 562. ActRemTreWrkUsr Remove a not empty folder of works of a user + 563. ActFrmCreWrkUsr Form to create a new folder or file of works of a user + 564. ActCreFolWrkUsr Create a new folder of works of a user + 565. ActCreLnkWrkUsr Create a new link of works of a user + 566. ActRenFolWrkUsr Rename a folder of works of a user + 567. ActRcvFilWrkUsrDZ Receive a new file of works of a user using Dropzone.js + 568. ActRcvFilWrkUsrCla Receive a new file of works of a user using the classic way + 569. ActExpWrkUsr Expand a folder of works of a user + 570. ActConWrkUsr Contract a folder of works of a user + 571. ActZIPWrkUsr Compress a folder of works of a user + 572. ActReqDatWrkUsr Ask for metadata of a file of works of a user + 573. ActChgDatWrkUsr Change metadata of a file of works of a user + 574. ActDowWrkUsr Download a file of works of a user + 575. ActReqRemFilAsgCrs Request removal of a file of assignments in the course + 576. ActRemFilAsgCrs Remove a file of assignments in the course + 577. ActRemFolAsgCrs Remove an empty folder of assignments in the course + 578. ActCopAsgCrs Set origin of copy in assignments in the course + 579. ActPasAsgCrs Paste a file or folder of assignments in the course + 580. ActRemTreAsgCrs Remove a not empty folder of assignments in the course + 581. ActFrmCreAsgCrs Form to create a new folder or file of assignments in the course + 582. ActCreFolAsgCrs Create a new folder of assignments in the course + 583. ActCreLnkAsgCrs Create a new link of assignments in the course + 584. ActRenFolAsgCrs Rename a folder of assignments in the course + 585. ActRcvFilAsgCrsDZ Receive a file of assignments in the course using Dropzone.js + 586. ActRcvFilAsgCrsCla Receive a file of assignments in the course using the classic way + 587. ActExpAsgCrs Expand a folder of assignments in a course + 588. ActConAsgCrs Contract a folder of assignments in a course + 589. ActZIPAsgCrs Compress a folder of assignments in a course + 590. ActReqDatAsgCrs Ask for metadata of a file of assignments in a course + 591. ActChgDatAsgCrs Change metadata of a file of assignments in a course + 592. ActDowAsgCrs Download a file of assignments in a course + 593. ActReqRemFilWrkCrs Request removal of a file of works in the course + 594. ActRemFilWrkCrs Remove a file of works in the course + 595. ActRemFolWrkCrs Remove an empty folder of works in the course + 596. ActCopWrkCrs Set origin of copy in works in the course + 597. ActPasWrkCrs Paste a file or folder of works in the course + 598. ActRemTreWrkCrs Remove a not empty folder of works in the course + 599. ActFrmCreWrkCrs Form to create a new folder or file of works in the course + 600. ActCreFolWrkCrs Create a new folder of works in the course + 601. ActCreLnkWrkCrs Create a new link of works in the course + 602. ActRenFolWrkCrs Rename a folder of works in the course + 603. ActRcvFilWrkCrsDZ Receive a file of works in the course using Dropzone.js + 604. ActRcvFilWrkCrsCla Receive a file of works in the course using the classic way + 605. ActExpWrkCrs Expand a folder of works in a course + 606. ActConWrkCrs Contract a folder of works in a course + 607. ActZIPWrkCrs Compress a folder of works in a course + 608. ActReqDatWrkCrs Ask for metadata of a file of works in a course + 609. ActChgDatWrkCrs Change metadata of a file of works in a course + 610. ActDowWrkCrs Download a file of works in a course + 611. ActSeeTst Show the seft-assessment test + 612. ActAssTst Assess a self-assessment test + 613. ActEdiTstQst Request the edition of self-assessment questions + 614. ActEdiOneTstQst Edit one self-assesment test question + 615. ActReqImpTstQst Put form to ask for an XML with test questions to import + 616. ActImpTstQst Import test questions from XML file + 617. ActLstTstQst List for edition several self-assessment test questions + 618. ActRcvTstQst Receive a question of self-assessment + 619. ActShfTstQst Change shuffle of of a question of self-assessment + 620. ActRemTstQst Remove a question of self-assessment + 621. ActCfgTst Request renaming of tags of questions of self-assesment + 622. ActEnableTag Enable a tag + 623. ActDisableTag Disable a tag + 624. ActRenTag Rename a tag + 625. ActRcvCfgTst Receive configuration of test + 626. ActReqSeeMyTstExa Select range of dates to see my results of test exams + 627. ActSeeMyTstExa Show my test results + 628. ActReqSeeUsrTstExa Select users and range of dates to see results of test exams + 629. ActSeeUsrTstExa Show test results of several users + 630. ActSeeOneTstExaMe Show one test exam of me as student + 631. ActSeeOneTstExaOth Show one test exam of other user - 629. ActPrnCal Show print view of the academic calendar of the course - 630. ActChgCal1stDay Change first day of week and show academic calendar of the course + 632. ActPrnCal Show print view of the academic calendar of the course + 633. ActChgCal1stDay Change first day of week and show academic calendar of the course - 631. ActEdiExaAnn Edit an exam announcement - 632. ActRcvExaAnn Receive an exam announcement - 633. ActPrnExaAnn Show an exam announcement ready to be printed - 634. ActRemExaAnn Remove an exam announcement + 634. ActEdiExaAnn Edit an exam announcement + 635. ActRcvExaAnn Receive an exam announcement + 636. ActPrnExaAnn Show an exam announcement ready to be printed + 637. ActRemExaAnn Remove an exam announcement - 635. ActChgToSeeMrk Change to see marks in course/group + 638. ActChgToSeeMrk Change to see marks in course/group - 636. ActSeeMrkCrs See marks in course - 637. ActExpSeeMrkCrs Expand a folder in marks in course - 638. ActConSeeMrkCrs Contract a folder in marks in course - 639. ActReqDatSeeMrkCrs Ask for metadata of a file of the marks zone of the course - 640. ActSeeMyMrkCrs Individualized access to marks in course + 639. ActSeeMrkCrs See marks in course + 640. ActExpSeeMrkCrs Expand a folder in marks in course + 641. ActConSeeMrkCrs Contract a folder in marks in course + 642. ActReqDatSeeMrkCrs Ask for metadata of a file of the marks zone of the course + 643. ActSeeMyMrkCrs Individualized access to marks in course - 641. ActSeeMrkGrp See marks in group - 642. ActExpSeeMrkGrp Expand a folder in marks in group - 643. ActConSeeMrkGrp Contract a folder in marks in group - 644. ActReqDatSeeMrkGrp Ask for metadata of a file of the marks zone of a group - 645. ActSeeMyMrkGrp Individualized access to marks in group + 644. ActSeeMrkGrp See marks in group + 645. ActExpSeeMrkGrp Expand a folder in marks in group + 646. ActConSeeMrkGrp Contract a folder in marks in group + 647. ActReqDatSeeMrkGrp Ask for metadata of a file of the marks zone of a group + 648. ActSeeMyMrkGrp Individualized access to marks in group - 646. ActChgToAdmMrk Change to admin marks in course/group + 649. ActChgToAdmMrk Change to admin marks in course/group - 647. ActAdmMrkCrs Admin the files of the zone of marks in course - 648. ActReqRemFilMrkCrs Request removal of a file of marks in course - 649. ActRemFilMrkCrs Remove a file of marks in course - 650. ActRemFolMrkCrs Remove a folder empty of marks in course - 651. ActCopMrkCrs Set source of copy in marks in course - 652. ActPasMrkCrs Paste a folder or file in marks in course - 653. ActRemTreMrkCrs Remove a folder no empty of marks in course - 654. ActFrmCreMrkCrs Form to crear a folder or file in marks in course - 655. ActCreFolMrkCrs Create a new folder in marks in course - 656. ActRenFolMrkCrs Rename a folder in marks in course - 657. ActRcvFilMrkCrsDZ Receive a file of marks in course using Dropzone.js - 658. ActRcvFilMrkCrsCla Receive a file of marks in course using the classic way - 659. ActExpAdmMrkCrs Expand a folder in marks administration in course - 660. ActConAdmMrkCrs Contract a folder in marks administration in course - 661. ActZIPAdmMrkCrs Compress a folder in marks administration in course - 662. ActShoMrkCrs Show hidden folder or file of the marks administration in course - 663. ActHidMrkCrs Hide folder or file of the marks administration in course - 664. ActReqDatAdmMrkCrs Ask for metadata of a file in marks administration in course - 665. ActChgDatAdmMrkCrs Change metadata of a file in marks administration in course - 666. ActDowAdmMrkCrs Download a file in marks administration in course - 667. ActChgNumRowHeaCrs Change the number of rows of cabecera of a file of marks in course - 668. ActChgNumRowFooCrs Change the number of rows of pie of a file of marks in course + 650. ActAdmMrkCrs Admin the files of the zone of marks in course + 651. ActReqRemFilMrkCrs Request removal of a file of marks in course + 652. ActRemFilMrkCrs Remove a file of marks in course + 653. ActRemFolMrkCrs Remove a folder empty of marks in course + 654. ActCopMrkCrs Set source of copy in marks in course + 655. ActPasMrkCrs Paste a folder or file in marks in course + 656. ActRemTreMrkCrs Remove a folder no empty of marks in course + 657. ActFrmCreMrkCrs Form to crear a folder or file in marks in course + 658. ActCreFolMrkCrs Create a new folder in marks in course + 659. ActRenFolMrkCrs Rename a folder in marks in course + 660. ActRcvFilMrkCrsDZ Receive a file of marks in course using Dropzone.js + 661. ActRcvFilMrkCrsCla Receive a file of marks in course using the classic way + 662. ActExpAdmMrkCrs Expand a folder in marks administration in course + 663. ActConAdmMrkCrs Contract a folder in marks administration in course + 664. ActZIPAdmMrkCrs Compress a folder in marks administration in course + 665. ActShoMrkCrs Show hidden folder or file of the marks administration in course + 666. ActHidMrkCrs Hide folder or file of the marks administration in course + 667. ActReqDatAdmMrkCrs Ask for metadata of a file in marks administration in course + 668. ActChgDatAdmMrkCrs Change metadata of a file in marks administration in course + 669. ActDowAdmMrkCrs Download a file in marks administration in course + 670. ActChgNumRowHeaCrs Change the number of rows of cabecera of a file of marks in course + 671. ActChgNumRowFooCrs Change the number of rows of pie of a file of marks in course - 669. ActAdmMrkGrp Admin the files of the zone of marks in group - 670. ActReqRemFilMrkGrp Request removal of a file of marks in group - 671. ActRemFilMrkGrp Remove a file of marks in group - 672. ActRemFolMrkGrp Remove a folder empty of marks in group - 673. ActCopMrkGrp Set source of copy in marks in group - 674. ActPasMrkGrp Paste a folder or file in marks in group - 675. ActRemTreMrkGrp Remove a folder no empty of marks in group - 676. ActFrmCreMrkGrp Form to crear a folder or file in marks in group - 677. ActCreFolMrkGrp Create a new folder in marks in group - 678. ActRenFolMrkGrp Rename a folder in marks in group - 679. ActRcvFilMrkGrpDZ Receive a file to marks in group using Dropzone.js - 680. ActRcvFilMrkGrpCla Receive a file to marks in group using the classic way - 681. ActExpAdmMrkGrp Expand a folder in marks administration in group - 682. ActConAdmMrkGrp Contract a folder in marks administration in group - 683. ActZIPAdmMrkGrp Compress a folder in marks administration in group - 684. ActShoMrkGrp Show hidden folder or file of the marks administration in group - 685. ActHidMrkGrp Hide folder or file of the marks administration in group - 686. ActReqDatAdmMrkGrp Ask for metadata of a file in marks administration in group - 687. ActChgDatAdmMrkGrp Change metadata of a file in marks administration in group - 688. ActDowAdmMrkGrp Download a file in marks administration in group - 689. ActChgNumRowHeaGrp Change the number of rows of cabecera of a file of marks in group - 690. ActChgNumRowFooGrp Change the number of rows of pie of a file of marks in group + 672. ActAdmMrkGrp Admin the files of the zone of marks in group + 673. ActReqRemFilMrkGrp Request removal of a file of marks in group + 674. ActRemFilMrkGrp Remove a file of marks in group + 675. ActRemFolMrkGrp Remove a folder empty of marks in group + 676. ActCopMrkGrp Set source of copy in marks in group + 677. ActPasMrkGrp Paste a folder or file in marks in group + 678. ActRemTreMrkGrp Remove a folder no empty of marks in group + 679. ActFrmCreMrkGrp Form to crear a folder or file in marks in group + 680. ActCreFolMrkGrp Create a new folder in marks in group + 681. ActRenFolMrkGrp Rename a folder in marks in group + 682. ActRcvFilMrkGrpDZ Receive a file to marks in group using Dropzone.js + 683. ActRcvFilMrkGrpCla Receive a file to marks in group using the classic way + 684. ActExpAdmMrkGrp Expand a folder in marks administration in group + 685. ActConAdmMrkGrp Contract a folder in marks administration in group + 686. ActZIPAdmMrkGrp Compress a folder in marks administration in group + 687. ActShoMrkGrp Show hidden folder or file of the marks administration in group + 688. ActHidMrkGrp Hide folder or file of the marks administration in group + 689. ActReqDatAdmMrkGrp Ask for metadata of a file in marks administration in group + 690. ActChgDatAdmMrkGrp Change metadata of a file in marks administration in group + 691. ActDowAdmMrkGrp Download a file in marks administration in group + 692. ActChgNumRowHeaGrp Change the number of rows of cabecera of a file of marks in group + 693. ActChgNumRowFooGrp Change the number of rows of pie of a file of marks in group Users: - 691. ActReqSelGrp Request the selection of groups of students - 692. ActLstStd Show class photo or list of students - 693. ActLstTch Show class photo or list of teachers - 694. ActLstOth Show class photo or list of guests - 695. ActSeeAtt Show attendance events - 696. ActReqSignUp Apply for my enrollment - 697. ActSeeSignUpReq Show pending requests for inscription in the current course - 698. ActLstCon List connected users + 694. ActReqSelGrp Request the selection of groups of students + 695. ActLstStd Show class photo or list of students + 696. ActLstTch Show class photo or list of teachers + 697. ActLstOth Show class photo or list of guests + 698. ActSeeAtt Show attendance events + 699. ActReqSignUp Apply for my enrollment + 700. ActSeeSignUpReq Show pending requests for inscription in the current course + 701. ActLstCon List connected users - 700. ActChgGrp Change my groups - 701. ActReqEdiGrp Request the edition of groups - 702. ActNewGrpTyp Request the creation of a type of group of students - 703. ActReqRemGrpTyp Request the removal of a type of group of students - 704. ActRemGrpTyp Remove a type of group of students - 705. ActRenGrpTyp Request renaming of a type of group of students - 706. ActChgMdtGrpTyp Request change if it is mandatory to register in groups of a type - 707. ActChgMulGrpTyp Request change if it is possible to register in multiple groups of a type - 708. ActChgTimGrpTyp Request change when the groups of a type will be open - 709. ActNewGrp Request the creation of a group of students - 710. ActReqRemGrp Request the removal of a group of students - 711. ActRemGrp Remove a group of students - 712. ActOpeGrp Abrir a group of students - 713. ActCloGrp Cerrar a group of students - 714. ActEnaFilZonGrp Enable zonas of files of a group - 715. ActDisFilZonGrp Disable zonas of files of a group - 716. ActChgGrpTyp Request change in the type of group of students - 717. ActRenGrp Request renaming of a group of students - 718. ActChgMaxStdGrp Request change in the number máximo of students of a group + 702. ActChgGrp Change my groups + 703. ActReqEdiGrp Request the edition of groups + 704. ActNewGrpTyp Request the creation of a type of group of students + 705. ActReqRemGrpTyp Request the removal of a type of group of students + 706. ActRemGrpTyp Remove a type of group of students + 707. ActRenGrpTyp Request renaming of a type of group of students + 708. ActChgMdtGrpTyp Request change if it is mandatory to register in groups of a type + 709. ActChgMulGrpTyp Request change if it is possible to register in multiple groups of a type + 710. ActChgTimGrpTyp Request change when the groups of a type will be open + 711. ActNewGrp Request the creation of a group of students + 712. ActReqRemGrp Request the removal of a group of students + 713. ActRemGrp Remove a group of students + 714. ActOpeGrp Abrir a group of students + 715. ActCloGrp Cerrar a group of students + 716. ActEnaFilZonGrp Enable zonas of files of a group + 717. ActDisFilZonGrp Disable zonas of files of a group + 718. ActChgGrpTyp Request change in the type of group of students + 719. ActRenGrp Request renaming of a group of students + 720. ActChgMaxStdGrp Request change in the number máximo of students of a group - 719. ActGetExtLstStd Get external lists of students + 721. ActGetExtLstStd Get external lists of students - 720. ActLstGst List main data of administrators + 722. ActLstGst List main data of administrators - 721. ActPrnGstPho Show the class photo of guests ready to be printed - 722. ActPrnStdPho Show the class photo of students ready to be printed - 723. ActPrnTchPho Show the class photo of teachers ready to be printed - 724. ActLstGstAll List in another window the full data of guests - 725. ActLstStdAll List in another window the full data of students - 726. ActLstTchAll List in another window the full data of teachers + 723. ActPrnGstPho Show the class photo of guests ready to be printed + 724. ActPrnStdPho Show the class photo of students ready to be printed + 725. ActPrnTchPho Show the class photo of teachers ready to be printed + 726. ActLstGstAll List in another window the full data of guests + 727. ActLstStdAll List in another window the full data of students + 728. ActLstTchAll List in another window the full data of teachers - 727. ActSeeRecOneStd Show record of one selected student - 728. ActSeeRecOneTch Show record of one selected teacher - 729. ActSeeRecSevGst Show records of several selected guests - 730. ActSeeRecSevStd Show records of several selected students - 731. ActSeeRecSevTch Show records of several selected teachers - 732. ActPrnRecSevGst Show records of several selected guests ready to be printed - 733. ActPrnRecSevStd Show records of several selected students ready to be printed - 734. ActPrnRecSevTch Show records of several selected teachers ready to be printed - 735. ActRcvRecOthUsr Update record fields of a student in this course - 736. ActEdiRecFie Request the edition of record fields of students - 737. ActNewFie Request the creation of a record field - 738. ActReqRemFie Request the removal of record field - 739. ActRemFie Remove a record field - 740. ActRenFie Request renaming of record field - 741. ActChgRowFie Request change in number of lines of form of a record field - 742. ActChgVisFie Request change in visibility of a record field - 743. ActRcvRecCrs Receive and update fields of my record in this course + 729. ActSeeRecOneStd Show record of one selected student + 730. ActSeeRecOneTch Show record of one selected teacher + 731. ActSeeRecSevGst Show records of several selected guests + 732. ActSeeRecSevStd Show records of several selected students + 733. ActSeeRecSevTch Show records of several selected teachers + 734. ActPrnRecSevGst Show records of several selected guests ready to be printed + 735. ActPrnRecSevStd Show records of several selected students ready to be printed + 736. ActPrnRecSevTch Show records of several selected teachers ready to be printed + 737. ActRcvRecOthUsr Update record fields of a student in this course + 738. ActEdiRecFie Request the edition of record fields of students + 739. ActNewFie Request the creation of a record field + 740. ActReqRemFie Request the removal of record field + 741. ActRemFie Remove a record field + 742. ActRenFie Request renaming of record field + 743. ActChgRowFie Request change in number of lines of form of a record field + 744. ActChgVisFie Request change in visibility of a record field + 745. ActRcvRecCrs Receive and update fields of my record in this course - 744. ActReqEnrSevStd Request the enrollment/removing of several users to / from current course - 745. ActReqEnrSevTch Request the enrollment/removing of several users to / from current course + 746. ActReqEnrSevStd Request the enrollment/removing of several users to / from current course + 747. ActReqEnrSevTch Request the enrollment/removing of several users to / from current course - 746. ActReqLstStdAtt Request listing of attendance of several students to several events - 747. ActSeeLstMyAtt List my attendance as student to several events - 748. ActPrnLstMyAtt Print my attendance as student to several events - 749. ActSeeLstStdAtt List attendance of several students to several events - 750. ActPrnLstStdAtt Print attendance of several students to several events - 751. ActFrmNewAtt Form to create a new attendance event - 752. ActEdiOneAtt Edit one attendance event - 753. ActNewAtt Create new attendance event - 754. ActChgAtt Modify data of an existing attendance event - 755. ActReqRemAtt Request the removal of an attendance event - 756. ActRemAtt Remove attendance event - 757. ActHidAtt Hide attendance event - 758. ActShoAtt Show attendance event - 759. ActSeeOneAtt List students who attended to an event - 760. ActRecAttStd Save students who attended to an event and comments - 761. ActRecAttMe Save my comments as student in an attendance event + 748. ActReqLstStdAtt Request listing of attendance of several students to several events + 749. ActSeeLstMyAtt List my attendance as student to several events + 750. ActPrnLstMyAtt Print my attendance as student to several events + 751. ActSeeLstStdAtt List attendance of several students to several events + 752. ActPrnLstStdAtt Print attendance of several students to several events + 753. ActFrmNewAtt Form to create a new attendance event + 754. ActEdiOneAtt Edit one attendance event + 755. ActNewAtt Create new attendance event + 756. ActChgAtt Modify data of an existing attendance event + 757. ActReqRemAtt Request the removal of an attendance event + 758. ActRemAtt Remove attendance event + 759. ActHidAtt Hide attendance event + 760. ActShoAtt Show attendance event + 761. ActSeeOneAtt List students who attended to an event + 762. ActRecAttStd Save students who attended to an event and comments + 763. ActRecAttMe Save my comments as student in an attendance event - 762. ActSignUp Apply for my enrollment - 763. ActReqRejSignUp Ask if reject the enrollment of a user in a course - 764. ActRejSignUp Reject the enrollment of a user in a course + 764. ActSignUp Apply for my enrollment + 765. ActReqRejSignUp Ask if reject the enrollment of a user in a course + 766. ActRejSignUp Reject the enrollment of a user in a course - 765. ActReqMdfOneOth Request a user's ID for enrollment/removing - 766. ActReqMdfOneStd Request a user's ID for enrollment/removing - 767. ActReqMdfOneTch Request a user's ID for enrollment/removing - 768. ActReqMdfOth Request enrollment/removing of a user - 769. ActReqMdfStd Request enrollment/removing of a user - 770. ActReqMdfTch Request enrollment/removing of a user - 771. ActReqOthPho Show form to send the photo of another user - 772. ActReqStdPho Show form to send the photo of another user - 773. ActReqTchPho Show form to send the photo of another user - 774. ActDetOthPho Receive other user's photo and detect faces on it - 775. ActDetStdPho Receive other user's photo and detect faces on it - 776. ActDetTchPho Receive other user's photo and detect faces on it - 777. ActUpdOthPho Update other user's photo - 778. ActUpdStdPho Update other user's photo - 779. ActUpdTchPho Update other user's photo - 780. ActRemOthPho Remove other user's photo - 781. ActRemStdPho Remove other user's photo - 782. ActRemTchPho Remove other user's photo - 783. ActCreOth Create a new user - 784. ActCreStd Create a new user - 785. ActCreTch Create a new user - 786. ActUpdOth Update another user's data and groups - 787. ActUpdStd Update another user's data and groups - 788. ActUpdTch Update another user's data and groups - 789. ActReqAccEnrStd Confirm acceptation / refusion of enrollment as student in current course - 790. ActReqAccEnrTch Confirm acceptation / refusion of enrollment as teacher in current course - 791. ActAccEnrStd Accept enrollment as student in current course - 792. ActAccEnrTch Accept enrollment as teacher in current course - 793. ActRemMe_Std Reject enrollment as student in current course - 794. ActRemMe_Tch Reject enrollment as teacher in current course + 767. ActReqMdfOneOth Request a user's ID for enrollment/removing + 768. ActReqMdfOneStd Request a user's ID for enrollment/removing + 769. ActReqMdfOneTch Request a user's ID for enrollment/removing + 770. ActReqMdfOth Request enrollment/removing of a user + 771. ActReqMdfStd Request enrollment/removing of a user + 772. ActReqMdfTch Request enrollment/removing of a user + 773. ActReqOthPho Show form to send the photo of another user + 774. ActReqStdPho Show form to send the photo of another user + 775. ActReqTchPho Show form to send the photo of another user + 776. ActDetOthPho Receive other user's photo and detect faces on it + 777. ActDetStdPho Receive other user's photo and detect faces on it + 778. ActDetTchPho Receive other user's photo and detect faces on it + 779. ActUpdOthPho Update other user's photo + 780. ActUpdStdPho Update other user's photo + 781. ActUpdTchPho Update other user's photo + 782. ActRemOthPho Remove other user's photo + 783. ActRemStdPho Remove other user's photo + 784. ActRemTchPho Remove other user's photo + 785. ActCreOth Create a new user + 786. ActCreStd Create a new user + 787. ActCreTch Create a new user + 788. ActUpdOth Update another user's data and groups + 789. ActUpdStd Update another user's data and groups + 790. ActUpdTch Update another user's data and groups + 791. ActReqAccEnrStd Confirm acceptation / refusion of enrollment as student in current course + 792. ActReqAccEnrTch Confirm acceptation / refusion of enrollment as teacher in current course + 793. ActAccEnrStd Accept enrollment as student in current course + 794. ActAccEnrTch Accept enrollment as teacher in current course + 795. ActRemMe_Std Reject enrollment as student in current course + 796. ActRemMe_Tch Reject enrollment as teacher in current course - 795. ActNewAdmIns Register an administrador in this institution - 796. ActRemAdmIns Remove an administrador of this institution - 797. ActNewAdmCtr Register an administrador in this centre - 798. ActRemAdmCtr Remove an administrador of this centre - 799. ActNewAdmDeg Register an administrador in this degree - 800. ActRemAdmDeg Remove an administrador of this degree + 797. ActNewAdmIns Register an administrador in this institution + 798. ActRemAdmIns Remove an administrador of this institution + 799. ActNewAdmCtr Register an administrador in this centre + 800. ActRemAdmCtr Remove an administrador of this centre + 801. ActNewAdmDeg Register an administrador in this degree + 802. ActRemAdmDeg Remove an administrador of this degree - 801. ActRcvFrmEnrSevStd Receive a form with IDs of users to be registeres/removed to/from current course - 802. ActRcvFrmEnrSevTch Receive a form with IDs of users to be registeres/removed to/from current course + 803. ActRcvFrmEnrSevStd Receive a form with IDs of users to be registeres/removed to/from current course + 804. ActRcvFrmEnrSevTch Receive a form with IDs of users to be registeres/removed to/from current course - 803. ActFrmIDsOth Show form to the change of the IDs of another user - 804. ActFrmIDsStd Show form to the change of the IDs of another user - 805. ActFrmIDsTch Show form to the change of the IDs of another user - 806. ActRemID_Oth Remove one of the IDs of another user - 807. ActRemID_Std Remove one of the IDs of another user - 808. ActRemID_Tch Remove one of the IDs of another user - 809. ActNewID_Oth Create a new user's ID for another user - 810. ActNewID_Std Create a new user's ID for another user - 811. ActNewID_Tch Create a new user's ID for another user + 805. ActFrmIDsOth Show form to the change of the IDs of another user + 806. ActFrmIDsStd Show form to the change of the IDs of another user + 807. ActFrmIDsTch Show form to the change of the IDs of another user + 808. ActRemID_Oth Remove one of the IDs of another user + 809. ActRemID_Std Remove one of the IDs of another user + 810. ActRemID_Tch Remove one of the IDs of another user + 811. ActNewID_Oth Create a new user's ID for another user + 812. ActNewID_Std Create a new user's ID for another user + 813. ActNewID_Tch Create a new user's ID for another user - 812. ActFrmPwdOth Show form to change the password of another user - 813. ActFrmPwdStd Show form to change the password of another user - 814. ActFrmPwdTch Show form to change the password of another user - 815. ActChgPwdOth Change the password of another user - 816. ActChgPwdStd Change the password of another user - 817. ActChgPwdTch Change the password of another user + 814. ActFrmPwdOth Show form to change the password of another user + 815. ActFrmPwdStd Show form to change the password of another user + 816. ActFrmPwdTch Show form to change the password of another user + 817. ActChgPwdOth Change the password of another user + 818. ActChgPwdStd Change the password of another user + 819. ActChgPwdTch Change the password of another user - 818. ActFrmMaiOth Show form to the change of the e-mail of another user - 819. ActFrmMaiStd Show form to the change of the e-mail of another user - 820. ActFrmMaiTch Show form to the change of the e-mail of another user - 821. ActRemMaiOth Remove one of the e-mail of another user - 822. ActRemMaiStd Remove one of the e-mail of another user - 823. ActRemMaiTch Remove one of the e-mail of another user - 824. ActNewMaiOth Create a new user's e-mail for another user - 825. ActNewMaiStd Create a new user's e-mail for another user - 826. ActNewMaiTch Create a new user's e-mail for another user + 820. ActFrmMaiOth Show form to the change of the e-mail of another user + 821. ActFrmMaiStd Show form to the change of the e-mail of another user + 822. ActFrmMaiTch Show form to the change of the e-mail of another user + 823. ActRemMaiOth Remove one of the e-mail of another user + 824. ActRemMaiStd Remove one of the e-mail of another user + 825. ActRemMaiTch Remove one of the e-mail of another user + 826. ActNewMaiOth Create a new user's e-mail for another user + 827. ActNewMaiStd Create a new user's e-mail for another user + 828. ActNewMaiTch Create a new user's e-mail for another user - 827. ActRemStdCrs Remove a student from the current course - 828. ActRemTchCrs Remove a teacher from the current course - 829. ActRemUsrGbl Eliminate completely a user from the platform - 830. ActReqRemAllStdCrs Request the removal of all the students from the current course - 831. ActRemAllStdCrs Remove all the students from the current course - 832. ActReqRemOldUsr Request the complete elimination of old users - 833. ActRemOldUsr Eliminate completely old users + 829. ActRemStdCrs Remove a student from the current course + 830. ActRemTchCrs Remove a teacher from the current course + 831. ActRemUsrGbl Eliminate completely a user from the platform + 832. ActReqRemAllStdCrs Request the removal of all the students from the current course + 833. ActRemAllStdCrs Remove all the students from the current course + 834. ActReqRemOldUsr Request the complete elimination of old users + 835. ActRemOldUsr Eliminate completely old users - 834. ActLstClk List last clicks in real time + 836. ActLstClk List last clicks in real time Social: - 835. ActSeeSocTmlGbl Show social timeline (global) - 836. ActReqPubPrf Request @nickname to show a public user's profile - 837. ActSeeFor Show the level superior of the forums - 838. ActSeeChtRms Show the chat rooms + 837. ActSeeSocTmlGbl Show social timeline (global) + 838. ActReqPubPrf Request @nickname to show a public user's profile + 839. ActSeeFor Show the level superior of the forums + 840. ActSeeChtRms Show the chat rooms - 840. ActRcvSocPstGbl Receive a public social post to be displayed in the timeline (global) -NEW!!!!!!!!. ActRcvSocComGbl Comment a social note in the timeline (global) -NEW!!!!!!!!. ActShaSocNotGbl Share a social publishing in the timeline (global) -NEW!!!!!!!!. ActUnsSocPubGbl Unshare a previously shared social publishing in the timeline (global) - 841. ActReqRemSocPubGbl Request the removal of a social publishing in the timeline (global) - 842. ActRemSocPubGbl Remove a social publishing in the timeline (global) -NEW!!!!!!!!. ActReqRemSocComGbl Request the removal of a comment in a social note (global) -NEW!!!!!!!!. ActRemSocComGbl Remove of a comment in a social note (global) + 841. ActRcvSocPstGbl Receive a public social post to be displayed in the timeline (global) + 842. ActRcvSocComGbl Comment a social note in the timeline (global) + 843. ActShaSocNotGbl Share a social publishing in the timeline (global) + 844. ActUnsSocPubGbl Unshare a previously shared social publishing in the timeline (global) + 845. ActReqRemSocPubGbl Request the removal of a social publishing in the timeline (global) + 846. ActRemSocPubGbl Remove a social publishing in the timeline (global) + 847. ActReqRemSocComGbl Request the removal of a comment in a social note (global) + 848. ActRemSocComGbl Remove of a comment in a social note (global) -NEW!!!!!!!!. ActRcvSocPstUsr Receive a public social post to be displayed in the timeline (user) -NEW!!!!!!!!. ActRcvSocComUsr Comment a social note in the timeline (user) -NEW!!!!!!!!. ActShaSocNotUsr Share a social note in the timeline (user) -NEW!!!!!!!!. ActUnsSocPubUsr Unshare a previously shared social note in the timeline (user) -NEW!!!!!!!!. ActReqRemSocPubUsr Request the removal of a social publishing in the timeline (user) -NEW!!!!!!!!. ActRemSocPubUsr Remove a social publishing in the timeline (user) -NEW!!!!!!!!. ActReqRemSocComUsr Request the removal of a comment in a social note (user) -NEW!!!!!!!!. ActRemSocComUsr Remove of a comment in a social note (user) + 849. ActRcvSocPstUsr Receive a public social post to be displayed in the timeline (user) + 850. ActRcvSocComUsr Comment a social note in the timeline (user) + 851. ActShaSocNotUsr Share a social note in the timeline (user) + 852. ActUnsSocPubUsr Unshare a previously shared social note in the timeline (user) + 853. ActReqRemSocPubUsr Request the removal of a social publishing in the timeline (user) + 854. ActRemSocPubUsr Remove a social publishing in the timeline (user) + 855. ActReqRemSocComUsr Request the removal of a comment in a social note (user) + 856. ActRemSocComUsr Remove of a comment in a social note (user) - 843. ActSeePubPrf Show a public user's profile - 844. ActCal1stClkTim Calculate first click time from log and store into user's figures - 845. ActCalNumClk Calculate number of clicks from log and store into user's figures - 846. ActCalNumFileViews Calculate number of file views and store into user's figures - 847. ActCalNumForPst Calculate number of forum posts and store into user's figures - 848. ActCalNumMsgSnt Calculate number of messages sent from log and store into user's figures + 857. ActSeePubPrf Show a public user's profile + 858. ActCal1stClkTim Calculate first click time from log and store into user's figures + 859. ActCalNumClk Calculate number of clicks from log and store into user's figures + 860. ActCalNumFileViews Calculate number of file views and store into user's figures + 861. ActCalNumForPst Calculate number of forum posts and store into user's figures + 862. ActCalNumMsgSnt Calculate number of messages sent from log and store into user's figures - 849. ActFolUsr Follow another user - 850. ActUnfUsr Unfollow another user - 851. ActSeeFlg Show following - 852. ActSeeFlr Show followers + 863. ActFolUsr Follow another user + 864. ActUnfUsr Unfollow another user + 865. ActSeeFlg Show following + 866. ActSeeFlr Show followers - 853. ActSeeForCrsUsr Show top level of forum of users of the course - 854. ActSeeForCrsTch Show top level of forum of teachers of the course - 855. ActSeeForDegUsr Show top level of forum of users of the degree - 856. ActSeeForDegTch Show top level of forum of teachers of the degree - 857. ActSeeForCtrUsr Show top level of forum of users of the centre - 858. ActSeeForCtrTch Show top level of forum of teachers of the centre - 859. ActSeeForInsUsr Show top level of forum of users of the institution - 860. ActSeeForInsTch Show top level of forum of teachers of the institution - 861. ActSeeForGenUsr Show top level of forum of users general - 862. ActSeeForGenTch Show top level of forum of teachers general - 863. ActSeeForSWAUsr Show top level of forum of users of the platform - 864. ActSeeForSWATch Show top level of forum of teachers of the platform - 865. ActSeePstForCrsUsr Show the messages of a thread of the forum of users of the course - 866. ActSeePstForCrsTch Show the messages of a thread of the forum of teachers of the course - 867. ActSeePstForDegUsr Show the messages of a thread of the forum of users of the degree - 868. ActSeePstForDegTch Show the messages of a thread of the forum of teachers of the degree - 869. ActSeePstForCtrUsr Show the messages of a thread of the forum of users of the centre - 870. ActSeePstForCtrTch Show the messages of a thread of the forum of teachers of the centre - 871. ActSeePstForInsUsr Show the messages of a thread of the forum of users of the institution - 872. ActSeePstForInsTch Show the messages of a thread of the forum of teachers of the institution - 873. ActSeePstForGenUsr Show the messages of a thread of the forum of users general - 874. ActSeePstForGenTch Show the messages of a thread of the forum of teachers general - 875. ActSeePstForSWAUsr Show the messages of a thread of the forum of users of the platform - 876. ActSeePstForSWATch Show the messages of a thread of the forum of teachers of the platform - 877. ActRcvThrForCrsUsr Receive the first message of a new thread of forum of users of the course - 878. ActRcvThrForCrsTch Receive the first message of a new thread of forum of teachers of the course - 879. ActRcvThrForDegUsr Receive the first message of a new thread of forum of users of the degree - 880. ActRcvThrForDegTch Receive the first message of a new thread of forum of teachers of the degree - 881. ActRcvThrForCtrUsr Receive the first message of a new thread of forum of users of centre - 882. ActRcvThrForCtrTch Receive the first message of a new thread of forum of teachers of centre - 883. ActRcvThrForInsUsr Receive the first message of a new thread of forum of users of the institution - 884. ActRcvThrForInsTch Receive the first message of a new thread of forum of teachers of the institution - 885. ActRcvThrForGenUsr Receive the first message of a new thread of forum of users general - 886. ActRcvThrForGenTch Receive the first message of a new thread of forum of teachers general - 887. ActRcvThrForSWAUsr Receive the first message of a new thread of forum of users of the platform - 888. ActRcvThrForSWATch Receive the first message of a new thread of forum of teachers of the platform - 889. ActRcvRepForCrsUsr Receive a message of answer in a thread existente in the forum of users of the course - 890. ActRcvRepForCrsTch Receive a message of answer in a thread existente in the forum of teachers of the course - 891. ActRcvRepForDegUsr Receive a message of answer in a thread existente in the forum of users of the degree - 892. ActRcvRepForDegTch Receive a message of answer in a thread existente in the forum of teachers of the degree - 893. ActRcvRepForCtrUsr Receive a message of answer in a thread existente in the forum of users of centre - 894. ActRcvRepForCtrTch Receive a message of answer in a thread existente in the forum of teachers of centre - 895. ActRcvRepForInsUsr Receive a message of answer in a thread existente in the forum of users of the institution - 896. ActRcvRepForInsTch Receive a message of answer in a thread existente in the forum of teachers of the institution - 897. ActRcvRepForGenUsr Receive a message of answer in a thread existente in the forum of users general - 898. ActRcvRepForGenTch Receive a message of answer in a thread existente in the forum of teachers general - 899. ActRcvRepForSWAUsr Receive a message of answer in a thread existente in the forum of users of the platform - 900. ActRcvRepForSWATch Receive a message of answer in a thread existente in the forum of teachers of the platform - 901. ActReqDelThrCrsUsr Request the removal of a thread of forum of users of the course - 902. ActReqDelThrCrsTch Request the removal of a thread of forum of teachers of the course - 903. ActReqDelThrDegUsr Request the removal of a thread of forum of users of the degree - 904. ActReqDelThrDegTch Request the removal of a thread of forum of teachers of the degree - 905. ActReqDelThrCtrUsr Request the removal of a thread of forum of users of centre - 906. ActReqDelThrCtrTch Request the removal of a thread of forum of teachers of centre - 907. ActReqDelThrInsUsr Request the removal of a thread of forum of users of the institution - 908. ActReqDelThrInsTch Request the removal of a thread of forum of teachers of the institution - 909. ActReqDelThrGenUsr Request the removal of a thread of forum of users general - 910. ActReqDelThrGenTch Request the removal of a thread of forum of teachers general - 911. ActReqDelThrSWAUsr Request the removal of a thread of forum of users of the platform - 912. ActReqDelThrSWATch Request the removal of a thread of forum of teachers of the platform - 913. ActDelThrForCrsUsr Remove a thread of forum of users of the course - 914. ActDelThrForCrsTch Remove a thread of forum of teachers of the course - 915. ActDelThrForDegUsr Remove a thread of forum of users of the degree - 916. ActDelThrForDegTch Remove a thread of forum of teachers of the degree - 917. ActDelThrForCtrUsr Remove a thread of forum of users of centre - 918. ActDelThrForCtrTch Remove a thread of forum of teachers of centre - 919. ActDelThrForInsUsr Remove a thread of forum of users of the institution - 920. ActDelThrForInsTch Remove a thread of forum of teachers of the institution - 921. ActDelThrForGenUsr Remove a thread of forum of users general - 922. ActDelThrForGenTch Remove a thread of forum of teachers general - 923. ActDelThrForSWAUsr Remove a thread of forum of users of the platform - 924. ActDelThrForSWATch Remove a thread of forum of teachers of the platform - 925. ActCutThrForCrsUsr Cut a thread of forum of users of the course - 926. ActCutThrForCrsTch Cut a thread of forum of teachers of the course - 927. ActCutThrForDegUsr Cut a thread of forum of users of the degree - 928. ActCutThrForDegTch Cut a thread of forum of teachers of the degree - 929. ActCutThrForCtrUsr Cut a thread of forum of users of centre - 930. ActCutThrForCtrTch Cut a thread of forum of teachers of centre - 931. ActCutThrForInsUsr Cut a thread of forum of users of the institution - 932. ActCutThrForInsTch Cut a thread of forum of teachers of the institution - 933. ActCutThrForGenUsr Cut a thread of forum of users general - 934. ActCutThrForGenTch Cut a thread of forum of teachers general - 935. ActCutThrForSWAUsr Cut a thread of forum of users of the platform - 936. ActCutThrForSWATch Cut a thread of forum of teachers of the platform - 937. ActPasThrForCrsUsr Paste a thread of forum of users of the course - 938. ActPasThrForCrsTch Paste a thread of forum of teachers of the course - 939. ActPasThrForDegUsr Paste a thread of forum of users of the degree - 940. ActPasThrForDegTch Paste a thread of forum of teachers of the degree - 941. ActPasThrForCtrUsr Paste a thread of forum of users of centre - 942. ActPasThrForCtrTch Paste a thread of forum of teachers of centre - 943. ActPasThrForInsUsr Paste a thread of forum of users of the institution - 944. ActPasThrForInsTch Paste a thread of forum of teachers of the institution - 945. ActPasThrForGenUsr Paste a thread of forum of users general - 946. ActPasThrForGenTch Paste a thread of forum of teachers general - 947. ActPasThrForSWAUsr Paste a thread of forum of users of the platform - 948. ActPasThrForSWATch Paste a thread of forum of teachers of the platform - 949. ActDelPstForCrsUsr Remove a message of forum of users of the course - 950. ActDelPstForCrsTch Remove a message of forum of teachers of the course - 951. ActDelPstForDegUsr Remove a message of forum of users of the degree - 952. ActDelPstForDegTch Remove a message of forum of teachers of the degree - 953. ActDelPstForCtrUsr Remove a message of forum of users of centre - 954. ActDelPstForCtrTch Remove a message of forum of teachers of centre - 955. ActDelPstForInsUsr Remove a message of forum of users of the institution - 956. ActDelPstForInsTch Remove a message of forum of teachers of the institution - 957. ActDelPstForGenUsr Remove a message of forum of users general - 958. ActDelPstForGenTch Remove a message of forum of teachers general - 959. ActDelPstForSWAUsr Remove a message of forum of users of the platform - 960. ActDelPstForSWATch Remove a message of forum of teachers of the platform - 961. ActEnbPstForCrsUsr Enable a message of forum of users of the course - 962. ActEnbPstForCrsTch Enable a message of forum of teachers of the course - 963. ActEnbPstForDegUsr Enable a message of forum of users of the degree - 964. ActEnbPstForDegTch Enable a message of forum of teachers of the degree - 965. ActEnbPstForCtrUsr Enable a message of forum of users of centre - 966. ActEnbPstForCtrTch Enable a message of forum of teachers of centre - 967. ActEnbPstForInsUsr Enable a message of forum of users of the institution - 968. ActEnbPstForInsTch Enable a message of forum of teachers of the institution - 969. ActEnbPstForGenUsr Enable a message of forum of users general - 970. ActEnbPstForGenTch Enable a message of forum of teachers general - 971. ActEnbPstForSWAUsr Enable a message of forum of users of the platform - 972. ActEnbPstForSWATch Enable a message of forum of teachers of the platform - 973. ActDisPstForCrsUsr Disable a message of forum of users of the course - 974. ActDisPstForCrsTch Disable a message of forum of teachers of the course - 975. ActDisPstForDegUsr Disable a message of forum of users of the degree - 976. ActDisPstForDegTch Disable a message of forum of teachers of the degree - 977. ActDisPstForCtrUsr Disable a message of forum of users of centre - 978. ActDisPstForCtrTch Disable a message of forum of teachers of centre - 979. ActDisPstForInsUsr Disable a message of forum of users of the institution - 980. ActDisPstForInsTch Disable a message of forum of teachers of the institution - 981. ActDisPstForGenUsr Disable a message of forum of users general - 982. ActDisPstForGenTch Disable a message of forum of teachers general - 983. ActDisPstForSWAUsr Disable a message of forum of users of the platform - 984. ActDisPstForSWATch Disable a message of forum of teachers of the platform + 867. ActSeeForCrsUsr Show top level of forum of users of the course + 868. ActSeeForCrsTch Show top level of forum of teachers of the course + 869. ActSeeForDegUsr Show top level of forum of users of the degree + 870. ActSeeForDegTch Show top level of forum of teachers of the degree + 871. ActSeeForCtrUsr Show top level of forum of users of the centre + 872. ActSeeForCtrTch Show top level of forum of teachers of the centre + 873. ActSeeForInsUsr Show top level of forum of users of the institution + 874. ActSeeForInsTch Show top level of forum of teachers of the institution + 875. ActSeeForGenUsr Show top level of forum of users general + 876. ActSeeForGenTch Show top level of forum of teachers general + 877. ActSeeForSWAUsr Show top level of forum of users of the platform + 878. ActSeeForSWATch Show top level of forum of teachers of the platform + 879. ActSeePstForCrsUsr Show the messages of a thread of the forum of users of the course + 880. ActSeePstForCrsTch Show the messages of a thread of the forum of teachers of the course + 881. ActSeePstForDegUsr Show the messages of a thread of the forum of users of the degree + 882. ActSeePstForDegTch Show the messages of a thread of the forum of teachers of the degree + 883. ActSeePstForCtrUsr Show the messages of a thread of the forum of users of the centre + 884. ActSeePstForCtrTch Show the messages of a thread of the forum of teachers of the centre + 885. ActSeePstForInsUsr Show the messages of a thread of the forum of users of the institution + 886. ActSeePstForInsTch Show the messages of a thread of the forum of teachers of the institution + 887. ActSeePstForGenUsr Show the messages of a thread of the forum of users general + 888. ActSeePstForGenTch Show the messages of a thread of the forum of teachers general + 889. ActSeePstForSWAUsr Show the messages of a thread of the forum of users of the platform + 890. ActSeePstForSWATch Show the messages of a thread of the forum of teachers of the platform + 891. ActRcvThrForCrsUsr Receive the first message of a new thread of forum of users of the course + 892. ActRcvThrForCrsTch Receive the first message of a new thread of forum of teachers of the course + 893. ActRcvThrForDegUsr Receive the first message of a new thread of forum of users of the degree + 894. ActRcvThrForDegTch Receive the first message of a new thread of forum of teachers of the degree + 895. ActRcvThrForCtrUsr Receive the first message of a new thread of forum of users of centre + 896. ActRcvThrForCtrTch Receive the first message of a new thread of forum of teachers of centre + 897. ActRcvThrForInsUsr Receive the first message of a new thread of forum of users of the institution + 898. ActRcvThrForInsTch Receive the first message of a new thread of forum of teachers of the institution + 899. ActRcvThrForGenUsr Receive the first message of a new thread of forum of users general + 900. ActRcvThrForGenTch Receive the first message of a new thread of forum of teachers general + 901. ActRcvThrForSWAUsr Receive the first message of a new thread of forum of users of the platform + 902. ActRcvThrForSWATch Receive the first message of a new thread of forum of teachers of the platform + 903. ActRcvRepForCrsUsr Receive a message of answer in a thread existente in the forum of users of the course + 904. ActRcvRepForCrsTch Receive a message of answer in a thread existente in the forum of teachers of the course + 905. ActRcvRepForDegUsr Receive a message of answer in a thread existente in the forum of users of the degree + 906. ActRcvRepForDegTch Receive a message of answer in a thread existente in the forum of teachers of the degree + 907. ActRcvRepForCtrUsr Receive a message of answer in a thread existente in the forum of users of centre + 908. ActRcvRepForCtrTch Receive a message of answer in a thread existente in the forum of teachers of centre + 909. ActRcvRepForInsUsr Receive a message of answer in a thread existente in the forum of users of the institution + 910. ActRcvRepForInsTch Receive a message of answer in a thread existente in the forum of teachers of the institution + 911. ActRcvRepForGenUsr Receive a message of answer in a thread existente in the forum of users general + 912. ActRcvRepForGenTch Receive a message of answer in a thread existente in the forum of teachers general + 913. ActRcvRepForSWAUsr Receive a message of answer in a thread existente in the forum of users of the platform + 914. ActRcvRepForSWATch Receive a message of answer in a thread existente in the forum of teachers of the platform + 915. ActReqDelThrCrsUsr Request the removal of a thread of forum of users of the course + 916. ActReqDelThrCrsTch Request the removal of a thread of forum of teachers of the course + 917. ActReqDelThrDegUsr Request the removal of a thread of forum of users of the degree + 918. ActReqDelThrDegTch Request the removal of a thread of forum of teachers of the degree + 919. ActReqDelThrCtrUsr Request the removal of a thread of forum of users of centre + 920. ActReqDelThrCtrTch Request the removal of a thread of forum of teachers of centre + 921. ActReqDelThrInsUsr Request the removal of a thread of forum of users of the institution + 922. ActReqDelThrInsTch Request the removal of a thread of forum of teachers of the institution + 923. ActReqDelThrGenUsr Request the removal of a thread of forum of users general + 924. ActReqDelThrGenTch Request the removal of a thread of forum of teachers general + 925. ActReqDelThrSWAUsr Request the removal of a thread of forum of users of the platform + 926. ActReqDelThrSWATch Request the removal of a thread of forum of teachers of the platform + 927. ActDelThrForCrsUsr Remove a thread of forum of users of the course + 928. ActDelThrForCrsTch Remove a thread of forum of teachers of the course + 929. ActDelThrForDegUsr Remove a thread of forum of users of the degree + 930. ActDelThrForDegTch Remove a thread of forum of teachers of the degree + 931. ActDelThrForCtrUsr Remove a thread of forum of users of centre + 932. ActDelThrForCtrTch Remove a thread of forum of teachers of centre + 933. ActDelThrForInsUsr Remove a thread of forum of users of the institution + 934. ActDelThrForInsTch Remove a thread of forum of teachers of the institution + 935. ActDelThrForGenUsr Remove a thread of forum of users general + 936. ActDelThrForGenTch Remove a thread of forum of teachers general + 937. ActDelThrForSWAUsr Remove a thread of forum of users of the platform + 938. ActDelThrForSWATch Remove a thread of forum of teachers of the platform + 939. ActCutThrForCrsUsr Cut a thread of forum of users of the course + 940. ActCutThrForCrsTch Cut a thread of forum of teachers of the course + 941. ActCutThrForDegUsr Cut a thread of forum of users of the degree + 942. ActCutThrForDegTch Cut a thread of forum of teachers of the degree + 943. ActCutThrForCtrUsr Cut a thread of forum of users of centre + 944. ActCutThrForCtrTch Cut a thread of forum of teachers of centre + 945. ActCutThrForInsUsr Cut a thread of forum of users of the institution + 946. ActCutThrForInsTch Cut a thread of forum of teachers of the institution + 947. ActCutThrForGenUsr Cut a thread of forum of users general + 948. ActCutThrForGenTch Cut a thread of forum of teachers general + 950. ActCutThrForSWAUsr Cut a thread of forum of users of the platform + 951. ActCutThrForSWATch Cut a thread of forum of teachers of the platform + 952. ActPasThrForCrsUsr Paste a thread of forum of users of the course + 953. ActPasThrForCrsTch Paste a thread of forum of teachers of the course + 954. ActPasThrForDegUsr Paste a thread of forum of users of the degree + 955. ActPasThrForDegTch Paste a thread of forum of teachers of the degree + 956. ActPasThrForCtrUsr Paste a thread of forum of users of centre + 957. ActPasThrForCtrTch Paste a thread of forum of teachers of centre + 958. ActPasThrForInsUsr Paste a thread of forum of users of the institution + 959. ActPasThrForInsTch Paste a thread of forum of teachers of the institution + 960. ActPasThrForGenUsr Paste a thread of forum of users general + 961. ActPasThrForGenTch Paste a thread of forum of teachers general + 962. ActPasThrForSWAUsr Paste a thread of forum of users of the platform + 963. ActPasThrForSWATch Paste a thread of forum of teachers of the platform + 964. ActDelPstForCrsUsr Remove a message of forum of users of the course + 965. ActDelPstForCrsTch Remove a message of forum of teachers of the course + 966. ActDelPstForDegUsr Remove a message of forum of users of the degree + 967. ActDelPstForDegTch Remove a message of forum of teachers of the degree + 968. ActDelPstForCtrUsr Remove a message of forum of users of centre + 969. ActDelPstForCtrTch Remove a message of forum of teachers of centre + 970. ActDelPstForInsUsr Remove a message of forum of users of the institution + 971. ActDelPstForInsTch Remove a message of forum of teachers of the institution + 972. ActDelPstForGenUsr Remove a message of forum of users general + 973. ActDelPstForGenTch Remove a message of forum of teachers general + 974. ActDelPstForSWAUsr Remove a message of forum of users of the platform + 975. ActDelPstForSWATch Remove a message of forum of teachers of the platform + 976. ActEnbPstForCrsUsr Enable a message of forum of users of the course + 977. ActEnbPstForCrsTch Enable a message of forum of teachers of the course + 978. ActEnbPstForDegUsr Enable a message of forum of users of the degree + 979. ActEnbPstForDegTch Enable a message of forum of teachers of the degree + 980. ActEnbPstForCtrUsr Enable a message of forum of users of centre + 981. ActEnbPstForCtrTch Enable a message of forum of teachers of centre + 982. ActEnbPstForInsUsr Enable a message of forum of users of the institution + 983. ActEnbPstForInsTch Enable a message of forum of teachers of the institution + 984. ActEnbPstForGenUsr Enable a message of forum of users general + 985. ActEnbPstForGenTch Enable a message of forum of teachers general + 986. ActEnbPstForSWAUsr Enable a message of forum of users of the platform + 987. ActEnbPstForSWATch Enable a message of forum of teachers of the platform + 988. ActDisPstForCrsUsr Disable a message of forum of users of the course + 989. ActDisPstForCrsTch Disable a message of forum of teachers of the course + 990. ActDisPstForDegUsr Disable a message of forum of users of the degree + 991. ActDisPstForDegTch Disable a message of forum of teachers of the degree + 992. ActDisPstForCtrUsr Disable a message of forum of users of centre + 993. ActDisPstForCtrTch Disable a message of forum of teachers of centre + 994. ActDisPstForInsUsr Disable a message of forum of users of the institution + 995. ActDisPstForInsTch Disable a message of forum of teachers of the institution + 996. ActDisPstForGenUsr Disable a message of forum of users general + 997. ActDisPstForGenTch Disable a message of forum of teachers general + 998. ActDisPstForSWAUsr Disable a message of forum of users of the platform + 999. ActDisPstForSWATch Disable a message of forum of teachers of the platform - 985. ActCht Enter in a chat room to chat + 1000. ActCht Enter in a chat room to chat Messages: - 986. ActSeeNtf Show my recent notifications - 987. ActSeeAnn Show global announcements - 988. ActSeeNot Show notices - 989. ActReqMsgUsr Write message to several users - 990. ActSeeRcvMsg Show the messages received from other users (link in menu) - 991. ActSeeSntMsg Show the messages sent to other users - 992. ActMaiStd Send an e-mail to students - 993. ActWriAnn Show form to create a new global announcement - 994. ActRcvAnn Receive and create a new global announcement - 995. ActHidAnn Hide a global announcement that was active - 996. ActRevAnn Reveal a global announcement that was hidden - 997. ActRemAnn Remove global announcement - 998. ActShoNot Show (expand) a notice - 999. ActWriNot Write a new notice - 1000. ActRcvNot Receive and create a new notice - 1001. ActHidNot Hide a notice that was active - 1002. ActRevNot Reveal a notice that was hidden - 1003. ActReqRemNot Request removal of a notice - 1004. ActRemNot Remove a notice - 1005. ActSeeNewNtf Show my recent notifications (link in top heading) - 1006. ActMrkNtfSee Mark all my notifications as seen - 1007. ActRcvMsgUsr Sent/Receive a message of a user - 1008. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users - 1009. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users - 1010. ActDelAllSntMsg Remove todos the messages sent to other users - 1011. ActDelAllRcvMsg Remove todos the messages received from other users - 1012. ActDelSntMsg Remove a message sent to other users - 1013. ActDelRcvMsg Remove a message received from other user - 1014. ActExpSntMsg See (expand) sent message - 1015. ActExpRcvMsg See (expand) received message - 1016. ActConSntMsg Hide (contract) sent message - 1017. ActConRcvMsg Hide (contract) received message - 1018. ActLstBanUsr List banned users - 1019. ActBanUsrMsg Ban the sender of a message when showing received messages - 1020. ActUnbUsrMsg Unban the sender of a message when showing received messages - 1021. ActUnbUsrLst Unban a user when listing banned users + 1001. ActSeeNtf Show my recent notifications + 1002. ActSeeAnn Show global announcements + 1003. ActSeeNot Show notices + 1004. ActReqMsgUsr Write message to several users + 1005. ActSeeRcvMsg Show the messages received from other users (link in menu) + 1006. ActSeeSntMsg Show the messages sent to other users + 1007. ActMaiStd Send an e-mail to students + 1008. ActWriAnn Show form to create a new global announcement + 1009. ActRcvAnn Receive and create a new global announcement + 1000. ActHidAnn Hide a global announcement that was active + 1011. ActRevAnn Reveal a global announcement that was hidden + 1012. ActRemAnn Remove global announcement + 1013. ActShoNot Show (expand) a notice + 1014. ActWriNot Write a new notice + 1015. ActRcvNot Receive and create a new notice + 1016. ActHidNot Hide a notice that was active + 1017. ActRevNot Reveal a notice that was hidden + 1018. ActReqRemNot Request removal of a notice + 1019. ActRemNot Remove a notice + 1020. ActSeeNewNtf Show my recent notifications (link in top heading) + 1021. ActMrkNtfSee Mark all my notifications as seen + 1022. ActRcvMsgUsr Sent/Receive a message of a user + 1023. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users + 1024. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users + 1025. ActDelAllSntMsg Remove todos the messages sent to other users + 1026. ActDelAllRcvMsg Remove todos the messages received from other users + 1027. ActDelSntMsg Remove a message sent to other users + 1028. ActDelRcvMsg Remove a message received from other user + 1029. ActExpSntMsg See (expand) sent message + 1030. ActExpRcvMsg See (expand) received message + 1031. ActConSntMsg Hide (contract) sent message + 1032. ActConRcvMsg Hide (contract) received message + 1033. ActLstBanUsr List banned users + 1034. ActBanUsrMsg Ban the sender of a message when showing received messages + 1035. ActUnbUsrMsg Unban the sender of a message when showing received messages + 1036. ActUnbUsrLst Unban a user when listing banned users Statistics: - 1022. ActSeeAllSvy List all surveys in pages - 1023. ActReqUseGbl Request showing use of the platform - 1024. ActSeePhoDeg Show a class photo with the average photos of the students of each degree - 1025. ActReqStaCrs Request statistics of courses - 1026. ActReqAccGbl Request query of clicks to the complete platform + 1037. ActSeeAllSvy List all surveys in pages + 1038. ActReqUseGbl Request showing use of the platform + 1039. ActSeePhoDeg Show a class photo with the average photos of the students of each degree + 1040. ActReqStaCrs Request statistics of courses + 1041. ActReqAccGbl Request query of clicks to the complete platform - 1027. ActSeeOneSvy Show one survey - 1028. ActAnsSvy Answer a survey - 1029. ActFrmNewSvy Form to create a new survey - 1030. ActEdiOneSvy Edit one survey - 1031. ActNewSvy Create new survey - 1032. ActChgSvy Modify data of an existing survey - 1033. ActReqRemSvy Request the removal of a survey - 1034. ActRemSvy Remove survey - 1035. ActReqRstSvy Request the reset of answers of a survey - 1036. ActRstSvy Reset answers of survey - 1037. ActHidSvy Hide survey - 1038. ActShoSvy Show survey - 1039. ActEdiOneSvyQst Edit a new question for a survey - 1040. ActRcvSvyQst Receive a question of a survey - 1041. ActRemSvyQst Remove a question of a survey - 1042. ActSeeUseGbl Show use of the platform - 1043. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree. - 1044. ActCalPhoDeg Compute the average photos of the students of each degree - 1045. ActSeeAccGbl Query clicks to the complete platform - 1046. ActReqAccCrs Request query of clicks in the course - 1047. ActSeeAccCrs Query clicks to current course - 1048. ActSeeAllStaCrs Show statistics of courses + 1042. ActSeeOneSvy Show one survey + 1043. ActAnsSvy Answer a survey + 1044. ActFrmNewSvy Form to create a new survey + 1045. ActEdiOneSvy Edit one survey + 1046. ActNewSvy Create new survey + 1047. ActChgSvy Modify data of an existing survey + 1048. ActReqRemSvy Request the removal of a survey + 1049. ActRemSvy Remove survey + 1050. ActReqRstSvy Request the reset of answers of a survey + 1051. ActRstSvy Reset answers of survey + 1052. ActHidSvy Hide survey + 1053. ActShoSvy Show survey + 1054. ActEdiOneSvyQst Edit a new question for a survey + 1055. ActRcvSvyQst Receive a question of a survey + 1056. ActRemSvyQst Remove a question of a survey + 1057. ActSeeUseGbl Show use of the platform + 1058. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree. + 1059. ActCalPhoDeg Compute the average photos of the students of each degree + 1060. ActSeeAccGbl Query clicks to the complete platform + 1061. ActReqAccCrs Request query of clicks in the course + 1062. ActSeeAccCrs Query clicks to current course + 1063. ActSeeAllStaCrs Show statistics of courses Profile: - 1049. ActFrmLogIn Show form to log in - 1050. ActMyCrs Select one of my courses - 1051. ActSeeMyTT Show the timetable of all courses of the logged user - 1052. ActFrmUsrAcc Show form to the creation or change of user's account - 1053. ActReqEdiRecCom Request the edition of the record with the personal data of the user - 1054. ActEdiPrf Show forms to edit preferences - 1055. ActAdmBrf Show the briefcase of private archives - 1056. ActMFUAct Show most frequently used actions + 1064. ActFrmLogIn Show form to log in + 1065. ActMyCrs Select one of my courses + 1066. ActSeeMyTT Show the timetable of all courses of the logged user + 1067. ActFrmUsrAcc Show form to the creation or change of user's account + 1068. ActReqEdiRecCom Request the edition of the record with the personal data of the user + 1069. ActEdiPrf Show forms to edit preferences + 1070. ActAdmBrf Show the briefcase of private archives + 1071. ActMFUAct Show most frequently used actions - 1057. ActAutUsrInt Authentify user internally (directly from the platform) - 1058. ActAutUsrExt Authentify user externally (remotely from an external site) - 1059. ActAutUsrChgLan Change language to my language just after authentication - 1060. ActLogOut Close session - 1061. ActAnnSee Mark announcement as seen + 1072. ActAutUsrInt Authentify user internally (directly from the platform) + 1073. ActAutUsrExt Authentify user externally (remotely from an external site) + 1074. ActAutUsrChgLan Change language to my language just after authentication + 1075. ActLogOut Close session + 1076. ActAnnSee Mark announcement as seen - 1062. ActReqSndNewPwd Show form to send a new password via e-mail - 1063. ActSndNewPwd Send a new password via e-mail - 1064. ActChgMyRol Change type of logged user + 1077. ActReqSndNewPwd Show form to send a new password via e-mail + 1078. ActSndNewPwd Send a new password via e-mail + 1079. ActChgMyRol Change type of logged user - 1065. ActCreUsrAcc Create new user account - 1066. ActRemID_Me Remove one of my user's IDs - 1067. ActNewIDMe Create a new user's ID for me - 1068. ActRemOldNic Remove one of my old nicknames - 1069. ActChgNic Change my nickname - 1070. ActRemMaiMe Remove one of my old e-mails - 1071. ActNewMaiMe Change my e-mail address - 1072. ActCnfMai Confirm e-mail address - 1073. ActFrmChgMyPwd Show form to the change of the password - 1074. ActChgPwd Change the password - 1075. ActReqRemMyAcc Request the removal of my account - 1076. ActRemMyAcc Remove my account + 1080. ActCreUsrAcc Create new user account + 1081. ActRemID_Me Remove one of my user's IDs + 1082. ActNewIDMe Create a new user's ID for me + 1083. ActRemOldNic Remove one of my old nicknames + 1084. ActChgNic Change my nickname + 1085. ActRemMaiMe Remove one of my old e-mails + 1086. ActNewMaiMe Change my e-mail address + 1087. ActCnfMai Confirm e-mail address + 1088. ActFrmChgMyPwd Show form to the change of the password + 1089. ActChgPwd Change the password + 1090. ActReqRemMyAcc Request the removal of my account + 1091. ActRemMyAcc Remove my account - 1077. ActChgMyData Update my personal data + 1092. ActChgMyData Update my personal data - 1078. ActReqMyPho Show form to send my photo - 1079. ActDetMyPho Receive my photo and detect faces on it - 1080. ActUpdMyPho Update my photo - 1081. ActRemMyPho Remove my photo + 1093. ActReqMyPho Show form to send my photo + 1094. ActDetMyPho Receive my photo and detect faces on it + 1095. ActUpdMyPho Update my photo + 1096. ActRemMyPho Remove my photo - 1082. ActEdiPri Edit my privacy - 1083. ActChgPriPho Change privacy of my photo - 1084. ActChgPriPrf Change privacy of my public profile + 1097. ActEdiPri Edit my privacy + 1098. ActChgPriPho Change privacy of my photo + 1099. ActChgPriPrf Change privacy of my public profile - 1085. ActReqEdiMyIns Request the edition of my institution, centre and department - 1086. ActChgCtyMyIns Change the country of my institution - 1087. ActChgMyIns Change my institution - 1088. ActChgMyCtr Change my centre - 1089. ActChgMyDpt Change my department - 1090. ActChgMyOff Change my office - 1091. ActChgMyOffPho Change my office phone + 1100. ActReqEdiMyIns Request the edition of my institution, centre and department + 1101. ActChgCtyMyIns Change the country of my institution + 1102. ActChgMyIns Change my institution + 1103. ActChgMyCtr Change my centre + 1104. ActChgMyDpt Change my department + 1105. ActChgMyOff Change my office + 1106. ActChgMyOffPho Change my office phone - 1092. ActReqEdiMyNet Request the edition of my social networks - 1093. ActChgMyNet Change my web and social networks + 1107. ActReqEdiMyNet Request the edition of my social networks + 1108. ActChgMyNet Change my web and social networks - 1094. ActChgThe Change theme - 1095. ActReqChgLan Ask if change language - 1096. ActChgLan Change language - 1097. ActChg1stDay Change first day of the week - 1098. ActChgCol Change side columns - 1099. ActHidLftCol Hide left side column - 1100. ActHidRgtCol Hide right side column - 1101. ActShoLftCol Show left side column - 1102. ActShoRgtCol Show right side column - 1103. ActChgIco Change icon set - 1104. ActChgMnu Change menu - 1105. ActChgNtfPrf Change whether to notify by e-mail new messages - 1106. ActPrnUsrQR Show my QR code ready to print + 1109. ActChgThe Change theme + 1110. ActReqChgLan Ask if change language + 1111. ActChgLan Change language + 1112. ActChg1stDay Change first day of the week + 1113. ActChgCol Change side columns + 1114. ActHidLftCol Hide left side column + 1115. ActHidRgtCol Hide right side column + 1116. ActShoLftCol Show left side column + 1117. ActShoRgtCol Show right side column + 1118. ActChgIco Change icon set + 1119. ActChgMnu Change menu + 1120. ActChgNtfPrf Change whether to notify by e-mail new messages + 1121. ActPrnUsrQR Show my QR code ready to print - 1107. ActPrnMyTT Show the timetable listo to impresión of all my courses - 1108. ActEdiTut Edit the timetable of tutorías - 1109. ActChgTut Modify the timetable of tutorías - 1110. ActChgMyTT1stDay Change first day of week and show timetable of the course + 1122. ActPrnMyTT Show the timetable listo to impresión of all my courses + 1123. ActEdiTut Edit the timetable of tutorías + 1124. ActChgTut Modify the timetable of tutorías + 1125. ActChgMyTT1stDay Change first day of week and show timetable of the course - 1111. ActReqRemFilBrf Request removal of a file of the briefcase - 1112. ActRemFilBrf Remove a file of the briefcase - 1113. ActRemFolBrf Remove a folder empty of the briefcase - 1114. ActCopBrf Set source of copy in the briefcase - 1115. ActPasBrf Paste a folder or file in the briefcase - 1116. ActRemTreBrf Remove a folder no empty of the briefcase - 1117. ActFrmCreBrf Form to crear a folder or file in the briefcase - 1118. ActCreFolBrf Create a new folder in the briefcase - 1119. ActCreLnkBrf Create a new link in the briefcase - 1120. ActRenFolBrf Rename a folder of the briefcase - 1121. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js - 1122. ActRcvFilBrfCla Receive a file in the briefcase using the classic way - 1123. ActExpBrf Expand a folder in briefcase - 1124. ActConBrf Contract a folder in briefcase - 1125. ActZIPBrf Compress a folder in briefcase - 1126. ActReqDatBrf Ask for metadata of a file in the briefcase - 1127. ActChgDatBrf Change metadata of a file in the briefcase - 1128. ActDowBrf Download a file in the briefcase - 1129. ActAskRemOldBrf Ask for removing old files in the briefcase - 1130. ActRemOldBrf Remove old files in the briefcase + 1126. ActReqRemFilBrf Request removal of a file of the briefcase + 1127. ActRemFilBrf Remove a file of the briefcase + 1128. ActRemFolBrf Remove a folder empty of the briefcase + 1129. ActCopBrf Set source of copy in the briefcase + 1130. ActPasBrf Paste a folder or file in the briefcase + 1131. ActRemTreBrf Remove a folder no empty of the briefcase + 1132. ActFrmCreBrf Form to crear a folder or file in the briefcase + 1133. ActCreFolBrf Create a new folder in the briefcase + 1134. ActCreLnkBrf Create a new link in the briefcase + 1135. ActRenFolBrf Rename a folder of the briefcase + 1136. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js + 1137. ActRcvFilBrfCla Receive a file in the briefcase using the classic way + 1138. ActExpBrf Expand a folder in briefcase + 1139. ActConBrf Contract a folder in briefcase + 1140. ActZIPBrf Compress a folder in briefcase + 1141. ActReqDatBrf Ask for metadata of a file in the briefcase + 1142. ActChgDatBrf Change metadata of a file in the briefcase + 1143. ActDowBrf Download a file in the briefcase + 1144. ActAskRemOldBrf Ask for removing old files in the briefcase + 1145. ActRemOldBrf Remove old files in the briefcase */ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = @@ -1342,8 +1342,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActRefCon */{ 845,-1,TabUnk,ActRefCon ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Lay_RefreshNotifsAndConnected ,NULL}, /* ActRefLstClk */{ 994,-1,TabUnk,ActRefLstClk ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Lay_RefreshLastClicks ,NULL}, /* ActRefNewSocPubGbl*/{1509,-1,TabUnk,ActRefNewSocPubGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RefreshNewTimelineGbl ,NULL}, - /* ActRefOldSocPubUsr*/{1511,-1,TabUnk,ActRefOldSocPubUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RefreshOldTimelineUsr ,NULL}, /* ActRefOldSocPubGbl*/{1510,-1,TabUnk,ActRefOldSocPubGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RefreshOldTimelineGbl ,NULL}, + /* ActRefOldSocPubUsr*/{1511,-1,TabUnk,ActRefOldSocPubUsr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RefreshOldTimelineUsr ,NULL}, /* ActWebSvc */{ 892,-1,TabUnk,ActWebSvc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Plg_WebService ,NULL}, // TabSys ****************************************************************** @@ -4501,17 +4501,17 @@ void Act_LinkFormSubmitAnimated (const char *Title,const char *LinkStyle) void Act_AdjustActionWhenNoUsrLogged (void) { if (Gbl.CurrentCrs.Crs.CrsCod > 0) // Course selected - Gbl.CurrentAct = ActSeeCrsInf; + Gbl.Action.Act = ActSeeCrsInf; else if (Gbl.CurrentDeg.Deg.DegCod > 0) // Degree selected - Gbl.CurrentAct = ActSeeDegInf; + Gbl.Action.Act = ActSeeDegInf; else if (Gbl.CurrentCtr.Ctr.CtrCod > 0) // Centre selected - Gbl.CurrentAct = ActSeeCtrInf; + Gbl.Action.Act = ActSeeCtrInf; else if (Gbl.CurrentIns.Ins.InsCod > 0) // Institution selected - Gbl.CurrentAct = ActSeeInsInf; + Gbl.Action.Act = ActSeeInsInf; else if (Gbl.CurrentCty.Cty.CtyCod > 0) // Country selected - Gbl.CurrentAct = ActSeeCtyInf; + Gbl.Action.Act = ActSeeCtyInf; else - Gbl.CurrentAct = Cfg_DEFAULT_ACTION_WHEN_NO_USR_LOGGED; + Gbl.Action.Act = Cfg_DEFAULT_ACTION_WHEN_NO_USR_LOGGED; Tab_SetCurrentTab (); } @@ -4524,15 +4524,11 @@ void Act_AdjustCurrentAction (void) bool IAmATeacher = (Gbl.Usrs.Me.UsrDat.Roles & (1 << Rol_TEACHER)); /***** Don't adjust anything when current action is not a menu option *****/ - if (Gbl.CurrentAct != Act_Actions[Gbl.CurrentAct].SuperAction) // It is not a menu option + if (Gbl.Action.Act != Act_Actions[Gbl.Action.Act].SuperAction) // It is not a menu option return; /***** Don't adjust anything when refreshing users or on a web service *****/ - if (Gbl.CurrentAct == ActRefCon || - Gbl.CurrentAct == ActRefLstClk || - Gbl.CurrentAct == ActRefNewSocPubGbl || - Gbl.CurrentAct == ActRefOldSocPubUsr || - Gbl.CurrentAct == ActRefOldSocPubGbl || + if (Gbl.Action.UsesAJAX || Gbl.WebService.IsWebService) return; @@ -4540,22 +4536,22 @@ void Act_AdjustCurrentAction (void) the only action possible is show a form to change my password *****/ if (!Gbl.Usrs.Me.UsrDat.Password[0]) { - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActHom: case ActLogOut: break; default: - Gbl.CurrentAct = ActFrmChgMyPwd; + Gbl.Action.Act = ActFrmChgMyPwd; Tab_SetCurrentTab (); return; } } /***** If my login password is not enough secure, the only action possible is show a form to change my password *****/ - if (Gbl.CurrentAct == ActAutUsrInt) + if (Gbl.Action.Act == ActAutUsrInt) if (!Pwd_FastCheckIfPasswordSeemsGood (Gbl.Usrs.Me.LoginPlainPassword)) { - Gbl.CurrentAct = ActFrmChgMyPwd; + Gbl.Action.Act = ActFrmChgMyPwd; Tab_SetCurrentTab (); return; } @@ -4565,13 +4561,13 @@ void Act_AdjustCurrentAction (void) if (!Gbl.Usrs.Me.UsrDat.Nickname[0] || !Gbl.Usrs.Me.UsrDat.Email[0]) { - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActHom: case ActLogOut: case ActFrmChgMyPwd: break; default: - Gbl.CurrentAct = ActFrmUsrAcc; + Gbl.Action.Act = ActFrmUsrAcc; Tab_SetCurrentTab (); return; } @@ -4583,13 +4579,13 @@ void Act_AdjustCurrentAction (void) !Gbl.Usrs.Me.UsrDat.FirstName[0] || !Gbl.Usrs.Me.UsrDat.Surname1[0] || Gbl.Usrs.Me.UsrDat.CtyCod <= 0) - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActHom: case ActLogOut: case ActFrmUsrAcc: case ActFrmChgMyPwd: break; default: - Gbl.CurrentAct = ActReqEdiRecCom; + Gbl.Action.Act = ActReqEdiRecCom; Tab_SetCurrentTab (); return; } @@ -4600,13 +4596,13 @@ void Act_AdjustCurrentAction (void) if (Gbl.Usrs.Me.UsrDat.InsCod < 0 || (IAmATeacher && (Gbl.Usrs.Me.UsrDat.Tch.CtrCod < 0 || Gbl.Usrs.Me.UsrDat.Tch.DptCod < 0))) - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActHom: case ActLogOut: case ActFrmUsrAcc: case ActFrmChgMyPwd: case ActReqEdiRecCom: break; default: - Gbl.CurrentAct = ActReqEdiMyIns; + Gbl.Action.Act = ActReqEdiMyIns; Tab_SetCurrentTab (); return; } @@ -4616,9 +4612,9 @@ void Act_AdjustCurrentAction (void) { /***** If I have not accepted the enrollment, the only action possible is show a form to ask for enrollment *****/ - if (!Gbl.Usrs.Me.UsrDat.Accepted && Gbl.CurrentAct != ActLogOut) + if (!Gbl.Usrs.Me.UsrDat.Accepted && Gbl.Action.Act != ActLogOut) { - Gbl.CurrentAct = (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB == Rol_STUDENT) ? ActReqAccEnrStd : + Gbl.Action.Act = (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB == Rol_STUDENT) ? ActReqAccEnrStd : ActReqAccEnrTch; Tab_SetCurrentTab (); return; @@ -4628,7 +4624,7 @@ void Act_AdjustCurrentAction (void) switch (Gbl.Usrs.Me.LoggedRole) { case Rol_STUDENT: - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActAutUsrInt: case ActHom: @@ -4654,7 +4650,7 @@ void Act_AdjustCurrentAction (void) the the only action possible is show a form to register in groups */ if (Grp_NumGrpTypesMandatIDontBelong ()) // To do: if this query is too slow ==> put it only when login. { - Gbl.CurrentAct = ActReqSelGrp; + Gbl.Action.Act = ActReqSelGrp; Tab_SetCurrentTab (); return; } @@ -4662,13 +4658,13 @@ void Act_AdjustCurrentAction (void) /* If I have no photo, and current action is not available for unknown users, then update number of clicks without photo */ if (!Gbl.Usrs.Me.MyPhotoExists) - if (!(Act_Actions[Gbl.CurrentAct].PermisIfIBelongToCrs & (1 << Rol_UNKNOWN)) && // If current action is not available for unknown users... - Gbl.CurrentAct != ActReqMyPho) // ...and current action is not ActReqMyPho... + if (!(Act_Actions[Gbl.Action.Act].PermisIfIBelongToCrs & (1 << Rol_UNKNOWN)) && // If current action is not available for unknown users... + Gbl.Action.Act != ActReqMyPho) // ...and current action is not ActReqMyPho... if ((Gbl.Usrs.Me.NumAccWithoutPhoto = Pho_UpdateMyClicksWithoutPhoto ()) > Pho_MAX_CLICKS_WITHOUT_PHOTO) { /* If limit of clicks has been reached, the only action possible is show a form to send my photo */ - Gbl.CurrentAct = ActReqMyPho; + Gbl.Action.Act = ActReqMyPho; Tab_SetCurrentTab (); return; } @@ -4676,17 +4672,17 @@ void Act_AdjustCurrentAction (void) } /***** Check if it is mandatory to read any information about course *****/ - if (Gbl.CurrentAct == ActMnu) // Do the following check sometimes, for example when the user changes the current tab + if (Gbl.Action.Act == ActMnu) // Do the following check sometimes, for example when the user changes the current tab Gbl.CurrentCrs.Info.ShowMsgMustBeRead = Inf_GetIfIMustReadAnyCrsInfoInThisCrs (); break; case Rol_TEACHER: - if (Gbl.CurrentAct == ActReqTst || - Gbl.CurrentAct == ActEdiTstQst) + if (Gbl.Action.Act == ActReqTst || + Gbl.Action.Act == ActEdiTstQst) /***** If current course has tests and pluggable is unknown, the only action possible is configure tests *****/ if (Tst_CheckIfCourseHaveTestsAndPluggableIsUnknown ()) { - Gbl.CurrentAct = ActCfgTst; + Gbl.Action.Act = ActCfgTst; Tab_SetCurrentTab (); return; } @@ -4792,7 +4788,7 @@ Act_Action_t Act_GetMyLastActionInCurrentTab (void) ActCod = Str_ConvertStrCodToLongCod (row[0]); if (ActCod >= 0 && ActCod <= Act_MAX_ACTION_COD) if ((Action = Act_FromActCodToAction[ActCod]) >= 0) - if (Act_Actions[Action].Tab == Gbl.CurrentTab) + if (Act_Actions[Action].Tab == Gbl.Action.Tab) if (Act_CheckIfIHavePermissionToExecuteAction (Action)) { MoreRecentActionInCurrentTab = Action; @@ -4968,9 +4964,9 @@ void Act_UpdateMFUActions (void) /***** In some cases, don't register action *****/ if (!Gbl.Usrs.Me.Logged) return; - if (Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].IndexInMenu < 0) + if (Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].IndexInMenu < 0) return; - if (Act_Actions[Gbl.CurrentAct].SuperAction == ActMFUAct) + if (Act_Actions[Gbl.Action.Act].SuperAction == ActMFUAct) return; setlocale (LC_NUMERIC,"en_US.utf8"); // To get the decimal point @@ -4979,7 +4975,7 @@ void Act_UpdateMFUActions (void) sprintf (Query,"SELECT Score FROM actions_MFU" " WHERE UsrCod='%ld' AND ActCod='%ld'", Gbl.Usrs.Me.UsrDat.UsrCod, - Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].ActCod); + Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].ActCod); if (DB_QuerySELECT (Query,&mysql_res,"can not get score for current action")) { row = mysql_fetch_row (mysql_res); @@ -5000,7 +4996,7 @@ void Act_UpdateMFUActions (void) " (UsrCod,ActCod,Score,LastClick)" " VALUES ('%ld','%ld','%f',NOW())", Gbl.Usrs.Me.UsrDat.UsrCod, - Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].ActCod, + Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].ActCod, Score); DB_QueryREPLACE (Query,"can not update most frequently used actions"); @@ -5009,7 +5005,7 @@ void Act_UpdateMFUActions (void) " WHERE UsrCod='%ld' AND ActCod<>'%ld'", Act_DECREASE_FACTOR,Act_MIN_SCORE, Gbl.Usrs.Me.UsrDat.UsrCod, - Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].ActCod); + Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].ActCod); DB_QueryUPDATE (Query,"can not update most frequently used actions"); setlocale (LC_NUMERIC,"es_ES.utf8"); diff --git a/swad_action.h b/swad_action.h index dfad536d..53e93683 100644 --- a/swad_action.h +++ b/swad_action.h @@ -85,11 +85,14 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica #define ActUnk 1 #define ActHom 2 #define ActMnu 3 + +// The following 5 actions use AJAX to refresh only a part of the page #define ActRefCon 4 #define ActRefLstClk 5 #define ActRefNewSocPubGbl 6 -#define ActRefOldSocPubUsr 7 -#define ActRefOldSocPubGbl 8 +#define ActRefOldSocPubGbl 7 +#define ActRefOldSocPubUsr 8 + #define ActWebSvc 9 /*****************************************************************************/ diff --git a/swad_attendance.c b/swad_attendance.c index b72cda7b..c7f9d98e 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -2917,10 +2917,10 @@ static void Att_PutButtonToShowDetails (void) /***** Button to show more details *****/ fprintf (Gbl.F.Out,"
"); - Act_FormStart (Gbl.CurrentAct); + Act_FormStart (Gbl.Action.Act); Par_PutHiddenParamChar ("ShowDetails",'Y'); Grp_PutParamsCodGrps (); - Usr_PutHiddenParUsrCodAll (Gbl.CurrentAct,Gbl.Usrs.Select.All); + Usr_PutHiddenParUsrCodAll (Gbl.Action.Act,Gbl.Usrs.Select.All); if (Gbl.AttEvents.StrAttCodsSelected[0]) Par_PutHiddenParamString ("AttCods",Gbl.AttEvents.StrAttCodsSelected); Lay_PutConfirmButton (Txt_Show_more_details); @@ -2948,9 +2948,9 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView) depending on the events selected *****/ if (TypeOfView == Att_NORMAL_VIEW) { - Act_FormStart (Gbl.CurrentAct); + Act_FormStart (Gbl.Action.Act); Grp_PutParamsCodGrps (); - Usr_PutHiddenParUsrCodAll (Gbl.CurrentAct,Gbl.Usrs.Select.All); + Usr_PutHiddenParUsrCodAll (Gbl.Action.Act,Gbl.Usrs.Select.All); } /***** Start frame *****/ diff --git a/swad_calendar.c b/swad_calendar.c index 13656825..40cacc2f 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -234,7 +234,7 @@ void Cal_DrawCalendar (void) extern const char *Txt_Print; extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES]; char Params[256+256+Ses_LENGTH_SESSION_ID+256]; - bool PrintView = (Gbl.CurrentAct == ActPrnCal); + bool PrintView = (Gbl.Action.Act == ActPrnCal); /***** Get list of holidays *****/ if (!Gbl.Hlds.LstIsRead) @@ -280,7 +280,7 @@ void Cal_DrawCalendar (void) Gbl.Prefs.FirstDayOfWeek, (long) Gbl.StartExecutionTimeUTC, Gbl.CurrentCtr.Ctr.PlcCod, - (Gbl.CurrentAct == ActPrnCal) ? "true" : + (Gbl.Action.Act == ActPrnCal) ? "true" : "false", Cfg_HTTPS_URL_SWAD_CGI, Txt_STR_LANG_ID[Gbl.Prefs.Language]); diff --git a/swad_changelog.h b/swad_changelog.h index b84b93ec..193accfb 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -114,24 +114,29 @@ // TODO: FIX BUG: In results of search of students, no mark of confirmation is shown even if the student really has confirmed his/her registration in the course // TODO: Forum SWAD should be always named "SWAD"? // TODO: Enable chat for guests? -// TODO: Go to forum post (or at least to forum thread) from social timeline? +// TODO: Go to forum post (or at least to forum thread) from social timeline and notifications? // TODO: Width of column for data in notifications is too short - // TODO: Increment one second after each refresh in social timeline? -// TODO: Add a new type of visibility of profile "unknown". Keep the same for photos? /*****************************************************************************/ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 15.114.4 (2016-01-17)" -#define CSS_FILE "swad15.113.8.css" -#define JS_FILE "swad15.113.8.js" +#define Log_PLATFORM_VERSION "SWAD 15.115 (2016-01-17)" +#define CSS_FILE "swad15.115.css" +#define JS_FILE "swad15.115.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.114.4: Jan 17, 2016 Change related to button to remove a social post. (? lines) + Version 15.115: Jan 17, 2016 Code refactoring in actions. (192823 lines) + 2 changes necessary in database: +INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1509','es','N','Refrescar timeline global (nuevos mensajes)'); +INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1510','es','N','Cargar mensajes anteriores en timeline global'); +INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1511','es','N','Cargar mensajes anteriores en timeline usuario'); + + Version 15.114.5: Jan 17, 2016 Distinct default visibility for photo and profile. (192827 lines) + Version 15.114.4: Jan 17, 2016 Change related to button to remove a social post. (192821 lines) Version 15.114.3: Jan 17, 2016 Fixed bug when getting timeline. (192820 lines) Version 15.114.2: Jan 17, 2016 Fixed bug when getting timeline. (192811 lines) Version 15.114.1: Jan 17, 2016 Optimized queries to get timeline. (192790 lines) diff --git a/swad_country.c b/swad_country.c index 6234cb6a..13d0ce74 100644 --- a/swad_country.c +++ b/swad_country.c @@ -665,7 +665,7 @@ void Cty_ListCountries2 (void) Lay_EndRoundFrameTable (); /***** Div for Google Geochart *****/ - if (Gbl.CurrentAct == ActSeeCty) + if (Gbl.Action.Act == ActSeeCty) { fprintf (Gbl.F.Out,"
" diff --git a/swad_degree.c b/swad_degree.c index 0d0c9828..b9731b25 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -976,7 +976,7 @@ void Deg_InitCurrentCourse (void) } /***** Once we know course code, adjust action and tab *****/ - // if (Gbl.CurrentAct != ActMnu) + // if (Gbl.Action.Act != ActMnu) // Lay_SetCurrentTab (); // Use the tab associated to current action /***** Initialize default fields for edition to current values *****/ diff --git a/swad_file_browser.c b/swad_file_browser.c index 3e57dd0c..d788507a 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -1482,7 +1482,7 @@ void Brw_GetParAndInitFileBrowser (void) Brw_GetDataCurrentGrp (); /***** Get type of file browser *****/ - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { /***** Documents of institution *****/ case ActSeeAdmDocIns: // Access to a documents zone from menu @@ -2045,7 +2045,7 @@ void Brw_GetParAndInitFileBrowser (void) break; } - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActCreFolDocIns: case ActRenFolDocIns: case ActCreFolShaIns: case ActRenFolShaIns: @@ -2151,7 +2151,7 @@ static long Brw_GetGrpSettings (void) } else // Parameter GrpCod not found! /***** Try to get group code from database *****/ - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeAdmDocCrsGrp: case ActSeeDocGrp: @@ -2182,7 +2182,7 @@ static void Brw_GetDataCurrentGrp (void) GrpDat.GrpCod = Gbl.CurrentCrs.Grps.GrpCod; Grp_GetDataOfGroupByCod (&GrpDat); - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeAdmDocCrsGrp:// Access to see/admin a documents zone from menu case ActChgToSeeDocCrs:// Access to see a documents zone @@ -3460,7 +3460,7 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void) Brw_PutFormToShowOrAdmin (Brw_SHOW,ActSeeMrkGrp); break; case Brw_ADMI_BRIEF_USR: - if (Gbl.CurrentAct != ActAskRemOldBrf) + if (Gbl.Action.Act != ActAskRemOldBrf) Brw_PutFormToAskRemOldFiles (); break; default: @@ -3511,34 +3511,34 @@ static void Brw_UpdateLastAccess (void) { case Brw_SHOW_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS: - if (Gbl.CurrentAct == ActChgToSeeDocCrs || - Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone + if (Gbl.Action.Act == ActChgToSeeDocCrs || + Gbl.Action.Act == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone Brw_UpdateGrpLastAccZone ("LastDowGrpCod",-1L); break; case Brw_SHOW_DOCUM_GRP: case Brw_ADMI_DOCUM_GRP: - if (Gbl.CurrentAct == ActChgToSeeDocCrs || - Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone + if (Gbl.Action.Act == ActChgToSeeDocCrs || + Gbl.Action.Act == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone Brw_UpdateGrpLastAccZone ("LastDowGrpCod",Gbl.CurrentCrs.Grps.GrpCod); break; case Brw_ADMI_SHARE_CRS: - if (Gbl.CurrentAct == ActChgToAdmSha) // Update group of last access to a shared files zone only when user changes zone + if (Gbl.Action.Act == ActChgToAdmSha) // Update group of last access to a shared files zone only when user changes zone Brw_UpdateGrpLastAccZone ("LastComGrpCod",-1L); break; case Brw_ADMI_SHARE_GRP: - if (Gbl.CurrentAct == ActChgToAdmSha) // Update group of last access to a shared files zone only when user changes zone + if (Gbl.Action.Act == ActChgToAdmSha) // Update group of last access to a shared files zone only when user changes zone Brw_UpdateGrpLastAccZone ("LastComGrpCod",Gbl.CurrentCrs.Grps.GrpCod); break; case Brw_SHOW_MARKS_CRS: case Brw_ADMI_MARKS_CRS: - if (Gbl.CurrentAct == ActChgToSeeMrk || - Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone + if (Gbl.Action.Act == ActChgToSeeMrk || + Gbl.Action.Act == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone Brw_UpdateGrpLastAccZone ("LastAssGrpCod",-1L); break; case Brw_SHOW_MARKS_GRP: case Brw_ADMI_MARKS_GRP: - if (Gbl.CurrentAct == ActChgToSeeMrk || - Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone + if (Gbl.Action.Act == ActChgToSeeMrk || + Gbl.Action.Act == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone Brw_UpdateGrpLastAccZone ("LastAssGrpCod",Gbl.CurrentCrs.Grps.GrpCod); break; default: @@ -9424,7 +9424,7 @@ static bool Brw_CheckIfICanEditFileMetadata (long PublisherUsrCod) { long ZoneUsrCod; - switch (Gbl.CurrentAct) // Only in actions where edition is allowed + switch (Gbl.Action.Act) // Only in actions where edition is allowed { case ActReqDatAdmDocIns: case ActChgDatAdmDocIns: case ActReqDatShaIns: case ActChgDatShaIns: diff --git a/swad_follow.c b/swad_follow.c index cab79702..ca677989 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -232,12 +232,12 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, Act_FormStartAnchor (Action,"follow_section"); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Title, - (Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" : + (Gbl.Action.Act == Action) ? "FOLLOW_NUM_B" : "FOLLOW_NUM"); } else fprintf (Gbl.F.Out,"", - (Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" : + (Gbl.Action.Act == Action) ? "FOLLOW_NUM_B" : "FOLLOW_NUM"); fprintf (Gbl.F.Out,"%u",NumUsrs); if (NumUsrs) @@ -250,7 +250,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, /***** Text *****/ fprintf (Gbl.F.Out,"
", - (Gbl.CurrentAct == Action) ? The_ClassFormBold[Gbl.Prefs.Theme] : + (Gbl.Action.Act == Action) ? The_ClassFormBold[Gbl.Prefs.Theme] : The_ClassForm[Gbl.Prefs.Theme]); if (NumUsrs) { @@ -258,7 +258,7 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat, Act_FormStartAnchor (Action,"follow_section"); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Act_LinkFormSubmit (Title, - (Gbl.CurrentAct == Action) ? The_ClassFormBold[Gbl.Prefs.Theme] : + (Gbl.Action.Act == Action) ? The_ClassFormBold[Gbl.Prefs.Theme] : The_ClassForm[Gbl.Prefs.Theme]); } fprintf (Gbl.F.Out,"%s",Title); diff --git a/swad_forum.c b/swad_forum.c index 467e5154..8a23c3b4 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -1439,7 +1439,7 @@ void For_SetForumTypeAndRestrictAccess (void) extern const char *Txt_You_dont_have_permission_to_access_to_this_forum; bool ICanSeeForum = false; - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeForSWAUsr: case ActSeePstForSWAUsr: case ActRcvThrForSWAUsr: case ActRcvRepForSWAUsr: @@ -3757,12 +3757,12 @@ void For_RecForumPst (void) For_SetForumTypeAndRestrictAccess (); /***** Get the code of the thread y the número of page *****/ - if (Gbl.CurrentAct == ActRcvRepForCrsUsr || Gbl.CurrentAct == ActRcvRepForCrsTch || - Gbl.CurrentAct == ActRcvRepForDegUsr || Gbl.CurrentAct == ActRcvRepForDegTch || - Gbl.CurrentAct == ActRcvRepForCtrUsr || Gbl.CurrentAct == ActRcvRepForCtrTch || - Gbl.CurrentAct == ActRcvRepForInsUsr || Gbl.CurrentAct == ActRcvRepForInsTch || - Gbl.CurrentAct == ActRcvRepForGenUsr || Gbl.CurrentAct == ActRcvRepForGenTch || - Gbl.CurrentAct == ActRcvRepForSWAUsr || Gbl.CurrentAct == ActRcvRepForSWATch) + if (Gbl.Action.Act == ActRcvRepForCrsUsr || Gbl.Action.Act == ActRcvRepForCrsTch || + Gbl.Action.Act == ActRcvRepForDegUsr || Gbl.Action.Act == ActRcvRepForDegTch || + Gbl.Action.Act == ActRcvRepForCtrUsr || Gbl.Action.Act == ActRcvRepForCtrTch || + Gbl.Action.Act == ActRcvRepForInsUsr || Gbl.Action.Act == ActRcvRepForInsTch || + Gbl.Action.Act == ActRcvRepForGenUsr || Gbl.Action.Act == ActRcvRepForGenTch || + Gbl.Action.Act == ActRcvRepForSWAUsr || Gbl.Action.Act == ActRcvRepForSWATch) { PstIsAReply = true; diff --git a/swad_global.c b/swad_global.c index b995275c..9846963f 100644 --- a/swad_global.c +++ b/swad_global.c @@ -178,8 +178,9 @@ void Gbl_InitializeGlobals (void) Gbl.Usrs.Other.UsrDat.UsrIDNickOrEmail[0] = '\0'; Usr_UsrDataConstructor (&Gbl.Usrs.Other.UsrDat); - Gbl.CurrentAct = ActUnk; - Gbl.CurrentTab = TabUnk; + Gbl.Action.Act = ActUnk; + Gbl.Action.UsesAJAX = false; + Gbl.Action.Tab = TabUnk; Gbl.Usrs.LstGsts.NumUsrs = 0; Gbl.Usrs.LstGsts.Lst = NULL; @@ -437,13 +438,9 @@ void Gbl_InitializeGlobals (void) void Gbl_Cleanup (void) { - if (Gbl.CurrentAct != ActRefCon && - Gbl.CurrentAct != ActRefLstClk && - Gbl.CurrentAct != ActRefNewSocPubGbl && - Gbl.CurrentAct != ActRefOldSocPubUsr && - Gbl.CurrentAct != ActRefOldSocPubGbl && + if (!Gbl.Action.UsesAJAX && !Gbl.WebService.IsWebService && - Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW && + Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW && !Gbl.HiddenParamsInsertedIntoDB) Ses_RemoveHiddenParFromThisSession (); Usr_UsrDataDestructor (&Gbl.Usrs.Me.UsrDat); diff --git a/swad_global.h b/swad_global.h index 43fa58a1..4d513c4b 100644 --- a/swad_global.h +++ b/swad_global.h @@ -154,8 +154,12 @@ struct Globals } Session; bool YearOK; - Act_Tab_t CurrentTab; - Act_Action_t CurrentAct; + struct + { + Act_Tab_t Tab; + Act_Action_t Act; + bool UsesAJAX; + } Action; time_t StartExecutionTimeUTC; struct tm *tblock; struct DateTime Now; diff --git a/swad_group.c b/swad_group.c index e823d4db..604939c2 100644 --- a/swad_group.c +++ b/swad_group.c @@ -4210,7 +4210,7 @@ void Grp_GetParamWhichGrps (void) Gbl.CurrentCrs.Grps.WhichGrps = (Grp_WhichGroups_t) UnsignedNum; } else // This parameter does not exist ==> set default value - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeCrsTT: case ActPrnCrsTT: diff --git a/swad_help.c b/swad_help.c index 2d1416f4..64d68b80 100644 --- a/swad_help.c +++ b/swad_help.c @@ -134,7 +134,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) "BT_CONFIRM",Txt_Register_students); } - if (Gbl.CurrentAct != ActMyCrs) // I am not seeing the action to list my courses + if (Gbl.Action.Act != ActMyCrs) // I am not seeing the action to list my courses /* Request list my courses */ Hlp_ShowRowHelpWhatWouldYouLikeToDo (Txt_Go_to_one_of_my_courses, ActMyCrs, @@ -192,9 +192,9 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) { if (Gbl.Usrs.Me.IBelongToCurrentCrs) // I belong to this course { - if (Gbl.CurrentAct != ActAutUsrInt && - Gbl.CurrentAct != ActAutUsrExt && - Gbl.CurrentAct != ActAutUsrChgLan) // I am not just logged + if (Gbl.Action.Act != ActAutUsrInt && + Gbl.Action.Act != ActAutUsrExt && + Gbl.Action.Act != ActAutUsrChgLan) // I am not just logged { /* Request my removing from this course */ sprintf (Gbl.Title,Txt_Remove_me_from_the_course_X, diff --git a/swad_indicator.c b/swad_indicator.c index 8a573424..7692b270 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -484,7 +484,7 @@ static void Ind_PutButtonToConfirmIWantToSeeBigList (unsigned NumCrss) Lay_ShowAlert (Lay_WARNING,Gbl.Message); /***** Put form to confirm that I want to see the big list *****/ - Act_FormStart (Gbl.CurrentAct); + Act_FormStart (Gbl.Action.Act); Sco_PutParamScope (Gbl.Scope.Current); Par_PutHiddenParamLong ("OthDegTypCod",Gbl.Stat.DegTypCod); Par_PutHiddenParamLong ("DptCod",Gbl.Stat.DptCod); diff --git a/swad_info.c b/swad_info.c index 3e775931..8dd970b9 100644 --- a/swad_info.c +++ b/swad_info.c @@ -1112,12 +1112,12 @@ void Inf_FormToSendURL (Inf_InfoSrc_t InfoSrc,Inf_InfoType_t InfoType) } /*****************************************************************************/ -/******** Returns bibliography, assessment, etc. from Gbl.CurrentAct *********/ +/******** Returns bibliography, assessment, etc. from Gbl.Action.Act *********/ /*****************************************************************************/ Inf_InfoType_t Inf_AsignInfoType (void) { - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeCrsInf: case ActEdiCrsInf: diff --git a/swad_layout.c b/swad_layout.c index b218622b..54a8efeb 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -123,11 +123,7 @@ void Lay_WriteStartOfPage (void) Con_ComputeConnectedUsrsBelongingToCurrentCrs (); /***** Send head width the file type for the HTTP protocol *****/ - if (Gbl.CurrentAct == ActRefCon || - Gbl.CurrentAct == ActRefLstClk || - Gbl.CurrentAct == ActRefNewSocPubGbl || - Gbl.CurrentAct == ActRefOldSocPubUsr || - Gbl.CurrentAct == ActRefOldSocPubGbl) + if (Gbl.Action.UsesAJAX) // Don't generate a full HTML page, only the content of a DIV or similar { fprintf (Gbl.F.Out,"Content-Type: text/html; charset=windows-1252\r\n\r\n"); @@ -197,31 +193,31 @@ void Lay_WriteStartOfPage (void) // css/dropzone.css // images/spritemap@2x.png // images/spritemap.png - if (Gbl.CurrentAct == ActFrmCreDocIns || // Brw_ADMI_DOCUM_INS - Gbl.CurrentAct == ActFrmCreShaIns || // Brw_ADMI_SHARE_INS - Gbl.CurrentAct == ActFrmCreDocCtr || // Brw_ADMI_DOCUM_CTR - Gbl.CurrentAct == ActFrmCreShaCtr || // Brw_ADMI_SHARE_CTR - Gbl.CurrentAct == ActFrmCreDocDeg || // Brw_ADMI_DOCUM_DEG - Gbl.CurrentAct == ActFrmCreShaDeg || // Brw_ADMI_SHARE_DEG - Gbl.CurrentAct == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS - Gbl.CurrentAct == ActFrmCreDocGrp || // Brw_ADMI_DOCUM_GRP - Gbl.CurrentAct == ActFrmCreShaCrs || // Brw_ADMI_SHARE_CRS - Gbl.CurrentAct == ActFrmCreShaGrp || // Brw_ADMI_SHARE_GRP - Gbl.CurrentAct == ActFrmCreAsgUsr || // Brw_ADMI_ASSIG_USR - Gbl.CurrentAct == ActFrmCreAsgCrs || // Brw_ADMI_ASSIG_CRS - Gbl.CurrentAct == ActFrmCreWrkUsr || // Brw_ADMI_WORKS_USR - Gbl.CurrentAct == ActFrmCreWrkCrs || // Brw_ADMI_WORKS_CRS - Gbl.CurrentAct == ActFrmCreMrkCrs || // Brw_ADMI_MARKS_CRS - Gbl.CurrentAct == ActFrmCreMrkGrp || // Brw_ADMI_MARKS_GRP - Gbl.CurrentAct == ActFrmCreBrf) // Brw_ADMI_BRIEF_USR + if (Gbl.Action.Act == ActFrmCreDocIns || // Brw_ADMI_DOCUM_INS + Gbl.Action.Act == ActFrmCreShaIns || // Brw_ADMI_SHARE_INS + Gbl.Action.Act == ActFrmCreDocCtr || // Brw_ADMI_DOCUM_CTR + Gbl.Action.Act == ActFrmCreShaCtr || // Brw_ADMI_SHARE_CTR + Gbl.Action.Act == ActFrmCreDocDeg || // Brw_ADMI_DOCUM_DEG + Gbl.Action.Act == ActFrmCreShaDeg || // Brw_ADMI_SHARE_DEG + Gbl.Action.Act == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS + Gbl.Action.Act == ActFrmCreDocGrp || // Brw_ADMI_DOCUM_GRP + Gbl.Action.Act == ActFrmCreShaCrs || // Brw_ADMI_SHARE_CRS + Gbl.Action.Act == ActFrmCreShaGrp || // Brw_ADMI_SHARE_GRP + Gbl.Action.Act == ActFrmCreAsgUsr || // Brw_ADMI_ASSIG_USR + Gbl.Action.Act == ActFrmCreAsgCrs || // Brw_ADMI_ASSIG_CRS + Gbl.Action.Act == ActFrmCreWrkUsr || // Brw_ADMI_WORKS_USR + Gbl.Action.Act == ActFrmCreWrkCrs || // Brw_ADMI_WORKS_CRS + Gbl.Action.Act == ActFrmCreMrkCrs || // Brw_ADMI_MARKS_CRS + Gbl.Action.Act == ActFrmCreMrkGrp || // Brw_ADMI_MARKS_GRP + Gbl.Action.Act == ActFrmCreBrf) // Brw_ADMI_BRIEF_USR fprintf (Gbl.F.Out,"\n", Cfg_HTTPS_URL_SWAD_PUBLIC); /* Redirect to correct language */ - if ((Gbl.CurrentAct == ActAutUsrInt || - Gbl.CurrentAct == ActAutUsrExt) && // Action is log in + if ((Gbl.Action.Act == ActAutUsrInt || + Gbl.Action.Act == ActAutUsrExt) && // Action is log in Gbl.Usrs.Me.Logged && // I am just logged Gbl.Usrs.Me.UsrDat.Prefs.Language != Txt_Current_CGI_SWAD_Language) // My language != current language Lay_WriteRedirectionToMyLanguage (); @@ -232,7 +228,7 @@ void Lay_WriteStartOfPage (void) fprintf (Gbl.F.Out,"\n"); /***** HTML body *****/ - if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) + if (Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW) fprintf (Gbl.F.Out,"\n" "
" "= 0) + Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].IndexInMenu >= 0) Lay_WriteTitleAction (); Gbl.Layout.WritingHTMLStart = false; Gbl.Layout.HTMLStartWritten = true; /* Write new year greeting */ - if (Gbl.CurrentAct == ActAutUsrInt || - Gbl.CurrentAct == ActAutUsrExt || - Gbl.CurrentAct == ActAutUsrChgLan) + if (Gbl.Action.Act == ActAutUsrInt || + Gbl.Action.Act == ActAutUsrExt || + Gbl.Action.Act == ActAutUsrChgLan) if (Gbl.Now.Date.Month == 1 && Gbl.Now.Date.Day == 1) { @@ -354,7 +350,7 @@ static void Lay_WriteEndOfPage (void) "
"); // main_zone_central_container /***** Write page footer *****/ - if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) + if (Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW) Lay_WriteFootFromHTMLFile (); /***** End of main zone and page *****/ @@ -451,7 +447,7 @@ static void Lay_WriteScripts (void) #endif /***** Scripts used only in main window *****/ - if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) + if (Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW) { Lay_WriteScriptInit (); Lay_WriteScriptParamsAJAX (); @@ -459,8 +455,8 @@ static void Lay_WriteScripts (void) /***** Prepare script to draw months *****/ if ((Gbl.Prefs.SideCols & Lay_SHOW_LEFT_COLUMN) || // Left column visible - Gbl.CurrentAct == ActSeeCal || - Gbl.CurrentAct == ActPrnCal) + Gbl.Action.Act == ActSeeCal || + Gbl.Action.Act == ActPrnCal) { /***** Get list of holidays *****/ if (!Gbl.Hlds.LstIsRead) @@ -524,7 +520,7 @@ static void Lay_WriteScripts (void) } /***** Scripts depending on action *****/ - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { /***** Script to print world map *****/ case ActSeeCty: @@ -610,19 +606,19 @@ static void Lay_WriteScriptInit (void) Txt_STR_LANG_ID[Gbl.Prefs.Language], Gbl.Usrs.Connected.TimeToRefreshInMs); - if (Gbl.CurrentAct == ActLstClk) + if (Gbl.Action.Act == ActLstClk) // Refresh timeline via AJAX fprintf (Gbl.F.Out," setTimeout(\"refreshLastClicks()\",%lu);\n", Cfg_TIME_TO_REFRESH_LAST_CLICKS); - else if (Gbl.CurrentAct == ActSeeSocTmlGbl || - Gbl.CurrentAct == ActRcvSocPstGbl || - Gbl.CurrentAct == ActRcvSocComGbl || - Gbl.CurrentAct == ActShaSocNotGbl || - Gbl.CurrentAct == ActUnsSocPubGbl || - Gbl.CurrentAct == ActReqRemSocPubGbl || - Gbl.CurrentAct == ActRemSocPubGbl || - Gbl.CurrentAct == ActReqRemSocComGbl || - Gbl.CurrentAct == ActRemSocComGbl) + else if (Gbl.Action.Act == ActSeeSocTmlGbl || + Gbl.Action.Act == ActRcvSocPstGbl || + Gbl.Action.Act == ActRcvSocComGbl || + Gbl.Action.Act == ActShaSocNotGbl || + Gbl.Action.Act == ActUnsSocPubGbl || + Gbl.Action.Act == ActReqRemSocPubGbl || + Gbl.Action.Act == ActRemSocPubGbl || + Gbl.Action.Act == ActReqRemSocComGbl || + Gbl.Action.Act == ActRemSocComGbl) // Refresh timeline via AJAX fprintf (Gbl.F.Out," setTimeout(\"refreshNewTimeline()\",%lu);\n", Cfg_TIME_TO_REFRESH_SOCIAL_TIMELINE); @@ -642,22 +638,22 @@ static void Lay_WriteScriptParamsAJAX (void) /***** Parameter to refresh connected users *****/ fprintf (Gbl.F.Out,"var RefreshParamNxtActCon = \"act=%ld\";\n", - Act_Actions[ActRefCon ].ActCod); + Act_Actions[ActRefCon].ActCod); /***** Parameter to refresh clicks in realtime *****/ fprintf (Gbl.F.Out,"var RefreshParamNxtActLog = \"act=%ld\";\n", Act_Actions[ActRefLstClk].ActCod); /***** Parameters related with refreshing of social timeline *****/ - if (Gbl.CurrentAct == ActSeeSocTmlGbl || - Gbl.CurrentAct == ActRcvSocPstGbl || - Gbl.CurrentAct == ActRcvSocComGbl || - Gbl.CurrentAct == ActShaSocNotGbl || - Gbl.CurrentAct == ActUnsSocPubGbl || - Gbl.CurrentAct == ActReqRemSocPubGbl || - Gbl.CurrentAct == ActRemSocPubGbl || - Gbl.CurrentAct == ActReqRemSocComGbl || - Gbl.CurrentAct == ActRemSocComGbl) + if (Gbl.Action.Act == ActSeeSocTmlGbl || + Gbl.Action.Act == ActRcvSocPstGbl || + Gbl.Action.Act == ActRcvSocComGbl || + Gbl.Action.Act == ActShaSocNotGbl || + Gbl.Action.Act == ActUnsSocPubGbl || + Gbl.Action.Act == ActReqRemSocPubGbl || + Gbl.Action.Act == ActRemSocPubGbl || + Gbl.Action.Act == ActReqRemSocComGbl || + Gbl.Action.Act == ActRemSocComGbl) /* In all the actions related to view or editing global timeline ==> put parameters used by AJAX */ fprintf (Gbl.F.Out,"var RefreshParamNxtActNewPub = \"act=%ld\";\n" @@ -665,15 +661,15 @@ static void Lay_WriteScriptParamsAJAX (void) "var RefreshParamUsr = \"\";\n", // No user specified Act_Actions[ActRefNewSocPubGbl].ActCod, Act_Actions[ActRefOldSocPubGbl].ActCod); - else if (Gbl.CurrentAct == ActSeePubPrf || - Gbl.CurrentAct == ActRcvSocPstGbl || - Gbl.CurrentAct == ActRcvSocComUsr || - Gbl.CurrentAct == ActShaSocNotGbl || - Gbl.CurrentAct == ActUnsSocPubGbl || - Gbl.CurrentAct == ActReqRemSocPubGbl || - Gbl.CurrentAct == ActRemSocPubGbl || - Gbl.CurrentAct == ActReqRemSocComGbl || - Gbl.CurrentAct == ActRemSocComGbl) + else if (Gbl.Action.Act == ActSeePubPrf || + Gbl.Action.Act == ActRcvSocPstGbl || + Gbl.Action.Act == ActRcvSocComUsr || + Gbl.Action.Act == ActShaSocNotGbl || + Gbl.Action.Act == ActUnsSocPubGbl || + Gbl.Action.Act == ActReqRemSocPubGbl || + Gbl.Action.Act == ActRemSocPubGbl || + Gbl.Action.Act == ActReqRemSocComGbl || + Gbl.Action.Act == ActRemSocComGbl) { /* In all the actions related to view or editing user's timeline ==> put parameters used by AJAX */ @@ -872,18 +868,18 @@ static void Lay_WriteTitleAction (void) fprintf (Gbl.F.Out,"
", Gbl.Prefs.PathIconSet,Cfg_ICON_ACTION, - Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].Icon); + Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].Icon); /***** Title *****/ fprintf (Gbl.F.Out,"
%s > %s
", The_ClassTitleAction[Gbl.Prefs.Theme], - Txt_TABS_FULL_TXT[Act_Actions[Gbl.CurrentAct].Tab], - Act_GetTitleAction (Gbl.CurrentAct)); + Txt_TABS_FULL_TXT[Act_Actions[Gbl.Action.Act].Tab], + Act_GetTitleAction (Gbl.Action.Act)); /***** Subtitle *****/ fprintf (Gbl.F.Out,"
%s
", The_ClassSubtitleAction[Gbl.Prefs.Theme], - Act_GetSubtitleAction (Gbl.CurrentAct)); + Act_GetSubtitleAction (Gbl.Action.Act)); /***** Container end *****/ fprintf (Gbl.F.Out,"
"); @@ -968,8 +964,8 @@ static void Lay_ShowRightColumn (void) /***** SWADroid advertisement *****/ if (!Gbl.Usrs.Me.Logged || - Gbl.CurrentAct == ActAutUsrInt || - Gbl.CurrentAct == ActAutUsrExt) + Gbl.Action.Act == ActAutUsrInt || + Gbl.Action.Act == ActAutUsrExt) fprintf (Gbl.F.Out,"
" "" @@ -1354,11 +1350,7 @@ void Lay_ShowErrorAndExit (const char *Message) /***** Page is generated (except and ). Compute time to generate page *****/ - if (Gbl.CurrentAct != ActRefCon && // Refreshing connected users - Gbl.CurrentAct != ActRefLstClk && // Refreshing last clics - Gbl.CurrentAct != ActRefNewSocPubGbl && // Refreshing new social publishings in timeline - Gbl.CurrentAct != ActRefOldSocPubUsr && // Refreshing old social publishings in timeline - Gbl.CurrentAct != ActRefOldSocPubGbl) // Refreshing old social publishings in timeline + if (!Gbl.Action.UsesAJAX) Sta_ComputeTimeToGeneratePage (); if (Gbl.WebService.IsWebService) // Serving a plugin request @@ -1376,11 +1368,7 @@ void Lay_ShowErrorAndExit (const char *Message) Fil_FastCopyOfOpenFiles (Gbl.F.Out,stdout); Fil_CloseAndRemoveFileForHTMLOutput (); - if (Gbl.CurrentAct != ActRefCon && // Refreshing connected users - Gbl.CurrentAct != ActRefLstClk && // Refreshing last clicks - Gbl.CurrentAct != ActRefNewSocPubGbl && // Refreshing new social publishings in timeline - Gbl.CurrentAct != ActRefOldSocPubUsr && // Refreshing old social publishings in timeline - Gbl.CurrentAct != ActRefOldSocPubGbl) // Refreshing old social publishings in timeline + if (!Gbl.Action.UsesAJAX) { /***** Compute time to send page *****/ Sta_ComputeTimeToSendPage (); @@ -1392,7 +1380,7 @@ void Lay_ShowErrorAndExit (const char *Message) if (!Gbl.Layout.HTMLEndWritten) { // Here Gbl.F.Out is stdout - if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) + if (Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW) Lay_WriteAboutZone (); fprintf (Gbl.F.Out,"\n" diff --git a/swad_main.c b/swad_main.c index 21e82cb8..e1f46b94 100644 --- a/swad_main.c +++ b/swad_main.c @@ -126,7 +126,7 @@ int main (int argc, char *argv[]) Con_RemoveOldConnected (); /***** Get number of sessions *****/ - if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) + if (Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW) Ses_GetNumSessions (); /***** Check user and get user's data *****/ @@ -134,22 +134,22 @@ int main (int argc, char *argv[]) } /***** Check if the user have permission to execute the action *****/ - if (!Act_CheckIfIHavePermissionToExecuteAction (Gbl.CurrentAct)) + if (!Act_CheckIfIHavePermissionToExecuteAction (Gbl.Action.Act)) Lay_ShowErrorAndExit (Txt_You_dont_have_permission_to_perform_this_action); /***** Update most frequently used actions *****/ Act_UpdateMFUActions (); /***** Execute a function depending on the action *****/ - if (Act_Actions[Gbl.CurrentAct].FunctionPriori != NULL) - Act_Actions[Gbl.CurrentAct].FunctionPriori (); + if (Act_Actions[Gbl.Action.Act].FunctionPriori != NULL) + Act_Actions[Gbl.Action.Act].FunctionPriori (); /***** Start writing HTML output *****/ Lay_WriteStartOfPage (); /***** Make a processing or other depending on the action *****/ - if (Act_Actions[Gbl.CurrentAct].FunctionPosteriori != NULL) - Act_Actions[Gbl.CurrentAct].FunctionPosteriori (); + if (Act_Actions[Gbl.Action.Act].FunctionPosteriori != NULL) + Act_Actions[Gbl.Action.Act].FunctionPosteriori (); } /***** Cleanup and exit *****/ diff --git a/swad_menu.c b/swad_menu.c index 06c71012..118472e5 100644 --- a/swad_menu.c +++ b/swad_menu.c @@ -205,7 +205,7 @@ Act_Action_t Mnu_GetFirstActionAvailableInCurrentTab (void) NumOptInMenu < Act_MAX_OPTIONS_IN_MENU_PER_TAB; NumOptInMenu++) { - if ((Action = Mnu_MenuActions[Gbl.CurrentTab][NumOptInMenu]) == 0) + if ((Action = Mnu_MenuActions[Gbl.Action.Tab][NumOptInMenu]) == 0) return ActUnk; if (Act_CheckIfIHavePermissionToExecuteAction (Action)) return Action; @@ -236,12 +236,12 @@ void Mnu_WriteMenuThisTab (void) NumOptInMenu < Act_MAX_OPTIONS_IN_MENU_PER_TAB; NumOptInMenu++) { - NumAct = Mnu_MenuActions[Gbl.CurrentTab][NumOptInMenu]; + NumAct = Mnu_MenuActions[Gbl.Action.Tab][NumOptInMenu]; if (NumAct == 0) // At the end of each tab, actions are initialized to 0, so 0 marks the end of the menu break; if (Act_CheckIfIHavePermissionToExecuteAction (NumAct)) { - IsTheSelectedAction = (NumAct == Act_Actions[Gbl.CurrentAct].SuperAction); + IsTheSelectedAction = (NumAct == Act_Actions[Gbl.Action.Act].SuperAction); Title = Act_GetSubtitleAction (NumAct); @@ -271,7 +271,7 @@ void Mnu_WriteMenuThisTab (void) "
", IsTheSelectedAction ? The_ClassTxtMenuOn[Gbl.Prefs.Theme] : The_ClassTxtMenuOff[Gbl.Prefs.Theme], - Txt_MENU_TITLE[Gbl.CurrentTab][NumOptInMenu]); + Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]); /***** End of link and form *****/ fprintf (Gbl.F.Out,"
" diff --git a/swad_message.c b/swad_message.c index e619488c..61474773 100644 --- a/swad_message.c +++ b/swad_message.c @@ -1722,7 +1722,7 @@ static void Msg_ShowSentOrReceivedMessages (Msg_TypeOfMessages_t TypeOfMessages) /***** Show form to delete all messages *****/ Msg_ShowFormDelSentOrRecMsgs (TypeOfMessages,NumMsgs); - if (Gbl.CurrentAct == ActExpRcvMsg) // Expanding a message, perhaps it is the result of following a link + if (Gbl.Action.Act == ActExpRcvMsg) // Expanding a message, perhaps it is the result of following a link // from a notification of received message, so show the page where the message is inside { /***** Get the page where the expanded message is inside *****/ @@ -3144,7 +3144,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted) if (UsrDat->UsrCod > 0) { fprintf (Gbl.F.Out,"%s",UsrDat->FullName); - if (Act_Actions[Gbl.CurrentAct].SuperAction == ActSeeRcvMsg) + if (Act_Actions[Gbl.Action.Act].SuperAction == ActSeeRcvMsg) { if (Msg_CheckIfUsrIsBanned (UsrDat->UsrCod,Gbl.Usrs.Me.UsrDat.UsrCod)) // Sender is banned diff --git a/swad_pagination.c b/swad_pagination.c index 5171cf0b..c9d0ae95 100644 --- a/swad_pagination.c +++ b/swad_pagination.c @@ -543,7 +543,7 @@ void Pag_GetParamPagNum (Pag_WhatPaginate_t WhatPaginate) switch (WhatPaginate) { case Pag_MESSAGES_RECEIVED: - if (Gbl.CurrentAct == ActExpRcvMsg) // Expanding a message, perhaps it is the result of following a link + if (Gbl.Action.Act == ActExpRcvMsg) // Expanding a message, perhaps it is the result of following a link // from a notification of received message // Show the page corresponding to the expanded message Gbl.Pag.CurrentPage = 1; // Now set the current page to the first, but later the correct page will be calculated diff --git a/swad_parameter.c b/swad_parameter.c index c089ec14..8769c6f6 100644 --- a/swad_parameter.c +++ b/swad_parameter.c @@ -142,7 +142,7 @@ void Par_GetMainParameters (void) /***** Get action to perform *****/ if (Gbl.WebService.IsWebService) { - Gbl.CurrentAct = ActWebSvc; + Gbl.Action.Act = ActWebSvc; Tab_SetCurrentTab (); return; } @@ -152,14 +152,14 @@ void Par_GetMainParameters (void) if (Gbl.Imported.ExternalUsrId[0] && Gbl.Imported.ExternalSesId[0]) { - Gbl.CurrentAct = ActAutUsrExt; + Gbl.Action.Act = ActAutUsrExt; Tab_SetCurrentTab (); return; } // SWAD is not called from external site /***** Set dfault action *****/ - Gbl.CurrentAct = ActUnk; + Gbl.Action.Act = ActUnk; /***** Get another user's nickname, if exists (this nickname is used to get another user's info, @@ -170,7 +170,7 @@ void Par_GetMainParameters (void) { Gbl.Usrs.Other.UsrDat.UsrCod = OtherUsrCod; // Used to go to public profile // and to refresh old publishings in user's timeline - Gbl.CurrentAct = ActSeePubPrf; // Set default action if no other is specified + Gbl.Action.Act = ActSeePubPrf; // Set default action if no other is specified } /***** Get action to perform *****/ @@ -179,7 +179,7 @@ void Par_GetMainParameters (void) { if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1) if (UnsignedNum <= Act_MAX_ACTION_COD) - Gbl.CurrentAct = Act_FromActCodToAction[UnsignedNum]; + Gbl.Action.Act = Act_FromActCodToAction[UnsignedNum]; } else { @@ -188,8 +188,14 @@ void Par_GetMainParameters (void) if (UnsignedStr[0]) if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1) if (UnsignedNum <= Act_MAX_ACTION_COD) - Gbl.CurrentAct = Act_FromActCodToAction[UnsignedNum]; + Gbl.Action.Act = Act_FromActCodToAction[UnsignedNum]; } + if (Gbl.Action.Act == ActRefCon || + Gbl.Action.Act == ActRefLstClk || + Gbl.Action.Act == ActRefNewSocPubGbl || + Gbl.Action.Act == ActRefOldSocPubGbl || + Gbl.Action.Act == ActRefOldSocPubUsr) + Gbl.Action.UsesAJAX = true; /***** Get session identifier, if exists *****/ Par_GetParToText ("ses",Gbl.Session.Id,Ses_LENGTH_SESSION_ID); @@ -228,7 +234,7 @@ void Par_GetMainParameters (void) } /***** Get user password and login *****/ - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActAutUsrInt: Pwd_GetParamUsrPwdLogin (); @@ -329,15 +335,15 @@ void Par_GetMainParameters (void) } /***** Get tab to activate *****/ - Gbl.CurrentTab = TabUnk; - if (Gbl.CurrentAct == ActMnu) + Gbl.Action.Tab = TabUnk; + if (Gbl.Action.Act == ActMnu) { Par_GetParToText ("NxtTab",UnsignedStr,10); if (UnsignedStr[0]) if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1) if (UnsignedNum < Tab_NUM_TABS) { - Gbl.CurrentTab = (Act_Tab_t) UnsignedNum; + Gbl.Action.Tab = (Act_Tab_t) UnsignedNum; Tab_DisableIncompatibleTabs (); } } diff --git a/swad_photo.c b/swad_photo.c index 9f4e9747..ecb821a9 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -1036,10 +1036,10 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL, char SpecialSurnames [2*(Usr_MAX_BYTES_NAME_SPEC_CHAR+1)+1]; bool PhotoExists; bool PutLinkToPublicProfile = !Gbl.Form.Inside && // Only if not inside another form - Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW; // Only in main window + Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW; // Only in main window bool PutZoomCode = PhotoURL && // Photo exists Zoom == Pho_ZOOM && // Make zoom - Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW; // Only in main window + Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW; // Only in main window /***** Replace tildes, ñ, etc. in full name by codes, because some browsers (i.e., IE5) @@ -1120,7 +1120,7 @@ void Pho_ChangePhotoVisibility (void) char Query[128]; /***** Get param with public/private photo *****/ - Gbl.Usrs.Me.UsrDat.PhotoVisibility = Pri_GetParamVisibility ("VisPho"); + Gbl.Usrs.Me.UsrDat.PhotoVisibility = Pri_GetParamVisibility ("VisPho",Pri_PHOTO_VISIBILITY_DEFAULT); /***** Store public/private photo in database *****/ sprintf (Query,"UPDATE usr_data SET PhotoVisibility='%s'" diff --git a/swad_privacy.c b/swad_privacy.c index 7341f6d1..80c11822 100644 --- a/swad_privacy.c +++ b/swad_privacy.c @@ -180,7 +180,8 @@ static void Pri_PutFormVisibility (const char *TxtLabel, /************************ Get visibility from string *************************/ /*****************************************************************************/ -Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str) +Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str, + Pri_Visibility_t DefaultVisibility) { Pri_Visibility_t Visibility; @@ -190,14 +191,15 @@ Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str) if (!strcasecmp (Str,Pri_VisibilityDB[Visibility])) return Visibility; - return Pri_VISIBILITY_DEFAULT; + return DefaultVisibility; } /*****************************************************************************/ /**************** Get parameter with visibility from form ********************/ /*****************************************************************************/ -Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName) +Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName, + Pri_Visibility_t DefaultVisibility) { char UnsignedStr[10+1]; unsigned UnsignedNum; @@ -212,7 +214,7 @@ Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName) return (Pri_Visibility_t) UnsignedNum; } - return Pri_VISIBILITY_DEFAULT; + return DefaultVisibility; } /*****************************************************************************/ diff --git a/swad_privacy.h b/swad_privacy.h index db9acca1..05366bac 100644 --- a/swad_privacy.h +++ b/swad_privacy.h @@ -34,7 +34,7 @@ /***** Visibility (who can see user's photo / public profile) *****/ #define Pri_NUM_OPTIONS_PRIVACY 4 -typedef enum +typedef enum // These numbers are stored in database. So, if you change them here, do the same in database { Pri_VISIBILITY_USER = 0, // Only visible by me and my teachers if I am a student or my students if I am a teacher Pri_VISIBILITY_COURSE = 1, // Visible by users sharing courses with me @@ -42,7 +42,8 @@ typedef enum Pri_VISIBILITY_WORLD = 3, // Public, visible by all the people, even unlogged visitors } Pri_Visibility_t; -#define Pri_VISIBILITY_DEFAULT Pri_VISIBILITY_SYSTEM +#define Pri_PHOTO_VISIBILITY_DEFAULT Pri_VISIBILITY_SYSTEM +#define Pri_PROFILE_VISIBILITY_DEFAULT Pri_VISIBILITY_SYSTEM /*****************************************************************************/ /***************************** Public prototypes *****************************/ @@ -51,8 +52,10 @@ typedef enum void Pri_PutLinkToChangeMyPrivacy (void); void Pri_EditMyPrivacy (void); -Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str); -Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName); +Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str, + Pri_Visibility_t DefaultVisibility); +Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName, + Pri_Visibility_t DefaultVisibility); bool Pri_ShowIsAllowed (Pri_Visibility_t Visibility,long OtherUsrCod); diff --git a/swad_profile.c b/swad_profile.c index 92d3124c..25020e60 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -284,7 +284,7 @@ void Prf_ChangeProfileVisibility (void) char Query[128]; /***** Get param with public/private photo *****/ - Gbl.Usrs.Me.UsrDat.ProfileVisibility = Pri_GetParamVisibility ("VisPrf"); + Gbl.Usrs.Me.UsrDat.ProfileVisibility = Pri_GetParamVisibility ("VisPrf",Pri_PROFILE_VISIBILITY_DEFAULT); /***** Store public/private photo in database *****/ sprintf (Query,"UPDATE usr_data SET ProfileVisibility='%s'" diff --git a/swad_record.c b/swad_record.c index 9be5d332..3c5c9dec 100644 --- a/swad_record.c +++ b/swad_record.c @@ -874,7 +874,7 @@ void Rec_ListRecordsGsts (void) extern const char *Txt_You_must_select_one_ore_more_users; unsigned NumUsrs = 0; const char *Ptr; - Rec_RecordViewType_t TypeOfView = (Gbl.CurrentAct == ActSeeRecSevGst) ? Rec_RECORD_LIST : + Rec_RecordViewType_t TypeOfView = (Gbl.Action.Act == ActSeeRecSevGst) ? Rec_RECORD_LIST : Rec_RECORD_PRINT; struct UsrData UsrDat; @@ -882,7 +882,7 @@ void Rec_ListRecordsGsts (void) Gbl.Usrs.Listing.RecsUsrs = Rec_RECORD_USERS_GUESTS; /***** Get parameter with number of user records per page (only for printing) *****/ - if (Gbl.CurrentAct == ActPrnRecSevGst) + if (Gbl.Action.Act == ActPrnRecSevGst) Rec_GetParamRecordsPerPage (); /***** Get list of selected users *****/ @@ -896,7 +896,7 @@ void Rec_ListRecordsGsts (void) return; } - if (Gbl.CurrentAct == ActSeeRecSevGst) + if (Gbl.Action.Act == ActSeeRecSevGst) { fprintf (Gbl.F.Out,"
"); @@ -924,7 +924,7 @@ void Rec_ListRecordsGsts (void) { fprintf (Gbl.F.Out,"
"); @@ -1281,7 +1281,7 @@ void Rec_ListRecordsTchs (void) fprintf (Gbl.F.Out,"
PublisherCod; - if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // TODO: Optimize with a specialized function, we only need FullName + if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Really we only need EncryptedUsrCod and FullName { fprintf (Gbl.F.Out,"
"); diff --git a/swad_statistic.c b/swad_statistic.c index 49d5cb08..b87cda68 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -271,7 +271,7 @@ void Sta_LogAccess (const char *Comments) { char Query[2048]; long LogCod; - Rol_Role_t RoleToStore = (Gbl.CurrentAct == ActLogOut) ? Gbl.Usrs.Me.LoggedRoleBeforeCloseSession : + Rol_Role_t RoleToStore = (Gbl.Action.Act == ActLogOut) ? Gbl.Usrs.Me.LoggedRoleBeforeCloseSession : Gbl.Usrs.Me.LoggedRole; /***** Insert access into database *****/ @@ -280,7 +280,7 @@ void Sta_LogAccess (const char *Comments) "Role,ClickTime,TimeToGenerate,TimeToSend,IP)" " VALUES ('%ld','%ld','%ld','%ld','%ld','%ld','%ld'," "'%u',NOW(),'%ld','%ld','%s')", - Act_Actions[Gbl.CurrentAct].ActCod, + Act_Actions[Gbl.Action.Act].ActCod, Gbl.CurrentCty.Cty.CtyCod, Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentCtr.Ctr.CtrCod, @@ -305,7 +305,7 @@ void Sta_LogAccess (const char *Comments) "Role,ClickTime,TimeToGenerate,TimeToSend,IP)" " VALUES ('%ld','%ld','%ld','%ld','%ld','%ld','%ld','%ld'," "'%u',NOW(),'%ld','%ld','%s')", - LogCod,Act_Actions[Gbl.CurrentAct].ActCod, + LogCod,Act_Actions[Gbl.Action.Act].ActCod, Gbl.CurrentCty.Cty.CtyCod, Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentCtr.Ctr.CtrCod, @@ -1423,7 +1423,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse) DB_FreeMySQLResult (&mysql_res); /***** Free the memory used by the list of users *****/ - if (Gbl.CurrentAct == ActSeeAccCrs) + if (Gbl.Action.Act == ActSeeAccCrs) Usr_FreeListsSelectedUsrCods (); /***** Free memory used by the data of the user *****/ @@ -2037,14 +2037,14 @@ static void Sta_ShowDistrAccessesPerDaysAndHour (unsigned long NumRows,MYSQL_RES "", The_ClassForm[Gbl.Prefs.Theme]); - Act_FormStartAnchor (Gbl.CurrentAct,"stat_form"); + Act_FormStartAnchor (Gbl.Action.Act,"stat_form"); Sta_WriteParamsDatesSeeAccesses (); Par_PutHiddenParamUnsigned ("GroupedBy",(unsigned) Gbl.Stat.ClicksGroupedBy); Par_PutHiddenParamUnsigned ("CountType",(unsigned) Gbl.Stat.CountType); Par_PutHiddenParamUnsigned ("StatAct",(unsigned) Gbl.Stat.NumAction); - if (Gbl.CurrentAct == ActSeeAccCrs) + if (Gbl.Action.Act == ActSeeAccCrs) Usr_PutHiddenParUsrCodAll (ActSeeAccCrs,Gbl.Usrs.Select.All); - else // Gbl.CurrentAct == ActSeeAccGbl + else // Gbl.Action.Act == ActSeeAccGbl { Par_PutHiddenParamUnsigned ("Role",(unsigned) Gbl.Stat.Role); Sco_PutParamScope (Gbl.Scope.Current); diff --git a/swad_survey.c b/swad_survey.c index 87840d98..0abb4fa8 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -2226,7 +2226,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,ch unsigned NumAns,NumAnswers = 0; Svy_AnswerType_t AnsType; - if (Gbl.CurrentAct == ActEdiOneSvyQst) // If no receiving the question, but editing a new or existing question + if (Gbl.Action.Act == ActEdiOneSvyQst) // If no receiving the question, but editing a new or existing question { if ((SvyQst->QstCod > 0)) // If parameter QstCod received ==> question already exists in the database { @@ -2781,9 +2781,9 @@ static void Svy_ListSvyQuestions (struct Survey *Svy,struct SurveyQuestion *SvyQ MYSQL_ROW row; unsigned NumQsts; unsigned NumQst; - bool Editing = (Gbl.CurrentAct == ActEdiOneSvy || - Gbl.CurrentAct == ActEdiOneSvyQst || - Gbl.CurrentAct == ActRcvSvyQst); + bool Editing = (Gbl.Action.Act == ActEdiOneSvy || + Gbl.Action.Act == ActEdiOneSvyQst || + Gbl.Action.Act == ActRcvSvyQst); bool PutFormAnswerSurvey = Svy->Status.ICanAnswer && !Editing; /***** Get data of questions from database *****/ diff --git a/swad_syllabus.c b/swad_syllabus.c index 3ad3658a..4c1dd801 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -190,8 +190,8 @@ void Syl_EditSyllabus (void) /***** Set syllabus type and load syllabus from XML file to memory *****/ InfoType = Syl_SetSyllabusTypeAndLoadToMemory (); - if (Gbl.CurrentAct == ActEditorSylLec || - Gbl.CurrentAct == ActEditorSylPra) + if (Gbl.Action.Act == ActEditorSylLec || + Gbl.Action.Act == ActEditorSylPra) Gbl.CurrentCrs.Syllabus.EditionIsActive = true; if (Gbl.CurrentCrs.Syllabus.EditionIsActive || LstItemsSyllabus.NumItems) @@ -243,7 +243,7 @@ static Inf_InfoType_t Syl_SetSyllabusTypeAndLoadToMemory (void) Inf_InfoType_t InfoType = Inf_LECTURES; // Initialized to avoid warning /***** Set the type of syllabus (lectures or practicals) *****/ - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeSyl: InfoType = (Gbl.CurrentCrs.Syllabus.WhichSyllabus == Syl_LECTURES ? Inf_LECTURES : @@ -483,10 +483,10 @@ static void Syl_ShowSyllabus (Inf_InfoType_t InfoType) int i; int NumButtons = Gbl.CurrentCrs.Syllabus.EditionIsActive ? 5 : 0; - bool ShowRowInsertNewItem = (Gbl.CurrentAct == ActInsIteSylLec || Gbl.CurrentAct == ActInsIteSylPra || - Gbl.CurrentAct == ActModIteSylLec || Gbl.CurrentAct == ActModIteSylPra || - Gbl.CurrentAct == ActRgtIteSylLec || Gbl.CurrentAct == ActRgtIteSylPra || - Gbl.CurrentAct == ActLftIteSylLec || Gbl.CurrentAct == ActLftIteSylPra); + bool ShowRowInsertNewItem = (Gbl.Action.Act == ActInsIteSylLec || Gbl.Action.Act == ActInsIteSylPra || + Gbl.Action.Act == ActModIteSylLec || Gbl.Action.Act == ActModIteSylPra || + Gbl.Action.Act == ActRgtIteSylLec || Gbl.Action.Act == ActRgtIteSylPra || + Gbl.Action.Act == ActLftIteSylLec || Gbl.Action.Act == ActLftIteSylPra); /***** Set width of columns of the table *****/ fprintf (Gbl.F.Out,""); diff --git a/swad_tab.c b/swad_tab.c index 79f4570a..be69366c 100644 --- a/swad_tab.c +++ b/swad_tab.c @@ -102,9 +102,9 @@ void Tab_DrawTabs (void) ICanViewTab = Tab_CheckIfICanViewTab (NumTab); /* If current tab is unknown, then activate the first one with access allowed */ - if (Gbl.CurrentTab == TabUnk) + if (Gbl.Action.Tab == TabUnk) { - Gbl.CurrentTab = NumTab; + Gbl.Action.Tab = NumTab; Tab_DisableIncompatibleTabs (); } @@ -112,20 +112,20 @@ void Tab_DrawTabs (void) { /* Form, icon (at top) and text (at bottom) of the tab */ fprintf (Gbl.F.Out,"
  • ", - NumTab == Gbl.CurrentTab ? "TAB_ON" : + NumTab == Gbl.Action.Tab ? "TAB_ON" : "TAB_OFF", - NumTab == Gbl.CurrentTab ? The_TabOnBgColors[Gbl.Prefs.Theme] : + NumTab == Gbl.Action.Tab ? The_TabOnBgColors[Gbl.Prefs.Theme] : The_TabOffBgColors[Gbl.Prefs.Theme]); if (ICanViewTab) { fprintf (Gbl.F.Out,""); Act_FormStart (ActMnu); Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) NumTab); Act_LinkFormSubmit (Txt_TABS_FULL_TXT[NumTab], - NumTab == Gbl.CurrentTab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] : + NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] : The_ClassTxtTabOff[Gbl.Prefs.Theme]); fprintf (Gbl.F.Out,"\"%s\"= 0) + if (Gbl.Action.Act == ActMnu || + Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].IndexInMenu >= 0) { /***** Tab *****/ fprintf (Gbl.F.Out," > ", The_ClassTxtTabOn[Gbl.Prefs.Theme]); Tab_WriteBreadcrumbTab (); - if (Act_Actions[Act_Actions[Gbl.CurrentAct].SuperAction].IndexInMenu >= 0) + if (Act_Actions[Act_Actions[Gbl.Action.Act].SuperAction].IndexInMenu >= 0) { /***** Menu *****/ fprintf (Gbl.F.Out," > ", @@ -258,12 +258,12 @@ static void Tab_WriteBreadcrumbTab (void) /***** Start form *****/ Act_FormStart (ActMnu); - Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) Gbl.CurrentTab); - Act_LinkFormSubmit (Txt_TABS_FULL_TXT[Gbl.CurrentTab],The_ClassTxtTabOn[Gbl.Prefs.Theme]); + Par_PutHiddenParamUnsigned ("NxtTab",(unsigned) Gbl.Action.Tab); + Act_LinkFormSubmit (Txt_TABS_FULL_TXT[Gbl.Action.Tab],The_ClassTxtTabOn[Gbl.Prefs.Theme]); /***** Title and end of form *****/ fprintf (Gbl.F.Out,"%s", - Txt_TABS_FULL_TXT[Gbl.CurrentTab]); + Txt_TABS_FULL_TXT[Gbl.Action.Tab]); Act_FormEnd (); } @@ -274,10 +274,10 @@ static void Tab_WriteBreadcrumbTab (void) static void Tab_WriteBreadcrumbAction (void) { extern const char *The_ClassTxtTabOn[The_NUM_THEMES]; - const char *Title = Act_GetTitleAction (Gbl.CurrentAct); + const char *Title = Act_GetTitleAction (Gbl.Action.Act); /***** Start form *****/ - Act_FormStart (Act_Actions[Gbl.CurrentAct].SuperAction); + Act_FormStart (Act_Actions[Gbl.Action.Act].SuperAction); Act_LinkFormSubmit (Title,The_ClassTxtTabOn[Gbl.Prefs.Theme]); /***** Title and end of form *****/ @@ -292,53 +292,53 @@ static void Tab_WriteBreadcrumbAction (void) void Tab_SetCurrentTab (void) { - Gbl.CurrentTab = Act_Actions[Gbl.CurrentAct].Tab; + Gbl.Action.Tab = Act_Actions[Gbl.Action.Act].Tab; /***** Change action and tab if country, institution, centre or degree are incompatible with the current tab *****/ - switch (Gbl.CurrentTab) + switch (Gbl.Action.Tab) { case TabCty: if (Gbl.CurrentCty.Cty.CtyCod <= 0) // No country selected - Gbl.CurrentAct = ActSeeCty; + Gbl.Action.Act = ActSeeCty; break; case TabIns: if (Gbl.CurrentIns.Ins.InsCod <= 0) // No institution selected { if (Gbl.CurrentCty.Cty.CtyCod > 0) // Country selected, but no institution selected - Gbl.CurrentAct = ActSeeIns; + Gbl.Action.Act = ActSeeIns; else // No country selected - Gbl.CurrentAct = ActSeeCty; + Gbl.Action.Act = ActSeeCty; } break; case TabCtr: if (Gbl.CurrentCtr.Ctr.CtrCod <= 0) // No centre selected { if (Gbl.CurrentIns.Ins.InsCod > 0) // Institution selected, but no centre selected - Gbl.CurrentAct = ActSeeCtr; + Gbl.Action.Act = ActSeeCtr; else if (Gbl.CurrentCty.Cty.CtyCod > 0) // Country selected, but no institution selected - Gbl.CurrentAct = ActSeeIns; + Gbl.Action.Act = ActSeeIns; else // No country selected - Gbl.CurrentAct = ActSeeCty; + Gbl.Action.Act = ActSeeCty; } break; case TabDeg: if (Gbl.CurrentDeg.Deg.DegCod <= 0) // No degree selected { if (Gbl.CurrentCtr.Ctr.CtrCod > 0) // Centre selected, but no degree selected - Gbl.CurrentAct = ActSeeDeg; + Gbl.Action.Act = ActSeeDeg; else if (Gbl.CurrentIns.Ins.InsCod > 0) // Institution selected, but no centre selected - Gbl.CurrentAct = ActSeeCtr; + Gbl.Action.Act = ActSeeCtr; else if (Gbl.CurrentCty.Cty.CtyCod > 0) // Country selected, but no institution selected - Gbl.CurrentAct = ActSeeIns; + Gbl.Action.Act = ActSeeIns; else // No country selected - Gbl.CurrentAct = ActSeeCty; + Gbl.Action.Act = ActSeeCty; } break; default: break; } - Gbl.CurrentTab = Act_Actions[Gbl.CurrentAct].Tab; + Gbl.Action.Tab = Act_Actions[Gbl.Action.Act].Tab; Tab_DisableIncompatibleTabs (); } @@ -351,7 +351,7 @@ void Tab_DisableIncompatibleTabs (void) { /***** Set country, institution, centre, degree and course depending on the current tab. This will disable tabs incompatible with the current one. *****/ - switch (Gbl.CurrentTab) + switch (Gbl.Action.Tab) { case TabSys: Gbl.CurrentCty.Cty.CtyCod = -1L; diff --git a/swad_test.c b/swad_test.c index d7f93211..143f2fc8 100644 --- a/swad_test.c +++ b/swad_test.c @@ -739,7 +739,7 @@ static void Tst_WriteTestHead (unsigned NumTst) extern const char *Txt_Test_No_X_that_you_make_in_this_course; /***** Start table *****/ - Lay_StartRoundFrameTable (NULL,2,Gbl.CurrentAct == ActSeeTst ? Txt_Test : + Lay_StartRoundFrameTable (NULL,2,Gbl.Action.Act == ActSeeTst ? Txt_Test : Txt_Test_result); Lay_WriteHeaderClassPhoto (3,false,false, Gbl.CurrentIns.Ins.InsCod, @@ -747,7 +747,7 @@ static void Tst_WriteTestHead (unsigned NumTst) Gbl.CurrentCrs.Crs.CrsCod); /***** Header row *****/ - if (Gbl.CurrentAct == ActAssTst && + if (Gbl.Action.Act == ActAssTst && Gbl.Usrs.Me.IBelongToCurrentCrs) { fprintf (Gbl.F.Out,"" @@ -970,7 +970,7 @@ static void Tst_WriteQstAndAnsExam (unsigned NumQst,long QstCod,MYSQL_ROW row, fprintf (Gbl.F.Out,"", Gbl.RowEvenOdd); Tst_WriteQstStem (row[4],"TEST_EXA"); - if (Gbl.CurrentAct == ActSeeTst) + if (Gbl.Action.Act == ActSeeTst) Tst_WriteAnswersOfAQstSeeExam (NumQst,QstCod,(Str_ConvertToUpperLetter (row[3][0]) == 'Y')); else // Assessing exam / Viewing old exam { @@ -3893,7 +3893,7 @@ static int Tst_GetParamsTst (void) } /***** Get other parameters, depending on action *****/ - if (Gbl.CurrentAct == ActSeeTst) + if (Gbl.Action.Act == ActSeeTst) { Tst_GetParamNumQst (); if (Gbl.Test.NumQsts < Gbl.Test.Config.Min || @@ -4093,7 +4093,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) bool TagNotFound; bool OptionsDisabled; - if (Gbl.CurrentAct == ActEdiOneTstQst) // If no receiving the question, but editing a new or existing question + if (Gbl.Action.Act == ActEdiOneTstQst) // If no receiving the question, but editing a new or existing question { Tst_InitQst (); if (Tst_GetQstCod ()) // If parameter QstCod received ==> question already exists in the database @@ -6347,7 +6347,7 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat) Gbl.RowEvenOdd); if (ICanViewExam) { - Act_FormStart (Gbl.CurrentAct == ActSeeMyTstExa ? ActSeeOneTstExaMe : + Act_FormStart (Gbl.Action.Act == ActSeeMyTstExa ? ActSeeOneTstExaMe : ActSeeOneTstExaOth); Tst_PutParamTstCod (TstCod); fprintf (Gbl.F.Out,"= Rol_TEACHER); @@ -383,8 +383,8 @@ void TT_ShowTimeTable (TT_TimeTableType_t TimeTableType,long UsrCod) TT_CreatTimeTableFromDB (TimeTableType,UsrCod); /***** If timetable must be modified... *****/ - if (Gbl.CurrentAct == ActChgCrsTT || - Gbl.CurrentAct == ActChgTut) + if (Gbl.Action.Act == ActChgCrsTT || + Gbl.Action.Act == ActChgTut) { /* Get parameters for time table editing */ TT_GetParamsTimeTable (); @@ -571,8 +571,8 @@ static void TT_CreatTimeTableFromDB (TT_TimeTableType_t TimeTableType,long UsrCo break; case TT_COURSE_TIMETABLE: if (Gbl.CurrentCrs.Grps.WhichGrps == Grp_ALL_GROUPS || - Gbl.CurrentAct == ActEdiCrsTT || - Gbl.CurrentAct == ActChgCrsTT) // If we are editing, all groups are shown + Gbl.Action.Act == ActEdiCrsTT || + Gbl.Action.Act == ActChgCrsTT) // If we are editing, all groups are shown sprintf (Query,"SELECT Day,Hour,Duration,Place,ClassType,GroupName,GrpCod" " FROM timetable_crs" " WHERE CrsCod='%ld'" @@ -773,7 +773,7 @@ static void TT_DrawTimeTable (TT_TimeTableType_t TimeTableType) unsigned ColumnsToDrawIncludingExtraColumn; unsigned ContinuousFreeMinicolumns; - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeCrsTT: case ActPrnCrsTT: case ActChgCrsTT1stDay: case ActSeeMyTT: case ActPrnMyTT: case ActChgMyTT1stDay: @@ -811,8 +811,8 @@ static void TT_DrawTimeTable (TT_TimeTableType_t TimeTableType) TT_PERCENT_WIDTH_OF_AN_HOUR_COLUMN,TT_START_HOUR); /***** Get list of groups types and groups in this course *****/ - if (Gbl.CurrentAct == ActEdiCrsTT || - Gbl.CurrentAct == ActChgCrsTT) + if (Gbl.Action.Act == ActEdiCrsTT || + Gbl.Action.Act == ActChgCrsTT) Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_ONLY_GROUP_TYPES_WITH_GROUPS); /***** Write the table row by row *****/ @@ -902,8 +902,8 @@ static void TT_DrawTimeTable (TT_TimeTableType_t TimeTableType) } /***** Free list of groups types and groups in this course *****/ - if (Gbl.CurrentAct == ActEdiCrsTT || - Gbl.CurrentAct == ActChgCrsTT) + if (Gbl.Action.Act == ActEdiCrsTT || + Gbl.Action.Act == ActChgCrsTT) Grp_FreeListGrpTypesAndGrps (); /***** Row with day names *****/ @@ -1109,7 +1109,7 @@ static void TT_TimeTableDrawCell (TT_TimeTableType_t TimeTableType, return; /***** Set type of view depending on current action *****/ - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActSeeCrsTT: case ActPrnCrsTT: case ActChgCrsTT1stDay: case ActSeeMyTT: case ActPrnMyTT: case ActChgMyTT1stDay: diff --git a/swad_user.c b/swad_user.c index b3c71610..ae25a13c 100644 --- a/swad_user.c +++ b/swad_user.c @@ -196,7 +196,7 @@ void Usr_InformAboutNumClicksBeforePhoto (void) { if (Gbl.Usrs.Me.NumAccWithoutPhoto >= Pho_MAX_CLICKS_WITHOUT_PHOTO) Lay_ShowAlert (Lay_WARNING,Txt_You_must_send_your_photo_because_); - else if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) + else if (Act_Actions[Gbl.Action.Act].BrowserWindow == Act_MAIN_WINDOW) { sprintf (Message,Txt_You_can_only_perform_X_further_actions_, Pho_MAX_CLICKS_WITHOUT_PHOTO-Gbl.Usrs.Me.NumAccWithoutPhoto); @@ -249,8 +249,8 @@ void Usr_ResetUsrDataExceptUsrCodAndIDs (struct UsrData *UsrDat) UsrDat->EmailConfirmed = false; UsrDat->Photo[0] = '\0'; - UsrDat->PhotoVisibility = - UsrDat->ProfileVisibility = Pri_VISIBILITY_DEFAULT; + UsrDat->PhotoVisibility = Pri_PHOTO_VISIBILITY_DEFAULT; + UsrDat->ProfileVisibility = Pri_PROFILE_VISIBILITY_DEFAULT; UsrDat->CtyCod = -1L; UsrDat->OriginPlace[0] = '\0'; @@ -486,8 +486,8 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat) /* Get rest of data */ strncpy (UsrDat->Photo,row[10],sizeof (UsrDat->Photo) - 1); UsrDat->Photo[sizeof (UsrDat->Photo) - 1] = '\0'; - UsrDat->PhotoVisibility = Pri_GetVisibilityFromStr (row[11]); - UsrDat->ProfileVisibility = Pri_GetVisibilityFromStr (row[12]); + UsrDat->PhotoVisibility = Pri_GetVisibilityFromStr (row[11],Pri_PHOTO_VISIBILITY_DEFAULT); + UsrDat->ProfileVisibility = Pri_GetVisibilityFromStr (row[12],Pri_PROFILE_VISIBILITY_DEFAULT); UsrDat->CtyCod = Str_ConvertStrCodToLongCod (row[13]); UsrDat->InsCtyCod = Str_ConvertStrCodToLongCod (row[14]); UsrDat->InsCod = Str_ConvertStrCodToLongCod (row[15]); @@ -1863,9 +1863,9 @@ void Usr_ChkUsrAndGetUsrData (void) if (Gbl.Session.HasBeenDisconnected) { - if (Gbl.CurrentAct != ActRefCon) + if (Gbl.Action.Act != ActRefCon) { - Gbl.CurrentAct = ActLogOut; + Gbl.Action.Act = ActLogOut; Tab_SetCurrentTab (); Lay_ShowAlert (Lay_WARNING,Txt_The_session_has_expired_due_to_inactivity); PutFormLogin = true; @@ -1874,7 +1874,7 @@ void Usr_ChkUsrAndGetUsrData (void) else // !Gbl.Session.HasBeenDisconnected { /***** Check user and get user's data *****/ - if (Gbl.CurrentAct == ActCreUsrAcc) + if (Gbl.Action.Act == ActCreUsrAcc) { /***** Create new account and login *****/ if (Acc_CreateNewAccountAndLogIn ()) // User logged in @@ -1892,7 +1892,7 @@ void Usr_ChkUsrAndGetUsrData (void) Mai_SendMailMsgToConfirmEmail (); } } - else // Gbl.CurrentAct != ActCreUsrAcc + else // Gbl.Action.Act != ActCreUsrAcc { /***** Check user and get user's data *****/ if (Gbl.Session.IsOpen) @@ -1902,7 +1902,7 @@ void Usr_ChkUsrAndGetUsrData (void) Gbl.Usrs.Me.Logged = true; Usr_SetUsrRoleAndPrefs (); - if (Gbl.CurrentAct == ActRefCon) // If refreshing connected users ==> don't refresh session + if (Gbl.Action.Act == ActRefCon) // If refreshing connected users ==> don't refresh session Ses_UpdateSessionLastRefreshInDB (); else { @@ -1914,7 +1914,7 @@ void Usr_ChkUsrAndGetUsrData (void) else PutFormLogin = true; } - else if (Gbl.CurrentAct == ActAutUsrInt) + else if (Gbl.Action.Act == ActAutUsrInt) { if (Usr_ChkUsrAndGetUsrDataFromDirectLogin ()) // User logged in { @@ -1929,7 +1929,7 @@ void Usr_ChkUsrAndGetUsrData (void) else PutFormLogin = true; } - else if (Gbl.CurrentAct == ActAutUsrExt) + else if (Gbl.Action.Act == ActAutUsrExt) { if (Usr_ChkUsrAndGetUsrDataFromExternalLogin ()) // User logged in { @@ -1957,15 +1957,15 @@ void Usr_ChkUsrAndGetUsrData (void) } /***** Adjust tab and action *****/ - if (Gbl.CurrentAct != ActRefCon) + if (Gbl.Action.Act != ActRefCon) { if (Gbl.Usrs.Me.Logged) { /***** Set default tab when unknown *****/ - if (Gbl.CurrentTab == TabUnk) + if (Gbl.Action.Tab == TabUnk) { - // Don't adjust Gbl.CurrentAct here - Gbl.CurrentTab = ((Gbl.Usrs.Me.UsrLast.LastTab == TabCrs) && + // Don't adjust Gbl.Action.Act here + Gbl.Action.Tab = ((Gbl.Usrs.Me.UsrLast.LastTab == TabCrs) && (Gbl.CurrentCrs.Crs.CrsCod <= 0)) ? TabSys : Gbl.Usrs.Me.UsrLast.LastTab; Tab_DisableIncompatibleTabs (); @@ -1973,11 +1973,11 @@ void Usr_ChkUsrAndGetUsrData (void) Usr_UpdateMyLastData (); Crs_UpdateCrsLast (); } - else if (Gbl.CurrentAct == ActUnk) // No user logged and unknown action + else if (Gbl.Action.Act == ActUnk) // No user logged and unknown action Act_AdjustActionWhenNoUsrLogged (); /***** When I change to another tab, go to the first option allowed *****/ - if (Gbl.CurrentAct == ActMnu) + if (Gbl.Action.Act == ActMnu) { if (Gbl.Usrs.Me.Logged) { @@ -1987,7 +1987,7 @@ void Usr_ChkUsrAndGetUsrData (void) else Action = Mnu_GetFirstActionAvailableInCurrentTab (); if (Action != ActUnk) - Gbl.CurrentAct = Action; + Gbl.Action.Act = Action; } } } @@ -2386,8 +2386,8 @@ static void Usr_SetUsrRoleAndPrefs (void) /***** Get my last data *****/ Usr_GetMyLastData (); - if (Gbl.CurrentAct == ActAutUsrInt || - Gbl.CurrentAct == ActAutUsrExt) // If I just logged in... + if (Gbl.Action.Act == ActAutUsrInt || + Gbl.Action.Act == ActAutUsrExt) // If I just logged in... { /***** WhatToSearch is stored in session, but in login it is got from user's last data *****/ @@ -2548,9 +2548,9 @@ void Usr_WarningWhenDegreeTypeDoesntAllowDirectLogin (void) Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB == Rol_STUDENT && // ...and I am a student in the current course... !Gbl.CurrentDegTyp.DegTyp.AllowDirectLogIn && // ...but the current degree type... !Gbl.CurrentCrs.Crs.AllowDirectLogIn && // ...and the current course do not allow to log in directly - (Gbl.CurrentAct == ActSeeCrsInf || - Gbl.CurrentAct == ActAutUsrInt || - Gbl.CurrentAct == ActHom)) + (Gbl.Action.Act == ActSeeCrsInf || + Gbl.Action.Act == ActAutUsrInt || + Gbl.Action.Act == ActHom)) { sprintf (Gbl.Message,Txt_This_course_requires_log_in_from_X_to_have_full_functionality_, Cfg_EXTERNAL_LOGIN_URL,Cfg_EXTERNAL_LOGIN_SERVICE_SHORT_NAME, @@ -2636,7 +2636,7 @@ void Usr_UpdateMyLastData (void) sprintf (Query,"UPDATE usr_last SET LastCrs='%ld',LastTab='%u',LastTime=NOW()" " WHERE UsrCod='%ld'", Gbl.CurrentCrs.Crs.CrsCod, - (unsigned) Gbl.CurrentTab, + (unsigned) Gbl.Action.Tab, Gbl.Usrs.Me.UsrDat.UsrCod); DB_QueryUPDATE (Query,"can not update last user's data"); } @@ -2658,7 +2658,7 @@ static void Usr_InsertMyLastData (void) " VALUES ('%ld','%ld','%u',NOW())", Gbl.Usrs.Me.UsrDat.UsrCod, Gbl.CurrentCrs.Crs.CrsCod, - (unsigned) Gbl.CurrentTab); + (unsigned) Gbl.Action.Tab); DB_QueryINSERT (Query,"can not insert last user's data"); } /*****************************************************************************/ @@ -3653,7 +3653,7 @@ static void Usr_BuildQueryToGetUsrsLstCrs (Rol_Role_t Role,const char *UsrQuery, } /***** Create query for users in the course *****/ - if (Gbl.CurrentAct == ActReqMsgUsr) // Selecting users to write a message + if (Gbl.Action.Act == ActReqMsgUsr) // Selecting users to write a message sprintf (Query,"SELECT crs_usr.UsrCod,crs_usr.Accepted,usr_data.Sex" " FROM crs_usr,usr_data" " WHERE crs_usr.CrsCod='%ld'" @@ -4539,12 +4539,12 @@ static void Usr_PutButtonToConfirmIWantToSeeBigList (unsigned NumUsrs) Lay_ShowAlert (Lay_WARNING,Gbl.Message); /***** Put form to confirm that I want to see the big list *****/ - Act_FormStart (Gbl.CurrentAct); + Act_FormStart (Gbl.Action.Act); Grp_PutParamsCodGrps (); Usr_PutParamUsrListType (Gbl.Usrs.Me.ListType); Usr_PutParamColsClassPhoto (); Usr_PutParamListWithPhotos (); - Usr_PutExtraParamsUsrList (Gbl.CurrentAct); + Usr_PutExtraParamsUsrList (Gbl.Action.Act); Par_PutHiddenParamChar ("ShowBigList",'Y'); /***** Send button *****/ @@ -4581,7 +4581,7 @@ void Usr_GetListsSelectedUsrs (void) /***** Get selected users *****/ if (Gbl.Session.IsOpen) // If the session is open, get parameter from DB { - Ses_GetHiddenParFromDB (Gbl.CurrentAct,"UsrCodAll", + Ses_GetHiddenParFromDB (Gbl.Action.Act,"UsrCodAll", Gbl.Usrs.Select.All,Usr_MAX_BYTES_LIST_ENCRYPTED_USR_CODS); Str_ChangeFormat (Str_FROM_FORM,Str_TO_TEXT, Gbl.Usrs.Select.All,Usr_MAX_BYTES_LIST_ENCRYPTED_USR_CODS,true); @@ -5008,7 +5008,7 @@ static void Usr_FormToSelectUsrListType (Act_Action_t NextAction,Usr_ShowUsrsTyp void Usr_PutExtraParamsUsrList (Act_Action_t NextAction) { - switch (Gbl.CurrentAct) + switch (Gbl.Action.Act) { case ActLstGst: case ActLstStd: