diff --git a/swad_action.c b/swad_action.c
index 81ba91b1d..c9a9b54ae 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -169,6 +169,7 @@ Institution:
78. ActSeePlc List places
79. ActSeeHld List holidays
80. ActSeeAdmDocIns Documents zone of the institution (see or admin)
+ --. ActAdmComIns Admin the shared files zone of the institution
81. ActInsSch Search for courses, teachers, documents...
@@ -244,12 +245,32 @@ Institution:
142. ActChgDatAdmDocIns Change metadata of a file of the documents zone of the institution
143. ActDowAdmDocIns Download a file of the documents zone of the institution
+ ---. ActReqRemFilComIns Request removal of a shared file of the institution
+ ---. ActRemFilComIns Remove a shared file of the institution
+ ---. ActRemFolComIns Remove a folder empty común of the institution
+ ---. ActCopComIns Set source of copy in common zone of the institution
+ ---. ActPasComIns Paste a folder or file in common zone of the institution
+ ---. ActRemTreComIns Remove a folder no empty of common zone of the institution
+ ---. ActFrmCreComIns Form to crear a folder or file in common zone of the institution
+ ---. ActCreFolComIns Create a new folder in common zone of the institution
+ ---. ActCreLnkComIns Create a new link in common zone of the institution
+ ---. ActRenFolComIns Rename a folder in common zone of the institution
+ ---. ActRcvFilComInsDZ Receive a file in common zone of the institution using Dropzone.js
+ ---. ActRcvFilComInsCla Receive a file in common zone of the institution using the classic way
+ ---. ActExpComIns Expand a folder in common zone of the institution
+ ---. ActConComIns Contract a folder in common zone of the institution
+ ---. ActZIPComIns Compress a folder in common zone of the institution
+ ---. ActReqDatComIns Ask for metadata of a file of the common zone of the institution
+ ---. ActChgDatComIns Change metadata of a file of the common zone of the institution
+ ---. ActDowComIns Download a file of the common zone of the institution
+
Centre:
144. ActCtrReqSch Request search in centre tab
145. ActSeeCtrInf Show information on the current centre
146. ActSeeDeg List degrees of a type
147. ActSeeAdmDocCtr Documents zone of the centre (see or admin)
+ ---. ActAdmComCtr Admin the shared files zone of the centre
148. ActCtrSch Search for courses, teachers, documents...
@@ -308,12 +329,32 @@ Centre:
195. ActChgDatAdmDocCtr Change metadata of a file of the documents zone of the centre
196. ActDowAdmDocCtr Download a file of the documents zone of the centre
+ ---. ActReqRemFilComCtr Request removal of a shared file of the centre
+ ---. ActRemFilComCtr Remove a shared file of the centre
+ ---. ActRemFolComCtr Remove a folder empty común of the centre
+ ---. ActCopComCtr Set source of copy in common zone of the centre
+ ---. ActPasComCtr Paste a folder or file in common zone of the centre
+ ---. ActRemTreComCtr Remove a folder no empty of common zone of the centre
+ ---. ActFrmCreComCtr Form to crear a folder or file in common zone of the centre
+ ---. ActCreFolComCtr Create a new folder in common zone of the centre
+ ---. ActCreLnkComCtr Create a new link in common zone of the centre
+ ---. ActRenFolComCtr Rename a folder in common zone of the centre
+ ---. ActRcvFilComCtrDZ Receive a file in common zone of the centre using Dropzone.js
+ ---. ActRcvFilComCtrCla Receive a file in common zone of the centre using the classic way
+ ---. ActExpComCtr Expand a folder in common zone of the centre
+ ---. ActConComCtr Contract a folder in common zone of the centre
+ ---. ActZIPComCtr Compress a folder in common zone of the centre
+ ---. ActReqDatComCtr Ask for metadata of a file of the common zone of the centre
+ ---. ActChgDatComCtr Change metadata of a file of the common zone of the centre
+ ---. ActDowComCtr Download a file of the common zone of the centre
+
Degree:
197. ActDegReqSch Request search in degree tab
198. ActSeeDegInf Show information on the current degree
199. ActSeeCrs List courses of a degree
200. ActSeeAdmDocDeg Documents zone of the degree (see or admin)
+ ---. ActAdmComDeg Admin the shared files zone of the degree
201. ActDegSch Search for courses, teachers, documents...
@@ -367,6 +408,25 @@ Degree:
243. ActChgDatAdmDocDeg Change metadata of a file of the documents zone of the degree
244. ActDowAdmDocDeg Download a file of the documents zone of the degree
+ ---. ActReqRemFilComDeg Request removal of a shared file of the degree
+ ---. ActRemFilComDeg Remove a shared file of the degree
+ ---. ActRemFolComDeg Remove a folder empty común of the degree
+ ---. ActCopComDeg Set source of copy in common zone of the degree
+ ---. ActPasComDeg Paste a folder or file in common zone of the degree
+ ---. ActRemTreComDeg Remove a folder no empty of common zone of the degree
+ ---. ActFrmCreComDeg Form to crear a folder or file in common zone of the degree
+ ---. ActCreFolComDeg Create a new folder in common zone of the degree
+ ---. ActCreLnkComDeg Create a new link in common zone of the degree
+ ---. ActRenFolComDeg Rename a folder in common zone of the degree
+ ---. ActRcvFilComDegDZ Receive a file in common zone of the degree using Dropzone.js
+ ---. ActRcvFilComDegCla Receive a file in common zone of the degree using the classic way
+ ---. ActExpComDeg Expand a folder in common zone of the degree
+ ---. ActConComDeg Contract a folder in common zone of the degree
+ ---. ActZIPComDeg Compress a folder in common zone of the degree
+ ---. ActReqDatComDeg Ask for metadata of a file of the common zone of the degree
+ ---. ActChgDatComDeg Change metadata of a file of the common zone of the degree
+ ---. ActDowComDeg Download a file of the common zone of the degree
+
Course:
245. ActCrsReqSch Request search in course tab
@@ -485,12 +545,12 @@ Course:
348. ActRenFolComCrs Rename a folder in common zone of the course
349. ActRcvFilComCrsDZ Receive a file in common zone of the course using Dropzone.js
350. ActRcvFilComCrsCla Receive a file in common zone of the course using the classic way
- 351. ActExpComCrs Expand a folder in common zone of a course
- 352. ActConComCrs Contract a folder in common zone of a course
- 353. ActZIPComCrs Compress a folder in common zone of a course
- 354. ActReqDatComCrs Ask for metadata of a file of the common zone of a course
- 355. ActChgDatComCrs Change metadata of a file of the common zone of a course
- 356. ActDowComCrs Download a file of the common zone of a course
+ 351. ActExpComCrs Expand a folder in common zone of the course
+ 352. ActConComCrs Contract a folder in common zone of the course
+ 353. ActZIPComCrs Compress a folder in common zone of the course
+ 354. ActReqDatComCrs Ask for metadata of a file of the common zone of the course
+ 355. ActChgDatComCrs Change metadata of a file of the common zone of the course
+ 356. ActDowComCrs Download a file of the common zone of the course
357. ActAdmComGrp Admin the shared files zone of a group
358. ActReqRemFilComGrp Request removal of a shared file of a group
@@ -1206,7 +1266,8 @@ const struct Act_Menu Act_Menu[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
{ActSeePlc ,false},
{ActSeeHld ,true },
- {ActSeeAdmDocIns ,true },
+ {ActSeeAdmDocIns ,false},
+ {ActAdmComIns ,true },
},
// TabCtr **********
{
@@ -1215,7 +1276,8 @@ const struct Act_Menu Act_Menu[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
{ActSeeCtrInf ,false},
{ActSeeDeg ,true },
- {ActSeeAdmDocCtr ,true },
+ {ActSeeAdmDocCtr ,false},
+ {ActAdmComCtr ,true },
},
// TabDeg **********
{
@@ -1224,7 +1286,9 @@ const struct Act_Menu Act_Menu[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
{ActSeeDegInf ,false},
{ActSeeCrs ,true },
- {ActSeeAdmDocDeg ,true },
+ {ActSeeAdmDocDeg ,false},
+ {ActAdmComDeg ,true },
+
},
// TabCrs **********
{
@@ -1428,6 +1492,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeePlc */{ 703, 4,TabIns,ActSeePlc ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Plc_SeePlaces ,"earth" },
/* ActSeeHld */{ 707, 5,TabIns,ActSeeHld ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Hld_SeeHolidays ,"date" },
/* ActSeeAdmDocIns */{1249, 6,TabIns,ActSeeAdmDocIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder" },
+ /* ActAdmComIns */{1382, 7,TabIns,ActAdmComIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers" },
// Actions not in menu:
/* ActInsSch */{1182,-1,TabIns,ActInsReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_InsSearch ,NULL},
@@ -1504,6 +1569,25 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActChgDatAdmDocIns*/{1335,-1,TabIns,ActSeeAdmDocIns ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowAdmDocIns */{1336,-1,TabIns,ActSeeAdmDocIns ,0x180,0x180,0x180,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+ /* ActReqRemFilComIns*/{1383,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
+ /* ActRemFilComIns */{1384,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
+ /* ActRemFolComIns */{1385,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
+ /* ActCopComIns */{1386,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
+ /* ActPasComIns */{1387,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
+ /* ActRemTreComIns */{1388,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
+ /* ActFrmCreComIns */{1389,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
+ /* ActCreFolComIns */{1390,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
+ /* ActCreLnkComIns */{1391,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
+ /* ActRenFolComIns */{1392,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
+ /* ActRcvFilComInsDZ */{1393,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
+ /* ActRcvFilComInsCla*/{1394,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
+ /* ActExpComIns */{1395,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
+ /* ActConComIns */{1396,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
+ /* ActZIPComIns */{1397,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
+ /* ActReqDatComIns */{1398,-1,TabIns,ActAdmComIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
+ /* ActChgDatComIns */{1399,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
+ /* ActDowComIns */{1400,-1,TabIns,ActAdmComIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+
// TabCtr ******************************************************************
// Actions in menu:
/* ActCtrReqSch */{1178, 0,TabCtr,ActCtrReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Sch_ReqCtrSearch ,"search" },
@@ -1511,6 +1595,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeeCtrInf */{1151, 1,TabCtr,ActSeeCtrInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_ShowConfiguration ,"ctr" },
/* ActSeeDeg */{1011, 2,TabCtr,ActSeeDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Deg_ShowDegsOfCurrentCtr ,"deg" },
/* ActSeeAdmDocCtr */{1248, 3,TabCtr,ActSeeAdmDocCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder" },
+ /* ActAdmComCtr */{1363, 4,TabCtr,ActAdmComCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers" },
// Actions not in menu:
/* ActCtrSch */{1183,-1,TabCtr,ActCtrReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_CtrSearch ,NULL},
@@ -1570,6 +1655,25 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActChgDatAdmDocCtr*/{1306,-1,TabCtr,ActSeeAdmDocCtr ,0x1C0,0x1C0,0x1C0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowAdmDocCtr */{1307,-1,TabCtr,ActSeeAdmDocCtr ,0x1C0,0x1C0,0x1C0,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+ /* ActReqRemFilComCtr*/{1364,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
+ /* ActRemFilComCtr */{1365,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
+ /* ActRemFolComCtr */{1366,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
+ /* ActCopComCtr */{1367,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
+ /* ActPasComCtr */{1368,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
+ /* ActRemTreComCtr */{1369,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
+ /* ActFrmCreComCtr */{1370,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
+ /* ActCreFolComCtr */{1371,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
+ /* ActCreLnkComCtr */{1372,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
+ /* ActRenFolComCtr */{1373,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
+ /* ActRcvFilComCtrDZ */{1374,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
+ /* ActRcvFilComCtrCla*/{1375,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
+ /* ActExpComCtr */{1376,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
+ /* ActConComCtr */{1377,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
+ /* ActZIPComCtr */{1378,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
+ /* ActReqDatComCtr */{1379,-1,TabCtr,ActAdmComCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
+ /* ActChgDatComCtr */{1380,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
+ /* ActDowComCtr */{1381,-1,TabCtr,ActAdmComCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+
// TabDeg ******************************************************************
// Actions in menu:
/* ActDegReqSch */{1179, 0,TabDeg,ActDegReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Sch_ReqDegSearch ,"search" },
@@ -1577,6 +1681,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActSeeDegInf */{1149, 1,TabDeg,ActSeeDegInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Deg_ShowConfiguration ,"deg" },
/* ActSeeCrs */{1009, 2,TabDeg,ActSeeCrs ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_ShowCrssOfCurrentDeg ,"coursesdegree" },
/* ActSeeAdmDocDeg */{1247, 3,TabDeg,ActSeeAdmDocDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder" },
+ /* ActAdmComDeg */{1344, 4,TabDeg,ActAdmComDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers" },
// Actions not in menu:
/* ActDegSch */{1184,-1,TabDeg,ActDegReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_DegSearch ,NULL},
@@ -1631,6 +1736,25 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
/* ActChgDatAdmDocDeg*/{1277,-1,TabDeg,ActSeeAdmDocDeg ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowAdmDocDeg */{1278,-1,TabDeg,ActSeeAdmDocDeg ,0x1E0,0x1E0,0x1E0,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+ /* ActReqRemFilComDeg*/{1345,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
+ /* ActRemFilComDeg */{1346,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
+ /* ActRemFolComDeg */{1347,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
+ /* ActCopComDeg */{1348,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
+ /* ActPasComDeg */{1349,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
+ /* ActRemTreComDeg */{1350,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
+ /* ActFrmCreComDeg */{1351,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
+ /* ActCreFolComDeg */{1352,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
+ /* ActCreLnkComDeg */{1353,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
+ /* ActRenFolComDeg */{1354,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
+ /* ActRcvFilComDegDZ */{1355,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
+ /* ActRcvFilComDegCla*/{1356,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
+ /* ActExpComDeg */{1357,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
+ /* ActConComDeg */{1358,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
+ /* ActZIPComDeg */{1359,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
+ /* ActReqDatComDeg */{1360,-1,TabDeg,ActAdmComDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
+ /* ActChgDatComDeg */{1361,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
+ /* ActDowComDeg */{1362,-1,TabDeg,ActAdmComDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
+
// TabCrs ******************************************************************
// Actions in menu:
/* ActCrsReqSch */{1180, 0,TabCrs,ActCrsReqSch ,0x1FF,0x1FF,0x000,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Sch_ReqCrsSearch ,"search" },
@@ -3861,6 +3985,63 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActRemInsLog, // #1341
ActRemCtrLog, // #1342
ActRemDegLog, // #1343
+ ActAdmComDeg, // #1344
+ ActReqRemFilComDeg, // #1345
+ ActRemFilComDeg, // #1346
+ ActRemFolComDeg, // #1347
+ ActCopComDeg, // #1348
+ ActPasComDeg, // #1349
+ ActRemTreComDeg, // #1350
+ ActFrmCreComDeg, // #1351
+ ActCreFolComDeg, // #1352
+ ActCreLnkComDeg, // #1353
+ ActRenFolComDeg, // #1354
+ ActRcvFilComDegDZ, // #1355
+ ActRcvFilComDegCla, // #1356
+ ActExpComDeg, // #1357
+ ActConComDeg, // #1358
+ ActZIPComDeg, // #1359
+ ActReqDatComDeg, // #1360
+ ActChgDatComDeg, // #1361
+ ActDowComDeg, // #1362
+ ActAdmComCtr, // #1363
+ ActReqRemFilComCtr, // #1364
+ ActRemFilComCtr, // #1365
+ ActRemFolComCtr, // #1366
+ ActCopComCtr, // #1367
+ ActPasComCtr, // #1368
+ ActRemTreComCtr, // #1369
+ ActFrmCreComCtr, // #1370
+ ActCreFolComCtr, // #1371
+ ActCreLnkComCtr, // #1372
+ ActRenFolComCtr, // #1373
+ ActRcvFilComCtrDZ, // #1374
+ ActRcvFilComCtrCla, // #1375
+ ActExpComCtr, // #1376
+ ActConComCtr, // #1377
+ ActZIPComCtr, // #1378
+ ActReqDatComCtr, // #1379
+ ActChgDatComCtr, // #1380
+ ActDowComCtr, // #1381
+ ActAdmComIns, // #1382
+ ActReqRemFilComIns, // #1383
+ ActRemFilComIns, // #1384
+ ActRemFolComIns, // #1385
+ ActCopComIns, // #1386
+ ActPasComIns, // #1387
+ ActRemTreComIns, // #1388
+ ActFrmCreComIns, // #1389
+ ActCreFolComIns, // #1390
+ ActCreLnkComIns, // #1391
+ ActRenFolComIns, // #1392
+ ActRcvFilComInsDZ, // #1393
+ ActRcvFilComInsCla, // #1394
+ ActExpComIns, // #1395
+ ActConComIns, // #1396
+ ActZIPComIns, // #1397
+ ActReqDatComIns, // #1398
+ ActChgDatComIns, // #1399
+ ActDowComIns, // #1400
};
/*****************************************************************************/
diff --git a/swad_action.h b/swad_action.h
index f203c663c..c5a7577da 100644
--- a/swad_action.h
+++ b/swad_action.h
@@ -69,9 +69,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 (7+52+15+71+54+49+204+184+98+168+28+75)
+#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+184+98+168+28+75)
-#define Act_MAX_ACTION_COD 1343
+#define Act_MAX_ACTION_COD 1400
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@@ -183,419 +183,479 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActSeePlc (ActChgInsSta+ 5)
#define ActSeeHld (ActChgInsSta+ 6)
#define ActSeeAdmDocIns (ActChgInsSta+ 7)
+#define ActAdmComIns (ActChgInsSta+ 8)
// Secondary actions
-#define ActInsSch (ActChgInsSta+ 8)
-#define ActPrnInsInf (ActChgInsSta+ 9)
-#define ActReqInsLog (ActChgInsSta+ 10)
-#define ActRecInsLog (ActChgInsSta+ 11)
-#define ActRemInsLog (ActChgInsSta+ 12)
+#define ActInsSch (ActChgInsSta+ 9)
+#define ActPrnInsInf (ActChgInsSta+ 10)
+#define ActReqInsLog (ActChgInsSta+ 11)
+#define ActRecInsLog (ActChgInsSta+ 12)
+#define ActRemInsLog (ActChgInsSta+ 13)
-#define ActEdiCtr (ActChgInsSta+ 13)
-#define ActReqCtr (ActChgInsSta+ 14)
-#define ActNewCtr (ActChgInsSta+ 15)
-#define ActRemCtr (ActChgInsSta+ 16)
-#define ActChgCtrIns (ActChgInsSta+ 17)
-#define ActChgCtrPlc (ActChgInsSta+ 18)
-#define ActRenCtrSho (ActChgInsSta+ 19)
-#define ActRenCtrFul (ActChgInsSta+ 20)
-#define ActChgCtrWWW (ActChgInsSta+ 21)
-#define ActChgCtrSta (ActChgInsSta+ 22)
+#define ActEdiCtr (ActChgInsSta+ 14)
+#define ActReqCtr (ActChgInsSta+ 15)
+#define ActNewCtr (ActChgInsSta+ 16)
+#define ActRemCtr (ActChgInsSta+ 17)
+#define ActChgCtrIns (ActChgInsSta+ 18)
+#define ActChgCtrPlc (ActChgInsSta+ 19)
+#define ActRenCtrSho (ActChgInsSta+ 20)
+#define ActRenCtrFul (ActChgInsSta+ 21)
+#define ActChgCtrWWW (ActChgInsSta+ 22)
+#define ActChgCtrSta (ActChgInsSta+ 23)
-#define ActEdiDpt (ActChgInsSta+ 23)
-#define ActNewDpt (ActChgInsSta+ 24)
-#define ActRemDpt (ActChgInsSta+ 25)
-#define ActChgDptIns (ActChgInsSta+ 26)
-#define ActRenDptSho (ActChgInsSta+ 27)
-#define ActRenDptFul (ActChgInsSta+ 28)
-#define ActChgDptWWW (ActChgInsSta+ 29)
+#define ActEdiDpt (ActChgInsSta+ 24)
+#define ActNewDpt (ActChgInsSta+ 25)
+#define ActRemDpt (ActChgInsSta+ 26)
+#define ActChgDptIns (ActChgInsSta+ 27)
+#define ActRenDptSho (ActChgInsSta+ 28)
+#define ActRenDptFul (ActChgInsSta+ 29)
+#define ActChgDptWWW (ActChgInsSta+ 30)
-#define ActEdiPlc (ActChgInsSta+ 30)
-#define ActNewPlc (ActChgInsSta+ 31)
-#define ActRemPlc (ActChgInsSta+ 32)
-#define ActRenPlcSho (ActChgInsSta+ 33)
-#define ActRenPlcFul (ActChgInsSta+ 34)
+#define ActEdiPlc (ActChgInsSta+ 31)
+#define ActNewPlc (ActChgInsSta+ 32)
+#define ActRemPlc (ActChgInsSta+ 33)
+#define ActRenPlcSho (ActChgInsSta+ 34)
+#define ActRenPlcFul (ActChgInsSta+ 35)
-#define ActEdiHld (ActChgInsSta+ 35)
-#define ActNewHld (ActChgInsSta+ 36)
-#define ActRemHld (ActChgInsSta+ 37)
-#define ActChgHldPlc (ActChgInsSta+ 38)
-#define ActChgHldTyp (ActChgInsSta+ 39)
-#define ActChgHldStrDat (ActChgInsSta+ 40)
-#define ActChgHldEndDat (ActChgInsSta+ 41)
-#define ActRenHld (ActChgInsSta+ 42)
+#define ActEdiHld (ActChgInsSta+ 36)
+#define ActNewHld (ActChgInsSta+ 37)
+#define ActRemHld (ActChgInsSta+ 38)
+#define ActChgHldPlc (ActChgInsSta+ 39)
+#define ActChgHldTyp (ActChgInsSta+ 40)
+#define ActChgHldStrDat (ActChgInsSta+ 41)
+#define ActChgHldEndDat (ActChgInsSta+ 42)
+#define ActRenHld (ActChgInsSta+ 43)
-#define ActChgToSeeDocIns (ActChgInsSta+ 43)
-#define ActSeeDocIns (ActChgInsSta+ 44)
-#define ActExpSeeDocIns (ActChgInsSta+ 45)
-#define ActConSeeDocIns (ActChgInsSta+ 46)
-#define ActZIPSeeDocIns (ActChgInsSta+ 47)
-#define ActReqDatSeeDocIns (ActChgInsSta+ 48)
-#define ActDowSeeDocIns (ActChgInsSta+ 49)
-#define ActChgToAdmDocIns (ActChgInsSta+ 50)
-#define ActAdmDocIns (ActChgInsSta+ 51)
-#define ActReqRemFilDocIns (ActChgInsSta+ 52)
-#define ActRemFilDocIns (ActChgInsSta+ 53)
-#define ActRemFolDocIns (ActChgInsSta+ 54)
-#define ActCopDocIns (ActChgInsSta+ 55)
-#define ActPasDocIns (ActChgInsSta+ 56)
-#define ActRemTreDocIns (ActChgInsSta+ 57)
-#define ActFrmCreDocIns (ActChgInsSta+ 58)
-#define ActCreFolDocIns (ActChgInsSta+ 59)
-#define ActCreLnkDocIns (ActChgInsSta+ 60)
-#define ActRenFolDocIns (ActChgInsSta+ 61)
-#define ActRcvFilDocInsDZ (ActChgInsSta+ 62)
-#define ActRcvFilDocInsCla (ActChgInsSta+ 63)
-#define ActExpAdmDocIns (ActChgInsSta+ 64)
-#define ActConAdmDocIns (ActChgInsSta+ 65)
-#define ActZIPAdmDocIns (ActChgInsSta+ 66)
-#define ActShoDocIns (ActChgInsSta+ 67)
-#define ActHidDocIns (ActChgInsSta+ 68)
-#define ActReqDatAdmDocIns (ActChgInsSta+ 69)
-#define ActChgDatAdmDocIns (ActChgInsSta+ 70)
-#define ActDowAdmDocIns (ActChgInsSta+ 71)
+#define ActChgToSeeDocIns (ActChgInsSta+ 44)
+#define ActSeeDocIns (ActChgInsSta+ 45)
+#define ActExpSeeDocIns (ActChgInsSta+ 46)
+#define ActConSeeDocIns (ActChgInsSta+ 47)
+#define ActZIPSeeDocIns (ActChgInsSta+ 48)
+#define ActReqDatSeeDocIns (ActChgInsSta+ 49)
+#define ActDowSeeDocIns (ActChgInsSta+ 50)
+#define ActChgToAdmDocIns (ActChgInsSta+ 51)
+#define ActAdmDocIns (ActChgInsSta+ 52)
+#define ActReqRemFilDocIns (ActChgInsSta+ 53)
+#define ActRemFilDocIns (ActChgInsSta+ 54)
+#define ActRemFolDocIns (ActChgInsSta+ 55)
+#define ActCopDocIns (ActChgInsSta+ 56)
+#define ActPasDocIns (ActChgInsSta+ 57)
+#define ActRemTreDocIns (ActChgInsSta+ 58)
+#define ActFrmCreDocIns (ActChgInsSta+ 59)
+#define ActCreFolDocIns (ActChgInsSta+ 60)
+#define ActCreLnkDocIns (ActChgInsSta+ 61)
+#define ActRenFolDocIns (ActChgInsSta+ 62)
+#define ActRcvFilDocInsDZ (ActChgInsSta+ 63)
+#define ActRcvFilDocInsCla (ActChgInsSta+ 64)
+#define ActExpAdmDocIns (ActChgInsSta+ 65)
+#define ActConAdmDocIns (ActChgInsSta+ 66)
+#define ActZIPAdmDocIns (ActChgInsSta+ 67)
+#define ActShoDocIns (ActChgInsSta+ 68)
+#define ActHidDocIns (ActChgInsSta+ 69)
+#define ActReqDatAdmDocIns (ActChgInsSta+ 70)
+#define ActChgDatAdmDocIns (ActChgInsSta+ 71)
+#define ActDowAdmDocIns (ActChgInsSta+ 72)
+
+#define ActReqRemFilComIns (ActChgInsSta+ 73)
+#define ActRemFilComIns (ActChgInsSta+ 74)
+#define ActRemFolComIns (ActChgInsSta+ 75)
+#define ActCopComIns (ActChgInsSta+ 76)
+#define ActPasComIns (ActChgInsSta+ 77)
+#define ActRemTreComIns (ActChgInsSta+ 78)
+#define ActFrmCreComIns (ActChgInsSta+ 79)
+#define ActCreFolComIns (ActChgInsSta+ 80)
+#define ActCreLnkComIns (ActChgInsSta+ 81)
+#define ActRenFolComIns (ActChgInsSta+ 82)
+#define ActRcvFilComInsDZ (ActChgInsSta+ 83)
+#define ActRcvFilComInsCla (ActChgInsSta+ 84)
+#define ActExpComIns (ActChgInsSta+ 85)
+#define ActConComIns (ActChgInsSta+ 86)
+#define ActZIPComIns (ActChgInsSta+ 87)
+#define ActReqDatComIns (ActChgInsSta+ 88)
+#define ActChgDatComIns (ActChgInsSta+ 89)
+#define ActDowComIns (ActChgInsSta+ 90)
/*****************************************************************************/
/********************************* Centre tab ********************************/
/*****************************************************************************/
// Actions in menu
-#define ActCtrReqSch (ActDowAdmDocIns+ 1)
-#define ActSeeCtrInf (ActDowAdmDocIns+ 2)
-#define ActSeeDeg (ActDowAdmDocIns+ 3)
-#define ActSeeAdmDocCtr (ActDowAdmDocIns+ 4)
+#define ActCtrReqSch (ActDowComIns+ 1)
+#define ActSeeCtrInf (ActDowComIns+ 2)
+#define ActSeeDeg (ActDowComIns+ 3)
+#define ActSeeAdmDocCtr (ActDowComIns+ 4)
+#define ActAdmComCtr (ActDowComIns+ 5)
// Secondary actions
-#define ActCtrSch (ActDowAdmDocIns+ 5)
-#define ActPrnCtrInf (ActDowAdmDocIns+ 6)
-#define ActReqCtrLog (ActDowAdmDocIns+ 7)
-#define ActRecCtrLog (ActDowAdmDocIns+ 8)
-#define ActRemCtrLog (ActDowAdmDocIns+ 9)
-#define ActReqCtrPho (ActDowAdmDocIns+ 10)
-#define ActRecCtrPho (ActDowAdmDocIns+ 11)
-#define ActChgCtrPhoAtt (ActDowAdmDocIns+ 12)
+#define ActCtrSch (ActDowComIns+ 6)
+#define ActPrnCtrInf (ActDowComIns+ 7)
+#define ActReqCtrLog (ActDowComIns+ 8)
+#define ActRecCtrLog (ActDowComIns+ 9)
+#define ActRemCtrLog (ActDowComIns+ 10)
+#define ActReqCtrPho (ActDowComIns+ 11)
+#define ActRecCtrPho (ActDowComIns+ 12)
+#define ActChgCtrPhoAtt (ActDowComIns+ 13)
-#define ActEdiDeg (ActDowAdmDocIns+ 13)
-#define ActReqDeg (ActDowAdmDocIns+ 14)
-#define ActNewDeg (ActDowAdmDocIns+ 15)
-#define ActRemDeg (ActDowAdmDocIns+ 16)
-#define ActRenDegSho (ActDowAdmDocIns+ 17)
-#define ActRenDegFul (ActDowAdmDocIns+ 18)
-#define ActChgDegTyp (ActDowAdmDocIns+ 19)
-#define ActChgDegCtr (ActDowAdmDocIns+ 20)
-#define ActChgDegFstYea (ActDowAdmDocIns+ 21)
-#define ActChgDegLstYea (ActDowAdmDocIns+ 22)
-#define ActChgDegOptYea (ActDowAdmDocIns+ 23)
-#define ActChgDegWWW (ActDowAdmDocIns+ 24)
-#define ActChgDegSta (ActDowAdmDocIns+ 25)
+#define ActEdiDeg (ActDowComIns+ 14)
+#define ActReqDeg (ActDowComIns+ 15)
+#define ActNewDeg (ActDowComIns+ 16)
+#define ActRemDeg (ActDowComIns+ 17)
+#define ActRenDegSho (ActDowComIns+ 18)
+#define ActRenDegFul (ActDowComIns+ 19)
+#define ActChgDegTyp (ActDowComIns+ 20)
+#define ActChgDegCtr (ActDowComIns+ 21)
+#define ActChgDegFstYea (ActDowComIns+ 22)
+#define ActChgDegLstYea (ActDowComIns+ 23)
+#define ActChgDegOptYea (ActDowComIns+ 24)
+#define ActChgDegWWW (ActDowComIns+ 25)
+#define ActChgDegSta (ActDowComIns+ 26)
-#define ActChgToSeeDocCtr (ActDowAdmDocIns+ 26)
-#define ActSeeDocCtr (ActDowAdmDocIns+ 27)
-#define ActExpSeeDocCtr (ActDowAdmDocIns+ 28)
-#define ActConSeeDocCtr (ActDowAdmDocIns+ 29)
-#define ActZIPSeeDocCtr (ActDowAdmDocIns+ 30)
-#define ActReqDatSeeDocCtr (ActDowAdmDocIns+ 31)
-#define ActDowSeeDocCtr (ActDowAdmDocIns+ 32)
-#define ActChgToAdmDocCtr (ActDowAdmDocIns+ 33)
-#define ActAdmDocCtr (ActDowAdmDocIns+ 34)
-#define ActReqRemFilDocCtr (ActDowAdmDocIns+ 35)
-#define ActRemFilDocCtr (ActDowAdmDocIns+ 36)
-#define ActRemFolDocCtr (ActDowAdmDocIns+ 37)
-#define ActCopDocCtr (ActDowAdmDocIns+ 38)
-#define ActPasDocCtr (ActDowAdmDocIns+ 39)
-#define ActRemTreDocCtr (ActDowAdmDocIns+ 40)
-#define ActFrmCreDocCtr (ActDowAdmDocIns+ 41)
-#define ActCreFolDocCtr (ActDowAdmDocIns+ 42)
-#define ActCreLnkDocCtr (ActDowAdmDocIns+ 43)
-#define ActRenFolDocCtr (ActDowAdmDocIns+ 44)
-#define ActRcvFilDocCtrDZ (ActDowAdmDocIns+ 45)
-#define ActRcvFilDocCtrCla (ActDowAdmDocIns+ 46)
-#define ActExpAdmDocCtr (ActDowAdmDocIns+ 47)
-#define ActConAdmDocCtr (ActDowAdmDocIns+ 48)
-#define ActZIPAdmDocCtr (ActDowAdmDocIns+ 49)
-#define ActShoDocCtr (ActDowAdmDocIns+ 50)
-#define ActHidDocCtr (ActDowAdmDocIns+ 51)
-#define ActReqDatAdmDocCtr (ActDowAdmDocIns+ 52)
-#define ActChgDatAdmDocCtr (ActDowAdmDocIns+ 53)
-#define ActDowAdmDocCtr (ActDowAdmDocIns+ 54)
+#define ActChgToSeeDocCtr (ActDowComIns+ 27)
+#define ActSeeDocCtr (ActDowComIns+ 28)
+#define ActExpSeeDocCtr (ActDowComIns+ 29)
+#define ActConSeeDocCtr (ActDowComIns+ 30)
+#define ActZIPSeeDocCtr (ActDowComIns+ 31)
+#define ActReqDatSeeDocCtr (ActDowComIns+ 32)
+#define ActDowSeeDocCtr (ActDowComIns+ 33)
+#define ActChgToAdmDocCtr (ActDowComIns+ 34)
+#define ActAdmDocCtr (ActDowComIns+ 35)
+#define ActReqRemFilDocCtr (ActDowComIns+ 36)
+#define ActRemFilDocCtr (ActDowComIns+ 37)
+#define ActRemFolDocCtr (ActDowComIns+ 38)
+#define ActCopDocCtr (ActDowComIns+ 39)
+#define ActPasDocCtr (ActDowComIns+ 40)
+#define ActRemTreDocCtr (ActDowComIns+ 41)
+#define ActFrmCreDocCtr (ActDowComIns+ 42)
+#define ActCreFolDocCtr (ActDowComIns+ 43)
+#define ActCreLnkDocCtr (ActDowComIns+ 44)
+#define ActRenFolDocCtr (ActDowComIns+ 45)
+#define ActRcvFilDocCtrDZ (ActDowComIns+ 46)
+#define ActRcvFilDocCtrCla (ActDowComIns+ 47)
+#define ActExpAdmDocCtr (ActDowComIns+ 48)
+#define ActConAdmDocCtr (ActDowComIns+ 49)
+#define ActZIPAdmDocCtr (ActDowComIns+ 50)
+#define ActShoDocCtr (ActDowComIns+ 51)
+#define ActHidDocCtr (ActDowComIns+ 52)
+#define ActReqDatAdmDocCtr (ActDowComIns+ 53)
+#define ActChgDatAdmDocCtr (ActDowComIns+ 54)
+#define ActDowAdmDocCtr (ActDowComIns+ 55)
+
+#define ActReqRemFilComCtr (ActDowComIns+ 56)
+#define ActRemFilComCtr (ActDowComIns+ 57)
+#define ActRemFolComCtr (ActDowComIns+ 58)
+#define ActCopComCtr (ActDowComIns+ 59)
+#define ActPasComCtr (ActDowComIns+ 60)
+#define ActRemTreComCtr (ActDowComIns+ 61)
+#define ActFrmCreComCtr (ActDowComIns+ 62)
+#define ActCreFolComCtr (ActDowComIns+ 63)
+#define ActCreLnkComCtr (ActDowComIns+ 64)
+#define ActRenFolComCtr (ActDowComIns+ 65)
+#define ActRcvFilComCtrDZ (ActDowComIns+ 66)
+#define ActRcvFilComCtrCla (ActDowComIns+ 67)
+#define ActExpComCtr (ActDowComIns+ 68)
+#define ActConComCtr (ActDowComIns+ 69)
+#define ActZIPComCtr (ActDowComIns+ 70)
+#define ActReqDatComCtr (ActDowComIns+ 71)
+#define ActChgDatComCtr (ActDowComIns+ 72)
+#define ActDowComCtr (ActDowComIns+ 73)
/*****************************************************************************/
/********************************* Degree tab ********************************/
/*****************************************************************************/
// Actions in menu
-#define ActDegReqSch (ActDowAdmDocCtr+ 1)
-#define ActSeeDegInf (ActDowAdmDocCtr+ 2)
-#define ActSeeCrs (ActDowAdmDocCtr+ 3)
-#define ActSeeAdmDocDeg (ActDowAdmDocCtr+ 4)
+#define ActDegReqSch (ActDowComCtr+ 1)
+#define ActSeeDegInf (ActDowComCtr+ 2)
+#define ActSeeCrs (ActDowComCtr+ 3)
+#define ActSeeAdmDocDeg (ActDowComCtr+ 4)
+#define ActAdmComDeg (ActDowComCtr+ 5)
// Secondary actions
-#define ActDegSch (ActDowAdmDocCtr+ 5)
-#define ActPrnDegInf (ActDowAdmDocCtr+ 6)
-#define ActReqDegLog (ActDowAdmDocCtr+ 7)
-#define ActRecDegLog (ActDowAdmDocCtr+ 8)
-#define ActRemDegLog (ActDowAdmDocCtr+ 9)
+#define ActDegSch (ActDowComCtr+ 6)
+#define ActPrnDegInf (ActDowComCtr+ 7)
+#define ActReqDegLog (ActDowComCtr+ 8)
+#define ActRecDegLog (ActDowComCtr+ 9)
+#define ActRemDegLog (ActDowComCtr+ 10)
-#define ActEdiCrs (ActDowAdmDocCtr+ 10)
-#define ActReqCrs (ActDowAdmDocCtr+ 11)
-#define ActNewCrs (ActDowAdmDocCtr+ 12)
-#define ActRemCrs (ActDowAdmDocCtr+ 13)
-#define ActChgInsCrsCod (ActDowAdmDocCtr+ 14)
-#define ActChgCrsDeg (ActDowAdmDocCtr+ 15)
-#define ActChgCrsYea (ActDowAdmDocCtr+ 16)
-#define ActChgCrsSem (ActDowAdmDocCtr+ 17)
-#define ActRenCrsSho (ActDowAdmDocCtr+ 18)
-#define ActRenCrsFul (ActDowAdmDocCtr+ 19)
-#define ActChgCrsSta (ActDowAdmDocCtr+ 20)
+#define ActEdiCrs (ActDowComCtr+ 11)
+#define ActReqCrs (ActDowComCtr+ 12)
+#define ActNewCrs (ActDowComCtr+ 13)
+#define ActRemCrs (ActDowComCtr+ 14)
+#define ActChgInsCrsCod (ActDowComCtr+ 15)
+#define ActChgCrsDeg (ActDowComCtr+ 16)
+#define ActChgCrsYea (ActDowComCtr+ 17)
+#define ActChgCrsSem (ActDowComCtr+ 18)
+#define ActRenCrsSho (ActDowComCtr+ 19)
+#define ActRenCrsFul (ActDowComCtr+ 20)
+#define ActChgCrsSta (ActDowComCtr+ 21)
-#define ActChgToSeeDocDeg (ActDowAdmDocCtr+ 21)
-#define ActSeeDocDeg (ActDowAdmDocCtr+ 22)
-#define ActExpSeeDocDeg (ActDowAdmDocCtr+ 23)
-#define ActConSeeDocDeg (ActDowAdmDocCtr+ 24)
-#define ActZIPSeeDocDeg (ActDowAdmDocCtr+ 25)
-#define ActReqDatSeeDocDeg (ActDowAdmDocCtr+ 26)
-#define ActDowSeeDocDeg (ActDowAdmDocCtr+ 27)
-#define ActChgToAdmDocDeg (ActDowAdmDocCtr+ 28)
-#define ActAdmDocDeg (ActDowAdmDocCtr+ 29)
-#define ActReqRemFilDocDeg (ActDowAdmDocCtr+ 30)
-#define ActRemFilDocDeg (ActDowAdmDocCtr+ 31)
-#define ActRemFolDocDeg (ActDowAdmDocCtr+ 32)
-#define ActCopDocDeg (ActDowAdmDocCtr+ 33)
-#define ActPasDocDeg (ActDowAdmDocCtr+ 34)
-#define ActRemTreDocDeg (ActDowAdmDocCtr+ 35)
-#define ActFrmCreDocDeg (ActDowAdmDocCtr+ 36)
-#define ActCreFolDocDeg (ActDowAdmDocCtr+ 37)
-#define ActCreLnkDocDeg (ActDowAdmDocCtr+ 38)
-#define ActRenFolDocDeg (ActDowAdmDocCtr+ 39)
-#define ActRcvFilDocDegDZ (ActDowAdmDocCtr+ 40)
-#define ActRcvFilDocDegCla (ActDowAdmDocCtr+ 41)
-#define ActExpAdmDocDeg (ActDowAdmDocCtr+ 42)
-#define ActConAdmDocDeg (ActDowAdmDocCtr+ 43)
-#define ActZIPAdmDocDeg (ActDowAdmDocCtr+ 44)
-#define ActShoDocDeg (ActDowAdmDocCtr+ 45)
-#define ActHidDocDeg (ActDowAdmDocCtr+ 46)
-#define ActReqDatAdmDocDeg (ActDowAdmDocCtr+ 47)
-#define ActChgDatAdmDocDeg (ActDowAdmDocCtr+ 48)
-#define ActDowAdmDocDeg (ActDowAdmDocCtr+ 49)
+#define ActChgToSeeDocDeg (ActDowComCtr+ 22)
+#define ActSeeDocDeg (ActDowComCtr+ 23)
+#define ActExpSeeDocDeg (ActDowComCtr+ 24)
+#define ActConSeeDocDeg (ActDowComCtr+ 25)
+#define ActZIPSeeDocDeg (ActDowComCtr+ 26)
+#define ActReqDatSeeDocDeg (ActDowComCtr+ 27)
+#define ActDowSeeDocDeg (ActDowComCtr+ 28)
+#define ActChgToAdmDocDeg (ActDowComCtr+ 29)
+#define ActAdmDocDeg (ActDowComCtr+ 30)
+#define ActReqRemFilDocDeg (ActDowComCtr+ 31)
+#define ActRemFilDocDeg (ActDowComCtr+ 32)
+#define ActRemFolDocDeg (ActDowComCtr+ 33)
+#define ActCopDocDeg (ActDowComCtr+ 34)
+#define ActPasDocDeg (ActDowComCtr+ 35)
+#define ActRemTreDocDeg (ActDowComCtr+ 36)
+#define ActFrmCreDocDeg (ActDowComCtr+ 37)
+#define ActCreFolDocDeg (ActDowComCtr+ 38)
+#define ActCreLnkDocDeg (ActDowComCtr+ 39)
+#define ActRenFolDocDeg (ActDowComCtr+ 40)
+#define ActRcvFilDocDegDZ (ActDowComCtr+ 41)
+#define ActRcvFilDocDegCla (ActDowComCtr+ 42)
+#define ActExpAdmDocDeg (ActDowComCtr+ 43)
+#define ActConAdmDocDeg (ActDowComCtr+ 44)
+#define ActZIPAdmDocDeg (ActDowComCtr+ 45)
+#define ActShoDocDeg (ActDowComCtr+ 46)
+#define ActHidDocDeg (ActDowComCtr+ 47)
+#define ActReqDatAdmDocDeg (ActDowComCtr+ 48)
+#define ActChgDatAdmDocDeg (ActDowComCtr+ 49)
+#define ActDowAdmDocDeg (ActDowComCtr+ 50)
+
+#define ActReqRemFilComDeg (ActDowComCtr+ 51)
+#define ActRemFilComDeg (ActDowComCtr+ 52)
+#define ActRemFolComDeg (ActDowComCtr+ 53)
+#define ActCopComDeg (ActDowComCtr+ 54)
+#define ActPasComDeg (ActDowComCtr+ 55)
+#define ActRemTreComDeg (ActDowComCtr+ 56)
+#define ActFrmCreComDeg (ActDowComCtr+ 57)
+#define ActCreFolComDeg (ActDowComCtr+ 58)
+#define ActCreLnkComDeg (ActDowComCtr+ 59)
+#define ActRenFolComDeg (ActDowComCtr+ 60)
+#define ActRcvFilComDegDZ (ActDowComCtr+ 61)
+#define ActRcvFilComDegCla (ActDowComCtr+ 62)
+#define ActExpComDeg (ActDowComCtr+ 63)
+#define ActConComDeg (ActDowComCtr+ 64)
+#define ActZIPComDeg (ActDowComCtr+ 65)
+#define ActReqDatComDeg (ActDowComCtr+ 66)
+#define ActChgDatComDeg (ActDowComCtr+ 67)
+#define ActDowComDeg (ActDowComCtr+ 68)
/*****************************************************************************/
/******************************** Course tab *********************************/
/*****************************************************************************/
// Actions in menu
-#define ActCrsReqSch (ActDowAdmDocDeg+ 1)
-#define ActSeeCrsInf (ActDowAdmDocDeg+ 2)
-#define ActSeeTchGui (ActDowAdmDocDeg+ 3)
-#define ActSeeSyl (ActDowAdmDocDeg+ 4)
-#define ActSeeAdmDocCrs (ActDowAdmDocDeg+ 5)
-#define ActAdmCom (ActDowAdmDocDeg+ 6)
-#define ActSeeCrsTimTbl (ActDowAdmDocDeg+ 7)
-#define ActSeeBib (ActDowAdmDocDeg+ 8)
-#define ActSeeFAQ (ActDowAdmDocDeg+ 9)
-#define ActSeeCrsLnk (ActDowAdmDocDeg+ 10)
+#define ActCrsReqSch (ActDowComDeg+ 1)
+#define ActSeeCrsInf (ActDowComDeg+ 2)
+#define ActSeeTchGui (ActDowComDeg+ 3)
+#define ActSeeSyl (ActDowComDeg+ 4)
+#define ActSeeAdmDocCrs (ActDowComDeg+ 5)
+#define ActAdmCom (ActDowComDeg+ 6)
+#define ActSeeCrsTimTbl (ActDowComDeg+ 7)
+#define ActSeeBib (ActDowComDeg+ 8)
+#define ActSeeFAQ (ActDowComDeg+ 9)
+#define ActSeeCrsLnk (ActDowComDeg+ 10)
// Secondary actions
-#define ActCrsSch (ActDowAdmDocDeg+ 11)
-#define ActPrnCrsInf (ActDowAdmDocDeg+ 12)
-#define ActChgCrsLog (ActDowAdmDocDeg+ 13)
-#define ActEdiCrsInf (ActDowAdmDocDeg+ 14)
-#define ActEdiTchGui (ActDowAdmDocDeg+ 15)
-#define ActPrnCrsTimTbl (ActDowAdmDocDeg+ 16)
-#define ActEdiCrsTimTbl (ActDowAdmDocDeg+ 17)
-#define ActChgCrsTimTbl (ActDowAdmDocDeg+ 18)
-#define ActSeeSylLec (ActDowAdmDocDeg+ 19)
-#define ActSeeSylPra (ActDowAdmDocDeg+ 20)
-#define ActEdiSylLec (ActDowAdmDocDeg+ 21)
-#define ActEdiSylPra (ActDowAdmDocDeg+ 22)
-#define ActDelItmSylLec (ActDowAdmDocDeg+ 23)
-#define ActDelItmSylPra (ActDowAdmDocDeg+ 24)
-#define ActUp_IteSylLec (ActDowAdmDocDeg+ 25)
-#define ActUp_IteSylPra (ActDowAdmDocDeg+ 26)
-#define ActDwnIteSylLec (ActDowAdmDocDeg+ 27)
-#define ActDwnIteSylPra (ActDowAdmDocDeg+ 28)
-#define ActRgtIteSylLec (ActDowAdmDocDeg+ 29)
-#define ActRgtIteSylPra (ActDowAdmDocDeg+ 30)
-#define ActLftIteSylLec (ActDowAdmDocDeg+ 31)
-#define ActLftIteSylPra (ActDowAdmDocDeg+ 32)
-#define ActInsIteSylLec (ActDowAdmDocDeg+ 33)
-#define ActInsIteSylPra (ActDowAdmDocDeg+ 34)
-#define ActModIteSylLec (ActDowAdmDocDeg+ 35)
-#define ActModIteSylPra (ActDowAdmDocDeg+ 36)
+#define ActCrsSch (ActDowComDeg+ 11)
+#define ActPrnCrsInf (ActDowComDeg+ 12)
+#define ActChgCrsLog (ActDowComDeg+ 13)
+#define ActEdiCrsInf (ActDowComDeg+ 14)
+#define ActEdiTchGui (ActDowComDeg+ 15)
+#define ActPrnCrsTimTbl (ActDowComDeg+ 16)
+#define ActEdiCrsTimTbl (ActDowComDeg+ 17)
+#define ActChgCrsTimTbl (ActDowComDeg+ 18)
+#define ActSeeSylLec (ActDowComDeg+ 19)
+#define ActSeeSylPra (ActDowComDeg+ 20)
+#define ActEdiSylLec (ActDowComDeg+ 21)
+#define ActEdiSylPra (ActDowComDeg+ 22)
+#define ActDelItmSylLec (ActDowComDeg+ 23)
+#define ActDelItmSylPra (ActDowComDeg+ 24)
+#define ActUp_IteSylLec (ActDowComDeg+ 25)
+#define ActUp_IteSylPra (ActDowComDeg+ 26)
+#define ActDwnIteSylLec (ActDowComDeg+ 27)
+#define ActDwnIteSylPra (ActDowComDeg+ 28)
+#define ActRgtIteSylLec (ActDowComDeg+ 29)
+#define ActRgtIteSylPra (ActDowComDeg+ 30)
+#define ActLftIteSylLec (ActDowComDeg+ 31)
+#define ActLftIteSylPra (ActDowComDeg+ 32)
+#define ActInsIteSylLec (ActDowComDeg+ 33)
+#define ActInsIteSylPra (ActDowComDeg+ 34)
+#define ActModIteSylLec (ActDowComDeg+ 35)
+#define ActModIteSylPra (ActDowComDeg+ 36)
-#define ActChgToSeeDocCrs (ActDowAdmDocDeg+ 37)
-#define ActSeeDocCrs (ActDowAdmDocDeg+ 38)
-#define ActExpSeeDocCrs (ActDowAdmDocDeg+ 39)
-#define ActConSeeDocCrs (ActDowAdmDocDeg+ 40)
-#define ActZIPSeeDocCrs (ActDowAdmDocDeg+ 41)
-#define ActReqDatSeeDocCrs (ActDowAdmDocDeg+ 42)
-#define ActDowSeeDocCrs (ActDowAdmDocDeg+ 43)
+#define ActChgToSeeDocCrs (ActDowComDeg+ 37)
+#define ActSeeDocCrs (ActDowComDeg+ 38)
+#define ActExpSeeDocCrs (ActDowComDeg+ 39)
+#define ActConSeeDocCrs (ActDowComDeg+ 40)
+#define ActZIPSeeDocCrs (ActDowComDeg+ 41)
+#define ActReqDatSeeDocCrs (ActDowComDeg+ 42)
+#define ActDowSeeDocCrs (ActDowComDeg+ 43)
-#define ActSeeDocGrp (ActDowAdmDocDeg+ 44)
-#define ActExpSeeDocGrp (ActDowAdmDocDeg+ 45)
-#define ActConSeeDocGrp (ActDowAdmDocDeg+ 46)
-#define ActZIPSeeDocGrp (ActDowAdmDocDeg+ 47)
-#define ActReqDatSeeDocGrp (ActDowAdmDocDeg+ 48)
-#define ActDowSeeDocGrp (ActDowAdmDocDeg+ 49)
+#define ActSeeDocGrp (ActDowComDeg+ 44)
+#define ActExpSeeDocGrp (ActDowComDeg+ 45)
+#define ActConSeeDocGrp (ActDowComDeg+ 46)
+#define ActZIPSeeDocGrp (ActDowComDeg+ 47)
+#define ActReqDatSeeDocGrp (ActDowComDeg+ 48)
+#define ActDowSeeDocGrp (ActDowComDeg+ 49)
-#define ActChgToAdmDocCrs (ActDowAdmDocDeg+ 50)
-#define ActAdmDocCrs (ActDowAdmDocDeg+ 51)
-#define ActReqRemFilDocCrs (ActDowAdmDocDeg+ 52)
-#define ActRemFilDocCrs (ActDowAdmDocDeg+ 53)
-#define ActRemFolDocCrs (ActDowAdmDocDeg+ 54)
-#define ActCopDocCrs (ActDowAdmDocDeg+ 55)
-#define ActPasDocCrs (ActDowAdmDocDeg+ 56)
-#define ActRemTreDocCrs (ActDowAdmDocDeg+ 57)
-#define ActFrmCreDocCrs (ActDowAdmDocDeg+ 58)
-#define ActCreFolDocCrs (ActDowAdmDocDeg+ 59)
-#define ActCreLnkDocCrs (ActDowAdmDocDeg+ 60)
-#define ActRenFolDocCrs (ActDowAdmDocDeg+ 61)
-#define ActRcvFilDocCrsDZ (ActDowAdmDocDeg+ 62)
-#define ActRcvFilDocCrsCla (ActDowAdmDocDeg+ 63)
-#define ActExpAdmDocCrs (ActDowAdmDocDeg+ 64)
-#define ActConAdmDocCrs (ActDowAdmDocDeg+ 65)
-#define ActZIPAdmDocCrs (ActDowAdmDocDeg+ 66)
-#define ActShoDocCrs (ActDowAdmDocDeg+ 67)
-#define ActHidDocCrs (ActDowAdmDocDeg+ 68)
-#define ActReqDatAdmDocCrs (ActDowAdmDocDeg+ 69)
-#define ActChgDatAdmDocCrs (ActDowAdmDocDeg+ 70)
-#define ActDowAdmDocCrs (ActDowAdmDocDeg+ 71)
+#define ActChgToAdmDocCrs (ActDowComDeg+ 50)
+#define ActAdmDocCrs (ActDowComDeg+ 51)
+#define ActReqRemFilDocCrs (ActDowComDeg+ 52)
+#define ActRemFilDocCrs (ActDowComDeg+ 53)
+#define ActRemFolDocCrs (ActDowComDeg+ 54)
+#define ActCopDocCrs (ActDowComDeg+ 55)
+#define ActPasDocCrs (ActDowComDeg+ 56)
+#define ActRemTreDocCrs (ActDowComDeg+ 57)
+#define ActFrmCreDocCrs (ActDowComDeg+ 58)
+#define ActCreFolDocCrs (ActDowComDeg+ 59)
+#define ActCreLnkDocCrs (ActDowComDeg+ 60)
+#define ActRenFolDocCrs (ActDowComDeg+ 61)
+#define ActRcvFilDocCrsDZ (ActDowComDeg+ 62)
+#define ActRcvFilDocCrsCla (ActDowComDeg+ 63)
+#define ActExpAdmDocCrs (ActDowComDeg+ 64)
+#define ActConAdmDocCrs (ActDowComDeg+ 65)
+#define ActZIPAdmDocCrs (ActDowComDeg+ 66)
+#define ActShoDocCrs (ActDowComDeg+ 67)
+#define ActHidDocCrs (ActDowComDeg+ 68)
+#define ActReqDatAdmDocCrs (ActDowComDeg+ 69)
+#define ActChgDatAdmDocCrs (ActDowComDeg+ 70)
+#define ActDowAdmDocCrs (ActDowComDeg+ 71)
-#define ActAdmDocGrp (ActDowAdmDocDeg+ 72)
-#define ActReqRemFilDocGrp (ActDowAdmDocDeg+ 73)
-#define ActRemFilDocGrp (ActDowAdmDocDeg+ 74)
-#define ActRemFolDocGrp (ActDowAdmDocDeg+ 75)
-#define ActCopDocGrp (ActDowAdmDocDeg+ 76)
-#define ActPasDocGrp (ActDowAdmDocDeg+ 77)
-#define ActRemTreDocGrp (ActDowAdmDocDeg+ 78)
-#define ActFrmCreDocGrp (ActDowAdmDocDeg+ 79)
-#define ActCreFolDocGrp (ActDowAdmDocDeg+ 80)
-#define ActCreLnkDocGrp (ActDowAdmDocDeg+ 81)
-#define ActRenFolDocGrp (ActDowAdmDocDeg+ 82)
-#define ActRcvFilDocGrpDZ (ActDowAdmDocDeg+ 83)
-#define ActRcvFilDocGrpCla (ActDowAdmDocDeg+ 84)
-#define ActExpAdmDocGrp (ActDowAdmDocDeg+ 85)
-#define ActConAdmDocGrp (ActDowAdmDocDeg+ 86)
-#define ActZIPAdmDocGrp (ActDowAdmDocDeg+ 87)
-#define ActShoDocGrp (ActDowAdmDocDeg+ 88)
-#define ActHidDocGrp (ActDowAdmDocDeg+ 89)
-#define ActReqDatAdmDocGrp (ActDowAdmDocDeg+ 90)
-#define ActChgDatAdmDocGrp (ActDowAdmDocDeg+ 91)
-#define ActDowAdmDocGrp (ActDowAdmDocDeg+ 92)
+#define ActAdmDocGrp (ActDowComDeg+ 72)
+#define ActReqRemFilDocGrp (ActDowComDeg+ 73)
+#define ActRemFilDocGrp (ActDowComDeg+ 74)
+#define ActRemFolDocGrp (ActDowComDeg+ 75)
+#define ActCopDocGrp (ActDowComDeg+ 76)
+#define ActPasDocGrp (ActDowComDeg+ 77)
+#define ActRemTreDocGrp (ActDowComDeg+ 78)
+#define ActFrmCreDocGrp (ActDowComDeg+ 79)
+#define ActCreFolDocGrp (ActDowComDeg+ 80)
+#define ActCreLnkDocGrp (ActDowComDeg+ 81)
+#define ActRenFolDocGrp (ActDowComDeg+ 82)
+#define ActRcvFilDocGrpDZ (ActDowComDeg+ 83)
+#define ActRcvFilDocGrpCla (ActDowComDeg+ 84)
+#define ActExpAdmDocGrp (ActDowComDeg+ 85)
+#define ActConAdmDocGrp (ActDowComDeg+ 86)
+#define ActZIPAdmDocGrp (ActDowComDeg+ 87)
+#define ActShoDocGrp (ActDowComDeg+ 88)
+#define ActHidDocGrp (ActDowComDeg+ 89)
+#define ActReqDatAdmDocGrp (ActDowComDeg+ 90)
+#define ActChgDatAdmDocGrp (ActDowComDeg+ 91)
+#define ActDowAdmDocGrp (ActDowComDeg+ 92)
-#define ActChgToAdmCom (ActDowAdmDocDeg+ 93)
+#define ActChgToAdmCom (ActDowComDeg+ 93)
-#define ActAdmComCrs (ActDowAdmDocDeg+ 94)
-#define ActReqRemFilComCrs (ActDowAdmDocDeg+ 95)
-#define ActRemFilComCrs (ActDowAdmDocDeg+ 96)
-#define ActRemFolComCrs (ActDowAdmDocDeg+ 97)
-#define ActCopComCrs (ActDowAdmDocDeg+ 98)
-#define ActPasComCrs (ActDowAdmDocDeg+ 99)
-#define ActRemTreComCrs (ActDowAdmDocDeg+100)
-#define ActFrmCreComCrs (ActDowAdmDocDeg+101)
-#define ActCreFolComCrs (ActDowAdmDocDeg+102)
-#define ActCreLnkComCrs (ActDowAdmDocDeg+103)
-#define ActRenFolComCrs (ActDowAdmDocDeg+104)
-#define ActRcvFilComCrsDZ (ActDowAdmDocDeg+105)
-#define ActRcvFilComCrsCla (ActDowAdmDocDeg+106)
-#define ActExpComCrs (ActDowAdmDocDeg+107)
-#define ActConComCrs (ActDowAdmDocDeg+108)
-#define ActZIPComCrs (ActDowAdmDocDeg+109)
-#define ActReqDatComCrs (ActDowAdmDocDeg+110)
-#define ActChgDatComCrs (ActDowAdmDocDeg+111)
-#define ActDowComCrs (ActDowAdmDocDeg+112)
+#define ActAdmComCrs (ActDowComDeg+ 94)
+#define ActReqRemFilComCrs (ActDowComDeg+ 95)
+#define ActRemFilComCrs (ActDowComDeg+ 96)
+#define ActRemFolComCrs (ActDowComDeg+ 97)
+#define ActCopComCrs (ActDowComDeg+ 98)
+#define ActPasComCrs (ActDowComDeg+ 99)
+#define ActRemTreComCrs (ActDowComDeg+100)
+#define ActFrmCreComCrs (ActDowComDeg+101)
+#define ActCreFolComCrs (ActDowComDeg+102)
+#define ActCreLnkComCrs (ActDowComDeg+103)
+#define ActRenFolComCrs (ActDowComDeg+104)
+#define ActRcvFilComCrsDZ (ActDowComDeg+105)
+#define ActRcvFilComCrsCla (ActDowComDeg+106)
+#define ActExpComCrs (ActDowComDeg+107)
+#define ActConComCrs (ActDowComDeg+108)
+#define ActZIPComCrs (ActDowComDeg+109)
+#define ActReqDatComCrs (ActDowComDeg+110)
+#define ActChgDatComCrs (ActDowComDeg+111)
+#define ActDowComCrs (ActDowComDeg+112)
-#define ActAdmComGrp (ActDowAdmDocDeg+113)
-#define ActReqRemFilComGrp (ActDowAdmDocDeg+114)
-#define ActRemFilComGrp (ActDowAdmDocDeg+115)
-#define ActRemFolComGrp (ActDowAdmDocDeg+116)
-#define ActCopComGrp (ActDowAdmDocDeg+117)
-#define ActPasComGrp (ActDowAdmDocDeg+118)
-#define ActRemTreComGrp (ActDowAdmDocDeg+119)
-#define ActFrmCreComGrp (ActDowAdmDocDeg+120)
-#define ActCreFolComGrp (ActDowAdmDocDeg+121)
-#define ActCreLnkComGrp (ActDowAdmDocDeg+122)
-#define ActRenFolComGrp (ActDowAdmDocDeg+123)
-#define ActRcvFilComGrpDZ (ActDowAdmDocDeg+124)
-#define ActRcvFilComGrpCla (ActDowAdmDocDeg+125)
-#define ActExpComGrp (ActDowAdmDocDeg+126)
-#define ActConComGrp (ActDowAdmDocDeg+127)
-#define ActZIPComGrp (ActDowAdmDocDeg+128)
-#define ActReqDatComGrp (ActDowAdmDocDeg+129)
-#define ActChgDatComGrp (ActDowAdmDocDeg+130)
-#define ActDowComGrp (ActDowAdmDocDeg+131)
+#define ActAdmComGrp (ActDowComDeg+113)
+#define ActReqRemFilComGrp (ActDowComDeg+114)
+#define ActRemFilComGrp (ActDowComDeg+115)
+#define ActRemFolComGrp (ActDowComDeg+116)
+#define ActCopComGrp (ActDowComDeg+117)
+#define ActPasComGrp (ActDowComDeg+118)
+#define ActRemTreComGrp (ActDowComDeg+119)
+#define ActFrmCreComGrp (ActDowComDeg+120)
+#define ActCreFolComGrp (ActDowComDeg+121)
+#define ActCreLnkComGrp (ActDowComDeg+122)
+#define ActRenFolComGrp (ActDowComDeg+123)
+#define ActRcvFilComGrpDZ (ActDowComDeg+124)
+#define ActRcvFilComGrpCla (ActDowComDeg+125)
+#define ActExpComGrp (ActDowComDeg+126)
+#define ActConComGrp (ActDowComDeg+127)
+#define ActZIPComGrp (ActDowComDeg+128)
+#define ActReqDatComGrp (ActDowComDeg+129)
+#define ActChgDatComGrp (ActDowComDeg+130)
+#define ActDowComGrp (ActDowComDeg+131)
-#define ActEdiBib (ActDowAdmDocDeg+132)
-#define ActEdiFAQ (ActDowAdmDocDeg+133)
-#define ActEdiCrsLnk (ActDowAdmDocDeg+134)
+#define ActEdiBib (ActDowComDeg+132)
+#define ActEdiFAQ (ActDowComDeg+133)
+#define ActEdiCrsLnk (ActDowComDeg+134)
-#define ActChgFrcReaCrsInf (ActDowAdmDocDeg+135)
-#define ActChgFrcReaTchGui (ActDowAdmDocDeg+136)
-#define ActChgFrcReaSylLec (ActDowAdmDocDeg+137)
-#define ActChgFrcReaSylPra (ActDowAdmDocDeg+138)
-#define ActChgFrcReaBib (ActDowAdmDocDeg+139)
-#define ActChgFrcReaFAQ (ActDowAdmDocDeg+140)
-#define ActChgFrcReaCrsLnk (ActDowAdmDocDeg+141)
+#define ActChgFrcReaCrsInf (ActDowComDeg+135)
+#define ActChgFrcReaTchGui (ActDowComDeg+136)
+#define ActChgFrcReaSylLec (ActDowComDeg+137)
+#define ActChgFrcReaSylPra (ActDowComDeg+138)
+#define ActChgFrcReaBib (ActDowComDeg+139)
+#define ActChgFrcReaFAQ (ActDowComDeg+140)
+#define ActChgFrcReaCrsLnk (ActDowComDeg+141)
-#define ActChgHavReaCrsInf (ActDowAdmDocDeg+142)
-#define ActChgHavReaTchGui (ActDowAdmDocDeg+143)
-#define ActChgHavReaSylLec (ActDowAdmDocDeg+144)
-#define ActChgHavReaSylPra (ActDowAdmDocDeg+145)
-#define ActChgHavReaBib (ActDowAdmDocDeg+146)
-#define ActChgHavReaFAQ (ActDowAdmDocDeg+147)
-#define ActChgHavReaCrsLnk (ActDowAdmDocDeg+148)
+#define ActChgHavReaCrsInf (ActDowComDeg+142)
+#define ActChgHavReaTchGui (ActDowComDeg+143)
+#define ActChgHavReaSylLec (ActDowComDeg+144)
+#define ActChgHavReaSylPra (ActDowComDeg+145)
+#define ActChgHavReaBib (ActDowComDeg+146)
+#define ActChgHavReaFAQ (ActDowComDeg+147)
+#define ActChgHavReaCrsLnk (ActDowComDeg+148)
-#define ActSelInfSrcCrsInf (ActDowAdmDocDeg+149)
-#define ActSelInfSrcTchGui (ActDowAdmDocDeg+150)
-#define ActSelInfSrcSylLec (ActDowAdmDocDeg+151)
-#define ActSelInfSrcSylPra (ActDowAdmDocDeg+152)
-#define ActSelInfSrcBib (ActDowAdmDocDeg+153)
-#define ActSelInfSrcFAQ (ActDowAdmDocDeg+154)
-#define ActSelInfSrcCrsLnk (ActDowAdmDocDeg+155)
-#define ActRcvURLCrsInf (ActDowAdmDocDeg+156)
-#define ActRcvURLTchGui (ActDowAdmDocDeg+157)
-#define ActRcvURLSylLec (ActDowAdmDocDeg+158)
-#define ActRcvURLSylPra (ActDowAdmDocDeg+159)
-#define ActRcvURLBib (ActDowAdmDocDeg+160)
-#define ActRcvURLFAQ (ActDowAdmDocDeg+161)
-#define ActRcvURLCrsLnk (ActDowAdmDocDeg+162)
-#define ActRcvPagCrsInf (ActDowAdmDocDeg+163)
-#define ActRcvPagTchGui (ActDowAdmDocDeg+164)
-#define ActRcvPagSylLec (ActDowAdmDocDeg+165)
-#define ActRcvPagSylPra (ActDowAdmDocDeg+166)
-#define ActRcvPagBib (ActDowAdmDocDeg+167)
-#define ActRcvPagFAQ (ActDowAdmDocDeg+168)
-#define ActRcvPagCrsLnk (ActDowAdmDocDeg+169)
-#define ActEditorCrsInf (ActDowAdmDocDeg+170)
-#define ActEditorTchGui (ActDowAdmDocDeg+171)
-#define ActEditorSylLec (ActDowAdmDocDeg+172)
-#define ActEditorSylPra (ActDowAdmDocDeg+173)
-#define ActEditorBib (ActDowAdmDocDeg+174)
-#define ActEditorFAQ (ActDowAdmDocDeg+175)
-#define ActEditorCrsLnk (ActDowAdmDocDeg+176)
-#define ActPlaTxtEdiCrsInf (ActDowAdmDocDeg+177)
-#define ActPlaTxtEdiTchGui (ActDowAdmDocDeg+178)
-#define ActPlaTxtEdiSylLec (ActDowAdmDocDeg+179)
-#define ActPlaTxtEdiSylPra (ActDowAdmDocDeg+180)
-#define ActPlaTxtEdiBib (ActDowAdmDocDeg+181)
-#define ActPlaTxtEdiFAQ (ActDowAdmDocDeg+182)
-#define ActPlaTxtEdiCrsLnk (ActDowAdmDocDeg+183)
-#define ActRchTxtEdiCrsInf (ActDowAdmDocDeg+184)
-#define ActRchTxtEdiTchGui (ActDowAdmDocDeg+185)
-#define ActRchTxtEdiSylLec (ActDowAdmDocDeg+186)
-#define ActRchTxtEdiSylPra (ActDowAdmDocDeg+187)
-#define ActRchTxtEdiBib (ActDowAdmDocDeg+188)
-#define ActRchTxtEdiFAQ (ActDowAdmDocDeg+189)
-#define ActRchTxtEdiCrsLnk (ActDowAdmDocDeg+190)
-#define ActRcvPlaTxtCrsInf (ActDowAdmDocDeg+191)
-#define ActRcvPlaTxtTchGui (ActDowAdmDocDeg+192)
-#define ActRcvPlaTxtSylLec (ActDowAdmDocDeg+193)
-#define ActRcvPlaTxtSylPra (ActDowAdmDocDeg+194)
-#define ActRcvPlaTxtBib (ActDowAdmDocDeg+195)
-#define ActRcvPlaTxtFAQ (ActDowAdmDocDeg+196)
-#define ActRcvPlaTxtCrsLnk (ActDowAdmDocDeg+197)
-#define ActRcvRchTxtCrsInf (ActDowAdmDocDeg+198)
-#define ActRcvRchTxtTchGui (ActDowAdmDocDeg+199)
-#define ActRcvRchTxtSylLec (ActDowAdmDocDeg+200)
-#define ActRcvRchTxtSylPra (ActDowAdmDocDeg+201)
-#define ActRcvRchTxtBib (ActDowAdmDocDeg+202)
-#define ActRcvRchTxtFAQ (ActDowAdmDocDeg+203)
-#define ActRcvRchTxtCrsLnk (ActDowAdmDocDeg+204)
+#define ActSelInfSrcCrsInf (ActDowComDeg+149)
+#define ActSelInfSrcTchGui (ActDowComDeg+150)
+#define ActSelInfSrcSylLec (ActDowComDeg+151)
+#define ActSelInfSrcSylPra (ActDowComDeg+152)
+#define ActSelInfSrcBib (ActDowComDeg+153)
+#define ActSelInfSrcFAQ (ActDowComDeg+154)
+#define ActSelInfSrcCrsLnk (ActDowComDeg+155)
+#define ActRcvURLCrsInf (ActDowComDeg+156)
+#define ActRcvURLTchGui (ActDowComDeg+157)
+#define ActRcvURLSylLec (ActDowComDeg+158)
+#define ActRcvURLSylPra (ActDowComDeg+159)
+#define ActRcvURLBib (ActDowComDeg+160)
+#define ActRcvURLFAQ (ActDowComDeg+161)
+#define ActRcvURLCrsLnk (ActDowComDeg+162)
+#define ActRcvPagCrsInf (ActDowComDeg+163)
+#define ActRcvPagTchGui (ActDowComDeg+164)
+#define ActRcvPagSylLec (ActDowComDeg+165)
+#define ActRcvPagSylPra (ActDowComDeg+166)
+#define ActRcvPagBib (ActDowComDeg+167)
+#define ActRcvPagFAQ (ActDowComDeg+168)
+#define ActRcvPagCrsLnk (ActDowComDeg+169)
+#define ActEditorCrsInf (ActDowComDeg+170)
+#define ActEditorTchGui (ActDowComDeg+171)
+#define ActEditorSylLec (ActDowComDeg+172)
+#define ActEditorSylPra (ActDowComDeg+173)
+#define ActEditorBib (ActDowComDeg+174)
+#define ActEditorFAQ (ActDowComDeg+175)
+#define ActEditorCrsLnk (ActDowComDeg+176)
+#define ActPlaTxtEdiCrsInf (ActDowComDeg+177)
+#define ActPlaTxtEdiTchGui (ActDowComDeg+178)
+#define ActPlaTxtEdiSylLec (ActDowComDeg+179)
+#define ActPlaTxtEdiSylPra (ActDowComDeg+180)
+#define ActPlaTxtEdiBib (ActDowComDeg+181)
+#define ActPlaTxtEdiFAQ (ActDowComDeg+182)
+#define ActPlaTxtEdiCrsLnk (ActDowComDeg+183)
+#define ActRchTxtEdiCrsInf (ActDowComDeg+184)
+#define ActRchTxtEdiTchGui (ActDowComDeg+185)
+#define ActRchTxtEdiSylLec (ActDowComDeg+186)
+#define ActRchTxtEdiSylPra (ActDowComDeg+187)
+#define ActRchTxtEdiBib (ActDowComDeg+188)
+#define ActRchTxtEdiFAQ (ActDowComDeg+189)
+#define ActRchTxtEdiCrsLnk (ActDowComDeg+190)
+#define ActRcvPlaTxtCrsInf (ActDowComDeg+191)
+#define ActRcvPlaTxtTchGui (ActDowComDeg+192)
+#define ActRcvPlaTxtSylLec (ActDowComDeg+193)
+#define ActRcvPlaTxtSylPra (ActDowComDeg+194)
+#define ActRcvPlaTxtBib (ActDowComDeg+195)
+#define ActRcvPlaTxtFAQ (ActDowComDeg+196)
+#define ActRcvPlaTxtCrsLnk (ActDowComDeg+197)
+#define ActRcvRchTxtCrsInf (ActDowComDeg+198)
+#define ActRcvRchTxtTchGui (ActDowComDeg+199)
+#define ActRcvRchTxtSylLec (ActDowComDeg+200)
+#define ActRcvRchTxtSylPra (ActDowComDeg+201)
+#define ActRcvRchTxtBib (ActDowComDeg+202)
+#define ActRcvRchTxtFAQ (ActDowComDeg+203)
+#define ActRcvRchTxtCrsLnk (ActDowComDeg+204)
/*****************************************************************************/
/***************************** Assessment tab ********************************/
diff --git a/swad_changelog.h b/swad_changelog.h
index 3997078f1..a6a11811b 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -41,11 +41,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
-#define Log_PLATFORM_VERSION "SWAD 14.73.4 (2015/02/05)"
+#define Log_PLATFORM_VERSION "SWAD 14.74 (2015/02/05)"
// 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 | tail -1
/*
+ Version 14.74: Feb 05, 2015 Shared files for institution, centre and degree. (177982 lines)
Version 14.73.5: Feb 05, 2015 New message when user does not belong to any course. (177170 lines)
Version 14.73.4: Feb 04, 2015 Changes in institution configuration. (177103 lines)
Version 14.73.3: Feb 04, 2015 Changes in degree configuration. (177080 lines)
diff --git a/swad_file_browser.c b/swad_file_browser.c
index fdaac1de1..4cfe002a6 100644
--- a/swad_file_browser.c
+++ b/swad_file_browser.c
@@ -98,108 +98,120 @@ const char *Brw_Licenses_DB[Brw_NUM_LICENSES] =
// Browsers types for database "files" and "file_browser_size" tables
const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER] =
{
- Brw_UNKNOWN, // Brw_UNKNOWN = 0,
- Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1,
- Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2,
- Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3,
- Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4,
- Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5,
- Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_USR = 6,
- Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_CRS = 7,
- Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8,
- Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9,
- Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10,
- Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11,
- Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12,
- Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13,
- Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14,
- Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_CRS = 15,
- Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16,
- Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17,
- Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18,
- Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19,
- Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20,
- Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21,
+ Brw_UNKNOWN, // Brw_UNKNOWN = 0
+ Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1
+ Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2
+ Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3
+ Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4
+ Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5
+ Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_USR = 6
+ Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_CRS = 7
+ Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8
+ Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9
+ Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10
+ Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11
+ Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12
+ Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13
+ Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14
+ Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_CRS = 15
+ Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16
+ Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17
+ Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18
+ Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19
+ Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20
+ Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21
+ 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
};
// Browsers types for database "clipboard" table
static const Brw_FileBrowser_t Brw_FileBrowserForDB_clipboard[Brw_NUM_TYPES_FILE_BROWSER] =
{
- Brw_UNKNOWN, // Brw_UNKNOWN = 0,
- Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1,
- Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2,
- Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3,
- Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4,
- Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5,
- Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_USR = 6,
- Brw_ADMI_WORKS_CRS, // Brw_ADMI_WORKS_CRS = 7,
- Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8,
- Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9,
- Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10,
- Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11,
- Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12,
- Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13,
- Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14,
- Brw_ADMI_ASSIG_CRS, // Brw_ADMI_ASSIG_CRS = 15,
- Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16,
- Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17,
- Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18,
- Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19,
- Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20,
- Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21,
+ Brw_UNKNOWN, // Brw_UNKNOWN = 0
+ Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1
+ Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2
+ Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3
+ Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4
+ Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5
+ Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_USR = 6
+ Brw_ADMI_WORKS_CRS, // Brw_ADMI_WORKS_CRS = 7
+ Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8
+ Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9
+ Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10
+ Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11
+ Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12
+ Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13
+ Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14
+ Brw_ADMI_ASSIG_CRS, // Brw_ADMI_ASSIG_CRS = 15
+ Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16
+ Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17
+ Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18
+ Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19
+ Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20
+ Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21
+ 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
};
// Browsers types for database "expanded_folders" table
static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYPES_FILE_BROWSER] =
{
- Brw_UNKNOWN, // Brw_UNKNOWN = 1
- Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 2
- Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 3
- Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 4
- Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 5
- Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 6
- Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_USR = 7
- Brw_ADMI_WORKS_CRS, // Brw_ADMI_WORKS_CRS = 8
- Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 9
- Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 10
- Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 11
- Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 12
- Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 13
- Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 14
- Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 15
- Brw_ADMI_ASSIG_CRS, // Brw_ADMI_ASSIG_CRS = 16
- Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 17
- Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 18
- Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 19
- Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 20
- Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 21
- Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 22
+ Brw_UNKNOWN, // Brw_UNKNOWN = 0
+ Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1
+ Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2
+ Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3
+ Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4
+ Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5
+ Brw_ADMI_WORKS_USR, // Brw_ADMI_WORKS_USR = 6
+ Brw_ADMI_WORKS_CRS, // Brw_ADMI_WORKS_CRS = 7
+ Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8
+ Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9
+ Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10
+ Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11
+ Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12
+ Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13
+ Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14
+ Brw_ADMI_ASSIG_CRS, // Brw_ADMI_ASSIG_CRS = 15
+ Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16
+ Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17
+ Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18
+ Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19
+ Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20
+ Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21
+ 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
};
// Browsers types for database "file_browser_last" table
// Assignments and works are stored as one in file_browser_last...
// ...because a user views them at the same time
static const Brw_FileBrowser_t Brw_FileBrowserForDB_file_browser_last[Brw_NUM_TYPES_FILE_BROWSER] =
{
- Brw_UNKNOWN, // Brw_UNKNOWN = 0,
- Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1,
- Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2,
- Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3,
- Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4,
- Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5,
- Brw_ADMI_ASSIG_USR, // Brw_ADMI_WORKS_USR = 6,
- Brw_ADMI_ASSIG_CRS, // Brw_ADMI_WORKS_CRS = 7,
- Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8,
- Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9,
- Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10,
- Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11,
- Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12,
- Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13,
- Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14,
- Brw_ADMI_ASSIG_CRS, // Brw_ADMI_ASSIG_CRS = 15,
- Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16,
- Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17,
- Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18,
- Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19,
- Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20,
- Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21,
+ Brw_UNKNOWN, // Brw_UNKNOWN = 0
+ Brw_ADMI_DOCUM_CRS, // Brw_SHOW_DOCUM_CRS = 1
+ Brw_ADMI_MARKS_CRS, // Brw_SHOW_MARKS_CRS = 2
+ Brw_ADMI_DOCUM_CRS, // Brw_ADMI_DOCUM_CRS = 3
+ Brw_ADMI_SHARE_CRS, // Brw_ADMI_SHARE_CRS = 4
+ Brw_ADMI_SHARE_GRP, // Brw_ADMI_SHARE_GRP = 5
+ Brw_ADMI_ASSIG_USR, // Brw_ADMI_WORKS_USR = 6
+ Brw_ADMI_ASSIG_CRS, // Brw_ADMI_WORKS_CRS = 7
+ Brw_ADMI_MARKS_CRS, // Brw_ADMI_MARKS_CRS = 8
+ Brw_ADMI_BRIEF_USR, // Brw_ADMI_BRIEF_USR = 9
+ Brw_ADMI_DOCUM_GRP, // Brw_SHOW_DOCUM_GRP = 10
+ Brw_ADMI_DOCUM_GRP, // Brw_ADMI_DOCUM_GRP = 11
+ Brw_ADMI_MARKS_GRP, // Brw_SHOW_MARKS_GRP = 12
+ Brw_ADMI_MARKS_GRP, // Brw_ADMI_MARKS_GRP = 13
+ Brw_ADMI_ASSIG_USR, // Brw_ADMI_ASSIG_USR = 14
+ Brw_ADMI_ASSIG_CRS, // Brw_ADMI_ASSIG_CRS = 15
+ Brw_ADMI_DOCUM_DEG, // Brw_SHOW_DOCUM_DEG = 16
+ Brw_ADMI_DOCUM_DEG, // Brw_ADMI_DOCUM_DEG = 17
+ Brw_ADMI_DOCUM_CTR, // Brw_SHOW_DOCUM_CTR = 18
+ Brw_ADMI_DOCUM_CTR, // Brw_ADMI_DOCUM_CTR = 19
+ Brw_ADMI_DOCUM_INS, // Brw_SHOW_DOCUM_INS = 20
+ Brw_ADMI_DOCUM_INS, // Brw_ADMI_DOCUM_INS = 21
+ 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
};
// Internal names of root folders
@@ -214,7 +226,7 @@ const char *Brw_RootFolderInternalNames[Brw_NUM_TYPES_FILE_BROWSER] =
Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS, // Brw_ADMI_WORKS_USR
Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS, // Brw_ADMI_WORKS_CRS
Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS, // Brw_ADMI_MARKS_CRS
- Brw_INTERNAL_NAME_ROOT_FOLDER_BRIEF, // Brw_ADMI_BRIEF_USR
+ Brw_INTERNAL_NAME_ROOT_FOLDER_BRIEF, // Brw_ADMI_BRIEF_USR
Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD, // Brw_SHOW_DOCUM_GRP
Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD, // Brw_ADMI_DOCUM_GRP
Brw_INTERNAL_NAME_ROOT_FOLDER_MARKS, // Brw_SHOW_MARKS_GRP
@@ -227,6 +239,9 @@ const char *Brw_RootFolderInternalNames[Brw_NUM_TYPES_FILE_BROWSER] =
Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS, // Brw_ADMI_DOCUM_CTR
Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS, // Brw_SHOW_DOCUM_INS
Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS, // Brw_ADMI_DOCUM_INS
+ 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
};
// Number of columns of a file browser
@@ -254,6 +269,9 @@ static const unsigned Brw_NumColumnsInExpTree[Brw_NUM_TYPES_FILE_BROWSER] =
8, // Brw_ADMI_DOCUM_CTR
5, // Brw_SHOW_DOCUM_INS
8, // Brw_ADMI_DOCUM_INS
+ 8, // Brw_ADMI_SHARE_DEG
+ 8, // Brw_ADMI_SHARE_CTR
+ 8, // Brw_ADMI_SHARE_INS
};
static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -279,6 +297,9 @@ static const bool Brw_FileBrowserIsEditable[Brw_NUM_TYPES_FILE_BROWSER] =
true, // Brw_ADMI_DOCUM_CTR
false, // Brw_SHOW_DOCUM_INS
true, // Brw_ADMI_DOCUM_INS
+ true, // Brw_ADMI_SHARE_DEG
+ true, // Brw_ADMI_SHARE_CTR
+ true, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActSeeAdm[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -304,6 +325,9 @@ static const Act_Action_t Brw_ActSeeAdm[Brw_NUM_TYPES_FILE_BROWSER] =
ActAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActSeeDocIns, // Brw_SHOW_DOCUM_INS
ActAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActAdmComDeg, // Brw_ADMI_SHARE_DEG
+ ActAdmComCtr, // Brw_ADMI_SHARE_CTR
+ ActAdmComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -329,6 +353,9 @@ static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] =
ActUnk, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActUnk, // Brw_ADMI_DOCUM_INS
+ ActUnk, // Brw_ADMI_SHARE_DEG
+ ActUnk, // Brw_ADMI_SHARE_CTR
+ ActUnk, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -354,6 +381,9 @@ static const Act_Action_t Brw_ActShow[Brw_NUM_TYPES_FILE_BROWSER] =
ActShoDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActShoDocIns, // Brw_ADMI_DOCUM_INS
+ ActUnk, // Brw_ADMI_SHARE_DEG
+ ActUnk, // Brw_ADMI_SHARE_CTR
+ ActUnk, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -379,6 +409,9 @@ static const Act_Action_t Brw_ActHide[Brw_NUM_TYPES_FILE_BROWSER] =
ActHidDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActHidDocIns, // Brw_ADMI_DOCUM_INS
+ ActUnk, // Brw_ADMI_SHARE_DEG
+ ActUnk, // Brw_ADMI_SHARE_CTR
+ ActUnk, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -404,6 +437,9 @@ static const Act_Action_t Brw_ActReqDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActReqDatAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActReqDatSeeDocIns, // Brw_SHOW_DOCUM_INS
ActReqDatAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActReqDatComDeg, // Brw_ADMI_SHARE_DEG
+ ActReqDatComCtr, // Brw_ADMI_SHARE_CTR
+ ActReqDatComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -429,6 +465,9 @@ static const Act_Action_t Brw_ActDowFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActDowAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActDowSeeDocIns, // Brw_SHOW_DOCUM_INS
ActDowAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActDowComDeg, // Brw_ADMI_SHARE_DEG
+ ActDowComCtr, // Brw_ADMI_SHARE_CTR
+ ActDowComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -454,6 +493,9 @@ static const Act_Action_t Brw_ActAskRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActReqRemFilDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActReqRemFilDocIns, // Brw_ADMI_DOCUM_INS
+ ActReqRemFilComDeg, // Brw_ADMI_SHARE_DEG
+ ActReqRemFilComCtr, // Brw_ADMI_SHARE_CTR
+ ActReqRemFilComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -479,6 +521,9 @@ static const Act_Action_t Brw_ActRemoveFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActRemFilDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActRemFilDocIns, // Brw_ADMI_DOCUM_INS
+ ActRemFilComDeg, // Brw_ADMI_SHARE_DEG
+ ActRemFilComCtr, // Brw_ADMI_SHARE_CTR
+ ActRemFilComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -504,6 +549,9 @@ static const Act_Action_t Brw_ActRemoveFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActRemFolDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActRemFolDocIns, // Brw_ADMI_DOCUM_INS
+ ActRemFolComDeg, // Brw_ADMI_SHARE_DEG
+ ActRemFolComCtr, // Brw_ADMI_SHARE_CTR
+ ActRemFolComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -529,6 +577,9 @@ static const Act_Action_t Brw_ActRemoveFolderNotEmpty[Brw_NUM_TYPES_FILE_BROWSER
ActRemTreDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActRemTreDocIns, // Brw_ADMI_DOCUM_INS
+ ActRemTreComDeg, // Brw_ADMI_SHARE_DEG
+ ActRemTreComCtr, // Brw_ADMI_SHARE_CTR
+ ActRemTreComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -554,6 +605,9 @@ static const Act_Action_t Brw_ActCopy[Brw_NUM_TYPES_FILE_BROWSER] =
ActCopDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActCopDocIns, // Brw_ADMI_DOCUM_INS
+ ActCopComDeg, // Brw_ADMI_SHARE_DEG
+ ActCopComCtr, // Brw_ADMI_SHARE_CTR
+ ActCopComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -579,6 +633,9 @@ static const Act_Action_t Brw_ActPaste[Brw_NUM_TYPES_FILE_BROWSER] =
ActPasDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActPasDocIns, // Brw_ADMI_DOCUM_INS
+ ActPasComDeg, // Brw_ADMI_SHARE_DEG
+ ActPasComCtr, // Brw_ADMI_SHARE_CTR
+ ActPasComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -604,6 +661,9 @@ static const Act_Action_t Brw_ActFormCreate[Brw_NUM_TYPES_FILE_BROWSER] =
ActFrmCreDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActFrmCreDocIns, // Brw_ADMI_DOCUM_INS
+ ActFrmCreComDeg, // Brw_ADMI_SHARE_DEG
+ ActFrmCreComCtr, // Brw_ADMI_SHARE_CTR
+ ActFrmCreComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -629,6 +689,9 @@ static const Act_Action_t Brw_ActCreateFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActCreFolDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActCreFolDocIns, // Brw_ADMI_DOCUM_INS
+ ActCreFolComDeg, // Brw_ADMI_SHARE_DEG
+ ActCreFolComCtr, // Brw_ADMI_SHARE_CTR
+ ActCreFolComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -654,6 +717,9 @@ static const Act_Action_t Brw_ActCreateLink[Brw_NUM_TYPES_FILE_BROWSER] =
ActCreLnkDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActCreLnkDocIns, // Brw_ADMI_DOCUM_INS
+ ActCreLnkComDeg, // Brw_ADMI_SHARE_DEG
+ ActCreLnkComCtr, // Brw_ADMI_SHARE_CTR
+ ActCreLnkComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -679,6 +745,9 @@ static const Act_Action_t Brw_ActRenameFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActRenFolDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActRenFolDocIns, // Brw_ADMI_DOCUM_INS
+ ActRenFolComDeg, // Brw_ADMI_SHARE_DEG
+ ActRenFolComCtr, // Brw_ADMI_SHARE_CTR
+ ActRenFolComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -704,6 +773,9 @@ static const Act_Action_t Brw_ActUploadFileDropzone[Brw_NUM_TYPES_FILE_BROWSER]
ActRcvFilDocCtrDZ, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActRcvFilDocInsDZ, // Brw_ADMI_DOCUM_INS
+ ActRcvFilComDegDZ, // Brw_ADMI_SHARE_DEG
+ ActRcvFilComCtrDZ, // Brw_ADMI_SHARE_CTR
+ ActRcvFilComInsDZ, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -729,6 +801,9 @@ static const Act_Action_t Brw_ActUploadFileClassic[Brw_NUM_TYPES_FILE_BROWSER] =
ActRcvFilDocCtrCla, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActRcvFilDocInsCla, // Brw_ADMI_DOCUM_INS
+ ActRcvFilComDegCla, // Brw_ADMI_SHARE_DEG
+ ActRcvFilComCtrCla, // Brw_ADMI_SHARE_CTR
+ ActRcvFilComInsCla, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -754,6 +829,9 @@ static const Act_Action_t Brw_ActRefreshAfterUploadFiles[Brw_NUM_TYPES_FILE_BROW
ActAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActAdmComDeg, // Brw_ADMI_SHARE_DEG
+ ActAdmComCtr, // Brw_ADMI_SHARE_CTR
+ ActAdmComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -779,6 +857,9 @@ static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActExpAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActExpSeeDocIns, // Brw_SHOW_DOCUM_INS
ActExpAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActExpComDeg, // Brw_ADMI_SHARE_DEG
+ ActExpComCtr, // Brw_ADMI_SHARE_CTR
+ ActExpComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -804,6 +885,9 @@ static const Act_Action_t Brw_ActContractFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActConAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActConSeeDocIns, // Brw_SHOW_DOCUM_INS
ActConAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActConComDeg, // Brw_ADMI_SHARE_DEG
+ ActConComCtr, // Brw_ADMI_SHARE_CTR
+ ActConComIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
{
@@ -829,6 +913,9 @@ static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] =
ActChgDatAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActUnk, // Brw_SHOW_DOCUM_INS
ActChgDatAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActChgDatComDeg, // Brw_ADMI_SHARE_DEG
+ ActChgDatComCtr, // Brw_ADMI_SHARE_CTR
+ ActChgDatComIns, // Brw_ADMI_SHARE_INS
};
/* All quotas must be multiple of 1 GiB (Gibibyte)*/
@@ -855,6 +942,18 @@ 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_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
+
+#define Brw_MAX_QUOTA_SHARE_CTR (64ULL*Brw_GiB)
+#define Brw_MAX_FILES_SHARE_CTR 5000
+#define Brw_MAX_FOLDS_SHARE_CTR 1000 // Many, because every student can create his own directories
+
+#define Brw_MAX_QUOTA_SHARE_DEG (64ULL*Brw_GiB)
+#define Brw_MAX_FILES_SHARE_DEG 5000
+#define Brw_MAX_FOLDS_SHARE_DEG 1000 // Many, because every student can create his own directories
+
#define Brw_MAX_QUOTA_SHARE_CRS (64ULL*Brw_GiB)
#define Brw_MAX_FILES_SHARE_CRS 5000
#define Brw_MAX_FOLDS_SHARE_CRS 1000 // Many, because every student can create his own directories
@@ -1403,6 +1502,29 @@ void Brw_GetParAndInitFileBrowser (void)
Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_INS;
break;
+ /***** Shared files of institution *****/
+ case ActAdmComIns:
+ case ActReqRemFilComIns:
+ case ActRemFilComIns:
+ case ActRemFolComIns:
+ case ActCopComIns:
+ case ActPasComIns:
+ case ActRemTreComIns:
+ case ActFrmCreComIns:
+ case ActCreFolComIns:
+ case ActCreLnkComIns:
+ case ActRenFolComIns:
+ case ActRcvFilComInsDZ:
+ case ActRcvFilComInsCla:
+ case ActExpComIns:
+ case ActConComIns:
+ case ActZIPComIns:
+ case ActReqDatComIns:
+ case ActChgDatComIns:
+ case ActDowComIns:
+ Gbl.FileBrowser.Type = Brw_ADMI_SHARE_INS;
+ break;
+
/***** Documents of centre *****/
case ActSeeAdmDocCtr: // Access to a documents zone from menu
if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM)
@@ -1446,6 +1568,29 @@ void Brw_GetParAndInitFileBrowser (void)
Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_CTR;
break;
+ /***** Shared files of centre *****/
+ case ActAdmComCtr:
+ case ActReqRemFilComCtr:
+ case ActRemFilComCtr:
+ case ActRemFolComCtr:
+ case ActCopComCtr:
+ case ActPasComCtr:
+ case ActRemTreComCtr:
+ case ActFrmCreComCtr:
+ case ActCreFolComCtr:
+ case ActCreLnkComCtr:
+ case ActRenFolComCtr:
+ case ActRcvFilComCtrDZ:
+ case ActRcvFilComCtrCla:
+ case ActExpComCtr:
+ case ActConComCtr:
+ case ActZIPComCtr:
+ case ActReqDatComCtr:
+ case ActChgDatComCtr:
+ case ActDowComCtr:
+ Gbl.FileBrowser.Type = Brw_ADMI_SHARE_CTR;
+ break;
+
/***** Documents of degree *****/
case ActSeeAdmDocDeg: // Access to a documents zone from menu
if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM)
@@ -1489,6 +1634,29 @@ void Brw_GetParAndInitFileBrowser (void)
Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_DEG;
break;
+ /***** Shared files of degree *****/
+ case ActAdmComDeg:
+ case ActReqRemFilComDeg:
+ case ActRemFilComDeg:
+ case ActRemFolComDeg:
+ case ActCopComDeg:
+ case ActPasComDeg:
+ case ActRemTreComDeg:
+ case ActFrmCreComDeg:
+ case ActCreFolComDeg:
+ case ActCreLnkComDeg:
+ case ActRenFolComDeg:
+ case ActRcvFilComDegDZ:
+ case ActRcvFilComDegCla:
+ case ActExpComDeg:
+ case ActConComDeg:
+ case ActZIPComDeg:
+ case ActReqDatComDeg:
+ case ActChgDatComDeg:
+ case ActDowComDeg:
+ Gbl.FileBrowser.Type = Brw_ADMI_SHARE_DEG;
+ break;
+
/***** Documents of course/group *****/
case ActSeeAdmDocCrs: // Access to a documents zone from menu
/* Set file browser type acording to last group accessed */
@@ -1853,25 +2021,38 @@ void Brw_GetParAndInitFileBrowser (void)
switch (Gbl.CurrentAct)
{
case ActCreFolDocIns: case ActRenFolDocIns:
+ case ActCreFolComIns: case ActRenFolComIns:
+
case ActCreFolDocCtr: case ActRenFolDocCtr:
+ case ActCreFolComCtr: case ActRenFolComCtr:
+
case ActCreFolDocDeg: case ActRenFolDocDeg:
+ case ActCreFolComDeg: case ActRenFolComDeg:
+
case ActCreFolDocCrs: case ActRenFolDocCrs:
case ActCreFolDocGrp: case ActRenFolDocGrp:
+
case ActCreFolComCrs: case ActRenFolComCrs:
case ActCreFolComGrp: case ActRenFolComGrp:
+
case ActCreFolMrkCrs: case ActRenFolMrkCrs:
case ActCreFolMrkGrp: case ActRenFolMrkGrp:
+
case ActCreFolAsgCrs: case ActRenFolAsgCrs:
case ActCreFolWrkCrs: case ActRenFolWrkCrs:
case ActCreFolAsgUsr: case ActRenFolAsgUsr:
case ActCreFolWrkUsr: case ActRenFolWrkUsr:
+
case ActCreFolBrf: case ActRenFolBrf:
/* Get the name of the new folder */
Par_GetParToText ("NewFolderName",Gbl.FileBrowser.NewFilFolLnkName,NAME_MAX);
break;
case ActCreLnkDocIns:
+ case ActCreLnkComIns:
case ActCreLnkDocCtr:
+ case ActCreLnkComCtr:
case ActCreLnkDocDeg:
+ case ActCreLnkComDeg:
case ActCreLnkDocCrs:
case ActCreLnkDocGrp:
case ActCreLnkComCrs:
@@ -1897,14 +2078,17 @@ void Brw_GetParAndInitFileBrowser (void)
{
case Brw_SHOW_DOCUM_INS:
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrentIns;
break;
case Brw_SHOW_DOCUM_CTR:
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrentCtr;
break;
case Brw_SHOW_DOCUM_DEG:
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
Gbl.FileBrowser.ShowOnlyPublicFiles = !Gbl.Usrs.Me.IBelongToCurrentDeg;
break;
case Brw_SHOW_DOCUM_CRS:
@@ -2135,6 +2319,7 @@ static void Brw_SetPathFileBrowser (void)
{
case Brw_SHOW_DOCUM_INS:
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
sprintf (Path,"%s/%s",
Cfg_PATH_SWAD_PRIVATE,Cfg_FOLDER_INS);
Fil_CreateDirIfNotExists (Path);
@@ -2149,6 +2334,7 @@ static void Brw_SetPathFileBrowser (void)
break;
case Brw_SHOW_DOCUM_CTR:
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
sprintf (Path,"%s/%s",
Cfg_PATH_SWAD_PRIVATE,Cfg_FOLDER_CTR);
Fil_CreateDirIfNotExists (Path);
@@ -2163,6 +2349,7 @@ static void Brw_SetPathFileBrowser (void)
break;
case Brw_SHOW_DOCUM_DEG:
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
sprintf (Path,"%s/%s",
Cfg_PATH_SWAD_PRIVATE,Cfg_FOLDER_DEG);
Fil_CreateDirIfNotExists (Path);
@@ -2541,18 +2728,33 @@ static void Brw_SetMaxQuota (void)
Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_DOCUM_INS;
Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_DOCUM_INS;
break;
+ case Brw_ADMI_SHARE_INS:
+ Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_SHARE_INS;
+ Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_SHARE_INS;
+ Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_SHARE_INS;
+ break;
case Brw_SHOW_DOCUM_CTR:
case Brw_ADMI_DOCUM_CTR:
Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_DOCUM_CTR;
Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_DOCUM_CTR;
Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_DOCUM_CTR;
break;
+ case Brw_ADMI_SHARE_CTR:
+ Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_SHARE_CTR;
+ Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_SHARE_CTR;
+ Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_SHARE_CTR;
+ break;
case Brw_SHOW_DOCUM_DEG:
case Brw_ADMI_DOCUM_DEG:
Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_DOCUM_DEG;
Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_DOCUM_DEG;
Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_DOCUM_DEG;
break;
+ case Brw_ADMI_SHARE_DEG:
+ Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_SHARE_DEG;
+ Gbl.FileBrowser.Size.MaxFiles = Brw_MAX_FILES_SHARE_DEG;
+ Gbl.FileBrowser.Size.MaxFolds = Brw_MAX_FOLDS_SHARE_DEG;
+ break;
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
Gbl.FileBrowser.Size.MaxQuota = Brw_MAX_QUOTA_DOCUM_CRS;
@@ -3077,6 +3279,9 @@ static void Brw_ShowFileBrowser (void)
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
/***** Check if the maximum quota has been exceeded *****/
if (Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type])
@@ -3293,10 +3498,13 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
{
extern const char *Txt_accessible_only_for_reading_by_students_and_teachers_of_the_institution;
extern const char *Txt_accessible_for_reading_and_writing_by_administrators_of_the_institution;
+ extern const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_institution;
extern const char *Txt_accessible_only_for_reading_by_students_and_teachers_of_the_centre;
extern const char *Txt_accessible_for_reading_and_writing_by_administrators_of_the_centre;
+ extern const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_centre;
extern const char *Txt_accessible_only_for_reading_by_students_and_teachers_of_the_degree;
extern const char *Txt_accessible_for_reading_and_writing_by_administrators_of_the_degree;
+ extern const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_degree;
extern const char *Txt_accessible_only_for_reading_by_students_and_teachers_of_the_course;
extern const char *Txt_accessible_only_for_reading_by_students_of_the_group_and_teachers_of_the_course;
extern const char *Txt_accessible_for_reading_and_writing_by_teachers_of_the_course;
@@ -3340,6 +3548,10 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
sprintf (Subtitle,"(%s)",
Txt_accessible_for_reading_and_writing_by_administrators_of_the_institution);
break;
+ case Brw_ADMI_SHARE_INS:
+ sprintf (Subtitle,"(%s)",
+ Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_institution);
+ break;
case Brw_SHOW_DOCUM_CTR:
sprintf (Subtitle,"(%s)",
Txt_accessible_only_for_reading_by_students_and_teachers_of_the_centre);
@@ -3348,6 +3560,10 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
sprintf (Subtitle,"(%s)",
Txt_accessible_for_reading_and_writing_by_administrators_of_the_centre);
break;
+ case Brw_ADMI_SHARE_CTR:
+ sprintf (Subtitle,"(%s)",
+ Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_centre);
+ break;
case Brw_SHOW_DOCUM_DEG:
sprintf (Subtitle,"(%s)",
Txt_accessible_only_for_reading_by_students_and_teachers_of_the_degree);
@@ -3356,6 +3572,10 @@ static void Brw_WriteSubtitleOfFileBrowser (void)
sprintf (Subtitle,"(%s)",
Txt_accessible_for_reading_and_writing_by_administrators_of_the_degree);
break;
+ case Brw_ADMI_SHARE_DEG:
+ sprintf (Subtitle,"(%s)",
+ Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_degree);
+ break;
case Brw_SHOW_DOCUM_CRS:
sprintf (Subtitle,"(%s)",
Txt_accessible_only_for_reading_by_students_and_teachers_of_the_course);
@@ -3506,44 +3726,52 @@ void Brw_RemoveInsFilesFromDB (long InsCod)
/***** Remove from database the entries that store the file views *****/
sprintf (Query,"DELETE FROM file_view USING file_view,files"
- " WHERE files.FileBrowser='%u' AND files.Cod='%ld'"
+ " WHERE files.FileBrowser IN ('%u','%u') AND files.Cod='%ld'"
" AND files.FilCod=file_view.FilCod",
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
InsCod);
DB_QueryDELETE (Query,"can not remove file views to files of an institution");
/***** Remove from database expanded folders *****/
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
InsCod);
DB_QueryDELETE (Query,"can not remove expanded folders of an institution");
/***** Remove from database the entries that store clipboards *****/
sprintf (Query,"DELETE FROM clipboard"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
InsCod);
DB_QueryDELETE (Query,"can not remove clipboards related to files of an institution");
- /***** Remove from database the entries that store the last time users visited file zones *****/
+ /***** Remove from database the entries that store
+ the last time users visited file zones *****/
sprintf (Query,"DELETE FROM file_browser_last"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
InsCod);
DB_QueryDELETE (Query,"can not remove file last visits to files of an institution");
- /***** Remove from database the entries that store the sizes of the file zones *****/
+ /***** Remove from database the entries that store
+ the sizes of the file zones *****/
sprintf (Query,"DELETE FROM file_browser_size"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
InsCod);
DB_QueryDELETE (Query,"can not remove sizes of file zones of an institution");
/***** Remove from database the entries that store the data files *****/
sprintf (Query,"DELETE FROM files"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
InsCod);
DB_QueryDELETE (Query,"can not remove files of an institution");
}
@@ -3558,44 +3786,50 @@ void Brw_RemoveCtrFilesFromDB (long CtrCod)
/***** Remove from database the entries that store the file views *****/
sprintf (Query,"DELETE FROM file_view USING file_view,files"
- " WHERE files.FileBrowser='%u' AND files.Cod='%ld'"
+ " WHERE files.FileBrowser IN ('%u','%u') AND files.Cod='%ld'"
" AND files.FilCod=file_view.FilCod",
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
CtrCod);
DB_QueryDELETE (Query,"can not remove file views to files of a centre");
/***** Remove from database expanded folders *****/
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
CtrCod);
DB_QueryDELETE (Query,"can not remove expanded folders of a centre");
/***** Remove from database the entries that store clipboards *****/
sprintf (Query,"DELETE FROM clipboard"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
CtrCod);
DB_QueryDELETE (Query,"can not remove clipboards related to files of a centre");
/***** Remove from database the entries that store the last time users visited file zones *****/
sprintf (Query,"DELETE FROM file_browser_last"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
CtrCod);
DB_QueryDELETE (Query,"can not remove file last visits to files of a centre");
/***** Remove from database the entries that store the sizes of the file zones *****/
sprintf (Query,"DELETE FROM file_browser_size"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
CtrCod);
DB_QueryDELETE (Query,"can not remove sizes of file zones of a centre");
/***** Remove from database the entries that store the data files *****/
sprintf (Query,"DELETE FROM files"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
CtrCod);
DB_QueryDELETE (Query,"can not remove files of a centre");
}
@@ -3610,44 +3844,50 @@ void Brw_RemoveDegFilesFromDB (long DegCod)
/***** Remove from database the entries that store the file views *****/
sprintf (Query,"DELETE FROM file_view USING file_view,files"
- " WHERE files.FileBrowser='%u' AND files.Cod='%ld'"
+ " WHERE files.FileBrowser IN ('%u','%u') AND files.Cod='%ld'"
" AND files.FilCod=file_view.FilCod",
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
DegCod);
DB_QueryDELETE (Query,"can not remove file views to files of a degree");
/***** Remove from database expanded folders *****/
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
DegCod);
DB_QueryDELETE (Query,"can not remove expanded folders of a degree");
/***** Remove from database the entries that store clipboards *****/
sprintf (Query,"DELETE FROM clipboard"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
DegCod);
DB_QueryDELETE (Query,"can not remove clipboards related to files of a degree");
/***** Remove from database the entries that store the last time users visited file zones *****/
sprintf (Query,"DELETE FROM file_browser_last"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
DegCod);
DB_QueryDELETE (Query,"can not remove file last visits to files of a degree");
/***** Remove from database the entries that store the sizes of the file zones *****/
sprintf (Query,"DELETE FROM file_browser_size"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
DegCod);
DB_QueryDELETE (Query,"can not remove sizes of file zones of a degree");
/***** Remove from database the entries that store the data files *****/
sprintf (Query,"DELETE FROM files"
- " WHERE FileBrowser='%u' AND Cod='%ld'",
+ " WHERE FileBrowser IN ('%u','%u') AND Cod='%ld'",
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
DegCod);
DB_QueryDELETE (Query,"can not remove files of a degree");
}
@@ -4074,10 +4314,13 @@ static void Brw_WriteFormFullTree (void)
{
case Brw_SHOW_DOCUM_INS:
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
case Brw_SHOW_DOCUM_CTR:
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
case Brw_SHOW_DOCUM_DEG:
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
@@ -4178,14 +4421,17 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void)
{
case Brw_SHOW_DOCUM_INS:
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
Cod = Gbl.CurrentIns.Ins.InsCod;
break;
case Brw_SHOW_DOCUM_CTR:
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
break;
case Brw_SHOW_DOCUM_DEG:
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
Cod = Gbl.CurrentDeg.Deg.DegCod;
break;
case Brw_SHOW_DOCUM_CRS:
@@ -4452,7 +4698,10 @@ 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_CRS ||
+ bool CommonZone = 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 ||
Gbl.FileBrowser.Type == Brw_ADMI_SHARE_GRP;
bool AssignmentsZone = Gbl.FileBrowser.Type == Brw_ADMI_ASSIG_USR ||
Gbl.FileBrowser.Type == Brw_ADMI_ASSIG_CRS;
@@ -6009,6 +6258,13 @@ static void Brw_WriteCurrentClipboard (void)
Txt_documents_management_area,
Txt_institution,Ins.ShortName);
break;
+ case Brw_ADMI_SHARE_INS:
+ Ins.InsCod = Gbl.FileBrowser.Clipboard.Cod;
+ Ins_GetDataOfInstitutionByCod (&Ins,false);
+ fprintf (Gbl.F.Out,"%s, %s %s",
+ Txt_shared_files_area,
+ Txt_institution,Ins.ShortName);
+ break;
case Brw_ADMI_DOCUM_CTR:
Ctr.CtrCod = Gbl.FileBrowser.Clipboard.Cod;
Ctr_GetDataOfCentreByCod (&Ctr);
@@ -6016,6 +6272,13 @@ static void Brw_WriteCurrentClipboard (void)
Txt_documents_management_area,
Txt_centre,Ctr.ShortName);
break;
+ case Brw_ADMI_SHARE_CTR:
+ Ctr.CtrCod = Gbl.FileBrowser.Clipboard.Cod;
+ Ctr_GetDataOfCentreByCod (&Ctr);
+ fprintf (Gbl.F.Out,"%s, %s %s",
+ Txt_shared_files_area,
+ Txt_centre,Ctr.ShortName);
+ break;
case Brw_ADMI_DOCUM_DEG:
Deg.DegCod = Gbl.FileBrowser.Clipboard.Cod;
Deg_GetDataOfDegreeByCod (&Deg);
@@ -6023,6 +6286,13 @@ static void Brw_WriteCurrentClipboard (void)
Txt_documents_management_area,
Txt_degree,Deg.ShortName);
break;
+ case Brw_ADMI_SHARE_DEG:
+ Deg.DegCod = Gbl.FileBrowser.Clipboard.Cod;
+ Deg_GetDataOfDegreeByCod (&Deg);
+ fprintf (Gbl.F.Out,"%s, %s %s",
+ Txt_shared_files_area,
+ Txt_degree,Deg.ShortName);
+ break;
case Brw_ADMI_DOCUM_CRS:
Crs.CrsCod = Gbl.FileBrowser.Clipboard.Cod;
Crs_GetDataOfCourseByCod (&Crs);
@@ -6247,14 +6517,17 @@ static bool Brw_CheckIfClipboardIsInThisTree (void)
switch (Gbl.FileBrowser.Clipboard.FileBrowser)
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
if (Gbl.FileBrowser.Clipboard.Cod == Gbl.CurrentIns.Ins.InsCod)
return true; // I am in the institution of the clipboard
break;
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
if (Gbl.FileBrowser.Clipboard.Cod == Gbl.CurrentCtr.Ctr.CtrCod)
return true; // I am in the centre of the clipboard
break;
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
if (Gbl.FileBrowser.Clipboard.Cod == Gbl.CurrentDeg.Deg.DegCod)
return true; // I am in the degree of the clipboard
break;
@@ -6341,10 +6614,13 @@ static long Brw_GetCodForClipboard (void)
switch (Brw_FileBrowserForDB_clipboard[Gbl.FileBrowser.Type])
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
return Gbl.CurrentIns.Ins.InsCod;
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
return Gbl.CurrentCtr.Ctr.CtrCod;
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
return Gbl.CurrentDeg.Deg.DegCod;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
@@ -6687,10 +6963,13 @@ static long Brw_GetCodForExpandedFolders (void)
switch (Brw_FileBrowserForDB_expanded_folders[Gbl.FileBrowser.Type])
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
return Gbl.CurrentIns.Ins.InsCod;
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
return Gbl.CurrentCtr.Ctr.CtrCod;
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
return Gbl.CurrentDeg.Deg.DegCod;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
@@ -6768,16 +7047,19 @@ static void Brw_RemoveAffectedClipboards (Brw_FileBrowser_t FileBrowser,long MyU
switch (FileBrowser)
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
sprintf (Query,"DELETE FROM clipboard"
" WHERE FileBrowser='%u' AND Cod='%ld'",
(unsigned) FileBrowser,Gbl.CurrentIns.Ins.InsCod);
break;
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
sprintf (Query,"DELETE FROM clipboard"
" WHERE FileBrowser='%u' AND Cod='%ld'",
(unsigned) FileBrowser,Gbl.CurrentCtr.Ctr.CtrCod);
break;
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
sprintf (Query,"DELETE FROM clipboard"
" WHERE FileBrowser='%u' AND Cod='%ld'",
(unsigned) FileBrowser,Gbl.CurrentDeg.Deg.DegCod);
@@ -6910,6 +7192,7 @@ static void Brw_PasteClipboard (void)
switch (Gbl.FileBrowser.Clipboard.FileBrowser)
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
Ins.InsCod = Gbl.FileBrowser.Clipboard.Cod;
if (Ins_GetDataOfInstitutionByCod (&Ins,false))
sprintf (PathOrg,"%s/%s/%02u/%u/%s",
@@ -6921,6 +7204,7 @@ static void Brw_PasteClipboard (void)
Lay_ShowErrorAndExit ("The institution of copy source does not exist.");
break;
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
Ctr.CtrCod = Gbl.FileBrowser.Clipboard.Cod;
if (Ctr_GetDataOfCentreByCod (&Ctr))
sprintf (PathOrg,"%s/%s/%02u/%u/%s",
@@ -6932,6 +7216,7 @@ static void Brw_PasteClipboard (void)
Lay_ShowErrorAndExit ("The centre of copy source does not exist.");
break;
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
Deg.DegCod = Gbl.FileBrowser.Clipboard.Cod;
if (Deg_GetDataOfDegreeByCod (&Deg))
sprintf (PathOrg,"%s/%s/%02u/%u/%s",
@@ -8532,8 +8817,11 @@ void Brw_ShowFileMetadata (void)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
ICanChangePublic = true;
@@ -9218,8 +9506,11 @@ void Brw_ChgFileMetadata (void)
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
PublicFile = Brw_GetParamPublicFile ();
@@ -9405,10 +9696,14 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
/* File is hidden? (row[7]) */
switch (Gbl.FileBrowser.Type)
{
- case Brw_SHOW_DOCUM_INS: case Brw_ADMI_DOCUM_INS:
- case Brw_SHOW_DOCUM_CTR: case Brw_ADMI_DOCUM_CTR:
- case Brw_SHOW_DOCUM_DEG: case Brw_ADMI_DOCUM_DEG:
- case Brw_SHOW_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
+ case Brw_SHOW_DOCUM_INS:
+ case Brw_ADMI_DOCUM_INS:
+ case Brw_SHOW_DOCUM_CTR:
+ case Brw_ADMI_DOCUM_CTR:
+ case Brw_SHOW_DOCUM_DEG:
+ case Brw_ADMI_DOCUM_DEG:
+ case Brw_SHOW_DOCUM_CRS:
+ case Brw_ADMI_DOCUM_CRS:
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
break;
default:
@@ -9419,10 +9714,17 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
/* Is a public file? (row[8]) */
switch (Gbl.FileBrowser.Type)
{
- case Brw_SHOW_DOCUM_INS: case Brw_ADMI_DOCUM_INS:
- case Brw_SHOW_DOCUM_CTR: case Brw_ADMI_DOCUM_CTR:
- case Brw_SHOW_DOCUM_DEG: case Brw_ADMI_DOCUM_DEG:
- case Brw_SHOW_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
+ case Brw_SHOW_DOCUM_INS:
+ case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
+ case Brw_SHOW_DOCUM_CTR:
+ case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
+ case Brw_SHOW_DOCUM_DEG:
+ case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
+ case Brw_SHOW_DOCUM_CRS:
+ case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[8][0]) == 'Y');
break;
@@ -9519,10 +9821,14 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
/* Is a hidden file? (row[7]) */
switch (Gbl.FileBrowser.Type)
{
- case Brw_SHOW_DOCUM_INS: case Brw_ADMI_DOCUM_INS:
- case Brw_SHOW_DOCUM_CTR: case Brw_ADMI_DOCUM_CTR:
- case Brw_SHOW_DOCUM_DEG: case Brw_ADMI_DOCUM_DEG:
- case Brw_SHOW_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
+ case Brw_SHOW_DOCUM_INS:
+ case Brw_ADMI_DOCUM_INS:
+ case Brw_SHOW_DOCUM_CTR:
+ case Brw_ADMI_DOCUM_CTR:
+ case Brw_SHOW_DOCUM_DEG:
+ case Brw_ADMI_DOCUM_DEG:
+ case Brw_SHOW_DOCUM_CRS:
+ case Brw_ADMI_DOCUM_CRS:
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
break;
default:
@@ -9533,10 +9839,17 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
/* Is a public file? (row[8]) */
switch (Gbl.FileBrowser.Type)
{
- case Brw_SHOW_DOCUM_INS: case Brw_ADMI_DOCUM_INS:
- case Brw_SHOW_DOCUM_CTR: case Brw_ADMI_DOCUM_CTR:
- case Brw_SHOW_DOCUM_DEG: case Brw_ADMI_DOCUM_DEG:
- case Brw_SHOW_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
+ case Brw_SHOW_DOCUM_INS:
+ case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
+ case Brw_SHOW_DOCUM_CTR:
+ case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
+ case Brw_SHOW_DOCUM_DEG:
+ case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
+ case Brw_SHOW_DOCUM_CRS:
+ case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[8][0]) == 'Y');
break;
@@ -9877,10 +10190,13 @@ long Brw_GetCodForFiles (void)
switch (Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type])
{
case Brw_ADMI_DOCUM_INS:
+ case Brw_ADMI_SHARE_INS:
return Gbl.CurrentIns.Ins.InsCod;
case Brw_ADMI_DOCUM_CTR:
+ case Brw_ADMI_SHARE_CTR:
return Gbl.CurrentCtr.Ctr.CtrCod;
case Brw_ADMI_DOCUM_DEG:
+ case Brw_ADMI_SHARE_DEG:
return Gbl.CurrentDeg.Deg.DegCod;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
@@ -10674,6 +10990,9 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
case Brw_ADMI_DOCUM_GRP:
Title = Txt_Documents_area;
break;
+ case Brw_ADMI_SHARE_INS:
+ case Brw_ADMI_SHARE_CTR:
+ case Brw_ADMI_SHARE_DEG:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
Title = Txt_Shared_files_area;
diff --git a/swad_file_browser.h b/swad_file_browser.h
index bd0e94cfc..93a07eb8b 100644
--- a/swad_file_browser.h
+++ b/swad_file_browser.h
@@ -35,7 +35,7 @@
/******************************* Public types ********************************/
/*****************************************************************************/
-#define Brw_NUM_TYPES_FILE_BROWSER 22
+#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!
typedef enum
{
@@ -61,6 +61,9 @@ typedef enum
Brw_ADMI_DOCUM_CTR = 19,
Brw_SHOW_DOCUM_INS = 20,
Brw_ADMI_DOCUM_INS = 21,
+ Brw_ADMI_SHARE_DEG = 22,
+ Brw_ADMI_SHARE_CTR = 23,
+ Brw_ADMI_SHARE_INS = 24,
} Brw_FileBrowser_t;
// The following types are stored in files and clipboard tables as numeric fields, so don't change numbers!
@@ -123,6 +126,7 @@ struct FileMetadata
#define Brw_MAX_BYTES_MIME_TYPE 256 // Maximum length of "image/jpeg", "text/html", etc.
#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_SHARED "comun" // TODO: It should be "sha"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS "actividades" // TODO: It should be "asg"
diff --git a/swad_layout.c b/swad_layout.c
index 9e5e19fdc..21f1ca571 100644
--- a/swad_layout.c
+++ b/swad_layout.c
@@ -186,8 +186,11 @@ void Lay_WriteStartOfPage (void)
// images/spritemap@2x.png
// images/spritemap.png
if (Gbl.CurrentAct == ActFrmCreDocIns || // Brw_ADMI_DOCUM_INS
+ Gbl.CurrentAct == ActFrmCreComIns || // Brw_ADMI_SHARE_INS
Gbl.CurrentAct == ActFrmCreDocCtr || // Brw_ADMI_DOCUM_CTR
+ Gbl.CurrentAct == ActFrmCreComCtr || // Brw_ADMI_SHARE_CTR
Gbl.CurrentAct == ActFrmCreDocDeg || // Brw_ADMI_DOCUM_DEG
+ Gbl.CurrentAct == ActFrmCreComDeg || // Brw_ADMI_SHARE_DEG
Gbl.CurrentAct == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS
Gbl.CurrentAct == ActFrmCreDocGrp || // Brw_ADMI_DOCUM_GRP
Gbl.CurrentAct == ActFrmCreComCrs || // Brw_ADMI_SHARE_CRS
@@ -435,8 +438,11 @@ static void Lay_WriteScripts (void)
// images/spritemap@2x.png
// images/spritemap.png
if (Gbl.CurrentAct == ActFrmCreDocIns || // Brw_ADMI_DOCUM_INS
+ Gbl.CurrentAct == ActFrmCreComIns || // Brw_ADMI_SHARE_INS
Gbl.CurrentAct == ActFrmCreDocCtr || // Brw_ADMI_DOCUM_CTR
+ Gbl.CurrentAct == ActFrmCreComCtr || // Brw_ADMI_SHARE_CTR
Gbl.CurrentAct == ActFrmCreDocDeg || // Brw_ADMI_DOCUM_DEG
+ Gbl.CurrentAct == ActFrmCreComDeg || // Brw_ADMI_SHARE_DEG
Gbl.CurrentAct == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS
Gbl.CurrentAct == ActFrmCreDocGrp || // Brw_ADMI_DOCUM_GRP
Gbl.CurrentAct == ActFrmCreComCrs || // Brw_ADMI_SHARE_CRS
diff --git a/swad_search.c b/swad_search.c
index be1401307..53de0f960 100644
--- a/swad_search.c
+++ b/swad_search.c
@@ -769,7 +769,7 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
- " AND files.FileBrowser='%u'"
+ " AND files.FileBrowser IN ('%u','%u')"
" AND files.Cod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
@@ -783,7 +783,7 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
- " AND files.FileBrowser='%u'"
+ " AND files.FileBrowser IN ('%u','%u')"
" AND files.Cod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
@@ -798,7 +798,7 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
"'-1'"
" FROM files,degrees,centres,institutions,countries"
" WHERE files.Public='Y' AND %s"
- " AND files.FileBrowser='%u'"
+ " AND files.FileBrowser IN ('%u','%u')"
" AND files.Cod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
@@ -826,12 +826,15 @@ static unsigned Sch_SearchOpenDocumentsInDB (const char *RangeQuery)
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
RangeQuery,
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
RangeQuery,
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
RangeQuery,
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CRS,
@@ -987,7 +990,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
- " AND files.FileBrowser='%u'"
+ " AND files.FileBrowser IN ('%u','%u')"
" AND files.Cod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
"%s"
@@ -1001,7 +1004,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
- " AND files.FileBrowser='%u'"
+ " AND files.FileBrowser IN ('%u','%u')"
" AND files.Cod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
" AND institutions.CtyCod=countries.CtyCod"
@@ -1016,7 +1019,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
- " AND files.FileBrowser='%u'"
+ " AND files.FileBrowser IN ('%u','%u')"
" AND files.Cod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
" AND centres.InsCod=institutions.InsCod"
@@ -1074,12 +1077,15 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_INS,
+ (unsigned) Brw_ADMI_SHARE_INS,
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CTR,
+ (unsigned) Brw_ADMI_SHARE_CTR,
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_DEG,
+ (unsigned) Brw_ADMI_SHARE_DEG,
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CRS,
diff --git a/swad_text.c b/swad_text.c
index cb03ca0bb..cae58dea4 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -1537,6 +1537,27 @@ const char *Txt_accessible_for_reading_and_writing_by_administrators_of_the_inst
"acessível para leitura e escrita pelos administradores da instituição";
#endif
+const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_centre =
+#if L==0
+ "accessible per a lectura i escriptura per estudiants i professors del centre";
+#elif L==1
+ "zum Schreiben zugänglich für Studenten und Lehrkräfte der Lehrinstitut";
+#elif L==2
+ "accessible for reading and writing by students and teachers of the centre";
+#elif L==3
+ "accesible para lectura y escritura por estudiantes y profesores del centro";
+#elif L==4
+ "accessible en lecture et en écriture par les étudiants et les enseignants du centre";
+#elif L==5
+ "accesible para lectura y escritura por estudiantes y profesores del centro"; // Okoteve traducción
+#elif L==6
+ "accessibile per la lettura e la scrittura da parte degli studenti e dei professori del centro";
+#elif L==7
+ "dostep do odczytu i zapisu przez uczniów i nauczycieli centrum";
+#elif L==8
+ "acessível para leitura e escrita pelos alunos e professores do centro";
+#endif
+
const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_course =
#if L==0
"accessible per a lectura i escriptura per estudiants i professors de l'assignatura";
@@ -1558,6 +1579,48 @@ const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_t
"acessível para leitura e escrita pelos alunos e professores da disciplina";
#endif
+const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_degree =
+#if L==0
+ "accessible per a lectura i escriptura per estudiants i professors de la titulació";
+#elif L==1
+ "zum Schreiben zugänglich für Studenten und Lehrkräfte der Studiengang";
+#elif L==2
+ "accessible for reading and writing by students and teachers of the degree";
+#elif L==3
+ "accesible para lectura y escritura por estudiantes y profesores de la titulación";
+#elif L==4
+ "accessible en lecture et en écriture par les étudiants et les enseignants de l'étude";
+#elif L==5
+ "accesible para lectura y escritura por estudiantes y profesores de la titulación"; // Okoteve traducción
+#elif L==6
+ "accessibile per la lettura e la scrittura da parte degli studenti e dei professori della laurea";
+#elif L==7
+ "dostep do odczytu i zapisu przez uczniów i nauczycieli stopnia";
+#elif L==8
+ "acessível para leitura e escrita pelos alunos e professores da titulação";
+#endif
+
+const char *Txt_accessible_for_reading_and_writing_by_students_and_teachers_of_the_institution =
+#if L==0
+ "accessible per a lectura i escriptura per estudiants i professors de la institució";
+#elif L==1
+ "zum Schreiben zugänglich für Studenten und Lehrkräfte der Hochschule";
+#elif L==2
+ "accessible for reading and writing by students and teachers of the institution";
+#elif L==3
+ "accesible para lectura y escritura por estudiantes y profesores de la institución";
+#elif L==4
+ "accessible en lecture et en écriture par les étudiants et les enseignants de l'établissement";
+#elif L==5
+ "accesible para lectura y escritura por estudiantes y profesores de la institución"; // Okoteve traducción
+#elif L==6
+ "accessibile per la lettura e la scrittura da parte degli studenti e dei professori della istituzione";
+#elif L==7
+ "dostep do odczytu i zapisu przez uczniów i nauczycieli instytucji";
+#elif L==8
+ "acessível para leitura e escrita pelos alunos e professores da instituição";
+#endif
+
const char *Txt_accessible_for_reading_and_writing_by_students_of_the_group_and_teachers_of_the_course =
#if L==0
"accesible per a lectura i escriptura per estudiants del grup i professors de l'assignatura";
@@ -16377,7 +16440,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
- NULL,
+ // ActAdmComIns
+#if L==0
+ "Compartits"
+#elif L==1
+ "Freigegebene"
+#elif L==2
+ "Shared"
+#elif L==3
+ "Compartidos"
+#elif L==4
+ "Partagés"
+#elif L==5
+ "Compartidos" // Okoteve traducción
+#elif L==6
+ "Condivisi"
+#elif L==7
+ "Udostępnione"
+#elif L==8
+ "Compartilhados"
+#endif
+ ,
NULL,
NULL,
NULL,
@@ -16477,7 +16560,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
- NULL,
+ // ActAdmComCtr
+#if L==0
+ "Compartits"
+#elif L==1
+ "Freigegebene"
+#elif L==2
+ "Shared"
+#elif L==3
+ "Compartidos"
+#elif L==4
+ "Partagés"
+#elif L==5
+ "Compartidos" // Okoteve traducción
+#elif L==6
+ "Condivisi"
+#elif L==7
+ "Udostępnione"
+#elif L==8
+ "Compartilhados"
+#endif
+ ,
NULL,
NULL,
NULL,
@@ -16580,7 +16683,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
- NULL,
+ // ActAdmComDeg
+#if L==0
+ "Compartits"
+#elif L==1
+ "Freigegebene"
+#elif L==2
+ "Shared"
+#elif L==3
+ "Compartidos"
+#elif L==4
+ "Partagés"
+#elif L==5
+ "Compartidos" // Okoteve traducción
+#elif L==6
+ "Condivisi"
+#elif L==7
+ "Udostępnione"
+#elif L==8
+ "Compartilhados"
+#endif
+ ,
NULL,
NULL,
NULL,
@@ -18255,7 +18378,31 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
- NULL,
+ // ActAdmComIns
+#if L==0
+ "Arxius compartits per professors i estudiants"
+ " de l'institució"
+#elif L==1
+ "Freigegebene Dateien"
+#elif L==2
+ "Files shared by teachers and students"
+ " of the institution"
+#elif L==3
+ "Archivos compartidos por profesores y estudiantes"
+ " de la institución"
+#elif L==4
+ "Fichiers partagés"
+#elif L==5
+ "Archivos compartidos por profesores y estudiantes"
+ " de la institución" // Okoteve traducción
+#elif L==6
+ "File condivisi"
+#elif L==7
+ "Pliki udostępnione"
+#elif L==8
+ "Arquivos compartilhados"
+#endif
+ ,
NULL,
NULL,
NULL,
@@ -18355,7 +18502,31 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
- NULL,
+ // ActAdmComCtr
+#if L==0
+ "Arxius compartits per professors i estudiants"
+ " del centre"
+#elif L==1
+ "Freigegebene Dateien"
+#elif L==2
+ "Files shared by teachers and students"
+ " of the centre"
+#elif L==3
+ "Archivos compartidos por profesores y estudiantes"
+ " del centro"
+#elif L==4
+ "Fichiers partagés"
+#elif L==5
+ "Archivos compartidos por profesores y estudiantes"
+ " del centro" // Okoteve traducción
+#elif L==6
+ "File condivisi"
+#elif L==7
+ "Pliki udostępnione"
+#elif L==8
+ "Arquivos compartilhados"
+#endif
+ ,
NULL,
NULL,
NULL,
@@ -18458,7 +18629,31 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
- NULL,
+ // ActAdmComDeg
+#if L==0
+ "Arxius compartits per professors i estudiants"
+ " de la titulació"
+#elif L==1
+ "Freigegebene Dateien"
+#elif L==2
+ "Files shared by teachers and students"
+ " of the degree"
+#elif L==3
+ "Archivos compartidos por profesores y estudiantes"
+ " de la titulación"
+#elif L==4
+ "Fichiers partagés"
+#elif L==5
+ "Archivos compartidos por profesores y estudiantes"
+ " de la titulación" // Okoteve traducción
+#elif L==6
+ "File condivisi"
+#elif L==7
+ "Pliki udostępnione"
+#elif L==8
+ "Arquivos compartilhados"
+#endif
+ ,
NULL,
NULL,
NULL,
@@ -32623,6 +32818,69 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] =
"documents" // Potrzebujesz tlumaczenie
#elif L==8
"documentos"
+#endif
+ ,
+ // Brw_ADMI_SHARE_DEG
+#if L==0
+ "compartits"
+#elif L==1
+ "Freigegebene"
+#elif L==2
+ "shared"
+#elif L==3
+ "compartidos"
+#elif L==4
+ "partages"
+#elif L==5
+ "compartidos" // Okoteve traducción
+#elif L==6
+ "condivisi"
+#elif L==7
+ "shared" // Potrzebujesz tlumaczenie
+#elif L==8
+ "comum"
+#endif
+ ,
+ // Brw_ADMI_SHARE_CTR
+#if L==0
+ "compartits"
+#elif L==1
+ "Freigegebene"
+#elif L==2
+ "shared"
+#elif L==3
+ "compartidos"
+#elif L==4
+ "partages"
+#elif L==5
+ "compartidos" // Okoteve traducción
+#elif L==6
+ "condivisi"
+#elif L==7
+ "shared" // Potrzebujesz tlumaczenie
+#elif L==8
+ "comum"
+#endif
+ ,
+ // Brw_ADMI_SHARE_INS
+#if L==0
+ "compartits"
+#elif L==1
+ "Freigegebene"
+#elif L==2
+ "shared"
+#elif L==3
+ "compartidos"
+#elif L==4
+ "partages"
+#elif L==5
+ "compartidos" // Okoteve traducción
+#elif L==6
+ "condivisi"
+#elif L==7
+ "shared" // Potrzebujesz tlumaczenie
+#elif L==8
+ "comum"
#endif
};
diff --git a/swad_zip.c b/swad_zip.c
index 39978e36b..a99e424fd 100644
--- a/swad_zip.c
+++ b/swad_zip.c
@@ -76,6 +76,9 @@ const Act_Action_t ZIP_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActZIPAdmDocCtr, // Brw_ADMI_DOCUM_CTR
ActZIPSeeDocIns, // Brw_SHOW_DOCUM_INS
ActZIPAdmDocIns, // Brw_ADMI_DOCUM_INS
+ ActZIPComDeg, // Brw_ADMI_SHARE_DEG
+ ActZIPComCtr, // Brw_ADMI_SHARE_CTR
+ ActZIPComIns, // Brw_ADMI_SHARE_INS
};
/*****************************************************************************/