Version 15.248.2

This commit is contained in:
Antonio Cañas Vargas 2016-09-07 18:48:10 +02:00
parent ffec62f2b1
commit 02f2e1c250
18 changed files with 73 additions and 72 deletions

View File

@ -122,7 +122,7 @@ void ID_GetListIDsFromUsrCod (struct UsrData *UsrDat)
UsrDat->IDs.List[NumID].ID[ID_MAX_LENGTH_USR_ID] = '\0';
/* Get if ID is confirmed from row[1] */
UsrDat->IDs.List[NumID].Confirmed = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
UsrDat->IDs.List[NumID].Confirmed = (row[1][0] == 'Y');
}
}

View File

@ -712,7 +712,7 @@ static void Asg_GetDataOfAssignment (struct Assignment *Asg,const char *Query)
Asg->AsgCod = Str_ConvertStrCodToLongCod (row[0]);
/* Get whether the assignment is hidden or not (row[1]) */
Asg->Hidden = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Asg->Hidden = (row[1][0] == 'Y');
/* Get author of the assignment (row[2]) */
Asg->UsrCod = Str_ConvertStrCodToLongCod (row[2]);

View File

@ -747,7 +747,7 @@ bool Att_GetDataOfAttEventByCod (struct AttendanceEvent *Att)
Att->CrsCod = Str_ConvertStrCodToLongCod (row[1]);
/* Get whether the attendance event is hidden or not (row[2]) */
Att->Hidden = (Str_ConvertToUpperLetter (row[2][0]) == 'Y');
Att->Hidden = (row[2][0] == 'Y');
/* Get author of the attendance event (row[3]) */
Att->UsrCod = Str_ConvertStrCodToLongCod (row[3]);
@ -2413,7 +2413,7 @@ static bool Att_CheckIfUsrIsInTableAttUsr (long AttCod,long UsrCod,bool *Present
row = mysql_fetch_row (mysql_res);
/* Get if present (row[0]) */
*Present = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
*Present = (row[0][0] == 'Y');
}
else // User is not present
{
@ -2462,7 +2462,7 @@ static bool Att_CheckIfUsrIsPresentInAttEventAndGetComments (long AttCod,long Us
row = mysql_fetch_row (mysql_res);
/* Get if present (row[0]) */
Present = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
Present = (row[0][0] == 'Y');
/* Get student's comment (row[1]) */
strncpy (CommentStd,row[1],Cns_MAX_BYTES_TEXT);

View File

@ -201,7 +201,7 @@ static void Ban_GetListBanners (const char *Query)
Lay_ShowErrorAndExit ("Wrong code of banner.");
/* Get if banner is hidden (row[1]) */
Ban->IsHidden = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Ban->Hidden = (row[1][0] == 'Y');
/* Get the short name of the banner (row[2]) */
strcpy (Ban->ShortName,row[2]);
@ -236,7 +236,7 @@ void Ban_GetDataOfBannerByCod (struct Banner *Ban)
unsigned long NumRows;
/***** Clear data *****/
Ban->IsHidden = false;
Ban->Hidden = false;
Ban->ShortName[0] = Ban->FullName[0] = Ban->Img[0] = Ban->WWW[0] = '\0';
/***** Check if banner code is correct *****/
@ -254,7 +254,7 @@ void Ban_GetDataOfBannerByCod (struct Banner *Ban)
row = mysql_fetch_row (mysql_res);
/* Get if the banner is hidden (row[0]) */
Ban->IsHidden = (row[0][0] == 'Y');
Ban->Hidden = (row[0][0] == 'Y');
/* Get the short name of the banner (row[1]) */
strcpy (Ban->ShortName,row[1]);
@ -324,18 +324,18 @@ static void Ban_ListBannersForEdition (void)
/* Put icon to hide/show banner */
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Act_FormStart (Ban->IsHidden ? ActShoBan :
ActHidBan);
Act_FormStart (Ban->Hidden ? ActShoBan :
ActHidBan);
Ban_PutParamBanCod (Ban->BanCod);
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s\""
" alt=\"%s\" title=\"%s\" class=\"ICON20x20\" />",
Gbl.Prefs.IconsURL,
Ban->IsHidden ? "eye-slash-on64x64.png" :
"eye-on64x64.png",
Ban->IsHidden ? Txt_Show :
Txt_Hide,
Ban->IsHidden ? Txt_Show :
Txt_Hide);
Ban->Hidden ? "eye-slash-on64x64.png" :
"eye-on64x64.png",
Ban->Hidden ? Txt_Show :
Txt_Hide,
Ban->Hidden ? Txt_Show :
Txt_Hide);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
@ -343,8 +343,8 @@ static void Ban_ListBannersForEdition (void)
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%ld&nbsp;"
"</td>",
Ban->IsHidden ? "DAT_LIGHT" :
"DAT",
Ban->Hidden ? "DAT_LIGHT" :
"DAT",
Ban->BanCod);
/* Banner short name */
@ -490,7 +490,7 @@ static void Ban_ShowOrHideBanner (bool Hide)
Ban_GetDataOfBannerByCod (&Ban);
/***** Mark file as hidden/visible in database *****/
if (Ban.IsHidden != Hide)
if (Ban.Hidden != Hide)
{
sprintf (Query,"UPDATE banners SET Hidden='%c'"
" WHERE BanCod='%ld'",

View File

@ -40,7 +40,7 @@
struct Banner
{
long BanCod;
bool IsHidden;
bool Hidden;
char ShortName[Ban_MAX_LENGTH_SHORT_NAME+1];
char FullName[Ban_MAX_LENGTH_FULL_NAME+1];
char Img[Ban_MAX_LENGTH_IMAGE+1];

View File

@ -135,14 +135,15 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.248.1 (2016-09-07)"
#define Log_PLATFORM_VERSION "SWAD 15.248.2 (2016-09-07)"
#define CSS_FILE "swad15.229.css"
#define JS_FILE "swad15.238.1.js"
// 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 15.248.1: Sep 07, 2016 Fix bugs related to hidden attendance events, reported by Rubén Martín Hidalgo. (204200 lines)
Version 15.248.2: Sep 07, 2016 Code refactoring related to boolean fields in database. (204201 lines)
Version 15.248.1: Sep 07, 2016 Fixed bugs related to hidden attendance events, reported by Rubén Martín Hidalgo. (204200 lines)
Version 15.248: Sep 06, 2016 New web service function removeAttendanceEvent. (204186 lines)
Version 15.247.2: Jul 30, 2016 Fixed bug in listings of users, reported by José Abraham Mora Sánchez. (204104 lines)
Version 15.247.1: Jul 27, 2016 In listings of users ready for printing, show institution name instead of logo. (204102 lines)

View File

@ -3223,7 +3223,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
/***** User has accepted joining to this course/to any course in degree/to any course? *****/
if (WriteColumnAccepted)
{
Accepted = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
Accepted = (row[7][0] == 'Y');
fprintf (Gbl.F.Out,"<td class=\"BT %s\">"
"<img src=\"%s/%s16x16.gif\""
" alt=\"%s\" title=\"%s\""

View File

@ -9135,7 +9135,7 @@ bool Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Brw_FileType_t FileType,const cha
row = mysql_fetch_row (mysql_res);
/* File is hidden? (row[0]) */
IsHidden = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
IsHidden = (row[0][0] == 'Y');
}
else
Brw_AddPathToDB (-1L,FileType,
@ -10245,7 +10245,7 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
case Brw_ADMI_DOCUM_DEG:
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
FileMetadata->IsHidden = (row[7][0] == 'Y');
break;
default:
FileMetadata->IsHidden = false;
@ -10267,7 +10267,7 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[8][0]) == 'Y');
FileMetadata->IsPublic = (row[8][0] == 'Y');
break;
default:
FileMetadata->IsPublic = false;
@ -10375,7 +10375,7 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
case Brw_ADMI_DOCUM_DEG:
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
FileMetadata->IsHidden = (row[7][0] == 'Y');
break;
default:
FileMetadata->IsHidden = false;
@ -10397,7 +10397,7 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[8][0]) == 'Y');
FileMetadata->IsPublic = (row[8][0] == 'Y');
break;
default:
FileMetadata->IsPublic = false;

View File

@ -2335,13 +2335,13 @@ void Grp_GetListGrpTypesInThisCrs (Grp_WhichGroupTypes_t WhichGroupTypes)
strncpy (Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].GrpTypName,row[1],MAX_LENGTH_GROUP_TYPE_NAME);
/* Is it mandatory to register in any groups of this type? (row[2]) */
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].MandatoryEnrollment = (Str_ConvertToUpperLetter (row[2][0]) == 'Y');
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].MandatoryEnrollment = (row[2][0] == 'Y');
/* Is it possible to register in multiple groups of this type? (row[3]) */
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].MultipleEnrollment = (Str_ConvertToUpperLetter (row[3][0]) == 'Y');
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].MultipleEnrollment = (row[3][0] == 'Y');
/* Groups of this type must be opened? (row[4]) */
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].MustBeOpened = (Str_ConvertToUpperLetter (row[4][0]) == 'Y');
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].MustBeOpened = (row[4][0] == 'Y');
/* Get open time (row[5] holds the open time UTC) */
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].OpenTimeUTC = Dat_GetUNIXTimeFromStr (row[5]);
@ -2469,10 +2469,10 @@ void Grp_GetListGrpTypesAndGrpsInThisCrs (Grp_WhichGroupTypes_t WhichGroupTypes)
Grp->NumStudents = Grp_CountNumStdsInGrp (Grp->GrpCod);
/* Get whether group is open ('Y') or closed ('N') (row[3]) */
Grp->Open = (Str_ConvertToUpperLetter (row[3][0]) == 'Y');
Grp->Open = (row[3][0] == 'Y');
/* Get whether group have file zones ('Y') or not ('N') (row[4]) */
Grp->FileZones = (Str_ConvertToUpperLetter (row[4][0]) == 'Y');
Grp->FileZones = (row[4][0] == 'Y');
}
}
else // Error: groups should be found, but really they haven't be found. This never should happen.
@ -2591,9 +2591,9 @@ static void Grp_GetDataOfGroupTypeByCod (struct GroupType *GrpTyp)
/***** Get some data of group type *****/
row = mysql_fetch_row (mysql_res);
strcpy (GrpTyp->GrpTypName,row[0]);
GrpTyp->MandatoryEnrollment = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
GrpTyp->MultipleEnrollment = (Str_ConvertToUpperLetter (row[2][0]) == 'Y');
GrpTyp->MustBeOpened = (Str_ConvertToUpperLetter (row[3][0]) == 'Y');
GrpTyp->MandatoryEnrollment = (row[1][0] == 'Y');
GrpTyp->MultipleEnrollment = (row[2][0] == 'Y');
GrpTyp->MustBeOpened = (row[3][0] == 'Y');
GrpTyp->OpenTimeUTC = Dat_GetUNIXTimeFromStr (row[4]);
/***** Free structure that stores the query result *****/
@ -2619,7 +2619,7 @@ static bool Grp_GetMultipleEnrollmentOfAGroupType (long GrpTypCod)
/***** Get multiple enrollment *****/
row = mysql_fetch_row (mysql_res);
MultipleEnrollment = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
MultipleEnrollment = (row[0][0] == 'Y');
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -2667,7 +2667,7 @@ void Grp_GetDataOfGroupByCod (struct GroupData *GrpDat)
strcpy (GrpDat->GrpTypName,row[2]);
/* Get whether a student may be in one or multiple groups (row[3]) */
GrpDat->MultipleEnrollment = (Str_ConvertToUpperLetter (row[3][0]) == 'Y');
GrpDat->MultipleEnrollment = (row[3][0] == 'Y');
/* Get the name of the group (row[4]) */
strcpy (GrpDat->GrpName,row[4]);
@ -2676,10 +2676,10 @@ void Grp_GetDataOfGroupByCod (struct GroupData *GrpDat)
GrpDat->MaxStudents = Grp_ConvertToNumMaxStdsGrp (row[5]);
/* Get whether group is open or closed (row[6]) */
GrpDat->Open = (Str_ConvertToUpperLetter (row[6][0]) == 'Y');
GrpDat->Open = (row[6][0] == 'Y');
/* Get whether group has file zones (row[7]) */
GrpDat->FileZones = (Str_ConvertToUpperLetter (row[7][0]) == 'Y');
GrpDat->FileZones = (row[7][0] == 'Y');
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);

