mirror of https://github.com/acanas/swad-core.git
Version 15.89
This commit is contained in:
parent
385b79c010
commit
b106dea1df
|
@ -997,17 +997,25 @@ Users:
|
||||||
|
|
||||||
834. ActLstClk List last clicks in real time
|
834. ActLstClk List last clicks in real time
|
||||||
Social:
|
Social:
|
||||||
835. ActSeeSocAct Show social activity (timeline)
|
835. ActSeeSocTmlGbl Show social timeline (global)
|
||||||
836. ActReqPubPrf Request @nickname to show a public user's profile
|
836. ActReqPubPrf Request @nickname to show a public user's profile
|
||||||
837. ActSeeFor Show the level superior of the forums
|
837. ActSeeFor Show the level superior of the forums
|
||||||
838. ActSeeChtRms Show the chat rooms
|
838. ActSeeChtRms Show the chat rooms
|
||||||
|
|
||||||
839. ActReqSocPst Write a public social post to be displayed in the timeline
|
839. ActReqSocPstGbl Write a public social post to be displayed in the timeline (global)
|
||||||
840. ActRcvSocPst Receive a public social post to be displayed in the timeline
|
840. ActRcvSocPstGbl Receive a public social post to be displayed in the timeline (global)
|
||||||
NEW!!!!!!!!. ActShaSocPub Share a social publishing
|
NEW!!!!!!!!. ActShaSocPubGbl Share a social publishing in the timeline (global)
|
||||||
NEW!!!!!!!!. ActUnsSocPub Unshare a previously shared social publishing
|
NEW!!!!!!!!. ActUnsSocPubGbl Unshare a previously shared social publishing in the timeline (global)
|
||||||
841. ActReqRemSocPub Request the removal of a social publishing (only if it is a post)
|
841. ActReqRemSocPubGbl Request the removal of a social publishing in the timeline (global)
|
||||||
842. ActRemSocPub Remove a social publishing (only if it is a post)
|
842. ActRemSocPubGbl Remove a social publishing in the timeline (global)
|
||||||
|
|
||||||
|
NEW!!!!!!!!. ActReqSocPstUsr Write a public social post to be displayed in the timeline (user)
|
||||||
|
NEW!!!!!!!!. ActRcvSocPstUsr Receive a public social post to be displayed in the timeline (user)
|
||||||
|
NEW!!!!!!!!. ActShaSocPubUsr Share a social publishing in the timeline (user)
|
||||||
|
NEW!!!!!!!!. ActUnsSocPubUsr Unshare a previously shared social publishing in the timeline (user)
|
||||||
|
NEW!!!!!!!!. ActReqRemSocPubUsr Request the removal of a social publishing in the timeline (user)
|
||||||
|
NEW!!!!!!!!. ActRemSocPubUsr Remove a social publishing in the timeline (user)
|
||||||
|
|
||||||
843. ActSeePubPrf Show a public user's profile
|
843. ActSeePubPrf Show a public user's profile
|
||||||
844. ActCal1stClkTim Calculate first click time from log and store into user's figures
|
844. ActCal1stClkTim Calculate first click time from log and store into user's figures
|
||||||
845. ActCalNumClk Calculate number of clicks from log and store into user's figures
|
845. ActCalNumClk Calculate number of clicks from log and store into user's figures
|
||||||
|
@ -2310,17 +2318,24 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
||||||
/* ActLstClk */{ 989,-1,TabUsr,ActLstCon ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Con_ShowLastClicks ,NULL},
|
/* ActLstClk */{ 989,-1,TabUsr,ActLstCon ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Con_ShowLastClicks ,NULL},
|
||||||
|
|
||||||
// TabSoc ******************************************************************
|
// TabSoc ******************************************************************
|
||||||
/* ActSeeSocAct */{1490, 0,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShowFollowingTimeline ,"soc64x64.png" },
|
/* ActSeeSocTmlGbl */{1490, 0,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShowTimelineGbl ,"soc64x64.png" },
|
||||||
/* ActReqPubPrf */{1401, 1,TabSoc,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_RequestUserProfile ,"prf64x64.gif" },
|
/* ActReqPubPrf */{1401, 1,TabSoc,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_RequestUserProfile ,"prf64x64.gif" },
|
||||||
/* ActSeeFor */{ 95, 2,TabSoc,ActSeeFor ,0x1FC,0x1FC,0x1FC,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,For_ShowForumList ,"forum64x64.gif" },
|
/* ActSeeFor */{ 95, 2,TabSoc,ActSeeFor ,0x1FC,0x1FC,0x1FC,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,For_ShowForumList ,"forum64x64.gif" },
|
||||||
/* ActSeeChtRms */{ 51, 3,TabSoc,ActSeeChtRms ,0x1FC,0x1FC,0x1FC,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Cht_ShowChatRooms ,"chat64x64.gif" },
|
/* ActSeeChtRms */{ 51, 3,TabSoc,ActSeeChtRms ,0x1FC,0x1FC,0x1FC,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Cht_ShowChatRooms ,"chat64x64.gif" },
|
||||||
|
|
||||||
/* ActReqSocPst */{1491,-1,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_FormSocialPost ,NULL},
|
/* ActReqSocPstGbl */{1491,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_FormSocialPostGbl ,NULL},
|
||||||
/* ActRcvSocPst */{1492,-1,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ReceiveSocialPost ,NULL},
|
/* ActRcvSocPstGbl */{1492,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ReceiveSocialPostGbl ,NULL},
|
||||||
/* ActShaSocPub */{1495,-1,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShareSocialPublishing ,NULL},
|
/* ActShaSocPubGbl */{1495,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShareSocialPubGbl ,NULL},
|
||||||
/* ActUnsSocPub */{1496,-1,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_UnshareSocialPublishing ,NULL},
|
/* ActUnsSocPubGbl */{1496,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_UnshareSocialPubGbl ,NULL},
|
||||||
/* ActReqRemSocPub */{1494,-1,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RequestRemovalSocialNote ,NULL},
|
/* ActReqRemSocPubGbl*/{1494,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RequestRemSocialPubGbl ,NULL},
|
||||||
/* ActRemSocPub */{1493,-1,TabSoc,ActSeeSocAct ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RemoveSocialPublishing ,NULL},
|
/* ActRemSocPubGbl */{1493,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RemoveSocialPubGbl ,NULL},
|
||||||
|
|
||||||
|
/* ActReqSocPstUsr */{1497,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_FormSocialPostUsr ,NULL},
|
||||||
|
/* ActRcvSocPstUsr */{1498,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ReceiveSocialPostUsr ,NULL},
|
||||||
|
/* ActShaSocPubUsr */{1499,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShareSocialPubUsr ,NULL},
|
||||||
|
/* ActUnsSocPubUsr */{1500,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_UnshareSocialPubUsr ,NULL},
|
||||||
|
/* ActReqRemSocPubUsr*/{1501,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RequestRemSocialPubUsr ,NULL},
|
||||||
|
/* ActRemSocPubUsr */{1502,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RemoveSocialPubUsr ,NULL},
|
||||||
|
|
||||||
/* ActSeePubPrf */{1402,-1,TabSoc,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_GetUsrCodAndShowUserProfile,NULL},
|
/* ActSeePubPrf */{1402,-1,TabSoc,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_GetUsrCodAndShowUserProfile,NULL},
|
||||||
/* ActCal1stClkTim */{1405,-1,TabSoc,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateFirstClickTime ,NULL},
|
/* ActCal1stClkTim */{1405,-1,TabSoc,ActReqPubPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Prf_CalculateFirstClickTime ,NULL},
|
||||||
|
@ -4158,13 +4173,19 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
||||||
ActChgMyTT1stDay, // #1487
|
ActChgMyTT1stDay, // #1487
|
||||||
ActAskRemOldBrf, // #1488
|
ActAskRemOldBrf, // #1488
|
||||||
ActRemOldBrf, // #1489
|
ActRemOldBrf, // #1489
|
||||||
ActSeeSocAct, // #1490
|
ActSeeSocTmlGbl, // #1490
|
||||||
ActReqSocPst, // #1491
|
ActReqSocPstGbl, // #1491
|
||||||
ActRcvSocPst, // #1492
|
ActRcvSocPstGbl, // #1492
|
||||||
ActRemSocPub, // #1493
|
ActRemSocPubGbl, // #1493
|
||||||
ActReqRemSocPub, // #1494
|
ActReqRemSocPubGbl, // #1494
|
||||||
ActShaSocPub, // #1495
|
ActShaSocPubGbl, // #1495
|
||||||
ActUnsSocPub, // #1496
|
ActUnsSocPubGbl, // #1496
|
||||||
|
ActReqSocPstUsr, // #1497
|
||||||
|
ActRcvSocPstUsr, // #1498
|
||||||
|
ActShaSocPubUsr, // #1499
|
||||||
|
ActUnsSocPubUsr, // #1500
|
||||||
|
ActReqRemSocPubUsr, // #1501
|
||||||
|
ActRemSocPubUsr, // #1502
|
||||||
};
|
};
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -4440,6 +4461,8 @@ void Act_PutLinkToUpdateAction (Act_Action_t Action)
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||||
Act_FormStart (Action);
|
Act_FormStart (Action);
|
||||||
|
if (Gbl.Usrs.Other.UsrDat.UsrCod >= 0) // This update action requieres specify user
|
||||||
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
Act_LinkFormSubmitAnimated (Txt_Update,The_ClassFormBold[Gbl.Prefs.Theme]);
|
Act_LinkFormSubmitAnimated (Txt_Update,The_ClassFormBold[Gbl.Prefs.Theme]);
|
||||||
Lay_PutCalculateIconWithText (Txt_Update,Txt_Update);
|
Lay_PutCalculateIconWithText (Txt_Update,Txt_Update);
|
||||||
Act_FormEnd ();
|
Act_FormEnd ();
|
||||||
|
|
311
swad_action.h
311
swad_action.h
|
@ -71,9 +71,9 @@ typedef enum
|
||||||
|
|
||||||
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
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+90+72+67+205+183+143+153+36+27+82)
|
#define Act_NUM_ACTIONS (7+52+15+90+72+67+205+183+143+159+36+27+82)
|
||||||
|
|
||||||
#define Act_MAX_ACTION_COD 1496
|
#define Act_MAX_ACTION_COD 1502
|
||||||
|
|
||||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
|
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
|
||||||
|
|
||||||
|
@ -1036,164 +1036,171 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
||||||
/******************************** Social tab *********************************/
|
/******************************** Social tab *********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// Actions in menu
|
// Actions in menu
|
||||||
#define ActSeeSocAct (ActLstClk+ 1)
|
#define ActSeeSocTmlGbl (ActLstClk+ 1)
|
||||||
#define ActReqPubPrf (ActLstClk+ 2)
|
#define ActReqPubPrf (ActLstClk+ 2)
|
||||||
#define ActSeeFor (ActLstClk+ 3)
|
#define ActSeeFor (ActLstClk+ 3)
|
||||||
#define ActSeeChtRms (ActLstClk+ 4)
|
#define ActSeeChtRms (ActLstClk+ 4)
|
||||||
// Secondary actions
|
// Secondary actions
|
||||||
#define ActReqSocPst (ActLstClk+ 5)
|
#define ActReqSocPstGbl (ActLstClk+ 5)
|
||||||
#define ActRcvSocPst (ActLstClk+ 6)
|
#define ActRcvSocPstGbl (ActLstClk+ 6)
|
||||||
#define ActShaSocPub (ActLstClk+ 7)
|
#define ActShaSocPubGbl (ActLstClk+ 7)
|
||||||
#define ActUnsSocPub (ActLstClk+ 8)
|
#define ActUnsSocPubGbl (ActLstClk+ 8)
|
||||||
#define ActReqRemSocPub (ActLstClk+ 9)
|
#define ActReqRemSocPubGbl (ActLstClk+ 9)
|
||||||
#define ActRemSocPub (ActLstClk+ 10)
|
#define ActRemSocPubGbl (ActLstClk+ 10)
|
||||||
|
|
||||||
#define ActSeePubPrf (ActLstClk+ 11)
|
#define ActReqSocPstUsr (ActLstClk+ 11)
|
||||||
#define ActCal1stClkTim (ActLstClk+ 12)
|
#define ActRcvSocPstUsr (ActLstClk+ 12)
|
||||||
#define ActCalNumClk (ActLstClk+ 13)
|
#define ActShaSocPubUsr (ActLstClk+ 13)
|
||||||
#define ActCalNumFilVie (ActLstClk+ 14)
|
#define ActUnsSocPubUsr (ActLstClk+ 14)
|
||||||
#define ActCalNumForPst (ActLstClk+ 15)
|
#define ActReqRemSocPubUsr (ActLstClk+ 15)
|
||||||
#define ActCalNumMsgSnt (ActLstClk+ 16)
|
#define ActRemSocPubUsr (ActLstClk+ 16)
|
||||||
|
|
||||||
#define ActFolUsr (ActLstClk+ 17)
|
#define ActSeePubPrf (ActLstClk+ 17)
|
||||||
#define ActUnfUsr (ActLstClk+ 18)
|
#define ActCal1stClkTim (ActLstClk+ 18)
|
||||||
#define ActSeeFlg (ActLstClk+ 19)
|
#define ActCalNumClk (ActLstClk+ 19)
|
||||||
#define ActSeeFlr (ActLstClk+ 20)
|
#define ActCalNumFilVie (ActLstClk+ 20)
|
||||||
|
#define ActCalNumForPst (ActLstClk+ 21)
|
||||||
|
#define ActCalNumMsgSnt (ActLstClk+ 22)
|
||||||
|
|
||||||
#define ActSeeForCrsUsr (ActLstClk+ 21)
|
#define ActFolUsr (ActLstClk+ 23)
|
||||||
#define ActSeeForCrsTch (ActLstClk+ 22)
|
#define ActUnfUsr (ActLstClk+ 24)
|
||||||
#define ActSeeForDegUsr (ActLstClk+ 23)
|
#define ActSeeFlg (ActLstClk+ 25)
|
||||||
#define ActSeeForDegTch (ActLstClk+ 24)
|
#define ActSeeFlr (ActLstClk+ 26)
|
||||||
#define ActSeeForCtrUsr (ActLstClk+ 25)
|
|
||||||
#define ActSeeForCtrTch (ActLstClk+ 26)
|
|
||||||
#define ActSeeForInsUsr (ActLstClk+ 27)
|
|
||||||
#define ActSeeForInsTch (ActLstClk+ 28)
|
|
||||||
#define ActSeeForGenUsr (ActLstClk+ 29)
|
|
||||||
#define ActSeeForGenTch (ActLstClk+ 30)
|
|
||||||
#define ActSeeForSWAUsr (ActLstClk+ 31)
|
|
||||||
#define ActSeeForSWATch (ActLstClk+ 32)
|
|
||||||
#define ActSeePstForCrsUsr (ActLstClk+ 33)
|
|
||||||
#define ActSeePstForCrsTch (ActLstClk+ 34)
|
|
||||||
#define ActSeePstForDegUsr (ActLstClk+ 35)
|
|
||||||
#define ActSeePstForDegTch (ActLstClk+ 36)
|
|
||||||
#define ActSeePstForCtrUsr (ActLstClk+ 37)
|
|
||||||
#define ActSeePstForCtrTch (ActLstClk+ 38)
|
|
||||||
#define ActSeePstForInsUsr (ActLstClk+ 39)
|
|
||||||
#define ActSeePstForInsTch (ActLstClk+ 40)
|
|
||||||
#define ActSeePstForGenUsr (ActLstClk+ 41)
|
|
||||||
#define ActSeePstForGenTch (ActLstClk+ 42)
|
|
||||||
#define ActSeePstForSWAUsr (ActLstClk+ 43)
|
|
||||||
#define ActSeePstForSWATch (ActLstClk+ 44)
|
|
||||||
#define ActRcvThrForCrsUsr (ActLstClk+ 45)
|
|
||||||
#define ActRcvThrForCrsTch (ActLstClk+ 46)
|
|
||||||
#define ActRcvThrForDegUsr (ActLstClk+ 47)
|
|
||||||
#define ActRcvThrForDegTch (ActLstClk+ 48)
|
|
||||||
#define ActRcvThrForCtrUsr (ActLstClk+ 49)
|
|
||||||
#define ActRcvThrForCtrTch (ActLstClk+ 50)
|
|
||||||
#define ActRcvThrForInsUsr (ActLstClk+ 51)
|
|
||||||
#define ActRcvThrForInsTch (ActLstClk+ 52)
|
|
||||||
#define ActRcvThrForGenUsr (ActLstClk+ 53)
|
|
||||||
#define ActRcvThrForGenTch (ActLstClk+ 54)
|
|
||||||
#define ActRcvThrForSWAUsr (ActLstClk+ 55)
|
|
||||||
#define ActRcvThrForSWATch (ActLstClk+ 56)
|
|
||||||
#define ActRcvRepForCrsUsr (ActLstClk+ 57)
|
|
||||||
#define ActRcvRepForCrsTch (ActLstClk+ 58)
|
|
||||||
#define ActRcvRepForDegUsr (ActLstClk+ 59)
|
|
||||||
#define ActRcvRepForDegTch (ActLstClk+ 60)
|
|
||||||
#define ActRcvRepForCtrUsr (ActLstClk+ 61)
|
|
||||||
#define ActRcvRepForCtrTch (ActLstClk+ 62)
|
|
||||||
#define ActRcvRepForInsUsr (ActLstClk+ 63)
|
|
||||||
#define ActRcvRepForInsTch (ActLstClk+ 64)
|
|
||||||
#define ActRcvRepForGenUsr (ActLstClk+ 65)
|
|
||||||
#define ActRcvRepForGenTch (ActLstClk+ 66)
|
|
||||||
#define ActRcvRepForSWAUsr (ActLstClk+ 67)
|
|
||||||
#define ActRcvRepForSWATch (ActLstClk+ 68)
|
|
||||||
#define ActReqDelThrCrsUsr (ActLstClk+ 69)
|
|
||||||
#define ActReqDelThrCrsTch (ActLstClk+ 70)
|
|
||||||
#define ActReqDelThrDegUsr (ActLstClk+ 71)
|
|
||||||
#define ActReqDelThrDegTch (ActLstClk+ 72)
|
|
||||||
#define ActReqDelThrCtrUsr (ActLstClk+ 73)
|
|
||||||
#define ActReqDelThrCtrTch (ActLstClk+ 74)
|
|
||||||
#define ActReqDelThrInsUsr (ActLstClk+ 75)
|
|
||||||
#define ActReqDelThrInsTch (ActLstClk+ 76)
|
|
||||||
#define ActReqDelThrGenUsr (ActLstClk+ 77)
|
|
||||||
#define ActReqDelThrGenTch (ActLstClk+ 78)
|
|
||||||
#define ActReqDelThrSWAUsr (ActLstClk+ 79)
|
|
||||||
#define ActReqDelThrSWATch (ActLstClk+ 80)
|
|
||||||
#define ActDelThrForCrsUsr (ActLstClk+ 81)
|
|
||||||
#define ActDelThrForCrsTch (ActLstClk+ 82)
|
|
||||||
#define ActDelThrForDegUsr (ActLstClk+ 83)
|
|
||||||
#define ActDelThrForDegTch (ActLstClk+ 84)
|
|
||||||
#define ActDelThrForCtrUsr (ActLstClk+ 85)
|
|
||||||
#define ActDelThrForCtrTch (ActLstClk+ 86)
|
|
||||||
#define ActDelThrForInsUsr (ActLstClk+ 87)
|
|
||||||
#define ActDelThrForInsTch (ActLstClk+ 88)
|
|
||||||
#define ActDelThrForGenUsr (ActLstClk+ 89)
|
|
||||||
#define ActDelThrForGenTch (ActLstClk+ 90)
|
|
||||||
#define ActDelThrForSWAUsr (ActLstClk+ 91)
|
|
||||||
#define ActDelThrForSWATch (ActLstClk+ 92)
|
|
||||||
#define ActCutThrForCrsUsr (ActLstClk+ 93)
|
|
||||||
#define ActCutThrForCrsTch (ActLstClk+ 94)
|
|
||||||
#define ActCutThrForDegUsr (ActLstClk+ 95)
|
|
||||||
#define ActCutThrForDegTch (ActLstClk+ 96)
|
|
||||||
#define ActCutThrForCtrUsr (ActLstClk+ 97)
|
|
||||||
#define ActCutThrForCtrTch (ActLstClk+ 98)
|
|
||||||
#define ActCutThrForInsUsr (ActLstClk+ 99)
|
|
||||||
#define ActCutThrForInsTch (ActLstClk+100)
|
|
||||||
#define ActCutThrForGenUsr (ActLstClk+101)
|
|
||||||
#define ActCutThrForGenTch (ActLstClk+102)
|
|
||||||
#define ActCutThrForSWAUsr (ActLstClk+103)
|
|
||||||
#define ActCutThrForSWATch (ActLstClk+104)
|
|
||||||
#define ActPasThrForCrsUsr (ActLstClk+105)
|
|
||||||
#define ActPasThrForCrsTch (ActLstClk+106)
|
|
||||||
#define ActPasThrForDegUsr (ActLstClk+107)
|
|
||||||
#define ActPasThrForDegTch (ActLstClk+108)
|
|
||||||
#define ActPasThrForCtrUsr (ActLstClk+109)
|
|
||||||
#define ActPasThrForCtrTch (ActLstClk+110)
|
|
||||||
#define ActPasThrForInsUsr (ActLstClk+111)
|
|
||||||
#define ActPasThrForInsTch (ActLstClk+112)
|
|
||||||
#define ActPasThrForGenUsr (ActLstClk+113)
|
|
||||||
#define ActPasThrForGenTch (ActLstClk+114)
|
|
||||||
#define ActPasThrForSWAUsr (ActLstClk+115)
|
|
||||||
#define ActPasThrForSWATch (ActLstClk+116)
|
|
||||||
#define ActDelPstForCrsUsr (ActLstClk+117)
|
|
||||||
#define ActDelPstForCrsTch (ActLstClk+118)
|
|
||||||
#define ActDelPstForDegUsr (ActLstClk+119)
|
|
||||||
#define ActDelPstForDegTch (ActLstClk+120)
|
|
||||||
#define ActDelPstForCtrUsr (ActLstClk+121)
|
|
||||||
#define ActDelPstForCtrTch (ActLstClk+122)
|
|
||||||
#define ActDelPstForInsUsr (ActLstClk+123)
|
|
||||||
#define ActDelPstForInsTch (ActLstClk+124)
|
|
||||||
#define ActDelPstForGenUsr (ActLstClk+125)
|
|
||||||
#define ActDelPstForGenTch (ActLstClk+126)
|
|
||||||
#define ActDelPstForSWAUsr (ActLstClk+127)
|
|
||||||
#define ActDelPstForSWATch (ActLstClk+128)
|
|
||||||
#define ActEnbPstForCrsUsr (ActLstClk+129)
|
|
||||||
#define ActEnbPstForCrsTch (ActLstClk+130)
|
|
||||||
#define ActEnbPstForDegUsr (ActLstClk+131)
|
|
||||||
#define ActEnbPstForDegTch (ActLstClk+132)
|
|
||||||
#define ActEnbPstForCtrUsr (ActLstClk+133)
|
|
||||||
#define ActEnbPstForCtrTch (ActLstClk+134)
|
|
||||||
#define ActEnbPstForInsUsr (ActLstClk+135)
|
|
||||||
#define ActEnbPstForInsTch (ActLstClk+136)
|
|
||||||
#define ActEnbPstForGenUsr (ActLstClk+137)
|
|
||||||
#define ActEnbPstForGenTch (ActLstClk+138)
|
|
||||||
#define ActEnbPstForSWAUsr (ActLstClk+139)
|
|
||||||
#define ActEnbPstForSWATch (ActLstClk+140)
|
|
||||||
#define ActDisPstForCrsUsr (ActLstClk+141)
|
|
||||||
#define ActDisPstForCrsTch (ActLstClk+142)
|
|
||||||
#define ActDisPstForDegUsr (ActLstClk+143)
|
|
||||||
#define ActDisPstForDegTch (ActLstClk+144)
|
|
||||||
#define ActDisPstForCtrUsr (ActLstClk+145)
|
|
||||||
#define ActDisPstForCtrTch (ActLstClk+146)
|
|
||||||
#define ActDisPstForInsUsr (ActLstClk+147)
|
|
||||||
#define ActDisPstForInsTch (ActLstClk+148)
|
|
||||||
#define ActDisPstForGenUsr (ActLstClk+149)
|
|
||||||
#define ActDisPstForGenTch (ActLstClk+150)
|
|
||||||
#define ActDisPstForSWAUsr (ActLstClk+151)
|
|
||||||
#define ActDisPstForSWATch (ActLstClk+152)
|
|
||||||
|
|
||||||
#define ActCht (ActLstClk+153)
|
#define ActSeeForCrsUsr (ActLstClk+ 27)
|
||||||
|
#define ActSeeForCrsTch (ActLstClk+ 28)
|
||||||
|
#define ActSeeForDegUsr (ActLstClk+ 29)
|
||||||
|
#define ActSeeForDegTch (ActLstClk+ 30)
|
||||||
|
#define ActSeeForCtrUsr (ActLstClk+ 31)
|
||||||
|
#define ActSeeForCtrTch (ActLstClk+ 32)
|
||||||
|
#define ActSeeForInsUsr (ActLstClk+ 33)
|
||||||
|
#define ActSeeForInsTch (ActLstClk+ 34)
|
||||||
|
#define ActSeeForGenUsr (ActLstClk+ 35)
|
||||||
|
#define ActSeeForGenTch (ActLstClk+ 36)
|
||||||
|
#define ActSeeForSWAUsr (ActLstClk+ 37)
|
||||||
|
#define ActSeeForSWATch (ActLstClk+ 38)
|
||||||
|
#define ActSeePstForCrsUsr (ActLstClk+ 39)
|
||||||
|
#define ActSeePstForCrsTch (ActLstClk+ 40)
|
||||||
|
#define ActSeePstForDegUsr (ActLstClk+ 41)
|
||||||
|
#define ActSeePstForDegTch (ActLstClk+ 42)
|
||||||
|
#define ActSeePstForCtrUsr (ActLstClk+ 43)
|
||||||
|
#define ActSeePstForCtrTch (ActLstClk+ 44)
|
||||||
|
#define ActSeePstForInsUsr (ActLstClk+ 45)
|
||||||
|
#define ActSeePstForInsTch (ActLstClk+ 46)
|
||||||
|
#define ActSeePstForGenUsr (ActLstClk+ 47)
|
||||||
|
#define ActSeePstForGenTch (ActLstClk+ 48)
|
||||||
|
#define ActSeePstForSWAUsr (ActLstClk+ 49)
|
||||||
|
#define ActSeePstForSWATch (ActLstClk+ 50)
|
||||||
|
#define ActRcvThrForCrsUsr (ActLstClk+ 51)
|
||||||
|
#define ActRcvThrForCrsTch (ActLstClk+ 52)
|
||||||
|
#define ActRcvThrForDegUsr (ActLstClk+ 53)
|
||||||
|
#define ActRcvThrForDegTch (ActLstClk+ 54)
|
||||||
|
#define ActRcvThrForCtrUsr (ActLstClk+ 55)
|
||||||
|
#define ActRcvThrForCtrTch (ActLstClk+ 56)
|
||||||
|
#define ActRcvThrForInsUsr (ActLstClk+ 57)
|
||||||
|
#define ActRcvThrForInsTch (ActLstClk+ 58)
|
||||||
|
#define ActRcvThrForGenUsr (ActLstClk+ 59)
|
||||||
|
#define ActRcvThrForGenTch (ActLstClk+ 60)
|
||||||
|
#define ActRcvThrForSWAUsr (ActLstClk+ 61)
|
||||||
|
#define ActRcvThrForSWATch (ActLstClk+ 62)
|
||||||
|
#define ActRcvRepForCrsUsr (ActLstClk+ 63)
|
||||||
|
#define ActRcvRepForCrsTch (ActLstClk+ 64)
|
||||||
|
#define ActRcvRepForDegUsr (ActLstClk+ 65)
|
||||||
|
#define ActRcvRepForDegTch (ActLstClk+ 66)
|
||||||
|
#define ActRcvRepForCtrUsr (ActLstClk+ 67)
|
||||||
|
#define ActRcvRepForCtrTch (ActLstClk+ 68)
|
||||||
|
#define ActRcvRepForInsUsr (ActLstClk+ 69)
|
||||||
|
#define ActRcvRepForInsTch (ActLstClk+ 70)
|
||||||
|
#define ActRcvRepForGenUsr (ActLstClk+ 71)
|
||||||
|
#define ActRcvRepForGenTch (ActLstClk+ 72)
|
||||||
|
#define ActRcvRepForSWAUsr (ActLstClk+ 73)
|
||||||
|
#define ActRcvRepForSWATch (ActLstClk+ 74)
|
||||||
|
#define ActReqDelThrCrsUsr (ActLstClk+ 75)
|
||||||
|
#define ActReqDelThrCrsTch (ActLstClk+ 76)
|
||||||
|
#define ActReqDelThrDegUsr (ActLstClk+ 77)
|
||||||
|
#define ActReqDelThrDegTch (ActLstClk+ 78)
|
||||||
|
#define ActReqDelThrCtrUsr (ActLstClk+ 79)
|
||||||
|
#define ActReqDelThrCtrTch (ActLstClk+ 80)
|
||||||
|
#define ActReqDelThrInsUsr (ActLstClk+ 81)
|
||||||
|
#define ActReqDelThrInsTch (ActLstClk+ 82)
|
||||||
|
#define ActReqDelThrGenUsr (ActLstClk+ 83)
|
||||||
|
#define ActReqDelThrGenTch (ActLstClk+ 84)
|
||||||
|
#define ActReqDelThrSWAUsr (ActLstClk+ 85)
|
||||||
|
#define ActReqDelThrSWATch (ActLstClk+ 86)
|
||||||
|
#define ActDelThrForCrsUsr (ActLstClk+ 87)
|
||||||
|
#define ActDelThrForCrsTch (ActLstClk+ 88)
|
||||||
|
#define ActDelThrForDegUsr (ActLstClk+ 89)
|
||||||
|
#define ActDelThrForDegTch (ActLstClk+ 90)
|
||||||
|
#define ActDelThrForCtrUsr (ActLstClk+ 91)
|
||||||
|
#define ActDelThrForCtrTch (ActLstClk+ 92)
|
||||||
|
#define ActDelThrForInsUsr (ActLstClk+ 93)
|
||||||
|
#define ActDelThrForInsTch (ActLstClk+ 94)
|
||||||
|
#define ActDelThrForGenUsr (ActLstClk+ 95)
|
||||||
|
#define ActDelThrForGenTch (ActLstClk+ 96)
|
||||||
|
#define ActDelThrForSWAUsr (ActLstClk+ 97)
|
||||||
|
#define ActDelThrForSWATch (ActLstClk+ 98)
|
||||||
|
#define ActCutThrForCrsUsr (ActLstClk+ 99)
|
||||||
|
#define ActCutThrForCrsTch (ActLstClk+100)
|
||||||
|
#define ActCutThrForDegUsr (ActLstClk+101)
|
||||||
|
#define ActCutThrForDegTch (ActLstClk+102)
|
||||||
|
#define ActCutThrForCtrUsr (ActLstClk+103)
|
||||||
|
#define ActCutThrForCtrTch (ActLstClk+104)
|
||||||
|
#define ActCutThrForInsUsr (ActLstClk+105)
|
||||||
|
#define ActCutThrForInsTch (ActLstClk+106)
|
||||||
|
#define ActCutThrForGenUsr (ActLstClk+107)
|
||||||
|
#define ActCutThrForGenTch (ActLstClk+108)
|
||||||
|
#define ActCutThrForSWAUsr (ActLstClk+109)
|
||||||
|
#define ActCutThrForSWATch (ActLstClk+110)
|
||||||
|
#define ActPasThrForCrsUsr (ActLstClk+111)
|
||||||
|
#define ActPasThrForCrsTch (ActLstClk+112)
|
||||||
|
#define ActPasThrForDegUsr (ActLstClk+113)
|
||||||
|
#define ActPasThrForDegTch (ActLstClk+114)
|
||||||
|
#define ActPasThrForCtrUsr (ActLstClk+115)
|
||||||
|
#define ActPasThrForCtrTch (ActLstClk+116)
|
||||||
|
#define ActPasThrForInsUsr (ActLstClk+117)
|
||||||
|
#define ActPasThrForInsTch (ActLstClk+118)
|
||||||
|
#define ActPasThrForGenUsr (ActLstClk+119)
|
||||||
|
#define ActPasThrForGenTch (ActLstClk+120)
|
||||||
|
#define ActPasThrForSWAUsr (ActLstClk+121)
|
||||||
|
#define ActPasThrForSWATch (ActLstClk+122)
|
||||||
|
#define ActDelPstForCrsUsr (ActLstClk+123)
|
||||||
|
#define ActDelPstForCrsTch (ActLstClk+124)
|
||||||
|
#define ActDelPstForDegUsr (ActLstClk+125)
|
||||||
|
#define ActDelPstForDegTch (ActLstClk+126)
|
||||||
|
#define ActDelPstForCtrUsr (ActLstClk+127)
|
||||||
|
#define ActDelPstForCtrTch (ActLstClk+128)
|
||||||
|
#define ActDelPstForInsUsr (ActLstClk+129)
|
||||||
|
#define ActDelPstForInsTch (ActLstClk+130)
|
||||||
|
#define ActDelPstForGenUsr (ActLstClk+131)
|
||||||
|
#define ActDelPstForGenTch (ActLstClk+132)
|
||||||
|
#define ActDelPstForSWAUsr (ActLstClk+133)
|
||||||
|
#define ActDelPstForSWATch (ActLstClk+134)
|
||||||
|
#define ActEnbPstForCrsUsr (ActLstClk+135)
|
||||||
|
#define ActEnbPstForCrsTch (ActLstClk+136)
|
||||||
|
#define ActEnbPstForDegUsr (ActLstClk+137)
|
||||||
|
#define ActEnbPstForDegTch (ActLstClk+138)
|
||||||
|
#define ActEnbPstForCtrUsr (ActLstClk+139)
|
||||||
|
#define ActEnbPstForCtrTch (ActLstClk+140)
|
||||||
|
#define ActEnbPstForInsUsr (ActLstClk+141)
|
||||||
|
#define ActEnbPstForInsTch (ActLstClk+142)
|
||||||
|
#define ActEnbPstForGenUsr (ActLstClk+143)
|
||||||
|
#define ActEnbPstForGenTch (ActLstClk+144)
|
||||||
|
#define ActEnbPstForSWAUsr (ActLstClk+145)
|
||||||
|
#define ActEnbPstForSWATch (ActLstClk+146)
|
||||||
|
#define ActDisPstForCrsUsr (ActLstClk+147)
|
||||||
|
#define ActDisPstForCrsTch (ActLstClk+148)
|
||||||
|
#define ActDisPstForDegUsr (ActLstClk+149)
|
||||||
|
#define ActDisPstForDegTch (ActLstClk+150)
|
||||||
|
#define ActDisPstForCtrUsr (ActLstClk+151)
|
||||||
|
#define ActDisPstForCtrTch (ActLstClk+152)
|
||||||
|
#define ActDisPstForInsUsr (ActLstClk+153)
|
||||||
|
#define ActDisPstForInsTch (ActLstClk+154)
|
||||||
|
#define ActDisPstForGenUsr (ActLstClk+155)
|
||||||
|
#define ActDisPstForGenTch (ActLstClk+156)
|
||||||
|
#define ActDisPstForSWAUsr (ActLstClk+157)
|
||||||
|
#define ActDisPstForSWATch (ActLstClk+158)
|
||||||
|
|
||||||
|
#define ActCht (ActLstClk+159)
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************************* Messages tab ********************************/
|
/******************************* Messages tab ********************************/
|
||||||
|
|
|
@ -117,13 +117,28 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 15.88.3 (2016-01-01)"
|
#define Log_PLATFORM_VERSION "SWAD 15.89 (2016-01-02)"
|
||||||
#define CSS_FILE "swad15.88.1.css"
|
#define CSS_FILE "swad15.88.1.css"
|
||||||
#define JS_FILE "swad15.77.7.js"
|
#define JS_FILE "swad15.77.7.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 15.89: Jan 02, 2016 Social timeline can be updated from user profile. (190084 lines)
|
||||||
|
UPDATE actions SET Txt='Ver actividad social (global)' WHERE ActCod='1490' AND Language='es';
|
||||||
|
UPDATE actions SET Txt='Redactar comentario social (global)' WHERE ActCod='1491' AND Language='es';
|
||||||
|
UPDATE actions SET Txt='Crear comentario social (global)' WHERE ActCod='1492' AND Language='es';
|
||||||
|
UPDATE actions SET Txt='Eliminar comentario social (global)' WHERE ActCod='1493' AND Language='es';
|
||||||
|
UPDATE actions SET Txt='Solicitar elim. coment. social (global)' WHERE ActCod='1494' AND Language='es';
|
||||||
|
UPDATE actions SET Txt='Compartir comentario social (global)' WHERE ActCod='1495' AND Language='es';
|
||||||
|
UPDATE actions SET Txt='Dejar de compartir coment. social (global)' WHERE ActCod='1496' AND Language='es';
|
||||||
|
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1497','es','N','Redactar comentario social (usuario)');
|
||||||
|
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1498','es','N','Crear comentario social (usuario)');
|
||||||
|
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1502','es','N','Eliminar comentario social (usuario)');
|
||||||
|
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1501','es','N','Solicitar elim. coment. social (usuario)');
|
||||||
|
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1499','es','N','Compartir comentario social (usuario)');
|
||||||
|
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1500','es','N','Dejar de compartir coment. social (usuario)');
|
||||||
|
|
||||||
Version 15.88.3: Jan 01, 2016 Changes in contextual options in social timeline. (189907 lines)
|
Version 15.88.3: Jan 01, 2016 Changes in contextual options in social timeline. (189907 lines)
|
||||||
Version 15.88.2: Jan 01, 2016 Messages translated. (189902 lines)
|
Version 15.88.2: Jan 01, 2016 Messages translated. (189902 lines)
|
||||||
Version 15.88.1: Jan 01, 2016 Changes in layout of social timeline. (189854 lines)
|
Version 15.88.1: Jan 01, 2016 Changes in layout of social timeline. (189854 lines)
|
||||||
|
|
|
@ -155,7 +155,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
|
||||||
},
|
},
|
||||||
// TabSoc **********
|
// TabSoc **********
|
||||||
{
|
{
|
||||||
ActSeeSocAct,
|
ActSeeSocTmlGbl,
|
||||||
ActReqPubPrf,
|
ActReqPubPrf,
|
||||||
ActSeeFor,
|
ActSeeFor,
|
||||||
ActSeeChtRms,
|
ActSeeChtRms,
|
||||||
|
|
|
@ -209,7 +209,7 @@ static void Prf_GetUsrDatAndShowUserProfile (void)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/***** Show social activity (timeline) of this user *****/
|
/***** Show social activity (timeline) of this user *****/
|
||||||
Soc_ShowUsrTimeline (Gbl.Usrs.Other.UsrDat.UsrCod);
|
Soc_ShowTimelineUsr ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
333
swad_social.c
333
swad_social.c
|
@ -38,6 +38,7 @@
|
||||||
#include "swad_layout.h"
|
#include "swad_layout.h"
|
||||||
#include "swad_notice.h"
|
#include "swad_notice.h"
|
||||||
#include "swad_parameter.h"
|
#include "swad_parameter.h"
|
||||||
|
#include "swad_profile.h"
|
||||||
#include "swad_social.h"
|
#include "swad_social.h"
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -77,7 +78,7 @@ static const Act_Action_t Soc_DefaultActions[Soc_NUM_SOCIAL_NOTES] =
|
||||||
/* Users tab */
|
/* Users tab */
|
||||||
|
|
||||||
/* Social tab */
|
/* Social tab */
|
||||||
ActSeeSocAct, // Soc_NOTE_SOCIAL_POST (action not used)
|
ActSeeSocTmlGbl, // Soc_NOTE_SOCIAL_POST (action not used)
|
||||||
ActSeeFor, // Soc_NOTE_FORUM_POST
|
ActSeeFor, // Soc_NOTE_FORUM_POST
|
||||||
|
|
||||||
/* Messages tab */
|
/* Messages tab */
|
||||||
|
@ -137,14 +138,16 @@ static void Soc_WriteSocialNote (const struct SocialPublishing *SocPub,
|
||||||
struct UsrData *UsrDat,
|
struct UsrData *UsrDat,
|
||||||
bool PutIconRemove);
|
bool PutIconRemove);
|
||||||
static void Soc_WriteNoteDate (time_t TimeUTC);
|
static void Soc_WriteNoteDate (time_t TimeUTC);
|
||||||
|
static void Soc_GetAndWriteSocialPost (long PstCod);
|
||||||
static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
|
static void Soc_StartFormGoToAction (Soc_NoteType_t NoteType,
|
||||||
long CrsCod,long Cod);
|
long CrsCod,long Cod);
|
||||||
static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
|
static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
|
||||||
char *SummaryStr,unsigned MaxChars);
|
char *SummaryStr,unsigned MaxChars);
|
||||||
static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub);
|
static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub);
|
||||||
|
|
||||||
static void Soc_PutLinkToWriteANewPost (void);
|
static void Soc_PutLinkToWriteANewPost (Act_Action_t Action,void (*FuncParams) ());
|
||||||
static void Soc_GetAndWriteSocialPost (long PstCod);
|
static void Soc_FormSocialPost (void);
|
||||||
|
static void Soc_ReceiveSocialPost (void);
|
||||||
|
|
||||||
static void Soc_PutFormToShareSocialPublishing (long PubCod);
|
static void Soc_PutFormToShareSocialPublishing (long PubCod);
|
||||||
static void Soc_PutFormToUnshareSocialPublishing (long PubCod);
|
static void Soc_PutFormToUnshareSocialPublishing (long PubCod);
|
||||||
|
@ -152,6 +155,12 @@ static void Soc_PutFormToRemoveSocialPublishing (long PubCod);
|
||||||
static void Soc_PutHiddenParamPubCod (long NotCod);
|
static void Soc_PutHiddenParamPubCod (long NotCod);
|
||||||
static long Soc_GetParamPubCod (void);
|
static long Soc_GetParamPubCod (void);
|
||||||
|
|
||||||
|
static void Soc_ShareSocialPublishing (void);
|
||||||
|
static void Soc_UnshareSocialPublishing (void);
|
||||||
|
|
||||||
|
static void Soc_RequestRemovalSocialPublishing (void);
|
||||||
|
static void Soc_RemoveSocialPublishing (void);
|
||||||
|
|
||||||
static void Soc_DeleteASocialPublishingFromDB (const struct SocialPublishing *SocPub,
|
static void Soc_DeleteASocialPublishingFromDB (const struct SocialPublishing *SocPub,
|
||||||
const struct SocialNote *SocNot);
|
const struct SocialNote *SocNot);
|
||||||
|
|
||||||
|
@ -166,39 +175,39 @@ static Soc_NoteType_t Soc_GetSocialNoteFromDB (const char *Str);
|
||||||
/*********** Show social activity (timeline) of a selected user **************/
|
/*********** Show social activity (timeline) of a selected user **************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ShowUsrTimeline (long UsrCod)
|
void Soc_ShowTimelineUsr (void)
|
||||||
{
|
{
|
||||||
char Query[512];
|
char Query[512];
|
||||||
|
|
||||||
/***** Link to write a new social post (public comment) *****/
|
/***** Link to write a new social post (public comment) *****/
|
||||||
if (UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod && // It's me
|
if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod && // It's me
|
||||||
Gbl.CurrentAct != ActReqSocPst) // Not writing a new post
|
Gbl.CurrentAct != ActReqSocPstUsr) // Not writing a new post
|
||||||
Soc_PutLinkToWriteANewPost ();
|
Soc_PutLinkToWriteANewPost (ActReqSocPstUsr,Usr_PutParamOtherUsrCodEncrypted);
|
||||||
|
|
||||||
/***** Build query to show timeline with publishing of a unique user *****/
|
/***** Build query to show timeline with publishing of a unique user *****/
|
||||||
sprintf (Query,"SELECT PubCod,AuthorCod,PublisherCod,NotCod,UNIX_TIMESTAMP(TimePublish)"
|
sprintf (Query,"SELECT PubCod,AuthorCod,PublisherCod,NotCod,UNIX_TIMESTAMP(TimePublish)"
|
||||||
" FROM social_timeline"
|
" FROM social_timeline"
|
||||||
" WHERE PublisherCod='%ld'"
|
" WHERE PublisherCod='%ld'"
|
||||||
" ORDER BY PubCod DESC LIMIT %u",
|
" ORDER BY PubCod DESC LIMIT %u",
|
||||||
UsrCod,
|
Gbl.Usrs.Other.UsrDat.UsrCod,
|
||||||
Soc_NUM_PUBS_IN_TIMELINE);
|
Soc_NUM_PUBS_IN_TIMELINE);
|
||||||
|
|
||||||
/***** Show timeline *****/
|
/***** Show timeline *****/
|
||||||
Soc_ShowTimeline (Query,ActSeeSocAct);
|
Soc_ShowTimeline (Query,ActSeePubPrf);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***** Show social activity (timeline) including all the users I follow ******/
|
/***** Show social activity (timeline) including all the users I follow ******/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ShowFollowingTimeline (void)
|
void Soc_ShowTimelineGbl (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_You_dont_follow_any_user;
|
extern const char *Txt_You_dont_follow_any_user;
|
||||||
char Query[512];
|
char Query[512];
|
||||||
|
|
||||||
/***** Link to write a new social post (public comment) *****/
|
/***** Link to write a new social post (public comment) *****/
|
||||||
if (Gbl.CurrentAct != ActReqSocPst) // Not writing a new post
|
if (Gbl.CurrentAct != ActReqSocPstGbl) // Not writing a new post
|
||||||
Soc_PutLinkToWriteANewPost ();
|
Soc_PutLinkToWriteANewPost (ActReqSocPstGbl,NULL);
|
||||||
|
|
||||||
/***** If I follow someone... *****/
|
/***** If I follow someone... *****/
|
||||||
if (Fol_GetNumFollowing (Gbl.Usrs.Me.UsrDat.UsrCod))
|
if (Fol_GetNumFollowing (Gbl.Usrs.Me.UsrDat.UsrCod))
|
||||||
|
@ -230,7 +239,7 @@ void Soc_ShowFollowingTimeline (void)
|
||||||
" ORDER BY PubCod DESC");
|
" ORDER BY PubCod DESC");
|
||||||
|
|
||||||
/***** Show timeline *****/
|
/***** Show timeline *****/
|
||||||
Soc_ShowTimeline (Query,ActSeeSocAct);
|
Soc_ShowTimeline (Query,ActSeeSocTmlGbl);
|
||||||
|
|
||||||
/***** Drop temporary table with publishing codes *****/
|
/***** Drop temporary table with publishing codes *****/
|
||||||
sprintf (Query,"DROP TEMPORARY TABLE IF EXISTS pub_cods");
|
sprintf (Query,"DROP TEMPORARY TABLE IF EXISTS pub_cods");
|
||||||
|
@ -245,7 +254,6 @@ void Soc_ShowFollowingTimeline (void)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********************** Show social activity (timeline) *********************/
|
/*********************** Show social activity (timeline) *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// If UpdateAction == ActUnk ==> no form to update is displayed
|
|
||||||
|
|
||||||
static void Soc_ShowTimeline (const char *Query,Act_Action_t UpdateAction)
|
static void Soc_ShowTimeline (const char *Query,Act_Action_t UpdateAction)
|
||||||
{
|
{
|
||||||
|
@ -272,8 +280,7 @@ static void Soc_ShowTimeline (const char *Query,Act_Action_t UpdateAction)
|
||||||
Lay_StartRoundFrame ("560px",Txt_Public_activity);
|
Lay_StartRoundFrame ("560px",Txt_Public_activity);
|
||||||
|
|
||||||
/***** Form to update timeline *****/
|
/***** Form to update timeline *****/
|
||||||
if (UpdateAction != ActUnk)
|
Act_PutLinkToUpdateAction (UpdateAction);
|
||||||
Act_PutLinkToUpdateAction (UpdateAction);
|
|
||||||
|
|
||||||
/***** Start list *****/
|
/***** Start list *****/
|
||||||
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
fprintf (Gbl.F.Out,"<ul class=\"LIST_LEFT\">");
|
||||||
|
@ -521,6 +528,43 @@ static void Soc_WriteNoteDate (time_t TimeUTC)
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/***************** Get from database and write public post *******************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Soc_GetAndWriteSocialPost (long PstCod)
|
||||||
|
{
|
||||||
|
char Query[128];
|
||||||
|
MYSQL_RES *mysql_res;
|
||||||
|
MYSQL_ROW row;
|
||||||
|
unsigned long NumRows;
|
||||||
|
char Content[Cns_MAX_BYTES_LONG_TEXT+1];
|
||||||
|
|
||||||
|
/***** Get social post from database *****/
|
||||||
|
sprintf (Query,"SELECT Content FROM social_posts WHERE PstCod='%ld'",
|
||||||
|
PstCod);
|
||||||
|
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get the content of a social post");
|
||||||
|
|
||||||
|
/***** Result should have a unique row *****/
|
||||||
|
if (NumRows == 1)
|
||||||
|
{
|
||||||
|
/***** Get number of rows *****/
|
||||||
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
|
||||||
|
/****** Get content (row[0]) *****/
|
||||||
|
strncpy (Content,row[0],Cns_MAX_BYTES_LONG_TEXT);
|
||||||
|
Content[Cns_MAX_BYTES_LONG_TEXT] = '\0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Content[0] = '\0';
|
||||||
|
|
||||||
|
/***** Free structure that stores the query result *****/
|
||||||
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
|
||||||
|
/***** Write content *****/
|
||||||
|
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********* Put form to go to an action depending on the social note **********/
|
/********* Put form to go to an action depending on the social note **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -721,12 +765,12 @@ static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub)
|
||||||
/***************** Put contextual link to write a new post *******************/
|
/***************** Put contextual link to write a new post *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Soc_PutLinkToWriteANewPost (void)
|
static void Soc_PutLinkToWriteANewPost (Act_Action_t Action,void (*FuncParams) ())
|
||||||
{
|
{
|
||||||
extern const char *Txt_New_comment;
|
extern const char *Txt_New_comment;
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
fprintf (Gbl.F.Out,"<div class=\"CONTEXT_MENU\">");
|
||||||
Lay_PutContextualLink (ActReqSocPst,NULL,"write64x64.gif",
|
Lay_PutContextualLink (Action,FuncParams,"write64x64.gif",
|
||||||
Txt_New_comment,Txt_New_comment);
|
Txt_New_comment,Txt_New_comment);
|
||||||
fprintf (Gbl.F.Out,"</div>");
|
fprintf (Gbl.F.Out,"</div>");
|
||||||
}
|
}
|
||||||
|
@ -735,7 +779,31 @@ static void Soc_PutLinkToWriteANewPost (void)
|
||||||
/****************** Form to write a new public comment ***********************/
|
/****************** Form to write a new public comment ***********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_FormSocialPost (void)
|
void Soc_FormSocialPostGbl (void)
|
||||||
|
{
|
||||||
|
/***** Form to write a new public comment *****/
|
||||||
|
Soc_FormSocialPost ();
|
||||||
|
|
||||||
|
/***** Write current timeline (global) *****/
|
||||||
|
Soc_ShowTimelineGbl ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Soc_FormSocialPostUsr (void)
|
||||||
|
{
|
||||||
|
/***** Get user whom profile is displayed *****/
|
||||||
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
|
/***** Show user's profile *****/
|
||||||
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
|
/***** Form to write a new public comment *****/
|
||||||
|
Soc_FormSocialPost ();
|
||||||
|
|
||||||
|
/***** Write current timeline (user) *****/
|
||||||
|
Soc_ShowTimelineUsr ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_FormSocialPost (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_New_comment;
|
extern const char *Txt_New_comment;
|
||||||
extern const char *Txt_Send_comment;
|
extern const char *Txt_Send_comment;
|
||||||
|
@ -745,7 +813,13 @@ void Soc_FormSocialPost (void)
|
||||||
Lay_StartRoundFrame ("560px",Txt_New_comment);
|
Lay_StartRoundFrame ("560px",Txt_New_comment);
|
||||||
|
|
||||||
/* Start form to write the post */
|
/* Start form to write the post */
|
||||||
Act_FormStart (ActRcvSocPst);
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
|
{
|
||||||
|
Act_FormStart (ActRcvSocPstUsr);
|
||||||
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Act_FormStart (ActRcvSocPstGbl);
|
||||||
|
|
||||||
/* Content of new post */
|
/* Content of new post */
|
||||||
fprintf (Gbl.F.Out,"<textarea name=\"Content\" cols=\"50\" rows=\"5\">"
|
fprintf (Gbl.F.Out,"<textarea name=\"Content\" cols=\"50\" rows=\"5\">"
|
||||||
|
@ -760,16 +834,37 @@ void Soc_FormSocialPost (void)
|
||||||
|
|
||||||
/* End frame */
|
/* End frame */
|
||||||
Lay_EndRoundFrame ();
|
Lay_EndRoundFrame ();
|
||||||
|
|
||||||
/***** Write current timeline *****/
|
|
||||||
Soc_ShowFollowingTimeline ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************* Receive and store a new public post *********************/
|
/******************* Receive and store a new public post *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ReceiveSocialPost (void)
|
void Soc_ReceiveSocialPostGbl (void)
|
||||||
|
{
|
||||||
|
/***** Receive and store social post *****/
|
||||||
|
Soc_ReceiveSocialPost ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after publishing (global) *****/
|
||||||
|
Soc_ShowTimelineGbl ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Soc_ReceiveSocialPostUsr (void)
|
||||||
|
{
|
||||||
|
/***** Get user whom profile is displayed *****/
|
||||||
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
|
/***** Show user's profile *****/
|
||||||
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
|
/***** Receive and store social post *****/
|
||||||
|
Soc_ReceiveSocialPost ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after publishing (user) *****/
|
||||||
|
Soc_ShowTimelineUsr ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_ReceiveSocialPost (void)
|
||||||
{
|
{
|
||||||
char Content[Cns_MAX_BYTES_LONG_TEXT+1];
|
char Content[Cns_MAX_BYTES_LONG_TEXT+1];
|
||||||
char Query[128+Cns_MAX_BYTES_LONG_TEXT];
|
char Query[128+Cns_MAX_BYTES_LONG_TEXT];
|
||||||
|
@ -787,46 +882,6 @@ void Soc_ReceiveSocialPost (void)
|
||||||
|
|
||||||
/* Insert post in social notes */
|
/* Insert post in social notes */
|
||||||
Soc_StoreAndPublishSocialNote (Soc_NOTE_SOCIAL_POST,PstCod);
|
Soc_StoreAndPublishSocialNote (Soc_NOTE_SOCIAL_POST,PstCod);
|
||||||
|
|
||||||
/***** Write current timeline *****/
|
|
||||||
Soc_ShowFollowingTimeline ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/***************** Get from database and write public post *******************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void Soc_GetAndWriteSocialPost (long PstCod)
|
|
||||||
{
|
|
||||||
char Query[128];
|
|
||||||
MYSQL_RES *mysql_res;
|
|
||||||
MYSQL_ROW row;
|
|
||||||
unsigned long NumRows;
|
|
||||||
char Content[Cns_MAX_BYTES_LONG_TEXT+1];
|
|
||||||
|
|
||||||
/***** Get social post from database *****/
|
|
||||||
sprintf (Query,"SELECT Content FROM social_posts WHERE PstCod='%ld'",
|
|
||||||
PstCod);
|
|
||||||
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get the content of a social post");
|
|
||||||
|
|
||||||
/***** Result should have a unique row *****/
|
|
||||||
if (NumRows == 1)
|
|
||||||
{
|
|
||||||
/***** Get number of rows *****/
|
|
||||||
row = mysql_fetch_row (mysql_res);
|
|
||||||
|
|
||||||
/****** Get content (row[0]) *****/
|
|
||||||
strncpy (Content,row[0],Cns_MAX_BYTES_LONG_TEXT);
|
|
||||||
Content[Cns_MAX_BYTES_LONG_TEXT] = '\0';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
Content[0] = '\0';
|
|
||||||
|
|
||||||
/***** Free structure that stores the query result *****/
|
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
|
||||||
|
|
||||||
/***** Write content *****/
|
|
||||||
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -838,7 +893,13 @@ static void Soc_PutFormToShareSocialPublishing (long PubCod)
|
||||||
extern const char *Txt_Share;
|
extern const char *Txt_Share;
|
||||||
|
|
||||||
/***** Form to share social publishing *****/
|
/***** Form to share social publishing *****/
|
||||||
Act_FormStart (ActShaSocPub);
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
|
{
|
||||||
|
Act_FormStart (ActShaSocPubUsr);
|
||||||
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Act_FormStart (ActShaSocPubGbl);
|
||||||
Soc_PutHiddenParamPubCod (PubCod);
|
Soc_PutHiddenParamPubCod (PubCod);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_ICON ICON_HIGHLIGHT\">"
|
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_ICON ICON_HIGHLIGHT\">"
|
||||||
"<input type=\"image\""
|
"<input type=\"image\""
|
||||||
|
@ -861,7 +922,13 @@ static void Soc_PutFormToUnshareSocialPublishing (long PubCod)
|
||||||
extern const char *Txt_Shared;
|
extern const char *Txt_Shared;
|
||||||
|
|
||||||
/***** Form to share social publishing *****/
|
/***** Form to share social publishing *****/
|
||||||
Act_FormStart (ActUnsSocPub);
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
|
{
|
||||||
|
Act_FormStart (ActUnsSocPubUsr);
|
||||||
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Act_FormStart (ActUnsSocPubGbl);
|
||||||
Soc_PutHiddenParamPubCod (PubCod);
|
Soc_PutHiddenParamPubCod (PubCod);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_ICON ICON_HIGHLIGHT\">"
|
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_ICON ICON_HIGHLIGHT\">"
|
||||||
"<input type=\"image\""
|
"<input type=\"image\""
|
||||||
|
@ -884,7 +951,13 @@ static void Soc_PutFormToRemoveSocialPublishing (long PubCod)
|
||||||
extern const char *Txt_Remove;
|
extern const char *Txt_Remove;
|
||||||
|
|
||||||
/***** Form to remove social publishing *****/
|
/***** Form to remove social publishing *****/
|
||||||
Act_FormStart (ActReqRemSocPub);
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
|
{
|
||||||
|
Act_FormStart (ActReqRemSocPubUsr);
|
||||||
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Act_FormStart (ActReqRemSocPubGbl);
|
||||||
Soc_PutHiddenParamPubCod (PubCod);
|
Soc_PutHiddenParamPubCod (PubCod);
|
||||||
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_ICON ICON_HIGHLIGHT\">"
|
fprintf (Gbl.F.Out,"<div class=\"SOCIAL_ICON ICON_HIGHLIGHT\">"
|
||||||
"<input type=\"image\""
|
"<input type=\"image\""
|
||||||
|
@ -928,7 +1001,31 @@ static long Soc_GetParamPubCod (void)
|
||||||
/************************* Share a social publishing *************************/
|
/************************* Share a social publishing *************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ShareSocialPublishing (void)
|
void Soc_ShareSocialPubGbl (void)
|
||||||
|
{
|
||||||
|
/***** Share social publishing *****/
|
||||||
|
Soc_ShareSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after sharing (global) *****/
|
||||||
|
Soc_ShowTimelineGbl ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Soc_ShareSocialPubUsr (void)
|
||||||
|
{
|
||||||
|
/***** Get user whom profile is displayed *****/
|
||||||
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
|
/***** Show user's profile *****/
|
||||||
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
|
/***** Share social publishing *****/
|
||||||
|
Soc_ShareSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after sharing (user) *****/
|
||||||
|
Soc_ShowTimelineUsr ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_ShareSocialPublishing (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Shared;
|
extern const char *Txt_Shared;
|
||||||
struct SocialPublishing SocPub;
|
struct SocialPublishing SocPub;
|
||||||
|
@ -957,16 +1054,37 @@ void Soc_ShareSocialPublishing (void)
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_Shared);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_Shared);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write timeline after removing *****/
|
|
||||||
Soc_ShowFollowingTimeline ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************** Unshare a previously shared social publishing ****************/
|
/************** Unshare a previously shared social publishing ****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_UnshareSocialPublishing (void)
|
void Soc_UnshareSocialPubGbl (void)
|
||||||
|
{
|
||||||
|
/***** Unshare a previously shared social publishing *****/
|
||||||
|
Soc_UnshareSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after unsharing (global) *****/
|
||||||
|
Soc_ShowTimelineGbl ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Soc_UnshareSocialPubUsr (void)
|
||||||
|
{
|
||||||
|
/***** Get user whom profile is displayed *****/
|
||||||
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
|
/***** Show user's profile *****/
|
||||||
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
|
/***** Unshare a previously shared social publishing *****/
|
||||||
|
Soc_UnshareSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after unsharing (user) *****/
|
||||||
|
Soc_ShowTimelineUsr ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_UnshareSocialPublishing (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Unshared;
|
extern const char *Txt_Unshared;
|
||||||
struct SocialPublishing SocPub;
|
struct SocialPublishing SocPub;
|
||||||
|
@ -999,16 +1117,37 @@ void Soc_UnshareSocialPublishing (void)
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_Unshared);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_Unshared);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write timeline after unsharing *****/
|
|
||||||
Soc_ShowFollowingTimeline ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/******************* Request the removal of a social note ********************/
|
/**************** Request the removal of a social publishing *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_RequestRemovalSocialNote (void)
|
void Soc_RequestRemSocialPubGbl (void)
|
||||||
|
{
|
||||||
|
/***** Request the removal of social publishing *****/
|
||||||
|
Soc_RequestRemovalSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write timeline again (global) *****/
|
||||||
|
Soc_ShowTimelineGbl ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Soc_RequestRemSocialPubUsr (void)
|
||||||
|
{
|
||||||
|
/***** Get user whom profile is displayed *****/
|
||||||
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
|
/***** Show user's profile *****/
|
||||||
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
|
/***** Request the removal of social publishing *****/
|
||||||
|
Soc_RequestRemovalSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write timeline again (user) *****/
|
||||||
|
Soc_ShowTimelineUsr ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_RequestRemovalSocialPublishing (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Do_you_really_want_to_remove_the_following_comment;
|
extern const char *Txt_Do_you_really_want_to_remove_the_following_comment;
|
||||||
extern const char *Txt_Remove;
|
extern const char *Txt_Remove;
|
||||||
|
@ -1037,7 +1176,13 @@ void Soc_RequestRemovalSocialNote (void)
|
||||||
|
|
||||||
/***** Form to ask for confirmation to remove this social post *****/
|
/***** Form to ask for confirmation to remove this social post *****/
|
||||||
/* Start form */
|
/* Start form */
|
||||||
Act_FormStart (ActRemSocPub);
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
|
{
|
||||||
|
Act_FormStart (ActRemSocPubUsr);
|
||||||
|
Usr_PutParamOtherUsrCodEncrypted ();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
Act_FormStart (ActRemSocPubGbl);
|
||||||
Soc_PutHiddenParamPubCod (SocPub.PubCod);
|
Soc_PutHiddenParamPubCod (SocPub.PubCod);
|
||||||
Lay_ShowAlert (Lay_WARNING,Txt_Do_you_really_want_to_remove_the_following_comment);
|
Lay_ShowAlert (Lay_WARNING,Txt_Do_you_really_want_to_remove_the_following_comment);
|
||||||
|
|
||||||
|
@ -1055,16 +1200,37 @@ void Soc_RequestRemovalSocialNote (void)
|
||||||
/***** Free memory used for user's data *****/
|
/***** Free memory used for user's data *****/
|
||||||
Usr_UsrDataDestructor (&UsrDat);
|
Usr_UsrDataDestructor (&UsrDat);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write timeline again *****/
|
|
||||||
Soc_ShowFollowingTimeline ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************ Remove a social publishing *************************/
|
/************************ Remove a social publishing *************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_RemoveSocialPublishing (void)
|
void Soc_RemoveSocialPubGbl (void)
|
||||||
|
{
|
||||||
|
/***** Remove a social publishing *****/
|
||||||
|
Soc_RemoveSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after removing (global) *****/
|
||||||
|
Soc_ShowTimelineGbl ();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Soc_RemoveSocialPubUsr (void)
|
||||||
|
{
|
||||||
|
/***** Get user whom profile is displayed *****/
|
||||||
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
|
/***** Show user's profile *****/
|
||||||
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
|
/***** Remove a social publishing *****/
|
||||||
|
Soc_RemoveSocialPublishing ();
|
||||||
|
|
||||||
|
/***** Write updated timeline after removing (user) *****/
|
||||||
|
Soc_ShowTimelineUsr ();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_RemoveSocialPublishing (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Comment_removed;
|
extern const char *Txt_Comment_removed;
|
||||||
struct SocialPublishing SocPub;
|
struct SocialPublishing SocPub;
|
||||||
|
@ -1092,9 +1258,6 @@ void Soc_RemoveSocialPublishing (void)
|
||||||
/***** Message of success *****/
|
/***** Message of success *****/
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_Comment_removed);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_Comment_removed);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Write timeline after removing *****/
|
|
||||||
Soc_ShowFollowingTimeline ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -81,18 +81,24 @@ typedef enum
|
||||||
/****************************** Public prototypes ****************************/
|
/****************************** Public prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ShowUsrTimeline (long UsrCod);
|
void Soc_ShowTimelineUsr (void);
|
||||||
void Soc_ShowFollowingTimeline (void);
|
void Soc_ShowTimelineGbl (void);
|
||||||
|
|
||||||
void Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod);
|
void Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod);
|
||||||
|
|
||||||
void Soc_FormSocialPost (void);
|
void Soc_FormSocialPostGbl (void);
|
||||||
void Soc_ReceiveSocialPost (void);
|
void Soc_FormSocialPostUsr (void);
|
||||||
|
void Soc_ReceiveSocialPostGbl (void);
|
||||||
|
void Soc_ReceiveSocialPostUsr (void);
|
||||||
|
|
||||||
void Soc_ShareSocialPublishing (void);
|
void Soc_ShareSocialPubGbl (void);
|
||||||
void Soc_UnshareSocialPublishing (void);
|
void Soc_ShareSocialPubUsr (void);
|
||||||
|
void Soc_UnshareSocialPubGbl (void);
|
||||||
|
void Soc_UnshareSocialPubUsr (void);
|
||||||
|
|
||||||
void Soc_RequestRemovalSocialNote (void);
|
void Soc_RequestRemSocialPubGbl (void);
|
||||||
void Soc_RemoveSocialPublishing (void);
|
void Soc_RequestRemSocialPubUsr (void);
|
||||||
|
void Soc_RemoveSocialPubGbl (void);
|
||||||
|
void Soc_RemoveSocialPubUsr (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -17922,7 +17922,7 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// TabSoc *****************************************************
|
// TabSoc *****************************************************
|
||||||
// ActSeeSocAct
|
// ActSeeSocTmlGbl
|
||||||
#if L==1
|
#if L==1
|
||||||
"Activitat"
|
"Activitat"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
|
@ -19878,7 +19878,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// TabSoc *****************************************************
|
// TabSoc *****************************************************
|
||||||
// ActSeeSocAct
|
// ActSeeSocTmlGbl
|
||||||
#if L==1
|
#if L==1
|
||||||
"Activitat social (línia de temps)"
|
"Activitat social (línia de temps)"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
|
|
Loading…
Reference in New Issue