Version 16.107.9

This commit is contained in:
Antonio Cañas Vargas 2016-12-27 13:56:44 +01:00
parent 309aa1a72c
commit b9ccb352bb
4 changed files with 119 additions and 105 deletions

View File

@ -189,13 +189,15 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.107.7 (2016-12-27)" #define Log_PLATFORM_VERSION "SWAD 16.107.9 (2016-12-27)"
#define CSS_FILE "swad16.106.5.css" #define CSS_FILE "swad16.106.5.css"
#define JS_FILE "swad16.101.js" #define JS_FILE "swad16.101.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.107.9: Dec 27, 2016 Changes in edition of new notice. (211607 lines)
Version 16.107.8: Dec 27, 2016 Changes in behaviour of labels in forms. (211598 lines)
Version 16.107.7: Dec 27, 2016 Code refactoring in forums. (211594 lines) Version 16.107.7: Dec 27, 2016 Code refactoring in forums. (211594 lines)
Version 16.107.6: Dec 27, 2016 Changes in behaviour of labels in forms. (211593 lines) Version 16.107.6: Dec 27, 2016 Changes in behaviour of labels in forms. (211593 lines)
Version 16.107.5: Dec 26, 2016 Changes in behaviour of labels in forms. (211540 lines) Version 16.107.5: Dec 26, 2016 Changes in behaviour of labels in forms. (211540 lines)

View File

@ -422,38 +422,42 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
extern const char *Txt_Other_recipients; extern const char *Txt_Other_recipients;
extern const char *Txt_Recipients; extern const char *Txt_Recipients;
extern const char *Txt_nicks_emails_or_IDs_separated_by_commas; extern const char *Txt_nicks_emails_or_IDs_separated_by_commas;
char Nickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA+1]; // old version because is a nickname retrieved from database. TODO: change in 2013 char Nickname[Nck_MAX_LENGTH_NICKNAME_WITHOUT_ARROBA+1];
bool PutColspan;
unsigned Colspan; unsigned Colspan;
bool StdsAndTchsWritten = Gbl.CurrentCrs.Crs.CrsCod > 0 && // If there is a course selected
(Gbl.Usrs.Me.IBelongToCurrentCrs || // I belong to it
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
PutColspan = Gbl.CurrentCrs.Crs.CrsCod > 0 && // If there is a course selected /***** How many columns? *****/
(Gbl.Usrs.Me.IBelongToCurrentCrs || // I belong to it if (StdsAndTchsWritten)
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM);
if (PutColspan)
Colspan = Usr_GetColumnsForSelectUsrs (); Colspan = Usr_GetColumnsForSelectUsrs ();
else
Colspan = 1;
/***** Title *****/
fprintf (Gbl.F.Out,"<tr>"
"<th");
if (Colspan > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan);
fprintf (Gbl.F.Out," class=\"LEFT_MIDDLE LIGHT_BLUE\">"
"<label for=\"OtherRecipients\">%s:</label>"
"</th>"
"</tr>",
StdsAndTchsWritten ? Txt_Other_recipients :
Txt_Recipients);
/***** Textarea with users' @nicknames, emails or IDs *****/ /***** Textarea with users' @nicknames, emails or IDs *****/
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE LIGHT_BLUE\"");
if (PutColspan)
fprintf (Gbl.F.Out," colspan=\"%u\">%s:",
Colspan,Txt_Other_recipients);
else
fprintf (Gbl.F.Out," >%s:",
Txt_Recipients);
fprintf (Gbl.F.Out,"</th>"
"</tr>"
"<tr>"
"<td"); "<td");
if (PutColspan) if (Colspan > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan); fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan);
fprintf (Gbl.F.Out," class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out," class=\"LEFT_MIDDLE\">"
"<textarea name=\"OtherRecipients\" cols=\"72\" rows=\"2\"" "<textarea id=\"OtherRecipients\" name=\"OtherRecipients\""
" placeholder=\"%s&hellip;\">", " cols=\"72\" rows=\"2\""
" placeholder=\"%s\">",
Txt_nicks_emails_or_IDs_separated_by_commas); Txt_nicks_emails_or_IDs_separated_by_commas);
if (Gbl.Usrs.ListOtherRecipients[0]) if (Gbl.Usrs.ListOtherRecipients[0])
fprintf (Gbl.F.Out,"%s",Gbl.Usrs.ListOtherRecipients); fprintf (Gbl.F.Out,"%s",Gbl.Usrs.ListOtherRecipients);
// else if (Gbl.Msg.Reply.IsReply) // If this is a reply message
else if (Gbl.Usrs.Other.UsrDat.UsrCod > 0) // If there is a recipient else if (Gbl.Usrs.Other.UsrDat.UsrCod > 0) // If there is a recipient
// and there's no list of explicit recipients, // and there's no list of explicit recipients,
// write @nickname of original sender // write @nickname of original sender

