Version 15.124.1

This commit is contained in:
Antonio Cañas Vargas 2016-01-23 19:11:07 +01:00
parent ce6a016418
commit 9446e663c9
7 changed files with 157 additions and 93 deletions

View File

@ -125,14 +125,15 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.124 (2016-01-23)"
#define Log_PLATFORM_VERSION "SWAD 15.124.1 (2016-01-23)"
#define CSS_FILE "swad15.121.7.css"
#define JS_FILE "swad15.121.7.js"
// 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
/*
Version 15.123: Jan 23, 2016 New social notifications. Not finished. (194466 lines)
Version 15.124.1: Jan 23, 2016 New social notifications. Not finished. (194530 lines)
Version 15.124: Jan 23, 2016 New social notifications. Not finished. (194466 lines)
Version 15.123.7: Jan 22, 2016 New social notifications. Not finished. (194347 lines)
Version 15.123.6: Jan 22, 2016 New social notifications. Not finished. (194342 lines)
Version 15.123.5: Jan 22, 2016 New social notifications. Not finished. (194328 lines)

View File

@ -415,7 +415,7 @@ void Fol_ListFollowers (void)
/***** If it's me, mark possible notification as seen *****/
if (Gbl.Usrs.Other.UsrDat.UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod)
Ntf_MarkNotifAsSeen (Ntf_EVENT_SOCIAL_FOLLOWER,
Ntf_MarkNotifAsSeen (Ntf_EVENT_FOLLOWER,
-1L,-1L,
Gbl.Usrs.Me.UsrDat.UsrCod);
}
@ -539,14 +539,14 @@ void Fol_FollowUsr (void)
DB_QueryREPLACE (Query,"can not follow user");
/***** This follow must be notified by e-mail? *****/
CreateNotif = (Gbl.Usrs.Other.UsrDat.Prefs.NotifNtfEvents & (1 << Ntf_EVENT_SOCIAL_FOLLOWER));
CreateNotif = (Gbl.Usrs.Other.UsrDat.Prefs.NotifNtfEvents & (1 << Ntf_EVENT_FOLLOWER));
NotifyByEmail = CreateNotif &&
(Gbl.Usrs.Other.UsrDat.Prefs.EmailNtfEvents & (1 << Ntf_EVENT_SOCIAL_FOLLOWER));
(Gbl.Usrs.Other.UsrDat.Prefs.EmailNtfEvents & (1 << Ntf_EVENT_FOLLOWER));
/***** Create notification for this followed.
If this followed wants to receive notifications by e-mail, activate the sending of a notification *****/
if (CreateNotif)
Ntf_StoreNotifyEventToOneUser (Ntf_EVENT_SOCIAL_FOLLOWER,&Gbl.Usrs.Other.UsrDat,Gbl.Usrs.Me.UsrDat.UsrCod,
Ntf_StoreNotifyEventToOneUser (Ntf_EVENT_FOLLOWER,&Gbl.Usrs.Other.UsrDat,Gbl.Usrs.Me.UsrDat.UsrCod,
(Ntf_Status_t) (NotifyByEmail ? Ntf_STATUS_BIT_EMAIL :
0));
}

View File

