Version 20.36.32: Mar 01, 2021 Query moved to module swad_timeline_database.

This commit is contained in:
acanas 2021-03-01 11:40:03 +01:00
parent afeb492c4c
commit 60a0424948
5 changed files with 39 additions and 25 deletions

View File

@ -553,7 +553,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 20.36.31 (2021-03-01)" #define Log_PLATFORM_VERSION "SWAD 20.36.32 (2021-03-01)"
#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"
/* /*
@ -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: 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
Version 20.36.32: Mar 01, 2021 Query moved to module swad_timeline_database. (305444 lines)
Version 20.36.31: Mar 01, 2021 Code refactoring in timeline favourites. (305432 lines) Version 20.36.31: Mar 01, 2021 Code refactoring in timeline favourites. (305432 lines)
Version 20.36.30: Feb 28, 2021 Code refactoring in timeline favourites. (305411 lines) Version 20.36.30: Feb 28, 2021 Code refactoring in timeline favourites. (305411 lines)
Version 20.36.29: Feb 28, 2021 Code refactoring in module swad_timeline_database. (305457 lines) Version 20.36.29: Feb 28, 2021 Code refactoring in module swad_timeline_database. (305457 lines)

View File

@ -857,7 +857,6 @@ void TL_DB_UpdateFirstLastPubCodsInSession (long FirstPubCod)
Gbl.Session.Id); Gbl.Session.Id);
} }
/*****************************************************************************/ /*****************************************************************************/
/****************** Check if a user has favourited a note ********************/ /****************** Check if a user has favourited a note ********************/
/*****************************************************************************/ /*****************************************************************************/
@ -924,13 +923,13 @@ unsigned TL_DB_GetListUsrsHaveFaved (TL_Fav_WhatToFav_t WhatToFav,
{ {
const char *Table[TL_Fav_NUM_WHAT_TO_FAV] = const char *Table[TL_Fav_NUM_WHAT_TO_FAV] =
{ {
"tl_notes_fav", [TL_Fav_NOTE] = "tl_notes_fav",
"tl_comments_fav", [TL_Fav_COMM] = "tl_comments_fav",
}; };
const char *Field[TL_Fav_NUM_WHAT_TO_FAV] = const char *Field[TL_Fav_NUM_WHAT_TO_FAV] =
{ {
"NotCod", [TL_Fav_NOTE] = "NotCod",
"PubCod", [TL_Fav_COMM] = "PubCod",
}; };
/***** Get list of users who have marked a note/comment as favourite from database *****/ /***** Get list of users who have marked a note/comment as favourite from database *****/
@ -997,3 +996,20 @@ static void TL_DB_UnmarkAsFav (const char *Table,const char *Field,long Cod)
Table, Table,
Field,Cod,Gbl.Usrs.Me.UsrDat.UsrCod); Field,Cod,Gbl.Usrs.Me.UsrDat.UsrCod);
} }
/*****************************************************************************/
/****************** Remove shared publication from database ******************/
/*****************************************************************************/
void TL_DB_RemoveSharedPub (long NotCod)
{
/***** Remove shared publication *****/
DB_QueryDELETE ("can not remove a publication",
"DELETE FROM tl_pubs"
" WHERE NotCod=%ld"
" AND PublisherCod=%ld"
" AND PubType=%u", // Extra check: shared note
NotCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) TL_Pub_SHARED_NOTE);
}

View File

@ -126,4 +126,7 @@ void TL_DB_MarkCommAsFav (long PubCod);
void TL_DB_UnmarkNoteAsFav (long NotCod); void TL_DB_UnmarkNoteAsFav (long NotCod);
void TL_DB_UnmarkCommAsFav (long PubCod); void TL_DB_UnmarkCommAsFav (long PubCod);
/******************************** Shared *************************************/
void TL_DB_RemoveSharedPub (long NotCod);
#endif #endif

View File

@ -457,15 +457,15 @@ static void TL_Fav_ShowUsrsWhoHaveMarkedAsFav (TL_Fav_WhatToFav_t WhatToFav,
unsigned NumFavs, unsigned NumFavs,
TL_Usr_HowManyUsrs_t HowManyUsrs) TL_Usr_HowManyUsrs_t HowManyUsrs)
{ {
TL_Frm_Action_t Action[TL_Fav_NUM_WHAT_TO_FAV] = static const TL_Frm_Action_t Action[TL_Fav_NUM_WHAT_TO_FAV] =
{ {
TL_Frm_ALL_FAV_NOTE, [TL_Fav_NOTE] = TL_Frm_ALL_FAV_NOTE,
TL_Frm_ALL_FAV_COMM, [TL_Fav_COMM] = TL_Frm_ALL_FAV_COMM,
}; };
const char *ParamFormat[TL_Fav_NUM_WHAT_TO_FAV] = static const char *ParamFormat[TL_Fav_NUM_WHAT_TO_FAV] =
{ {
"NotCod=%ld", [TL_Fav_NOTE] = "NotCod=%ld",
"PubCod=%ld", [TL_Fav_COMM] = "PubCod=%ld",
}; };
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
unsigned NumFirstUsrs; unsigned NumFirstUsrs;
@ -473,10 +473,11 @@ static void TL_Fav_ShowUsrsWhoHaveMarkedAsFav (TL_Fav_WhatToFav_t WhatToFav,
/***** Get users who have marked this note as favourite *****/ /***** Get users who have marked this note as favourite *****/
if (NumFavs) if (NumFavs)
/***** Get list of users from database *****/ /***** Get list of users from database *****/
NumFirstUsrs = TL_DB_GetListUsrsHaveFaved (WhatToFav,Cod,UsrCod, NumFirstUsrs =
HowManyUsrs == TL_Usr_SHOW_FEW_USRS ? TL_Usr_DEF_USRS_SHOWN : TL_DB_GetListUsrsHaveFaved (WhatToFav,Cod,UsrCod,
TL_Usr_MAX_USRS_SHOWN, HowManyUsrs == TL_Usr_SHOW_FEW_USRS ? TL_Usr_DEF_USRS_SHOWN :
&mysql_res); TL_Usr_MAX_USRS_SHOWN,
&mysql_res);
else else
NumFirstUsrs = 0; NumFirstUsrs = 0;

View File

@ -185,17 +185,10 @@ static void TL_Sha_UnsNote (struct TL_Not_Note *Not)
Gbl.Usrs.Me.Logged && // I am logged... Gbl.Usrs.Me.Logged && // I am logged...
!Usr_ItsMe (Not->UsrCod)) // ...but I am not the author !Usr_ItsMe (Not->UsrCod)) // ...but I am not the author
if (TL_Sha_CheckIfNoteIsSharedByUsr (Not->NotCod, if (TL_Sha_CheckIfNoteIsSharedByUsr (Not->NotCod,
Gbl.Usrs.Me.UsrDat.UsrCod)) // I am a sharer Gbl.Usrs.Me.UsrDat.UsrCod)) // I am a sharer
{ {
/***** Delete publication from database *****/ /***** Delete publication from database *****/
DB_QueryDELETE ("can not remove a publication", TL_DB_RemoveSharedPub (Not->NotCod);
"DELETE FROM tl_pubs"
" WHERE NotCod=%ld"
" AND PublisherCod=%ld"
" AND PubType=%u",
Not->NotCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) TL_Pub_SHARED_NOTE);
/***** Update number of times this note is shared *****/ /***** Update number of times this note is shared *****/
TL_Sha_UpdateNumTimesANoteHasBeenShared (Not); TL_Sha_UpdateNumTimesANoteHasBeenShared (Not);