mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-20 00:02:42 +02:00
Version 15.128
This commit is contained in:
parent
7a3bafc8a9
commit
0a52c95697
|
@ -117,21 +117,18 @@
|
||||||
// TODO: Go to forum post (or at least to forum thread) from social timeline and notifications?
|
// TODO: Go to forum post (or at least to forum thread) from social timeline and notifications?
|
||||||
// TODO: Width of column for data in notifications is too short
|
// TODO: Width of column for data in notifications is too short
|
||||||
|
|
||||||
// TODO: When receiving a new post, create first the publishing, then the post
|
|
||||||
// TODO: Change PstCod to PubCod in social_posts, removing AUTO_INCREMENT
|
|
||||||
// TODO: View highlighted social note when clicking in timeline notification
|
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 15.127.3 (2016-01-25)"
|
#define Log_PLATFORM_VERSION "SWAD 15.128 (2016-01-25)"
|
||||||
#define CSS_FILE "swad15.121.7.css"
|
#define CSS_FILE "swad15.121.7.css"
|
||||||
#define JS_FILE "swad15.121.7.js"
|
#define JS_FILE "swad15.121.7.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 15.128: Jan 25, 2016 View highlighted social note when clicking in timeline notification. (194980 lines)
|
||||||
Version 15.127.3: Jan 25, 2016 Changed ComCod to PubCod in social_comments and social_comments_fav. (194841 lines)
|
Version 15.127.3: Jan 25, 2016 Changed ComCod to PubCod in social_comments and social_comments_fav. (194841 lines)
|
||||||
2 changes necessary in database:
|
2 changes necessary in database:
|
||||||
ALTER TABLE social_comments_fav CHANGE COLUMN ComCod PubCod BIGINT NOT NULL;
|
ALTER TABLE social_comments_fav CHANGE COLUMN ComCod PubCod BIGINT NOT NULL;
|
||||||
|
|
|
@ -2036,15 +2036,15 @@ mysql> DESCRIBE social_posts;
|
||||||
+---------+----------+------+-----+---------+----------------+
|
+---------+----------+------+-----+---------+----------------+
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+---------+----------+------+-----+---------+----------------+
|
+---------+----------+------+-----+---------+----------------+
|
||||||
| PstCod | int(11) | NO | PRI | NULL | auto_increment |
|
| PubCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
| Content | longtext | NO | MUL | NULL | |
|
| Content | longtext | NO | MUL | NULL | |
|
||||||
+---------+----------+------+-----+---------+----------------+
|
+---------+----------+------+-----+---------+----------------+
|
||||||
2 rows in set (0.00 sec)
|
2 rows in set (0.00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS social_posts ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS social_posts ("
|
||||||
"PstCod INT NOT NULL AUTO_INCREMENT,"
|
"PubCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
"Content LONGTEXT NOT NULL,"
|
"Content LONGTEXT NOT NULL,"
|
||||||
"UNIQUE INDEX(PstCod),"
|
"UNIQUE INDEX(PubCod),"
|
||||||
"FULLTEXT(Content)) ENGINE = MYISAM;");
|
"FULLTEXT(Content)) ENGINE = MYISAM;");
|
||||||
|
|
||||||
/***** Table social_pubs *****/
|
/***** Table social_pubs *****/
|
||||||
|
|
|
@ -2058,7 +2058,7 @@ void Enr_AskIfRejectSignUp (void)
|
||||||
Rol_Role_t Role;
|
Rol_Role_t Role;
|
||||||
|
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // If user's data exist...
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // If user's data exist...
|
||||||
{
|
{
|
||||||
|
@ -2115,7 +2115,7 @@ void Enr_RejectSignUp (void)
|
||||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||||
|
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // If user's data exist...
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // If user's data exist...
|
||||||
{
|
{
|
||||||
|
@ -3028,7 +3028,7 @@ static void Enr_AskIfRegRemAnotherUsr (Rol_Role_t Role)
|
||||||
struct ListUsrCods ListUsrCods;
|
struct ListUsrCods ListUsrCods;
|
||||||
|
|
||||||
/***** Check if UsrCod is present in parameters *****/
|
/***** Check if UsrCod is present in parameters *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0)
|
||||||
{
|
{
|
||||||
/***** If UsrCod is present in parameters,
|
/***** If UsrCod is present in parameters,
|
||||||
|
|
|
@ -2038,7 +2038,7 @@ void Brw_GetParAndInitFileBrowser (void)
|
||||||
/* Get lists of the selected users */
|
/* Get lists of the selected users */
|
||||||
Usr_GetListsSelectedUsrs ();
|
Usr_GetListsSelectedUsrs ();
|
||||||
/* Get user whose folder will be used to make any operation */
|
/* Get user whose folder will be used to make any operation */
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
/* Get whether we must create the zip file or not */
|
/* Get whether we must create the zip file or not */
|
||||||
Gbl.FileBrowser.ZIP.CreateZIP = ZIP_GetCreateZIPFromForm ();
|
Gbl.FileBrowser.ZIP.CreateZIP = ZIP_GetCreateZIPFromForm ();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -359,7 +359,7 @@ void Fol_ListFollowers (void)
|
||||||
struct UsrData UsrDat;
|
struct UsrData UsrDat;
|
||||||
|
|
||||||
/***** Get user to view user he/she follows *****/
|
/***** Get user to view user he/she follows *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
if (Gbl.Usrs.Other.UsrDat.UsrCod <= 0) // If user not specified, view my profile
|
if (Gbl.Usrs.Other.UsrDat.UsrCod <= 0) // If user not specified, view my profile
|
||||||
Gbl.Usrs.Other.UsrDat.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod;
|
Gbl.Usrs.Other.UsrDat.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod;
|
||||||
|
|
||||||
|
|
|
@ -686,7 +686,7 @@ static void Lay_WriteScriptParamsAJAX (void)
|
||||||
/* In all the actions related to view or editing user's timeline ==>
|
/* In all the actions related to view or editing user's timeline ==>
|
||||||
put parameters used by AJAX */
|
put parameters used by AJAX */
|
||||||
if (Gbl.Usrs.Other.UsrDat.UsrCod <= 0)
|
if (Gbl.Usrs.Other.UsrDat.UsrCod <= 0)
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
if (!Gbl.Usrs.Other.UsrDat.Nickname[0])
|
if (!Gbl.Usrs.Other.UsrDat.Nickname[0])
|
||||||
Nck_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,
|
Nck_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,
|
||||||
Gbl.Usrs.Other.UsrDat.Nickname);
|
Gbl.Usrs.Other.UsrDat.Nickname);
|
||||||
|
|
|
@ -704,7 +704,7 @@ void Msg_RecMsgFromUsr (void)
|
||||||
OriginalMsgCod = Msg_GetParamMsgCod ();
|
OriginalMsgCod = Msg_GetParamMsgCod ();
|
||||||
|
|
||||||
/* Get user's code of possible preselected recipient */
|
/* Get user's code of possible preselected recipient */
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/* Get lists of selected users */
|
/* Get lists of selected users */
|
||||||
Usr_GetListsSelectedUsrs ();
|
Usr_GetListsSelectedUsrs ();
|
||||||
|
@ -3480,7 +3480,7 @@ void Msg_BanSenderWhenShowingMsgs (void)
|
||||||
char Query[256];
|
char Query[256];
|
||||||
|
|
||||||
/***** Get user's code from form *****/
|
/***** Get user's code from form *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get password, user type and user's data from database *****/
|
/***** Get password, user type and user's data from database *****/
|
||||||
if (!Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
if (!Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
||||||
|
@ -3537,7 +3537,7 @@ static void Msg_UnbanSender (void)
|
||||||
char Query[256];
|
char Query[256];
|
||||||
|
|
||||||
/***** Get user's code from form *****/
|
/***** Get user's code from form *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get password, user type and user's data from database *****/
|
/***** Get password, user type and user's data from database *****/
|
||||||
if (!Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
if (!Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
||||||
|
|
|
@ -258,8 +258,11 @@ static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
|
|
||||||
static void Ntf_WriteFormAllNotifications (bool AllNotifications);
|
static void Ntf_WriteFormAllNotifications (bool AllNotifications);
|
||||||
static bool Ntf_GetAllNotificationsFromForm (void);
|
static bool Ntf_GetAllNotificationsFromForm (void);
|
||||||
|
|
||||||
static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
||||||
long CrsCod,long Cod);
|
long CrsCod,struct UsrData *UsrDat,long Cod);
|
||||||
|
static void Ntf_PutHiddenParamNotifyEvent (Ntf_NotifyEvent_t NotifyEvent);
|
||||||
|
|
||||||
static void Ntf_UpdateMyLastAccessToNotifications (void);
|
static void Ntf_UpdateMyLastAccessToNotifications (void);
|
||||||
static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsigned *NumNotif,unsigned *NumMails);
|
static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsigned *NumNotif,unsigned *NumMails);
|
||||||
static void Ntf_GetNumNotifSent (long DegCod,long CrsCod,
|
static void Ntf_GetNumNotifSent (long DegCod,long CrsCod,
|
||||||
|
@ -471,7 +474,7 @@ void Ntf_ShowMyNotifications (void)
|
||||||
"<td class=\"%s LEFT_TOP\" style=\"width:25px;\">",
|
"<td class=\"%s LEFT_TOP\" style=\"width:25px;\">",
|
||||||
ClassBackground);
|
ClassBackground);
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,Cod);
|
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,&UsrDat,Cod);
|
||||||
|
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
{
|
{
|
||||||
|
@ -498,7 +501,7 @@ void Ntf_ShowMyNotifications (void)
|
||||||
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
|
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
|
||||||
ClassBackground);
|
ClassBackground);
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,Cod);
|
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,&UsrDat,Cod);
|
||||||
|
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
{
|
{
|
||||||
|
@ -522,7 +525,7 @@ void Ntf_ShowMyNotifications (void)
|
||||||
NotifyEvent == Ntf_EVENT_FORUM_REPLY)
|
NotifyEvent == Ntf_EVENT_FORUM_REPLY)
|
||||||
{
|
{
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,Cod);
|
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,&UsrDat,Cod);
|
||||||
|
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
Act_LinkFormSubmit (Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],ClassAnchor);
|
Act_LinkFormSubmit (Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],ClassAnchor);
|
||||||
|
@ -540,7 +543,7 @@ void Ntf_ShowMyNotifications (void)
|
||||||
else if (Crs.CrsCod > 0)
|
else if (Crs.CrsCod > 0)
|
||||||
{
|
{
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,Cod);
|
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,&UsrDat,Cod);
|
||||||
|
|
||||||
if (PutLink)
|
if (PutLink)
|
||||||
Act_LinkFormSubmit (Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],ClassAnchor);
|
Act_LinkFormSubmit (Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],ClassAnchor);
|
||||||
|
@ -671,11 +674,10 @@ static bool Ntf_GetAllNotificationsFromForm (void)
|
||||||
// Return the value of Gbl.Form.Inside (true if form is started)
|
// Return the value of Gbl.Form.Inside (true if form is started)
|
||||||
|
|
||||||
static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
||||||
long CrsCod,long Cod)
|
long CrsCod,struct UsrData *UsrDat,long Cod)
|
||||||
{
|
{
|
||||||
extern const Act_Action_t For_ActionsSeeFor[For_NUM_TYPES_FORUM];
|
extern const Act_Action_t For_ActionsSeeFor[For_NUM_TYPES_FORUM];
|
||||||
struct FileMetadata FileMetadata;
|
struct FileMetadata FileMetadata;
|
||||||
struct UsrData UsrDat;
|
|
||||||
long InsCod = -1L;
|
long InsCod = -1L;
|
||||||
long CtrCod = -1L;
|
long CtrCod = -1L;
|
||||||
long DegCod = -1L;
|
long DegCod = -1L;
|
||||||
|
@ -732,17 +734,17 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
||||||
case Ntf_EVENT_TIMELINE_MENTION:
|
case Ntf_EVENT_TIMELINE_MENTION:
|
||||||
// Cod is the code of the social publishing
|
// Cod is the code of the social publishing
|
||||||
Act_FormStart (ActSeeSocTmlGbl);
|
Act_FormStart (ActSeeSocTmlGbl);
|
||||||
// Soc_PutHiddenParamPubCod (Cod); // TODO: For future display of selected social note at top
|
Soc_PutHiddenParamPubCod (Cod);
|
||||||
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
|
Ntf_PutHiddenParamNotifyEvent (NotifyEvent);
|
||||||
break;
|
break;
|
||||||
case Ntf_EVENT_FOLLOWER:
|
case Ntf_EVENT_FOLLOWER:
|
||||||
UsrDat.UsrCod = Cod; // Cod is the follower's code
|
if (UsrDat->EncryptedUsrCod[0]) // User's code found ==>
|
||||||
Usr_GetEncryptedUsrCodFromUsrCod (&UsrDat);
|
|
||||||
if (UsrDat.EncryptedUsrCod[0]) // User's code found ==>
|
|
||||||
// go to user's public profile
|
// go to user's public profile
|
||||||
{
|
{
|
||||||
Act_FormStart (ActSeePubPrf);
|
Act_FormStart (ActSeePubPrf);
|
||||||
/* Put param to go to follower's profile */
|
/* Put param to go to follower's profile */
|
||||||
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
|
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
|
||||||
}
|
}
|
||||||
else // No user's code found ==> go to see my followers
|
else // No user's code found ==> go to see my followers
|
||||||
Act_FormStart (ActSeeFlr);
|
Act_FormStart (ActSeeFlr);
|
||||||
|
@ -793,6 +795,36 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
||||||
return Gbl.Form.Inside;
|
return Gbl.Form.Inside;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/******************* Get parameter with notify event type ********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Ntf_PutHiddenParamNotifyEvent (Ntf_NotifyEvent_t NotifyEvent)
|
||||||
|
{
|
||||||
|
Par_PutHiddenParamUnsigned ("NotifyEvent",(unsigned) NotifyEvent);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/******************* Get parameter with notify event type ********************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
Ntf_NotifyEvent_t Ntf_GetParamNotifyEvent (void)
|
||||||
|
{
|
||||||
|
char UnsignedStr[10+1];
|
||||||
|
unsigned UnsignedNum;
|
||||||
|
|
||||||
|
Par_GetParToText ("NotifyEvent",UnsignedStr,10);
|
||||||
|
if (UnsignedStr[0])
|
||||||
|
{
|
||||||
|
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
|
||||||
|
if (UnsignedNum < Ntf_NUM_NOTIFY_EVENTS)
|
||||||
|
return (Ntf_NotifyEvent_t) UnsignedNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Ntf_EVENT_UNKNOWN;
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************** Set StatusTxt depending on status bits *******************/
|
/****************** Set StatusTxt depending on status bits *******************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -102,6 +102,9 @@ typedef enum
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Ntf_ShowMyNotifications (void);
|
void Ntf_ShowMyNotifications (void);
|
||||||
|
|
||||||
|
Ntf_NotifyEvent_t Ntf_GetParamNotifyEvent (void);
|
||||||
|
|
||||||
Ntf_StatusTxt_t Ntf_GetStatusTxtFromStatusBits (Ntf_Status_t Status);
|
Ntf_StatusTxt_t Ntf_GetStatusTxtFromStatusBits (Ntf_Status_t Status);
|
||||||
void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,
|
void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,
|
||||||
Ntf_NotifyEvent_t NotifyEvent,
|
Ntf_NotifyEvent_t NotifyEvent,
|
||||||
|
|
|
@ -384,7 +384,7 @@ void Pho_RecUsrPhotoDetFaces (void)
|
||||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||||
|
|
||||||
/***** Get user's code from form *****/
|
/***** Get user's code from form *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get password, user type and user's data from database *****/
|
/***** Get password, user type and user's data from database *****/
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
||||||
|
@ -425,7 +425,7 @@ void Pho_RemoveUsrPhoto (void)
|
||||||
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
extern const char *Txt_User_not_found_or_you_do_not_have_permission_;
|
||||||
|
|
||||||
/***** Get user's code from form *****/
|
/***** Get user's code from form *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get password, user type and user's data from database *****/
|
/***** Get password, user type and user's data from database *****/
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat))
|
||||||
|
|
|
@ -179,7 +179,7 @@ void Prf_GetUsrDatAndShowUserProfile (void)
|
||||||
|
|
||||||
/***** Get user's data *****/
|
/***** Get user's data *****/
|
||||||
if (Gbl.Usrs.Other.UsrDat.UsrCod <= 0)
|
if (Gbl.Usrs.Other.UsrDat.UsrCod <= 0)
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
Error = !Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat);
|
Error = !Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat);
|
||||||
|
|
||||||
/***** Show profile and timeline *****/
|
/***** Show profile and timeline *****/
|
||||||
|
@ -722,7 +722,7 @@ static void Prf_ShowRanking (unsigned long Rank,unsigned long NumUsrs)
|
||||||
void Prf_CalculateFirstClickTime (void)
|
void Prf_CalculateFirstClickTime (void)
|
||||||
{
|
{
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get first click time from log and store as user's figure *****/
|
/***** Get first click time from log and store as user's figure *****/
|
||||||
Prf_GetFirstClickFromLogAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
Prf_GetFirstClickFromLogAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
@ -784,7 +784,7 @@ static void Prf_GetFirstClickFromLogAndStoreAsUsrFigure (long UsrCod)
|
||||||
void Prf_CalculateNumClicks (void)
|
void Prf_CalculateNumClicks (void)
|
||||||
{
|
{
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get number of clicks and store as user's figure *****/
|
/***** Get number of clicks and store as user's figure *****/
|
||||||
Prf_GetNumClicksAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
Prf_GetNumClicksAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
@ -832,7 +832,7 @@ static void Prf_GetNumClicksAndStoreAsUsrFigure (long UsrCod)
|
||||||
void Prf_CalculateNumFileViews (void)
|
void Prf_CalculateNumFileViews (void)
|
||||||
{
|
{
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get number of file views and store as user's figure *****/
|
/***** Get number of file views and store as user's figure *****/
|
||||||
Prf_GetNumFileViewsAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
Prf_GetNumFileViewsAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
@ -878,7 +878,7 @@ static void Prf_GetNumFileViewsAndStoreAsUsrFigure (long UsrCod)
|
||||||
void Prf_CalculateNumForPst (void)
|
void Prf_CalculateNumForPst (void)
|
||||||
{
|
{
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get number of forum posts and store as user's figure *****/
|
/***** Get number of forum posts and store as user's figure *****/
|
||||||
Prf_GetNumForPstAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
Prf_GetNumForPstAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
@ -924,7 +924,7 @@ static void Prf_GetNumForPstAndStoreAsUsrFigure (long UsrCod)
|
||||||
void Prf_CalculateNumMsgSnt (void)
|
void Prf_CalculateNumMsgSnt (void)
|
||||||
{
|
{
|
||||||
/***** Get user's code *****/
|
/***** Get user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Get number of messages sent and store as user's figure *****/
|
/***** Get number of messages sent and store as user's figure *****/
|
||||||
Prf_GetNumMsgSntAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
Prf_GetNumMsgSntAndStoreAsUsrFigure (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
|
|
|
@ -956,7 +956,7 @@ void Rec_ListRecordsGsts (void)
|
||||||
void Rec_GetUsrAndShowRecordOneStdCrs (void)
|
void Rec_GetUsrAndShowRecordOneStdCrs (void)
|
||||||
{
|
{
|
||||||
/***** Get the selected student *****/
|
/***** Get the selected student *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get from the database the data of the student
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get from the database the data of the student
|
||||||
if ((Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB =
|
if ((Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB =
|
||||||
|
@ -1140,7 +1140,7 @@ static void Rec_ListRecordsStds (Rec_RecordViewType_t TypeOfView)
|
||||||
void Rec_GetUsrAndShowRecordOneTchCrs (void)
|
void Rec_GetUsrAndShowRecordOneTchCrs (void)
|
||||||
{
|
{
|
||||||
/***** Get the selected teacher *****/
|
/***** Get the selected teacher *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Show the record *****/
|
/***** Show the record *****/
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get from the database the data of the teacher
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Get from the database the data of the teacher
|
||||||
|
@ -1443,7 +1443,7 @@ void Rec_UpdateAndShowOtherCrsRecord (void)
|
||||||
extern const char *Txt_Student_record_card_in_this_course_has_been_updated;
|
extern const char *Txt_Student_record_card_in_this_course_has_been_updated;
|
||||||
|
|
||||||
/***** Get the user whose record we want to modify *****/
|
/***** Get the user whose record we want to modify *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat);
|
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat);
|
||||||
|
|
||||||
/***** Get list of fields of records in current course *****/
|
/***** Get list of fields of records in current course *****/
|
||||||
|
|
142
swad_social.c
142
swad_social.c
|
@ -266,7 +266,7 @@ static void Soc_PutFormToUnfavSocialComment (long PubCod);
|
||||||
|
|
||||||
static void Soc_PutFormToRemoveSocialPublishing (long NotCod);
|
static void Soc_PutFormToRemoveSocialPublishing (long NotCod);
|
||||||
|
|
||||||
static void Soc_PutHiddenParamPubCod (long PubCod);
|
static void Soc_PutHiddenParamNotCod (long NotCod);
|
||||||
static long Soc_GetParamNotCod (void);
|
static long Soc_GetParamNotCod (void);
|
||||||
static long Soc_GetParamPubCod (void);
|
static long Soc_GetParamPubCod (void);
|
||||||
|
|
||||||
|
@ -328,7 +328,76 @@ static void Str_AnalyzeTxtAndStoreNotifyEventToMentionedUsrs (long PubCod,const
|
||||||
|
|
||||||
void Soc_ShowTimelineGbl (void)
|
void Soc_ShowTimelineGbl (void)
|
||||||
{
|
{
|
||||||
Soc_ShowTimelineGblHighlightingNot (-1L);
|
char Query[128];
|
||||||
|
MYSQL_RES *mysql_res;
|
||||||
|
MYSQL_ROW row;
|
||||||
|
long PubCod;
|
||||||
|
struct SocialNote SocNot;
|
||||||
|
struct UsrData UsrDat;
|
||||||
|
Ntf_NotifyEvent_t NotifyEvent;
|
||||||
|
Soc_TopMessage_t TopMessage;
|
||||||
|
|
||||||
|
/***** Initialize social note code to -1 ==> no highlighted note *****/
|
||||||
|
SocNot.NotCod = -1L;
|
||||||
|
|
||||||
|
/***** Get parameter with the code of a social publishing *****/
|
||||||
|
// This parameter is optional. It can be provided by a notification.
|
||||||
|
// If > 0 ==> the social note is shown highlighted above the timeline
|
||||||
|
PubCod = Soc_GetParamPubCod ();
|
||||||
|
if (PubCod > 0)
|
||||||
|
{
|
||||||
|
/***** Get code of social note from database *****/
|
||||||
|
sprintf (Query,"SELECT NotCod FROM social_pubs WHERE PubCod='%ld'",
|
||||||
|
PubCod);
|
||||||
|
if (DB_QuerySELECT (Query,&mysql_res,"can not get code of social note") == 1) // Result should have a unique row
|
||||||
|
{
|
||||||
|
/* Get code of social note */
|
||||||
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
SocNot.NotCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Free structure that stores the query result *****/
|
||||||
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (SocNot.NotCod > 0)
|
||||||
|
{
|
||||||
|
/* Get who did the action (publishing, commenting, faving, sharing, mentioning) */
|
||||||
|
Usr_GetParamOtherUsrCodEncrypted (&UsrDat);
|
||||||
|
|
||||||
|
/* Get what he/she did */
|
||||||
|
NotifyEvent = Ntf_GetParamNotifyEvent ();
|
||||||
|
switch (NotifyEvent)
|
||||||
|
{
|
||||||
|
case Ntf_EVENT_TIMELINE_PUBLISH:
|
||||||
|
TopMessage = Soc_TOP_MESSAGE_PUBLISHED;
|
||||||
|
break;
|
||||||
|
case Ntf_EVENT_TIMELINE_COMMENT:
|
||||||
|
TopMessage = Soc_TOP_MESSAGE_COMMENTED;
|
||||||
|
break;
|
||||||
|
case Ntf_EVENT_TIMELINE_FAV:
|
||||||
|
TopMessage = Soc_TOP_MESSAGE_FAVED;
|
||||||
|
break;
|
||||||
|
case Ntf_EVENT_TIMELINE_SHARE:
|
||||||
|
TopMessage = Soc_TOP_MESSAGE_SHARED;
|
||||||
|
break;
|
||||||
|
case Ntf_EVENT_TIMELINE_MENTION:
|
||||||
|
TopMessage = Soc_TOP_MESSAGE_MENTIONED;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
TopMessage = Soc_TOP_MESSAGE_NONE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Show the social note highlighted *****/
|
||||||
|
Soc_GetDataOfSocialNotByCod (&SocNot);
|
||||||
|
Soc_WriteSocialNote (&SocNot,
|
||||||
|
TopMessage,UsrDat.UsrCod,
|
||||||
|
true,true);
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Show timeline with possible highlighted note *****/
|
||||||
|
Soc_ShowTimelineGblHighlightingNot (SocNot.NotCod);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void Soc_ShowTimelineGblHighlightingNot (long NotCod)
|
static void Soc_ShowTimelineGblHighlightingNot (long NotCod)
|
||||||
|
@ -670,9 +739,8 @@ static void Soc_BuildQueryToGetTimeline (Soc_TimelineUsrOrGbl_t TimelineUsrOrGbl
|
||||||
}
|
}
|
||||||
if (DB_QuerySELECT (Query,&mysql_res,"can not get publishing") == 1)
|
if (DB_QuerySELECT (Query,&mysql_res,"can not get publishing") == 1)
|
||||||
{
|
{
|
||||||
|
/* Get code of social publishing */
|
||||||
row = mysql_fetch_row (mysql_res);
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
|
||||||
/* Get code of social publishing (row[0]) */
|
|
||||||
PubCod = Str_ConvertStrCodToLongCod (row[0]);
|
PubCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -1330,11 +1398,13 @@ static void Soc_WriteSocialNote (const struct SocialNote *SocNot,
|
||||||
static void Soc_WriteTopMessage (Soc_TopMessage_t TopMessage,long UsrCod)
|
static void Soc_WriteTopMessage (Soc_TopMessage_t TopMessage,long UsrCod)
|
||||||
{
|
{
|
||||||
extern const char *Txt_View_public_profile;
|
extern const char *Txt_View_public_profile;
|
||||||
extern const char *Txt_SOCIAL_USER_has_shared;
|
extern const char *Txt_SOCIAL_USER_has_published;
|
||||||
extern const char *Txt_SOCIAL_USER_has_stopped_sharing;
|
extern const char *Txt_SOCIAL_USER_has_commented;
|
||||||
extern const char *Txt_SOCIAL_USER_has_marked_as_favourite;
|
extern const char *Txt_SOCIAL_USER_has_marked_as_favourite;
|
||||||
extern const char *Txt_SOCIAL_USER_has_unmarked_as_favourite;
|
extern const char *Txt_SOCIAL_USER_has_unmarked_as_favourite;
|
||||||
extern const char *Txt_SOCIAL_USER_has_commented;
|
extern const char *Txt_SOCIAL_USER_has_shared;
|
||||||
|
extern const char *Txt_SOCIAL_USER_has_stopped_sharing;
|
||||||
|
extern const char *Txt_SOCIAL_USER_has_mentioned_you;
|
||||||
struct UsrData UsrDat;
|
struct UsrData UsrDat;
|
||||||
|
|
||||||
if (TopMessage != Soc_TOP_MESSAGE_NONE)
|
if (TopMessage != Soc_TOP_MESSAGE_NONE)
|
||||||
|
@ -1361,20 +1431,26 @@ static void Soc_WriteTopMessage (Soc_TopMessage_t TopMessage,long UsrCod)
|
||||||
{
|
{
|
||||||
case Soc_TOP_MESSAGE_NONE: // Not applicable
|
case Soc_TOP_MESSAGE_NONE: // Not applicable
|
||||||
break;
|
break;
|
||||||
|
case Soc_TOP_MESSAGE_PUBLISHED:
|
||||||
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_published);
|
||||||
|
break;
|
||||||
|
case Soc_TOP_MESSAGE_COMMENTED:
|
||||||
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_commented);
|
||||||
|
break;
|
||||||
|
case Soc_TOP_MESSAGE_FAVED:
|
||||||
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_marked_as_favourite);
|
||||||
|
break;
|
||||||
|
case Soc_TOP_MESSAGE_UNFAVED:
|
||||||
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_unmarked_as_favourite);
|
||||||
|
break;
|
||||||
case Soc_TOP_MESSAGE_SHARED:
|
case Soc_TOP_MESSAGE_SHARED:
|
||||||
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_shared);
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_shared);
|
||||||
break;
|
break;
|
||||||
case Soc_TOP_MESSAGE_UNSHARED:
|
case Soc_TOP_MESSAGE_UNSHARED:
|
||||||
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_stopped_sharing);
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_stopped_sharing);
|
||||||
break;
|
break;
|
||||||
case Soc_TOP_MESSAGE_FAV:
|
case Soc_TOP_MESSAGE_MENTIONED:
|
||||||
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_marked_as_favourite);
|
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_mentioned_you);
|
||||||
break;
|
|
||||||
case Soc_TOP_MESSAGE_UNFAV:
|
|
||||||
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_unmarked_as_favourite);
|
|
||||||
break;
|
|
||||||
case Soc_TOP_MESSAGE_COMMENTED:
|
|
||||||
fprintf (Gbl.F.Out," %s",Txt_SOCIAL_USER_has_commented);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2592,7 +2668,7 @@ static void Soc_PutFormToRemoveSocialPublishing (long NotCod)
|
||||||
/************** Put parameter with the code of a social note *****************/
|
/************** Put parameter with the code of a social note *****************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Soc_PutHiddenParamNotCod (long NotCod)
|
static void Soc_PutHiddenParamNotCod (long NotCod)
|
||||||
{
|
{
|
||||||
Par_PutHiddenParamLong ("NotCod",NotCod);
|
Par_PutHiddenParamLong ("NotCod",NotCod);
|
||||||
}
|
}
|
||||||
|
@ -2601,7 +2677,7 @@ void Soc_PutHiddenParamNotCod (long NotCod)
|
||||||
/*********** Put parameter with the code of a social publishing **************/
|
/*********** Put parameter with the code of a social publishing **************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Soc_PutHiddenParamPubCod (long PubCod)
|
void Soc_PutHiddenParamPubCod (long PubCod)
|
||||||
{
|
{
|
||||||
Par_PutHiddenParamLong ("PubCod",PubCod);
|
Par_PutHiddenParamLong ("PubCod",PubCod);
|
||||||
}
|
}
|
||||||
|
@ -2618,7 +2694,7 @@ static long Soc_GetParamNotCod (void)
|
||||||
/* Get social note code */
|
/* Get social note code */
|
||||||
Par_GetParToText ("NotCod",LongStr,1+10);
|
Par_GetParToText ("NotCod",LongStr,1+10);
|
||||||
if (sscanf (LongStr,"%ld",&NotCod) != 1)
|
if (sscanf (LongStr,"%ld",&NotCod) != 1)
|
||||||
Lay_ShowErrorAndExit ("Wrong code of social note.");
|
return -1L;
|
||||||
|
|
||||||
return NotCod;
|
return NotCod;
|
||||||
}
|
}
|
||||||
|
@ -2635,7 +2711,7 @@ static long Soc_GetParamPubCod (void)
|
||||||
/* Get social comment code */
|
/* Get social comment code */
|
||||||
Par_GetParToText ("PubCod",LongStr,1+10);
|
Par_GetParToText ("PubCod",LongStr,1+10);
|
||||||
if (sscanf (LongStr,"%ld",&PubCod) != 1)
|
if (sscanf (LongStr,"%ld",&PubCod) != 1)
|
||||||
Lay_ShowErrorAndExit ("Wrong code of social publishing.");
|
return -1L;
|
||||||
|
|
||||||
return PubCod;
|
return PubCod;
|
||||||
}
|
}
|
||||||
|
@ -2777,10 +2853,8 @@ static long Soc_ShareSocialNote (void)
|
||||||
struct SocialNote SocNot;
|
struct SocialNote SocNot;
|
||||||
struct SocialPublishing SocPub;
|
struct SocialPublishing SocPub;
|
||||||
|
|
||||||
/***** Get the code of the social note to share *****/
|
|
||||||
SocNot.NotCod = Soc_GetParamNotCod ();
|
|
||||||
|
|
||||||
/***** Get data of social note *****/
|
/***** Get data of social note *****/
|
||||||
|
SocNot.NotCod = Soc_GetParamNotCod ();
|
||||||
Soc_GetDataOfSocialNotByCod (&SocNot);
|
Soc_GetDataOfSocialNotByCod (&SocNot);
|
||||||
|
|
||||||
if (SocNot.NotCod > 0)
|
if (SocNot.NotCod > 0)
|
||||||
|
@ -2856,10 +2930,8 @@ static long Soc_FavSocialNote (void)
|
||||||
struct SocialNote SocNot;
|
struct SocialNote SocNot;
|
||||||
long PubCod;
|
long PubCod;
|
||||||
|
|
||||||
/***** Get the code of the social note to mark as favourite *****/
|
|
||||||
SocNot.NotCod = Soc_GetParamNotCod ();
|
|
||||||
|
|
||||||
/***** Get data of social note *****/
|
/***** Get data of social note *****/
|
||||||
|
SocNot.NotCod = Soc_GetParamNotCod ();
|
||||||
Soc_GetDataOfSocialNotByCod (&SocNot);
|
Soc_GetDataOfSocialNotByCod (&SocNot);
|
||||||
|
|
||||||
if (SocNot.NotCod > 0)
|
if (SocNot.NotCod > 0)
|
||||||
|
@ -2899,7 +2971,7 @@ static long Soc_FavSocialNote (void)
|
||||||
|
|
||||||
/***** Show the social note just favourited *****/
|
/***** Show the social note just favourited *****/
|
||||||
Soc_WriteSocialNote (&SocNot,
|
Soc_WriteSocialNote (&SocNot,
|
||||||
Soc_TOP_MESSAGE_FAV,Gbl.Usrs.Me.UsrDat.UsrCod,
|
Soc_TOP_MESSAGE_FAVED,Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
true,true);
|
true,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2953,10 +3025,8 @@ static long Soc_FavSocialComment (void)
|
||||||
struct SocialComment SocCom;
|
struct SocialComment SocCom;
|
||||||
char Query[256];
|
char Query[256];
|
||||||
|
|
||||||
/***** Get the code of the social publishing to mark as favourite *****/
|
/***** Get data of social comment *****/
|
||||||
SocCom.PubCod = Soc_GetParamPubCod ();
|
SocCom.PubCod = Soc_GetParamPubCod ();
|
||||||
|
|
||||||
/***** Get data of social note *****/
|
|
||||||
Soc_GetDataOfSocialComByCod (&SocCom);
|
Soc_GetDataOfSocialComByCod (&SocCom);
|
||||||
|
|
||||||
if (SocCom.PubCod > 0)
|
if (SocCom.PubCod > 0)
|
||||||
|
@ -2982,7 +3052,7 @@ static long Soc_FavSocialComment (void)
|
||||||
|
|
||||||
/***** Show the social comment just favourited *****/
|
/***** Show the social comment just favourited *****/
|
||||||
Soc_WriteSocialComment (&SocCom,
|
Soc_WriteSocialComment (&SocCom,
|
||||||
Soc_TOP_MESSAGE_FAV,Gbl.Usrs.Me.UsrDat.UsrCod,
|
Soc_TOP_MESSAGE_FAVED,Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3188,7 +3258,7 @@ static long Soc_UnfavSocialNote (void)
|
||||||
|
|
||||||
/***** Show the social note just unfavourited *****/
|
/***** Show the social note just unfavourited *****/
|
||||||
Soc_WriteSocialNote (&SocNot,
|
Soc_WriteSocialNote (&SocNot,
|
||||||
Soc_TOP_MESSAGE_UNFAV,Gbl.Usrs.Me.UsrDat.UsrCod,
|
Soc_TOP_MESSAGE_UNFAVED,Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
true,true);
|
true,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3269,7 +3339,7 @@ static long Soc_UnfavSocialComment (void)
|
||||||
|
|
||||||
/***** Show the social comment just unfavourited *****/
|
/***** Show the social comment just unfavourited *****/
|
||||||
Soc_WriteSocialComment (&SocCom,
|
Soc_WriteSocialComment (&SocCom,
|
||||||
Soc_TOP_MESSAGE_UNFAV,Gbl.Usrs.Me.UsrDat.UsrCod,
|
Soc_TOP_MESSAGE_UNFAVED,Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
true);
|
true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3585,10 +3655,8 @@ static void Soc_RequestRemovalSocialComment (void)
|
||||||
extern const char *Txt_Remove;
|
extern const char *Txt_Remove;
|
||||||
struct SocialComment SocCom;
|
struct SocialComment SocCom;
|
||||||
|
|
||||||
/***** Get the code of the social comment to remove *****/
|
|
||||||
SocCom.PubCod = Soc_GetParamPubCod ();
|
|
||||||
|
|
||||||
/***** Get data of social comment *****/
|
/***** Get data of social comment *****/
|
||||||
|
SocCom.PubCod = Soc_GetParamPubCod ();
|
||||||
Soc_GetDataOfSocialComByCod (&SocCom);
|
Soc_GetDataOfSocialComByCod (&SocCom);
|
||||||
|
|
||||||
if (SocCom.PubCod > 0)
|
if (SocCom.PubCod > 0)
|
||||||
|
@ -3665,10 +3733,8 @@ static void Soc_RemoveSocialComment (void)
|
||||||
extern const char *Txt_Comment_removed;
|
extern const char *Txt_Comment_removed;
|
||||||
struct SocialComment SocCom;
|
struct SocialComment SocCom;
|
||||||
|
|
||||||
/***** Get the code of the social comment to remove *****/
|
|
||||||
SocCom.PubCod = Soc_GetParamPubCod ();
|
|
||||||
|
|
||||||
/***** Get data of social comment *****/
|
/***** Get data of social comment *****/
|
||||||
|
SocCom.PubCod = Soc_GetParamPubCod ();
|
||||||
Soc_GetDataOfSocialComByCod (&SocCom);
|
Soc_GetDataOfSocialComByCod (&SocCom);
|
||||||
|
|
||||||
if (SocCom.PubCod > 0)
|
if (SocCom.PubCod > 0)
|
||||||
|
|
|
@ -90,11 +90,13 @@ typedef enum
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
Soc_TOP_MESSAGE_NONE,
|
Soc_TOP_MESSAGE_NONE,
|
||||||
|
Soc_TOP_MESSAGE_PUBLISHED,
|
||||||
|
Soc_TOP_MESSAGE_COMMENTED,
|
||||||
|
Soc_TOP_MESSAGE_FAVED,
|
||||||
|
Soc_TOP_MESSAGE_UNFAVED,
|
||||||
Soc_TOP_MESSAGE_SHARED,
|
Soc_TOP_MESSAGE_SHARED,
|
||||||
Soc_TOP_MESSAGE_UNSHARED,
|
Soc_TOP_MESSAGE_UNSHARED,
|
||||||
Soc_TOP_MESSAGE_FAV,
|
Soc_TOP_MESSAGE_MENTIONED,
|
||||||
Soc_TOP_MESSAGE_UNFAV,
|
|
||||||
Soc_TOP_MESSAGE_COMMENTED,
|
|
||||||
} Soc_TopMessage_t;
|
} Soc_TopMessage_t;
|
||||||
|
|
||||||
struct SocialPublishing
|
struct SocialPublishing
|
||||||
|
@ -128,7 +130,7 @@ void Soc_MarkSocialNotesChildrenOfFolderAsUnavailable (const char *Path);
|
||||||
void Soc_ReceiveSocialPostGbl (void);
|
void Soc_ReceiveSocialPostGbl (void);
|
||||||
void Soc_ReceiveSocialPostUsr (void);
|
void Soc_ReceiveSocialPostUsr (void);
|
||||||
|
|
||||||
void Soc_PutHiddenParamNotCod (long NotCod);
|
void Soc_PutHiddenParamPubCod (long PubCod);
|
||||||
|
|
||||||
void Soc_ReceiveCommentGbl (void);
|
void Soc_ReceiveCommentGbl (void);
|
||||||
void Soc_ReceiveCommentUsr (void);
|
void Soc_ReceiveCommentUsr (void);
|
||||||
|
|
46
swad_text.c
46
swad_text.c
|
@ -36168,7 +36168,7 @@ const char *Txt_SOCIAL_USER_has_commented =
|
||||||
#elif L==7
|
#elif L==7
|
||||||
"ha commentato:";
|
"ha commentato:";
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"skomentowa&lstroke:";
|
"skomentował";
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"comentou:";
|
"comentou:";
|
||||||
#endif
|
#endif
|
||||||
|
@ -36194,6 +36194,48 @@ const char *Txt_SOCIAL_USER_has_marked_as_favourite =
|
||||||
"marcou como favorito:";
|
"marcou como favorito:";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_SOCIAL_USER_has_mentioned_you =
|
||||||
|
#if L==1
|
||||||
|
"li ha esmentat:";
|
||||||
|
#elif L==2
|
||||||
|
"hat Sie erwähnt:";
|
||||||
|
#elif L==3
|
||||||
|
"has mentioned you:";
|
||||||
|
#elif L==4
|
||||||
|
"le ha mencionado:";
|
||||||
|
#elif L==5
|
||||||
|
"vous a mentionné:";
|
||||||
|
#elif L==6
|
||||||
|
"le ha mencionado:"; // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"ti ha menzionato:";
|
||||||
|
#elif L==8
|
||||||
|
"wspomniał o Tobie";
|
||||||
|
#elif L==9
|
||||||
|
"mencionou você:";
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_SOCIAL_USER_has_published =
|
||||||
|
#if L==1
|
||||||
|
"ha publicat:";
|
||||||
|
#elif L==2
|
||||||
|
"hat veröffentlicht:";
|
||||||
|
#elif L==3
|
||||||
|
"has published:";
|
||||||
|
#elif L==4
|
||||||
|
"ha publicado:";
|
||||||
|
#elif L==5
|
||||||
|
"a publié:";
|
||||||
|
#elif L==6
|
||||||
|
"ha publicado:"; // Okoteve traducción
|
||||||
|
#elif L==7
|
||||||
|
"ha pubblicato:";
|
||||||
|
#elif L==8
|
||||||
|
"opublikował";
|
||||||
|
#elif L==9
|
||||||
|
"publicou:";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_SOCIAL_USER_has_shared =
|
const char *Txt_SOCIAL_USER_has_shared =
|
||||||
#if L==1
|
#if L==1
|
||||||
"ha compartit:";
|
"ha compartit:";
|
||||||
|
@ -36210,7 +36252,7 @@ const char *Txt_SOCIAL_USER_has_shared =
|
||||||
#elif L==7
|
#elif L==7
|
||||||
"ha condiviso:";
|
"ha condiviso:";
|
||||||
#elif L==8
|
#elif L==8
|
||||||
"podzieli&lstroke:";
|
"podzielił";
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"compartilhou:";
|
"compartilhou:";
|
||||||
#endif
|
#endif
|
||||||
|
|
27
swad_user.c
27
swad_user.c
|
@ -1850,19 +1850,30 @@ void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTE
|
||||||
/********* Get hidden parameter encrypted user's code of other user **********/
|
/********* Get hidden parameter encrypted user's code of other user **********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Usr_GetParamOtherUsrCodEncrypted (void)
|
void Usr_GetParamOtherUsrCodEncrypted (struct UsrData *UsrDat)
|
||||||
{
|
{
|
||||||
Par_GetParToText ("OtherUsrCod",Gbl.Usrs.Other.UsrDat.EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
|
Par_GetParToText ("OtherUsrCod",UsrDat->EncryptedUsrCod,Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64);
|
||||||
if (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod[0]) // If parameter exists...
|
if (UsrDat->EncryptedUsrCod[0]) // If parameter exists...
|
||||||
{
|
{
|
||||||
Usr_GetUsrCodFromEncryptedUsrCod (&Gbl.Usrs.Other.UsrDat);
|
Usr_GetUsrCodFromEncryptedUsrCod (UsrDat);
|
||||||
if (Gbl.Usrs.Other.UsrDat.UsrCod < 0) // Check is user's code is valid
|
if (UsrDat->UsrCod < 0) // Check is user's code is valid
|
||||||
Lay_ShowErrorAndExit ("Wrong user's code.");
|
Lay_ShowErrorAndExit ("Wrong user's code.");
|
||||||
ID_GetListIDsFromUsrCod (&Gbl.Usrs.Other.UsrDat);
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
UsrDat->UsrCod = -1L;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/********* Get hidden parameter encrypted user's code of other user **********/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Usr_GetParamOtherUsrCodEncryptedAndGetListIDs (void)
|
||||||
|
{
|
||||||
|
Usr_GetParamOtherUsrCodEncrypted (&Gbl.Usrs.Other.UsrDat);
|
||||||
|
if (Gbl.Usrs.Other.UsrDat.UsrCod > 0) // If parameter exists...
|
||||||
|
ID_GetListIDsFromUsrCod (&Gbl.Usrs.Other.UsrDat);
|
||||||
else // Parameter does not exist
|
else // Parameter does not exist
|
||||||
{
|
{
|
||||||
Gbl.Usrs.Other.UsrDat.UsrCod = -1L;
|
|
||||||
Gbl.Usrs.Other.UsrDat.UsrIDNickOrEmail[0] = '\0';
|
Gbl.Usrs.Other.UsrDat.UsrIDNickOrEmail[0] = '\0';
|
||||||
Gbl.Usrs.Other.UsrDat.IDs.Num = 0;
|
Gbl.Usrs.Other.UsrDat.IDs.Num = 0;
|
||||||
Gbl.Usrs.Other.UsrDat.IDs.List = NULL;
|
Gbl.Usrs.Other.UsrDat.IDs.List = NULL;
|
||||||
|
@ -1877,7 +1888,7 @@ void Usr_GetParamOtherUsrCodEncrypted (void)
|
||||||
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void)
|
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void)
|
||||||
{
|
{
|
||||||
/***** Get parameter with encrypted user's code *****/
|
/***** Get parameter with encrypted user's code *****/
|
||||||
Usr_GetParamOtherUsrCodEncrypted ();
|
Usr_GetParamOtherUsrCodEncryptedAndGetListIDs ();
|
||||||
|
|
||||||
/***** Check if user exists and get her/his data *****/
|
/***** Check if user exists and get her/his data *****/
|
||||||
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Existing user
|
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat)) // Existing user
|
||||||
|
|
|
@ -257,7 +257,8 @@ unsigned Usr_GetParamOtherUsrIDNickOrEMailAndGetUsrCods (struct ListUsrCods *Lis
|
||||||
|
|
||||||
void Usr_PutParamOtherUsrCodEncrypted (void);
|
void Usr_PutParamOtherUsrCodEncrypted (void);
|
||||||
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]);
|
void Usr_PutParamUsrCodEncrypted (const char EncryptedUsrCod[Cry_LENGTH_ENCRYPTED_STR_SHA256_BASE64+1]);
|
||||||
void Usr_GetParamOtherUsrCodEncrypted (void);
|
void Usr_GetParamOtherUsrCodEncrypted (struct UsrData *UsrDat);
|
||||||
|
void Usr_GetParamOtherUsrCodEncryptedAndGetListIDs (void);
|
||||||
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void);
|
bool Usr_GetParamOtherUsrCodEncryptedAndGetUsrData (void);
|
||||||
|
|
||||||
void Usr_ChkUsrAndGetUsrData (void);
|
void Usr_ChkUsrAndGetUsrData (void);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user