mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-18 14:35:46 +02:00
Version 18.9
This commit is contained in:
parent
69f57ed8fb
commit
b2037c42ac
|
@ -355,10 +355,11 @@ En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 18.8.18 (2018-10-28)"
|
#define Log_PLATFORM_VERSION "SWAD 18.9 (2018-10-28)"
|
||||||
#define CSS_FILE "swad18.4.css"
|
#define CSS_FILE "swad18.4.css"
|
||||||
#define JS_FILE "swad17.17.1.js"
|
#define JS_FILE "swad17.17.1.js"
|
||||||
/*
|
/*
|
||||||
|
Version 18.9: Oct 28, 2018 Some sprintf for database queries changed by internal function. (236082 lines)
|
||||||
Version 18.8.18: Oct 28, 2018 Some asprintf for database queries changed by internal function. (236105 lines)
|
Version 18.8.18: Oct 28, 2018 Some asprintf for database queries changed by internal function. (236105 lines)
|
||||||
Version 18.8.17: Oct 28, 2018 Some asprintf for database queries changed by internal function. (236116 lines)
|
Version 18.8.17: Oct 28, 2018 Some asprintf for database queries changed by internal function. (236116 lines)
|
||||||
Version 18.8.16: Oct 28, 2018 Some asprintf for database queries changed by internal function. (236263 lines)
|
Version 18.8.16: Oct 28, 2018 Some asprintf for database queries changed by internal function. (236263 lines)
|
||||||
|
|
|
@ -3359,13 +3359,6 @@ void DB_Query_new (const char *MsgError)
|
||||||
DB_ExitOnMySQLError (MsgError);
|
DB_ExitOnMySQLError (MsgError);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DB_Query (const char *Query,const char *MsgError)
|
|
||||||
{
|
|
||||||
/***** Query database *****/
|
|
||||||
if (mysql_query (&Gbl.mysql,Query))
|
|
||||||
DB_ExitOnMySQLError (MsgError);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/********** Free structure that stores the result of a SELECT query **********/
|
/********** Free structure that stores the result of a SELECT query **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -61,7 +61,6 @@ void DB_QueryDELETE_new (const char *MsgError);
|
||||||
void DB_QueryDELETE (const char *Query,const char *MsgError);
|
void DB_QueryDELETE (const char *Query,const char *MsgError);
|
||||||
|
|
||||||
void DB_Query_new (const char *MsgError);
|
void DB_Query_new (const char *MsgError);
|
||||||
void DB_Query (const char *Query,const char *MsgError);
|
|
||||||
void DB_FreeMySQLResult (MYSQL_RES **mysql_res);
|
void DB_FreeMySQLResult (MYSQL_RES **mysql_res);
|
||||||
void DB_ExitOnMySQLError (const char *Message);
|
void DB_ExitOnMySQLError (const char *Message);
|
||||||
|
|
||||||
|
|
|
@ -1437,9 +1437,7 @@ static void Rep_RemoveUsrReportsFiles (long UsrCod)
|
||||||
|
|
||||||
static void Rep_RemoveUsrReportsFromDB (long UsrCod)
|
static void Rep_RemoveUsrReportsFromDB (long UsrCod)
|
||||||
{
|
{
|
||||||
char Query[128];
|
|
||||||
|
|
||||||
/***** Insert a new user's usage report into database *****/
|
/***** Insert a new user's usage report into database *****/
|
||||||
sprintf (Query,"DELETE FROM usr_report WHERE UsrCod=%ld",UsrCod);
|
DB_BuildQuery ("DELETE FROM usr_report WHERE UsrCod=%ld",UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove user's usage reports");
|
DB_QueryDELETE_new ("can not remove user's usage reports");
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,12 +230,9 @@ void Ses_UpdateSessionLastRefreshInDB (void)
|
||||||
|
|
||||||
static void Ses_RemoveSessionFromDB (void)
|
static void Ses_RemoveSessionFromDB (void)
|
||||||
{
|
{
|
||||||
char Query[128 + Cns_BYTES_SESSION_ID];
|
|
||||||
|
|
||||||
/***** Remove current session *****/
|
/***** Remove current session *****/
|
||||||
sprintf (Query,"DELETE FROM sessions WHERE SessionId='%s'",
|
DB_BuildQuery ("DELETE FROM sessions WHERE SessionId='%s'",Gbl.Session.Id);
|
||||||
Gbl.Session.Id);
|
DB_QueryDELETE_new ("can not remove a session");
|
||||||
DB_QueryDELETE (Query,"can not remove a session");
|
|
||||||
|
|
||||||
/***** Clear old unused social timelines in database *****/
|
/***** Clear old unused social timelines in database *****/
|
||||||
// This is necessary to prevent the table growing and growing
|
// This is necessary to prevent the table growing and growing
|
||||||
|
@ -248,22 +245,20 @@ static void Ses_RemoveSessionFromDB (void)
|
||||||
|
|
||||||
void Ses_RemoveExpiredSessions (void)
|
void Ses_RemoveExpiredSessions (void)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
|
||||||
|
|
||||||
/***** Remove expired sessions *****/
|
/***** Remove expired sessions *****/
|
||||||
/* A session expire
|
/* A session expire
|
||||||
when last click (LastTime) is too old,
|
when last click (LastTime) is too old,
|
||||||
or (when there was at least one refresh (navigator supports AJAX)
|
or (when there was at least one refresh (navigator supports AJAX)
|
||||||
and last refresh is too old (browser probably was closed)) */
|
and last refresh is too old (browser probably was closed)) */
|
||||||
sprintf (Query,"DELETE LOW_PRIORITY FROM sessions WHERE"
|
DB_BuildQuery ("DELETE LOW_PRIORITY FROM sessions WHERE"
|
||||||
" LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu')"
|
" LastTime<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu')"
|
||||||
" OR "
|
" OR "
|
||||||
"(LastRefresh>LastTime+INTERVAL 1 SECOND"
|
"(LastRefresh>LastTime+INTERVAL 1 SECOND"
|
||||||
" AND"
|
" AND"
|
||||||
" LastRefresh<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu'))",
|
" LastRefresh<FROM_UNIXTIME(UNIX_TIMESTAMP()-'%lu'))",
|
||||||
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_CLICK,
|
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_CLICK,
|
||||||
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_REFRESH);
|
Cfg_TIME_TO_CLOSE_SESSION_FROM_LAST_REFRESH);
|
||||||
DB_QueryDELETE (Query,"can not remove expired sessions");
|
DB_QueryDELETE_new ("can not remove expired sessions");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -398,15 +393,13 @@ void Ses_InsertHiddenParInDB (Act_Action_t NextAction,
|
||||||
|
|
||||||
void Ses_RemoveHiddenParFromThisSession (void)
|
void Ses_RemoveHiddenParFromThisSession (void)
|
||||||
{
|
{
|
||||||
char Query[128 + Cns_BYTES_SESSION_ID];
|
|
||||||
|
|
||||||
if (Gbl.Session.IsOpen && // There is an open session
|
if (Gbl.Session.IsOpen && // There is an open session
|
||||||
!Gbl.HiddenParamsInsertedIntoDB) // No params just inserted
|
!Gbl.HiddenParamsInsertedIntoDB) // No params just inserted
|
||||||
{
|
{
|
||||||
/***** Remove hidden parameters of this session *****/
|
/***** Remove hidden parameters of this session *****/
|
||||||
sprintf (Query,"DELETE FROM hidden_params WHERE SessionId='%s'",
|
DB_BuildQuery ("DELETE FROM hidden_params WHERE SessionId='%s'",
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
DB_QueryDELETE (Query,"can not remove hidden parameters of current session");
|
DB_QueryDELETE_new ("can not remove hidden parameters of current session");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -416,12 +409,10 @@ void Ses_RemoveHiddenParFromThisSession (void)
|
||||||
|
|
||||||
void Ses_RemoveHiddenParFromExpiredSessions (void)
|
void Ses_RemoveHiddenParFromExpiredSessions (void)
|
||||||
{
|
{
|
||||||
char Query[256];
|
|
||||||
|
|
||||||
/***** Remove hidden parameters from expired sessions *****/
|
/***** Remove hidden parameters from expired sessions *****/
|
||||||
sprintf (Query,"DELETE FROM hidden_params"
|
DB_BuildQuery ("DELETE FROM hidden_params"
|
||||||
" WHERE SessionId NOT IN (SELECT SessionId FROM sessions)");
|
" WHERE SessionId NOT IN (SELECT SessionId FROM sessions)");
|
||||||
DB_QueryDELETE (Query,"can not remove hidden parameters of expired sessions");
|
DB_QueryDELETE_new ("can not remove hidden parameters of expired sessions");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
185
swad_social.c
185
swad_social.c
|
@ -3398,7 +3398,6 @@ void Soc_UnshareSocialNoteUsr (void)
|
||||||
static long Soc_UnshareSocialNote (void)
|
static long Soc_UnshareSocialNote (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_The_original_post_no_longer_exists;
|
extern const char *Txt_The_original_post_no_longer_exists;
|
||||||
char Query[256];
|
|
||||||
struct SocialNote SocNot;
|
struct SocialNote SocNot;
|
||||||
long OriginalPubCod;
|
long OriginalPubCod;
|
||||||
bool ItsMe;
|
bool ItsMe;
|
||||||
|
@ -3416,14 +3415,14 @@ static long Soc_UnshareSocialNote (void)
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I am a sharer
|
Gbl.Usrs.Me.UsrDat.UsrCod)) // I am a sharer
|
||||||
{
|
{
|
||||||
/***** Delete social publishing from database *****/
|
/***** Delete social publishing from database *****/
|
||||||
sprintf (Query,"DELETE FROM social_pubs"
|
DB_BuildQuery ("DELETE FROM social_pubs"
|
||||||
" WHERE NotCod=%ld"
|
" WHERE NotCod=%ld"
|
||||||
" AND PublisherCod=%ld"
|
" AND PublisherCod=%ld"
|
||||||
" AND PubType=%u",
|
" AND PubType=%u",
|
||||||
SocNot.NotCod,
|
SocNot.NotCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
(unsigned) Soc_PUB_SHARED_NOTE);
|
(unsigned) Soc_PUB_SHARED_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove a social publishing");
|
DB_QueryDELETE_new ("can not remove a social publishing");
|
||||||
|
|
||||||
/***** Update number of times this social note is shared *****/
|
/***** Update number of times this social note is shared *****/
|
||||||
SocNot.NumShared = Soc_UpdateNumTimesANoteHasBeenShared (&SocNot);
|
SocNot.NumShared = Soc_UpdateNumTimesANoteHasBeenShared (&SocNot);
|
||||||
|
@ -3488,7 +3487,6 @@ static long Soc_UnfavSocialNote (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_The_original_post_no_longer_exists;
|
extern const char *Txt_The_original_post_no_longer_exists;
|
||||||
struct SocialNote SocNot;
|
struct SocialNote SocNot;
|
||||||
char Query[256];
|
|
||||||
long OriginalPubCod;
|
long OriginalPubCod;
|
||||||
bool ItsMe;
|
bool ItsMe;
|
||||||
|
|
||||||
|
@ -3505,11 +3503,11 @@ static long Soc_UnfavSocialNote (void)
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited the note
|
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited the note
|
||||||
{
|
{
|
||||||
/***** Delete the mark as favourite from database *****/
|
/***** Delete the mark as favourite from database *****/
|
||||||
sprintf (Query,"DELETE FROM social_notes_fav"
|
DB_BuildQuery ("DELETE FROM social_notes_fav"
|
||||||
" WHERE NotCod=%ld AND UsrCod=%ld",
|
" WHERE NotCod=%ld AND UsrCod=%ld",
|
||||||
SocNot.NotCod,
|
SocNot.NotCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not unfavourite social note");
|
DB_QueryDELETE_new ("can not unfavourite social note");
|
||||||
|
|
||||||
/***** Update number of times this social note is favourited *****/
|
/***** Update number of times this social note is favourited *****/
|
||||||
SocNot.NumFavs = Soc_GetNumTimesANoteHasBeenFav (&SocNot);
|
SocNot.NumFavs = Soc_GetNumTimesANoteHasBeenFav (&SocNot);
|
||||||
|
@ -3574,7 +3572,6 @@ static long Soc_UnfavSocialComment (void)
|
||||||
extern const char *Txt_The_comment_no_longer_exists;
|
extern const char *Txt_The_comment_no_longer_exists;
|
||||||
struct SocialComment SocCom;
|
struct SocialComment SocCom;
|
||||||
bool ItsMe;
|
bool ItsMe;
|
||||||
char Query[256];
|
|
||||||
|
|
||||||
/***** Initialize image *****/
|
/***** Initialize image *****/
|
||||||
Img_ImageConstructor (&SocCom.Image);
|
Img_ImageConstructor (&SocCom.Image);
|
||||||
|
@ -3592,11 +3589,11 @@ static long Soc_UnfavSocialComment (void)
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited the comment
|
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited the comment
|
||||||
{
|
{
|
||||||
/***** Delete the mark as favourite from database *****/
|
/***** Delete the mark as favourite from database *****/
|
||||||
sprintf (Query,"DELETE FROM social_comments_fav"
|
DB_BuildQuery ("DELETE FROM social_comments_fav"
|
||||||
" WHERE PubCod=%ld AND UsrCod=%ld",
|
" WHERE PubCod=%ld AND UsrCod=%ld",
|
||||||
SocCom.PubCod,
|
SocCom.PubCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not unfavourite social comment");
|
DB_QueryDELETE_new ("can not unfavourite social comment");
|
||||||
|
|
||||||
/***** Update number of times this social comment is favourited *****/
|
/***** Update number of times this social comment is favourited *****/
|
||||||
SocCom.NumFavs = Soc_GetNumTimesACommHasBeenFav (&SocCom);
|
SocCom.NumFavs = Soc_GetNumTimesACommHasBeenFav (&SocCom);
|
||||||
|
@ -3805,7 +3802,6 @@ static void Soc_RemoveImgFileFromSocialPost (long PstCod)
|
||||||
|
|
||||||
static void Soc_RemoveASocialNoteFromDB (struct SocialNote *SocNot)
|
static void Soc_RemoveASocialNoteFromDB (struct SocialNote *SocNot)
|
||||||
{
|
{
|
||||||
char Query[512];
|
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
long PubCod;
|
long PubCod;
|
||||||
|
@ -3825,10 +3821,10 @@ static void Soc_RemoveASocialNoteFromDB (struct SocialNote *SocNot)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get comments of this social note */
|
/* Get comments of this social note */
|
||||||
sprintf (Query,"SELECT PubCod FROM social_pubs"
|
DB_BuildQuery ("SELECT PubCod FROM social_pubs"
|
||||||
" WHERE NotCod=%ld AND PubType=%u",
|
" WHERE NotCod=%ld AND PubType=%u",
|
||||||
SocNot->NotCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
SocNot->NotCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
NumComments = DB_QuerySELECT (Query,&mysql_res,"can not get social comments");
|
NumComments = DB_QuerySELECT_new (&mysql_res,"can not get social comments");
|
||||||
|
|
||||||
/* For each comment... */
|
/* For each comment... */
|
||||||
for (NumCom = 0;
|
for (NumCom = 0;
|
||||||
|
@ -3853,48 +3849,46 @@ static void Soc_RemoveASocialNoteFromDB (struct SocialNote *SocNot)
|
||||||
|
|
||||||
/***** Remove favs *****/
|
/***** Remove favs *****/
|
||||||
/* Remove favs for all comments in this note */
|
/* Remove favs for all comments in this note */
|
||||||
sprintf (Query,"DELETE FROM social_comments_fav"
|
DB_BuildQuery ("DELETE FROM social_comments_fav"
|
||||||
" USING social_pubs,social_comments_fav"
|
" USING social_pubs,social_comments_fav"
|
||||||
" WHERE social_pubs.NotCod=%ld"
|
" WHERE social_pubs.NotCod=%ld"
|
||||||
" AND social_pubs.PubType=%u"
|
" AND social_pubs.PubType=%u"
|
||||||
" AND social_pubs.PubCod=social_comments_fav.PubCod",
|
" AND social_pubs.PubCod=social_comments_fav.PubCod",
|
||||||
SocNot->NotCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
SocNot->NotCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove favs for social note");
|
DB_QueryDELETE_new ("can not remove favs for social note");
|
||||||
|
|
||||||
/* Remove favs for this note */
|
/* Remove favs for this note */
|
||||||
sprintf (Query,"DELETE FROM social_notes_fav WHERE NotCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_notes_fav WHERE NotCod=%ld",
|
||||||
SocNot->NotCod);
|
SocNot->NotCod);
|
||||||
DB_QueryDELETE (Query,"can not remove favs for social note");
|
DB_QueryDELETE_new ("can not remove favs for social note");
|
||||||
|
|
||||||
/***** Remove content of the comments of this social note *****/
|
/***** Remove content of the comments of this social note *****/
|
||||||
sprintf (Query,"DELETE FROM social_comments"
|
DB_BuildQuery ("DELETE FROM social_comments"
|
||||||
" USING social_pubs,social_comments"
|
" USING social_pubs,social_comments"
|
||||||
" WHERE social_pubs.NotCod=%ld"
|
" WHERE social_pubs.NotCod=%ld"
|
||||||
" AND social_pubs.PubType=%u"
|
" AND social_pubs.PubType=%u"
|
||||||
" AND social_pubs.PubCod=social_comments.PubCod",
|
" AND social_pubs.PubCod=social_comments.PubCod",
|
||||||
SocNot->NotCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
SocNot->NotCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove social comments");
|
DB_QueryDELETE_new ("can not remove social comments");
|
||||||
|
|
||||||
/***** Remove all the social publishings of this note *****/
|
/***** Remove all the social publishings of this note *****/
|
||||||
sprintf (Query,"DELETE FROM social_pubs WHERE NotCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_pubs WHERE NotCod=%ld",
|
||||||
SocNot->NotCod);
|
SocNot->NotCod);
|
||||||
DB_QueryDELETE (Query,"can not remove a social publishing");
|
DB_QueryDELETE_new ("can not remove a social publishing");
|
||||||
|
|
||||||
/***** Remove social note *****/
|
/***** Remove social note *****/
|
||||||
sprintf (Query,"DELETE FROM social_notes"
|
DB_BuildQuery ("DELETE FROM social_notes"
|
||||||
" WHERE NotCod=%ld"
|
" WHERE NotCod=%ld"
|
||||||
" AND UsrCod=%ld", // Extra check: I am the author
|
" AND UsrCod=%ld", // Extra check: I am the author
|
||||||
SocNot->NotCod,
|
SocNot->NotCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove a social note");
|
DB_QueryDELETE_new ("can not remove a social note");
|
||||||
|
|
||||||
if (SocNot->NoteType == Soc_NOTE_SOCIAL_POST)
|
if (SocNot->NoteType == Soc_NOTE_SOCIAL_POST)
|
||||||
{
|
{
|
||||||
/***** Remove social post *****/
|
/***** Remove social post *****/
|
||||||
sprintf (Query,"DELETE FROM social_posts"
|
DB_BuildQuery ("DELETE FROM social_posts WHERE PstCod=%ld",SocNot->Cod);
|
||||||
" WHERE PstCod=%ld",
|
DB_QueryDELETE_new ("can not remove a social post");
|
||||||
SocNot->Cod);
|
|
||||||
DB_QueryDELETE (Query,"can not remove a social post");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Reset social note *****/
|
/***** Reset social note *****/
|
||||||
|
@ -4153,32 +4147,30 @@ static void Soc_RemoveImgFileFromSocialComment (long PubCod)
|
||||||
|
|
||||||
static void Soc_RemoveASocialCommentFromDB (struct SocialComment *SocCom)
|
static void Soc_RemoveASocialCommentFromDB (struct SocialComment *SocCom)
|
||||||
{
|
{
|
||||||
char Query[128];
|
|
||||||
|
|
||||||
/***** Mark possible notifications on this comment as removed *****/
|
/***** Mark possible notifications on this comment as removed *****/
|
||||||
Ntf_MarkNotifAsRemoved (Ntf_EVENT_TIMELINE_COMMENT,SocCom->PubCod);
|
Ntf_MarkNotifAsRemoved (Ntf_EVENT_TIMELINE_COMMENT,SocCom->PubCod);
|
||||||
Ntf_MarkNotifAsRemoved (Ntf_EVENT_TIMELINE_FAV ,SocCom->PubCod);
|
Ntf_MarkNotifAsRemoved (Ntf_EVENT_TIMELINE_FAV ,SocCom->PubCod);
|
||||||
Ntf_MarkNotifAsRemoved (Ntf_EVENT_TIMELINE_MENTION,SocCom->PubCod);
|
Ntf_MarkNotifAsRemoved (Ntf_EVENT_TIMELINE_MENTION,SocCom->PubCod);
|
||||||
|
|
||||||
/***** Remove favs for this comment *****/
|
/***** Remove favs for this comment *****/
|
||||||
sprintf (Query,"DELETE FROM social_comments_fav WHERE PubCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_comments_fav WHERE PubCod=%ld",
|
||||||
SocCom->PubCod);
|
SocCom->PubCod);
|
||||||
DB_QueryDELETE (Query,"can not remove favs for social comment");
|
DB_QueryDELETE_new ("can not remove favs for social comment");
|
||||||
|
|
||||||
/***** Remove content of this social comment *****/
|
/***** Remove content of this social comment *****/
|
||||||
sprintf (Query,"DELETE FROM social_comments WHERE PubCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_comments WHERE PubCod=%ld",
|
||||||
SocCom->PubCod);
|
SocCom->PubCod);
|
||||||
DB_QueryDELETE (Query,"can not remove a social comment");
|
DB_QueryDELETE_new ("can not remove a social comment");
|
||||||
|
|
||||||
/***** Remove this social comment *****/
|
/***** Remove this social comment *****/
|
||||||
sprintf (Query,"DELETE FROM social_pubs"
|
DB_BuildQuery ("DELETE FROM social_pubs"
|
||||||
" WHERE PubCod=%ld"
|
" WHERE PubCod=%ld"
|
||||||
" AND PublisherCod=%ld" // Extra check: I am the author
|
" AND PublisherCod=%ld" // Extra check: I am the author
|
||||||
" AND PubType=%u", // Extra check: it's a comment
|
" AND PubType=%u", // Extra check: it's a comment
|
||||||
SocCom->PubCod,
|
SocCom->PubCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove a social comment");
|
DB_QueryDELETE_new ("can not remove a social comment");
|
||||||
|
|
||||||
/***** Reset social comment *****/
|
/***** Reset social comment *****/
|
||||||
Soc_ResetSocialComment (SocCom);
|
Soc_ResetSocialComment (SocCom);
|
||||||
|
@ -4190,101 +4182,98 @@ static void Soc_RemoveASocialCommentFromDB (struct SocialComment *SocCom)
|
||||||
|
|
||||||
void Soc_RemoveUsrSocialContent (long UsrCod)
|
void Soc_RemoveUsrSocialContent (long UsrCod)
|
||||||
{
|
{
|
||||||
char Query[512];
|
|
||||||
|
|
||||||
/***** Remove favs for comments *****/
|
/***** Remove favs for comments *****/
|
||||||
/* Remove all favs made by this user in any social comment */
|
/* Remove all favs made by this user in any social comment */
|
||||||
sprintf (Query,"DELETE FROM social_comments_fav WHERE UsrCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_comments_fav WHERE UsrCod=%ld",UsrCod);
|
||||||
UsrCod);
|
DB_QueryDELETE_new ("can not remove favs");
|
||||||
DB_QueryDELETE (Query,"can not remove favs");
|
|
||||||
|
|
||||||
/* Remove all favs for all comments of this user */
|
/* Remove all favs for all comments of this user */
|
||||||
sprintf (Query,"DELETE FROM social_comments_fav"
|
DB_BuildQuery ("DELETE FROM social_comments_fav"
|
||||||
" USING social_pubs,social_comments_fav"
|
" USING social_pubs,social_comments_fav"
|
||||||
" WHERE social_pubs.PublisherCod=%ld" // Author of the comment
|
" WHERE social_pubs.PublisherCod=%ld" // Author of the comment
|
||||||
" AND social_pubs.PubType=%u"
|
" AND social_pubs.PubType=%u"
|
||||||
" AND social_pubs.PubCod=social_comments_fav.PubCod",
|
" AND social_pubs.PubCod=social_comments_fav.PubCod",
|
||||||
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove favs");
|
DB_QueryDELETE_new ("can not remove favs");
|
||||||
|
|
||||||
/* Remove all favs for all comments in all the social notes of the user */
|
/* Remove all favs for all comments in all the social notes of the user */
|
||||||
sprintf (Query,"DELETE FROM social_comments_fav"
|
DB_BuildQuery ("DELETE FROM social_comments_fav"
|
||||||
" USING social_notes,social_pubs,social_comments_fav"
|
" USING social_notes,social_pubs,social_comments_fav"
|
||||||
" WHERE social_notes.UsrCod=%ld" // Author of the note
|
" WHERE social_notes.UsrCod=%ld" // Author of the note
|
||||||
" AND social_notes.NotCod=social_pubs.NotCod"
|
" AND social_notes.NotCod=social_pubs.NotCod"
|
||||||
" AND social_pubs.PubType=%u"
|
" AND social_pubs.PubType=%u"
|
||||||
" AND social_pubs.PubCod=social_comments_fav.PubCod",
|
" AND social_pubs.PubCod=social_comments_fav.PubCod",
|
||||||
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove social comments");
|
DB_QueryDELETE_new ("can not remove social comments");
|
||||||
|
|
||||||
/***** Remove favs for notes *****/
|
/***** Remove favs for notes *****/
|
||||||
/* Remove all favs made by this user in any social note */
|
/* Remove all favs made by this user in any social note */
|
||||||
sprintf (Query,"DELETE FROM social_notes_fav WHERE UsrCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_notes_fav WHERE UsrCod=%ld",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove favs");
|
DB_QueryDELETE_new ("can not remove favs");
|
||||||
|
|
||||||
/* Remove all favs for all notes of this user */
|
/* Remove all favs for all notes of this user */
|
||||||
sprintf (Query,"DELETE FROM social_notes_fav"
|
DB_BuildQuery ("DELETE FROM social_notes_fav"
|
||||||
" USING social_notes,social_notes_fav"
|
" USING social_notes,social_notes_fav"
|
||||||
" WHERE social_notes.UsrCod=%ld" // Author of the note
|
" WHERE social_notes.UsrCod=%ld" // Author of the note
|
||||||
" AND social_notes.NotCod=social_notes_fav.NotCod",
|
" AND social_notes.NotCod=social_notes_fav.NotCod",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove favs");
|
DB_QueryDELETE_new ("can not remove favs");
|
||||||
|
|
||||||
/***** Remove social comments *****/
|
/***** Remove social comments *****/
|
||||||
/* Remove content of all the comments in all the social notes of the user */
|
/* Remove content of all the comments in all the social notes of the user */
|
||||||
sprintf (Query,"DELETE FROM social_comments"
|
DB_BuildQuery ("DELETE FROM social_comments"
|
||||||
" USING social_notes,social_pubs,social_comments"
|
" USING social_notes,social_pubs,social_comments"
|
||||||
" WHERE social_notes.UsrCod=%ld"
|
" WHERE social_notes.UsrCod=%ld"
|
||||||
" AND social_notes.NotCod=social_pubs.NotCod"
|
" AND social_notes.NotCod=social_pubs.NotCod"
|
||||||
" AND social_pubs.PubType=%u"
|
" AND social_pubs.PubType=%u"
|
||||||
" AND social_pubs.PubCod=social_comments.PubCod",
|
" AND social_pubs.PubCod=social_comments.PubCod",
|
||||||
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove social comments");
|
DB_QueryDELETE_new ("can not remove social comments");
|
||||||
|
|
||||||
/* Remove all the comments from any user in any social note of the user */
|
/* Remove all the comments from any user in any social note of the user */
|
||||||
sprintf (Query,"DELETE FROM social_pubs"
|
DB_BuildQuery ("DELETE FROM social_pubs"
|
||||||
" USING social_notes,social_pubs"
|
" USING social_notes,social_pubs"
|
||||||
" WHERE social_notes.UsrCod=%ld"
|
" WHERE social_notes.UsrCod=%ld"
|
||||||
" AND social_notes.NotCod=social_pubs.NotCod"
|
" AND social_notes.NotCod=social_pubs.NotCod"
|
||||||
" AND social_pubs.PubType=%u",
|
" AND social_pubs.PubType=%u",
|
||||||
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove social comments");
|
DB_QueryDELETE_new ("can not remove social comments");
|
||||||
|
|
||||||
/* Remove content of all the comments of the user in any social note */
|
/* Remove content of all the comments of the user in any social note */
|
||||||
sprintf (Query,"DELETE FROM social_comments"
|
DB_BuildQuery ("DELETE FROM social_comments"
|
||||||
" USING social_pubs,social_comments"
|
" USING social_pubs,social_comments"
|
||||||
" WHERE social_pubs.PublisherCod=%ld"
|
" WHERE social_pubs.PublisherCod=%ld"
|
||||||
" AND social_pubs.PubType=%u"
|
" AND social_pubs.PubType=%u"
|
||||||
" AND social_pubs.PubCod=social_comments.PubCod",
|
" AND social_pubs.PubCod=social_comments.PubCod",
|
||||||
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
UsrCod,(unsigned) Soc_PUB_COMMENT_TO_NOTE);
|
||||||
DB_QueryDELETE (Query,"can not remove social comments");
|
DB_QueryDELETE_new ("can not remove social comments");
|
||||||
|
|
||||||
/***** Remove all the social posts of the user *****/
|
/***** Remove all the social posts of the user *****/
|
||||||
sprintf (Query,"DELETE FROM social_posts"
|
DB_BuildQuery ("DELETE FROM social_posts"
|
||||||
" WHERE PstCod IN"
|
" WHERE PstCod IN"
|
||||||
" (SELECT Cod FROM social_notes"
|
" (SELECT Cod FROM social_notes"
|
||||||
" WHERE UsrCod=%ld AND NoteType=%u)",
|
" WHERE UsrCod=%ld AND NoteType=%u)",
|
||||||
UsrCod,(unsigned) Soc_NOTE_SOCIAL_POST);
|
UsrCod,(unsigned) Soc_NOTE_SOCIAL_POST);
|
||||||
DB_QueryDELETE (Query,"can not remove social posts");
|
DB_QueryDELETE_new ("can not remove social posts");
|
||||||
|
|
||||||
/***** Remove all the social publishings of any user authored by the user *****/
|
/***** Remove all the social publishings of any user authored by the user *****/
|
||||||
sprintf (Query,"DELETE FROM social_pubs"
|
DB_BuildQuery ("DELETE FROM social_pubs"
|
||||||
" USING social_notes,social_pubs"
|
" USING social_notes,social_pubs"
|
||||||
" WHERE social_notes.UsrCod=%ld"
|
" WHERE social_notes.UsrCod=%ld"
|
||||||
" AND social_notes.NotCod=social_pubs.NotCod",
|
" AND social_notes.NotCod=social_pubs.NotCod",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove social publishings");
|
DB_QueryDELETE_new ("can not remove social publishings");
|
||||||
|
|
||||||
/***** Remove all the social publishings of the user *****/
|
/***** Remove all the social publishings of the user *****/
|
||||||
sprintf (Query,"DELETE FROM social_pubs WHERE PublisherCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_pubs WHERE PublisherCod=%ld",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove social publishings");
|
DB_QueryDELETE_new ("can not remove social publishings");
|
||||||
|
|
||||||
/***** Remove all the social notes of the user *****/
|
/***** Remove all the social notes of the user *****/
|
||||||
sprintf (Query,"DELETE FROM social_notes WHERE UsrCod=%ld",
|
DB_BuildQuery ("DELETE FROM social_notes WHERE UsrCod=%ld",
|
||||||
UsrCod);
|
UsrCod);
|
||||||
DB_QueryDELETE (Query,"can not remove social notes");
|
DB_QueryDELETE_new ("can not remove social notes");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -4761,12 +4750,10 @@ static void Soc_ResetSocialComment (struct SocialComment *SocCom)
|
||||||
|
|
||||||
void Soc_ClearOldTimelinesDB (void)
|
void Soc_ClearOldTimelinesDB (void)
|
||||||
{
|
{
|
||||||
char Query[256];
|
|
||||||
|
|
||||||
/***** Remove social timelines for expired sessions *****/
|
/***** Remove social timelines for expired sessions *****/
|
||||||
sprintf (Query,"DELETE LOW_PRIORITY FROM social_timelines"
|
DB_BuildQuery ("DELETE LOW_PRIORITY FROM social_timelines"
|
||||||
" WHERE SessionId NOT IN (SELECT SessionId FROM sessions)");
|
" WHERE SessionId NOT IN (SELECT SessionId FROM sessions)");
|
||||||
DB_QueryDELETE (Query,"can not remove old social timelines");
|
DB_QueryDELETE_new ("can not remove old social timelines");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -4775,12 +4762,10 @@ void Soc_ClearOldTimelinesDB (void)
|
||||||
|
|
||||||
static void Soc_ClearTimelineThisSession (void)
|
static void Soc_ClearTimelineThisSession (void)
|
||||||
{
|
{
|
||||||
char Query[128 + Cns_BYTES_SESSION_ID];
|
|
||||||
|
|
||||||
/***** Remove social timeline for this session *****/
|
/***** Remove social timeline for this session *****/
|
||||||
sprintf (Query,"DELETE FROM social_timelines WHERE SessionId='%s'",
|
DB_BuildQuery ("DELETE FROM social_timelines WHERE SessionId='%s'",
|
||||||
Gbl.Session.Id);
|
Gbl.Session.Id);
|
||||||
DB_QueryDELETE (Query,"can not remove social timeline");
|
DB_QueryDELETE_new ("can not remove social timeline");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue
Block a user