mirror of https://github.com/acanas/swad-core.git
Version 15.77.3
This commit is contained in:
parent
2b9f7f3788
commit
32e742535b
|
@ -114,12 +114,13 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.77.2 (2015-12-28)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.77.3 (2015-12-28)"
|
||||
#define CSS_FILE "swad15.77.2.css"
|
||||
|
||||
// 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.77.3: Dec 28, 2015 Insert social event when changing file from private to public. (188402 lines)
|
||||
Version 15.77.2: Dec 28, 2015 Changes in CSS related to social activity. (188368 lines)
|
||||
Version 15.77.1: Dec 28, 2015 Insert social event when posting in a global forum. (188342 lines)
|
||||
Version 15.77: Dec 28, 2015 New table in database for social activity. (188287 lines)
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include "swad_parameter.h"
|
||||
#include "swad_photo.h"
|
||||
#include "swad_profile.h"
|
||||
#include "swad_social.h"
|
||||
#include "swad_string.h"
|
||||
#include "swad_zip.h"
|
||||
|
||||
|
@ -9613,7 +9614,8 @@ void Brw_ChgFileMetadata (void)
|
|||
extern const char *Txt_The_properties_of_file_X_have_been_saved;
|
||||
extern const char *Txt_You_dont_have_permission_to_change_the_properties_of_file_X;
|
||||
struct FileMetadata FileMetadata;
|
||||
bool PublicFile;
|
||||
bool PublicFileBeforeEdition;
|
||||
bool PublicFileAfterEdition;
|
||||
Brw_License_t License;
|
||||
|
||||
/***** Get parameters related to file browser *****/
|
||||
|
@ -9626,6 +9628,9 @@ void Brw_ChgFileMetadata (void)
|
|||
/***** Check if I can change file metadata *****/
|
||||
if (Brw_CheckIfICanEditFileMetadata (FileMetadata.PublisherUsrCod))
|
||||
{
|
||||
/* Check if the file was public before the edition */
|
||||
PublicFileBeforeEdition = FileMetadata.IsPublic;
|
||||
|
||||
/***** Get the new file privacy and license from form *****/
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
|
@ -9637,7 +9642,7 @@ void Brw_ChgFileMetadata (void)
|
|||
case Brw_ADMI_SHARE_DEG:
|
||||
case Brw_ADMI_DOCUM_CRS:
|
||||
case Brw_ADMI_SHARE_CRS:
|
||||
PublicFile = Brw_GetParamPublicFile ();
|
||||
PublicFileAfterEdition = Brw_GetParamPublicFile ();
|
||||
License = Brw_GetParLicense ();
|
||||
break;
|
||||
case Brw_ADMI_DOCUM_GRP:
|
||||
|
@ -9647,11 +9652,11 @@ void Brw_ChgFileMetadata (void)
|
|||
case Brw_ADMI_WORKS_USR:
|
||||
case Brw_ADMI_WORKS_CRS:
|
||||
case Brw_ADMI_BRIEF_USR:
|
||||
PublicFile = false; // Files in these zones can not be public
|
||||
PublicFileAfterEdition = false; // Files in these zones can not be public
|
||||
License = Brw_GetParLicense ();
|
||||
break;
|
||||
default:
|
||||
PublicFile = false; // Files in other zones can not be public
|
||||
PublicFileAfterEdition = false; // Files in other zones can not be public
|
||||
License = Brw_LICENSE_DEFAULT;
|
||||
break;
|
||||
}
|
||||
|
@ -9660,17 +9665,50 @@ void Brw_ChgFileMetadata (void)
|
|||
if (FileMetadata.FilCod > 0) // Entry exists in database
|
||||
Brw_ChangeFilePublicInDB (Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.FileBrowser.Priv.FullPathInTree,
|
||||
PublicFile,License);
|
||||
PublicFileAfterEdition,License);
|
||||
else // No entry in database
|
||||
Brw_AddPathToDB (Gbl.Usrs.Me.UsrDat.UsrCod,FileMetadata.FileType,
|
||||
Gbl.FileBrowser.Priv.FullPathInTree,
|
||||
PublicFile,License);
|
||||
FileMetadata.FilCod = Brw_AddPathToDB (Gbl.Usrs.Me.UsrDat.UsrCod,FileMetadata.FileType,
|
||||
Gbl.FileBrowser.Priv.FullPathInTree,
|
||||
PublicFileAfterEdition,License);
|
||||
|
||||
/***** Remove the affected clipboards *****/
|
||||
Brw_RemoveAffectedClipboards (Gbl.FileBrowser.Type,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||
|
||||
/***** Insert file into public social activity *****/
|
||||
if (!PublicFileBeforeEdition &&
|
||||
PublicFileAfterEdition) // Only if file has changed from private to public
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_ADMI_DOCUM_INS:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_INS_DOC_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_SHARE_INS:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_INS_SHA_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_DOCUM_CTR:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_CTR_DOC_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_SHARE_CTR:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_CTR_SHA_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_DOCUM_DEG:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_DEG_DOC_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_SHARE_DEG:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_DEG_SHA_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_DOCUM_CRS:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_CRS_DOC_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
case Brw_ADMI_SHARE_CRS:
|
||||
Soc_StoreSocialEvent (Soc_EVENT_CRS_SHA_PUB_FILE,FileMetadata.FilCod);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/***** Write message of confirmation *****/
|
||||
sprintf (Gbl.Message,Txt_The_properties_of_file_X_have_been_saved,
|
||||
Gbl.FileBrowser.FilFolLnkName);
|
||||
|
@ -10881,23 +10919,25 @@ void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t Qu
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********** Put a document or a shared file into a notification *************/
|
||||
/********** Get summary and content of a document or a shared file ***********/
|
||||
/*****************************************************************************/
|
||||
// This function may be called inside a web service, so don't report error
|
||||
|
||||
void Brw_GetNotifDocOrSharedFile (char *SummaryStr,char **ContentStr,
|
||||
long FilCod,unsigned MaxChars,bool GetContent)
|
||||
void Brw_GetSummaryAndContentOrSharedFile (char *SummaryStr,char **ContentStr,
|
||||
long FilCod,unsigned MaxChars,bool GetContent)
|
||||
{
|
||||
char Query[256];
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
char FullPathInTreeFromDB[PATH_MAX+1];
|
||||
char PathUntilFileName[PATH_MAX+1];
|
||||
char FileName[NAME_MAX+1];
|
||||
|
||||
SummaryStr[0] = '\0'; // Return nothing on error
|
||||
|
||||
/***** Get subject of message from database *****/
|
||||
sprintf (Query,"SELECT Path FROM files WHERE FilCod='%ld'",FilCod);
|
||||
sprintf (Query,"SELECT Path FROM files WHERE FilCod='%ld'",
|
||||
FilCod);
|
||||
if (!mysql_query (&Gbl.mysql,Query))
|
||||
if ((mysql_res = mysql_store_result (&Gbl.mysql)) != NULL)
|
||||
{
|
||||
|
@ -10912,7 +10952,8 @@ void Brw_GetNotifDocOrSharedFile (char *SummaryStr,char **ContentStr,
|
|||
FullPathInTreeFromDB[PATH_MAX] = '\0';
|
||||
Str_SplitFullPathIntoPathAndFileName (FullPathInTreeFromDB,
|
||||
PathUntilFileName,
|
||||
SummaryStr);
|
||||
FileName);
|
||||
strcpy (SummaryStr,FileName);
|
||||
if (MaxChars)
|
||||
Str_LimitLengthHTMLStr (SummaryStr,MaxChars);
|
||||
|
||||
|
|
|
@ -213,8 +213,8 @@ void Brw_RemoveGrpZones (long CrsCod,long GrpCod);
|
|||
void Brw_RemoveUsrWorksInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_QuietOrVerbose_t QuietOrVerbose);
|
||||
void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrVerbose);
|
||||
|
||||
void Brw_GetNotifDocOrSharedFile (char *SummaryStr,char **ContentStr,
|
||||
long FilCod,unsigned MaxChars,bool GetContent);
|
||||
void Brw_GetSummaryAndContentOrSharedFile (char *SummaryStr,char **ContentStr,
|
||||
long FilCod,unsigned MaxChars,bool GetContent);
|
||||
|
||||
unsigned Brw_ListDocsFound (const char *Query,const char *Title);
|
||||
|
||||
|
|
|
@ -736,7 +736,7 @@ void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,Ntf_Notif
|
|||
break;
|
||||
case Ntf_EVENT_DOCUMENT_FILE:
|
||||
case Ntf_EVENT_SHARED_FILE:
|
||||
Brw_GetNotifDocOrSharedFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
|
||||
Brw_GetSummaryAndContentOrSharedFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
|
||||
break;
|
||||
case Ntf_EVENT_ASSIGNMENT:
|
||||
Asg_GetNotifAssignment (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
|
||||
|
|
|
@ -347,20 +347,14 @@ static void Soc_GetEventSummary (Soc_SocialEvent_t SocialEvent,long Cod,
|
|||
case Soc_EVENT_UNKNOWN:
|
||||
break;
|
||||
case Soc_EVENT_INS_DOC_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_INS_SHA_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_CTR_DOC_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_CTR_SHA_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_DEG_DOC_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_DEG_SHA_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_CRS_DOC_PUB_FILE:
|
||||
break;
|
||||
case Soc_EVENT_CRS_SHA_PUB_FILE:
|
||||
Brw_GetSummaryAndContentOrSharedFile (SummaryStr,NULL,Cod,MaxChars,false);
|
||||
break;
|
||||
case Soc_EVENT_EXAM_ANNOUNCEMENT:
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue