mirror of https://github.com/acanas/swad-core.git
Version 16.155.23
This commit is contained in:
parent
bd17e6b0ab
commit
7a8a6cc9ec
|
@ -872,10 +872,10 @@ CREATE TABLE IF NOT EXISTS places (
|
||||||
--
|
--
|
||||||
CREATE TABLE IF NOT EXISTS plugins (
|
CREATE TABLE IF NOT EXISTS plugins (
|
||||||
PlgCod INT NOT NULL AUTO_INCREMENT,
|
PlgCod INT NOT NULL AUTO_INCREMENT,
|
||||||
Name VARCHAR(127) NOT NULL,
|
Name VARCHAR(511) NOT NULL,
|
||||||
Description TEXT NOT NULL,
|
Description VARCHAR(2047) NOT NULL,
|
||||||
Logo VARCHAR(16) NOT NULL,
|
Logo VARCHAR(31) NOT NULL,
|
||||||
AppKey VARCHAR(16) NOT NULL,
|
AppKey VARCHAR(31) NOT NULL,
|
||||||
URL VARCHAR(255) NOT NULL,
|
URL VARCHAR(255) NOT NULL,
|
||||||
IP CHAR(15) NOT NULL,
|
IP CHAR(15) NOT NULL,
|
||||||
UNIQUE INDEX(PlgCod));
|
UNIQUE INDEX(PlgCod));
|
||||||
|
|
|
@ -207,13 +207,20 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 16.155.22 (2017-03-13)"
|
#define Log_PLATFORM_VERSION "SWAD 16.155.23 (2017-03-13)"
|
||||||
#define CSS_FILE "swad16.147.css"
|
#define CSS_FILE "swad16.147.css"
|
||||||
#define JS_FILE "swad16.144.js"
|
#define JS_FILE "swad16.144.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 16.155.23:Mar 13, 2017 Adjusting size of database fields. (216957 lines)
|
||||||
|
2 changes necessary in database:
|
||||||
|
ALTER TABLE plugins CHANGE COLUMN Name Name VARCHAR(511) NOT NULL;
|
||||||
|
ALTER TABLE plugins CHANGE COLUMN Description Description VARCHAR(2047) NOT NULL;
|
||||||
|
ALTER TABLE plugins CHANGE COLUMN Logo Logo VARCHAR(31) NOT NULL;
|
||||||
|
ALTER TABLE plugins CHANGE COLUMN AppKey AppKey VARCHAR(31) NOT NULL;
|
||||||
|
|
||||||
Version 16.155.22:Mar 13, 2017 Adjusting size of database fields. (216957 lines)
|
Version 16.155.22:Mar 13, 2017 Adjusting size of database fields. (216957 lines)
|
||||||
2 changes necessary in database:
|
2 changes necessary in database:
|
||||||
ALTER TABLE places CHANGE COLUMN ShortName ShortName VARCHAR(511) NOT NULL;
|
ALTER TABLE places CHANGE COLUMN ShortName ShortName VARCHAR(511) NOT NULL;
|
||||||
|
|
|
@ -1851,28 +1851,28 @@ mysql> DESCRIBE places;
|
||||||
/***** Table plugins *****/
|
/***** Table plugins *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE plugins;
|
mysql> DESCRIBE plugins;
|
||||||
+-------------+--------------+------+-----+---------+----------------+
|
+-------------+---------------+------+-----+---------+----------------+
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+-------------+--------------+------+-----+---------+----------------+
|
+-------------+---------------+------+-----+---------+----------------+
|
||||||
| PlgCod | int(11) | NO | PRI | NULL | auto_increment |
|
| PlgCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||||
| Name | varchar(127) | NO | | NULL | |
|
| Name | varchar(511) | NO | | NULL | |
|
||||||
| Description | text | NO | | NULL | |
|
| Description | varchar(2047) | NO | | NULL | |
|
||||||
| Logo | varchar(16) | NO | | NULL | |
|
| Logo | varchar(31) | NO | | NULL | |
|
||||||
| AppKey | varchar(16) | NO | | NULL | |
|
| AppKey | varchar(31) | NO | | NULL | |
|
||||||
| URL | varchar(255) | NO | | NULL | |
|
| URL | varchar(255) | NO | | NULL | |
|
||||||
| IP | char(15) | NO | | NULL | |
|
| IP | char(15) | NO | | NULL | |
|
||||||
+-------------+--------------+------+-----+---------+----------------+
|
+-------------+---------------+------+-----+---------+----------------+
|
||||||
7 rows in set (0.01 sec)
|
7 rows in set (0,00 sec)
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS plugins ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS plugins ("
|
||||||
"PlgCod INT NOT NULL AUTO_INCREMENT,"
|
"PlgCod INT NOT NULL AUTO_INCREMENT,"
|
||||||
"Name VARCHAR(127) NOT NULL,"
|
"Name VARCHAR(511) NOT NULL," // Plg_MAX_BYTES_PLUGIN_NAME
|
||||||
"Description TEXT NOT NULL,"
|
"Description VARCHAR(2047) NOT NULL," // Plg_MAX_BYTES_PLUGIN_DESCRIPTION
|
||||||
"Logo VARCHAR(16) NOT NULL,"
|
"Logo VARCHAR(31) NOT NULL," // Plg_MAX_BYTES_PLUGIN_LOGO
|
||||||
"AppKey VARCHAR(16) NOT NULL,"
|
"AppKey VARCHAR(31) NOT NULL," // Plg_MAX_BYTES_PLUGIN_APP_KEY
|
||||||
"URL VARCHAR(255) NOT NULL,"
|
"URL VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
|
||||||
"IP CHAR(15) NOT NULL,"
|
"IP CHAR(15) NOT NULL," // Cns_MAX_BYTES_IP
|
||||||
"UNIQUE INDEX(PlgCod))");
|
"UNIQUE INDEX(PlgCod))");
|
||||||
|
|
||||||
/***** Table sessions *****/
|
/***** Table sessions *****/
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -191,7 +191,7 @@ void Plg_EditPlugins (void)
|
||||||
|
|
||||||
static void Plg_GetListPlugins (void)
|
static void Plg_GetListPlugins (void)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
char Query[256];
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
unsigned long NumRows;
|
unsigned long NumRows;
|
||||||
|
@ -264,14 +264,18 @@ static void Plg_GetListPlugins (void)
|
||||||
|
|
||||||
bool Plg_GetDataOfPluginByCod (struct Plugin *Plg)
|
bool Plg_GetDataOfPluginByCod (struct Plugin *Plg)
|
||||||
{
|
{
|
||||||
char Query[1024];
|
char Query[256];
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
unsigned long NumRows;
|
unsigned long NumRows;
|
||||||
bool PluginFound;
|
bool PluginFound;
|
||||||
|
|
||||||
/***** Clear data *****/
|
/***** Clear data *****/
|
||||||
Plg->Name[0] = Plg->Description[0] = Plg->Logo[0] = Plg->URL[0] = Plg->IP[0] = '\0';
|
Plg->Name[0] =
|
||||||
|
Plg->Description[0] =
|
||||||
|
Plg->Logo[0] =
|
||||||
|
Plg->URL[0] =
|
||||||
|
Plg->IP[0] = '\0';
|
||||||
|
|
||||||
/***** Check if plugin code is correct *****/
|
/***** Check if plugin code is correct *****/
|
||||||
if (Plg->PlgCod <= 0)
|
if (Plg->PlgCod <= 0)
|
||||||
|
@ -488,7 +492,7 @@ long Plg_GetParamPlgCod (void)
|
||||||
void Plg_RemovePlugin (void)
|
void Plg_RemovePlugin (void)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Plugin_X_removed;
|
extern const char *Txt_Plugin_X_removed;
|
||||||
char Query[512];
|
char Query[128];
|
||||||
struct Plugin Plg;
|
struct Plugin Plg;
|
||||||
|
|
||||||
/***** Get plugin code *****/
|
/***** Get plugin code *****/
|
||||||
|
@ -499,7 +503,8 @@ void Plg_RemovePlugin (void)
|
||||||
Plg_GetDataOfPluginByCod (&Plg);
|
Plg_GetDataOfPluginByCod (&Plg);
|
||||||
|
|
||||||
/***** Remove plugin *****/
|
/***** Remove plugin *****/
|
||||||
sprintf (Query,"DELETE FROM plugins WHERE PlgCod='%ld'",Plg.PlgCod);
|
sprintf (Query,"DELETE FROM plugins WHERE PlgCod='%ld'",
|
||||||
|
Plg.PlgCod);
|
||||||
DB_QueryDELETE (Query,"can not remove a plugin");
|
DB_QueryDELETE (Query,"can not remove a plugin");
|
||||||
|
|
||||||
/***** Write message to show the change made *****/
|
/***** Write message to show the change made *****/
|
||||||
|
@ -521,7 +526,7 @@ void Plg_RenamePlugin (void)
|
||||||
extern const char *Txt_The_plugin_X_already_exists;
|
extern const char *Txt_The_plugin_X_already_exists;
|
||||||
extern const char *Txt_The_plugin_X_has_been_renamed_as_Y;
|
extern const char *Txt_The_plugin_X_has_been_renamed_as_Y;
|
||||||
extern const char *Txt_The_name_of_the_plugin_X_has_not_changed;
|
extern const char *Txt_The_name_of_the_plugin_X_has_not_changed;
|
||||||
char Query[512];
|
char Query[128 + Plg_MAX_BYTES_PLUGIN_NAME];
|
||||||
struct Plugin *Plg;
|
struct Plugin *Plg;
|
||||||
char NewPlgName[Plg_MAX_BYTES_PLUGIN_NAME + 1];
|
char NewPlgName[Plg_MAX_BYTES_PLUGIN_NAME + 1];
|
||||||
|
|
||||||
|
@ -590,10 +595,11 @@ void Plg_RenamePlugin (void)
|
||||||
|
|
||||||
static bool Plg_CheckIfPluginNameExists (const char *Name,long PlgCod)
|
static bool Plg_CheckIfPluginNameExists (const char *Name,long PlgCod)
|
||||||
{
|
{
|
||||||
char Query[512];
|
char Query[256 + Plg_MAX_BYTES_PLUGIN_NAME];
|
||||||
|
|
||||||
/***** Get number of plugins with a name from database *****/
|
/***** Get number of plugins with a name from database *****/
|
||||||
sprintf (Query,"SELECT COUNT(*) FROM plugins WHERE Name='%s' AND PlgCod<>'%ld'",
|
sprintf (Query,"SELECT COUNT(*) FROM plugins"
|
||||||
|
" WHERE Name='%s' AND PlgCod<>'%ld'",
|
||||||
Name,PlgCod);
|
Name,PlgCod);
|
||||||
return (DB_QueryCOUNT (Query,"can not check if the name of a plugin already existed") != 0);
|
return (DB_QueryCOUNT (Query,"can not check if the name of a plugin already existed") != 0);
|
||||||
}
|
}
|
||||||
|
@ -607,7 +613,7 @@ void Plg_ChangePlgDescription (void)
|
||||||
extern const char *Txt_The_new_description_is_X;
|
extern const char *Txt_The_new_description_is_X;
|
||||||
extern const char *Txt_You_can_not_leave_the_description_empty;
|
extern const char *Txt_You_can_not_leave_the_description_empty;
|
||||||
struct Plugin *Plg;
|
struct Plugin *Plg;
|
||||||
char Query[256 + Plg_MAX_BYTES_PLUGIN_DESCRIPTION];
|
char Query[128 + Plg_MAX_BYTES_PLUGIN_DESCRIPTION];
|
||||||
char NewDescription[Plg_MAX_BYTES_PLUGIN_DESCRIPTION + 1];
|
char NewDescription[Plg_MAX_BYTES_PLUGIN_DESCRIPTION + 1];
|
||||||
|
|
||||||
Plg = &Gbl.Plugins.EditingPlg;
|
Plg = &Gbl.Plugins.EditingPlg;
|
||||||
|
@ -654,7 +660,7 @@ void Plg_ChangePlgLogo (void)
|
||||||
extern const char *Txt_The_new_logo_is_X;
|
extern const char *Txt_The_new_logo_is_X;
|
||||||
extern const char *Txt_You_can_not_leave_the_logo_empty;
|
extern const char *Txt_You_can_not_leave_the_logo_empty;
|
||||||
struct Plugin *Plg;
|
struct Plugin *Plg;
|
||||||
char Query[256 + Plg_MAX_BYTES_PLUGIN_LOGO];
|
char Query[128 + Plg_MAX_BYTES_PLUGIN_LOGO];
|
||||||
char NewLogo[Plg_MAX_BYTES_PLUGIN_LOGO + 1];
|
char NewLogo[Plg_MAX_BYTES_PLUGIN_LOGO + 1];
|
||||||
|
|
||||||
Plg = &Gbl.Plugins.EditingPlg;
|
Plg = &Gbl.Plugins.EditingPlg;
|
||||||
|
@ -698,7 +704,7 @@ void Plg_ChangePlgAppKey (void)
|
||||||
extern const char *Txt_The_new_logo_is_X; // TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
extern const char *Txt_The_new_logo_is_X; // TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
extern const char *Txt_You_can_not_leave_the_logo_empty;// TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
extern const char *Txt_You_can_not_leave_the_logo_empty;// TODO: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||||
struct Plugin *Plg;
|
struct Plugin *Plg;
|
||||||
char Query[256 + Plg_MAX_BYTES_PLUGIN_APP_KEY];
|
char Query[128 + Plg_MAX_BYTES_PLUGIN_APP_KEY];
|
||||||
char NewAppKey[Plg_MAX_BYTES_PLUGIN_APP_KEY + 1];
|
char NewAppKey[Plg_MAX_BYTES_PLUGIN_APP_KEY + 1];
|
||||||
|
|
||||||
Plg = &Gbl.Plugins.EditingPlg;
|
Plg = &Gbl.Plugins.EditingPlg;
|
||||||
|
@ -742,7 +748,7 @@ void Plg_ChangePlgURL (void)
|
||||||
extern const char *Txt_The_new_URL_is_X;
|
extern const char *Txt_The_new_URL_is_X;
|
||||||
extern const char *Txt_You_can_not_leave_the_URL_empty;
|
extern const char *Txt_You_can_not_leave_the_URL_empty;
|
||||||
struct Plugin *Plg;
|
struct Plugin *Plg;
|
||||||
char Query[256 + Cns_MAX_BYTES_WWW];
|
char Query[128 + Cns_MAX_BYTES_WWW];
|
||||||
char NewURL[Cns_MAX_BYTES_WWW + 1];
|
char NewURL[Cns_MAX_BYTES_WWW + 1];
|
||||||
|
|
||||||
Plg = &Gbl.Plugins.EditingPlg;
|
Plg = &Gbl.Plugins.EditingPlg;
|
||||||
|
@ -786,7 +792,7 @@ void Plg_ChangePlgIP (void)
|
||||||
extern const char *Txt_The_new_IP_address_is_X;
|
extern const char *Txt_The_new_IP_address_is_X;
|
||||||
extern const char *Txt_You_can_not_leave_the_IP_address_empty;
|
extern const char *Txt_You_can_not_leave_the_IP_address_empty;
|
||||||
struct Plugin *Plg;
|
struct Plugin *Plg;
|
||||||
char Query[256 + Cns_MAX_BYTES_IP];
|
char Query[128 + Cns_MAX_BYTES_IP];
|
||||||
char NewIP[Cns_MAX_BYTES_IP + 1];
|
char NewIP[Cns_MAX_BYTES_IP + 1];
|
||||||
|
|
||||||
Plg = &Gbl.Plugins.EditingPlg;
|
Plg = &Gbl.Plugins.EditingPlg;
|
||||||
|
|
Loading…
Reference in New Issue