@ -74,11 +74,12 @@ const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
"enrollmentRequest", // Ntf_EVENT_ENROLLMENT_REQUEST
/* Social tab */
"socialNewPubByFollowed", // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
"socialPubCommented", // Ntf_EVENT_SOCIAL_PUB_COMMENTED
"socialPubFaved", // Ntf_EVENT_SOCIAL_PUB_FAVED
"socialPubShared", // Ntf_EVENT_SOCIAL_PUB_SHARED
"socialfollower", // Ntf_EVENT_SOCIAL_FOLLOWER
"timelinePublish", // Ntf_EVENT_TIMELINE_PUBLISH
"timelineComment", // Ntf_EVENT_TIMELINE_COMMENT
"timelineFav", // Ntf_EVENT_TIMELINE_FAV
"timelineShare", // Ntf_EVENT_TIMELINE_SHARE
"timelineMention", // Ntf_EVENT_TIMELINE_MENTION
"follower", // Ntf_EVENT_FOLLOWER
"forumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE
"forumReply", // Ntf_EVENT_FORUM_REPLY
@ -111,11 +112,12 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
ActSeeSignUpReq, // Ntf_EVENT_ENROLLMENT_REQUEST
/* Social tab */
ActSeeSocTmlGbl, // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
ActSeeSocTmlGbl, // Ntf_EVENT_SOCIAL_PUB_COMMENTED
ActSeeSocTmlGbl, // Ntf_EVENT_SOCIAL_PUB_FAVED
ActSeeSocTmlGbl, // Ntf_EVENT_SOCIAL_PUB_SHARED
ActSeeFlr, // Ntf_EVENT_SOCIAL_FOLLOWER
ActSeeSocTmlGbl, // Ntf_EVENT_TIMELINE_PUBLISH
ActSeeSocTmlGbl, // Ntf_EVENT_TIMELINE_COMMENT
ActSeeSocTmlGbl, // Ntf_EVENT_TIMELINE_FAV
ActSeeSocTmlGbl, // Ntf_EVENT_TIMELINE_SHARE
ActSeeSocTmlGbl, // Ntf_EVENT_TIMELINE_MENTION
ActSeeFlr, // Ntf_EVENT_FOLLOWER
ActSeeFor, // Ntf_EVENT_FORUM_POST_COURSE
ActSeeFor, // Ntf_EVENT_FORUM_REPLY
@ -153,11 +155,12 @@ static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
"NotifyNtfEventEnrollmentRequest", // Ntf_EVENT_ENROLLMENT_REQUEST
/* Social tab */
"NotifyNtfEventSocialPost", // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
"NotifyNtfEventSocialComment", // Ntf_EVENT_SOCIAL_PUB_COMMENTED
"NotifyNtfEventSocialFavPost", // Ntf_EVENT_SOCIAL_PUB_FAVED
"NotifyNtfEventSocialShared", // Ntf_EVENT_SOCIAL_PUB_SHARED
"NotifyNtfEventSocialFollower", // Ntf_EVENT_SOCIAL_FOLLOWER
"NotifyNtfEventTimelinePublish", // Ntf_EVENT_TIMELINE_PUBLISH
"NotifyNtfEventTimelineComment", // Ntf_EVENT_TIMELINE_COMMENT
"NotifyNtfEventTimelineFav", // Ntf_EVENT_TIMELINE_FAV
"NotifyNtfEventTimelineShare", // Ntf_EVENT_TIMELINE_SHARE
"NotifyNtfEventTimelineMention", // Ntf_EVENT_TIMELINE_MENTION
"NotifyNtfEventFollower", // Ntf_EVENT_FOLLOWER
"NotifyNtfEventForumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE
"NotifyNtfEventForumReply", // Ntf_EVENT_FORUM_REPLY
@ -191,11 +194,12 @@ static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
"EmailNtfEventEnrollmentRequest", // Ntf_EVENT_ENROLLMENT_REQUEST
/* Social tab */
"EmailNtfEventSocialPost", // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
"EmailNtfEventSocialComment", // Ntf_EVENT_SOCIAL_PUB_COMMENTED
"EmailNtfEventSocialFavPost", // Ntf_EVENT_SOCIAL_PUB_FAVED
"EmailNtfEventSocialShared", // Ntf_EVENT_SOCIAL_PUB_SHARED
"EmailNtfEventSocialFollower", // Ntf_EVENT_SOCIAL_FOLLOWER
"EmailNtfEventTimelinePublish", // Ntf_EVENT_TIMELINE_PUBLISH
"EmailNtfEventTimelineComment", // Ntf_EVENT_TIMELINE_COMMENT
"EmailNtfEventTimelineFav", // Ntf_EVENT_TIMELINE_FAV
"EmailNtfEventTimelineShare", // Ntf_EVENT_TIMELINE_SHARE
"EmailNtfEventTimelineMention", // Ntf_EVENT_TIMELINE_MENTION
"EmailNtfEventSocialFollower", // Ntf_EVENT_FOLLOWER
"EmailNtfEventForumPostCourse", // Ntf_EVENT_FORUM_POST_COURSE
"EmailNtfEventForumReply", // Ntf_EVENT_FORUM_REPLY
@ -229,11 +233,12 @@ static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
"enrollmentrequest16x16.gif", // Ntf_EVENT_ENROLLMENT_REQUEST
/* Social tab */
"soc64x64.png", // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
"soc64x64.png", // Ntf_EVENT_SOCIAL_PUB_COMMENTED
"fav64x64.png", // Ntf_EVENT_SOCIAL_PUB_FAVED
"share64x64.png", // Ntf_EVENT_SOCIAL_PUB_SHARED
"follow64x64.png", // Ntf_EVENT_SOCIAL_FOLLOWER
"soc64x64.png", // Ntf_EVENT_TIMELINE_PUBLISH
"soc64x64.png", // Ntf_EVENT_TIMELINE_COMMENT
"fav64x64.png", // Ntf_EVENT_TIMELINE_FAV
"share64x64.png", // Ntf_EVENT_TIMELINE_SHARE
"arroba64x64.gif", // Ntf_EVENT_TIMELINE_MENTION
"follow64x64.png", // Ntf_EVENT_FOLLOWER
"forum16x16.gif", // Ntf_EVENT_FORUM_POST_COURSE
"forum16x16.gif", // Ntf_EVENT_FORUM_REPLY
@ -720,15 +725,16 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
Brw_PutHiddenParamFilCod (FileMetadata.FilCod);
}
break;
case Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED:
case Ntf_EVENT_SOCIAL_PUB_COMMENTED:
case Ntf_EVENT_SOCIAL_PUB_FAVED:
case Ntf_EVENT_SOCIAL_PUB_SHARED:
case Ntf_EVENT_TIMELINE_PUBLISH:
case Ntf_EVENT_TIMELINE_COMMENT:
case Ntf_EVENT_TIMELINE_FAV:
case Ntf_EVENT_TIMELINE_SHARE:
case Ntf_EVENT_TIMELINE_MENTION:
// Cod is the code of the social publishing
Act_FormStart (ActSeeSocTmlGbl);
// Soc_PutHiddenParamPubCod (Cod); // TODO: For future display of selected social note at top
break;
case Ntf_EVENT_SOCIAL_FOLLOWER:
case Ntf_EVENT_FOLLOWER:
UsrDat.UsrCod = Cod; // Cod is the follower's code
Usr_GetEncryptedUsrCodFromUsrCod (&UsrDat);
if (UsrDat.EncryptedUsrCod[0]) // User's code found ==>
@ -841,14 +847,15 @@ void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,
case Ntf_EVENT_ENROLLMENT_REQUEST:
Enr_GetNotifEnrollmentRequest (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
break;
case Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED:
case Ntf_EVENT_SOCIAL_PUB_COMMENTED:
case Ntf_EVENT_SOCIAL_PUB_FAVED:
case Ntf_EVENT_SOCIAL_PUB_SHARED:
case Ntf_EVENT_TIMELINE_PUBLISH:
case Ntf_EVENT_TIMELINE_COMMENT:
case Ntf_EVENT_TIMELINE_FAV:
case Ntf_EVENT_TIMELINE_SHARE:
case Ntf_EVENT_TIMELINE_MENTION:
// Cod is the code of the social publishing
Soc_GetNotifSocialPublishing (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
break;
case Ntf_EVENT_SOCIAL_FOLLOWER:
case Ntf_EVENT_FOLLOWER:
Fol_GetNotifFollower (SummaryStr,ContentStr);
break;
case Ntf_EVENT_FORUM_POST_COURSE:
@ -1196,14 +1203,14 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
Gbl.CurrentDeg.Deg.DegCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
case Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED: // New social publishing from one of the users I follow
case Ntf_EVENT_TIMELINE_PUBLISH: // New social publishing from one of the users I follow
// Cod is the code of the social publishing (not used in the following query)
// Get all my followers
sprintf (Query,"SELECT FollowerCod FROM usr_follow"
" WHERE FollowedCod='%ld'",
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
case Ntf_EVENT_SOCIAL_PUB_COMMENTED: // New comment to one of my social notes or comments
case Ntf_EVENT_TIMELINE_COMMENT: // New comment to one of my social notes or comments
// Cod is the code of the social publishing
sprintf (Query,"SELECT DISTINCT(PublisherCod) FROM social_pubs"
" WHERE NotCod = (SELECT NotCod FROM social_pubs"
@ -1211,9 +1218,10 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
" AND PublisherCod<>'%ld'",
Cod,Gbl.Usrs.Me.UsrDat.UsrCod);
break;
case Ntf_EVENT_SOCIAL_PUB_FAVED: // New favourite to one of my social notes or comments
case Ntf_EVENT_SOCIAL_PUB_SHARED: // New sharing of one of my social notes
case Ntf_EVENT_SOCIAL_FOLLOWER:
case Ntf_EVENT_TIMELINE_FAV: // New favourite to one of my social notes or comments
case Ntf_EVENT_TIMELINE_SHARE: // New sharing of one of my social notes
case Ntf_EVENT_TIMELINE_MENTION:
case Ntf_EVENT_FOLLOWER:
// This function should not be called in these cases
return 0;
case Ntf_EVENT_FORUM_POST_COURSE:
@ -1560,11 +1568,12 @@ static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsign
switch (NotifyEvent)
{
case Ntf_EVENT_UNKNOWN:
case Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED:
case Ntf_EVENT_SOCIAL_PUB_COMMENTED:
case Ntf_EVENT_SOCIAL_PUB_FAVED:
case Ntf_EVENT_SOCIAL_PUB_SHARED:
case Ntf_EVENT_SOCIAL_FOLLOWER:
case Ntf_EVENT_TIMELINE_PUBLISH:
case Ntf_EVENT_TIMELINE_COMMENT:
case Ntf_EVENT_TIMELINE_FAV:
case Ntf_EVENT_TIMELINE_SHARE:
case Ntf_EVENT_TIMELINE_MENTION:
case Ntf_EVENT_FOLLOWER:
break;
case Ntf_EVENT_DOCUMENT_FILE:
case Ntf_EVENT_SHARED_FILE:

View File

@ -37,42 +37,43 @@
/******************************** Public types *******************************/
/*****************************************************************************/
#define Ntf_NUM_NOTIFY_EVENTS (1+18)
#define Ntf_NUM_NOTIFY_EVENTS (1+19)
// If the numbers assigned to each event type change,
// it is necessary to change old numbers to new ones in database tables notif and sta_notif
typedef enum
{
Ntf_EVENT_UNKNOWN = 0,
Ntf_EVENT_UNKNOWN = 0,
/* Course tab */
Ntf_EVENT_DOCUMENT_FILE = 1,
Ntf_EVENT_SHARED_FILE = 2,
Ntf_EVENT_DOCUMENT_FILE = 1,
Ntf_EVENT_SHARED_FILE = 2,
/* Assessment tab */
Ntf_EVENT_ASSIGNMENT = 3,
Ntf_EVENT_EXAM_ANNOUNCEMENT = 4,
Ntf_EVENT_MARKS_FILE = 5,
Ntf_EVENT_ASSIGNMENT = 3,
Ntf_EVENT_EXAM_ANNOUNCEMENT = 4,
Ntf_EVENT_MARKS_FILE = 5,
/* Users tab */
Ntf_EVENT_ENROLLMENT_STUDENT = 6,
Ntf_EVENT_ENROLLMENT_TEACHER = 7,
Ntf_EVENT_ENROLLMENT_REQUEST = 8,
Ntf_EVENT_ENROLLMENT_STUDENT = 6,
Ntf_EVENT_ENROLLMENT_TEACHER = 7,
Ntf_EVENT_ENROLLMENT_REQUEST = 8,
/* Social tab */
Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED = 9, // New social publishing (post or comment) from one of the users I follow
Ntf_EVENT_SOCIAL_PUB_COMMENTED = 10, // New comment to one of my social publishings (notes or comments)
Ntf_EVENT_SOCIAL_PUB_FAVED = 11, // New fav of one of my social publishings (notes or comments)
Ntf_EVENT_SOCIAL_PUB_SHARED = 12, // New sharing of one of my social notes
Ntf_EVENT_SOCIAL_FOLLOWER = 13, // Old 14
Ntf_EVENT_FORUM_POST_COURSE = 14, // Old 10 // New post in forums of my courses
Ntf_EVENT_FORUM_REPLY = 15, // Old 11 // New reply to one of my posts in any forum
Ntf_EVENT_TIMELINE_PUBLISH = 9, // New social publishing (post or comment) from one of the users I follow
Ntf_EVENT_TIMELINE_COMMENT = 10, // New comment to one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_FAV = 11, // New fav of one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_SHARE = 12, // New sharing of one of my social notes
Ntf_EVENT_TIMELINE_MENTION = 13, // New mention (reserved for future use)
Ntf_EVENT_FOLLOWER = 14, // Old 14
Ntf_EVENT_FORUM_POST_COURSE = 15, // Old 10 // New post in forums of my courses
Ntf_EVENT_FORUM_REPLY = 16, // Old 11 // New reply to one of my posts in any forum
/* Messages tab */
Ntf_EVENT_NOTICE = 16, // Old 9
Ntf_EVENT_MESSAGE = 17, // Old 12
Ntf_EVENT_NOTICE = 17, // Old 9
Ntf_EVENT_MESSAGE = 18, // Old 12
/* Statistics tab */
Ntf_EVENT_SURVEY = 18, // Old 13
Ntf_EVENT_SURVEY = 19, // Old 13
/* Profile tab */

View File

@ -209,7 +209,7 @@ void Prf_GetUsrDatAndShowUserProfile (void)
/***** If it's not me, mark possible notification as seen *****/
if (Gbl.Usrs.Other.UsrDat.UsrCod != Gbl.Usrs.Me.UsrDat.UsrCod)
Ntf_MarkNotifAsSeen (Ntf_EVENT_SOCIAL_FOLLOWER,
Ntf_MarkNotifAsSeen (Ntf_EVENT_FOLLOWER,
Gbl.Usrs.Other.UsrDat.UsrCod,-1L,
Gbl.Usrs.Me.UsrDat.UsrCod);
}

View File

@ -1848,7 +1848,7 @@ static void Soc_PublishSocialNoteInTimeline (struct SocialPublishing *SocPub)
SocPub->PubCod = DB_QueryINSERTandReturnCode (Query,"can not publish social note");
/***** Store notification about the new publishing *****/
Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED,SocPub->PubCod);
Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_TIMELINE_PUBLISH,SocPub->PubCod);
}
/*****************************************************************************/
@ -2720,7 +2720,7 @@ static long Soc_ReceiveComment (void)
DB_QueryINSERT (Query,"can not store comment content");
/***** Store notification about the new comment *****/
Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_SOCIAL_PUB_COMMENTED,SocPub.PubCod);
Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_TIMELINE_COMMENT,SocPub.PubCod);
/***** Show the social note just commented *****/
Soc_WriteSocialNote (&SocNot,
@ -3029,15 +3029,15 @@ static void Soc_CreateFavNotifToAuthor (long AuthorCod,long PubCod)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat))
{
/***** This fav must be notified by e-mail? *****/
CreateNotif = (UsrDat.Prefs.NotifNtfEvents & (1 << Ntf_EVENT_SOCIAL_PUB_FAVED));
CreateNotif = (UsrDat.Prefs.NotifNtfEvents & (1 << Ntf_EVENT_TIMELINE_FAV));
NotifyByEmail = CreateNotif &&
(UsrDat.Prefs.EmailNtfEvents & (1 << Ntf_EVENT_SOCIAL_PUB_FAVED));
(UsrDat.Prefs.EmailNtfEvents & (1 << Ntf_EVENT_TIMELINE_FAV));
/***** Create notification for the author of the post.
If this author wants to receive notifications by e-mail,
activate the sending of a notification *****/
if (CreateNotif)
Ntf_StoreNotifyEventToOneUser (Ntf_EVENT_SOCIAL_PUB_FAVED,&UsrDat,PubCod,
Ntf_StoreNotifyEventToOneUser (Ntf_EVENT_TIMELINE_FAV,&UsrDat,PubCod,
(Ntf_Status_t) (NotifyByEmail ? Ntf_STATUS_BIT_EMAIL :
0));
}

View File

@ -662,7 +662,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Novo pedido de inscrição",
},
{
// Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
// Ntf_EVENT_TIMELINE_PUBLISH
"",
"Novo missatge social",
"Neue soziale Beitrag",
@ -675,7 +675,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Novo post sociais",
},
{
// Ntf_EVENT_SOCIAL_PUB_COMMENTED
// Ntf_EVENT_TIMELINE_COMMENT
"",
"Nou comentari a un missatge social",
"Neue Kommentar zu soziale Beitrag",
@ -688,7 +688,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Novo comentário a um post sociais",
},
{
// Ntf_EVENT_SOCIAL_PUB_FAVED
// Ntf_EVENT_TIMELINE_FAV
"",
"Nou favorit a un missatge social",
"Neue Favorit zu soziale Beitrag",
@ -701,7 +701,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Novo favorito a um post sociais",
},
{
// Ntf_EVENT_SOCIAL_PUB_SHARED
// Ntf_EVENT_TIMELINE_SHARE
"",
"Nova compartició de missatge social",
"Neue gemeinsame Nutzung von soziale Beitrag",
@ -714,7 +714,20 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Nova partilha de post sociais",
},
{
// Ntf_EVENT_SOCIAL_FOLLOWER
// Ntf_EVENT_TIMELINE_MENTION
"",
"Nova menció",
"Neue Erwähnung",
"New mention",
"Nueva mención",
"Nouveau mention",
"Nueva mención", // Okoteve traducción
"Nuovo menzione",
"Nowa wzmianka",
"Nova menção",
},
{
// Ntf_EVENT_FOLLOWER
"",
"Nou seguidor",
"Neue Anh&auml;nger",
@ -25121,7 +25134,7 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novos pedidos de inscri&ccedil;&atilde;o"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
#if L==1 // Ntf_EVENT_TIMELINE_PUBLISH
"Nous missatges socials"
#elif L==2
"Neue sozialen Beitr&auml;ge"
@ -25141,7 +25154,7 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novos post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_PUB_COMMENTED
#if L==1 // Ntf_EVENT_TIMELINE_COMMENT
"Nous comentaris a missatges socials"
#elif L==2
"Neue Kommentare zu sozialen Beitr&auml;ge"
@ -25161,7 +25174,7 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novos coment&aacute;rio a post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_PUB_FAVED
#if L==1 // Ntf_EVENT_TIMELINE_FAV
"Nous favorits a missatges socials"
#elif L==2
"Neue Favorit zu sozialen Beitr&auml;ge"
@ -25181,7 +25194,7 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novos favoritos a post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_PUB_SHARED
#if L==1 // Ntf_EVENT_TIMELINE_SHARE
"Noves comparticions de missatges socials"
#elif L==2
"Neue gemeinsame Nutzung zu sozialen Beitr&auml;ge"
@ -25201,7 +25214,27 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novas partilhas de post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_FOLLOWER
#if L==1 // Ntf_EVENT_TIMELINE_MENTION
"Noves mencions"
#elif L==2
"Neue Erw&auml;hnungen"
#elif L==3
"New mentions"
#elif L==4
"Nuevas menciones"
#elif L==5
"Nouvelles mentions"
#elif L==6
"Nuevas menciones" // Okoteve traducción
#elif L==7
"Nuovi menzioni"
#elif L==8
"Nowe wzmianki"
#elif L==9
"Novas men&ccedil;&otilde;es"
#endif
,
#if L==1 // Ntf_EVENT_FOLLOWER
"Nous seguidors"
#elif L==2
"Neue Anh&auml;nger"
@ -25504,7 +25537,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Pedido de inscri&ccedil;&atilde;o"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_NEW_PUB_BY_FOLLOWED
#if L==1 // Ntf_EVENT_TIMELINE_PUBLISH
"Novo missatge social"
#elif L==2
"Neue soziale Beitrag"
@ -25524,7 +25557,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Novo post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_PUB_COMMENTED
#if L==1 // Ntf_EVENT_TIMELINE_COMMENT
"Nou comentari a un missatge social"
#elif L==2
"Neue Kommentar zu soziale Beitrag"
@ -25544,7 +25577,7 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Novo coment&aacute;rio a um post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_PUB_FAVED
#if L==1 // Ntf_EVENT_TIMELINE_FAV
"Nou favorit a un missatge social"
#elif L==2
"Neue Favorit zu soziale Beitrag"
@ -25564,10 +25597,10 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Novo favorito a um post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_PUB_SHARED
#if L==1 // Ntf_EVENT_TIMELINE_SHARE
"Nova compartici&oacute; d'un missatge social"
#elif L==2
"gemeinsame Nutzung von soziale Beitrag"
"Neue gemeinsame Nutzung von soziale Beitrag"
#elif L==3
"New sharing of social post"
#elif L==4
@ -25584,7 +25617,27 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Nova partilha de um post sociais"
#endif
,
#if L==1 // Ntf_EVENT_SOCIAL_FOLLOWER
#if L==1 // Ntf_EVENT_TIMELINE_MENTION
"Nova menci&oacute;"
#elif L==2
"Neue Erw&auml;hnung"
#elif L==3
"New mention"
#elif L==4
"Nueva menci&oacute;n"
#elif L==5
"Nouvelle mention"
#elif L==6
"Nueva menci&oacute;n" // Okoteve traducción
#elif L==7
"Nuova menzione"
#elif L==8
"Nowa wzmianka"
#elif L==9
"Nova men&ccedil;&atilde;o"
#endif
,
#if L==1 // Ntf_EVENT_FOLLOWER
"Seguidor"
#elif L==2
"Anh&auml;nger"