Version 15.14.2

This commit is contained in:
Antonio Cañas Vargas 2015-10-16 14:20:03 +02:00
parent 8bc2041f38
commit 290da880fd
6 changed files with 32 additions and 35 deletions

View File

@ -174,7 +174,7 @@ void Ctr_SeeCtrWithPendingDegs (void)
"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">", "<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">",
BgColor,Ctr.WWW,Ctr.FullName); BgColor,Ctr.WWW,Ctr.FullName);
Log_DrawLogo (Sco_SCOPE_CTR,Ctr.CtrCod,Ctr.ShortName, Log_DrawLogo (Sco_SCOPE_CTR,Ctr.CtrCod,Ctr.ShortName,
16,"CENTER_TOP",true); 16,"CENTER_MIDDLE",true);
fprintf (Gbl.F.Out,"</a>" fprintf (Gbl.F.Out,"</a>"
"</td>"); "</td>");
@ -610,12 +610,12 @@ static void Ctr_ListOneCentreForSeeing (struct Centre *Ctr,unsigned NumCtr)
NumCtr); NumCtr);
/***** Centre logo *****/ /***** Centre logo *****/
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP %s\">" fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE %s\">"
"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">", "<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">",
TxtClass,BgColor, TxtClass,BgColor,
Ctr->WWW,Ctr->FullName); Ctr->WWW,Ctr->FullName);
Log_DrawLogo (Sco_SCOPE_CTR,Ctr->CtrCod,Ctr->ShortName, Log_DrawLogo (Sco_SCOPE_CTR,Ctr->CtrCod,Ctr->ShortName,
16,"CENTER_TOP",true); 16,"CENTER_MIDDLE",true);
fprintf (Gbl.F.Out,"</a>" fprintf (Gbl.F.Out,"</a>"
"</td>"); "</td>");

View File

@ -107,12 +107,14 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.14 (2015/10/15)" #define Log_PLATFORM_VERSION "SWAD 15.14.2 (2015/10/16)"
// 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.14: Oct 15, 2015 Table log (historical log) renamed as log_full. (? lines) Version 15.14.2: Oct 16, 2015 Minor changes in layout. (186166 lines)
Version 15.14.1: Oct 16, 2015 Fixed minor bug in edition of degrees. (186170 lines)
Version 15.14: Oct 15, 2015 Table log (historical log) renamed as log_full. (186169 lines)
1 change necessary in database: 1 change necessary in database:
RENAME TABLE log TO log_full; RENAME TABLE log TO log_full;

View File

