Version 14.117.15

This commit is contained in:
Antonio Cañas Vargas 2015-07-22 13:49:39 +02:00
parent 9d53b736f9
commit ea408cfc96
6 changed files with 116 additions and 40 deletions

View File

@ -109,14 +109,17 @@ static void QR_ImageQRCode (const char *QRString)
{
fprintf (Gbl.F.Out,"<div style=\"width:%upx; text-align:center;\">"
"<img src=\"https://chart.googleapis.com/chart?cht=qr&amp;chs=%ux%u&amp;chl=%s\""
" alt=\"%s\" style=\"width:%upx; height:%upx;"
" border:1px dashed silver;\" /><br />"
" alt=\"%s\" title=\"%s\""
" style=\"width:%upx; height:%upx;"
" border:1px dashed silver;\" />"
"<br />"
"<span class=\"DAT\">%s</span>"
"</div>",
QR_CODE_SIZE,
QR_CODE_SIZE,QR_CODE_SIZE,
QRString,
QRString,
QRString,
QR_CODE_SIZE,QR_CODE_SIZE,
QRString);
}
@ -132,10 +135,12 @@ void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod)
/***** Show QR code with direct link to the current centre *****/
fprintf (Gbl.F.Out,"<img src=\"https://chart.googleapis.com/chart?cht=qr&amp;chs=%ux%u&amp;chl=%s/%s?%s=%ld\""
" alt=\"%s\" style=\"width:%upx; height:%upx;\" />",
" alt=\"%s\" title=\"%s\""
" style=\"width:%upx; height:%upx;\" />",
Size,Size,
Cfg_HTTPS_URL_SWAD_CGI,Txt_STR_LANG_ID[Gbl.Prefs.Language],ParamStr,Cod,
Txt_Shortcut,
Txt_Shortcut,
Size,Size);
}
@ -150,9 +155,11 @@ void QR_ExamAnnnouncement (void)
/***** Show QR code with direct link to the exam announcement *****/
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">"
"<img src=\"https://chart.googleapis.com/chart?cht=qr&amp;chs=%ux%u&amp;chl=%s/?crs=%ld%%26act=%ld\""
" alt=\"%s\" style=\"width:200px; height:200px;\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:200px; height:200px;\" />"
"</div>",
200,200,
Cfg_HTTPS_URL_SWAD_CGI,Gbl.CurrentCrs.Crs.CrsCod,Act_Actions[ActSeeExaAnn].ActCod,
Txt_Link_to_announcement_of_exam,
Txt_Link_to_announcement_of_exam);
}

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.117.14 (2015/07/22)"
#define Log_PLATFORM_VERSION "SWAD 14.117.15 (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.15:Jul 22, 2015 Checking "alt" and "title" in all images. (185279 lines)
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)

View File

