Version 15.92

This commit is contained in:
Antonio Cañas Vargas 2016-01-02 17:07:58 +01:00
parent c54855bd5d
commit 3da5bfb06c
11 changed files with 344 additions and 155 deletions

View File

@ -171,7 +171,7 @@ Institution:
78. ActSeePlc List places
79. ActSeeHld List holidays
80. ActSeeAdmDocIns Documents zone of the institution (see or admin)
81. ActAdmComIns Admin the shared files zone of the institution
81. ActAdmShaIns Admin the shared files zone of the institution
82. ActInsSch Search for courses, teachers, documents...
@ -271,7 +271,7 @@ Centre:
165. ActSeeCtrInf Show information on the current centre
166. ActSeeDeg List degrees of a type
167. ActSeeAdmDocCtr Documents zone of the centre (see or admin)
168. ActAdmComCtr Admin the shared files zone of the centre
168. ActAdmShaCtr Admin the shared files zone of the centre
169. ActCtrSch Search for courses, teachers, documents...
@ -353,7 +353,7 @@ Degree:
237. ActSeeDegInf Show information on the current degree
238. ActSeeCrs List courses of a degree
239. ActSeeAdmDocDeg Documents zone of the degree (see or admin)
240. ActAdmComDeg Admin the shared files zone of the degree
240. ActAdmShaDeg Admin the shared files zone of the degree
241. ActDegSch Search for courses, teachers, documents...
@ -1435,7 +1435,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 ,"earth64x64.gif" },
/* ActSeeHld */{ 707, 5,TabIns,ActSeeHld ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Hld_SeeHolidays ,"date64x64.gif" },
/* ActSeeAdmDocIns */{1249, 6,TabIns,ActSeeAdmDocIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder64x64.gif" },
/* ActAdmComIns */{1382, 7,TabIns,ActAdmComIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
/* ActAdmShaIns */{1382, 7,TabIns,ActAdmShaIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
// Actions not in menu:
/* ActInsSch */{1182,-1,TabIns,ActInsReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_InsSearch ,NULL},
@ -1512,24 +1512,24 @@ 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},
/* ActReqRemFilShaIns*/{1383,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilShaIns */{1384,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolShaIns */{1385,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopShaIns */{1386,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasShaIns */{1387,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreShaIns */{1388,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreShaIns */{1389,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolShaIns */{1390,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkShaIns */{1391,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolShaIns */{1392,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilShaInsDZ */{1393,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
/* ActRcvFilShaInsCla*/{1394,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpShaIns */{1395,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConShaIns */{1396,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPShaIns */{1397,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatShaIns */{1398,-1,TabIns,ActAdmComIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatShaIns */{1399,-1,TabIns,ActAdmComIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowShaIns */{1400,-1,TabIns,ActAdmComIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilShaIns*/{1383,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilShaIns */{1384,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolShaIns */{1385,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopShaIns */{1386,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasShaIns */{1387,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreShaIns */{1388,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreShaIns */{1389,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolShaIns */{1390,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkShaIns */{1391,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolShaIns */{1392,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilShaInsDZ */{1393,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
/* ActRcvFilShaInsCla*/{1394,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpShaIns */{1395,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConShaIns */{1396,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPShaIns */{1397,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatShaIns */{1398,-1,TabIns,ActAdmShaIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatShaIns */{1399,-1,TabIns,ActAdmShaIns ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowShaIns */{1400,-1,TabIns,ActAdmShaIns ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
// TabCtr ******************************************************************
// Actions in menu:
@ -1538,7 +1538,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 ,"ctr64x64.gif" },
/* ActSeeDeg */{1011, 2,TabCtr,ActSeeDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Deg_ShowDegsOfCurrentCtr ,"deg64x64.gif" },
/* ActSeeAdmDocCtr */{1248, 3,TabCtr,ActSeeAdmDocCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder64x64.gif" },
/* ActAdmComCtr */{1363, 4,TabCtr,ActAdmComCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
/* ActAdmShaCtr */{1363, 4,TabCtr,ActAdmShaCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
// Actions not in menu:
/* ActCtrSch */{1183,-1,TabCtr,ActCtrReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_CtrSearch ,NULL},
@ -1597,24 +1597,24 @@ 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},
/* ActReqRemFilShaCtr*/{1364,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilShaCtr */{1365,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolShaCtr */{1366,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopShaCtr */{1367,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasShaCtr */{1368,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreShaCtr */{1369,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreShaCtr */{1370,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolShaCtr */{1371,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkShaCtr */{1372,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolShaCtr */{1373,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilShaCtrDZ */{1374,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
/* ActRcvFilShaCtrCla*/{1375,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpShaCtr */{1376,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConShaCtr */{1377,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPShaCtr */{1378,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatShaCtr */{1379,-1,TabCtr,ActAdmComCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatShaCtr */{1380,-1,TabCtr,ActAdmComCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowShaCtr */{1381,-1,TabCtr,ActAdmComCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilShaCtr*/{1364,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilShaCtr */{1365,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolShaCtr */{1366,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopShaCtr */{1367,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasShaCtr */{1368,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreShaCtr */{1369,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreShaCtr */{1370,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolShaCtr */{1371,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkShaCtr */{1372,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolShaCtr */{1373,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilShaCtrDZ */{1374,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
/* ActRcvFilShaCtrCla*/{1375,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpShaCtr */{1376,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConShaCtr */{1377,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPShaCtr */{1378,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatShaCtr */{1379,-1,TabCtr,ActAdmShaCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatShaCtr */{1380,-1,TabCtr,ActAdmShaCtr ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowShaCtr */{1381,-1,TabCtr,ActAdmShaCtr ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
// TabDeg ******************************************************************
// Actions in menu:
@ -1623,7 +1623,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 ,"deg64x64.gif" },
/* ActSeeCrs */{1009, 2,TabDeg,ActSeeCrs ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_ShowCrssOfCurrentDeg ,"coursesdegree64x64.gif"},
/* ActSeeAdmDocDeg */{1247, 3,TabDeg,ActSeeAdmDocDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folder64x64.gif" },
/* ActAdmComDeg */{1344, 4,TabDeg,ActAdmComDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
/* ActAdmShaDeg */{1344, 4,TabDeg,ActAdmShaDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,"folderusers64x64.gif" },
// Actions not in menu:
/* ActDegSch */{1184,-1,TabDeg,ActDegReqSch ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Sch_GetParamsSearch ,Sch_DegSearch ,NULL},
@ -1677,24 +1677,24 @@ 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},
/* ActReqRemFilShaDeg*/{1345,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilShaDeg */{1346,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolShaDeg */{1347,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopShaDeg */{1348,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasShaDeg */{1349,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreShaDeg */{1350,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreShaDeg */{1351,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolShaDeg */{1352,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkShaDeg */{1353,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolShaDeg */{1354,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilShaDegDZ */{1355,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
/* ActRcvFilShaDegCla*/{1356,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpShaDeg */{1357,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConShaDeg */{1358,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPShaDeg */{1359,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatShaDeg */{1360,-1,TabDeg,ActAdmComDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatShaDeg */{1361,-1,TabDeg,ActAdmComDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowShaDeg */{1362,-1,TabDeg,ActAdmComDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
/* ActReqRemFilShaDeg*/{1345,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_AskRemFileFromTree ,NULL},
/* ActRemFilShaDeg */{1346,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFileFromTree ,NULL},
/* ActRemFolShaDeg */{1347,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemFolderFromTree ,NULL},
/* ActCopShaDeg */{1348,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_CopyFromFileBrowser ,NULL},
/* ActPasShaDeg */{1349,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_PasteIntoFileBrowser ,NULL},
/* ActRemTreShaDeg */{1350,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RemSubtreeInFileBrowser ,NULL},
/* ActFrmCreShaDeg */{1351,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFormFileBrowser ,NULL},
/* ActCreFolShaDeg */{1352,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecFolderFileBrowser ,NULL},
/* ActCreLnkShaDeg */{1353,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RecLinkFileBrowser ,NULL},
/* ActRenFolShaDeg */{1354,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_RenFolderFileBrowser ,NULL},
/* ActRcvFilShaDegDZ */{1355,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_UPLOAD_FILE,Brw_RcvFileInFileBrwDropzone,NULL ,NULL},
/* ActRcvFilShaDegCla*/{1356,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Brw_RcvFileInFileBrwClassic ,NULL},
/* ActExpShaDeg */{1357,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ExpandFileTree ,NULL},
/* ActConShaDeg */{1358,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ContractFileTree ,NULL},
/* ActZIPShaDeg */{1359,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,ZIP_CompressFileTree ,NULL},
/* ActReqDatShaDeg */{1360,-1,TabDeg,ActAdmShaDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ShowFileMetadata ,NULL},
/* ActChgDatShaDeg */{1361,-1,TabDeg,ActAdmShaDeg ,0x1F8,0x1F8,0x1F8,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Brw_ChgFileMetadata ,NULL},
/* ActDowShaDeg */{1362,-1,TabDeg,ActAdmShaDeg ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_DOWNLD_FILE,Brw_DownloadFile ,NULL ,NULL},
// TabCrs ******************************************************************
// Actions in menu:
@ -4027,7 +4027,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActRemInsLog, // #1341
ActRemCtrLog, // #1342
ActRemDegLog, // #1343
ActAdmComDeg, // #1344
ActAdmShaDeg, // #1344
ActReqRemFilShaDeg, // #1345
ActRemFilShaDeg, // #1346
ActRemFolShaDeg, // #1347
@ -4046,7 +4046,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActReqDatShaDeg, // #1360
ActChgDatShaDeg, // #1361
ActDowShaDeg, // #1362
ActAdmComCtr, // #1363
ActAdmShaCtr, // #1363
ActReqRemFilShaCtr, // #1364
ActRemFilShaCtr, // #1365
ActRemFolShaCtr, // #1366
@ -4065,7 +4065,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
ActReqDatShaCtr, // #1379
ActChgDatShaCtr, // #1380
ActDowShaCtr, // #1381
ActAdmComIns, // #1382
ActAdmShaIns, // #1382
ActReqRemFilShaIns, // #1383
ActRemFilShaIns, // #1384
ActRemFolShaIns, // #1385

View File

@ -185,7 +185,7 @@ 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)
#define ActAdmShaIns (ActChgInsSta+ 8)
// Secondary actions
#define ActInsSch (ActChgInsSta+ 9)
@ -285,7 +285,7 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActSeeCtrInf (ActDowShaIns+ 2)
#define ActSeeDeg (ActDowShaIns+ 3)
#define ActSeeAdmDocCtr (ActDowShaIns+ 4)
#define ActAdmComCtr (ActDowShaIns+ 5)
#define ActAdmShaCtr (ActDowShaIns+ 5)
// Secondary actions
#define ActCtrSch (ActDowShaIns+ 6)
@ -368,7 +368,7 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
#define ActSeeDegInf (ActDowShaCtr+ 2)
#define ActSeeCrs (ActDowShaCtr+ 3)
#define ActSeeAdmDocDeg (ActDowShaCtr+ 4)
#define ActAdmComDeg (ActDowShaCtr+ 5)
#define ActAdmShaDeg (ActDowShaCtr+ 5)
// Secondary actions
#define ActDegSch (ActDowShaCtr+ 6)

View File

@ -117,13 +117,17 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.91.4 (2016-01-02)"
#define Log_PLATFORM_VERSION "SWAD 15.92 (2016-01-02)"
#define CSS_FILE "swad15.88.1.css"
#define JS_FILE "swad15.77.7.js"
// Number of lines (includes comments but not blank lines) has been got with the following command:
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/*
Version 15.92: Jan 02, 2016 Fixing bugs in file metadata of files in institution, centre and degree zones. Not finished. (190365 lines)
1 change necessary in database:
ALTER TABLE social_notes DROP COLUMN DegCod;
Version 15.91.4: Jan 02, 2016 Fixed minor bugs in social timeline. (190184 lines)
Version 15.91.3: Jan 02, 2016 Just before to remove a social note, display at top the note to remove. (190183 lines)
Version 15.91.2: Jan 02, 2016 After unsharing a social note, display at top the note just unshared. (190175 lines)

View File

@ -334,9 +334,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
ActAdmShaDeg, // Brw_ADMI_SHARE_DEG
ActAdmShaCtr, // Brw_ADMI_SHARE_CTR
ActAdmShaIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActChgZone[Brw_NUM_TYPES_FILE_BROWSER] =
{
@ -838,9 +838,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
ActAdmShaDeg, // Brw_ADMI_SHARE_DEG
ActAdmShaCtr, // Brw_ADMI_SHARE_CTR
ActAdmShaIns, // Brw_ADMI_SHARE_INS
};
static const Act_Action_t Brw_ActExpandFolder[Brw_NUM_TYPES_FILE_BROWSER] =
{
@ -1528,7 +1528,7 @@ void Brw_GetParAndInitFileBrowser (void)
break;
/***** Shared files of institution *****/
case ActAdmComIns:
case ActAdmShaIns:
case ActReqRemFilShaIns:
case ActRemFilShaIns:
case ActRemFolShaIns:
@ -1594,7 +1594,7 @@ void Brw_GetParAndInitFileBrowser (void)
break;
/***** Shared files of centre *****/
case ActAdmComCtr:
case ActAdmShaCtr:
case ActReqRemFilShaCtr:
case ActRemFilShaCtr:
case ActRemFolShaCtr:
@ -1660,7 +1660,7 @@ void Brw_GetParAndInitFileBrowser (void)
break;
/***** Shared files of degree *****/
case ActAdmComDeg:
case ActAdmShaDeg:
case ActReqRemFilShaDeg:
case ActRemFilShaDeg:
case ActRemFolShaDeg:
@ -8870,6 +8870,11 @@ void Brw_ShowFileMetadata (void)
Brw_GetFileMetadataByPath (&FileMetadata);
Found = Brw_GetFileTypeSizeAndDate (&FileMetadata);
sprintf (Gbl.Message,"Found = %s; FileMetadata.FilCod = %ld",
Found ? "true" : "false",
FileMetadata.FilCod);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
if (Found)
{
if (FileMetadata.FilCod <= 0) // No entry for this file in database table of files
@ -9943,12 +9948,21 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
MYSQL_ROW row;
unsigned UnsignedNum;
sprintf (Gbl.Message,"FileMetadata->FilCod = %ld",
FileMetadata->FilCod);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
/***** Get metadata of a file from database *****/
sprintf (Query,"SELECT FilCod,FileBrowser,Cod,ZoneUsrCod,"
"PublisherUsrCod,FileType,Path,Hidden,Public,License"
" FROM files"
" WHERE FilCod='%ld'",
FileMetadata->FilCod);
sprintf (Gbl.Message,"Query = %s",
Query);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
if (DB_QuerySELECT (Query,&mysql_res,"can not get file metadata"))
{
/* Get row */
@ -9982,6 +9996,10 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
strncpy (FileMetadata->Path,row[6],PATH_MAX);
FileMetadata->Path[PATH_MAX] = '\0';
sprintf (Gbl.Message,"FileMetadata->Path = %s",
FileMetadata->Path);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
/* Is a hidden file? (row[7]) */
switch (Gbl.FileBrowser.Type)
{
@ -10045,6 +10063,10 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
sprintf (Gbl.Message,"FileMetadata->Path = %s",
FileMetadata->Path);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
/***** Fill some values with 0 (unused at this moment) *****/
FileMetadata->Size = (off_t) 0;
FileMetadata->Time = (time_t) 0;
@ -10476,30 +10498,79 @@ static long Brw_GetZoneUsrCodForFiles (void)
/*****************************************************************************/
void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
long *CrsCod,long *GrpCod)
long *InsCod,
long *CtrCod,
long *DegCod,
long *CrsCod,
long *GrpCod)
{
struct Centre Ctr;
struct Degree Deg;
struct Course Crs;
struct GroupData GrpDat;
switch (FileBrowser)
{
case Brw_ADMI_DOCUM_INS:
case Brw_ADMI_SHARE_INS:
*GrpCod = -1L;
*CrsCod = -1L;
*DegCod = -1L;
*CtrCod = -1L;
*InsCod = Cod;
break;
case Brw_ADMI_DOCUM_CTR:
case Brw_ADMI_SHARE_CTR:
*GrpCod = -1L;
*CrsCod = -1L;
*DegCod = -1L;
*CtrCod = Ctr.CtrCod = Cod;
Ctr_GetDataOfCentreByCod (&Ctr);
*InsCod = Ctr.InsCod;
break;
case Brw_ADMI_DOCUM_DEG:
case Brw_ADMI_SHARE_DEG:
*GrpCod = -1L;
*CrsCod = -1L;
*DegCod = Deg.DegCod = Cod;
Deg_GetDataOfDegreeByCod (&Deg);
*CtrCod = Ctr.CtrCod = Deg.CtrCod;
Ctr_GetDataOfCentreByCod (&Ctr);
*InsCod = Ctr.InsCod;
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
case Brw_ADMI_MARKS_CRS:
*CrsCod = Cod;
*GrpCod = -1L;
*CrsCod = Crs.CrsCod = Cod;
Crs_GetDataOfCourseByCod (&Crs);
*DegCod = Deg.DegCod = Crs.DegCod;
Deg_GetDataOfDegreeByCod (&Deg);
*CtrCod = Ctr.CtrCod = Deg.CtrCod;
Ctr_GetDataOfCentreByCod (&Ctr);
*InsCod = Ctr.InsCod;
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
*GrpCod = GrpDat.GrpCod = Cod;
Grp_GetDataOfGroupByCod (&GrpDat);
*CrsCod = GrpDat.CrsCod;
*CrsCod = Crs.CrsCod = GrpDat.CrsCod;
Crs_GetDataOfCourseByCod (&Crs);
*DegCod = Deg.DegCod = Crs.DegCod;
Deg_GetDataOfDegreeByCod (&Deg);
*CtrCod = Ctr.CtrCod = Deg.CtrCod;
Ctr_GetDataOfCentreByCod (&Ctr);
*InsCod = Ctr.InsCod;
break;
default:
*CrsCod = -1L;
*GrpCod = -1L;
*CrsCod = -1L;
*DegCod = -1L;
*CtrCod = -1L;
*InsCod = -1L;
break;
}
}

View File

@ -192,7 +192,11 @@ unsigned Brw_GetNumPublicFilesUsr (long UsrCod);
long Brw_GetCodForFiles (void);
void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
long *CrsCod,long *GrpCod);
long *InsCod,
long *CtrCod,
long *DegCod,
long *CrsCod,
long *GrpCod);
long Brw_AddPathToDB (long PublisherUsrCod,Brw_FileType_t FileType,
const char *Path,bool IsPublic,Brw_License_t License);

View File

@ -718,6 +718,9 @@ void Mrk_GetNotifMyMarks (char *SummaryStr,char **ContentStr,
unsigned UnsignedNum;
Brw_FileBrowser_t FileBrowser;
long Cod;
long InsCod; // Not applicable here
long CtrCod; // Not applicable here
long DegCod; // Not applicable here
long CrsCod;
long GrpCod;
struct MarksProperties Marks;
@ -765,7 +768,8 @@ void Mrk_GetNotifMyMarks (char *SummaryStr,char **ContentStr,
/* Course/group code (row[1]) */
Cod = Str_ConvertStrCodToLongCod (row[1]);
Brw_GetCrsGrpFromFileMetadata (FileBrowser,Cod,&CrsCod,&GrpCod);
Brw_GetCrsGrpFromFileMetadata (FileBrowser,Cod,
&InsCod,&CtrCod,&DegCod,&CrsCod,&GrpCod);
/* Path (row[2]) */
strncpy (FullPathInTreeFromDBMarksTable,row[2],PATH_MAX);

View File

@ -100,7 +100,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeePlc,
ActSeeHld,
ActSeeAdmDocIns,
ActAdmComIns,
ActAdmShaIns,
},
// TabCtr **********
{
@ -108,7 +108,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeeCtrInf,
ActSeeDeg,
ActSeeAdmDocCtr,
ActAdmComCtr,
ActAdmShaCtr,
},
// TabDeg **********
{
@ -116,7 +116,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeeDegInf,
ActSeeCrs,
ActSeeAdmDocDeg,
ActAdmComDeg,
ActAdmShaDeg,
},
// TabCrs **********
{

View File

@ -638,6 +638,9 @@ static void Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
{
extern const Act_Action_t For_ActionsSeeFor[For_NUM_TYPES_FORUM];
struct FileMetadata FileMetadata;
long InsCod = -1L;
long CtrCod = -1L;
long DegCod = -1L;
long GrpCod = -1L;
char PathUntilFileName[PATH_MAX+1];
char FileName[NAME_MAX+1];
@ -653,7 +656,8 @@ static void Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
{
FileMetadata.FilCod = Cod;
Brw_GetFileMetadataByCod (&FileMetadata);
Brw_GetCrsGrpFromFileMetadata (FileMetadata.FileBrowser,FileMetadata.Cod,&CrsCod,&GrpCod);
Brw_GetCrsGrpFromFileMetadata (FileMetadata.FileBrowser,FileMetadata.Cod,
&InsCod,&CtrCod,&DegCod,&CrsCod,&GrpCod);
Str_SplitFullPathIntoPathAndFileName (FileMetadata.Path,
PathUntilFileName,
FileName);
@ -662,15 +666,31 @@ static void Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
{
case Ntf_EVENT_DOCUMENT_FILE:
Action = (Cod > 0) ? ((GrpCod > 0) ? ActReqDatSeeDocGrp :
ActReqDatSeeDocCrs) :
((GrpCod > 0) ? ActSeeDocGrp :
ActSeeDocCrs);
((CrsCod > 0) ? ActReqDatSeeDocCrs :
((DegCod > 0) ? ActReqDatSeeDocDeg :
(CtrCod > 0) ? ActReqDatSeeDocCtr :
ActReqDatSeeDocIns))) :
((GrpCod > 0) ? ActSeeDocGrp :
((CrsCod > 0) ? ActSeeDocCrs :
((DegCod > 0) ? ActSeeDocDeg :
(CtrCod > 0) ? ActSeeDocCtr :
ActSeeDocIns)));
break;
case Ntf_EVENT_SHARED_FILE:
Action = (Cod > 0) ? ((GrpCod > 0) ? ActReqDatShaGrp :
ActReqDatShaCrs) :
((GrpCod > 0) ? ActAdmShaGrp :
ActAdmShaCrs);
Action = (Cod > 0) ? ((GrpCod > 0) ? ActReqDatShaGrp :
((CrsCod > 0) ? ActReqDatShaCrs :
((DegCod > 0) ? ActReqDatShaDeg :
(CtrCod > 0) ? ActReqDatShaCtr :
ActReqDatShaIns))) :
((GrpCod > 0) ? ActAdmShaGrp :
((CrsCod > 0) ? ActAdmShaCrs :
((DegCod > 0) ? ActAdmShaDeg :
(CtrCod > 0) ? ActAdmShaCtr :
ActAdmShaIns)));
break;
case Ntf_EVENT_MARKS_FILE:
Action = (Cod > 0) ? ((GrpCod > 0) ? ActReqDatSeeMrkGrp :
@ -682,8 +702,10 @@ static void Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
break;
}
Act_FormStart (Action);
Grp_PutParamGrpCod (GrpCod > 0 ? GrpCod :
-1L);
// Grp_PutParamGrpCod (GrpCod > 0 ? GrpCod :
// -1L);
if (GrpCod > 0)
Grp_PutParamGrpCod (GrpCod);
if (Cod > 0) // File code
Brw_PutParamsPathAndFile (Brw_IS_UNKNOWN,PathUntilFileName,FileName); // TODO: Brw_IS_UNKNOWN should be changed to Brw_IS_FILE or Brw_IS_LINK
break;
@ -705,10 +727,27 @@ static void Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
break;
}
/***** Parameter to go to another course *****/
if (CrsCod > 0 && // Course specified
CrsCod != Gbl.CurrentCrs.Crs.CrsCod) // Not the current course
Crs_PutParamCrsCod (CrsCod); // Go to another course
/***** Parameter to go to another course/degree/centre/institution *****/
if (CrsCod > 0) // Course specified
{
if (CrsCod != Gbl.CurrentCrs.Crs.CrsCod) // Not the current course
Crs_PutParamCrsCod (CrsCod); // Go to another course
}
else if (DegCod > 0) // Degree specified
{
if (DegCod != Gbl.CurrentDeg.Deg.DegCod) // Not the current degree
Deg_PutParamDegCod (DegCod); // Go to another degree
}
else if (CtrCod > 0) // Centre specified
{
if (CtrCod != Gbl.CurrentCtr.Ctr.CtrCod) // Not the current centre
Ctr_PutParamCtrCod (CtrCod); // Go to another centre
}
else if (InsCod > 0) // Institution specified
{
if (InsCod != Gbl.CurrentIns.Ins.InsCod) // Not the current institution
Ins_PutParamInsCod (InsCod); // Go to another institution
}
}
/*****************************************************************************/

View File

@ -59,15 +59,15 @@ static const Act_Action_t Soc_DefaultActions[Soc_NUM_SOCIAL_NOTES] =
/* Institution tab */
ActSeeDocIns, // Soc_NOTE_INS_DOC_PUB_FILE
ActAdmComIns, // Soc_NOTE_INS_SHA_PUB_FILE
ActAdmShaIns, // Soc_NOTE_INS_SHA_PUB_FILE
/* Centre tab */
ActSeeDocCtr, // Soc_NOTE_CTR_DOC_PUB_FILE
ActAdmComCtr, // Soc_NOTE_CTR_SHA_PUB_FILE
ActAdmShaCtr, // Soc_NOTE_CTR_SHA_PUB_FILE
/* Degree tab */
ActSeeDocDeg, // Soc_NOTE_DEG_DOC_PUB_FILE
ActAdmComDeg, // Soc_NOTE_DEG_SHA_PUB_FILE
ActAdmShaDeg, // Soc_NOTE_DEG_SHA_PUB_FILE
/* Course tab */
ActSeeDocCrs, // Soc_NOTE_CRS_DOC_PUB_FILE
@ -303,6 +303,11 @@ static void Soc_ShowTimeline (const char *Query,Act_Action_t UpdateAction)
/* Get and write social note */
SocNot.NotCod = SocPub.NotCod;
Soc_GetDataOfSocialNoteByCod (&SocNot);
sprintf (Gbl.Message,"SocNot.Cod = %ld",
SocNot.Cod);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
Soc_WriteSocialNote (&SocPub,&SocNot,true,NumPub == NumPublishings - 1);
}
@ -366,30 +371,17 @@ static void Soc_WriteSocialNote (const struct SocialPublishing *SocPub,
char ForumName[512];
char SummaryStr[Cns_MAX_BYTES_TEXT+1];
/***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat);
/***** Initialize location in hierarchy *****/
Ins.InsCod = -1L;
Ctr.CtrCod = -1L;
Deg.DegCod = -1L;
Crs.CrsCod = -1L;
/***** Get details *****/
/* Get author data */
/***** Get author data *****/
Usr_UsrDataConstructor (&UsrDat);
UsrDat.UsrCod = SocNot->UsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
/* Get forum type of the post */
if (SocNot->NoteType == Soc_NOTE_FORUM_POST)
{
Gbl.Forum.ForumType = For_GetForumTypeOfAPost (SocNot->Cod);
For_SetForumName (Gbl.Forum.ForumType,
&Ins,
&Ctr,
&Deg,
&Crs,
ForumName,Gbl.Prefs.Language,false); // Set forum name in recipient's language
Gbl.Forum.Ins.InsCod = Ins.InsCod;
Gbl.Forum.Ctr.CtrCod = Ctr.CtrCod;
Gbl.Forum.Deg.DegCod = Deg.DegCod;
Gbl.Forum.Crs.CrsCod = Crs.CrsCod;
}
/***** Start list item *****/
fprintf (Gbl.F.Out,"<li");
if (WritingTimeline && !LastInList)
@ -428,7 +420,58 @@ static void Soc_WriteSocialNote (const struct SocialPublishing *SocPub,
}
else
{
/* Write note type and location-hierarchy */
/* Get location in hierarchy */
switch (SocNot->NoteType)
{
case Soc_NOTE_INS_DOC_PUB_FILE:
case Soc_NOTE_INS_SHA_PUB_FILE:
/* Get institution data */
Ins.InsCod = SocNot->HieCod;
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
sprintf (Gbl.Message,"SocNot->Cod = %ld",
SocNot->Cod);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
break;
case Soc_NOTE_CTR_DOC_PUB_FILE:
case Soc_NOTE_CTR_SHA_PUB_FILE:
/* Get centre data */
Ctr.CtrCod = SocNot->HieCod;
Ctr_GetDataOfCentreByCod (&Ctr);
break;
case Soc_NOTE_DEG_DOC_PUB_FILE:
case Soc_NOTE_DEG_SHA_PUB_FILE:
/* Get degree data */
Deg.DegCod = SocNot->HieCod;
Deg_GetDataOfDegreeByCod (&Deg);
break;
case Soc_NOTE_CRS_DOC_PUB_FILE:
case Soc_NOTE_CRS_SHA_PUB_FILE:
case Soc_NOTE_EXAM_ANNOUNCEMENT:
case Soc_NOTE_NOTICE:
/* Get course data */
Crs.CrsCod = SocNot->HieCod;
Crs_GetDataOfCourseByCod (&Crs);
break;
case Soc_NOTE_FORUM_POST:
/* Get forum type of the post */
Gbl.Forum.ForumType = For_GetForumTypeOfAPost (SocNot->Cod);
For_SetForumName (Gbl.Forum.ForumType,
&Ins,
&Ctr,
&Deg,
&Crs,
ForumName,Gbl.Prefs.Language,false); // Set forum name in recipient's language
Gbl.Forum.Ins.InsCod = Ins.InsCod;
Gbl.Forum.Ctr.CtrCod = Ctr.CtrCod;
Gbl.Forum.Deg.DegCod = Deg.DegCod;
Gbl.Forum.Crs.CrsCod = Crs.CrsCod;
break;
default:
break;
}
/* Write note type */
fprintf (Gbl.F.Out,"<div>");
Soc_StartFormGoToAction (SocNot->NoteType,Crs.CrsCod,SocNot->Cod);
Act_LinkFormSubmit (Txt_SOCIAL_NOTE[SocNot->NoteType],
@ -438,34 +481,23 @@ static void Soc_WriteSocialNote (const struct SocialPublishing *SocPub,
Act_FormEnd ();
fprintf (Gbl.F.Out,"</div>");
/* Write location in hierarchy */
switch (SocNot->NoteType)
{
case Soc_NOTE_INS_DOC_PUB_FILE:
case Soc_NOTE_INS_SHA_PUB_FILE:
/* Get institution data */
Ins.InsCod = SocNot->HieCod;
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
/* Write location (institution) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"DAT\">%s: %s</div>",
Txt_Institution,Ins.ShortName);
break;
case Soc_NOTE_CTR_DOC_PUB_FILE:
case Soc_NOTE_CTR_SHA_PUB_FILE:
/* Get centre data */
Ctr.CtrCod = SocNot->HieCod;
Ctr_GetDataOfCentreByCod (&Ctr);
/* Write location (centre) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"DAT\">%s: %s</div>",
Txt_Centre,Ctr.ShortName);
break;
case Soc_NOTE_DEG_DOC_PUB_FILE:
case Soc_NOTE_DEG_SHA_PUB_FILE:
/* Get degree data */
Deg.DegCod = SocNot->HieCod;
Deg_GetDataOfDegreeByCod (&Deg);
/* Write location (degree) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"DAT\">%s: %s</div>",
Txt_Degree,Deg.ShortName);
@ -474,10 +506,6 @@ static void Soc_WriteSocialNote (const struct SocialPublishing *SocPub,
case Soc_NOTE_CRS_SHA_PUB_FILE:
case Soc_NOTE_EXAM_ANNOUNCEMENT:
case Soc_NOTE_NOTICE:
/* Get course data */
Crs.CrsCod = SocNot->HieCod;
Crs_GetDataOfCourseByCod (&Crs);
/* Write location (course) in hierarchy */
fprintf (Gbl.F.Out,"<div class=\"DAT\">%s: %s</div>",
Txt_Course,Crs.ShortName);
@ -596,11 +624,13 @@ static void Soc_GetAndWriteSocialPost (long PstCod)
/********* Put form to go to an action depending on the social note **********/
/*****************************************************************************/
static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
long CrsCod,long Cod)
static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,long CrsCod,long Cod)
{
extern const Act_Action_t For_ActionsSeeFor[For_NUM_TYPES_FORUM];
struct FileMetadata FileMetadata;
long InsCod = -1L;
long CtrCod = -1L;
long DegCod = -1L;
long GrpCod = -1L;
char PathUntilFileName[PATH_MAX+1];
char FileName[NAME_MAX+1];
@ -619,12 +649,26 @@ static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
case Soc_NOTE_CRS_SHA_PUB_FILE:
if (Cod > 0) // File code
{
sprintf (Gbl.Message,"Cod = %ld",
Cod);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
FileMetadata.FilCod = Cod;
Brw_GetFileMetadataByCod (&FileMetadata);
Brw_GetCrsGrpFromFileMetadata (FileMetadata.FileBrowser,FileMetadata.Cod,&CrsCod,&GrpCod);
Str_SplitFullPathIntoPathAndFileName (FileMetadata.Path,
PathUntilFileName,
FileName);
Brw_GetFileMetadataByCod (&FileMetadata); // TODO: Check all calls to this function!!!!!
if (FileMetadata.FilCod > 0) // Found
{
Brw_GetCrsGrpFromFileMetadata (FileMetadata.FileBrowser,FileMetadata.Cod,
&InsCod,&CtrCod,&DegCod,&CrsCod,&GrpCod);
Str_SplitFullPathIntoPathAndFileName (FileMetadata.Path,
PathUntilFileName,
FileName);
}
Cod = FileMetadata.FilCod; // If file not found ==> FileMetadata.FilCod == -1
sprintf (Gbl.Message,"PathUntilFileName = %s; FileName = %s; FileMetadata.FilCod = %ld",
PathUntilFileName,FileName,
FileMetadata.FilCod);
Lay_ShowAlert (Lay_INFO,Gbl.Message);
}
switch (NoteType)
{
@ -632,19 +676,19 @@ static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
Action = (Cod > 0) ? ActReqDatSeeDocIns : ActSeeDocIns;
break;
case Soc_NOTE_INS_SHA_PUB_FILE:
Action = (Cod > 0) ? ActReqDatShaIns : ActAdmComIns;
Action = (Cod > 0) ? ActReqDatShaIns : ActAdmShaIns;
break;
case Soc_NOTE_CTR_DOC_PUB_FILE:
Action = (Cod > 0) ? ActReqDatSeeDocCtr : ActSeeDocCtr;
break;
case Soc_NOTE_CTR_SHA_PUB_FILE:
Action = (Cod > 0) ? ActReqDatShaCtr : ActAdmComCtr;
Action = (Cod > 0) ? ActReqDatShaCtr : ActAdmShaCtr;
break;
case Soc_NOTE_DEG_DOC_PUB_FILE:
Action = (Cod > 0) ? ActReqDatSeeDocDeg : ActSeeDocDeg;
break;
case Soc_NOTE_DEG_SHA_PUB_FILE:
Action = (Cod > 0) ? ActReqDatShaDeg : ActAdmComDeg;
Action = (Cod > 0) ? ActReqDatShaDeg : ActAdmShaDeg;
break;
case Soc_NOTE_CRS_DOC_PUB_FILE:
Action = (Cod > 0) ? ActReqDatSeeDocCrs : ActSeeDocCrs;
@ -656,7 +700,7 @@ static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
break;
}
Act_FormStart (Action);
Grp_PutParamGrpCod (-1L);
// Grp_PutParamGrpCod (-1L);
if (Cod > 0) // File code
Brw_PutParamsPathAndFile (Brw_IS_FILE,PathUntilFileName,FileName);
break;
@ -674,9 +718,26 @@ static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
}
/***** Parameter to go to another course *****/
if (CrsCod > 0 && // Course specified
CrsCod != Gbl.CurrentCrs.Crs.CrsCod) // Not the current course
Crs_PutParamCrsCod (CrsCod); // Go to another course
if (CrsCod > 0) // Course specified
{
if (CrsCod != Gbl.CurrentCrs.Crs.CrsCod) // Not the current course
Crs_PutParamCrsCod (CrsCod); // Go to another course
}
else if (DegCod > 0) // Degree specified
{
if (DegCod != Gbl.CurrentDeg.Deg.DegCod) // Not the current degree
Deg_PutParamDegCod (DegCod); // Go to another degree
}
else if (CtrCod > 0) // Centre specified
{
if (CtrCod != Gbl.CurrentCtr.Ctr.CtrCod) // Not the current centre
Ctr_PutParamCtrCod (CtrCod); // Go to another centre
}
else if (InsCod > 0) // Institution specified
{
if (InsCod != Gbl.CurrentIns.Ins.InsCod) // Not the current institution
Ins_PutParamInsCod (InsCod); // Go to another institution
}
}
/*****************************************************************************/

View File

@ -17031,7 +17031,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
// ActAdmComIns
// ActAdmShaIns
#if L==1
"Compartits"
#elif L==2
@ -17151,7 +17151,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
// ActAdmComCtr
// ActAdmShaCtr
#if L==1
"Compartits"
#elif L==2
@ -17274,7 +17274,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
// ActAdmComDeg
// ActAdmShaDeg
#if L==1
"Compartits"
#elif L==2
@ -18952,7 +18952,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
// ActAdmComIns
// ActAdmShaIns
#if L==1
"Arxius compartits per professors i estudiants"
" de l'instituci&oacute;"
@ -19076,7 +19076,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
// ActAdmComCtr
// ActAdmShaCtr
#if L==1
"Arxius compartits per professors i estudiants"
" del centre"
@ -19203,7 +19203,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Documentos"
#endif
,
// ActAdmComDeg
// ActAdmShaDeg
#if L==1
"Arxius compartits per professors i estudiants"
" de la titulaci&oacute;"

View File

@ -4221,6 +4221,9 @@ int swad__getFile (struct soap *soap,
/***** Set course and group codes *****/
Brw_GetCrsGrpFromFileMetadata (FileMetadata.FileBrowser,FileMetadata.Cod,
&Gbl.CurrentIns.Ins.InsCod,
&Gbl.CurrentCtr.Ctr.CtrCod,
&Gbl.CurrentDeg.Deg.DegCod,
&Gbl.CurrentCrs.Crs.CrsCod,
&Gbl.CurrentCrs.Grps.GrpCod);
@ -4358,6 +4361,9 @@ int swad__getMarks (struct soap *soap,
/***** Set course and group codes *****/
Brw_GetCrsGrpFromFileMetadata (FileMetadata.FileBrowser,FileMetadata.Cod,
&Gbl.CurrentIns.Ins.InsCod,
&Gbl.CurrentCtr.Ctr.CtrCod,
&Gbl.CurrentDeg.Deg.DegCod,
&Gbl.CurrentCrs.Crs.CrsCod,
&Gbl.CurrentCrs.Grps.GrpCod);