Version 14.117.14

This commit is contained in:
Antonio Cañas Vargas 2015-07-22 13:32:56 +02:00
parent 51fcf05c71
commit 9d53b736f9
6 changed files with 74 additions and 23 deletions

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.117.13 (2015/07/22)"
#define Log_PLATFORM_VERSION "SWAD 14.117.14 (2015/07/22)"
// 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
/*
Version 14.117.14:Jul 22, 2015 Checking "alt" and "title" in all images. (185203 lines)
Version 14.117.13:Jul 22, 2015 Checking "alt" and "title" in all images.
Removed unused function about mail domains. (185153 lines)
Version 14.117.12:Jul 22, 2015 Checking "alt" and "title" in all images. (185213 lines)

View File

@ -202,11 +202,13 @@ static void Net_ShowAWebOrSocialNet (const char *URL,
" style=\"display:inline;\">"
"<a href=\"%s\" target=\"_blank\" title=\"%s\">"
"<img src=\"%s/%s16x16.gif\""
" style=\"width:16px;height:16px;margin:0 1px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px; margin:0 1px;\" />"
"</a>"
"</div>",
URL,Title,
Gbl.Prefs.IconsURL,Icon,Title);
Gbl.Prefs.IconsURL,Icon,
Title,Title);
}
/*****************************************************************************/
@ -259,14 +261,16 @@ void Net_ShowFormMyWebsAndSocialNets (void)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"text-align:left;\">"
"<img src=\"%s/%s16x16.gif\""
" style=\"width:16px;height:16px;margin-right:10px;vertical-align:middle;\""
" alt=\"\" title=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" margin-right:10px; vertical-align:middle;\" />"
"%s:</td>"
"<td style=\"width:%upx; text-align:left;\">",
ClassForm,
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksDB[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL],
Net_TitleWebsAndSocialNetworks[NumURL],
Net_COL2_WIDTH);
Act_FormStart (ActChgMyNet);
Par_PutHiddenParamUnsigned ("Web",(unsigned) NumURL);
@ -475,8 +479,9 @@ void Net_ShowWebAndSocialNetworksStats (void)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT\" style=\"text-align:left;\">"
"<img src=\"%s/%s16x16.gif\""
" style=\"width:16px;height:16px;margin:0 2px;vertical-align:middle;\""
" alt=\"\" title=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" margin:0 2px; vertical-align:middle;\" />"
"%s</td>"
"<td class=\"DAT\" style=\"text-align:right;\">"
"%u"
@ -488,6 +493,7 @@ void Net_ShowWebAndSocialNetworksStats (void)
Gbl.Prefs.IconsURL,Net_WebsAndSocialNetworksDB[Web],
Net_TitleWebsAndSocialNetworks[Web],
Net_TitleWebsAndSocialNetworks[Web],
Net_TitleWebsAndSocialNetworks[Web],
NumUsrs,
NumUsrsTotalInPlatform ? 100.0 * (float) NumUsrs / (float) NumUsrsTotalInPlatform :
0.0);

View File

