mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-30 04:15:54 +02:00
Version 15.113.11
This commit is contained in:
parent
07e8f2a500
commit
a55527c9b1
|
@ -1689,6 +1689,11 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
padding:0;
|
padding:0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.SOCIAL_PUB
|
||||||
|
{
|
||||||
|
width:536px;
|
||||||
|
border-top:1px solid silver;
|
||||||
|
}
|
||||||
.SOCIAL_NEW_PUB
|
.SOCIAL_NEW_PUB
|
||||||
{
|
{
|
||||||
background-color:#DDECF1;
|
background-color:#DDECF1;
|
||||||
|
@ -1698,12 +1703,6 @@ a:hover img.CENTRE_PHOTO_SHOW
|
||||||
{
|
{
|
||||||
to {background-color:white;}
|
to {background-color:white;}
|
||||||
}
|
}
|
||||||
|
|
||||||
.SOCIAL_PUB
|
|
||||||
{
|
|
||||||
width:536px;
|
|
||||||
border-top:1px solid silver;
|
|
||||||
}
|
|
||||||
.SOCIAL_TOP_CONTAINER
|
.SOCIAL_TOP_CONTAINER
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
|
|
|
@ -124,13 +124,14 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 15.113.10 (2016-01-15)"
|
#define Log_PLATFORM_VERSION "SWAD 15.113.11 (2016-01-15)"
|
||||||
#define CSS_FILE "swad15.113.8.css"
|
#define CSS_FILE "swad15.113.8.css"
|
||||||
#define JS_FILE "swad15.113.8.js"
|
#define JS_FILE "swad15.113.8.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.113.11:Jan 15, 2016 When a new social post is received, fade its background. (192803 lines)
|
||||||
Version 15.113.10:Jan 15, 2016 When a social note is not available, the button to comment is disabled.
|
Version 15.113.10:Jan 15, 2016 When a social note is not available, the button to comment is disabled.
|
||||||
Fixed bug receiving a comment to a social note. (192781 lines)
|
Fixed bug receiving a comment to a social note. (192781 lines)
|
||||||
Version 15.113.9: Jan 15, 2016 "..." changed by HTML entity "…". (192775 lines)
|
Version 15.113.9: Jan 15, 2016 "..." changed by HTML entity "…". (192775 lines)
|
||||||
|
|
153
swad_social.c
153
swad_social.c
|
@ -215,6 +215,9 @@ extern struct Globals Gbl;
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Soc_ShowTimelineGblHighlightingNot (long NotCod);
|
||||||
|
static void Soc_ShowTimelineUsrHighlightingNot (long NotCod);
|
||||||
|
|
||||||
static void Soc_GetAndShowNewTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl);
|
static void Soc_GetAndShowNewTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl);
|
||||||
static void Soc_GetAndShowOldTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl);
|
static void Soc_GetAndShowOldTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl);
|
||||||
|
|
||||||
|
@ -226,8 +229,9 @@ static void Soc_UpdateLastPubCodIntoSession (void);
|
||||||
static void Soc_UpdateFirstPubCodIntoSession (long FirstPubCod);
|
static void Soc_UpdateFirstPubCodIntoSession (long FirstPubCod);
|
||||||
static void Soc_DropTemporaryTablesUsedToQueryTimeline (void);
|
static void Soc_DropTemporaryTablesUsedToQueryTimeline (void);
|
||||||
|
|
||||||
static void Soc_ShowTimeline (const char *Query,const char *Title);
|
static void Soc_ShowTimeline (const char *Query,const char *Title,
|
||||||
static void Soc_ShowNewPubsInTimeline (const char *Query);
|
long NotCodToHighlight);
|
||||||
|
static void Soc_InsertNewPubsInTimeline (const char *Query);
|
||||||
static void Soc_ShowOldPubsInTimeline (const char *Query);
|
static void Soc_ShowOldPubsInTimeline (const char *Query);
|
||||||
|
|
||||||
static void Soc_GetDataOfSocialPublishingFromRow (MYSQL_ROW row,struct SocialPublishing *SocPub);
|
static void Soc_GetDataOfSocialPublishingFromRow (MYSQL_ROW row,struct SocialPublishing *SocPub);
|
||||||
|
@ -237,8 +241,8 @@ static void Soc_PutLinkToViewOldPublishings (void);
|
||||||
|
|
||||||
static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
||||||
const struct SocialPublishing *SocPub,
|
const struct SocialPublishing *SocPub,
|
||||||
bool ShowNoteAlone,
|
bool Highlight,
|
||||||
bool ViewTopLine);
|
bool ShowNoteAlone);
|
||||||
static void Soc_WriteTopPublisher (const struct SocialPublishing *SocPub);
|
static void Soc_WriteTopPublisher (const struct SocialPublishing *SocPub);
|
||||||
static void Soc_WriteAuthorNote (struct UsrData *UsrDat);
|
static void Soc_WriteAuthorNote (struct UsrData *UsrDat);
|
||||||
static void Soc_WriteDateTime (time_t TimeUTC);
|
static void Soc_WriteDateTime (time_t TimeUTC);
|
||||||
|
@ -251,7 +255,7 @@ static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub);
|
||||||
static void Soc_PutFormToWriteNewPost (void);
|
static void Soc_PutFormToWriteNewPost (void);
|
||||||
static void Soc_PutTextarea (const char *Placeholder);
|
static void Soc_PutTextarea (const char *Placeholder);
|
||||||
|
|
||||||
static void Soc_ReceiveSocialPost (void);
|
static long Soc_ReceiveSocialPost (void);
|
||||||
|
|
||||||
static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Soc_MAX_LENGTH_ID],
|
static void Soc_PutIconToToggleCommentSocialNote (const char UniqueId[Soc_MAX_LENGTH_ID],
|
||||||
bool PutText);
|
bool PutText);
|
||||||
|
@ -310,33 +314,16 @@ static void Soc_SetUniqueId (char UniqueId[Soc_MAX_LENGTH_ID]);
|
||||||
static void Soc_ClearTimelineForThisSession (void);
|
static void Soc_ClearTimelineForThisSession (void);
|
||||||
static bool Soc_StoreSocialNoteInTimeline (long NotCod);
|
static bool Soc_StoreSocialNoteInTimeline (long NotCod);
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
/*********** Show social activity (timeline) of a selected user **************/
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
void Soc_ShowTimelineUsr (void)
|
|
||||||
{
|
|
||||||
extern const char *Txt_Public_activity_OF_A_USER;
|
|
||||||
char Query[512];
|
|
||||||
|
|
||||||
/***** Build query to show timeline with publishings of a unique user *****/
|
|
||||||
Soc_BuildQueryToGetTimeline (Soc_TIMELINE_USR,
|
|
||||||
Soc_GET_RECENT_TIMELINE,
|
|
||||||
Query);
|
|
||||||
|
|
||||||
/***** Show timeline *****/
|
|
||||||
sprintf (Gbl.Title,Txt_Public_activity_OF_A_USER,Gbl.Usrs.Other.UsrDat.FirstName);
|
|
||||||
Soc_ShowTimeline (Query,Gbl.Title);
|
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***** Show social activity (timeline) including all the users I follow ******/
|
/***** Show social activity (timeline) including all the users I follow ******/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ShowTimelineGbl (void)
|
void Soc_ShowTimelineGbl (void)
|
||||||
|
{
|
||||||
|
Soc_ShowTimelineGblHighlightingNot (-1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_ShowTimelineGblHighlightingNot (long NotCod)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Public_activity;
|
extern const char *Txt_Public_activity;
|
||||||
extern const char *Txt_You_dont_follow_any_user;
|
extern const char *Txt_You_dont_follow_any_user;
|
||||||
|
@ -352,7 +339,34 @@ void Soc_ShowTimelineGbl (void)
|
||||||
Query);
|
Query);
|
||||||
|
|
||||||
/***** Show timeline *****/
|
/***** Show timeline *****/
|
||||||
Soc_ShowTimeline (Query,Txt_Public_activity);
|
Soc_ShowTimeline (Query,Txt_Public_activity,NotCod);
|
||||||
|
|
||||||
|
/***** Drop temporary tables *****/
|
||||||
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/*********** Show social activity (timeline) of a selected user **************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Soc_ShowTimelineUsr (void)
|
||||||
|
{
|
||||||
|
Soc_ShowTimelineUsrHighlightingNot (-1L);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Soc_ShowTimelineUsrHighlightingNot (long NotCod)
|
||||||
|
{
|
||||||
|
extern const char *Txt_Public_activity_OF_A_USER;
|
||||||
|
char Query[512];
|
||||||
|
|
||||||
|
/***** Build query to show timeline with publishings of a unique user *****/
|
||||||
|
Soc_BuildQueryToGetTimeline (Soc_TIMELINE_USR,
|
||||||
|
Soc_GET_RECENT_TIMELINE,
|
||||||
|
Query);
|
||||||
|
|
||||||
|
/***** Show timeline *****/
|
||||||
|
sprintf (Gbl.Title,Txt_Public_activity_OF_A_USER,Gbl.Usrs.Other.UsrDat.FirstName);
|
||||||
|
Soc_ShowTimeline (Query,Gbl.Title,NotCod);
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -385,7 +399,7 @@ static void Soc_GetAndShowNewTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl)
|
||||||
Query);
|
Query);
|
||||||
|
|
||||||
/***** Show new timeline *****/
|
/***** Show new timeline *****/
|
||||||
Soc_ShowNewPubsInTimeline (Query);
|
Soc_InsertNewPubsInTimeline (Query);
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
Soc_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -398,11 +412,9 @@ static void Soc_GetAndShowNewTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl)
|
||||||
/************ View new publishings in social timeline via AJAX ***************/
|
/************ View new publishings in social timeline via AJAX ***************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_GetOtherUsrNicknameFromUsrCod (void)
|
void Soc_RefreshOldTimelineGbl (void)
|
||||||
{
|
{
|
||||||
// User's code is already taken from nickname in Par_GetMainParameters ()
|
Soc_GetAndShowOldTimeline (Soc_TIMELINE_GBL);
|
||||||
if (!Nck_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,Gbl.Usrs.Other.UsrDat.Nickname))
|
|
||||||
Gbl.Usrs.Other.UsrDat.UsrCod = -1L;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Soc_RefreshOldTimelineUsr (void)
|
void Soc_RefreshOldTimelineUsr (void)
|
||||||
|
@ -413,11 +425,6 @@ void Soc_RefreshOldTimelineUsr (void)
|
||||||
Soc_GetAndShowOldTimeline (Soc_TIMELINE_USR);
|
Soc_GetAndShowOldTimeline (Soc_TIMELINE_USR);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Soc_RefreshOldTimelineGbl (void)
|
|
||||||
{
|
|
||||||
Soc_GetAndShowOldTimeline (Soc_TIMELINE_GBL);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/**************** Get and show old publishings in timeline *******************/
|
/**************** Get and show old publishings in timeline *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -648,7 +655,8 @@ static void Soc_DropTemporaryTablesUsedToQueryTimeline (void)
|
||||||
/*********************** Show social activity (timeline) *********************/
|
/*********************** Show social activity (timeline) *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Soc_ShowTimeline (const char *Query,const char *Title)
|
static void Soc_ShowTimeline (const char *Query,const char *Title,
|
||||||
|
long NotCodToHighlight)
|
||||||
{
|
{
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
@ -706,7 +714,9 @@ static void Soc_ShowTimeline (const char *Query,const char *Title)
|
||||||
if (!AlreadyWasInTimeline) // This check is not necessary
|
if (!AlreadyWasInTimeline) // This check is not necessary
|
||||||
// because we have got publishing
|
// because we have got publishing
|
||||||
// not yet in timeline
|
// not yet in timeline
|
||||||
Soc_WriteSocialNote (&SocNot,&SocPub,false,true);
|
Soc_WriteSocialNote (&SocNot,&SocPub,
|
||||||
|
SocNot.NotCod == NotCodToHighlight,
|
||||||
|
false);
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"</ul>");
|
fprintf (Gbl.F.Out,"</ul>");
|
||||||
|
|
||||||
|
@ -734,7 +744,7 @@ static void Soc_ShowTimeline (const char *Query,const char *Title)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
// The publishings are inserted as list elements of a hidden list
|
// The publishings are inserted as list elements of a hidden list
|
||||||
|
|
||||||
static void Soc_ShowNewPubsInTimeline (const char *Query)
|
static void Soc_InsertNewPubsInTimeline (const char *Query)
|
||||||
{
|
{
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
|
@ -764,7 +774,7 @@ static void Soc_ShowNewPubsInTimeline (const char *Query)
|
||||||
|
|
||||||
/* Write social note */
|
/* Write social note */
|
||||||
// New publishings are written even if the note was already un timeline
|
// New publishings are written even if the note was already un timeline
|
||||||
Soc_WriteSocialNote (&SocNot,&SocPub,false,true);
|
Soc_WriteSocialNote (&SocNot,&SocPub,false,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Free structure that stores the query result *****/
|
/***** Free structure that stores the query result *****/
|
||||||
|
@ -811,7 +821,7 @@ static void Soc_ShowOldPubsInTimeline (const char *Query)
|
||||||
if (!AlreadyWasInTimeline) // This check is not necessary
|
if (!AlreadyWasInTimeline) // This check is not necessary
|
||||||
// because we have got publishing
|
// because we have got publishing
|
||||||
// not yet in timeline
|
// not yet in timeline
|
||||||
Soc_WriteSocialNote (&SocNot,&SocPub,false,true);
|
Soc_WriteSocialNote (&SocNot,&SocPub,false,false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Store first publishing code into session *****/
|
/***** Store first publishing code into session *****/
|
||||||
|
@ -873,8 +883,8 @@ static void Soc_PutLinkToViewOldPublishings (void)
|
||||||
|
|
||||||
static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
||||||
const struct SocialPublishing *SocPub,
|
const struct SocialPublishing *SocPub,
|
||||||
bool ShowNoteAlone, // Social note is shown alone, not in a list
|
bool Highlight, // hightlight social notee > 0
|
||||||
bool ViewTopLine) // Separate with a top line from previous social note
|
bool ShowNoteAlone) // Social note is shown alone, not in a list
|
||||||
{
|
{
|
||||||
extern const char *Txt_Forum;
|
extern const char *Txt_Forum;
|
||||||
extern const char *Txt_Course;
|
extern const char *Txt_Course;
|
||||||
|
@ -904,10 +914,15 @@ static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
||||||
|
|
||||||
/***** Start list item *****/
|
/***** Start list item *****/
|
||||||
fprintf (Gbl.F.Out,"<li");
|
fprintf (Gbl.F.Out,"<li");
|
||||||
if (!ShowNoteAlone && ViewTopLine)
|
if (!ShowNoteAlone || Highlight)
|
||||||
fprintf (Gbl.F.Out," class=\"SOCIAL_PUB\"");
|
{
|
||||||
// else
|
fprintf (Gbl.F.Out," class=\"");
|
||||||
// fprintf (Gbl.F.Out," class=\"SOCIAL_NEW_PUB\"");
|
if (!ShowNoteAlone)
|
||||||
|
fprintf (Gbl.F.Out," SOCIAL_PUB");
|
||||||
|
if (Highlight)
|
||||||
|
fprintf (Gbl.F.Out," SOCIAL_NEW_PUB");
|
||||||
|
fprintf (Gbl.F.Out,"\"");
|
||||||
|
}
|
||||||
fprintf (Gbl.F.Out,">");
|
fprintf (Gbl.F.Out,">");
|
||||||
|
|
||||||
if (SocNot->NotCod <= 0 ||
|
if (SocNot->NotCod <= 0 ||
|
||||||
|
@ -1399,8 +1414,9 @@ static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************** Store and publish a social note into database ****************/
|
/************** Store and publish a social note into database ****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
// Return the code of the new note just created
|
||||||
|
|
||||||
void Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod)
|
long Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod)
|
||||||
{
|
{
|
||||||
char Query[256];
|
char Query[256];
|
||||||
long HieCod; // Hierarchy code (institution/centre/degree/course)
|
long HieCod; // Hierarchy code (institution/centre/degree/course)
|
||||||
|
@ -1442,6 +1458,8 @@ void Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod)
|
||||||
SocPub.PublisherCod = Gbl.Usrs.Me.UsrDat.UsrCod;
|
SocPub.PublisherCod = Gbl.Usrs.Me.UsrDat.UsrCod;
|
||||||
SocPub.PubType = Soc_PUB_ORIGINAL_NOTE;
|
SocPub.PubType = Soc_PUB_ORIGINAL_NOTE;
|
||||||
Soc_PublishSocialNoteInTimeline (&SocPub);
|
Soc_PublishSocialNoteInTimeline (&SocPub);
|
||||||
|
|
||||||
|
return SocPub.NotCod;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1720,43 +1738,48 @@ static void Soc_PutTextarea (const char *Placeholder)
|
||||||
|
|
||||||
void Soc_ReceiveSocialPostGbl (void)
|
void Soc_ReceiveSocialPostGbl (void)
|
||||||
{
|
{
|
||||||
|
long NotCod;
|
||||||
|
|
||||||
/***** Receive and store social post *****/
|
/***** Receive and store social post *****/
|
||||||
Soc_ReceiveSocialPost ();
|
NotCod = Soc_ReceiveSocialPost ();
|
||||||
|
|
||||||
/***** Write updated timeline after publishing (global) *****/
|
/***** Write updated timeline after publishing (global) *****/
|
||||||
Soc_ShowTimelineGbl ();
|
Soc_ShowTimelineGblHighlightingNot (NotCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Soc_ReceiveSocialPostUsr (void)
|
void Soc_ReceiveSocialPostUsr (void)
|
||||||
{
|
{
|
||||||
|
long NotCod;
|
||||||
|
|
||||||
/***** Get user whom profile is displayed *****/
|
/***** Get user whom profile is displayed *****/
|
||||||
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ();
|
||||||
|
|
||||||
/***** Show user's profile *****/
|
/***** Show user's profile *****/
|
||||||
Prf_ShowUserProfile ();
|
Prf_ShowUserProfile ();
|
||||||
|
|
||||||
/***** Start section *****/
|
/***** Start section *****/
|
||||||
fprintf (Gbl.F.Out,"<section id=\"timeline\">");
|
fprintf (Gbl.F.Out,"<section id=\"timeline\">");
|
||||||
|
|
||||||
/***** Receive and store social post *****/
|
/***** Receive and store social post *****/
|
||||||
Soc_ReceiveSocialPost ();
|
NotCod = Soc_ReceiveSocialPost ();
|
||||||
|
|
||||||
/***** Write updated timeline after publishing (user) *****/
|
/***** Write updated timeline after publishing (user) *****/
|
||||||
Soc_ShowTimelineUsr ();
|
Soc_ShowTimelineUsrHighlightingNot (NotCod);
|
||||||
|
|
||||||
/***** End section *****/
|
/***** End section *****/
|
||||||
fprintf (Gbl.F.Out,"</section>");
|
fprintf (Gbl.F.Out,"</section>");
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Soc_ReceiveSocialPost (void)
|
// Returns the code of the social note just created
|
||||||
|
static long Soc_ReceiveSocialPost (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_SOCIAL_PUBLISHING_Published;
|
extern const char *Txt_SOCIAL_PUBLISHING_Published;
|
||||||
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];
|
||||||
long PstCod;
|
long PstCod;
|
||||||
|
long NotCod;
|
||||||
|
|
||||||
/***** Get and store new post *****/
|
/***** Get the content of the new post *****/
|
||||||
/* Get the content of the post */
|
|
||||||
Par_GetParAndChangeFormat ("Content",Content,Cns_MAX_BYTES_LONG_TEXT,
|
Par_GetParAndChangeFormat ("Content",Content,Cns_MAX_BYTES_LONG_TEXT,
|
||||||
Str_TO_RIGOROUS_HTML,true);
|
Str_TO_RIGOROUS_HTML,true);
|
||||||
|
|
||||||
|
@ -1769,11 +1792,15 @@ static void Soc_ReceiveSocialPost (void)
|
||||||
PstCod = DB_QueryINSERTandReturnCode (Query,"can not create post");
|
PstCod = DB_QueryINSERTandReturnCode (Query,"can not create post");
|
||||||
|
|
||||||
/* Insert post in social notes */
|
/* Insert post in social notes */
|
||||||
Soc_StoreAndPublishSocialNote (Soc_NOTE_SOCIAL_POST,PstCod);
|
NotCod = Soc_StoreAndPublishSocialNote (Soc_NOTE_SOCIAL_POST,PstCod);
|
||||||
|
|
||||||
/***** Message of success *****/
|
/***** Message of success *****/
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Published);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Published);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
NotCod = -1L;
|
||||||
|
|
||||||
|
return NotCod;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -2305,7 +2332,7 @@ static void Soc_ReceiveComment (void)
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Published);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Published);
|
||||||
|
|
||||||
/***** Show the social note just commented *****/
|
/***** Show the social note just commented *****/
|
||||||
Soc_WriteSocialNote (&SocNot,NULL,true,false);
|
Soc_WriteSocialNote (&SocNot,NULL,true,true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Lay_ShowErrorAndExit ("You can not comment this note.");
|
Lay_ShowErrorAndExit ("You can not comment this note.");
|
||||||
|
@ -2420,7 +2447,7 @@ static void Soc_ShareSocialNote (void)
|
||||||
Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Shared);
|
Lay_ShowAlert (Lay_SUCCESS,Txt_SOCIAL_PUBLISHING_Shared);
|
||||||
|
|
||||||
/***** Show the social note just shared *****/
|
/***** Show the social note just shared *****/
|
||||||
Soc_WriteSocialNote (&SocNot,NULL,true,false);
|
Soc_WriteSocialNote (&SocNot,NULL,true,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -2495,7 +2522,7 @@ static void Soc_UnshareSocialPublishing (void)
|
||||||
|
|
||||||
/***** Show the social note corresponding
|
/***** Show the social note corresponding
|
||||||
to the publishing just unshared *****/
|
to the publishing just unshared *****/
|
||||||
Soc_WriteSocialNote (&SocNot,NULL,true,false);
|
Soc_WriteSocialNote (&SocNot,NULL,true,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2574,7 +2601,7 @@ static void Soc_RequestRemovalSocialNote (void)
|
||||||
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);
|
||||||
|
|
||||||
/* Show social note */
|
/* Show social note */
|
||||||
Soc_WriteSocialNote (&SocNot,NULL,true,false);
|
Soc_WriteSocialNote (&SocNot,NULL,true,true);
|
||||||
|
|
||||||
/***** Form to ask for confirmation to remove this social post *****/
|
/***** Form to ask for confirmation to remove this social post *****/
|
||||||
/* Start form */
|
/* Start form */
|
||||||
|
|
|
@ -91,15 +91,15 @@ typedef enum
|
||||||
/****************************** Public prototypes ****************************/
|
/****************************** Public prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_ShowTimelineUsr (void);
|
|
||||||
void Soc_ShowTimelineGbl (void);
|
void Soc_ShowTimelineGbl (void);
|
||||||
|
void Soc_ShowTimelineUsr (void);
|
||||||
|
|
||||||
void Soc_RefreshNewTimelineGbl (void);
|
void Soc_RefreshNewTimelineGbl (void);
|
||||||
|
|
||||||
void Soc_RefreshOldTimelineUsr (void);
|
|
||||||
void Soc_RefreshOldTimelineGbl (void);
|
void Soc_RefreshOldTimelineGbl (void);
|
||||||
|
void Soc_RefreshOldTimelineUsr (void);
|
||||||
|
|
||||||
void Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod);
|
long Soc_StoreAndPublishSocialNote (Soc_NoteType_t NoteType,long Cod);
|
||||||
void Soc_MarkSocialNoteAsUnavailableUsingNotCod (long NotCod);
|
void Soc_MarkSocialNoteAsUnavailableUsingNotCod (long NotCod);
|
||||||
void Soc_MarkSocialNoteAsUnavailableUsingNoteTypeAndCod (Soc_NoteType_t NoteType,long Cod);
|
void Soc_MarkSocialNoteAsUnavailableUsingNoteTypeAndCod (Soc_NoteType_t NoteType,long Cod);
|
||||||
void Soc_MarkSocialNoteOneFileAsRemoved (const char *Path);
|
void Soc_MarkSocialNoteOneFileAsRemoved (const char *Path);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user