From 3d7d9cd83bd3328575487a0848b788ae406e99cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Thu, 7 Jan 2016 00:42:35 +0100 Subject: [PATCH] Version 15.100.1 --- css/swad15.97.css | 13 +- swad_action.c | 10 +- swad_action.h | 312 +++++++++++++++++++++++----------------------- swad_changelog.h | 3 +- swad_social.c | 109 +++++++++++++--- swad_social.h | 7 +- swad_text.c | 21 ++++ 7 files changed, 293 insertions(+), 182 deletions(-) diff --git a/css/swad15.97.css b/css/swad15.97.css index e4ca4af99..3f3ebd88f 100644 --- a/css/swad15.97.css +++ b/css/swad15.97.css @@ -1705,20 +1705,27 @@ a:hover img.CENTRE_PHOTO_SHOW text-align:right; vertical-align:top; } -.SOCIAL_ICON +.SOCIAL_ICON_COMMENT + { + display:inline-block; + padding-top:10px; + padding-right:20px; + vertical-align:bottom; + } +.SOCIAL_ICON_SHARE { display:inline-block; padding-top:10px; vertical-align:bottom; } -.SOCIAL_ICON_DISABLED +.SOCIAL_ICON_SHARE_DISABLED { display:inline-block; padding-top:10px; opacity:0.2; vertical-align:bottom; } -.SOCIAL_ICON_RIGHT +.SOCIAL_ICON_REMOVE { display:inline-block; padding-top:10px; diff --git a/swad_action.c b/swad_action.c index 431e63fbb..27c3be839 100644 --- a/swad_action.c +++ b/swad_action.c @@ -1004,6 +1004,7 @@ Social: 839. ActReqSocPstGbl Write a public social post to be displayed in the timeline (global) 840. ActRcvSocPstGbl Receive a public social post to be displayed in the timeline (global) +NEW!!!!!!!!. ActComSocNotGbl Comment a social note in the timeline (global) NEW!!!!!!!!. ActShaSocNotGbl Share a social publishing in the timeline (global) NEW!!!!!!!!. ActUnsSocPubGbl Unshare a previously shared social publishing in the timeline (global) 841. ActReqRemSocPubGbl Request the removal of a social publishing in the timeline (global) @@ -1011,6 +1012,7 @@ NEW!!!!!!!!. ActUnsSocPubGbl Unshare a previously shared social publishing in t 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!!!!!!!!. ActComSocNotUsr Comment a social note in the timeline (user) NEW!!!!!!!!. ActShaSocNotUsr Share a social note in the timeline (user) NEW!!!!!!!!. ActUnsSocPubUsr Unshare a previously shared social note in the timeline (user) NEW!!!!!!!!. ActReqRemSocPubUsr Request the removal of a social publishing in the timeline (user) @@ -2325,17 +2327,19 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActReqSocPstGbl */{1491,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_FormSocialPostGbl ,NULL}, /* ActRcvSocPstGbl */{1492,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ReceiveSocialPostGbl ,NULL}, + /* ActComSocNotUsr */{1503,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_CommentSocialNoteGbl ,NULL}, /* ActShaSocNotGbl */{1495,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShareSocialNoteGbl ,NULL}, /* ActUnsSocPubGbl */{1496,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_UnshareSocialPubGbl ,NULL}, /* ActReqRemSocPubGbl*/{1494,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RequestRemSocialPubGbl ,NULL}, - /* ActRemSocPubGbl */{1493,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RemoveSocialPubGbl ,NULL}, + /* ActRemSocPubGbl */{1493,-1,TabSoc,ActSeeSocTmlGbl ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RemoveSocialNotGbl ,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}, + /* ActComSocNotUsr */{1504,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_CommentSocialNoteUsr ,NULL}, /* ActShaSocNotUsr */{1499,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_ShareSocialNoteUsr ,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}, + /* ActRemSocPubUsr */{1502,-1,TabSoc,ActReqPubPrf ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Soc_RemoveSocialNotUsr ,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}, @@ -4186,6 +4190,8 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq ActUnsSocPubUsr, // #1500 ActReqRemSocPubUsr, // #1501 ActRemSocPubUsr, // #1502 + ActComSocNotGbl, // #1503 + ActComSocNotUsr, // #1504 }; /*****************************************************************************/ diff --git a/swad_action.h b/swad_action.h index 11a366064..2cac977fd 100644 --- a/swad_action.h +++ b/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 -#define Act_NUM_ACTIONS (7+52+15+90+72+67+205+183+143+159+36+27+82) +#define Act_NUM_ACTIONS (7+52+15+90+72+67+205+183+143+161+36+27+82) -#define Act_MAX_ACTION_COD 1502 +#define Act_MAX_ACTION_COD 1504 #define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20 @@ -1043,164 +1043,166 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica // Secondary actions #define ActReqSocPstGbl (ActLstClk+ 5) #define ActRcvSocPstGbl (ActLstClk+ 6) -#define ActShaSocNotGbl (ActLstClk+ 7) -#define ActUnsSocPubGbl (ActLstClk+ 8) -#define ActReqRemSocPubGbl (ActLstClk+ 9) -#define ActRemSocPubGbl (ActLstClk+ 10) +#define ActComSocNotGbl (ActLstClk+ 7) +#define ActShaSocNotGbl (ActLstClk+ 8) +#define ActUnsSocPubGbl (ActLstClk+ 9) +#define ActReqRemSocPubGbl (ActLstClk+ 10) +#define ActRemSocPubGbl (ActLstClk+ 11) -#define ActReqSocPstUsr (ActLstClk+ 11) -#define ActRcvSocPstUsr (ActLstClk+ 12) -#define ActShaSocNotUsr (ActLstClk+ 13) -#define ActUnsSocPubUsr (ActLstClk+ 14) -#define ActReqRemSocPubUsr (ActLstClk+ 15) -#define ActRemSocPubUsr (ActLstClk+ 16) +#define ActReqSocPstUsr (ActLstClk+ 12) +#define ActRcvSocPstUsr (ActLstClk+ 13) +#define ActComSocNotUsr (ActLstClk+ 14) +#define ActShaSocNotUsr (ActLstClk+ 15) +#define ActUnsSocPubUsr (ActLstClk+ 16) +#define ActReqRemSocPubUsr (ActLstClk+ 17) +#define ActRemSocPubUsr (ActLstClk+ 18) -#define ActSeePubPrf (ActLstClk+ 17) -#define ActCal1stClkTim (ActLstClk+ 18) -#define ActCalNumClk (ActLstClk+ 19) -#define ActCalNumFilVie (ActLstClk+ 20) -#define ActCalNumForPst (ActLstClk+ 21) -#define ActCalNumMsgSnt (ActLstClk+ 22) +#define ActSeePubPrf (ActLstClk+ 19) +#define ActCal1stClkTim (ActLstClk+ 20) +#define ActCalNumClk (ActLstClk+ 21) +#define ActCalNumFilVie (ActLstClk+ 22) +#define ActCalNumForPst (ActLstClk+ 23) +#define ActCalNumMsgSnt (ActLstClk+ 24) -#define ActFolUsr (ActLstClk+ 23) -#define ActUnfUsr (ActLstClk+ 24) -#define ActSeeFlg (ActLstClk+ 25) -#define ActSeeFlr (ActLstClk+ 26) +#define ActFolUsr (ActLstClk+ 25) +#define ActUnfUsr (ActLstClk+ 26) +#define ActSeeFlg (ActLstClk+ 27) +#define ActSeeFlr (ActLstClk+ 28) -#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 ActSeeForCrsUsr (ActLstClk+ 29) +#define ActSeeForCrsTch (ActLstClk+ 30) +#define ActSeeForDegUsr (ActLstClk+ 31) +#define ActSeeForDegTch (ActLstClk+ 32) +#define ActSeeForCtrUsr (ActLstClk+ 33) +#define ActSeeForCtrTch (ActLstClk+ 34) +#define ActSeeForInsUsr (ActLstClk+ 35) +#define ActSeeForInsTch (ActLstClk+ 36) +#define ActSeeForGenUsr (ActLstClk+ 37) +#define ActSeeForGenTch (ActLstClk+ 38) +#define ActSeeForSWAUsr (ActLstClk+ 39) +#define ActSeeForSWATch (ActLstClk+ 40) +#define ActSeePstForCrsUsr (ActLstClk+ 41) +#define ActSeePstForCrsTch (ActLstClk+ 42) +#define ActSeePstForDegUsr (ActLstClk+ 43) +#define ActSeePstForDegTch (ActLstClk+ 44) +#define ActSeePstForCtrUsr (ActLstClk+ 45) +#define ActSeePstForCtrTch (ActLstClk+ 46) +#define ActSeePstForInsUsr (ActLstClk+ 47) +#define ActSeePstForInsTch (ActLstClk+ 48) +#define ActSeePstForGenUsr (ActLstClk+ 49) +#define ActSeePstForGenTch (ActLstClk+ 50) +#define ActSeePstForSWAUsr (ActLstClk+ 51) +#define ActSeePstForSWATch (ActLstClk+ 52) +#define ActRcvThrForCrsUsr (ActLstClk+ 53) +#define ActRcvThrForCrsTch (ActLstClk+ 54) +#define ActRcvThrForDegUsr (ActLstClk+ 55) +#define ActRcvThrForDegTch (ActLstClk+ 56) +#define ActRcvThrForCtrUsr (ActLstClk+ 57) +#define ActRcvThrForCtrTch (ActLstClk+ 58) +#define ActRcvThrForInsUsr (ActLstClk+ 59) +#define ActRcvThrForInsTch (ActLstClk+ 60) +#define ActRcvThrForGenUsr (ActLstClk+ 61) +#define ActRcvThrForGenTch (ActLstClk+ 62) +#define ActRcvThrForSWAUsr (ActLstClk+ 63) +#define ActRcvThrForSWATch (ActLstClk+ 64) +#define ActRcvRepForCrsUsr (ActLstClk+ 65) +#define ActRcvRepForCrsTch (ActLstClk+ 66) +#define ActRcvRepForDegUsr (ActLstClk+ 67) +#define ActRcvRepForDegTch (ActLstClk+ 68) +#define ActRcvRepForCtrUsr (ActLstClk+ 69) +#define ActRcvRepForCtrTch (ActLstClk+ 70) +#define ActRcvRepForInsUsr (ActLstClk+ 71) +#define ActRcvRepForInsTch (ActLstClk+ 72) +#define ActRcvRepForGenUsr (ActLstClk+ 73) +#define ActRcvRepForGenTch (ActLstClk+ 74) +#define ActRcvRepForSWAUsr (ActLstClk+ 75) +#define ActRcvRepForSWATch (ActLstClk+ 76) +#define ActReqDelThrCrsUsr (ActLstClk+ 77) +#define ActReqDelThrCrsTch (ActLstClk+ 78) +#define ActReqDelThrDegUsr (ActLstClk+ 79) +#define ActReqDelThrDegTch (ActLstClk+ 80) +#define ActReqDelThrCtrUsr (ActLstClk+ 81) +#define ActReqDelThrCtrTch (ActLstClk+ 82) +#define ActReqDelThrInsUsr (ActLstClk+ 83) +#define ActReqDelThrInsTch (ActLstClk+ 84) +#define ActReqDelThrGenUsr (ActLstClk+ 85) +#define ActReqDelThrGenTch (ActLstClk+ 86) +#define ActReqDelThrSWAUsr (ActLstClk+ 87) +#define ActReqDelThrSWATch (ActLstClk+ 88) +#define ActDelThrForCrsUsr (ActLstClk+ 89) +#define ActDelThrForCrsTch (ActLstClk+ 90) +#define ActDelThrForDegUsr (ActLstClk+ 91) +#define ActDelThrForDegTch (ActLstClk+ 92) +#define ActDelThrForCtrUsr (ActLstClk+ 93) +#define ActDelThrForCtrTch (ActLstClk+ 94) +#define ActDelThrForInsUsr (ActLstClk+ 95) +#define ActDelThrForInsTch (ActLstClk+ 96) +#define ActDelThrForGenUsr (ActLstClk+ 97) +#define ActDelThrForGenTch (ActLstClk+ 98) +#define ActDelThrForSWAUsr (ActLstClk+ 99) +#define ActDelThrForSWATch (ActLstClk+100) +#define ActCutThrForCrsUsr (ActLstClk+101) +#define ActCutThrForCrsTch (ActLstClk+102) +#define ActCutThrForDegUsr (ActLstClk+103) +#define ActCutThrForDegTch (ActLstClk+104) +#define ActCutThrForCtrUsr (ActLstClk+105) +#define ActCutThrForCtrTch (ActLstClk+106) +#define ActCutThrForInsUsr (ActLstClk+107) +#define ActCutThrForInsTch (ActLstClk+108) +#define ActCutThrForGenUsr (ActLstClk+109) +#define ActCutThrForGenTch (ActLstClk+110) +#define ActCutThrForSWAUsr (ActLstClk+111) +#define ActCutThrForSWATch (ActLstClk+112) +#define ActPasThrForCrsUsr (ActLstClk+113) +#define ActPasThrForCrsTch (ActLstClk+114) +#define ActPasThrForDegUsr (ActLstClk+115) +#define ActPasThrForDegTch (ActLstClk+116) +#define ActPasThrForCtrUsr (ActLstClk+117) +#define ActPasThrForCtrTch (ActLstClk+118) +#define ActPasThrForInsUsr (ActLstClk+119) +#define ActPasThrForInsTch (ActLstClk+120) +#define ActPasThrForGenUsr (ActLstClk+121) +#define ActPasThrForGenTch (ActLstClk+122) +#define ActPasThrForSWAUsr (ActLstClk+123) +#define ActPasThrForSWATch (ActLstClk+124) +#define ActDelPstForCrsUsr (ActLstClk+125) +#define ActDelPstForCrsTch (ActLstClk+126) +#define ActDelPstForDegUsr (ActLstClk+127) +#define ActDelPstForDegTch (ActLstClk+128) +#define ActDelPstForCtrUsr (ActLstClk+129) +#define ActDelPstForCtrTch (ActLstClk+130) +#define ActDelPstForInsUsr (ActLstClk+131) +#define ActDelPstForInsTch (ActLstClk+132) +#define ActDelPstForGenUsr (ActLstClk+133) +#define ActDelPstForGenTch (ActLstClk+134) +#define ActDelPstForSWAUsr (ActLstClk+135) +#define ActDelPstForSWATch (ActLstClk+136) +#define ActEnbPstForCrsUsr (ActLstClk+137) +#define ActEnbPstForCrsTch (ActLstClk+138) +#define ActEnbPstForDegUsr (ActLstClk+139) +#define ActEnbPstForDegTch (ActLstClk+140) +#define ActEnbPstForCtrUsr (ActLstClk+141) +#define ActEnbPstForCtrTch (ActLstClk+142) +#define ActEnbPstForInsUsr (ActLstClk+143) +#define ActEnbPstForInsTch (ActLstClk+144) +#define ActEnbPstForGenUsr (ActLstClk+145) +#define ActEnbPstForGenTch (ActLstClk+146) +#define ActEnbPstForSWAUsr (ActLstClk+147) +#define ActEnbPstForSWATch (ActLstClk+148) +#define ActDisPstForCrsUsr (ActLstClk+149) +#define ActDisPstForCrsTch (ActLstClk+150) +#define ActDisPstForDegUsr (ActLstClk+151) +#define ActDisPstForDegTch (ActLstClk+152) +#define ActDisPstForCtrUsr (ActLstClk+153) +#define ActDisPstForCtrTch (ActLstClk+154) +#define ActDisPstForInsUsr (ActLstClk+155) +#define ActDisPstForInsTch (ActLstClk+156) +#define ActDisPstForGenUsr (ActLstClk+157) +#define ActDisPstForGenTch (ActLstClk+158) +#define ActDisPstForSWAUsr (ActLstClk+159) +#define ActDisPstForSWATch (ActLstClk+160) -#define ActCht (ActLstClk+159) +#define ActCht (ActLstClk+161) /*****************************************************************************/ /******************************* Messages tab ********************************/ diff --git a/swad_changelog.h b/swad_changelog.h index bf9b864ff..ef410732c 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -124,13 +124,14 @@ En definitiva, se estar /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 15.100 (2016-01-06)" +#define Log_PLATFORM_VERSION "SWAD 15.100.1 (2016-01-07)" #define CSS_FILE "swad15.97.css" #define JS_FILE "swad15.77.7.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* + Version 15.100.1: Jan 07, 2016 New icon in social note to reply. (190937 lines) Version 15.100: Jan 06, 2016 When an author removes a social note, all the publishings of this note are removed. (190842 lines) Version 15.99.1: Jan 05, 2016 Change in message in social timeline. (190917 lines) Version 15.99: Jan 05, 2016 Changes in social timeline. (190892 lines) diff --git a/swad_social.c b/swad_social.c index c3101a223..3f53428b8 100644 --- a/swad_social.c +++ b/swad_social.c @@ -149,6 +149,7 @@ static void Soc_PutLinkToWriteANewPost (Act_Action_t Action,void (*FuncParams) ( static void Soc_FormSocialPost (void); static void Soc_ReceiveSocialPost (void); +static void Soc_PutFormToCommentSocialNote (long NotCod); static void Soc_PutDisabledIconShare (unsigned NumShared); static void Soc_PutFormToShareSocialNote (long NotCod); static void Soc_PutFormToUnshareSocialPublishing (long PubCod); @@ -158,14 +159,14 @@ static void Soc_PutHiddenParamPubCod (long PubCod); static long Soc_GetParamNotCod (void); static long Soc_GetParamPubCod (void); +static void Soc_CommentSocialNote (void); static void Soc_ShareSocialNote (void); static void Soc_UnshareSocialPublishing (void); static void Soc_UnshareASocialPublishingFromDB (struct SocialNote *SocNot); static void Soc_RequestRemovalSocialPublishing (void); -static void Soc_RemoveSocialPublishing (void); -static void Soc_RemoveASocialPublishingFromDB (const struct SocialPublishing *SocPub, - struct SocialNote *SocNot); +static void Soc_RemoveSocialNote (void); +static void Soc_RemoveASocialPublishingFromDB (struct SocialNote *SocNot); static bool Soc_CheckIfNoteIsPublishedInTimelineByUsr (long NotCod,long UsrCod); static void Soc_UpdateNumTimesANoteHasBeenShared (struct SocialNote *SocNot); @@ -548,6 +549,9 @@ static void Soc_WriteSocialNote (const struct SocialPublishing *SocPub, fprintf (Gbl.F.Out,"
%s
",SummaryStr); } + /* Put icon to comment */ + Soc_PutFormToCommentSocialNote (SocNot->NotCod); + /* Put icons to share/unshare */ if (IAmTheAuthor) // I am the author Soc_PutDisabledIconShare (SocNot->NumShared); @@ -1137,6 +1141,35 @@ static void Soc_ReceiveSocialPost (void) Soc_StoreAndPublishSocialNote (Soc_NOTE_SOCIAL_POST,PstCod); } +/*****************************************************************************/ +/******************* Form to comment a social publishing *********************/ +/*****************************************************************************/ + +static void Soc_PutFormToCommentSocialNote (long NotCod) + { + extern const char *Txt_Comment; + + /***** Form to comment a social note *****/ + if (Gbl.Usrs.Other.UsrDat.UsrCod > 0) + { + Act_FormStartAnchor (ActComSocNotUsr,"timeline"); + Usr_PutParamOtherUsrCodEncrypted (); + } + else + Act_FormStart (ActComSocNotGbl); + Soc_PutHiddenParamNotCod (NotCod); + fprintf (Gbl.F.Out,"
" + "" + "
", + Gbl.Prefs.IconsURL, + Txt_Comment, + Txt_Comment); + Act_FormEnd (); + } + /*****************************************************************************/ /*********************** Put disabled icon to share **************************/ /*****************************************************************************/ @@ -1152,7 +1185,7 @@ static void Soc_PutDisabledIconShare (unsigned NumShared) strcpy (Gbl.Title,Txt_SOCIAL_PUBLISHING_Not_shared_by_anyone); /***** Disabled icon to share *****/ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "\"%s\"" @@ -1178,7 +1211,7 @@ static void Soc_PutFormToShareSocialNote (long NotCod) else Act_FormStart (ActShaSocNotGbl); Soc_PutHiddenParamNotCod (NotCod); - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "" + fprintf (Gbl.F.Out,"
" "" + fprintf (Gbl.F.Out,"
" ""); + + /***** Comment social note *****/ + Soc_CommentSocialNote (); + + /***** Write updated timeline after commenting (user) *****/ + Soc_ShowTimelineUsr (); + + /***** End section *****/ + fprintf (Gbl.F.Out,""); + } + +static void Soc_CommentSocialNote (void) + { + Lay_ShowAlert (Lay_WARNING,"Not implemented."); + } + /*****************************************************************************/ /**************************** Share a social note ****************************/ /*****************************************************************************/ @@ -1549,31 +1621,31 @@ static void Soc_RequestRemovalSocialPublishing (void) } /*****************************************************************************/ -/************************ Remove a social publishing *************************/ +/*************************** Remove a social note ****************************/ /*****************************************************************************/ -void Soc_RemoveSocialPubGbl (void) +void Soc_RemoveSocialNotGbl (void) { - /***** Remove a social publishing *****/ - Soc_RemoveSocialPublishing (); + /***** Remove a social note *****/ + Soc_RemoveSocialNote (); /***** Write updated timeline after removing (global) *****/ Soc_ShowTimelineGbl (); } -void Soc_RemoveSocialPubUsr (void) +void Soc_RemoveSocialNotUsr (void) { /***** Get user whom profile is displayed *****/ Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (); - /***** Show user's profile *****/ + /***** Show user's profile *****/ Prf_ShowUserProfile (); /***** Start section *****/ fprintf (Gbl.F.Out,"
"); - /***** Remove a social publishing *****/ - Soc_RemoveSocialPublishing (); + /***** Remove a social note *****/ + Soc_RemoveSocialNote (); /***** Write updated timeline after removing (user) *****/ Soc_ShowTimelineUsr (); @@ -1582,7 +1654,7 @@ void Soc_RemoveSocialPubUsr (void) fprintf (Gbl.F.Out,"
"); } -static void Soc_RemoveSocialPublishing (void) +static void Soc_RemoveSocialNote (void) { extern const char *Txt_SOCIAL_PUBLISHING_Removed; struct SocialPublishing SocPub; @@ -1606,7 +1678,7 @@ static void Soc_RemoveSocialPublishing (void) if (ICanRemove) { /***** Delete social publishing from database *****/ - Soc_RemoveASocialPublishingFromDB (&SocPub,&SocNot); + Soc_RemoveASocialPublishingFromDB (&SocNot); /***** Message of success *****/ Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Removed); @@ -1617,8 +1689,7 @@ static void Soc_RemoveSocialPublishing (void) /**************** Remove a social publishing from database *******************/ /*****************************************************************************/ -static void Soc_RemoveASocialPublishingFromDB (const struct SocialPublishing *SocPub, - struct SocialNote *SocNot) +static void Soc_RemoveASocialPublishingFromDB (struct SocialNote *SocNot) { char Query[128]; diff --git a/swad_social.h b/swad_social.h index 48d1d43d2..62eecd35d 100644 --- a/swad_social.h +++ b/swad_social.h @@ -95,6 +95,9 @@ void Soc_FormSocialPostUsr (void); void Soc_ReceiveSocialPostGbl (void); void Soc_ReceiveSocialPostUsr (void); +void Soc_CommentSocialNoteGbl (void); +void Soc_CommentSocialNoteUsr (void); + void Soc_ShareSocialNoteGbl (void); void Soc_ShareSocialNoteUsr (void); void Soc_UnshareSocialPubGbl (void); @@ -102,7 +105,7 @@ void Soc_UnshareSocialPubUsr (void); void Soc_RequestRemSocialPubGbl (void); void Soc_RequestRemSocialPubUsr (void); -void Soc_RemoveSocialPubGbl (void); -void Soc_RemoveSocialPubUsr (void); +void Soc_RemoveSocialNotGbl (void); +void Soc_RemoveSocialNotUsr (void); #endif diff --git a/swad_text.c b/swad_text.c index 14b5afe55..a66d1abb0 100644 --- a/swad_text.c +++ b/swad_text.c @@ -4603,6 +4603,27 @@ const char *Txt_columns = "colunas"; #endif +const char *Txt_Comment = // As a verb +#if L==1 + "Comentar"; +#elif L==2 + "Kommentieren"; +#elif L==3 + "Comment"; +#elif L==4 + "Comentar"; +#elif L==5 + "Commenter"; +#elif L==6 + "Comentar"; // Okoteve traducción +#elif L==7 + "Commentare"; +#elif L==8 + "Komentować"; +#elif L==9 + "Comentar"; +#endif + const char *Txt_Comments = #if L==1 "Comentaris";