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'; UsrDat->IDs.List[NumID].ID[ID_MAX_LENGTH_USR_ID] = '\0';
/* Get if ID is confirmed from row[1] */ /* 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]); Asg->AsgCod = Str_ConvertStrCodToLongCod (row[0]);
/* Get whether the assignment is hidden or not (row[1]) */ /* 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]) */ /* Get author of the assignment (row[2]) */
Asg->UsrCod = Str_ConvertStrCodToLongCod (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]); Att->CrsCod = Str_ConvertStrCodToLongCod (row[1]);
/* Get whether the attendance event is hidden or not (row[2]) */ /* 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]) */ /* Get author of the attendance event (row[3]) */
Att->UsrCod = Str_ConvertStrCodToLongCod (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); row = mysql_fetch_row (mysql_res);
/* Get if present (row[0]) */ /* Get if present (row[0]) */
*Present = (Str_ConvertToUpperLetter (row[0][0]) == 'Y'); *Present = (row[0][0] == 'Y');
} }
else // User is not present else // User is not present
{ {
@ -2462,7 +2462,7 @@ static bool Att_CheckIfUsrIsPresentInAttEventAndGetComments (long AttCod,long Us
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
/* Get if present (row[0]) */ /* Get if present (row[0]) */
Present = (Str_ConvertToUpperLetter (row[0][0]) == 'Y'); Present = (row[0][0] == 'Y');
/* Get student's comment (row[1]) */ /* Get student's comment (row[1]) */
strncpy (CommentStd,row[1],Cns_MAX_BYTES_TEXT); 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."); Lay_ShowErrorAndExit ("Wrong code of banner.");
/* Get if banner is hidden (row[1]) */ /* 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]) */ /* Get the short name of the banner (row[2]) */
strcpy (Ban->ShortName,row[2]); strcpy (Ban->ShortName,row[2]);
@ -236,7 +236,7 @@ void Ban_GetDataOfBannerByCod (struct Banner *Ban)
unsigned long NumRows; unsigned long NumRows;
/***** Clear data *****/ /***** Clear data *****/
Ban->IsHidden = false; Ban->Hidden = false;
Ban->ShortName[0] = Ban->FullName[0] = Ban->Img[0] = Ban->WWW[0] = '\0'; Ban->ShortName[0] = Ban->FullName[0] = Ban->Img[0] = Ban->WWW[0] = '\0';
/***** Check if banner code is correct *****/ /***** Check if banner code is correct *****/
@ -254,7 +254,7 @@ void Ban_GetDataOfBannerByCod (struct Banner *Ban)
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
/* Get if the banner is hidden (row[0]) */ /* 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]) */ /* Get the short name of the banner (row[1]) */
strcpy (Ban->ShortName,row[1]); strcpy (Ban->ShortName,row[1]);
@ -324,18 +324,18 @@ static void Ban_ListBannersForEdition (void)
/* Put icon to hide/show banner */ /* Put icon to hide/show banner */
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Act_FormStart (Ban->IsHidden ? ActShoBan : Act_FormStart (Ban->Hidden ? ActShoBan :
ActHidBan); ActHidBan);
Ban_PutParamBanCod (Ban->BanCod); Ban_PutParamBanCod (Ban->BanCod);
fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s\"" fprintf (Gbl.F.Out,"<input type=\"image\" src=\"%s/%s\""
" alt=\"%s\" title=\"%s\" class=\"ICON20x20\" />", " alt=\"%s\" title=\"%s\" class=\"ICON20x20\" />",
Gbl.Prefs.IconsURL, Gbl.Prefs.IconsURL,
Ban->IsHidden ? "eye-slash-on64x64.png" : Ban->Hidden ? "eye-slash-on64x64.png" :
"eye-on64x64.png", "eye-on64x64.png",
Ban->IsHidden ? Txt_Show : Ban->Hidden ? Txt_Show :
Txt_Hide, Txt_Hide,
Ban->IsHidden ? Txt_Show : Ban->Hidden ? Txt_Show :
Txt_Hide); Txt_Hide);
Act_FormEnd (); Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -343,8 +343,8 @@ static void Ban_ListBannersForEdition (void)
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%ld&nbsp;" "%ld&nbsp;"
"</td>", "</td>",
Ban->IsHidden ? "DAT_LIGHT" : Ban->Hidden ? "DAT_LIGHT" :
"DAT", "DAT",
Ban->BanCod); Ban->BanCod);
/* Banner short name */ /* Banner short name */
@ -490,7 +490,7 @@ static void Ban_ShowOrHideBanner (bool Hide)
Ban_GetDataOfBannerByCod (&Ban); Ban_GetDataOfBannerByCod (&Ban);
/***** Mark file as hidden/visible in database *****/ /***** Mark file as hidden/visible in database *****/
if (Ban.IsHidden != Hide) if (Ban.Hidden != Hide)
{ {
sprintf (Query,"UPDATE banners SET Hidden='%c'" sprintf (Query,"UPDATE banners SET Hidden='%c'"
" WHERE BanCod='%ld'", " WHERE BanCod='%ld'",

View File

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

View File

@ -135,14 +135,15 @@
/****************************** Public constants *****************************/ /****************************** 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 CSS_FILE "swad15.229.css"
#define JS_FILE "swad15.238.1.js" #define JS_FILE "swad15.238.1.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 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.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.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) 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? *****/ /***** User has accepted joining to this course/to any course in degree/to any course? *****/
if (WriteColumnAccepted) if (WriteColumnAccepted)
{ {
Accepted = (Str_ConvertToUpperLetter (row[7][0]) == 'Y'); Accepted = (row[7][0] == 'Y');
fprintf (Gbl.F.Out,"<td class=\"BT %s\">" fprintf (Gbl.F.Out,"<td class=\"BT %s\">"
"<img src=\"%s/%s16x16.gif\"" "<img src=\"%s/%s16x16.gif\""
" alt=\"%s\" title=\"%s\"" " 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); row = mysql_fetch_row (mysql_res);
/* File is hidden? (row[0]) */ /* File is hidden? (row[0]) */
IsHidden = (Str_ConvertToUpperLetter (row[0][0]) == 'Y'); IsHidden = (row[0][0] == 'Y');
} }
else else
Brw_AddPathToDB (-1L,FileType, Brw_AddPathToDB (-1L,FileType,
@ -10245,7 +10245,7 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
case Brw_ADMI_DOCUM_DEG: case Brw_ADMI_DOCUM_DEG:
case Brw_SHOW_DOCUM_CRS: case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[7][0]) == 'Y'); FileMetadata->IsHidden = (row[7][0] == 'Y');
break; break;
default: default:
FileMetadata->IsHidden = false; FileMetadata->IsHidden = false;
@ -10267,7 +10267,7 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
case Brw_SHOW_DOCUM_CRS: case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS: case Brw_ADMI_SHARE_CRS:
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[8][0]) == 'Y'); FileMetadata->IsPublic = (row[8][0] == 'Y');
break; break;
default: default:
FileMetadata->IsPublic = false; FileMetadata->IsPublic = false;
@ -10375,7 +10375,7 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
case Brw_ADMI_DOCUM_DEG: case Brw_ADMI_DOCUM_DEG:
case Brw_SHOW_DOCUM_CRS: case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[7][0]) == 'Y'); FileMetadata->IsHidden = (row[7][0] == 'Y');
break; break;
default: default:
FileMetadata->IsHidden = false; FileMetadata->IsHidden = false;
@ -10397,7 +10397,7 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
case Brw_SHOW_DOCUM_CRS: case Brw_SHOW_DOCUM_CRS:
case Brw_ADMI_DOCUM_CRS: case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS: case Brw_ADMI_SHARE_CRS:
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[8][0]) == 'Y'); FileMetadata->IsPublic = (row[8][0] == 'Y');
break; break;
default: default:
FileMetadata->IsPublic = false; 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); 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]) */ /* 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]) */ /* 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]) */ /* 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) */ /* Get open time (row[5] holds the open time UTC) */
Gbl.CurrentCrs.Grps.GrpTypes.LstGrpTypes[NumRow].OpenTimeUTC = Dat_GetUNIXTimeFromStr (row[5]); 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); Grp->NumStudents = Grp_CountNumStdsInGrp (Grp->GrpCod);
/* Get whether group is open ('Y') or closed ('N') (row[3]) */ /* 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]) */ /* 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. 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 *****/ /***** Get some data of group type *****/
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
strcpy (GrpTyp->GrpTypName,row[0]); strcpy (GrpTyp->GrpTypName,row[0]);
GrpTyp->MandatoryEnrollment = (Str_ConvertToUpperLetter (row[1][0]) == 'Y'); GrpTyp->MandatoryEnrollment = (row[1][0] == 'Y');
GrpTyp->MultipleEnrollment = (Str_ConvertToUpperLetter (row[2][0]) == 'Y'); GrpTyp->MultipleEnrollment = (row[2][0] == 'Y');
GrpTyp->MustBeOpened = (Str_ConvertToUpperLetter (row[3][0]) == 'Y'); GrpTyp->MustBeOpened = (row[3][0] == 'Y');
GrpTyp->OpenTimeUTC = Dat_GetUNIXTimeFromStr (row[4]); GrpTyp->OpenTimeUTC = Dat_GetUNIXTimeFromStr (row[4]);
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
@ -2619,7 +2619,7 @@ static bool Grp_GetMultipleEnrollmentOfAGroupType (long GrpTypCod)
/***** Get multiple enrollment *****/ /***** Get multiple enrollment *****/
row = mysql_fetch_row (mysql_res); 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 *****/ /***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res); DB_FreeMySQLResult (&mysql_res);
@ -2667,7 +2667,7 @@ void Grp_GetDataOfGroupByCod (struct GroupData *GrpDat)
strcpy (GrpDat->GrpTypName,row[2]); strcpy (GrpDat->GrpTypName,row[2]);
/* Get whether a student may be in one or multiple groups (row[3]) */ /* 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]) */ /* Get the name of the group (row[4]) */
strcpy (GrpDat->GrpName,row[4]); strcpy (GrpDat->GrpName,row[4]);
@ -2676,10 +2676,10 @@ void Grp_GetDataOfGroupByCod (struct GroupData *GrpDat)
GrpDat->MaxStudents = Grp_ConvertToNumMaxStdsGrp (row[5]); GrpDat->MaxStudents = Grp_ConvertToNumMaxStdsGrp (row[5]);
/* Get whether group is open or closed (row[6]) */ /* 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]) */ /* 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 *****/ /***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res); DB_FreeMySQLResult (&mysql_res);

View File

@ -1522,7 +1522,7 @@ void Inf_GetAndCheckInfoSrcFromDB (long CrsCod,Inf_InfoType_t InfoType,
*InfoSrc = Inf_ConvertFromStrDBToInfoSrc (row[0]); *InfoSrc = Inf_ConvertFromStrDBToInfoSrc (row[0]);
/* Get if students must read info (row[1]) */ /* 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 *****/ /***** Free structure that stores the query result *****/

