mirror of https://github.com/acanas/swad-core.git
Version 20.36.6: Feb 27, 2021 Queries moved to module swad_timeline_database.
This commit is contained in:
parent
fd781508a2
commit
850fb99b00
|
@ -553,7 +553,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 20.36.5 (2021-02-26)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 20.36.6 (2021-02-07)"
|
||||
#define CSS_FILE "swad20.33.9.css"
|
||||
#define JS_FILE "swad20.6.2.js"
|
||||
/*
|
||||
|
@ -601,6 +601,7 @@ 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: Salvador Romero Cortés: @acanas opción para editar posts
|
||||
|
||||
Version 20.36.6: Feb 27, 2021 Queries moved to module swad_timeline_database. (305195 lines)
|
||||
Version 20.36.5: Feb 26, 2021 Queries moved to module swad_timeline_database. (305179 lines)
|
||||
Version 20.36.4: Feb 26, 2021 Query moved to module swad_timeline_database. (305156 lines)
|
||||
Version 20.36.3: Feb 26, 2021 Query moved to module swad_timeline_database. (305140 lines)
|
||||
|
|
|
@ -88,8 +88,8 @@ static void TL_Com_WriteAuthorTimeAndContent (struct TL_Com_Comment *Com,
|
|||
static void TL_Com_WriteAuthorName (const struct UsrData *UsrDat);
|
||||
static void TL_Com_WriteContent (struct TL_Com_Comment *Com);
|
||||
static void TL_Com_WriteButtons (const struct TL_Timeline *Timeline,
|
||||
const struct TL_Com_Comment *Com,
|
||||
const struct UsrData *UsrDat);
|
||||
const struct TL_Com_Comment *Com,
|
||||
const struct UsrData *UsrDat);
|
||||
|
||||
static void TL_Com_PutFormToRemoveComment (const struct TL_Timeline *Timeline,
|
||||
long PubCod);
|
||||
|
@ -100,7 +100,8 @@ static void TL_Com_RequestRemovalComment (struct TL_Timeline *Timeline);
|
|||
static void TL_Com_PutParamsRemoveComment (void *Timeline);
|
||||
static void TL_Com_RemoveComment (void);
|
||||
|
||||
static void TL_Com_GetDataOfCommentFromRow (MYSQL_ROW row,struct TL_Com_Comment *Com);
|
||||
static void TL_Com_GetDataOfCommentFromRow (MYSQL_ROW row,
|
||||
struct TL_Com_Comment *Com);
|
||||
|
||||
static void TL_Com_ResetComment (struct TL_Com_Comment *Com);
|
||||
|
||||
|
@ -599,8 +600,8 @@ static void TL_Com_WriteContent (struct TL_Com_Comment *Com)
|
|||
/*****************************************************************************/
|
||||
|
||||
static void TL_Com_WriteButtons (const struct TL_Timeline *Timeline,
|
||||
const struct TL_Com_Comment *Com,
|
||||
const struct UsrData *UsrDat) // Author
|
||||
const struct TL_Com_Comment *Com,
|
||||
const struct UsrData *UsrDat) // Author
|
||||
{
|
||||
static unsigned NumDiv = 0; // Used to create unique div id for fav
|
||||
|
||||
|
@ -952,7 +953,7 @@ void TL_Com_RemoveCommentMediaAndDBEntries (long PubCod)
|
|||
/***** Remove content of this comment *****/
|
||||
TL_DB_RemoveCommentContent (PubCod);
|
||||
|
||||
/***** Remove this comment *****/
|
||||
/***** Remove this comment publication *****/
|
||||
TL_DB_RemoveCommentPub (PubCod,Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
}
|
||||
|
||||
|
@ -968,18 +969,7 @@ void TL_Com_GetDataOfCommByCod (struct TL_Com_Comment *Com)
|
|||
if (Com->PubCod > 0)
|
||||
{
|
||||
/***** Get data of comment from database *****/
|
||||
if (DB_QuerySELECT (&mysql_res,"can not get data of comment",
|
||||
"SELECT tl_pubs.PubCod," // row[0]
|
||||
"tl_pubs.PublisherCod," // row[1]
|
||||
"tl_pubs.NotCod," // row[2]
|
||||
"UNIX_TIMESTAMP(tl_pubs.TimePublish)," // row[3]
|
||||
"tl_comments.Txt," // row[4]
|
||||
"tl_comments.MedCod" // row[5]
|
||||
" FROM tl_pubs,tl_comments"
|
||||
" WHERE tl_pubs.PubCod=%ld"
|
||||
" AND tl_pubs.PubType=%u"
|
||||
" AND tl_pubs.PubCod=tl_comments.PubCod",
|
||||
Com->PubCod,(unsigned) TL_Pub_COMMENT_TO_NOTE))
|
||||
if (TL_DB_GetDataOfCommByCod (Com->PubCod,&mysql_res))
|
||||
{
|
||||
/***** Get data of comment *****/
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
@ -1001,37 +991,33 @@ void TL_Com_GetDataOfCommByCod (struct TL_Com_Comment *Com)
|
|||
/********************** Get data of comment from row *************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Com_GetDataOfCommentFromRow (MYSQL_ROW row,struct TL_Com_Comment *Com)
|
||||
static void TL_Com_GetDataOfCommentFromRow (MYSQL_ROW row,
|
||||
struct TL_Com_Comment *Com)
|
||||
{
|
||||
/*
|
||||
row[0]: PubCod
|
||||
row[1]: PublisherCod
|
||||
row[1]: PublisherCod]
|
||||
row[2]: NotCod
|
||||
row[3]: TimePublish
|
||||
row[4]: Txt
|
||||
row[5]: MedCod
|
||||
*/
|
||||
/***** Get code of comment (row[0]) *****/
|
||||
Com->PubCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||
/***** Get code of comment (row[0]), publisher code (row[1])
|
||||
and note code (row[2) *****/
|
||||
Com->PubCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||
Com->UsrCod = Str_ConvertStrCodToLongCod (row[1]);
|
||||
Com->NotCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
|
||||
/***** Get (from) user code (row[1]) *****/
|
||||
Com->UsrCod = Str_ConvertStrCodToLongCod (row[1]);
|
||||
|
||||
/***** Get code of note (row[2]) *****/
|
||||
Com->NotCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
|
||||
/***** Get time of the note (row[3]) *****/
|
||||
/***** Get date-time of the note (row[3]) *****/
|
||||
Com->DateTimeUTC = Dat_GetUNIXTimeFromStr (row[3]);
|
||||
|
||||
/***** Get text content (row[4]) *****/
|
||||
/***** Get text content (row[4]) and media content (row[5]) *****/
|
||||
Str_Copy (Com->Content.Txt,row[4],sizeof (Com->Content.Txt) - 1);
|
||||
Com->Content.Media.MedCod = Str_ConvertStrCodToLongCod (row[5]);
|
||||
Med_GetMediaDataByCod (&Com->Content.Media);
|
||||
|
||||
/***** Get number of times this comment has been favourited *****/
|
||||
TL_Fav_GetNumTimesACommHasBeenFav (Com);
|
||||
|
||||
/***** Get media content (row[5]) *****/
|
||||
Com->Content.Media.MedCod = Str_ConvertStrCodToLongCod (row[5]);
|
||||
Med_GetMediaDataByCod (&Com->Content.Media);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1040,9 +1026,10 @@ static void TL_Com_GetDataOfCommentFromRow (MYSQL_ROW row,struct TL_Com_Comment
|
|||
|
||||
static void TL_Com_ResetComment (struct TL_Com_Comment *Com)
|
||||
{
|
||||
Com->PubCod = -1L;
|
||||
Com->UsrCod = -1L;
|
||||
Com->NotCod = -1L;
|
||||
Com->DateTimeUTC = (time_t) 0;
|
||||
Com->Content.Txt[0] = '\0';
|
||||
Com->PubCod =
|
||||
Com->UsrCod =
|
||||
Com->NotCod = -1L;
|
||||
Com->DateTimeUTC = (time_t) 0;
|
||||
Com->Content.Txt[0] = '\0';
|
||||
Com->NumFavs = 0;
|
||||
}
|
||||
|
|
|
@ -74,12 +74,12 @@ unsigned TL_DB_GetInitialComments (long NotCod,
|
|||
{
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get comments",
|
||||
"SELECT tl_pubs.PubCod," // row[0]
|
||||
"tl_pubs.PublisherCod," // row[1]
|
||||
"tl_pubs.NotCod," // row[2]
|
||||
"UNIX_TIMESTAMP(tl_pubs.TimePublish)," // row[3]
|
||||
"tl_comments.Txt," // row[4]
|
||||
"tl_comments.MedCod" // row[5]
|
||||
"SELECT tl_pubs.PubCod," // row[0]
|
||||
"tl_pubs.PublisherCod," // row[1]
|
||||
"tl_pubs.NotCod," // row[2]
|
||||
"UNIX_TIMESTAMP(tl_pubs.TimePublish),"// row[3]
|
||||
"tl_comments.Txt," // row[4]
|
||||
"tl_comments.MedCod" // row[5]
|
||||
" FROM tl_pubs,tl_comments"
|
||||
" WHERE tl_pubs.NotCod=%ld"
|
||||
" AND tl_pubs.PubType=%u"
|
||||
|
@ -104,12 +104,12 @@ unsigned TL_DB_GetFinalComments (long NotCod,
|
|||
DB_QuerySELECT (mysql_res,"can not get comments",
|
||||
"SELECT * FROM "
|
||||
"("
|
||||
"SELECT tl_pubs.PubCod," // row[0]
|
||||
"tl_pubs.PublisherCod," // row[1]
|
||||
"tl_pubs.NotCod," // row[2]
|
||||
"UNIX_TIMESTAMP(tl_pubs.TimePublish)," // row[3]
|
||||
"tl_comments.Txt," // row[4]
|
||||
"tl_comments.MedCod" // row[5]
|
||||
"SELECT tl_pubs.PubCod," // row[0]
|
||||
"tl_pubs.PublisherCod," // row[1]
|
||||
"tl_pubs.NotCod," // row[2]
|
||||
"UNIX_TIMESTAMP(tl_pubs.TimePublish),"// row[3]
|
||||
"tl_comments.Txt," // row[4]
|
||||
"tl_comments.MedCod" // row[5]
|
||||
" FROM tl_pubs,tl_comments"
|
||||
" WHERE tl_pubs.NotCod=%ld"
|
||||
" AND tl_pubs.PubType=%u"
|
||||
|
@ -121,6 +121,33 @@ unsigned TL_DB_GetFinalComments (long NotCod,
|
|||
NumFinalCommentsToGet);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Get data of comment using its code **********************/
|
||||
/*****************************************************************************/
|
||||
// Returns the number of rows got
|
||||
|
||||
unsigned TL_DB_GetDataOfCommByCod (long PubCod,MYSQL_RES **mysql_res)
|
||||
{
|
||||
/***** Trivial check: publication code should be > 0 *****/
|
||||
if (PubCod <= 0)
|
||||
return 0;
|
||||
|
||||
/***** Get data of comment from database *****/
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (&mysql_res,"can not get data of comment",
|
||||
"SELECT tl_pubs.PubCod," // row[0]
|
||||
"tl_pubs.PublisherCod," // row[1]
|
||||
"tl_pubs.NotCod," // row[2]
|
||||
"UNIX_TIMESTAMP(tl_pubs.TimePublish),"// row[3]
|
||||
"tl_comments.Txt," // row[4]
|
||||
"tl_comments.MedCod" // row[5]
|
||||
" FROM tl_pubs,tl_comments"
|
||||
" WHERE tl_pubs.PubCod=%ld"
|
||||
" AND tl_pubs.PubType=%u"
|
||||
" AND tl_pubs.PubCod=tl_comments.PubCod",
|
||||
PubCod,(unsigned) TL_Pub_COMMENT_TO_NOTE);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Insert comment content in database **********************/
|
||||
/*****************************************************************************/
|
||||
|
@ -140,7 +167,7 @@ void TL_DB_InsertCommentContent (long PubCod,
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Insert comment content in database **********************/
|
||||
/**************** Get code of media associated to comment ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
long TL_DB_GetMedCodFromComment (long PubCod)
|
||||
|
@ -187,7 +214,7 @@ void TL_DB_RemoveCommentFavs (long PubCod)
|
|||
void TL_DB_RemoveCommentContent (long PubCod)
|
||||
{
|
||||
/***** Remove content of comment *****/
|
||||
DB_QueryDELETE ("can not remove a comment",
|
||||
DB_QueryDELETE ("can not remove comment content",
|
||||
"DELETE FROM tl_comments"
|
||||
" WHERE PubCod=%ld",
|
||||
PubCod);
|
||||
|
@ -200,10 +227,10 @@ void TL_DB_RemoveCommentContent (long PubCod)
|
|||
void TL_DB_RemoveCommentPub (long PubCod,long PublisherCod)
|
||||
{
|
||||
/***** Remove comment publication *****/
|
||||
DB_QueryDELETE ("can not remove a comment",
|
||||
DB_QueryDELETE ("can not remove comment",
|
||||
"DELETE FROM tl_pubs"
|
||||
" WHERE PubCod=%ld"
|
||||
" AND PublisherCod=%ld" // Extra check: I am the author
|
||||
" AND PublisherCod=%ld" // Extra check: author
|
||||
" AND PubType=%u", // Extra check: it's a comment
|
||||
PubCod,
|
||||
PublisherCod,
|
||||
|
|
|
@ -49,6 +49,7 @@ unsigned TL_DB_GetInitialComments (long NotCod,
|
|||
unsigned TL_DB_GetFinalComments (long NotCod,
|
||||
unsigned NumFinalCommentsToGet,
|
||||
MYSQL_RES **mysql_res);
|
||||
unsigned TL_DB_GetDataOfCommByCod (long PubCod,MYSQL_RES **mysql_res);
|
||||
void TL_DB_InsertCommentContent (long PubCod,
|
||||
const struct TL_Pst_PostContent *Content);
|
||||
long TL_DB_GetMedCodFromComment (long PubCod);
|
||||
|
|
Loading…
Reference in New Issue