View File

@ -89,14 +89,12 @@ static long Not_GetParamNotCod (void);
void Not_ShowFormNotice (void) void Not_ShowFormNotice (void)
{ {
extern const char *Hlp_MESSAGES_Notices; extern const char *Hlp_MESSAGES_Notices;
extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_The_notice_will_appear_as_a_yellow_note_;
extern const char *Txt_The_notice_you_enter_here_will_appear_as_a_yellow_note_;
extern const char *Txt_New_notice; extern const char *Txt_New_notice;
extern const char *Txt_MSG_Message;
extern const char *Txt_Create_notice; extern const char *Txt_Create_notice;
/***** Help message *****/ /***** Help message *****/
sprintf (Gbl.Message,Txt_The_notice_you_enter_here_will_appear_as_a_yellow_note_, sprintf (Gbl.Message,Txt_The_notice_will_appear_as_a_yellow_note_,
Gbl.CurrentCrs.Crs.FullName); Gbl.CurrentCrs.Crs.FullName);
Lay_ShowAlert (Lay_INFO,Gbl.Message); Lay_ShowAlert (Lay_INFO,Gbl.Message);
@ -104,23 +102,15 @@ void Not_ShowFormNotice (void)
Act_FormStart (ActRcvNot); Act_FormStart (ActRcvNot);
/***** Start frame *****/ /***** Start frame *****/
Lay_StartRoundFrameTable (NULL,Txt_New_notice,NULL,Hlp_MESSAGES_Notices,2); Lay_StartRoundFrame (NULL,Txt_New_notice,NULL,Hlp_MESSAGES_Notices);
/***** Message body *****/ /***** Message body *****/
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<textarea name=\"Content\" cols=\"30\" rows=\"10\""
"<td class=\"%s RIGHT_TOP\">" " autofocus=\"autofocus\" required=\"required\">"
"%s: " "</textarea>");
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea name=\"Content\" cols=\"30\" rows=\"10\">"
"</textarea>"
"</td>"
"</tr>",
The_ClassForm[Gbl.Prefs.Theme],
Txt_MSG_Message);
/***** Button to create notice and end frame *****/ /***** Button to create notice and end frame *****/
Lay_EndRoundFrameTableWithButton (Lay_CREATE_BUTTON,Txt_Create_notice); Lay_EndRoundFrameWithButton (Lay_CREATE_BUTTON,Txt_Create_notice);
/***** End form *****/ /***** End form *****/
Act_FormEnd (); Act_FormEnd ();

View File

