mirror of https://github.com/acanas/swad-core.git
Version 20.34: Feb 23, 2021 Code refactoring in timeline related to sharing and faving. (305011 lines)
This commit is contained in:
parent
bb14ad098c
commit
8b27481510
|
@ -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.33.11 (2021-02-23)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 20.34 (2021-02-23)"
|
||||
#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.34: Feb 23, 2021 Code refactoring in timeline related to sharing and faving. (305011 lines)
|
||||
Version 20.33.11: Feb 23, 2021 Code refactoring in timeline. (305001 lines)
|
||||
Version 20.33.10: Feb 23, 2021 Code refactoring related to writing a timeline notes and comments. (305038 lines)
|
||||
Version 20.33.9: Feb 22, 2021 Code refactoring related to writing a timeline comment. (304949 lines)
|
||||
|
|
293
swad_text.c
293
swad_text.c
|
@ -42027,27 +42027,6 @@ const char *Txt_SEX_SINGULAR_Abc[Usr_NUM_SEXS] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Share =
|
||||
#if L==1 // ca
|
||||
"Compartir";
|
||||
#elif L==2 // de
|
||||
"Teilen";
|
||||
#elif L==3 // en
|
||||
"Share";
|
||||
#elif L==4 // es
|
||||
"Compartir";
|
||||
#elif L==5 // fr
|
||||
"Partager";
|
||||
#elif L==6 // gn
|
||||
"Compartir"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Condividere";
|
||||
#elif L==8 // pl
|
||||
"Dzielić";
|
||||
#elif L==9 // pt
|
||||
"Compartilhar";
|
||||
#endif
|
||||
|
||||
const char *Txt_Shared_files_area =
|
||||
#if L==1 // ca
|
||||
"Zona d'arxius compartits";
|
||||
|
@ -52546,6 +52525,89 @@ const char *Txt_Timeline_OF_A_USER = // Warning: it is very important to include
|
|||
"Timeline de %s";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_Favourite =
|
||||
#if L==1 // ca
|
||||
"Favorit";
|
||||
#elif L==2 // de
|
||||
"Favorit";
|
||||
#elif L==3 // en
|
||||
"Favourite";
|
||||
#elif L==4 // es
|
||||
"Favorito";
|
||||
#elif L==5 // fr
|
||||
"Favori";
|
||||
#elif L==6 // gn
|
||||
"Favorito"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Preferito";
|
||||
#elif L==8 // pl
|
||||
"Ulubiony";
|
||||
#elif L==9 // pt
|
||||
"Favorito";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_Favourited_by_X_USERS = // Warning: it is very important to include %ld in the following sentences
|
||||
#if L==1 // ca
|
||||
"Marcat com favorit per %ld";
|
||||
#elif L==2 // de
|
||||
"Von %ld vorgemerkt";
|
||||
#elif L==3 // en
|
||||
"Favourited by %ld";
|
||||
#elif L==4 // es
|
||||
"Marcado como favorito por %ld";
|
||||
#elif L==5 // fr
|
||||
"Ajouté aux favoris par %ld";
|
||||
#elif L==6 // gn
|
||||
"Marcado como favorito por %ld"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Preferiti da %ld";
|
||||
#elif L==8 // pl
|
||||
"Dodane do ulubionych przez %ld";
|
||||
#elif L==9 // pt
|
||||
"Marcado como favorito por %ld";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_Not_favourited_by_anyone = // No favourited
|
||||
#if L==1 // ca
|
||||
"No marcat com favorit per ningú";
|
||||
#elif L==2 // de
|
||||
"Niemand hat sie als Favorit markiert";
|
||||
#elif L==3 // en
|
||||
"Not favourited by anyone";
|
||||
#elif L==4 // es
|
||||
"No marcado como favorito por nadie";
|
||||
#elif L==5 // fr
|
||||
"Personne n'a marqué comme favori";
|
||||
#elif L==6 // gn
|
||||
"No marcado como favorito por nadie"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Non preferiti da chiunque";
|
||||
#elif L==8 // pl
|
||||
"Nie przez nikogo ulubionych";
|
||||
#elif L==9 // pt
|
||||
"Não marcado como favorito por qualquer pessoa";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_Not_shared_by_anyone = // No shared
|
||||
#if L==1 // ca
|
||||
"No compartit per ningú";
|
||||
#elif L==2 // de
|
||||
"Nicht durch Dritte freigegebenen";
|
||||
#elif L==3 // en
|
||||
"Not shared by anyone";
|
||||
#elif L==4 // es
|
||||
"No compartido por nadie";
|
||||
#elif L==5 // fr
|
||||
"Personne n'a partagé";
|
||||
#elif L==6 // gn
|
||||
"No compartido por nadie"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Non condiviso da chiunque";
|
||||
#elif L==8 // pl
|
||||
"Nie jest dzielona przez nikogo";
|
||||
#elif L==9 // pt
|
||||
"Não compartilhado por qualquer pessoa";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE[TL_NOT_NUM_NOTE_TYPES] =
|
||||
{
|
||||
|
@ -52823,132 +52885,6 @@ const char *Txt_TIMELINE_NOTE[TL_NOT_NUM_NOTE_TYPES] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_Favourite =
|
||||
#if L==1 // ca
|
||||
"Favorit";
|
||||
#elif L==2 // de
|
||||
"Favorit";
|
||||
#elif L==3 // en
|
||||
"Favourite";
|
||||
#elif L==4 // es
|
||||
"Favorito";
|
||||
#elif L==5 // fr
|
||||
"Favori";
|
||||
#elif L==6 // gn
|
||||
"Favorito"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Preferito";
|
||||
#elif L==8 // pl
|
||||
"Ulubiony";
|
||||
#elif L==9 // pt
|
||||
"Favorito";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_Favourited_by_X_USERS = // Warning: it is very important to include %ld in the following sentences
|
||||
#if L==1 // ca
|
||||
"Marcat com favorit per %ld";
|
||||
#elif L==2 // de
|
||||
"Von %ld vorgemerkt";
|
||||
#elif L==3 // en
|
||||
"Favourited by %ld";
|
||||
#elif L==4 // es
|
||||
"Marcado como favorito por %ld";
|
||||
#elif L==5 // fr
|
||||
"Ajouté aux favoris par %ld";
|
||||
#elif L==6 // gn
|
||||
"Marcado como favorito por %ld"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Preferiti da %ld";
|
||||
#elif L==8 // pl
|
||||
"Dodane do ulubionych przez %ld";
|
||||
#elif L==9 // pt
|
||||
"Marcado como favorito por %ld";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_Shared =
|
||||
#if L==1 // ca
|
||||
"Compartit";
|
||||
#elif L==2 // de
|
||||
"Geteilt";
|
||||
#elif L==3 // en
|
||||
"Shared";
|
||||
#elif L==4 // es
|
||||
"Compartido";
|
||||
#elif L==5 // fr
|
||||
"Partagé";
|
||||
#elif L==6 // gn
|
||||
"Compartido"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Condiviso";
|
||||
#elif L==8 // pl
|
||||
"Udostępnione";
|
||||
#elif L==9 // pt
|
||||
"Compartilhado";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_Shared_by_X_USERS = // Warning: it is very important to include %ld in the following sentences
|
||||
#if L==1 // ca
|
||||
"Compartit per %ld";
|
||||
#elif L==2 // de
|
||||
"Von %ld geteilt";
|
||||
#elif L==3 // en
|
||||
"Shared by %ld";
|
||||
#elif L==4 // es
|
||||
"Compartido por %ld";
|
||||
#elif L==5 // fr
|
||||
"Partagé par %ld";
|
||||
#elif L==6 // gn
|
||||
"Compartido por %ld"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Condiviso da %ld";
|
||||
#elif L==8 // pl
|
||||
"Udostępnione przez %ld";
|
||||
#elif L==9 // pt
|
||||
"Compartilhado por %ld";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_Not_favourited_by_anyone = // No longer shared
|
||||
#if L==1 // ca
|
||||
"No marcat com favorit per ningú";
|
||||
#elif L==2 // de
|
||||
"Niemand hat sie als Favorit markiert";
|
||||
#elif L==3 // en
|
||||
"Not favourited by anyone";
|
||||
#elif L==4 // es
|
||||
"No marcado como favorito por nadie";
|
||||
#elif L==5 // fr
|
||||
"Personne n'a marqué comme favori";
|
||||
#elif L==6 // gn
|
||||
"No marcado como favorito por nadie"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Non preferiti da chiunque";
|
||||
#elif L==8 // pl
|
||||
"Nie przez nikogo ulubionych";
|
||||
#elif L==9 // pt
|
||||
"Não marcado como favorito por qualquer pessoa";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_Not_shared_by_anyone = // No longer shared
|
||||
#if L==1 // ca
|
||||
"No compartit per ningú";
|
||||
#elif L==2 // de
|
||||
"Nicht durch Dritte freigegebenen";
|
||||
#elif L==3 // en
|
||||
"Not shared by anyone";
|
||||
#elif L==4 // es
|
||||
"No compartido por nadie";
|
||||
#elif L==5 // fr
|
||||
"Personne n'a partagé";
|
||||
#elif L==6 // gn
|
||||
"No compartido por nadie"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Non condiviso da chiunque";
|
||||
#elif L==8 // pl
|
||||
"Nie jest dzielona przez nikogo";
|
||||
#elif L==9 // pt
|
||||
"Não compartilhado por qualquer pessoa";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_NOTE_TOP_MESSAGES[TL_NUM_TOP_MESSAGES] =
|
||||
{
|
||||
[TL_TOP_MESSAGE_NONE] =
|
||||
|
@ -53210,6 +53146,69 @@ const char *Txt_TIMETABLE_TYPES[TT_NUM_TIMETABLE_TYPES] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_TIMELINE_Share =
|
||||
#if L==1 // ca
|
||||
"Compartir";
|
||||
#elif L==2 // de
|
||||
"Teilen";
|
||||
#elif L==3 // en
|
||||
"Share";
|
||||
#elif L==4 // es
|
||||
"Compartir";
|
||||
#elif L==5 // fr
|
||||
"Partager";
|
||||
#elif L==6 // gn
|
||||
"Compartir"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Condividere";
|
||||
#elif L==8 // pl
|
||||
"Dzielić";
|
||||
#elif L==9 // pt
|
||||
"Compartilhar";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_Shared =
|
||||
#if L==1 // ca
|
||||
"Compartit";
|
||||
#elif L==2 // de
|
||||
"Geteilt";
|
||||
#elif L==3 // en
|
||||
"Shared";
|
||||
#elif L==4 // es
|
||||
"Compartido";
|
||||
#elif L==5 // fr
|
||||
"Partagé";
|
||||
#elif L==6 // gn
|
||||
"Compartido"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Condiviso";
|
||||
#elif L==8 // pl
|
||||
"Udostępnione";
|
||||
#elif L==9 // pt
|
||||
"Compartilhado";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMELINE_Shared_by_X_USERS = // Warning: it is very important to include %ld in the following sentences
|
||||
#if L==1 // ca
|
||||
"Compartit per %ld";
|
||||
#elif L==2 // de
|
||||
"Von %ld geteilt";
|
||||
#elif L==3 // en
|
||||
"Shared by %ld";
|
||||
#elif L==4 // es
|
||||
"Compartido por %ld";
|
||||
#elif L==5 // fr
|
||||
"Partagé par %ld";
|
||||
#elif L==6 // gn
|
||||
"Compartido por %ld"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Condiviso da %ld";
|
||||
#elif L==8 // pl
|
||||
"Udostępnione przez %ld";
|
||||
#elif L==9 // pt
|
||||
"Compartilhado por %ld";
|
||||
#endif
|
||||
|
||||
const char *Txt_TIMETABLE_CLASS_TYPES[TT_NUM_CLASS_TYPES] =
|
||||
{
|
||||
[TT_FREE] =
|
||||
|
|
|
@ -645,7 +645,7 @@ 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 UsrData *UsrDat) // Author
|
||||
{
|
||||
static unsigned NumDiv = 0; // Used to create unique div id for fav
|
||||
|
||||
|
@ -657,7 +657,7 @@ static void TL_Com_WriteButtons (const struct TL_Timeline *Timeline,
|
|||
/***** Foot column 1: fav zone *****/
|
||||
HTM_DIV_Begin ("id=\"fav_com_%s_%u\" class=\"TL_FAV_COM TL_FAV_WIDTH\"",
|
||||
Gbl.UniqueNameEncrypted,NumDiv);
|
||||
TL_Fav_PutFormToFavUnfComment (Com,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Fav_PutIconToFavUnfComment (Com,TL_Usr_SHOW_FEW_USRS);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Foot column 2: icon to remove this comment *****/
|
||||
|
@ -758,8 +758,8 @@ static long TL_Com_ReceiveComment (void)
|
|||
Med_GetMediaFromForm (-1L,-1L,-1,&Content.Media,NULL,NULL);
|
||||
Ale_ShowAlerts (NULL);
|
||||
|
||||
if (Content.Txt[0] || // Text not empty
|
||||
Content.Media.Status == Med_PROCESSED) // A media is attached
|
||||
if (Content.Txt[0] || // Text not empty
|
||||
Content.Media.Status == Med_PROCESSED) // A media is attached
|
||||
{
|
||||
/***** Store media in filesystem and database *****/
|
||||
Med_RemoveKeepOrStoreMedia (-1L,&Content.Media);
|
||||
|
|
|
@ -58,20 +58,16 @@ extern struct Globals Gbl;
|
|||
/***************************** Private prototypes ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutDisabledIconFav (unsigned NumFavs);
|
||||
|
||||
static void TL_Fav_PutFormToFavNote (long ParamCod);
|
||||
static void TL_Fav_PutFormToUnfNote (long ParamCod);
|
||||
|
||||
static void TL_Fav_PutFormToFavComment (long ParamCod);
|
||||
static void TL_Fav_PutFormToUnfComment (long ParamCod);
|
||||
|
||||
static void TL_Fav_FavNote (struct TL_Not_Note *Not);
|
||||
static void TL_Fav_UnfNote (struct TL_Not_Note *Not);
|
||||
|
||||
static void TL_Fav_FavComment (struct TL_Com_Comment *Com);
|
||||
static void TL_Fav_UnfComment (struct TL_Com_Comment *Com);
|
||||
|
||||
static void TL_Fav_PutDisabledIconFav (unsigned NumFavs);
|
||||
static void TL_Fav_PutFormToFavUnfNote (long NotCod);
|
||||
static void TL_Fav_PutFormToFavUnfComm (long PubCod);
|
||||
|
||||
static bool TL_Fav_CheckIfNoteIsFavedByUsr (long NotCod,long UsrCod);
|
||||
static bool TL_Fav_CheckIfCommIsFavedByUsr (long PubCod,long UsrCod);
|
||||
|
||||
|
@ -80,72 +76,6 @@ static void TL_Fav_ShowUsrsWhoHaveMarkedNoteAsFav (const struct TL_Not_Note *Not
|
|||
static void TL_Fav_ShowUsrsWhoHaveMarkedCommAsFav (const struct TL_Com_Comment *Com,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs);
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Put disabled icon to mark as favourite *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutDisabledIconFav (unsigned NumFavs)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_NOTE_Favourited_by_X_USERS;
|
||||
extern const char *Txt_TIMELINE_NOTE_Not_favourited_by_anyone;
|
||||
|
||||
/***** Disabled icon to mark as favourite *****/
|
||||
if (NumFavs)
|
||||
{
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Fav_ICON_FAV,
|
||||
Str_BuildStringLong (Txt_TIMELINE_NOTE_Favourited_by_X_USERS,
|
||||
(long) NumFavs));
|
||||
Str_FreeString ();
|
||||
}
|
||||
else
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Fav_ICON_FAV,
|
||||
Txt_TIMELINE_NOTE_Not_favourited_by_anyone);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Form to fav/unfav note ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutFormToFavNote (long ParamCod)
|
||||
{
|
||||
extern const char *Txt_Mark_as_favourite;
|
||||
|
||||
/***** Form and icon to mark note as favourite *****/
|
||||
TL_Frm_FormFavSha (TL_Frm_FAV_NOTE,"NotCod=%ld",ParamCod,
|
||||
TL_Fav_ICON_FAV,Txt_Mark_as_favourite);
|
||||
}
|
||||
|
||||
static void TL_Fav_PutFormToUnfNote (long ParamCod)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_NOTE_Favourite;
|
||||
|
||||
/***** Form and icon to unfav (remove mark as favourite) note *****/
|
||||
TL_Frm_FormFavSha (TL_Frm_UNF_NOTE,"NotCod=%ld",ParamCod,
|
||||
TL_Fav_ICON_FAVED,Txt_TIMELINE_NOTE_Favourite);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Form to fav/unfav comment ************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutFormToFavComment (long ParamCod)
|
||||
{
|
||||
extern const char *Txt_Mark_as_favourite;
|
||||
|
||||
/***** Form and icon to mark comment as favourite *****/
|
||||
TL_Frm_FormFavSha (TL_Frm_FAV_COMM,"PubCod=%ld",ParamCod,
|
||||
TL_Fav_ICON_FAV,Txt_Mark_as_favourite);
|
||||
}
|
||||
|
||||
static void TL_Fav_PutFormToUnfComment (long ParamCod)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_NOTE_Favourite;
|
||||
|
||||
/***** Form and icon to unfav (remove mark as favourite) comment *****/
|
||||
TL_Frm_FormFavSha (TL_Frm_UNF_COMM,"PubCod=%ld",ParamCod,
|
||||
TL_Fav_ICON_FAVED,Txt_TIMELINE_NOTE_Favourite);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************** Mark/unmark a note as favourite **********************/
|
||||
/*****************************************************************************/
|
||||
|
@ -168,7 +98,7 @@ void TL_Fav_ShowAllFaversNoteGbl (void)
|
|||
TL_Not_GetDataOfNoteByCod (&Not);
|
||||
|
||||
/***** Write HTML inside DIV with form to fav/unfav *****/
|
||||
TL_Fav_PutFormToFavUnfNote (&Not,TL_Usr_SHOW_ALL_USRS);
|
||||
TL_Fav_PutIconToFavUnfNote (&Not,TL_Usr_SHOW_ALL_USRS);
|
||||
}
|
||||
|
||||
void TL_Fav_FavNoteUsr (void)
|
||||
|
@ -188,7 +118,7 @@ void TL_Fav_FavNoteGbl (void)
|
|||
TL_Fav_FavNote (&Not);
|
||||
|
||||
/***** Write HTML inside DIV with form to unfav *****/
|
||||
TL_Fav_PutFormToFavUnfNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Fav_PutIconToFavUnfNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
}
|
||||
|
||||
void TL_Fav_UnfNoteUsr (void)
|
||||
|
@ -208,10 +138,10 @@ void TL_Fav_UnfNoteGbl (void)
|
|||
TL_Fav_UnfNote (&Not);
|
||||
|
||||
/***** Write HTML inside DIV with form to fav *****/
|
||||
TL_Fav_PutFormToFavUnfNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Fav_PutIconToFavUnfNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
}
|
||||
|
||||
void TL_Fav_PutFormToFavUnfNote (const struct TL_Not_Note *Not,
|
||||
void TL_Fav_PutIconToFavUnfNote (const struct TL_Not_Note *Not,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs)
|
||||
{
|
||||
/***** Put form to fav/unfav this note *****/
|
||||
|
@ -221,14 +151,7 @@ void TL_Fav_PutFormToFavUnfNote (const struct TL_Not_Note *Not,
|
|||
/* Put disabled icon */
|
||||
TL_Fav_PutDisabledIconFav (Not->NumFavs);
|
||||
else // Available and I am not the author
|
||||
{
|
||||
/* Put icon to fav/unfav */
|
||||
if (TL_Fav_CheckIfNoteIsFavedByUsr (Not->NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited this note
|
||||
TL_Fav_PutFormToUnfNote (Not->NotCod);
|
||||
else // I am not a faver of this note
|
||||
TL_Fav_PutFormToFavNote (Not->NotCod);
|
||||
}
|
||||
TL_Fav_PutFormToFavUnfNote (Not->NotCod);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Show who have marked this note as favourite *****/
|
||||
|
@ -245,8 +168,8 @@ static void TL_Fav_FavNote (struct TL_Not_Note *Not)
|
|||
|
||||
if (Not->NotCod > 0)
|
||||
{
|
||||
if (Gbl.Usrs.Me.Logged &&
|
||||
!Usr_ItsMe (Not->UsrCod)) // I am not the author
|
||||
if (Gbl.Usrs.Me.Logged && // I am logged...
|
||||
!Usr_ItsMe (Not->UsrCod)) // ...but I am not the author
|
||||
if (!TL_Fav_CheckIfNoteIsFavedByUsr (Not->NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have not yet favourited the note
|
||||
{
|
||||
|
@ -282,8 +205,8 @@ static void TL_Fav_UnfNote (struct TL_Not_Note *Not)
|
|||
|
||||
if (Not->NotCod > 0)
|
||||
if (Not->NumFavs &&
|
||||
Gbl.Usrs.Me.Logged &&
|
||||
!Usr_ItsMe (Not->UsrCod)) // I am not the author
|
||||
Gbl.Usrs.Me.Logged && // I am logged...
|
||||
!Usr_ItsMe (Not->UsrCod)) // ...but I am not the author
|
||||
if (TL_Fav_CheckIfNoteIsFavedByUsr (Not->NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited the note
|
||||
{
|
||||
|
@ -305,7 +228,7 @@ static void TL_Fav_UnfNote (struct TL_Not_Note *Not)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************* Mark/unmark a comment as favourite ************************/
|
||||
/********************* Mark/unmark a comment as favourite ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void TL_Fav_ShowAllFaversComUsr (void)
|
||||
|
@ -328,7 +251,7 @@ void TL_Fav_ShowAllFaversComGbl (void)
|
|||
Med_MediaDestructor (&Com.Content.Media);
|
||||
|
||||
/***** Write HTML inside DIV with form to fav/unfav *****/
|
||||
TL_Fav_PutFormToFavUnfComment (&Com,TL_Usr_SHOW_ALL_USRS);
|
||||
TL_Fav_PutIconToFavUnfComment (&Com,TL_Usr_SHOW_ALL_USRS);
|
||||
}
|
||||
|
||||
void TL_Fav_FavCommentUsr (void)
|
||||
|
@ -348,7 +271,7 @@ void TL_Fav_FavCommentGbl (void)
|
|||
TL_Fav_FavComment (&Com);
|
||||
|
||||
/***** Write HTML inside DIV with form to unfav *****/
|
||||
TL_Fav_PutFormToFavUnfComment (&Com,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Fav_PutIconToFavUnfComment (&Com,TL_Usr_SHOW_FEW_USRS);
|
||||
}
|
||||
|
||||
void TL_Fav_UnfCommentUsr (void)
|
||||
|
@ -368,10 +291,10 @@ void TL_Fav_UnfCommentGbl (void)
|
|||
TL_Fav_UnfComment (&Com);
|
||||
|
||||
/***** Write HTML inside DIV with form to fav *****/
|
||||
TL_Fav_PutFormToFavUnfComment (&Com,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Fav_PutIconToFavUnfComment (&Com,TL_Usr_SHOW_FEW_USRS);
|
||||
}
|
||||
|
||||
void TL_Fav_PutFormToFavUnfComment (const struct TL_Com_Comment *Com,
|
||||
void TL_Fav_PutIconToFavUnfComment (const struct TL_Com_Comment *Com,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs)
|
||||
{
|
||||
/***** Put form to fav/unfav this comment *****/
|
||||
|
@ -380,16 +303,7 @@ void TL_Fav_PutFormToFavUnfComment (const struct TL_Com_Comment *Com,
|
|||
/* Put disabled icon */
|
||||
TL_Fav_PutDisabledIconFav (Com->NumFavs);
|
||||
else // I am not the author
|
||||
{
|
||||
/* Put icon to mark this comment as favourite */
|
||||
if (TL_Fav_CheckIfCommIsFavedByUsr (Com->PubCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited this comment
|
||||
/* Put icon to unfav this publication and list of users */
|
||||
TL_Fav_PutFormToUnfComment (Com->PubCod);
|
||||
else // I am not a favouriter
|
||||
/* Put icon to fav this publication and list of users */
|
||||
TL_Fav_PutFormToFavComment (Com->PubCod);
|
||||
}
|
||||
TL_Fav_PutFormToFavUnfComm (Com->PubCod);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Show who have marked this comment as favourite *****/
|
||||
|
@ -465,6 +379,95 @@ static void TL_Fav_UnfComment (struct TL_Com_Comment *Com)
|
|||
Med_MediaDestructor (&Com->Content.Media);
|
||||
}
|
||||
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Put disabled icon to mark as favourite *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutDisabledIconFav (unsigned NumFavs)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_Favourited_by_X_USERS;
|
||||
extern const char *Txt_TIMELINE_Not_favourited_by_anyone;
|
||||
|
||||
/***** Disabled icon to mark as favourite *****/
|
||||
if (NumFavs)
|
||||
{
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Fav_ICON_FAV,
|
||||
Str_BuildStringLong (Txt_TIMELINE_Favourited_by_X_USERS,
|
||||
(long) NumFavs));
|
||||
Str_FreeString ();
|
||||
}
|
||||
else
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Fav_ICON_FAV,
|
||||
Txt_TIMELINE_Not_favourited_by_anyone);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Form to fav/unfav note ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutFormToFavUnfNote (long NotCod)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_Favourite;
|
||||
extern const char *Txt_Mark_as_favourite;
|
||||
TL_Frm_Action_t Action;
|
||||
const char *Icon;
|
||||
const char *Title;
|
||||
|
||||
/***** Select whether fav/unfav *****/
|
||||
if (TL_Fav_CheckIfNoteIsFavedByUsr (NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited this note
|
||||
{
|
||||
/* Faved ==> put form and icon to unfav */
|
||||
Action = TL_Frm_UNF_NOTE;
|
||||
Icon = TL_Fav_ICON_FAVED;
|
||||
Title = Txt_TIMELINE_Favourite;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Not faved ==> put form and icon to fav */
|
||||
Action = TL_Frm_FAV_NOTE;
|
||||
Icon = TL_Fav_ICON_FAV;
|
||||
Title = Txt_Mark_as_favourite;
|
||||
}
|
||||
|
||||
/***** Form and icon to fav/unfav note *****/
|
||||
TL_Frm_FormFavSha (Action,"NotCod=%ld",NotCod,Icon,Title);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Form to fav/unfav comment ************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Fav_PutFormToFavUnfComm (long PubCod)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_Favourite;
|
||||
extern const char *Txt_Mark_as_favourite;
|
||||
TL_Frm_Action_t Action;
|
||||
const char *Icon;
|
||||
const char *Title;
|
||||
|
||||
/***** Select whether fav/unfav *****/
|
||||
if (TL_Fav_CheckIfCommIsFavedByUsr (PubCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have favourited this comment
|
||||
{
|
||||
/* Faved ==> put form and icon to unfav */
|
||||
Action = TL_Frm_UNF_COMM;
|
||||
Icon = TL_Fav_ICON_FAVED;
|
||||
Title = Txt_TIMELINE_Favourite;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Not faved ==> put form and icon to fav */
|
||||
Action = TL_Frm_FAV_COMM;
|
||||
Icon = TL_Fav_ICON_FAV;
|
||||
Title = Txt_Mark_as_favourite;
|
||||
}
|
||||
|
||||
/***** Form and icon to fav/unfav *****/
|
||||
TL_Frm_FormFavSha (Action,"PubCod=%ld",PubCod,Icon,Title);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Check if a user has favourited a note ********************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -53,7 +53,7 @@ void TL_Fav_FavNoteUsr (void);
|
|||
void TL_Fav_FavNoteGbl (void);
|
||||
void TL_Fav_UnfNoteUsr (void);
|
||||
void TL_Fav_UnfNoteGbl (void);
|
||||
void TL_Fav_PutFormToFavUnfNote (const struct TL_Not_Note *Not,
|
||||
void TL_Fav_PutIconToFavUnfNote (const struct TL_Not_Note *Not,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs);
|
||||
|
||||
void TL_Fav_ShowAllFaversComUsr (void);
|
||||
|
@ -62,7 +62,7 @@ void TL_Fav_FavCommentUsr (void);
|
|||
void TL_Fav_FavCommentGbl (void);
|
||||
void TL_Fav_UnfCommentUsr (void);
|
||||
void TL_Fav_UnfCommentGbl (void);
|
||||
void TL_Fav_PutFormToFavUnfComment (const struct TL_Com_Comment *Com,
|
||||
void TL_Fav_PutIconToFavUnfComment (const struct TL_Com_Comment *Com,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs);
|
||||
|
||||
void TL_Fav_GetNumTimesANoteHasBeenFav (struct TL_Not_Note *Not);
|
||||
|
|
|
@ -820,13 +820,13 @@ static void TL_Not_WriteFavShaRem (const struct TL_Timeline *Timeline,
|
|||
/***** Foot column 1: fav zone *****/
|
||||
HTM_DIV_Begin ("id=\"fav_not_%s_%u\" class=\"TL_FAV_NOT TL_FAV_NOT_WIDTH\"",
|
||||
Gbl.UniqueNameEncrypted,NumDiv);
|
||||
TL_Fav_PutFormToFavUnfNote (Not,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Fav_PutIconToFavUnfNote (Not,TL_Usr_SHOW_FEW_USRS);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Foot column 2: share zone *****/
|
||||
HTM_DIV_Begin ("id=\"sha_not_%s_%u\" class=\"TL_SHA_NOT TL_SHA_NOT_WIDTH\"",
|
||||
Gbl.UniqueNameEncrypted,NumDiv);
|
||||
TL_Sha_PutFormToShaUnsNote (Not,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Sha_PutIconToShaUnsNote (Not,TL_Usr_SHOW_FEW_USRS);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Foot column 3: icon to remove this note *****/
|
||||
|
|
|
@ -58,65 +58,17 @@ extern struct Globals Gbl;
|
|||
/***************************** Private prototypes ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Sha_PutDisabledIconShare (unsigned NumShared);
|
||||
|
||||
static void TL_Sha_PutFormToShaNote (long ParamCod);
|
||||
static void TL_Sha_PutFormToUnsNote (long ParamCod);
|
||||
|
||||
static void TL_Sha_ShaNote (struct TL_Not_Note *Not);
|
||||
static void TL_Sha_UnsNote (struct TL_Not_Note *Not);
|
||||
|
||||
static void TL_Sha_PutDisabledIconShare (unsigned NumShared);
|
||||
static void TL_Sha_PutFormToShaUnsNote (long NotCod);
|
||||
|
||||
static bool TL_Sha_CheckIfNoteIsSharedByUsr (long NotCod,long UsrCod);
|
||||
|
||||
static void TL_Sha_ShowUsrsWhoHaveSharedNote (const struct TL_Not_Note *Not,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs);
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Put disabled icon to share **************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Sha_PutDisabledIconShare (unsigned NumShared)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_NOTE_Shared_by_X_USERS;
|
||||
extern const char *Txt_TIMELINE_NOTE_Not_shared_by_anyone;
|
||||
|
||||
/***** Disabled icon to share *****/
|
||||
if (NumShared)
|
||||
{
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Sha_ICON_SHARE,
|
||||
Str_BuildStringLong (Txt_TIMELINE_NOTE_Shared_by_X_USERS,
|
||||
(long) NumShared));
|
||||
Str_FreeString ();
|
||||
}
|
||||
else
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Sha_ICON_SHARE,
|
||||
Txt_TIMELINE_NOTE_Not_shared_by_anyone);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Form to share/unshare note **************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Sha_PutFormToShaNote (long ParamCod)
|
||||
{
|
||||
extern const char *Txt_Share;
|
||||
|
||||
/***** Form and icon to mark note as favourite *****/
|
||||
TL_Frm_FormFavSha (TL_Frm_SHA_NOTE,
|
||||
"NotCod=%ld",ParamCod,
|
||||
TL_Sha_ICON_SHARE,Txt_Share);
|
||||
}
|
||||
|
||||
static void TL_Sha_PutFormToUnsNote (long ParamCod)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_NOTE_Shared;
|
||||
|
||||
/***** Form and icon to mark note as favourite *****/
|
||||
TL_Frm_FormFavSha (TL_Frm_UNS_NOTE,
|
||||
"NotCod=%ld",ParamCod,
|
||||
TL_Sha_ICON_SHARED,Txt_TIMELINE_NOTE_Shared);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************** Share a note *******************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -139,7 +91,7 @@ void TL_Sha_ShowAllSharersNoteGbl (void)
|
|||
TL_Not_GetDataOfNoteByCod (&Not);
|
||||
|
||||
/***** Write HTML inside DIV with form to share/unshare *****/
|
||||
TL_Sha_PutFormToShaUnsNote (&Not,TL_Usr_SHOW_ALL_USRS);
|
||||
TL_Sha_PutIconToShaUnsNote (&Not,TL_Usr_SHOW_ALL_USRS);
|
||||
}
|
||||
|
||||
void TL_Sha_ShaNoteUsr (void)
|
||||
|
@ -159,7 +111,7 @@ void TL_Sha_ShaNoteGbl (void)
|
|||
TL_Sha_ShaNote (&Not);
|
||||
|
||||
/***** Write HTML inside DIV with form to unshare *****/
|
||||
TL_Sha_PutFormToShaUnsNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Sha_PutIconToShaUnsNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
}
|
||||
|
||||
static void TL_Sha_ShaNote (struct TL_Not_Note *Not)
|
||||
|
@ -172,8 +124,8 @@ static void TL_Sha_ShaNote (struct TL_Not_Note *Not)
|
|||
TL_Not_GetDataOfNoteByCod (Not);
|
||||
|
||||
if (Not->NotCod > 0)
|
||||
if (Gbl.Usrs.Me.Logged &&
|
||||
!Usr_ItsMe (Not->UsrCod)) // I am not the author
|
||||
if (Gbl.Usrs.Me.Logged && // I am logged...
|
||||
!Usr_ItsMe (Not->UsrCod)) // ...but I am not the author
|
||||
if (!TL_Sha_CheckIfNoteIsSharedByUsr (Not->NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // Not yet shared by me
|
||||
{
|
||||
|
@ -216,7 +168,7 @@ void TL_Sha_UnsNoteGbl (void)
|
|||
TL_Sha_UnsNote (&Not);
|
||||
|
||||
/***** Write HTML inside DIV with form to share *****/
|
||||
TL_Sha_PutFormToShaUnsNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
TL_Sha_PutIconToShaUnsNote (&Not,TL_Usr_SHOW_FEW_USRS);
|
||||
}
|
||||
|
||||
static void TL_Sha_UnsNote (struct TL_Not_Note *Not)
|
||||
|
@ -229,8 +181,8 @@ static void TL_Sha_UnsNote (struct TL_Not_Note *Not)
|
|||
|
||||
if (Not->NotCod > 0)
|
||||
if (Not->NumShared &&
|
||||
Gbl.Usrs.Me.Logged &&
|
||||
!Usr_ItsMe (Not->UsrCod)) // I am not the author
|
||||
Gbl.Usrs.Me.Logged && // I am logged...
|
||||
!Usr_ItsMe (Not->UsrCod)) // ...but I am not the author
|
||||
if (TL_Sha_CheckIfNoteIsSharedByUsr (Not->NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I am a sharer
|
||||
{
|
||||
|
@ -254,7 +206,7 @@ static void TL_Sha_UnsNote (struct TL_Not_Note *Not)
|
|||
}
|
||||
}
|
||||
|
||||
void TL_Sha_PutFormToShaUnsNote (const struct TL_Not_Note *Not,
|
||||
void TL_Sha_PutIconToShaUnsNote (const struct TL_Not_Note *Not,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs)
|
||||
{
|
||||
/***** Put form to share/unshare this note *****/
|
||||
|
@ -264,20 +216,69 @@ void TL_Sha_PutFormToShaUnsNote (const struct TL_Not_Note *Not,
|
|||
/* Put disabled icon */
|
||||
TL_Sha_PutDisabledIconShare (Not->NumShared);
|
||||
else // Available and I am not the author
|
||||
{
|
||||
/* Put icon to share/unshare */
|
||||
if (TL_Sha_CheckIfNoteIsSharedByUsr (Not->NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have shared this note
|
||||
TL_Sha_PutFormToUnsNote (Not->NotCod);
|
||||
else // I have not shared this note
|
||||
TL_Sha_PutFormToShaNote (Not->NotCod);
|
||||
}
|
||||
TL_Sha_PutFormToShaUnsNote (Not->NotCod);
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Show who have shared this note *****/
|
||||
TL_Sha_ShowUsrsWhoHaveSharedNote (Not,HowManyUsrs);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Put disabled icon to share **************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Sha_PutDisabledIconShare (unsigned NumShared)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_Shared_by_X_USERS;
|
||||
extern const char *Txt_TIMELINE_Not_shared_by_anyone;
|
||||
|
||||
/***** Disabled icon to share *****/
|
||||
if (NumShared)
|
||||
{
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Sha_ICON_SHARE,
|
||||
Str_BuildStringLong (Txt_TIMELINE_Shared_by_X_USERS,
|
||||
(long) NumShared));
|
||||
Str_FreeString ();
|
||||
}
|
||||
else
|
||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_Sha_ICON_SHARE,
|
||||
Txt_TIMELINE_Not_shared_by_anyone);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Form to share/unshare note **************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void TL_Sha_PutFormToShaUnsNote (long NotCod)
|
||||
{
|
||||
extern const char *Txt_TIMELINE_Shared;
|
||||
extern const char *Txt_TIMELINE_Share;
|
||||
TL_Frm_Action_t Action;
|
||||
const char *Icon;
|
||||
const char *Title;
|
||||
|
||||
/***** Select whether share/unshare *****/
|
||||
if (TL_Sha_CheckIfNoteIsSharedByUsr (NotCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod)) // I have shared this note
|
||||
{
|
||||
/* Shared ==> put form and icon to unshare */
|
||||
Action = TL_Frm_UNS_NOTE;
|
||||
Icon = TL_Sha_ICON_SHARED;
|
||||
Title = Txt_TIMELINE_Shared;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Not shared ==> put form and icon to share */
|
||||
Action = TL_Frm_SHA_NOTE;
|
||||
Icon = TL_Sha_ICON_SHARE;
|
||||
Title = Txt_TIMELINE_Share;
|
||||
}
|
||||
|
||||
/***** Form and icon to share/unshare note *****/
|
||||
TL_Frm_FormFavSha (Action,"NotCod=%ld",NotCod,Icon,Title);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Check if a user has published a note *********************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -47,7 +47,7 @@ void TL_Sha_ShaNoteUsr (void);
|
|||
void TL_Sha_ShaNoteGbl (void);
|
||||
void TL_Sha_UnsNoteUsr (void);
|
||||
void TL_Sha_UnsNoteGbl (void);
|
||||
void TL_Sha_PutFormToShaUnsNote (const struct TL_Not_Note *Not,
|
||||
void TL_Sha_PutIconToShaUnsNote (const struct TL_Not_Note *Not,
|
||||
TL_Usr_HowManyUsrs_t HowManyUsrs);
|
||||
|
||||
void TL_Sha_UpdateNumTimesANoteHasBeenShared (struct TL_Not_Note *Not);
|
||||
|
|
|
@ -159,7 +159,7 @@ static Usr_Who_t TL_Who_GetWhoFromDB (void)
|
|||
|
||||
void TL_Who_SaveWhoInDB (struct TL_Timeline *Timeline)
|
||||
{
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
if (Gbl.Usrs.Me.Logged) // Save only if I am logged
|
||||
{
|
||||
if (Timeline->Who == Usr_WHO_UNKNOWN)
|
||||
Timeline->Who = TL_Who_DEFAULT_WHO;
|
||||
|
|
Loading…
Reference in New Issue