@ -404,7 +404,8 @@ void Not_ShowNotices (Not_Listing_t TypeNoticesListing)
RSS_WriteRSSLink (Gbl.F.Out,Gbl.CurrentCrs.Crs.CrsCod);
fprintf (Gbl.F.Out,"\" target=\"_blank\">"
"<img src=\"%s/rss16x16.gif\""
" alt=\"RSS\" title=\"RSS\" class=\"ICON16x16\" />"
" alt=\"RSS\" title=\"RSS\""
" class=\"ICON16x16\" />"
"</a>"
"</div>",
Gbl.Prefs.IconsURL);
@ -520,19 +521,22 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
case Not_ACTIVE_NOTICE:
fprintf (Gbl.F.Out,"<span title=\"%s\">"
"<img src=\"%s/visible_off16x16.gif\""
" alt=\"%s\" class=\"ICON16x16\" />"
" alt=\"%s\" title=\"%s\" class=\"ICON16x16\" />"
"</span>",
Txt_NOTICE_Active_SINGULAR,
Gbl.Prefs.IconsURL,
Txt_NOTICE_Active_SINGULAR,
Txt_NOTICE_Active_SINGULAR);
break;
case Not_OBSOLETE_NOTICE:
fprintf (Gbl.F.Out,"<span title=\"%s\">"
"<img src=\"%s/hidden_off16x16.gif\""
" alt=\"%s\" class=\"ICON16x16\" />"
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</span>",
Txt_NOTICE_Obsolete_SINGULAR,
Gbl.Prefs.IconsURL,
Txt_NOTICE_Obsolete_SINGULAR,
Txt_NOTICE_Obsolete_SINGULAR);
break;
}
@ -568,9 +572,11 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
Not_PutHiddenParamNotCod (NotCod);
Act_LinkFormSubmit (Txt_See_full_notice,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/ellipsis32x32.gif\""
" alt=\"%s\" class=\"ICON32x32\" />"
" alt=\"%s\" title=\"%s\""
" class=\"ICON32x32\" />"
"</a>",
Gbl.Prefs.IconsURL,
Txt_See_full_notice,
Txt_See_full_notice);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</div>");
@ -597,11 +603,12 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
Not_PutHiddenParamNotCod (NotCod);
Act_LinkFormSubmit (Txt_Remove_notice,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\""
" alt=\"%s\" class=\"ICON16x16\" />"
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
" %s</a>",
Gbl.Prefs.IconsURL,
Txt_Remove_notice,
Txt_Remove);
Txt_Remove,Txt_Remove_notice);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</div>");

View File