@ -1138,35 +1138,30 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty)
/***************************** Get country name ******************************/ /***************************** Get country name ******************************/
/*****************************************************************************/ /*****************************************************************************/
void Cty_GetCountryName (long CtyCod,char *CtyName) void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME+1])
{ {
extern const char *Txt_Another_country;
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES]; extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
char Query[512]; char Query[128];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
unsigned long NumRows;
/***** Default value: empty name *****/
CtyName[0] = '\0';
/***** Check if country code is correct *****/ /***** Check if country code is correct *****/
if (CtyCod <= 0) if (CtyCod > 0)
strcpy (CtyName,Txt_Another_country);
else
{ {
/***** Get name of the country from database *****/ /***** Get name of the country from database *****/
sprintf (Query,"SELECT Name_%s" sprintf (Query,"SELECT Name_%s FROM countries WHERE CtyCod='%03ld'",
" FROM countries"
" WHERE CtyCod='%03ld'",
Txt_STR_LANG_ID[Gbl.Prefs.Language],CtyCod); Txt_STR_LANG_ID[Gbl.Prefs.Language],CtyCod);
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get the name of a country"); if (DB_QuerySELECT (Query,&mysql_res,"can not get the name of a country")) // Country found...
/***** Count number of rows in result *****/
if (NumRows) // Country found...
{ {
/* Get row */ /* Get row */
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
/* Get the name of the country */ /* Get the name of the country */
strcpy (CtyName,row[0]); strncpy (CtyName,row[0],Cty_MAX_BYTES_COUNTRY_NAME);
CtyName[Cty_MAX_BYTES_COUNTRY_NAME] = '\0';
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
@ -1325,7 +1320,7 @@ static void Cty_ListCountriesForEdition (void)
Par_PutHiddenParamUnsigned ("Lan",(unsigned) Lan); Par_PutHiddenParamUnsigned ("Lan",(unsigned) Lan);
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Name\" size=\"15\" maxlength=\"%u\" value=\"%s\"" fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Name\" size=\"15\" maxlength=\"%u\" value=\"%s\""
" onchange=\"javascript:document.getElementById('%s').submit();\" />", " onchange=\"javascript:document.getElementById('%s').submit();\" />",
Cty_MAX_LENGTH_COUNTRY_NAME, Cty_MAX_BYTES_COUNTRY_NAME,
Cty->Name[Lan],Gbl.FormId); Cty->Name[Lan],Gbl.FormId);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -1430,7 +1425,7 @@ void Cty_RenameCountry (void)
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]; char Query[512];
struct Country *Cty; struct Country *Cty;
char NewCtyName[Cty_MAX_LENGTH_COUNTRY_NAME+1]; char NewCtyName[Cty_MAX_BYTES_COUNTRY_NAME+1];
Txt_Language_t Language; Txt_Language_t Language;
Cty = &Gbl.Ctys.EditingCty; Cty = &Gbl.Ctys.EditingCty;
@ -1444,7 +1439,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,Cty_MAX_LENGTH_COUNTRY_NAME); Par_GetParToText ("Name",NewCtyName,Cty_MAX_BYTES_COUNTRY_NAME);
/***** Get from the database the data of the country *****/ /***** Get from the database the data of the country *****/
Cty_GetDataOfCountryByCod (Cty); Cty_GetDataOfCountryByCod (Cty);
@ -1562,7 +1557,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,Cty_MAX_LENGTH_COUNTRY_NAME); Par_GetParToText ("WWW",NewWWW,Cty_MAX_BYTES_COUNTRY_NAME);
/***** Get from the database the data of the country *****/ /***** Get from the database the data of the country *****/
Cty_GetDataOfCountryByCod (Cty); Cty_GetDataOfCountryByCod (Cty);
@ -1681,7 +1676,7 @@ static void Cty_PutFormToCreateCountry (void)
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"Name_%s\" size=\"15\" maxlength=\"%u\" value=\"%s\" />" "<input type=\"text\" name=\"Name_%s\" size=\"15\" maxlength=\"%u\" value=\"%s\" />"
"</td>", "</td>",
Txt_STR_LANG_ID[Lan],Cty_MAX_LENGTH_COUNTRY_NAME,Cty->Name[Lan]); Txt_STR_LANG_ID[Lan],Cty_MAX_BYTES_COUNTRY_NAME,Cty->Name[Lan]);
/* WWW */ /* WWW */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1809,7 +1804,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],Cty_MAX_LENGTH_COUNTRY_NAME); Par_GetParToText (ParamName,Cty->Name[Lan],Cty_MAX_BYTES_COUNTRY_NAME);
if (Cty->Name[Lan][0]) // If there's a country name if (Cty->Name[Lan][0]) // If there's a country name
{ {
@ -1855,10 +1850,10 @@ static void Cty_CreateCountry (struct Country *Cty)
Txt_Language_t Lan; Txt_Language_t Lan;
char StrField[32]; char StrField[32];
char SubQueryNam1[Txt_NUM_LANGUAGES*32]; char SubQueryNam1[Txt_NUM_LANGUAGES*32];
char SubQueryNam2[Txt_NUM_LANGUAGES*Cty_MAX_LENGTH_COUNTRY_NAME]; char SubQueryNam2[Txt_NUM_LANGUAGES*Cty_MAX_BYTES_COUNTRY_NAME];
char SubQueryWWW1[Txt_NUM_LANGUAGES*32]; char SubQueryWWW1[Txt_NUM_LANGUAGES*32];
char SubQueryWWW2[Txt_NUM_LANGUAGES*Cty_MAX_LENGTH_COUNTRY_WWW]; char SubQueryWWW2[Txt_NUM_LANGUAGES*Cty_MAX_LENGTH_COUNTRY_WWW];
char Query[1024+Txt_NUM_LANGUAGES*(32+Cty_MAX_LENGTH_COUNTRY_NAME+32+Cty_MAX_LENGTH_COUNTRY_WWW)]; char Query[1024+Txt_NUM_LANGUAGES*(32+Cty_MAX_BYTES_COUNTRY_NAME+32+Cty_MAX_LENGTH_COUNTRY_WWW)];
/***** Create a new country *****/ /***** Create a new country *****/
SubQueryNam1[0] = '\0'; SubQueryNam1[0] = '\0';

View File

@ -37,7 +37,7 @@
/************************** Public types and constants ***********************/ /************************** Public types and constants ***********************/
/*****************************************************************************/ /*****************************************************************************/
#define Cty_MAX_LENGTH_COUNTRY_NAME 255 #define Cty_MAX_BYTES_COUNTRY_NAME 255
#define Cty_MAX_LENGTH_COUNTRY_WWW 255 #define Cty_MAX_LENGTH_COUNTRY_WWW 255
#define Cty_MAX_LENGTH_MAP_ATTRIBUTION (4*1024) #define Cty_MAX_LENGTH_MAP_ATTRIBUTION (4*1024)
@ -45,7 +45,7 @@ struct Country
{ {
long CtyCod; long CtyCod;
char Alpha2[2+1]; char Alpha2[2+1];
char Name[Txt_NUM_LANGUAGES][Cty_MAX_LENGTH_COUNTRY_NAME+1]; char Name[Txt_NUM_LANGUAGES][Cty_MAX_BYTES_COUNTRY_NAME+1];
char WWW[Txt_NUM_LANGUAGES][Cty_MAX_LENGTH_COUNTRY_WWW+1]; char WWW[Txt_NUM_LANGUAGES][Cty_MAX_LENGTH_COUNTRY_WWW+1];
unsigned NumUsrs; unsigned NumUsrs;
unsigned NumStds; unsigned NumStds;
@ -88,7 +88,7 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData);
void Cty_FreeListCountries (void); void Cty_FreeListCountries (void);
void Cty_WriteSelectorOfCountry (void); void Cty_WriteSelectorOfCountry (void);
bool Cty_GetDataOfCountryByCod (struct Country *Cty); bool Cty_GetDataOfCountryByCod (struct Country *Cty);
void Cty_GetCountryName (long CtyCod,char *CtyName); void Cty_GetCountryName (long CtyCod,char CtyName[Cty_MAX_BYTES_COUNTRY_NAME+1]);
void Cty_PutParamCtyCod (long CtyCod); void Cty_PutParamCtyCod (long CtyCod);
long Cty_GetParamOtherCtyCod (void); long Cty_GetParamOtherCtyCod (void);
void Cty_RemoveCountry (void); void Cty_RemoveCountry (void);

View File

@ -225,7 +225,7 @@ void Deg_SeeDegWithPendingCrss (void)
" target=\"_blank\">", " target=\"_blank\">",
BgColor,Deg.WWW,Deg.FullName); BgColor,Deg.WWW,Deg.FullName);
Log_DrawLogo (Sco_SCOPE_DEG,Deg.DegCod,Deg.ShortName, Log_DrawLogo (Sco_SCOPE_DEG,Deg.DegCod,Deg.ShortName,
16,"CENTER_TOP",true); 16,"CENTER_MIDDLE",true);
fprintf (Gbl.F.Out,"</a>" fprintf (Gbl.F.Out,"</a>"
"</td>"); "</td>");
@ -1283,7 +1283,7 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg)
BgColor, BgColor,
Deg->WWW,Deg->FullName); Deg->WWW,Deg->FullName);
Log_DrawLogo (Sco_SCOPE_DEG,Deg->DegCod,Deg->ShortName, Log_DrawLogo (Sco_SCOPE_DEG,Deg->DegCod,Deg->ShortName,
16,"CENTER_TOP",true); 16,"CENTER_MIDDLE",true);
fprintf (Gbl.F.Out,"</a>" fprintf (Gbl.F.Out,"</a>"
"</td>"); "</td>");
@ -1504,7 +1504,7 @@ static void Deg_ListDegreesForEdition (void)
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/* Degree first year */ /* Degree first year */
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\""); fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">");
if (ICanEdit) if (ICanEdit)
{ {
Act_FormStart (ActChgDegFstYea); Act_FormStart (ActChgDegFstYea);

View File

@ -2058,7 +2058,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Rol_Role_t Role; Rol_Role_t Role;
Rol_Role_t DefaultRoleInCurrentCrs; Rol_Role_t DefaultRoleInCurrentCrs;
bool ShowPhoto; bool ShowPhoto;
char CtyName[Cty_MAX_LENGTH_COUNTRY_NAME+1]; char CtyName[Cty_MAX_BYTES_COUNTRY_NAME+1];
unsigned NumCty; unsigned NumCty;
struct Institution Ins; struct Institution Ins;
struct Centre Ctr; struct Centre Ctr;