diff --git a/css/swad_desktop.css b/css/swad_desktop.css index 8ff54ba2..60447f75 100644 --- a/css/swad_desktop.css +++ b/css/swad_desktop.css @@ -747,6 +747,15 @@ a:hover img.CENTRE_PHOTO_SHOW .BLUE_FORM_BOLD {color:#4D88A1; font-size:11pt; font-weight:bold;} .YELLOW_FORM_BOLD {color:#7C4D2A; font-size:11pt; font-weight:bold;} +/********************************* Course info *******************************/ +#crs_info + { + margin:0; + padding:0 10px; + color:#404040; + } + +/*****************************************************************************/ .FILENAME {color:#404040; font-size:14pt; font-weight:bold;} diff --git a/css/swad_mobile.css b/css/swad_mobile.css index a9a96416..04444e99 100644 --- a/css/swad_mobile.css +++ b/css/swad_mobile.css @@ -558,6 +558,15 @@ a:hover img.CENTRE_PHOTO_SHOW .BLUE_FORM_BOLD {color:#4D88A1; font-size:16pt; font-weight:bold;} .YELLOW_FORM_BOLD {color:#FF4301; font-size:16pt; font-weight:bold;} +/********************************* Course info *******************************/ +#crs_info + { + margin:0; + padding:0 10px; + color:#404040; + } + +/*****************************************************************************/ .FILENAME {color:#404040; font-size:18pt; font-weight:bold;} diff --git a/sql/swad.sql b/sql/swad.sql index a8f81761..7602830d 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -308,7 +308,8 @@ CREATE TABLE IF NOT EXISTS crs_info_src ( CREATE TABLE IF NOT EXISTS crs_info_txt ( CrsCod INT NOT NULL DEFAULT -1, InfoType ENUM('intro','description','theory','practices','bibliography','FAQ','links','assessment') NOT NULL, - InfoTxt LONGTEXT NOT NULL, + InfoTxtHTML LONGTEXT NOT NULL, + InfoTxtMD LONGTEXT NOT NULL, UNIQUE INDEX(CrsCod,InfoType)); -- -- Table crs_last: stores last access to courses from students or teachers diff --git a/swad_ID.c b/swad_ID.c index cb5dced9..f5f9dc71 100644 --- a/swad_ID.c +++ b/swad_ID.c @@ -825,8 +825,8 @@ void ID_ConfirmUsrID (long UsrCod,const char *UsrID) bool ID_ICanSeeTeacherID (struct UsrData *UsrDat) { - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_DEG_ADM) // If I am an administrator of current degree, I only can see the users' IDs from current degree return Usr_CheckIfUsrBelongsToDeg (UsrDat->UsrCod,Gbl.CurrentDeg.Deg.DegCod); - return (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); + return (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); } diff --git a/swad_account.c b/swad_account.c index 686e2e13..6a2607f4 100644 --- a/swad_account.c +++ b/swad_account.c @@ -606,10 +606,10 @@ bool Acc_CheckIfICanEliminateAccount (bool ItsMe) // A user logged as superuser can eliminate any user except her/him // Other users only can eliminate themselves return (( ItsMe && // It's me - (Gbl.Usrs.Me.AvailableRoles & (1 << Rol_ROLE_SYS_ADM)) == 0) // I can not be superuser + (Gbl.Usrs.Me.AvailableRoles & (1 << Rol_SYS_ADM)) == 0) // I can not be superuser || (!ItsMe && // It's not me - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)); // I am logged as superuser + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)); // I am logged as superuser } /*****************************************************************************/ diff --git a/swad_action.c b/swad_action.c index 4dcb2b77..54d4c092 100644 --- a/swad_action.c +++ b/swad_action.c @@ -4370,7 +4370,7 @@ void Act_AdjustActionWhenNoUsrLogged (void) void Act_AdjustCurrentAction (void) { - bool IAmATeacher = (Gbl.Usrs.Me.UsrDat.Roles & (1 << Rol_ROLE_TEACHER)); + bool IAmATeacher = (Gbl.Usrs.Me.UsrDat.Roles & (1 << Rol_TEACHER)); /***** Don't adjust anything when current action is not a menu option *****/ if (Gbl.CurrentAct != Act_Actions[Gbl.CurrentAct].SuperAction) // It is not a menu option @@ -4473,7 +4473,7 @@ void Act_AdjustCurrentAction (void) /***** Depending on the role I am logged... *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_STUDENT: + case Rol_STUDENT: switch (Gbl.CurrentAct) { case ActAutUsrInt: @@ -4506,7 +4506,7 @@ void Act_AdjustCurrentAction (void) /* If I have no photo, and current action is not available for unknown users, then update number of clicks without photo */ if (!Gbl.Usrs.Me.MyPhotoExists) - if (!(Act_Actions[Gbl.CurrentAct].PermisIfIBelongToCrs & (1 << Rol_ROLE_UNKNOWN)) && // If current action is not available for unknown users... + if (!(Act_Actions[Gbl.CurrentAct].PermisIfIBelongToCrs & (1 << Rol_UNKNOWN)) && // If current action is not available for unknown users... Gbl.CurrentAct != ActReqMyPho) // ...and current action is not ActReqMyPho... if ((Gbl.Usrs.Me.NumAccWithoutPhoto = Pho_UpdateMyClicksWithoutPhoto ()) > Pho_MAX_CLICKS_WITHOUT_PHOTO) { @@ -4523,7 +4523,7 @@ void Act_AdjustCurrentAction (void) if (Gbl.CurrentAct == ActMnu) // Do the following check sometimes, for example when the user changes the current tab Gbl.CurrentCrs.Info.ShowMsgMustBeRead = Inf_GetIfIMustReadAnyCrsInfoInThisCrs (); break; - case Rol_ROLE_TEACHER: + case Rol_TEACHER: if (Gbl.CurrentAct == ActReqTst || Gbl.CurrentAct == ActEdiTstQst) /***** If current course has tests and pluggable is unknown, diff --git a/swad_announcement.c b/swad_announcement.c index 5bb8332a..0985ef67 100644 --- a/swad_announcement.c +++ b/swad_announcement.c @@ -74,7 +74,7 @@ void Ann_ShowAllAnnouncements (void) extern const char *Txt_New_announcement; /***** Put link (form) to create a new announcement *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { fprintf (Gbl.F.Out,"
"); Act_PutContextualLink (ActWriAnn,NULL,"new",Txt_New_announcement); @@ -229,8 +229,8 @@ static void Ann_ShowAnnouncement (long AnnCod,const char *Subject,const char *Co /* Users' roles who can view this announcement */ fprintf (Gbl.F.Out,"

%s:", Txt_Users); - for (Role = Rol_ROLE_STUDENT, RolesSelected = false; - Role <= Rol_ROLE_TEACHER; + for (Role = Rol_STUDENT, RolesSelected = false; + Role <= Rol_TEACHER; Role++) if (Roles & (1 << Role)) { @@ -353,8 +353,8 @@ void Ann_ShowFormAnnouncement (void) "", Txt_Users); - Rol_WriteSelectorRoles (1 << Rol_ROLE_STUDENT | - 1 << Rol_ROLE_TEACHER); + Rol_WriteSelectorRoles (1 << Rol_STUDENT | + 1 << Rol_TEACHER); fprintf (Gbl.F.Out,"" ""); diff --git a/swad_assignment.c b/swad_assignment.c index bfbaa9c8..575899bd 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -101,8 +101,8 @@ void Asg_SeeAssignments (void) /***** Put link (form) to create a bew assignment *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: Asg_PutFormToCreateNewAsg (); break; default: @@ -319,8 +319,8 @@ static void Asg_ShowOneAssignment (long AsgCod) /* Forms to remove/edit this assignment */ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: Asg_PutFormsToRemEditOneAsg (Asg.AsgCod,Asg.Hidden); break; default: @@ -554,8 +554,8 @@ void Asg_GetListAssignments (void) /***** Get list of assignments from database *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: HiddenSubQuery[0] = '\0'; break; default: @@ -1722,7 +1722,7 @@ static bool Asg_CheckIfICanDoThisAssignment (long AsgCod) { char Query[512]; - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) { /***** Get if I can do an assignment from database *****/ sprintf (Query,"SELECT COUNT(*) FROM assignments" diff --git a/swad_attendance.c b/swad_attendance.c index ba19c6e9..6769f4ae 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -130,8 +130,8 @@ void Att_SeeAttEvents (void) /* Put link (form) to create a bew attendance event */ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: Att_PutFormToCreateNewAttEvent (); Att_PutFormToListStds (); break; @@ -220,7 +220,7 @@ static void Att_ShowAllAttEvents (void) "" "", Txt_Event, - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN]); /***** Write all the attendance events *****/ for (NumAttEvent = Pagination.FirstItemVisible, Gbl.RowEvenOdd = 0; @@ -344,8 +344,8 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt /* Forms to remove/edit this attendance event */ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: Att_PutFormsToRemEditOneAttEvent (Att->AttCod,Att->Hidden); break; default: @@ -549,8 +549,8 @@ static void Att_GetListAttEvents (Att_OrderTime_t Order) /***** Get list of attendance events from database *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: HiddenSubQuery[0] = '\0'; break; default: @@ -1858,11 +1858,11 @@ void Att_SeeOneAttEvent (void) switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_STUDENT: + case Rol_STUDENT: Att_ListAttOnlyMeAsStudent (&Att); break; - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: /***** Show list of students *****/ Att_ListAttStudents (&Att); break; @@ -1913,7 +1913,7 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att) "%s" "" "", - Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], + Txt_ROLES_SINGUL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN], Txt_Student_comment, Txt_Teachers_comment); @@ -1949,7 +1949,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att) Grp_ShowFormToSelectSeveralGroups (ActSeeOneAtt); /***** Get and order list of students in this course *****/ - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); if (Gbl.Usrs.LstStds.NumUsrs) { @@ -1984,7 +1984,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att) "%s" "" "", - Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], + Txt_ROLES_SINGUL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN], Txt_Student_comment, Txt_Teachers_comment); @@ -2013,7 +2013,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att) Usr_UsrDataDestructor (&UsrDat); } else - Usr_ShowWarningNoUsersFound (Rol_ROLE_STUDENT); + Usr_ShowWarningNoUsersFound (Rol_STUDENT); /***** Free memory for students list *****/ Usr_FreeUsrsList (&Gbl.Usrs.LstStds); @@ -2061,7 +2061,7 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat BgColor,UsrDat->EncryptedUsrCod); if (Present) // This student has attended to the event? fprintf (Gbl.F.Out," checked=\"checked\""); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) // A student can not change his attendance + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) // A student can not change his attendance fprintf (Gbl.F.Out," disabled=\"disabled\""); fprintf (Gbl.F.Out," />" ""); @@ -2114,7 +2114,7 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat fprintf (Gbl.F.Out,"", BgColor); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT && Att->Open) // Show with form + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && Att->Open) // Show with form fprintf (Gbl.F.Out,"", UsrDat->UsrCod,CommentStd); else // Show without form @@ -2129,7 +2129,7 @@ static void Att_WriteRowStdToCallTheRoll (unsigned NumStd,struct UsrData *UsrDat fprintf (Gbl.F.Out,"", BgColor); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER) // Show with form + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER) // Show with form fprintf (Gbl.F.Out,"", UsrDat->UsrCod,CommentTch); else if (Att->CommentTchVisible) // Show without form @@ -2280,7 +2280,7 @@ void Att_RegisterStudentsInAttEvent (void) /***** 1. Get list of students in the groups selected: Gbl.Usrs.LstStds *****/ /* Get list of students in the groups selected */ - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); if (Gbl.Usrs.LstStds.NumUsrs) // If there are students in the groups selected... { @@ -2362,7 +2362,7 @@ void Att_RegisterStudentsInAttEvent (void) Lay_ShowAlert (Lay_INFO,Gbl.Message); } else // Gbl.Usrs.LstStds.NumUsrs == 0 - Lay_ShowAlert (Lay_INFO,Txt_No_users_found[Rol_ROLE_STUDENT]); + Lay_ShowAlert (Lay_INFO,Txt_No_users_found[Rol_STUDENT]); /***** Show the attendance event again *****/ Gbl.AttEvents.AttCod = Att.AttCod; @@ -2623,7 +2623,7 @@ void Usr_ReqListAttendanceStdsCrs (void) Usr_ShowFormsToSelectUsrListType (ActReqLstAttStd); /***** Get and order lists of users from current course *****/ - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); if (Gbl.Usrs.LstStds.NumUsrs) { @@ -2640,7 +2640,7 @@ void Usr_ReqListAttendanceStdsCrs (void) /* Write list of students to select some of them */ Lay_StartRoundFrameTable10 (NULL,0,NULL); - Usr_ListUsersToSelect (Rol_ROLE_STUDENT); + Usr_ListUsersToSelect (Rol_STUDENT); Lay_EndRoundFrameTable10 (); /* Free list of attendance events */ @@ -2656,7 +2656,7 @@ void Usr_ReqListAttendanceStdsCrs (void) } } else - Usr_ShowWarningNoUsersFound (Rol_ROLE_STUDENT); + Usr_ShowWarningNoUsersFound (Rol_STUDENT); /***** Free memory for students list *****/ Usr_FreeUsrsList (&Gbl.Usrs.LstStds); @@ -2973,7 +2973,7 @@ static void Att_ListEventsToSelect (void) "" "", Txt_Event, - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN]); /***** List the events *****/ for (NumAttEvent = 0, Gbl.RowEvenOdd = 0; @@ -3137,7 +3137,7 @@ static void Att_WriteTableHeadSeveralAttEvents (void) "", Gbl.Usrs.Listing.WithPhotos ? 4 : 3, - Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + Txt_ROLES_SINGUL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN]); for (NumAttEvent = 0; NumAttEvent < Gbl.AttEvents.Num; diff --git a/swad_banner.c b/swad_banner.c index d66b9610..6f7555a6 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -86,7 +86,7 @@ void Ban_SeeBanners (void) " ORDER BY ShortName"); /***** Put banner (form) to edit banners *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Ban_PutFormToEditBanners (); /***** Table head *****/ diff --git a/swad_centre.c b/swad_centre.c index 3c28a445..8580389f 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -113,7 +113,7 @@ void Ctr_SeeCtrWithPendingDegs (void) /***** Get centres with pending degrees *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_CTR_ADM: + case Rol_CTR_ADM: sprintf (Query,"SELECT degrees.CtrCod,COUNT(*)" " FROM degrees,ctr_admin,centres" " WHERE (degrees.Status & %u)<>0" @@ -122,7 +122,7 @@ void Ctr_SeeCtrWithPendingDegs (void) " GROUP BY degrees.CtrCod ORDER BY centres.ShortName", (unsigned) Deg_STATUS_BIT_PENDING,Gbl.Usrs.Me.UsrDat.UsrCod); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT degrees.CtrCod,COUNT(*)" " FROM degrees,centres" " WHERE (degrees.Status & %u)<>0" @@ -275,7 +275,7 @@ static void Ctr_Configuration (bool PrintView) Act_PutContextualLink (ActPrnCtrInf,NULL,"print",Txt_Print); /* Links to upload logo and photo */ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) { Log_PutFormToChangeLogo (Sco_SCOPE_CTR); Ctr_PutFormToChangeCtrPhoto (PhotoExists); @@ -330,7 +330,7 @@ static void Ctr_Configuration (bool PrintView) ""); /* Photo attribution */ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM && !PrintView) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM && !PrintView) { fprintf (Gbl.F.Out,"" "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfCtr (Rol_ROLE_TEACHER,Gbl.CurrentCtr.Ctr.CtrCod)); + Txt_ROLES_PLURAL_Abc[Rol_TEACHER][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfCtr (Rol_TEACHER,Gbl.CurrentCtr.Ctr.CtrCod)); /***** Number of students *****/ fprintf (Gbl.F.Out,"" @@ -508,8 +508,8 @@ static void Ctr_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfCtr (Rol_ROLE_STUDENT,Gbl.CurrentCtr.Ctr.CtrCod)); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfCtr (Rol_STUDENT,Gbl.CurrentCtr.Ctr.CtrCod)); } /***** End frame *****/ @@ -535,7 +535,7 @@ void Ctr_ShowCtrsOfCurrentIns (void) Deg_WriteMenuAllCourses (ActSeeIns,ActSeeCtr,ActUnk,ActUnk); /***** Put link (form) to edit centres in current institution *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_GUEST__) + if (Gbl.Usrs.Me.LoggedRole >= Rol__GUEST_) Lay_PutFormToEdit (ActEdiCtr); /***** List centres *****/ @@ -790,9 +790,9 @@ void Ctr_GetListCentres (long InsCod) " AND crs_usr.UsrCod=usr_data.UsrCod))" " ORDER BY %s", InsCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, InsCod,InsCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, OrderBySubQuery); else // InsCod <= 0 ==> all the centres sprintf (Query,"(SELECT centres.CtrCod,centres.InsCod,centres.PlcCod," @@ -812,8 +812,8 @@ void Ctr_GetListCentres (long InsCod) " WHERE crs_usr.Role='%u'" " AND crs_usr.UsrCod=usr_data.UsrCod))" " ORDER BY %s", - (unsigned) Rol_ROLE_TEACHER, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, + (unsigned) Rol_TEACHER, OrderBySubQuery); NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get centres"); @@ -917,9 +917,9 @@ bool Ctr_GetDataOfCentreByCod (struct Centre *Ctr) " WHERE crs_usr.Role='%u'" " AND crs_usr.UsrCod=usr_data.UsrCod))", Ctr->CtrCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Ctr->CtrCod, - (unsigned) Rol_ROLE_TEACHER); + (unsigned) Rol_TEACHER); if (DB_QuerySELECT (Query,&mysql_res,"can not get data of a centre")) // Centre found... { /* Get row */ @@ -1206,7 +1206,7 @@ static void Ctr_ListCentresForEdition (void) /* Institution */ fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) // I can select institution + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) // I can select institution { Act_FormStart (ActChgCtrIns); Ctr_PutParamOtherCtrCod (Ctr->CtrCod); @@ -1334,7 +1334,7 @@ static void Ctr_ListCentresForEdition (void) /* Centre status */ StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status); fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM && + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM && StatusTxt == Ctr_STATUS_PENDING) { Act_FormStart (ActChgCtrSta); @@ -1382,7 +1382,7 @@ static void Ctr_ListCentresForEdition (void) static bool Ctr_CheckIfICanEdit (struct Centre *Ctr) { - return (bool) (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM || // I am an institution administrator or higher + return (bool) (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM || // I am an institution administrator or higher ((Ctr->Status & Ctr_STATUS_BIT_PENDING) != 0 && // Centre is not yet activated Gbl.Usrs.Me.UsrDat.UsrCod == Ctr->RequesterUsrCod)); // I am the requester } @@ -1973,9 +1973,9 @@ static void Ctr_PutFormToCreateCentre (void) Ctr = &Gbl.Ctrs.EditingCtr; /***** Start form *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) Act_FormStart (ActNewCtr); - else if (Gbl.Usrs.Me.MaxRole >= Rol_ROLE_GUEST__) + else if (Gbl.Usrs.Me.MaxRole >= Rol__GUEST_) Act_FormStart (ActReqCtr); else Lay_ShowErrorAndExit ("You can not edit centres."); diff --git a/swad_changelog.h b/swad_changelog.h index 3656741c..74fb044b 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -103,11 +103,17 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.109.2 (2015/04/06)" +#define Log_PLATFORM_VERSION "SWAD 14.110 (2015/04/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 sql/swad*.sql | tail -1 /* + Version 14.110: Apr 07, 2015 Testing rich text editor using Markdown, suggested by Pedro A. García Sánchez. (184508 lines) + Fixed bug in file browser, reported by Eva Martínez Ortigosa. + 2 changes necessary in database: +ALTER TABLE crs_info_txt CHANGE COLUMN InfoTxt InfoTxtHTML LONGTEXT NOT NULL; +ALTER TABLE crs_info_txt ADD COLUMN InfoTxtMD LONGTEXT NOT NULL AFTER InfoTxtHTML; + Version 14.109.2: Apr 06, 2015 Changed text in file browser. (184347 lines) Version 14.109.1: Apr 06, 2015 Changed text of button in course info. (184325 lines) Version 14.109: Apr 06, 2015 Links in file browsers can be uploaded with a name. (184324 lines) diff --git a/swad_chat.c b/swad_chat.c index 3c7633e0..428d5909 100644 --- a/swad_chat.c +++ b/swad_chat.c @@ -81,7 +81,7 @@ void Cht_ShowChatRooms (void) /***** List available chat rooms *****/ Cht_ShowListOfAvailableChatRooms (); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Cht_ShowListOfChatRoomsWithUsrs (); } @@ -135,8 +135,8 @@ void Cht_ShowListOfAvailableChatRooms (void) Gbl.Prefs.IconsURL,Txt_Chat_rooms); /***** Link to chat available for all the users *****/ - IsLastItemInLevel[1] = (Gbl.Usrs.Me.LoggedRole != Rol_ROLE_STUDENT && - Gbl.Usrs.Me.LoggedRole != Rol_ROLE_TEACHER && + IsLastItemInLevel[1] = (Gbl.Usrs.Me.LoggedRole != Rol_STUDENT && + Gbl.Usrs.Me.LoggedRole != Rol_TEACHER && !Gbl.Usrs.Me.MyDegrees.Num); sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_SEX_PLURAL_abc[Usr_SEX_ALL]); Cht_WriteLinkToChat1 ("GBL_USR",Txt_SEX_PLURAL_Abc[Usr_SEX_ALL],ThisRoomFullName,1,IsLastItemInLevel); @@ -149,16 +149,16 @@ void Cht_ShowListOfAvailableChatRooms (void) IsLastItemInLevel[1] = !Gbl.Usrs.Me.MyDegrees.Num; switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_STUDENT: - sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_ROLE_STUDENT][Usr_SEX_ALL]); + case Rol_STUDENT: + sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_STUDENT][Usr_SEX_ALL]); Cht_WriteLinkToChat1 ("GBL_STD",Txt_Students_ABBREVIATION,ThisRoomFullName,1,IsLastItemInLevel); fprintf (Gbl.F.Out,"", Gbl.Prefs.IconsURL); Cht_WriteLinkToChat2 ("GBL_STD",ThisRoomFullName); break; - case Rol_ROLE_TEACHER: - sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_ROLE_TEACHER][Usr_SEX_ALL]); + case Rol_TEACHER: + sprintf (ThisRoomFullName,"%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_TEACHER][Usr_SEX_ALL]); Cht_WriteLinkToChat1 ("GBL_TCH",Txt_Teachers_ABBREVIATION,ThisRoomFullName,1,IsLastItemInLevel); fprintf (Gbl.F.Out,"", @@ -440,22 +440,22 @@ void Cht_OpenChatWindow (void) sprintf (RoomFullName,"|%s (%s)",Txt_General,Txt_SEX_PLURAL_abc[Usr_SEX_ALL]); strcat (ListRoomFullNames,RoomFullName); } - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) if (strcmp (RoomCode,"GBL_STD")) { strcat (ListRoomCodes,"|#GBL_STD"); sprintf (RoomShortName,"|%s",Txt_Students_ABBREVIATION); strcat (ListRoomShortNames,RoomShortName); - sprintf (RoomFullName,"|%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_ROLE_STUDENT][Usr_SEX_ALL]); + sprintf (RoomFullName,"|%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_STUDENT][Usr_SEX_ALL]); strcat (ListRoomFullNames,RoomFullName); } - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER) + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER) if (strcmp (RoomCode,"GBL_TCH")) { strcat (ListRoomCodes,"|#GBL_TCH"); sprintf (RoomShortName,"|%s",Txt_Teachers_ABBREVIATION); strcat (ListRoomShortNames,RoomShortName); - sprintf (RoomFullName,"|%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_ROLE_TEACHER][Usr_SEX_ALL]); + sprintf (RoomFullName,"|%s (%s)",Txt_General,Txt_ROLES_PLURAL_abc[Rol_TEACHER][Usr_SEX_ALL]); strcat (ListRoomFullNames,RoomFullName); } for (NumMyDeg = 0; diff --git a/swad_connected.c b/swad_connected.c index acf0b66e..f0b7b3b9 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -95,7 +95,7 @@ void Con_ShowConnectedUsrs (void) ""); Act_FormStart (ActLstCon); Gbl.Scope.Current = Sco_SCOPE_CRS; - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { fprintf (Gbl.F.Out,"

