Version 16.155.3

This commit is contained in:
Antonio Cañas Vargas 2017-03-10 02:40:01 +01:00
parent ed5640e1b1
commit 1001e70582
5 changed files with 133 additions and 103 deletions

View File

@ -215,15 +215,15 @@ CREATE TABLE IF NOT EXISTS countries (
CtyCod INT NOT NULL, CtyCod INT NOT NULL,
Alpha2 CHAR(2) NOT NULL, Alpha2 CHAR(2) NOT NULL,
MapAttribution TEXT NOT NULL, MapAttribution TEXT NOT NULL,
Name_ca VARCHAR(255) NOT NULL, Name_ca VARCHAR(767) NOT NULL,
Name_de VARCHAR(255) NOT NULL, Name_de VARCHAR(767) NOT NULL,
Name_en VARCHAR(255) NOT NULL, Name_en VARCHAR(767) NOT NULL,
Name_es VARCHAR(255) NOT NULL, Name_es VARCHAR(767) NOT NULL,
Name_fr VARCHAR(255) NOT NULL, Name_fr VARCHAR(767) NOT NULL,
Name_gn VARCHAR(255) NOT NULL, Name_gn VARCHAR(767) NOT NULL,
Name_it VARCHAR(255) NOT NULL, Name_it VARCHAR(767) NOT NULL,
Name_pl VARCHAR(255) NOT NULL, Name_pl VARCHAR(767) NOT NULL,
Name_pt VARCHAR(255) NOT NULL, Name_pt VARCHAR(767) NOT NULL,
WWW_ca VARCHAR(255) NOT NULL, WWW_ca VARCHAR(255) NOT NULL,
WWW_de VARCHAR(255) NOT NULL, WWW_de VARCHAR(255) NOT NULL,
WWW_en VARCHAR(255) NOT NULL, WWW_en VARCHAR(255) NOT NULL,

View File

@ -204,13 +204,26 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.155.2 (2017-03-09)" #define Log_PLATFORM_VERSION "SWAD 16.155.3 (2017-03-09)"
#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.3: Mar 10, 2017 Adjusting size of database fields.
Code refactoring related with renaming country name. (216620 lines)
9 changes necessary in database:
ALTER TABLE countries CHANGE COLUMN Name_ca Name_ca VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_de Name_de VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_en Name_en VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_es Name_es VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_fr Name_fr VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_gn Name_gn VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_it Name_it VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_pl Name_pl VARCHAR(767) NOT NULL;
ALTER TABLE countries CHANGE COLUMN Name_pt Name_pt VARCHAR(767) NOT NULL;
Version 16.155.2: Mar 09, 2017 Adjusting size of database fields. (216596 lines) Version 16.155.2: Mar 09, 2017 Adjusting size of database fields. (216596 lines)
1 change necessary in database: 1 change necessary in database:
ALTER TABLE chat CHANGE COLUMN RoomCode RoomCode VARCHAR(16) NOT NULL; ALTER TABLE chat CHANGE COLUMN RoomCode RoomCode VARCHAR(16) NOT NULL;

View File

@ -85,6 +85,8 @@ static long Cty_GetParamOtherCtyCod (void);
static bool Cty_CheckIfNumericCountryCodeExists (long CtyCod); static bool Cty_CheckIfNumericCountryCodeExists (long CtyCod);
static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1]); static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1]);
static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Name,long CtyCod); static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Name,long CtyCod);
static void Cty_UpdateCtyNameDB (long CtyCod,const char *FieldName,const char *NewCtyName);
static void Cty_PutFormToCreateCountry (void); static void Cty_PutFormToCreateCountry (void);
static void Cty_PutHeadCountriesForEdition (void); static void Cty_PutHeadCountriesForEdition (void);
static void Cty_CreateCountry (struct Country *Cty); static void Cty_CreateCountry (struct Country *Cty);
@ -803,7 +805,7 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action,
const char *ClassLink) const char *ClassLink)
{ {
extern const char *Txt_Go_to_X; extern const char *Txt_Go_to_X;
char CountryName[Hie_MAX_BYTES_FULL_NAME + 1]; char CountryName[Cty_MAX_BYTES_NAME + 1];
/***** Start form *****/ /***** Start form *****/
Act_FormGoToStart (Action); Act_FormGoToStart (Action);
@ -819,7 +821,7 @@ void Cty_DrawCountryMapAndNameWithLink (struct Country *Cty,Act_Action_t Action,
/***** Write country name and end link *****/ /***** Write country name and end link *****/
Str_Copy (CountryName,Cty->Name[Gbl.Prefs.Language], Str_Copy (CountryName,Cty->Name[Gbl.Prefs.Language],
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
fprintf (Gbl.F.Out," %s (%s)" fprintf (Gbl.F.Out," %s (%s)"
"</a>" "</a>"
"</div>", "</div>",
@ -1099,7 +1101,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData)
/* Get the name of the country in current language */ /* Get the name of the country in current language */
Str_Copy (Cty->Name[Gbl.Prefs.Language],row[2], Str_Copy (Cty->Name[Gbl.Prefs.Language],row[2],
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
break; break;
case Cty_GET_EXTRA_DATA: case Cty_GET_EXTRA_DATA:
/* Get the name of the country in several languages */ /* Get the name of the country in several languages */
@ -1108,7 +1110,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData)
Lan++) Lan++)
{ {
Str_Copy (Cty->Name[Lan],row[1 + Lan], Str_Copy (Cty->Name[Lan],row[1 + Lan],
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
Str_Copy (Cty->WWW[Lan],row[1 + Txt_NUM_LANGUAGES + Lan], Str_Copy (Cty->WWW[Lan],row[1 + Txt_NUM_LANGUAGES + Lan],
Cns_MAX_BYTES_WWW); Cns_MAX_BYTES_WWW);
} }
@ -1212,7 +1214,7 @@ void Cty_WriteSelectorOfCountry (void)
void Cty_WriteCountryName (long CtyCod,const char *ClassLink) void Cty_WriteCountryName (long CtyCod,const char *ClassLink)
{ {
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS]; extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1]; char CtyName[Cty_MAX_BYTES_NAME + 1];
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1]; char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
bool PutForm = ClassLink && bool PutForm = ClassLink &&
!Gbl.Form.Inside && // Only if not inside another form !Gbl.Form.Inside && // Only if not inside another form
@ -1279,7 +1281,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
Lan++) Lan++)
if (Lan == Gbl.Prefs.Language) if (Lan == Gbl.Prefs.Language)
Str_Copy (Cty->Name[Lan],Txt_Another_country, Str_Copy (Cty->Name[Lan],Txt_Another_country,
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
else else
Cty->Name[Lan][0] = '\0'; Cty->Name[Lan][0] = '\0';
return false; return false;
@ -1355,7 +1357,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
case Cty_GET_BASIC_DATA: case Cty_GET_BASIC_DATA:
/* Get name and WWW of the country in current language */ /* Get name and WWW of the country in current language */
Str_Copy (Cty->Name[Gbl.Prefs.Language],row[1], Str_Copy (Cty->Name[Gbl.Prefs.Language],row[1],
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
Str_Copy (Cty->WWW[Gbl.Prefs.Language],row[2], Str_Copy (Cty->WWW[Gbl.Prefs.Language],row[2],
Cns_MAX_BYTES_WWW); Cns_MAX_BYTES_WWW);
break; break;
@ -1366,7 +1368,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
Lan++) Lan++)
{ {
Str_Copy (Cty->Name[Lan],row[Lan], Str_Copy (Cty->Name[Lan],row[Lan],
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
Str_Copy (Cty->WWW[Lan],row[Txt_NUM_LANGUAGES + Lan], Str_Copy (Cty->WWW[Lan],row[Txt_NUM_LANGUAGES + Lan],
Cns_MAX_BYTES_WWW); Cns_MAX_BYTES_WWW);
} }
@ -1398,7 +1400,7 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD
/***************************** Get country name ******************************/ /***************************** Get country name ******************************/
/*****************************************************************************/ /*****************************************************************************/
void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1]) void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_NAME + 1])
{ {
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char Query[128]; char Query[128];
@ -1407,7 +1409,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1])
static struct static struct
{ {
long CtyCod; long CtyCod;
char CtyName[Hie_MAX_BYTES_FULL_NAME + 1]; char CtyName[Cty_MAX_BYTES_NAME + 1];
} Cached = } Cached =
{ {
-1L, -1L,
@ -1433,7 +1435,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1])
/* Get the name of the country */ /* Get the name of the country */
Str_Copy (Cached.CtyName,row[0], Str_Copy (Cached.CtyName,row[0],
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
} }
else else
Cached.CtyName[0] = '\0'; Cached.CtyName[0] = '\0';
@ -1443,7 +1445,7 @@ void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1])
} }
Str_Copy (CtyName,Cached.CtyName, Str_Copy (CtyName,Cached.CtyName,
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
} }
} }
@ -1604,7 +1606,7 @@ static void Cty_ListCountriesForEdition (void)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Name\"" fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Name\""
" size=\"15\" maxlength=\"%u\" value=\"%s\"" " size=\"15\" maxlength=\"%u\" value=\"%s\""
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_FULL_NAME, Cty_MAX_CHARS_NAME,
Cty->Name[Lan],Gbl.Form.Id); Cty->Name[Lan],Gbl.Form.Id);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -1721,10 +1723,10 @@ void Cty_RenameCountry (void)
extern const char *Txt_The_country_X_has_been_renamed_as_Y; extern const char *Txt_The_country_X_has_been_renamed_as_Y;
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 *Txt_The_name_of_the_country_X_has_not_changed; extern const char *Txt_The_name_of_the_country_X_has_not_changed;
char Query[512];
struct Country *Cty; struct Country *Cty;
char NewCtyName[Hie_MAX_BYTES_FULL_NAME + 1]; char NewCtyName[Cty_MAX_BYTES_NAME + 1];
Txt_Language_t Language; Txt_Language_t Language;
char FieldName[4 + 1 + 2 + 1]; // Example: "Name_en"
Cty = &Gbl.Ctys.EditingCty; Cty = &Gbl.Ctys.EditingCty;
@ -1736,7 +1738,7 @@ void Cty_RenameCountry (void)
Language = Pre_GetParamLanguage (); Language = Pre_GetParamLanguage ();
/* Get the new name for the country */ /* Get the new name for the country */
Par_GetParToText ("Name",NewCtyName,Hie_MAX_BYTES_FULL_NAME); Par_GetParToText ("Name",NewCtyName,Cty_MAX_BYTES_NAME);
/***** Get from the database the data of the country *****/ /***** Get from the database the data of the country *****/
Cty_GetDataOfCountryByCod (Cty,Cty_GET_EXTRA_DATA); Cty_GetDataOfCountryByCod (Cty,Cty_GET_EXTRA_DATA);
@ -1763,12 +1765,10 @@ void Cty_RenameCountry (void)
else else
{ {
/* Update the table changing old name by new name */ /* Update the table changing old name by new name */
sprintf (Query,"UPDATE countries SET Name_%s='%s'" sprintf (FieldName,"Name_%s",Txt_STR_LANG_ID[Language]);
" WHERE CtyCod='%03ld'", Cty_UpdateCtyNameDB (Cty->CtyCod,FieldName,NewCtyName);
Txt_STR_LANG_ID[Language],NewCtyName,Cty->CtyCod);
DB_QueryUPDATE (Query,"can not update the name of a country");
/***** Write message to show the change made *****/ /* Write message to show the change made */
sprintf (Gbl.Message,Txt_The_country_X_has_been_renamed_as_Y, sprintf (Gbl.Message,Txt_The_country_X_has_been_renamed_as_Y,
Cty->Name[Language],NewCtyName); Cty->Name[Language],NewCtyName);
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message); Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
@ -1784,7 +1784,7 @@ void Cty_RenameCountry (void)
/***** Show the form again *****/ /***** Show the form again *****/
Str_Copy (Cty->Name[Language],NewCtyName, Str_Copy (Cty->Name[Language],NewCtyName,
Hie_MAX_BYTES_FULL_NAME); Cty_MAX_BYTES_NAME);
Cty_EditCountries (); Cty_EditCountries ();
} }
@ -1794,7 +1794,7 @@ void Cty_RenameCountry (void)
static bool Cty_CheckIfNumericCountryCodeExists (long CtyCod) static bool Cty_CheckIfNumericCountryCodeExists (long CtyCod)
{ {
char Query[256]; char Query[128];
/***** Get number of countries with a name from database *****/ /***** Get number of countries with a name from database *****/
sprintf (Query,"SELECT COUNT(*) FROM countries WHERE CtyCod='%03ld'", sprintf (Query,"SELECT COUNT(*) FROM countries WHERE CtyCod='%03ld'",
@ -1808,7 +1808,7 @@ static bool Cty_CheckIfNumericCountryCodeExists (long CtyCod)
static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1]) static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1])
{ {
char Query[512]; char Query[128];
/***** Get number of countries with a name from database *****/ /***** Get number of countries with a name from database *****/
sprintf (Query,"SELECT COUNT(*) FROM countries WHERE Alpha2='%s'", sprintf (Query,"SELECT COUNT(*) FROM countries WHERE Alpha2='%s'",
@ -1823,7 +1823,7 @@ static bool Cty_CheckIfAlpha2CountryCodeExists (const char Alpha2[2 + 1])
static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Name,long CtyCod) static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Name,long CtyCod)
{ {
extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES]; extern const char *Txt_STR_LANG_ID[1 + Txt_NUM_LANGUAGES];
char Query[512]; char Query[256 + Cty_MAX_BYTES_NAME];
/***** Get number of countries with a name from database *****/ /***** Get number of countries with a name from database *****/
sprintf (Query,"SELECT COUNT(*) FROM countries" sprintf (Query,"SELECT COUNT(*) FROM countries"
@ -1832,6 +1832,20 @@ static bool Cty_CheckIfCountryNameExists (Txt_Language_t Language,const char *Na
return (DB_QueryCOUNT (Query,"can not check if the name of a country already existed") != 0); return (DB_QueryCOUNT (Query,"can not check if the name of a country already existed") != 0);
} }
/*****************************************************************************/
/************ Update institution name in table of institutions ***************/
/*****************************************************************************/
static void Cty_UpdateCtyNameDB (long CtyCod,const char *FieldName,const char *NewCtyName)
{
char Query[128 + Cty_MAX_BYTES_NAME];
/***** Update country changing old name by new name */
sprintf (Query,"UPDATE countries SET %s='%s' WHERE CtyCod='%03ld'",
FieldName,NewCtyName,CtyCod);
DB_QueryUPDATE (Query,"can not update the name of a country");
}
/*****************************************************************************/ /*****************************************************************************/
/************************ Change the URL of a country ************************/ /************************ Change the URL of a country ************************/
/*****************************************************************************/ /*****************************************************************************/
@ -1855,7 +1869,7 @@ void Cty_ChangeCtyWWW (void)
Language = Pre_GetParamLanguage (); Language = Pre_GetParamLanguage ();
/* Get the new WWW for the country */ /* Get the new WWW for the country */
Par_GetParToText ("WWW",NewWWW,Hie_MAX_BYTES_FULL_NAME); Par_GetParToText ("WWW",NewWWW,Cns_MAX_BYTES_WWW);
/***** Get from the database the data of the country *****/ /***** Get from the database the data of the country *****/
Cty_GetDataOfCountryByCod (Cty,Cty_GET_EXTRA_DATA); Cty_GetDataOfCountryByCod (Cty,Cty_GET_EXTRA_DATA);
@ -1983,7 +1997,7 @@ static void Cty_PutFormToCreateCountry (void)
" required=\"required\" />" " required=\"required\" />"
"</td>", "</td>",
Txt_STR_LANG_ID[Lan], Txt_STR_LANG_ID[Lan],
Hie_MAX_CHARS_FULL_NAME, Cty_MAX_CHARS_NAME,
Cty->Name[Lan]); Cty->Name[Lan]);
/* WWW */ /* WWW */
@ -2116,7 +2130,7 @@ void Cty_RecFormNewCountry (void)
Lan++) Lan++)
{ {
sprintf (ParamName,"Name_%s",Txt_STR_LANG_ID[Lan]); sprintf (ParamName,"Name_%s",Txt_STR_LANG_ID[Lan]);
Par_GetParToText (ParamName,Cty->Name[Lan],Hie_MAX_BYTES_FULL_NAME); Par_GetParToText (ParamName,Cty->Name[Lan],Cty_MAX_BYTES_NAME);
if (Cty->Name[Lan][0]) // If there's a country name if (Cty->Name[Lan][0]) // If there's a country name
{ {
@ -2155,7 +2169,7 @@ void Cty_RecFormNewCountry (void)
/**************************** Create a new country ***************************/ /**************************** Create a new country ***************************/
/*****************************************************************************/ /*****************************************************************************/
#define Cty_MAX_BYTES_SUBQUERY_CTYS_NAME ((1 + Txt_NUM_LANGUAGES) * Hie_MAX_BYTES_FULL_NAME) #define Cty_MAX_BYTES_SUBQUERY_CTYS_NAME ((1 + Txt_NUM_LANGUAGES) * Cty_MAX_BYTES_NAME)
#define Cty_MAX_BYTES_SUBQUERY_CTYS_WWW ((1 + Txt_NUM_LANGUAGES) * Cns_MAX_BYTES_WWW) #define Cty_MAX_BYTES_SUBQUERY_CTYS_WWW ((1 + Txt_NUM_LANGUAGES) * Cns_MAX_BYTES_WWW)
static void Cty_CreateCountry (struct Country *Cty) static void Cty_CreateCountry (struct Country *Cty)

View File

@ -40,11 +40,14 @@
#define Cty_MAX_COUNTRS_PER_USR 10 // Used in list of my countries #define Cty_MAX_COUNTRS_PER_USR 10 // Used in list of my countries
#define Cty_MAX_CHARS_NAME (48 - 1) // 47
#define Cty_MAX_BYTES_NAME ((Cty_MAX_CHARS_NAME + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 767
struct Country struct Country
{ {
long CtyCod; long CtyCod;
char Alpha2[2 + 1]; char Alpha2[2 + 1];
char Name[1 + Txt_NUM_LANGUAGES][Hie_MAX_BYTES_FULL_NAME + 1]; char Name[1 + Txt_NUM_LANGUAGES][Cty_MAX_BYTES_NAME + 1];
char WWW [1 + Txt_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1]; char WWW [1 + Txt_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1];
unsigned NumUsrsWhoClaimToBelongToCty; unsigned NumUsrsWhoClaimToBelongToCty;
unsigned NumInss; unsigned NumInss;
@ -96,7 +99,7 @@ void Cty_FreeListCountries (void);
void Cty_WriteSelectorOfCountry (void); void Cty_WriteSelectorOfCountry (void);
void Cty_WriteCountryName (long CtyCod,const char *ClassLink); void Cty_WriteCountryName (long CtyCod,const char *ClassLink);
bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraData); bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraData);
void Cty_GetCountryName (long CtyCod,char CtyName[Hie_MAX_BYTES_FULL_NAME + 1]); void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_NAME + 1]);
void Cty_PutParamCtyCod (long CtyCod); void Cty_PutParamCtyCod (long CtyCod);
long Cty_GetAndCheckParamOtherCtyCod (void); long Cty_GetAndCheckParamOtherCtyCod (void);
void Cty_RemoveCountry (void); void Cty_RemoveCountry (void);

View File

@ -434,7 +434,7 @@ mysql> DESCRIBE centres;
"ShortName VARCHAR(511) COLLATE latin1_spanish_ci NOT NULL," // Hie_MAX_BYTES_SHRT_NAME "ShortName VARCHAR(511) COLLATE latin1_spanish_ci NOT NULL," // Hie_MAX_BYTES_SHRT_NAME
"FullName VARCHAR(2047) COLLATE latin1_spanish_ci NOT NULL," // Hie_MAX_BYTES_FULL_NAME "FullName VARCHAR(2047) COLLATE latin1_spanish_ci NOT NULL," // Hie_MAX_BYTES_FULL_NAME
"WWW VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW "WWW VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"PhotoAttribution TEXT NOT NULL," "PhotoAttribution TEXT NOT NULL," // Img_MAX_BYTES_ATTRIBUTION
"UNIQUE INDEX(CtrCod)," "UNIQUE INDEX(CtrCod),"
"INDEX(InsCod)," "INDEX(InsCod),"
"INDEX(PlcCod)," "INDEX(PlcCod),"
@ -468,9 +468,9 @@ mysql> DESCRIBE clicks_without_photo;
2 rows in set (0.00 sec) 2 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS clicks_without_photo (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS clicks_without_photo ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"NumClicks INT NOT NULL," "NumClicks INT NOT NULL,"
"UNIQUE INDEX(UsrCod))"); "UNIQUE INDEX(UsrCod))");
/***** Table clipboard *****/ /***** Table clipboard *****/
/* /*
@ -489,16 +489,16 @@ mysql> DESCRIBE clipboard;
7 rows in set (0.00 sec) 7 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS clipboard (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS clipboard ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"FileBrowser TINYINT NOT NULL," "FileBrowser TINYINT NOT NULL,"
"Cod INT NOT NULL DEFAULT -1," "Cod INT NOT NULL DEFAULT -1,"
"WorksUsrCod INT NOT NULL," "WorksUsrCod INT NOT NULL,"
"FileType TINYINT NOT NULL DEFAULT 0," "FileType TINYINT NOT NULL DEFAULT 0,"
"Path TEXT COLLATE latin1_bin NOT NULL," "Path TEXT COLLATE latin1_bin NOT NULL," // PATH_MAX
"CopyTime TIMESTAMP," "CopyTime TIMESTAMP,"
"UNIQUE INDEX(UsrCod)," "UNIQUE INDEX(UsrCod),"
"INDEX(FileBrowser,Cod)," "INDEX(FileBrowser,Cod),"
"INDEX(WorksUsrCod))"); "INDEX(WorksUsrCod))");
/***** Table connected *****/ /***** Table connected *****/
/* /*
@ -514,13 +514,13 @@ mysql> DESCRIBE connected;
4 rows in set (0,00 sec) 4 rows in set (0,00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS connected (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS connected ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"RoleInLastCrs TINYINT NOT NULL DEFAULT 0," "RoleInLastCrs TINYINT NOT NULL DEFAULT 0,"
"LastCrsCod INT NOT NULL DEFAULT -1," "LastCrsCod INT NOT NULL DEFAULT -1,"
"LastTime DATETIME NOT NULL," "LastTime DATETIME NOT NULL,"
"UNIQUE INDEX(UsrCod)," "UNIQUE INDEX(UsrCod),"
"INDEX(RoleInLastCrs)," "INDEX(RoleInLastCrs),"
"INDEX(LastCrsCod))"); "INDEX(LastCrsCod))");
/***** Table countries *****/ /***** Table countries *****/
/* /*
@ -531,15 +531,15 @@ mysql> DESCRIBE countries;
| CtyCod | int(11) | NO | PRI | NULL | | | CtyCod | int(11) | NO | PRI | NULL | |
| Alpha2 | char(2) | NO | UNI | NULL | | | Alpha2 | char(2) | NO | UNI | NULL | |
| MapAttribution | text | NO | | NULL | | | MapAttribution | text | NO | | NULL | |
| Name_ca | varchar(255) | NO | MUL | NULL | | | Name_ca | varchar(767) | NO | MUL | NULL | |
| Name_de | varchar(255) | NO | MUL | NULL | | | Name_de | varchar(767) | NO | MUL | NULL | |
| Name_en | varchar(255) | NO | MUL | NULL | | | Name_en | varchar(767) | NO | MUL | NULL | |
| Name_es | varchar(255) | NO | MUL | NULL | | | Name_es | varchar(767) | NO | MUL | NULL | |
| Name_fr | varchar(255) | NO | MUL | NULL | | | Name_fr | varchar(767) | NO | MUL | NULL | |
| Name_gn | varchar(255) | NO | MUL | NULL | | | Name_gn | varchar(767) | NO | MUL | NULL | |
| Name_it | varchar(255) | NO | MUL | NULL | | | Name_it | varchar(767) | NO | MUL | NULL | |
| Name_pl | varchar(255) | NO | MUL | NULL | | | Name_pl | varchar(767) | NO | MUL | NULL | |
| Name_pt | varchar(255) | NO | MUL | NULL | | | Name_pt | varchar(767) | NO | MUL | NULL | |
| WWW_ca | varchar(255) | NO | | NULL | | | WWW_ca | varchar(255) | NO | | NULL | |
| WWW_de | varchar(255) | NO | | NULL | | | WWW_de | varchar(255) | NO | | NULL | |
| WWW_en | varchar(255) | NO | | NULL | | | WWW_en | varchar(255) | NO | | NULL | |
@ -550,40 +550,40 @@ mysql> DESCRIBE countries;
| WWW_pl | varchar(255) | NO | | NULL | | | WWW_pl | varchar(255) | NO | | NULL | |
| WWW_pt | varchar(255) | NO | | NULL | | | WWW_pt | varchar(255) | NO | | NULL | |
+----------------+--------------+------+-----+---------+-------+ +----------------+--------------+------+-----+---------+-------+
21 rows in set (0.00 sec) 21 rows in set (0,00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS countries (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS countries ("
"CtyCod INT NOT NULL," "CtyCod INT NOT NULL,"
"Alpha2 CHAR(2) NOT NULL," "Alpha2 CHAR(2) NOT NULL,"
"MapAttribution TEXT NOT NULL," "MapAttribution TEXT NOT NULL," // Img_MAX_BYTES_ATTRIBUTION
"Name_ca VARCHAR(255) NOT NULL," "Name_ca VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_de VARCHAR(255) NOT NULL," "Name_de VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_en VARCHAR(255) NOT NULL," "Name_en VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_es VARCHAR(255) NOT NULL," "Name_es VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_fr VARCHAR(255) NOT NULL," "Name_fr VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_gn VARCHAR(255) NOT NULL," "Name_gn VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_it VARCHAR(255) NOT NULL," "Name_it VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_pl VARCHAR(255) NOT NULL," "Name_pl VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"Name_pt VARCHAR(255) NOT NULL," "Name_pt VARCHAR(767) NOT NULL," // Cty_MAX_BYTES_NAME
"WWW_ca VARCHAR(255) NOT NULL," "WWW_ca VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_de VARCHAR(255) NOT NULL," "WWW_de VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_en VARCHAR(255) NOT NULL," "WWW_en VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_es VARCHAR(255) NOT NULL," "WWW_es VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_fr VARCHAR(255) NOT NULL," "WWW_fr VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_gn VARCHAR(255) NOT NULL," "WWW_gn VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_it VARCHAR(255) NOT NULL," "WWW_it VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_pl VARCHAR(255) NOT NULL," "WWW_pl VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"WWW_pt VARCHAR(255) NOT NULL," "WWW_pt VARCHAR(255) NOT NULL," // Cns_MAX_BYTES_WWW
"UNIQUE INDEX(CtyCod),UNIQUE INDEX(Alpha2)," "UNIQUE INDEX(CtyCod),UNIQUE INDEX(Alpha2),"
"INDEX(Name_ca)," "INDEX(Name_ca),"
"INDEX(Name_de)," "INDEX(Name_de),"
"INDEX(Name_en)," "INDEX(Name_en),"
"INDEX(Name_es)," "INDEX(Name_es),"
"INDEX(Name_fr)," "INDEX(Name_fr),"
"INDEX(Name_gn)," "INDEX(Name_gn),"
"INDEX(Name_it)," "INDEX(Name_it),"
"INDEX(Name_pl)," "INDEX(Name_pl),"
"INDEX(Name_pt))"); // ISO 3166-1 country codes "INDEX(Name_pt))"); // ISO 3166-1 country codes
/***** Table courses *****/ /***** Table courses *****/
/* /*