View File

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

View File

@ -2698,7 +2698,7 @@ static void Msg_GetStatusOfSentMsg (long MsgCod,bool *Expanded)
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
/***** Get if message is expanded *****/ /***** Get if message is expanded *****/
*Expanded = (Str_ConvertToUpperLetter (row[0][0]) == 'Y'); *Expanded = (row[0][0] == 'Y');
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res); 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); row = mysql_fetch_row (mysql_res);
/***** Get if message has been read by me *****/ /***** 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 *****/ /***** Get if message has been replied *****/
*Replied = (Str_ConvertToUpperLetter (row[1][0]) == 'Y'); *Replied = (row[1][0] == 'Y');
/***** Get if message is expanded *****/ /***** Get if message is expanded *****/
*Expanded = (Str_ConvertToUpperLetter (row[2][0]) == 'Y'); *Expanded = (row[2][0] == 'Y');
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res); DB_FreeMySQLResult (&mysql_res);
@ -3316,10 +3316,10 @@ static void Msg_WriteMsgTo (Msg_TypeOfMessages_t TypeOfMessages,long MsgCod)
UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]); UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
/* Get if message has been deleted by recipient */ /* 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 */ /* Get if message has been read by recipient */
OpenByDst = (Str_ConvertToUpperLetter (row[2][0]) == 'Y'); OpenByDst = (row[2][0] == 'Y');
/* Get user's data */ /* Get user's data */
UsrValid = Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat); 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]); SocNot->HieCod = Str_ConvertStrCodToLongCod (row[4]);
/***** File/post... unavailable (row[5]) *****/ /***** 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]) *****/ /***** Get time of the note (row[6]) *****/
SocNot->DateTimeUTC = Dat_GetUNIXTimeFromStr (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); row = mysql_fetch_row (mysql_res);
/* Get if public (row[0]) */ /* Get if public (row[0]) */
Public = (Str_ConvertToUpperLetter (row[0][0]) == 'Y') ? 1 : Public = (row[0][0] == 'Y') ? 1 :
0; 0;
/* Get number of files (row[1]) */ /* Get number of files (row[1]) */
if (sscanf (row[1],"%lu",&NumFiles[Public]) != 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."); Lay_ShowErrorAndExit ("Wrong survey course.");
/* Get whether the survey is hidden (row[3]) */ /* 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]) */ /* Get roles (row[4]) */
if (sscanf (row[4],"%u",&Svy->Roles) != 1) 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"); "TEST_IMG_SHOW_STEM");
if (Gbl.Action.Act == ActSeeTst) 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 else // Assessing exam / Viewing old exam
{ {
Tst_WriteAnswersOfAQstAssessExam (NumQst,QstCod,ScoreThisQst,AnswerIsNotBlank); 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>"); fprintf (Gbl.F.Out,"<tr>");
if (!ShowOnlyEnabledTags) if (!ShowOnlyEnabledTags)
{ {
TagHidden = (Str_ConvertToUpperLetter (row[2][0]) == 'Y'); TagHidden = (row[2][0] == 'Y');
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<img src=\"%s/", "<img src=\"%s/",
Gbl.Prefs.IconsURL); Gbl.Prefs.IconsURL);
@ -1700,7 +1700,7 @@ static void Tst_ShowFormEditTags (void)
fprintf (Gbl.F.Out,"<tr>"); fprintf (Gbl.F.Out,"<tr>");
/* Form to enable / disable this tag */ /* 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]); Tst_PutIconEnable (TagCod,row[1]);
else else
Tst_PutIconDisable (TagCod,row[1]); 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_PutHiddenParamChar ("OnlyThisQst",'Y'); // If editing only one question, don't edit others
Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Test.SelectedOrderType); Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Test.SelectedOrderType);
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"Shuffle\" value=\"Y\""); 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," checked=\"checked\"");
fprintf (Gbl.F.Out," onclick=\"document.getElementById('%s').submit();\" />", fprintf (Gbl.F.Out," onclick=\"document.getElementById('%s').submit();\" />",
Gbl.Form.Id); Gbl.Form.Id);
@ -3041,7 +3041,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">", "<td class=\"BT%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (Str_ConvertToUpperLetter (row[6][0]) == 'Y') if (row[6][0] == 'Y')
fprintf (Gbl.F.Out,"<img src=\"%s/ok_on16x16.gif\"" fprintf (Gbl.F.Out,"<img src=\"%s/ok_on16x16.gif\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"ICON20x20\" />", " 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); Img_GetImageNameTitleAndURLFromRow (row[3],row[4],row[5],&Gbl.Test.Answer.Options[NumOpt].Image);
/***** Assign correctness (row[6]) of this answer (this option) *****/ /***** 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 *****/ /***** 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) *****/ /***** 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 *****/ /***** 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]); Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[0]);
/* Get shuffle (row[1]) */ /* 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]) */ /* Get the stem of the question from the database (row[2]) */
strncpy (Stem,row[2],Cns_MAX_BYTES_TEXT); strncpy (Stem,row[2],Cns_MAX_BYTES_TEXT);
@ -5068,7 +5068,7 @@ static void Tst_GetQstDataFromDB (char *Stem,char *Feedback)
/* Copy image */ /* Copy image */
Img_GetImageNameTitleAndURLFromRow (row[3],row[4],row[5],&Gbl.Test.Answer.Options[NumOpt].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; break;
default: default:
break; break;
@ -7145,7 +7145,7 @@ static void Tst_ShowResultsOfTestExams (struct UsrData *UsrDat)
Lay_ShowErrorAndExit ("Wrong code of test exam."); Lay_ShowErrorAndExit ("Wrong code of test exam.");
/* Get if teachers are allowed to see this test exam (row[1]) */ /* 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" : ClassDat = Gbl.Test.AllowTeachers ? "DAT" :
"DAT_LIGHT"; "DAT_LIGHT";
ICanViewExam = ItsMe || Gbl.Test.AllowTeachers; 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]); Gbl.Usrs.Other.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0]);
/* Get if teachers are allowed to see this test exam (row[1]) */ /* 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) */ /* Get date-time (row[2] holds UTC date-time) */
*TstTimeUTC = Dat_GetUNIXTimeFromStr (row[2]); *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 || if (Gbl.Test.AnswerType == Tst_ANS_UNIQUE_CHOICE ||
Gbl.Test.AnswerType == Tst_ANS_MULTIPLE_CHOICE) Gbl.Test.AnswerType == Tst_ANS_MULTIPLE_CHOICE)
fprintf (Gbl.Test.XML.FileXML," shuffle=\"%s\"", fprintf (Gbl.Test.XML.FileXML," shuffle=\"%s\"",
Str_ConvertToUpperLetter (row[3][0]) == 'Y' ? "yes" : (row[3][0] == 'Y') ? "yes" :
"no"); "no");
fprintf (Gbl.Test.XML.FileXML,">"); fprintf (Gbl.Test.XML.FileXML,">");
TsI_WriteAnswersOfAQstXML (QstCod); TsI_WriteAnswersOfAQstXML (QstCod);
fprintf (Gbl.Test.XML.FileXML,"</answer>%s",Txt_NEW_LINE); 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"); fprintf (Gbl.Test.XML.FileXML,"<option");
if (Gbl.Test.AnswerType != Tst_ANS_TEXT) if (Gbl.Test.AnswerType != Tst_ANS_TEXT)
fprintf (Gbl.Test.XML.FileXML," correct=\"%s\"", fprintf (Gbl.Test.XML.FileXML," correct=\"%s\"",
Str_ConvertToUpperLetter (row[6][0]) == 'Y' ? "yes" : (row[6][0] == 'Y') ? "yes" :
"no"); "no");
fprintf (Gbl.Test.XML.FileXML,">%s" fprintf (Gbl.Test.XML.FileXML,">%s"
"<text>%s</text>%s", "<text>%s</text>%s",
Txt_NEW_LINE, 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 case Sco_SCOPE_CRS: // Course
// Query result has a column with the acceptation // Query result has a column with the acceptation
UsrInList->RoleInCurrentCrsDB = Rol_ConvertUnsignedStrToRole (row[9]); UsrInList->RoleInCurrentCrsDB = Rol_ConvertUnsignedStrToRole (row[9]);
UsrInList->Accepted = (Str_ConvertToUpperLetter (row[10][0]) == 'Y'); UsrInList->Accepted = (row[10][0] == 'Y');
break; break;
} }
break; break;
@ -4552,7 +4552,7 @@ static void Usr_GetListUsrsFromQuery (const char *Query,Rol_Role_t Role,Sco_Scop
case Sco_SCOPE_CRS: // Course case Sco_SCOPE_CRS: // Course
// Query result has a column with the acceptation // Query result has a column with the acceptation
UsrInList->RoleInCurrentCrsDB = Rol_ConvertUnsignedStrToRole (row[9]); UsrInList->RoleInCurrentCrsDB = Rol_ConvertUnsignedStrToRole (row[9]);
UsrInList->Accepted = (Str_ConvertToUpperLetter (row[10][0]) == 'Y'); UsrInList->Accepted = (row[10][0] == 'Y');
break; break;
} }
break; break;
@ -6573,7 +6573,7 @@ void Usr_GetMyPrefAboutListWithPhotosFromDB (void)
/* Get number of columns in class photo */ /* Get number of columns in class photo */
Gbl.Usrs.Listing.WithPhotos = Usr_LIST_WITH_PHOTOS_DEF; Gbl.Usrs.Listing.WithPhotos = Usr_LIST_WITH_PHOTOS_DEF;
row = mysql_fetch_row (mysql_res); 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 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."); Lay_ShowErrorAndExit ("Error when checking if listing of users must show photos.");