Version 20.41.1: Mar 03, 2021 Code refactoring in timeline posts.

This commit is contained in:
acanas 2021-03-03 21:36:16 +01:00
parent f0a20654b0
commit cae52f721c
9 changed files with 54 additions and 27 deletions

View File

@ -598,10 +598,11 @@ TODO: DNI de un estudiante sale err
TODO: BUG: Cuando un tipo de grupo sólo tiene un grupo, inscribirse es voluntario, el estudiante sólo puede pertenecer a un grupo, y se inscribe en él, debería poder desapuntarse. Ahora no puede. TODO: BUG: Cuando un tipo de grupo sólo tiene un grupo, inscribirse es voluntario, el estudiante sólo puede pertenecer a un grupo, y se inscribe en él, debería poder desapuntarse. Ahora no puede.
TODO: Salvador Romero Cortés: @acanas opción para editar posts TODO: Salvador Romero Cortés: @acanas opción para editar posts
*/ */
#define Log_PLATFORM_VERSION "SWAD 20.41 (2021-03-03)" #define Log_PLATFORM_VERSION "SWAD 20.41.1 (2021-03-03)"
#define CSS_FILE "swad20.33.9.css" #define CSS_FILE "swad20.33.9.css"
#define JS_FILE "swad20.6.2.js" #define JS_FILE "swad20.6.2.js"
/* /*
Version 20.41.1: Mar 03, 2021 Code refactoring in timeline posts. (305563 lines)
Version 20.41: Mar 03, 2021 Code refactoring in timeline comments. (305542 lines) Version 20.41: Mar 03, 2021 Code refactoring in timeline comments. (305542 lines)
Version 20.40.3: Mar 03, 2021 Code refactoring in timeline. (305528 lines) Version 20.40.3: Mar 03, 2021 Code refactoring in timeline. (305528 lines)
Version 20.40.2: Mar 03, 2021 Code refactoring in fav/share timeline. (305519 lines) Version 20.40.2: Mar 03, 2021 Code refactoring in fav/share timeline. (305519 lines)

View File

@ -1401,7 +1401,8 @@ void Med_ShowMedia (const struct Med_Media *Media,
char PathMedPriv[PATH_MAX + 1]; char PathMedPriv[PATH_MAX + 1];
/***** If no media to show ==> nothing to do *****/ /***** If no media to show ==> nothing to do *****/
if (Media->Status != Med_STORED_IN_DB || if (Media->MedCod <= 0 ||
Media->Status != Med_STORED_IN_DB ||
Media->Type == Med_TYPE_NONE) Media->Type == Med_TYPE_NONE)
return; return;

View File

@ -738,7 +738,7 @@ void TL_Com_ReceiveCommGbl (void)
static long TL_Com_ReceiveComm (void) static long TL_Com_ReceiveComm (void)
{ {
extern const char *Txt_The_post_no_longer_exists; extern const char *Txt_The_post_no_longer_exists;
struct TL_Pst_PostContent Content; struct TL_Pst_Content Content;
struct TL_Not_Note Not; struct TL_Not_Note Not;
struct TL_Pub_Publication Pub; struct TL_Pub_Publication Pub;

View File

@ -45,7 +45,7 @@ struct TL_Com_Comment
long NotCod; // Note code to which this comment belongs long NotCod; // Note code to which this comment belongs
time_t DateTimeUTC; // Date-time of publication in UTC time time_t DateTimeUTC; // Date-time of publication in UTC time
unsigned NumFavs; // Number of times (users) this comment has been favourited unsigned NumFavs; // Number of times (users) this comment has been favourited
struct TL_Pst_PostContent Content; struct TL_Pst_Content Content;
}; };
/*****************************************************************************/ /*****************************************************************************/

View File