@ -44399,88 +44399,106 @@ const char *Txt_The_nickname_entered_X_is_not_valid_ = // Warning: it is very im
" a digit (0-9) or &quot;_&quot;."; // Necessita de tradução " a digit (0-9) or &quot;_&quot;."; // Necessita de tradução
#endif #endif
const char *Txt_The_notice_you_enter_here_will_appear_as_a_yellow_note_ = // Warning: it is very important to include %s in the following sentences const char *Txt_The_notice_will_appear_as_a_yellow_note_ =
#if L==1 #if L==1
"El aviso que escriba aqu&iacute; aparecer&aacute; en forma de nota amarilla" "L'av&iacute;s apareixer&agrave; en forma de nota groga"
" a la izquierda de la p&aacute;gina y ser&aacute; <strong>visible por todo el mundo</strong>" " a l'esquerra de la p&agrave;gina"
" (no solo por los usuarios de la asignatura %s).<br />" " i ser&agrave; <strong>visible per tot el m&oacute;n</strong>"
"<strong>El mensaje debe ser breve</strong>." " (no nom&eacute;s pels usuaris de l'assignatura).<br />"
" Si desea crear un aviso extenso o de acceso exclusivo para sus estudiantes," "<strong>El missatge ha de ser breu.</strong>"
" puede usar el foro de la asignatura," " Per crear un av&iacute;s extens"
" enviar un mensaje a todos a trav&eacute;s del sistema de mensajer&iacute;a interna," " o d'acc&eacute;s exclusiu per a estudiants,"
" o incluso crear un archivo con el texto y a&ntilde;adirlo a la zona de documentos."; // Necessita traduccio " pot utilitzar el f&ograve;rum de l'assignatura,"
" enviar un missatge a tots,"
" o pujar un arxiu amb el text a la zona de documents.";
#elif L==2 #elif L==2
"The notice you enter here will appear as a yellow note" "Die Ank&uuml;ndigung wird als ein gelber Hinweis"
" in the left of the page and will be visible <strong>worldwide</strong>" " auf der linken Seite der Seite erscheinen"
" (not just by users of the course %s).<br />" " und wird <strong>weltweit</strong>"
"<strong>The message should be short</strong>." " (nicht nur von den Benutzern des Kurses) sichtbar sein.<br />"
" If you want to create a long notice or a notice with exclusive access to your students," "<strong>Die Nachricht sollte kurz sein</strong>."
" you can use the forum of the course," " Wenn Sie eine lange Ank&uuml;ndigung"
" or send a message to all through the internal messaging system," " oder einen Hinweis mit exklusivem Zugang f&uuml;r Studenten erstellen m&ouml;chten,"
" or even create a file with the text and upload it to the documents area."; // Need Übersetzung " k&ouml;nnen Sie das Forum des Kurses nutzen,"
" eine Nachricht an alle senden"
" oder eine Datei mit dem Text in den Dokumentenbereich hochladen.";
#elif L==3 #elif L==3
"The notice you enter here will appear as a yellow note" "The notice will appear as a yellow note"
" in the left of the page and will be visible <strong>worldwide</strong>" " in the left of the page"
" (not just by users of the course %s).<br />" " and will be <strong>visible worldwide</strong>"
" (not just by users of the course).<br />"
"<strong>The message should be short</strong>." "<strong>The message should be short</strong>."
" If you want to create a long notice or a notice with exclusive access to your students," " If you want to create a long notice"
" or a notice with exclusive access for students,"
" you can use the forum of the course," " you can use the forum of the course,"
" or send a message to all through the internal messaging system," " send a message to all,"
" or even create a file with the text and upload it to the documents area."; " or upload a file with the text to the documents area.";
#elif L==4 #elif L==4
"El aviso que escriba aqu&iacute; aparecer&aacute; en forma de nota amarilla" "El aviso aparecer&aacute; en forma de nota amarilla"
" a la izquierda de la p&aacute;gina y ser&aacute; <strong>visible por todo el mundo</strong>" " a la izquierda de la p&aacute;gina"
" (no solo por los usuarios de la asignatura %s).<br />" " y ser&aacute; <strong>visible por todo el mundo</strong>"
" (no solo por los usuarios de la asignatura).<br />"
"<strong>El mensaje debe ser breve</strong>." "<strong>El mensaje debe ser breve</strong>."
" Si desea crear un aviso extenso o de acceso exclusivo para sus estudiantes," " Si desea crear un aviso extenso"
" o de acceso exclusivo para estudiantes,"
" puede usar el foro de la asignatura," " puede usar el foro de la asignatura,"
" enviar un mensaje a todos a trav&eacute;s del sistema de mensajer&iacute;a interna," " enviar un mensaje a todos,"
" o incluso crear un archivo con el texto y a&ntilde;adirlo a la zona de documentos."; " o subir un archivo con el texto a la zona de documentos.";
#elif L==5 #elif L==5
"The notice you enter here will appear as a yellow note" "L'avis appara&icirc;tra comme une note jaune"
" in the left of the page and will be visible <strong>worldwide</strong>" " &agrave; gauche de la page"
" (not just by users of the course %s).<br />" " et sera <strong>visible dans le monde entier</strong>"
"<strong>The message should be short</strong>." " (pas seulement par les utilisateurs du cours).<br />"
" If you want to create a long notice or a notice with exclusive access to your students," "<strong>Le message doit &ecirc;tre court</strong>."
" you can use the forum of the course," " Si vous souhaitez cr&eacute;er un avis long"
" or send a message to all through the internal messaging system," " ou un avis avec un acc&egrave;s exclusif pour les &eacute;tudiants,"
" or even create a file with the text and upload it to the documents area."; // Besoin de traduction " vous pouvez utiliser le forum du cours,"
" envoyer un message &agrave; tous"
" ou t&eacute;l&eacute;charger un fichier avec le texte dans la zone des documents.";
#elif L==6 #elif L==6
"El aviso que escriba aqu&iacute; aparecer&aacute; en forma de nota amarilla" "El aviso aparecer&aacute; en forma de nota amarilla"
" a la izquierda de la p&aacute;gina y ser&aacute; <strong>visible por todo el mundo</strong>" " a la izquierda de la p&aacute;gina"
" (no solo por los usuarios de la asignatura %s).<br />" " y ser&aacute; <strong>visible por todo el mundo</strong>"
" (no solo por los usuarios de la asignatura).<br />"
"<strong>El mensaje debe ser breve</strong>." "<strong>El mensaje debe ser breve</strong>."
" Si desea crear un aviso extenso o de acceso exclusivo para sus estudiantes," " Si desea crear un aviso extenso"
" o de acceso exclusivo para estudiantes,"
" puede usar el foro de la asignatura," " puede usar el foro de la asignatura,"
" enviar un mensaje a todos a trav&eacute;s del sistema de mensajer&iacute;a interna," " enviar un mensaje a todos,"
" o incluso crear un archivo con el texto y a&ntilde;adirlo a la zona de documentos."; // Okoteve traducción " o subir un archivo con el texto a la zona de documentos."; // Okoteve traducción
#elif L==7 #elif L==7
"L'avviso che hai inserito qui apparir&agrave; come una nota in giallo" "L'avviso verr&agrave; visualizzato come una nota di colore giallo"
" sulla parte sinistra della pagina &egrave; sar&agrave; <strong>visibile a tutti</strong>" " nella parte sinistra della pagina"
" (non solo da utenti del corso %s).<br />" " e sar&agrave; <strong>visibile in tutto il mondo</strong>"
"<strong>Il messaggio dovr&agrave; essere breve</strong>." " (non solo dagli utenti del corso).<br />"
" Se vuoi creare un avviso lungo o un avviso con accesso esclusivo per i tuoi studenti," "<strong>Il messaggio deve essere breve</strong>."
" potrai usare il forum del corso," " Se si desidera creare un lungo avviso"
" o inviare un messaggio a tutti attraverso il sistema di messaggistica interno," " o una comunicazione con accesso esclusivo per gli studenti,"
" o sempre creare un file con il testo e caricarlo nell'area documenti."; " &egrave; possibile utilizzare il forum del corso,"
" inviare un messaggio a tutti,"
" o caricare un file con il testo all'area documenti.";
#elif L==8 #elif L==8
"The notice you enter here will appear as a yellow note" "Og&lstrok;oszenie pojawi si&eogon; jako &zdot;&oacute;&lstrok;ty notatki"
" in the left of the page and will be visible <strong>worldwide</strong>" " w lewej strony"
" (not just by users of the course %s).<br />" " i b&eogon;dzie <strong>widoczny na ca&lstrok;ym &sacute;wiecie</strong>"
"<strong>The message should be short</strong>." " (nie tylko przez u&zdot;ytkownik&oacute;w oczywi&sacute;cie).<br />"
" If you want to create a long notice or a notice with exclusive access to your students," "<strong>Wiadomo&sacute;&cacute; powinna by&cacute; kr&oacute;tka</strong>."
" you can use the forum of the course," " Je&sacute;li chcesz stworzy&cacute; d&lstrok;ug&aogon; zawiadomienie"
" or send a message to all through the internal messaging system," " lub zawiadomienie z wy&lstrok;&aogon;cznego dost&eogon;pu dla student&oacute;w,"
" or even create a file with the text and upload it to the documents area."; // Potrzebujesz tlumaczenie " mo&zdot;na korzysta&cacute; z forum kursu,"
" wys&lstrok;a&cacute; wiadomo&sacute;&cacute; do wszystkich,"
" lub przes&lstrok;a&cacute; plik z tekstem do obszaru dokument&oacute;w.";
#elif L==9 #elif L==9
"The notice you enter here will appear as a yellow note" "O aviso aparecer&aacute; como uma nota amarela"
" in the left of the page and will be visible <strong>worldwide</strong>" " &agrave; esquerda da p&aacute;gina"
" (not just by users of the course %s).<br />" " e ser&aacute; <strong>vis&iacute;vel em todo o mundo</strong>"
"<strong>The message should be short</strong>." " (n&atilde;o apenas pelos usu&aacute;rios do curso).<br />"
" If you want to create a long notice or a notice with exclusive access to your students," "<strong>A mensagem deve ser curta</strong>."
" you can use the forum of the course," " Se voc&ecirc; quiser criar um aviso longo"
" or send a message to all through the internal messaging system," " ou um aviso com acesso exclusivo para os alunos,"
" or even create a file with the text and upload it to the documents area."; // Necessita de tradução " voc&ecirc; pode usar o f&oacute;rum do curso,"
" enviar uma mensagem para todos"
" ou enviar um arquivo com o texto para a &aacute;rea de documentos.";
#endif #endif
const char *Txt_The_new_web_address_is_X = // Warning: it is very important to include %s in the following sentences const char *Txt_The_new_web_address_is_X = // Warning: it is very important to include %s in the following sentences