Version 14.79.4

This commit is contained in:
Antonio Cañas Vargas 2015-03-07 21:08:44 +01:00
parent c2e8ff6567
commit e9ccb15657
17 changed files with 112 additions and 90 deletions

View File

@ -165,7 +165,7 @@ 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/?CrsCod=%ld%%26ActCod=%ld\""
"<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;\" />"
"</div>",
200,200,

View File

@ -86,7 +86,7 @@ void RSS_UpdateRSSFileForACrs (struct Course *Crs)
fprintf (FileRSS,"<title>%s: %s</title>\n",
Cfg_PLATFORM_SHORT_NAME,Crs->ShortName);
fprintf (FileRSS,"<link>%s/?CrsCod=%ld</link>\n",
fprintf (FileRSS,"<link>%s/?crs=%ld</link>\n",
Cfg_HTTPS_URL_SWAD_CGI,Crs->CrsCod);
fprintf (FileRSS,"<description>%s</description>\n",
Crs->FullName);
@ -100,7 +100,7 @@ void RSS_UpdateRSSFileForACrs (struct Course *Crs)
Cfg_HTTP_URL_SWAD_PUBLIC,Cfg_FOLDER_PUBLIC_LOGO);
fprintf (FileRSS,"<title>%s: %s</title>\n",
Cfg_PLATFORM_SHORT_NAME,Crs->ShortName);
fprintf (FileRSS,"<link>%s/?CrsCod=%ld</link>\n",
fprintf (FileRSS,"<link>%s/?crs=%ld</link>\n",
Cfg_HTTPS_URL_SWAD_CGI,Crs->CrsCod);
fprintf (FileRSS,"<width>112</width>\n");
fprintf (FileRSS,"<height>32</height>\n");
@ -197,7 +197,7 @@ static void RSS_WriteNotices (FILE *FileRSS,struct Course *Crs)
fprintf (FileRSS,"</title>\n");
/* Write link to the notice */
fprintf (FileRSS,"<link>%s/?CrsCod=%ld</link>\n",
fprintf (FileRSS,"<link>%s/?crs=%ld</link>\n",
Cfg_HTTPS_URL_SWAD_CGI,Crs->CrsCod);
/* Write full content of the notice */
@ -286,7 +286,7 @@ static void RSS_WriteExamAnnouncements (FILE *FileRSS,struct Course *Crs)
fprintf (FileRSS,"<title>%s: %s</title>\n",Txt_Exam,row[2]);
/* Write link to the notice */
fprintf (FileRSS,"<link>%s/?CrsCod=%ld</link>\n",
fprintf (FileRSS,"<link>%s/?crs=%ld</link>\n",
Cfg_HTTPS_URL_SWAD_CGI,Crs->CrsCod);
/* Write full content of the exam announcement */

View File

@ -4205,10 +4205,10 @@ static void Act_FormStartInternal (Act_Action_t NextAction,bool PutParameterLoca
fprintf (Gbl.F.Out,">");
if (NextAction != ActUnk)
Par_PutHiddenParamLong ("ActCod",Act_Actions[NextAction].ActCod);
Par_PutHiddenParamLong ("act",Act_Actions[NextAction].ActCod);
if (Gbl.Session.Id[0])
Par_PutHiddenParamString ("IdSes",Gbl.Session.Id);
Par_PutHiddenParamString ("ses",Gbl.Session.Id);
else if (PutParameterLocationIfNoSesion) // Extra parameters necessary when there's no open session
{
/* If session is open, course code will be get from session data,

View File

@ -427,8 +427,8 @@ static void Ctr_Configuration (bool PrintView)
"</td>"
"<td class=\"DAT\""
" style=\"text-align:left; vertical-align:middle;\">"
"<a href=\"%s/%s?CtrCod=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?CtrCod=%ld"
"<a href=\"%s/%s?ctr=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ctr=%ld"
"</a>"
"</td>"
"</tr>",
@ -449,7 +449,7 @@ static void Ctr_Configuration (bool PrintView)
" vertical-align:middle;\">",
The_ClassFormul[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (200,"CtrCod",Gbl.CurrentCtr.Ctr.CtrCod);
QR_LinkTo (200,"ctr",Gbl.CurrentCtr.Ctr.CtrCod);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -1439,7 +1439,7 @@ static Ctr_Status_t Ctr_GetStatusBitsFromStatusTxt (Ctr_StatusTxt_t StatusTxt)
void Ctr_PutParamCtrCod (long CtrCod)
{
Par_PutHiddenParamLong ("CtrCod",CtrCod);
Par_PutHiddenParamLong ("ctr",CtrCod);
}
/*****************************************************************************/

View File

@ -103,11 +103,20 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.79.3 (2015/03/07)"
#define Log_PLATFORM_VERSION "SWAD 14.79.4 (2015/03/07)"
// 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 | tail -1
/*
Version 14.79.4: Mar 07, 2015 Parameter "CtyCod" is renamed to "cty".
Parameter "InsCod" is renamed to "ins".
Parameter "CtrCod" is renamed to "ctr".
Parameter "DegCod" is renamed to "deg".
Parameter "CrsCod" is renamed to "crs", but "CrsCod" is allowed for compatibility with old links.
Parameter "Usr" is renamed to "usr".
Parameter "Layout" is not allowed with GET method.
Parameter "IdSes" is renamed to "ses".
Parameter "MailKey" is renamed to "key". (178699 lines)
Version 14.79.3: Mar 07, 2015 Parameter "UsrNick" is renamed to "Usr".
URL is shown in public profile.
Language in direct URLs. (178677 lines)

View File

@ -344,8 +344,8 @@ static void Cty_Configuration (bool PrintView)
"</td>"
"<td class=\"DAT\""
" style=\"text-align:left; vertical-align:middle;\">"
"<a href=\"%s/%s?CtyCod=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?CtyCod=%ld</a>"
"<a href=\"%s/%s?cty=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?cty=%ld</a>"
"</td>"
"</tr>",
The_ClassFormul[Gbl.Prefs.Theme],
@ -365,7 +365,7 @@ static void Cty_Configuration (bool PrintView)
" vertical-align:middle;\">",
The_ClassFormul[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (200,"CtyCod",Gbl.CurrentCty.Cty.CtyCod);
QR_LinkTo (200,"cty",Gbl.CurrentCty.Cty.CtyCod);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -1402,7 +1402,7 @@ static void Cty_ListCountriesForEdition (void)
void Cty_PutParamCtyCod (long CtyCod)
{
Par_PutHiddenParamLong ("CtyCod",CtyCod);
Par_PutHiddenParamLong ("cty",CtyCod);
}
/*****************************************************************************/

View File

@ -353,8 +353,8 @@ static void Crs_Configuration (bool PrintView)
"</td>"
"<td class=\"DAT\""
" style=\"text-align:left; vertical-align:middle;\">"
"<a href=\"%s/%s?CrsCod=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?CrsCod=%ld</a>"
"<a href=\"%s/%s?crs=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?crs=%ld</a>"
"</td>"
"</tr>",
The_ClassFormul[Gbl.Prefs.Theme],
@ -374,7 +374,7 @@ static void Crs_Configuration (bool PrintView)
" style=\"text-align:left; vertical-align:middle;\">",
The_ClassFormul[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (200,"CrsCod",Gbl.CurrentCrs.Crs.CrsCod);
QR_LinkTo (200,"crs",Gbl.CurrentCrs.Crs.CrsCod);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -420,7 +420,7 @@ static void Crs_Configuration (bool PrintView)
"</td>"
"<td class=\"DAT\""
" style=\"text-align:left; vertical-align:middle;\">"
"<a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\" class=\"DAT\">"
"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\" class=\"DAT\">"
"%u %s %u "
"<img src=\"%s/%s16x16.gif\" alt=\"\""
" class=\"ICON16x16\" style=\"vertical-align:top;\"/>"
@ -3035,7 +3035,7 @@ void Crs_PutFormToSelectMyCourses (void)
void Crs_PutParamCrsCod (long CrsCod)
{
Par_PutHiddenParamLong ("CrsCod",CrsCod);
Par_PutHiddenParamLong ("crs",CrsCod);
}
/*****************************************************************************/

View File

@ -411,8 +411,8 @@ static void Deg_Configuration (bool PrintView)
"</td>"
"<td class=\"DAT\" style=\"text-align:left;"
" vertical-align:middle;\">"
"<a href=\"%s/%s?DegCod=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?DegCod=%ld"
"<a href=\"%s/%s?deg=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?deg=%ld"
"</a>"
"</td>"
"</tr>",
@ -433,7 +433,7 @@ static void Deg_Configuration (bool PrintView)
" vertical-align:middle;\">",
The_ClassFormul[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (200,"DegCod",Gbl.CurrentDeg.Deg.DegCod);
QR_LinkTo (200,"deg",Gbl.CurrentDeg.Deg.DegCod);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -2805,7 +2805,7 @@ static void Deg_PutParamOtherDegTypCod (long DegTypCod)
void Deg_PutParamDegCod (long DegCod)
{
Par_PutHiddenParamLong ("DegCod",DegCod);
Par_PutHiddenParamLong ("deg",DegCod);
}
/*****************************************************************************/

View File

@ -7705,8 +7705,8 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
Cfg_HTTPS_URL_SWAD_CGI,
Txt_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Prefs.IconsURL);
Par_PutHiddenParamLong ("ActCod",Act_Actions[Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type]].ActCod);
Par_PutHiddenParamString ("IdSes",Gbl.Session.Id);
Par_PutHiddenParamLong ("act",Act_Actions[Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type]].ActCod);
Par_PutHiddenParamString ("ses",Gbl.Session.Id);
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_GRP:

View File

@ -894,8 +894,8 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"<td class=\"DAT_SMALL\""
" style=\"text-align:left;"
" background-color:%s;\">"
"<a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
"%s/?CrsCod=%ld&amp;ActCod=%ld"
"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s/?crs=%ld&amp;act=%ld"
"</a>"
"</td>"
@ -1029,9 +1029,10 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"<td class=\"DAT_SMALL\""
" style=\"text-align:left;"
" background-color:%s;\">"
"<a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
"%s/?CrsCod=%ld&amp;ActCod=%ld"
"</a></td>"
"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s/?crs=%ld&amp;act=%ld"
"</a>"
"</td>"
"<td class=\"%s\" style=\"text-align:right;"
" background-color:%s;\">"

View File

@ -350,8 +350,8 @@ static void Ins_Configuration (bool PrintView)
"</td>"
"<td class=\"DAT\" style=\"text-align:left;"
" vertical-align:middle;\">"
"<a href=\"%s/%s?InsCod=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?InsCod=%ld"
"<a href=\"%s/%s?ins=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ins=%ld"
"</a>"
"</td>"
"</tr>",
@ -372,7 +372,7 @@ static void Ins_Configuration (bool PrintView)
" vertical-align:middle;\">",
The_ClassFormul[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (200,"InsCod",Gbl.CurrentIns.Ins.InsCod);
QR_LinkTo (200,"ins",Gbl.CurrentIns.Ins.InsCod);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -1362,7 +1362,7 @@ static Ins_Status_t Ins_GetStatusBitsFromStatusTxt (Ins_StatusTxt_t StatusTxt)
void Ins_PutParamInsCod (long InsCod)
{
Par_PutHiddenParamLong ("InsCod",InsCod);
Par_PutHiddenParamLong ("ins",InsCod);
}
/*****************************************************************************/

View File

@ -427,7 +427,7 @@ static void Lay_WriteRedirectionToMyLanguage (void)
{
extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES];
fprintf (Gbl.F.Out,"<meta http-equiv=\"refresh\" content=\"0; url='%s/%s?ActCod=%ld&IdSes=%s'\">",
fprintf (Gbl.F.Out,"<meta http-equiv=\"refresh\" content=\"0; url='%s/%s?act=%ld&amp;ses=%s'\">",
Cfg_HTTPS_URL_SWAD_CGI,
Txt_STR_LANG_ID[Gbl.Usrs.Me.UsrDat.Prefs.Language],
Act_Actions[ActAutUsrChgLan].ActCod,
@ -548,13 +548,13 @@ static void Lay_WriteScriptConnectedUsrs (void)
{
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">\n");
fprintf (Gbl.F.Out,"var RefreshParamNxtActCon = \"ActCod=%ld\";\n",
fprintf (Gbl.F.Out,"var RefreshParamNxtActCon = \"act=%ld\";\n",
Act_Actions[ActRefCon].ActCod);
fprintf (Gbl.F.Out,"var RefreshParamNxtActLog = \"ActCod=%ld\";\n",
fprintf (Gbl.F.Out,"var RefreshParamNxtActLog = \"act=%ld\";\n",
Act_Actions[ActRefLstClk].ActCod);
fprintf (Gbl.F.Out,"var RefreshParamIdSes = \"IdSes=%s\";\n",
fprintf (Gbl.F.Out,"var RefreshParamIdSes = \"ses=%s\";\n",
Gbl.Session.Id);
fprintf (Gbl.F.Out,"var RefreshParamCrsCod = \"CrsCod=%ld\";\n",
fprintf (Gbl.F.Out,"var RefreshParamCrsCod = \"crs=%ld\";\n",
Gbl.CurrentCrs.Crs.CrsCod);
fprintf (Gbl.F.Out,"</script>\n");

View File

@ -1412,7 +1412,7 @@ void Mai_ConfirmEmail (void)
bool Confirmed;
/***** Get parameter Key *****/
Par_GetParToText ("MailKey",MailKey,Mai_LENGTH_EMAIL_CONFIRM_KEY);
Par_GetParToText ("key",MailKey,Mai_LENGTH_EMAIL_CONFIRM_KEY);
/***** Get user's code and e-mail from key *****/
sprintf (Query,"SELECT UsrCod,E_mail FROM pending_emails"

View File

@ -169,14 +169,14 @@ void Par_GetMainParameters (void)
// SWAD is not called from external site
Gbl.CurrentAct = ActUnk;
Par_GetParToText ("ActCod",UnsignedStr,10);
Par_GetParToText ("act",UnsignedStr,10);
if (UnsignedStr[0])
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
if (UnsignedNum <= Act_MAX_ACTION_COD)
Gbl.CurrentAct = Act_FromActCodToAction[UnsignedNum];
/***** Get session identifier, if exists *****/
Par_GetParToText ("IdSes",Gbl.Session.Id,Ses_LENGTH_SESSION_ID);
Par_GetParToText ("ses",Gbl.Session.Id,Ses_LENGTH_SESSION_ID);
if (Gbl.Session.Id[0])
{
/***** Get user's code, password, current degree and current course from stored session *****/
@ -235,8 +235,8 @@ void Par_GetMainParameters (void)
}
/***** Get country if exists (from menu) *****/
Par_GetParToText ("CtyCod",LongStr,1+10);
if (LongStr[0]) // Parameter CtyCod available
Par_GetParToText ("cty",LongStr,1+10);
if (LongStr[0]) // Parameter "cty" available
{
Gbl.CurrentCty.Cty.CtyCod = Str_ConvertStrCodToLongCod (LongStr);
Gbl.YearOK = false;
@ -247,8 +247,8 @@ void Par_GetMainParameters (void)
}
/***** Get institution if exists (from menu) *****/
Par_GetParToText ("InsCod",LongStr,1+10);
if (LongStr[0]) // Parameter InsCod available
Par_GetParToText ("ins",LongStr,1+10);
if (LongStr[0]) // Parameter "ins" available
{
Gbl.CurrentIns.Ins.InsCod = Str_ConvertStrCodToLongCod (LongStr);
Gbl.YearOK = false;
@ -258,8 +258,8 @@ void Par_GetMainParameters (void)
}
/***** Get centre if exists (from menu) *****/
Par_GetParToText ("CtrCod",LongStr,1+10);
if (LongStr[0]) // Parameter CtrCod available
Par_GetParToText ("ctr",LongStr,1+10);
if (LongStr[0]) // Parameter "ctr" available
{
Gbl.CurrentCtr.Ctr.CtrCod = Str_ConvertStrCodToLongCod (LongStr);
Gbl.YearOK = false;
@ -268,8 +268,8 @@ void Par_GetMainParameters (void)
}
/***** Get numerical degree code if exists (from menu) *****/
Par_GetParToText ("DegCod",LongStr,1+10);
if (LongStr[0]) // Parameter DegCod available
Par_GetParToText ("deg",LongStr,1+10);
if (LongStr[0]) // Parameter "deg" available
{
Gbl.CurrentDeg.Deg.DegCod = Str_ConvertStrCodToLongCod (LongStr);
if (Gbl.CurrentDeg.Deg.DegCod > 0)
@ -293,13 +293,20 @@ void Par_GetMainParameters (void)
}
/***** Get numerical course code if exists (from menu) *****/
Par_GetParToText ("CrsCod",LongStr,1+10);
if (LongStr[0]) // Parameter CrsCod available
Par_GetParToText ("crs",LongStr,1+10);
if (LongStr[0]) // Parameter "crs" available
Gbl.CurrentCrs.Crs.CrsCod = Str_ConvertStrCodToLongCod (LongStr); // Overwrite CrsCod from session
else
{
// Try old parameter "CrsCod" (allowed for compatibility with old links, to be removed in 2016)
Par_GetParToText ("CrsCod",LongStr,1+10);
if (LongStr[0]) // Parameter "CrsCod" available
Gbl.CurrentCrs.Crs.CrsCod = Str_ConvertStrCodToLongCod (LongStr); // Overwrite CrsCod from session
}
/***** Get user's nickname, if exists
(this nickname is used to go to a user's profile, not to get the logged user) *****/
Par_GetParToText ("Usr",Nickname,Nck_MAX_BYTES_NICKNAME_WITH_ARROBA);
Par_GetParToText ("usr",Nickname,Nck_MAX_BYTES_NICKNAME_WITH_ARROBA);
if ((OtherUsrCod = Nck_GetUsrCodFromNickname (Nickname)) > 0)
{
Gbl.Usrs.Other.UsrDat.UsrCod = OtherUsrCod;
@ -407,16 +414,17 @@ static unsigned Par_GetParameter (tParamType ParamType,const char *ParamName,
case Act_CONTENT_NORM:
if (Gbl.GetMethod) // Only some selected parameters can be passed by GET method
{
if (strcmp (ParamName,"CtyCod" ) && // To enter directly to a country
strcmp (ParamName,"InsCod" ) && // To enter directly to an institution
strcmp (ParamName,"CtrCod" ) && // To enter directly to a centre
strcmp (ParamName,"DegCod" ) && // To enter directly to a degree
strcmp (ParamName,"CrsCod" ) && // To enter directly to a course
strcmp (ParamName,"Usr" ) && // To enter directly to a user
strcmp (ParamName,"ActCod" ) && // To execute directly an action (allowed only for fully public actions)
strcmp (ParamName,"Layout" ) && // To change the layout of the page (wide or narrow)
strcmp (ParamName,"IdSes" ) && // To use an open session when redirecting from one language to another
strcmp (ParamName,"MailKey")) // To verify an email address
if (strcmp (ParamName,"cty") && // To enter directly to a country
strcmp (ParamName,"ins") && // To enter directly to an institution
strcmp (ParamName,"ctr") && // To enter directly to a centre
strcmp (ParamName,"deg") && // To enter directly to a degree
strcmp (ParamName,"crs") && // To enter directly to a course
strcmp (ParamName,"CrsCod") && // To enter directly to a course (allowed for compatibility with old links, to be removed in 2016)
strcmp (ParamName,"usr") && // To enter directly to a user
strcmp (ParamName,"act") && // To execute directly an action (allowed only for fully public actions)
strcmp (ParamName,"ses") && // To use an open session when redirecting from one language to another
strcmp (ParamName,"key")) // To verify an email address
// strcmp (ParamName,"Layout") && // To change the layout of the page (wide or narrow)
return 0; // Return no-parameters-found when method is GET and parameter name is not one of these
}
PtrSrc = Gbl.QueryString;
@ -427,7 +435,10 @@ static unsigned Par_GetParameter (tParamType ParamType,const char *ParamName,
{
ParamFound = false;
do
if ((PtrStartOfParam = strstr (PtrSrc,ParamName)) != NULL)
{
/* If method is GET ==> do case insensitive comparison */
PtrStartOfParam = strstr (PtrSrc,ParamName);
if (PtrStartOfParam)
{
// String ParamName found inside Gbl.QueryString
if (*(PtrStartOfParam + ParamNameLength) == '=')
@ -435,7 +446,7 @@ static unsigned Par_GetParameter (tParamType ParamType,const char *ParamName,
// Just after the name of the parameter, must be found a '=' symbol
if (PtrStartOfParam == Gbl.QueryString) // The parameter is just at start
ParamFound = true;
else if (*(PtrStartOfParam-1) == '&') // The parameter is not at start, but just after an "&" separator
else if (*(PtrStartOfParam - 1) == '&') // The parameter is not at start, but just after an "&" separator
ParamFound = true;
else // String has been found at the end of another parameter
PtrSrc = PtrStartOfParam + ParamNameLength;
@ -443,6 +454,7 @@ static unsigned Par_GetParameter (tParamType ParamType,const char *ParamName,
else // String has been found, but it is not a parameter
PtrSrc = PtrStartOfParam + ParamNameLength;
}
}
while (PtrStartOfParam != NULL && !ParamFound);
if (!ParamFound) // Not found ==> PtrStartOfParam == NULL
break;

View File

@ -2693,8 +2693,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
"</td>"
"<td colspan=\"2\" class=\"%s\""
" style=\"width:%upx; text-align:left;\">"
"<a href=\"%s/%s?Usr=@%s\" class=\"DAT\" target=\"_blank\">"
"%s/%s?Usr=@%s"
"<a href=\"%s/%s?usr=@%s\" class=\"DAT\" target=\"_blank\">"
"%s/%s?usr=@%s"
"</a>"
"</td>"
"</tr>",

View File

@ -363,7 +363,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" la confirmación de su correo electrónico %s,"
" pulse en el siguiente enlace"
" para confirmar dicha dirección:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"Si no ha sido usted, ¡no pulse en el enlace anterior!"
" En este caso, le recomendamos que compruebe en %s"
" si ha confirmado su dirección de correo.\n\n"; // Necessita traduccio
@ -372,7 +372,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" the confirmation of your e-mail %s,"
" click on the following link"
" to confirm that direction:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"If it was not you, do not click on the link above!"
" In this case, we recommend that you check in %s"
" if you have confirmed your e-mail address.\n\n"; // Need Übersetzung
@ -381,7 +381,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" the confirmation of your e-mail %s,"
" click on the following link"
" to confirm that direction:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"If it was not you, do not click on the link above!"
" In this case, we recommend that you check in %s"
" if you have confirmed your e-mail address.\n\n";
@ -390,7 +390,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" la confirmación de su correo electrónico %s,"
" pulse en el siguiente enlace"
" para confirmar dicha dirección:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"Si no ha sido usted, ¡no pulse en el enlace anterior!"
" En este caso, le recomendamos que compruebe en %s"
" si ha confirmado su dirección de correo.\n\n";
@ -399,7 +399,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" the confirmation of your e-mail %s,"
" click on the following link"
" to confirm that direction:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"If it was not you, do not click on the link above!"
" In this case, we recommend that you check in %s"
" if you have confirmed your e-mail address.\n\n"; // Besoin de traduction
@ -408,7 +408,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" la confirmación de su correo electrónico %s,"
" pulse en el siguiente enlace"
" para confirmar dicha dirección:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"Si no ha sido usted, ¡no pulse en el enlace anterior!"
" En este caso, le recomendamos que compruebe en %s"
" si ha confirmado su dirección de correo.\n\n"; // Okoteve traducción
@ -417,7 +417,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" the confirmation of your e-mail %s,"
" click on the following link"
" to confirm that direction:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"If it was not you, do not click on the link above!"
" In this case, we recommend that you check in %s"
" if you have confirmed your e-mail address.\n\n"; // Bisogno di traduzione
@ -426,7 +426,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" the confirmation of your e-mail %s,"
" click on the following link"
" to confirm that direction:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"If it was not you, do not click on the link above!"
" In this case, we recommend that you check in %s"
" if you have confirmed your e-mail address.\n\n"; // Potrzebujesz tlumaczenie
@ -435,7 +435,7 @@ const char *Txt_If_you_just_request_from_X_the_confirmation_of_your_email_Y_NO_H
" the confirmation of your e-mail %s,"
" click on the following link"
" to confirm that direction:"
" %s/?ActCod=%ld&MailKey=%s\n\n"
" %s/?act=%ld&key=%s\n\n"
"If it was not you, do not click on the link above!"
" In this case, we recommend that you check in %s"
" if you have confirmed your e-mail address.\n\n"; // Necessita de tradução
@ -43682,7 +43682,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"Esta asignatura cumple %u de %u indicadores."
" &iexcl;ES <strong>MUY IMPORTANTE</strong> QUE CUMPLA LOS %u INDICADORES!<br />"
"Por favor, vaya a"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" verifique qu&eacute; indicadores no se satisfacen"
" (marcados con &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43691,7 +43691,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"This course fulfills %u out of %u indicators."
" IT IS <strong>VERY IMPORTANT</strong> THAT FULLFILLS %u INDICATORS!<br />"
"Please go to"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" check what indicators are not fullfilled"
" (marked with &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43700,7 +43700,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"This course fulfills %u out of %u indicators."
" IT IS <strong>VERY IMPORTANT</strong> THAT FULLFILLS %u INDICATORS!<br />"
"Please go to"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" check what indicators are not fullfilled"
" (marked with &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43709,7 +43709,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"Esta asignatura cumple %u de %u indicadores."
" &iexcl;ES <strong>MUY IMPORTANTE</strong> QUE CUMPLA LOS %u INDICADORES!<br />"
"Por favor, vaya a"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" verifique qu&eacute; indicadores no se satisfacen"
" (marcados con &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43718,7 +43718,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"This course fulfills %u out of %u indicators."
" IT IS <strong>VERY IMPORTANT</strong> THAT FULLFILLS %u INDICATORS!<br />"
"Please go to"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" check what indicators are not fullfilled"
" (marked with &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43727,7 +43727,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"Esta asignatura cumple %u de %u indicadores."
" &iexcl;ES <strong>MUY IMPORTANTE</strong> QUE CUMPLA LOS %u INDICADORES!<br />"
"Por favor, vaya a"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" verifique qu&eacute; indicadores no se satisfacen"
" (marcados con &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43736,7 +43736,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"This course fulfills %u out of %u indicators."
" IT IS <strong>VERY IMPORTANT</strong> THAT FULLFILLS %u INDICATORS!<br />"
"Please go to"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" check what indicators are not fullfilled"
" (marked with &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43745,7 +43745,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"This course fulfills %u out of %u indicators."
" IT IS <strong>VERY IMPORTANT</strong> THAT FULLFILLS %u INDICATORS!<br />"
"Please go to"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" check what indicators are not fullfilled"
" (marked with &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"
@ -43754,7 +43754,7 @@ const char *Txt_This_course_fulfills_X_out_of_Y_indicators_ = // Warning: it is
"This course fulfills %u out of %u indicators."
" IT IS <strong>VERY IMPORTANT</strong> THAT FULLFILLS %u INDICATORS!<br />"
"Please go to"
" <a href=\"%s/?CrsCod=%ld&amp;ActCod=%ld\" target=\"_blank\">"
" <a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\">"
"%s &gt; %s &gt; %s</a>,"
" check what indicators are not fullfilled"
" (marked with &quot;<span class=\"DAT_SMALL_RED\">%s</span>&quot;)"

View File

@ -7393,7 +7393,7 @@ void Usr_ShowUserProfile (void)
/***** Get user *****/
if (Gbl.Usrs.Other.UsrDat.UsrCod < 0)
{
Par_GetParToText ("Usr",Nickname,Nck_MAX_BYTES_NICKNAME_WITH_ARROBA);
Par_GetParToText ("usr",Nickname,Nck_MAX_BYTES_NICKNAME_WITH_ARROBA);
if ((OtherUsrCod = Nck_GetUsrCodFromNickname (Nickname)) > 0)
{
Gbl.Usrs.Other.UsrDat.UsrCod = OtherUsrCod;
@ -7492,8 +7492,8 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat)
"</td>"
"<td class=\"DAT\""
" style=\"text-align:left; vertical-align:middle;\">"
"<a href=\"%s/%s?Usr=@%s\" class=\"DAT\" target=\"_blank\">"
"%s/%s?Usr=@%s"
"<a href=\"%s/%s?usr=@%s\" class=\"DAT\" target=\"_blank\">"
"%s/%s?usr=@%s"
"</a>"
"</td>"
"</tr>",