mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-15 21:24:07 +02:00
Version18.83.1
This commit is contained in:
parent
3ad087f987
commit
db179a0dca
|
@ -459,10 +459,13 @@ En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 18.86 (2019-03-22)"
|
#define Log_PLATFORM_VERSION "SWAD 18.86.1 (2019-03-23)"
|
||||||
#define CSS_FILE "swad18.85.1.css"
|
#define CSS_FILE "swad18.85.1.css"
|
||||||
#define JS_FILE "swad18.85.js"
|
#define JS_FILE "swad18.85.js"
|
||||||
/*
|
/*
|
||||||
|
Version 18.86.1: Mar 23, 2019 Changes in writing of a floating point number.
|
||||||
|
Mask applied to figure about privacy.
|
||||||
|
Mash applied when receiving form with privacy. (240944 lines)
|
||||||
Version 18.86: Mar 22, 2019 Profile visibility is splitted into basic and extended.
|
Version 18.86: Mar 22, 2019 Profile visibility is splitted into basic and extended.
|
||||||
Fixed bug storing media in database. (240928 lines)
|
Fixed bug storing media in database. (240928 lines)
|
||||||
6 changes necessary in database:
|
6 changes necessary in database:
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#include "swad_logo.h"
|
#include "swad_logo.h"
|
||||||
#include "swad_network.h"
|
#include "swad_network.h"
|
||||||
#include "swad_notice.h"
|
#include "swad_notice.h"
|
||||||
|
#include "swad_privacy.h"
|
||||||
#include "swad_profile.h"
|
#include "swad_profile.h"
|
||||||
#include "swad_role.h"
|
#include "swad_role.h"
|
||||||
#include "swad_table.h"
|
#include "swad_table.h"
|
||||||
|
@ -169,7 +170,8 @@ static void Fig_GetAndShowMsgsStats (void);
|
||||||
static void Fig_GetAndShowSurveysStats (void);
|
static void Fig_GetAndShowSurveysStats (void);
|
||||||
static void Fig_GetAndShowNumUsrsPerPrivacy (void);
|
static void Fig_GetAndShowNumUsrsPerPrivacy (void);
|
||||||
static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
|
static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
|
||||||
const char *FieldName);
|
const char *FieldName,
|
||||||
|
unsigned MaskAllowedVisibility);
|
||||||
static void Fig_GetAndShowNumUsrsPerCookies (void);
|
static void Fig_GetAndShowNumUsrsPerCookies (void);
|
||||||
static void Fig_GetAndShowNumUsrsPerLanguage (void);
|
static void Fig_GetAndShowNumUsrsPerLanguage (void);
|
||||||
static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void);
|
static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void);
|
||||||
|
@ -4817,13 +4819,16 @@ static void Fig_GetAndShowNumUsrsPerPrivacy (void)
|
||||||
|
|
||||||
/***** Privacy for photo *****/
|
/***** Privacy for photo *****/
|
||||||
Fig_GetAndShowNumUsrsPerPrivacyForAnObject (Txt_Photo,
|
Fig_GetAndShowNumUsrsPerPrivacyForAnObject (Txt_Photo,
|
||||||
"PhotoVisibility");
|
"PhotoVisibility",
|
||||||
|
Pri_PHOTO_ALLOWED_VIS);
|
||||||
|
|
||||||
/***** Privacy for public profile *****/
|
/***** Privacy for public profile *****/
|
||||||
Fig_GetAndShowNumUsrsPerPrivacyForAnObject (Txt_Basic_public_profile,
|
Fig_GetAndShowNumUsrsPerPrivacyForAnObject (Txt_Basic_public_profile,
|
||||||
"BaPrfVisibility");
|
"BaPrfVisibility",
|
||||||
|
Pri_BASIC_PROFILE_ALLOWED_VIS);
|
||||||
Fig_GetAndShowNumUsrsPerPrivacyForAnObject (Txt_Extended_public_profile,
|
Fig_GetAndShowNumUsrsPerPrivacyForAnObject (Txt_Extended_public_profile,
|
||||||
"ExPrfVisibility");
|
"ExPrfVisibility",
|
||||||
|
Pri_EXTENDED_PROFILE_ALLOWED_VIS);
|
||||||
|
|
||||||
/***** End table and box *****/
|
/***** End table and box *****/
|
||||||
Box_EndBoxTable ();
|
Box_EndBoxTable ();
|
||||||
|
@ -4834,7 +4839,8 @@ static void Fig_GetAndShowNumUsrsPerPrivacy (void)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
|
static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
|
||||||
const char *FieldName)
|
const char *FieldName,
|
||||||
|
unsigned MaskAllowedVisibility)
|
||||||
{
|
{
|
||||||
extern const char *Txt_No_of_users;
|
extern const char *Txt_No_of_users;
|
||||||
extern const char *Txt_PERCENT_of_users;
|
extern const char *Txt_PERCENT_of_users;
|
||||||
|
@ -4865,6 +4871,7 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
|
||||||
for (Visibility = (Pri_Visibility_t) 0;
|
for (Visibility = (Pri_Visibility_t) 0;
|
||||||
Visibility < Pri_NUM_OPTIONS_PRIVACY;
|
Visibility < Pri_NUM_OPTIONS_PRIVACY;
|
||||||
Visibility++)
|
Visibility++)
|
||||||
|
if (MaskAllowedVisibility & (1 << Visibility))
|
||||||
{
|
{
|
||||||
/* Get the number of users who have chosen this privacy option from database */
|
/* Get the number of users who have chosen this privacy option from database */
|
||||||
if (asprintf (&SubQuery,"usr_data.%s='%s'",
|
if (asprintf (&SubQuery,"usr_data.%s='%s'",
|
||||||
|
@ -4881,6 +4888,7 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
|
||||||
for (Visibility = (Pri_Visibility_t) 0;
|
for (Visibility = (Pri_Visibility_t) 0;
|
||||||
Visibility < Pri_NUM_OPTIONS_PRIVACY;
|
Visibility < Pri_NUM_OPTIONS_PRIVACY;
|
||||||
Visibility++)
|
Visibility++)
|
||||||
|
if (MaskAllowedVisibility & (1 << Visibility))
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td class=\"DAT LEFT_MIDDLE\">"
|
"<td class=\"DAT LEFT_MIDDLE\">"
|
||||||
"%s"
|
"%s"
|
||||||
|
|
|
@ -1310,7 +1310,8 @@ void Pho_ChangePhotoVisibility (void)
|
||||||
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
||||||
|
|
||||||
/***** Get param with public/private photo *****/
|
/***** Get param with public/private photo *****/
|
||||||
Gbl.Usrs.Me.UsrDat.PhotoVisibility = Pri_GetParamVisibility ("VisPho");
|
Gbl.Usrs.Me.UsrDat.PhotoVisibility = Pri_GetParamVisibility ("VisPho",
|
||||||
|
Pri_PHOTO_ALLOWED_VIS);
|
||||||
|
|
||||||
/***** Store public/private photo in database *****/
|
/***** Store public/private photo in database *****/
|
||||||
DB_QueryUPDATE ("can not update your preference about photo visibility",
|
DB_QueryUPDATE ("can not update your preference about photo visibility",
|
||||||
|
|
|
@ -220,13 +220,17 @@ Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str)
|
||||||
/**************** Get parameter with visibility from form ********************/
|
/**************** Get parameter with visibility from form ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName)
|
Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName,
|
||||||
|
unsigned MaskAllowedVisibility)
|
||||||
{
|
{
|
||||||
return (Pri_Visibility_t)
|
Pri_Visibility_t Visibility;
|
||||||
Par_GetParToUnsignedLong (ParamName,
|
|
||||||
|
Visibility = (Pri_Visibility_t) Par_GetParToUnsignedLong (ParamName,
|
||||||
0,
|
0,
|
||||||
Pri_NUM_OPTIONS_PRIVACY - 1,
|
Pri_NUM_OPTIONS_PRIVACY - 1,
|
||||||
(unsigned long) Pri_VISIBILITY_UNKNOWN);
|
(unsigned long) Pri_VISIBILITY_UNKNOWN);
|
||||||
|
return (MaskAllowedVisibility & (1 << Visibility)) ? Visibility :
|
||||||
|
Pri_VISIBILITY_UNKNOWN;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -62,7 +62,8 @@
|
||||||
void Pri_EditMyPrivacy (void);
|
void Pri_EditMyPrivacy (void);
|
||||||
|
|
||||||
Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str);
|
Pri_Visibility_t Pri_GetVisibilityFromStr (const char *Str);
|
||||||
Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName);
|
Pri_Visibility_t Pri_GetParamVisibility (const char *ParamName,
|
||||||
|
unsigned MaskAllowedVisibility);
|
||||||
|
|
||||||
bool Pri_ShowingIsAllowed (Pri_Visibility_t Visibility,struct UsrData *UsrDat);
|
bool Pri_ShowingIsAllowed (Pri_Visibility_t Visibility,struct UsrData *UsrDat);
|
||||||
|
|
||||||
|
|
|
@ -353,7 +353,8 @@ void Prf_ChangeBasicProfileVis (void)
|
||||||
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
||||||
|
|
||||||
/***** Get param with public/private photo *****/
|
/***** Get param with public/private photo *****/
|
||||||
Gbl.Usrs.Me.UsrDat.BaPrfVisibility = Pri_GetParamVisibility ("VisBasPrf");
|
Gbl.Usrs.Me.UsrDat.BaPrfVisibility = Pri_GetParamVisibility ("VisBasPrf",
|
||||||
|
Pri_BASIC_PROFILE_ALLOWED_VIS);
|
||||||
|
|
||||||
/***** Store public/private photo in database *****/
|
/***** Store public/private photo in database *****/
|
||||||
DB_QueryUPDATE ("can not update your preference"
|
DB_QueryUPDATE ("can not update your preference"
|
||||||
|
@ -372,7 +373,8 @@ void Prf_ChangeExtendedProfileVis (void)
|
||||||
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
||||||
|
|
||||||
/***** Get param with public/private photo *****/
|
/***** Get param with public/private photo *****/
|
||||||
Gbl.Usrs.Me.UsrDat.ExPrfVisibility = Pri_GetParamVisibility ("VisExtPrf");
|
Gbl.Usrs.Me.UsrDat.ExPrfVisibility = Pri_GetParamVisibility ("VisExtPrf",
|
||||||
|
Pri_EXTENDED_PROFILE_ALLOWED_VIS);
|
||||||
|
|
||||||
/***** Store public/private photo in database *****/
|
/***** Store public/private photo in database *****/
|
||||||
DB_QueryUPDATE ("can not update your preference"
|
DB_QueryUPDATE ("can not update your preference"
|
||||||
|
|
|
@ -896,16 +896,14 @@ void Str_WriteFloatNum (FILE *FileDst,float Number)
|
||||||
if (IntegerPart != 0.0)
|
if (IntegerPart != 0.0)
|
||||||
Format = "%.1f";
|
Format = "%.1f";
|
||||||
else if (FractionaryPart >= 0.095)
|
else if (FractionaryPart >= 0.095)
|
||||||
Format = "%.1f";
|
|
||||||
else if (FractionaryPart >= 0.0095)
|
|
||||||
Format = "%.2f";
|
Format = "%.2f";
|
||||||
else if (FractionaryPart >= 0.00095)
|
else if (FractionaryPart >= 0.0095)
|
||||||
Format = "%.3f";
|
Format = "%.3f";
|
||||||
else if (FractionaryPart >= 0.000095)
|
else if (FractionaryPart >= 0.00095)
|
||||||
Format = "%.4f";
|
Format = "%.4f";
|
||||||
else if (FractionaryPart >= 0.0000095)
|
else if (FractionaryPart >= 0.000095)
|
||||||
Format = "%.5f";
|
Format = "%.5f";
|
||||||
else if (FractionaryPart >= 0.00000095)
|
else if (FractionaryPart >= 0.0000095)
|
||||||
Format = "%.6f";
|
Format = "%.6f";
|
||||||
else
|
else
|
||||||
Format = "%e";
|
Format = "%e";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user