Version 14.117.7

This commit is contained in:
Antonio Cañas Vargas 2015-07-21 17:24:52 +02:00
parent 4cbed6c862
commit 5f44069f23
10 changed files with 100 additions and 39 deletions

View File

@ -247,10 +247,11 @@ static void Ann_ShowAnnouncement (long AnnCod,const char *Subject,const char *Co
Ann_PutHiddenParamAnnCod (AnnCod); Ann_PutHiddenParamAnnCod (AnnCod);
Act_LinkFormSubmit (Txt_Remove,The_ClassFormul[Gbl.Prefs.Theme]); Act_LinkFormSubmit (Txt_Remove,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\""
" alt=\"%s\" class=\"ICON16x16\" />" " alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
" %s</a>", " %s</a>",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Txt_Remove, Txt_Remove,Txt_Remove,
Txt_Remove); Txt_Remove);
Act_FormEnd (); Act_FormEnd ();
} }
@ -261,10 +262,11 @@ static void Ann_ShowAnnouncement (long AnnCod,const char *Subject,const char *Co
Ann_PutHiddenParamAnnCod (AnnCod); Ann_PutHiddenParamAnnCod (AnnCod);
Act_LinkFormSubmit (Txt_Do_not_show_again,The_ClassFormul[Gbl.Prefs.Theme]); Act_LinkFormSubmit (Txt_Do_not_show_again,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\""
" alt=\"%s\" class=\"ICON16x16\" />" " alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
" %s</a>", " %s</a>",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Txt_Do_not_show_again, Txt_Do_not_show_again,Txt_Do_not_show_again,
Txt_Do_not_show_again); Txt_Do_not_show_again);
Act_FormEnd (); Act_FormEnd ();
} }

View File

@ -406,6 +406,7 @@ static void Asg_WriteAsgAuthor (struct Assignment *Asg)
static void Asg_WriteAssignmentFolder (struct Assignment *Asg) static void Asg_WriteAssignmentFolder (struct Assignment *Asg)
{ {
extern const char *Txt_Upload_file_or_create_folder_in_FOLDER; extern const char *Txt_Upload_file_or_create_folder_in_FOLDER;
extern const char *Txt_Folder;
if (Asg->SendWork == Asg_SEND_WORK) if (Asg->SendWork == Asg_SEND_WORK)
{ {
@ -422,8 +423,8 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg)
sprintf (Gbl.Title,Txt_Upload_file_or_create_folder_in_FOLDER, sprintf (Gbl.Title,Txt_Upload_file_or_create_folder_in_FOLDER,
Asg->Folder); Asg->Folder);
fprintf (Gbl.F.Out,"<input type=\"image\"" fprintf (Gbl.F.Out,"<input type=\"image\""
" src=\"%s/folder-open-plus16x16.gif\" alt=\"%s\"" " src=\"%s/folder-open-plus16x16.gif\""
" title=\"%s\" class=\"ICON16x16\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Gbl.Title, Gbl.Title,
Gbl.Title); Gbl.Title);
@ -431,8 +432,9 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg)
} }
else // I can't send files to this assignment folder else // I can't send files to this assignment folder
fprintf (Gbl.F.Out,"<img src=\"%s/folder-closed16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/folder-closed16x16.gif\""
" alt=\"\" class=\"ICON16x16\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />",
Gbl.Prefs.IconsURL); Gbl.Prefs.IconsURL,
Txt_Folder,Txt_Folder);
/***** Folder name *****/ /***** Folder name *****/
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"

View File