@ -408,6 +408,7 @@ void Plc_FreeListPlaces (void)
static void Plc_ListPlacesForEdition (void)
{
extern const char *Txt_Places;
extern const char *Txt_Removal_not_allowed;
extern const char *Txt_Remove_place;
unsigned NumPlc;
struct Place *Plc;
@ -429,7 +430,9 @@ static void Plc_ListPlacesForEdition (void)
"<td class=\"BM\">");
if (Plc->NumCtrs) // Place has centres ==> deletion forbidden
fprintf (Gbl.F.Out,"<img src=\"%s/deloff16x16.gif\""
" alt=\"\" class=\"ICON16x16\" />",
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />",
Txt_Removal_not_allowed,Txt_Removal_not_allowed,
Gbl.Prefs.IconsURL);
else
{

View File

@ -121,7 +121,8 @@ void Plg_ListPlugins (void)
"<td class=\"DAT\" style=\"width:32px;"
" text-align:left;\">"
"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s/%s24x24.gif\" alt=\"%s\""
"<img src=\"%s/%s/%s24x24.gif\""
" alt=\"%s\" title=\"%s\""
" style=\"width:24px; height:24px;\" />"
"</a>"
"</td>"
@ -132,7 +133,8 @@ void Plg_ListPlugins (void)
"</td>"
"</tr>",
URL,Plg->Name,
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_PLUGINS,Gbl.Plugins.Lst[NumPlg].Logo,Plg->Name,
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_PLUGINS,Gbl.Plugins.Lst[NumPlg].Logo,
Plg->Name,Plg->Name,
URL,Plg->Name,
Plg->Name);
}
@ -386,11 +388,14 @@ static void Plg_ListPluginsForEdition (void)
/* Plugin logo */
fprintf (Gbl.F.Out,"<td style=\"width:28px; text-align:center;\">"
"<img src=\"%s/%s/%s24x24.gif\" alt=\"%s\""
"<img src=\"%s/%s/%s24x24.gif\""
" alt=\"%s\" title=\"%s\""
" style=\"width:24px; height:24px;\" />"
"</td>",
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_PLUGINS,
Gbl.Plugins.Lst[NumPlg].Logo,Gbl.Plugins.Lst[NumPlg].Name);
Gbl.Plugins.Lst[NumPlg].Logo,
Gbl.Plugins.Lst[NumPlg].Name,
Gbl.Plugins.Lst[NumPlg].Name);
/* Plugin name */
fprintf (Gbl.F.Out,"<td style=\"text-align:center;"

View File

@ -345,7 +345,8 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TEACHER,Rol_STUDENT);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/tch64x64.gif\" title=\"%s\""
"<img src=\"%s/tch64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">"
@ -355,6 +356,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
"</tr>",
Gbl.Prefs.IconsURL,
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
NumCrssUsrIsTeacher,
(NumCrssUsrIsTeacher == 1) ? Txt_course :
Txt_courses,
@ -369,7 +371,8 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STUDENT,Rol_STUDENT);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/std64x64.gif\" title=\"%s\""
"<img src=\"%s/std64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">"
@ -379,6 +382,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
"</tr>",
Gbl.Prefs.IconsURL,
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
NumCrssUsrIsStudent,
(NumCrssUsrIsStudent == 1) ? Txt_course :
Txt_courses,
@ -395,7 +399,8 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
NumPublicFiles = 0;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/file64x64.gif\" title=\"%s\""
"<img src=\"%s/file64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">"
@ -405,6 +410,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
"</tr>",
Gbl.Prefs.IconsURL,
Txt_Files,
Txt_Files,
NumFiles,
(NumFiles == 1) ? Txt_file :
Txt_files,
@ -416,11 +422,13 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/* First click time */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/clock64x64.gif\" title=\"%s\""
"<img src=\"%s/clock64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">",
Gbl.Prefs.IconsURL,
Txt_From_TIME,
Txt_From_TIME);
if (UsrFigures.FirstClickTime.Date.Year)
{
@ -449,11 +457,13 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/* Number of clicks */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/click64x64.gif\" title=\"%s\""
"<img src=\"%s/click64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">",
Gbl.Prefs.IconsURL,
Txt_Clicks,
Txt_Clicks);
if (UsrFigures.NumClicks >= 0)
@ -488,11 +498,13 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Number of file views *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/download64x64.gif\" title=\"%s\""
"<img src=\"%s/download64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">",
Gbl.Prefs.IconsURL,
Txt_Downloads,
Txt_Downloads);
if (UsrFigures.NumFileViews >= 0)
{
@ -525,11 +537,13 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Number of posts in forums *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/forum64x64.gif\" title=\"%s\""
"<img src=\"%s/forum64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">",
Gbl.Prefs.IconsURL,
Txt_Forums,
Txt_Forums);
if (UsrFigures.NumForPst >= 0)
{
@ -562,11 +576,13 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
/***** Number of messages sent *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRF_ICON_CONTAINER\">"
"<img src=\"%s/msg64x64.gif\" title=\"%s\""
"<img src=\"%s/msg64x64.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"PRF_ICON\" />"
"</td>"
"<td class=\"PRF_FIG DAT\">",
Gbl.Prefs.IconsURL,
Txt_Messages,
Txt_Messages);
if (UsrFigures.NumMsgSnt >= 0)
{

View File

@ -268,6 +268,7 @@ void Rec_ListFieldsRecordsForEdition (void)
void Rec_ShowFormCreateRecordField (void)
{
extern const char *Txt_New_record_field;
extern const char *Txt_Removal_not_allowed;
extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY];
extern const char *Txt_Create_record_field;
Rec_VisibilityRecordFields_t Vis;
@ -285,9 +286,12 @@ void Rec_ShowFormCreateRecordField (void)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">"
"<img src=\"%s/deloff16x16.gif\""
" alt=\"\" class=\"ICON16x16\" />"
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"</td>",
Gbl.Prefs.IconsURL);
Gbl.Prefs.IconsURL,
Txt_Removal_not_allowed,
Txt_Removal_not_allowed);
/***** Field name *****/
fprintf (Gbl.F.Out,"<td style=\"text-align:left; vertical-align:middle;\">"
@ -1352,12 +1356,14 @@ static void Rec_WriteFormShowOfficeHours (bool ShowOfficeHours,const char *ListU
fprintf (Gbl.F.Out," style=\"vertical-align:middle;\""
" onclick=\"javascript:document.getElementById('%s').submit();\" />"
"<img src=\"%s/clock16x16.gif\""
" alt=\"%s\" class=\"ICON16x16\" />"
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\" />"
"<span class=\"%s\">&nbsp;%s</span>"
"</div>",
Gbl.FormId,
Gbl.Prefs.IconsURL,
Txt_Show_office_hours,
Txt_Show_office_hours,
The_ClassFormul[Gbl.Prefs.Theme],
Txt_Show_office_hours);
Act_FormEnd ();
@ -2191,12 +2197,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
{
Act_FormStart (ActReqEdiRecCom);
Act_LinkFormSubmit (Txt_Edit_my_personal_data,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/edit16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_Edit,
Txt_Edit);
Act_FormEnd ();
}
@ -2213,12 +2223,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
ActSeeRecOneTch);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_record_for_this_course,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/card16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_View_record_for_this_course,
Txt_View_record_for_this_course);
Act_FormEnd ();
}
@ -2234,12 +2248,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_FormStart (ActReqMdfUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Admin_user,NULL);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/config16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_Admin_user,
Txt_Admin_user);
Act_FormEnd ();
}
@ -2259,12 +2277,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Grp_PutParamAllGroups ();
Par_PutHiddenParamChar ("FullTree",'Y'); // By default, show all files
Act_LinkFormSubmit (Txt_View_works,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/folder16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_View_works,
Txt_View_works);
Act_FormEnd ();
@ -2278,12 +2300,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
}
Grp_PutParamAllGroups ();
Act_LinkFormSubmit (Txt_See_exams,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/file16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_See_exams,
Txt_See_exams);
Act_FormEnd ();
@ -2295,12 +2321,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Par_PutHiddenParamString ("UsrCodStd",UsrDat->EncryptedUsrCod);
Grp_PutParamAllGroups ();
Act_LinkFormSubmit (Txt_Attendance,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/rollcall16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_Attendance,
Txt_Attendance);
Act_FormEnd ();
}
@ -2314,12 +2344,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
else
Msg_PutHiddenParamAnotherRecipient (UsrDat);
Act_LinkFormSubmit (Txt_Write_a_message,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/msg16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_Write_a_message,
Txt_Write_a_message);
Act_FormEnd ();
@ -2332,12 +2366,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_FormStart (ActUnfUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Unfollow,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/unfollow16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_Unfollow,
Txt_Unfollow);
Act_FormEnd ();
}
@ -2346,12 +2384,16 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
Act_FormStart (ActFolUsr);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Act_LinkFormSubmit (Txt_Follow,ClassData);
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\" style=\"display:inline;\" >"
fprintf (Gbl.F.Out,"<div class=\"ICON_HIGHLIGHT\""
" style=\"display:inline;\" >"
"<img src=\"%s/follow16x16.gif\""
" style=\"width:16px; height:16px; padding:0 2px;\" alt=\"%s\" />"
" alt=\"%s\" title=\"%s\""
" style=\"width:16px; height:16px;"
" padding:0 2px;\" />"
"</div>"
"</a>",
Gbl.Prefs.IconsURL,
Txt_Follow,
Txt_Follow);
Act_FormEnd ();
}
@ -2617,11 +2659,13 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
if (Sex == Gbl.Usrs.Me.UsrDat.Sex)
fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />"
"<img src=\"%s/%s16x16.gif\" alt=\"%s\""
"<img src=\"%s/%s16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON16x16\""
" style=\"vertical-align:bottom;\" />%s",
Gbl.Prefs.IconsURL,Usr_StringsSexDB[Sex],
Txt_SEX_SINGULAR_Abc[Sex],
Txt_SEX_SINGULAR_Abc[Sex],
Txt_SEX_SINGULAR_Abc[Sex]);
}
fprintf (Gbl.F.Out,"</td>"