@ -441,10 +441,12 @@ void Ntf_ShowMyNotifications (void)
Act_FormEnd ();
}
else
fprintf (Gbl.F.Out,"<img src=\"%s/%s16x16.gif\" alt=\"%s\""
fprintf (Gbl.F.Out,"<img src=\"%s/%s16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />",
Gbl.Prefs.IconsURL,
Ntf_Icons[NotifyEvent],
Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent],
Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
fprintf (Gbl.F.Out,"</td>");
@ -1803,6 +1805,7 @@ void Ntf_WriteNumberOfNewNtfs (void)
extern const char *Txt_See_notifications;
extern const char *Txt_notification;
extern const char *Txt_notifications;
extern const char *Txt_Notifications;
extern const char *Txt_NOTIF_new_SINGULAR;
extern const char *Txt_NOTIF_new_PLURAL;
unsigned NumUnseenNtfs;
@ -1831,14 +1834,17 @@ void Ntf_WriteNumberOfNewNtfs (void)
/***** Icon *****/
fprintf (Gbl.F.Out,"<br />"
"<img src=\"%s/bell16x16.png\""
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" vertical-align:middle;\" /> ",
Gbl.Prefs.PathTheme);
Gbl.Prefs.PathTheme,
Txt_Notifications,
Txt_Notifications);
/***** Number of new notifications *****/
if (NumNewNtfs == 1)
fprintf (Gbl.F.Out,"1 %s",
Txt_NOTIF_new_SINGULAR);
Txt_NOTIF_new_SINGULAR);
else
fprintf (Gbl.F.Out,"%u %s",
NumNewNtfs,

View File

@ -422,6 +422,7 @@ void Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *UsrDat)
extern const char *Txt_X_faces_marked_in_red_have_been_detected_;
extern const char *Txt_X_faces_have_been_detected_in_front_position_1_Z_;
extern const char *Txt_X_faces_have_been_detected_in_front_position_Y_Z_;
extern const char *Txt_Faces_detected;
char PathPhotosPriv[PATH_MAX+1];
char PathPhotosPubl[PATH_MAX+1];
char PathPhotosTmpPubl[PATH_MAX+1];
@ -634,9 +635,13 @@ void Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *UsrDat)
sprintf (FileNamePhotoMap,"%s/%s/%s/%s_map.jpg",
Cfg_PATH_SWAD_PUBLIC,Cfg_FOLDER_PHOTO,Cfg_FOLDER_PHOTO_TMP,Gbl.UniqueNameEncrypted);
fprintf (Gbl.F.Out,"<div class=\"TIT\" style=\"text-align:center;\">"
"<img src=\"%s/%s/%s/%s_map.jpg\" usemap=\"#faces_map\" />"
"<img src=\"%s/%s/%s/%s_map.jpg\""
" usemap=\"#faces_map\""
" alt=\"%s\" title=\"%s\" />"
"</div>",
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_PHOTO,Cfg_FOLDER_PHOTO_TMP,Gbl.UniqueNameEncrypted);
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_PHOTO,Cfg_FOLDER_PHOTO_TMP,
Gbl.UniqueNameEncrypted,
Txt_Faces_detected,Txt_Faces_detected);
}
/*****************************************************************************/
@ -726,11 +731,14 @@ static void Pho_UpdatePhoto2 (void)
fprintf (Gbl.F.Out,"<td class=\"DAT\" style=\"width:33%%;"
" text-align:center; vertical-align:top;\">"
"<img src=\"%s/%s/%s/%s_paso%u.jpg\""
" alt=\"%s\" title=\"%s\""
" style=\"width:%upx; height:%upx;\" />"
"<br />%s"
"</td>",
Cfg_HTTPS_URL_SWAD_PUBLIC,Cfg_FOLDER_PHOTO,Cfg_FOLDER_PHOTO_TMP,
Gbl.Usrs.FileNamePhoto,NumPhoto + 1,
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto],
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto],
Pho_PHOTO_REAL_WIDTH,Pho_PHOTO_REAL_HEIGHT,
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto]);
fprintf (Gbl.F.Out,"</tr>"
@ -1021,10 +1029,10 @@ void Pho_ShowUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
fprintf (Gbl.F.Out,"%s",PhotoURL);
else
fprintf (Gbl.F.Out,"%s/usr_bl.jpg",Gbl.Prefs.IconsURL);
fprintf (Gbl.F.Out,"\" class=\"%s\"",ClassPhoto);
if (SpecialFullName[0] &&
Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) // Only in main window
fprintf (Gbl.F.Out," title=\"%s\"",SpecialFullName);
fprintf (Gbl.F.Out,"\" alt=\"%s\" title=\"%s\""
" class=\"%s\"",
SpecialFullName,SpecialFullName,
ClassPhoto);
/***** Image zoom *****/
if (PutZoomCode)
@ -2216,7 +2224,9 @@ static void Pho_ShowDegreeAvgPhotoAndStat (struct Degree *Deg,Pho_AvgPhotoSeeOrP
fprintf (Gbl.F.Out,"%s/usr_bl.jpg\""
" style=\"width:%upx; height:%upx;\"",
Gbl.Prefs.IconsURL,PhotoWidth,PhotoHeight);
fprintf (Gbl.F.Out," alt=\"%s\" />",Deg->FullName);
fprintf (Gbl.F.Out," alt=\"%s\" title=\"%s\" />",
Deg->ShortName,
Deg->FullName);
if (SeeOrPrint == Pho_DEGREES_PRINT)
fprintf (Gbl.F.Out,"<span class=\"CLASSPHOTO\">");
fprintf (Gbl.F.Out,"<br />%s<br />%d&nbsp;%s<br />%d&nbsp;%s<br />(%d%%)",

View File

@ -10794,6 +10794,27 @@ const char *Txt_X_faces_marked_in_red_have_been_detected_ = // Warning: it is ve
" but the background behind the heads is too dark."; // Necessita de tradução
#endif
const char *Txt_Faces_detected =
#if L==0
"Rostros detectados"; // Necessita traduccio
#elif L==1
"Faces detected"; // Need Übersetzung
#elif L==2
"Faces detected";
#elif L==3
"Rostros detectados";
#elif L==4
"Faces detected"; // Besoin de traduction
#elif L==5
"Rostros detectados"; // Okoteve traducción
#elif L==6
"Faces detected"; // Bisogno di traduzione
#elif L==7
"Faces detected"; // Potrzebujesz tlumaczenie
#elif L==8
"Faces detected"; // Necessita de tradução
#endif
const char *Txt_Failed_email_confirmation_key =
#if L==0
"Error en la clave de confirmaci&oacute;n de correo."; // Necessita traduccio