mirror of https://github.com/acanas/swad-core.git
Version 16.137
This commit is contained in:
parent
3092652366
commit
65d14b53f5
|
@ -1131,7 +1131,7 @@ Social:
|
|||
939. ActReqRemSocComGbl Request the removal of a comment in a social note (global)
|
||||
940. ActRemSocComGbl Remove of a comment in a social note (global)
|
||||
|
||||
941. ActReqPubPrf Request @nickname to show a public user's profile
|
||||
941. ActReqOthPubPrf Request @nickname to show a public user's profile
|
||||
|
||||
942. ActRcvSocPstUsr Receive a public social post to be displayed in the timeline (user)
|
||||
943. ActRcvSocComUsr Comment a social note in the timeline (user)
|
||||
|
@ -2606,7 +2606,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActReqRemSocComGbl*/{1505,-1,TabUnk,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Soc_MarkMyNotifAsSeen ,Soc_RequestRemSocialComGbl ,NULL},
|
||||
/* ActRemSocComGbl */{1507,-1,TabUnk,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,Soc_MarkMyNotifAsSeen ,Soc_RemoveSocialComGbl ,NULL},
|
||||
|
||||
/* ActReqPubPrf */{1401,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_RequestUserProfile ,NULL},
|
||||
/* ActReqOthPubPrf */{1401,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_RequestUserProfile ,NULL},
|
||||
|
||||
/* ActRcvSocPstUsr */{1498,-1,TabUnk,ActSeeSocPrf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Soc_ReceiveSocialPostUsr ,NULL},
|
||||
/* ActRcvSocComUsr */{1504,-1,TabUnk,ActSeeSocPrf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_DATA,Act_THIS_WINDOW,NULL ,Soc_ReceiveCommentUsr ,NULL},
|
||||
|
@ -2621,7 +2621,8 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActReqRemSocComGbl*/{1506,-1,TabUnk,ActSeeSocPrf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Soc_RequestRemSocialComUsr ,NULL},
|
||||
/* ActRemSocComGbl */{1508,-1,TabUnk,ActSeeSocPrf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Soc_RemoveSocialComUsr ,NULL},
|
||||
|
||||
/* ActSeePubPrf */{1402,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_GetUsrDatAndShowUserProfile,NULL},
|
||||
/* ActSeeMyPubPrf */{1637,-1,TabUnk,ActSeeSocPrf ,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,0x1FE,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_ShowMyProfile ,NULL},
|
||||
/* ActSeeOthPubPrf */{1402,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_GetUsrDatAndShowUserProfile,NULL},
|
||||
/* ActCal1stClkTim */{1405,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_CalculateFigures ,NULL},
|
||||
/* ActCalNumClk */{1406,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_CalculateFigures ,NULL},
|
||||
/* ActCalNumFilVie */{1409,-1,TabUnk,ActSeeSocPrf ,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,0x1FF,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Prf_CalculateFigures ,NULL},
|
||||
|
@ -4386,8 +4387,8 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
|||
ActReqDatShaIns, // #1398
|
||||
ActChgDatShaIns, // #1399
|
||||
ActDowShaIns, // #1400
|
||||
ActReqPubPrf, // #1401
|
||||
ActSeePubPrf, // #1402
|
||||
ActReqOthPubPrf, // #1401
|
||||
ActSeeOthPubPrf, // #1402
|
||||
ActEdiPri, // #1403
|
||||
ActChgPriPrf, // #1404
|
||||
ActCal1stClkTim, // #1405
|
||||
|
@ -4622,6 +4623,7 @@ Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD] = // Do not reuse un
|
|||
ActSeeCalDeg, // #1634
|
||||
ActPrnCalDeg, // #1635
|
||||
ActChgCalDeg1stDay, // #1636
|
||||
ActSeeMyPubPrf, // #1637
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
293
swad_action.h
293
swad_action.h
|
@ -55,9 +55,9 @@ typedef enum
|
|||
|
||||
typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
||||
|
||||
#define Act_NUM_ACTIONS (1 + 9 + 54 + 17 + 47 + 27 + 24 + 115 + 54 + 416 + 159 + 172 + 36 + 31 + 97)
|
||||
#define Act_NUM_ACTIONS (1 + 9 + 54 + 17 + 47 + 27 + 24 + 115 + 54 + 416 + 159 + 173 + 36 + 31 + 97)
|
||||
|
||||
#define Act_MAX_ACTION_COD 1636
|
||||
#define Act_MAX_ACTION_COD 1637
|
||||
|
||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 12
|
||||
|
||||
|
@ -1150,7 +1150,7 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
|
|||
#define ActReqRemSocComGbl (ActLstClk + 15)
|
||||
#define ActRemSocComGbl (ActLstClk + 16)
|
||||
|
||||
#define ActReqPubPrf (ActLstClk + 17)
|
||||
#define ActReqOthPubPrf (ActLstClk + 17)
|
||||
|
||||
#define ActRcvSocPstUsr (ActLstClk + 18)
|
||||
#define ActRcvSocComUsr (ActLstClk + 19)
|
||||
|
@ -1165,152 +1165,153 @@ typedef signed int Act_Action_t; // Must be a signed type, because -1 is used to
|
|||
#define ActReqRemSocComUsr (ActLstClk + 28)
|
||||
#define ActRemSocComUsr (ActLstClk + 29)
|
||||
|
||||
#define ActSeePubPrf (ActLstClk + 30)
|
||||
#define ActCal1stClkTim (ActLstClk + 31)
|
||||
#define ActCalNumClk (ActLstClk + 32)
|
||||
#define ActCalNumFilVie (ActLstClk + 33)
|
||||
#define ActCalNumForPst (ActLstClk + 34)
|
||||
#define ActCalNumMsgSnt (ActLstClk + 35)
|
||||
#define ActSeeMyPubPrf (ActLstClk + 30)
|
||||
#define ActSeeOthPubPrf (ActLstClk + 31)
|
||||
#define ActCal1stClkTim (ActLstClk + 32)
|
||||
#define ActCalNumClk (ActLstClk + 33)
|
||||
#define ActCalNumFilVie (ActLstClk + 34)
|
||||
#define ActCalNumForPst (ActLstClk + 35)
|
||||
#define ActCalNumMsgSnt (ActLstClk + 36)
|
||||
|
||||
#define ActFolUsr (ActLstClk + 36)
|
||||
#define ActUnfUsr (ActLstClk + 37)
|
||||
#define ActSeeFlg (ActLstClk + 38)
|
||||
#define ActSeeFlr (ActLstClk + 39)
|
||||
#define ActFolUsr (ActLstClk + 37)
|
||||
#define ActUnfUsr (ActLstClk + 38)
|
||||
#define ActSeeFlg (ActLstClk + 39)
|
||||
#define ActSeeFlr (ActLstClk + 40)
|
||||
|
||||
#define ActSeeForCrsUsr (ActLstClk + 40)
|
||||
#define ActSeeForCrsTch (ActLstClk + 41)
|
||||
#define ActSeeForDegUsr (ActLstClk + 42)
|
||||
#define ActSeeForDegTch (ActLstClk + 43)
|
||||
#define ActSeeForCtrUsr (ActLstClk + 44)
|
||||
#define ActSeeForCtrTch (ActLstClk + 45)
|
||||
#define ActSeeForInsUsr (ActLstClk + 46)
|
||||
#define ActSeeForInsTch (ActLstClk + 47)
|
||||
#define ActSeeForGenUsr (ActLstClk + 48)
|
||||
#define ActSeeForGenTch (ActLstClk + 49)
|
||||
#define ActSeeForSWAUsr (ActLstClk + 50)
|
||||
#define ActSeeForSWATch (ActLstClk + 51)
|
||||
#define ActSeePstForCrsUsr (ActLstClk + 52)
|
||||
#define ActSeePstForCrsTch (ActLstClk + 53)
|
||||
#define ActSeePstForDegUsr (ActLstClk + 54)
|
||||
#define ActSeePstForDegTch (ActLstClk + 55)
|
||||
#define ActSeePstForCtrUsr (ActLstClk + 56)
|
||||
#define ActSeePstForCtrTch (ActLstClk + 57)
|
||||
#define ActSeePstForInsUsr (ActLstClk + 58)
|
||||
#define ActSeePstForInsTch (ActLstClk + 59)
|
||||
#define ActSeePstForGenUsr (ActLstClk + 60)
|
||||
#define ActSeePstForGenTch (ActLstClk + 61)
|
||||
#define ActSeePstForSWAUsr (ActLstClk + 62)
|
||||
#define ActSeePstForSWATch (ActLstClk + 63)
|
||||
#define ActRcvThrForCrsUsr (ActLstClk + 64)
|
||||
#define ActRcvThrForCrsTch (ActLstClk + 65)
|
||||
#define ActRcvThrForDegUsr (ActLstClk + 66)
|
||||
#define ActRcvThrForDegTch (ActLstClk + 67)
|
||||
#define ActRcvThrForCtrUsr (ActLstClk + 68)
|
||||
#define ActRcvThrForCtrTch (ActLstClk + 69)
|
||||
#define ActRcvThrForInsUsr (ActLstClk + 70)
|
||||
#define ActRcvThrForInsTch (ActLstClk + 71)
|
||||
#define ActRcvThrForGenUsr (ActLstClk + 72)
|
||||
#define ActRcvThrForGenTch (ActLstClk + 73)
|
||||
#define ActRcvThrForSWAUsr (ActLstClk + 74)
|
||||
#define ActRcvThrForSWATch (ActLstClk + 75)
|
||||
#define ActRcvRepForCrsUsr (ActLstClk + 76)
|
||||
#define ActRcvRepForCrsTch (ActLstClk + 77)
|
||||
#define ActRcvRepForDegUsr (ActLstClk + 78)
|
||||
#define ActRcvRepForDegTch (ActLstClk + 79)
|
||||
#define ActRcvRepForCtrUsr (ActLstClk + 80)
|
||||
#define ActRcvRepForCtrTch (ActLstClk + 81)
|
||||
#define ActRcvRepForInsUsr (ActLstClk + 82)
|
||||
#define ActRcvRepForInsTch (ActLstClk + 83)
|
||||
#define ActRcvRepForGenUsr (ActLstClk + 84)
|
||||
#define ActRcvRepForGenTch (ActLstClk + 85)
|
||||
#define ActRcvRepForSWAUsr (ActLstClk + 86)
|
||||
#define ActRcvRepForSWATch (ActLstClk + 87)
|
||||
#define ActReqDelThrCrsUsr (ActLstClk + 88)
|
||||
#define ActReqDelThrCrsTch (ActLstClk + 89)
|
||||
#define ActReqDelThrDegUsr (ActLstClk + 90)
|
||||
#define ActReqDelThrDegTch (ActLstClk + 91)
|
||||
#define ActReqDelThrCtrUsr (ActLstClk + 92)
|
||||
#define ActReqDelThrCtrTch (ActLstClk + 93)
|
||||
#define ActReqDelThrInsUsr (ActLstClk + 94)
|
||||
#define ActReqDelThrInsTch (ActLstClk + 95)
|
||||
#define ActReqDelThrGenUsr (ActLstClk + 96)
|
||||
#define ActReqDelThrGenTch (ActLstClk + 97)
|
||||
#define ActReqDelThrSWAUsr (ActLstClk + 98)
|
||||
#define ActReqDelThrSWATch (ActLstClk + 99)
|
||||
#define ActDelThrForCrsUsr (ActLstClk + 100)
|
||||
#define ActDelThrForCrsTch (ActLstClk + 101)
|
||||
#define ActDelThrForDegUsr (ActLstClk + 102)
|
||||
#define ActDelThrForDegTch (ActLstClk + 103)
|
||||
#define ActDelThrForCtrUsr (ActLstClk + 104)
|
||||
#define ActDelThrForCtrTch (ActLstClk + 105)
|
||||
#define ActDelThrForInsUsr (ActLstClk + 106)
|
||||
#define ActDelThrForInsTch (ActLstClk + 107)
|
||||
#define ActDelThrForGenUsr (ActLstClk + 108)
|
||||
#define ActDelThrForGenTch (ActLstClk + 109)
|
||||
#define ActDelThrForSWAUsr (ActLstClk + 110)
|
||||
#define ActDelThrForSWATch (ActLstClk + 111)
|
||||
#define ActCutThrForCrsUsr (ActLstClk + 112)
|
||||
#define ActCutThrForCrsTch (ActLstClk + 113)
|
||||
#define ActCutThrForDegUsr (ActLstClk + 114)
|
||||
#define ActCutThrForDegTch (ActLstClk + 115)
|
||||
#define ActCutThrForCtrUsr (ActLstClk + 116)
|
||||
#define ActCutThrForCtrTch (ActLstClk + 117)
|
||||
#define ActCutThrForInsUsr (ActLstClk + 118)
|
||||
#define ActCutThrForInsTch (ActLstClk + 119)
|
||||
#define ActCutThrForGenUsr (ActLstClk + 120)
|
||||
#define ActCutThrForGenTch (ActLstClk + 121)
|
||||
#define ActCutThrForSWAUsr (ActLstClk + 122)
|
||||
#define ActCutThrForSWATch (ActLstClk + 123)
|
||||
#define ActPasThrForCrsUsr (ActLstClk + 124)
|
||||
#define ActPasThrForCrsTch (ActLstClk + 125)
|
||||
#define ActPasThrForDegUsr (ActLstClk + 126)
|
||||
#define ActPasThrForDegTch (ActLstClk + 127)
|
||||
#define ActPasThrForCtrUsr (ActLstClk + 128)
|
||||
#define ActPasThrForCtrTch (ActLstClk + 129)
|
||||
#define ActPasThrForInsUsr (ActLstClk + 130)
|
||||
#define ActPasThrForInsTch (ActLstClk + 131)
|
||||
#define ActPasThrForGenUsr (ActLstClk + 132)
|
||||
#define ActPasThrForGenTch (ActLstClk + 133)
|
||||
#define ActPasThrForSWAUsr (ActLstClk + 134)
|
||||
#define ActPasThrForSWATch (ActLstClk + 135)
|
||||
#define ActDelPstForCrsUsr (ActLstClk + 136)
|
||||
#define ActDelPstForCrsTch (ActLstClk + 137)
|
||||
#define ActDelPstForDegUsr (ActLstClk + 138)
|
||||
#define ActDelPstForDegTch (ActLstClk + 139)
|
||||
#define ActDelPstForCtrUsr (ActLstClk + 140)
|
||||
#define ActDelPstForCtrTch (ActLstClk + 141)
|
||||
#define ActDelPstForInsUsr (ActLstClk + 142)
|
||||
#define ActDelPstForInsTch (ActLstClk + 143)
|
||||
#define ActDelPstForGenUsr (ActLstClk + 144)
|
||||
#define ActDelPstForGenTch (ActLstClk + 145)
|
||||
#define ActDelPstForSWAUsr (ActLstClk + 146)
|
||||
#define ActDelPstForSWATch (ActLstClk + 147)
|
||||
#define ActEnbPstForCrsUsr (ActLstClk + 148)
|
||||
#define ActEnbPstForCrsTch (ActLstClk + 149)
|
||||
#define ActEnbPstForDegUsr (ActLstClk + 150)
|
||||
#define ActEnbPstForDegTch (ActLstClk + 151)
|
||||
#define ActEnbPstForCtrUsr (ActLstClk + 152)
|
||||
#define ActEnbPstForCtrTch (ActLstClk + 153)
|
||||
#define ActEnbPstForInsUsr (ActLstClk + 154)
|
||||
#define ActEnbPstForInsTch (ActLstClk + 155)
|
||||
#define ActEnbPstForGenUsr (ActLstClk + 156)
|
||||
#define ActEnbPstForGenTch (ActLstClk + 157)
|
||||
#define ActEnbPstForSWAUsr (ActLstClk + 158)
|
||||
#define ActEnbPstForSWATch (ActLstClk + 159)
|
||||
#define ActDisPstForCrsUsr (ActLstClk + 160)
|
||||
#define ActDisPstForCrsTch (ActLstClk + 161)
|
||||
#define ActDisPstForDegUsr (ActLstClk + 162)
|
||||
#define ActDisPstForDegTch (ActLstClk + 163)
|
||||
#define ActDisPstForCtrUsr (ActLstClk + 164)
|
||||
#define ActDisPstForCtrTch (ActLstClk + 165)
|
||||
#define ActDisPstForInsUsr (ActLstClk + 166)
|
||||
#define ActDisPstForInsTch (ActLstClk + 167)
|
||||
#define ActDisPstForGenUsr (ActLstClk + 168)
|
||||
#define ActDisPstForGenTch (ActLstClk + 169)
|
||||
#define ActDisPstForSWAUsr (ActLstClk + 170)
|
||||
#define ActDisPstForSWATch (ActLstClk + 171)
|
||||
#define ActSeeForCrsUsr (ActLstClk + 41)
|
||||
#define ActSeeForCrsTch (ActLstClk + 42)
|
||||
#define ActSeeForDegUsr (ActLstClk + 43)
|
||||
#define ActSeeForDegTch (ActLstClk + 44)
|
||||
#define ActSeeForCtrUsr (ActLstClk + 45)
|
||||
#define ActSeeForCtrTch (ActLstClk + 46)
|
||||
#define ActSeeForInsUsr (ActLstClk + 47)
|
||||
#define ActSeeForInsTch (ActLstClk + 48)
|
||||
#define ActSeeForGenUsr (ActLstClk + 49)
|
||||
#define ActSeeForGenTch (ActLstClk + 50)
|
||||
#define ActSeeForSWAUsr (ActLstClk + 51)
|
||||
#define ActSeeForSWATch (ActLstClk + 52)
|
||||
#define ActSeePstForCrsUsr (ActLstClk + 53)
|
||||
#define ActSeePstForCrsTch (ActLstClk + 54)
|
||||
#define ActSeePstForDegUsr (ActLstClk + 55)
|
||||
#define ActSeePstForDegTch (ActLstClk + 56)
|
||||
#define ActSeePstForCtrUsr (ActLstClk + 57)
|
||||
#define ActSeePstForCtrTch (ActLstClk + 58)
|
||||
#define ActSeePstForInsUsr (ActLstClk + 59)
|
||||
#define ActSeePstForInsTch (ActLstClk + 60)
|
||||
#define ActSeePstForGenUsr (ActLstClk + 61)
|
||||
#define ActSeePstForGenTch (ActLstClk + 62)
|
||||
#define ActSeePstForSWAUsr (ActLstClk + 63)
|
||||
#define ActSeePstForSWATch (ActLstClk + 64)
|
||||
#define ActRcvThrForCrsUsr (ActLstClk + 65)
|
||||
#define ActRcvThrForCrsTch (ActLstClk + 66)
|
||||
#define ActRcvThrForDegUsr (ActLstClk + 67)
|
||||
#define ActRcvThrForDegTch (ActLstClk + 68)
|
||||
#define ActRcvThrForCtrUsr (ActLstClk + 69)
|
||||
#define ActRcvThrForCtrTch (ActLstClk + 70)
|
||||
#define ActRcvThrForInsUsr (ActLstClk + 71)
|
||||
#define ActRcvThrForInsTch (ActLstClk + 72)
|
||||
#define ActRcvThrForGenUsr (ActLstClk + 73)
|
||||
#define ActRcvThrForGenTch (ActLstClk + 74)
|
||||
#define ActRcvThrForSWAUsr (ActLstClk + 75)
|
||||
#define ActRcvThrForSWATch (ActLstClk + 76)
|
||||
#define ActRcvRepForCrsUsr (ActLstClk + 77)
|
||||
#define ActRcvRepForCrsTch (ActLstClk + 78)
|
||||
#define ActRcvRepForDegUsr (ActLstClk + 79)
|
||||
#define ActRcvRepForDegTch (ActLstClk + 80)
|
||||
#define ActRcvRepForCtrUsr (ActLstClk + 81)
|
||||
#define ActRcvRepForCtrTch (ActLstClk + 82)
|
||||
#define ActRcvRepForInsUsr (ActLstClk + 83)
|
||||
#define ActRcvRepForInsTch (ActLstClk + 84)
|
||||
#define ActRcvRepForGenUsr (ActLstClk + 85)
|
||||
#define ActRcvRepForGenTch (ActLstClk + 86)
|
||||
#define ActRcvRepForSWAUsr (ActLstClk + 87)
|
||||
#define ActRcvRepForSWATch (ActLstClk + 88)
|
||||
#define ActReqDelThrCrsUsr (ActLstClk + 89)
|
||||
#define ActReqDelThrCrsTch (ActLstClk + 90)
|
||||
#define ActReqDelThrDegUsr (ActLstClk + 91)
|
||||
#define ActReqDelThrDegTch (ActLstClk + 92)
|
||||
#define ActReqDelThrCtrUsr (ActLstClk + 93)
|
||||
#define ActReqDelThrCtrTch (ActLstClk + 94)
|
||||
#define ActReqDelThrInsUsr (ActLstClk + 95)
|
||||
#define ActReqDelThrInsTch (ActLstClk + 96)
|
||||
#define ActReqDelThrGenUsr (ActLstClk + 97)
|
||||
#define ActReqDelThrGenTch (ActLstClk + 98)
|
||||
#define ActReqDelThrSWAUsr (ActLstClk + 99)
|
||||
#define ActReqDelThrSWATch (ActLstClk + 100)
|
||||
#define ActDelThrForCrsUsr (ActLstClk + 101)
|
||||
#define ActDelThrForCrsTch (ActLstClk + 102)
|
||||
#define ActDelThrForDegUsr (ActLstClk + 103)
|
||||
#define ActDelThrForDegTch (ActLstClk + 104)
|
||||
#define ActDelThrForCtrUsr (ActLstClk + 105)
|
||||
#define ActDelThrForCtrTch (ActLstClk + 106)
|
||||
#define ActDelThrForInsUsr (ActLstClk + 107)
|
||||
#define ActDelThrForInsTch (ActLstClk + 108)
|
||||
#define ActDelThrForGenUsr (ActLstClk + 109)
|
||||
#define ActDelThrForGenTch (ActLstClk + 110)
|
||||
#define ActDelThrForSWAUsr (ActLstClk + 111)
|
||||
#define ActDelThrForSWATch (ActLstClk + 112)
|
||||
#define ActCutThrForCrsUsr (ActLstClk + 113)
|
||||
#define ActCutThrForCrsTch (ActLstClk + 114)
|
||||
#define ActCutThrForDegUsr (ActLstClk + 115)
|
||||
#define ActCutThrForDegTch (ActLstClk + 116)
|
||||
#define ActCutThrForCtrUsr (ActLstClk + 117)
|
||||
#define ActCutThrForCtrTch (ActLstClk + 118)
|
||||
#define ActCutThrForInsUsr (ActLstClk + 119)
|
||||
#define ActCutThrForInsTch (ActLstClk + 120)
|
||||
#define ActCutThrForGenUsr (ActLstClk + 121)
|
||||
#define ActCutThrForGenTch (ActLstClk + 122)
|
||||
#define ActCutThrForSWAUsr (ActLstClk + 123)
|
||||
#define ActCutThrForSWATch (ActLstClk + 124)
|
||||
#define ActPasThrForCrsUsr (ActLstClk + 125)
|
||||
#define ActPasThrForCrsTch (ActLstClk + 126)
|
||||
#define ActPasThrForDegUsr (ActLstClk + 127)
|
||||
#define ActPasThrForDegTch (ActLstClk + 128)
|
||||
#define ActPasThrForCtrUsr (ActLstClk + 129)
|
||||
#define ActPasThrForCtrTch (ActLstClk + 130)
|
||||
#define ActPasThrForInsUsr (ActLstClk + 131)
|
||||
#define ActPasThrForInsTch (ActLstClk + 132)
|
||||
#define ActPasThrForGenUsr (ActLstClk + 133)
|
||||
#define ActPasThrForGenTch (ActLstClk + 134)
|
||||
#define ActPasThrForSWAUsr (ActLstClk + 135)
|
||||
#define ActPasThrForSWATch (ActLstClk + 136)
|
||||
#define ActDelPstForCrsUsr (ActLstClk + 137)
|
||||
#define ActDelPstForCrsTch (ActLstClk + 138)
|
||||
#define ActDelPstForDegUsr (ActLstClk + 139)
|
||||
#define ActDelPstForDegTch (ActLstClk + 140)
|
||||
#define ActDelPstForCtrUsr (ActLstClk + 141)
|
||||
#define ActDelPstForCtrTch (ActLstClk + 142)
|
||||
#define ActDelPstForInsUsr (ActLstClk + 143)
|
||||
#define ActDelPstForInsTch (ActLstClk + 144)
|
||||
#define ActDelPstForGenUsr (ActLstClk + 145)
|
||||
#define ActDelPstForGenTch (ActLstClk + 146)
|
||||
#define ActDelPstForSWAUsr (ActLstClk + 147)
|
||||
#define ActDelPstForSWATch (ActLstClk + 148)
|
||||
#define ActEnbPstForCrsUsr (ActLstClk + 149)
|
||||
#define ActEnbPstForCrsTch (ActLstClk + 150)
|
||||
#define ActEnbPstForDegUsr (ActLstClk + 151)
|
||||
#define ActEnbPstForDegTch (ActLstClk + 152)
|
||||
#define ActEnbPstForCtrUsr (ActLstClk + 153)
|
||||
#define ActEnbPstForCtrTch (ActLstClk + 154)
|
||||
#define ActEnbPstForInsUsr (ActLstClk + 155)
|
||||
#define ActEnbPstForInsTch (ActLstClk + 156)
|
||||
#define ActEnbPstForGenUsr (ActLstClk + 157)
|
||||
#define ActEnbPstForGenTch (ActLstClk + 158)
|
||||
#define ActEnbPstForSWAUsr (ActLstClk + 159)
|
||||
#define ActEnbPstForSWATch (ActLstClk + 160)
|
||||
#define ActDisPstForCrsUsr (ActLstClk + 161)
|
||||
#define ActDisPstForCrsTch (ActLstClk + 162)
|
||||
#define ActDisPstForDegUsr (ActLstClk + 163)
|
||||
#define ActDisPstForDegTch (ActLstClk + 164)
|
||||
#define ActDisPstForCtrUsr (ActLstClk + 165)
|
||||
#define ActDisPstForCtrTch (ActLstClk + 166)
|
||||
#define ActDisPstForInsUsr (ActLstClk + 167)
|
||||
#define ActDisPstForInsTch (ActLstClk + 168)
|
||||
#define ActDisPstForGenUsr (ActLstClk + 169)
|
||||
#define ActDisPstForGenTch (ActLstClk + 170)
|
||||
#define ActDisPstForSWAUsr (ActLstClk + 171)
|
||||
#define ActDisPstForSWATch (ActLstClk + 172)
|
||||
|
||||
#define ActCht (ActLstClk + 172)
|
||||
#define ActCht (ActLstClk + 173)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************* Messages tab ********************************/
|
||||
|
|
|
@ -518,17 +518,17 @@ static void Agd_PutIconToShowQR (void)
|
|||
|
||||
static void Agd_PutIconsOtherPublicAgenda (void)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
extern const char *Txt_View_record_for_this_course;
|
||||
extern const char *Txt_View_record_and_office_hours;
|
||||
|
||||
/***** Button to view user's public profile *****/
|
||||
if (Pri_ShowingIsAllowed (Gbl.Usrs.Other.UsrDat.ProfileVisibility,
|
||||
&Gbl.Usrs.Other.UsrDat))
|
||||
Lay_PutContextualLink (ActSeePubPrf,
|
||||
Lay_PutContextualLink (ActSeeOthPubPrf,
|
||||
Usr_PutParamOtherUsrCodEncrypted,
|
||||
"usr64x64.gif",
|
||||
Txt_View_public_profile,NULL,
|
||||
Txt_Another_user_s_profile,NULL,
|
||||
NULL);
|
||||
|
||||
/***** Button to view user's record card *****/
|
||||
|
|
|
@ -195,18 +195,24 @@
|
|||
// TODO: Bajo la foto de cada usuario el país
|
||||
// TODO: Permitir elegir entre "Ver actividad de quienes sigo" o "Ver actividad de todos"
|
||||
|
||||
// TODO: On right column show only users to follow who have photo (pass a parameter to function)
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 16.136 (2017-02-16)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 16.137 (2017-02-17)"
|
||||
#define CSS_FILE "swad16.136.css"
|
||||
#define JS_FILE "swad16.123.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 16.136: Feb 16, 2017 Sggested users to follow on right column. (212646 lines)
|
||||
Version 16.137: Feb 17, 2017 Link to view my public profile. (212808 lines)
|
||||
1 change necessary in database:
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1637','es','N','Ver mi perfil público');
|
||||
|
||||
Version 16.136: Feb 16, 2017 Suggested users to follow on right column. (212646 lines)
|
||||
Version 16.135.7: Feb 16, 2017 Code refactoring in users to follow. (212512 lines)
|
||||
Version 16.135.6: Feb 13, 2017 Changes in contextual help after changes in tabs. (212501 lines)
|
||||
Version 16.135.5: Feb 11, 2017 Change in button to register teacher when no teachers found.
|
||||
|
|
|
@ -1035,31 +1035,39 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
|
|||
char PhotoURL[PATH_MAX + 1];
|
||||
const char *Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_CRS" :
|
||||
"CON");
|
||||
struct UsrData UsrDat;
|
||||
long UsrCod;
|
||||
struct UsrData OtherUsrDat;
|
||||
struct UsrData *UsrDat;
|
||||
bool ItsMe;
|
||||
|
||||
/***** Get user's code from list *****/
|
||||
UsrCod = Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].UsrCod;
|
||||
ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod); // It's me
|
||||
|
||||
if (ItsMe)
|
||||
UsrDat = &Gbl.Usrs.Me.UsrDat;
|
||||
else
|
||||
{
|
||||
/***** Initialize structure with user's data *****/
|
||||
Usr_UsrDataConstructor (&UsrDat);
|
||||
OtherUsrDat.UsrCod = UsrCod;
|
||||
Usr_UsrDataConstructor (&OtherUsrDat);
|
||||
|
||||
/***** Get user's data *****/
|
||||
UsrDat.UsrCod = Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].UsrCod;
|
||||
Usr_GetAllUsrDataFromUsrCod (&UsrDat);
|
||||
Usr_GetAllUsrDataFromUsrCod (&OtherUsrDat);
|
||||
|
||||
UsrDat = &OtherUsrDat;
|
||||
}
|
||||
|
||||
/***** Show photo *****/
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"LEFT_MIDDLE COLOR%u\""
|
||||
" style=\"width:22px;\">",
|
||||
Gbl.RowEvenOdd);
|
||||
Act_FormStartUnique (ActSeePubPrf); // Must be unique because
|
||||
// the list of connected users
|
||||
// is dynamically updated via AJAX
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (UsrDat.FullName,NULL);
|
||||
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
|
||||
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
|
||||
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
||||
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
||||
NULL,
|
||||
"PHOTO21x28",Pho_ZOOM,false);
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Act_FormEnd ();
|
||||
"PHOTO21x28",Pho_ZOOM,true);
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
||||
/***** Write full name and link *****/
|
||||
|
@ -1070,9 +1078,9 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
|
|||
ActSeeRecOneTch); // Must be unique because
|
||||
// the list of connected users
|
||||
// is dynamically updated via AJAX
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (Txt_View_record_for_this_course,Font);
|
||||
Usr_RestrictLengthAndWriteName (&UsrDat,8);
|
||||
Usr_RestrictLengthAndWriteName (UsrDat,8);
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Act_FormEnd ();
|
||||
fprintf (Gbl.F.Out,"</td>");
|
||||
|
@ -1090,8 +1098,9 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
|
|||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
||||
if (!ItsMe)
|
||||
/***** Free memory used for user's data *****/
|
||||
Usr_UsrDataDestructor (&UsrDat);
|
||||
Usr_UsrDataDestructor (&OtherUsrDat);
|
||||
|
||||
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
|
||||
}
|
||||
|
|
|
@ -93,12 +93,10 @@ void Fol_PutLinkWhoToFollow (void)
|
|||
{
|
||||
extern const char *Txt_Who_to_follow;
|
||||
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActSeeSocPrf,NULL,
|
||||
"follow64x64.png",
|
||||
Txt_Who_to_follow,Txt_Who_to_follow,
|
||||
NULL);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -118,8 +116,11 @@ void Fol_SuggestUsrsToFollowMainZone (void)
|
|||
unsigned NumUsr;
|
||||
struct UsrData UsrDat;
|
||||
|
||||
/***** Put link to request user's profile *****/
|
||||
Prf_PutLinkRequestUserProfile ();
|
||||
/***** Put links to request my public profile and another user's profile *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Prf_PutLinkMyPublicProfile ();
|
||||
Prf_PutLinkRequestAnotherUserProfile ();
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/***** Get users *****/
|
||||
if ((NumUsrs = Fol_GetUsrsWhoToFollow (Fol_MAX_USRS_TO_FOLLOW_MAIN_ZONE,
|
||||
|
@ -762,7 +763,7 @@ static void Fol_ListFollowersUsr (struct UsrData *UsrDat)
|
|||
|
||||
static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
bool ShowPhoto;
|
||||
char PhotoURL[PATH_MAX + 1];
|
||||
bool Visible = Pri_ShowingIsAllowed (UsrDat->ProfileVisibility,UsrDat);
|
||||
|
@ -783,9 +784,9 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
|
|||
if (Visible)
|
||||
{
|
||||
/* Put form to go to public profile */
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (Txt_View_public_profile,"DAT",NULL);
|
||||
Act_LinkFormSubmit (Txt_Another_user_s_profile,"DAT",NULL);
|
||||
Usr_RestrictLengthAndWriteName (UsrDat,10);
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Act_FormEnd ();
|
||||
|
@ -814,7 +815,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
|
|||
|
||||
static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
bool ShowPhoto;
|
||||
char PhotoURL[PATH_MAX + 1];
|
||||
bool Visible = Pri_ShowingIsAllowed (UsrDat->ProfileVisibility,UsrDat);
|
||||
|
@ -840,9 +841,9 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
|
|||
if (Visible)
|
||||
{
|
||||
/* Put form to go to public profile */
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (Txt_View_public_profile,"CON_CRS",NULL);
|
||||
Act_LinkFormSubmit (Txt_Another_user_s_profile,"CON_CRS",NULL);
|
||||
Usr_RestrictLengthAndWriteName (UsrDat,10);
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Act_FormEnd ();
|
||||
|
|
|
@ -723,7 +723,7 @@ static void Lay_WriteScriptParamsAJAX (void)
|
|||
"var RefreshParamUsr = \"\";\n", // No user specified
|
||||
Act_Actions[ActRefNewSocPubGbl].ActCod,
|
||||
Act_Actions[ActRefOldSocPubGbl].ActCod);
|
||||
else if (Gbl.Action.Act == ActSeePubPrf ||
|
||||
else if (Gbl.Action.Act == ActSeeOthPubPrf ||
|
||||
Gbl.Action.Act == ActRcvSocPstUsr ||
|
||||
Gbl.Action.Act == ActRcvSocComUsr ||
|
||||
Gbl.Action.Act == ActShaSocNotUsr ||
|
||||
|
@ -1017,7 +1017,7 @@ static void Lay_ShowRightColumn (void)
|
|||
Con_ShowConnectedUsrsBelongingToCurrentCrs ();
|
||||
fprintf (Gbl.F.Out,"</div>"); // Used for AJAX based refresh
|
||||
}
|
||||
else
|
||||
else if (Gbl.Usrs.Me.Logged) // I am logged
|
||||
{
|
||||
/***** Suggest one user to follow *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"LEFT_RIGHT_CELL\">");
|
||||
|
|
|
@ -754,7 +754,7 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
|||
if (UsrDat->EncryptedUsrCod[0]) // User's code found ==>
|
||||
// go to user's public profile
|
||||
{
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
/* Put param to go to follower's profile */
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
|
|
|
@ -692,7 +692,7 @@ void Par_GetMainParameters (void)
|
|||
// and to refresh old publishings in user's timeline
|
||||
// If user does not exist ==> UsrCod = -1
|
||||
Gbl.Usrs.Other.UsrDat.UsrCod = Nck_GetUsrCodFromNickname (Gbl.Usrs.Other.UsrDat.Nickname);
|
||||
Gbl.Action.Act = ActSeePubPrf; // Set default action if no other is specified
|
||||
Gbl.Action.Act = ActSeeOthPubPrf; // Set default action if no other is specified
|
||||
}
|
||||
}
|
||||
else if (Par_GetParToText ("agd",Nickname,Nck_MAX_BYTES_NICKNAME_FROM_FORM))
|
||||
|
|
22
swad_photo.c
22
swad_photo.c
|
@ -1121,21 +1121,35 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
|
|||
Zoom == Pho_ZOOM && // Make zoom
|
||||
Act_Actions[Gbl.Action.Act].BrowserWindow == Act_THIS_WINDOW; // Only in main window
|
||||
char IdCaption[Act_MAX_LENGTH_ID];
|
||||
|
||||
bool ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
|
||||
/***** Start form to go to public profile *****/
|
||||
if (PutLinkToPublicProfile)
|
||||
{
|
||||
if (FormUnique)
|
||||
Act_FormStartUnique (ActSeePubPrf);
|
||||
{
|
||||
if (ItsMe)
|
||||
Act_FormStartUnique (ActSeeMyPubPrf);
|
||||
else
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
{
|
||||
Act_FormStartUnique (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
if (FormUnique)
|
||||
}
|
||||
Act_LinkFormSubmitUnique (NULL,NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (ItsMe)
|
||||
Act_FormStart (ActSeeMyPubPrf);
|
||||
else
|
||||
{
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
}
|
||||
Act_LinkFormSubmit (NULL,NULL,NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/***** Hidden div to pass user's name to Javascript *****/
|
||||
Str_Copy (FullName,UsrDat->FullName,
|
||||
|
|
|
@ -124,19 +124,31 @@ char *Prf_GetURLPublicProfile (char *URL,const char *NicknameWithoutArroba)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Put link to request a user's profile ********************/
|
||||
/******************** Put link to view my public profile *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prf_PutLinkRequestUserProfile (void)
|
||||
void Prf_PutLinkMyPublicProfile (void)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_My_public_profile;
|
||||
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Lay_PutContextualLink (ActReqPubPrf,NULL,
|
||||
Lay_PutContextualLink (ActSeeMyPubPrf,NULL,
|
||||
"usr64x64.gif",
|
||||
Txt_View_public_profile,Txt_View_public_profile,
|
||||
Txt_My_public_profile,Txt_My_public_profile,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Put link to request another user's profile ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prf_PutLinkRequestAnotherUserProfile (void)
|
||||
{
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
|
||||
Lay_PutContextualLink (ActReqOthPubPrf,NULL,
|
||||
"usr64x64.gif",
|
||||
Txt_Another_user_s_profile,Txt_Another_user_s_profile,
|
||||
NULL);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -145,9 +157,14 @@ void Prf_PutLinkRequestUserProfile (void)
|
|||
|
||||
void Prf_RequestUserProfile (void)
|
||||
{
|
||||
/***** Put link to show users to follow *****/
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
{
|
||||
/***** Put link to show my public profile and users to follow *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Prf_PutLinkMyPublicProfile ();
|
||||
Fol_PutLinkWhoToFollow ();
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/* By default, the nickname is filled with my nickname
|
||||
If no user logged ==> the nickname is empty */
|
||||
|
@ -161,16 +178,16 @@ void Prf_RequestUserProfile (void)
|
|||
static void Prf_RequestUserProfileWithDefaultNickname (const char *DefaultNickname)
|
||||
{
|
||||
extern const char *Hlp_SOCIAL_Profiles_view_public_profile;
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
extern const char *The_ClassForm[The_NUM_THEMES];
|
||||
extern const char *Txt_Nickname;
|
||||
extern const char *Txt_Continue;
|
||||
|
||||
/***** Start form *****/
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
|
||||
/***** Start frame *****/
|
||||
Lay_StartRoundFrame (NULL,Txt_View_public_profile,NULL,Hlp_SOCIAL_Profiles_view_public_profile);
|
||||
Lay_StartRoundFrame (NULL,Txt_Another_user_s_profile,NULL,Hlp_SOCIAL_Profiles_view_public_profile);
|
||||
|
||||
/***** Form to request user's @nickname *****/
|
||||
fprintf (Gbl.F.Out,"<label class=\"%s\">"
|
||||
|
@ -190,6 +207,19 @@ static void Prf_RequestUserProfileWithDefaultNickname (const char *DefaultNickna
|
|||
Act_FormEnd ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Show my public profile ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Prf_ShowMyProfile (void)
|
||||
{
|
||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||
|
||||
if (!Prf_ShowUserProfile (&Gbl.Usrs.Me.UsrDat))
|
||||
/* Show error message */
|
||||
Lay_ShowAlert (Lay_WARNING,Txt_User_not_found_or_you_do_not_have_permission_);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Get user and show a user's profile *********************/
|
||||
/*****************************************************************************/
|
||||
|
@ -254,19 +284,22 @@ bool Prf_ShowUserProfile (struct UsrData *UsrDat)
|
|||
/***** Contextual links *****/
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
if (ItsMe) // It's me
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||
Rec_PutLinkToChangeMyInsCtrDpt (); // Put link (form) to change my institution, centre, department...
|
||||
Net_PutLinkToChangeMySocialNetworks (); // Put link (form) to change my social networks
|
||||
Pho_PutLinkToChangeMyPhoto (); // Put link (form) to change my photo
|
||||
Pri_PutLinkToChangeMyPrivacy (); // Put link (form) to change my privacy
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
else
|
||||
/***** Put link to show users to follow *****/
|
||||
{
|
||||
/***** Put link to show my public profile and users to follow *****/
|
||||
Prf_PutLinkMyPublicProfile ();
|
||||
Fol_PutLinkWhoToFollow ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
}
|
||||
|
||||
/***** Check if I can see the public profile *****/
|
||||
if (Pri_ShowingIsAllowed (UsrDat->ProfileVisibility,UsrDat))
|
||||
|
@ -1487,10 +1520,12 @@ void Prf_GetAndShowRankingClicksPerDay (void)
|
|||
|
||||
void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
bool ShowPhoto;
|
||||
char PhotoURL[PATH_MAX + 1];
|
||||
bool Visible = Pri_ShowingIsAllowed (UsrDat->ProfileVisibility,UsrDat);
|
||||
bool ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
|
||||
fprintf (Gbl.F.Out,"<td class=\"RANK RIGHT_MIDDLE COLOR%u\""
|
||||
" style=\"height:50px;\">"
|
||||
|
@ -1519,9 +1554,14 @@ void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
|
|||
/***** Put form to go to public profile *****/
|
||||
if (Visible)
|
||||
{
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
if (ItsMe)
|
||||
Act_FormStart (ActSeeMyPubPrf);
|
||||
else
|
||||
{
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (Txt_View_public_profile,"DAT_SMALL",NULL);
|
||||
}
|
||||
Act_LinkFormSubmit (Txt_Another_user_s_profile,"DAT_SMALL",NULL);
|
||||
Usr_RestrictLengthAndWriteName (UsrDat,8);
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Act_FormEnd ();
|
||||
|
|
|
@ -52,8 +52,10 @@ struct UsrFigures
|
|||
void Prf_SeeSocialProfiles (void);
|
||||
|
||||
char *Prf_GetURLPublicProfile (char *URL,const char *NicknameWithoutArroba);
|
||||
void Prf_PutLinkRequestUserProfile (void);
|
||||
void Prf_PutLinkMyPublicProfile (void);
|
||||
void Prf_PutLinkRequestAnotherUserProfile (void);
|
||||
void Prf_RequestUserProfile (void);
|
||||
void Prf_ShowMyProfile (void);
|
||||
void Prf_GetUsrDatAndShowUserProfile (void);
|
||||
|
||||
bool Prf_ShowUserProfile (struct UsrData *UsrDat);
|
||||
|
|
|
@ -2333,7 +2333,8 @@ static void Rec_PutIconsCommands (void)
|
|||
{
|
||||
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
|
||||
extern const char *Txt_Edit_my_personal_data;
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_My_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
extern const char *Txt_View_record_for_this_course;
|
||||
extern const char *Txt_View_record_and_office_hours;
|
||||
extern const char *Txt_Show_agenda;
|
||||
|
@ -2360,19 +2361,24 @@ static void Rec_PutIconsCommands (void)
|
|||
/***** Start container *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"FRAME_ICO\">");
|
||||
|
||||
/***** Button to edit my record card *****/
|
||||
if (ItsMe)
|
||||
{
|
||||
/***** Buttons to edit my record card and to view my profile *****/
|
||||
Lay_PutContextualLink (ActReqEdiRecCom,NULL,
|
||||
"edit64x64.png",
|
||||
Txt_Edit_my_personal_data,NULL,
|
||||
NULL);
|
||||
|
||||
/***** Button to view user's public profile *****/
|
||||
if (ICanViewUsrProfile)
|
||||
Lay_PutContextualLink (ActSeePubPrf,
|
||||
Lay_PutContextualLink (ActSeeMyPubPrf,NULL,
|
||||
"usr64x64.gif",
|
||||
Txt_My_public_profile,NULL,
|
||||
NULL);
|
||||
}
|
||||
else if (ICanViewUsrProfile)
|
||||
/***** Button to view another user's profile *****/
|
||||
Lay_PutContextualLink (ActSeeOthPubPrf,
|
||||
Rec_PutParamUsrCodEncrypted,
|
||||
"usr64x64.gif",
|
||||
Txt_View_public_profile,NULL,
|
||||
Txt_Another_user_s_profile,NULL,
|
||||
NULL);
|
||||
|
||||
/***** Button to view user's record card *****/
|
||||
|
@ -2616,8 +2622,10 @@ static void Rec_ShowFullName (struct UsrData *UsrDat)
|
|||
|
||||
static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_My_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
char NicknameWithArroba[Nck_MAX_BYTES_NICKNAME_FROM_FORM + 1];
|
||||
bool ItsMe;
|
||||
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"REC_C2_MID REC_NAME LEFT_BOTTOM\">"
|
||||
|
@ -2627,9 +2635,19 @@ static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks)
|
|||
if (PutFormLinks)
|
||||
{
|
||||
/* Put form to go to public profile */
|
||||
Act_FormStart (ActSeePubPrf);
|
||||
ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
if (ItsMe)
|
||||
{
|
||||
Act_FormStart (ActSeeMyPubPrf);
|
||||
Act_LinkFormSubmit (Txt_My_public_profile,"REC_NICK",NULL);
|
||||
}
|
||||
else
|
||||
{
|
||||
Act_FormStart (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmit (Txt_View_public_profile,"REC_NICK",NULL);
|
||||
Act_LinkFormSubmit (Txt_Another_user_s_profile,"REC_NICK",NULL);
|
||||
}
|
||||
}
|
||||
fprintf (Gbl.F.Out,"@%s",UsrDat->Nickname);
|
||||
if (PutFormLinks)
|
||||
|
|
|
@ -1368,25 +1368,44 @@ static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
|||
|
||||
static void Soc_WriteTopMessage (Soc_TopMessage_t TopMessage,long UsrCod)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_My_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
extern const char *Txt_SOCIAL_NOTE_TOP_MESSAGES[Soc_NUM_TOP_MESSAGES];
|
||||
struct UsrData UsrDat;
|
||||
bool ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
bool UsrOK;
|
||||
|
||||
if (TopMessage != Soc_TOP_MESSAGE_NONE)
|
||||
{
|
||||
if (ItsMe)
|
||||
UsrOK = true;
|
||||
else
|
||||
{
|
||||
/***** Initialize structure with user's data *****/
|
||||
Usr_UsrDataConstructor (&UsrDat);
|
||||
|
||||
/***** Get user's data *****/
|
||||
UsrDat.UsrCod = UsrCod;
|
||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat)) // Really we only need EncryptedUsrCod and FullName
|
||||
UsrOK = Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat); // Really we only need EncryptedUsrCod and FullName
|
||||
}
|
||||
|
||||
if (UsrOK)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_TOP_CONTAINER SOCIAL_TOP_PUBLISHER\">");
|
||||
|
||||
/***** Show user's name inside form to go to user's public profile *****/
|
||||
Act_FormStartUnique (ActSeePubPrf);
|
||||
if (ItsMe)
|
||||
{
|
||||
Act_FormStartUnique (ActSeeMyPubPrf);
|
||||
Act_LinkFormSubmitUnique (Txt_My_public_profile,"SOCIAL_TOP_PUBLISHER");
|
||||
}
|
||||
else
|
||||
{
|
||||
Act_FormStartUnique (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (Txt_View_public_profile,"SOCIAL_TOP_PUBLISHER");
|
||||
Act_LinkFormSubmitUnique (Txt_Another_user_s_profile,"SOCIAL_TOP_PUBLISHER");
|
||||
}
|
||||
Str_LimitLengthHTMLStr (UsrDat.FullName,40);
|
||||
fprintf (Gbl.F.Out,"%s</a>",UsrDat.FullName);
|
||||
Act_FormEnd ();
|
||||
|
@ -1396,6 +1415,7 @@ static void Soc_WriteTopMessage (Soc_TopMessage_t TopMessage,long UsrCod)
|
|||
Txt_SOCIAL_NOTE_TOP_MESSAGES[TopMessage]);
|
||||
}
|
||||
|
||||
if (!ItsMe)
|
||||
/***** Free memory used for user's data *****/
|
||||
Usr_UsrDataDestructor (&UsrDat);
|
||||
}
|
||||
|
@ -1408,22 +1428,41 @@ static void Soc_WriteTopMessage (Soc_TopMessage_t TopMessage,long UsrCod)
|
|||
|
||||
static void Soc_WriteAuthorNote (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_My_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
bool ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
|
||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_RIGHT_AUTHOR\">");
|
||||
|
||||
/***** Show user's name inside form to go to user's public profile *****/
|
||||
Act_FormStartUnique (ActSeePubPrf);
|
||||
if (ItsMe)
|
||||
{
|
||||
Act_FormStartUnique (ActSeeMyPubPrf);
|
||||
Act_LinkFormSubmitUnique (Txt_My_public_profile,"DAT_N_BOLD");
|
||||
}
|
||||
else
|
||||
{
|
||||
Act_FormStartUnique (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (Txt_View_public_profile,"DAT_N_BOLD");
|
||||
Act_LinkFormSubmitUnique (Txt_Another_user_s_profile,"DAT_N_BOLD");
|
||||
}
|
||||
Str_LimitLengthHTMLStr (UsrDat->FullName,16);
|
||||
fprintf (Gbl.F.Out,"%s</a>",UsrDat->FullName);
|
||||
Act_FormEnd ();
|
||||
|
||||
/***** Show user's nickname inside form to go to user's public profile *****/
|
||||
Act_FormStartUnique (ActSeePubPrf);
|
||||
if (ItsMe)
|
||||
{
|
||||
Act_FormStartUnique (ActSeeMyPubPrf);
|
||||
Act_LinkFormSubmitUnique (Txt_My_public_profile,"DAT_N_BOLD");
|
||||
}
|
||||
else
|
||||
{
|
||||
Act_FormStartUnique (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (Txt_View_public_profile,"DAT_LIGHT");
|
||||
Act_LinkFormSubmitUnique (Txt_Another_user_s_profile,"DAT_LIGHT");
|
||||
}
|
||||
fprintf (Gbl.F.Out," @%s</a>",UsrDat->Nickname);
|
||||
Act_FormEnd ();
|
||||
|
||||
|
@ -2453,22 +2492,41 @@ static void Soc_WriteSocialComment (struct SocialComment *SocCom,
|
|||
|
||||
static void Soc_WriteAuthorComment (struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *Txt_View_public_profile;
|
||||
extern const char *Txt_My_public_profile;
|
||||
extern const char *Txt_Another_user_s_profile;
|
||||
bool ItsMe = (Gbl.Usrs.Me.Logged &&
|
||||
UsrDat->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
|
||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_COMMENT_RIGHT_AUTHOR\">");
|
||||
|
||||
/***** Show user's name inside form to go to user's public profile *****/
|
||||
Act_FormStartUnique (ActSeePubPrf);
|
||||
if (ItsMe)
|
||||
{
|
||||
Act_FormStartUnique (ActSeeMyPubPrf);
|
||||
Act_LinkFormSubmitUnique (Txt_My_public_profile,"DAT_N_BOLD");
|
||||
}
|
||||
else
|
||||
{
|
||||
Act_FormStartUnique (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (Txt_View_public_profile,"DAT_BOLD");
|
||||
Act_LinkFormSubmitUnique (Txt_Another_user_s_profile,"DAT_BOLD");
|
||||
}
|
||||
Str_LimitLengthHTMLStr (UsrDat->FullName,12);
|
||||
fprintf (Gbl.F.Out,"%s</a>",UsrDat->FullName);
|
||||
Act_FormEnd ();
|
||||
|
||||
/***** Show user's nickname inside form to go to user's public profile *****/
|
||||
Act_FormStartUnique (ActSeePubPrf);
|
||||
if (ItsMe)
|
||||
{
|
||||
Act_FormStartUnique (ActSeeMyPubPrf);
|
||||
Act_LinkFormSubmitUnique (Txt_My_public_profile,"DAT_LIGHT");
|
||||
}
|
||||
else
|
||||
{
|
||||
Act_FormStartUnique (ActSeeOthPubPrf);
|
||||
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||
Act_LinkFormSubmitUnique (Txt_View_public_profile,"DAT_LIGHT");
|
||||
Act_LinkFormSubmitUnique (Txt_Another_user_s_profile,"DAT_LIGHT");
|
||||
}
|
||||
fprintf (Gbl.F.Out," @%s</a>",UsrDat->Nickname);
|
||||
Act_FormEnd ();
|
||||
|
||||
|
|
|
@ -306,7 +306,7 @@ void Str_InsertLinks (char *Txt,unsigned long MaxLength,size_t MaxCharsURLOnScre
|
|||
sprintf (Gbl.Form.Id,"form_%d",Gbl.Form.Num);
|
||||
|
||||
/* Store first part of anchor */
|
||||
Act_SetParamsForm (ParamsStr,ActSeePubPrf,true);
|
||||
Act_SetParamsForm (ParamsStr,ActSeeOthPubPrf,true);
|
||||
sprintf (Anchor1Nick,"<form method=\"post\" action=\"%s/%s\" id=\"%s\">"
|
||||
"%s"
|
||||
"<input type=\"hidden\" name=\"usr\" value=\"",
|
||||
|
|
63
swad_text.c
63
swad_text.c
|
@ -2604,6 +2604,27 @@ const char *Txt_Another_ID =
|
|||
"Outro nº de identif.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Another_user_s_profile =
|
||||
#if L==1
|
||||
"Perfil d'un altre usuari";
|
||||
#elif L==2
|
||||
"Profil eines anderen Benutzers";
|
||||
#elif L==3
|
||||
"Another user's profile";
|
||||
#elif L==4
|
||||
"Perfil de otro usuario";
|
||||
#elif L==5
|
||||
"Profil d'un autre utilisateur";
|
||||
#elif L==6
|
||||
"Perfil de otro usuario"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Altro profilo di utente";
|
||||
#elif L==8
|
||||
"Profil innego użytkownika";
|
||||
#elif L==9
|
||||
"Perfil de outro usuário";
|
||||
#endif
|
||||
|
||||
const char *Txt_Add_this_ID =
|
||||
#if L==1
|
||||
"Afegir aquest ID";
|
||||
|
@ -23649,6 +23670,27 @@ const char *Txt_My_groups =
|
|||
"Meus grupos";
|
||||
#endif
|
||||
|
||||
const char *Txt_My_public_profile =
|
||||
#if L==1
|
||||
"El meu perfil públic";
|
||||
#elif L==2
|
||||
"Mein öffentliches Profil";
|
||||
#elif L==3
|
||||
"My public profile";
|
||||
#elif L==4
|
||||
"Mi perfil público";
|
||||
#elif L==5
|
||||
"Mon profil public";
|
||||
#elif L==6
|
||||
"Mi perfil público"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Il mio profilo pubblico";
|
||||
#elif L==8
|
||||
"Mój profil publiczny";
|
||||
#elif L==9
|
||||
"Meu perfil público";
|
||||
#endif
|
||||
|
||||
const char *Txt_My_views =
|
||||
#if L==1
|
||||
"Els meus accessos";
|
||||
|
@ -50553,27 +50595,6 @@ const char *Txt_View_in_a_new_window =
|
|||
"Ver em uma nova janela";
|
||||
#endif
|
||||
|
||||
const char *Txt_View_public_profile =
|
||||
#if L==1
|
||||
"Veure perfil públic";
|
||||
#elif L==2
|
||||
"Öffentliches Profile anzeigen";
|
||||
#elif L==3
|
||||
"View public profile";
|
||||
#elif L==4
|
||||
"Ver perfil público";
|
||||
#elif L==5
|
||||
"Voir profil public";
|
||||
#elif L==6
|
||||
"Ver perfil público"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Mostra profilo pubblico";
|
||||
#elif L==8
|
||||
"Zobacz profil publiczny";
|
||||
#elif L==9
|
||||
"Ver perfil público";
|
||||
#endif
|
||||
|
||||
const char *Txt_View_record_and_office_hours =
|
||||
#if L==1
|
||||
"Veure fitxa i horari de tutories";
|
||||
|
|
Loading…
Reference in New Issue