mirror of https://github.com/acanas/swad-core.git
Version19.261
This commit is contained in:
parent
50a420b047
commit
d16d12504e
|
@ -6024,7 +6024,7 @@ int swad__getLocation (struct soap *soap,
|
||||||
struct swad__getLocationOutput *getLocationOut) // output
|
struct swad__getLocationOutput *getLocationOut) // output
|
||||||
{
|
{
|
||||||
int ReturnCode;
|
int ReturnCode;
|
||||||
unsigned long MACnum;
|
unsigned long long MACnum;
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
unsigned NumLocs;
|
unsigned NumLocs;
|
||||||
|
|
||||||
|
@ -6049,7 +6049,7 @@ int swad__getLocation (struct soap *soap,
|
||||||
Gbl.Usrs.Me.Role.Logged = Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role;
|
Gbl.Usrs.Me.Role.Logged = Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role;
|
||||||
|
|
||||||
/***** Convert MAC string to number *****/
|
/***** Convert MAC string to number *****/
|
||||||
if (sscanf (MAC,"%lx",&MACnum) != 1)
|
if (sscanf (MAC,"%llx",&MACnum) != 1)
|
||||||
return soap_receiver_fault (soap,
|
return soap_receiver_fault (soap,
|
||||||
"Bad MAC",
|
"Bad MAC",
|
||||||
"MAC address format should be 12 hexadecimal digits");
|
"MAC address format should be 12 hexadecimal digits");
|
||||||
|
@ -6071,7 +6071,7 @@ int swad__getLocation (struct soap *soap,
|
||||||
"rooms.ShortName," // row[11]
|
"rooms.ShortName," // row[11]
|
||||||
"rooms.FullName" // row[12]
|
"rooms.FullName" // row[12]
|
||||||
" FROM room_MAC,rooms,buildings,centres,institutions"
|
" FROM room_MAC,rooms,buildings,centres,institutions"
|
||||||
" WHERE room_MAC.MAC=%lu"
|
" WHERE room_MAC.MAC=%llu"
|
||||||
" AND room_MAC.RooCod=rooms.RooCod"
|
" AND room_MAC.RooCod=rooms.RooCod"
|
||||||
" AND rooms.BldCod=buildings.BldCod"
|
" AND rooms.BldCod=buildings.BldCod"
|
||||||
" AND buildings.CtrCod=centres.CtrCod"
|
" AND buildings.CtrCod=centres.CtrCod"
|
||||||
|
|
|
@ -555,7 +555,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.260.3 (2020-08-30)"
|
#define Log_PLATFORM_VERSION "SWAD 19.261 (2020-09-01)"
|
||||||
#define CSS_FILE "swad19.253.css"
|
#define CSS_FILE "swad19.253.css"
|
||||||
#define JS_FILE "swad19.254.js"
|
#define JS_FILE "swad19.254.js"
|
||||||
/*
|
/*
|
||||||
|
@ -573,6 +573,7 @@ TODO: Que al generar un examen s
|
||||||
TODO: Create module swad_test_result
|
TODO: Create module swad_test_result
|
||||||
"sudo apt install webp" en Ubuntu, y "yum install libwebp libwebp-tools" en CentOS, para decodificar imágenes Web/ug reportado por Javier Fernández Baldomero.
|
"sudo apt install webp" en Ubuntu, y "yum install libwebp libwebp-tools" en CentOS, para decodificar imágenes Web/ug reportado por Javier Fernández Baldomero.
|
||||||
|
|
||||||
|
Version 19.261 : Sep 01, 2020 MAC addresses are printed in listing of rooms. (304103 lines)
|
||||||
Version 19.260.3: Aug 30, 2020 Fixed bug in API function answerMatchQuestion. Reported by Sergio Díaz Rueda. (304010 lines)
|
Version 19.260.3: Aug 30, 2020 Fixed bug in API function answerMatchQuestion. Reported by Sergio Díaz Rueda. (304010 lines)
|
||||||
Version 19.260.2: Aug 28, 2020 Fixed bugs in API functions related to games and matches. Reported by Sergio Díaz Rueda. (304010 lines)
|
Version 19.260.2: Aug 28, 2020 Fixed bugs in API functions related to games and matches. Reported by Sergio Díaz Rueda. (304010 lines)
|
||||||
Version 19.260.1: Aug 26, 2020 Fixed bugs in API functions related to games and matches. Reported by Sergio Díaz Rueda. (304027 lines)
|
Version 19.260.1: Aug 26, 2020 Fixed bugs in API functions related to games and matches. Reported by Sergio Díaz Rueda. (304027 lines)
|
||||||
|
|
|
@ -2756,7 +2756,7 @@ mysql> DESCRIBE room_MAC;
|
||||||
2 rows in set (0.00 sec)
|
2 rows in set (0.00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS room_MAC ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS room_MAC ("
|
||||||
"RooCod INT NOT NULL AUTO_INCREMENT,"
|
"RooCod INT NOT NULL,"
|
||||||
"MAC BIGINT NOT NULL," // 12 digits hexadecimal number
|
"MAC BIGINT NOT NULL," // 12 digits hexadecimal number
|
||||||
"UNIQUE INDEX(RooCod,MAC),"
|
"UNIQUE INDEX(RooCod,MAC),"
|
||||||
"UNIQUE INDEX(MAC,RooCod))");
|
"UNIQUE INDEX(MAC,RooCod))");
|
||||||
|
|
84
swad_room.c
84
swad_room.c
|
@ -119,6 +119,8 @@ static struct Roo_Room *Roo_EditingRoom = NULL; // Static variable to keep the r
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Roo_GetAndWriteMACAddresses (long RooCod);
|
||||||
|
|
||||||
static Roo_Order_t Roo_GetParamRoomOrder (void);
|
static Roo_Order_t Roo_GetParamRoomOrder (void);
|
||||||
static bool Roo_CheckIfICanCreateRooms (void);
|
static bool Roo_CheckIfICanCreateRooms (void);
|
||||||
static void Roo_PutIconsListingRooms (__attribute__((unused)) void *Args);
|
static void Roo_PutIconsListingRooms (__attribute__((unused)) void *Args);
|
||||||
|
@ -176,6 +178,7 @@ void Roo_SeeRooms (void)
|
||||||
extern const char *Txt_Rooms;
|
extern const char *Txt_Rooms;
|
||||||
extern const char *Txt_ROOMS_HELP_ORDER[Roo_NUM_ORDERS];
|
extern const char *Txt_ROOMS_HELP_ORDER[Roo_NUM_ORDERS];
|
||||||
extern const char *Txt_ROOMS_ORDER[Roo_NUM_ORDERS];
|
extern const char *Txt_ROOMS_ORDER[Roo_NUM_ORDERS];
|
||||||
|
extern const char *Txt_MAC_address;
|
||||||
extern const char *Txt_ROOM_TYPES[Roo_NUM_TYPES];
|
extern const char *Txt_ROOM_TYPES[Roo_NUM_TYPES];
|
||||||
extern const char *Txt_New_room;
|
extern const char *Txt_New_room;
|
||||||
struct Roo_Rooms Rooms;
|
struct Roo_Rooms Rooms;
|
||||||
|
@ -203,6 +206,8 @@ void Roo_SeeRooms (void)
|
||||||
Hlp_CENTRE_Rooms,Box_NOT_CLOSABLE);
|
Hlp_CENTRE_Rooms,Box_NOT_CLOSABLE);
|
||||||
HTM_TABLE_BeginWideMarginPadding (2);
|
HTM_TABLE_BeginWideMarginPadding (2);
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
/* Columns visible by all */
|
||||||
for (Order = (Roo_Order_t) 0;
|
for (Order = (Roo_Order_t) 0;
|
||||||
Order <= (Roo_Order_t) (Roo_NUM_ORDERS - 1);
|
Order <= (Roo_Order_t) (Roo_NUM_ORDERS - 1);
|
||||||
Order++)
|
Order++)
|
||||||
|
@ -220,6 +225,21 @@ void Roo_SeeRooms (void)
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TH_End ();
|
HTM_TH_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Column visible by admins */
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_CTR_ADM:
|
||||||
|
case Rol_INS_ADM:
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
HTM_TH_Begin (1,1,"LM");
|
||||||
|
HTM_Txt (Txt_MAC_address);
|
||||||
|
HTM_TH_End ();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
||||||
/***** Write list of rooms *****/
|
/***** Write list of rooms *****/
|
||||||
|
@ -260,6 +280,20 @@ void Roo_SeeRooms (void)
|
||||||
HTM_Txt (StrCapacity);
|
HTM_Txt (StrCapacity);
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
/* Column visible by admins */
|
||||||
|
switch (Gbl.Usrs.Me.Role.Logged)
|
||||||
|
{
|
||||||
|
case Rol_CTR_ADM:
|
||||||
|
case Rol_INS_ADM:
|
||||||
|
case Rol_SYS_ADM:
|
||||||
|
HTM_TD_Begin ("class=\"DAT RM %s\"",Gbl.ColorRows[RowEvenOdd]);
|
||||||
|
Roo_GetAndWriteMACAddresses (Rooms.Lst[NumRoom].RooCod);
|
||||||
|
HTM_TD_End ();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -281,6 +315,56 @@ void Roo_SeeRooms (void)
|
||||||
Roo_FreeListRooms (&Rooms);
|
Roo_FreeListRooms (&Rooms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*****************************************************************************/
|
||||||
|
/************* Write list of MAC addresses associated to a room **************/
|
||||||
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Roo_GetAndWriteMACAddresses (long RooCod)
|
||||||
|
{
|
||||||
|
MYSQL_RES *mysql_res;
|
||||||
|
MYSQL_ROW row;
|
||||||
|
unsigned NumMACs;
|
||||||
|
unsigned NumMAC;
|
||||||
|
unsigned long long MACnum;
|
||||||
|
|
||||||
|
/***** Get MAC addresses from database *****/
|
||||||
|
NumMACs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get MAC addresses",
|
||||||
|
"SELECT MAC" // row[0]
|
||||||
|
" FROM room_MAC"
|
||||||
|
" WHERE RooCod=%ld"
|
||||||
|
" ORDER BY MAC",
|
||||||
|
RooCod);
|
||||||
|
|
||||||
|
/***** Write the MACs *****/
|
||||||
|
for (NumMAC = 0;
|
||||||
|
NumMAC < NumMACs;
|
||||||
|
NumMAC++)
|
||||||
|
{
|
||||||
|
/* Get next MAC */
|
||||||
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
|
||||||
|
/* Write break line */
|
||||||
|
if (NumMAC)
|
||||||
|
HTM_BR ();
|
||||||
|
|
||||||
|
/* Get MAC (row[0]) */
|
||||||
|
if (sscanf (row[0],"%llu",&MACnum) == 1)
|
||||||
|
/* Write MAC */
|
||||||
|
HTM_TxtF ("%02x:%02x:%02x:%02x:%02x:%02x",
|
||||||
|
(unsigned char) ((MACnum >> 40) & 0xff),
|
||||||
|
(unsigned char) ((MACnum >> 32) & 0xff),
|
||||||
|
(unsigned char) ((MACnum >> 24) & 0xff),
|
||||||
|
(unsigned char) ((MACnum >> 16) & 0xff),
|
||||||
|
(unsigned char) ((MACnum >> 8) & 0xff),
|
||||||
|
(unsigned char) ((MACnum ) & 0xff));
|
||||||
|
else
|
||||||
|
HTM_Txt ("?");
|
||||||
|
}
|
||||||
|
|
||||||
|
/***** Free structure that stores the query result *****/
|
||||||
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/*********** Get parameter with the type or order in list of rooms ***********/
|
/*********** Get parameter with the type or order in list of rooms ***********/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
21
swad_text.c
21
swad_text.c
|
@ -18992,6 +18992,27 @@ const char *Txt_Longitude =
|
||||||
"Longitude";
|
"Longitude";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
const char *Txt_MAC_address =
|
||||||
|
#if L==1 // ca
|
||||||
|
"Adreça MAC";
|
||||||
|
#elif L==2 // de
|
||||||
|
"MAC-Adresse";
|
||||||
|
#elif L==3 // en
|
||||||
|
"MAC address";
|
||||||
|
#elif L==4 // es
|
||||||
|
"Dirección MAC";
|
||||||
|
#elif L==5 // fr
|
||||||
|
"Adresse MAC";
|
||||||
|
#elif L==6 // gn
|
||||||
|
"Dirección MAC"; // Okoteve traducción
|
||||||
|
#elif L==7 // it
|
||||||
|
"Indirizzo MAC";
|
||||||
|
#elif L==8 // pl
|
||||||
|
"Adres MAC";
|
||||||
|
#elif L==9 // pt
|
||||||
|
"Endereço MAC";
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *Txt_Mandatory_enrolment = // (to a type of group)
|
const char *Txt_Mandatory_enrolment = // (to a type of group)
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"¿Adscripción obligatoria?"; // Necessita traduccio
|
"¿Adscripción obligatoria?"; // Necessita traduccio
|
||||||
|
|
Loading…
Reference in New Issue