mirror of https://github.com/acanas/swad-core.git
Version 15.207
This commit is contained in:
parent
b126068f00
commit
fd8caa4bfe
34
sql/swad.sql
34
sql/swad.sql
|
@ -1202,17 +1202,17 @@ CREATE TABLE IF NOT EXISTS usr_banned (
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS usr_data (
|
CREATE TABLE IF NOT EXISTS usr_data (
|
||||||
UsrCod INT NOT NULL AUTO_INCREMENT,
|
UsrCod INT NOT NULL AUTO_INCREMENT,
|
||||||
EncryptedUsrCod CHAR(43) NOT NULL,
|
EncryptedUsrCod CHAR(43) NOT NULL DEFAULT '',
|
||||||
Password CHAR(86) COLLATE latin1_bin NOT NULL,
|
Password CHAR(86) COLLATE latin1_bin NOT NULL DEFAULT '',
|
||||||
Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL,
|
Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',
|
||||||
Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL,
|
Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',
|
||||||
FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL,
|
FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',
|
||||||
Sex ENUM ('unknown','female','male') NOT NULL DEFAULT 'unknown',
|
Sex ENUM ('unknown','female','male') NOT NULL DEFAULT 'unknown',
|
||||||
Theme CHAR(16) NOT NULL,
|
Theme CHAR(16) NOT NULL DEFAULT '',
|
||||||
IconSet CHAR(16) NOT NULL,
|
IconSet CHAR(16) NOT NULL DEFAULT '',
|
||||||
Language CHAR(2) NOT NULL,
|
Language CHAR(2) NOT NULL DEFAULT '',
|
||||||
FirstDayOfWeek TINYINT NOT NULL DEFAULT 0,
|
FirstDayOfWeek TINYINT NOT NULL DEFAULT 0,
|
||||||
Photo CHAR(43) NOT NULL,
|
Photo CHAR(43) NOT NULL DEFAULT '',
|
||||||
PhotoVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',
|
PhotoVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',
|
||||||
ProfileVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',
|
ProfileVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',
|
||||||
CtyCod INT NOT NULL DEFAULT -1,
|
CtyCod INT NOT NULL DEFAULT -1,
|
||||||
|
@ -1220,15 +1220,15 @@ CREATE TABLE IF NOT EXISTS usr_data (
|
||||||
InsCod INT NOT NULL DEFAULT -1,
|
InsCod INT NOT NULL DEFAULT -1,
|
||||||
DptCod INT NOT NULL DEFAULT -1,
|
DptCod INT NOT NULL DEFAULT -1,
|
||||||
CtrCod INT NOT NULL DEFAULT -1,
|
CtrCod INT NOT NULL DEFAULT -1,
|
||||||
Office VARCHAR(127) NOT NULL,
|
Office VARCHAR(127) NOT NULL DEFAULT '',
|
||||||
OfficePhone CHAR(16) NOT NULL,
|
OfficePhone CHAR(16) NOT NULL DEFAULT '',
|
||||||
LocalAddress VARCHAR(127) NOT NULL,
|
LocalAddress VARCHAR(127) NOT NULL DEFAULT '',
|
||||||
LocalPhone CHAR(16) NOT NULL,
|
LocalPhone CHAR(16) NOT NULL DEFAULT '',
|
||||||
FamilyAddress VARCHAR(127) NOT NULL,
|
FamilyAddress VARCHAR(127) NOT NULL DEFAULT '',
|
||||||
FamilyPhone CHAR(16) NOT NULL,
|
FamilyPhone CHAR(16) NOT NULL DEFAULT '',
|
||||||
OriginPlace VARCHAR(127) NOT NULL,
|
OriginPlace VARCHAR(127) NOT NULL DEFAULT '',
|
||||||
Birthday DATE NOT NULL,
|
Birthday DATE NOT NULL,
|
||||||
Comments TEXT NOT NULL,
|
Comments TEXT NOT NULL DEFAULT '',
|
||||||
Menu TINYINT NOT NULL DEFAULT 0,
|
Menu TINYINT NOT NULL DEFAULT 0,
|
||||||
SideCols TINYINT NOT NULL DEFAULT 3,
|
SideCols TINYINT NOT NULL DEFAULT 3,
|
||||||
NotifNtfEvents INT NOT NULL DEFAULT 0,
|
NotifNtfEvents INT NOT NULL DEFAULT 0,
|
||||||
|
|
|
@ -456,6 +456,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat)
|
||||||
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
||||||
extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES];
|
extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES];
|
||||||
extern const char *Usr_StringsSexDB[Usr_NUM_SEXS];
|
extern const char *Usr_StringsSexDB[Usr_NUM_SEXS];
|
||||||
|
char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH+1];
|
||||||
char Query[2048];
|
char Query[2048];
|
||||||
char PathRelUsr[PATH_MAX+1];
|
char PathRelUsr[PATH_MAX+1];
|
||||||
unsigned NumID;
|
unsigned NumID;
|
||||||
|
@ -472,6 +473,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat)
|
||||||
|
|
||||||
/***** Insert new user in database *****/
|
/***** Insert new user in database *****/
|
||||||
/* Insert user's data */
|
/* Insert user's data */
|
||||||
|
Usr_CreateBirthdayStrDB (UsrDat,BirthdayStrDB);
|
||||||
sprintf (Query,"INSERT INTO usr_data (EncryptedUsrCod,Password,Surname1,Surname2,FirstName,Sex,"
|
sprintf (Query,"INSERT INTO usr_data (EncryptedUsrCod,Password,Surname1,Surname2,FirstName,Sex,"
|
||||||
"Theme,IconSet,Language,FirstDayOfWeek,PhotoVisibility,ProfileVisibility,"
|
"Theme,IconSet,Language,FirstDayOfWeek,PhotoVisibility,ProfileVisibility,"
|
||||||
"CtyCod,"
|
"CtyCod,"
|
||||||
|
@ -480,7 +482,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat)
|
||||||
" VALUES ('%s','%s','%s','%s','%s','%s',"
|
" VALUES ('%s','%s','%s','%s','%s','%s',"
|
||||||
"'%s','%s','%s','%u','%s','%s',"
|
"'%s','%s','%s','%u','%s','%s',"
|
||||||
"'%ld',"
|
"'%ld',"
|
||||||
"'%s','%s','%s','%s','%s','%04u-%02u-%02u','%s',"
|
"'%s','%s','%s','%s','%s',%s,'%s',"
|
||||||
"'%u','%u','-1','0')",
|
"'%u','%u','-1','0')",
|
||||||
UsrDat->EncryptedUsrCod,
|
UsrDat->EncryptedUsrCod,
|
||||||
UsrDat->Password,
|
UsrDat->Password,
|
||||||
|
@ -496,7 +498,7 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat)
|
||||||
UsrDat->LocalAddress ,UsrDat->LocalPhone,
|
UsrDat->LocalAddress ,UsrDat->LocalPhone,
|
||||||
UsrDat->FamilyAddress,UsrDat->FamilyPhone,
|
UsrDat->FamilyAddress,UsrDat->FamilyPhone,
|
||||||
UsrDat->OriginPlace,
|
UsrDat->OriginPlace,
|
||||||
UsrDat->Birthday.Year,UsrDat->Birthday.Month,UsrDat->Birthday.Day,
|
BirthdayStrDB,
|
||||||
UsrDat->Comments ? UsrDat->Comments :
|
UsrDat->Comments ? UsrDat->Comments :
|
||||||
"",
|
"",
|
||||||
Mnu_MENU_DEFAULT,
|
Mnu_MENU_DEFAULT,
|
||||||
|
|
|
@ -130,20 +130,43 @@
|
||||||
// TODO: FIX BUG: A theacher uploads a document in course documents zone, then he/she unregister from course, the he/she search for his/her documents, a document is shown in results but he/she can not view it
|
// TODO: FIX BUG: A theacher uploads a document in course documents zone, then he/she unregister from course, the he/she search for his/her documents, a document is shown in results but he/she can not view it
|
||||||
// TODO: FIX BUG: Txt_Save_file_properties does not have sense in briefcase, because nothing to save (license should be editable in briefcase?)
|
// TODO: FIX BUG: Txt_Save_file_properties does not have sense in briefcase, because nothing to save (license should be editable in briefcase?)
|
||||||
// TODO: In listing of courses, teachers column is before than students column. In edition of courses, students column is before teachers column.
|
// TODO: In listing of courses, teachers column is before than students column. In edition of courses, students column is before teachers column.
|
||||||
|
// TODO: List exam announcement as a list, like assignments. When clicking on an announcement, it will be shown alone, as now.
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 15.206 (2016-04-30)"
|
#define Log_PLATFORM_VERSION "SWAD 15.207 (2016-05-01)"
|
||||||
#define CSS_FILE "swad15.204.1.css"
|
#define CSS_FILE "swad15.204.1.css"
|
||||||
#define JS_FILE "swad15.197.js"
|
#define JS_FILE "swad15.197.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.207: May 01, 2016 Add default values for fields in users' data table. (201424 lines)
|
||||||
|
Birthday default value now is NULL.
|
||||||
|
18 changes necessary in database:
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN EncryptedUsrCod EncryptedUsrCod CHAR(43) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Password Password CHAR(86) COLLATE latin1_bin NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Surname1 Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Surname2 Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN FirstName FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Theme Theme CHAR(16) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN IconSet IconSet CHAR(16) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Language Language CHAR(2) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Photo Photo CHAR(43) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Office Office VARCHAR(127) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN OfficePhone OfficePhone CHAR(16) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN LocalAddress LocalAddress VARCHAR(127) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN LocalPhone LocalPhone CHAR(16) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN FamilyAddress FamilyAddress VARCHAR(127) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN FamilyPhone FamilyPhone CHAR(16) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN OriginPlace OriginPlace VARCHAR(127) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE usr_data CHANGE COLUMN Birthday Birthday DATE;
|
||||||
|
UPDATE usr_data SET Birthday=NULL WHERE Birthday='0000-00-00';
|
||||||
|
|
||||||
Version 15.206: Apr 30, 2016 Remove default DATETIME fields to avoid errors if 0 is not allowed in date in database. (201424 lines)
|
Version 15.206: Apr 30, 2016 Remove default DATETIME fields to avoid errors if 0 is not allowed in date in database. (201424 lines)
|
||||||
6 changes necessary in database:
|
7 changes necessary in database:
|
||||||
ALTER TABLE connected CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
ALTER TABLE connected CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
||||||
ALTER TABLE crs_grp_types CHANGE COLUMN OpenTime OpenTime DATETIME NOT NULL;
|
ALTER TABLE crs_grp_types CHANGE COLUMN OpenTime OpenTime DATETIME NOT NULL;
|
||||||
ALTER TABLE crs_last CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
ALTER TABLE crs_last CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
||||||
|
|
|
@ -2547,18 +2547,17 @@ mysql> DESCRIBE usr_data;
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+-------------------+--------------------------------------------------+------+-----+---------+----------------+
|
+-------------------+--------------------------------------------------+------+-----+---------+----------------+
|
||||||
| UsrCod | int(11) | NO | PRI | NULL | auto_increment |
|
| UsrCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
| EncryptedUsrCod | char(43) | NO | UNI | NULL | |
|
| EncryptedUsrCod | char(43) | NO | UNI | | |
|
||||||
| Password | char(86) | NO | | NULL | |
|
| Password | char(86) | NO | | | |
|
||||||
| Surname1 | varchar(32) | NO | | NULL | |
|
| Surname1 | varchar(32) | NO | | | |
|
||||||
| Surname2 | varchar(32) | NO | | NULL | |
|
| Surname2 | varchar(32) | NO | | | |
|
||||||
| FirstName | varchar(32) | NO | | NULL | |
|
| FirstName | varchar(32) | NO | | | |
|
||||||
| Sex | enum('unknown','female','male') | NO | | unknown | |
|
| Sex | enum('unknown','female','male') | NO | | unknown | |
|
||||||
| Layout | tinyint(4) | NO | MUL | 0 | |
|
| Theme | char(16) | NO | MUL | | |
|
||||||
| Theme | char(16) | NO | MUL | NULL | |
|
| IconSet | char(16) | NO | MUL | | |
|
||||||
| IconSet | char(16) | NO | MUL | NULL | |
|
| Language | char(2) | NO | MUL | | |
|
||||||
| Language | char(2) | NO | MUL | NULL | |
|
|
||||||
| FirstDayOfWeek | tinyint(4) | NO | MUL | 0 | |
|
| FirstDayOfWeek | tinyint(4) | NO | MUL | 0 | |
|
||||||
| Photo | char(43) | NO | | NULL | |
|
| Photo | char(43) | NO | | | |
|
||||||
| PhotoVisibility | enum('unknown','user','course','system','world') | NO | MUL | unknown | |
|
| PhotoVisibility | enum('unknown','user','course','system','world') | NO | MUL | unknown | |
|
||||||
| ProfileVisibility | enum('unknown','user','course','system','world') | NO | MUL | unknown | |
|
| ProfileVisibility | enum('unknown','user','course','system','world') | NO | MUL | unknown | |
|
||||||
| CtyCod | int(11) | NO | MUL | -1 | |
|
| CtyCod | int(11) | NO | MUL | -1 | |
|
||||||
|
@ -2566,35 +2565,35 @@ mysql> DESCRIBE usr_data;
|
||||||
| InsCod | int(11) | NO | MUL | -1 | |
|
| InsCod | int(11) | NO | MUL | -1 | |
|
||||||
| DptCod | int(11) | NO | MUL | -1 | |
|
| DptCod | int(11) | NO | MUL | -1 | |
|
||||||
| CtrCod | int(11) | NO | MUL | -1 | |
|
| CtrCod | int(11) | NO | MUL | -1 | |
|
||||||
| Office | varchar(127) | NO | | NULL | |
|
| Office | varchar(127) | NO | | | |
|
||||||
| OfficePhone | char(16) | NO | | NULL | |
|
| OfficePhone | char(16) | NO | | | |
|
||||||
| LocalAddress | varchar(127) | NO | | NULL | |
|
| LocalAddress | varchar(127) | NO | | | |
|
||||||
| LocalPhone | char(16) | NO | | NULL | |
|
| LocalPhone | char(16) | NO | | | |
|
||||||
| FamilyAddress | varchar(127) | NO | | NULL | |
|
| FamilyAddress | varchar(127) | NO | | | |
|
||||||
| FamilyPhone | char(16) | NO | | NULL | |
|
| FamilyPhone | char(16) | NO | | | |
|
||||||
| OriginPlace | varchar(127) | NO | | NULL | |
|
| OriginPlace | varchar(127) | NO | | | |
|
||||||
| Birthday | date | NO | | NULL | |
|
| Birthday | date | YES | | NULL | |
|
||||||
| Comments | text | NO | | NULL | |
|
| Comments | text | NO | | NULL | |
|
||||||
| Menu | tinyint(4) | NO | MUL | 0 | |
|
| Menu | tinyint(4) | NO | MUL | 0 | |
|
||||||
| SideCols | tinyint(4) | NO | MUL | 3 | |
|
| SideCols | tinyint(4) | NO | MUL | 3 | |
|
||||||
| NotifNtfEvents | int(11) | NO | | -1 | |
|
| NotifNtfEvents | int(11) | NO | | 0 | |
|
||||||
| EmailNtfEvents | int(11) | NO | | 0 | |
|
| EmailNtfEvents | int(11) | NO | | 0 | |
|
||||||
+-------------------+--------------------------------------------------+------+-----+---------+----------------+
|
+-------------------+--------------------------------------------------+------+-----+---------+----------------+
|
||||||
33 rows in set (0.01 sec)
|
32 rows in set (0.00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_data ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_data ("
|
||||||
"UsrCod INT NOT NULL AUTO_INCREMENT,"
|
"UsrCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
"EncryptedUsrCod CHAR(43) NOT NULL,"
|
"EncryptedUsrCod CHAR(43) NOT NULL DEFAULT '',"
|
||||||
"Password CHAR(86) COLLATE latin1_bin NOT NULL,"
|
"Password CHAR(86) COLLATE latin1_bin NOT NULL DEFAULT '',"
|
||||||
"Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL,"
|
"Surname1 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',"
|
||||||
"Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL,"
|
"Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',"
|
||||||
"FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL,"
|
"FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL DEFAULT '',"
|
||||||
"Sex ENUM ('unknown','female','male') NOT NULL DEFAULT 'unknown',"
|
"Sex ENUM ('unknown','female','male') NOT NULL DEFAULT 'unknown',"
|
||||||
"Theme CHAR(16) NOT NULL,"
|
"Theme CHAR(16) NOT NULL DEFAULT '',"
|
||||||
"IconSet CHAR(16) NOT NULL,"
|
"IconSet CHAR(16) NOT NULL DEFAULT '',"
|
||||||
"Language CHAR(2) NOT NULL,"
|
"Language CHAR(2) NOT NULL DEFAULT '',"
|
||||||
"FirstDayOfWeek TINYINT NOT NULL DEFAULT 0,"
|
"FirstDayOfWeek TINYINT NOT NULL DEFAULT 0,"
|
||||||
"Photo CHAR(43) NOT NULL,"
|
"Photo CHAR(43) NOT NULL DEFAULT '',"
|
||||||
"PhotoVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',"
|
"PhotoVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',"
|
||||||
"ProfileVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',"
|
"ProfileVisibility ENUM('unknown','user','course','system','world') NOT NULL DEFAULT 'unknown',"
|
||||||
"CtyCod INT NOT NULL DEFAULT -1,"
|
"CtyCod INT NOT NULL DEFAULT -1,"
|
||||||
|
@ -2602,14 +2601,14 @@ mysql> DESCRIBE usr_data;
|
||||||
"InsCod INT NOT NULL DEFAULT -1,"
|
"InsCod INT NOT NULL DEFAULT -1,"
|
||||||
"DptCod INT NOT NULL DEFAULT -1,"
|
"DptCod INT NOT NULL DEFAULT -1,"
|
||||||
"CtrCod INT NOT NULL DEFAULT -1,"
|
"CtrCod INT NOT NULL DEFAULT -1,"
|
||||||
"Office VARCHAR(127) NOT NULL,"
|
"Office VARCHAR(127) NOT NULL DEFAULT '',"
|
||||||
"OfficePhone CHAR(16) NOT NULL,"
|
"OfficePhone CHAR(16) NOT NULL DEFAULT '',"
|
||||||
"LocalAddress VARCHAR(127) NOT NULL,"
|
"LocalAddress VARCHAR(127) NOT NULL DEFAULT '',"
|
||||||
"LocalPhone CHAR(16) NOT NULL,"
|
"LocalPhone CHAR(16) NOT NULL DEFAULT '',"
|
||||||
"FamilyAddress VARCHAR(127) NOT NULL,"
|
"FamilyAddress VARCHAR(127) NOT NULL DEFAULT '',"
|
||||||
"FamilyPhone CHAR(16) NOT NULL,"
|
"FamilyPhone CHAR(16) NOT NULL DEFAULT '',"
|
||||||
"OriginPlace VARCHAR(127) NOT NULL,"
|
"OriginPlace VARCHAR(127) NOT NULL DEFAULT '',"
|
||||||
"Birthday DATE NOT NULL,"
|
"Birthday DATE,"
|
||||||
"Comments TEXT NOT NULL,"
|
"Comments TEXT NOT NULL,"
|
||||||
"Menu TINYINT NOT NULL DEFAULT 0,"
|
"Menu TINYINT NOT NULL DEFAULT 0,"
|
||||||
"SideCols TINYINT NOT NULL DEFAULT 3,"
|
"SideCols TINYINT NOT NULL DEFAULT 3,"
|
||||||
|
|
|
@ -443,6 +443,7 @@ void Enr_UpdateUsrData (struct UsrData *UsrDat)
|
||||||
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
extern const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY];
|
||||||
extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES];
|
extern const char *Txt_STR_LANG_ID[1+Txt_NUM_LANGUAGES];
|
||||||
extern const char *Usr_StringsSexDB[Usr_NUM_SEXS];
|
extern const char *Usr_StringsSexDB[Usr_NUM_SEXS];
|
||||||
|
char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH+1];
|
||||||
char Query[2048];
|
char Query[2048];
|
||||||
|
|
||||||
/***** Check if user's code is initialized *****/
|
/***** Check if user's code is initialized *****/
|
||||||
|
@ -453,6 +454,7 @@ void Enr_UpdateUsrData (struct UsrData *UsrDat)
|
||||||
Enr_FilterUsrDat (UsrDat);
|
Enr_FilterUsrDat (UsrDat);
|
||||||
|
|
||||||
/***** Update user's common data *****/
|
/***** Update user's common data *****/
|
||||||
|
Usr_CreateBirthdayStrDB (UsrDat,BirthdayStrDB);
|
||||||
sprintf (Query,"UPDATE usr_data"
|
sprintf (Query,"UPDATE usr_data"
|
||||||
" SET Password='%s',"
|
" SET Password='%s',"
|
||||||
"Surname1='%s',Surname2='%s',FirstName='%s',Sex='%s',"
|
"Surname1='%s',Surname2='%s',FirstName='%s',Sex='%s',"
|
||||||
|
@ -461,7 +463,7 @@ void Enr_UpdateUsrData (struct UsrData *UsrDat)
|
||||||
"CtyCod='%ld',"
|
"CtyCod='%ld',"
|
||||||
"LocalAddress='%s',LocalPhone='%s',"
|
"LocalAddress='%s',LocalPhone='%s',"
|
||||||
"FamilyAddress='%s',FamilyPhone='%s',"
|
"FamilyAddress='%s',FamilyPhone='%s',"
|
||||||
"OriginPlace='%s',Birthday='%04u-%02u-%02u',"
|
"OriginPlace='%s',Birthday=%s,"
|
||||||
"Comments='%s'"
|
"Comments='%s'"
|
||||||
" WHERE UsrCod='%ld'",
|
" WHERE UsrCod='%ld'",
|
||||||
UsrDat->Password,
|
UsrDat->Password,
|
||||||
|
@ -477,7 +479,7 @@ void Enr_UpdateUsrData (struct UsrData *UsrDat)
|
||||||
UsrDat->LocalAddress,UsrDat->LocalPhone,
|
UsrDat->LocalAddress,UsrDat->LocalPhone,
|
||||||
UsrDat->FamilyAddress,UsrDat->FamilyPhone,
|
UsrDat->FamilyAddress,UsrDat->FamilyPhone,
|
||||||
UsrDat->OriginPlace,
|
UsrDat->OriginPlace,
|
||||||
UsrDat->Birthday.Year,UsrDat->Birthday.Month,UsrDat->Birthday.Day,
|
BirthdayStrDB,
|
||||||
UsrDat->Comments ? UsrDat->Comments :
|
UsrDat->Comments ? UsrDat->Comments :
|
||||||
"",
|
"",
|
||||||
UsrDat->UsrCod);
|
UsrDat->UsrCod);
|
||||||
|
@ -493,9 +495,9 @@ void Enr_FilterUsrDat (struct UsrData *UsrDat)
|
||||||
/***** Fix birthday *****/
|
/***** Fix birthday *****/
|
||||||
if (UsrDat->Birthday.Year < Gbl.Now.Date.Year-99 ||
|
if (UsrDat->Birthday.Year < Gbl.Now.Date.Year-99 ||
|
||||||
UsrDat->Birthday.Year > Gbl.Now.Date.Year-16)
|
UsrDat->Birthday.Year > Gbl.Now.Date.Year-16)
|
||||||
UsrDat->Birthday.Year =
|
UsrDat->Birthday.Year =
|
||||||
UsrDat->Birthday.Month =
|
UsrDat->Birthday.Month =
|
||||||
UsrDat->Birthday.Day = 0;
|
UsrDat->Birthday.Day = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
52
swad_text.c
52
swad_text.c
|
@ -40364,7 +40364,7 @@ const char *Txt_Tag_X_not_allowed_Click_to_allow_it = // Warning: it is very imp
|
||||||
"Tag %s not allowed. Click to allow it."; // Necessita de tradução
|
"Tag %s not allowed. Click to allow it."; // Necessita de tradução
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined LOCALHOST_UBUNTU // localhost (Ubuntu) ******************
|
#if defined LOCALHOST_UBUNTU // localhost (Ubuntu) *****************
|
||||||
|
|
||||||
const char *Txt_TAGLINE =
|
const char *Txt_TAGLINE =
|
||||||
# if L==1
|
# if L==1
|
||||||
|
@ -40408,7 +40408,7 @@ const char *Txt_TAGLINE_BR =
|
||||||
"plataforma de<br />apoio ao ensino";
|
"plataforma de<br />apoio ao ensino";
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#elif defined OPENSWAD_ORG // openswad.org ************************
|
#elif defined OPENSWAD_ORG // openswad.org ***********************
|
||||||
|
|
||||||
const char *Txt_TAGLINE =
|
const char *Txt_TAGLINE =
|
||||||
# if L==1
|
# if L==1
|
||||||
|
@ -40452,7 +40452,7 @@ const char *Txt_TAGLINE_BR =
|
||||||
"plataforma de<br />apoio ao ensino";
|
"plataforma de<br />apoio ao ensino";
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#elif defined SWAD_UGR_ES // swad.ugr.es *************************
|
#elif defined SWAD_UGR_ES // swad.ugr.es ************************
|
||||||
|
|
||||||
const char *Txt_TAGLINE =
|
const char *Txt_TAGLINE =
|
||||||
# if L==1
|
# if L==1
|
||||||
|
@ -40496,7 +40496,51 @@ const char *Txt_TAGLINE_BR =
|
||||||
"plataforma de apoio<br />ao ensino (UGR)";
|
"plataforma de apoio<br />ao ensino (UGR)";
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
#elif defined WWW_CEVUNA_UNA_PY // www.cevuna.una.py/swad **************
|
#elif defined SWADBERRY_UGR_ES // swadberry.ugr.es *******************
|
||||||
|
|
||||||
|
const char *Txt_TAGLINE =
|
||||||
|
# if L==1
|
||||||
|
"plataforma de suport a la docència (Raspberry Pi)";
|
||||||
|
# elif L==2
|
||||||
|
"Plattform zur Unterstützung der Lehre (Raspberry Pi)";
|
||||||
|
# elif L==3
|
||||||
|
"platform to support teaching (Raspberry Pi)";
|
||||||
|
# elif L==4
|
||||||
|
"plataforma de apoyo a la docencia (Raspberry Pi)";
|
||||||
|
# elif L==5
|
||||||
|
"plate-forme pour appuyer l'enseignement (Raspberry Pi)";
|
||||||
|
# elif L==6
|
||||||
|
"plataforma de apoyo a la docencia (Raspberry Pi)"; // Okoteve traducción
|
||||||
|
# elif L==7
|
||||||
|
"piattaforma per sostenere l'insegnamento (Raspberry Pi)";
|
||||||
|
# elif L==8
|
||||||
|
"platforma do wspierania nauczania (Raspberry Pi)";
|
||||||
|
# elif L==9
|
||||||
|
"plataforma de apoio ao ensino (Raspberry Pi)";
|
||||||
|
# endif
|
||||||
|
|
||||||
|
const char *Txt_TAGLINE_BR =
|
||||||
|
# if L==1
|
||||||
|
"plataforma de suport<br />a la docència (Raspberry Pi)";
|
||||||
|
# elif L==2
|
||||||
|
"Plattform zur<br />Unterstützung der Lehre (Raspberry Pi)";
|
||||||
|
# elif L==3
|
||||||
|
"platform to<br />support teaching (Raspberry Pi)";
|
||||||
|
# elif L==4
|
||||||
|
"plataforma de apoyo<br />a la docencia (Raspberry Pi)";
|
||||||
|
# elif L==5
|
||||||
|
"plate-forme pour<br />appuyer l'enseignement (Raspberry Pi)";
|
||||||
|
# elif L==6
|
||||||
|
"plataforma de apoyo<br />a la docencia (Raspberry Pi)"; // Okoteve traducción
|
||||||
|
# elif L==7
|
||||||
|
"piattaforma per<br />sostenere l'insegnamento (Raspberry Pi)";
|
||||||
|
# elif L==8
|
||||||
|
"platforma do<br />wspierania nauczania (Raspberry Pi)";
|
||||||
|
# elif L==9
|
||||||
|
"plataforma de<br />apoio ao ensino (Raspberry Pi)";
|
||||||
|
# endif
|
||||||
|
|
||||||
|
#elif defined WWW_CEVUNA_UNA_PY // www.cevuna.una.py/swad *************
|
||||||
|
|
||||||
const char *Txt_TAGLINE =
|
const char *Txt_TAGLINE =
|
||||||
# if L==1
|
# if L==1
|
||||||
|
|
26
swad_user.c
26
swad_user.c
|
@ -560,8 +560,9 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
|
||||||
strncpy (UsrDat->OriginPlace ,row[24],sizeof (UsrDat->OriginPlace ) - 1);
|
strncpy (UsrDat->OriginPlace ,row[24],sizeof (UsrDat->OriginPlace ) - 1);
|
||||||
UsrDat->OriginPlace [sizeof (UsrDat->OriginPlace ) - 1] = '\0';
|
UsrDat->OriginPlace [sizeof (UsrDat->OriginPlace ) - 1] = '\0';
|
||||||
strcpy (StrBirthday,
|
strcpy (StrBirthday,
|
||||||
row[25] ? row[25] :
|
row[25] ? row[25] :
|
||||||
"0000-00-00");
|
"0000-00-00");
|
||||||
|
|
||||||
Usr_GetUsrCommentsFromString (row[26] ? row[26] :
|
Usr_GetUsrCommentsFromString (row[26] ? row[26] :
|
||||||
"",
|
"",
|
||||||
UsrDat); // Get the comments comunes a todas the courses
|
UsrDat); // Get the comments comunes a todas the courses
|
||||||
|
@ -1614,7 +1615,25 @@ void Usr_WelcomeUsr (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/******************************************************************************/
|
/*****************************************************************************/
|
||||||
|
/************ Write birthday string to insert or update database *************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
void Usr_CreateBirthdayStrDB (const struct UsrData *UsrDat,
|
||||||
|
char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH+1])
|
||||||
|
{
|
||||||
|
if (UsrDat->Birthday.Year == 0 ||
|
||||||
|
UsrDat->Birthday.Month == 0 ||
|
||||||
|
UsrDat->Birthday.Day == 0)
|
||||||
|
strcpy (BirthdayStrDB,"NULL");
|
||||||
|
else
|
||||||
|
sprintf (BirthdayStrDB,"'%04u-%02u-%02u'",
|
||||||
|
UsrDat->Birthday.Year,
|
||||||
|
UsrDat->Birthday.Month,
|
||||||
|
UsrDat->Birthday.Day);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
/*************** Check if my birthday is already congratulated ***************/
|
/*************** Check if my birthday is already congratulated ***************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
@ -2504,7 +2523,6 @@ static void Usr_SetUsrRoleAndPrefs (void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/***** Check if I belong to current course *****/
|
/***** Check if I belong to current course *****/
|
||||||
if (Gbl.CurrentCrs.Crs.CrsCod > 0)
|
if (Gbl.CurrentCrs.Crs.CrsCod > 0)
|
||||||
Gbl.Usrs.Me.IBelongToCurrentCrs = Usr_CheckIfIBelongToCrs (Gbl.CurrentCrs.Crs.CrsCod);
|
Gbl.Usrs.Me.IBelongToCurrentCrs = Usr_CheckIfIBelongToCrs (Gbl.CurrentCrs.Crs.CrsCod);
|
||||||
|
|
|
@ -61,6 +61,8 @@
|
||||||
#define Usr_MAX_BYTES_NAME 32
|
#define Usr_MAX_BYTES_NAME 32
|
||||||
#define Usr_MAX_BYTES_NAME_SPEC_CHAR (Usr_MAX_BYTES_NAME*Str_MAX_LENGTH_SPEC_CHAR_HTML)
|
#define Usr_MAX_BYTES_NAME_SPEC_CHAR (Usr_MAX_BYTES_NAME*Str_MAX_LENGTH_SPEC_CHAR_HTML)
|
||||||
|
|
||||||
|
#define Usr_BIRTHDAY_STR_DB_LENGTH (1+4+1+2+1+2+1) // "'%04u-%02u-%02u'"
|
||||||
|
|
||||||
#define Usr_MAX_LENGTH_PHONE 16
|
#define Usr_MAX_LENGTH_PHONE 16
|
||||||
#define Usr_MAX_BYTES_PHONE 16
|
#define Usr_MAX_BYTES_PHONE 16
|
||||||
|
|
||||||
|
@ -251,6 +253,10 @@ void Usr_Logout (void);
|
||||||
void Usr_PutLinkToLogin (void);
|
void Usr_PutLinkToLogin (void);
|
||||||
void Usr_WriteFormLogin (void);
|
void Usr_WriteFormLogin (void);
|
||||||
void Usr_WelcomeUsr (void);
|
void Usr_WelcomeUsr (void);
|
||||||
|
|
||||||
|
void Usr_CreateBirthdayStrDB (const struct UsrData *UsrDat,
|
||||||
|
char BirthdayStrDB[Usr_BIRTHDAY_STR_DB_LENGTH+1]);
|
||||||
|
|
||||||
void Usr_PutFormLogIn (void);
|
void Usr_PutFormLogIn (void);
|
||||||
void Usr_WriteLoggedUsrHead (void);
|
void Usr_WriteLoggedUsrHead (void);
|
||||||
void Usr_PutFormLogOut (void);
|
void Usr_PutFormLogOut (void);
|
||||||
|
|
|
@ -553,8 +553,13 @@ static int Svc_GetSomeUsrDataFromUsrCod (struct UsrData *UsrDat,long CrsCod)
|
||||||
UsrDat->Photo[sizeof (UsrDat->Photo)-1] = '\0';
|
UsrDat->Photo[sizeof (UsrDat->Photo)-1] = '\0';
|
||||||
|
|
||||||
/* Get user's brithday */
|
/* Get user's brithday */
|
||||||
strncpy (UsrDat->Birthday.YYYYMMDD,row[4],4+2+2);
|
if (row[4])
|
||||||
UsrDat->Birthday.YYYYMMDD[4+2+2] = '\0';
|
{
|
||||||
|
strncpy (UsrDat->Birthday.YYYYMMDD,row[4],4+2+2);
|
||||||
|
UsrDat->Birthday.YYYYMMDD[4+2+2] = '\0';
|
||||||
|
}
|
||||||
|
else
|
||||||
|
strcpy (UsrDat->Birthday.YYYYMMDD,"00000000");
|
||||||
|
|
||||||
/* Free structure that stores the query result */
|
/* Free structure that stores the query result */
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
|
Loading…
Reference in New Issue