mirror of https://github.com/acanas/swad-core.git
Version 15.206
This commit is contained in:
parent
2a35f40e9e
commit
b126068f00
14
sql/swad.sql
14
sql/swad.sql
|
@ -190,7 +190,7 @@ CREATE TABLE IF NOT EXISTS connected (
|
|||
UsrCod INT NOT NULL,
|
||||
RoleInLastCrs TINYINT NOT NULL DEFAULT 0,
|
||||
LastCrsCod INT NOT NULL DEFAULT -1,
|
||||
LastTime DATETIME,
|
||||
LastTime DATETIME NOT NULL,
|
||||
UNIQUE INDEX(UsrCod),
|
||||
INDEX(LastCrsCod));
|
||||
--
|
||||
|
@ -266,7 +266,7 @@ CREATE TABLE IF NOT EXISTS crs_grp_types (
|
|||
Mandatory ENUM('N','Y') NOT NULL,
|
||||
Multiple ENUM('N','Y') NOT NULL,
|
||||
MustBeOpened ENUM('N','Y') NOT NULL DEFAULT 'N',
|
||||
OpenTime DATETIME NOT NULL DEFAULT 0,
|
||||
OpenTime DATETIME NOT NULL,
|
||||
UNIQUE INDEX(GrpTypCod),
|
||||
INDEX(CrsCod));
|
||||
--
|
||||
|
@ -309,7 +309,7 @@ CREATE TABLE IF NOT EXISTS crs_info_txt (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS crs_last (
|
||||
CrsCod INT NOT NULL,
|
||||
LastTime DATETIME NOT NULL DEFAULT 0,
|
||||
LastTime DATETIME NOT NULL,
|
||||
UNIQUE INDEX(CrsCod),
|
||||
INDEX(LastTime));
|
||||
--
|
||||
|
@ -908,8 +908,8 @@ CREATE TABLE IF NOT EXISTS sessions (
|
|||
CtrCod INT NOT NULL DEFAULT -1,
|
||||
DegCod INT NOT NULL DEFAULT -1,
|
||||
CrsCod INT NOT NULL DEFAULT -1,
|
||||
LastTime DATETIME,
|
||||
LastRefresh DATETIME,
|
||||
LastTime DATETIME NOT NULL,
|
||||
LastRefresh DATETIME NOT NULL,
|
||||
FirstPubCod BIGINT NOT NULL DEFAULT 0,
|
||||
LastPubCod BIGINT NOT NULL DEFAULT 0,
|
||||
LastPageMsgRcv INT NOT NULL DEFAULT 1,
|
||||
|
@ -1299,8 +1299,8 @@ CREATE TABLE IF NOT EXISTS usr_last (
|
|||
WhatToSearch TINYINT NOT NULL DEFAULT 0,
|
||||
LastCrs INT NOT NULL DEFAULT -1,
|
||||
LastTab TINYINT NOT NULL,
|
||||
LastTime DATETIME NOT NULL DEFAULT 0,
|
||||
LastAccNotif DATETIME NOT NULL DEFAULT 0,
|
||||
LastTime DATETIME NOT NULL,
|
||||
LastAccNotif DATETIME NOT NULL,
|
||||
UNIQUE INDEX(UsrCod),
|
||||
INDEX(LastTime));
|
||||
--
|
||||
|
|
|
@ -135,13 +135,23 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.205 (2016-04-30)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 15.206 (2016-04-30)"
|
||||
#define CSS_FILE "swad15.204.1.css"
|
||||
#define JS_FILE "swad15.197.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.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:
|
||||
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_last CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
||||
ALTER TABLE sessions CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
||||
ALTER TABLE sessions CHANGE COLUMN LastRefresh LastRefresh DATETIME NOT NULL;
|
||||
ALTER TABLE usr_last CHANGE COLUMN LastTime LastTime DATETIME NOT NULL;
|
||||
ALTER TABLE usr_last CHANGE COLUMN LastAccNotif LastAccNotif DATETIME NOT NULL;
|
||||
|
||||
Version 15.205: Apr 30, 2016 New demo server added to swad_config.h: swadberry.ugr.es. (201409 lines)
|
||||
Version 15.204.1: Apr 25, 2016 Fixed bug in changes in database necessary in version 15.201. (201366 lines)
|
||||
6 changes necessary in database:
|
||||
|
|
|
@ -478,15 +478,15 @@ mysql> DESCRIBE connected;
|
|||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
| RoleInLastCrs | tinyint(4) | NO | | 0 | |
|
||||
| LastCrsCod | int(11) | NO | MUL | -1 | |
|
||||
| LastTime | datetime | YES | | NULL | |
|
||||
| LastTime | datetime | NO | | NULL | |
|
||||
+---------------+------------+------+-----+---------+-------+
|
||||
4 rows in set (0.00 sec)
|
||||
4 rows in set (0.01 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS connected ("
|
||||
"UsrCod INT NOT NULL,"
|
||||
"RoleInLastCrs TINYINT NOT NULL DEFAULT 0,"
|
||||
"LastCrsCod INT NOT NULL DEFAULT -1,"
|
||||
"LastTime DATETIME,"
|
||||
"LastTime DATETIME NOT NULL,"
|
||||
"UNIQUE INDEX(UsrCod),"
|
||||
"INDEX(LastCrsCod))");
|
||||
|
||||
|
@ -611,17 +611,17 @@ mysql> DESCRIBE crs_grp;
|
|||
/***** Table crs_grp_types *****/
|
||||
/*
|
||||
mysql> DESCRIBE crs_grp_types;
|
||||
+--------------+---------------+------+-----+---------------------+----------------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------------+---------------+------+-----+---------------------+----------------+
|
||||
| GrpTypCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||
| CrsCod | int(11) | NO | MUL | -1 | |
|
||||
| GrpTypName | varchar(255) | NO | | NULL | |
|
||||
| Mandatory | enum('N','Y') | NO | | NULL | |
|
||||
| Multiple | enum('N','Y') | NO | | NULL | |
|
||||
| MustBeOpened | enum('N','Y') | NO | | N | |
|
||||
| OpenTime | datetime | NO | | 0000-00-00 00:00:00 | |
|
||||
+--------------+---------------+------+-----+---------------------+----------------+
|
||||
+--------------+---------------+------+-----+---------+----------------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------------+---------------+------+-----+---------+----------------+
|
||||
| GrpTypCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||
| CrsCod | int(11) | NO | MUL | -1 | |
|
||||
| GrpTypName | varchar(255) | NO | | NULL | |
|
||||
| Mandatory | enum('N','Y') | NO | | NULL | |
|
||||
| Multiple | enum('N','Y') | NO | | NULL | |
|
||||
| MustBeOpened | enum('N','Y') | NO | | N | |
|
||||
| OpenTime | datetime | NO | | NULL | |
|
||||
+--------------+---------------+------+-----+---------+----------------+
|
||||
7 rows in set (0.01 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_grp_types ("
|
||||
|
@ -631,7 +631,7 @@ mysql> DESCRIBE crs_grp_types;
|
|||
"Mandatory ENUM('N','Y') NOT NULL,"
|
||||
"Multiple ENUM('N','Y') NOT NULL,"
|
||||
"MustBeOpened ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||
"OpenTime DATETIME NOT NULL DEFAULT 0,"
|
||||
"OpenTime DATETIME NOT NULL,"
|
||||
"UNIQUE INDEX(GrpTypCod),"
|
||||
"INDEX(CrsCod))");
|
||||
|
||||
|
@ -714,17 +714,17 @@ mysql> DESCRIBE crs_info_txt;
|
|||
/***** Table crs_last *****/
|
||||
/*
|
||||
mysql> DESCRIBE crs_last;
|
||||
+----------+----------+------+-----+---------------------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+----------+----------+------+-----+---------------------+-------+
|
||||
| CrsCod | int(11) | NO | PRI | NULL | |
|
||||
| LastTime | datetime | NO | MUL | 0000-00-00 00:00:00 | |
|
||||
+----------+----------+------+-----+---------------------+-------+
|
||||
+----------+----------+------+-----+---------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+----------+----------+------+-----+---------+-------+
|
||||
| CrsCod | int(11) | NO | PRI | NULL | |
|
||||
| LastTime | datetime | NO | MUL | NULL | |
|
||||
+----------+----------+------+-----+---------+-------+
|
||||
2 rows in set (0.00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_last ("
|
||||
"CrsCod INT NOT NULL,"
|
||||
"LastTime DATETIME NOT NULL DEFAULT 0,"
|
||||
"LastTime DATETIME NOT NULL,"
|
||||
"UNIQUE INDEX(CrsCod),"
|
||||
"INDEX(LastTime))");
|
||||
|
||||
|
@ -1916,8 +1916,8 @@ mysql> DESCRIBE sessions;
|
|||
| CtrCod | int(11) | NO | | -1 | |
|
||||
| DegCod | int(11) | NO | | -1 | |
|
||||
| CrsCod | int(11) | NO | | -1 | |
|
||||
| LastTime | datetime | YES | | NULL | |
|
||||
| LastRefresh | datetime | YES | | NULL | |
|
||||
| LastTime | datetime | NO | | NULL | |
|
||||
| LastRefresh | datetime | NO | | NULL | |
|
||||
| FirstPubCod | bigint(20) | NO | | 0 | |
|
||||
| LastPubCod | bigint(20) | NO | | 0 | |
|
||||
| LastPageMsgRcv | int(11) | NO | | 1 | |
|
||||
|
@ -1926,7 +1926,7 @@ mysql> DESCRIBE sessions;
|
|||
| SearchString | varchar(255) | NO | | NULL | |
|
||||
| SideCols | tinyint(4) | NO | | 3 | |
|
||||
+----------------+--------------+------+-----+---------+-------+
|
||||
18 rows in set (0.00 sec)
|
||||
18 rows in set (0.01 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS sessions ("
|
||||
"SessionId CHAR(43) NOT NULL,"
|
||||
|
@ -1938,8 +1938,8 @@ mysql> DESCRIBE sessions;
|
|||
"CtrCod INT NOT NULL DEFAULT -1,"
|
||||
"DegCod INT NOT NULL DEFAULT -1,"
|
||||
"CrsCod INT NOT NULL DEFAULT -1,"
|
||||
"LastTime DATETIME,"
|
||||
"LastRefresh DATETIME,"
|
||||
"LastTime DATETIME NOT NULL,"
|
||||
"LastRefresh DATETIME NOT NULL,"
|
||||
"FirstPubCod BIGINT NOT NULL DEFAULT 0,"
|
||||
"LastPubCod BIGINT NOT NULL DEFAULT 0,"
|
||||
"LastPageMsgRcv INT NOT NULL DEFAULT 1,"
|
||||
|
@ -2722,16 +2722,16 @@ mysql> DESCRIBE usr_IDs;
|
|||
/***** Table usr_last *****/
|
||||
/*
|
||||
mysql> DESCRIBE usr_last;
|
||||
+--------------+------------+------+-----+---------------------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------------+------------+------+-----+---------------------+-------+
|
||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
| WhatToSearch | tinyint(4) | NO | | 0 | |
|
||||
| LastCrs | int(11) | NO | | -1 | |
|
||||
| LastTab | tinyint(4) | NO | | NULL | |
|
||||
| LastTime | datetime | NO | MUL | 0000-00-00 00:00:00 | |
|
||||
| LastAccNotif | datetime | NO | | 0000-00-00 00:00:00 | |
|
||||
+--------------+------------+------+-----+---------------------+-------+
|
||||
+--------------+------------+------+-----+---------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------------+------------+------+-----+---------+-------+
|
||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
| WhatToSearch | tinyint(4) | NO | | 0 | |
|
||||
| LastCrs | int(11) | NO | | -1 | |
|
||||
| LastTab | tinyint(4) | NO | | NULL | |
|
||||
| LastTime | datetime | NO | MUL | NULL | |
|
||||
| LastAccNotif | datetime | NO | | NULL | |
|
||||
+--------------+------------+------+-----+---------+-------+
|
||||
6 rows in set (0.00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS usr_last ("
|
||||
|
@ -2739,8 +2739,8 @@ mysql> DESCRIBE usr_last;
|
|||
"WhatToSearch TINYINT NOT NULL DEFAULT 0,"
|
||||
"LastCrs INT NOT NULL DEFAULT -1,"
|
||||
"LastTab TINYINT NOT NULL,"
|
||||
"LastTime DATETIME NOT NULL DEFAULT 0,"
|
||||
"LastAccNotif DATETIME NOT NULL DEFAULT 0,"
|
||||
"LastTime DATETIME NOT NULL,"
|
||||
"LastAccNotif DATETIME NOT NULL,"
|
||||
"UNIQUE INDEX(UsrCod),"
|
||||
"INDEX(LastTime))");
|
||||
|
||||
|
|
13
swad_date.c
13
swad_date.c
|
@ -108,15 +108,12 @@ void Dat_GetAndConvertCurrentDateTime (void)
|
|||
|
||||
time_t Dat_GetUNIXTimeFromStr (const char *Str)
|
||||
{
|
||||
time_t Time;
|
||||
time_t Time = (time_t) 0;
|
||||
|
||||
if (Str[0])
|
||||
{
|
||||
if (sscanf (Str,"%ld",&Time) != 1)
|
||||
Time = (time_t) 0;
|
||||
}
|
||||
else
|
||||
Time = (time_t) 0;
|
||||
if (Str)
|
||||
if (Str[0])
|
||||
if (sscanf (Str,"%ld",&Time) != 1)
|
||||
Time = (time_t) 0;
|
||||
|
||||
return Time;
|
||||
}
|
||||
|
|
16
swad_group.c
16
swad_group.c
|
@ -3201,7 +3201,8 @@ static void Grp_CreateGroupType (void)
|
|||
char Query[1024];
|
||||
|
||||
/***** Create a new group type *****/
|
||||
sprintf (Query,"INSERT INTO crs_grp_types (CrsCod,GrpTypName,Mandatory,Multiple,MustBeOpened,OpenTime)"
|
||||
sprintf (Query,"INSERT INTO crs_grp_types"
|
||||
" (CrsCod,GrpTypName,Mandatory,Multiple,MustBeOpened,OpenTime)"
|
||||
" VALUES ('%ld','%s','%c','%c','%c',FROM_UNIXTIME('%ld'))",
|
||||
Gbl.CurrentCrs.Crs.CrsCod,Gbl.CurrentCrs.Grps.GrpTyp.GrpTypName,
|
||||
Gbl.CurrentCrs.Grps.GrpTyp.MandatoryEnrollment ? 'Y' :
|
||||
|
@ -3789,8 +3790,10 @@ void Grp_ChangeOpenTimeGrpTyp (void)
|
|||
Gbl.CurrentCrs.Grps.GrpTyp.OpenTimeUTC = Dat_GetTimeUTCFromForm ("OpenTimeUTC");
|
||||
Gbl.CurrentCrs.Grps.GrpTyp.MustBeOpened = Grp_CheckIfOpenTimeInTheFuture (Gbl.CurrentCrs.Grps.GrpTyp.OpenTimeUTC);
|
||||
|
||||
/***** Update of the table of types of group changing the old open time of enrollment by the new *****/
|
||||
sprintf (Query,"UPDATE crs_grp_types SET MustBeOpened='%c',OpenTime=FROM_UNIXTIME('%ld')"
|
||||
/***** Update the table of types of group
|
||||
changing the old open time of enrollment by the new *****/
|
||||
sprintf (Query,"UPDATE crs_grp_types"
|
||||
" SET MustBeOpened='%c',OpenTime=FROM_UNIXTIME('%ld')"
|
||||
" WHERE GrpTypCod='%ld'",
|
||||
Gbl.CurrentCrs.Grps.GrpTyp.MustBeOpened ? 'Y' :
|
||||
'N',
|
||||
|
@ -3934,8 +3937,11 @@ void Grp_RenameGroupType (void)
|
|||
else
|
||||
{
|
||||
/* Update the table changing old name by new name */
|
||||
sprintf (Query,"UPDATE crs_grp_types SET GrpTypName='%s' WHERE GrpTypCod='%ld'",
|
||||
NewNameGrpTyp,Gbl.CurrentCrs.Grps.GrpTyp.GrpTypCod);
|
||||
sprintf (Query,"UPDATE crs_grp_types"
|
||||
" SET GrpTypName='%s'"
|
||||
" WHERE GrpTypCod='%ld'",
|
||||
NewNameGrpTyp,
|
||||
Gbl.CurrentCrs.Grps.GrpTyp.GrpTypCod);
|
||||
DB_QueryUPDATE (Query,"can not update the type of a group");
|
||||
|
||||
/***** Write message to show the change made *****/
|
||||
|
|
11
swad_user.c
11
swad_user.c
|
@ -2675,12 +2675,15 @@ static void Usr_InsertMyLastData (void)
|
|||
char Query[256];
|
||||
|
||||
/***** Insert my last accessed course, tab and time of click in database *****/
|
||||
// WhatToSearch, LastAccNotif are set to default (0)
|
||||
sprintf (Query,"INSERT INTO usr_last (UsrCod,LastCrs,LastTab,LastTime)"
|
||||
" VALUES ('%ld','%ld','%u',NOW())",
|
||||
sprintf (Query,"INSERT INTO usr_last"
|
||||
" (UsrCod,WhatToSearch,LastCrs,LastTab,LastTime,LastAccessNotif)"
|
||||
" VALUES"
|
||||
" ('%ld','%u','%ld','%u',NOW(),FROM_UNIXTIME('%ld'))",
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||
(unsigned) Sch_SEARCH_ALL,
|
||||
Gbl.CurrentCrs.Crs.CrsCod,
|
||||
(unsigned) Gbl.Action.Tab);
|
||||
(unsigned) Gbl.Action.Tab,
|
||||
(long) (time_t) 0); // The user never accessed to notifications
|
||||
DB_QueryINSERT (Query,"can not insert last user's data");
|
||||
}
|
||||
/*****************************************************************************/
|
||||
|
|
Loading…
Reference in New Issue