mirror of https://github.com/acanas/swad-core.git
Version 14.73
This commit is contained in:
parent
19bbabdef1
commit
f947850cc7
|
@ -175,6 +175,7 @@ Institution:
|
|||
82. ActPrnInsInf Print information on the current institution
|
||||
83. ActReqInsLog Show form to send the logo of the current institution
|
||||
84. ActRecInsLog Receive and store the logo of the current institution
|
||||
--. ActRemInsLog Remove the logo of the current institution
|
||||
|
||||
85. ActEdiCtr Edit centres
|
||||
86. ActReqCtr Request the creation of a request for a new centre (a teacher makes the petition to an administrator)
|
||||
|
@ -255,6 +256,7 @@ Centre:
|
|||
149. ActPrnCtrInf Print information on the current centre
|
||||
150. ActReqCtrLog Show form to send the logo of the current centre
|
||||
151. ActRecCtrLog Receive and store the logo of the current centre
|
||||
---. ActRemCtrLog Remove the logo of the current centre
|
||||
152. ActReqCtrPho Show form to send the photo of the current centre
|
||||
153. ActRecCtrPho Receive and store the photo of the current centre
|
||||
154. ActChgCtrPhoAtt Change attribution of centre photo
|
||||
|
@ -318,6 +320,7 @@ Degree:
|
|||
202. ActPrnDegInf Print information on the current degree
|
||||
203. ActReqDegLog Show form to send the logo of the current degree
|
||||
204. ActRecDegLog Receive and store the logo of the current degree
|
||||
---. ActRemDegLog Remove the logo of the current degree
|
||||
|
||||
205. ActEdiCrs Request edition of courses of a degree
|
||||
206. ActReqCrs Request the creation of a request for a new course (a teacher makes the petition to an administrator)
|
||||
|
@ -1431,7 +1434,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
|
||||
/* ActPrnInsInf */{1154,-1,TabIns,ActSeeInsInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Ins_PrintConfiguration ,NULL},
|
||||
/* ActReqInsLog */{1245,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ins_RequestLogo ,NULL},
|
||||
/* ActRecInsLog */{ 699,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Ins_ReceiveLogo ,NULL},
|
||||
/* ActRecInsLog */{ 699,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ins_ReceiveLogo ,Ins_ShowConfiguration ,NULL},
|
||||
/* ActRemInsLog */{1341,-1,TabIns,ActSeeInsInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ins_RemoveLogo ,Ins_ShowConfiguration ,NULL},
|
||||
|
||||
/* ActEdiCtr */{ 681,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_EditCentres ,NULL},
|
||||
/* ActReqCtr */{1208,-1,TabIns,ActSeeCtr ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RecFormReqCtr ,NULL},
|
||||
|
@ -1513,7 +1517,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
|
||||
/* ActPrnCtrInf */{1152,-1,TabCtr,ActSeeCtrInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Ctr_PrintConfiguration ,NULL},
|
||||
/* ActReqCtrLog */{1244,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RequestLogo ,NULL},
|
||||
/* ActRecCtrLog */{1051,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Ctr_ReceiveLogo ,NULL},
|
||||
/* ActRecCtrLog */{1051,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ctr_ReceiveLogo ,Ctr_ShowConfiguration ,NULL},
|
||||
/* ActRemCtrLog */{1342,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Ctr_RemoveLogo ,Ctr_ShowConfiguration ,NULL},
|
||||
/* ActReqCtrPho */{1160,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_RequestPhoto ,NULL},
|
||||
/* ActRecCtrPho */{1161,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Ctr_ReceivePhoto ,NULL},
|
||||
/* ActChgCtrPhoAtt */{1159,-1,TabCtr,ActSeeCtrInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Ctr_ChangeCtrPhotoAttribution ,NULL},
|
||||
|
@ -1578,7 +1583,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
|
||||
/* ActPrnDegInf */{1150,-1,TabDeg,ActSeeDegInf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_NEW_WINDOW ,NULL ,Deg_PrintConfiguration ,NULL},
|
||||
/* ActReqDegLog */{1246,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Deg_RequestLogo ,NULL},
|
||||
/* ActRecDegLog */{ 553,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,NULL ,Deg_ReceiveLogo ,NULL},
|
||||
/* ActRecDegLog */{ 553,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Deg_ReceiveLogo ,Deg_ShowConfiguration ,NULL},
|
||||
/* ActRemDegLog */{1343,-1,TabDeg,ActSeeDegInf ,0x100,0x100,0x100,Act_CONTENT_DATA,Act_MAIN_WINDOW,Deg_RemoveLogo ,Deg_ShowConfiguration ,NULL},
|
||||
|
||||
/* ActEdiCrs */{ 555,-1,TabDeg,ActSeeCrs ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_ReqEditCourses ,NULL},
|
||||
/* ActReqCrs */{1053,-1,TabDeg,ActSeeCrs ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Crs_RecFormReqCrs ,NULL},
|
||||
|
@ -3852,6 +3858,9 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActRemAdmIns, // #1338
|
||||
ActNewAdmCtr, // #1339
|
||||
ActRemAdmCtr, // #1340
|
||||
ActRemInsLog, // #1341
|
||||
ActRemCtrLog, // #1342
|
||||
ActRemDegLog, // #1343
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
295
swad_action.h
295
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+70+53+48+204+184+98+168+28+75)
|
||||
#define Act_NUM_ACTIONS (7+52+15+71+54+49+204+184+98+168+28+75)
|
||||
|
||||
#define Act_MAX_ACTION_COD 1340
|
||||
#define Act_MAX_ACTION_COD 1343
|
||||
|
||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
|
||||
|
||||
|
@ -189,70 +189,71 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
|||
#define ActPrnInsInf (ActChgInsSta+ 9)
|
||||
#define ActReqInsLog (ActChgInsSta+ 10)
|
||||
#define ActRecInsLog (ActChgInsSta+ 11)
|
||||
#define ActRemInsLog (ActChgInsSta+ 12)
|
||||
|
||||
#define ActEdiCtr (ActChgInsSta+ 12)
|
||||
#define ActReqCtr (ActChgInsSta+ 13)
|
||||
#define ActNewCtr (ActChgInsSta+ 14)
|
||||
#define ActRemCtr (ActChgInsSta+ 15)
|
||||
#define ActChgCtrIns (ActChgInsSta+ 16)
|
||||
#define ActChgCtrPlc (ActChgInsSta+ 17)
|
||||
#define ActRenCtrSho (ActChgInsSta+ 18)
|
||||
#define ActRenCtrFul (ActChgInsSta+ 19)
|
||||
#define ActChgCtrWWW (ActChgInsSta+ 20)
|
||||
#define ActChgCtrSta (ActChgInsSta+ 21)
|
||||
#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 ActEdiDpt (ActChgInsSta+ 22)
|
||||
#define ActNewDpt (ActChgInsSta+ 23)
|
||||
#define ActRemDpt (ActChgInsSta+ 24)
|
||||
#define ActChgDptIns (ActChgInsSta+ 25)
|
||||
#define ActRenDptSho (ActChgInsSta+ 26)
|
||||
#define ActRenDptFul (ActChgInsSta+ 27)
|
||||
#define ActChgDptWWW (ActChgInsSta+ 28)
|
||||
#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 ActEdiPlc (ActChgInsSta+ 29)
|
||||
#define ActNewPlc (ActChgInsSta+ 30)
|
||||
#define ActRemPlc (ActChgInsSta+ 31)
|
||||
#define ActRenPlcSho (ActChgInsSta+ 32)
|
||||
#define ActRenPlcFul (ActChgInsSta+ 33)
|
||||
#define ActEdiPlc (ActChgInsSta+ 30)
|
||||
#define ActNewPlc (ActChgInsSta+ 31)
|
||||
#define ActRemPlc (ActChgInsSta+ 32)
|
||||
#define ActRenPlcSho (ActChgInsSta+ 33)
|
||||
#define ActRenPlcFul (ActChgInsSta+ 34)
|
||||
|
||||
#define ActEdiHld (ActChgInsSta+ 34)
|
||||
#define ActNewHld (ActChgInsSta+ 35)
|
||||
#define ActRemHld (ActChgInsSta+ 36)
|
||||
#define ActChgHldPlc (ActChgInsSta+ 37)
|
||||
#define ActChgHldTyp (ActChgInsSta+ 38)
|
||||
#define ActChgHldStrDat (ActChgInsSta+ 39)
|
||||
#define ActChgHldEndDat (ActChgInsSta+ 40)
|
||||
#define ActRenHld (ActChgInsSta+ 41)
|
||||
#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 ActChgToSeeDocIns (ActChgInsSta+ 42)
|
||||
#define ActSeeDocIns (ActChgInsSta+ 43)
|
||||
#define ActExpSeeDocIns (ActChgInsSta+ 44)
|
||||
#define ActConSeeDocIns (ActChgInsSta+ 45)
|
||||
#define ActZIPSeeDocIns (ActChgInsSta+ 46)
|
||||
#define ActReqDatSeeDocIns (ActChgInsSta+ 47)
|
||||
#define ActDowSeeDocIns (ActChgInsSta+ 48)
|
||||
#define ActChgToAdmDocIns (ActChgInsSta+ 49)
|
||||
#define ActAdmDocIns (ActChgInsSta+ 50)
|
||||
#define ActReqRemFilDocIns (ActChgInsSta+ 51)
|
||||
#define ActRemFilDocIns (ActChgInsSta+ 52)
|
||||
#define ActRemFolDocIns (ActChgInsSta+ 53)
|
||||
#define ActCopDocIns (ActChgInsSta+ 54)
|
||||
#define ActPasDocIns (ActChgInsSta+ 55)
|
||||
#define ActRemTreDocIns (ActChgInsSta+ 56)
|
||||
#define ActFrmCreDocIns (ActChgInsSta+ 57)
|
||||
#define ActCreFolDocIns (ActChgInsSta+ 58)
|
||||
#define ActCreLnkDocIns (ActChgInsSta+ 59)
|
||||
#define ActRenFolDocIns (ActChgInsSta+ 60)
|
||||
#define ActRcvFilDocInsDZ (ActChgInsSta+ 61)
|
||||
#define ActRcvFilDocInsCla (ActChgInsSta+ 62)
|
||||
#define ActExpAdmDocIns (ActChgInsSta+ 63)
|
||||
#define ActConAdmDocIns (ActChgInsSta+ 64)
|
||||
#define ActZIPAdmDocIns (ActChgInsSta+ 65)
|
||||
#define ActShoDocIns (ActChgInsSta+ 66)
|
||||
#define ActHidDocIns (ActChgInsSta+ 67)
|
||||
#define ActReqDatAdmDocIns (ActChgInsSta+ 68)
|
||||
#define ActChgDatAdmDocIns (ActChgInsSta+ 69)
|
||||
#define ActDowAdmDocIns (ActChgInsSta+ 70)
|
||||
#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)
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************************* Centre tab ********************************/
|
||||
|
@ -268,53 +269,54 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
|||
#define ActPrnCtrInf (ActDowAdmDocIns+ 6)
|
||||
#define ActReqCtrLog (ActDowAdmDocIns+ 7)
|
||||
#define ActRecCtrLog (ActDowAdmDocIns+ 8)
|
||||
#define ActReqCtrPho (ActDowAdmDocIns+ 9)
|
||||
#define ActRecCtrPho (ActDowAdmDocIns+ 10)
|
||||
#define ActChgCtrPhoAtt (ActDowAdmDocIns+ 11)
|
||||
#define ActRemCtrLog (ActDowAdmDocIns+ 9)
|
||||
#define ActReqCtrPho (ActDowAdmDocIns+ 10)
|
||||
#define ActRecCtrPho (ActDowAdmDocIns+ 11)
|
||||
#define ActChgCtrPhoAtt (ActDowAdmDocIns+ 12)
|
||||
|
||||
#define ActEdiDeg (ActDowAdmDocIns+ 12)
|
||||
#define ActReqDeg (ActDowAdmDocIns+ 13)
|
||||
#define ActNewDeg (ActDowAdmDocIns+ 14)
|
||||
#define ActRemDeg (ActDowAdmDocIns+ 15)
|
||||
#define ActRenDegSho (ActDowAdmDocIns+ 16)
|
||||
#define ActRenDegFul (ActDowAdmDocIns+ 17)
|
||||
#define ActChgDegTyp (ActDowAdmDocIns+ 18)
|
||||
#define ActChgDegCtr (ActDowAdmDocIns+ 19)
|
||||
#define ActChgDegFstYea (ActDowAdmDocIns+ 20)
|
||||
#define ActChgDegLstYea (ActDowAdmDocIns+ 21)
|
||||
#define ActChgDegOptYea (ActDowAdmDocIns+ 22)
|
||||
#define ActChgDegWWW (ActDowAdmDocIns+ 23)
|
||||
#define ActChgDegSta (ActDowAdmDocIns+ 24)
|
||||
#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 ActChgToSeeDocCtr (ActDowAdmDocIns+ 25)
|
||||
#define ActSeeDocCtr (ActDowAdmDocIns+ 26)
|
||||
#define ActExpSeeDocCtr (ActDowAdmDocIns+ 27)
|
||||
#define ActConSeeDocCtr (ActDowAdmDocIns+ 28)
|
||||
#define ActZIPSeeDocCtr (ActDowAdmDocIns+ 29)
|
||||
#define ActReqDatSeeDocCtr (ActDowAdmDocIns+ 30)
|
||||
#define ActDowSeeDocCtr (ActDowAdmDocIns+ 31)
|
||||
#define ActChgToAdmDocCtr (ActDowAdmDocIns+ 32)
|
||||
#define ActAdmDocCtr (ActDowAdmDocIns+ 33)
|
||||
#define ActReqRemFilDocCtr (ActDowAdmDocIns+ 34)
|
||||
#define ActRemFilDocCtr (ActDowAdmDocIns+ 35)
|
||||
#define ActRemFolDocCtr (ActDowAdmDocIns+ 36)
|
||||
#define ActCopDocCtr (ActDowAdmDocIns+ 37)
|
||||
#define ActPasDocCtr (ActDowAdmDocIns+ 38)
|
||||
#define ActRemTreDocCtr (ActDowAdmDocIns+ 39)
|
||||
#define ActFrmCreDocCtr (ActDowAdmDocIns+ 40)
|
||||
#define ActCreFolDocCtr (ActDowAdmDocIns+ 41)
|
||||
#define ActCreLnkDocCtr (ActDowAdmDocIns+ 42)
|
||||
#define ActRenFolDocCtr (ActDowAdmDocIns+ 43)
|
||||
#define ActRcvFilDocCtrDZ (ActDowAdmDocIns+ 44)
|
||||
#define ActRcvFilDocCtrCla (ActDowAdmDocIns+ 45)
|
||||
#define ActExpAdmDocCtr (ActDowAdmDocIns+ 46)
|
||||
#define ActConAdmDocCtr (ActDowAdmDocIns+ 47)
|
||||
#define ActZIPAdmDocCtr (ActDowAdmDocIns+ 48)
|
||||
#define ActShoDocCtr (ActDowAdmDocIns+ 49)
|
||||
#define ActHidDocCtr (ActDowAdmDocIns+ 50)
|
||||
#define ActReqDatAdmDocCtr (ActDowAdmDocIns+ 51)
|
||||
#define ActChgDatAdmDocCtr (ActDowAdmDocIns+ 52)
|
||||
#define ActDowAdmDocCtr (ActDowAdmDocIns+ 53)
|
||||
#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)
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************************* Degree tab ********************************/
|
||||
|
@ -330,48 +332,49 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
|||
#define ActPrnDegInf (ActDowAdmDocCtr+ 6)
|
||||
#define ActReqDegLog (ActDowAdmDocCtr+ 7)
|
||||
#define ActRecDegLog (ActDowAdmDocCtr+ 8)
|
||||
#define ActRemDegLog (ActDowAdmDocCtr+ 9)
|
||||
|
||||
#define ActEdiCrs (ActDowAdmDocCtr+ 9)
|
||||
#define ActReqCrs (ActDowAdmDocCtr+ 10)
|
||||
#define ActNewCrs (ActDowAdmDocCtr+ 11)
|
||||
#define ActRemCrs (ActDowAdmDocCtr+ 12)
|
||||
#define ActChgInsCrsCod (ActDowAdmDocCtr+ 13)
|
||||
#define ActChgCrsDeg (ActDowAdmDocCtr+ 14)
|
||||
#define ActChgCrsYea (ActDowAdmDocCtr+ 15)
|
||||
#define ActChgCrsSem (ActDowAdmDocCtr+ 16)
|
||||
#define ActRenCrsSho (ActDowAdmDocCtr+ 17)
|
||||
#define ActRenCrsFul (ActDowAdmDocCtr+ 18)
|
||||
#define ActChgCrsSta (ActDowAdmDocCtr+ 19)
|
||||
#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 ActChgToSeeDocDeg (ActDowAdmDocCtr+ 20)
|
||||
#define ActSeeDocDeg (ActDowAdmDocCtr+ 21)
|
||||
#define ActExpSeeDocDeg (ActDowAdmDocCtr+ 22)
|
||||
#define ActConSeeDocDeg (ActDowAdmDocCtr+ 23)
|
||||
#define ActZIPSeeDocDeg (ActDowAdmDocCtr+ 24)
|
||||
#define ActReqDatSeeDocDeg (ActDowAdmDocCtr+ 25)
|
||||
#define ActDowSeeDocDeg (ActDowAdmDocCtr+ 26)
|
||||
#define ActChgToAdmDocDeg (ActDowAdmDocCtr+ 27)
|
||||
#define ActAdmDocDeg (ActDowAdmDocCtr+ 28)
|
||||
#define ActReqRemFilDocDeg (ActDowAdmDocCtr+ 29)
|
||||
#define ActRemFilDocDeg (ActDowAdmDocCtr+ 30)
|
||||
#define ActRemFolDocDeg (ActDowAdmDocCtr+ 31)
|
||||
#define ActCopDocDeg (ActDowAdmDocCtr+ 32)
|
||||
#define ActPasDocDeg (ActDowAdmDocCtr+ 33)
|
||||
#define ActRemTreDocDeg (ActDowAdmDocCtr+ 34)
|
||||
#define ActFrmCreDocDeg (ActDowAdmDocCtr+ 35)
|
||||
#define ActCreFolDocDeg (ActDowAdmDocCtr+ 36)
|
||||
#define ActCreLnkDocDeg (ActDowAdmDocCtr+ 37)
|
||||
#define ActRenFolDocDeg (ActDowAdmDocCtr+ 38)
|
||||
#define ActRcvFilDocDegDZ (ActDowAdmDocCtr+ 39)
|
||||
#define ActRcvFilDocDegCla (ActDowAdmDocCtr+ 40)
|
||||
#define ActExpAdmDocDeg (ActDowAdmDocCtr+ 41)
|
||||
#define ActConAdmDocDeg (ActDowAdmDocCtr+ 42)
|
||||
#define ActZIPAdmDocDeg (ActDowAdmDocCtr+ 43)
|
||||
#define ActShoDocDeg (ActDowAdmDocCtr+ 44)
|
||||
#define ActHidDocDeg (ActDowAdmDocCtr+ 45)
|
||||
#define ActReqDatAdmDocDeg (ActDowAdmDocCtr+ 46)
|
||||
#define ActChgDatAdmDocDeg (ActDowAdmDocCtr+ 47)
|
||||
#define ActDowAdmDocDeg (ActDowAdmDocCtr+ 48)
|
||||
#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)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************** Course tab *********************************/
|
||||
|
|
|
@ -1787,6 +1787,15 @@ void Ctr_ReceiveLogo (void)
|
|||
Log_ReceiveLogo (Sco_SCOPE_CTR);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Remove the logo of the current centre ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Ctr_RemoveLogo (void)
|
||||
{
|
||||
Log_RemoveLogo (Sco_SCOPE_CTR);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******** Put a link to the action used to request photo of centre ***********/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -107,6 +107,7 @@ void Ctr_ChangeCtrStatus (void);
|
|||
|
||||
void Ctr_RequestLogo (void);
|
||||
void Ctr_ReceiveLogo (void);
|
||||
void Ctr_RemoveLogo (void);
|
||||
void Ctr_RequestPhoto (void);
|
||||
void Ctr_ReceivePhoto (void);
|
||||
void Ctr_ChangeCtrPhotoAttribution (void);
|
||||
|
|
|
@ -39,11 +39,17 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.72.6 (2015/02/03)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.73 (2015/02/03)"
|
||||
|
||||
// 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.73: Feb 03, 2015 New options to remove institution, centre and degree icons. (177007 lines)
|
||||
3 changes necessary in database:
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1341','es','N','Eliminar logo de institución');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1342','es','N','Eliminar logo de centro');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1343','es','N','Eliminar logo de titulación');
|
||||
|
||||
Version 14.72.6: Feb 03, 2015 Changes in icons for degrees and centres. (176883 lines)
|
||||
Version 14.72.5: Feb 01, 2015 Changed related to administrators. (176805 lines)
|
||||
Version 14.72.4: Feb 01, 2015 Refactoring of registering and removing admins. (176787 lines)
|
||||
|
@ -251,7 +257,7 @@ ALTER TABLE institutions DROP COLUMN Logo;
|
|||
Version 14.55: Jan 14, 2015 New option to upload logo of a centre. (173509 lines)
|
||||
3 changes necessary in database:
|
||||
UPDATE actions SET Txt='Cambiar logo de centro' WHERE ActCod='1051' AND Language='es';
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1244','es','N','Solicitar envío de logo cde entro');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1244','es','N','Solicitar envío de logo de centro');
|
||||
ALTER TABLE centres DROP COLUMN Logo;
|
||||
|
||||
Version 14.54.7: Jan 13, 2015 Fixed bug in edition of centres. (173349 lines)
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
/** Uncomment one of the following installations of SWAD or create your own **/
|
||||
/*****************************************************************************/
|
||||
|
||||
//#define LOCALHOST_UBUNTU // Comment this line if not applicable
|
||||
#define OPENSWAD_ORG // Comment this line if not applicable
|
||||
#define LOCALHOST_UBUNTU // Comment this line if not applicable
|
||||
//#define OPENSWAD_ORG // Comment this line if not applicable
|
||||
//#define SWAD_UGR_ES // Comment this line if not applicable
|
||||
//#define WWW_CEVUNA_UNA_PY // Comment this line if not applicable
|
||||
|
||||
|
|
|
@ -3812,6 +3812,15 @@ void Deg_ReceiveLogo (void)
|
|||
Log_ReceiveLogo (Sco_SCOPE_DEG);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Remove the logo of the current degree ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Deg_RemoveLogo (void)
|
||||
{
|
||||
Log_RemoveLogo (Sco_SCOPE_DEG);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Get total number of degrees *************************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -154,6 +154,7 @@ void Deg_ChangeDegWWW (void);
|
|||
void Deg_ChangeDegStatus (void);
|
||||
void Deg_RequestLogo (void);
|
||||
void Deg_ReceiveLogo (void);
|
||||
void Deg_RemoveLogo (void);
|
||||
|
||||
unsigned Deg_GetNumDegsTotal (void);
|
||||
unsigned Deg_GetNumDegsInCty (long InsCod);
|
||||
|
|
|
@ -1711,7 +1711,16 @@ void Ins_ReceiveLogo (void)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Put a form to create a new institution ******************/
|
||||
/*************** Remove the logo of the current institution ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Ins_RemoveLogo (void)
|
||||
{
|
||||
Log_RemoveLogo (Sco_SCOPE_INS);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Put a form to create a new institution *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Ins_PutFormToCreateInstitution (void)
|
||||
|
|
|
@ -112,6 +112,7 @@ void Ins_ChangeInsWWW (void);
|
|||
void Ins_ChangeInsStatus (void);
|
||||
void Ins_RequestLogo (void);
|
||||
void Ins_ReceiveLogo (void);
|
||||
void Ins_RemoveLogo (void);
|
||||
void Ins_RecFormReqIns (void);
|
||||
void Ins_RecFormNewIns (void);
|
||||
|
||||
|
|
114
swad_logo.c
114
swad_logo.c
|
@ -58,6 +58,8 @@ extern struct Globals Gbl;
|
|||
/***************************** Internal prototypes ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Log_PutLinkToRemoveLogo (Act_Action_t Action);
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Draw degree logo *****************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -75,7 +77,7 @@ void Log_DrawLogo (Sco_Scope_t Scope,long Cod,const char *AltText,
|
|||
Cfg_FOLDER_DEG, // Sco_SCOPE_DEG
|
||||
NULL, // Sco_SCOPE_CRS
|
||||
};
|
||||
const char *Folder;
|
||||
const char *Folder = NULL; // To avoid warning
|
||||
char PathLogo[PATH_MAX+1];
|
||||
bool LogoFound = false;
|
||||
|
||||
|
@ -219,31 +221,58 @@ void Log_RequestLogo (Sco_Scope_t Scope)
|
|||
extern const char *Txt_You_can_send_a_file_with_an_image_in_png_format_transparent_background_and_size_X_Y;
|
||||
extern const char *Txt_File_with_the_logo;
|
||||
extern const char *Txt_Upload_logo;
|
||||
Act_Action_t Action;
|
||||
long Cod;
|
||||
const char *Folder;
|
||||
Act_Action_t ActionRec;
|
||||
Act_Action_t ActionRem;
|
||||
char PathLogo[PATH_MAX+1];
|
||||
|
||||
/***** Set action depending on scope *****/
|
||||
switch (Scope)
|
||||
{
|
||||
case Sco_SCOPE_INS:
|
||||
Action = ActRecInsLog;
|
||||
Cod = Gbl.CurrentIns.Ins.InsCod;
|
||||
Folder = Cfg_FOLDER_INS;
|
||||
ActionRec = ActRecInsLog;
|
||||
ActionRem = ActRemInsLog;
|
||||
break;
|
||||
case Sco_SCOPE_CTR:
|
||||
Action = ActRecCtrLog;
|
||||
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
|
||||
Folder = Cfg_FOLDER_CTR;
|
||||
ActionRec = ActRecCtrLog;
|
||||
ActionRem = ActRemCtrLog;
|
||||
break;
|
||||
case Sco_SCOPE_DEG:
|
||||
Action = ActRecDegLog;
|
||||
Cod = Gbl.CurrentDeg.Deg.DegCod;
|
||||
Folder = Cfg_FOLDER_DEG;
|
||||
ActionRec = ActRecDegLog;
|
||||
ActionRem = ActRemDegLog;
|
||||
break;
|
||||
default:
|
||||
return; // Nothing to do
|
||||
}
|
||||
|
||||
/***** Check if logo exists *****/
|
||||
sprintf (PathLogo,"%s/%s/%02u/%u/logo/%u.png",
|
||||
Cfg_PATH_SWAD_PUBLIC,Folder,
|
||||
(unsigned) (Cod % 100),
|
||||
(unsigned) Cod,
|
||||
(unsigned) Cod);
|
||||
if (Fil_CheckIfPathExists (PathLogo))
|
||||
{
|
||||
/***** Form to remove photo *****/
|
||||
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">");
|
||||
Log_PutLinkToRemoveLogo (ActionRem);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/***** Write help message *****/
|
||||
sprintf (Gbl.Message,Txt_You_can_send_a_file_with_an_image_in_png_format_transparent_background_and_size_X_Y,
|
||||
64,64);
|
||||
Lay_ShowAlert (Lay_INFO,Gbl.Message);
|
||||
|
||||
/***** Write a form to send logo *****/
|
||||
Act_FormStart (Action);
|
||||
Act_FormStart (ActionRec);
|
||||
fprintf (Gbl.F.Out,"<table style=\"margin:0 auto;\">"
|
||||
"<tr>"
|
||||
"<td class=\"%s\" style=\"text-align:right;\">"
|
||||
|
@ -266,6 +295,22 @@ void Log_RequestLogo (Sco_Scope_t Scope)
|
|||
Txt_Upload_logo);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Put a link to remove logo **************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Log_PutLinkToRemoveLogo (Act_Action_t Action)
|
||||
{
|
||||
extern const char *The_ClassFormul[The_NUM_THEMES];
|
||||
extern const char *Txt_Remove_logo;
|
||||
|
||||
/***** Link for removing the photo *****/
|
||||
Act_FormStart (Action);
|
||||
Act_LinkFormSubmit (Txt_Remove_logo,The_ClassFormul[Gbl.Prefs.Theme]);
|
||||
Lay_PutSendIcon ("delon",Txt_Remove_logo,Txt_Remove_logo);
|
||||
fprintf (Gbl.F.Out,"</form>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******* Receive the logo of the current institution, centre or degree *******/
|
||||
/*****************************************************************************/
|
||||
|
@ -275,7 +320,6 @@ void Log_ReceiveLogo (Sco_Scope_t Scope)
|
|||
extern const char *Txt_The_file_is_not_X;
|
||||
long Cod;
|
||||
const char *Folder;
|
||||
void (*FunctionConfiguration) (void);
|
||||
char Path[PATH_MAX+1];
|
||||
char FileNameLogoSrc[PATH_MAX+1];
|
||||
char MIMEType[Brw_MAX_BYTES_MIME_TYPE+1];
|
||||
|
@ -288,17 +332,14 @@ void Log_ReceiveLogo (Sco_Scope_t Scope)
|
|||
case Sco_SCOPE_INS:
|
||||
Cod = Gbl.CurrentIns.Ins.InsCod;
|
||||
Folder = Cfg_FOLDER_INS;
|
||||
FunctionConfiguration = Ins_ShowConfiguration;
|
||||
break;
|
||||
case Sco_SCOPE_CTR:
|
||||
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
|
||||
Folder = Cfg_FOLDER_CTR;
|
||||
FunctionConfiguration = Ctr_ShowConfiguration;
|
||||
break;
|
||||
case Sco_SCOPE_DEG:
|
||||
Cod = Gbl.CurrentDeg.Deg.DegCod;
|
||||
Folder = Cfg_FOLDER_DEG;
|
||||
FunctionConfiguration = Deg_ShowConfiguration;
|
||||
break;
|
||||
default:
|
||||
return; // Nothing to do
|
||||
|
@ -337,21 +378,54 @@ void Log_ReceiveLogo (Sco_Scope_t Scope)
|
|||
{
|
||||
sprintf (Gbl.Message,Txt_The_file_is_not_X,"png");
|
||||
Lay_ShowAlert (Lay_WARNING,Gbl.Message);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* End the reception of logo in a temporary file */
|
||||
sprintf (FileNameLogo,"%s/%s/%02u/%u/logo/%u.png",
|
||||
Cfg_PATH_SWAD_PUBLIC,Folder,
|
||||
(unsigned) (Cod % 100),
|
||||
(unsigned) Cod,
|
||||
(unsigned) Cod);
|
||||
if (!Fil_EndReceptionOfFile (FileNameLogo))
|
||||
Lay_ShowAlert (Lay_WARNING,"Error uploading file.");
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******* Remove the logo of the current institution, centre or degree ********/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Log_RemoveLogo (Sco_Scope_t Scope)
|
||||
{
|
||||
long Cod;
|
||||
const char *Folder;
|
||||
char FileNameLogo[PATH_MAX+1]; // Full name (including path and .png) of the destination file
|
||||
|
||||
/***** Set variables depending on scope *****/
|
||||
switch (Scope)
|
||||
{
|
||||
case Sco_SCOPE_INS:
|
||||
Cod = Gbl.CurrentIns.Ins.InsCod;
|
||||
Folder = Cfg_FOLDER_INS;
|
||||
break;
|
||||
case Sco_SCOPE_CTR:
|
||||
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
|
||||
Folder = Cfg_FOLDER_CTR;
|
||||
break;
|
||||
case Sco_SCOPE_DEG:
|
||||
Cod = Gbl.CurrentDeg.Deg.DegCod;
|
||||
Folder = Cfg_FOLDER_DEG;
|
||||
break;
|
||||
default:
|
||||
return; // Nothing to do
|
||||
}
|
||||
|
||||
/* End the reception of logo in a temporary file */
|
||||
/***** Remove logo *****/
|
||||
sprintf (FileNameLogo,"%s/%s/%02u/%u/logo/%u.png",
|
||||
Cfg_PATH_SWAD_PUBLIC,Folder,
|
||||
(unsigned) (Cod % 100),
|
||||
(unsigned) Cod,
|
||||
(unsigned) Cod);
|
||||
if (!Fil_EndReceptionOfFile (FileNameLogo))
|
||||
{
|
||||
Lay_ShowAlert (Lay_WARNING,"Error uploading file.");
|
||||
return;
|
||||
}
|
||||
|
||||
/***** Show the institution/centre/degree information again *****/
|
||||
FunctionConfiguration ();
|
||||
Brw_RemoveTree (FileNameLogo);
|
||||
}
|
||||
|
|
|
@ -44,5 +44,6 @@ void Log_DrawLogo (Sco_Scope_t Scope,long Cod,const char *AltText,
|
|||
void Log_PutFormToChangeLogo (Sco_Scope_t Scope);
|
||||
void Log_RequestLogo (Sco_Scope_t Scope);
|
||||
void Log_ReceiveLogo (Sco_Scope_t Scope);
|
||||
void Log_RemoveLogo (Sco_Scope_t Scope);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -176,7 +176,7 @@ static void Pho_PutLinkToRemoveUsrPhoto (const struct UsrData *UsrDat)
|
|||
extern const char *The_ClassFormul[The_NUM_THEMES];
|
||||
extern const char *Txt_Remove_photo;
|
||||
|
||||
/***** Link for changing / uploading the photo *****/
|
||||
/***** Link for removing the photo *****/
|
||||
if (UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // It's me
|
||||
Act_FormStart (ActRemMyPho);
|
||||
else // Not me
|
||||
|
|
21
swad_text.c
21
swad_text.c
|
@ -28041,6 +28041,27 @@ const char *Txt_Remove_link =
|
|||
"Remover ligação";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_logo =
|
||||
#if L==0
|
||||
"Eliminar logo";
|
||||
#elif L==1
|
||||
"Entfernen Logo";
|
||||
#elif L==2
|
||||
"Remove logo";
|
||||
#elif L==3
|
||||
"Eliminar logo";
|
||||
#elif L==4
|
||||
"Supprimer logo";
|
||||
#elif L==5
|
||||
"Eliminar logo"; // Okoteve traducción
|
||||
#elif L==6
|
||||
"Rimuovere logo";
|
||||
#elif L==7
|
||||
"Usuń logo";
|
||||
#elif L==8
|
||||
"Remover logotipo";
|
||||
#endif
|
||||
|
||||
const char *Txt_Remove_mail_domain =
|
||||
#if L==0
|
||||
"Eliminar dominio de correo"; // Necessita traduccio
|
||||
|
|
Loading…
Reference in New Issue