Version 14.105.3

This commit is contained in:
Antonio Cañas Vargas 2015-04-01 12:54:25 +02:00
parent 49cf97e37e
commit f280080ead
5 changed files with 135 additions and 157 deletions

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.105.2 (2015/03/30)"
#define Log_PLATFORM_VERSION "SWAD 14.105.3 (2015/04/01)"
// 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.105.3: Apr 01, 2015 Changes in layout of course configuration and exam announcements. (183912 lines)
Version 14.105.2: Mar 30, 2015 Some messages translated. (183941 lines)
Version 14.105.1: Mar 30, 2015 Shared record card is shown after updating course record card. (183937 lines)
Version 14.105: Mar 30, 2015 Removed option in the assessment tab to view course card. (183932 lines)

View File

@ -433,6 +433,15 @@ static void Crs_Configuration (bool PrintView)
Gbl.Prefs.IconsURL,
(Indicators.CountIndicators == Ind_NUM_INDICATORS) ? "ok_green" :
"warning");
if (IsForm)
{
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\">");
Lay_PutConfirmButton (Txt_Save);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
}
/***** End of the frame *****/
@ -440,10 +449,7 @@ static void Crs_Configuration (bool PrintView)
/***** End form *****/
if (IsForm)
{
Lay_PutConfirmButton (Txt_Save);
Act_FormEnd ();
}
}
/*****************************************************************************/

View File

