mirror of https://github.com/acanas/swad-core.git
Version 14.79.4
This commit is contained in:
parent
c2e8ff6567
commit
e9ccb15657
|
@ -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&chs=%ux%u&chl=%s/?CrsCod=%ld%%26ActCod=%ld\""
|
||||
"<img src=\"https://chart.googleapis.com/chart?cht=qr&chs=%ux%u&chl=%s/?crs=%ld%%26act=%ld\""
|
||||
" alt=\"%s\" style=\"width:200px; height:200px;\" />"
|
||||
"</div>",
|
||||
200,200,
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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&ActCod=%ld\" target=\"_blank\" class=\"DAT\">"
|
||||
"<a href=\"%s/?crs=%ld&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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
"%s/?CrsCod=%ld&ActCod=%ld"
|
||||
"<a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s/?crs=%ld&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&ActCod=%ld\" target=\"_blank\">"
|
||||
"%s/?CrsCod=%ld&ActCod=%ld"
|
||||
"</a></td>"
|
||||
"<a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s/?crs=%ld&act=%ld"
|
||||
"</a>"
|
||||
"</td>"
|
||||
|
||||
"<td class=\"%s\" style=\"text-align:right;"
|
||||
" background-color:%s;\">"
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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&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");
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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>",
|
||||
|
|
36
swad_text.c
36
swad_text.c
|
@ -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."
|
||||
" ¡ES <strong>MUY IMPORTANTE</strong> QUE CUMPLA LOS %u INDICADORES!<br />"
|
||||
"Por favor, vaya a"
|
||||
" <a href=\"%s/?CrsCod=%ld&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" verifique qué indicadores no se satisfacen"
|
||||
" (marcados con "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" check what indicators are not fullfilled"
|
||||
" (marked with "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" check what indicators are not fullfilled"
|
||||
" (marked with "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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."
|
||||
" ¡ES <strong>MUY IMPORTANTE</strong> QUE CUMPLA LOS %u INDICADORES!<br />"
|
||||
"Por favor, vaya a"
|
||||
" <a href=\"%s/?CrsCod=%ld&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" verifique qué indicadores no se satisfacen"
|
||||
" (marcados con "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" check what indicators are not fullfilled"
|
||||
" (marked with "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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."
|
||||
" ¡ES <strong>MUY IMPORTANTE</strong> QUE CUMPLA LOS %u INDICADORES!<br />"
|
||||
"Por favor, vaya a"
|
||||
" <a href=\"%s/?CrsCod=%ld&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" verifique qué indicadores no se satisfacen"
|
||||
" (marcados con "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" check what indicators are not fullfilled"
|
||||
" (marked with "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" check what indicators are not fullfilled"
|
||||
" (marked with "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
@ -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&ActCod=%ld\" target=\"_blank\">"
|
||||
" <a href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\">"
|
||||
"%s > %s > %s</a>,"
|
||||
" check what indicators are not fullfilled"
|
||||
" (marked with "<span class=\"DAT_SMALL_RED\">%s</span>")"
|
||||
|
|
|
@ -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>",
|
||||
|
|
Loading…
Reference in New Issue