@ -2042,11 +2042,13 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat
"<td class=\"BT%d",Gbl.RowEvenOdd); "<td class=\"BT%d",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
"<img src=\"%s/%s16x16.gif\"" "<img src=\"%s/%s16x16.gif\""
" alt=\"\" title=\"%s\" class=\"ICON16x16\" />" " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
"</td>", "</td>",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Present ? "check" : Present ? "check" :
"check-empty", "check-empty",
Present ? Txt_Present :
Txt_Absent,
Present ? Txt_Present : Present ? Txt_Present :
Txt_Absent); Txt_Absent);
@ -3240,12 +3242,14 @@ static void Att_WriteRowStdSeveralAttEvents (unsigned NumStd,struct UsrData *Usr
fprintf (Gbl.F.Out,"<td class=\"BM%d\">" fprintf (Gbl.F.Out,"<td class=\"BM%d\">"
"<img src=\"%s/%s16x16.gif\"" "<img src=\"%s/%s16x16.gif\""
" alt=\"\" title=\"%s\" class=\"ICON16x16\" />" " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
"</td>", "</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Present ? "check" : Present ? "check" :
"check-empty", "check-empty",
Present ? Txt_Present :
Txt_Absent,
Present ? Txt_Present : Present ? Txt_Present :
Txt_Absent); Txt_Absent);
@ -3392,7 +3396,7 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
"<td class=\"DAT\"" "<td class=\"DAT\""
" style=\"text-align:left; background-color:%s;\">" " style=\"text-align:left; background-color:%s;\">"
"<img src=\"%s/%s16x16.gif\"" "<img src=\"%s/%s16x16.gif\""
" alt=\"\" title=\"%s\" class=\"ICON16x16\" />" " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
" %02u/%02u/%04u %02u:%02u h %s</td>" " %02u/%02u/%04u %02u:%02u h %s</td>"
"</tr>", "</tr>",
BgColor, BgColor,
@ -3404,6 +3408,8 @@ static void Att_ListAttEventsForAStd (unsigned NumStd,struct UsrData *UsrDat)
"check-empty", "check-empty",
Present ? Txt_Present : Present ? Txt_Present :
Txt_Absent, Txt_Absent,
Present ? Txt_Present :
Txt_Absent,
Gbl.AttEvents.Lst[NumAttEvent].DateTimes[Att_START_TIME].Date.Day, Gbl.AttEvents.Lst[NumAttEvent].DateTimes[Att_START_TIME].Date.Day,
Gbl.AttEvents.Lst[NumAttEvent].DateTimes[Att_START_TIME].Date.Month, Gbl.AttEvents.Lst[NumAttEvent].DateTimes[Att_START_TIME].Date.Month,
Gbl.AttEvents.Lst[NumAttEvent].DateTimes[Att_START_TIME].Date.Year, Gbl.AttEvents.Lst[NumAttEvent].DateTimes[Att_START_TIME].Date.Year,

View File

@ -100,7 +100,8 @@ void Ban_SeeBanners (void)
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT\" style=\"text-align:left;\">" "<td class=\"DAT\" style=\"text-align:left;\">"
"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">" "<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s/%s\" alt=\"%s\"" "<img src=\"%s/%s/%s\""
" alt=\"%s\" title=\"%s\""
" style=\"width:120px; height:40px;\"/>" " style=\"width:120px; height:40px;\"/>"
"</a>" "</a>"
"</td>" "</td>"
@ -109,7 +110,8 @@ void Ban_SeeBanners (void)
Gbl.Banners.Lst[NumBan].FullName, Gbl.Banners.Lst[NumBan].FullName,
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_BANNER, Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_BANNER,
Gbl.Banners.Lst[NumBan].Img, Gbl.Banners.Lst[NumBan].Img,
Gbl.Banners.Lst[NumBan].ShortName); Gbl.Banners.Lst[NumBan].ShortName,
Gbl.Banners.Lst[NumBan].FullName);
/***** Table end *****/ /***** Table end *****/
Lay_EndRoundFrameTable (); Lay_EndRoundFrameTable ();
@ -380,7 +382,8 @@ static void Ban_ListBannersForEdition (void)
" vertical-align:middle;\">"); " vertical-align:middle;\">");
Act_FormStart (ActChgBanImg); Act_FormStart (ActChgBanImg);
Ban_PutParamBanCod (Ban->BanCod); Ban_PutParamBanCod (Ban->BanCod);
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Img\" size=\"12\" maxlength=\"%u\" value=\"%s\"" fprintf (Gbl.F.Out,"<input type=\"text\" name=\"Img\""
" size=\"12\" maxlength=\"%u\" value=\"%s\""
" onchange=\"javascript:document.getElementById('%s').submit();\" />", " onchange=\"javascript:document.getElementById('%s').submit();\" />",
Ban_MAX_LENGTH_IMAGE,Ban->Img,Gbl.FormId); Ban_MAX_LENGTH_IMAGE,Ban->Img,Gbl.FormId);
Act_FormEnd (); Act_FormEnd ();
@ -763,7 +766,8 @@ static void Ban_PutFormToCreateBanner (void)
/***** Banner image *****/ /***** Banner image *****/
fprintf (Gbl.F.Out,"<td style=\"text-align:center; vertical-align:middle;\">" fprintf (Gbl.F.Out,"<td style=\"text-align:center; vertical-align:middle;\">"
"<input type=\"text\" name=\"Img\" size=\"12\" maxlength=\"%u\" value=\"%s\" />" "<input type=\"text\" name=\"Img\""
" size=\"12\" maxlength=\"%u\" value=\"%s\" />"
"</td>", "</td>",
Ban_MAX_LENGTH_IMAGE,Ban->Img); Ban_MAX_LENGTH_IMAGE,Ban->Img);
@ -917,14 +921,16 @@ void Ban_WriteMenuWithBanners (void)
Par_PutHiddenParamString ("URL",Gbl.Banners.Lst[NumBan].WWW); Par_PutHiddenParamString ("URL",Gbl.Banners.Lst[NumBan].WWW);
fprintf (Gbl.F.Out,"<a href=\"javascript:document.getElementById('%s').submit();\"" fprintf (Gbl.F.Out,"<a href=\"javascript:document.getElementById('%s').submit();\""
" title=\"%s\">" " title=\"%s\">"
"<img src=\"%s/%s/%s\" alt=\"%s\"" "<img src=\"%s/%s/%s\""
" alt=\"%s\" title=\"%s\""
" style=\"width:120px; height:40px;\" />" " style=\"width:120px; height:40px;\" />"
"</a>", "</a>",
Gbl.FormId, Gbl.FormId,
Gbl.Banners.Lst[NumBan].FullName, Gbl.Banners.Lst[NumBan].FullName,
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_BANNER, Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_BANNER,
Gbl.Banners.Lst[NumBan].Img, Gbl.Banners.Lst[NumBan].Img,
Gbl.Banners.Lst[NumBan].ShortName); Gbl.Banners.Lst[NumBan].ShortName,
Gbl.Banners.Lst[NumBan].FullName);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -317,11 +317,15 @@ static void Ctr_Configuration (bool PrintView)
if (PutLink) if (PutLink)
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT_N\">", fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT_N\">",
Gbl.CurrentCtr.Ctr.WWW); Gbl.CurrentCtr.Ctr.WWW);
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%02u/%u/%u.jpg\" class=\"%s\" />", fprintf (Gbl.F.Out,"<img src=\"%s/%s/%02u/%u/%u.jpg\""
" alt=\"%s\" title=\"%s\""
" class=\"%s\" />",
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_CTR, Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_CTR,
(unsigned) (Gbl.CurrentCtr.Ctr.CtrCod % 100), (unsigned) (Gbl.CurrentCtr.Ctr.CtrCod % 100),
(unsigned) Gbl.CurrentCtr.Ctr.CtrCod, (unsigned) Gbl.CurrentCtr.Ctr.CtrCod,
(unsigned) Gbl.CurrentCtr.Ctr.CtrCod, (unsigned) Gbl.CurrentCtr.Ctr.CtrCod,
Gbl.CurrentCtr.Ctr.ShortName,
Gbl.CurrentCtr.Ctr.FullName,
PrintView ? "CENTRE_PHOTO_PRINT" : PrintView ? "CENTRE_PHOTO_PRINT" :
"CENTRE_PHOTO_SHOW"); "CENTRE_PHOTO_SHOW");
if (PutLink) if (PutLink)
@ -1134,6 +1138,7 @@ void Ctr_WriteSelectorOfCentre (Act_Action_t NextAction)
static void Ctr_ListCentresForEdition (void) static void Ctr_ListCentresForEdition (void)
{ {
extern const char *Txt_Centres_of_INSTITUTION_X; extern const char *Txt_Centres_of_INSTITUTION_X;
extern const char *Txt_Removal_not_allowed;
extern const char *Txt_Remove_centre; extern const char *Txt_Remove_centre;
extern const char *Txt_Another_place; extern const char *Txt_Another_place;
extern const char *Txt_CENTRE_STATUS[Ctr_NUM_STATUS_TXT]; extern const char *Txt_CENTRE_STATUS[Ctr_NUM_STATUS_TXT];
@ -1175,8 +1180,10 @@ static void Ctr_ListCentresForEdition (void)
if (Ctr->NumDegs || Ctr->NumTchs || // Centre has degrees or teachers ==> deletion forbidden if (Ctr->NumDegs || Ctr->NumTchs || // Centre has degrees or teachers ==> deletion forbidden
!ICanEdit) !ICanEdit)
fprintf (Gbl.F.Out,"<img src=\"%s/deloff16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/deloff16x16.gif\""
" alt=\"\" class=\"ICON16x16\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />",
Gbl.Prefs.IconsURL); Gbl.Prefs.IconsURL,
Txt_Removal_not_allowed,
Txt_Removal_not_allowed);
else else
{ {
Act_FormStart (ActRemCtr); Act_FormStart (ActRemCtr);
@ -1967,6 +1974,7 @@ static void Ctr_PutFormToCreateCentre (void)
{ {
extern const char *The_ClassFormul[The_NUM_THEMES]; extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_New_centre_of_INSTITUTION_X; extern const char *Txt_New_centre_of_INSTITUTION_X;
extern const char *Txt_Removal_not_allowed;
extern const char *Txt_Another_place; extern const char *Txt_Another_place;
extern const char *Txt_CENTRE_STATUS[Ctr_NUM_STATUS_TXT]; extern const char *Txt_CENTRE_STATUS[Ctr_NUM_STATUS_TXT];
extern const char *Txt_Create_centre; extern const char *Txt_Create_centre;
@ -1995,9 +2003,11 @@ static void Ctr_PutFormToCreateCentre (void)
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">" "<td class=\"BM\">"
"<img src=\"%s/deloff16x16.gif\"" "<img src=\"%s/deloff16x16.gif\""
" alt=\"\" class=\"ICON16x16\" />" " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
"</td>", "</td>",
Gbl.Prefs.IconsURL); Gbl.Prefs.IconsURL,
Txt_Removal_not_allowed,
Txt_Removal_not_allowed);
/***** Centre code *****/ /***** Centre code *****/
fprintf (Gbl.F.Out,"<td></td>"); fprintf (Gbl.F.Out,"<td></td>");

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.117.5 (2015/07/21)" #define Log_PLATFORM_VERSION "SWAD 14.117.7 (2015/07/21)"
// 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 14.117.7: Jul 21, 2015 Checking "alt" and "title" in all images. (185008 lines)
Version 14.117.6: Jul 21, 2015 Checking "alt" and "title" in all images. Version 14.117.6: Jul 21, 2015 Checking "alt" and "title" in all images.
Changes in most frequent actions. (184948 lines) Changes in most frequent actions. (184948 lines)
Version 14.117.5: Jul 21, 2015 Fixed HTML bug in account form. (184930 lines) Version 14.117.5: Jul 21, 2015 Fixed HTML bug in account form. (184930 lines)

View File

@ -129,10 +129,13 @@ void Cht_ShowListOfAvailableChatRooms (void)
/***** Title of top level *****/ /***** Title of top level *****/
fprintf (Gbl.F.Out,"<li style=\"height:20px;\">" fprintf (Gbl.F.Out,"<li style=\"height:20px;\">"
"<img src=\"%s/chat16x16.gif\"" "<img src=\"%s/chat16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" style=\"vertical-align:middle;\" />" " class=\"ICON16x16\" style=\"vertical-align:middle;\" />"
" %s" " %s"
"</li>", "</li>",
Gbl.Prefs.IconsURL,Txt_Chat_rooms); Gbl.Prefs.IconsURL,
Txt_Chat_rooms,Txt_Chat_rooms,
Txt_Chat_rooms);
/***** Link to chat available for all the users *****/ /***** Link to chat available for all the users *****/
IsLastItemInLevel[1] = (Gbl.Usrs.Me.LoggedRole != Rol_STUDENT && IsLastItemInLevel[1] = (Gbl.Usrs.Me.LoggedRole != Rol_STUDENT &&
@ -141,8 +144,10 @@ void Cht_ShowListOfAvailableChatRooms (void)
sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_SEX_PLURAL_abc[Usr_SEX_ALL]); sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_SEX_PLURAL_abc[Usr_SEX_ALL]);
Cht_WriteLinkToChat1 ("GBL_USR",Txt_SEX_PLURAL_Abc[Usr_SEX_ALL],ThisRoomFullName,1,IsLastItemInLevel); Cht_WriteLinkToChat1 ("GBL_USR",Txt_SEX_PLURAL_Abc[Usr_SEX_ALL],ThisRoomFullName,1,IsLastItemInLevel);
fprintf (Gbl.F.Out,"<img src=\"%s/chat16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/chat16x16.gif\""
" class=\"ICON16x16\" style=\"vertical-align:middle;\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\""
Gbl.Prefs.IconsURL); " style=\"vertical-align:middle;\" />",
Gbl.Prefs.IconsURL,
ThisRoomFullName,ThisRoomFullName);
Cht_WriteLinkToChat2 ("GBL_USR",ThisRoomFullName); Cht_WriteLinkToChat2 ("GBL_USR",ThisRoomFullName);
@ -153,16 +158,20 @@ void Cht_ShowListOfAvailableChatRooms (void)
sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_STUDENT][Usr_SEX_ALL]); sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_STUDENT][Usr_SEX_ALL]);
Cht_WriteLinkToChat1 ("GBL_STD",Txt_Students_ABBREVIATION,ThisRoomFullName,1,IsLastItemInLevel); Cht_WriteLinkToChat1 ("GBL_STD",Txt_Students_ABBREVIATION,ThisRoomFullName,1,IsLastItemInLevel);
fprintf (Gbl.F.Out,"<img src=\"%s/chat16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/chat16x16.gif\""
" class=\"ICON16x16\" style=\"vertical-align:middle;\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\""
Gbl.Prefs.IconsURL); " style=\"vertical-align:middle;\" />",
Gbl.Prefs.IconsURL,
ThisRoomFullName,ThisRoomFullName);
Cht_WriteLinkToChat2 ("GBL_STD",ThisRoomFullName); Cht_WriteLinkToChat2 ("GBL_STD",ThisRoomFullName);
break; break;
case Rol_TEACHER: case Rol_TEACHER:
sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_TEACHER][Usr_SEX_ALL]); sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_TEACHER][Usr_SEX_ALL]);
Cht_WriteLinkToChat1 ("GBL_TCH",Txt_Teachers_ABBREVIATION,ThisRoomFullName,1,IsLastItemInLevel); Cht_WriteLinkToChat1 ("GBL_TCH",Txt_Teachers_ABBREVIATION,ThisRoomFullName,1,IsLastItemInLevel);
fprintf (Gbl.F.Out,"<img src=\"%s/chat16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/chat16x16.gif\""
" class=\"ICON16x16\" style=\"vertical-align:middle;\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\""
Gbl.Prefs.IconsURL); " style=\"vertical-align:middle;\" />",
Gbl.Prefs.IconsURL,
ThisRoomFullName,ThisRoomFullName);
Cht_WriteLinkToChat2 ("GBL_TCH",ThisRoomFullName); Cht_WriteLinkToChat2 ("GBL_TCH",ThisRoomFullName);
break; break;
default: default:
@ -210,8 +219,10 @@ void Cht_ShowListOfAvailableChatRooms (void)
sprintf (ThisRoomFullName,"%s %s",Txt_Course,Crs.ShortName); sprintf (ThisRoomFullName,"%s %s",Txt_Course,Crs.ShortName);
Cht_WriteLinkToChat1 (ThisRoomCode,ThisRoomShortName,ThisRoomFullName,2,IsLastItemInLevel); Cht_WriteLinkToChat1 (ThisRoomCode,ThisRoomShortName,ThisRoomFullName,2,IsLastItemInLevel);
fprintf (Gbl.F.Out,"<img src=\"%s/dot16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/dot16x16.gif\""
" class=\"ICON16x16\" style=\"vertical-align:middle;\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\""
Gbl.Prefs.IconsURL); " style=\"vertical-align:middle;\" />",
Gbl.Prefs.IconsURL,
ThisRoomFullName,ThisRoomFullName);
Cht_WriteLinkToChat2 (ThisRoomCode,ThisRoomFullName); Cht_WriteLinkToChat2 (ThisRoomCode,ThisRoomFullName);
} }
} }

