From 36f9dc2cfc7cf2fcf64e67446162203c2850a72b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Thu, 5 Feb 2015 22:59:48 +0100 Subject: [PATCH] Version 14.74 --- swad_action.c | 199 ++++++++++- swad_action.h | 806 ++++++++++++++++++++++++-------------------- swad_changelog.h | 3 +- swad_file_browser.c | 571 ++++++++++++++++++++++++------- swad_file_browser.h | 6 +- swad_layout.c | 6 + swad_search.c | 18 +- swad_text.c | 270 ++++++++++++++- swad_zip.c | 3 + 9 files changed, 1360 insertions(+), 522 deletions(-) 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 }; /*****************************************************************************/