diff --git a/sql/cambios.sql b/sql/cambios.sql
index aa1ade1b..b503e4d9 100644
--- a/sql/cambios.sql
+++ b/sql/cambios.sql
@@ -11521,3 +11521,22 @@ SELECT COUNT(*) FROM social_notes WHERE NoteType='10';
----- SWAD 15.199 (2016/04/16) -----
SELECT degrees.DegCod,degrees.CtrCod,degrees.DegTypCod,degrees.Status,degrees.RequesterUsrCod,degrees.ShortName,degrees.FullName,degrees.WWW FROM degrees,courses,crs_usr WHERE degrees.DegCod=courses.CrsCod AND courses.CrsCod=crs_usr.CrsCod AND crs_usr.Role='3' ORDER BY degrees.ShortName;
+
+----- SWAD 15.201 (2016/04/21) -----
+
+CREATE TABLE notif_backup LIKE notif;
+INSERT INTO notif_backup SELECT * FROM notif;
+
+CREATE TABLE sta_notif_backup LIKE sta_notif;
+INSERT INTO sta_notif_backup SELECT * FROM sta_notif;
+
+CREATE TABLE usr_data_backup LIKE usr_data;
+INSERT INTO usr_data_backup SELECT * FROM usr_data;
+
+UPDATE notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
+UPDATE sta_notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
+UPDATE usr_data SET NotifNtfEvents = (((NotifNtfEvents & ~0x3) << 1) | (NotifNtfEvents & 0x3) | 0x04);
+UPDATE usr_data SET EmailNtfEvents = (((EmailNtfEvents & ~0x3) << 1) | (EmailNtfEvents & 0x3));
+
+
+
diff --git a/swad_action.c b/swad_action.c
index 75b1499f..6a1f04f8 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -77,7 +77,7 @@ extern struct Globals Gbl;
/************************ Internal global variables **************************/
/*****************************************************************************/
/*
-1153 actions in one CGI:
+1193 actions in one CGI:
0. ActAll Any action (used for statistics)
1. ActUnk Unknown action
2. ActHom Show home menu
@@ -252,22 +252,22 @@ Institution:
148. ActReqRemFilShaIns Request removal of a shared file of the institution
149. ActRemFilShaIns Remove a shared file of the institution
- 150. ActRemFolShaIns Remove a folder empty común of the institution
- 151. ActCopShaIns Set source of copy in common zone of the institution
- 152. ActPasShaIns Paste a folder or file in common zone of the institution
- 153. ActRemTreShaIns Remove a folder no empty of common zone of the institution
- 154. ActFrmCreShaIns Form to crear a folder or file in common zone of the institution
- 155. ActCreFolShaIns Create a new folder in common zone of the institution
- 156. ActCreLnkShaIns Create a new link in common zone of the institution
- 157. ActRenFolShaIns Rename a folder in common zone of the institution
- 158. ActRcvFilShaInsDZ Receive a file in common zone of the institution using Dropzone.js
- 159. ActRcvFilShaInsCla Receive a file in common zone of the institution using the classic way
- 160. ActExpShaIns Expand a folder in common zone of the institution
- 161. ActConShaIns Contract a folder in common zone of the institution
- 162. ActZIPShaIns Compress a folder in common zone of the institution
- 163. ActReqDatShaIns Ask for metadata of a file of the common zone of the institution
- 164. ActChgDatShaIns Change metadata of a file of the common zone of the institution
- 165. ActDowShaIns Download a file of the common zone of the institution
+ 150. ActRemFolShaIns Remove an empty shared folder of the institution
+ 151. ActCopShaIns Set source of copy in shared zone of the institution
+ 152. ActPasShaIns Paste a folder or file in shared zone of the institution
+ 153. ActRemTreShaIns Remove a folder no empty of shared zone of the institution
+ 154. ActFrmCreShaIns Form to crear a folder or file in shared zone of the institution
+ 155. ActCreFolShaIns Create a new folder in shared zone of the institution
+ 156. ActCreLnkShaIns Create a new link in shared zone of the institution
+ 157. ActRenFolShaIns Rename a folder in shared zone of the institution
+ 158. ActRcvFilShaInsDZ Receive a file in shared zone of the institution using Dropzone.js
+ 159. ActRcvFilShaInsCla Receive a file in shared zone of the institution using the classic way
+ 160. ActExpShaIns Expand a folder in shared zone of the institution
+ 161. ActConShaIns Contract a folder in shared zone of the institution
+ 162. ActZIPShaIns Compress a folder in shared zone of the institution
+ 163. ActReqDatShaIns Ask for metadata of a file of the shared zone of the institution
+ 164. ActChgDatShaIns Change metadata of a file of the shared zone of the institution
+ 165. ActDowShaIns Download a file of the shared zone of the institution
Centre:
166. ActCtrReqSch Request search in centre tab
@@ -332,22 +332,22 @@ 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
+ 220. ActRemFolShaCtr Remove an empty shared folder of the centre
+ 221. ActCopShaCtr Set source of copy in shared zone of the centre
+ 222. ActPasShaCtr Paste a folder or file in shared zone of the centre
+ 223. ActRemTreShaCtr Remove a folder no empty of shared zone of the centre
+ 224. ActFrmCreShaCtr Form to crear a folder or file in shared zone of the centre
+ 225. ActCreFolShaCtr Create a new folder in shared zone of the centre
+ 226. ActCreLnkShaCtr Create a new link in shared zone of the centre
+ 227. ActRenFolShaCtr Rename a folder in shared zone of the centre
+ 228. ActRcvFilShaCtrDZ Receive a file in shared zone of the centre using Dropzone.js
+ 229. ActRcvFilShaCtrCla Receive a file in shared zone of the centre using the classic way
+ 230. ActExpShaCtr Expand a folder in shared zone of the centre
+ 231. ActConShaCtr Contract a folder in shared zone of the centre
+ 232. ActZIPShaCtr Compress a folder in shared zone of the centre
+ 233. ActReqDatShaCtr Ask for metadata of a file of the shared zone of the centre
+ 234. ActChgDatShaCtr Change metadata of a file of the shared zone of the centre
+ 235. ActDowShaCtr Download a file of the shared zone of the centre
Degree:
236. ActDegReqSch Request search in degree tab
@@ -409,22 +409,22 @@ 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
+ 287. ActRemFolShaDeg Remove an empty shared folder of the degree
+ 288. ActCopShaDeg Set source of copy in shared zone of the degree
+ 289. ActPasShaDeg Paste a folder or file in shared zone of the degree
+ 290. ActRemTreShaDeg Remove a folder no empty of shared zone of the degree
+ 291. ActFrmCreShaDeg Form to crear a folder or file in shared zone of the degree
+ 292. ActCreFolShaDeg Create a new folder in shared zone of the degree
+ 293. ActCreLnkShaDeg Create a new link in shared zone of the degree
+ 294. ActRenFolShaDeg Rename a folder in shared zone of the degree
+ 295. ActRcvFilShaDegDZ Receive a file in shared zone of the degree using Dropzone.js
+ 296. ActRcvFilShaDegCla Receive a file in shared zone of the degree using the classic way
+ 297. ActExpShaDeg Expand a folder in shared zone of the degree
+ 298. ActConShaDeg Contract a folder in shared zone of the degree
+ 299. ActZIPShaDeg Compress a folder in shared zone of the degree
+ 300. ActReqDatShaDeg Ask for metadata of a file of the shared zone of the degree
+ 301. ActChgDatShaDeg Change metadata of a file of the shared zone of the degree
+ 302. ActDowShaDeg Download a file of the shared zone of the degree
Course:
303. ActCrsReqSch Request search in course tab
@@ -434,912 +434,956 @@ Course:
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
- 315. ActCrsSch Search for courses, teachers, documents...
+ 310. ActAdmTchCrsGrp Request the administration of the files of the teachers' zone of the course or of a group
+ 311. ActAdmShaCrsGrp Request the administration of the files of the shared zone of the course or of a group
+ 312. ActSeeCrsTT Show the timetable
+ 313. ActSeeBib Show the bibliography
+ 314. ActSeeFAQ Show the FAQ
+ 315. ActSeeCrsLnk Show links related to the course
- 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
+ 316. ActCrsSch Search for courses, teachers, documents...
- 340. ActChgToSeeDocCrs Change to see course/group documents
+ 317. ActPrnCrsInf Print information on the course
+ 318. ActChgCrsLog Change log in method for this course
+ 319. ActEdiCrsInf Edit general information about the course
+ 320. ActEdiTchGui Edit teaching guide of the course
+ 321. ActPrnCrsTT Show print view of the timetable
+ 322. ActEdiCrsTT Edit the timetable
+ 323. ActChgCrsTT Modify the timetable of the course
+ 324. ActChgCrsTT1stDay Change first day of week and show timetable of the course
+ 325. ActEdiSylLec Edit the syllabus of lectures
+ 326. ActEdiSylPra Edit the syllabus of practicals
+ 327. ActDelItmSylLec Remove a item from syllabus of lectures
+ 328. ActDelItmSylPra Remove a item from syllabus of practicals
+ 329. ActUp_IteSylLec Subir the posición of a subtree of the syllabus of lectures
+ 330. ActUp_IteSylPra Subir the posición of a subtree of the syllabus of practicals
+ 331. ActDwnIteSylLec Bajar the posición of a subtree of the syllabus of lectures
+ 332. ActDwnIteSylPra Bajar the posición of a subtree of the syllabus of practicals
+ 333. ActRgtIteSylLec Aumentar the level of a item of the syllabus of lectures
+ 334. ActRgtIteSylPra Aumentar the level of a item of the syllabus of practicals
+ 335. ActLftIteSylLec Disminuir the level of a item of the syllabus of lectures
+ 336. ActLftIteSylPra Disminuir the level of a item of the syllabus of practicals
+ 337. ActInsIteSylLec Insertar a new item in the syllabus of lectures
+ 338. ActInsIteSylPra Insertar a new item in the syllabus of practicals
+ 339. ActModIteSylLec Modify a item of the syllabus of lectures
+ 340. ActModIteSylPra Modify a item of the syllabus of practicals
- 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
+ 341. ActChgToSeeDocCrs Change to see course/group documents
- 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
+ 342. ActSeeDocCrs See the files of the documents zone of the course
+ 343. ActExpSeeDocCrs Expand a folder in course documents
+ 344. ActConSeeDocCrs Contract a folder in course documents
+ 345. ActZIPSeeDocCrs Compress a folder in course documents
+ 346. ActReqDatSeeDocCrs Ask for metadata of a file of the documents zone of the course
+ 347. ActDowSeeDocCrs Download a file in documents zone of the course
- 353. ActChgToAdmDocCrs Change to administrate course/group documents
+ 348. ActSeeDocGrp See the files of the documents zone of a group
+ 349. ActExpSeeDocGrp Expand a folder in group documents
+ 350. ActConSeeDocGrp Contract a folder in group documents
+ 351. ActZIPSeeDocGrp Compress a folder in group documents
+ 352. ActReqDatSeeDocGrp Ask for metadata of a file of the documents zone of a group
+ 353. ActDowSeeDocGrp Download a file of the documents zone of a group
- 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
+ 354. ActChgToAdmDocCrs Change to administrate course/group documents
- 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
+ 355. ActAdmDocCrs Admin the files of the documents zone of the course
+ 356. ActReqRemFilDocCrs Request removal of a file in the documents zone of the course
+ 357. ActRemFilDocCrs Remove a file in the documents zone of the course
+ 358. ActRemFolDocCrs Remove a folder empty the documents zone of the course
+ 359. ActCopDocCrs Set source of copy in the documents zone of the course
+ 360. ActPasDocCrs Paste a folder or file in the documents zone of the course
+ 361. ActRemTreDocCrs Remove a folder no empty in the documents zone of the course
+ 362. ActFrmCreDocCrs Form to crear a folder or file in the documents zone of the course
+ 363. ActCreFolDocCrs Create a new folder in the documents zone of the course
+ 364. ActCreLnkDocCrs Create a new link in the documents zone of the course
+ 365. ActRenFolDocCrs Rename a folder in the documents zone of the course
+ 366. ActRcvFilDocCrsDZ Receive a file in the documents zone of the course using Dropzone.js
+ 367. ActRcvFilDocCrsCla Receive a file in the documents zone of the course using the classic way
+ 368. ActExpAdmDocCrs Expand a folder when administrating the documents zone of the course
+ 369. ActConAdmDocCrs Contract a folder when administrating the documents zone of the course
+ 370. ActZIPAdmDocCrs Compress a folder when administrating the documents zone of the course
+ 371. ActShoDocCrs Show hidden folder or file of the documents zone
+ 372. ActHidDocCrs Hide folder or file of the documents zone
+ 373. ActReqDatAdmDocCrs Ask for metadata of a file of the documents zone
+ 374. ActChgDatAdmDocCrs Change metadata of a file of the documents zone
+ 375. ActDowAdmDocCrs Download a file of the documents zone
- 396. ActChgToAdmSha Change to administrate shared files of the course/group
+ 376. ActAdmDocGrp Admin the files of the documents zone of a group
+ 377. ActReqRemFilDocGrp Request removal of a file in the documents zone of a group
+ 378. ActRemFilDocGrp Remove a file in the documents zone of a group
+ 379. ActRemFolDocGrp Remove a folder empty in the documents zone of a group
+ 380. ActCopDocGrp Set source of copy in the documents zone of a group
+ 381. ActPasDocGrp Paste a folder or file in the documents zone of a group
+ 382. ActRemTreDocGrp Remove a folder no empty in the documents zone of a group
+ 383. ActFrmCreDocGrp Form to crear a folder or file in the documents zone of a group
+ 384. ActCreFolDocGrp Create a new folder in the documents zone of a group
+ 385. ActCreLnkDocGrp Create a new link in the documents zone of a group
+ 386. ActRenFolDocGrp Rename a folder in the documents zone of a group
+ 387. ActRcvFilDocGrpDZ Receive a file in the documents zone of a group using Dropzone.js
+ 388. ActRcvFilDocGrpCla Receive a file in the documents zone of a group using the classic way
+ 389. ActExpAdmDocGrp Expand a folder when administrating the documents zone of a group
+ 390. ActConAdmDocGrp Contract a folder when administrating the documents zone of a group
+ 391. ActZIPAdmDocGrp Compress a folder when administrating the documents zone of a group
+ 392. ActShoDocGrp Show hidden folder or file of download
+ 393. ActHidDocGrp Hide folder or file of download
+ 394. ActReqDatAdmDocGrp Ask for metadata of a file of the documents zone of a group
+ 395. ActChgDatAdmDocGrp Change metadata of a file of the documents zone of a group
+ 396. ActDowAdmDocGrp Download a file of the documents zone of a 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
+ 397. ActChgToAdmTch Change to administrate teachers' files of the course/group
- 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
+ 398. ActAdmTchCrs Admin the teachers' files zone of the course
+ 399. ActReqRemFilTchCrs Request removal of a teachers' file of the course
+ 400. ActRemFilTchCrs Remove a teachers' file of the course
+ 401. ActRemFolTchCrs Remove an empty teachers' folder of the course
+ 402. ActCopTchCrs Set source of teachers' zone of the course
+ 403. ActPasTchCrs Paste a folder or file in teachers' zone of the course
+ 404. ActRemTreTchCrs Remove a folder no empty of teachers' zone of the course
+ 405. ActFrmCreTchCrs Form to crear a folder or file in teachers' zone of the course
+ 406. ActCreFolTchCrs Create a new folder in teachers' zone of the course
+ 407. ActCreLnkTchCrs Create a new link in teachers' zone of the course
+ 408. ActRenFolTchCrs Rename a folder in teachers' zone of the course
+ 409. ActRcvFilTchCrsDZ Receive a file in teachers' zone of the course using Dropzone.js
+ 410. ActRcvFilTchCrsCla Receive a file in teachers' zone of the course using the classic way
+ 411. ActExpTchCrs Expand a folder in teachers' zone of the course
+ 412. ActConTchCrs Contract a folder in teachers' zone of the course
+ 413. ActZIPTchCrs Compress a folder in teachers' zone of the course
+ 414. ActReqDatTchCrs Ask for metadata of a file of the teachers' zone of the course
+ 415. ActChgDatTchCrs Change metadata of a file of the teachers' zone of the course
+ 416. ActDowTchCrs Download a file of the teachers' zone of the course
- 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
+ 417. ActAdmTchGrp Admin the teachers' files zone of a group
+ 418. ActReqRemFilTchGrp Request removal of a teachers' file of a group
+ 419. ActRemFilTchGrp Remove a teachers' file of a group
+ 420. ActRemFolTchGrp Remove an empty teachers' folder of a group
+ 421. ActCopTchGrp Set source of copy in teachers' zone of a group
+ 422. ActPasTchGrp Paste a folder or file in teachers' zone of a group
+ 423. ActRemTreTchGrp Remove a folder no empty of teachers' zone of a group
+ 424. ActFrmCreTchGrp Form to crear a folder or file in teachers' zone of a group
+ 425. ActCreFolTchGrp Create a new folder in teachers' zone of a group
+ 426. ActCreLnkTchGrp Create a new link in teachers' zone of a group
+ 427. ActRenFolTchGrp Rename a folder in teachers' zone of a group
+ 428. ActRcvFilTchGrpDZ Receive a file in teachers' zone of a group using Dropzone.js
+ 429. ActRcvFilTchGrpCla Receive a file in teachers' zone of a group using the classic way
+ 430. ActExpTchGrp Expand a folder in teachers' zone of a group
+ 431. ActConTchGrp Contract a folder in teachers' zone of a group
+ 432. ActZIPTchGrp Compress a folder in teachers' zone of a group
+ 433. ActReqDatTchGrp Ask for metadata of a file of the teachers' zone of a group
+ 434. ActChgDatTchGrp Change metadata of a file of the teachers' zone of a group
+ 435. ActDowTchGrp Download a file of the teachers' zone of a group
+
+ 436. ActChgToAdmSha Change to administrate shared files of the course/group
+
+ 437. ActAdmShaCrs Admin the shared files zone of the course
+ 438. ActReqRemFilShaCrs Request removal of a shared file of the course
+ 439. ActRemFilShaCrs Remove a shared file of the course
+ 440. ActRemFolShaCrs Remove a empty shared folder of the course
+ 441. ActCopShaCrs Set source of copy in shared zone of the course
+ 442. ActPasShaCrs Paste a folder or file in shared zone of the course
+ 443. ActRemTreShaCrs Remove a folder no empty of shared zone of the course
+ 444. ActFrmCreShaCrs Form to crear a folder or file in shared zone of the course
+ 445. ActCreFolShaCrs Create a new folder in shared zone of the course
+ 446. ActCreLnkShaCrs Create a new link in shared zone of the course
+ 447. ActRenFolShaCrs Rename a folder in shared zone of the course
+ 448. ActRcvFilShaCrsDZ Receive a file in shared zone of the course using Dropzone.js
+ 449. ActRcvFilShaCrsCla Receive a file in shared zone of the course using the classic way
+ 450. ActExpShaCrs Expand a folder in shared zone of the course
+ 451. ActConShaCrs Contract a folder in shared zone of the course
+ 452. ActZIPShaCrs Compress a folder in shared zone of the course
+ 453. ActReqDatShaCrs Ask for metadata of a file of the shared zone of the course
+ 454. ActChgDatShaCrs Change metadata of a file of the shared zone of the course
+ 455. ActDowShaCrs Download a file of the shared zone of the course
+
+ 456. ActAdmShaGrp Admin the shared files zone of a group
+ 457. ActReqRemFilShaGrp Request removal of a shared file of a group
+ 458. ActRemFilShaGrp Remove a shared file of a group
+ 459. ActRemFolShaGrp Remove a folder empty común of a group
+ 460. ActCopShaGrp Set source of copy in shared zone of a group
+ 461. ActPasShaGrp Paste a folder or file in shared zone of a group
+ 462. ActRemTreShaGrp Remove a folder no empty of shared zone of a group
+ 463. ActFrmCreShaGrp Form to crear a folder or file in shared zone of a group
+ 464. ActCreFolShaGrp Create a new folder in shared zone of a group
+ 465. ActCreLnkShaGrp Create a new link in shared zone of a group
+ 466. ActRenFolShaGrp Rename a folder in shared zone of a group
+ 467. ActRcvFilShaGrpDZ Receive a file in shared zone of a group using Dropzone.js
+ 468. ActRcvFilShaGrpCla Receive a file in shared zone of a group using the classic way
+ 469. ActExpShaGrp Expand a folder in shared zone of a group
+ 470. ActConShaGrp Contract a folder in shared zone of a group
+ 471. ActZIPShaGrp Compress a folder in shared zone of a group
+ 472. ActReqDatShaGrp Ask for metadata of a file of the shared zone of a group
+ 473. ActChgDatShaGrp Change metadata of a file of the shared zone of a group
+ 474. ActDowShaGrp Download a file of the shared zone of a group
+
+ 475. ActEdiBib Edit the bibliography
+ 476. ActEdiFAQ Edit the FAQ
+ 477. ActEdiCrsLnk Edit the links relacionados with the course
+ 478. ActChgFrcReaCrsInf Change force students to read course info
+ 479. ActChgFrcReaTchGui Change force students to read teaching guide
+ 480. ActChgFrcReaSylLec Change force students to read lectures syllabus
+ 481. ActChgFrcReaSylPra Change force students to read practicals syllabus
+ 482. ActChgFrcReaBib Change force students to read bibliography
+ 483. ActChgFrcReaFAQ Change force students to read FAQ
+ 484. ActChgFrcReaCrsLnk Change force students to read links
+ 485. ActChgHavReaCrsInf Change if I have read course info
+ 486. ActChgHavReaTchGui Change if I have read teaching guide
+ 487. ActChgHavReaSylLec Change if I have read lectures syllabus
+ 488. ActChgHavReaSylPra Change if I have read practicals syllabus
+ 489. ActChgHavReaBib Change if I have read bibliography
+ 490. ActChgHavReaFAQ Change if I have read FAQ
+ 491. ActChgHavReaCrsLnk Change if I have read links
+ 492. ActSelInfSrcCrsInf Select the type of info shown in the general information about the course
+ 493. ActSelInfSrcTchGui Select the type of info shown in the teaching guide
+ 494. ActSelInfSrcSylLec Select the type of info shown in the lectures syllabus
+ 495. ActSelInfSrcSylPra Select the type of info shown in the practicals syllabus
+ 496. ActSelInfSrcBib Select the type of info shown in the bibliography
+ 497. ActSelInfSrcFAQ Select the type of info shown in the FAQ
+ 498. ActSelInfSrcCrsLnk Select the type of info shown in the links
+ 499. ActRcvURLCrsInf Receive a link a the general information about the course
+ 500. ActRcvURLTchGui Receive a link a the teaching guide
+ 501. ActRcvURLSylLec Receive a link al syllabus of lectures
+ 502. ActRcvURLSylPra Receive a link al syllabus of practicals
+ 503. ActRcvURLBib Receive a link a bibliography
+ 504. ActRcvURLFAQ Receive a link a FAQ
+ 505. ActRcvURLCrsLnk Receive a link a links
+ 506. ActRcvPagCrsInf Receive a page with the general information about the course
+ 507. ActRcvPagTchGui Receive a page with the teaching guide
+ 508. ActRcvPagSylLec Receive a page with the syllabus of lectures
+ 509. ActRcvPagSylPra Receive a page with the syllabus of practicals
+ 510. ActRcvPagBib Receive a page with bibliography
+ 511. ActRcvPagFAQ Receive a page with FAQ
+ 512. ActRcvPagCrsLnk Receive a page with links
+ 513. ActEditorCrsInf Integrated editor of the general information about the course
+ 514. ActEditorTchGui Integrated editor of the teaching guide
+ 515. ActEditorSylLec Integrated editor of the syllabus of lectures
+ 516. ActEditorSylPra Integrated editor of the syllabus of practicals
+ 517. ActEditorBib Integrated editor of bibliography
+ 518. ActEditorFAQ Integrated editor of FAQ
+ 519. ActEditorCrsLnk Integrated editor of links
+ 520. ActPlaTxtEdiCrsInf Editor of plain text of the general information about the course
+ 521. ActPlaTxtEdiTchGui Editor of plain text of the teaching guide
+ 522. ActPlaTxtEdiSylLec Editor of plain text of the syllabus of lectures
+ 523. ActPlaTxtEdiSylPra Editor of plain text of the syllabus of practicals
+ 524. ActPlaTxtEdiBib Editor of plain text of the bibliography
+ 525. ActPlaTxtEdiFAQ Editor of plain text of the FAQ
+ 526. ActPlaTxtEdiCrsLnk Editor of plain text of the links
+ 527. ActRchTxtEdiCrsInf Editor of plain text of the general information about the course
+ 528. ActRchTxtEdiTchGui Editor of plain text of the teaching guide
+ 529. ActRchTxtEdiSylLec Editor of plain text of the syllabus of lectures
+ 530. ActRchTxtEdiSylPra Editor of plain text of the syllabus of practicals
+ 531. ActRchTxtEdiBib Editor of plain text of the bibliography
+ 532. ActRchTxtEdiFAQ Editor of plain text of the FAQ
+ 533. ActRchTxtEdiCrsLnk Editor of plain text of the links
+ 534. ActRcvPlaTxtCrsInf Receive and change the plain text of the general information about the course
+ 535. ActRcvPlaTxtTchGui Receive and change the plain text of the teaching guide
+ 536. ActRcvPlaTxtSylLec Receive and change the plain text of the syllabus of lectures
+ 537. ActRcvPlaTxtSylPra Receive and change the plain text of the syllabus of practicals
+ 538. ActRcvPlaTxtBib Receive and change the plain text of the bibliography
+ 539. ActRcvPlaTxtFAQ Receive and change the plain text of the FAQ
+ 540. ActRcvPlaTxtCrsLnk Receive and change the plain text of the links
+ 541. ActRcvPlaTxtCrsInf Receive and change the rich text of the general information about the course
+ 542. ActRcvPlaTxtTchGui Receive and change the rich text of the teaching guide
+ 543. ActRcvPlaTxtSylLec Receive and change the rich text of the syllabus of lectures
+ 544. ActRcvPlaTxtSylPra Receive and change the rich text of the syllabus of practicals
+ 545. ActRcvPlaTxtBib Receive and change the rich text of the bibliography
+ 546. ActRcvPlaTxtFAQ Receive and change the rich text of the FAQ
+ 547. 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)
+ 548. ActSeeAss Show the assessment system
+ 549. ActSeeAsg Show assignments
+ 550. ActAdmAsgWrkUsr One user sends works of the course
+ 551. ActReqAsgWrkCrs A teacher requests edition of works sent to the course
+ 552. ActReqTst Request a test of self-assesment
+ 553. ActSeeCal Show the academic calendar of the course with exam announcements
+ 554. ActSeeExaAnn Show the exam announcements
+ 555. 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. ActReqRemTstQst Request removing a self-assesment test question
- 618. ActRemTstQst Remove a self-assesment test question
- 619. ActCfgTst Request renaming of tags of questions of self-assesment
- 620. ActEnableTag Enable a tag
- 621. ActDisableTag Disable a tag
- 622. ActRenTag Rename a tag
- 623. ActRcvCfgTst Receive configuration of test
- 624. ActReqSeeMyTstExa Select range of dates to see my results of test exams
- 625. ActSeeMyTstExa Show my test results
- 626. ActReqSeeUsrTstExa Select users and range of dates to see results of test exams
- 627. ActSeeUsrTstExa Show test results of several users
- 628. ActSeeOneTstExaMe Show one test exam of me as student
- 629. ActSeeOneTstExaOth Show one test exam of other user
+ 556. ActEdiAss Edit the assessment system
+ 557. ActChgFrcReaAss Change force students to read assessment system
+ 558. ActChgHavReaAss Change if I have read assessment system
+ 559. ActSelInfSrcAss Selec. type of assessment
+ 560. ActRcvURLAss Receive a link a assessment
+ 561. ActRcvPagAss Receive a page with assessment
+ 562. ActEditorAss Integrated editor of assessment
+ 563. ActPlaTxtEdiAss Editor of plain text of assessment
+ 564. ActRchTxtEdiAss Editor of rich text of assessment
+ 565. ActRcvPlaTxtAss Receive and change the plain text of the assessment system
+ 566. ActRcvRchTxtAss Receive and change the rich text of the assessment system
+ 567. ActFrmNewAsg Form to create a new assignment
+ 568. ActEdiOneAsg Edit one assignment
+ 569. ActNewAsg Create new assignment
+ 570. ActChgAsg Modify data of an existing assignment
+ 571. ActReqRemAsg Request the removal of an assignment
+ 572. ActRemAsg Remove assignment
+ 573. ActHidAsg Hide assignment
+ 574. ActShoAsg Show assignment
+ 575. ActAdmAsgWrkCrs Edit all the works sent to the course
+ 576. ActReqRemFilAsgUsr Request removal of a file of assignments from a user
+ 577. ActRemFilAsgUsr Remove a file of assignments from a user
+ 578. ActRemFolAsgUsr Remove an empty folder of assignments of a user
+ 579. ActCopAsgUsr Set origin of copy in assignments of a user
+ 580. ActPasAsgUsr Paste a file or folder of assignments of a user
+ 581. ActRemTreAsgUsr Remove a not empty folder of assignments of a user
+ 582. ActFrmCreAsgUsr Form to create a new folder or file of assignments of a user
+ 583. ActCreFolAsgUsr Create a new folder of assignments of a user
+ 584. ActCreLnkAsgUsr Create a new link of assignments of a user
+ 585. ActRenFolAsgUsr Rename a folder of assignments of a user
+ 586. ActRcvFilAsgUsrDZ Receive a new file of assignments of a user using Dropzone.js
+ 587. ActRcvFilAsgUsrCla Receive a new file of assignments of a user using the classic way
+ 588. ActExpAsgUsr Expand a folder of assignments of a user
+ 589. ActConAsgUsr Contract a folder of assignments of a user
+ 590. ActZIPAsgUsr Compress a folder of assignments of a user
+ 591. ActReqDatAsgUsr Ask for metadata of a file of assignments of a user
+ 592. ActChgDatAsgUsr Change metadata of a file of assignments of a user
+ 593. ActDowAsgUsr Download a file of assignments of a user
+ 594. ActReqRemFilWrkUsr Request removal of a file of works from a user
+ 595. ActRemFilWrkUsr Remove a file of works from a user
+ 596. ActRemFolWrkUsr Remove an empty folder of works of a user
+ 597. ActCopWrkUsr Set origin of copy in works of a user
+ 598. ActPasWrkUsr Paste a file or folder of works of a user
+ 599. ActRemTreWrkUsr Remove a not empty folder of works of a user
+ 600. ActFrmCreWrkUsr Form to create a new folder or file of works of a user
+ 601. ActCreFolWrkUsr Create a new folder of works of a user
+ 602. ActCreLnkWrkUsr Create a new link of works of a user
+ 603. ActRenFolWrkUsr Rename a folder of works of a user
+ 604. ActRcvFilWrkUsrDZ Receive a new file of works of a user using Dropzone.js
+ 605. ActRcvFilWrkUsrCla Receive a new file of works of a user using the classic way
+ 606. ActExpWrkUsr Expand a folder of works of a user
+ 607. ActConWrkUsr Contract a folder of works of a user
+ 608. ActZIPWrkUsr Compress a folder of works of a user
+ 609. ActReqDatWrkUsr Ask for metadata of a file of works of a user
+ 610. ActChgDatWrkUsr Change metadata of a file of works of a user
+ 611. ActDowWrkUsr Download a file of works of a user
+ 612. ActReqRemFilAsgCrs Request removal of a file of assignments in the course
+ 613. ActRemFilAsgCrs Remove a file of assignments in the course
+ 614. ActRemFolAsgCrs Remove an empty folder of assignments in the course
+ 615. ActCopAsgCrs Set origin of copy in assignments in the course
+ 616. ActPasAsgCrs Paste a file or folder of assignments in the course
+ 617. ActRemTreAsgCrs Remove a not empty folder of assignments in the course
+ 618. ActFrmCreAsgCrs Form to create a new folder or file of assignments in the course
+ 619. ActCreFolAsgCrs Create a new folder of assignments in the course
+ 620. ActCreLnkAsgCrs Create a new link of assignments in the course
+ 621. ActRenFolAsgCrs Rename a folder of assignments in the course
+ 622. ActRcvFilAsgCrsDZ Receive a file of assignments in the course using Dropzone.js
+ 623. ActRcvFilAsgCrsCla Receive a file of assignments in the course using the classic way
+ 624. ActExpAsgCrs Expand a folder of assignments in a course
+ 625. ActConAsgCrs Contract a folder of assignments in a course
+ 626. ActZIPAsgCrs Compress a folder of assignments in a course
+ 627. ActReqDatAsgCrs Ask for metadata of a file of assignments in a course
+ 628. ActChgDatAsgCrs Change metadata of a file of assignments in a course
+ 629. ActDowAsgCrs Download a file of assignments in a course
+ 630. ActReqRemFilWrkCrs Request removal of a file of works in the course
+ 631. ActRemFilWrkCrs Remove a file of works in the course
+ 632. ActRemFolWrkCrs Remove an empty folder of works in the course
+ 633. ActCopWrkCrs Set origin of copy in works in the course
+ 634. ActPasWrkCrs Paste a file or folder of works in the course
+ 635. ActRemTreWrkCrs Remove a not empty folder of works in the course
+ 636. ActFrmCreWrkCrs Form to create a new folder or file of works in the course
+ 637. ActCreFolWrkCrs Create a new folder of works in the course
+ 638. ActCreLnkWrkCrs Create a new link of works in the course
+ 639. ActRenFolWrkCrs Rename a folder of works in the course
+ 640. ActRcvFilWrkCrsDZ Receive a file of works in the course using Dropzone.js
+ 641. ActRcvFilWrkCrsCla Receive a file of works in the course using the classic way
+ 642. ActExpWrkCrs Expand a folder of works in a course
+ 643. ActConWrkCrs Contract a folder of works in a course
+ 644. ActZIPWrkCrs Compress a folder of works in a course
+ 645. ActReqDatWrkCrs Ask for metadata of a file of works in a course
+ 646. ActChgDatWrkCrs Change metadata of a file of works in a course
+ 647. ActDowWrkCrs Download a file of works in a course
+ 648. ActSeeTst Show the seft-assessment test
+ 649. ActAssTst Assess a self-assessment test
+ 650. ActEdiTstQst Request the edition of self-assessment questions
+ 651. ActEdiOneTstQst Edit one self-assesment test question
+ 652. ActReqImpTstQst Put form to ask for an XML with test questions to import
+ 653. ActImpTstQst Import test questions from XML file
+ 654. ActLstTstQst List for edition several self-assessment test questions
+ 655. ActRcvTstQst Receive a question of self-assessment
+ 656. ActShfTstQst Change shuffle of of a question of self-assessment
+ 657. ActReqRemTstQst Request removing a self-assesment test question
+ 658. ActRemTstQst Remove a self-assesment test question
+ 659. ActCfgTst Request renaming of tags of questions of self-assesment
+ 660. ActEnableTag Enable a tag
+ 661. ActDisableTag Disable a tag
+ 662. ActRenTag Rename a tag
+ 663. ActRcvCfgTst Receive configuration of test
+ 664. ActReqSeeMyTstExa Select range of dates to see my results of test exams
+ 665. ActSeeMyTstExa Show my test results
+ 666. ActReqSeeUsrTstExa Select users and range of dates to see results of test exams
+ 667. ActSeeUsrTstExa Show test results of several users
+ 668. ActSeeOneTstExaMe Show one test exam of me as student
+ 669. ActSeeOneTstExaOth Show one test exam of other user
- 630. ActPrnCal Show print view of the academic calendar of the course
- 631. ActChgCal1stDay Change first day of week and show academic calendar of the course
+ 670. ActPrnCal Show print view of the academic calendar of the course
+ 671. ActChgCal1stDay Change first day of week and show academic calendar of the course
- 632. ActEdiExaAnn Edit an exam announcement
- 633. ActRcvExaAnn Receive an exam announcement
- 634. ActPrnExaAnn Show an exam announcement ready to be printed
- 635. ActRemExaAnn Remove an exam announcement
+ 672. ActEdiExaAnn Edit an exam announcement
+ 673. ActRcvExaAnn Receive an exam announcement
+ 674. ActPrnExaAnn Show an exam announcement ready to be printed
+ 675. ActRemExaAnn Remove an exam announcement
- 636. ActChgToSeeMrk Change to see marks in course/group
+ 676. ActChgToSeeMrk Change to see marks in course/group
- 637. ActSeeMrkCrs See marks in course
- 638. ActExpSeeMrkCrs Expand a folder in marks in course
- 639. ActConSeeMrkCrs Contract a folder in marks in course
- 640. ActReqDatSeeMrkCrs Ask for metadata of a file of the marks zone of the course
- 641. ActSeeMyMrkCrs Individualized access to marks in course
+ 677. ActSeeMrkCrs See marks in course
+ 678. ActExpSeeMrkCrs Expand a folder in marks in course
+ 679. ActConSeeMrkCrs Contract a folder in marks in course
+ 680. ActReqDatSeeMrkCrs Ask for metadata of a file of the marks zone of the course
+ 681. ActSeeMyMrkCrs Individualized access to marks in course
- 642. ActSeeMrkGrp See marks in group
- 643. ActExpSeeMrkGrp Expand a folder in marks in group
- 644. ActConSeeMrkGrp Contract a folder in marks in group
- 645. ActReqDatSeeMrkGrp Ask for metadata of a file of the marks zone of a group
- 646. ActSeeMyMrkGrp Individualized access to marks in group
+ 682. ActSeeMrkGrp See marks in group
+ 683. ActExpSeeMrkGrp Expand a folder in marks in group
+ 684. ActConSeeMrkGrp Contract a folder in marks in group
+ 685. ActReqDatSeeMrkGrp Ask for metadata of a file of the marks zone of a group
+ 686. ActSeeMyMrkGrp Individualized access to marks in group
- 647. ActChgToAdmMrk Change to admin marks in course/group
+ 687. ActChgToAdmMrk Change to admin marks in course/group
- 648. ActAdmMrkCrs Admin the files of the zone of marks in course
- 649. ActReqRemFilMrkCrs Request removal of a file of marks in course
- 650. ActRemFilMrkCrs Remove a file of marks in course
- 651. ActRemFolMrkCrs Remove a folder empty of marks in course
- 652. ActCopMrkCrs Set source of copy in marks in course
- 653. ActPasMrkCrs Paste a folder or file in marks in course
- 654. ActRemTreMrkCrs Remove a folder no empty of marks in course
- 655. ActFrmCreMrkCrs Form to crear a folder or file in marks in course
- 656. ActCreFolMrkCrs Create a new folder in marks in course
- 657. ActRenFolMrkCrs Rename a folder in marks in course
- 658. ActRcvFilMrkCrsDZ Receive a file of marks in course using Dropzone.js
- 659. ActRcvFilMrkCrsCla Receive a file of marks in course using the classic way
- 660. ActExpAdmMrkCrs Expand a folder in marks administration in course
- 661. ActConAdmMrkCrs Contract a folder in marks administration in course
- 662. ActZIPAdmMrkCrs Compress a folder in marks administration in course
- 663. ActShoMrkCrs Show hidden folder or file of the marks administration in course
- 664. ActHidMrkCrs Hide folder or file of the marks administration in course
- 665. ActReqDatAdmMrkCrs Ask for metadata of a file in marks administration in course
- 666. ActChgDatAdmMrkCrs Change metadata of a file in marks administration in course
- 667. ActDowAdmMrkCrs Download a file in marks administration in course
- 668. ActChgNumRowHeaCrs Change the number of rows of cabecera of a file of marks in course
- 669. ActChgNumRowFooCrs Change the number of rows of pie of a file of marks in course
+ 688. ActAdmMrkCrs Admin the files of the zone of marks in course
+ 689. ActReqRemFilMrkCrs Request removal of a file of marks in course
+ 690. ActRemFilMrkCrs Remove a file of marks in course
+ 691. ActRemFolMrkCrs Remove a folder empty of marks in course
+ 692. ActCopMrkCrs Set source of copy in marks in course
+ 693. ActPasMrkCrs Paste a folder or file in marks in course
+ 694. ActRemTreMrkCrs Remove a folder no empty of marks in course
+ 695. ActFrmCreMrkCrs Form to crear a folder or file in marks in course
+ 696. ActCreFolMrkCrs Create a new folder in marks in course
+ 697. ActRenFolMrkCrs Rename a folder in marks in course
+ 698. ActRcvFilMrkCrsDZ Receive a file of marks in course using Dropzone.js
+ 699. ActRcvFilMrkCrsCla Receive a file of marks in course using the classic way
+ 700. ActExpAdmMrkCrs Expand a folder in marks administration in course
+ 701. ActConAdmMrkCrs Contract a folder in marks administration in course
+ 702. ActZIPAdmMrkCrs Compress a folder in marks administration in course
+ 703. ActShoMrkCrs Show hidden folder or file of the marks administration in course
+ 704. ActHidMrkCrs Hide folder or file of the marks administration in course
+ 705. ActReqDatAdmMrkCrs Ask for metadata of a file in marks administration in course
+ 706. ActChgDatAdmMrkCrs Change metadata of a file in marks administration in course
+ 707. ActDowAdmMrkCrs Download a file in marks administration in course
+ 708. ActChgNumRowHeaCrs Change the number of rows of cabecera of a file of marks in course
+ 709. ActChgNumRowFooCrs Change the number of rows of pie of a file of marks in course
- 670. ActAdmMrkGrp Admin the files of the zone of marks in group
- 671. ActReqRemFilMrkGrp Request removal of a file of marks in group
- 672. ActRemFilMrkGrp Remove a file of marks in group
- 673. ActRemFolMrkGrp Remove a folder empty of marks in group
- 674. ActCopMrkGrp Set source of copy in marks in group
- 675. ActPasMrkGrp Paste a folder or file in marks in group
- 676. ActRemTreMrkGrp Remove a folder no empty of marks in group
- 677. ActFrmCreMrkGrp Form to crear a folder or file in marks in group
- 678. ActCreFolMrkGrp Create a new folder in marks in group
- 679. ActRenFolMrkGrp Rename a folder in marks in group
- 680. ActRcvFilMrkGrpDZ Receive a file to marks in group using Dropzone.js
- 681. ActRcvFilMrkGrpCla Receive a file to marks in group using the classic way
- 682. ActExpAdmMrkGrp Expand a folder in marks administration in group
- 683. ActConAdmMrkGrp Contract a folder in marks administration in group
- 684. ActZIPAdmMrkGrp Compress a folder in marks administration in group
- 685. ActShoMrkGrp Show hidden folder or file of the marks administration in group
- 686. ActHidMrkGrp Hide folder or file of the marks administration in group
- 687. ActReqDatAdmMrkGrp Ask for metadata of a file in marks administration in group
- 688. ActChgDatAdmMrkGrp Change metadata of a file in marks administration in group
- 689. ActDowAdmMrkGrp Download a file in marks administration in group
- 690. ActChgNumRowHeaGrp Change the number of rows of cabecera of a file of marks in group
- 691. ActChgNumRowFooGrp Change the number of rows of pie of a file of marks in group
+ 710. ActAdmMrkGrp Admin the files of the zone of marks in group
+ 711. ActReqRemFilMrkGrp Request removal of a file of marks in group
+ 712. ActRemFilMrkGrp Remove a file of marks in group
+ 713. ActRemFolMrkGrp Remove a folder empty of marks in group
+ 714. ActCopMrkGrp Set source of copy in marks in group
+ 715. ActPasMrkGrp Paste a folder or file in marks in group
+ 716. ActRemTreMrkGrp Remove a folder no empty of marks in group
+ 717. ActFrmCreMrkGrp Form to crear a folder or file in marks in group
+ 718. ActCreFolMrkGrp Create a new folder in marks in group
+ 719. ActRenFolMrkGrp Rename a folder in marks in group
+ 720. ActRcvFilMrkGrpDZ Receive a file to marks in group using Dropzone.js
+ 721. ActRcvFilMrkGrpCla Receive a file to marks in group using the classic way
+ 722. ActExpAdmMrkGrp Expand a folder in marks administration in group
+ 723. ActConAdmMrkGrp Contract a folder in marks administration in group
+ 724. ActZIPAdmMrkGrp Compress a folder in marks administration in group
+ 725. ActShoMrkGrp Show hidden folder or file of the marks administration in group
+ 726. ActHidMrkGrp Hide folder or file of the marks administration in group
+ 727. ActReqDatAdmMrkGrp Ask for metadata of a file in marks administration in group
+ 728. ActChgDatAdmMrkGrp Change metadata of a file in marks administration in group
+ 729. ActDowAdmMrkGrp Download a file in marks administration in group
+ 730. ActChgNumRowHeaGrp Change the number of rows of cabecera of a file of marks in group
+ 731. ActChgNumRowFooGrp Change the number of rows of pie of a file of marks in group
Users:
- 692. ActReqSelGrp Request the selection of groups of students
- 693. ActLstStd Show class photo or list of students
- 694. ActLstTch Show class photo or list of teachers
- 695. ActLstOth Show class photo or list of guests
- 696. ActSeeAtt Show attendance events
- 697. ActReqSignUp Apply for my enrollment
- 698. ActSeeSignUpReq Show pending requests for inscription in the current course
- 699. ActLstCon List connected users
+ 732. ActReqSelGrp Request the selection of groups of students
+ 733. ActLstStd Show class photo or list of students
+ 734. ActLstTch Show class photo or list of teachers
+ 735. ActLstOth Show class photo or list of guests
+ 736. ActSeeAtt Show attendance events
+ 737. ActReqSignUp Apply for my enrollment
+ 738. ActSeeSignUpReq Show pending requests for inscription in the current course
+ 739. 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
+ 740. ActChgGrp Change my groups
+ 741. ActReqEdiGrp Request the edition of groups
+ 742. ActNewGrpTyp Request the creation of a type of group of students
+ 743. ActReqRemGrpTyp Request the removal of a type of group of students
+ 744. ActRemGrpTyp Remove a type of group of students
+ 745. ActRenGrpTyp Request renaming of a type of group of students
+ 746. ActChgMdtGrpTyp Request change if it is mandatory to register in groups of a type
+ 747. ActChgMulGrpTyp Request change if it is possible to register in multiple groups of a type
+ 748. ActChgTimGrpTyp Request change when the groups of a type will be open
+ 749. ActNewGrp Request the creation of a group of students
+ 750. ActReqRemGrp Request the removal of a group of students
+ 751. ActRemGrp Remove a group of students
+ 752. ActOpeGrp Abrir a group of students
+ 753. ActCloGrp Cerrar a group of students
+ 754. ActEnaFilZonGrp Enable zonas of files of a group
+ 755. ActDisFilZonGrp Disable zonas of files of a group
+ 756. ActChgGrpTyp Request change in the type of group of students
+ 757. ActRenGrp Request renaming of a group of students
+ 758. ActChgMaxStdGrp Request change in the number máximo of students of a group
- 719. ActGetExtLstStd Get external lists of students
+ 759. ActGetExtLstStd Get external lists of students
- 720. ActLstGst List main data of administrators
+ 760. 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
+ 761. ActPrnGstPho Show the class photo of guests ready to be printed
+ 762. ActPrnStdPho Show the class photo of students ready to be printed
+ 763. ActPrnTchPho Show the class photo of teachers ready to be printed
+ 764. ActLstGstAll List in another window the full data of guests
+ 765. ActLstStdAll List in another window the full data of students
+ 766. 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
+ 767. ActSeeRecOneStd Show record of one selected student
+ 768. ActSeeRecOneTch Show record of one selected teacher
+ 769. ActSeeRecSevGst Show records of several selected guests
+ 770. ActSeeRecSevStd Show records of several selected students
+ 771. ActSeeRecSevTch Show records of several selected teachers
+ 772. ActPrnRecSevGst Show records of several selected guests ready to be printed
+ 773. ActPrnRecSevStd Show records of several selected students ready to be printed
+ 774. ActPrnRecSevTch Show records of several selected teachers ready to be printed
+ 775. ActRcvRecOthUsr Update record fields of a student in this course
+ 776. ActEdiRecFie Request the edition of record fields of students
+ 777. ActNewFie Request the creation of a record field
+ 778. ActReqRemFie Request the removal of record field
+ 779. ActRemFie Remove a record field
+ 780. ActRenFie Request renaming of record field
+ 781. ActChgRowFie Request change in number of lines of form of a record field
+ 782. ActChgVisFie Request change in visibility of a record field
+ 783. 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
+ 784. ActReqEnrSevStd Request the enrollment/removing of several users to / from current course
+ 785. 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
+ 786. ActReqLstStdAtt Request listing of attendance of several students to several events
+ 787. ActSeeLstMyAtt List my attendance as student to several events
+ 788. ActPrnLstMyAtt Print my attendance as student to several events
+ 789. ActSeeLstStdAtt List attendance of several students to several events
+ 790. ActPrnLstStdAtt Print attendance of several students to several events
+ 791. ActFrmNewAtt Form to create a new attendance event
+ 792. ActEdiOneAtt Edit one attendance event
+ 793. ActNewAtt Create new attendance event
+ 794. ActChgAtt Modify data of an existing attendance event
+ 795. ActReqRemAtt Request the removal of an attendance event
+ 796. ActRemAtt Remove attendance event
+ 797. ActHidAtt Hide attendance event
+ 798. ActShoAtt Show attendance event
+ 799. ActSeeOneAtt List students who attended to an event
+ 800. ActRecAttStd Save students who attended to an event and comments
+ 801. ActRecAttMe Save my comments as student in an attendance event
- 762. ActSignUp Apply for my enrollment
- 763. ActUpdSignUpReq Update pending requests for inscription in the current course
- 764. ActReqRejSignUp Ask if reject the enrollment of a user in a course
- 765. ActRejSignUp Reject the enrollment of a user in a course
+ 802. ActSignUp Apply for my enrollment
+ 803. ActUpdSignUpReq Update pending requests for inscription in the current course
+ 804. ActReqRejSignUp Ask if reject the enrollment of a user in a course
+ 805. ActRejSignUp Reject the enrollment of a user in a course
- 766. ActReqMdfOneOth Request a user's ID for enrollment/removing
- 767. ActReqMdfOneStd Request a user's ID for enrollment/removing
- 768. ActReqMdfOneTch Request a user's ID for enrollment/removing
- 769. ActReqMdfOth Request enrollment/removing of a user
- 770. ActReqMdfStd Request enrollment/removing of a user
- 771. ActReqMdfTch Request enrollment/removing of a user
- 772. ActReqOthPho Show form to send the photo of another user
- 773. ActReqStdPho Show form to send the photo of another user
- 774. ActReqTchPho Show form to send the photo of another user
- 775. ActDetOthPho Receive other user's photo and detect faces on it
- 776. ActDetStdPho Receive other user's photo and detect faces on it
- 777. ActDetTchPho Receive other user's photo and detect faces on it
- 778. ActUpdOthPho Update other user's photo
- 779. ActUpdStdPho Update other user's photo
- 780. ActUpdTchPho Update other user's photo
- 781. ActRemOthPho Remove other user's photo
- 782. ActRemStdPho Remove other user's photo
- 783. ActRemTchPho Remove other user's photo
- 784. ActCreOth Create a new user
- 785. ActCreStd Create a new user
- 786. ActCreTch Create a new user
- 787. ActUpdOth Update another user's data and groups
- 788. ActUpdStd Update another user's data and groups
- 789. ActUpdTch Update another user's data and groups
- 790. ActReqAccEnrStd Confirm acceptation / refusion of enrollment as student in current course
- 791. ActReqAccEnrTch Confirm acceptation / refusion of enrollment as teacher in current course
- 792. ActAccEnrStd Accept enrollment as student in current course
- 793. ActAccEnrTch Accept enrollment as teacher in current course
- 794. ActRemMe_Std Reject enrollment as student in current course
- 795. ActRemMe_Tch Reject enrollment as teacher in current course
+ 806. ActReqMdfOneOth Request a user's ID for enrollment/removing
+ 807. ActReqMdfOneStd Request a user's ID for enrollment/removing
+ 808. ActReqMdfOneTch Request a user's ID for enrollment/removing
+ 809. ActReqMdfOth Request enrollment/removing of a user
+ 810. ActReqMdfStd Request enrollment/removing of a user
+ 811. ActReqMdfTch Request enrollment/removing of a user
+ 812. ActReqOthPho Show form to send the photo of another user
+ 813. ActReqStdPho Show form to send the photo of another user
+ 814. ActReqTchPho Show form to send the photo of another user
+ 815. ActDetOthPho Receive other user's photo and detect faces on it
+ 816. ActDetStdPho Receive other user's photo and detect faces on it
+ 817. ActDetTchPho Receive other user's photo and detect faces on it
+ 818. ActUpdOthPho Update other user's photo
+ 819. ActUpdStdPho Update other user's photo
+ 820. ActUpdTchPho Update other user's photo
+ 821. ActRemOthPho Remove other user's photo
+ 822. ActRemStdPho Remove other user's photo
+ 823. ActRemTchPho Remove other user's photo
+ 824. ActCreOth Create a new user
+ 825. ActCreStd Create a new user
+ 826. ActCreTch Create a new user
+ 827. ActUpdOth Update another user's data and groups
+ 828. ActUpdStd Update another user's data and groups
+ 829. ActUpdTch Update another user's data and groups
+ 830. ActReqAccEnrStd Confirm acceptation / refusion of enrollment as student in current course
+ 831. ActReqAccEnrTch Confirm acceptation / refusion of enrollment as teacher in current course
+ 832. ActAccEnrStd Accept enrollment as student in current course
+ 833. ActAccEnrTch Accept enrollment as teacher in current course
+ 834. ActRemMe_Std Reject enrollment as student in current course
+ 835. ActRemMe_Tch Reject enrollment as teacher in current course
- 796. ActNewAdmIns Register an administrador in this institution
- 797. ActRemAdmIns Remove an administrador of this institution
- 798. ActNewAdmCtr Register an administrador in this centre
- 799. ActRemAdmCtr Remove an administrador of this centre
- 800. ActNewAdmDeg Register an administrador in this degree
- 801. ActRemAdmDeg Remove an administrador of this degree
+ 836. ActNewAdmIns Register an administrador in this institution
+ 837. ActRemAdmIns Remove an administrador of this institution
+ 838. ActNewAdmCtr Register an administrador in this centre
+ 839. ActRemAdmCtr Remove an administrador of this centre
+ 840. ActNewAdmDeg Register an administrador in this degree
+ 841. ActRemAdmDeg Remove an administrador of this degree
- 802. ActRcvFrmEnrSevStd Receive a form with IDs of users to be registeres/removed to/from current course
- 803. ActRcvFrmEnrSevTch Receive a form with IDs of users to be registeres/removed to/from current course
+ 842. ActRcvFrmEnrSevStd Receive a form with IDs of users to be registeres/removed to/from current course
+ 843. ActRcvFrmEnrSevTch Receive a form with IDs of users to be registeres/removed to/from current course
- 804. ActFrmIDsOth Show form to the change of the IDs of another user
- 805. ActFrmIDsStd Show form to the change of the IDs of another user
- 806. ActFrmIDsTch Show form to the change of the IDs of another user
- 807. ActRemID_Oth Remove one of the IDs of another user
- 808. ActRemID_Std Remove one of the IDs of another user
- 809. ActRemID_Tch Remove one of the IDs of another user
- 810. ActNewID_Oth Create a new user's ID for another user
- 811. ActNewID_Std Create a new user's ID for another user
- 812. ActNewID_Tch Create a new user's ID for another user
+ 844. ActFrmIDsOth Show form to the change of the IDs of another user
+ 845. ActFrmIDsStd Show form to the change of the IDs of another user
+ 846. ActFrmIDsTch Show form to the change of the IDs of another user
+ 847. ActRemID_Oth Remove one of the IDs of another user
+ 848. ActRemID_Std Remove one of the IDs of another user
+ 849. ActRemID_Tch Remove one of the IDs of another user
+ 850. ActNewID_Oth Create a new user's ID for another user
+ 851. ActNewID_Std Create a new user's ID for another user
+ 852. ActNewID_Tch Create a new user's ID for another user
- 813. ActFrmPwdOth Show form to change the password of another user
- 814. ActFrmPwdStd Show form to change the password of another user
- 815. ActFrmPwdTch Show form to change the password of another user
- 816. ActChgPwdOth Change the password of another user
- 817. ActChgPwdStd Change the password of another user
- 818. ActChgPwdTch Change the password of another user
+ 853. ActFrmPwdOth Show form to change the password of another user
+ 854. ActFrmPwdStd Show form to change the password of another user
+ 855. ActFrmPwdTch Show form to change the password of another user
+ 856. ActChgPwdOth Change the password of another user
+ 857. ActChgPwdStd Change the password of another user
+ 858. ActChgPwdTch Change the password of another user
- 819. ActFrmMaiOth Show form to the change of the e-mail of another user
- 820. ActFrmMaiStd Show form to the change of the e-mail of another user
- 821. ActFrmMaiTch Show form to the change of the e-mail of another user
- 822. ActRemMaiOth Remove one of the e-mail of another user
- 823. ActRemMaiStd Remove one of the e-mail of another user
- 824. ActRemMaiTch Remove one of the e-mail of another user
- 825. ActNewMaiOth Create a new user's e-mail for another user
- 826. ActNewMaiStd Create a new user's e-mail for another user
- 827. ActNewMaiTch Create a new user's e-mail for another user
+ 859. ActFrmMaiOth Show form to the change of the e-mail of another user
+ 860. ActFrmMaiStd Show form to the change of the e-mail of another user
+ 861. ActFrmMaiTch Show form to the change of the e-mail of another user
+ 862. ActRemMaiOth Remove one of the e-mail of another user
+ 863. ActRemMaiStd Remove one of the e-mail of another user
+ 864. ActRemMaiTch Remove one of the e-mail of another user
+ 865. ActNewMaiOth Create a new user's e-mail for another user
+ 866. ActNewMaiStd Create a new user's e-mail for another user
+ 867. ActNewMaiTch Create a new user's e-mail for another user
- 828. ActRemStdCrs Remove a student from the current course
- 829. ActRemTchCrs Remove a teacher from the current course
- 830. ActRemUsrGbl Eliminate completely a user from the platform
- 831. ActReqRemAllStdCrs Request the removal of all the students from the current course
- 832. ActRemAllStdCrs Remove all the students from the current course
- 833. ActReqRemOldUsr Request the complete elimination of old users
- 834. ActRemOldUsr Eliminate completely old users
+ 868. ActRemStdCrs Remove a student from the current course
+ 869. ActRemTchCrs Remove a teacher from the current course
+ 870. ActRemUsrGbl Eliminate completely a user from the platform
+ 871. ActReqRemAllStdCrs Request the removal of all the students from the current course
+ 872. ActRemAllStdCrs Remove all the students from the current course
+ 873. ActReqRemOldUsr Request the complete elimination of old users
+ 874. ActRemOldUsr Eliminate completely old users
- 835. ActLstClk List last clicks in real time
+ 875. ActLstClk List last clicks in real time
Social:
- 836. ActSeeSocTmlGbl Show social timeline (global)
- 837. ActSeeSocPrf Suggest list of users to follow
- 838. ActSeeFor Show the level superior of the forums
- 839. ActSeeChtRms Show the chat rooms
+ 876. ActSeeSocTmlGbl Show social timeline (global)
+ 877. ActSeeSocPrf Suggest list of users to follow
+ 878. ActSeeFor Show the level superior of the forums
+ 879. ActSeeChtRms Show the chat rooms
- 840. ActRcvSocPstGbl Receive a public social post to be displayed in the timeline (global)
- 841. ActRcvSocComGbl Comment a social note in the timeline (global)
- 842. ActShaSocNotGbl Share a social note in the timeline (global)
- 843. ActUnsSocNotGbl Unshare a previously shared social note in the timeline (global)
- 844. ActFavSocNotGbl Favourite a social note in the timeline (global)
- 845. ActUnfSocNotGbl Unfavourite a previously favourited social note in the timeline (global)
- 846. ActFavSocComGbl Favourite a social comment in the timeline (global)
- 847. ActUnfSocComGbl Unfavourite a previously favourited social comment in the timeline (global)
- 848. ActReqRemSocPubGbl Request the removal of a social publishing in the timeline (global)
- 849. ActRemSocPubGbl Remove a social publishing in the timeline (global)
- 850. ActReqRemSocComGbl Request the removal of a comment in a social note (global)
- 851. ActRemSocComGbl Remove of a comment in a social note (global)
+ 880. ActRcvSocPstGbl Receive a public social post to be displayed in the timeline (global)
+ 881. ActRcvSocComGbl Comment a social note in the timeline (global)
+ 882. ActShaSocNotGbl Share a social note in the timeline (global)
+ 883. ActUnsSocNotGbl Unshare a previously shared social note in the timeline (global)
+ 884. ActFavSocNotGbl Favourite a social note in the timeline (global)
+ 885. ActUnfSocNotGbl Unfavourite a previously favourited social note in the timeline (global)
+ 886. ActFavSocComGbl Favourite a social comment in the timeline (global)
+ 887. ActUnfSocComGbl Unfavourite a previously favourited social comment in the timeline (global)
+ 888. ActReqRemSocPubGbl Request the removal of a social publishing in the timeline (global)
+ 889. ActRemSocPubGbl Remove a social publishing in the timeline (global)
+ 890. ActReqRemSocComGbl Request the removal of a comment in a social note (global)
+ 891. ActRemSocComGbl Remove of a comment in a social note (global)
- 852. ActReqPubPrf Request @nickname to show a public user's profile
+ 892. ActReqPubPrf Request @nickname to show a public user's profile
- 853. ActRcvSocPstUsr Receive a public social post to be displayed in the timeline (user)
- 854. ActRcvSocComUsr Comment a social note in the timeline (user)
- 855. ActShaSocNotUsr Share a social note in the timeline (user)
- 856. ActUnsSocNotUsr Unshare a previously shared social note in the timeline (user)
- 857. ActFavSocNotUsr Favourite a social note in the timeline (user)
- 858. ActUnfSocNotUsr Unfavourite a previously favourited social note in the timeline (user)
- 859. ActFavSocComUsr Favourite a social comment in the timeline (user)
- 860. ActUnfSocComUsr Unfavourite a previously favourited social comment in the timeline (user)
- 861. ActReqRemSocPubUsr Request the removal of a social publishing in the timeline (user)
- 862. ActRemSocPubUsr Remove a social publishing in the timeline (user)
- 863. ActReqRemSocComUsr Request the removal of a comment in a social note (user)
- 864. ActRemSocComUsr Remove of a comment in a social note (user)
+ 893. ActRcvSocPstUsr Receive a public social post to be displayed in the timeline (user)
+ 894. ActRcvSocComUsr Comment a social note in the timeline (user)
+ 895. ActShaSocNotUsr Share a social note in the timeline (user)
+ 896. ActUnsSocNotUsr Unshare a previously shared social note in the timeline (user)
+ 897. ActFavSocNotUsr Favourite a social note in the timeline (user)
+ 898. ActUnfSocNotUsr Unfavourite a previously favourited social note in the timeline (user)
+ 899. ActFavSocComUsr Favourite a social comment in the timeline (user)
+ 900. ActUnfSocComUsr Unfavourite a previously favourited social comment in the timeline (user)
+ 901. ActReqRemSocPubUsr Request the removal of a social publishing in the timeline (user)
+ 902. ActRemSocPubUsr Remove a social publishing in the timeline (user)
+ 903. ActReqRemSocComUsr Request the removal of a comment in a social note (user)
+ 904. ActRemSocComUsr Remove of a comment in a social note (user)
- 865. ActCal1stClkTim Calculate first click time from log and store into user's figures
- 866. ActCalNumClk Calculate number of clicks from log and store into user's figures
- 867. ActCalNumFileViews Calculate number of file views and store into user's figures
- 868. ActCalNumForPst Calculate number of forum posts and store into user's figures
- 869. ActCalNumMsgSnt Calculate number of messages sent from log and store into user's figures
+ 905. ActCal1stClkTim Calculate first click time from log and store into user's figures
+ 906. ActCalNumClk Calculate number of clicks from log and store into user's figures
+ 907. ActCalNumFileViews Calculate number of file views and store into user's figures
+ 908. ActCalNumForPst Calculate number of forum posts and store into user's figures
+ 909. ActCalNumMsgSnt Calculate number of messages sent from log and store into user's figures
- 870. ActFolUsr Follow another user
- 871. ActUnfUsr Unfollow another user
- 872. ActSeeFlg Show following
- 873. ActSeeFlr Show followers
+ 910. ActFolUsr Follow another user
+ 911. ActUnfUsr Unfollow another user
+ 912. ActSeeFlg Show following
+ 913. ActSeeFlr Show followers
- 874. ActSeeForCrsUsr Show top level of forum of users of the course
- 875. ActSeeForCrsTch Show top level of forum of teachers of the course
- 876. ActSeeForDegUsr Show top level of forum of users of the degree
- 877. ActSeeForDegTch Show top level of forum of teachers of the degree
- 878. ActSeeForCtrUsr Show top level of forum of users of the centre
- 879. ActSeeForCtrTch Show top level of forum of teachers of the centre
- 880. ActSeeForInsUsr Show top level of forum of users of the institution
- 881. ActSeeForInsTch Show top level of forum of teachers of the institution
- 882. ActSeeForGenUsr Show top level of forum of users general
- 883. ActSeeForGenTch Show top level of forum of teachers general
- 884. ActSeeForSWAUsr Show top level of forum of users of the platform
- 885. ActSeeForSWATch Show top level of forum of teachers of the platform
- 886. ActSeePstForCrsUsr Show the messages of a thread of the forum of users of the course
- 887. ActSeePstForCrsTch Show the messages of a thread of the forum of teachers of the course
- 888. ActSeePstForDegUsr Show the messages of a thread of the forum of users of the degree
- 889. ActSeePstForDegTch Show the messages of a thread of the forum of teachers of the degree
- 890. ActSeePstForCtrUsr Show the messages of a thread of the forum of users of the centre
- 891. ActSeePstForCtrTch Show the messages of a thread of the forum of teachers of the centre
- 892. ActSeePstForInsUsr Show the messages of a thread of the forum of users of the institution
- 893. ActSeePstForInsTch Show the messages of a thread of the forum of teachers of the institution
- 894. ActSeePstForGenUsr Show the messages of a thread of the forum of users general
- 895. ActSeePstForGenTch Show the messages of a thread of the forum of teachers general
- 896. ActSeePstForSWAUsr Show the messages of a thread of the forum of users of the platform
- 897. ActSeePstForSWATch Show the messages of a thread of the forum of teachers of the platform
- 898. ActRcvThrForCrsUsr Receive the first message of a new thread of forum of users of the course
- 899. ActRcvThrForCrsTch Receive the first message of a new thread of forum of teachers of the course
- 900. ActRcvThrForDegUsr Receive the first message of a new thread of forum of users of the degree
- 901. ActRcvThrForDegTch Receive the first message of a new thread of forum of teachers of the degree
- 902. ActRcvThrForCtrUsr Receive the first message of a new thread of forum of users of centre
- 903. ActRcvThrForCtrTch Receive the first message of a new thread of forum of teachers of centre
- 904. ActRcvThrForInsUsr Receive the first message of a new thread of forum of users of the institution
- 905. ActRcvThrForInsTch Receive the first message of a new thread of forum of teachers of the institution
- 906. ActRcvThrForGenUsr Receive the first message of a new thread of forum of users general
- 907. ActRcvThrForGenTch Receive the first message of a new thread of forum of teachers general
- 908. ActRcvThrForSWAUsr Receive the first message of a new thread of forum of users of the platform
- 909. ActRcvThrForSWATch Receive the first message of a new thread of forum of teachers of the platform
- 910. ActRcvRepForCrsUsr Receive a message of answer in a thread existente in the forum of users of the course
- 911. ActRcvRepForCrsTch Receive a message of answer in a thread existente in the forum of teachers of the course
- 912. ActRcvRepForDegUsr Receive a message of answer in a thread existente in the forum of users of the degree
- 913. ActRcvRepForDegTch Receive a message of answer in a thread existente in the forum of teachers of the degree
- 914. ActRcvRepForCtrUsr Receive a message of answer in a thread existente in the forum of users of centre
- 915. ActRcvRepForCtrTch Receive a message of answer in a thread existente in the forum of teachers of centre
- 916. ActRcvRepForInsUsr Receive a message of answer in a thread existente in the forum of users of the institution
- 917. ActRcvRepForInsTch Receive a message of answer in a thread existente in the forum of teachers of the institution
- 918. ActRcvRepForGenUsr Receive a message of answer in a thread existente in the forum of users general
- 919. ActRcvRepForGenTch Receive a message of answer in a thread existente in the forum of teachers general
- 920. ActRcvRepForSWAUsr Receive a message of answer in a thread existente in the forum of users of the platform
- 921. ActRcvRepForSWATch Receive a message of answer in a thread existente in the forum of teachers of the platform
- 922. ActReqDelThrCrsUsr Request the removal of a thread of forum of users of the course
- 923. ActReqDelThrCrsTch Request the removal of a thread of forum of teachers of the course
- 924. ActReqDelThrDegUsr Request the removal of a thread of forum of users of the degree
- 925. ActReqDelThrDegTch Request the removal of a thread of forum of teachers of the degree
- 926. ActReqDelThrCtrUsr Request the removal of a thread of forum of users of centre
- 927. ActReqDelThrCtrTch Request the removal of a thread of forum of teachers of centre
- 928. ActReqDelThrInsUsr Request the removal of a thread of forum of users of the institution
- 929. ActReqDelThrInsTch Request the removal of a thread of forum of teachers of the institution
- 930. ActReqDelThrGenUsr Request the removal of a thread of forum of users general
- 931. ActReqDelThrGenTch Request the removal of a thread of forum of teachers general
- 932. ActReqDelThrSWAUsr Request the removal of a thread of forum of users of the platform
- 933. ActReqDelThrSWATch Request the removal of a thread of forum of teachers of the platform
- 934. ActDelThrForCrsUsr Remove a thread of forum of users of the course
- 935. ActDelThrForCrsTch Remove a thread of forum of teachers of the course
- 936. ActDelThrForDegUsr Remove a thread of forum of users of the degree
- 937. ActDelThrForDegTch Remove a thread of forum of teachers of the degree
- 938. ActDelThrForCtrUsr Remove a thread of forum of users of centre
- 939. ActDelThrForCtrTch Remove a thread of forum of teachers of centre
- 940. ActDelThrForInsUsr Remove a thread of forum of users of the institution
- 941. ActDelThrForInsTch Remove a thread of forum of teachers of the institution
- 942. ActDelThrForGenUsr Remove a thread of forum of users general
- 943. ActDelThrForGenTch Remove a thread of forum of teachers general
- 944. ActDelThrForSWAUsr Remove a thread of forum of users of the platform
- 945. ActDelThrForSWATch Remove a thread of forum of teachers of the platform
- 946. ActCutThrForCrsUsr Cut a thread of forum of users of the course
- 947. ActCutThrForCrsTch Cut a thread of forum of teachers of the course
- 948. ActCutThrForDegUsr Cut a thread of forum of users of the degree
- 949. ActCutThrForDegTch Cut a thread of forum of teachers of the degree
- 950. ActCutThrForCtrUsr Cut a thread of forum of users of centre
- 951. ActCutThrForCtrTch Cut a thread of forum of teachers of centre
- 952. ActCutThrForInsUsr Cut a thread of forum of users of the institution
- 953. ActCutThrForInsTch Cut a thread of forum of teachers of the institution
- 954. ActCutThrForGenUsr Cut a thread of forum of users general
- 955. ActCutThrForGenTch Cut a thread of forum of teachers general
- 956. ActCutThrForSWAUsr Cut a thread of forum of users of the platform
- 957. ActCutThrForSWATch Cut a thread of forum of teachers of the platform
- 958. ActPasThrForCrsUsr Paste a thread of forum of users of the course
- 959. ActPasThrForCrsTch Paste a thread of forum of teachers of the course
- 960. ActPasThrForDegUsr Paste a thread of forum of users of the degree
- 961. ActPasThrForDegTch Paste a thread of forum of teachers of the degree
- 962. ActPasThrForCtrUsr Paste a thread of forum of users of centre
- 963. ActPasThrForCtrTch Paste a thread of forum of teachers of centre
- 964. ActPasThrForInsUsr Paste a thread of forum of users of the institution
- 965. ActPasThrForInsTch Paste a thread of forum of teachers of the institution
- 966. ActPasThrForGenUsr Paste a thread of forum of users general
- 967. ActPasThrForGenTch Paste a thread of forum of teachers general
- 968. ActPasThrForSWAUsr Paste a thread of forum of users of the platform
- 969. ActPasThrForSWATch Paste a thread of forum of teachers of the platform
- 970. ActDelPstForCrsUsr Remove a message of forum of users of the course
- 971. ActDelPstForCrsTch Remove a message of forum of teachers of the course
- 972. ActDelPstForDegUsr Remove a message of forum of users of the degree
- 973. ActDelPstForDegTch Remove a message of forum of teachers of the degree
- 974. ActDelPstForCtrUsr Remove a message of forum of users of centre
- 975. ActDelPstForCtrTch Remove a message of forum of teachers of centre
- 976. ActDelPstForInsUsr Remove a message of forum of users of the institution
- 977. ActDelPstForInsTch Remove a message of forum of teachers of the institution
- 978. ActDelPstForGenUsr Remove a message of forum of users general
- 979. ActDelPstForGenTch Remove a message of forum of teachers general
- 980. ActDelPstForSWAUsr Remove a message of forum of users of the platform
- 981. ActDelPstForSWATch Remove a message of forum of teachers of the platform
- 982. ActEnbPstForCrsUsr Enable a message of forum of users of the course
- 983. ActEnbPstForCrsTch Enable a message of forum of teachers of the course
- 984. ActEnbPstForDegUsr Enable a message of forum of users of the degree
- 985. ActEnbPstForDegTch Enable a message of forum of teachers of the degree
- 986. ActEnbPstForCtrUsr Enable a message of forum of users of centre
- 987. ActEnbPstForCtrTch Enable a message of forum of teachers of centre
- 988. ActEnbPstForInsUsr Enable a message of forum of users of the institution
- 989. ActEnbPstForInsTch Enable a message of forum of teachers of the institution
- 990. ActEnbPstForGenUsr Enable a message of forum of users general
- 991. ActEnbPstForGenTch Enable a message of forum of teachers general
- 992. ActEnbPstForSWAUsr Enable a message of forum of users of the platform
- 993. ActEnbPstForSWATch Enable a message of forum of teachers of the platform
- 994. ActDisPstForCrsUsr Disable a message of forum of users of the course
- 995. ActDisPstForCrsTch Disable a message of forum of teachers of the course
- 996. ActDisPstForDegUsr Disable a message of forum of users of the degree
- 997. ActDisPstForDegTch Disable a message of forum of teachers of the degree
- 998. ActDisPstForCtrUsr Disable a message of forum of users of centre
- 999. ActDisPstForCtrTch Disable a message of forum of teachers of centre
- 1000. ActDisPstForInsUsr Disable a message of forum of users of the institution
- 1001. ActDisPstForInsTch Disable a message of forum of teachers of the institution
- 1002. ActDisPstForGenUsr Disable a message of forum of users general
- 1003. ActDisPstForGenTch Disable a message of forum of teachers general
- 1004. ActDisPstForSWAUsr Disable a message of forum of users of the platform
- 1005. ActDisPstForSWATch Disable a message of forum of teachers of the platform
+ 914. ActSeeForCrsUsr Show top level of forum of users of the course
+ 915. ActSeeForCrsTch Show top level of forum of teachers of the course
+ 916. ActSeeForDegUsr Show top level of forum of users of the degree
+ 917. ActSeeForDegTch Show top level of forum of teachers of the degree
+ 918. ActSeeForCtrUsr Show top level of forum of users of the centre
+ 919. ActSeeForCtrTch Show top level of forum of teachers of the centre
+ 920. ActSeeForInsUsr Show top level of forum of users of the institution
+ 921. ActSeeForInsTch Show top level of forum of teachers of the institution
+ 922. ActSeeForGenUsr Show top level of forum of users general
+ 923. ActSeeForGenTch Show top level of forum of teachers general
+ 924. ActSeeForSWAUsr Show top level of forum of users of the platform
+ 925. ActSeeForSWATch Show top level of forum of teachers of the platform
+ 926. ActSeePstForCrsUsr Show the messages of a thread of the forum of users of the course
+ 927. ActSeePstForCrsTch Show the messages of a thread of the forum of teachers of the course
+ 928. ActSeePstForDegUsr Show the messages of a thread of the forum of users of the degree
+ 929. ActSeePstForDegTch Show the messages of a thread of the forum of teachers of the degree
+ 930. ActSeePstForCtrUsr Show the messages of a thread of the forum of users of the centre
+ 931. ActSeePstForCtrTch Show the messages of a thread of the forum of teachers of the centre
+ 932. ActSeePstForInsUsr Show the messages of a thread of the forum of users of the institution
+ 933. ActSeePstForInsTch Show the messages of a thread of the forum of teachers of the institution
+ 934. ActSeePstForGenUsr Show the messages of a thread of the forum of users general
+ 935. ActSeePstForGenTch Show the messages of a thread of the forum of teachers general
+ 936. ActSeePstForSWAUsr Show the messages of a thread of the forum of users of the platform
+ 937. ActSeePstForSWATch Show the messages of a thread of the forum of teachers of the platform
+ 938. ActRcvThrForCrsUsr Receive the first message of a new thread of forum of users of the course
+ 939. ActRcvThrForCrsTch Receive the first message of a new thread of forum of teachers of the course
+ 940. ActRcvThrForDegUsr Receive the first message of a new thread of forum of users of the degree
+ 941. ActRcvThrForDegTch Receive the first message of a new thread of forum of teachers of the degree
+ 942. ActRcvThrForCtrUsr Receive the first message of a new thread of forum of users of centre
+ 943. ActRcvThrForCtrTch Receive the first message of a new thread of forum of teachers of centre
+ 944. ActRcvThrForInsUsr Receive the first message of a new thread of forum of users of the institution
+ 945. ActRcvThrForInsTch Receive the first message of a new thread of forum of teachers of the institution
+ 946. ActRcvThrForGenUsr Receive the first message of a new thread of forum of users general
+ 947. ActRcvThrForGenTch Receive the first message of a new thread of forum of teachers general
+ 948. ActRcvThrForSWAUsr Receive the first message of a new thread of forum of users of the platform
+ 949. ActRcvThrForSWATch Receive the first message of a new thread of forum of teachers of the platform
+ 950. ActRcvRepForCrsUsr Receive a message of answer in a thread existente in the forum of users of the course
+ 951. ActRcvRepForCrsTch Receive a message of answer in a thread existente in the forum of teachers of the course
+ 952. ActRcvRepForDegUsr Receive a message of answer in a thread existente in the forum of users of the degree
+ 953. ActRcvRepForDegTch Receive a message of answer in a thread existente in the forum of teachers of the degree
+ 954. ActRcvRepForCtrUsr Receive a message of answer in a thread existente in the forum of users of centre
+ 955. ActRcvRepForCtrTch Receive a message of answer in a thread existente in the forum of teachers of centre
+ 956. ActRcvRepForInsUsr Receive a message of answer in a thread existente in the forum of users of the institution
+ 957. ActRcvRepForInsTch Receive a message of answer in a thread existente in the forum of teachers of the institution
+ 958. ActRcvRepForGenUsr Receive a message of answer in a thread existente in the forum of users general
+ 959. ActRcvRepForGenTch Receive a message of answer in a thread existente in the forum of teachers general
+ 960. ActRcvRepForSWAUsr Receive a message of answer in a thread existente in the forum of users of the platform
+ 961. ActRcvRepForSWATch Receive a message of answer in a thread existente in the forum of teachers of the platform
+ 962. ActReqDelThrCrsUsr Request the removal of a thread of forum of users of the course
+ 963. ActReqDelThrCrsTch Request the removal of a thread of forum of teachers of the course
+ 964. ActReqDelThrDegUsr Request the removal of a thread of forum of users of the degree
+ 965. ActReqDelThrDegTch Request the removal of a thread of forum of teachers of the degree
+ 966. ActReqDelThrCtrUsr Request the removal of a thread of forum of users of centre
+ 967. ActReqDelThrCtrTch Request the removal of a thread of forum of teachers of centre
+ 968. ActReqDelThrInsUsr Request the removal of a thread of forum of users of the institution
+ 969. ActReqDelThrInsTch Request the removal of a thread of forum of teachers of the institution
+ 970. ActReqDelThrGenUsr Request the removal of a thread of forum of users general
+ 971. ActReqDelThrGenTch Request the removal of a thread of forum of teachers general
+ 972. ActReqDelThrSWAUsr Request the removal of a thread of forum of users of the platform
+ 973. ActReqDelThrSWATch Request the removal of a thread of forum of teachers of the platform
+ 974. ActDelThrForCrsUsr Remove a thread of forum of users of the course
+ 975. ActDelThrForCrsTch Remove a thread of forum of teachers of the course
+ 976. ActDelThrForDegUsr Remove a thread of forum of users of the degree
+ 977. ActDelThrForDegTch Remove a thread of forum of teachers of the degree
+ 978. ActDelThrForCtrUsr Remove a thread of forum of users of centre
+ 979. ActDelThrForCtrTch Remove a thread of forum of teachers of centre
+ 980. ActDelThrForInsUsr Remove a thread of forum of users of the institution
+ 981. ActDelThrForInsTch Remove a thread of forum of teachers of the institution
+ 982. ActDelThrForGenUsr Remove a thread of forum of users general
+ 983. ActDelThrForGenTch Remove a thread of forum of teachers general
+ 984. ActDelThrForSWAUsr Remove a thread of forum of users of the platform
+ 985. ActDelThrForSWATch Remove a thread of forum of teachers of the platform
+ 986. ActCutThrForCrsUsr Cut a thread of forum of users of the course
+ 987. ActCutThrForCrsTch Cut a thread of forum of teachers of the course
+ 988. ActCutThrForDegUsr Cut a thread of forum of users of the degree
+ 989. ActCutThrForDegTch Cut a thread of forum of teachers of the degree
+ 990. ActCutThrForCtrUsr Cut a thread of forum of users of centre
+ 991. ActCutThrForCtrTch Cut a thread of forum of teachers of centre
+ 992. ActCutThrForInsUsr Cut a thread of forum of users of the institution
+ 993. ActCutThrForInsTch Cut a thread of forum of teachers of the institution
+ 994. ActCutThrForGenUsr Cut a thread of forum of users general
+ 995. ActCutThrForGenTch Cut a thread of forum of teachers general
+ 996. ActCutThrForSWAUsr Cut a thread of forum of users of the platform
+ 997. ActCutThrForSWATch Cut a thread of forum of teachers of the platform
+ 998. ActPasThrForCrsUsr Paste a thread of forum of users of the course
+ 999. ActPasThrForCrsTch Paste a thread of forum of teachers of the course
+ 1000. ActPasThrForDegUsr Paste a thread of forum of users of the degree
+ 1001. ActPasThrForDegTch Paste a thread of forum of teachers of the degree
+ 1002. ActPasThrForCtrUsr Paste a thread of forum of users of centre
+ 1003. ActPasThrForCtrTch Paste a thread of forum of teachers of centre
+ 1004. ActPasThrForInsUsr Paste a thread of forum of users of the institution
+ 1005. ActPasThrForInsTch Paste a thread of forum of teachers of the institution
+ 1006. ActPasThrForGenUsr Paste a thread of forum of users general
+ 1007. ActPasThrForGenTch Paste a thread of forum of teachers general
+ 1008. ActPasThrForSWAUsr Paste a thread of forum of users of the platform
+ 1009. ActPasThrForSWATch Paste a thread of forum of teachers of the platform
+ 1010. ActDelPstForCrsUsr Remove a message of forum of users of the course
+ 1011. ActDelPstForCrsTch Remove a message of forum of teachers of the course
+ 1012. ActDelPstForDegUsr Remove a message of forum of users of the degree
+ 1013. ActDelPstForDegTch Remove a message of forum of teachers of the degree
+ 1014. ActDelPstForCtrUsr Remove a message of forum of users of centre
+ 1015. ActDelPstForCtrTch Remove a message of forum of teachers of centre
+ 1016. ActDelPstForInsUsr Remove a message of forum of users of the institution
+ 1017. ActDelPstForInsTch Remove a message of forum of teachers of the institution
+ 1018. ActDelPstForGenUsr Remove a message of forum of users general
+ 1019. ActDelPstForGenTch Remove a message of forum of teachers general
+ 1020. ActDelPstForSWAUsr Remove a message of forum of users of the platform
+ 1021. ActDelPstForSWATch Remove a message of forum of teachers of the platform
+ 1022. ActEnbPstForCrsUsr Enable a message of forum of users of the course
+ 1023. ActEnbPstForCrsTch Enable a message of forum of teachers of the course
+ 1024. ActEnbPstForDegUsr Enable a message of forum of users of the degree
+ 1025. ActEnbPstForDegTch Enable a message of forum of teachers of the degree
+ 1026. ActEnbPstForCtrUsr Enable a message of forum of users of centre
+ 1027. ActEnbPstForCtrTch Enable a message of forum of teachers of centre
+ 1028. ActEnbPstForInsUsr Enable a message of forum of users of the institution
+ 1029. ActEnbPstForInsTch Enable a message of forum of teachers of the institution
+ 1030. ActEnbPstForGenUsr Enable a message of forum of users general
+ 1031. ActEnbPstForGenTch Enable a message of forum of teachers general
+ 1032. ActEnbPstForSWAUsr Enable a message of forum of users of the platform
+ 1033. ActEnbPstForSWATch Enable a message of forum of teachers of the platform
+ 1034. ActDisPstForCrsUsr Disable a message of forum of users of the course
+ 1035. ActDisPstForCrsTch Disable a message of forum of teachers of the course
+ 1036. ActDisPstForDegUsr Disable a message of forum of users of the degree
+ 1037. ActDisPstForDegTch Disable a message of forum of teachers of the degree
+ 1038. ActDisPstForCtrUsr Disable a message of forum of users of centre
+ 1039. ActDisPstForCtrTch Disable a message of forum of teachers of centre
+ 1040. ActDisPstForInsUsr Disable a message of forum of users of the institution
+ 1041. ActDisPstForInsTch Disable a message of forum of teachers of the institution
+ 1042. ActDisPstForGenUsr Disable a message of forum of users general
+ 1043. ActDisPstForGenTch Disable a message of forum of teachers general
+ 1044. ActDisPstForSWAUsr Disable a message of forum of users of the platform
+ 1045. ActDisPstForSWATch Disable a message of forum of teachers of the platform
- 1006. ActCht Enter in a chat room to chat
+ 1046. ActCht Enter in a chat room to chat
Messages:
- 1007. ActSeeNtf Show my recent notifications
- 1008. ActSeeAnn Show global announcements
- 1009. ActSeeNot Show notices
- 1010. ActReqMsgUsr Write message to several users
- 1011. ActSeeRcvMsg Show the messages received from other users (link in menu)
- 1012. ActSeeSntMsg Show the messages sent to other users
- 1013. ActMaiStd Send an e-mail to students
- 1014. ActWriAnn Show form to create a new global announcement
- 1015. ActRcvAnn Receive and create a new global announcement
- 1016. ActHidAnn Hide a global announcement that was active
- 1017. ActRevAnn Reveal a global announcement that was hidden
- 1018. ActRemAnn Remove global announcement
- 1019. ActShoNot Show (expand) a notice
- 1020. ActWriNot Write a new notice
- 1021. ActRcvNot Receive and create a new notice
- 1022. ActHidNot Hide a notice that was active
- 1023. ActRevNot Reveal a notice that was hidden
- 1024. ActReqRemNot Request removal of a notice
- 1025. ActRemNot Remove a notice
- 1026. ActSeeNewNtf Show my recent notifications (link in top heading)
- 1027. ActMrkNtfSee Mark all my notifications as seen
- 1028. ActRcvMsgUsr Sent/Receive a message of a user
- 1029. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users
- 1030. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users
- 1031. ActDelAllSntMsg Remove todos the messages sent to other users
- 1032. ActDelAllRcvMsg Remove todos the messages received from other users
- 1033. ActDelSntMsg Remove a message sent to other users
- 1034. ActDelRcvMsg Remove a message received from other user
- 1035. ActExpSntMsg See (expand) sent message
- 1036. ActExpRcvMsg See (expand) received message
- 1037. ActConSntMsg Hide (contract) sent message
- 1038. ActConRcvMsg Hide (contract) received message
- 1039. ActLstBanUsr List banned users
- 1040. ActBanUsrMsg Ban the sender of a message when showing received messages
- 1041. ActUnbUsrMsg Unban the sender of a message when showing received messages
- 1042. ActUnbUsrLst Unban a user when listing banned users
+ 1047. ActSeeNtf Show my recent notifications
+ 1048. ActSeeAnn Show global announcements
+ 1049. ActSeeNot Show notices
+ 1050. ActReqMsgUsr Write message to several users
+ 1051. ActSeeRcvMsg Show the messages received from other users (link in menu)
+ 1052. ActSeeSntMsg Show the messages sent to other users
+ 1053. ActMaiStd Send an e-mail to students
+ 1054. ActWriAnn Show form to create a new global announcement
+ 1055. ActRcvAnn Receive and create a new global announcement
+ 1056. ActHidAnn Hide a global announcement that was active
+ 1057. ActRevAnn Reveal a global announcement that was hidden
+ 1058. ActRemAnn Remove global announcement
+ 1059. ActShoNot Show (expand) a notice
+ 1060. ActWriNot Write a new notice
+ 1061. ActRcvNot Receive and create a new notice
+ 1062. ActHidNot Hide a notice that was active
+ 1063. ActRevNot Reveal a notice that was hidden
+ 1064. ActReqRemNot Request removal of a notice
+ 1065. ActRemNot Remove a notice
+ 1066. ActSeeNewNtf Show my recent notifications (link in top heading)
+ 1067. ActMrkNtfSee Mark all my notifications as seen
+ 1068. ActRcvMsgUsr Sent/Receive a message of a user
+ 1069. ActReqDelAllSntMsg Request the removal of todos the messages sent to other users
+ 1070. ActReqDelAllRcvMsg Request the removal of todos the messages received from other users
+ 1071. ActDelAllSntMsg Remove todos the messages sent to other users
+ 1072. ActDelAllRcvMsg Remove todos the messages received from other users
+ 1073. ActDelSntMsg Remove a message sent to other users
+ 1074. ActDelRcvMsg Remove a message received from other user
+ 1075. ActExpSntMsg See (expand) sent message
+ 1076. ActExpRcvMsg See (expand) received message
+ 1077. ActConSntMsg Hide (contract) sent message
+ 1078. ActConRcvMsg Hide (contract) received message
+ 1079. ActLstBanUsr List banned users
+ 1080. ActBanUsrMsg Ban the sender of a message when showing received messages
+ 1081. ActUnbUsrMsg Unban the sender of a message when showing received messages
+ 1082. ActUnbUsrLst Unban a user when listing banned users
Statistics:
- 1043. ActSeeAllSvy List all surveys in pages
- 1044. ActReqUseGbl Request showing use of the platform
- 1045. ActSeePhoDeg Show a class photo with the average photos of the students of each degree
- 1046. ActReqStaCrs Request statistics of courses
- 1047. ActReqAccGbl Request query of clicks to the complete platform
+ 1083. ActSeeAllSvy List all surveys in pages
+ 1084. ActReqUseGbl Request showing use of the platform
+ 1085. ActSeePhoDeg Show a class photo with the average photos of the students of each degree
+ 1086. ActReqStaCrs Request statistics of courses
+ 1087. ActReqAccGbl Request query of clicks to the complete platform
- 1048. ActSeeOneSvy Show one survey
- 1049. ActAnsSvy Answer a survey
- 1050. ActFrmNewSvy Form to create a new survey
- 1051. ActEdiOneSvy Edit one survey
- 1052. ActNewSvy Create new survey
- 1053. ActChgSvy Modify data of an existing survey
- 1054. ActReqRemSvy Request the removal of a survey
- 1055. ActRemSvy Remove survey
- 1056. ActReqRstSvy Request the reset of answers of a survey
- 1057. ActRstSvy Reset answers of survey
- 1058. ActHidSvy Hide survey
- 1059. ActShoSvy Show survey
- 1060. ActEdiOneSvyQst Edit a new question for a survey
- 1061. ActRcvSvyQst Receive a question of a survey
- 1062. ActReqRemSvyQst Request the removal of a question of a survey
- 1063. ActRemSvyQst Confirm the removal of a question of a survey
- 1064. ActSeeUseGbl Show use of the platform
- 1065. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree.
- 1066. ActCalPhoDeg Compute the average photos of the students of each degree
- 1067. ActSeeAccGbl Query clicks to the complete platform
- 1068. ActReqAccCrs Request query of clicks in the course
- 1069. ActSeeAccCrs Query clicks to current course
- 1070. ActSeeAllStaCrs Show statistics of courses
+ 1088. ActSeeOneSvy Show one survey
+ 1089. ActAnsSvy Answer a survey
+ 1090. ActFrmNewSvy Form to create a new survey
+ 1091. ActEdiOneSvy Edit one survey
+ 1092. ActNewSvy Create new survey
+ 1093. ActChgSvy Modify data of an existing survey
+ 1094. ActReqRemSvy Request the removal of a survey
+ 1095. ActRemSvy Remove survey
+ 1096. ActReqRstSvy Request the reset of answers of a survey
+ 1097. ActRstSvy Reset answers of survey
+ 1098. ActHidSvy Hide survey
+ 1099. ActShoSvy Show survey
+ 1100. ActEdiOneSvyQst Edit a new question for a survey
+ 1101. ActRcvSvyQst Receive a question of a survey
+ 1102. ActReqRemSvyQst Request the removal of a question of a survey
+ 1103. ActRemSvyQst Confirm the removal of a question of a survey
+ 1104. ActSeeUseGbl Show use of the platform
+ 1105. ActPrnPhoDeg Show vista of impresión of the class photo with the average photos of the students of each degree.
+ 1106. ActCalPhoDeg Compute the average photos of the students of each degree
+ 1107. ActSeeAccGbl Query clicks to the complete platform
+ 1108. ActReqAccCrs Request query of clicks in the course
+ 1109. ActSeeAccCrs Query clicks to current course
+ 1110. ActSeeAllStaCrs Show statistics of courses
Profile:
- 1071. ActFrmLogIn Show landing page (forms to log in and to create a new account)
- 1072. ActFrmRolSes Show form to log out and to change current role in this session
- 1073. ActMyCrs Select one of my courses
- 1074. ActSeeMyTT Show the timetable of all courses of the logged user
- 1075. ActFrmUsrAcc Show form to the creation or change of user's account
- 1076. ActReqEdiRecCom Request the edition of the record with the personal data of the user
- 1077. ActEdiPrf Show forms to edit preferences
- 1078. ActAdmBrf Show the briefcase of private archives
- 1079. ActMFUAct Show most frequently used actions
+ 1111. ActFrmLogIn Show landing page (forms to log in and to create a new account)
+ 1112. ActFrmRolSes Show form to log out and to change current role in this session
+ 1113. ActMyCrs Select one of my courses
+ 1114. ActSeeMyTT Show the timetable of all courses of the logged user
+ 1115. ActFrmUsrAcc Show form to the creation or change of user's account
+ 1116. ActReqEdiRecCom Request the edition of the record with the personal data of the user
+ 1117. ActEdiPrf Show forms to edit preferences
+ 1118. ActAdmBrf Show the briefcase of private archives
+ 1119. ActMFUAct Show most frequently used actions
- 1080. ActReqSndNewPwd Show form to send a new password via e-mail
- 1081. ActSndNewPwd Send a new password via e-mail
- 1082. ActLogOut Close session
+ 1120. ActReqSndNewPwd Show form to send a new password via e-mail
+ 1121. ActSndNewPwd Send a new password via e-mail
+ 1122. ActLogOut Close session
- 1083. ActAutUsrInt Authentify user internally (directly from the platform)
- 1084. ActAutUsrExt Authentify user externally (remotely from an external site)
- 1085. ActAutUsrChgLan Change language to my language just after authentication
- 1086. ActAnnSee Mark announcement as seen
- 1087. ActChgMyRol Change type of logged user
+ 1123. ActAutUsrInt Authentify user internally (directly from the platform)
+ 1124. ActAutUsrExt Authentify user externally (remotely from an external site)
+ 1125. ActAutUsrChgLan Change language to my language just after authentication
+ 1126. ActAnnSee Mark announcement as seen
+ 1127. ActChgMyRol Change type of logged user
- 1088. ActCreUsrAcc Create new user account
- 1089. ActRemID_Me Remove one of my user's IDs
- 1090. ActNewIDMe Create a new user's ID for me
- 1091. ActRemOldNic Remove one of my old nicknames
- 1092. ActChgNic Change my nickname
- 1093. ActRemMaiMe Remove one of my old e-mails
- 1094. ActNewMaiMe Change my e-mail address
- 1095. ActCnfMai Confirm e-mail address
- 1096. ActFrmChgMyPwd Show form to the change of the password
- 1097. ActChgPwd Change the password
- 1098. ActReqRemMyAcc Request the removal of my account
- 1099. ActRemMyAcc Remove my account
+ 1128. ActCreUsrAcc Create new user account
+ 1129. ActRemID_Me Remove one of my user's IDs
+ 1130. ActNewIDMe Create a new user's ID for me
+ 1131. ActRemOldNic Remove one of my old nicknames
+ 1132. ActChgNic Change my nickname
+ 1133. ActRemMaiMe Remove one of my old e-mails
+ 1134. ActNewMaiMe Change my e-mail address
+ 1135. ActCnfMai Confirm e-mail address
+ 1136. ActFrmChgMyPwd Show form to the change of the password
+ 1137. ActChgPwd Change the password
+ 1138. ActReqRemMyAcc Request the removal of my account
+ 1139. ActRemMyAcc Remove my account
- 1100. ActChgMyData Update my personal data
+ 1140. ActChgMyData Update my personal data
- 1101. ActReqMyPho Show form to send my photo
- 1102. ActDetMyPho Receive my photo and detect faces on it
- 1103. ActUpdMyPho Update my photo
- 1104. ActRemMyPho Remove my photo
+ 1141. ActReqMyPho Show form to send my photo
+ 1142. ActDetMyPho Receive my photo and detect faces on it
+ 1143. ActUpdMyPho Update my photo
+ 1144. ActRemMyPho Remove my photo
- 1105. ActEdiPri Edit my privacy
- 1106. ActChgPriPho Change privacy of my photo
- 1107. ActChgPriPrf Change privacy of my public profile
+ 1145. ActEdiPri Edit my privacy
+ 1146. ActChgPriPho Change privacy of my photo
+ 1147. ActChgPriPrf Change privacy of my public profile
- 1108. ActReqEdiMyIns Request the edition of my institution, centre and department
- 1109. ActChgCtyMyIns Change the country of my institution
- 1110. ActChgMyIns Change my institution
- 1111. ActChgMyCtr Change my centre
- 1112. ActChgMyDpt Change my department
- 1113. ActChgMyOff Change my office
- 1114. ActChgMyOffPho Change my office phone
+ 1158. ActReqEdiMyIns Request the edition of my institution, centre and department
+ 1159. ActChgCtyMyIns Change the country of my institution
+ 1150. ActChgMyIns Change my institution
+ 1151. ActChgMyCtr Change my centre
+ 1152. ActChgMyDpt Change my department
+ 1155. ActChgMyOff Change my office
+ 1154. ActChgMyOffPho Change my office phone
- 1115. ActReqEdiMyNet Request the edition of my social networks
- 1116. ActChgMyNet Change my web and social networks
+ 1155. ActReqEdiMyNet Request the edition of my social networks
+ 1156. ActChgMyNet Change my web and social networks
- 1117. ActChgThe Change theme
- 1118. ActReqChgLan Ask if change language
- 1119. ActChgLan Change language
- 1120. ActChg1stDay Change first day of the week
- 1121. ActChgCol Change side columns
- 1122. ActHidLftCol Hide left side column
- 1123. ActHidRgtCol Hide right side column
- 1124. ActShoLftCol Show left side column
- 1125. ActShoRgtCol Show right side column
- 1126. ActChgIco Change icon set
- 1127. ActChgMnu Change menu
- 1128. ActChgNtfPrf Change whether to notify by e-mail new messages
- 1129. ActPrnUsrQR Show my QR code ready to print
+ 1157. ActChgThe Change theme
+ 1158. ActReqChgLan Ask if change language
+ 1159. ActChgLan Change language
+ 1160. ActChg1stDay Change first day of the week
+ 1161. ActChgCol Change side columns
+ 1162. ActHidLftCol Hide left side column
+ 1163. ActHidRgtCol Hide right side column
+ 1164. ActShoLftCol Show left side column
+ 1165. ActShoRgtCol Show right side column
+ 1166. ActChgIco Change icon set
+ 1167. ActChgMnu Change menu
+ 1168. ActChgNtfPrf Change whether to notify by e-mail new messages
+ 1169. ActPrnUsrQR Show my QR code ready to print
- 1130. ActPrnMyTT Show the timetable listo to impresión of all my courses
- 1131. ActEdiTut Edit the timetable of tutorías
- 1132. ActChgTut Modify the timetable of tutorías
- 1133. ActChgMyTT1stDay Change first day of week and show timetable of the course
+ 1170. ActPrnMyTT Show the timetable listo to impresión of all my courses
+ 1171. ActEdiTut Edit the timetable of tutorías
+ 1172. ActChgTut Modify the timetable of tutorías
+ 1173. ActChgMyTT1stDay Change first day of week and show timetable of the course
- 1134. ActReqRemFilBrf Request removal of a file of the briefcase
- 1135. ActRemFilBrf Remove a file of the briefcase
- 1136. ActRemFolBrf Remove a folder empty of the briefcase
- 1137. ActCopBrf Set source of copy in the briefcase
- 1138. ActPasBrf Paste a folder or file in the briefcase
- 1139. ActRemTreBrf Remove a folder no empty of the briefcase
- 1140. ActFrmCreBrf Form to crear a folder or file in the briefcase
- 1141. ActCreFolBrf Create a new folder in the briefcase
- 1142. ActCreLnkBrf Create a new link in the briefcase
- 1143. ActRenFolBrf Rename a folder of the briefcase
- 1144. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
- 1145. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
- 1146. ActExpBrf Expand a folder in briefcase
- 1147. ActConBrf Contract a folder in briefcase
- 1148. ActZIPBrf Compress a folder in briefcase
- 1149. ActReqDatBrf Ask for metadata of a file in the briefcase
- 1150. ActChgDatBrf Change metadata of a file in the briefcase
- 1151. ActDowBrf Download a file in the briefcase
- 1152. ActReqRemOldBrf Ask for removing old files in the briefcase
- 1153. ActRemOldBrf Remove old files in the briefcase
+ 1174. ActReqRemFilBrf Request removal of a file of the briefcase
+ 1175. ActRemFilBrf Remove a file of the briefcase
+ 1176. ActRemFolBrf Remove a folder empty of the briefcase
+ 1177. ActCopBrf Set source of copy in the briefcase
+ 1178. ActPasBrf Paste a folder or file in the briefcase
+ 1179. ActRemTreBrf Remove a folder no empty of the briefcase
+ 1180. ActFrmCreBrf Form to crear a folder or file in the briefcase
+ 1181. ActCreFolBrf Create a new folder in the briefcase
+ 1182. ActCreLnkBrf Create a new link in the briefcase
+ 1183. ActRenFolBrf Rename a folder of the briefcase
+ 1184. ActRcvFilBrfDZ Receive a file in the briefcase using Dropzone.js
+ 1185. ActRcvFilBrfCla Receive a file in the briefcase using the classic way
+ 1186. ActExpBrf Expand a folder in briefcase
+ 1187. ActConBrf Contract a folder in briefcase
+ 1188. ActZIPBrf Compress a folder in briefcase
+ 1189. ActReqDatBrf Ask for metadata of a file in the briefcase
+ 1190. ActChgDatBrf Change metadata of a file in the briefcase
+ 1191. ActDowBrf Download a file in the briefcase
+ 1192. ActReqRemOldBrf Ask for removing old files in the briefcase
+ 1193. ActRemOldBrf Remove old files in the briefcase
*/
struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
@@ -1722,11 +1766,12 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeeTchGui */{ 784, 2,TabCrs,ActSeeTchGui ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"guide64x64.gif" },
/* ActSeeSyl */{1242, 3,TabCrs,ActSeeSyl ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"presentation64x64.gif"},
/* ActSeeAdmDocCrsGrp*/{ 0, 4,TabCrs,ActSeeAdmDocCrsGrp ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder64x64.gif" },
- /* ActAdmShaCrsGrp */{ 461, 5,TabCrs,ActAdmShaCrsGrp ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
- /* ActSeeCrsTT */{ 25, 6,TabCrs,ActSeeCrsTT ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowClassTimeTable ,"clock64x64.gif" },
- /* ActSeeBib */{ 32, 7,TabCrs,ActSeeBib ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"books64x64.gif" },
- /* ActSeeFAQ */{ 54, 8,TabCrs,ActSeeFAQ ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"faq64x64.gif" },
- /* ActSeeCrsLnk */{ 9, 9,TabCrs,ActSeeCrsLnk ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"link64x64.gif" },
+ /* ActAdmTchCrsGrp */{1525, 5,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder64x64.gif" },
+ /* ActAdmShaCrsGrp */{ 461, 6,TabCrs,ActAdmShaCrsGrp ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
+ /* ActSeeCrsTT */{ 25, 7,TabCrs,ActSeeCrsTT ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,TT_ShowClassTimeTable ,"clock64x64.gif" },
+ /* ActSeeBib */{ 32, 8,TabCrs,ActSeeBib ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"books64x64.gif" },
+ /* ActSeeFAQ */{ 54, 9,TabCrs,ActSeeFAQ ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"faq64x64.gif" },
+ /* ActSeeCrsLnk */{ 9,10,TabCrs,ActSeeCrsLnk ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Inf_ShowInfo ,"link64x64.gif" },
// Actions not in menu:
/* ActDegSch */{1185,-1,TabCrs,ActCrsReqSch ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_CrsSearch ,NULL},
@@ -1822,6 +1867,48 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActChgDatAdmDocGrp*/{ 998,-1,TabCrs,ActSeeAdmDocCrsGrp ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowAdmDocGrp */{1114,-1,TabCrs,ActSeeAdmDocCrsGrp ,0x110,0x100,0x000,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+ /* ActChgToAdmTch */{1526,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
+
+ /* ActAdmTchCrs */{1527,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
+ /* ActReqRemFilTchCrs*/{1528,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
+ /* ActRemFilTchCrs */{1529,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
+ /* ActRemFolTchCrs */{1530,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
+ /* ActCopTchCrs */{1531,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
+ /* ActPasTchCrs */{1532,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
+ /* ActRemTreTchCrs */{1533,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
+ /* ActFrmCreTchCrs */{1534,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
+ /* ActCreFolTchCrs */{1535,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
+ /* ActCreLnkTchCrs */{1536,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
+ /* ActRenFolTchCrs */{1537,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
+ /* ActRcvFilTchCrsDZ */{1538,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
+ /* ActRcvFilTchCrsCla*/{1539,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
+ /* ActExpTchCrs */{1540,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
+ /* ActConTchCrs */{1541,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
+ /* ActZIPTchCrs */{1542,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
+ /* ActReqDatTchCrs */{1543,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
+ /* ActChgDatTchCrs */{1544,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
+ /* ActDowTchCrs */{1545,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+
+ /* ActAdmTchGrp */{1546,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
+ /* ActReqRemFilTchGrp*/{1547,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
+ /* ActRemFilTchGrp */{1548,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
+ /* ActRemFolTchGrp */{1549,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
+ /* ActCopTchGrp */{1550,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
+ /* ActPasTchGrp */{1551,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
+ /* ActRemTreTchGrp */{1552,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
+ /* ActFrmCreTchGrp */{1553,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
+ /* ActCreFolTchGrp */{1554,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
+ /* ActCreLnkTchGrp */{1555,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
+ /* ActRenFolTchGrp */{1556,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
+ /* ActRcvFilTchGrpDZ */{1557,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
+ /* ActRcvFilTchGrpCla*/{1558,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
+ /* ActExpTchGrp */{1559,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
+ /* ActConTchGrp */{1560,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
+ /* ActZIPTchGrp */{1561,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
+ /* ActReqDatTchGrp */{1562,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
+ /* ActChgDatTchGrp */{1563,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
+ /* ActDowTchGrp */{1564,-1,TabCrs,ActAdmTchCrsGrp ,0x1F0,0x1E0,0x000,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+
/* ActChgToAdmSha */{1197,-1,TabCrs,ActAdmShaCrsGrp ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
/* ActAdmShaCrs */{1202,-1,TabCrs,ActAdmShaCrsGrp ,0x118,0x100,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
@@ -4244,6 +4331,46 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActUpdSignUpReq, // #1522
ActReqRemTstQst, // #1523
ActReqRemSvyQst, // #1524
+ ActAdmTchCrsGrp, // #1525
+ ActChgToAdmTch, // #1526
+ ActAdmTchCrs, // #1527
+ ActReqRemFilTchCrs, // #1528
+ ActRemFilTchCrs, // #1529
+ ActRemFolTchCrs, // #1530
+ ActCopTchCrs, // #1531
+ ActPasTchCrs, // #1532
+ ActRemTreTchCrs, // #1533
+ ActFrmCreTchCrs, // #1534
+ ActCreFolTchCrs, // #1535
+ ActCreLnkTchCrs, // #1536
+ ActRenFolTchCrs, // #1537
+ ActRcvFilTchCrsDZ, // #1538
+ ActRcvFilTchCrsCla, // #1539
+ ActExpTchCrs, // #1540
+ ActConTchCrs, // #1541
+ ActZIPTchCrs, // #1542
+ ActReqDatTchCrs, // #1543
+ ActChgDatTchCrs, // #1544
+ ActDowTchCrs, // #1545
+ ActAdmTchGrp, // #1546
+ ActReqRemFilTchGrp, // #1547
+ ActRemFilTchGrp, // #1548
+ ActRemFolTchGrp, // #1549
+ ActCopTchGrp, // #1550
+ ActPasTchGrp, // #1551
+ ActRemTreTchGrp, // #1552
+ ActFrmCreTchGrp, // #1553
+ ActCreFolTchGrp, // #1554
+ ActCreLnkTchGrp, // #1555
+ ActRenFolTchGrp, // #1556
+ ActRcvFilTchGrpDZ, // #1557
+ ActRcvFilTchGrpCla, // #1558
+ ActExpTchGrp, // #1559
+ ActConTchGrp, // #1560
+ ActZIPTchGrp, // #1561
+ ActReqDatTchGrp, // #1562
+ ActChgDatTchGrp, // #1563
+ ActDowTchGrp, // #1564
};
/*****************************************************************************/
diff --git a/swad_action.h b/swad_action.h
index f2be37f6..64feb109 100644
--- a/swad_action.h
+++ b/swad_action.h
@@ -72,9 +72,9 @@ typedef enum
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
-#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+205+184+144+172+36+28+83)
+#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+245+184+144+172+36+28+83)
-#define Act_MAX_ACTION_COD 1524
+#define Act_MAX_ACTION_COD 1564
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@@ -452,218 +452,261 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActSeeTchGui (ActDowShaDeg+ 3)
#define ActSeeSyl (ActDowShaDeg+ 4)
#define ActSeeAdmDocCrsGrp (ActDowShaDeg+ 5)
-#define ActAdmShaCrsGrp (ActDowShaDeg+ 6)
-#define ActSeeCrsTT (ActDowShaDeg+ 7)
-#define ActSeeBib (ActDowShaDeg+ 8)
-#define ActSeeFAQ (ActDowShaDeg+ 9)
-#define ActSeeCrsLnk (ActDowShaDeg+ 10)
+#define ActAdmTchCrsGrp (ActDowShaDeg+ 6)
+#define ActAdmShaCrsGrp (ActDowShaDeg+ 7)
+#define ActSeeCrsTT (ActDowShaDeg+ 8)
+#define ActSeeBib (ActDowShaDeg+ 9)
+#define ActSeeFAQ (ActDowShaDeg+ 10)
+#define ActSeeCrsLnk (ActDowShaDeg+ 11)
// Secondary actions
-#define ActCrsSch (ActDowShaDeg+ 11)
-#define ActPrnCrsInf (ActDowShaDeg+ 12)
-#define ActChgCrsLog (ActDowShaDeg+ 13)
-#define ActEdiCrsInf (ActDowShaDeg+ 14)
-#define ActEdiTchGui (ActDowShaDeg+ 15)
-#define ActPrnCrsTT (ActDowShaDeg+ 16)
-#define ActEdiCrsTT (ActDowShaDeg+ 17)
-#define ActChgCrsTT (ActDowShaDeg+ 18)
-#define ActChgCrsTT1stDay (ActDowShaDeg+ 19)
-#define ActSeeSylLec (ActDowShaDeg+ 20)
-#define ActSeeSylPra (ActDowShaDeg+ 21)
-#define ActEdiSylLec (ActDowShaDeg+ 22)
-#define ActEdiSylPra (ActDowShaDeg+ 23)
-#define ActDelItmSylLec (ActDowShaDeg+ 24)
-#define ActDelItmSylPra (ActDowShaDeg+ 25)
-#define ActUp_IteSylLec (ActDowShaDeg+ 26)
-#define ActUp_IteSylPra (ActDowShaDeg+ 27)
-#define ActDwnIteSylLec (ActDowShaDeg+ 28)
-#define ActDwnIteSylPra (ActDowShaDeg+ 29)
-#define ActRgtIteSylLec (ActDowShaDeg+ 30)
-#define ActRgtIteSylPra (ActDowShaDeg+ 31)
-#define ActLftIteSylLec (ActDowShaDeg+ 32)
-#define ActLftIteSylPra (ActDowShaDeg+ 33)
-#define ActInsIteSylLec (ActDowShaDeg+ 34)
-#define ActInsIteSylPra (ActDowShaDeg+ 35)
-#define ActModIteSylLec (ActDowShaDeg+ 36)
-#define ActModIteSylPra (ActDowShaDeg+ 37)
+#define ActCrsSch (ActDowShaDeg+ 12)
+#define ActPrnCrsInf (ActDowShaDeg+ 13)
+#define ActChgCrsLog (ActDowShaDeg+ 14)
+#define ActEdiCrsInf (ActDowShaDeg+ 15)
+#define ActEdiTchGui (ActDowShaDeg+ 16)
+#define ActPrnCrsTT (ActDowShaDeg+ 17)
+#define ActEdiCrsTT (ActDowShaDeg+ 18)
+#define ActChgCrsTT (ActDowShaDeg+ 19)
+#define ActChgCrsTT1stDay (ActDowShaDeg+ 20)
+#define ActSeeSylLec (ActDowShaDeg+ 21)
+#define ActSeeSylPra (ActDowShaDeg+ 22)
+#define ActEdiSylLec (ActDowShaDeg+ 23)
+#define ActEdiSylPra (ActDowShaDeg+ 24)
+#define ActDelItmSylLec (ActDowShaDeg+ 25)
+#define ActDelItmSylPra (ActDowShaDeg+ 26)
+#define ActUp_IteSylLec (ActDowShaDeg+ 27)
+#define ActUp_IteSylPra (ActDowShaDeg+ 28)
+#define ActDwnIteSylLec (ActDowShaDeg+ 29)
+#define ActDwnIteSylPra (ActDowShaDeg+ 30)
+#define ActRgtIteSylLec (ActDowShaDeg+ 31)
+#define ActRgtIteSylPra (ActDowShaDeg+ 32)
+#define ActLftIteSylLec (ActDowShaDeg+ 33)
+#define ActLftIteSylPra (ActDowShaDeg+ 34)
+#define ActInsIteSylLec (ActDowShaDeg+ 35)
+#define ActInsIteSylPra (ActDowShaDeg+ 36)
+#define ActModIteSylLec (ActDowShaDeg+ 37)
+#define ActModIteSylPra (ActDowShaDeg+ 38)
-#define ActChgToSeeDocCrs (ActDowShaDeg+ 38)
-#define ActSeeDocCrs (ActDowShaDeg+ 39)
-#define ActExpSeeDocCrs (ActDowShaDeg+ 40)
-#define ActConSeeDocCrs (ActDowShaDeg+ 41)
-#define ActZIPSeeDocCrs (ActDowShaDeg+ 42)
-#define ActReqDatSeeDocCrs (ActDowShaDeg+ 43)
-#define ActDowSeeDocCrs (ActDowShaDeg+ 44)
+#define ActChgToSeeDocCrs (ActDowShaDeg+ 39)
+#define ActSeeDocCrs (ActDowShaDeg+ 40)
+#define ActExpSeeDocCrs (ActDowShaDeg+ 41)
+#define ActConSeeDocCrs (ActDowShaDeg+ 42)
+#define ActZIPSeeDocCrs (ActDowShaDeg+ 43)
+#define ActReqDatSeeDocCrs (ActDowShaDeg+ 44)
+#define ActDowSeeDocCrs (ActDowShaDeg+ 45)
-#define ActSeeDocGrp (ActDowShaDeg+ 45)
-#define ActExpSeeDocGrp (ActDowShaDeg+ 46)
-#define ActConSeeDocGrp (ActDowShaDeg+ 47)
-#define ActZIPSeeDocGrp (ActDowShaDeg+ 48)
-#define ActReqDatSeeDocGrp (ActDowShaDeg+ 49)
-#define ActDowSeeDocGrp (ActDowShaDeg+ 50)
+#define ActSeeDocGrp (ActDowShaDeg+ 46)
+#define ActExpSeeDocGrp (ActDowShaDeg+ 47)
+#define ActConSeeDocGrp (ActDowShaDeg+ 48)
+#define ActZIPSeeDocGrp (ActDowShaDeg+ 49)
+#define ActReqDatSeeDocGrp (ActDowShaDeg+ 50)
+#define ActDowSeeDocGrp (ActDowShaDeg+ 51)
-#define ActChgToAdmDocCrs (ActDowShaDeg+ 51)
-#define ActAdmDocCrs (ActDowShaDeg+ 52)
-#define ActReqRemFilDocCrs (ActDowShaDeg+ 53)
-#define ActRemFilDocCrs (ActDowShaDeg+ 54)
-#define ActRemFolDocCrs (ActDowShaDeg+ 55)
-#define ActCopDocCrs (ActDowShaDeg+ 56)
-#define ActPasDocCrs (ActDowShaDeg+ 57)
-#define ActRemTreDocCrs (ActDowShaDeg+ 58)
-#define ActFrmCreDocCrs (ActDowShaDeg+ 59)
-#define ActCreFolDocCrs (ActDowShaDeg+ 60)
-#define ActCreLnkDocCrs (ActDowShaDeg+ 61)
-#define ActRenFolDocCrs (ActDowShaDeg+ 62)
-#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 63)
-#define ActRcvFilDocCrsCla (ActDowShaDeg+ 64)
-#define ActExpAdmDocCrs (ActDowShaDeg+ 65)
-#define ActConAdmDocCrs (ActDowShaDeg+ 66)
-#define ActZIPAdmDocCrs (ActDowShaDeg+ 67)
-#define ActShoDocCrs (ActDowShaDeg+ 68)
-#define ActHidDocCrs (ActDowShaDeg+ 69)
-#define ActReqDatAdmDocCrs (ActDowShaDeg+ 70)
-#define ActChgDatAdmDocCrs (ActDowShaDeg+ 71)
-#define ActDowAdmDocCrs (ActDowShaDeg+ 72)
+#define ActChgToAdmDocCrs (ActDowShaDeg+ 52)
+#define ActAdmDocCrs (ActDowShaDeg+ 53)
+#define ActReqRemFilDocCrs (ActDowShaDeg+ 54)
+#define ActRemFilDocCrs (ActDowShaDeg+ 55)
+#define ActRemFolDocCrs (ActDowShaDeg+ 56)
+#define ActCopDocCrs (ActDowShaDeg+ 57)
+#define ActPasDocCrs (ActDowShaDeg+ 58)
+#define ActRemTreDocCrs (ActDowShaDeg+ 59)
+#define ActFrmCreDocCrs (ActDowShaDeg+ 60)
+#define ActCreFolDocCrs (ActDowShaDeg+ 61)
+#define ActCreLnkDocCrs (ActDowShaDeg+ 62)
+#define ActRenFolDocCrs (ActDowShaDeg+ 63)
+#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 64)
+#define ActRcvFilDocCrsCla (ActDowShaDeg+ 65)
+#define ActExpAdmDocCrs (ActDowShaDeg+ 66)
+#define ActConAdmDocCrs (ActDowShaDeg+ 67)
+#define ActZIPAdmDocCrs (ActDowShaDeg+ 68)
+#define ActShoDocCrs (ActDowShaDeg+ 69)
+#define ActHidDocCrs (ActDowShaDeg+ 70)
+#define ActReqDatAdmDocCrs (ActDowShaDeg+ 71)
+#define ActChgDatAdmDocCrs (ActDowShaDeg+ 72)
+#define ActDowAdmDocCrs (ActDowShaDeg+ 73)
-#define ActAdmDocGrp (ActDowShaDeg+ 73)
-#define ActReqRemFilDocGrp (ActDowShaDeg+ 74)
-#define ActRemFilDocGrp (ActDowShaDeg+ 75)
-#define ActRemFolDocGrp (ActDowShaDeg+ 76)
-#define ActCopDocGrp (ActDowShaDeg+ 77)
-#define ActPasDocGrp (ActDowShaDeg+ 78)
-#define ActRemTreDocGrp (ActDowShaDeg+ 79)
-#define ActFrmCreDocGrp (ActDowShaDeg+ 80)
-#define ActCreFolDocGrp (ActDowShaDeg+ 81)
-#define ActCreLnkDocGrp (ActDowShaDeg+ 82)
-#define ActRenFolDocGrp (ActDowShaDeg+ 83)
-#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 84)
-#define ActRcvFilDocGrpCla (ActDowShaDeg+ 85)
-#define ActExpAdmDocGrp (ActDowShaDeg+ 86)
-#define ActConAdmDocGrp (ActDowShaDeg+ 87)
-#define ActZIPAdmDocGrp (ActDowShaDeg+ 88)
-#define ActShoDocGrp (ActDowShaDeg+ 89)
-#define ActHidDocGrp (ActDowShaDeg+ 90)
-#define ActReqDatAdmDocGrp (ActDowShaDeg+ 91)
-#define ActChgDatAdmDocGrp (ActDowShaDeg+ 92)
-#define ActDowAdmDocGrp (ActDowShaDeg+ 93)
+#define ActAdmDocGrp (ActDowShaDeg+ 74)
+#define ActReqRemFilDocGrp (ActDowShaDeg+ 75)
+#define ActRemFilDocGrp (ActDowShaDeg+ 76)
+#define ActRemFolDocGrp (ActDowShaDeg+ 77)
+#define ActCopDocGrp (ActDowShaDeg+ 78)
+#define ActPasDocGrp (ActDowShaDeg+ 79)
+#define ActRemTreDocGrp (ActDowShaDeg+ 80)
+#define ActFrmCreDocGrp (ActDowShaDeg+ 81)
+#define ActCreFolDocGrp (ActDowShaDeg+ 82)
+#define ActCreLnkDocGrp (ActDowShaDeg+ 83)
+#define ActRenFolDocGrp (ActDowShaDeg+ 84)
+#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 85)
+#define ActRcvFilDocGrpCla (ActDowShaDeg+ 86)
+#define ActExpAdmDocGrp (ActDowShaDeg+ 87)
+#define ActConAdmDocGrp (ActDowShaDeg+ 88)
+#define ActZIPAdmDocGrp (ActDowShaDeg+ 89)
+#define ActShoDocGrp (ActDowShaDeg+ 90)
+#define ActHidDocGrp (ActDowShaDeg+ 91)
+#define ActReqDatAdmDocGrp (ActDowShaDeg+ 92)
+#define ActChgDatAdmDocGrp (ActDowShaDeg+ 93)
+#define ActDowAdmDocGrp (ActDowShaDeg+ 94)
-#define ActChgToAdmSha (ActDowShaDeg+ 94)
+#define ActChgToAdmTch (ActDowShaDeg+ 95)
-#define ActAdmShaCrs (ActDowShaDeg+ 95)
-#define ActReqRemFilShaCrs (ActDowShaDeg+ 96)
-#define ActRemFilShaCrs (ActDowShaDeg+ 97)
-#define ActRemFolShaCrs (ActDowShaDeg+ 98)
-#define ActCopShaCrs (ActDowShaDeg+ 99)
-#define ActPasShaCrs (ActDowShaDeg+100)
-#define ActRemTreShaCrs (ActDowShaDeg+101)
-#define ActFrmCreShaCrs (ActDowShaDeg+102)
-#define ActCreFolShaCrs (ActDowShaDeg+103)
-#define ActCreLnkShaCrs (ActDowShaDeg+104)
-#define ActRenFolShaCrs (ActDowShaDeg+105)
-#define ActRcvFilShaCrsDZ (ActDowShaDeg+106)
-#define ActRcvFilShaCrsCla (ActDowShaDeg+107)
-#define ActExpShaCrs (ActDowShaDeg+108)
-#define ActConShaCrs (ActDowShaDeg+109)
-#define ActZIPShaCrs (ActDowShaDeg+110)
-#define ActReqDatShaCrs (ActDowShaDeg+111)
-#define ActChgDatShaCrs (ActDowShaDeg+112)
-#define ActDowShaCrs (ActDowShaDeg+113)
+#define ActAdmTchCrs (ActDowShaDeg+ 96)
+#define ActReqRemFilTchCrs (ActDowShaDeg+ 97)
+#define ActRemFilTchCrs (ActDowShaDeg+ 98)
+#define ActRemFolTchCrs (ActDowShaDeg+ 99)
+#define ActCopTchCrs (ActDowShaDeg+100)
+#define ActPasTchCrs (ActDowShaDeg+101)
+#define ActRemTreTchCrs (ActDowShaDeg+102)
+#define ActFrmCreTchCrs (ActDowShaDeg+103)
+#define ActCreFolTchCrs (ActDowShaDeg+104)
+#define ActCreLnkTchCrs (ActDowShaDeg+105)
+#define ActRenFolTchCrs (ActDowShaDeg+106)
+#define ActRcvFilTchCrsDZ (ActDowShaDeg+107)
+#define ActRcvFilTchCrsCla (ActDowShaDeg+108)
+#define ActExpTchCrs (ActDowShaDeg+109)
+#define ActConTchCrs (ActDowShaDeg+110)
+#define ActZIPTchCrs (ActDowShaDeg+111)
+#define ActReqDatTchCrs (ActDowShaDeg+112)
+#define ActChgDatTchCrs (ActDowShaDeg+113)
+#define ActDowTchCrs (ActDowShaDeg+114)
-#define ActAdmShaGrp (ActDowShaDeg+114)
-#define ActReqRemFilShaGrp (ActDowShaDeg+115)
-#define ActRemFilShaGrp (ActDowShaDeg+116)
-#define ActRemFolShaGrp (ActDowShaDeg+117)
-#define ActCopShaGrp (ActDowShaDeg+118)
-#define ActPasShaGrp (ActDowShaDeg+119)
-#define ActRemTreShaGrp (ActDowShaDeg+120)
-#define ActFrmCreShaGrp (ActDowShaDeg+121)
-#define ActCreFolShaGrp (ActDowShaDeg+122)
-#define ActCreLnkShaGrp (ActDowShaDeg+123)
-#define ActRenFolShaGrp (ActDowShaDeg+124)
-#define ActRcvFilShaGrpDZ (ActDowShaDeg+125)
-#define ActRcvFilShaGrpCla (ActDowShaDeg+126)
-#define ActExpShaGrp (ActDowShaDeg+127)
-#define ActConShaGrp (ActDowShaDeg+128)
-#define ActZIPShaGrp (ActDowShaDeg+129)
-#define ActReqDatShaGrp (ActDowShaDeg+130)
-#define ActChgDatShaGrp (ActDowShaDeg+131)
-#define ActDowShaGrp (ActDowShaDeg+132)
+#define ActAdmTchGrp (ActDowShaDeg+115)
+#define ActReqRemFilTchGrp (ActDowShaDeg+116)
+#define ActRemFilTchGrp (ActDowShaDeg+117)
+#define ActRemFolTchGrp (ActDowShaDeg+118)
+#define ActCopTchGrp (ActDowShaDeg+119)
+#define ActPasTchGrp (ActDowShaDeg+120)
+#define ActRemTreTchGrp (ActDowShaDeg+121)
+#define ActFrmCreTchGrp (ActDowShaDeg+122)
+#define ActCreFolTchGrp (ActDowShaDeg+123)
+#define ActCreLnkTchGrp (ActDowShaDeg+124)
+#define ActRenFolTchGrp (ActDowShaDeg+125)
+#define ActRcvFilTchGrpDZ (ActDowShaDeg+126)
+#define ActRcvFilTchGrpCla (ActDowShaDeg+127)
+#define ActExpTchGrp (ActDowShaDeg+128)
+#define ActConTchGrp (ActDowShaDeg+129)
+#define ActZIPTchGrp (ActDowShaDeg+130)
+#define ActReqDatTchGrp (ActDowShaDeg+131)
+#define ActChgDatTchGrp (ActDowShaDeg+132)
+#define ActDowTchGrp (ActDowShaDeg+133)
-#define ActEdiBib (ActDowShaDeg+133)
-#define ActEdiFAQ (ActDowShaDeg+134)
-#define ActEdiCrsLnk (ActDowShaDeg+135)
+#define ActChgToAdmSha (ActDowShaDeg+134)
-#define ActChgFrcReaCrsInf (ActDowShaDeg+136)
-#define ActChgFrcReaTchGui (ActDowShaDeg+137)
-#define ActChgFrcReaSylLec (ActDowShaDeg+138)
-#define ActChgFrcReaSylPra (ActDowShaDeg+139)
-#define ActChgFrcReaBib (ActDowShaDeg+140)
-#define ActChgFrcReaFAQ (ActDowShaDeg+141)
-#define ActChgFrcReaCrsLnk (ActDowShaDeg+142)
+#define ActAdmShaCrs (ActDowShaDeg+135)
+#define ActReqRemFilShaCrs (ActDowShaDeg+136)
+#define ActRemFilShaCrs (ActDowShaDeg+137)
+#define ActRemFolShaCrs (ActDowShaDeg+138)
+#define ActCopShaCrs (ActDowShaDeg+139)
+#define ActPasShaCrs (ActDowShaDeg+140)
+#define ActRemTreShaCrs (ActDowShaDeg+141)
+#define ActFrmCreShaCrs (ActDowShaDeg+142)
+#define ActCreFolShaCrs (ActDowShaDeg+143)
+#define ActCreLnkShaCrs (ActDowShaDeg+144)
+#define ActRenFolShaCrs (ActDowShaDeg+145)
+#define ActRcvFilShaCrsDZ (ActDowShaDeg+146)
+#define ActRcvFilShaCrsCla (ActDowShaDeg+147)
+#define ActExpShaCrs (ActDowShaDeg+148)
+#define ActConShaCrs (ActDowShaDeg+149)
+#define ActZIPShaCrs (ActDowShaDeg+150)
+#define ActReqDatShaCrs (ActDowShaDeg+151)
+#define ActChgDatShaCrs (ActDowShaDeg+152)
+#define ActDowShaCrs (ActDowShaDeg+153)
-#define ActChgHavReaCrsInf (ActDowShaDeg+143)
-#define ActChgHavReaTchGui (ActDowShaDeg+144)
-#define ActChgHavReaSylLec (ActDowShaDeg+145)
-#define ActChgHavReaSylPra (ActDowShaDeg+146)
-#define ActChgHavReaBib (ActDowShaDeg+147)
-#define ActChgHavReaFAQ (ActDowShaDeg+148)
-#define ActChgHavReaCrsLnk (ActDowShaDeg+149)
+#define ActAdmShaGrp (ActDowShaDeg+154)
+#define ActReqRemFilShaGrp (ActDowShaDeg+155)
+#define ActRemFilShaGrp (ActDowShaDeg+156)
+#define ActRemFolShaGrp (ActDowShaDeg+157)
+#define ActCopShaGrp (ActDowShaDeg+158)
+#define ActPasShaGrp (ActDowShaDeg+159)
+#define ActRemTreShaGrp (ActDowShaDeg+160)
+#define ActFrmCreShaGrp (ActDowShaDeg+161)
+#define ActCreFolShaGrp (ActDowShaDeg+162)
+#define ActCreLnkShaGrp (ActDowShaDeg+163)
+#define ActRenFolShaGrp (ActDowShaDeg+164)
+#define ActRcvFilShaGrpDZ (ActDowShaDeg+165)
+#define ActRcvFilShaGrpCla (ActDowShaDeg+166)
+#define ActExpShaGrp (ActDowShaDeg+167)
+#define ActConShaGrp (ActDowShaDeg+168)
+#define ActZIPShaGrp (ActDowShaDeg+169)
+#define ActReqDatShaGrp (ActDowShaDeg+170)
+#define ActChgDatShaGrp (ActDowShaDeg+171)
+#define ActDowShaGrp (ActDowShaDeg+172)
-#define ActSelInfSrcCrsInf (ActDowShaDeg+150)
-#define ActSelInfSrcTchGui (ActDowShaDeg+151)
-#define ActSelInfSrcSylLec (ActDowShaDeg+152)
-#define ActSelInfSrcSylPra (ActDowShaDeg+153)
-#define ActSelInfSrcBib (ActDowShaDeg+154)
-#define ActSelInfSrcFAQ (ActDowShaDeg+155)
-#define ActSelInfSrcCrsLnk (ActDowShaDeg+156)
-#define ActRcvURLCrsInf (ActDowShaDeg+157)
-#define ActRcvURLTchGui (ActDowShaDeg+158)
-#define ActRcvURLSylLec (ActDowShaDeg+159)
-#define ActRcvURLSylPra (ActDowShaDeg+160)
-#define ActRcvURLBib (ActDowShaDeg+161)
-#define ActRcvURLFAQ (ActDowShaDeg+162)
-#define ActRcvURLCrsLnk (ActDowShaDeg+163)
-#define ActRcvPagCrsInf (ActDowShaDeg+164)
-#define ActRcvPagTchGui (ActDowShaDeg+165)
-#define ActRcvPagSylLec (ActDowShaDeg+166)
-#define ActRcvPagSylPra (ActDowShaDeg+167)
-#define ActRcvPagBib (ActDowShaDeg+168)
-#define ActRcvPagFAQ (ActDowShaDeg+169)
-#define ActRcvPagCrsLnk (ActDowShaDeg+170)
-#define ActEditorCrsInf (ActDowShaDeg+171)
-#define ActEditorTchGui (ActDowShaDeg+172)
-#define ActEditorSylLec (ActDowShaDeg+173)
-#define ActEditorSylPra (ActDowShaDeg+174)
-#define ActEditorBib (ActDowShaDeg+175)
-#define ActEditorFAQ (ActDowShaDeg+176)
-#define ActEditorCrsLnk (ActDowShaDeg+177)
-#define ActPlaTxtEdiCrsInf (ActDowShaDeg+178)
-#define ActPlaTxtEdiTchGui (ActDowShaDeg+179)
-#define ActPlaTxtEdiSylLec (ActDowShaDeg+180)
-#define ActPlaTxtEdiSylPra (ActDowShaDeg+181)
-#define ActPlaTxtEdiBib (ActDowShaDeg+182)
-#define ActPlaTxtEdiFAQ (ActDowShaDeg+183)
-#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+184)
-#define ActRchTxtEdiCrsInf (ActDowShaDeg+185)
-#define ActRchTxtEdiTchGui (ActDowShaDeg+186)
-#define ActRchTxtEdiSylLec (ActDowShaDeg+187)
-#define ActRchTxtEdiSylPra (ActDowShaDeg+188)
-#define ActRchTxtEdiBib (ActDowShaDeg+189)
-#define ActRchTxtEdiFAQ (ActDowShaDeg+190)
-#define ActRchTxtEdiCrsLnk (ActDowShaDeg+191)
-#define ActRcvPlaTxtCrsInf (ActDowShaDeg+192)
-#define ActRcvPlaTxtTchGui (ActDowShaDeg+193)
-#define ActRcvPlaTxtSylLec (ActDowShaDeg+194)
-#define ActRcvPlaTxtSylPra (ActDowShaDeg+195)
-#define ActRcvPlaTxtBib (ActDowShaDeg+196)
-#define ActRcvPlaTxtFAQ (ActDowShaDeg+197)
-#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+198)
-#define ActRcvRchTxtCrsInf (ActDowShaDeg+199)
-#define ActRcvRchTxtTchGui (ActDowShaDeg+200)
-#define ActRcvRchTxtSylLec (ActDowShaDeg+201)
-#define ActRcvRchTxtSylPra (ActDowShaDeg+202)
-#define ActRcvRchTxtBib (ActDowShaDeg+203)
-#define ActRcvRchTxtFAQ (ActDowShaDeg+204)
-#define ActRcvRchTxtCrsLnk (ActDowShaDeg+205)
+#define ActEdiBib (ActDowShaDeg+173)
+#define ActEdiFAQ (ActDowShaDeg+174)
+#define ActEdiCrsLnk (ActDowShaDeg+175)
+
+#define ActChgFrcReaCrsInf (ActDowShaDeg+176)
+#define ActChgFrcReaTchGui (ActDowShaDeg+177)
+#define ActChgFrcReaSylLec (ActDowShaDeg+178)
+#define ActChgFrcReaSylPra (ActDowShaDeg+179)
+#define ActChgFrcReaBib (ActDowShaDeg+180)
+#define ActChgFrcReaFAQ (ActDowShaDeg+181)
+#define ActChgFrcReaCrsLnk (ActDowShaDeg+182)
+
+#define ActChgHavReaCrsInf (ActDowShaDeg+183)
+#define ActChgHavReaTchGui (ActDowShaDeg+184)
+#define ActChgHavReaSylLec (ActDowShaDeg+185)
+#define ActChgHavReaSylPra (ActDowShaDeg+186)
+#define ActChgHavReaBib (ActDowShaDeg+187)
+#define ActChgHavReaFAQ (ActDowShaDeg+188)
+#define ActChgHavReaCrsLnk (ActDowShaDeg+189)
+
+#define ActSelInfSrcCrsInf (ActDowShaDeg+190)
+#define ActSelInfSrcTchGui (ActDowShaDeg+191)
+#define ActSelInfSrcSylLec (ActDowShaDeg+192)
+#define ActSelInfSrcSylPra (ActDowShaDeg+193)
+#define ActSelInfSrcBib (ActDowShaDeg+194)
+#define ActSelInfSrcFAQ (ActDowShaDeg+195)
+#define ActSelInfSrcCrsLnk (ActDowShaDeg+196)
+#define ActRcvURLCrsInf (ActDowShaDeg+197)
+#define ActRcvURLTchGui (ActDowShaDeg+198)
+#define ActRcvURLSylLec (ActDowShaDeg+199)
+#define ActRcvURLSylPra (ActDowShaDeg+200)
+#define ActRcvURLBib (ActDowShaDeg+201)
+#define ActRcvURLFAQ (ActDowShaDeg+202)
+#define ActRcvURLCrsLnk (ActDowShaDeg+203)
+#define ActRcvPagCrsInf (ActDowShaDeg+204)
+#define ActRcvPagTchGui (ActDowShaDeg+205)
+#define ActRcvPagSylLec (ActDowShaDeg+206)
+#define ActRcvPagSylPra (ActDowShaDeg+207)
+#define ActRcvPagBib (ActDowShaDeg+208)
+#define ActRcvPagFAQ (ActDowShaDeg+209)
+#define ActRcvPagCrsLnk (ActDowShaDeg+210)
+#define ActEditorCrsInf (ActDowShaDeg+211)
+#define ActEditorTchGui (ActDowShaDeg+212)
+#define ActEditorSylLec (ActDowShaDeg+213)
+#define ActEditorSylPra (ActDowShaDeg+214)
+#define ActEditorBib (ActDowShaDeg+215)
+#define ActEditorFAQ (ActDowShaDeg+216)
+#define ActEditorCrsLnk (ActDowShaDeg+217)
+#define ActPlaTxtEdiCrsInf (ActDowShaDeg+218)
+#define ActPlaTxtEdiTchGui (ActDowShaDeg+219)
+#define ActPlaTxtEdiSylLec (ActDowShaDeg+220)
+#define ActPlaTxtEdiSylPra (ActDowShaDeg+221)
+#define ActPlaTxtEdiBib (ActDowShaDeg+222)
+#define ActPlaTxtEdiFAQ (ActDowShaDeg+223)
+#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+224)
+#define ActRchTxtEdiCrsInf (ActDowShaDeg+225)
+#define ActRchTxtEdiTchGui (ActDowShaDeg+226)
+#define ActRchTxtEdiSylLec (ActDowShaDeg+227)
+#define ActRchTxtEdiSylPra (ActDowShaDeg+228)
+#define ActRchTxtEdiBib (ActDowShaDeg+229)
+#define ActRchTxtEdiFAQ (ActDowShaDeg+230)
+#define ActRchTxtEdiCrsLnk (ActDowShaDeg+231)
+#define ActRcvPlaTxtCrsInf (ActDowShaDeg+232)
+#define ActRcvPlaTxtTchGui (ActDowShaDeg+233)
+#define ActRcvPlaTxtSylLec (ActDowShaDeg+234)
+#define ActRcvPlaTxtSylPra (ActDowShaDeg+235)
+#define ActRcvPlaTxtBib (ActDowShaDeg+236)
+#define ActRcvPlaTxtFAQ (ActDowShaDeg+237)
+#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+238)
+#define ActRcvRchTxtCrsInf (ActDowShaDeg+239)
+#define ActRcvRchTxtTchGui (ActDowShaDeg+240)
+#define ActRcvRchTxtSylLec (ActDowShaDeg+241)
+#define ActRcvRchTxtSylPra (ActDowShaDeg+242)
+#define ActRcvRchTxtBib (ActDowShaDeg+243)
+#define ActRcvRchTxtFAQ (ActDowShaDeg+244)
+#define ActRcvRchTxtCrsLnk (ActDowShaDeg+245)
/*****************************************************************************/
/***************************** Assessment tab ********************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index 35fb8cb6..248da975 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -137,13 +137,70 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 15.200.5 (2016-04-18)"
+#define Log_PLATFORM_VERSION "SWAD 15.201 (2016-04-21)"
#define CSS_FILE "swad15.198.css"
#define JS_FILE "swad15.197.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.201: Apr 21, 2016 New private file zone for the teachers who belong to a course. (200768 lines)
+ 50 changes necessary in database:
+CREATE TABLE notif_backup LIKE notif;
+INSERT INTO notif_backup SELECT * FROM notif;
+
+CREATE TABLE sta_notif_backup LIKE sta_notif;
+INSERT INTO sta_notif_backup SELECT * FROM sta_notif;
+
+CREATE TABLE usr_data_backup LIKE usr_data;
+INSERT INTO usr_data_backup SELECT * FROM usr_data;
+
+UPDATE notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
+UPDATE sta_notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
+UPDATE usr_data SET NotifNtfEvents = (((NotifNtfEvents & ~0x3) << 1) | (NotifNtfEvents & 0x3) | 0x04);
+UPDATE usr_data SET EmailNtfEvents = (((EmailNtfEvents & ~0x3) << 1) | (EmailNtfEvents & 0x3));
+
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1525','es','N','Administrar zona de profesores');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1526','es','N','Cambiar a admin. archivos prof.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1527','es','N','Administrar archivos prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1528','es','N','Solicitar elim. arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1529','es','N','Eliminar archivo prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1530','es','N','Eliminar carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1531','es','N','Copiar de zona prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1532','es','N','Pegar en zona prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1533','es','N','Eliminar árbol prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1534','es','N','Solic.nuevo arch/carp prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1535','es','N','Crear carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1536','es','N','Crear enlace prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1537','es','N','Renombrar carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1538','es','N','Subir archivo prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1539','es','N','Subir archivo prof. asg. (ant.)');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1540','es','N','Expandir carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1541','es','N','Contraer carpeta prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1542','es','N','Crear ZIP prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1543','es','N','Ver metadatos arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1544','es','N','Cambiar metadatos arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1545','es','N','Descargar arch. prof. asg.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1546','es','N','Administrar archivos prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1547','es','N','Solicitar elim. arch. prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1548','es','N','Eliminar archivo prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1549','es','N','Eliminar carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1550','es','N','Copiar de zona prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1551','es','N','Pegar en zona prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1552','es','N','Eliminar árbol prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1553','es','N','Solic.nuevo arch/carp prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1554','es','N','Crear carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1555','es','N','Crear enlace prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1556','es','N','Renombrar carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1557','es','N','Subir archivo prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1558','es','N','Subir archivo prof. asg. (grp.)');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1559','es','N','Expandir carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1560','es','N','Contraer carpeta prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1561','es','N','Crear ZIP prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1562','es','N','Ver metadatos arch. prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1563','es','N','Cambiar metadatos arch. prof. grp.');
+INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1564','es','N','Descargar arch. prof. grp.');
+
Version 15.200.5: Apr 18, 2016 Removed link to enter from external service. (199764 lines)
Version 15.200.4: Apr 18, 2016 Changes in configuration. (199785 lines)
Version 15.200.3: Apr 18, 2016 Fixed bug in tests, reported by Miguel Damas Hermoso. (199788 lines)
diff --git a/swad_file_browser.c b/swad_file_browser.c
index d07aa9ef..c0261cc8 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -132,6 +132,8 @@ const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER] =
Brw_ADMI_SHARE_DEG, // Brw_ADMI_SHARE_DEG = 22
Brw_ADMI_SHARE_CTR, // Brw_ADMI_SHARE_CTR = 23
Brw_ADMI_SHARE_INS, // Brw_ADMI_SHARE_INS = 24
+ Brw_ADMI_TEACH_CRS, // Brw_ADMI_TEACH_CRS = 25
+ Brw_ADMI_TEACH_GRP, // Brw_ADMI_TEACH_GRP = 26
};
// Browsers viewable shown in search for documents
const Brw_FileBrowser_t Brw_FileBrowserForFoundDocs[Brw_NUM_TYPES_FILE_BROWSER] =
@@ -161,6 +163,8 @@ const Brw_FileBrowser_t Brw_FileBrowserForFoundDocs[Brw_NUM_TYPES_FILE_BROWSER]
Brw_ADMI_SHARE_DEG, // Brw_ADMI_SHARE_DEG = 22
Brw_ADMI_SHARE_CTR, // Brw_ADMI_SHARE_CTR = 23
Brw_ADMI_SHARE_INS, // Brw_ADMI_SHARE_INS = 24
+ Brw_ADMI_TEACH_CRS, // Brw_ADMI_TEACH_CRS = 25
+ Brw_ADMI_TEACH_GRP, // Brw_ADMI_TEACH_GRP = 26
};
// Browsers types for database "clipboard" table
static const Brw_FileBrowser_t Brw_FileBrowserForDB_clipboard[Brw_NUM_TYPES_FILE_BROWSER] =
@@ -190,6 +194,8 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_clipboard[Brw_NUM_TYPES_FILE
Brw_ADMI_SHARE_DEG, // Brw_ADMI_SHARE_DEG = 22
Brw_ADMI_SHARE_CTR, // Brw_ADMI_SHARE_CTR = 23
Brw_ADMI_SHARE_INS, // Brw_ADMI_SHARE_INS = 24
+ Brw_ADMI_TEACH_CRS, // Brw_ADMI_TEACH_CRS = 25
+ Brw_ADMI_TEACH_GRP, // Brw_ADMI_TEACH_GRP = 26
};
// Browsers types for database "expanded_folders" table
static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYPES_FILE_BROWSER] =
@@ -219,6 +225,8 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYP
Brw_ADMI_SHARE_DEG, // Brw_ADMI_SHARE_DEG = 22
Brw_ADMI_SHARE_CTR, // Brw_ADMI_SHARE_CTR = 23
Brw_ADMI_SHARE_INS, // Brw_ADMI_SHARE_INS = 24
+ Brw_ADMI_TEACH_CRS, // Brw_ADMI_TEACH_CRS = 25
+ Brw_ADMI_TEACH_GRP, // Brw_ADMI_TEACH_GRP = 26
};
// Browsers types for database "file_browser_last" table
// Assignments and works are stored as one in file_browser_last...
@@ -250,6 +258,8 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_file_browser_last[Brw_NUM_TY
Brw_ADMI_SHARE_DEG, // Brw_ADMI_SHARE_DEG = 22
Brw_ADMI_SHARE_CTR, // Brw_ADMI_SHARE_CTR = 23
Brw_ADMI_SHARE_INS, // Brw_ADMI_SHARE_INS = 24
+ Brw_ADMI_TEACH_CRS, // Brw_ADMI_TEACH_CRS = 25
+ Brw_ADMI_TEACH_GRP, // Brw_ADMI_TEACH_GRP = 26
};
// Internal names of root folders
@@ -280,6 +290,8 @@ const char *Brw_RootFolderInternalNames[Brw_NUM_TYPES_FILE_BROWSER] =
Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES, // Brw_ADMI_SHARE_DEG
Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES, // Brw_ADMI_SHARE_CTR
Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES, // Brw_ADMI_SHARE_INS
+ Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS, // Brw_ADMI_TEACH_CRS
+ Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS, // Brw_ADMI_TEACH_GRP
};
// Number of columns of a file browser
@@ -310,6 +322,8 @@ static const unsigned Brw_NumColumnsInExpTree[Brw_NUM_TYPES_FILE_BROWSER] =
7, // Brw_ADMI_SHARE_DEG
7, // Brw_ADMI_SHARE_CTR
7, // Brw_ADMI_SHARE_INS
+ 7, // Brw_ADMI_TEACH_CRS
+ 7, // Brw_ADMI_TEACH_GRP
};
static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -338,6 +352,8 @@ static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] =
true, // Brw_ADMI_SHARE_DEG
true, // Brw_ADMI_SHARE_CTR
true, // Brw_ADMI_SHARE_INS
+ true, // Brw_ADMI_TEACH_CRS
+ true, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActSeeAdm[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -366,6 +382,8 @@ static const Act_Action_t Brw_ActSeeAdm[Brw_NUM_TYPES_FILE_BROWSER] =
ActAdmShaDeg, // Brw_ADMI_SHARE_DEG
ActAdmShaCtr, // Brw_ADMI_SHARE_CTR
ActAdmShaIns, // Brw_ADMI_SHARE_INS
+ ActAdmTchCrs, // Brw_ADMI_TEACH_CRS
+ ActAdmTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActFromSeeToAdm[Brw_NUM_TYPES_FILE_BROWSER] =
@@ -395,6 +413,8 @@ static const Act_Action_t Brw_ActFromSeeToAdm[Brw_NUM_TYPES_FILE_BROWSER] =
ActUnk, // Brw_ADMI_SHARE_DEG
ActUnk, // Brw_ADMI_SHARE_CTR
ActUnk, // Brw_ADMI_SHARE_INS
+ ActUnk, // Brw_ADMI_TEACH_CRS
+ ActUnk, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActFromAdmToSee[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -423,6 +443,8 @@ static const Act_Action_t Brw_ActFromAdmToSee[Brw_NUM_TYPES_FILE_BROWSER] =
ActUnk, // Brw_ADMI_SHARE_DEG
ActUnk, // Brw_ADMI_SHARE_CTR
ActUnk, // Brw_ADMI_SHARE_INS
+ ActUnk, // Brw_ADMI_TEACH_CRS
+ ActUnk, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] =
@@ -452,6 +474,8 @@ static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] =
ActUnk, // Brw_ADMI_SHARE_DEG
ActUnk, // Brw_ADMI_SHARE_CTR
ActUnk, // Brw_ADMI_SHARE_INS
+ ActChgToAdmTch, // Brw_ADMI_TEACH_CRS
+ ActChgToAdmTch, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -480,6 +504,8 @@ static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] =
ActUnk, // Brw_ADMI_SHARE_DEG
ActUnk, // Brw_ADMI_SHARE_CTR
ActUnk, // Brw_ADMI_SHARE_INS
+ ActUnk, // Brw_ADMI_TEACH_CRS
+ ActUnk, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -508,6 +534,8 @@ static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] =
ActUnk, // Brw_ADMI_SHARE_DEG
ActUnk, // Brw_ADMI_SHARE_CTR
ActUnk, // Brw_ADMI_SHARE_INS
+ ActUnk, // Brw_ADMI_TEACH_CRS
+ ActUnk, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -536,6 +564,8 @@ static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActReqDatShaDeg, // Brw_ADMI_SHARE_DEG
ActReqDatShaCtr, // Brw_ADMI_SHARE_CTR
ActReqDatShaIns, // Brw_ADMI_SHARE_INS
+ ActReqDatTchCrs, // Brw_ADMI_TEACH_CRS
+ ActReqDatTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -564,6 +594,8 @@ static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActDowShaDeg, // Brw_ADMI_SHARE_DEG
ActDowShaCtr, // Brw_ADMI_SHARE_CTR
ActDowShaIns, // Brw_ADMI_SHARE_INS
+ ActDowTchCrs, // Brw_ADMI_TEACH_CRS
+ ActDowTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -592,6 +624,8 @@ static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActReqRemFilShaDeg, // Brw_ADMI_SHARE_DEG
ActReqRemFilShaCtr, // Brw_ADMI_SHARE_CTR
ActReqRemFilShaIns, // Brw_ADMI_SHARE_INS
+ ActReqRemFilTchCrs, // Brw_ADMI_TEACH_CRS
+ ActReqRemFilTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -620,6 +654,8 @@ static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActRemFilShaDeg, // Brw_ADMI_SHARE_DEG
ActRemFilShaCtr, // Brw_ADMI_SHARE_CTR
ActRemFilShaIns, // Brw_ADMI_SHARE_INS
+ ActRemFilTchCrs, // Brw_ADMI_TEACH_CRS
+ ActRemFilTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -648,6 +684,8 @@ static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActRemFolShaDeg, // Brw_ADMI_SHARE_DEG
ActRemFolShaCtr, // Brw_ADMI_SHARE_CTR
ActRemFolShaIns, // Brw_ADMI_SHARE_INS
+ ActRemFolTchCrs, // Brw_ADMI_TEACH_CRS
+ ActRemFolTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -676,6 +714,8 @@ static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER
ActRemTreShaDeg, // Brw_ADMI_SHARE_DEG
ActRemTreShaCtr, // Brw_ADMI_SHARE_CTR
ActRemTreShaIns, // Brw_ADMI_SHARE_INS
+ ActRemTreTchCrs, // Brw_ADMI_TEACH_CRS
+ ActRemTreTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -704,6 +744,8 @@ static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] =
ActCopShaDeg, // Brw_ADMI_SHARE_DEG
ActCopShaCtr, // Brw_ADMI_SHARE_CTR
ActCopShaIns, // Brw_ADMI_SHARE_INS
+ ActCopTchCrs, // Brw_ADMI_TEACH_CRS
+ ActCopTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -732,6 +774,8 @@ static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] =
ActPasShaDeg, // Brw_ADMI_SHARE_DEG
ActPasShaCtr, // Brw_ADMI_SHARE_CTR
ActPasShaIns, // Brw_ADMI_SHARE_INS
+ ActPasTchCrs, // Brw_ADMI_TEACH_CRS
+ ActPasTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -760,6 +804,8 @@ static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] =
ActFrmCreShaDeg, // Brw_ADMI_SHARE_DEG
ActFrmCreShaCtr, // Brw_ADMI_SHARE_CTR
ActFrmCreShaIns, // Brw_ADMI_SHARE_INS
+ ActFrmCreTchCrs, // Brw_ADMI_TEACH_CRS
+ ActFrmCreTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -788,6 +834,8 @@ static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActCreFolShaDeg, // Brw_ADMI_SHARE_DEG
ActCreFolShaCtr, // Brw_ADMI_SHARE_CTR
ActCreFolShaIns, // Brw_ADMI_SHARE_INS
+ ActCreFolTchCrs, // Brw_ADMI_TEACH_CRS
+ ActCreFolTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -816,6 +864,8 @@ static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] =
ActCreLnkShaDeg, // Brw_ADMI_SHARE_DEG
ActCreLnkShaCtr, // Brw_ADMI_SHARE_CTR
ActCreLnkShaIns, // Brw_ADMI_SHARE_INS
+ ActCreLnkTchCrs, // Brw_ADMI_TEACH_CRS
+ ActCreLnkTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -844,6 +894,8 @@ static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActRenFolShaDeg, // Brw_ADMI_SHARE_DEG
ActRenFolShaCtr, // Brw_ADMI_SHARE_CTR
ActRenFolShaIns, // Brw_ADMI_SHARE_INS
+ ActRenFolTchCrs, // Brw_ADMI_TEACH_CRS
+ ActRenFolTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -872,6 +924,8 @@ static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER]
ActRcvFilShaDegDZ, // Brw_ADMI_SHARE_DEG
ActRcvFilShaCtrDZ, // Brw_ADMI_SHARE_CTR
ActRcvFilShaInsDZ, // Brw_ADMI_SHARE_INS
+ ActRcvFilTchCrsDZ, // Brw_ADMI_TEACH_CRS
+ ActRcvFilTchGrpDZ, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -900,6 +954,8 @@ static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] =
ActRcvFilShaDegCla, // Brw_ADMI_SHARE_DEG
ActRcvFilShaCtrCla, // Brw_ADMI_SHARE_CTR
ActRcvFilShaInsCla, // Brw_ADMI_SHARE_INS
+ ActRcvFilTchCrsCla, // Brw_ADMI_TEACH_CRS
+ ActRcvFilTchGrpCla, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -928,6 +984,8 @@ static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROW
ActAdmShaDeg, // Brw_ADMI_SHARE_DEG
ActAdmShaCtr, // Brw_ADMI_SHARE_CTR
ActAdmShaIns, // Brw_ADMI_SHARE_INS
+ ActAdmTchCrs, // Brw_ADMI_TEACH_CRS
+ ActAdmTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -956,6 +1014,8 @@ static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActExpShaDeg, // Brw_ADMI_SHARE_DEG
ActExpShaCtr, // Brw_ADMI_SHARE_CTR
ActExpShaIns, // Brw_ADMI_SHARE_INS
+ ActExpTchCrs, // Brw_ADMI_TEACH_CRS
+ ActExpTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -984,6 +1044,8 @@ static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActConShaDeg, // Brw_ADMI_SHARE_DEG
ActConShaCtr, // Brw_ADMI_SHARE_CTR
ActConShaIns, // Brw_ADMI_SHARE_INS
+ ActConTchCrs, // Brw_ADMI_TEACH_CRS
+ ActConTchGrp, // Brw_ADMI_TEACH_GRP
};
static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -1012,6 +1074,8 @@ static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActChgDatShaDeg, // Brw_ADMI_SHARE_DEG
ActChgDatShaCtr, // Brw_ADMI_SHARE_CTR
ActChgDatShaIns, // Brw_ADMI_SHARE_INS
+ ActChgDatTchCrs, // Brw_ADMI_TEACH_CRS
+ ActChgDatTchGrp, // Brw_ADMI_TEACH_GRP
};
/* All quotas must be multiple of 1 GiB (Gibibyte)*/
@@ -1038,6 +1102,14 @@ static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
#define Brw_MAX_FILES_DOCUM_GRP 1000
#define Brw_MAX_FOLDS_DOCUM_GRP 500
+#define Brw_MAX_QUOTA_TEACH_CRS Brw_MAX_QUOTA_DOCUM_CRS
+#define Brw_MAX_FILES_TEACH_CRS Brw_MAX_FILES_DOCUM_CRS
+#define Brw_MAX_FOLDS_TEACH_CRS Brw_MAX_FOLDS_DOCUM_CRS
+
+#define Brw_MAX_QUOTA_TEACH_GRP Brw_MAX_QUOTA_DOCUM_GRP
+#define Brw_MAX_FILES_TEACH_GRP Brw_MAX_FILES_DOCUM_GRP
+#define Brw_MAX_FOLDS_TEACH_GRP Brw_MAX_FOLDS_DOCUM_GRP
+
#define Brw_MAX_QUOTA_SHARE_INS (64ULL*Brw_GiB)
#define Brw_MAX_FILES_SHARE_INS 5000
#define Brw_MAX_FOLDS_SHARE_INS 1000 // Many, because every student can create his own directories
@@ -1542,7 +1614,7 @@ static void Brw_RenameOneFolderInDB (const char *OldPath,const char *NewPath);
static void Brw_RenameChildrenFilesOrFoldersInDB (const char *OldPath,const char *NewPath);
static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level);
static bool Brw_CheckIfICanCreateIntoFolder (unsigned Level);
-static bool Brw_CheckIfIHavePermissionFileOrFolderCommon (void);
+static bool Brw_CheckIfICanModifySharedFileOrFolder (void);
static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row);
@@ -1860,6 +1932,56 @@ void Brw_GetParAndInitFileBrowser (void)
Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_GRP;
break;
+ /***** Teachers' private files of course/group *****/
+ case ActAdmTchCrsGrp:
+ case ActChgToAdmTch: // Access to a teachers zone from menu
+ /* Set file browser type acording to last group accessed */
+ Gbl.FileBrowser.Type = (Gbl.CurrentCrs.Grps.GrpCod > 0) ? Brw_ADMI_TEACH_GRP :
+ Brw_ADMI_TEACH_CRS;
+ break;
+ case ActAdmTchCrs:
+ case ActReqRemFilTchCrs:
+ case ActRemFilTchCrs:
+ case ActRemFolTchCrs:
+ case ActCopTchCrs:
+ case ActPasTchCrs:
+ case ActRemTreTchCrs:
+ case ActFrmCreTchCrs:
+ case ActCreFolTchCrs:
+ case ActCreLnkTchCrs:
+ case ActRenFolTchCrs:
+ case ActRcvFilTchCrsDZ:
+ case ActRcvFilTchCrsCla:
+ case ActExpTchCrs:
+ case ActConTchCrs:
+ case ActZIPTchCrs:
+ case ActReqDatTchCrs:
+ case ActChgDatTchCrs:
+ case ActDowTchCrs:
+ Gbl.FileBrowser.Type = Brw_ADMI_TEACH_CRS;
+ break;
+ case ActAdmTchGrp:
+ case ActReqRemFilTchGrp:
+ case ActRemFilTchGrp:
+ case ActRemFolTchGrp:
+ case ActCopTchGrp:
+ case ActPasTchGrp:
+ case ActRemTreTchGrp:
+ case ActFrmCreTchGrp:
+ case ActCreFolTchGrp:
+ case ActCreLnkTchGrp:
+ case ActRenFolTchGrp:
+ case ActRcvFilTchGrpDZ:
+ case ActRcvFilTchGrpCla:
+ case ActExpTchGrp:
+ case ActConTchGrp:
+ case ActZIPTchGrp:
+ case ActReqDatTchGrp:
+ case ActChgDatTchGrp:
+ case ActDowTchGrp:
+ Gbl.FileBrowser.Type = Brw_ADMI_TEACH_GRP;
+ break;
+
/***** Shared files of course/group *****/
case ActAdmShaCrsGrp:
case ActChgToAdmSha: // Access to a shared zone from menu
@@ -2146,6 +2268,9 @@ void Brw_GetParAndInitFileBrowser (void)
case ActCreFolDocCrs: case ActRenFolDocCrs:
case ActCreFolDocGrp: case ActRenFolDocGrp:
+ case ActCreFolTchCrs: case ActRenFolTchCrs:
+ case ActCreFolTchGrp: case ActRenFolTchGrp:
+
case ActCreFolShaCrs: case ActRenFolShaCrs:
case ActCreFolShaGrp: case ActRenFolShaGrp:
@@ -2167,10 +2292,9 @@ void Brw_GetParAndInitFileBrowser (void)
case ActCreLnkShaCtr:
case ActCreLnkDocDeg:
case ActCreLnkShaDeg:
- case ActCreLnkDocCrs:
- case ActCreLnkDocGrp:
- case ActCreLnkShaCrs:
- case ActCreLnkShaGrp:
+ case ActCreLnkDocCrs: case ActCreLnkDocGrp:
+ case ActCreLnkTchCrs: case ActCreLnkTchGrp:
+ case ActCreLnkShaCrs: case ActCreLnkShaGrp:
case ActCreLnkAsgCrs:
case ActCreLnkWrkCrs:
case ActCreLnkAsgUsr:
@@ -2240,16 +2364,18 @@ static long Brw_GetGrpSettings (void)
/***** Try to get group code from database *****/
switch (Gbl.Action.Act)
{
- case ActSeeAdmDocCrsGrp:
+ case ActSeeAdmDocCrsGrp: // Access to a documents zone from menu
case ActSeeDocGrp:
- case ActAdmDocGrp: // Access to a documents zone from menu
+ case ActAdmDocGrp:
+ case ActAdmTchCrsGrp: // Access to a documents zone from menu
+ case ActAdmTchGrp:
return Brw_GetGrpLastAccZone ("LastDowGrpCod");
- case ActAdmShaCrsGrp:
- case ActAdmShaGrp: // Access to a shared documents zone from menu
+ case ActAdmShaCrsGrp: // Access to a shared documents zone from menu
+ case ActAdmShaGrp:
return Brw_GetGrpLastAccZone ("LastComGrpCod");
- case ActSeeAdmMrk:
+ case ActSeeAdmMrk: // Access to a marks zone from menu
case ActSeeMrkGrp:
- case ActAdmMrkGrp: // Access to a marks zone from menu
+ case ActAdmMrkGrp:
return Brw_GetGrpLastAccZone ("LastAssGrpCod");
default:
return -1L;
@@ -2271,25 +2397,33 @@ static void Brw_GetDataCurrentGrp (void)
switch (Gbl.Action.Act)
{
- case ActSeeAdmDocCrsGrp:// Access to see/admin a documents zone from menu
- case ActChgToSeeDocCrs:// Access to see a documents zone
- case ActSeeDocGrp: // Access to see a documents zone
+ case ActSeeAdmDocCrsGrp: // Access to see/admin a documents zone from menu
+ case ActChgToSeeDocCrs: // Access to see a documents zone
+ case ActSeeDocGrp: // Access to see a documents zone
- case ActChgToAdmDocCrs:// Access to admin a documents zone
- case ActAdmDocGrp: // Access to admin a documents zone
+ case ActChgToAdmDocCrs: // Access to admin a documents zone
+ case ActAdmDocGrp: // Access to admin a documents zone
- case ActChgToAdmSha: // Access to admin a common zone
- case ActAdmShaGrp: // Access to admin a common zone
+ case ActChgToAdmTch: // Access to admin a teachers' zone
+ case ActAdmTchGrp: // Access to admin a teachers' zone
- case ActSeeAdmMrk: // Access to see/admin a marks zone from menu
- case ActChgToSeeMrk: // Access to see a marks zone
- case ActSeeMrkGrp: // Access to see a marks zone
+ case ActChgToAdmSha: // Access to admin a shared zone
+ case ActAdmShaGrp: // Access to admin a shared zone
- case ActChgToAdmMrk: // Access to admin a marks zone
- case ActAdmMrkGrp: // Access to admin a marks zone
+ case ActSeeAdmMrk: // Access to see/admin a marks zone from menu
+ case ActChgToSeeMrk: // Access to see a marks zone
+ case ActSeeMrkGrp: // Access to see a marks zone
+
+ case ActChgToAdmMrk: // Access to admin a marks zone
+ case ActAdmMrkGrp: // Access to admin a marks zone
/***** For security, check if group file zones are enabled,
and check if I belongs to the selected group *****/
- if (!GrpDat.FileZones || !Grp_GetIfIBelongToGrp (Gbl.CurrentCrs.Grps.GrpCod))
+ if (GrpDat.FileZones)
+ {
+ if (!Grp_GetIfIBelongToGrp (Gbl.CurrentCrs.Grps.GrpCod))
+ Gbl.CurrentCrs.Grps.GrpCod = -1L; // Go to course zone
+ }
+ else
Gbl.CurrentCrs.Grps.GrpCod = -1L; // Go to course zone
break;
default:
@@ -2499,6 +2633,7 @@ static void Brw_SetPathFileBrowser (void)
break;
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_SHOW_MARKS_CRS:
case Brw_ADMI_MARKS_CRS:
@@ -2507,6 +2642,7 @@ static void Brw_SetPathFileBrowser (void)
break;
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -2903,6 +3039,16 @@ static void Brw_SetMaxQuota (void)
Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_DOCUM_GRP;
Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_DOCUM_GRP;
break;
+ case Brw_ADMI_TEACH_CRS:
+ Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_TEACH_CRS;
+ Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_TEACH_CRS;
+ Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_TEACH_CRS;
+ break;
+ case Brw_ADMI_TEACH_GRP:
+ Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_TEACH_GRP;
+ Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_TEACH_GRP;
+ Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_TEACH_GRP;
+ break;
case Brw_ADMI_SHARE_CRS:
Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_SHARE_CRS;
Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_SHARE_CRS;
@@ -3180,11 +3326,13 @@ static void Brw_FormToChangeCrsGrpZone (void)
struct GroupData GrpDat;
bool IsCourseZone = Gbl.FileBrowser.Type == Brw_SHOW_DOCUM_CRS ||
Gbl.FileBrowser.Type == Brw_ADMI_DOCUM_CRS ||
+ Gbl.FileBrowser.Type == Brw_ADMI_TEACH_CRS ||
Gbl.FileBrowser.Type == Brw_ADMI_SHARE_CRS ||
Gbl.FileBrowser.Type == Brw_SHOW_MARKS_CRS ||
Gbl.FileBrowser.Type == Brw_ADMI_MARKS_CRS;
bool IsGroupZone = Gbl.FileBrowser.Type == Brw_SHOW_DOCUM_GRP ||
Gbl.FileBrowser.Type == Brw_ADMI_DOCUM_GRP ||
+ Gbl.FileBrowser.Type == Brw_ADMI_TEACH_GRP ||
Gbl.FileBrowser.Type == Brw_ADMI_SHARE_GRP ||
Gbl.FileBrowser.Type == Brw_SHOW_MARKS_GRP ||
Gbl.FileBrowser.Type == Brw_ADMI_MARKS_GRP;
@@ -3401,6 +3549,7 @@ static void Brw_ShowFileBrowser (void)
{
extern const char *Txt_Documents_area;
extern const char *Txt_Documents_management_area;
+ extern const char *Txt_Teachers_files_area;
extern const char *Txt_Shared_files_area;
extern const char *Txt_Marks_area;
extern const char *Txt_Marks_management_area;
@@ -3413,31 +3562,33 @@ static void Brw_ShowFileBrowser (void)
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM;
/***** Set title of file browser *****/
- Brw_TitleOfFileBrowser[Brw_UNKNOWN ] = NULL; // Brw_UNKNOWN
- Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_CRS] = Txt_Documents_area; // Brw_SHOW_DOCUM_CRS
- Brw_TitleOfFileBrowser[Brw_SHOW_MARKS_CRS] = Txt_Marks_area; // Brw_SHOW_MARKS_CRS
- Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_CRS] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_CRS
- Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_CRS] = Txt_Shared_files_area; // Brw_ADMI_SHARE_CRS
- Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_GRP] = Txt_Shared_files_area; // Brw_ADMI_SHARE_GRP
- Brw_TitleOfFileBrowser[Brw_ADMI_WORKS_USR] = Txt_Works_area; // Brw_ADMI_WORKS_USR
- Brw_TitleOfFileBrowser[Brw_ADMI_WORKS_CRS] = Txt_Works_area; // Brw_ADMI_WORKS_CRS
- Brw_TitleOfFileBrowser[Brw_ADMI_MARKS_CRS] = Txt_Marks_management_area; // Brw_ADMI_MARKS_CRS
+ Brw_TitleOfFileBrowser[Brw_UNKNOWN ] = NULL; // Brw_UNKNOWN
+ Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_CRS] = Txt_Documents_area; // Brw_SHOW_DOCUM_CRS
+ Brw_TitleOfFileBrowser[Brw_SHOW_MARKS_CRS] = Txt_Marks_area; // Brw_SHOW_MARKS_CRS
+ Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_CRS] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_CRS
+ Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_CRS] = Txt_Shared_files_area; // Brw_ADMI_SHARE_CRS
+ Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_GRP] = Txt_Shared_files_area; // Brw_ADMI_SHARE_GRP
+ Brw_TitleOfFileBrowser[Brw_ADMI_WORKS_USR] = Txt_Works_area; // Brw_ADMI_WORKS_USR
+ Brw_TitleOfFileBrowser[Brw_ADMI_WORKS_CRS] = Txt_Works_area; // Brw_ADMI_WORKS_CRS
+ Brw_TitleOfFileBrowser[Brw_ADMI_MARKS_CRS] = Txt_Marks_management_area; // Brw_ADMI_MARKS_CRS
Brw_TitleOfFileBrowser[Brw_ADMI_BRIEF_USR] = Txt_Temporary_private_storage_area; // Brw_ADMI_BRIEF_USR
- Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_GRP] = Txt_Documents_area; // Brw_SHOW_DOCUM_GRP
- Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_GRP] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_GRP
- Brw_TitleOfFileBrowser[Brw_SHOW_MARKS_GRP] = Txt_Marks_area; // Brw_SHOW_MARKS_GRP
- Brw_TitleOfFileBrowser[Brw_ADMI_MARKS_GRP] = Txt_Marks_management_area; // Brw_ADMI_MARKS_GRP
- Brw_TitleOfFileBrowser[Brw_ADMI_ASSIG_USR] = Txt_Assignments_area; // Brw_ADMI_ASSIG_USR
- Brw_TitleOfFileBrowser[Brw_ADMI_ASSIG_CRS] = Txt_Assignments_area; // Brw_ADMI_ASSIG_CRS
- Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_DEG] = Txt_Documents_area; // Brw_SHOW_DOCUM_DEG
- Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_DEG] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_DEG
- Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_CTR] = Txt_Documents_area; // Brw_SHOW_DOCUM_CTR
- Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_CTR] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_CTR
- Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_INS] = Txt_Documents_area; // Brw_SHOW_DOCUM_INS
- Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_INS] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_INS
- Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_DEG] = Txt_Shared_files_area; // Brw_ADMI_SHARE_DEG
- Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_CTR] = Txt_Shared_files_area; // Brw_ADMI_SHARE_CTR
- Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_INS] = Txt_Shared_files_area; // Brw_ADMI_SHARE_INS
+ Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_GRP] = Txt_Documents_area; // Brw_SHOW_DOCUM_GRP
+ Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_GRP] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_GRP
+ Brw_TitleOfFileBrowser[Brw_SHOW_MARKS_GRP] = Txt_Marks_area; // Brw_SHOW_MARKS_GRP
+ Brw_TitleOfFileBrowser[Brw_ADMI_MARKS_GRP] = Txt_Marks_management_area; // Brw_ADMI_MARKS_GRP
+ Brw_TitleOfFileBrowser[Brw_ADMI_ASSIG_USR] = Txt_Assignments_area; // Brw_ADMI_ASSIG_USR
+ Brw_TitleOfFileBrowser[Brw_ADMI_ASSIG_CRS] = Txt_Assignments_area; // Brw_ADMI_ASSIG_CRS
+ Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_DEG] = Txt_Documents_area; // Brw_SHOW_DOCUM_DEG
+ Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_DEG] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_DEG
+ Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_CTR] = Txt_Documents_area; // Brw_SHOW_DOCUM_CTR
+ Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_CTR] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_CTR
+ Brw_TitleOfFileBrowser[Brw_SHOW_DOCUM_INS] = Txt_Documents_area; // Brw_SHOW_DOCUM_INS
+ Brw_TitleOfFileBrowser[Brw_ADMI_DOCUM_INS] = Txt_Documents_management_area; // Brw_ADMI_DOCUM_INS
+ Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_DEG] = Txt_Shared_files_area; // Brw_ADMI_SHARE_DEG
+ Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_CTR] = Txt_Shared_files_area; // Brw_ADMI_SHARE_CTR
+ Brw_TitleOfFileBrowser[Brw_ADMI_SHARE_INS] = Txt_Shared_files_area; // Brw_ADMI_SHARE_INS
+ Brw_TitleOfFileBrowser[Brw_ADMI_TEACH_CRS] = Txt_Teachers_files_area; // Brw_ADMI_TEACH_CRS
+ Brw_TitleOfFileBrowser[Brw_ADMI_TEACH_GRP] = Txt_Teachers_files_area; // Brw_ADMI_TEACH_GRP
/***** Set function to write contextual icons in frame *****/
FunctionToDrawContextualIcons = NULL;
@@ -3620,14 +3771,18 @@ static void Brw_UpdateLastAccess (void)
{
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
if (Gbl.Action.Act == ActChgToSeeDocCrs ||
- Gbl.Action.Act == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
+ Gbl.Action.Act == ActChgToAdmDocCrs ||
+ Gbl.Action.Act == ActChgToAdmTch) // Update group of last access to a documents/teachers zone only when user changes zone
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",-1L);
break;
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
if (Gbl.Action.Act == ActChgToSeeDocCrs ||
- Gbl.Action.Act == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
+ Gbl.Action.Act == ActChgToAdmDocCrs ||
+ Gbl.Action.Act == ActChgToAdmTch) // Update group of last access to a documents/teachers zone only when user changes zone
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
break;
case Brw_ADMI_SHARE_CRS:
@@ -3707,6 +3862,8 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
case Brw_ADMI_DOCUM_CRS:
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_CRS:
@@ -3767,10 +3924,9 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
Txt_accessible_only_for_reading_by_students_of_the_group_and_teachers_of_the_course);
break;
case Brw_ADMI_DOCUM_CRS:
- sprintf (Subtitle,"(%s)",
- Txt_accessible_for_reading_and_writing_by_teachers_of_the_course);
- break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
sprintf (Subtitle,"(%s)",
Txt_accessible_for_reading_and_writing_by_teachers_of_the_course);
break;
@@ -4096,10 +4252,11 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
/***** Remove from database the entries that store the file views *****/
sprintf (Query,"DELETE FROM file_view USING file_view,files"
- " WHERE files.FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " WHERE files.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" AND files.Cod='%ld'"
" AND files.FilCod=file_view.FilCod",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
@@ -4109,9 +4266,10 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
/***** Remove from database expanded folders *****/
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
- " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_ASSIG_CRS,
@@ -4123,9 +4281,10 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
/***** Remove from database the entries that store clipboards *****/
sprintf (Query,"DELETE FROM clipboard"
- " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_ASSIG_CRS,
@@ -4139,9 +4298,10 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
// Assignments and works are stored as one in file_browser_last...
// ...because a user views them at the same time
sprintf (Query,"DELETE FROM file_browser_last"
- " WHERE FileBrowser IN ('%u','%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
@@ -4150,9 +4310,10 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
/***** Remove from database the entries that store the sizes of the file zones *****/
sprintf (Query,"DELETE FROM file_browser_size"
- " WHERE FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
@@ -4162,9 +4323,10 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
/***** Remove from database the entries that store the data files *****/
sprintf (Query,"DELETE FROM files"
- " WHERE FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
@@ -4192,10 +4354,11 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod)
/***** Remove from database the entries that store the file views *****/
sprintf (Query,"DELETE FROM file_view USING file_view,files"
- " WHERE files.FileBrowser IN ('%u','%u','%u')"
+ " WHERE files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod='%ld'"
" AND files.FilCod=file_view.FilCod",
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -4203,9 +4366,10 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod)
/***** Remove from database expanded folders *****/
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
- " WHERE FileBrowser IN ('%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -4213,9 +4377,10 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod)
/***** Remove from database the entries that store clipboards *****/
sprintf (Query,"DELETE FROM clipboard"
- " WHERE FileBrowser IN ('%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -4223,9 +4388,10 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod)
/***** Remove from database the entries that store the last time users visited file zones *****/
sprintf (Query,"DELETE FROM file_browser_last"
- " WHERE FileBrowser IN ('%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -4233,9 +4399,10 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod)
/***** Remove from database the entries that store the sizes of the file zones *****/
sprintf (Query,"DELETE FROM file_browser_size"
- " WHERE FileBrowser IN ('%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -4243,9 +4410,10 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod)
/***** Remove from database the entries that store the data files *****/
sprintf (Query,"DELETE FROM files"
- " WHERE FileBrowser IN ('%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -4263,10 +4431,10 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
/***** Remove from database expanded folders *****/
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
" WHERE UsrCod='%ld' AND ("
- "(FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u')"
+ "(FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u','%u')"
" AND Cod='%ld')"
" OR "
- "(FileBrowser IN ('%u','%u','%u')"
+ "(FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod IN"
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
" WHERE crs_grp_types.CrsCod='%ld'"
@@ -4274,6 +4442,7 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
")",
UsrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_ASSIG_CRS,
@@ -4282,6 +4451,7 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
(unsigned) Brw_ADMI_MARKS_CRS,
CrsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
CrsCod);
@@ -4290,10 +4460,10 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
/***** Remove from database the entries that store clipboards *****/
sprintf (Query,"DELETE FROM clipboard"
" WHERE UsrCod='%ld' AND ("
- "(FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u')"
+ "(FileBrowser IN ('%u','%u','%u','%u','%u','%u','%u','%u')"
" AND Cod='%ld')"
" OR "
- "(FileBrowser IN ('%u','%u','%u')"
+ "(FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod IN"
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
" WHERE crs_grp_types.CrsCod='%ld'"
@@ -4301,6 +4471,7 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
")",
UsrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_ASSIG_CRS,
@@ -4309,6 +4480,7 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
(unsigned) Brw_ADMI_MARKS_CRS,
CrsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
CrsCod);
@@ -4319,10 +4491,10 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
// ...because a user views them at the same time
sprintf (Query,"DELETE FROM file_browser_last"
" WHERE UsrCod='%ld' AND ("
- "(FileBrowser IN ('%u','%u','%u','%u')"
+ "(FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND Cod='%ld')"
" OR "
- "(FileBrowser IN ('%u','%u','%u')"
+ "(FileBrowser IN ('%u','%u','%u','%u')"
" AND Cod IN"
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
" WHERE crs_grp_types.CrsCod='%ld'"
@@ -4330,11 +4502,13 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long CrsCod,long UsrCod)
")",
UsrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
CrsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
CrsCod);
@@ -4483,6 +4657,7 @@ static void Brw_WriteFormFullTree (void)
case Brw_ADMI_SHARE_DEG:
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_SHOW_MARKS_CRS:
case Brw_ADMI_MARKS_CRS:
@@ -4490,6 +4665,7 @@ static void Brw_WriteFormFullTree (void)
break;
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -4596,6 +4772,7 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void)
break;
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_SHOW_MARKS_CRS:
case Brw_ADMI_MARKS_CRS:
@@ -4607,6 +4784,7 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void)
break;
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -4882,7 +5060,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,
Gbl.FileBrowser.Type == Brw_ADMI_DOCUM_DEG ||
Gbl.FileBrowser.Type == Brw_ADMI_DOCUM_CRS ||
Gbl.FileBrowser.Type == Brw_ADMI_DOCUM_GRP;
- bool CommonZone = Gbl.FileBrowser.Type == Brw_ADMI_SHARE_INS ||
+ bool SharedZone = Gbl.FileBrowser.Type == Brw_ADMI_SHARE_INS ||
Gbl.FileBrowser.Type == Brw_ADMI_SHARE_CTR ||
Gbl.FileBrowser.Type == Brw_ADMI_SHARE_DEG ||
Gbl.FileBrowser.Type == Brw_ADMI_SHARE_CRS ||
@@ -4930,7 +5108,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,
Gbl.FileBrowser.Priv.FullPathInTree,false,Brw_LICENSE_DEFAULT);
/***** Is this row public or private? *****/
- if (SeeDocsZone || AdminDocsZone || CommonZone)
+ if (SeeDocsZone || AdminDocsZone || SharedZone)
{
RowSetAsPublic = (FileType == Brw_IS_FOLDER) ? Brw_GetIfFolderHasPublicFiles (Gbl.FileBrowser.Priv.FullPathInTree) :
FileMetadata.IsPublic;
@@ -5182,6 +5360,7 @@ static void Brw_PutIconRemoveFile (Brw_FileType_t FileType,
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -5226,6 +5405,7 @@ static void Brw_PutIconRemoveDir (const char *PathInTree,const char *FileName,co
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -5272,6 +5452,7 @@ static void Brw_PutIconCopy (Brw_FileType_t FileType,
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -5319,6 +5500,7 @@ static void Brw_PutIconPasteOn (const char *PathInTree,const char *FileName,cons
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -5394,6 +5576,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
{
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -5426,6 +5609,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,Brw_ExpandTree_
{
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -5585,6 +5769,7 @@ static void Brw_PutIconFolder (unsigned Level,Brw_ExpandTree_t ExpandTree,
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -5659,6 +5844,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size,
{
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -5758,6 +5944,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic,Brw_FileType_t FileT
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -5817,6 +6004,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic,Brw_FileType_t FileT
{
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP:
@@ -6084,6 +6272,7 @@ void Brw_AskRemFileFromTree (void)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -6236,6 +6425,7 @@ static void Brw_AskConfirmRemoveFolderNotEmpty (void)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -6434,6 +6624,7 @@ static void Brw_WriteCurrentClipboard (void)
{
extern const char *Txt_Copy_source;
extern const char *Txt_documents_management_area;
+ extern const char *Txt_teachers_files_area;
extern const char *Txt_shared_files_area;
extern const char *Txt_assignments_area;
extern const char *Txt_works_area;
@@ -6524,6 +6715,23 @@ static void Brw_WriteCurrentClipboard (void)
Txt_course,Crs.ShortName,
Txt_group,GrpDat.GrpTypName,GrpDat.GrpName);
break;
+ case Brw_ADMI_TEACH_CRS:
+ Crs.CrsCod = Gbl.FileBrowser.Clipboard.Cod;
+ Crs_GetDataOfCourseByCod (&Crs);
+ fprintf (Gbl.F.Out,"%s, %s %s",
+ Txt_teachers_files_area,
+ Txt_course,Crs.ShortName);
+ break;
+ case Brw_ADMI_TEACH_GRP:
+ GrpDat.GrpCod = Gbl.FileBrowser.Clipboard.Cod;
+ Grp_GetDataOfGroupByCod (&GrpDat);
+ Crs.CrsCod = GrpDat.CrsCod;
+ Crs_GetDataOfCourseByCod (&Crs);
+ fprintf (Gbl.F.Out,"%s, %s %s, %s %s %s",
+ Txt_teachers_files_area,
+ Txt_course,Crs.ShortName,
+ Txt_group,GrpDat.GrpTypName,GrpDat.GrpName);
+ break;
case Brw_ADMI_SHARE_CRS:
Crs.CrsCod = Gbl.FileBrowser.Clipboard.Cod;
Crs_GetDataOfCourseByCod (&Crs);
@@ -6746,6 +6954,7 @@ static bool Brw_CheckIfClipboardIsInThisTree (void)
return true; // I am in the degree of the clipboard
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
case Brw_ADMI_ASSIG_USR:
@@ -6761,6 +6970,7 @@ static bool Brw_CheckIfClipboardIsInThisTree (void)
// I am in the student's works of the clipboard
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
if (Gbl.FileBrowser.Clipboard.Cod == Gbl.CurrentCrs.Grps.GrpCod)
@@ -6837,6 +7047,7 @@ static long Brw_GetCodForClipboard (void)
case Brw_ADMI_SHARE_DEG:
return Gbl.CurrentDeg.Deg.DegCod;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_ASSIG_CRS:
@@ -6845,6 +7056,7 @@ static long Brw_GetCodForClipboard (void)
case Brw_ADMI_MARKS_CRS:
return Gbl.CurrentCrs.Crs.CrsCod;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
return Gbl.CurrentCrs.Grps.GrpCod;
@@ -7186,6 +7398,7 @@ static long Brw_GetCodForExpandedFolders (void)
case Brw_ADMI_SHARE_DEG:
return Gbl.CurrentDeg.Deg.DegCod;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_ASSIG_CRS:
@@ -7194,6 +7407,7 @@ static long Brw_GetCodForExpandedFolders (void)
case Brw_ADMI_MARKS_CRS:
return Gbl.CurrentCrs.Crs.CrsCod;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
return Gbl.CurrentCrs.Grps.GrpCod;
@@ -7279,6 +7493,7 @@ static void Brw_RemoveAffectedClipboards (Brw_FileBrowser_t FileBrowser,long MyU
(unsigned) FileBrowser,Gbl.CurrentDeg.Deg.DegCod);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"DELETE FROM clipboard"
@@ -7286,6 +7501,7 @@ static void Brw_RemoveAffectedClipboards (Brw_FileBrowser_t FileBrowser,long MyU
(unsigned) FileBrowser,Gbl.CurrentCrs.Crs.CrsCod);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"DELETE FROM clipboard"
@@ -7332,6 +7548,7 @@ void Brw_PasteIntoFileBrowser (void)
switch (Gbl.FileBrowser.Clipboard.FileBrowser)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP: // Clipboard in a group zone
GrpDat.GrpCod = Gbl.FileBrowser.Clipboard.Cod;
@@ -7444,6 +7661,7 @@ static void Brw_PasteClipboard (void)
Lay_ShowErrorAndExit ("The degree of copy source does not exist.");
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
Crs.CrsCod = Gbl.FileBrowser.Clipboard.Cod;
@@ -7455,6 +7673,7 @@ static void Brw_PasteClipboard (void)
Lay_ShowErrorAndExit ("The course of copy source does not exist.");
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
GrpDat.GrpCod = Gbl.FileBrowser.Clipboard.Cod;
@@ -7536,6 +7755,11 @@ static void Brw_PasteClipboard (void)
NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_DOCUMENT_FILE,FirstFilCod);
Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail);
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_TEACHERS_FILE,FirstFilCod);
+ Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail);
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_SHARED_FILE,FirstFilCod);
@@ -7862,6 +8086,7 @@ static void Brw_PutFormToCreateAFolder (const char *FileNameToShow)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -7936,6 +8161,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -7961,6 +8187,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -8010,6 +8237,7 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -8049,6 +8277,7 @@ static void Brw_PutFormToPasteAFileOrFolder (const char *FileNameToShow)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -8096,6 +8325,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
@@ -8537,6 +8767,12 @@ static bool Brw_RcvFileInFileBrw (Brw_UploadType_t UploadType)
if (UploadType == Brw_CLASSIC_UPLOAD)
Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail);
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_TEACHERS_FILE,FilCod);
+ if (UploadType == Brw_CLASSIC_UPLOAD)
+ Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail);
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_SHARED_FILE,FilCod);
@@ -8703,6 +8939,11 @@ void Brw_RecLinkFileBrowser (void)
NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_DOCUMENT_FILE,FilCod);
Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail);
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_TEACHERS_FILE,FilCod);
+ Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail);
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_SHARED_FILE,FilCod);
@@ -9077,7 +9318,12 @@ void Brw_ShowFileMetadata (void)
ICanChangePublic = true;
ICanChangeLicense = true;
break;
+ case Brw_ADMI_TEACH_CRS:
+ ICanChangePublic = false; // A file in teachers' zones can not be public...
+ ICanChangeLicense = true; // ...but I can change its license
+ break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
Grp_PutParamGrpCod (Gbl.CurrentCrs.Grps.GrpCod);
ICanChangePublic = false; // A file in group zones can not be public...
@@ -9305,6 +9551,12 @@ void Brw_ShowFileMetadata (void)
FileMetadata.FilCod,Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ Ntf_MarkNotifAsSeen (Ntf_EVENT_TEACHERS_FILE,
+ FileMetadata.FilCod,Gbl.CurrentCrs.Crs.CrsCod,
+ Gbl.Usrs.Me.UsrDat.UsrCod);
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
Ntf_MarkNotifAsSeen (Ntf_EVENT_SHARED_FILE,
@@ -9339,6 +9591,11 @@ void Brw_ShowFileMetadata (void)
Ntf_MarkNotifAsRemoved (Ntf_EVENT_DOCUMENT_FILE,
FileMetadata.FilCod);
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ Ntf_MarkNotifAsRemoved (Ntf_EVENT_TEACHERS_FILE,
+ FileMetadata.FilCod);
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
Ntf_MarkNotifAsRemoved (Ntf_EVENT_SHARED_FILE,
@@ -9444,6 +9701,12 @@ void Brw_DownloadFile (void)
FileMetadata.FilCod,Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ Ntf_MarkNotifAsSeen (Ntf_EVENT_TEACHERS_FILE,
+ FileMetadata.FilCod,Gbl.CurrentCrs.Crs.CrsCod,
+ Gbl.Usrs.Me.UsrDat.UsrCod);
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
Ntf_MarkNotifAsSeen (Ntf_EVENT_SHARED_FILE,
@@ -9485,19 +9748,24 @@ void Brw_DownloadFile (void)
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
Ntf_MarkNotifAsRemoved (Ntf_EVENT_DOCUMENT_FILE,
- FileMetadata.FilCod);
+ FileMetadata.FilCod);
+ break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ Ntf_MarkNotifAsRemoved (Ntf_EVENT_TEACHERS_FILE,
+ FileMetadata.FilCod);
break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
Ntf_MarkNotifAsRemoved (Ntf_EVENT_SHARED_FILE,
- FileMetadata.FilCod);
+ FileMetadata.FilCod);
break;
case Brw_SHOW_MARKS_CRS:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_CRS:
case Brw_ADMI_MARKS_GRP:
Ntf_MarkNotifAsRemoved (Ntf_EVENT_MARKS_FILE,
- FileMetadata.FilCod);
+ FileMetadata.FilCod);
break;
default:
break;
@@ -9531,11 +9799,16 @@ static bool Brw_CheckIfICanEditFileMetadata (long PublisherUsrCod)
case ActReqDatAdmDocCrs: case ActChgDatAdmDocCrs:
case ActReqDatAdmDocGrp: case ActChgDatAdmDocGrp:
+
+ case ActReqDatTchCrs: case ActChgDatTchCrs:
+ case ActReqDatTchGrp: case ActChgDatTchGrp:
+
case ActReqDatShaCrs: case ActChgDatShaCrs:
case ActReqDatShaGrp: case ActChgDatShaGrp:
case ActReqDatAsgUsr: case ActChgDatAsgUsr:
case ActReqDatAsgCrs: case ActChgDatAsgCrs:
+
case ActReqDatWrkCrs: case ActChgDatWrkCrs:
case ActReqDatWrkUsr: case ActChgDatWrkUsr:
@@ -9764,6 +10037,8 @@ void Brw_ChgFileMetadata (void)
License = Brw_GetParLicense ();
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_ASSIG_CRS:
@@ -10565,12 +10840,14 @@ long Brw_GetCodForFiles (void)
case Brw_ADMI_SHARE_DEG:
return Gbl.CurrentDeg.Deg.DegCod;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
case Brw_ADMI_MARKS_CRS:
return Gbl.CurrentCrs.Crs.CrsCod;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
return Gbl.CurrentCrs.Grps.GrpCod;
@@ -10645,6 +10922,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
*InsCod = Ctr.InsCod;
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
@@ -10659,6 +10937,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
*InsCod = Ctr.InsCod;
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
*GrpCod = GrpDat.GrpCod = Cod;
@@ -10846,6 +11125,10 @@ static void Brw_RenameChildrenFilesOrFoldersInDB (const char *OldPath,const char
static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level)
{
+ /***** Level 0 (root folder) can not be removed/renamed *****/
+ if (Level == 0)
+ return false;
+
/***** I must be student, teacher, admin or superuser to edit *****/
if (Gbl.Usrs.Me.MaxRole < Rol_STUDENT)
return false;
@@ -10853,25 +11136,25 @@ static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level)
/***** Set depending on browser, level, logged role... *****/
switch (Gbl.FileBrowser.Type)
{
+ case Brw_ADMI_TEACH_CRS:
+ return (Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER);
+ case Brw_ADMI_TEACH_GRP:
+ if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER)
+ return Grp_GetIfIBelongToGrp (Gbl.CurrentCrs.Grps.GrpCod); // A teacher can edit only if hr/she belongs to group
+ return (Gbl.Usrs.Me.LoggedRole > Rol_TEACHER);
case Brw_ADMI_SHARE_CRS:
- // Check if I am the publisher of the folder
- return (Level ? Brw_CheckIfIHavePermissionFileOrFolderCommon () :
- false);
case Brw_ADMI_SHARE_GRP:
// Check if I am the publisher of the folder
- return (Level ? Brw_CheckIfIHavePermissionFileOrFolderCommon () :
- false);
+ return Brw_CheckIfICanModifySharedFileOrFolder ();
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_ASSIG_CRS:
- return (Level != 0 &&
- (Gbl.FileBrowser.Asg.AsgCod < 0 || // If folder does not correspond to any assignment
- (!Gbl.FileBrowser.Asg.Hidden && // If assignment is visible (not hidden)
- Gbl.FileBrowser.Asg.IBelongToCrsOrGrps && // If I can do this assignment
- ((Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && Gbl.FileBrowser.Asg.Open) ||
- Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER))));
+ return (Gbl.FileBrowser.Asg.AsgCod < 0 || // If folder does not correspond to any assignment
+ (!Gbl.FileBrowser.Asg.Hidden && // If assignment is visible (not hidden)
+ Gbl.FileBrowser.Asg.IBelongToCrsOrGrps && // If I can do this assignment
+ ((Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && Gbl.FileBrowser.Asg.Open) ||
+ Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)));
default:
- return (Level != 0 &&
- Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type]);
+ return Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type];
}
}
@@ -10913,7 +11196,7 @@ static bool Brw_CheckIfICanCreateIntoFolder (unsigned Level)
// A user can remove or rename a file if he's the publisher
// A user can remove or rename a folder if he's the unique publisher of all the files and folders in the subtree starting there
-static bool Brw_CheckIfIHavePermissionFileOrFolderCommon (void)
+static bool Brw_CheckIfICanModifySharedFileOrFolder (void)
{
long Cod = Brw_GetCodForFiles ();
char Query[512+PATH_MAX*2];
@@ -11102,12 +11385,12 @@ void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t Qu
}
/*****************************************************************************/
-/********** Get summary and content of a document or a shared file ***********/
+/******************** Get summary and content of a file **********************/
/*****************************************************************************/
// This function may be called inside a web service, so don't report error
-void Brw_GetSummaryAndContentOrSharedFile (char *SummaryStr,char **ContentStr,
- long FilCod,unsigned MaxChars,bool GetContent)
+void Brw_GetSummaryAndContentOfFile (char *SummaryStr,char **ContentStr,
+ long FilCod,unsigned MaxChars,bool GetContent)
{
char Query[256];
MYSQL_RES *mysql_res;
@@ -11256,6 +11539,7 @@ unsigned Brw_ListDocsFound (const char *Query,
static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
{
extern const char *Txt_Documents_area;
+ extern const char *Txt_Teachers_files_area;
extern const char *Txt_Shared_files_area;
extern const char *Txt_Assignments_area;
extern const char *Txt_Works_area;
@@ -11396,6 +11680,10 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
case Brw_ADMI_DOCUM_GRP:
Title = Txt_Documents_area;
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ Title = Txt_Teachers_files_area;
+ break;
case Brw_ADMI_SHARE_INS:
case Brw_ADMI_SHARE_CTR:
case Brw_ADMI_SHARE_DEG:
diff --git a/swad_file_browser.h b/swad_file_browser.h
index ae1e4f97..f32d2272 100644
--- a/swad_file_browser.h
+++ b/swad_file_browser.h
@@ -35,8 +35,9 @@
/******************************* Public types ********************************/
/*****************************************************************************/
-#define Brw_NUM_TYPES_FILE_BROWSER 25
-// The following types are stored in clipboard, expanded_folders, file_browser_size tables as numeric fields, so don't change numbers!
+#define Brw_NUM_TYPES_FILE_BROWSER 27
+// The following types are stored in several database tables as numeric fields,
+// so don't change numbers!
typedef enum
{
Brw_UNKNOWN = 0,
@@ -64,6 +65,8 @@ typedef enum
Brw_ADMI_SHARE_DEG = 22,
Brw_ADMI_SHARE_CTR = 23,
Brw_ADMI_SHARE_INS = 24,
+ Brw_ADMI_TEACH_CRS = 25,
+ Brw_ADMI_TEACH_GRP = 26,
} Brw_FileBrowser_t;
// The following types are stored in files and clipboard tables as numeric fields, so don't change numbers!
@@ -131,6 +134,7 @@ struct FileMetadata
#define Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS "doc"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES "sha"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD "descarga" // TODO: It should be "doc"
+#define Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS "tch"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED "comun" // TODO: It should be "sha"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS "actividades" // TODO: It should be "asg"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS "trabajos" // TODO: It should be "wrk"
@@ -226,8 +230,8 @@ void Brw_RemoveGrpZones (long CrsCod,long GrpCod);
void Brw_RemoveUsrWorksInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_QuietOrVerbose_t QuietOrVerbose);
void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrVerbose);
-void Brw_GetSummaryAndContentOrSharedFile (char *SummaryStr,char **ContentStr,
- long FilCod,unsigned MaxChars,bool GetContent);
+void Brw_GetSummaryAndContentOfFile (char *SummaryStr,char **ContentStr,
+ long FilCod,unsigned MaxChars,bool GetContent);
unsigned Brw_ListDocsFound (const char *Query,
const char *TitleSingular,const char *TitlePlural);
diff --git a/swad_indicator.c b/swad_indicator.c
index b08ec80d..2847ed02 100644
--- a/swad_indicator.c
+++ b/swad_indicator.c
@@ -1139,14 +1139,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"DAT_SMALL_RED",Gbl.RowEvenOdd,
Indicators.ThereAreMaterials ? "" :
Txt_NO,
- (Indicators.NumFilesInDownloadZones != 0) ? "DAT_SMALL_GREEN" :
+ (Indicators.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
Gbl.RowEvenOdd,
- Indicators.NumFilesInDownloadZones,
- (Indicators.NumFilesInCommonZones != 0) ? "DAT_SMALL_GREEN" :
+ Indicators.NumFilesInDocumentZones,
+ (Indicators.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
Gbl.RowEvenOdd,
- Indicators.NumFilesInCommonZones,
+ Indicators.NumFilesInSharedZones,
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
Indicators.ThereIsAssessment ? Txt_YES :
@@ -1225,12 +1225,14 @@ void Ind_GetIndicatorsCrs (long CrsCod,struct Ind_IndicatorsCrs *Indicators)
Indicators->CountIndicators = 0;
/* Get whether download zones are empty or not */
- Indicators->NumFilesInDownloadZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_CRS,CrsCod);
- Indicators->NumFilesInDownloadZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_GRP,CrsCod);
- Indicators->NumFilesInDownloadZones = Indicators->NumFilesInDownloadZonesCrs + Indicators->NumFilesInDownloadZonesGrp;
- Indicators->NumFilesInCommonZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_CRS,CrsCod);
- Indicators->NumFilesInCommonZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_GRP,CrsCod);
- Indicators->NumFilesInCommonZones = Indicators->NumFilesInCommonZonesCrs + Indicators->NumFilesInCommonZonesGrp;
+ Indicators->NumFilesInDocumentZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_CRS,CrsCod);
+ Indicators->NumFilesInDocumentZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_GRP,CrsCod);
+ Indicators->NumFilesInDocumentZones = Indicators->NumFilesInDocumentZonesCrs +
+ Indicators->NumFilesInDocumentZonesGrp;
+ Indicators->NumFilesInSharedZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_CRS,CrsCod);
+ Indicators->NumFilesInSharedZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_GRP,CrsCod);
+ Indicators->NumFilesInSharedZones = Indicators->NumFilesInSharedZonesCrs +
+ Indicators->NumFilesInSharedZonesGrp;
/* Indicator #1: information about syllabus */
Inf_GetInfoSrcFromDB (CrsCod,Inf_LECTURES ,&(Indicators->SyllabusLecSrc ),&MustBeRead);
@@ -1263,8 +1265,8 @@ void Ind_GetIndicatorsCrs (long CrsCod,struct Ind_IndicatorsCrs *Indicators)
Indicators->CountIndicators++;
/* Indicator #4: information about materials */
- Indicators->ThereAreMaterials = (Indicators->NumFilesInDownloadZones != 0) ||
- (Indicators->NumFilesInCommonZones != 0);
+ Indicators->ThereAreMaterials = (Indicators->NumFilesInDocumentZones != 0) ||
+ (Indicators->NumFilesInSharedZones != 0);
if (Indicators->ThereAreMaterials)
Indicators->CountIndicators++;
diff --git a/swad_indicator.h b/swad_indicator.h
index 33b05bc6..a116a127 100644
--- a/swad_indicator.h
+++ b/swad_indicator.h
@@ -34,12 +34,12 @@
#define Ind_NUM_INDICATORS 5
struct Ind_IndicatorsCrs
{
- unsigned long NumFilesInDownloadZones;
- unsigned long NumFilesInDownloadZonesCrs;
- unsigned long NumFilesInDownloadZonesGrp;
- unsigned long NumFilesInCommonZones;
- unsigned long NumFilesInCommonZonesCrs;
- unsigned long NumFilesInCommonZonesGrp;
+ unsigned long NumFilesInDocumentZones;
+ unsigned long NumFilesInDocumentZonesCrs;
+ unsigned long NumFilesInDocumentZonesGrp;
+ unsigned long NumFilesInSharedZones;
+ unsigned long NumFilesInSharedZonesCrs;
+ unsigned long NumFilesInSharedZonesGrp;
bool ThereIsSyllabus;
Inf_InfoSrc_t TeachingGuideSrc;
Inf_InfoSrc_t SyllabusLecSrc;
diff --git a/swad_layout.c b/swad_layout.c
index 169273b5..9e2f9fbc 100644
--- a/swad_layout.c
+++ b/swad_layout.c
@@ -201,6 +201,8 @@ void Lay_WriteStartOfPage (void)
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 == ActFrmCreTchCrs || // Brw_ADMI_TEACH_CRS
+ Gbl.Action.Act == ActFrmCreTchGrp || // Brw_ADMI_TEACH_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
@@ -539,6 +541,8 @@ static void Lay_WriteScripts (void)
case ActFrmCreShaDeg: // Brw_ADMI_SHARE_DEG
case ActFrmCreDocCrs: // Brw_ADMI_DOCUM_CRS
case ActFrmCreDocGrp: // Brw_ADMI_DOCUM_GRP
+ case ActFrmCreTchCrs: // Brw_ADMI_TEACH_CRS
+ case ActFrmCreTchGrp: // Brw_ADMI_TEACH_GRP
case ActFrmCreShaCrs: // Brw_ADMI_SHARE_CRS
case ActFrmCreShaGrp: // Brw_ADMI_SHARE_GRP
case ActFrmCreAsgUsr: // Brw_ADMI_ASSIG_USR
diff --git a/swad_menu.c b/swad_menu.c
index 42c6a359..82a394eb 100644
--- a/swad_menu.c
+++ b/swad_menu.c
@@ -125,6 +125,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeeTchGui,
ActSeeSyl,
ActSeeAdmDocCrsGrp,
+ ActAdmTchCrsGrp,
ActAdmShaCrsGrp,
ActSeeCrsTT,
ActSeeBib,
diff --git a/swad_notification.c b/swad_notification.c
index b8812d8f..0dcfb1d7 100644
--- a/swad_notification.c
+++ b/swad_notification.c
@@ -61,6 +61,7 @@ const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"documentFile", // Ntf_EVENT_DOCUMENT_FILE
+ "teachersFile", // Ntf_EVENT_TEACHERS_FILE
"sharedFile", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@@ -98,6 +99,7 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
ActSeeAdmDocCrsGrp, // Ntf_EVENT_DOCUMENT_FILE
+ ActAdmTchCrsGrp, // Ntf_EVENT_TEACHERS_FILE
ActAdmShaCrsGrp, // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@@ -140,6 +142,7 @@ static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"NotifyNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
+ "NotifyNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE
"NotifyNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@@ -178,6 +181,7 @@ static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"EmailNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
+ "EmailNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE
"EmailNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@@ -216,6 +220,7 @@ static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"file64x64.gif", // Ntf_EVENT_DOCUMENT_FILE
+ "file64x64.gif", // Ntf_EVENT_TEACHERS_FILE
"file64x64.gif", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@@ -683,6 +688,7 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
switch (NotifyEvent)
{
case Ntf_EVENT_DOCUMENT_FILE:
+ case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
case Ntf_EVENT_MARKS_FILE:
Action = ActUnk;
@@ -702,6 +708,10 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
(CtrCod > 0 ? ActReqDatSeeDocCtr :
ActReqDatSeeDocIns))));
break;
+ case Ntf_EVENT_TEACHERS_FILE:
+ Action = (GrpCod > 0 ? ActReqDatTchGrp :
+ ActReqDatTchCrs);
+ break;
case Ntf_EVENT_SHARED_FILE:
Action = (GrpCod > 0 ? ActReqDatShaGrp :
(CrsCod > 0 ? ActReqDatShaCrs :
@@ -854,8 +864,9 @@ void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,
case Ntf_EVENT_UNKNOWN:
break;
case Ntf_EVENT_DOCUMENT_FILE:
+ case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
- Brw_GetSummaryAndContentOrSharedFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
+ Brw_GetSummaryAndContentOfFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
break;
case Ntf_EVENT_ASSIGNMENT:
Asg_GetNotifAssignment (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
@@ -1012,6 +1023,8 @@ void Ntf_MarkNotifOneFileAsRemoved (const char *Path)
{
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_CRS:
@@ -1027,6 +1040,10 @@ void Ntf_MarkNotifOneFileAsRemoved (const char *Path)
case Brw_ADMI_DOCUM_GRP:
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ NotifyEvent = Ntf_EVENT_TEACHERS_FILE;
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NotifyEvent = Ntf_EVENT_SHARED_FILE;
@@ -1062,6 +1079,8 @@ void Ntf_MarkNotifChildrenOfFolderAsRemoved (const char *Path)
{
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_CRS:
@@ -1073,6 +1092,10 @@ void Ntf_MarkNotifChildrenOfFolderAsRemoved (const char *Path)
case Brw_ADMI_DOCUM_GRP:
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
break;
+ case Brw_ADMI_TEACH_CRS:
+ case Brw_ADMI_TEACH_GRP:
+ NotifyEvent = Ntf_EVENT_TEACHERS_FILE;
+ break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NotifyEvent = Ntf_EVENT_SHARED_FILE;
@@ -1110,14 +1133,16 @@ void Ntf_MarkNotifFilesInGroupAsRemoved (long GrpCod)
/***** Set notifications as removed *****/
sprintf (Query,"UPDATE notif SET Status=(Status | %u)"
- " WHERE NotifyEvent IN ('%u','%u','%u') AND Cod IN"
+ " WHERE NotifyEvent IN ('%u','%u','%u','%u') AND Cod IN"
" (SELECT FilCod FROM files"
- " WHERE FileBrowser IN ('%u','%u','%u') AND Cod='%ld')",
+ " WHERE FileBrowser IN ('%u','%u','%u','%u') AND Cod='%ld')",
(unsigned) Ntf_STATUS_BIT_REMOVED,
(unsigned) Ntf_EVENT_DOCUMENT_FILE,
+ (unsigned) Ntf_EVENT_TEACHERS_FILE,
(unsigned) Ntf_EVENT_SHARED_FILE,
(unsigned) Ntf_EVENT_MARKS_FILE,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@@ -1147,28 +1172,50 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
case Ntf_EVENT_UNKNOWN: // This function should not be called in this case
return 0;
case Ntf_EVENT_DOCUMENT_FILE:
+ case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
case Ntf_EVENT_MARKS_FILE:
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
- case Brw_ADMI_MARKS_CRS:
+ case Brw_ADMI_MARKS_CRS: // Notify all users in course except me
sprintf (Query,"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod='%ld'"
" AND UsrCod<>'%ld'",
Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
+ case Brw_ADMI_TEACH_CRS: // Notify all teachers in course except me
+ sprintf (Query,"SELECT UsrCod FROM crs_usr"
+ " WHERE CrsCod='%ld'"
+ " AND UsrCod<>'%ld'"
+ " AND Role='%u'", // Notify teachers only
+ Gbl.CurrentCrs.Crs.CrsCod,
+ Gbl.Usrs.Me.UsrDat.UsrCod,
+ (unsigned) Rol_TEACHER);
+ break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_SHARE_GRP:
- case Brw_ADMI_MARKS_GRP:
+ case Brw_ADMI_MARKS_GRP: // Notify all users in group except me
sprintf (Query,"SELECT UsrCod FROM crs_grp_usr"
" WHERE crs_grp_usr.GrpCod='%ld'"
" AND crs_grp_usr.UsrCod<>'%ld'",
Gbl.CurrentCrs.Grps.GrpCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
+ case Brw_ADMI_TEACH_GRP: // Notify all teachers in group except me
+ sprintf (Query,"SELECT crs_grp_usr.UsrCod"
+ " FROM crs_grp_usr,crs_grp,crs_usr"
+ " WHERE crs_grp_usr.GrpCod='%ld'"
+ " AND crs_grp_usr.UsrCod<>'%ld'"
+ " AND crs_grp_usr.GrpCod=crs_grp.GrpCod"
+ " AND crs_grp.CrsCod=crs_usr.CrsCod"
+ " AND crs_usr.Role='%u'", // Notify teachers only
+ Gbl.CurrentCrs.Grps.GrpCod,
+ Gbl.Usrs.Me.UsrDat.UsrCod,
+ (unsigned) Rol_TEACHER);
+ break;
default: // This function should not be called in other cases
return 0;
}
@@ -1207,7 +1254,8 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
if (Gbl.CurrentCrs.Crs.NumTchs)
// If this course has teachers ==> send notification to teachers
sprintf (Query,"SELECT UsrCod FROM crs_usr"
- " WHERE CrsCod='%ld' AND UsrCod<>'%ld'"
+ " WHERE CrsCod='%ld'"
+ " AND UsrCod<>'%ld'"
" AND Role='%u'", // Notify teachers only
Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
@@ -1593,6 +1641,7 @@ static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsign
case Ntf_EVENT_FOLLOWER:
break;
case Ntf_EVENT_DOCUMENT_FILE:
+ case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
case Ntf_EVENT_ASSIGNMENT:
case Ntf_EVENT_EXAM_ANNOUNCEMENT:
diff --git a/swad_notification.h b/swad_notification.h
index 4eee0af9..d7a21479 100644
--- a/swad_notification.h
+++ b/swad_notification.h
@@ -37,42 +37,44 @@
/******************************** Public types *******************************/
/*****************************************************************************/
-#define Ntf_NUM_NOTIFY_EVENTS (1+18)
+#define Ntf_NUM_NOTIFY_EVENTS (1+19)
// If the numbers assigned to each event type change,
-// it is necessary to change old numbers to new ones in database tables notif and sta_notif
+// it is necessary to change old numbers to new ones
+// in database tables notif, sta_notif and usr_data
typedef enum
{
Ntf_EVENT_UNKNOWN = 0,
/* Course tab */
Ntf_EVENT_DOCUMENT_FILE = 1,
- Ntf_EVENT_SHARED_FILE = 2,
+ Ntf_EVENT_TEACHERS_FILE = 2, // TODO: Change all the numbers >= 2
+ Ntf_EVENT_SHARED_FILE = 3, // Old 2
/* Assessment tab */
- Ntf_EVENT_ASSIGNMENT = 3,
- Ntf_EVENT_EXAM_ANNOUNCEMENT = 4,
- Ntf_EVENT_MARKS_FILE = 5,
+ Ntf_EVENT_ASSIGNMENT = 4, // Old 3
+ Ntf_EVENT_EXAM_ANNOUNCEMENT = 5, // Old 4
+ Ntf_EVENT_MARKS_FILE = 6, // Old 5
/* Users tab */
- Ntf_EVENT_ENROLLMENT_STUDENT = 6,
- Ntf_EVENT_ENROLLMENT_TEACHER = 7,
- Ntf_EVENT_ENROLLMENT_REQUEST = 8,
+ Ntf_EVENT_ENROLLMENT_STUDENT = 7, // Old 6
+ Ntf_EVENT_ENROLLMENT_TEACHER = 8, // Old 7
+ Ntf_EVENT_ENROLLMENT_REQUEST = 9, // Old 8
/* Social tab */
- Ntf_EVENT_TIMELINE_COMMENT = 9, // Old 10 // New comment to one of my social publishings (notes or comments)
- Ntf_EVENT_TIMELINE_FAV = 10, // Old 11 // New fav of one of my social publishings (notes or comments)
- Ntf_EVENT_TIMELINE_SHARE = 11, // Old 12 // New sharing of one of my social notes
- Ntf_EVENT_TIMELINE_MENTION = 12, // Old 13 // New mention
- Ntf_EVENT_FOLLOWER = 13, // Old 14
- Ntf_EVENT_FORUM_POST_COURSE = 14, // Old 15 // New post in forums of my courses
- Ntf_EVENT_FORUM_REPLY = 15, // Old 16 // New reply to one of my posts in any forum
+ Ntf_EVENT_TIMELINE_COMMENT = 10, // Old 9 // New comment to one of my social publishings (notes or comments)
+ Ntf_EVENT_TIMELINE_FAV = 11, // Old 10 // New fav of one of my social publishings (notes or comments)
+ Ntf_EVENT_TIMELINE_SHARE = 12, // Old 11 // New sharing of one of my social notes
+ Ntf_EVENT_TIMELINE_MENTION = 13, // Old 12 // New mention
+ Ntf_EVENT_FOLLOWER = 14, // Old 13
+ Ntf_EVENT_FORUM_POST_COURSE = 15, // Old 14 // New post in forums of my courses
+ Ntf_EVENT_FORUM_REPLY = 16, // Old 15 // New reply to one of my posts in any forum
/* Messages tab */
- Ntf_EVENT_NOTICE = 16, // Old 17
- Ntf_EVENT_MESSAGE = 17, // Old 18
+ Ntf_EVENT_NOTICE = 17, // Old 16
+ Ntf_EVENT_MESSAGE = 18, // Old 17
/* Statistics tab */
- Ntf_EVENT_SURVEY = 18, // Old 19
+ Ntf_EVENT_SURVEY = 19, // Old 18
/* Profile tab */
diff --git a/swad_search.c b/swad_search.c
index a17264dd..60602771 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -875,7 +875,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
extern const char *Txt_document_in_my_courses;
extern const char *Txt_documents_in_my_courses;
char SearchQuery[Sch_MAX_LENGTH_SEARCH_QUERY+1];
- char Query[(512+Sch_MAX_LENGTH_SEARCH_QUERY)*2];
+ char Query[(1024+Sch_MAX_LENGTH_SEARCH_QUERY)*2];
unsigned NumDocs;
/***** Check user's permission *****/
@@ -890,25 +890,31 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
if (mysql_query (&Gbl.mysql,Query))
DB_ExitOnMySQLError ("can not remove temporary table");
- sprintf (Query,"CREATE TEMPORARY TABLE my_files_crs (FilCod INT NOT NULL,UNIQUE INDEX(FilCod)) ENGINE=MEMORY"
+ sprintf (Query,"CREATE TEMPORARY TABLE my_files_crs"
+ " (FilCod INT NOT NULL,UNIQUE INDEX(FilCod))"
+ " ENGINE=MEMORY"
" SELECT files.FilCod FROM crs_usr,files"
" WHERE crs_usr.UsrCod='%ld'"
" AND crs_usr.CrsCod=files.Cod"
- " AND files.FileBrowser IN ('%u','%u','%u')",
+ " AND files.FileBrowser IN ('%u','%u','%u','%u')",
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_MARKS_CRS);
if (mysql_query (&Gbl.mysql,Query))
DB_ExitOnMySQLError ("can not create temporary table");
- sprintf (Query,"CREATE TEMPORARY TABLE my_files_grp (FilCod INT NOT NULL,UNIQUE INDEX(FilCod)) ENGINE=MEMORY"
+ sprintf (Query,"CREATE TEMPORARY TABLE my_files_grp"
+ " (FilCod INT NOT NULL,UNIQUE INDEX(FilCod))"
+ " ENGINE=MEMORY"
" SELECT files.FilCod FROM crs_grp_usr,files"
" WHERE crs_grp_usr.UsrCod='%ld'"
" AND crs_grp_usr.GrpCod=files.Cod"
- " AND files.FileBrowser IN ('%u','%u','%u')",
+ " AND files.FileBrowser IN ('%u','%u','%u','%u')",
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
/* if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
@@ -928,7 +934,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_crs) AND %s"
- " AND files.FileBrowser IN ('%u','%u','%u')"
+ " AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
@@ -945,7 +951,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_grp) AND %s"
- " AND files.FileBrowser IN ('%u','%u','%u')"
+ " AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" AND crs_grp_types.CrsCod=courses.CrsCod"
@@ -959,11 +965,13 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_MARKS_CRS,
RangeQuery,
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
RangeQuery);
@@ -1060,7 +1068,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
- " AND files.FileBrowser IN ('%u','%u','%u')"
+ " AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
@@ -1077,7 +1085,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
- " AND files.FileBrowser IN ('%u','%u','%u')"
+ " AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" AND crs_grp_types.CrsCod=courses.CrsCod"
@@ -1114,11 +1122,13 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_MARKS_CRS,
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
RangeQuery,
diff --git a/swad_social.c b/swad_social.c
index 7ad4c38f..7c430f7d 100644
--- a/swad_social.c
+++ b/swad_social.c
@@ -275,6 +275,7 @@ void Soc_ShowTimelineGbl (void)
/* Course tab */
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_DOCUMENT_FILE
+ Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_TEACHERS_FILE
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@@ -1689,7 +1690,7 @@ static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
case Soc_NOTE_DEG_SHA_PUB_FILE:
case Soc_NOTE_CRS_DOC_PUB_FILE:
case Soc_NOTE_CRS_SHA_PUB_FILE:
- Brw_GetSummaryAndContentOrSharedFile (SummaryStr,NULL,SocNot->Cod,MaxChars,false);
+ Brw_GetSummaryAndContentOfFile (SummaryStr,NULL,SocNot->Cod,MaxChars,false);
break;
case Soc_NOTE_EXAM_ANNOUNCEMENT:
Exa_GetSummaryAndContentExamAnnouncement (SummaryStr,NULL,SocNot->Cod,MaxChars,false);
diff --git a/swad_statistic.c b/swad_statistic.c
index 074316cf..1f2204b9 100644
--- a/swad_statistic.c
+++ b/swad_statistic.c
@@ -5226,6 +5226,8 @@ static void Sta_GetAndShowFileBrowsersStats (void)
{
Brw_ADMI_DOCUM_CRS,
Brw_ADMI_DOCUM_GRP,
+ Brw_ADMI_TEACH_CRS,
+ Brw_ADMI_TEACH_GRP,
Brw_ADMI_SHARE_CRS,
Brw_ADMI_SHARE_GRP,
Brw_ADMI_MARKS_CRS,
@@ -5486,45 +5488,72 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
- sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
+ "COUNT(DISTINCT GrpCod)-1,"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM "
"("
- "SELECT Cod AS CrsCod,'-1' AS GrpCod,"
- "NumLevels,NumFolders,NumFiles,TotalSize"
+ "SELECT Cod AS CrsCod,"
+ "'-1' AS GrpCod,"
+ "NumLevels,"
+ "NumFolders,"
+ "NumFiles,"
+ "TotalSize"
" FROM file_browser_size"
- " WHERE FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
- "SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod,"
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT crs_grp_types.CrsCod,"
+ "file_browser_size.Cod AS GrpCod,"
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
- sprintf (Query,"SELECT COUNT(DISTINCT Cod),'-1','-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT Cod),"
+ "'-1',"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM file_browser_size"
" WHERE FileBrowser='%u'",
(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
- sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
+ "COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@@ -5533,15 +5562,25 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
- sprintf (Query,"SELECT COUNT(DISTINCT Cod),'-1',COUNT(DISTINCT ZoneUsrCod),"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT Cod),"
+ "'-1',"
+ "COUNT(DISTINCT ZoneUsrCod),"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM file_browser_size"
" WHERE FileBrowser='%u'",
(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
- sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT ZoneUsrCod),"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT '-1',"
+ "'-1',"
+ "COUNT(DISTINCT ZoneUsrCod),"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM file_browser_size"
" WHERE FileBrowser='%u'",
(unsigned) FileBrowser);
@@ -5556,22 +5595,35 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
- sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
+ "COUNT(DISTINCT GrpCod)-1,"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM "
"("
- "SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT file_browser_size.Cod AS CrsCod,"
+ "'-1' AS GrpCod," // Course zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM institutions,centres,degrees,courses,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
- "SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT crs_grp_types.CrsCod,"
+ "file_browser_size.Cod AS GrpCod," // Group zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@@ -5580,24 +5632,32 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentCty.Cty.CtyCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentCty.Cty.CtyCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@@ -5608,10 +5668,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
- sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
+ "COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@@ -5625,8 +5691,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@@ -5637,8 +5708,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
- sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT '-1',"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,crs_usr,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@@ -5659,21 +5735,34 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
- sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
+ "COUNT(DISTINCT GrpCod)-1,"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM "
"("
- "SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT file_browser_size.Cod AS CrsCod,"
+ "'-1' AS GrpCod," // Course zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM centres,degrees,courses,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
- "SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT crs_grp_types.CrsCod,"
+ "file_browser_size.Cod AS GrpCod," // Group zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@@ -5681,24 +5770,32 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentIns.Ins.InsCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentIns.Ins.InsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@@ -5708,10 +5805,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
- sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
+ "COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@@ -5724,8 +5827,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@@ -5735,8 +5843,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
- sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT '-1',"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,crs_usr,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@@ -5756,44 +5869,65 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
- sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
+ "COUNT(DISTINCT GrpCod)-1,"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM "
"("
- "SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT file_browser_size.Cod AS CrsCod,"
+ "'-1' AS GrpCod," // Course zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
- "SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT crs_grp_types.CrsCod,"
+ "file_browser_size.Cod AS GrpCod," // Group zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentCtr.Ctr.CtrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentCtr.Ctr.CtrCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@@ -5802,10 +5936,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
- sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
+ "COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@@ -5817,8 +5957,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@@ -5827,8 +5972,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
- sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT '-1',"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,crs_usr,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@@ -5847,42 +5997,63 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
- sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
+ "COUNT(DISTINCT GrpCod)-1,"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM "
"("
- "SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT file_browser_size.Cod AS CrsCod,"
+ "'-1' AS GrpCod," // Course zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM courses,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
- "SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT crs_grp_types.CrsCod,"
+ "file_browser_size.Cod AS GrpCod," // Group zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentDeg.Deg.DegCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentDeg.Deg.DegCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM courses,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=file_browser_size.Cod"
@@ -5890,10 +6061,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentDeg.Deg.DegCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
- sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
+ "COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_grp_types.CrsCod"
@@ -5904,8 +6081,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
- sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM courses,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=file_browser_size.Cod"
@@ -5913,8 +6095,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentDeg.Deg.DegCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
- sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT '-1',"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM courses,crs_usr,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_usr.CrsCod"
@@ -5932,49 +6119,76 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
- sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
+ "COUNT(DISTINCT GrpCod)-1,"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM "
"("
- "SELECT Cod AS CrsCod,'-1' AS GrpCod," // Course zones
- "NumLevels,NumFolders,NumFiles,TotalSize"
+ "SELECT Cod AS CrsCod,"
+ "'-1' AS GrpCod," // Course zones
+ "NumLevels,"
+ "NumFolders,"
+ "NumFiles,"
+ "TotalSize"
" FROM file_browser_size"
" WHERE Cod='%ld'"
- " AND FileBrowser IN ('%u','%u','%u','%u','%u')"
+ " AND FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
- "SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
- "file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
+ "SELECT crs_grp_types.CrsCod,"
+ "file_browser_size.Cod AS GrpCod," // Group zones
+ "file_browser_size.NumLevels,"
+ "file_browser_size.NumFolders,"
+ "file_browser_size.NumFiles,"
+ "file_browser_size.TotalSize"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.CrsCod='%ld'"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
- " AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
+ " AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentCrs.Crs.CrsCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
+ (unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentCrs.Crs.CrsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
+ (unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
+ case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
- sprintf (Query,"SELECT '1','-1','-1',"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT '1',"
+ "'-1',"
+ "'-1',"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM file_browser_size"
" WHERE Cod='%ld' AND FileBrowser='%u'",
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
- sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
+ "COUNT(DISTINCT file_browser_size.Cod),"
+ "'-1',"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.CrsCod='%ld'"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
@@ -5984,15 +6198,25 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
- sprintf (Query,"SELECT '1','-1',COUNT(DISTINCT ZoneUsrCod),"
- "MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
+ sprintf (Query,"SELECT '1',"
+ "'-1',"
+ "COUNT(DISTINCT ZoneUsrCod),"
+ "MAX(NumLevels),"
+ "SUM(NumFolders),"
+ "SUM(NumFiles),"
+ "SUM(TotalSize)"
" FROM file_browser_size"
" WHERE Cod='%ld' AND FileBrowser='%u'",
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
- sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
- "MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
+ sprintf (Query,"SELECT '-1',"
+ "'-1',"
+ "COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
+ "MAX(file_browser_size.NumLevels),"
+ "SUM(file_browser_size.NumFolders),"
+ "SUM(file_browser_size.NumFiles),"
+ "SUM(file_browser_size.TotalSize)"
" FROM crs_usr,file_browser_size"
" WHERE crs_usr.CrsCod='%ld'"
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
diff --git a/swad_statistic.h b/swad_statistic.h
index f9c4dc5f..2f689139 100644
--- a/swad_statistic.h
+++ b/swad_statistic.h
@@ -133,7 +133,7 @@ typedef enum
Sta_WHITE_TO_BLACK,
} Sta_ColorType_t;
-#define Sta_NUM_STAT_CRS_FILE_ZONES 9
+#define Sta_NUM_STAT_CRS_FILE_ZONES 11
/*****************************************************************************/
/***************************** Public prototypes *****************************/
diff --git a/swad_text.c b/swad_text.c
index 1fe1c704..e11c4462 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -572,6 +572,19 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Novo arquivo de documento",
},
{
+ // Ntf_EVENT_TEACHERS_FILE
+ "",
+ "Nou arxiu de professors",
+ "Neue Lehrer Datei",
+ "New teachers' file",
+ "Nuevo archivo de profesores",
+ "Nouveau fichier d'enseignants",
+ "Nuevo archivo de profesores", // Okoteve traducción
+ "Nuovo file di professori",
+ "Nowy Nauczyciela plik",
+ "Novo arquivo dos professores",
+ },
+ {
// Ntf_EVENT_SHARED_FILE
"",
"Nou arxiu compartit",
@@ -17869,6 +17882,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Dokumentów"
#elif L==9
"Documentos"
+#endif
+ ,
+ // ActAdmTchCrsGrp
+#if L==1
+ "Privats"
+#elif L==2
+ "Private"
+#elif L==3
+ "Private"
+#elif L==4
+ "Privados"
+#elif L==5
+ "Privés"
+#elif L==6
+ "Privados" // Okoteve traducción
+#elif L==7
+ "Privati"
+#elif L==8
+ "Prywatne"
+#elif L==9
+ "Privados"
#endif
,
// ActAdmShaCrsGrp
@@ -17984,7 +18018,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
NULL,
NULL,
NULL,
- NULL,
},
{
// TabAss *****************************************************
@@ -19822,6 +19855,27 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Obszar Dokumentów"
#elif L==9
"Documentos"
+#endif
+ ,
+ // ActAdmTchCrsGrp
+#if L==1
+ "Arxius privats, només per als professors de l'assignatura"
+#elif L==2
+ "Privat-Dateien, nur für die Lehrer des Kurses"
+#elif L==3
+ "Private files, only for teachers of the course"
+#elif L==4
+ "Archivos privados, solo para los profesores de la asignatura"
+#elif L==5
+ "Fichiers privés, seulement pour les enseignants du cours"
+#elif L==6
+ "Archivos privados, solo para los profesores de la asignatura"// Okoteve traducción
+#elif L==7
+ "File privati, solo per gli insegnanti del corso"
+#elif L==8
+ "Pliki prywatne, tylko dla nauczycieli przedmiotu"
+#elif L==9
+ "Arquivos privados, apenas para os professores do curso"
#endif
,
// ActAdmShaCrsGrp
@@ -19941,7 +19995,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
NULL,
NULL,
NULL,
- NULL,
},
{
// TabAss *****************************************************
@@ -25515,6 +25568,26 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novos arquivos de documento"
#endif
,
+#if L==1 // Ntf_EVENT_TEACHERS_FILE
+ "Nous arxiu de professors"
+#elif L==2
+ "New Lehrer Dateien"
+#elif L==3
+ "New teachers' files"
+#elif L==4
+ "Nuevos archivos de profesores"
+#elif L==5
+ "Nouveaux fichiers d'enseignants"
+#elif L==6
+ "Nuevos archivos de profesores" // Okoteve traducción
+#elif L==7
+ "Nuovi file di professori"
+#elif L==8
+ "Nowy Nauczyciela plik"
+#elif L==9
+ "Novos arquivos dos professores"
+#endif
+ ,
#if L==1 // Ntf_EVENT_SHARED_FILE
"Nous arxiu compartit"
#elif L==2
@@ -25898,6 +25971,26 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Arquivo de documento"
#endif
,
+#if L==1 // Ntf_EVENT_TEACHERS_FILE
+ "Arxiu de professors"
+#elif L==2
+ "Lehrer Datei"
+#elif L==3
+ "Teachers' file"
+#elif L==4
+ "Archivo de profesores"
+#elif L==5
+ "Fichier d'enseignants"
+#elif L==6
+ "Archivo de profesores" // Okoteve traducción
+#elif L==7
+ "File di professori"
+#elif L==8
+ "Nauczyciela plik"
+#elif L==9
+ "Arquivo dos professores"
+#endif
+ ,
#if L==1 // Ntf_EVENT_SHARED_FILE
"Arxiu compartit"
#elif L==2
@@ -34509,6 +34602,48 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] =
"shared" // Potrzebujesz tlumaczenie
#elif L==9
"comum"
+#endif
+ ,
+ // Brw_ADMI_TEACH_CRS
+#if L==1
+ "privats"
+#elif L==2
+ "Private"
+#elif L==3
+ "private"
+#elif L==4
+ "privados"
+#elif L==5
+ "privés"
+#elif L==6
+ "privados" // Okoteve traducción
+#elif L==7
+ "privati"
+#elif L==8
+ "prywatne"
+#elif L==9
+ "privados"
+#endif
+ ,
+ // Brw_ADMI_TEACH_GRP
+#if L==1
+ "privats"
+#elif L==2
+ "Private"
+#elif L==3
+ "private"
+#elif L==4
+ "privados"
+#elif L==5
+ "privés"
+#elif L==6
+ "privados" // Okoteve traducción
+#elif L==7
+ "privati"
+#elif L==8
+ "prywatne"
+#elif L==9
+ "privados"
#endif
};
@@ -37584,6 +37719,46 @@ const char *Txt_STAT_COURSE_FILE_ZONES[Sta_NUM_STAT_CRS_FILE_ZONES] = // Use &nb
"Documentos (grp.)"
#endif
,
+#if L==1 // Brw_ADMI_TEACH_CRS
+ "Professors (ass.)"
+#elif L==2
+ "Lehrkräfte (Ver.)"
+#elif L==3
+ "Teachers (crs.)"
+#elif L==4
+ "Profesores (asg.)"
+#elif L==5
+ "Enseignants (mat.)"
+#elif L==6
+ "Profesores (asg.)" // Okoteve traducción
+#elif L==7
+ "Professori (crs.)"
+#elif L==8
+ "Nauczycieli (kurs)"
+#elif L==9
+ "Professores (crs.)"
+#endif
+ ,
+#if L==1 // Brw_ADMI_TEACH_GRP
+ "Professors (grp.)"
+#elif L==2
+ "Lehrkräfte (Grp.)"
+#elif L==3
+ "Teachers (grp.)"
+#elif L==4
+ "Profesores (grp.)"
+#elif L==5
+ "Enseignants (grp.)"
+#elif L==6
+ "Profesores (grp.)" // Okoteve traducción
+#elif L==7
+ "Professori (grp.)"
+#elif L==8
+ "Nauczycieli (grp.)"
+#elif L==9
+ "Professores (grp.)"
+#endif
+ ,
#if L==1 // Brw_ADMI_SHARE_CRS
"Compartits (asg.)"
#elif L==2
@@ -40367,6 +40542,48 @@ const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
"prof.";
#endif
+const char *Txt_Teachers_files_area =
+#if L==1
+ "Zona d'arxius de professors";
+#elif L==2
+ "Lehrer Dateien-Bereich";
+#elif L==3
+ "Teachers' files area";
+#elif L==4
+ "Zona de archivos de profesores";
+#elif L==5
+ "Zone de fichiers d'enseignants";
+#elif L==6
+ "Zona de archivos de profesores"; // Okoteve traducción
+#elif L==7
+ "Zona di file di professori";
+#elif L==8
+ "Nauczyciela udostępnionych plików";
+#elif L==9
+ "Zona de arquivos dos professores";
+#endif
+
+const char *Txt_teachers_files_area =
+#if L==1
+ "zona d'arxius de professors";
+#elif L==2
+ "Lehrer Dateien-Bereich";
+#elif L==3
+ "teachers' files area";
+#elif L==4
+ "zona de archivos de profesores";
+#elif L==5
+ "zone de fichiers d'enseignants";
+#elif L==6
+ "zona de archivos de profesores"; // Okoteve traducción
+#elif L==7
+ "zona di file di professori";
+#elif L==8
+ "nauczyciela udostępnionych plików";
+#elif L==9
+ "zona de arquivos dos professores";
+#endif
+
const char *Txt_Temporary_private_storage_area =
#if L==1
"Zona d'emmagatzematge privada";
diff --git a/swad_web_service.c b/swad_web_service.c
index 610bdabb..0144cf17 100644
--- a/swad_web_service.c
+++ b/swad_web_service.c
@@ -3946,7 +3946,6 @@ int swad__getDirectoryTree (struct soap *soap,
"Tree code must be 1 (documents), 2 (shared files) or 3 (marks)");
/***** Return directory tree *****/
-
/* Get directory tree into XML file */
if (courseCode > 0)
{
@@ -4256,8 +4255,6 @@ int swad__getFile (struct soap *soap,
/***** Check if file is in a valid zone *****/
switch ((Gbl.FileBrowser.Type = FileMetadata.FileBrowser))
{
- // case Brw_SHOW_DOCUM_CRS: // This type of file browser is not in database
- // case Brw_SHOW_DOCUM_GRP: // This type of file browser is not in database
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_SHARE_CRS:
diff --git a/swad_zip.c b/swad_zip.c
index 47acaa2d..38eb5169 100644
--- a/swad_zip.c
+++ b/swad_zip.c
@@ -80,6 +80,8 @@ const Act_Action_t ZIP_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActZIPShaDeg, // Brw_ADMI_SHARE_DEG
ActZIPShaCtr, // Brw_ADMI_SHARE_CTR
ActZIPShaIns, // Brw_ADMI_SHARE_INS
+ ActZIPTchCrs, // Brw_ADMI_TEACH_CRS
+ ActZIPTchGrp, // Brw_ADMI_TEACH_GRP
};
/*****************************************************************************/
@@ -316,6 +318,7 @@ void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *Fil
{
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
+ case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP: