mirror of https://github.com/acanas/swad-core.git
Version19.205
This commit is contained in:
parent
9c71d16323
commit
a218ab0b47
|
@ -761,7 +761,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat,bool CreatingMyOwnAccount)
|
|||
"CtyCod,"
|
||||
"LocalAddress,LocalPhone,"
|
||||
"FamilyAddress,FamilyPhone,"
|
||||
"OriginPlace,Birthday,Comments,"
|
||||
"Birthday,Comments,"
|
||||
"Menu,SideCols,NotifNtfEvents,EmailNtfEvents)"
|
||||
" VALUES"
|
||||
" ('%s','%s',"
|
||||
|
@ -787,7 +787,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat,bool CreatingMyOwnAccount)
|
|||
Pri_VisibilityDB[UsrDat->ExPrfVisibility],
|
||||
UsrDat->CtyCod,
|
||||
UsrDat->LocalAddress ,UsrDat->LocalPhone,
|
||||
UsrDat->FamilyAddress,UsrDat->FamilyPhone,UsrDat->OriginPlace,
|
||||
UsrDat->FamilyAddress,UsrDat->FamilyPhone,
|
||||
BirthdayStrDB,
|
||||
CommentsLength ? UsrDat->Comments :
|
||||
"",
|
||||
|
|
|
@ -544,10 +544,11 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
|||
En OpenSWAD:
|
||||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.204.5 (2020-04-28)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.205 (2020-04-29)"
|
||||
#define CSS_FILE "swad19.193.1.css"
|
||||
#define JS_FILE "swad19.193.1.js"
|
||||
/*
|
||||
Version 19.205: Apr 29, 2020 Removed origin place in user's data. (300399 lines)
|
||||
Version 19.204.5: Apr 28, 2020 Save start and end dates on creation of exam event. (300471 lines)
|
||||
Version 19.204.4: Apr 28, 2020 Fixed bug in creation of new exam. (300470 lines)
|
||||
Version 19.204.3: Apr 28, 2020 List updated exam events after creation. (300521 lines)
|
||||
|
|
|
@ -3328,7 +3328,7 @@ mysql> DESCRIBE usr_data;
|
|||
"LocalPhone CHAR(16) NOT NULL DEFAULT ''," // Usr_MAX_BYTES_PHONE
|
||||
"FamilyAddress VARCHAR(2047) NOT NULL DEFAULT ''," // Usr_MAX_BYTES_ADDRESS
|
||||
"FamilyPhone CHAR(16) NOT NULL DEFAULT ''," // Usr_MAX_BYTES_PHONE
|
||||
"OriginPlace VARCHAR(2047) NOT NULL DEFAULT ''," // Usr_MAX_BYTES_ADDRESS
|
||||
"OriginPlace VARCHAR(2047) NOT NULL DEFAULT ''," // Usr_MAX_BYTES_ADDRESS // TODO: Remove, not yet used
|
||||
"Birthday DATE,"
|
||||
"Comments TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
|
||||
"Menu TINYINT NOT NULL DEFAULT 0,"
|
||||
|
|
|
@ -557,7 +557,7 @@ void Enr_UpdateUsrData (struct UsrData *UsrDat)
|
|||
"CtyCod=%ld,"
|
||||
"LocalAddress='%s',LocalPhone='%s',"
|
||||
"FamilyAddress='%s',FamilyPhone='%s',"
|
||||
"OriginPlace='%s',Birthday=%s,"
|
||||
"Birthday=%s,"
|
||||
"Comments='%s'"
|
||||
" WHERE UsrCod=%ld",
|
||||
UsrDat->Password,
|
||||
|
@ -566,7 +566,6 @@ void Enr_UpdateUsrData (struct UsrData *UsrDat)
|
|||
UsrDat->CtyCod,
|
||||
UsrDat->LocalAddress,UsrDat->LocalPhone,
|
||||
UsrDat->FamilyAddress,UsrDat->FamilyPhone,
|
||||
UsrDat->OriginPlace,
|
||||
BirthdayStrDB,
|
||||
UsrDat->Comments ? UsrDat->Comments :
|
||||
"",
|
||||
|
|
|
@ -127,7 +127,6 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,bool PutForm);
|
|||
static void Rec_ShowSurname2 (struct UsrData *UsrDat,bool PutForm);
|
||||
static void Rec_ShowFirstName (struct UsrData *UsrDat,bool PutForm);
|
||||
static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm);
|
||||
static void Rec_ShowOriginPlace (struct UsrData *UsrDat,bool ShowData,bool PutForm);
|
||||
static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,bool ShowData,bool PutForm);
|
||||
static void Rec_ShowLocalAddress (struct UsrData *UsrDat,bool ShowData,bool PutForm);
|
||||
static void Rec_ShowLocalPhone (struct UsrData *UsrDat,bool ShowData,bool PutForm);
|
||||
|
@ -2348,9 +2347,6 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
|
|||
/***** Address rows *****/
|
||||
if (ShowAddressRows)
|
||||
{
|
||||
/***** Origin place *****/
|
||||
Rec_ShowOriginPlace (UsrDat,ShowData,ICanEdit);
|
||||
|
||||
/***** Date of birth *****/
|
||||
Rec_ShowDateOfBirth (UsrDat,ShowData,ICanEdit);
|
||||
|
||||
|
@ -3285,39 +3281,6 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm)
|
|||
HTM_TR_End ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Show user's place of origin ************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Rec_ShowOriginPlace (struct UsrData *UsrDat,bool ShowData,bool PutForm)
|
||||
{
|
||||
extern const char *Txt_Place_of_origin;
|
||||
|
||||
/***** Origin place *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
|
||||
/* Label */
|
||||
Frm_LabelColumn ("REC_C1_BOT RM",PutForm ? "OriginPlace" :
|
||||
NULL,
|
||||
Txt_Place_of_origin);
|
||||
|
||||
/* Data */
|
||||
HTM_TD_Begin ("class=\"REC_C2_BOT DAT_N LM\"");
|
||||
if (ShowData)
|
||||
{
|
||||
if (PutForm)
|
||||
HTM_INPUT_TEXT ("OriginPlace",Usr_MAX_CHARS_ADDRESS,
|
||||
UsrDat->OriginPlace,
|
||||
HTM_DONT_SUBMIT_ON_CHANGE,
|
||||
"id=\"OriginPlace\" class=\"REC_C2_BOT_INPUT\"");
|
||||
else if (UsrDat->OriginPlace[0])
|
||||
HTM_Txt (UsrDat->OriginPlace);
|
||||
}
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TR_End ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Show user's date of birth **************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -3836,9 +3799,6 @@ static void Rec_GetUsrExtraDataFromRecordForm (struct UsrData *UsrDat)
|
|||
/***** Get country code *****/
|
||||
UsrDat->CtyCod = Par_GetParToLong ("OthCtyCod");
|
||||
|
||||
Par_GetParToText ("OriginPlace",UsrDat->OriginPlace,Usr_MAX_BYTES_ADDRESS);
|
||||
Str_ConvertToTitleType (UsrDat->OriginPlace);
|
||||
|
||||
Dat_GetDateFromForm ("BirthDay","BirthMonth","BirthYear",
|
||||
&(UsrDat->Birthday.Day ),
|
||||
&(UsrDat->Birthday.Month),
|
||||
|
|
21
swad_text.c
21
swad_text.c
|
@ -30347,27 +30347,6 @@ const char *Txt_Place = // A particular spot or area
|
|||
"Localização";
|
||||
#endif
|
||||
|
||||
const char *Txt_Place_of_origin =
|
||||
#if L==1 // ca
|
||||
"Lugar de origen"; // Necessita traduccio
|
||||
#elif L==2 // de
|
||||
"Herkunftsort";
|
||||
#elif L==3 // en
|
||||
"Place of origin";
|
||||
#elif L==4 // es
|
||||
"Lugar de origen";
|
||||
#elif L==5 // fr
|
||||
"Lieu d'origine";
|
||||
#elif L==6 // gn
|
||||
"Lugar de origen"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Luogo d'origine";
|
||||
#elif L==8 // pl
|
||||
"Miejsce pochodzenia";
|
||||
#elif L==9 // pt
|
||||
"Lugar de origem";
|
||||
#endif
|
||||
|
||||
const char *Txt_Place_X_removed = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"Lloc <strong>%s</strong> eliminat.";
|
||||
|
|
108
swad_user.c
108
swad_user.c
|
@ -138,8 +138,8 @@ static const char *Usr_ParamUsrCod[Rol_NUM_ROLES] =
|
|||
};
|
||||
|
||||
#define Usr_NUM_MAIN_FIELDS_DATA_ADM 7
|
||||
#define Usr_NUM_ALL_FIELDS_DATA_GST 17
|
||||
#define Usr_NUM_ALL_FIELDS_DATA_STD 13
|
||||
#define Usr_NUM_ALL_FIELDS_DATA_GST 16
|
||||
#define Usr_NUM_ALL_FIELDS_DATA_STD 12
|
||||
#define Usr_NUM_ALL_FIELDS_DATA_TCH 11
|
||||
const char *Usr_UsrDatMainFieldNames[Usr_NUM_MAIN_FIELDS_DATA_USR];
|
||||
|
||||
|
@ -349,7 +349,6 @@ void Usr_ResetUsrDataExceptUsrCodAndIDs (struct UsrData *UsrDat)
|
|||
UsrDat->ExPrfVisibility = Pri_EXTENDED_PROFILE_VIS_DEFAULT;
|
||||
|
||||
UsrDat->CtyCod = -1L;
|
||||
UsrDat->OriginPlace[0] = '\0';
|
||||
UsrDat->StrBirthday[0] = '\0';
|
||||
UsrDat->Birthday.Day = 0;
|
||||
UsrDat->Birthday.Month = 0;
|
||||
|
@ -532,12 +531,11 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs)
|
|||
"LocalPhone," // row[18]
|
||||
"FamilyAddress," // row[19]
|
||||
"FamilyPhone," // row[20]
|
||||
"OriginPlace," // row[21]
|
||||
"DATE_FORMAT(Birthday,"
|
||||
"'%%Y%%m%%d')," // row[22]
|
||||
"Comments," // row[23]
|
||||
"NotifNtfEvents," // row[24]
|
||||
"EmailNtfEvents" // row[25]
|
||||
"'%%Y%%m%%d')," // row[21]
|
||||
"Comments," // row[22]
|
||||
"NotifNtfEvents," // row[23]
|
||||
"EmailNtfEvents" // row[24]
|
||||
" FROM usr_data"
|
||||
" WHERE UsrCod=%ld",
|
||||
UsrDat->UsrCod);
|
||||
|
@ -566,23 +564,22 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs)
|
|||
"LocalPhone," // row[18]
|
||||
"FamilyAddress," // row[19]
|
||||
"FamilyPhone," // row[20]
|
||||
"OriginPlace," // row[21]
|
||||
"DATE_FORMAT(Birthday,"
|
||||
"'%%Y%%m%%d')," // row[22]
|
||||
"Comments," // row[23]
|
||||
"NotifNtfEvents," // row[24]
|
||||
"EmailNtfEvents," // row[25]
|
||||
"'%%Y%%m%%d')," // row[21]
|
||||
"Comments," // row[22]
|
||||
"NotifNtfEvents," // row[23]
|
||||
"EmailNtfEvents," // row[24]
|
||||
|
||||
// Settings (usually not necessary
|
||||
// when getting another user's data)
|
||||
"Language," // row[26]
|
||||
"FirstDayOfWeek," // row[27]
|
||||
"DateFormat," // row[28]
|
||||
"Theme," // row[29]
|
||||
"IconSet," // row[30]
|
||||
"Menu," // row[31]
|
||||
"SideCols," // row[32]
|
||||
"ThirdPartyCookies" // row[33]
|
||||
"Language," // row[25]
|
||||
"FirstDayOfWeek," // row[26]
|
||||
"DateFormat," // row[27]
|
||||
"Theme," // row[28]
|
||||
"IconSet," // row[29]
|
||||
"Menu," // row[30]
|
||||
"SideCols," // row[31]
|
||||
"ThirdPartyCookies" // row[32]
|
||||
" FROM usr_data"
|
||||
" WHERE UsrCod=%ld",
|
||||
UsrDat->UsrCod);
|
||||
|
@ -667,25 +664,21 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs)
|
|||
Str_Copy (UsrDat->FamilyPhone,row[20],
|
||||
Usr_MAX_BYTES_PHONE);
|
||||
|
||||
/* Get origin place (row[21]) */
|
||||
Str_Copy (UsrDat->OriginPlace,row[21],
|
||||
Usr_MAX_BYTES_ADDRESS);
|
||||
|
||||
/* Get birthday (row[22]) */
|
||||
Dat_GetDateFromYYYYMMDD (&(UsrDat->Birthday),row[22]);
|
||||
/* Get birthday (row[21]) */
|
||||
Dat_GetDateFromYYYYMMDD (&(UsrDat->Birthday),row[21]);
|
||||
Dat_ConvDateToDateStr (&(UsrDat->Birthday),UsrDat->StrBirthday);
|
||||
|
||||
/* Get comments (row[23]) */
|
||||
Usr_GetUsrCommentsFromString (row[23] ? row[23] :
|
||||
/* Get comments (row[22]) */
|
||||
Usr_GetUsrCommentsFromString (row[23] ? row[22] :
|
||||
"",
|
||||
UsrDat);
|
||||
|
||||
/* Get on which events the user wants to be notified inside the platform (row[24]) */
|
||||
if (sscanf (row[24],"%u",&UsrDat->NtfEvents.CreateNotif) != 1)
|
||||
/* Get on which events the user wants to be notified inside the platform (row[23]) */
|
||||
if (sscanf (row[23],"%u",&UsrDat->NtfEvents.CreateNotif) != 1)
|
||||
UsrDat->NtfEvents.CreateNotif = (unsigned) -1; // 0xFF..FF
|
||||
|
||||
/* Get on which events the user wants to be notified by email (row[25]) */
|
||||
if (sscanf (row[25],"%u",&UsrDat->NtfEvents.SendEmail) != 1)
|
||||
/* Get on which events the user wants to be notified by email (row[24]) */
|
||||
if (sscanf (row[24],"%u",&UsrDat->NtfEvents.SendEmail) != 1)
|
||||
UsrDat->NtfEvents.SendEmail = 0;
|
||||
if (UsrDat->NtfEvents.SendEmail >= (1 << Ntf_NUM_NOTIFY_EVENTS)) // Maximum binary value for NotifyEvents is 000...0011...11
|
||||
UsrDat->NtfEvents.SendEmail = 0;
|
||||
|
@ -693,50 +686,50 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs)
|
|||
/***** Get user's settings *****/
|
||||
if (GetPrefs == Usr_GET_PREFS)
|
||||
{
|
||||
/* Get language (row[26]) */
|
||||
/* Get language (row[25]) */
|
||||
UsrDat->Prefs.Language = Lan_LANGUAGE_UNKNOWN; // Language unknown
|
||||
for (Lan = (Lan_Language_t) 1;
|
||||
Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES;
|
||||
Lan++)
|
||||
if (!strcasecmp (row[26],Lan_STR_LANG_ID[Lan]))
|
||||
if (!strcasecmp (row[25],Lan_STR_LANG_ID[Lan]))
|
||||
{
|
||||
UsrDat->Prefs.Language = Lan;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get first day of week (row[27]) */
|
||||
UsrDat->Prefs.FirstDayOfWeek = Cal_GetFirstDayOfWeekFromStr (row[27]);
|
||||
/* Get first day of week (row[26]) */
|
||||
UsrDat->Prefs.FirstDayOfWeek = Cal_GetFirstDayOfWeekFromStr (row[26]);
|
||||
|
||||
/* Get date format (row[28]) */
|
||||
UsrDat->Prefs.DateFormat = Dat_GetDateFormatFromStr (row[28]);
|
||||
/* Get date format (row[27]) */
|
||||
UsrDat->Prefs.DateFormat = Dat_GetDateFormatFromStr (row[27]);
|
||||
|
||||
/* Get theme (row[29]) */
|
||||
/* Get theme (row[28]) */
|
||||
UsrDat->Prefs.Theme = The_THEME_DEFAULT;
|
||||
for (Theme = (The_Theme_t) 0;
|
||||
Theme <= (The_Theme_t) (The_NUM_THEMES - 1);
|
||||
Theme++)
|
||||
if (!strcasecmp (row[29],The_ThemeId[Theme]))
|
||||
if (!strcasecmp (row[28],The_ThemeId[Theme]))
|
||||
{
|
||||
UsrDat->Prefs.Theme = Theme;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get icon set (row[30]) */
|
||||
/* Get icon set (row[29]) */
|
||||
UsrDat->Prefs.IconSet = Ico_ICON_SET_DEFAULT;
|
||||
for (IconSet = (Ico_IconSet_t) 0;
|
||||
IconSet <= (Ico_IconSet_t) (Ico_NUM_ICON_SETS - 1);
|
||||
IconSet++)
|
||||
if (!strcasecmp (row[30],Ico_IconSetId[IconSet]))
|
||||
if (!strcasecmp (row[29],Ico_IconSetId[IconSet]))
|
||||
{
|
||||
UsrDat->Prefs.IconSet = IconSet;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get menu (row[31]) */
|
||||
UsrDat->Prefs.Menu = Mnu_GetMenuFromStr (row[31]);
|
||||
/* Get menu (row[30]) */
|
||||
UsrDat->Prefs.Menu = Mnu_GetMenuFromStr (row[30]);
|
||||
|
||||
/* Get if user wants to show side columns (row[32]) */
|
||||
if (sscanf (row[32],"%u",&UsrDat->Prefs.SideCols) == 1)
|
||||
/* Get if user wants to show side columns (row[31]) */
|
||||
if (sscanf (row[31],"%u",&UsrDat->Prefs.SideCols) == 1)
|
||||
{
|
||||
if (UsrDat->Prefs.SideCols > Lay_SHOW_BOTH_COLUMNS)
|
||||
UsrDat->Prefs.SideCols = Cfg_DEFAULT_COLUMNS;
|
||||
|
@ -744,8 +737,8 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat,Usr_GetPrefs_t GetPrefs)
|
|||
else
|
||||
UsrDat->Prefs.SideCols = Cfg_DEFAULT_COLUMNS;
|
||||
|
||||
/* Get if user accepts third party cookies (row[33]) */
|
||||
UsrDat->Prefs.AcceptThirdPartyCookies = (row[33][0] == 'Y');
|
||||
/* Get if user accepts third party cookies (row[32]) */
|
||||
UsrDat->Prefs.AcceptThirdPartyCookies = (row[32][0] == 'Y');
|
||||
}
|
||||
|
||||
/***** Free structure that stores the query result *****/
|
||||
|
@ -3774,10 +3767,6 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
|
|||
UsrDat->FamilyPhone[0] ? UsrDat->FamilyPhone :
|
||||
" ",
|
||||
NULL,true,false);
|
||||
Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd],
|
||||
UsrDat->OriginPlace[0] ? UsrDat->OriginPlace :
|
||||
" ",
|
||||
NULL,true,false);
|
||||
Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd],
|
||||
UsrDat->StrBirthday[0] ? UsrDat->StrBirthday :
|
||||
" ",
|
||||
|
@ -3856,11 +3845,6 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
|
|||
"********") :
|
||||
" ",
|
||||
NULL,true,UsrDat->Accepted);
|
||||
Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd],
|
||||
UsrDat->OriginPlace[0] ? (ShowData ? UsrDat->OriginPlace :
|
||||
"********") :
|
||||
" ",
|
||||
NULL,true,UsrDat->Accepted);
|
||||
Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd],
|
||||
UsrDat->StrBirthday[0] ? (ShowData ? UsrDat->StrBirthday :
|
||||
"********") :
|
||||
|
@ -6834,7 +6818,6 @@ void Usr_ListAllDataGsts (void)
|
|||
extern const char *Txt_Phone;
|
||||
extern const char *Txt_Local_address;
|
||||
extern const char *Txt_Family_address;
|
||||
extern const char *Txt_Place_of_origin;
|
||||
extern const char *Txt_Date_of_birth;
|
||||
unsigned NumColumnsCommonCard;
|
||||
unsigned NumCol;
|
||||
|
@ -6858,8 +6841,7 @@ void Usr_ListAllDataGsts (void)
|
|||
FieldNames[12] = Txt_Phone;
|
||||
FieldNames[13] = Txt_Family_address;
|
||||
FieldNames[14] = Txt_Phone;
|
||||
FieldNames[15] = Txt_Place_of_origin;
|
||||
FieldNames[16] = Txt_Date_of_birth;
|
||||
FieldNames[15] = Txt_Date_of_birth;
|
||||
|
||||
/***** Get and update type of list,
|
||||
number of columns in class photo
|
||||
|
@ -6944,7 +6926,6 @@ void Usr_ListAllDataStds (void)
|
|||
extern const char *Txt_Local_address;
|
||||
extern const char *Txt_Phone;
|
||||
extern const char *Txt_Family_address;
|
||||
extern const char *Txt_Place_of_origin;
|
||||
extern const char *Txt_Date_of_birth;
|
||||
extern const char *Txt_Group;
|
||||
extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY];
|
||||
|
@ -6971,8 +6952,7 @@ void Usr_ListAllDataStds (void)
|
|||
FieldNames[ 8] = Txt_Phone;
|
||||
FieldNames[ 9] = Txt_Family_address;
|
||||
FieldNames[10] = Txt_Phone;
|
||||
FieldNames[11] = Txt_Place_of_origin;
|
||||
FieldNames[12] = Txt_Date_of_birth;
|
||||
FieldNames[11] = Txt_Date_of_birth;
|
||||
|
||||
GroupNames = NULL; // To avoid warning
|
||||
|
||||
|
|
|
@ -192,7 +192,6 @@ struct UsrData
|
|||
Pri_Visibility_t BaPrfVisibility; // Who can see user's basic public profile (minimal record card)
|
||||
Pri_Visibility_t ExPrfVisibility; // Who can see user's extended public profile (figures, follow)
|
||||
long CtyCod; // Country
|
||||
char OriginPlace [Usr_MAX_BYTES_ADDRESS + 1];
|
||||
struct Date Birthday;
|
||||
char StrBirthday [Cns_MAX_BYTES_DATE + 1];
|
||||
char LocalAddress [Usr_MAX_BYTES_ADDRESS + 1];
|
||||
|
|
Loading…
Reference in New Issue