%s: ", The_ClassFormul[Gbl.Prefs.Theme],Txt_Scope); @@ -317,8 +317,8 @@ void Con_ShowGlobalConnectedUsrs (void) "" "", StdsTotal, - (StdsTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN] : - Txt_ROLES_PLURAL_abc [Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + (StdsTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_STUDENT][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc [Rol_STUDENT][Usr_SEX_UNKNOWN]); /***** Write total number of teachers *****/ fprintf (Gbl.F.Out,"" @@ -328,8 +328,8 @@ void Con_ShowGlobalConnectedUsrs (void) "" "", TchsTotal, - (TchsTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN] : - Txt_ROLES_PLURAL_abc [Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN]); + (TchsTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_TEACHER][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc [Rol_TEACHER][Usr_SEX_UNKNOWN]); /***** Write total number of users who do not belong to any course *****/ if (WithoutCoursesTotal) @@ -340,8 +340,8 @@ void Con_ShowGlobalConnectedUsrs (void) "" "", WithoutCoursesTotal, - (WithoutCoursesTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_GUEST__][Usr_SEX_UNKNOWN] : - Txt_ROLES_PLURAL_abc [Rol_ROLE_GUEST__][Usr_SEX_UNKNOWN]); + (WithoutCoursesTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol__GUEST_][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc [Rol__GUEST_][Usr_SEX_UNKNOWN]); /***** End table *****/ fprintf (Gbl.F.Out,"" @@ -358,10 +358,10 @@ void Con_ComputeConnectedUsrsBelongingToCurrentCrs (void) Gbl.Usrs.Connected.NumUsrsToList = 0; /***** Number of teachers *****/ - Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_ROLE_TEACHER); + Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_TEACHER); /***** Number of students *****/ - Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_ROLE_STUDENT); + Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_STUDENT); } /*****************************************************************************/ @@ -441,7 +441,7 @@ void Con_ShowConnectedUsrsBelongingToScope (void) } fprintf (Gbl.F.Out,"%u %s %s", The_ClassConnected[Gbl.Prefs.Theme], - Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_ROLE_UNKNOWN,&UsrSex), + Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_UNKNOWN,&UsrSex), Txt_from, LocationName); @@ -461,15 +461,15 @@ void Con_ShowConnectedUsrsBelongingToScope (void) switch (Gbl.Usrs.Connected.WhereToShow) { case Con_SHOW_ON_MAIN_ZONE: - Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_ROLE_TEACHER); - Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_ROLE_STUDENT); + Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_TEACHER); + Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_STUDENT); break; case Con_SHOW_ON_RIGHT_COLUMN: Gbl.Usrs.Connected.NumUsr = 0; Gbl.Usrs.Connected.NumUsrs = 0; Gbl.Usrs.Connected.NumUsrsToList = 0; - Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColumn (Rol_ROLE_TEACHER); - Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColumn (Rol_ROLE_STUDENT); + Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColumn (Rol_TEACHER); + Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColumn (Rol_STUDENT); break; } @@ -489,10 +489,10 @@ static void Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_Role_t Role /***** Get number of connected users who belong to current course *****/ switch (Role) { - case Rol_ROLE_TEACHER: + case Rol_TEACHER: Gbl.Usrs.Connected.NumTchs = Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Role,&Gbl.Usrs.Connected.SexTchs); break; - case Rol_ROLE_STUDENT: + case Rol_STUDENT: Gbl.Usrs.Connected.NumStds = Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Role,&Gbl.Usrs.Connected.SexStds); break; default: @@ -501,7 +501,7 @@ static void Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_Role_t Role /***** List connected users belonging to this course *****/ if (Gbl.Usrs.Me.IBelongToCurrentCrs || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Con_ComputeConnectedUsrsWithARoleCurrentCrsOneByOne (Role); } @@ -533,27 +533,27 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone ( { case Sco_SCOPE_SYS: // Show connected users in the whole platform case Sco_SCOPE_CTY: // Show connected users in the current country - if (Gbl.Usrs.Me.LoggedRole != Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM) return; break; case Sco_SCOPE_INS: // Show connected users in the current institution - if (!(Gbl.Usrs.Me.LoggedRole == Rol_ROLE_INS_ADM || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + if (!(Gbl.Usrs.Me.LoggedRole == Rol_INS_ADM || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) return; break; case Sco_SCOPE_CTR: // Show connected users in the current centre - if (!(Gbl.Usrs.Me.LoggedRole == Rol_ROLE_CTR_ADM || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + if (!(Gbl.Usrs.Me.LoggedRole == Rol_CTR_ADM || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) return; break; case Sco_SCOPE_DEG: // Show connected users in the current degree - if (!(Gbl.Usrs.Me.LoggedRole == Rol_ROLE_DEG_ADM || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + if (!(Gbl.Usrs.Me.LoggedRole == Rol_DEG_ADM || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) return; break; case Sco_SCOPE_CRS: // Show connected users in the current course if (!(Gbl.Usrs.Me.IBelongToCurrentCrs || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) return; break; default: @@ -581,11 +581,11 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColum /***** Write number of connected users who belong to current course *****/ switch (Role) { - case Rol_ROLE_TEACHER: + case Rol_TEACHER: NumUsrsThisRole = Gbl.Usrs.Connected.NumTchs; UsrSex = Gbl.Usrs.Connected.SexTchs; break; - case Rol_ROLE_STUDENT: + case Rol_STUDENT: NumUsrsThisRole = Gbl.Usrs.Connected.NumStds; UsrSex = Gbl.Usrs.Connected.SexStds; break; @@ -633,7 +633,7 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColum */ case Sco_SCOPE_CRS: // Show connected users in the current course if (!(Gbl.Usrs.Me.IBelongToCurrentCrs || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) return; break; default: @@ -674,8 +674,8 @@ void Con_UpdateMeInConnectedList (void) Rol_Role_t MyRoleInConnected; /***** Which role will be stored in connected table? *****/ - MyRoleInConnected = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER) ? Gbl.Usrs.Me.LoggedRole : + MyRoleInConnected = (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT || + Gbl.Usrs.Me.LoggedRole == Rol_TEACHER) ? Gbl.Usrs.Me.LoggedRole : Gbl.Usrs.Me.MaxRole; /***** Update my entry in connected list. The role which is stored is the role of the last click *****/ @@ -713,7 +713,7 @@ static unsigned Con_GetConnectedGuestsTotal (void) /***** Get number of connected users not belonging to any course *****/ sprintf (Query,"SELECT COUNT(*) FROM connected" " WHERE RoleInLastCrs='%u'", - (unsigned) Rol_ROLE_GUEST__); + (unsigned) Rol__GUEST_); return (unsigned) DB_QueryCOUNT (Query,"can not get number of connected users who not belong to any course"); } @@ -730,7 +730,7 @@ static unsigned Con_GetConnectedStdsTotal (void) /***** Get number of connected students from database *****/ sprintf (Query,"SELECT COUNT(*) FROM connected WHERE RoleInLastCrs='%u'", - (unsigned) Rol_ROLE_STUDENT); + (unsigned) Rol_STUDENT); return (unsigned) DB_QueryCOUNT (Query,"can not get number of connected students"); } @@ -747,7 +747,7 @@ static unsigned Con_GetConnectedTchsTotal (void) /***** Get number of connected teachers from database *****/ sprintf (Query,"SELECT COUNT(*) FROM connected WHERE RoleInLastCrs='%u'", - (unsigned) Rol_ROLE_TEACHER); + (unsigned) Rol_TEACHER); return (unsigned) DB_QueryCOUNT (Query,"can not get number of connected teachers"); } @@ -770,7 +770,7 @@ static unsigned Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Ro switch (Gbl.Scope.Current) { case Sco_SCOPE_SYS: // Show connected users in the whole platform - if (Role == Rol_ROLE_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" + if (Role == Rol_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" sprintf (Query,"SELECT COUNT(DISTINCT connected.UsrCod),COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)" " FROM connected,usr_data" " WHERE connected.UsrCod=usr_data.UsrCod"); @@ -783,7 +783,7 @@ static unsigned Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Ro (unsigned) Role); break; case Sco_SCOPE_CTY: // Show connected users in the current country - if (Role == Rol_ROLE_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" + if (Role == Rol_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" sprintf (Query,"SELECT COUNT(DISTINCT connected.UsrCod),COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)" " FROM institutions,centres,degrees,courses,crs_usr,connected,usr_data" " WHERE institutions.CtyCod='%ld'" @@ -809,7 +809,7 @@ static unsigned Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Ro (unsigned) Role); break; case Sco_SCOPE_INS: // Show connected users in the current institution - if (Role == Rol_ROLE_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" + if (Role == Rol_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" sprintf (Query,"SELECT COUNT(DISTINCT connected.UsrCod),COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)" " FROM centres,degrees,courses,crs_usr,connected,usr_data" " WHERE centres.InsCod='%ld'" @@ -833,7 +833,7 @@ static unsigned Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Ro (unsigned) Role); break; case Sco_SCOPE_CTR: // Show connected users in the current centre - if (Role == Rol_ROLE_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" + if (Role == Rol_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" sprintf (Query,"SELECT COUNT(DISTINCT connected.UsrCod),COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)" " FROM degrees,courses,crs_usr,connected,usr_data" " WHERE degrees.CtrCod='%ld'" @@ -855,7 +855,7 @@ static unsigned Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Ro (unsigned) Role); break; case Sco_SCOPE_DEG: // Show connected users in the current degree - if (Role == Rol_ROLE_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" + if (Role == Rol_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" sprintf (Query,"SELECT COUNT(DISTINCT connected.UsrCod),COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)" " FROM courses,crs_usr,connected,usr_data" " WHERE courses.DegCod='%ld'" @@ -875,7 +875,7 @@ static unsigned Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Ro (unsigned) Role); break; case Sco_SCOPE_CRS: // Show connected users in the current course - if (Role == Rol_ROLE_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" + if (Role == Rol_UNKNOWN) // Here Rol_ROLE_UNKNOWN means "any role" sprintf (Query,"SELECT COUNT(DISTINCT connected.UsrCod),COUNT(DISTINCT usr_data.Sex),MIN(usr_data.Sex)" " FROM crs_usr,connected,usr_data" " WHERE crs_usr.CrsCod='%ld'" @@ -1036,7 +1036,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) " vertical-align:middle; background-color:%s;\">", Font,Color); sprintf (Gbl.FormId,"form_con_%d",++Gbl.NumFormConnectedUsrs); - Act_FormStartId ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : + Act_FormStartId ((Role == Rol_STUDENT) ? ActSeeRecOneStd : ActSeeRecOneTch, Gbl.FormId); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); @@ -1229,7 +1229,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R Font,Gbl.ColorRows[Gbl.RowEvenOdd]); if (PutLinkToRecord) { - Act_FormStart ((Role == Rol_ROLE_STUDENT) ? ActSeeRecOneStd : + Act_FormStart ((Role == Rol_STUDENT) ? ActSeeRecOneStd : ActSeeRecOneTch); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Act_LinkFormSubmit (UsrDat.FullName,Font); diff --git a/swad_country.c b/swad_country.c index 3cb51081..7e6cf36d 100644 --- a/swad_country.c +++ b/swad_country.c @@ -99,7 +99,7 @@ void Cty_SeeCtyWithPendingInss (void) /***** Get countries with pending institutions *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT institutions.CtyCod,COUNT(*)" " FROM institutions,countries" " WHERE (institutions.Status & %u)<>0" @@ -283,7 +283,7 @@ static void Cty_Configuration (bool PrintView) ""); /* Map attribution */ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM && !PrintView) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM && !PrintView) { fprintf (Gbl.F.Out,"" "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfCty (Rol_ROLE_TEACHER,Gbl.CurrentCty.Cty.CtyCod)); + Txt_ROLES_PLURAL_Abc[Rol_TEACHER][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfCty (Rol_TEACHER,Gbl.CurrentCty.Cty.CtyCod)); /***** Number of students *****/ fprintf (Gbl.F.Out,"" @@ -453,8 +453,8 @@ static void Cty_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfCty (Rol_ROLE_STUDENT,Gbl.CurrentCty.Cty.CtyCod)); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfCty (Rol_STUDENT,Gbl.CurrentCty.Cty.CtyCod)); } /***** End frame *****/ @@ -510,7 +510,7 @@ void Cty_ListCountries2 (void) const char *BgColor; /***** Put link (form) to edit countries *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Lay_PutFormToEdit (ActEdiCty); /***** Table head *****/ @@ -592,8 +592,8 @@ void Cty_ListCountries2 (void) fprintf (Gbl.F.Out,""); /* Write stats of this country */ - NumStds = Usr_GetNumUsrsInCountry (Rol_ROLE_STUDENT,Gbl.Ctys.Lst[NumCty].CtyCod); - NumTchs = Usr_GetNumUsrsInCountry (Rol_ROLE_TEACHER,Gbl.Ctys.Lst[NumCty].CtyCod); + NumStds = Usr_GetNumUsrsInCountry (Rol_STUDENT,Gbl.Ctys.Lst[NumCty].CtyCod); + NumTchs = Usr_GetNumUsrsInCountry (Rol_TEACHER,Gbl.Ctys.Lst[NumCty].CtyCod); fprintf (Gbl.F.Out,"" "%u" @@ -632,9 +632,9 @@ void Cty_ListCountries2 (void) ""); /***** Write institutions and users with other country *****/ - NumUsrsInOtherCtys = Usr_GetNumUsrsInCountry (Rol_ROLE_UNKNOWN,0); // Here Rol_ROLE_UNKNOWN means "all users" - NumStds = Usr_GetNumUsrsInCountry (Rol_ROLE_STUDENT,0); - NumTchs = Usr_GetNumUsrsInCountry (Rol_ROLE_TEACHER,0); + NumUsrsInOtherCtys = Usr_GetNumUsrsInCountry (Rol_UNKNOWN,0); // Here Rol_ROLE_UNKNOWN means "all users" + NumStds = Usr_GetNumUsrsInCountry (Rol_STUDENT,0); + NumTchs = Usr_GetNumUsrsInCountry (Rol_TEACHER,0); NumInssInOtherCtys = Ins_GetNumInssInCty (0); fprintf (Gbl.F.Out,"" "" @@ -662,9 +662,9 @@ void Cty_ListCountries2 (void) NumInssWithCountry += NumInssInOtherCtys; /***** Write institutions with no country *****/ - NumStds = Sta_GetTotalNumberOfUsers (Sco_SCOPE_SYS,Rol_ROLE_STUDENT); - NumTchs = Sta_GetTotalNumberOfUsers (Sco_SCOPE_SYS,Rol_ROLE_TEACHER); - NumUsrs = Sta_GetTotalNumberOfUsers (Sco_SCOPE_SYS,Rol_ROLE_UNKNOWN); // NumUsrs >= NumStds + NumTchs + NumStds = Sta_GetTotalNumberOfUsers (Sco_SCOPE_SYS,Rol_STUDENT); + NumTchs = Sta_GetTotalNumberOfUsers (Sco_SCOPE_SYS,Rol_TEACHER); + NumUsrs = Sta_GetTotalNumberOfUsers (Sco_SCOPE_SYS,Rol_UNKNOWN); // NumUsrs >= NumStds + NumTchs fprintf (Gbl.F.Out,"" "" "" diff --git a/swad_course.c b/swad_course.c index 8a251746..0879d6a2 100644 --- a/swad_course.c +++ b/swad_course.c @@ -161,7 +161,7 @@ static void Crs_Configuration (bool PrintView) unsigned Year; unsigned Semester; struct Ind_IndicatorsCrs Indicators; - bool IsForm = (!PrintView && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER); + bool IsForm = (!PrintView && Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER); bool PutLink = !PrintView && Gbl.CurrentDeg.Deg.WWW[0]; /***** Messages and links above the frame *****/ @@ -169,7 +169,7 @@ static void Crs_Configuration (bool PrintView) { /* Get indicators and show warning */ Ind_GetIndicatorsCrs (Gbl.CurrentCrs.Crs.CrsCod,&Indicators); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER && + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER && Indicators.CountIndicators < Ind_NUM_INDICATORS) { /* Warning alert */ @@ -192,8 +192,8 @@ static void Crs_Configuration (bool PrintView) Act_PutContextualLink (ActPrnCrsInf,NULL,"print",Txt_Print); /* Link to request enrollment in the current course */ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_GUEST__ || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_VISITOR) + if (Gbl.Usrs.Me.LoggedRole == Rol__GUEST_ || + Gbl.Usrs.Me.LoggedRole == Rol_VISITOR) Enr_PutLinkToRequestSignUp (); fprintf (Gbl.F.Out,"
"); @@ -398,7 +398,7 @@ static void Crs_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN],Gbl.CurrentCrs.Crs.NumTchs); + Txt_ROLES_PLURAL_Abc[Rol_TEACHER][Usr_SEX_UNKNOWN],Gbl.CurrentCrs.Crs.NumTchs); /***** Number of students *****/ fprintf (Gbl.F.Out,"" @@ -412,7 +412,7 @@ static void Crs_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN],Gbl.CurrentCrs.Crs.NumStds); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN],Gbl.CurrentCrs.Crs.NumStds); /***** Indicators *****/ fprintf (Gbl.F.Out,"" @@ -967,7 +967,7 @@ void Crs_ShowCrssOfCurrentDeg (void) Deg_WriteMenuAllCourses (ActSeeIns,ActSeeCtr,ActSeeDeg,ActSeeCrs); /***** Put link (form) to edit courses in current degree *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_GUEST__) + if (Gbl.Usrs.Me.LoggedRole >= Rol__GUEST_) Lay_PutFormToEdit (ActEdiCrs); /***** Show list of courses *****/ @@ -1425,7 +1425,7 @@ static void Crs_ListCoursesForEdition (void) /* Degree */ fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) { Act_FormStart (ActChgCrsDeg); Crs_PutParamOtherCrsCod (Crs->CrsCod); @@ -1551,7 +1551,7 @@ static void Crs_ListCoursesForEdition (void) StatusTxt = Crs_GetStatusTxtFromStatusBits (Crs->Status); fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM && + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM && StatusTxt == Crs_STATUS_PENDING) { Act_FormStart (ActChgCrsSta); @@ -1600,7 +1600,7 @@ static void Crs_ListCoursesForEdition (void) static bool Crs_CheckIfICanEdit (struct Course *Crs) { - return (bool) (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM || // I am a degree administrator or higher + return (bool) (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM || // I am a degree administrator or higher ((Crs->Status & Crs_STATUS_BIT_PENDING) != 0 && // Course is not yet activated Gbl.Usrs.Me.UsrDat.UsrCod == Crs->RequesterUsrCod)); // I am the requester } @@ -1663,9 +1663,9 @@ static void Crs_PutFormToCreateCourse (void) unsigned Semester; /***** Start form *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) Act_FormStart (ActNewCrs); - else if (Gbl.Usrs.Me.MaxRole >= Rol_ROLE_GUEST__) + else if (Gbl.Usrs.Me.MaxRole >= Rol__GUEST_) Act_FormStart (ActReqCrs); else Lay_ShowErrorAndExit ("You can not edit courses."); @@ -2211,10 +2211,10 @@ static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row) Crs->FullName[Crs_MAX_LENGTH_COURSE_FULL_NAME] = '\0'; /***** Get number of students *****/ - Crs->NumStds = Usr_GetNumUsrsInCrs (Rol_ROLE_STUDENT,Crs->CrsCod); + Crs->NumStds = Usr_GetNumUsrsInCrs (Rol_STUDENT,Crs->CrsCod); /***** Get number of teachers *****/ - Crs->NumTchs = Usr_GetNumUsrsInCrs (Rol_ROLE_TEACHER,Crs->CrsCod); + Crs->NumTchs = Usr_GetNumUsrsInCrs (Rol_TEACHER,Crs->CrsCod); Crs->NumUsrs = Crs->NumStds + Crs->NumTchs; } @@ -2531,9 +2531,9 @@ void Crs_ChangeCrsDegree (void) Lay_ShowErrorAndExit ("Code of degree is missing."); /* Check if I have permission to change course to this degree */ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) ICanChangeCrsToNewDeg = true; - else if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_DEG_ADM) + else if (Gbl.Usrs.Me.LoggedRole == Rol_DEG_ADM) ICanChangeCrsToNewDeg = Usr_CheckIfUsrIsAdm (Gbl.Usrs.Me.UsrDat.UsrCod, Sco_SCOPE_DEG, NewDeg.DegCod); @@ -3280,8 +3280,8 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA Lay_ShowErrorAndExit ("Wrong code of course."); /***** Get number of students and teachers in this course *****/ - NumStds = Usr_GetNumUsrsInCrs (Rol_ROLE_STUDENT,CrsCod); - NumTchs = Usr_GetNumUsrsInCrs (Rol_ROLE_TEACHER,CrsCod); + NumStds = Usr_GetNumUsrsInCrs (Rol_STUDENT,CrsCod); + NumTchs = Usr_GetNumUsrsInCrs (Rol_TEACHER,CrsCod); if (NumStds + NumTchs) { Style = "DAT_N"; @@ -3390,7 +3390,7 @@ void Crs_UpdateCrsLast (void) char Query[256]; if (Gbl.CurrentCrs.Crs.CrsCod > 0 && - Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_STUDENT) + Gbl.Usrs.Me.LoggedRole >= Rol_STUDENT) { /***** Update my last access to current course *****/ sprintf (Query,"REPLACE INTO crs_last (CrsCod,LastTime)" diff --git a/swad_database.c b/swad_database.c index 3c0ad29f..12f28e56 100644 --- a/swad_database.c +++ b/swad_database.c @@ -692,19 +692,21 @@ mysql> DESCRIBE crs_info_src; /***** Table crs_info_txt *****/ /* mysql> DESCRIBE crs_info_txt; -+----------+--------------------------------------------------------------------------------------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------+--------------------------------------------------------------------------------------------+------+-----+---------+-------+ -| CrsCod | int(11) | NO | PRI | -1 | | -| InfoType | enum('intro','description','theory','practices','bibliography','FAQ','links','assessment') | NO | PRI | NULL | | -| InfoTxt | longtext | NO | | NULL | | -+----------+--------------------------------------------------------------------------------------------+------+-----+---------+-------+ -3 rows in set (0.00 sec) ++-------------+--------------------------------------------------------------------------------------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------------+--------------------------------------------------------------------------------------------+------+-----+---------+-------+ +| CrsCod | int(11) | NO | PRI | -1 | | +| InfoType | enum('intro','description','theory','practices','bibliography','FAQ','links','assessment') | NO | PRI | NULL | | +| InfoTxtHTML | longtext | NO | | NULL | | +| InfoTxtMD | longtext | NO | | NULL | | ++-------------+--------------------------------------------------------------------------------------------+------+-----+---------+-------+ +4 rows in set (0.01 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_info_txt (" "CrsCod INT NOT NULL DEFAULT -1," "InfoType ENUM('intro','description','theory','practices','bibliography','FAQ','links','assessment') NOT NULL," - "InfoTxt LONGTEXT NOT NULL," + "InfoTxtHTML LONGTEXT NOT NULL," + "InfoTxtMD LONGTEXT NOT NULL," "UNIQUE INDEX(CrsCod,InfoType))"); /***** Table crs_last *****/ diff --git a/swad_degree.c b/swad_degree.c index aeb50424..c7ac0ab2 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -162,7 +162,7 @@ void Deg_SeeDegWithPendingCrss (void) /***** Get degrees with pending courses *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_DEG_ADM: + case Rol_DEG_ADM: sprintf (Query,"SELECT courses.DegCod,COUNT(*)" " FROM admin,courses,degrees" " WHERE admin.UsrCod='%ld' AND admin.Scope='Deg'" @@ -172,7 +172,7 @@ void Deg_SeeDegWithPendingCrss (void) " GROUP BY courses.DegCod ORDER BY degrees.ShortName", Gbl.Usrs.Me.UsrDat.UsrCod,(unsigned) Crs_STATUS_BIT_PENDING); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT courses.DegCod,COUNT(*)" " FROM courses,degrees" " WHERE (courses.Status & %u)<>0" @@ -313,7 +313,7 @@ static void Deg_Configuration (bool PrintView) Act_PutContextualLink (ActPrnDegInf,NULL,"print",Txt_Print); /* Link to upload logo */ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) Log_PutFormToChangeLogo (Sco_SCOPE_DEG); fprintf (Gbl.F.Out,"
"); @@ -462,8 +462,8 @@ static void Deg_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfDeg (Rol_ROLE_TEACHER,Gbl.CurrentDeg.Deg.DegCod)); + Txt_ROLES_PLURAL_Abc[Rol_TEACHER][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfDeg (Rol_TEACHER,Gbl.CurrentDeg.Deg.DegCod)); /***** Number of students *****/ fprintf (Gbl.F.Out,"" @@ -477,8 +477,8 @@ static void Deg_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfDeg (Rol_ROLE_STUDENT,Gbl.CurrentDeg.Deg.DegCod)); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfDeg (Rol_STUDENT,Gbl.CurrentDeg.Deg.DegCod)); } /***** End frame *****/ @@ -970,7 +970,7 @@ void Deg_WriteSelectorDegTypes (void) void Deg_SeeDegTypes (void) { /***** Put link (form) to edit degree types *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Lay_PutFormToEdit (ActEdiDegTyp); /***** Get list of degree types *****/ @@ -1015,7 +1015,7 @@ void Deg_ShowDegsOfCurrentCtr (void) Deg_WriteMenuAllCourses (ActSeeIns,ActSeeCtr,ActSeeDeg,ActUnk); /***** Put link (form) to edit degrees of the current centre *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_GUEST__) + if (Gbl.Usrs.Me.LoggedRole >= Rol__GUEST_) Lay_PutFormToEdit (ActEdiDeg); /***** Show list of degrees *****/ @@ -1450,7 +1450,7 @@ static void Deg_ListDegreesForEdition (void) /* Centre */ fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) // I can select centre + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) // I can select centre { Act_FormStart (ActChgDegCtr); Deg_PutParamOtherDegCod (Deg->DegCod); @@ -1647,7 +1647,7 @@ static void Deg_ListDegreesForEdition (void) StatusTxt = Deg_GetStatusTxtFromStatusBits (Deg->Status); fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM && + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM && StatusTxt == Deg_STATUS_PENDING) { Act_FormStart (ActChgDegSta); @@ -1695,7 +1695,7 @@ static void Deg_ListDegreesForEdition (void) static bool Deg_CheckIfICanEdit (struct Degree *Deg) { - return (bool) (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM || // I am a centre administrator or higher + return (bool) (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM || // I am a centre administrator or higher ((Deg->Status & Deg_STATUS_BIT_PENDING) != 0 && // Degree is not yet activated Gbl.Usrs.Me.UsrDat.UsrCod == Deg->RequesterUsrCod)); // I am the requester } @@ -1817,9 +1817,9 @@ static void Deg_PutFormToCreateDegree (void) unsigned Year; /***** Start form *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) Act_FormStart (ActNewDeg); - else if (Gbl.Usrs.Me.MaxRole >= Rol_ROLE_GUEST__) + else if (Gbl.Usrs.Me.MaxRole >= Rol__GUEST_) Act_FormStart (ActReqDeg); else Lay_ShowErrorAndExit ("You can not edit degrees."); @@ -2515,7 +2515,7 @@ void Deg_GetListDegsAdminByMe (void) unsigned NumDeg; /***** Get degrees admin by me from database *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) sprintf (Query,"SELECT DegCod,CtrCod,DegTypCod,Status,RequesterUsrCod," "ShortName,FullName,FirstYear,LastYear,OptYear,WWW" " FROM degrees" diff --git a/swad_department.c b/swad_department.c index 0c9b02c3..8d6f2ca6 100644 --- a/swad_department.c +++ b/swad_department.c @@ -96,7 +96,7 @@ void Dpt_SeeDepts (void) Dpt_GetListDepartments (Gbl.CurrentIns.Ins.InsCod); /***** Put link (form) to edit departments *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Dpt_PutFormToEditDpts (); /***** Table head *****/ @@ -179,7 +179,7 @@ void Dpt_SeeDepts (void) "", Txt_Department_unspecified, Sta_GetTotalNumberOfUsers (Sco_SCOPE_INS, - Rol_ROLE_TEACHER) - NumTchsInsWithDpt); + Rol_TEACHER) - NumTchsInsWithDpt); /***** Table end *****/ Lay_EndRoundFrameTable10 (); @@ -303,8 +303,8 @@ void Dpt_GetListDepartments (long InsCod) " (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr" " WHERE crs_usr.Role='%u' AND crs_usr.UsrCod=usr_data.UsrCod))" " ORDER BY %s", - InsCod,(unsigned) Rol_ROLE_TEACHER, - InsCod,(unsigned) Rol_ROLE_TEACHER, + InsCod,(unsigned) Rol_TEACHER, + InsCod,(unsigned) Rol_TEACHER, OrderBySubQuery); else // All the departments sprintf (Query,"(SELECT departments.DptCod,departments.InsCod," @@ -322,8 +322,8 @@ void Dpt_GetListDepartments (long InsCod) " (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr" " WHERE crs_usr.Role='%u' AND crs_usr.UsrCod=usr_data.UsrCod))" " ORDER BY %s", - (unsigned) Rol_ROLE_TEACHER, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, + (unsigned) Rol_TEACHER, OrderBySubQuery); NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get departments"); @@ -415,8 +415,8 @@ void Dpt_GetDataOfDepartmentByCod (struct Department *Dpt) " WHERE DptCod='%ld' AND DptCod NOT IN" " (SELECT DISTINCT usr_data.DptCod FROM usr_data,crs_usr" " WHERE crs_usr.Role='%u' AND crs_usr.UsrCod=usr_data.UsrCod))", - Dpt->DptCod,(unsigned) Rol_ROLE_TEACHER, - Dpt->DptCod,(unsigned) Rol_ROLE_TEACHER); + Dpt->DptCod,(unsigned) Rol_TEACHER, + Dpt->DptCod,(unsigned) Rol_TEACHER); NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get data of a department"); if (NumRows) // Department found... diff --git a/swad_enrollment.c b/swad_enrollment.c index 1f4f454f..58542935 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -154,8 +154,8 @@ void Enr_ModifyRoleInCurrentCrs (struct UsrData *UsrDat, if (NewRole != OldRole) // The role must be updated { /***** Check if user's role is allowed *****/ - if (!(NewRole == Rol_ROLE_STUDENT || - NewRole == Rol_ROLE_TEACHER)) + if (!(NewRole == Rol_STUDENT || + NewRole == Rol_TEACHER)) Lay_ShowErrorAndExit ("Wrong role."); /***** Update the role of a user in a course *****/ @@ -196,8 +196,8 @@ void Enr_RegisterUsrInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole, bool NotifyByEmail; /***** Check if user's role is allowed *****/ - if (!(NewRole == Rol_ROLE_STUDENT || - NewRole == Rol_ROLE_TEACHER)) + if (!(NewRole == Rol_STUDENT || + NewRole == Rol_TEACHER)) Lay_ShowErrorAndExit ("Wrong role."); /***** Register user in current course in database *****/ @@ -446,36 +446,36 @@ void Enr_ReqAdminUsrs (void) switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_GUEST__: - case Rol_ROLE_VISITOR: - case Rol_ROLE_STUDENT: + case Rol__GUEST_: + case Rol_VISITOR: + case Rol_STUDENT: Enr_AskIfRegRemMe (); break; - case Rol_ROLE_TEACHER: + case Rol_TEACHER: if (Gbl.CurrentCrs.Crs.CrsCod > 0) Enr_ShowFormRegRemSeveralUsrs (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_DEG_ADM: + case Rol_DEG_ADM: if (Gbl.CurrentDeg.Deg.DegCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_CTR_ADM: + case Rol_CTR_ADM: if (Gbl.CurrentCtr.Ctr.CtrCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_INS_ADM: + case Rol_INS_ADM: if (Gbl.CurrentIns.Ins.InsCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: if (Gbl.CurrentCrs.Crs.CrsCod > 0) Enr_ShowFormRegRemSeveralUsrs (); else @@ -520,7 +520,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (void) Enr_PutLinkToRemAllStdsThisCrs (); /* Put link to remove old users */ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Enr_PutLinkToRemOldUsrs (); fprintf (Gbl.F.Out,""); @@ -847,7 +847,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) /***** Register user in course / Modify user's data *****/ if (Gbl.CurrentCrs.Crs.CrsCod > 0 && - Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER) + Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER) { sprintf (Gbl.Message,UsrBelongsToCrs ? (ItsMe ? Txt_Modify_me_in_the_course_X : Txt_Modify_user_in_the_course_X) : @@ -874,7 +874,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) if (Gbl.CurrentDeg.Deg.DegCod > 0) /***** Register user as administrator of degree *****/ if (!UsrIsDegAdmin && - Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) { sprintf (Gbl.Message,Txt_Register_user_as_an_administrator_of_the_degree_X, Gbl.CurrentDeg.Deg.ShortName); @@ -893,7 +893,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) /***** Register user as administrator of centre *****/ if (!UsrIsCtrAdmin && - Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) { sprintf (Gbl.Message,Txt_Register_user_as_an_administrator_of_the_centre_X, Gbl.CurrentCtr.Ctr.ShortName); @@ -913,7 +913,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) /***** Register user as administrator of institution *****/ if (!UsrIsInsAdmin && - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { sprintf (Gbl.Message,Txt_Register_user_as_an_administrator_of_the_institution_X, Gbl.CurrentIns.Ins.ShortName); @@ -958,7 +958,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) if (Gbl.CurrentIns.Ins.InsCod > 0) /***** Remove user as an administrator of the degree *****/ if (UsrIsDegAdmin && - (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM)) + (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM)) { sprintf (Gbl.Message, ItsMe ? Txt_Remove_me_as_an_administrator_of_the_degree_X : @@ -979,7 +979,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) /***** Remove user as an administrator of the centre *****/ if (UsrIsCtrAdmin && - (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM)) + (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM)) { sprintf (Gbl.Message, ItsMe ? Txt_Remove_me_as_an_administrator_of_the_centre_X : @@ -1001,7 +1001,7 @@ bool Enr_PutActionsRegRemOneUsr (bool ItsMe) /***** Remove user as an administrator of the institution *****/ if (UsrIsInsAdmin && - (ItsMe || Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + (ItsMe || Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) { sprintf (Gbl.Message, ItsMe ? Txt_Remove_me_as_an_administrator_of_the_institution_X : @@ -1087,7 +1087,7 @@ static void Enr_PutActionsRegRemSeveralUsrs (void) Txt_Register_the_users_indicated_in_step_1_and_remove_the_users_not_indicated); /***** Only for superusers *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) fprintf (Gbl.F.Out,"
  • " "" "%s
  • ", @@ -1122,7 +1122,7 @@ void Enr_ReceiveFormUsrsCrs (void) char UnsignedStr[10+1]; unsigned UnsignedNum; long LongNum; - Rol_Role_t RegRemRole = Rol_ROLE_STUDENT; + Rol_Role_t RegRemRole = Rol_STUDENT; struct { bool RemoveUsrs; @@ -1155,13 +1155,13 @@ void Enr_ReceiveFormUsrsCrs (void) if (UnsignedStr[0]) switch ((RegRemRole = Rol_ConvertUnsignedStrToRole (UnsignedStr))) { - case Rol_ROLE_STUDENT: + case Rol_STUDENT: break; - case Rol_ROLE_TEACHER: + case Rol_TEACHER: switch (Gbl.Usrs.Me.LoggedRole) // Can I register/remove teachers? { - case Rol_ROLE_DEG_ADM: - case Rol_ROLE_SYS_ADM: // Yes, I can + case Rol_DEG_ADM: + case Rol_SYS_ADM: // Yes, I can break; default: // No, I can not (TODO: teachers should be able to register/remove existing teachers) Lay_ShowErrorAndExit ("You are not allowed to perform this action."); // If user manipulated the form @@ -1209,7 +1209,7 @@ void Enr_ReceiveFormUsrsCrs (void) WhatToDo.RegisterUsrs = true; break; case Enr_ELIMINATE_USRS_FROM_PLATFORM: - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { WhatToDo.RemoveUsrs = true; WhatToDo.RemoveSpecifiedUsrs = true; @@ -1251,7 +1251,7 @@ void Enr_ReceiveFormUsrsCrs (void) /***** A student can't belong to more than one group when the type of group only allows to register in one group *****/ if (WhatToDo.RegisterUsrs && - RegRemRole == Rol_ROLE_STUDENT && + RegRemRole == Rol_STUDENT && LstGrps.NumGrps >= 2) /* Check if I have selected more than one group of single enrollment */ if (!Grp_CheckIfSelectionGrpsIsValid (&LstGrps)) @@ -1280,12 +1280,12 @@ void Enr_ReceiveFormUsrsCrs (void) /***** Get list of users in current course *****/ switch (RegRemRole) { - case Rol_ROLE_STUDENT: - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + case Rol_STUDENT: + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); LstCurrentUsrs = &Gbl.Usrs.LstStds; break; - case Rol_ROLE_TEACHER: - Usr_GetUsrsLst (Rol_ROLE_TEACHER,Sco_SCOPE_CRS,NULL,false); + case Rol_TEACHER: + Usr_GetUsrsLst (Rol_TEACHER,Sco_SCOPE_CRS,NULL,false); LstCurrentUsrs = &Gbl.Usrs.LstTchs; break; default: @@ -1304,7 +1304,7 @@ void Enr_ReceiveFormUsrsCrs (void) /***** Loop 1: go through form list setting if a student must be removed *****/ /* Step a: Get students from a list of official groups */ - if (RegRemRole == Rol_ROLE_STUDENT) + if (RegRemRole == Rol_STUDENT) { Ptr = ListExternalGrpCods; while (*Ptr) @@ -1442,7 +1442,7 @@ void Enr_ReceiveFormUsrsCrs (void) if (WhatToDo.RegisterUsrs) // TODO: !!!!! NO CAMBIAR EL ROL DE LOS USUARIOS QUE YA ESTÉN EN LA ASIGNATURA SI HAY MÁS DE UN USUARIO ENCONTRADO PARA EL MISMO DNI !!!!!! { /***** Step a: Get users from a list of official groups *****/ - if (RegRemRole == Rol_ROLE_STUDENT) + if (RegRemRole == Rol_STUDENT) { Ptr = ListExternalGrpCods; while (*Ptr) @@ -1606,8 +1606,8 @@ static void Enr_RegisterUsr (struct UsrData *UsrDat,Rol_Role_t RegRemRole, struct ListCodGrps *LstGrps,unsigned *NumUsrsRegistered) { /***** Check if I can register this user *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER && - RegRemRole != Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER && + RegRemRole != Rol_STUDENT) Lay_ShowErrorAndExit ("A teacher only can register new users if they are students."); /***** Check if the record of the user exists and get the type of user *****/ @@ -1723,7 +1723,7 @@ void Enr_AskRemAllStdsThisCrs (void) extern const char *Txt_No_users_found[Rol_NUM_ROLES]; unsigned NumStds; - if ((NumStds = Usr_GetNumUsrsInCrs (Rol_ROLE_STUDENT,Gbl.CurrentCrs.Crs.CrsCod))) + if ((NumStds = Usr_GetNumUsrsInCrs (Rol_STUDENT,Gbl.CurrentCrs.Crs.CrsCod))) { /***** Write message to confirm the removing *****/ sprintf (Gbl.Message,Txt_Do_you_really_want_to_remove_the_X_students_from_the_course_Y_, @@ -1739,7 +1739,7 @@ void Enr_AskRemAllStdsThisCrs (void) } else { - sprintf (Gbl.Message,Txt_No_users_found[Rol_ROLE_STUDENT], + sprintf (Gbl.Message,Txt_No_users_found[Rol_STUDENT], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_WARNING,Gbl.Message); } @@ -1765,7 +1765,7 @@ void Enr_RemAllStdsThisCrs (void) } else { - sprintf (Gbl.Message,Txt_No_users_found[Rol_ROLE_STUDENT], + sprintf (Gbl.Message,Txt_No_users_found[Rol_STUDENT], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_WARNING,Gbl.Message); } @@ -1784,7 +1784,7 @@ unsigned Enr_RemAllStdsInCrs (struct Course *Crs) /***** Get list of students in current course *****/ Gbl.Usrs.ClassPhoto.AllGroups = true; // Get all the students of the current course - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); NumStdsInCrs = Gbl.Usrs.LstStds.NumUsrs; /***** Remove all the students *****/ @@ -1813,15 +1813,15 @@ void Enr_ReqSignUpInCrs (void) extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; /***** Check if I already belong to course *****/ - if (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB >= Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB >= Rol_STUDENT) { sprintf (Gbl.Message,Txt_You_were_already_enrolled_as_X_in_the_course_Y, Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Me.UsrDat.Sex], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_WARNING,Gbl.Message); } - else if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_GUEST__ || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_VISITOR) + else if (Gbl.Usrs.Me.LoggedRole == Rol__GUEST_ || + Gbl.Usrs.Me.LoggedRole == Rol_VISITOR) /***** Show form to modify only the user's role or the user's data *****/ Rec_ShowFormSignUpWithMyCommonRecord (); else @@ -1846,7 +1846,7 @@ void Enr_SignUpInCrs (void) unsigned NumUsrsToBeNotifiedByEMail; /***** Check if I already belong to course *****/ - if (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB >= Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB >= Rol_STUDENT) { sprintf (Gbl.Message,Txt_You_were_already_enrolled_as_X_in_the_course_Y, Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Me.UsrDat.Sex], @@ -1860,8 +1860,8 @@ void Enr_SignUpInCrs (void) RoleFromForm = Rol_ConvertUnsignedStrToRole (UnsignedStr); /* Check if role is correct */ - if (!(RoleFromForm == Rol_ROLE_STUDENT || - RoleFromForm == Rol_ROLE_TEACHER)) + if (!(RoleFromForm == Rol_STUDENT || + RoleFromForm == Rol_TEACHER)) Lay_ShowErrorAndExit ("Wrong role."); /***** Try to get and old request of the same user in the same course from database *****/ @@ -1908,7 +1908,7 @@ void Enr_SignUpInCrs (void) /***** Notify teachers or admins by e-mail about the new enrollment request *****/ // If this course has teachers ==> send notification to teachers // If this course has no teachers and I want to be a teacher ==> send notification to administrators or superusers - if (Gbl.CurrentCrs.Crs.NumTchs || RoleFromForm == Rol_ROLE_TEACHER) + if (Gbl.CurrentCrs.Crs.NumTchs || RoleFromForm == Rol_TEACHER) { NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_ENROLLMENT_REQUEST,ReqCod); Ntf_ShowAlertNumUsrsToBeNotifiedByEMail (NumUsrsToBeNotifiedByEMail); @@ -2013,8 +2013,8 @@ void Enr_AskIfRejectSignUp (void) else // User does not belong to this course { Role = Rol_GetRequestedRole (Gbl.Usrs.Other.UsrDat.UsrCod); - if (Role == Rol_ROLE_STUDENT || - Role == Rol_ROLE_TEACHER) + if (Role == Rol_STUDENT || + Role == Rol_TEACHER) { /* Ask if reject */ sprintf (Gbl.Message,Txt_Do_you_really_want_to_reject_the_enrollment_request_, @@ -2154,12 +2154,12 @@ void Enr_ShowEnrollmentRequests (void) /* Set default roles */ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - Roles = (1 << Rol_ROLE_STUDENT) | (1 << Rol_ROLE_TEACHER); + case Rol_TEACHER: + Roles = (1 << Rol_STUDENT) | (1 << Rol_TEACHER); break; - case Rol_ROLE_DEG_ADM: - case Rol_ROLE_SYS_ADM: - Roles = (1 << Rol_ROLE_TEACHER); + case Rol_DEG_ADM: + case Rol_SYS_ADM: + Roles = (1 << Rol_TEACHER); break; default: Lay_ShowErrorAndExit ("You don't have permission to list requesters."); @@ -2183,7 +2183,7 @@ void Enr_ShowEnrollmentRequests (void) case Sco_SCOPE_SYS: // Show requesters for the whole platform switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: + case Rol_TEACHER: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM crs_usr,crs_usr_requests" " WHERE crs_usr.UsrCod='%ld'" @@ -2193,7 +2193,7 @@ void Enr_ShowEnrollmentRequests (void) Gbl.Usrs.Me.UsrDat.UsrCod, Roles); break; - case Rol_ROLE_DEG_ADM: + case Rol_DEG_ADM: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM admin,courses,crs_usr_requests" " WHERE admin.UsrCod='%ld' AND admin.Scope='Deg'" @@ -2204,7 +2204,7 @@ void Enr_ShowEnrollmentRequests (void) Gbl.Usrs.Me.UsrDat.UsrCod, Roles); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT ReqCod,CrsCod,UsrCod,Role,DATE_FORMAT(RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM crs_usr_requests WHERE ((1<0" " ORDER BY RequestTime DESC", @@ -2218,7 +2218,7 @@ void Enr_ShowEnrollmentRequests (void) case Sco_SCOPE_INS: // Show requesters for the current institution switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: + case Rol_TEACHER: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM crs_usr,centres,degrees,courses,crs_usr_requests" " WHERE crs_usr.UsrCod='%ld'" @@ -2233,7 +2233,7 @@ void Enr_ShowEnrollmentRequests (void) Gbl.CurrentIns.Ins.InsCod, Roles); break; - case Rol_ROLE_DEG_ADM: + case Rol_DEG_ADM: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM admin,centres,degrees,courses,crs_usr_requests" " WHERE admin.UsrCod='%ld' AND admin.Scope='Deg'" @@ -2248,7 +2248,7 @@ void Enr_ShowEnrollmentRequests (void) Gbl.CurrentIns.Ins.InsCod, Roles); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM centres,degrees,courses,crs_usr_requests" " WHERE centres.InsCod='%ld'" @@ -2268,7 +2268,7 @@ void Enr_ShowEnrollmentRequests (void) case Sco_SCOPE_CTR: // Show requesters for the current centre switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: + case Rol_TEACHER: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM crs_usr,degrees,courses,crs_usr_requests" " WHERE crs_usr.UsrCod='%ld'" @@ -2282,7 +2282,7 @@ void Enr_ShowEnrollmentRequests (void) Gbl.CurrentCtr.Ctr.CtrCod, Roles); break; - case Rol_ROLE_DEG_ADM: + case Rol_DEG_ADM: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM admin,degrees,courses,crs_usr_requests" " WHERE admin.UsrCod='%ld' AND admin.Scope='Deg'" @@ -2296,7 +2296,7 @@ void Enr_ShowEnrollmentRequests (void) Gbl.CurrentCtr.Ctr.CtrCod, Roles); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM degrees,courses,crs_usr_requests" " WHERE degrees.CtrCod='%ld'" @@ -2315,7 +2315,7 @@ void Enr_ShowEnrollmentRequests (void) case Sco_SCOPE_DEG: // Show requesters for the current degree switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: + case Rol_TEACHER: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM crs_usr,courses,crs_usr_requests" " WHERE crs_usr.UsrCod='%ld'" @@ -2328,8 +2328,8 @@ void Enr_ShowEnrollmentRequests (void) Gbl.CurrentDeg.Deg.DegCod, Roles); break; - case Rol_ROLE_DEG_ADM: - case Rol_ROLE_SYS_ADM: + case Rol_DEG_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT crs_usr_requests.ReqCod,crs_usr_requests.CrsCod,crs_usr_requests.UsrCod,crs_usr_requests.Role,DATE_FORMAT(crs_usr_requests.RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM courses,crs_usr_requests" " WHERE courses.DegCod='%ld'" @@ -2347,9 +2347,9 @@ void Enr_ShowEnrollmentRequests (void) case Sco_SCOPE_CRS: // Show requesters for the current course switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_DEG_ADM: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_DEG_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT ReqCod,CrsCod,UsrCod,Role,DATE_FORMAT(RequestTime,'%%Y%%m%%d%%H%%i%%S')" " FROM crs_usr_requests" " WHERE CrsCod='%ld'" @@ -2599,36 +2599,36 @@ void Enr_ReqRegRemUsr (void) switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_GUEST__: - case Rol_ROLE_VISITOR: - case Rol_ROLE_STUDENT: + case Rol__GUEST_: + case Rol_VISITOR: + case Rol_STUDENT: Enr_AskIfRegRemMe (); break; - case Rol_ROLE_TEACHER: + case Rol_TEACHER: if (Gbl.CurrentCrs.Crs.CrsCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_DEG_ADM: + case Rol_DEG_ADM: if (Gbl.CurrentDeg.Deg.DegCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_CTR_ADM: + case Rol_CTR_ADM: if (Gbl.CurrentCtr.Ctr.CtrCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_INS_ADM: + case Rol_INS_ADM: if (Gbl.CurrentIns.Ins.InsCod > 0) Enr_ReqAnotherUsrIDToRegisterRemove (); else Enr_AskIfRegRemMe (); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: Enr_ReqAnotherUsrIDToRegisterRemove (); break; default: @@ -2647,14 +2647,14 @@ static void Enr_ReqAnotherUsrIDToRegisterRemove (void) /***** Put contextual links *****/ if (Gbl.CurrentCrs.Crs.CrsCod > 0 || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { fprintf (Gbl.F.Out,"
    "); if (Gbl.CurrentCrs.Crs.CrsCod > 0) /* Put link to go to admin several users */ Enr_PutLinkToAdminSeveralUsrs (); - else if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + else if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) /* Put link to remove old users */ Enr_PutLinkToRemOldUsrs (); @@ -2803,7 +2803,7 @@ static void Enr_AskIfRegRemUsr (struct ListUsrCods *ListUsrCods) if (NewUsrIDValid) { /* Initialize some data of this new user */ - Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB = Rol_ROLE_STUDENT; + Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB = Rol_STUDENT; Gbl.Usrs.Other.UsrDat.Roles = (1 << Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB); /***** Show form to enter the data of a new user *****/ @@ -2885,9 +2885,9 @@ static void Enr_AddAdm (Sco_Scope_t Scope,long Cod,const char *InsCtrDegName) if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ()) { /* Check if I am allowed to register user as administrator in institution/centre/degree */ - ICanRegister = ((Scope == Sco_SCOPE_DEG && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) || - (Scope == Sco_SCOPE_CTR && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) || - (Scope == Sco_SCOPE_INS && Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)); + ICanRegister = ((Scope == Sco_SCOPE_DEG && Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) || + (Scope == Sco_SCOPE_CTR && Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) || + (Scope == Sco_SCOPE_INS && Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)); if (ICanRegister) { /***** Register administrator in current institution/centre/degree in database *****/ @@ -2979,7 +2979,7 @@ static void Enr_ReqRemOrRemUsrFromCrs (Enr_ReqDelOrDelUsr_t ReqDelOrDelUsr) // A teacher can remove a student or himself // An administrator can remove anyone ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod); - ICanRemove = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT ? ItsMe : + ICanRemove = (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT ? ItsMe : (Gbl.Usrs.Me.LoggedRole >= Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB)); if (ICanRemove) switch (ReqDelOrDelUsr) @@ -3079,9 +3079,9 @@ static void Enr_ReqRemOrRemAdm (Enr_ReqDelOrDelUsr_t ReqDelOrDelUsr,Sco_Scope_t /* Check if it's forbidden to remove an administrator */ ItsMe = (Gbl.Usrs.Me.UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod); ICanRemove = (ItsMe || - (Scope == Sco_SCOPE_DEG && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) || - (Scope == Sco_SCOPE_CTR && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) || - (Scope == Sco_SCOPE_INS && Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)); + (Scope == Sco_SCOPE_DEG && Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) || + (Scope == Sco_SCOPE_CTR && Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) || + (Scope == Sco_SCOPE_INS && Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)); if (ICanRemove) { /* Check if the other user is an admin of the current institution/centre/degree */ @@ -3141,9 +3141,9 @@ static void Enr_ReqAddAdm (Sco_Scope_t Scope,long Cod,const char *InsCtrDegName) if (Usr_GetParamOtherUsrCodEncryptedAndGetUsrData ()) { /* Check if I am allowed to register user as administrator in institution/centre/degree */ - ICanRegister = ((Scope == Sco_SCOPE_DEG && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) || - (Scope == Sco_SCOPE_CTR && Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) || - (Scope == Sco_SCOPE_INS && Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)); + ICanRegister = ((Scope == Sco_SCOPE_DEG && Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) || + (Scope == Sco_SCOPE_CTR && Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) || + (Scope == Sco_SCOPE_INS && Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)); if (ICanRegister) { if (Usr_CheckIfUsrIsAdm (Gbl.Usrs.Other.UsrDat.UsrCod,Scope,Cod)) // User is yet an administrator of current institution/centre/degree @@ -3209,8 +3209,8 @@ void Enr_CreatAndShowNewUsrRecordAndRegInCrs (void) /***** Get new role *****/ NewRole = Rec_GetRoleFromRecordForm (); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER && - NewRole != Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER && + NewRole != Rol_STUDENT) Lay_ShowErrorAndExit ("A teacher only can create new users as students."); /***** Get user's name from form *****/ @@ -3275,10 +3275,10 @@ void Enr_ModifAndShowUsrCardAndRegInCrsAndGrps (void) switch ((RegRemAction = (Enr_RegRemOneUsrAction_t) UnsignedNum)) { case Enr_REGISTER_MODIFY_ONE_USR_IN_CRS: - if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER) + if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER) { - IAmTeacher = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER); // I am logged as teacher - HeIsTeacher = (Gbl.Usrs.Other.UsrDat.Roles & (1 << Rol_ROLE_TEACHER)); // He/she is already a teacher in any course + IAmTeacher = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER); // I am logged as teacher + HeIsTeacher = (Gbl.Usrs.Other.UsrDat.Roles & (1 << Rol_TEACHER)); // He/she is already a teacher in any course ICanChangeUsrName = ItsMe || !(IAmTeacher && HeIsTeacher); // A teacher can not change another teacher's name @@ -3318,46 +3318,46 @@ void Enr_ModifAndShowUsrCardAndRegInCrsAndGrps (void) Error = true; break; case Enr_REGISTER_ONE_DEGREE_ADMIN: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) Enr_ReqAddAdm (Sco_SCOPE_DEG,Gbl.CurrentDeg.Deg.DegCod, Gbl.CurrentDeg.Deg.FullName); else Error = true; break; case Enr_REGISTER_ONE_CENTRE_ADMIN: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) Enr_ReqAddAdm (Sco_SCOPE_CTR,Gbl.CurrentCtr.Ctr.CtrCod, Gbl.CurrentCtr.Ctr.FullName); else Error = true; break; case Enr_REGISTER_ONE_INSTITUTION_ADMIN: - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Enr_ReqAddAdm (Sco_SCOPE_INS,Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentIns.Ins.FullName); else Error = true; break; case Enr_REMOVE_ONE_USR_FROM_CRS: - if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER) + if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER) Enr_ReqRemUsrFromCrs (); else Error = true; break; case Enr_REMOVE_ONE_DEGREE_ADMIN: - if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) Enr_ReqRemAdmOfDeg (); else Error = true; break; case Enr_REMOVE_ONE_CENTRE_ADMIN: - if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (ItsMe || Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) Enr_ReqRemAdmOfCtr (); else Error = true; break; case Enr_REMOVE_ONE_INSTITUTION_ADMIN: - if (ItsMe || Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (ItsMe || Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Enr_ReqRemAdmOfIns (); else Error = true; diff --git a/swad_exam.c b/swad_exam.c index e24b3c03..50bd9332 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -440,8 +440,8 @@ static void Exa_ListExamAnnouncements (Exa_tTypeViewExamAnnouncement_t TypeViewE /***** Create link for creation of a new exam announcement *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: fprintf (Gbl.F.Out,"
    "); Act_PutContextualLink (ActEdiExaAnn,NULL, "new",Txt_New_announcement_OF_EXAM); @@ -769,8 +769,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,Exa_tTypeViewExamAnnouncement_ fprintf (Gbl.F.Out,"" \ ""); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { /***** Link to remove this exam announcement *****/ Act_FormStart (ActRemExaAnn); diff --git a/swad_file_browser.c b/swad_file_browser.c index 9ce696c1..e9c10b14 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -1466,7 +1466,7 @@ void Brw_GetParAndInitFileBrowser (void) { /***** Documents of institution *****/ case ActSeeAdmDocIns: // Access to a documents zone from menu - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) /* These roles can edit documents of institution */ Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_INS; else @@ -1532,7 +1532,7 @@ void Brw_GetParAndInitFileBrowser (void) /***** Documents of centre *****/ case ActSeeAdmDocCtr: // Access to a documents zone from menu - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) /* These roles can edit documents of centre */ Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_CTR; else @@ -1598,7 +1598,7 @@ void Brw_GetParAndInitFileBrowser (void) /***** Documents of degree *****/ case ActSeeAdmDocDeg: // Access to a documents zone from menu - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) /* These roles can edit documents of degree */ Gbl.FileBrowser.Type = Brw_ADMI_DOCUM_DEG; else @@ -1667,8 +1667,8 @@ void Brw_GetParAndInitFileBrowser (void) /* Set file browser type acording to last group accessed */ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_TEACHER: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_SYS_ADM: /* These roles can edit documents of course/groups */ Gbl.FileBrowser.Type = (Gbl.CurrentCrs.Grps.GrpCod > 0) ? Brw_ADMI_DOCUM_GRP : Brw_ADMI_DOCUM_CRS; @@ -1897,7 +1897,7 @@ void Brw_GetParAndInitFileBrowser (void) /***** Marks *****/ case ActSeeAdmMrk: // Access to a marks zone from menu /* Set file browser type acording to last group accessed */ - Gbl.FileBrowser.Type = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) ? + Gbl.FileBrowser.Type = (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) ? (Gbl.CurrentCrs.Grps.GrpCod > 0 ? Brw_SHOW_MARKS_GRP : Brw_SHOW_MARKS_CRS) : (Gbl.CurrentCrs.Grps.GrpCod > 0 ? Brw_ADMI_MARKS_GRP : @@ -2078,7 +2078,7 @@ void Brw_GetParAndInitFileBrowser (void) // If I belong to the current course or I am superuser, or file browser is briefcase ==> get whether show full tree from form // Else ==> show full tree (only public files) Gbl.FileBrowser.ShowOnlyPublicFiles = false; - if (Gbl.Usrs.Me.LoggedRole != Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM) switch (Gbl.FileBrowser.Type) { case Brw_SHOW_DOCUM_INS: @@ -2850,8 +2850,8 @@ void Brw_AskEditWorksCrs (void) Usr_ShowFormsToSelectUsrListType (ActReqAsgWrkCrs); /***** Get and order lists of users from this course *****/ - Usr_GetUsrsLst (Rol_ROLE_TEACHER,Sco_SCOPE_CRS,NULL,false); - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_TEACHER,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); if (Gbl.Usrs.LstTchs.NumUsrs || Gbl.Usrs.LstStds.NumUsrs) @@ -2868,8 +2868,8 @@ void Brw_AskEditWorksCrs (void) /* Put list of users to select some of them */ Lay_StartRoundFrameTable10 (NULL,0,NULL); - Usr_ListUsersToSelect (Rol_ROLE_TEACHER); - Usr_ListUsersToSelect (Rol_ROLE_STUDENT); + Usr_ListUsersToSelect (Rol_TEACHER); + Usr_ListUsersToSelect (Rol_STUDENT); Lay_EndRoundFrameTable10 (); /* Button to send the form */ @@ -2879,7 +2879,7 @@ void Brw_AskEditWorksCrs (void) } } else - Usr_ShowWarningNoUsersFound (Rol_ROLE_UNKNOWN); + Usr_ShowWarningNoUsersFound (Rol_UNKNOWN); /***** Free memory for users' list *****/ Usr_FreeUsrsList (&Gbl.Usrs.LstTchs); @@ -3156,14 +3156,14 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat) /***** Start form to send a message to this user *****/ fprintf (Gbl.F.Out,""); - Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ? ActSeeRecOneStd : + Act_FormStart (UsrDat->RoleInCurrentCrsDB == Rol_STUDENT ? ActSeeRecOneStd : ActSeeRecOneTch); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); /***** Show user's ID *****/ ID_WriteUsrIDs (UsrDat, - UsrDat->RoleInCurrentCrsDB == Rol_ROLE_TEACHER ? ID_ICanSeeTeacherID (UsrDat) : - (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER)); + UsrDat->RoleInCurrentCrsDB == Rol_TEACHER ? ID_ICanSeeTeacherID (UsrDat) : + (Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)); /***** Show user's name *****/ fprintf (Gbl.F.Out,"
    "); @@ -3332,8 +3332,8 @@ static void Brw_ShowFileBrowser (void) static void Brw_WriteTopBeforeShowingFileBrowser (void) { - bool IAmTeacher = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER ); - bool IAmSuperuser = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); + bool IAmTeacher = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER ); + bool IAmSuperuser = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); /***** Update last access to this file browser *****/ Brw_UpdateLastAccess (); @@ -3342,27 +3342,27 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void) switch (Gbl.FileBrowser.Type) { case Brw_SHOW_DOCUM_INS: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) Brw_PutFormToShowOrAdmin (Brw_ADMIN,ActAdmDocIns); break; case Brw_ADMI_DOCUM_INS: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) Brw_PutFormToShowOrAdmin (Brw_SHOW,ActSeeDocIns); break; case Brw_SHOW_DOCUM_CTR: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) Brw_PutFormToShowOrAdmin (Brw_ADMIN,ActAdmDocCtr); break; case Brw_ADMI_DOCUM_CTR: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_CTR_ADM) Brw_PutFormToShowOrAdmin (Brw_SHOW,ActSeeDocCtr); break; case Brw_SHOW_DOCUM_DEG: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) Brw_PutFormToShowOrAdmin (Brw_ADMIN,ActAdmDocDeg); break; case Brw_ADMI_DOCUM_DEG: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) Brw_PutFormToShowOrAdmin (Brw_SHOW,ActSeeDocDeg); break; case Brw_SHOW_DOCUM_CRS: @@ -3607,7 +3607,7 @@ static void Brw_WriteSubtitleOfFileBrowser (void) break; case Brw_SHOW_MARKS_CRS: case Brw_SHOW_MARKS_GRP: - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) sprintf (Subtitle,"(%s)", Txt_accessible_only_for_reading_by_you_and_the_teachers_of_the_course); else @@ -4865,7 +4865,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level, ""); /***** Put icon to download ZIP of folder *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_STUDENT && // Only ZIP folders if I am student, teacher... + if (Gbl.Usrs.Me.LoggedRole >= Rol_STUDENT && // Only ZIP folders if I am student, teacher... !SeeMarks) // Do not ZIP folders when seeing marks { fprintf (Gbl.F.Out,"",Gbl.RowEvenOdd); @@ -7649,7 +7649,7 @@ static void Brw_PutFormToCreateAFolder (const char *FileNameToShow) /* Folder */ fprintf (Gbl.F.Out,"" - "", The_ClassFormul[Gbl.Prefs.Theme],Txt_Folder); @@ -8767,20 +8767,20 @@ void Brw_ShowFileMetadata (void) switch (Gbl.FileBrowser.Type) { case Brw_SHOW_DOCUM_INS: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole < Rol_INS_ADM) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; case Brw_SHOW_DOCUM_CTR: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole < Rol_CTR_ADM) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; case Brw_SHOW_DOCUM_DEG: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole < Rol_DEG_ADM) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; case Brw_SHOW_DOCUM_CRS: case Brw_SHOW_DOCUM_GRP: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_TEACHER) + if (Gbl.Usrs.Me.LoggedRole < Rol_TEACHER) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; default: @@ -8928,7 +8928,7 @@ void Brw_ShowFileMetadata (void) } else /* Unknown publisher */ - fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_ROLE_UNKNOWN][Usr_SEX_UNKNOWN]); + fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_UNKNOWN][Usr_SEX_UNKNOWN]); fprintf (Gbl.F.Out,"" ""); @@ -9187,20 +9187,20 @@ void Brw_DownloadFile (void) switch (Gbl.FileBrowser.Type) { case Brw_SHOW_DOCUM_INS: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole < Rol_INS_ADM) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; case Brw_SHOW_DOCUM_CTR: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_CTR_ADM) + if (Gbl.Usrs.Me.LoggedRole < Rol_CTR_ADM) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; case Brw_SHOW_DOCUM_DEG: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole < Rol_DEG_ADM) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; case Brw_SHOW_DOCUM_CRS: case Brw_SHOW_DOCUM_GRP: - if (Gbl.Usrs.Me.LoggedRole < Rol_ROLE_TEACHER) + if (Gbl.Usrs.Me.LoggedRole < Rol_TEACHER) ICanView = !Brw_CheckIfFileOrFolderIsHidden (&FileMetadata); break; default: @@ -9342,7 +9342,7 @@ static bool Brw_CheckIfICanEditFileMetadata (long PublisherUsrCod) else // The file has no publisher { ZoneUsrCod = Brw_GetZoneUsrCodForFiles (); - if ((ZoneUsrCod <= 0 && Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) || // It's a zone without owner and I am a superuser (I may be the future owner) + if ((ZoneUsrCod <= 0 && Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) || // It's a zone without owner and I am a superuser (I may be the future owner) ZoneUsrCod == Gbl.Usrs.Me.UsrDat.UsrCod) // I am the owner return true; } @@ -10530,7 +10530,7 @@ static void Brw_RenameChildrenFilesOrFoldersInDB (const char *OldPath,const char static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level) { /***** I must be student, teacher, admin or superuser to edit *****/ - if (Gbl.Usrs.Me.MaxRole < Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.MaxRole < Rol_STUDENT) return false; /***** Set depending on browser, level, logged role... *****/ @@ -10551,7 +10551,7 @@ static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level) (Level > 1 && !Gbl.FileBrowser.Asg.Hidden && // If assignment is visible (not hidden) Gbl.FileBrowser.Asg.ICanDo && // If I can do this assignment - (Gbl.FileBrowser.Asg.Open || Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER)))); + (Gbl.FileBrowser.Asg.Open || Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)))); default: return (Level != 0 && Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type]); @@ -10565,7 +10565,7 @@ static bool Brw_CheckIfICanEditFileOrFolder (unsigned Level) static bool Brw_CheckIfICanCreateIntoFolder (unsigned Level) { /***** I must be student, teacher, admin or superuser to edit *****/ - if (Gbl.Usrs.Me.MaxRole < Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.MaxRole < Rol_STUDENT) return false; /***** Have I premission to create/paste a new file or folder into the folder? *****/ @@ -10578,7 +10578,7 @@ static bool Brw_CheckIfICanCreateIntoFolder (unsigned Level) (!Gbl.FileBrowser.Asg.Hidden && // If assignment is visible (not hidden) Gbl.FileBrowser.Asg.ICanDo && // If I can do this assignment (Gbl.FileBrowser.Asg.Open || - Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_TEACHER)))); + Gbl.Usrs.Me.LoggedRole >= Rol_TEACHER)))); default: return Brw_FileBrowserIsEditable[Gbl.FileBrowser.Type]; } @@ -10603,7 +10603,7 @@ static bool Brw_CheckIfIHavePermissionFileOrFolderCommon (void) switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_STUDENT: // If I am a student, I can modify the file/folder if I am the publisher + case Rol_STUDENT: // If I am a student, I can modify the file/folder if I am the publisher /***** Get all the distinct publishers of files starting by Gbl.FileBrowser.Priv.FullPathInTree from database *****/ sprintf (Query,"SELECT DISTINCT(PublisherUsrCod) FROM files" " WHERE FileBrowser='%u' AND Cod='%ld'" @@ -10626,9 +10626,9 @@ static bool Brw_CheckIfIHavePermissionFileOrFolderCommon (void) DB_FreeMySQLResult (&mysql_res); return (Gbl.Usrs.Me.UsrDat.UsrCod == PublisherUsrCod); // Am I the publisher of subtree? - case Rol_ROLE_TEACHER: - case Rol_ROLE_DEG_ADM: - case Rol_ROLE_SYS_ADM: + case Rol_TEACHER: + case Rol_DEG_ADM: + case Rol_SYS_ADM: return true; default: return false; diff --git a/swad_forum.c b/swad_forum.c index d9f45129..d75e1eaa 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -876,7 +876,7 @@ static void For_ShowThreadPosts (long ThrCod,char *LastSubject) long PstCod; bool NewPst = false; bool ICanModerateForum = false; - bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); // If I have permission to move threads... + bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); // If I have permission to move threads... /***** Get data of the thread *****/ Thr.ThrCod = ThrCod; @@ -954,20 +954,20 @@ static void For_ShowThreadPosts (long ThrCod,char *LastSubject) case For_FORUM_SWAD_USRS: case For_FORUM_SWAD_TCHS: case For_FORUM_GLOBAL_USRS: case For_FORUM_GLOBAL_TCHS: case For_FORUM_CENTRE_USRS: case For_FORUM_CENTRE_TCHS: - ICanModerateForum = Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM; + ICanModerateForum = Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM; break; case For_FORUM_INSTITUTION_USRS: case For_FORUM_INSTITUTION_TCHS: - ICanModerateForum = Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM; + ICanModerateForum = Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM; break; case For_FORUM_DEGREE_USRS: case For_FORUM_DEGREE_TCHS: case For_FORUM_COURSE_TCHS: - ICanModerateForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_DEG_ADM || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); + ICanModerateForum = (Gbl.Usrs.Me.LoggedRole == Rol_DEG_ADM || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); break; case For_FORUM_COURSE_USRS: - ICanModerateForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_DEG_ADM || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); + ICanModerateForum = (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER || + Gbl.Usrs.Me.LoggedRole == Rol_DEG_ADM || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); break; } @@ -1536,36 +1536,36 @@ void For_SetForumTypeAndRestrictAccess (void) switch (Gbl.Forum.ForumType) { case For_FORUM_COURSE_USRS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyRoleInCrs (Gbl.Forum.Crs.CrsCod) >= Rol_ROLE_STUDENT); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyRoleInCrs (Gbl.Forum.Crs.CrsCod) >= Rol_STUDENT); break; case For_FORUM_COURSE_TCHS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyRoleInCrs (Gbl.Forum.Crs.CrsCod) >= Rol_ROLE_TEACHER); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyRoleInCrs (Gbl.Forum.Crs.CrsCod) >= Rol_TEACHER); break; case For_FORUM_DEGREE_USRS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInDeg (Gbl.Forum.Deg.DegCod) >= Rol_ROLE_STUDENT); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInDeg (Gbl.Forum.Deg.DegCod) >= Rol_STUDENT); break; case For_FORUM_DEGREE_TCHS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInDeg (Gbl.Forum.Deg.DegCod) >= Rol_ROLE_TEACHER); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInDeg (Gbl.Forum.Deg.DegCod) >= Rol_TEACHER); break; case For_FORUM_CENTRE_USRS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInCtr (Gbl.Forum.Ctr.CtrCod) >= Rol_ROLE_STUDENT); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInCtr (Gbl.Forum.Ctr.CtrCod) >= Rol_STUDENT); break; case For_FORUM_CENTRE_TCHS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInCtr (Gbl.Forum.Ctr.CtrCod) >= Rol_ROLE_TEACHER); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInCtr (Gbl.Forum.Ctr.CtrCod) >= Rol_TEACHER); break; case For_FORUM_INSTITUTION_USRS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInIns (Gbl.Forum.Ins.InsCod) >= Rol_ROLE_STUDENT); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInIns (Gbl.Forum.Ins.InsCod) >= Rol_STUDENT); break; case For_FORUM_INSTITUTION_TCHS: - ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInIns (Gbl.Forum.Ins.InsCod) >= Rol_ROLE_TEACHER); + ICanSeeForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInIns (Gbl.Forum.Ins.InsCod) >= Rol_TEACHER); break; case For_FORUM_GLOBAL_USRS: case For_FORUM_SWAD_USRS: @@ -1573,7 +1573,7 @@ void For_SetForumTypeAndRestrictAccess (void) break; case For_FORUM_GLOBAL_TCHS: case For_FORUM_SWAD_TCHS: - ICanSeeForum = (Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_ROLE_TEACHER)); + ICanSeeForum = (Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_TEACHER)); break; } if (!ICanSeeForum) @@ -1588,7 +1588,7 @@ void For_ShowForumList (void) { extern const char *The_ClassFormul[The_NUM_THEMES]; extern const char *Txt_Forums; - bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); // If I have permission to move threads... + bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); // If I have permission to move threads... bool IsLastItemInLevel[1+For_FORUM_MAX_LEVELS]; unsigned NumMyIns; MYSQL_RES *mysql_resCtr; @@ -1633,7 +1633,7 @@ void For_ShowForumList (void) switch (Gbl.Forum.WhichForums) { case For_ONLY_CURRENT_FORUMS: - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) ICanSeeInsForum = true; else ICanSeeInsForum = Usr_CheckIfIBelongToIns (Gbl.CurrentIns.Ins.InsCod); @@ -1643,7 +1643,7 @@ void For_ShowForumList (void) if (ICanSeeInsForum) { - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) ICanSeeCtrForum = true; else ICanSeeCtrForum = Usr_CheckIfIBelongToCtr (Gbl.CurrentCtr.Ctr.CtrCod); @@ -1652,7 +1652,7 @@ void For_ShowForumList (void) if (For_WriteLinksToInsForums (Gbl.CurrentIns.Ins.InsCod,true,IsLastItemInLevel) > 0) if (ICanSeeCtrForum) { - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_DEG_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_DEG_ADM) ICanSeeDegForum = true; else ICanSeeDegForum = Usr_CheckIfIBelongToDeg (Gbl.CurrentDeg.Deg.DegCod); @@ -1663,7 +1663,7 @@ void For_ShowForumList (void) /***** Links to forums of current degree *****/ if (For_WriteLinksToDegForums (Gbl.CurrentDeg.Deg.DegCod,true,IsLastItemInLevel) > 0) if (Gbl.Usrs.Me.IBelongToCurrentCrs || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) /***** Links to forums of current degree *****/ For_WriteLinksToCrsForums (Gbl.CurrentCrs.Crs.CrsCod,true,IsLastItemInLevel); } @@ -1821,7 +1821,7 @@ static void For_WriteLinksToGblForums (bool IsLastItemInLevel[1+For_FORUM_MAX_LE For_WriteLinkToAForum (For_FORUM_GLOBAL_USRS,false,1,IsLastItemInLevel); /***** Link to forum of teachers global *****/ - if (Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_ROLE_TEACHER)) + if (Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_TEACHER)) { IsLastItemInLevel[1] = false; For_WriteLinkToAForum (For_FORUM_GLOBAL_TCHS,false,1,IsLastItemInLevel); @@ -1834,8 +1834,8 @@ static void For_WriteLinksToGblForums (bool IsLastItemInLevel[1+For_FORUM_MAX_LE static void For_WriteLinksToPlatformForums (bool IsLastForum,bool IsLastItemInLevel[1+For_FORUM_MAX_LEVELS]) { - bool ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_ROLE_TEACHER)); + bool ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Gbl.Usrs.Me.UsrDat.Roles >= (1 << Rol_TEACHER)); /***** Link to forum of users about the platform *****/ IsLastItemInLevel[1] = (IsLastForum && !ICanSeeTeacherForum); @@ -1860,8 +1860,8 @@ static long For_WriteLinksToInsForums (long InsCod,bool IsLastIns,bool IsLastIte if (InsCod > 0) { - ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInIns (InsCod) >= Rol_ROLE_TEACHER); + ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInIns (InsCod) >= Rol_TEACHER); /***** Get data of this institution *****/ Gbl.Forum.Ins.InsCod = InsCod; @@ -1893,8 +1893,8 @@ static long For_WriteLinksToCtrForums (long CtrCod,bool IsLastCtr,bool IsLastIte if (CtrCod > 0) { - ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInCtr (CtrCod) >= Rol_ROLE_TEACHER); + ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInCtr (CtrCod) >= Rol_TEACHER); /***** Get data of this centre *****/ Gbl.Forum.Ctr.CtrCod = CtrCod; @@ -1926,8 +1926,8 @@ static long For_WriteLinksToDegForums (long DegCod,bool IsLastDeg,bool IsLastIte if (DegCod > 0) { - ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyMaxRoleInDeg (DegCod) >= Rol_ROLE_TEACHER); + ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyMaxRoleInDeg (DegCod) >= Rol_TEACHER); /***** Get data of this degree *****/ Gbl.Forum.Deg.DegCod = DegCod; @@ -1959,8 +1959,8 @@ static long For_WriteLinksToCrsForums (long CrsCod,bool IsLastCrs,bool IsLastIte if (CrsCod > 0) { - ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || - Rol_GetMyRoleInCrs (CrsCod) >= Rol_ROLE_TEACHER); + ICanSeeTeacherForum = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || + Rol_GetMyRoleInCrs (CrsCod) >= Rol_TEACHER); /***** Get data of this course *****/ Gbl.Forum.Crs.CrsCod = CrsCod; @@ -2377,7 +2377,7 @@ void For_ShowForumThrs (void) For_ForumOrderType_t Order; long ThrCods[Pag_ITEMS_PER_PAGE]; struct Pagination PaginationThrs; - bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); // If I have permission to move threads... + bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); // If I have permission to move threads... /***** Get if there is a thread ready to be moved *****/ if (ICanMoveThreads) @@ -3233,7 +3233,7 @@ void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *Pagi const char *DateTime; struct Pagination PaginationPsts; const char *Style; - bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM); // If I have permission to move threads... + bool ICanMoveThreads = (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); // If I have permission to move threads... long ThreadInMyClipboard = -1L; bool ThisThreadIsInMyClipboard; unsigned Column; diff --git a/swad_global.c b/swad_global.c index ec75a7a4..07e0cc54 100644 --- a/swad_global.c +++ b/swad_global.c @@ -159,7 +159,7 @@ void Gbl_InitializeGlobals (void) Gbl.Usrs.Me.RoleFromSession = Gbl.Usrs.Me.LoggedRole = Gbl.Usrs.Me.LoggedRoleBeforeCloseSession = - Gbl.Usrs.Me.MaxRole = Rol_ROLE_UNKNOWN; + Gbl.Usrs.Me.MaxRole = Rol_UNKNOWN; Gbl.Usrs.Me.IBelongToCurrentIns = false; Gbl.Usrs.Me.IBelongToCurrentCtr = false; Gbl.Usrs.Me.IBelongToCurrentDeg = false; @@ -439,7 +439,7 @@ void Gbl_InitializeGlobals (void) /* Related to imported data from external site */ Gbl.Imported.ExternalUsrId[0] = '\0'; Gbl.Imported.ExternalSesId[0] = '\0'; - Gbl.Imported.ExternalRole = Rol_ROLE_UNKNOWN; + Gbl.Imported.ExternalRole = Rol_UNKNOWN; Gbl.WebService.Function = Svc_unknown; } diff --git a/swad_group.c b/swad_group.c index e8a1743f..0c116b5f 100644 --- a/swad_group.c +++ b/swad_group.c @@ -535,7 +535,7 @@ void Grp_ChangeMyGrps (void) // ...is a radio-based form and not a checkbox-based form... // ...this check is made only to avoid problems... // ...if the student manipulates the form - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT && + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && LstGrpsIWant.NumGrps >= 2) MySelectionIsValid = Grp_CheckIfSelectionGrpsIsValid (&LstGrpsIWant); @@ -579,7 +579,7 @@ void Grp_ChangeOtherUsrGrps (void) /***** A student can not be enrolled in more than one group if the type of group is of single enrollment *****/ - if (Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB == Rol_ROLE_STUDENT && + if (Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB == Rol_STUDENT && LstGrpsUsrWants.NumGrps >= 2) SelectionIsValid = Grp_CheckIfSelectionGrpsIsValid (&LstGrpsUsrWants); @@ -636,7 +636,7 @@ bool Grp_ChangeMyGrpsAtomically (struct ListCodGrps *LstGrpsIWant) Grp_GetLstCodGrpsUsrBelongs (Gbl.CurrentCrs.Crs.CrsCod,-1L, Gbl.Usrs.Me.UsrDat.UsrCod,&LstGrpsIBelong); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) { /***** Go across the list of groups which I belong to and check if I try to leave a closed group *****/ for (NumGrpIBelong = 0; @@ -770,7 +770,7 @@ bool Grp_ChangeGrpsOtherUsrAtomically (struct ListCodGrps *LstGrpsUsrWants) bool RegisterUsrInThisGrp; bool ChangesMade = false; - if (Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB == Rol_ROLE_STUDENT) + if (Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB == Rol_STUDENT) { /***** Lock tables to make the inscription atomic *****/ DB_Query ("LOCK TABLES crs_grp_types WRITE,crs_grp WRITE," @@ -820,7 +820,7 @@ bool Grp_ChangeGrpsOtherUsrAtomically (struct ListCodGrps *LstGrpsUsrWants) Grp_FreeListCodGrp (&LstGrpsUsrBelongs); /***** Unlock tables after changes in my groups *****/ - if (Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB == Rol_ROLE_STUDENT) + if (Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB == Rol_STUDENT) { Gbl.DB.LockedTables = false; // Set to false before the following unlock... // ...to not retry the unlock if error in unlocking @@ -1520,7 +1520,7 @@ void Grp_ListGrpsToEditAsgAttOrSvy (struct GroupType *GrpTyp,long Cod,Grp_AsgOrS fprintf (Gbl.F.Out," checked=\"checked\""); } if (!(IBelongToThisGroup || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) fprintf (Gbl.F.Out," disabled=\"disabled\""); fprintf (Gbl.F.Out," onclick=\"uncheckParent(this,'WholeCrs')\" />"); @@ -1545,8 +1545,8 @@ void Grp_ReqRegisterInGrps (void) unsigned NumGrpsIBelong; /***** Put link (form) to edit groups *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_TEACHER || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_TEACHER || + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Lay_PutFormToEdit (ActReqEdiGrp); /***** Check if this course has groups *****/ @@ -1556,7 +1556,7 @@ void Grp_ReqRegisterInGrps (void) Act_FormStart (ActChgGrp); /***** Show list of groups to register/remove me *****/ - NumGrpsIBelong = Grp_ShowLstGrpsToChgMyGrps ((Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT)); + NumGrpsIBelong = Grp_ShowLstGrpsToChgMyGrps ((Gbl.Usrs.Me.LoggedRole == Rol_STUDENT)); /***** End form *****/ Lay_PutConfirmButton (NumGrpsIBelong ? Txt_Change_my_groups : @@ -1690,7 +1690,7 @@ static unsigned Grp_ListGrpsForChange (struct GroupType *GrpTyp) // If user is a student and the enrollment is single // and there are more than a group, put a radio item - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT && + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && !GrpTyp->MultipleEnrollment && GrpTyp->NumGrps > 1) { @@ -1706,7 +1706,7 @@ static unsigned Grp_ListGrpsForChange (struct GroupType *GrpTyp) if (IBelongToThisGroup) fprintf (Gbl.F.Out," checked=\"checked\""); - else if ((Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) && + else if ((Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) && ((!Grp->Open) || (Grp->NumStudents >= Grp->MaxStudents))) fprintf (Gbl.F.Out," disabled=\"disabled\""); fprintf (Gbl.F.Out," />"); @@ -1801,7 +1801,7 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod) if (UsrBelongsToThisGroup) fprintf (Gbl.F.Out," checked=\"checked\""); if (!(IBelongToThisGroup || - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)) fprintf (Gbl.F.Out," disabled=\"disabled\""); fprintf (Gbl.F.Out," />"); @@ -2750,7 +2750,7 @@ unsigned Grp_CountNumStdsInGrp (long GrpCod) " AND crs_grp_types.CrsCod=crs_usr.CrsCod" " AND crs_grp_usr.UsrCod=crs_usr.UsrCod" " AND crs_usr.Role='%u'", - GrpCod,(unsigned) Rol_ROLE_STUDENT); + GrpCod,(unsigned) Rol_STUDENT); return (unsigned) DB_QueryCOUNT (Query, "can not get number of students in a group"); } @@ -2771,7 +2771,7 @@ static unsigned Grp_CountNumStdsInNoGrpsOfType (long GrpTypCod) " WHERE CrsCod='%ld' AND Role='%u' AND UsrCod NOT IN" " (SELECT DISTINCT crs_grp_usr.UsrCod FROM crs_grp,crs_grp_usr" " WHERE crs_grp.GrpTypCod='%ld' AND crs_grp.GrpCod=crs_grp_usr.GrpCod)", - Gbl.CurrentCrs.Crs.CrsCod,(unsigned) Rol_ROLE_STUDENT,GrpTypCod); + Gbl.CurrentCrs.Crs.CrsCod,(unsigned) Rol_STUDENT,GrpTypCod); DB_QuerySELECT (Query,&mysql_res,"can not get the number of students not belonging to groups of a type"); /***** Get the number of students (row[0]) *****/ @@ -2863,7 +2863,7 @@ unsigned Grp_NumGrpTypesMandatIDontBelong (void) " WHERE crs_grp_types.CrsCod='%ld' AND crs_grp_types.Mandatory='Y' AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod" " AND crs_grp.GrpCod=crs_grp_usr.GrpCod AND crs_grp_usr.UsrCod='%ld')", Gbl.CurrentCrs.Crs.CrsCod, - (unsigned) Rol_ROLE_STUDENT, + (unsigned) Rol_STUDENT, Gbl.CurrentCrs.Crs.CrsCod, Gbl.Usrs.Me.UsrDat.UsrCod); NumGrpTypes = DB_QueryCOUNT (Query,"can not get the number of types of group of mandatory registration to which you don't belong to"); @@ -2889,7 +2889,7 @@ static bool Grp_GetIfGrpIsAvailable (long GrpTypCod) " AND crs_grp.Open='Y' AND crs_grp_types.CrsCod=crs_usr.CrsCod" " AND crs_grp.GrpCod=crs_grp_usr.GrpCod AND crs_grp_usr.UsrCod=crs_usr.UsrCod AND crs_usr.Role='%u'" " GROUP BY crs_grp.GrpCod HAVING NumStudents" \ "", - NumStds,Txt_ROLES_PLURAL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], + NumStds,Txt_ROLES_PLURAL_abc[Rol_STUDENT][Usr_SEX_UNKNOWN], NumStds ? ":" : ""); if (NumStds) diff --git a/swad_indicator.c b/swad_indicator.c index acb20b65..81bb65d8 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -294,7 +294,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " AND usr_data.DptCod='%ld'" " ORDER BY degrees.FullName,courses.FullName", Gbl.Stat.DegTypCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); else sprintf (Query,"SELECT DISTINCTROW degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod" @@ -305,7 +305,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " AND crs_usr.UsrCod=usr_data.UsrCod" " AND usr_data.DptCod='%ld'" " ORDER BY degrees.FullName,courses.FullName", - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); } else @@ -338,7 +338,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " AND usr_data.DptCod='%ld'" " ORDER BY degrees.FullName,courses.FullName", Gbl.CurrentCty.Cty.CtyCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); else sprintf (Query,"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod" @@ -363,7 +363,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " AND usr_data.DptCod='%ld'" " ORDER BY degrees.FullName,courses.FullName", Gbl.CurrentIns.Ins.InsCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); else sprintf (Query,"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod" @@ -386,7 +386,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " AND usr_data.DptCod='%ld'" " ORDER BY degrees.FullName,courses.FullName", Gbl.CurrentCtr.Ctr.CtrCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); else sprintf (Query,"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod" @@ -408,7 +408,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " AND usr_data.DptCod='%ld'" " ORDER BY degrees.FullName,courses.FullName", Gbl.CurrentDeg.Deg.DegCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); else sprintf (Query,"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod" @@ -432,7 +432,7 @@ static unsigned Ind_GetTableOfCourses (MYSQL_RES **mysql_res) " ORDER BY degrees.FullName,courses.FullName", Gbl.CurrentCrs.Crs.CrsCod, Gbl.CurrentCrs.Crs.CrsCod, - (unsigned) Rol_ROLE_TEACHER, + (unsigned) Rol_TEACHER, Gbl.Stat.DptCod); else sprintf (Query,"SELECT degrees.FullName,courses.FullName,courses.CrsCod,courses.InsCrsCod" @@ -1050,8 +1050,8 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat break; case Ind_INDICATORS_FULL: /* Get number of users */ - NumStds = Usr_GetNumUsrsInCrs (Rol_ROLE_STUDENT,CrsCod); - NumTchs = Usr_GetNumUsrsInCrs (Rol_ROLE_TEACHER,CrsCod); + NumStds = Usr_GetNumUsrsInCrs (Rol_STUDENT,CrsCod); + NumTchs = Usr_GetNumUsrsInCrs (Rol_TEACHER,CrsCod); fprintf (Gbl.F.Out,"" "" "" "

    "); /***** Convert to respectful HTML and insert links *****/ Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, - Txt,Cns_MAX_BYTES_LONG_TEXT,false); // Convert from HTML to recpectful HTML - Str_InsertLinkInURLs (Txt,Cns_MAX_BYTES_LONG_TEXT,60); // Insert links + TxtHTML,Cns_MAX_BYTES_LONG_TEXT,false); // Convert from HTML to recpectful HTML + Str_InsertLinkInURLs (TxtHTML,Cns_MAX_BYTES_LONG_TEXT,60); // Insert links /***** Write text *****/ - fprintf (Gbl.F.Out,"%s",Txt); + fprintf (Gbl.F.Out,"%s",TxtHTML); /***** Finish table *****/ fprintf (Gbl.F.Out,"

    " @@ -1594,6 +1618,95 @@ static void Inf_ShowTxtInfo (Inf_InfoType_t InfoType) Lay_ShowAlert (Lay_WARNING,Txt_No_information_available); } +/*****************************************************************************/ +/********************* Show information about the course *********************/ +/*****************************************************************************/ + +static void Inf_ShowRichTxtInfo (Inf_InfoType_t InfoType) + { + extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES]; + extern const char *Txt_No_information_available; + char TxtHTML[Cns_MAX_BYTES_LONG_TEXT+1]; + char TxtMD[Cns_MAX_BYTES_LONG_TEXT+1]; + char PathFileMD[PATH_MAX+1]; + char PathFileHTML[PATH_MAX+1]; + FILE *FileMD; // Temporary Markdown file + FILE *FileHTML; // Temporary HTML file + char Command[512+PATH_MAX*2]; // Command to call the program of preprocessing of photos + int ReturnCode; + + /***** Get info text from database *****/ + Inf_GetInfoTxtFromDB (InfoType,TxtHTML,TxtMD,Cns_MAX_BYTES_LONG_TEXT); + + // Lay_ShowAlert (Lay_INFO,TxtHTML); + // Lay_ShowAlert (Lay_INFO,TxtMD); + + if (TxtMD[0]) + { + /***** Start table *****/ + Lay_StartRoundFrameTable10 (NULL,0,Txt_INFO_TITLE[InfoType]); + + if (InfoType == Inf_INTRODUCTION || + InfoType == Inf_TEACHING_GUIDE) + Lay_WriteHeaderClassPhoto (3,false,false,Gbl.CurrentIns.Ins.InsCod,Gbl.CurrentDeg.Deg.DegCod,Gbl.CurrentCrs.Crs.CrsCod); + + fprintf (Gbl.F.Out,"" + "" + "
    "); + + /***** Store text into a temporary .md file in HTML output directory *****/ + // TODO: change to another directory? + /* Create a unique name for the .md file */ + sprintf (PathFileMD,"%s/%s/%s.md", + Cfg_PATH_SWAD_PRIVATE,Cfg_FOLDER_OUT,Gbl.UniqueNameEncrypted); + sprintf (PathFileHTML,"%s/%s/%s.md.html", // Do not use only .html because that is the output temporary file + Cfg_PATH_SWAD_PRIVATE,Cfg_FOLDER_OUT,Gbl.UniqueNameEncrypted); + + /* Open Markdown file for writing */ + if ((FileMD = fopen (PathFileMD,"wb")) == NULL) + Lay_ShowErrorAndExit ("Can not create temporary Markdown file."); + + /* Write text into Markdown file */ + fprintf (FileMD,"%s",TxtMD); + + /* Close Markdown file */ + fclose (FileMD); + + /***** Convert from Markdown to HTML *****/ + sprintf (Command,"iconv -f ISO-8859-1 -t UTF-8 %s" + " | pandoc --mathjax -f markdown -t html" + " | iconv -f UTF-8 -t ISO-8859-1 -o %s", + PathFileMD, + PathFileHTML); + ReturnCode = system (Command); + if (ReturnCode == -1) + Lay_ShowErrorAndExit ("Error when running command to convert from Markdown to HTML."); + + /***** Remove Markdown file *****/ + unlink (PathFileMD); + + /***** Copy HTML file just created to HTML output *****/ + /* Open temporary HTML file for reading */ + if ((FileHTML = fopen (PathFileHTML,"rb")) == NULL) + Lay_ShowErrorAndExit ("Can not open temporary Markdown file."); + + /* Copy from temporary HTML file to output file */ + Fil_FastCopyOfOpenFiles (FileHTML,Gbl.F.Out); + + /* Close and remove temporary HTML file */ + fclose (FileHTML); + unlink (PathFileHTML); + + /***** Finish table *****/ + fprintf (Gbl.F.Out,"
    " + "" + ""); + Lay_EndRoundFrameTable10 (); + } + else + Lay_ShowAlert (Lay_WARNING,Txt_No_information_available); + } + /*****************************************************************************/ /************* Check if exists and write page into HTML buffer ***************/ /*****************************************************************************/ @@ -1603,7 +1716,7 @@ int Inf_WritePlainTextIntoHTMLBuffer (Inf_InfoType_t InfoType,char **HTMLBuffer) { extern const char *Txt_STR_LANG_ID[Txt_NUM_LANGUAGES]; extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES]; - char Txt[Cns_MAX_BYTES_LONG_TEXT+1]; + char TxtHTML[Cns_MAX_BYTES_LONG_TEXT+1]; char FileNameHTMLTmp[PATH_MAX+1]; FILE *FileHTMLTmp; size_t Length; @@ -1612,9 +1725,9 @@ int Inf_WritePlainTextIntoHTMLBuffer (Inf_InfoType_t InfoType,char **HTMLBuffer) *HTMLBuffer = NULL; /***** Get info text from database *****/ - Inf_GetInfoTxtFromDB (InfoType,Txt,Cns_MAX_BYTES_LONG_TEXT); + Inf_GetInfoTxtFromDB (InfoType,TxtHTML,NULL,Cns_MAX_BYTES_LONG_TEXT); - if (Txt[0]) + if (TxtHTML[0]) { /***** Create a unique name for the file *****/ sprintf (FileNameHTMLTmp,"%s/%s/%s_info.html", @@ -1644,11 +1757,11 @@ int Inf_WritePlainTextIntoHTMLBuffer (Inf_InfoType_t InfoType,char **HTMLBuffer) /* Convert to respectful HTML and insert links */ Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, - Txt,Cns_MAX_BYTES_LONG_TEXT,false); // Convert from HTML to recpectful HTML - Str_InsertLinkInURLs (Txt,Cns_MAX_BYTES_LONG_TEXT,60); // Insert links + TxtHTML,Cns_MAX_BYTES_LONG_TEXT,false); // Convert from HTML to recpectful HTML + Str_InsertLinkInURLs (TxtHTML,Cns_MAX_BYTES_LONG_TEXT,60); // Insert links /* Write text */ - fprintf (FileHTMLTmp,"%s",Txt); + fprintf (FileHTMLTmp,"%s",TxtHTML); /***** Write end of page into file *****/ fprintf (FileHTMLTmp,"

    \n" @@ -1697,7 +1810,7 @@ void Inf_EditPlainTxtInfo (void) extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES]; extern const char *Txt_Save; Inf_InfoType_t InfoType = Inf_AsignInfoType (); - char Txt[Cns_MAX_BYTES_LONG_TEXT+1]; + char TxtHTML[Cns_MAX_BYTES_LONG_TEXT+1]; /***** Start table *****/ Act_FormStart (Inf_ActionsRcvPlaTxtInfo[InfoType]); @@ -1708,7 +1821,7 @@ void Inf_EditPlainTxtInfo (void) Lay_WriteHeaderClassPhoto (1,false,false,Gbl.CurrentIns.Ins.InsCod,Gbl.CurrentDeg.Deg.DegCod,Gbl.CurrentCrs.Crs.CrsCod); /***** Get info text from database *****/ - Inf_GetInfoTxtFromDB (InfoType,Txt,Cns_MAX_BYTES_LONG_TEXT); + Inf_GetInfoTxtFromDB (InfoType,TxtHTML,NULL,Cns_MAX_BYTES_LONG_TEXT); /***** Edition area *****/ fprintf (Gbl.F.Out,"" @@ -1718,11 +1831,10 @@ void Inf_EditPlainTxtInfo (void) "" "" "", - Txt); + TxtHTML); /***** End of table *****/ Lay_EndRoundFrameTable10 (); - // fprintf (Gbl.F.Out,"
    "); /***** Send and undo buttons *****/ Lay_PutConfirmButton (Txt_Save); @@ -1736,21 +1848,12 @@ void Inf_EditPlainTxtInfo (void) void Inf_EditRichTxtInfo (void) { extern const char *Txt_The_rich_text_editor_is_not_yet_available; - extern const char *Txt_Send; + extern const char *Txt_Save; Inf_InfoType_t InfoType = Inf_AsignInfoType (); - char Txt[Cns_MAX_BYTES_LONG_TEXT+1]; + char TxtHTML[Cns_MAX_BYTES_LONG_TEXT+1]; /***** Under test... *****/ - /* -+--------+----------+---------------------+ -| UsrCod | UsrID | CreatTime | -+--------+----------+---------------------+ -| 1346 | 24243619 | 2013-11-25 00:29:13 | -| 24383 | 53590723 | 2013-11-25 00:29:13 | -+--------+----------+---------------------+ - */ - if (Gbl.Usrs.Me.UsrDat.UsrCod != 1346 && - Gbl.Usrs.Me.UsrDat.UsrCod != 24383) // TODO: Remove this when rich text editor is available + if (Gbl.Usrs.Me.LoggedRole != Rol_SYS_ADM) // TODO: Remove this when rich text editor is available { Lay_ShowAlert (Lay_WARNING,Txt_The_rich_text_editor_is_not_yet_available); @@ -1768,7 +1871,7 @@ void Inf_EditRichTxtInfo (void) Lay_WriteHeaderClassPhoto (1,false,false,Gbl.CurrentIns.Ins.InsCod,Gbl.CurrentDeg.Deg.DegCod,Gbl.CurrentCrs.Crs.CrsCod); /***** Get info text from database *****/ - Inf_GetInfoTxtFromDB (InfoType,Txt,Cns_MAX_BYTES_LONG_TEXT); + Inf_GetInfoTxtFromDB (InfoType,TxtHTML,NULL,Cns_MAX_BYTES_LONG_TEXT); /***** Edition area *****/ fprintf (Gbl.F.Out,"" @@ -1778,14 +1881,13 @@ void Inf_EditRichTxtInfo (void) "" "" "", - Txt); + TxtHTML); /***** End of table *****/ Lay_EndRoundFrameTable10 (); - // fprintf (Gbl.F.Out,"
    "); /***** Send and undo buttons *****/ - Lay_PutCreateButton (Txt_Send); + Lay_PutConfirmButton (Txt_Save); Act_FormEnd (); } @@ -1796,19 +1898,26 @@ void Inf_EditRichTxtInfo (void) void Inf_RecAndChangePlainTxtInfo (void) { Inf_InfoType_t InfoType = Inf_AsignInfoType (); - char Txt[Cns_MAX_BYTES_LONG_TEXT+1]; + char Txt_HTMLFormat[Cns_MAX_BYTES_LONG_TEXT+1]; + char Txt_MarkdownFormat[Cns_MAX_BYTES_LONG_TEXT+1]; /***** Get text with course information from form *****/ - Par_GetParToHTML ("Txt",Txt,Cns_MAX_BYTES_LONG_TEXT); // Store in HTML format (not rigorous) + Par_GetParameter (Par_PARAM_SINGLE,"Txt",Txt_HTMLFormat,Cns_MAX_BYTES_LONG_TEXT); + strcpy (Txt_MarkdownFormat,Txt_HTMLFormat); + Str_ChangeFormat (Str_FROM_FORM,Str_TO_HTML, + Txt_HTMLFormat,Cns_MAX_BYTES_LONG_TEXT,true); // Store in HTML format (not rigorous) + Str_ChangeFormat (Str_FROM_FORM,Str_TO_MARKDOWN, + Txt_MarkdownFormat,Cns_MAX_BYTES_LONG_TEXT,true); // Store a copy in Markdown format /***** Update text of course info in database *****/ - Inf_SetInfoTxtIntoDB (Gbl.CurrentCrs.Crs.CrsCod,InfoType,Txt); + Inf_SetInfoTxtIntoDB (Gbl.CurrentCrs.Crs.CrsCod,InfoType, + Txt_HTMLFormat,Txt_MarkdownFormat); - /***** Change info source to text in database *****/ + /***** Change info source to "plain text" in database *****/ Inf_SetInfoSrcIntoDB (Gbl.CurrentCrs.Crs.CrsCod,InfoType, - Txt[0] ? Inf_INFO_SRC_PLAIN_TEXT : - Inf_INFO_SRC_NONE); - if (Txt[0]) + Txt_HTMLFormat[0] ? Inf_INFO_SRC_PLAIN_TEXT : + Inf_INFO_SRC_NONE); + if (Txt_HTMLFormat[0]) /***** Show the updated info *****/ Inf_ShowInfo (); else @@ -1823,19 +1932,26 @@ void Inf_RecAndChangePlainTxtInfo (void) void Inf_RecAndChangeRichTxtInfo (void) { Inf_InfoType_t InfoType = Inf_AsignInfoType (); - char Txt[Cns_MAX_BYTES_LONG_TEXT+1]; + char Txt_HTMLFormat[Cns_MAX_BYTES_LONG_TEXT+1]; + char Txt_MarkdownFormat[Cns_MAX_BYTES_LONG_TEXT+1]; /***** Get text with course information from form *****/ - Par_GetParToHTML ("Txt",Txt,Cns_MAX_BYTES_LONG_TEXT); // Store in HTML format (not rigorous) + Par_GetParameter (Par_PARAM_SINGLE,"Txt",Txt_HTMLFormat,Cns_MAX_BYTES_LONG_TEXT); + strcpy (Txt_MarkdownFormat,Txt_HTMLFormat); + Str_ChangeFormat (Str_FROM_FORM,Str_TO_HTML, + Txt_HTMLFormat,Cns_MAX_BYTES_LONG_TEXT,true); // Store in HTML format (not rigorous) + Str_ChangeFormat (Str_FROM_FORM,Str_TO_MARKDOWN, + Txt_MarkdownFormat,Cns_MAX_BYTES_LONG_TEXT,true); // Store a copy in Markdown format /***** Update text of course info in database *****/ - Inf_SetInfoTxtIntoDB (Gbl.CurrentCrs.Crs.CrsCod,InfoType,Txt); + Inf_SetInfoTxtIntoDB (Gbl.CurrentCrs.Crs.CrsCod,InfoType, + Txt_HTMLFormat,Txt_MarkdownFormat); - /***** Change info source to text in database *****/ + /***** Change info source to "rich text" in database *****/ Inf_SetInfoSrcIntoDB (Gbl.CurrentCrs.Crs.CrsCod,InfoType, - Txt[0] ? Inf_INFO_SRC_RICH_TEXT : - Inf_INFO_SRC_NONE); - if (Txt[0]) + Txt_HTMLFormat[0] ? Inf_INFO_SRC_RICH_TEXT : + Inf_INFO_SRC_NONE); + if (Txt_HTMLFormat[0]) /***** Show the updated info *****/ Inf_ShowInfo (); else diff --git a/swad_info.h b/swad_info.h index bc37d914..81c8f1f4 100644 --- a/swad_info.h +++ b/swad_info.h @@ -88,8 +88,10 @@ void Inf_SetInfoSrcIntoDB (long CrsCod,Inf_InfoType_t InfoType,Inf_InfoSrc_t Inf void Inf_GetInfoSrcFromDB (long CrsCod,Inf_InfoType_t InfoType,Inf_InfoSrc_t *InfoSrc,bool *MustBeRead); Inf_InfoType_t Inf_ConvertFromStrDBToInfoType (const char *StrInfoTypeDB); Inf_InfoSrc_t Inf_ConvertFromStrDBToInfoSrc (const char *StrInfoSrcDB); -void Inf_SetInfoTxtIntoDB (long CrsCod,Inf_InfoType_t InfoType,const char *InfoTxt); -void Inf_GetInfoTxtFromDB (Inf_InfoType_t InfoType,char *InfoTxt,size_t MaxLength); +void Inf_SetInfoTxtIntoDB (long CrsCod,Inf_InfoType_t InfoType, + const char *InfoTxtHTML,const char *InfoTxtMD); +void Inf_GetInfoTxtFromDB (Inf_InfoType_t InfoType, + char *InfoTxtHTML,char *InfoTxtMD,size_t MaxLength); bool Inf_CheckIfInfoTxtIsNotEmpty (long CrsCod,Inf_InfoType_t InfoType); int Inf_WritePlainTextIntoHTMLBuffer (Inf_InfoType_t InfoType,char **HTMLBuffer); void Inf_EditPlainTxtInfo (void); diff --git a/swad_institution.c b/swad_institution.c index d4fd7e82..69920efc 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -103,7 +103,7 @@ void Ins_SeeInsWithPendingCtrs (void) /***** Get institutions with pending centres *****/ switch (Gbl.Usrs.Me.LoggedRole) { - case Rol_ROLE_INS_ADM: + case Rol_INS_ADM: sprintf (Query,"SELECT centres.InsCod,COUNT(*)" " FROM centres,ins_admin,institutions" " WHERE (centres.Status & %u)<>0" @@ -112,7 +112,7 @@ void Ins_SeeInsWithPendingCtrs (void) " GROUP BY centres.InsCod ORDER BY institutions.ShortName", (unsigned) Ctr_STATUS_BIT_PENDING,Gbl.Usrs.Me.UsrDat.UsrCod); break; - case Rol_ROLE_SYS_ADM: + case Rol_SYS_ADM: sprintf (Query,"SELECT centres.InsCod,COUNT(*)" " FROM centres,institutions" " WHERE (centres.Status & %u)<>0" @@ -254,7 +254,7 @@ static void Ins_Configuration (bool PrintView) Act_PutContextualLink (ActPrnInsInf,NULL,"print",Txt_Print); /* Link to upload logo */ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_INS_ADM) + if (Gbl.Usrs.Me.LoggedRole >= Rol_INS_ADM) Log_PutFormToChangeLogo (Sco_SCOPE_INS); fprintf (Gbl.F.Out,"
    "); @@ -447,8 +447,8 @@ static void Ins_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfIns (Rol_ROLE_TEACHER,Gbl.CurrentIns.Ins.InsCod)); + Txt_ROLES_PLURAL_Abc[Rol_TEACHER][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfIns (Rol_TEACHER,Gbl.CurrentIns.Ins.InsCod)); /***** Number of students *****/ fprintf (Gbl.F.Out,"" @@ -462,8 +462,8 @@ static void Ins_Configuration (bool PrintView) "" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_ROLES_PLURAL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], - Usr_GetNumUsrsInCrssOfIns (Rol_ROLE_STUDENT,Gbl.CurrentIns.Ins.InsCod)); + Txt_ROLES_PLURAL_Abc[Rol_STUDENT][Usr_SEX_UNKNOWN], + Usr_GetNumUsrsInCrssOfIns (Rol_STUDENT,Gbl.CurrentIns.Ins.InsCod)); } /***** End of the frame *****/ @@ -489,7 +489,7 @@ void Ins_ShowInssOfCurrentCty (void) Deg_WriteMenuAllCourses (ActSeeIns,ActUnk,ActUnk,ActUnk); /***** Put link (form) to edit institutions *****/ - if (Gbl.Usrs.Me.LoggedRole >= Rol_ROLE_GUEST__) + if (Gbl.Usrs.Me.LoggedRole >= Rol__GUEST_) Lay_PutFormToEdit (ActEdiIns); /***** List institutions *****/ @@ -862,8 +862,8 @@ void Ins_GetListInstitutions (long CtyCod,Ins_GetExtraData_t GetExtraData) { if (Ins->NumUsrs) { - Ins->NumStds = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_ROLE_STUDENT); // Slow query - Ins->NumTchs = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_ROLE_TEACHER); // Slow query + Ins->NumStds = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_STUDENT); // Slow query + Ins->NumTchs = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_TEACHER); // Slow query Ins->NumUsrs = Ins->NumStds + Ins->NumTchs; } } @@ -953,8 +953,8 @@ bool Ins_GetDataOfInstitutionByCod (struct Institution *Ins, if (GetExtraData == Ins_GET_EXTRA_DATA) { /* Get number of users in this institution */ - Ins->NumStds = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_ROLE_STUDENT); // Slow query - Ins->NumTchs = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_ROLE_TEACHER); // Slow query + Ins->NumStds = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_STUDENT); // Slow query + Ins->NumTchs = Usr_GetNumberOfUsersInInstitution (Ins->InsCod,Rol_TEACHER); // Slow query Ins->NumUsrs = Ins->NumStds + Ins->NumTchs; /* Get number of centres in this institution */ @@ -1152,7 +1152,7 @@ static void Ins_ListInstitutionsForEdition (void) /* Country */ fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { Act_FormStart (ActChgInsCty); Ins_PutParamOtherInsCod (Ins->InsCod); @@ -1256,7 +1256,7 @@ static void Ins_ListInstitutionsForEdition (void) StatusTxt = Ins_GetStatusTxtFromStatusBits (Ins->Status); fprintf (Gbl.F.Out,""); - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM && + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM && StatusTxt == Ins_STATUS_PENDING) { Act_FormStart (ActChgInsSta); @@ -1306,7 +1306,7 @@ static void Ins_ListInstitutionsForEdition (void) static bool Ins_CheckIfICanEdit (struct Institution *Ins) { - return (bool) (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM || // I am a superuser + return (bool) (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM || // I am a superuser ((Ins->Status & Ins_STATUS_BIT_PENDING) != 0 && // Institution is not yet activated Gbl.Usrs.Me.UsrDat.UsrCod == Ins->RequesterUsrCod)); // I am the requester } @@ -1758,9 +1758,9 @@ static void Ins_PutFormToCreateInstitution (void) Cty_GetListCountries (Cty_GET_ONLY_COUNTRIES); /***** Start form *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Act_FormStart (ActNewIns); - else if (Gbl.Usrs.Me.MaxRole >= Rol_ROLE_GUEST__) + else if (Gbl.Usrs.Me.MaxRole >= Rol__GUEST_) Act_FormStart (ActReqIns); else Lay_ShowErrorAndExit ("You can not edit institutions."); diff --git a/swad_layout.c b/swad_layout.c index 3856f39a..03c8152f 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -444,6 +444,12 @@ static void Lay_WriteScripts (void) fprintf (Gbl.F.Out,"\n", Cfg_HTTPS_URL_SWAD_PUBLIC); + + /***** Script for MathJax *****/ + fprintf (Gbl.F.Out,"\n"); + if (Act_Actions[Gbl.CurrentAct].BrowserWindow == Act_MAIN_WINDOW) { Lay_WriteScriptInit (); diff --git a/swad_link.c b/swad_link.c index 40175233..5ded1e6f 100644 --- a/swad_link.c +++ b/swad_link.c @@ -80,7 +80,7 @@ void Lnk_SeeLinks (void) Lnk_GetListLinks (); /***** Put link (form) to edit links *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Lnk_PutFormToEditLinks (); /***** Table head *****/ diff --git a/swad_mail.c b/swad_mail.c index acba17c2..02bf92a5 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -97,7 +97,7 @@ void Mai_SeeMailDomains (void) Mai_GetListMailDomainsAllowedForNotif (); /***** Put link (form) to edit mail domains *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + if (Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) Mai_PutFormToEditMailDomains (); /***** Table head *****/ diff --git a/swad_mark.c b/swad_mark.c index 16eefc76..85e5f129 100644 --- a/swad_mark.c +++ b/swad_mark.c @@ -620,7 +620,7 @@ void Mrk_ShowMyMarks (void) /***** Set the student whose marks will be shown *****/ - if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_STUDENT) // If I am logged as student... + if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT) // If I am logged as student... UsrDat = &Gbl.Usrs.Me.UsrDat; // ...use my list of IDs else // If I am logged as teacher, administrator, superuser... { @@ -635,7 +635,7 @@ void Mrk_ShowMyMarks (void) else { UsrIsOK = false; - Usr_ShowWarningNoUsersFound (Rol_ROLE_STUDENT); + Usr_ShowWarningNoUsersFound (Rol_STUDENT); } } else // Course zone @@ -648,7 +648,7 @@ void Mrk_ShowMyMarks (void) else { UsrIsOK = false; - Usr_ShowWarningNoUsersFound (Rol_ROLE_STUDENT); + Usr_ShowWarningNoUsersFound (Rol_STUDENT); } } } diff --git a/swad_message.c b/swad_message.c index c857d926..f39fcec0 100644 --- a/swad_message.c +++ b/swad_message.c @@ -138,7 +138,7 @@ void Msg_ListEMails (void) Grp_ShowFormToSelectSeveralGroups (ActMaiStd); /***** Get and order list of students in this course *****/ - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); if (Gbl.Usrs.LstStds.NumUsrs) { @@ -228,7 +228,7 @@ void Msg_ListEMails (void) } } else - Usr_ShowWarningNoUsersFound (Rol_ROLE_STUDENT); + Usr_ShowWarningNoUsersFound (Rol_STUDENT); /***** Free memory for students list *****/ Usr_FreeUsrsList (&Gbl.Usrs.LstStds); @@ -277,7 +277,7 @@ static void Msg_PutFormMsgUsrs (const char *Content) /***** Get list of users belonging to the current course *****/ if (Gbl.Usrs.Me.IBelongToCurrentCrs || // If there is a course selected and I belong to it - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) { /***** Get and update type of list, number of columns in class photo and preference about view photos *****/ @@ -290,8 +290,8 @@ static void Msg_PutFormMsgUsrs (const char *Content) Usr_ShowFormsToSelectUsrListType (ActReqMsgUsr); /***** Get and order lists of users from this course *****/ - Usr_GetUsrsLst (Rol_ROLE_TEACHER,Sco_SCOPE_CRS,NULL,false); - Usr_GetUsrsLst (Rol_ROLE_STUDENT,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_TEACHER,Sco_SCOPE_CRS,NULL,false); + Usr_GetUsrsLst (Rol_STUDENT,Sco_SCOPE_CRS,NULL,false); if (Gbl.Usrs.LstTchs.NumUsrs || Gbl.Usrs.LstStds.NumUsrs) @@ -323,8 +323,8 @@ static void Msg_PutFormMsgUsrs (const char *Content) Lay_StartRoundFrameTable10 (NULL,0,NULL); /* Draw two lists of users with the recipients: one with the teachers of the course and another one with the students */ - Usr_ListUsersToSelect (Rol_ROLE_TEACHER); - Usr_ListUsersToSelect (Rol_ROLE_STUDENT); + Usr_ListUsersToSelect (Rol_TEACHER); + Usr_ListUsersToSelect (Rol_STUDENT); /* Other users (nicknames) */ Msg_WriteFormUsrsIDsOrNicksOtherRecipients (Gbl.Msg.IsReply); @@ -376,7 +376,7 @@ void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (bool IsReply) " background-color:%s;\"", VERY_LIGHT_BLUE); if (Gbl.Usrs.Me.IBelongToCurrentCrs || // If there is a course selected and I belong to it - Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM) + Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM) fprintf (Gbl.F.Out," colspan=\"%u\">%s:", Colspan,Txt_Other_recipients); else @@ -389,7 +389,7 @@ void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (bool IsReply) "" "