@ -422,7 +422,7 @@ long TL_DB_GetMedCodFromPost (long PstCod)
/*****************************************************************************/ /*****************************************************************************/
// Returns code of just created post // Returns code of just created post
long TL_DB_CreateNewPost (const struct TL_Pst_PostContent *Content) long TL_DB_CreateNewPost (const struct TL_Pst_Content *Content)
{ {
/***** Insert post content in the database *****/ /***** Insert post content in the database *****/
return return
@ -580,7 +580,7 @@ unsigned TL_DB_GetDataOfCommByCod (long PubCod,MYSQL_RES **mysql_res)
/*****************************************************************************/ /*****************************************************************************/
void TL_DB_InsertCommContent (long PubCod, void TL_DB_InsertCommContent (long PubCod,
const struct TL_Pst_PostContent *Content) const struct TL_Pst_Content *Content)
{ {
/***** Insert comment content in database *****/ /***** Insert comment content in database *****/
DB_QueryINSERT ("can not store comment content", DB_QueryINSERT ("can not store comment content",

View File

@ -78,7 +78,7 @@ void TL_DB_RemoveAllNotesUsr (long UsrCod);
/********************************* Posts *************************************/ /********************************* Posts *************************************/
unsigned TL_DB_GetPostByCod (long PstCod,MYSQL_RES **mysql_res); unsigned TL_DB_GetPostByCod (long PstCod,MYSQL_RES **mysql_res);
long TL_DB_GetMedCodFromPost (long PubCod); long TL_DB_GetMedCodFromPost (long PubCod);
long TL_DB_CreateNewPost (const struct TL_Pst_PostContent *Content); long TL_DB_CreateNewPost (const struct TL_Pst_Content *Content);
void TL_DB_RemovePost (long PstCod); void TL_DB_RemovePost (long PstCod);
void TL_DB_RemoveAllPostsUsr (long UsrCod); void TL_DB_RemoveAllPostsUsr (long UsrCod);
@ -92,7 +92,7 @@ unsigned TL_DB_GetFinalComms (long NotCod,unsigned NumFinalCommsToGet,
MYSQL_RES **mysql_res); MYSQL_RES **mysql_res);
unsigned TL_DB_GetDataOfCommByCod (long PubCod,MYSQL_RES **mysql_res); unsigned TL_DB_GetDataOfCommByCod (long PubCod,MYSQL_RES **mysql_res);
void TL_DB_InsertCommContent (long PubCod, void TL_DB_InsertCommContent (long PubCod,
const struct TL_Pst_PostContent *Content); const struct TL_Pst_Content *Content);
long TL_DB_GetMedCodFromComm (long PubCod); long TL_DB_GetMedCodFromComm (long PubCod);
void TL_DB_RemoveCommFavs (long PubCod); void TL_DB_RemoveCommFavs (long PubCod);
void TL_DB_RemoveCommContent (long PubCod); void TL_DB_RemoveCommContent (long PubCod);

View File

@ -109,7 +109,7 @@ void TL_Ntf_GetNotifPublication (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
MYSQL_ROW row; MYSQL_ROW row;
struct TL_Pub_Publication Pub; struct TL_Pub_Publication Pub;
struct TL_Not_Note Not; struct TL_Not_Note Not;
struct TL_Pst_PostContent Content; struct TL_Pst_Content Content;
size_t Length; size_t Length;
bool ContentCopied = false; bool ContentCopied = false;

View File

@ -62,6 +62,9 @@ extern struct Globals Gbl;
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
/*****************************************************************************/ /*****************************************************************************/
static void TL_Pst_GetPostContent (long PstCod,struct TL_Pst_Content *Content);
static void TL_Pst_ShowPostContent (struct TL_Pst_Content *Content);
static void TL_Pst_PutFormToWriteNewPost (struct TL_Timeline *Timeline); static void TL_Pst_PutFormToWriteNewPost (struct TL_Timeline *Timeline);
static long TL_Pst_ReceivePost (void); static long TL_Pst_ReceivePost (void);
@ -71,13 +74,31 @@ static long TL_Pst_ReceivePost (void);
/*****************************************************************************/ /*****************************************************************************/
void TL_Pst_GetAndWritePost (long PstCod) void TL_Pst_GetAndWritePost (long PstCod)
{
struct TL_Pst_Content Content;
/***** Initialize media *****/
Med_MediaConstructor (&Content.Media);
/***** Get post content from database *****/
TL_Pst_GetPostContent (PstCod,&Content);
/***** Show post content *****/
TL_Pst_ShowPostContent (&Content);
/***** Free media *****/
Med_MediaDestructor (&Content.Media);
}
/*****************************************************************************/
/****************************** Get post content *****************************/
/*****************************************************************************/
// Media must be initialized before calling this function
static void TL_Pst_GetPostContent (long PstCod,struct TL_Pst_Content *Content)
{ {
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
struct TL_Pst_PostContent Content;
/***** Initialize image *****/
Med_MediaConstructor (&Content.Media);
/***** Get post from database *****/ /***** Get post from database *****/
if (TL_DB_GetPostByCod (PstCod,&mysql_res) == 1) if (TL_DB_GetPostByCod (PstCod,&mysql_res) == 1)
@ -89,33 +110,37 @@ void TL_Pst_GetAndWritePost (long PstCod)
row[1] MedCod row[1] MedCod
*/ */
/* Get content (row[0]) */ /* Get content (row[0]) */
Str_Copy (Content.Txt,row[0],sizeof (Content.Txt) - 1); Str_Copy (Content->Txt,row[0],sizeof (Content->Txt) - 1);
/* Get media (row[1]) */ /* Get media (row[1]) */
Content.Media.MedCod = Str_ConvertStrCodToLongCod (row[1]); Content->Media.MedCod = Str_ConvertStrCodToLongCod (row[1]);
Med_GetMediaDataByCod (&Content.Media); Med_GetMediaDataByCod (&Content->Media);
} }
else else
Content.Txt[0] = '\0'; Content->Txt[0] = '\0';
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res); DB_FreeMySQLResult (&mysql_res);
}
/*****************************************************************************/
/****************************** Get post content *****************************/
/*****************************************************************************/
static void TL_Pst_ShowPostContent (struct TL_Pst_Content *Content)
{
/***** Write content text *****/ /***** Write content text *****/
if (Content.Txt[0]) if (Content->Txt[0])
{ {
HTM_DIV_Begin ("class=\"TL_TXT\""); HTM_DIV_Begin ("class=\"TL_TXT\"");
Msg_WriteMsgContent (Content.Txt,Cns_MAX_BYTES_LONG_TEXT,true,false); Msg_WriteMsgContent (Content->Txt,Cns_MAX_BYTES_LONG_TEXT,true,false);
HTM_DIV_End (); HTM_DIV_End ();
} }
/***** Show media *****/ /***** Show media *****/
Med_ShowMedia (&Content.Media,"TL_PST_MED_CONT TL_RIGHT_WIDTH", Med_ShowMedia (&Content->Media,"TL_PST_MED_CONT TL_RIGHT_WIDTH",
"TL_PST_MED TL_RIGHT_WIDTH"); "TL_PST_MED TL_RIGHT_WIDTH");
}
/***** Free image *****/
Med_MediaDestructor (&Content.Media);
}
/*****************************************************************************/ /*****************************************************************************/
/********************** Form to write a new publication **********************/ /********************** Form to write a new publication **********************/
@ -260,7 +285,7 @@ void TL_Pst_ReceivePostGbl (void)
// Returns the code of the note just created // Returns the code of the note just created
static long TL_Pst_ReceivePost (void) static long TL_Pst_ReceivePost (void)
{ {
struct TL_Pst_PostContent Content; struct TL_Pst_Content Content;
long PstCod; long PstCod;
struct TL_Pub_Publication Pub; struct TL_Pub_Publication Pub;

View File

@ -35,7 +35,7 @@
/******************************** Public types *******************************/ /******************************** Public types *******************************/
/*****************************************************************************/ /*****************************************************************************/
struct TL_Pst_PostContent struct TL_Pst_Content
{ {
char Txt[Cns_MAX_BYTES_LONG_TEXT + 1]; char Txt[Cns_MAX_BYTES_LONG_TEXT + 1];
struct Med_Media Media; struct Med_Media Media;