View File

@ -649,10 +649,10 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColum
Sco_PutParamScope (Sco_SCOPE_CRS); Sco_PutParamScope (Sco_SCOPE_CRS);
Act_LinkFormSubmitId (Txt_Connected_users,The_ClassConnected[Gbl.Prefs.Theme],Gbl.FormId); Act_LinkFormSubmitId (Txt_Connected_users,The_ClassConnected[Gbl.Prefs.Theme],Gbl.FormId);
fprintf (Gbl.F.Out,"<img src=\"%s/ellipsis32x32.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/ellipsis32x32.gif\""
" alt=\"%s\" class=\"ICON32x32\" />" " alt=\"%s\" title=\"%s\" class=\"ICON32x32\" />"
"</a>", "</a>",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Txt_Connected_users); Txt_Connected_users,Txt_Connected_users);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -728,7 +728,8 @@ bool Cty_CheckIfCountryMapExists (struct Country *Cty)
void Cty_DrawCountryMap (struct Country *Cty,const char *Class) void Cty_DrawCountryMap (struct Country *Cty,const char *Class)
{ {
/***** Draw country map *****/ /***** Draw country map *****/
fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s/%s.png\" alt=\"%s\" title=\"%s\"" fprintf (Gbl.F.Out,"<img src=\"%s/%s/%s/%s.png\""
" alt=\"%s\" title=\"%s\""
" class=\"%s\" />", " class=\"%s\" />",
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_COUNTRIES, Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_COUNTRIES,
Cty->Alpha2, Cty->Alpha2,
@ -1272,9 +1273,9 @@ void Cty_FreeListCountries (void)
static void Cty_ListCountriesForEdition (void) static void Cty_ListCountriesForEdition (void)
{ {
extern const char *Txt_Countries; extern const char *Txt_Countries;
extern const char *Txt_STR_LANG_NAME[Txt_NUM_LANGUAGES]; extern const char *Txt_Removal_not_allowed;
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
extern const char *Txt_Remove_country; extern const char *Txt_Remove_country;
extern const char *Txt_STR_LANG_NAME[Txt_NUM_LANGUAGES];
unsigned NumCty; unsigned NumCty;
struct Country *Cty; struct Country *Cty;
Txt_Language_t Lan; Txt_Language_t Lan;
@ -1298,8 +1299,9 @@ static void Cty_ListCountriesForEdition (void)
if (Cty->NumInss || if (Cty->NumInss ||
Cty->NumUsrs) // Country has institutions or users ==> deletion forbidden Cty->NumUsrs) // Country has institutions or users ==> deletion forbidden
fprintf (Gbl.F.Out,"<img src=\"%s/deloff16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/deloff16x16.gif\""
" alt=\"\" class=\"ICON16x16\" />", " alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />",
Gbl.Prefs.IconsURL); Gbl.Prefs.IconsURL,
Txt_Removal_not_allowed,Txt_Removal_not_allowed);
else else
{ {
Act_FormStart (ActRemCty); Act_FormStart (ActRemCty);

View File

@ -28438,6 +28438,27 @@ const char *Txt_Reject =
"Rejeitar"; "Rejeitar";
#endif #endif
const char *Txt_Removal_not_allowed =
#if L==0
"Eliminaci&oacute; no perm&egrave;s";
#elif L==1
"Entfernen nicht erlaubt";
#elif L==2
"Removal not allowed";
#elif L==3
"Eliminaci&oacute;n no permitida";
#elif L==4
"Suppression pas autoris&eacute;";
#elif L==5
"Eliminaci&oacute;n no permitida"; // Okoteve traducción
#elif L==6
"Rimozione non ammessi";
#elif L==7
"Usuwanie nie wolno";
#elif L==8
"Remo&ccedil;&atilde;o n&atilde;o permitida";
#endif
const char *Txt_Remove = const char *Txt_Remove =
#if L==0 #if L==0
"Eliminar"; "Eliminar";