View File

@ -1522,7 +1522,7 @@ void Inf_GetAndCheckInfoSrcFromDB (long CrsCod,Inf_InfoType_t InfoType,
*InfoSrc = Inf_ConvertFromStrDBToInfoSrc (row[0]);
/* Get if students must read info (row[1]) */
*MustBeRead = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');;
*MustBeRead = (row[1][0] == 'Y');
}
/***** Free structure that stores the query result *****/

View File

@ -985,7 +985,7 @@ bool Mai_GetEmailFromUsrCod (struct UsrData *UsrDat)
/* Get e-mail */
strcpy (UsrDat->Email,row[0]);
UsrDat->EmailConfirmed = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
UsrDat->EmailConfirmed = (row[1][0] == 'Y');
Found = true;
}
@ -1137,7 +1137,7 @@ void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe)
{
/* Get e-mail */
row = mysql_fetch_row (mysql_res);
Confirmed = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Confirmed = (row[1][0] == 'Y');
if (NumEmail == 1)
/* The first mail is the current one */
@ -1625,7 +1625,7 @@ void Mai_ConfirmEmail (void)
UsrCod,Email);
if (DB_QuerySELECT (Query,&mysql_res,"can not get user's code and e-mail"))
{
Confirmed = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
Confirmed = (row[0][0] == 'Y');
/***** Confirm e-mail *****/
if (Confirmed)

View File

@ -2698,7 +2698,7 @@ static void Msg_GetStatusOfSentMsg (long MsgCod,bool *Expanded)
row = mysql_fetch_row (mysql_res);
/***** Get if message is expanded *****/
*Expanded = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
*Expanded = (row[0][0] == 'Y');
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -2729,13 +2729,13 @@ static void Msg_GetStatusOfReceivedMsg (long MsgCod,bool *Open,bool *Replied,boo
row = mysql_fetch_row (mysql_res);
/***** Get if message has been read by me *****/
*Open = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
*Open = (row[0][0] == 'Y');
/***** Get if message has been replied *****/
*Replied = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
*Replied = (row[1][0] == 'Y');
/***** Get if message is expanded *****/
*Expanded = (Str_ConvertToUpperLetter (row[2][0]) == 'Y');
*Expanded = (row[2][0] == 'Y');
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -3316,10 +3316,10 @@ static void Msg_WriteMsgTo (Msg_TypeOfMessages_t TypeOfMessages,long MsgCod)
UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
/* Get if message has been deleted by recipient */
Deleted = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Deleted = (row[1][0] == 'Y');
/* Get if message has been read by recipient */
OpenByDst = (Str_ConvertToUpperLetter (row[2][0]) == 'Y');
OpenByDst = (row[2][0] == 'Y');
/* Get user's data */
UsrValid = Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);

View File

@ -4464,7 +4464,7 @@ static void Soc_GetDataOfSocialNoteFromRow (MYSQL_ROW row,struct SocialNote *Soc
SocNot->HieCod = Str_ConvertStrCodToLongCod (row[4]);
/***** File/post... unavailable (row[5]) *****/
SocNot->Unavailable = (Str_ConvertToUpperLetter (row[5][0]) == 'Y');
SocNot->Unavailable = (row[5][0] == 'Y');
/***** Get time of the note (row[6]) *****/
SocNot->DateTimeUTC = Dat_GetUNIXTimeFromStr (row[6]);

View File

@ -6456,8 +6456,8 @@ static void Sta_GetNumberOfOERsFromDB (Sco_Scope_t Scope,Brw_License_t License,u
row = mysql_fetch_row (mysql_res);
/* Get if public (row[0]) */
Public = (Str_ConvertToUpperLetter (row[0][0]) == 'Y') ? 1 :
0;
Public = (row[0][0] == 'Y') ? 1 :
0;
/* Get number of files (row[1]) */
if (sscanf (row[1],"%lu",&NumFiles[Public]) != 1)

View File

@ -983,7 +983,7 @@ void Svy_GetDataOfSurveyByCod (struct Survey *Svy)
Lay_ShowErrorAndExit ("Wrong survey course.");
/* Get whether the survey is hidden (row[3]) */
Svy->Status.Visible = (Str_ConvertToUpperLetter (row[3][0]) == 'N');
Svy->Status.Visible = (row[3][0] == 'N');
/* Get roles (row[4]) */
if (sscanf (row[4],"%u",&Svy->Roles) != 1)

View File

@ -991,7 +991,7 @@ static void Tst_WriteQstAndAnsExam (unsigned NumQst,long QstCod,MYSQL_ROW row,
"TEST_IMG_SHOW_STEM");
if (Gbl.Action.Act == ActSeeTst)
Tst_WriteAnswersOfAQstSeeExam (NumQst,QstCod,(Str_ConvertToUpperLetter (row[3][0]) == 'Y'));
Tst_WriteAnswersOfAQstSeeExam (NumQst,QstCod,(row[3][0] == 'Y'));
else // Assessing exam / Viewing old exam
{
Tst_WriteAnswersOfAQstAssessExam (NumQst,QstCod,ScoreThisQst,AnswerIsNotBlank);
@ -1629,7 +1629,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,
fprintf (Gbl.F.Out,"<tr>");
if (!ShowOnlyEnabledTags)
{
TagHidden = (Str_ConvertToUpperLetter (row[2][0]) == 'Y');
TagHidden = (row[2][0] == 'Y');
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<img src=\"%s/",
Gbl.Prefs.IconsURL);
@ -1700,7 +1700,7 @@ static void Tst_ShowFormEditTags (void)
fprintf (Gbl.F.Out,"<tr>");
/* Form to enable / disable this tag */
if (Str_ConvertToUpperLetter (row[2][0]) == 'Y') // Tag disabled
if (row[2][0] == 'Y') // Tag disabled
Tst_PutIconEnable (TagCod,row[1]);
else
Tst_PutIconDisable (TagCod,row[1]);
@ -2816,7 +2816,7 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m
Par_PutHiddenParamChar ("OnlyThisQst",'Y'); // If editing only one question, don't edit others
Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Test.SelectedOrderType);
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"Shuffle\" value=\"Y\"");
if (Str_ConvertToUpperLetter (row[3][0]) == 'Y')
if (row[3][0] == 'Y')
fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," onclick=\"document.getElementById('%s').submit();\" />",
Gbl.Form.Id);
@ -3041,7 +3041,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">",
Gbl.RowEvenOdd);
if (Str_ConvertToUpperLetter (row[6][0]) == 'Y')
if (row[6][0] == 'Y')
fprintf (Gbl.F.Out,"<img src=\"%s/ok_on16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICON20x20\" />",
@ -3457,7 +3457,7 @@ static void Tst_WriteChoiceAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
Img_GetImageNameTitleAndURLFromRow (row[3],row[4],row[5],&Gbl.Test.Answer.Options[NumOpt].Image);
/***** Assign correctness (row[6]) of this answer (this option) *****/
Gbl.Test.Answer.Options[NumOpt].Correct = (Str_ConvertToUpperLetter (row[6][0]) == 'Y');
Gbl.Test.Answer.Options[NumOpt].Correct = (row[6][0] == 'Y');
}
/***** Get indexes for this question from string *****/
@ -3690,7 +3690,7 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Assign correctness (row[6]) of this answer (this option) *****/
Gbl.Test.Answer.Options[NumOpt].Correct = (Str_ConvertToUpperLetter (row[6][0]) == 'Y');
Gbl.Test.Answer.Options[NumOpt].Correct = (row[6][0] == 'Y');
}
/***** Header with the title of each column *****/
@ -4977,7 +4977,7 @@ static void Tst_GetQstDataFromDB (char *Stem,char *Feedback)
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[0]);
/* Get shuffle (row[1]) */
Gbl.Test.Shuffle = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Gbl.Test.Shuffle = (row[1][0] == 'Y');
/* Get the stem of the question from the database (row[2]) */
strncpy (Stem,row[2],Cns_MAX_BYTES_TEXT);
@ -5068,7 +5068,7 @@ static void Tst_GetQstDataFromDB (char *Stem,char *Feedback)
/* Copy image */
Img_GetImageNameTitleAndURLFromRow (row[3],row[4],row[5],&Gbl.Test.Answer.Options[NumOpt].Image);
Gbl.Test.Answer.Options[NumOpt].Correct = (Str_ConvertToUpperLetter (row[6][0]) == 'Y');
Gbl.Test.Answer.Options[NumOpt].Correct = (row[6][0] == 'Y');
break;
default:
break;
@ -7145,7 +7145,7 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
Lay_ShowErrorAndExit ("Wrong code of test exam.");
/* Get if teachers are allowed to see this test exam (row[1]) */
Gbl.Test.AllowTeachers = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Gbl.Test.AllowTeachers = (row[1][0] == 'Y');
ClassDat = Gbl.Test.AllowTeachers ? "DAT" :
"DAT_LIGHT";
ICanViewExam = ItsMe || Gbl.Test.AllowTeachers;
@ -7684,7 +7684,7 @@ static void Tst_GetExamDataByTstCod (long TstCod,time_t *TstTimeUTC,
Gbl.Usrs.Other.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
/* Get if teachers are allowed to see this test exam (row[1]) */
Gbl.Test.AllowTeachers = (Str_ConvertToUpperLetter (row[1][0]) == 'Y');
Gbl.Test.AllowTeachers = (row[1][0] == 'Y');
/* Get date-time (row[2] holds UTC date-time) */
*TstTimeUTC = Dat_GetUNIXTimeFromStr (row[2]);

View File

@ -237,8 +237,8 @@ void TsI_CreateXML (unsigned long NumRows,MYSQL_RES *mysql_res)
if (Gbl.Test.AnswerType == Tst_ANS_UNIQUE_CHOICE ||
Gbl.Test.AnswerType == Tst_ANS_MULTIPLE_CHOICE)
fprintf (Gbl.Test.XML.FileXML," shuffle=\"%s\"",
Str_ConvertToUpperLetter (row[3][0]) == 'Y' ? "yes" :
"no");
(row[3][0] == 'Y') ? "yes" :
"no");
fprintf (Gbl.Test.XML.FileXML,">");
TsI_WriteAnswersOfAQstXML (QstCod);
fprintf (Gbl.Test.XML.FileXML,"</answer>%s",Txt_NEW_LINE);
@ -366,8 +366,8 @@ static void TsI_WriteAnswersOfAQstXML (long QstCod)
fprintf (Gbl.Test.XML.FileXML,"<option");
if (Gbl.Test.AnswerType != Tst_ANS_TEXT)
fprintf (Gbl.Test.XML.FileXML," correct=\"%s\"",
Str_ConvertToUpperLetter (row[6][0]) == 'Y' ? "yes" :
"no");
(row[6][0] == 'Y') ? "yes" :
"no");
fprintf (Gbl.Test.XML.FileXML,">%s"
"<text>%s</text>%s",
Txt_NEW_LINE,

View File

@ -4522,7 +4522,7 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop
case Sco_SCOPE_CRS: // Course
// Query result has a column with the acceptation
UsrInList->RoleInCurrentCrsDB = Rol_ConvertUnsignedStrToRole (row[9]);
UsrInList->Accepted = (Str_ConvertToUpperLetter (row[10][0]) == 'Y');
UsrInList->Accepted = (row[10][0] == 'Y');
break;
}
break;
@ -4552,7 +4552,7 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop
case Sco_SCOPE_CRS: // Course
// Query result has a column with the acceptation
UsrInList->RoleInCurrentCrsDB = Rol_ConvertUnsignedStrToRole (row[9]);
UsrInList->Accepted = (Str_ConvertToUpperLetter (row[10][0]) == 'Y');
UsrInList->Accepted = (row[10][0] == 'Y');
break;
}
break;
@ -6573,7 +6573,7 @@ void Usr_GetMyPrefAboutListWithPhotosFromDB (void)
/* Get number of columns in class photo */
Gbl.Usrs.Listing.WithPhotos = Usr_LIST_WITH_PHOTOS_DEF;
row = mysql_fetch_row (mysql_res);
Gbl.Usrs.Listing.WithPhotos = (Str_ConvertToUpperLetter (row[0][0]) == 'Y');
Gbl.Usrs.Listing.WithPhotos = (row[0][0] == 'Y');
}
else if (NumRows > 1) // Error in databse: more than one row for a user in course
Lay_ShowErrorAndExit ("Error when checking if listing of users must show photos.");