Version 16.94.2

This commit is contained in:
Antonio Cañas Vargas 2016-12-11 14:29:26 +01:00
parent 419dc79252
commit 70bbad4dfd
5 changed files with 65 additions and 60 deletions

View File

@ -369,14 +369,8 @@ a:hover /* Default ==> underlined */
} }
} }
.BC_SEMIOFF .BC_SEMIOFF {opacity:0.67;}
{ .BC_OFF {opacity:0.33;}
opacity:0.5;
}
.BC_OFF
{
opacity:0.25;
}
.BC_WHITE {color:#707070;} .BC_WHITE {color:#707070;}
.BC_GREY {color:#FFB42E;} .BC_GREY {color:#FFB42E;}

View File

@ -185,13 +185,15 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.94.1 (2016-12-10)" #define Log_PLATFORM_VERSION "SWAD 16.94.2 (2016-12-11)"
#define CSS_FILE "swad16.94.1.css" #define CSS_FILE "swad16.94.1.css"
#define JS_FILE "swad16.90.2.js" #define JS_FILE "swad16.90.2.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.94.2: Dec 11, 2016 Contextual help on calendar.
Changes in exam announcements. (210421 lines)
Version 16.94.1: Dec 10, 2016 Fixed bug in layout of breadcrumb. (210417 lines) Version 16.94.1: Dec 10, 2016 Fixed bug in layout of breadcrumb. (210417 lines)
Version 16.94: Dec 10, 2016 Changes in layout for responsive design. (210421 lines) Version 16.94: Dec 10, 2016 Changes in layout for responsive design. (210421 lines)
Version 16.93: Dec 10, 2016 Changes in layout of heading rows and tabs. (210308 lines) Version 16.93: Dec 10, 2016 Changes in layout of heading rows and tabs. (210308 lines)

View File

@ -449,8 +449,9 @@ void Exa_GetDateToHighlight (void)
static void Exa_ListExamAnnouncements (Exa_TypeViewExamAnnouncement_t TypeViewExamAnnouncement) static void Exa_ListExamAnnouncements (Exa_TypeViewExamAnnouncement_t TypeViewExamAnnouncement)
{ {
extern const char *Txt_All_announcements_of_exam; extern const char *Hlp_ASSESSMENT_Announcements;
extern const char *Txt_Announcements_of_exam; extern const char *Txt_All_announcements_of_exams;
extern const char *Txt_Announcements_of_exams;
extern const char *Txt_No_announcements_of_exams_of_X; extern const char *Txt_No_announcements_of_exams_of_X;
char Query[512]; char Query[512];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
@ -551,11 +552,11 @@ static void Exa_ListExamAnnouncements (Exa_TypeViewExamAnnouncement_t TypeViewEx
/***** Start frame *****/ /***** Start frame *****/
Lay_StartRoundFrame (NULL, Lay_StartRoundFrame (NULL,
(Gbl.ExamAnnouncements.HighlightExaCod > 0 || (Gbl.ExamAnnouncements.HighlightExaCod > 0 ||
Gbl.ExamAnnouncements.HighlightDate[0]) ? Txt_All_announcements_of_exam : Gbl.ExamAnnouncements.HighlightDate[0]) ? Txt_All_announcements_of_exams :
Txt_Announcements_of_exam, Txt_Announcements_of_exams,
ICanEdit ? Exa_PutIconToCreateNewExamAnnouncement : ICanEdit ? Exa_PutIconToCreateNewExamAnnouncement :
NULL, NULL,
NULL); Hlp_ASSESSMENT_Announcements);
/***** The result of the query may be empty *****/ /***** The result of the query may be empty *****/
if (!NumExaAnns) if (!NumExaAnns)
@ -882,11 +883,13 @@ static void Exa_GetDataExamAnnouncementFromDB (long ExaCod)
static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t TypeViewExamAnnouncement) static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t TypeViewExamAnnouncement)
{ {
extern const char *Hlp_ASSESSMENT_Announcements_new_announcement;
extern const char *Hlp_ASSESSMENT_Announcements_edit_announcement;
extern const char *Txt_YEAR_OF_DEGREE[1+Deg_MAX_YEARS_PER_DEGREE]; extern const char *Txt_YEAR_OF_DEGREE[1+Deg_MAX_YEARS_PER_DEGREE];
extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_EXAM_ANNOUNCEMENT; extern const char *Txt_EXAM_ANNOUNCEMENT;
extern const char *Txt_EXAM_ANNOUNCEMENT_Course; extern const char *Txt_EXAM_ANNOUNCEMENT_Course;
extern const char *Txt_EXAM_ANNOUNCEMENT_Year; extern const char *Txt_EXAM_ANNOUNCEMENT_Year_or_semester;
extern const char *Txt_EXAM_ANNOUNCEMENT_Session; extern const char *Txt_EXAM_ANNOUNCEMENT_Session;
extern const char *Txt_EXAM_ANNOUNCEMENT_Exam_date; extern const char *Txt_EXAM_ANNOUNCEMENT_Exam_date;
extern const char *Txt_EXAM_ANNOUNCEMENT_Start_time; extern const char *Txt_EXAM_ANNOUNCEMENT_Start_time;
@ -934,7 +937,9 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
Lay_StartRoundFrame ("625px",NULL, Lay_StartRoundFrame ("625px",NULL,
TypeViewExamAnnouncement == Exa_NORMAL_VIEW ? Exa_PutIconsExamAnnouncement : TypeViewExamAnnouncement == Exa_NORMAL_VIEW ? Exa_PutIconsExamAnnouncement :
NULL, NULL,
NULL); TypeViewExamAnnouncement == Exa_FORM_VIEW ? ((ExaCod > 0) ? Hlp_ASSESSMENT_Announcements_edit_announcement :
Hlp_ASSESSMENT_Announcements_new_announcement) :
NULL);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
@ -994,10 +999,10 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
/***** Name of the course *****/ /***** Name of the course *****/
fprintf (Gbl.F.Out,"<tr>" \ fprintf (Gbl.F.Out,"<tr>" \
"<td class=\"%s RIGHT_TOP\">" "<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:"
"</td>" \ "</td>" \
"<td class=\"%s LEFT_TOP\">", "<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Course, Txt_EXAM_ANNOUNCEMENT_Course,
StyleNormal); StyleNormal);
@ -1012,14 +1017,14 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
fprintf (Gbl.F.Out,"</td>" \ fprintf (Gbl.F.Out,"</td>" \
"</tr>"); "</tr>");
/***** Year (N.A., 1º, 2º, 3º, 4º, 5º...) *****/ /***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/
fprintf (Gbl.F.Out,"<tr>" \ fprintf (Gbl.F.Out,"<tr>" \
"<td class=\"%s RIGHT_TOP\">" "<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:"
"</td>" \ "</td>" \
"<td class=\"%s LEFT_TOP\">", "<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Year, Txt_EXAM_ANNOUNCEMENT_Year_or_semester,
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
@ -1042,10 +1047,10 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
/***** Exam session *****/ /***** Exam session *****/
fprintf (Gbl.F.Out,"<tr>" \ fprintf (Gbl.F.Out,"<tr>" \
"<td class=\"%s RIGHT_TOP\">" "<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:"
"</td>" \ "</td>" \
"<td class=\"%s LEFT_TOP\">", "<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Session, Txt_EXAM_ANNOUNCEMENT_Session,
StyleNormal); StyleNormal);
@ -1060,14 +1065,14 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
/***** Date of the exam *****/ /***** Date of the exam *****/
fprintf (Gbl.F.Out,"<tr>" \ fprintf (Gbl.F.Out,"<tr>" \
"<td class=\"%s RIGHT_TOP\">" "<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:"
"</td>", "</td>",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Exam_date); Txt_EXAM_ANNOUNCEMENT_Exam_date);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_BOTTOM\">");
Dat_WriteFormDate (Gbl.ExamAnnouncements.ExaDat.ExamDate.Year < Gbl.Now.Date.Year ? Gbl.ExamAnnouncements.ExaDat.ExamDate.Year : Dat_WriteFormDate (Gbl.ExamAnnouncements.ExaDat.ExamDate.Year < Gbl.Now.Date.Year ? Gbl.ExamAnnouncements.ExaDat.ExamDate.Year :
Gbl.Now.Date.Year, Gbl.Now.Date.Year,
Gbl.Now.Date.Year + 1,"Exam", Gbl.Now.Date.Year + 1,"Exam",
@ -1078,7 +1083,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
else else
{ {
Dat_ConvDateToDateStr (&Gbl.ExamAnnouncements.ExaDat.ExamDate,StrExamDate); Dat_ConvDateToDateStr (&Gbl.ExamAnnouncements.ExaDat.ExamDate,StrExamDate);
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">"
"%s" "%s"
"</td>", "</td>",
StyleNormal,StrExamDate); StyleNormal,StrExamDate);
@ -1087,10 +1092,10 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
/***** Start time *****/ /***** Start time *****/
fprintf (Gbl.F.Out,"<tr>" \ fprintf (Gbl.F.Out,"<tr>" \
"<td class=\"%s RIGHT_TOP\">" "<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:"
"</td>" \ "</td>" \
"<td class=\"%s LEFT_TOP\">", "<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Start_time, Txt_EXAM_ANNOUNCEMENT_Start_time,
StyleNormal); StyleNormal);
@ -1132,10 +1137,10 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_TypeViewExamAnnouncement_t
/***** Approximate duration of the exam *****/ /***** Approximate duration of the exam *****/
fprintf (Gbl.F.Out,"<tr>" \ fprintf (Gbl.F.Out,"<tr>" \
"<td class=\"%s RIGHT_TOP\">" "<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:"
"</td>" \ "</td>" \
"<td class=\"%s LEFT_TOP\">", "<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Approximate_duration, Txt_EXAM_ANNOUNCEMENT_Approximate_duration,
StyleNormal); StyleNormal);
@ -1468,7 +1473,7 @@ static void Exa_GetNotifContentExamAnnouncement (char **ContentStr)
extern const char *Txt_Degree; extern const char *Txt_Degree;
extern const char *Txt_YEAR_OF_DEGREE[1+Deg_MAX_YEARS_PER_DEGREE]; extern const char *Txt_YEAR_OF_DEGREE[1+Deg_MAX_YEARS_PER_DEGREE];
extern const char *Txt_EXAM_ANNOUNCEMENT_Course; extern const char *Txt_EXAM_ANNOUNCEMENT_Course;
extern const char *Txt_EXAM_ANNOUNCEMENT_Year; extern const char *Txt_EXAM_ANNOUNCEMENT_Year_or_semester;
extern const char *Txt_EXAM_ANNOUNCEMENT_Session; extern const char *Txt_EXAM_ANNOUNCEMENT_Session;
extern const char *Txt_EXAM_ANNOUNCEMENT_Exam_date; extern const char *Txt_EXAM_ANNOUNCEMENT_Exam_date;
extern const char *Txt_EXAM_ANNOUNCEMENT_Start_time; extern const char *Txt_EXAM_ANNOUNCEMENT_Start_time;
@ -1523,7 +1528,7 @@ static void Exa_GetNotifContentExamAnnouncement (char **ContentStr)
Txt_Institution,Ins.FullName, Txt_Institution,Ins.FullName,
Txt_Degree,Deg.FullName, Txt_Degree,Deg.FullName,
Txt_EXAM_ANNOUNCEMENT_Course,Gbl.ExamAnnouncements.ExaDat.CrsFullName, Txt_EXAM_ANNOUNCEMENT_Course,Gbl.ExamAnnouncements.ExaDat.CrsFullName,
Txt_EXAM_ANNOUNCEMENT_Year,Txt_YEAR_OF_DEGREE[Gbl.ExamAnnouncements.ExaDat.Year], Txt_EXAM_ANNOUNCEMENT_Year_or_semester,Txt_YEAR_OF_DEGREE[Gbl.ExamAnnouncements.ExaDat.Year],
Txt_EXAM_ANNOUNCEMENT_Session,Gbl.ExamAnnouncements.ExaDat.Session, Txt_EXAM_ANNOUNCEMENT_Session,Gbl.ExamAnnouncements.ExaDat.Session,
Txt_EXAM_ANNOUNCEMENT_Exam_date,StrExamDate, Txt_EXAM_ANNOUNCEMENT_Exam_date,StrExamDate,
Txt_EXAM_ANNOUNCEMENT_Start_time,Gbl.ExamAnnouncements.ExaDat.StartTime.Hour, Txt_EXAM_ANNOUNCEMENT_Start_time,Gbl.ExamAnnouncements.ExaDat.StartTime.Hour,

View File

@ -123,6 +123,10 @@ const char *Hlp_ASSESSMENT_Tests_test_results = WIKI "ASSESSMENT.Tests#test-resu
const char *Hlp_ASSESSMENT_Calendar = WIKI "ASSESSMENT.Calendar"; const char *Hlp_ASSESSMENT_Calendar = WIKI "ASSESSMENT.Calendar";
const char *Hlp_ASSESSMENT_Announcements = WIKI "ASSESSMENT.Announcements";
const char *Hlp_ASSESSMENT_Announcements_new_announcement = WIKI "ASSESSMENT.Announcements#new-announcement";
const char *Hlp_ASSESSMENT_Announcements_edit_announcement = WIKI "ASSESSMENT.Announcements#edit-announcement";
const char *Hlp_ASSESSMENT_Marks = WIKI "ASSESSMENT.Marks"; const char *Hlp_ASSESSMENT_Marks = WIKI "ASSESSMENT.Marks";
/***** USERS tab *****/ /***** USERS tab *****/

View File

@ -2111,25 +2111,25 @@ const char *Txt_all =
"tudo"; "tudo";
#endif #endif
const char *Txt_All_announcements_of_exam = const char *Txt_All_announcements_of_exams =
#if L==1 #if L==1
"Totes les convocat&ograve;ries d'examen"; "Totes les convocat&ograve;ries d'ex&agrave;mens";
#elif L==2 #elif L==2
"Alle Aufrufe f&uuml;r Pr&uuml;fung"; "Alle Aufrufe f&uuml;r Pr&uuml;fung";
#elif L==3 #elif L==3
"All announcements of exam"; "All announcements of exams";
#elif L==4 #elif L==4
"Todas las convocatorias de examen"; "Todas las convocatorias de ex&aacute;menes";
#elif L==5 #elif L==5
"Tous les convocations &agrave; un examen"; "Tous les convocations &agrave; examens";
#elif L==6 #elif L==6
"Todas las convocatorias de examen"; // Okoteve traducción "Todas las convocatorias de ex&aacute;menes"; // Okoteve traducción
#elif L==7 #elif L==7
"Tutti i appelli d'esame"; "Tutti i appelli d'esame";
#elif L==8 #elif L==8
"Wszystkie anonse egzamin"; "Wszystkie ogloszenia egzamin&oacute;w";
#elif L==9 #elif L==9
"Todas as chamadas para exame"; "Todas as chamadas para exames";
#endif #endif
const char *Txt_all_degrees = const char *Txt_all_degrees =
@ -2489,25 +2489,25 @@ const char *Txt_Announcement_of_exam_removed =
"Chamada para exame removida."; "Chamada para exame removida.";
#endif #endif
const char *Txt_Announcements_of_exam = const char *Txt_Announcements_of_exams =
#if L==1 #if L==1
"Convocat&ograve;ries d'examen"; "Convocat&ograve;ries d'ex&agrave;mens";
#elif L==2 #elif L==2
"Aufrufe f&uuml;r Pr&uuml;fung"; "Aufrufe f&uuml;r Pr&uuml;fung";
#elif L==3 #elif L==3
"Announcements of exam"; "Announcements of exams";
#elif L==4 #elif L==4
"Convocatorias de examen"; "Convocatorias de ex&aacute;menes";
#elif L==5 #elif L==5
"Convocations &agrave; un examen"; "Convocations &agrave; examens";
#elif L==6 #elif L==6
"Convocatorias de examen"; // Okoteve traducción "Convocatorias de ex&aacute;menes"; // Okoteve traducción
#elif L==7 #elif L==7
"Appelli d'esame"; "Appelli d'esame";
#elif L==8 #elif L==8
"Anonse egzamin"; "Ogloszenia egzamin&oacute;w";
#elif L==9 #elif L==9
"Chamadas para exame"; "Chamadas para exames";
#endif #endif
const char *Txt_Another_centre = const char *Txt_Another_centre =
@ -11331,25 +11331,25 @@ const char *Txt_EXAM_ANNOUNCEMENT_Structure_of_the_exam =
"Estrutura do exame"; "Estrutura do exame";
#endif #endif
const char *Txt_EXAM_ANNOUNCEMENT_Year = // 1, 2, 3..., not 1984, 2010... const char *Txt_EXAM_ANNOUNCEMENT_Year_or_semester = // 1, 2, 3..., not 1984, 2038...
#if L==1 #if L==1
"Curs"; "Any o semestre";
#elif L==2 #elif L==2
"Jahr"; "Jahr oder Semester";
#elif L==3 #elif L==3
"Year"; "Year or semester";
#elif L==4 #elif L==4
"Curso"; "A&ntilde;o o semestre";
#elif L==5 #elif L==5
"Ann&eacute;e"; "Ann&eacute;e ou semestre";
#elif L==6 #elif L==6
"Curso"; // Okoteve traducción "A&ntilde;o o semestre"; // Okoteve traducción
#elif L==7 #elif L==7
"Anno"; "Anno o semestre";
#elif L==8 #elif L==8
"Rok"; "Rok lub semestr";
#elif L==9 #elif L==9
"Ano"; "Ano ou semestre";
#endif #endif
const char *Txt_Exam_of_X = // Warning: it is very important to include %s in the following sentences const char *Txt_Exam_of_X = // Warning: it is very important to include %s in the following sentences
@ -20580,7 +20580,7 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
, ,
// ActSeeAllExaAnn // ActSeeAllExaAnn
#if L==1 #if L==1
"Llistat de convocat&ograve;ries d'exàmens d'aquesta assignatura" "Llistat de convocat&ograve;ries d'ex&agrave;mens d'aquesta assignatura"
#elif L==2 #elif L==2
"Pr&uuml;fungsaufruf" "Pr&uuml;fungsaufruf"
#elif L==3 #elif L==3