@ -474,7 +474,6 @@ static void Exa_ListExamAnnouncements (Exa_tTypeViewExamAnnouncement_t TypeViewE
/***** Show exam announcement *****/
Exa_ShowExamAnnouncement (ExaCod,TypeViewExamAnnouncement);
fprintf (Gbl.F.Out,"<br />");
/***** Free memory of the exam announcement *****/
Exa_FreeMemExamAnnouncement ();
@ -718,6 +717,9 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
{
extern const char *Txt_YEAR_OF_DEGREE[1+Deg_MAX_YEARS_PER_DEGREE];
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Remove;
extern const char *Txt_Edit;
extern const char *Txt_Print;
extern const char *Txt_EXAM_ANNOUNCEMENT;
extern const char *Txt_EXAM_ANNOUNCEMENT_Course;
extern const char *Txt_EXAM_ANNOUNCEMENT_Year;
@ -737,10 +739,6 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
extern const char *Txt_hours;
extern const char *Txt_minute;
extern const char *Txt_minutes;
extern const char *Txt_Edit_announcement_of_exam;
extern const char *Txt_Edit;
extern const char *Txt_Remove_announcement_of_exam;
extern const char *Txt_Remove;
extern const char *Txt_Publish_announcement_OF_EXAM;
const char *StyleTitle = "CONV_TIT";
const char *StyleForm = "CONV_NEG";
@ -756,12 +754,6 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
switch (TypeViewExamAnnouncement)
{
case Exa_NORMAL_VIEW:
/***** Link to print view *****/
fprintf (Gbl.F.Out,"<div style=\"text-align:center;\">");
Lay_PutLinkToPrintView1 (ActPrnExaAnn);
Par_PutHiddenParamLong ("ExaCod",ExaCod);
Lay_PutLinkToPrintView2 ();
fprintf (Gbl.F.Out,"</div>");
break;
case Exa_PRINT_VIEW:
StyleTitle = "CONV_TIT_IMPR";
@ -770,18 +762,68 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
break;
case Exa_FORM_VIEW:
StyleForm = The_ClassFormul[Gbl.Prefs.Theme];
/***** Start form *****/
Act_FormStart (ActRcvExaAnn);
if (ExaCod > 0)
Par_PutHiddenParamLong ("ExaCod",ExaCod);
break;
}
/***** Start frame *****/
Lay_StartRoundFrameTable10 ("500px",0,NULL);
if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW)
{
fprintf (Gbl.F.Out,"<tr>" \
"<td style=\"text-align:left;\">");
if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER ||
Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
{
/***** Link to remove this exam announcement *****/
Act_FormStart (ActRemExaAnn);
Par_PutHiddenParamLong ("ExaCod",ExaCod);
Act_LinkFormSubmit (Txt_Remove,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\" alt=\"%s\""
" class=\"ICON16x16\" style=\"margin-left:10px;\" />"
"</a>",
Gbl.Prefs.IconsURL,Txt_Remove);
Act_FormEnd ();
/***** Link to edit this exam announcement *****/
Act_FormStart (ActEdiExaAnn);
Par_PutHiddenParamLong ("ExaCod",ExaCod);
Act_LinkFormSubmit (Txt_Edit,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/edit16x16.gif\" alt=\"%s\""
" class=\"ICON16x16\" style=\"margin-left:10px;\" />"
"</a>",
Gbl.Prefs.IconsURL,Txt_Edit);
Act_FormEnd ();
}
/***** Link to print view *****/
Act_FormStart (ActPrnExaAnn);
Par_PutHiddenParamLong ("ExaCod",ExaCod);
Act_LinkFormSubmit (Txt_Print,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/print16x16.gif\" alt=\"%s\""
" class=\"ICON16x16\" style=\"margin-left:10px;\" />"
"</a>",
Gbl.Prefs.IconsURL,Txt_Print);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
fprintf (Gbl.F.Out,"<tr>" \
"<td style=\"text-align:center;\">" \
"<table style=\"width:100%%; padding:20px; border-spacing:3px;\">");
"<td style=\"text-align:center;\">");
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
/***** Start form *****/
Act_FormStart (ActRcvExaAnn);
if (ExaCod > 0)
Par_PutHiddenParamLong ("ExaCod",ExaCod);
}
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\""
" style=\"width:100%%; padding:20px;\">");
/***** Institution logo *****/
fprintf (Gbl.F.Out,"<tr>" \
@ -842,7 +884,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"CrsName\" size=\"40\" maxlength=\"%u\" value=\"%s\" />",
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"CrsName\""
" size=\"30\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_LENGTH_STRING,Gbl.ExamAnnouncement.CrsFullName);
}
else
@ -890,7 +933,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
StyleForm,Txt_EXAM_ANNOUNCEMENT_Session,
StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"ExamSession\" size=\"40\" maxlength=\"%u\" value=\"%s\" />",
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"ExamSession\""
" size=\"30\" maxlength=\"%u\" value=\"%s\" />",
Cns_MAX_LENGTH_STRING,Gbl.ExamAnnouncement.Session);
else
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnnouncement.Session);
@ -1188,88 +1232,34 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnnouncement.OtherInfo);
}
fprintf (Gbl.F.Out,"</td>" \
"</tr>");
"</tr>" \
"</table>");
/***** Bottom space used for signatures, or links to edit / remove the exam announcement *****/
switch (TypeViewExamAnnouncement)
{
case Exa_NORMAL_VIEW:
switch (Gbl.Usrs.Me.LoggedRole)
{
case Rol_ROLE_TEACHER:
case Rol_ROLE_DEG_ADM:
case Rol_ROLE_SYS_ADM:
/***** Create link to edit this exam announcement *****/
fprintf (Gbl.F.Out,"<tr>" \
"<td style=\"text-align:left;\">");
Act_FormStart (ActEdiExaAnn);
Par_PutHiddenParamLong ("ExaCod",ExaCod);
Act_LinkFormSubmit (Txt_Edit_announcement_of_exam,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/edit16x16.gif\"" \
" alt=\"%s\" class=\"ICON16x16\" />" \
" %s</a>",
Gbl.Prefs.IconsURL,Txt_Edit_announcement_of_exam,Txt_Edit);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
/***** Create link to remove this exam announcement *****/
fprintf (Gbl.F.Out,"<td style=\"text-align:right;\">");
Act_FormStart (ActRemExaAnn);
Par_PutHiddenParamLong ("ExaCod",ExaCod);
Act_LinkFormSubmit (Txt_Remove_announcement_of_exam,The_ClassFormul[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"<img src=\"%s/delon16x16.gif\"" \
" alt=\"%s\" class=\"ICON16x16\" />" \
" %s</a>",
Gbl.Prefs.IconsURL,
Txt_Remove_announcement_of_exam,
Txt_Remove);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>" \
"</tr>");
break;
default:
break;
}
break;
case Exa_PRINT_VIEW:
/* Bottom space used for signatures */
fprintf (Gbl.F.Out,"<tr>" \
"<td colspan=\"2\" class=\"%s\""
" style=\"text-align:left;\">"
"&nbsp;<br />"
"&nbsp;<br />"
"&nbsp;<br />"
"&nbsp;<br />"
"&nbsp;"
"</td>" \
"</tr>",
StyleForm);
break;
default:
fprintf (Gbl.F.Out,"<div style=\"height:100px;\"></div>");
break;
case Exa_FORM_VIEW:
/* Send button */
if (ExaCod > 0)
Lay_PutConfirmButton (Txt_Publish_announcement_OF_EXAM);
else
Lay_PutCreateButton (Txt_Publish_announcement_OF_EXAM);
Act_FormEnd ();
break;
}
/***** End frame *****/
fprintf (Gbl.F.Out,"</table>" \
"</td>" \
fprintf (Gbl.F.Out,"</td>" \
"</tr>");
Lay_EndRoundFrameTable10 ();
switch (TypeViewExamAnnouncement)
{
case Exa_NORMAL_VIEW:
break;
case Exa_PRINT_VIEW:
QR_ExamAnnnouncement ();
break;
case Exa_FORM_VIEW:
if (ExaCod > 0)
Lay_PutConfirmButton (Txt_Publish_announcement_OF_EXAM);
else
Lay_PutCreateButton (Txt_Publish_announcement_OF_EXAM);
Act_FormEnd ();
break;
}
if (TypeViewExamAnnouncement == Exa_PRINT_VIEW)
QR_ExamAnnnouncement ();
}
/*****************************************************************************/

View File

@ -1390,9 +1390,10 @@ static unsigned long Tst_GetEnabledTagsFromThisCrs (MYSQL_RES **mysql_res)
static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,bool ShowOnlyEnabledTags)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Tags;
extern const char *Txt_All_tags;
extern const char *Txt_Tag_not_allowed;
extern const char *Txt_Tag_allowed;
extern const char *Txt_All_tags;
unsigned long NumRow;
MYSQL_ROW row;
bool TagHidden = false;
@ -1400,7 +1401,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,bool
char TagText[Tst_MAX_BYTES_TAG+1];
/***** Start table *****/
Lay_StartRoundFrameTable10 (NULL,0,NULL);
Lay_StartRoundFrameTable10 (NULL,0,Txt_Tags);
/***** Select all tags *****/
fprintf (Gbl.F.Out,"<tr>");
@ -2007,6 +2008,7 @@ static void Tst_CheckAndCorrectNumbersQst (void)
static void Tst_ShowFormAnswerTypes (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Types_of_answers;
extern const char *Txt_All_types_of_answers;
extern const char *Txt_TST_STR_ANSWER_TYPES[Tst_NUM_ANS_TYPES];
Tst_AnswerType_t AnsType;
@ -2014,7 +2016,7 @@ static void Tst_ShowFormAnswerTypes (void)
const char *Ptr;
/***** Table start *****/
Lay_StartRoundFrameTable10 (NULL,0,NULL);
Lay_StartRoundFrameTable10 (NULL,0,Txt_Types_of_answers);
/***** Select all types of answers *****/
fprintf (Gbl.F.Out,"<tr>"

View File

@ -9099,27 +9099,6 @@ const char *Txt_Edit =
"Editar";
#endif
const char *Txt_Edit_announcement_of_exam =
#if L==0
"Editar convocatoria de examen"; // Necessita traduccio
#elif L==1
"Aufruf f&uuml;r Pr&uuml;fung bearbeiten";
#elif L==2
"Edit announcement of exam";
#elif L==3
"Editar convocatoria de examen";
#elif L==4
"&Eacute;diter convocation &agrave; l'examen";
#elif L==5
"Editar convocatoria de examen"; // Okoteve traducción
#elif L==6
"Editare sessione d'esame";
#elif L==7
"Edytuj ogloszenie egzaminu";
#elif L==8
"Editar chamada para o exame";
#endif
const char *Txt_Edit_assignment =
#if L==0
"Editar actividad"; // Necessita traduccio
@ -28295,27 +28274,6 @@ const char *Txt_Remove_all_students =
"Tirar todos estudantes";
#endif
const char *Txt_Remove_announcement_of_exam =
#if L==0
"Eliminar convocat&ograve;ria d'examen";
#elif L==1
"Entfernen Aufruf f&uuml;r Pr&uuml;fung";
#elif L==2
"Remove announcement of exam";
#elif L==3
"Eliminar convocatoria de examen";
#elif L==4
"Supprimer convocation &agrave; l'examen";
#elif L==5
"Eliminar convocatoria de examen"; // Okoteve traducción
#elif L==6
"Rimuovere sessione d'esame";
#elif L==7
"Usu&nacute; ogloszenie egzaminu";
#elif L==8
"Remover chamada para o exame";
#endif
const char *Txt_Remove_assignment =
#if L==0
"Eliminar activitat";
@ -45872,27 +45830,6 @@ const char *Txt_Type_of_group_X_removed = // Warning: it is very important to in
"Type of group <strong>%s</strong> removed."; // Necessita de tradução
#endif
const char *Txt_Types_of_group =
#if L==0
"Tipus de grup";
#elif L==1
"Gruppen-Typen";
#elif L==2
"Types of group";
#elif L==3
"Tipos de grupo";
#elif L==4
"Types de groupe";
#elif L==5
"Tipos de grupo"; // Okoteve traducción
#elif L==6
"Tipi di gruppo";
#elif L==7
"Types of group"; // Potrzebujesz tlumaczenie
#elif L==8
"Tipos de grupo";
#endif
const char *Txt_Type_or_paste_a_list_of_IDs_nicks_or_emails_ =
#if L==0
"Escriba o pegue una lista"
@ -46041,6 +45978,48 @@ const char *Txt_TYPES_OF_DEGREE_Without_degrees =
"Sem titula&ccedil;oes";
#endif
const char *Txt_Types_of_answers = // Answers of a test
#if L==0
"Tipus de respostes";
#elif L==1
"Antworttypen";
#elif L==2
"Types of answers";
#elif L==3
"Tipos de respuestas";
#elif L==4
"Types de r&eacute;ponses";
#elif L==5
"Tipos de respuestas"; // Okoteve traducción
#elif L==6
"Tipi di risposte";
#elif L==7
"Typy odpowiedzi";
#elif L==8
"Tipos de respostas";
#endif
const char *Txt_Types_of_group =
#if L==0
"Tipus de grup";
#elif L==1
"Gruppen-Typen";
#elif L==2
"Types of group";
#elif L==3
"Tipos de grupo";
#elif L==4
"Types de groupe";
#elif L==5
"Tipos de grupo"; // Okoteve traducción
#elif L==6
"Tipi di gruppo";
#elif L==7
"Types of group"; // Potrzebujesz tlumaczenie
#elif L==8
"Tipos de grupo";
#endif
const char *Txt_Undo =
#if L==0
"Desfer";