mirror of https://github.com/acanas/swad-core.git
Version 21.92: Apr 20, 2022 Default theme is white when printing.
This commit is contained in:
parent
003951946a
commit
a283e2f272
|
@ -474,7 +474,7 @@ a:hover /* Default ==> underlined */
|
|||
.BC_PINK {color:#ffc040;}
|
||||
.BC_DARK {color:#ffb42e;}
|
||||
|
||||
.BC_ICON
|
||||
.BC_ICO
|
||||
{
|
||||
display:inline-block;
|
||||
width:20px;
|
||||
|
@ -483,6 +483,15 @@ a:hover /* Default ==> underlined */
|
|||
margin:-1px 0 1px 0;
|
||||
}
|
||||
|
||||
/* Creating filter from RGB: https://codepen.io/sosuke/pen/Pjoqqp */
|
||||
.BC_ICO_WHITE {filter: invert(45%) sepia(0%) saturate(14%) hue-rotate(159deg) brightness(96%) contrast(89%);} /* #707070 */
|
||||
.BC_ICO_GREY {filter: invert(61%) sepia(96%) saturate(366%) hue-rotate(352deg) brightness(103%) contrast(101%);} /* #ffb42e */
|
||||
.BC_ICO_PURPLE {filter: invert(77%) sepia(91%) saturate(1669%) hue-rotate(327deg) brightness(110%) contrast(103%);} /* #ffc040 */
|
||||
.BC_ICO_BLUE {filter: invert(77%) sepia(91%) saturate(1669%) hue-rotate(327deg) brightness(110%) contrast(103%);} /* #ffc040 */
|
||||
.BC_ICO_YELLOW {filter: invert(61%) sepia(96%) saturate(366%) hue-rotate(352deg) brightness(103%) contrast(101%);} /* #ffb42e */
|
||||
.BC_ICO_PINK {filter: invert(77%) sepia(91%) saturate(1669%) hue-rotate(327deg) brightness(110%) contrast(103%);} /* #ffc040 */
|
||||
.BC_ICO_DARK {filter: invert(61%) sepia(96%) saturate(366%) hue-rotate(352deg) brightness(103%) contrast(101%);} /* #ffb42e */
|
||||
|
||||
/******** Big name of country, institution, center, degree or course *********/
|
||||
#main_title
|
||||
{
|
||||
|
@ -584,6 +593,15 @@ a:hover /* Default ==> underlined */
|
|||
.NOTIF_PINK {color:white; font-size:12pt; white-space:nowrap;}
|
||||
.NOTIF_DARK {color:#e0e0e0; font-size:12pt; white-space:nowrap;}
|
||||
|
||||
/* Creating filter from RGB: https://codepen.io/sosuke/pen/Pjoqqp */
|
||||
.NOTIF_ICO_WHITE {filter: invert(45%) sepia(0%) saturate(14%) hue-rotate(159deg) brightness(96%) contrast(89%);} /* #707070 */
|
||||
.NOTIF_ICO_GREY {filter: invert(98%) sepia(44%) saturate(30%) hue-rotate(167deg) brightness(116%) contrast(76%);} /* #e0e0e0 */
|
||||
.NOTIF_ICO_PURPLE {filter: invert(98%) sepia(44%) saturate(30%) hue-rotate(167deg) brightness(116%) contrast(76%);} /* #e0e0e0 */
|
||||
.NOTIF_ICO_BLUE {filter: invert(100%) sepia(19%) saturate(4118%) hue-rotate(214deg) brightness(115%) contrast(100%);} /* #ffffff */
|
||||
.NOTIF_ICO_YELLOW {filter: invert(89%) sepia(3%) saturate(180%) hue-rotate(251deg) brightness(79%) contrast(92%);} /* #b3b0b3 */
|
||||
.NOTIF_ICO_PINK {filter: invert(100%) sepia(19%) saturate(4118%) hue-rotate(214deg) brightness(115%) contrast(100%);} /* #ffffff */
|
||||
.NOTIF_ICO_DARK {filter: invert(98%) sepia(44%) saturate(30%) hue-rotate(167deg) brightness(116%) contrast(76%);} /* #e0e0e0 */
|
||||
|
||||
/******************* Layout (third heading row with tabs) ********************/
|
||||
.HEAD_ROW_3_WHITE
|
||||
{
|
||||
|
@ -1952,37 +1970,37 @@ a:hover img.CENTER_PHOTO_SHOW
|
|||
vertical-align:middle;
|
||||
}
|
||||
/* Creating filter from RGB: https://codepen.io/sosuke/pen/Pjoqqp */
|
||||
.BLACK_ICO_WHITE,
|
||||
.BLACK_ICO_GREY,
|
||||
.BLACK_ICO_PURPLE,
|
||||
.BLACK_ICO_BLUE,
|
||||
.BLACK_ICO_YELLOW,
|
||||
.BLACK_ICO_PINK {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
|
||||
.BLACK_ICO_DARK {filter: invert(92%) sepia(44%) saturate(2%) hue-rotate(176deg) brightness(110%) contrast(88%);} /* #f0f0f0 */
|
||||
.ICO_BLACK_WHITE,
|
||||
.ICO_BLACK_GREY,
|
||||
.ICO_BLACK_PURPLE,
|
||||
.ICO_BLACK_BLUE,
|
||||
.ICO_BLACK_YELLOW,
|
||||
.ICO_BLACK_PINK {filter: invert(26%) sepia(0%) saturate(1%) hue-rotate(288deg) brightness(97%) contrast(102%);} /* #404040 */
|
||||
.ICO_BLACK_DARK {filter: invert(92%) sepia(44%) saturate(2%) hue-rotate(176deg) brightness(110%) contrast(88%);} /* #f0f0f0 */
|
||||
|
||||
.GREEN_ICO_WHITE,
|
||||
.GREEN_ICO_GREY,
|
||||
.GREEN_ICO_PURPLE,
|
||||
.GREEN_ICO_BLUE,
|
||||
.GREEN_ICO_YELLOW,
|
||||
.GREEN_ICO_PINK {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
|
||||
.GREEN_ICO_DARK {filter: invert(75%) sepia(13%) saturate(1915%) hue-rotate(46deg) brightness(89%) contrast(89%);} /* #80c040 */
|
||||
.ICO_GREEN_WHITE,
|
||||
.ICO_GREEN_GREY,
|
||||
.ICO_GREEN_PURPLE,
|
||||
.ICO_GREEN_BLUE,
|
||||
.ICO_GREEN_YELLOW,
|
||||
.ICO_GREEN_PINK {filter: invert(31%) sepia(16%) saturate(3727%) hue-rotate(60deg) brightness(94%) contrast(104%);} /* #246600 */
|
||||
.ICO_GREEN_DARK {filter: invert(75%) sepia(13%) saturate(1915%) hue-rotate(46deg) brightness(89%) contrast(89%);} /* #80c040 */
|
||||
|
||||
.RED_ICO_WHITE,
|
||||
.RED_ICO_GREY,
|
||||
.RED_ICO_PURPLE,
|
||||
.RED_ICO_BLUE,
|
||||
.RED_ICO_YELLOW,
|
||||
.RED_ICO_PINK {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
|
||||
.RED_ICO_DARK {filter: invert(51%) sepia(58%) saturate(1457%) hue-rotate(320deg) brightness(126%) contrast(104%);} /* #ff8080 */
|
||||
.ICO_RED_WHITE,
|
||||
.ICO_RED_GREY,
|
||||
.ICO_RED_PURPLE,
|
||||
.ICO_RED_BLUE,
|
||||
.ICO_RED_YELLOW,
|
||||
.ICO_RED_PINK {filter: invert(8%) sepia(61%) saturate(5373%) hue-rotate(0deg) brightness(92%) contrast(114%);} /* #660000 */
|
||||
.ICO_RED_DARK {filter: invert(51%) sepia(58%) saturate(1457%) hue-rotate(320deg) brightness(126%) contrast(104%);} /* #ff8080 */
|
||||
|
||||
.WHITE_ICO_WHITE,
|
||||
.WHITE_ICO_GREY,
|
||||
.WHITE_ICO_PURPLE,
|
||||
.WHITE_ICO_BLUE,
|
||||
.WHITE_ICO_YELLOW,
|
||||
.WHITE_ICO_PINK {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
|
||||
.WHITE_ICO_DARK {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
|
||||
.ICO_WHITE_WHITE,
|
||||
.ICO_WHITE_GREY,
|
||||
.ICO_WHITE_PURPLE,
|
||||
.ICO_WHITE_BLUE,
|
||||
.ICO_WHITE_YELLOW,
|
||||
.ICO_WHITE_PINK {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
|
||||
.ICO_WHITE_DARK {filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(194deg) brightness(106%) contrast(105%);} /* #ffffff */
|
||||
|
||||
/********************************** Frame ************************************/
|
||||
.FRAME_INLINE
|
||||
|
@ -2904,8 +2922,22 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
|
||||
.GRP_TITLE {color:#4d88a1; font-size:15pt; font-weight:bold;}
|
||||
|
||||
.ASG_TITLE {color:#4d88a1; font-size:15pt; font-weight:bold;}
|
||||
.ASG_TITLE_LIGHT {color:#afc4cc; font-size:15pt; font-weight:bold;}
|
||||
.ASG_TITLE_WHITE,
|
||||
.ASG_TITLE_GREY,
|
||||
.ASG_TITLE_PURPLE,
|
||||
.ASG_TITLE_BLUE,
|
||||
.ASG_TITLE_YELLOW,
|
||||
.ASG_TITLE_PINK {color:#4d88a1; font-size:15pt; font-weight:bold;}
|
||||
.ASG_TITLE_DARK {color:#afc4cc; font-size:15pt; font-weight:bold;}
|
||||
|
||||
.ASG_TITLE_LIGHT_WHITE,
|
||||
.ASG_TITLE_LIGHT_GREY,
|
||||
.ASG_TITLE_LIGHT_PURPLE,
|
||||
.ASG_TITLE_LIGHT_BLUE,
|
||||
.ASG_TITLE_LIGHT_YELLOW,
|
||||
.ASG_TITLE_LIGHT_PINK {color:rgba( 77,136,161,0.3); font-size:15pt; font-weight:bold;}
|
||||
.ASG_TITLE_LIGHT_DARK {color:rgba(175,196,204,0.3); font-size:15pt; font-weight:bold;}
|
||||
|
||||
.ASG_LABEL {color:#4d88a1; font-size:13pt;}
|
||||
.ASG_LABEL_LIGHT {color:#afc4cc; font-size:13pt;}
|
||||
.ASG_GRP {color:#4d88a1; font-size:12pt;}
|
||||
|
@ -4407,13 +4439,13 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
.MSG_AUT_NEW_PINK {color:#4d88a1; font-size:11pt; font-weight:bold;}
|
||||
.MSG_AUT_NEW_DARK {color:#afc4cc; font-size:11pt; font-weight:bold;}
|
||||
|
||||
.MSG_AUT_REM_WHITE,
|
||||
.MSG_AUT_REM_GREY,
|
||||
.MSG_AUT_REM_PURPLE,
|
||||
.MSG_AUT_REM_BLUE,
|
||||
.MSG_AUT_REM_YELLOW,
|
||||
.MSG_AUT_REM_PINK {color:#afc4cc; font-size:11pt;}
|
||||
.MSG_AUT_REM_DARK {color:#4d88a1; font-size:11pt;}
|
||||
.MSG_AUT_LIGHT_WHITE,
|
||||
.MSG_AUT_LIGHT_GREY,
|
||||
.MSG_AUT_LIGHT_PURPLE,
|
||||
.MSG_AUT_LIGHT_BLUE,
|
||||
.MSG_AUT_LIGHT_YELLOW,
|
||||
.MSG_AUT_LIGHT_PINK {color:rgba( 77,136,161,0.3); font-size:11pt;}
|
||||
.MSG_AUT_LIGHT_DARK {color:rgba(175,196,204,0.3); font-size:11pt;}
|
||||
|
||||
.MSG_DATE {color:#4d88a1; font-size:11pt;}
|
||||
.MSG_DATE_NEW {color:#4d88a1; font-size:11pt; font-weight:bold;}
|
|
@ -1730,7 +1730,7 @@ function disableDetailedClicks () {
|
|||
/*****************************************************************************/
|
||||
|
||||
function Cal_DrawCalendar (id,FirstDayOfWeek,
|
||||
TimeUTC,CurrentPlcCod,PrintView,Theme,
|
||||
TimeUTC,CurrentPlcCod,PrintView,ColorSuffix,
|
||||
CGI,FormGoToCalendarParams,FormEventParams) {
|
||||
var StartingMonth = [ // Calendar starts one row before current month
|
||||
10, // January --> October
|
||||
|
@ -1776,7 +1776,7 @@ function Cal_DrawCalendar (id,FirstDayOfWeek,
|
|||
DrawMonth (MonthId,FirstDayOfWeek,
|
||||
Year,Month,
|
||||
CurrentMonth,CurrentDay,
|
||||
CurrentPlcCod,true,PrintView,Theme,
|
||||
CurrentPlcCod,true,PrintView,ColorSuffix,
|
||||
CGI,FormGoToCalendarParams,FormEventParams);
|
||||
Gbl_HTMLContent += '</td>';
|
||||
if (++Month == 13) {
|
||||
|
@ -1795,7 +1795,7 @@ function Cal_DrawCalendar (id,FirstDayOfWeek,
|
|||
/***************************** Draw current month ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
function DrawCurrentMonth (id,FirstDayOfWeek,TimeUTC,CurrentPlcCod,Theme,
|
||||
function DrawCurrentMonth (id,FirstDayOfWeek,TimeUTC,CurrentPlcCod,ColorSuffix,
|
||||
CGI,FormGoToCalendarParams,FormEventParams) {
|
||||
var d = new Date();
|
||||
d.setTime(TimeUTC * 1000);
|
||||
|
@ -1806,7 +1806,7 @@ function DrawCurrentMonth (id,FirstDayOfWeek,TimeUTC,CurrentPlcCod,Theme,
|
|||
DrawMonth (id,FirstDayOfWeek,
|
||||
Year,Month,
|
||||
Month,CurrentDay,
|
||||
CurrentPlcCod,false,false,Theme,
|
||||
CurrentPlcCod,false,false,ColorSuffix,
|
||||
CGI,FormGoToCalendarParams,FormEventParams);
|
||||
document.getElementById(id).innerHTML = Gbl_HTMLContent;
|
||||
}
|
||||
|
@ -1820,7 +1820,7 @@ function DrawCurrentMonth (id,FirstDayOfWeek,TimeUTC,CurrentPlcCod,Theme,
|
|||
function DrawMonth (id,FirstDayOfWeek,
|
||||
YearToDraw,MonthToDraw,
|
||||
CurrentMonth,CurrentDay,
|
||||
CurrentPlcCod,DrawingCalendar,PrintView,Theme,
|
||||
CurrentPlcCod,DrawingCalendar,PrintView,ColorSuffix,
|
||||
CGI,FormGoToCalendarParams,FormEventParams) {
|
||||
var Hld_HOLIDAY = 0;
|
||||
var Hld_NON_SCHOOL_PERIOD = 1;
|
||||
|
@ -1873,13 +1873,13 @@ function DrawMonth (id,FirstDayOfWeek,
|
|||
|
||||
/***** Month name *****/
|
||||
if (DrawingCalendar)
|
||||
Gbl_HTMLContent += '<div class="MONTH MONTH_' + Colors[Theme] + '">';
|
||||
Gbl_HTMLContent += '<div class="MONTH MONTH_' + ColorSuffix + '">';
|
||||
else {
|
||||
FormId = id + '_show_calendar';
|
||||
Gbl_HTMLContent += '<form method="post" action="' + CGI + '" id="' + FormId + '">' +
|
||||
FormGoToCalendarParams +
|
||||
'<div class="MONTH">' +
|
||||
'<a href="" class="MONTH_' + Colors[Theme] +
|
||||
'<a href="" class="MONTH_' + ColorSuffix +
|
||||
'" onclick="document.getElementById(\'' + FormId +
|
||||
'\').submit();return false;">';
|
||||
}
|
||||
|
@ -1893,8 +1893,8 @@ function DrawMonth (id,FirstDayOfWeek,
|
|||
Gbl_HTMLContent += '<table class="MONTH_TABLE_DAYS">' + '<tr>';
|
||||
for (DayOfWeek = 0; DayOfWeek < 7; DayOfWeek++)
|
||||
Gbl_HTMLContent += '<td class="' +
|
||||
((DayOfWeek == 6 - FirstDayOfWeek) ? 'DAY DAY_NO_WRK_HEAD_' + Colors[Theme] :
|
||||
'DAY DAY_WRK_HEAD_' + Colors[Theme]) +
|
||||
((DayOfWeek == 6 - FirstDayOfWeek) ? 'DAY DAY_NO_WRK_HEAD_' + ColorSuffix :
|
||||
'DAY DAY_WRK_HEAD_' + ColorSuffix) +
|
||||
'">' +
|
||||
DAYS_CAPS[(DayOfWeek + FirstDayOfWeek) % 7] +
|
||||
'</td>';
|
||||
|
@ -1911,8 +1911,8 @@ function DrawMonth (id,FirstDayOfWeek,
|
|||
DayOfWeek < 7;
|
||||
DayOfWeek++) {
|
||||
/***** Set class for day being drawn *****/
|
||||
ClassForDay = ((Mon == MonthToDraw) ? 'DAY_WRK_' + Colors[Theme] :
|
||||
'DAY_WRK_LIGHT_' + Colors[Theme]);
|
||||
ClassForDay = ((Mon == MonthToDraw) ? 'DAY_WRK_' + ColorSuffix :
|
||||
'DAY_WRK_LIGHT_' + ColorSuffix);
|
||||
TextForDay = '';
|
||||
|
||||
/* Check if day is a holiday or a school day */
|
||||
|
@ -1929,16 +1929,16 @@ function DrawMonth (id,FirstDayOfWeek,
|
|||
switch (Hlds[NumHld].HldTyp) {
|
||||
case Hld_HOLIDAY:
|
||||
if (Hlds[NumHld].StartDate == YYYYMMDD) { // If start date == date being drawn
|
||||
ClassForDay = ((Mon == MonthToDraw) ? 'DAY_HLD_' + Colors[Theme] :
|
||||
'DAY_HLD_LIGHT_' + Colors[Theme]);
|
||||
ClassForDay = ((Mon == MonthToDraw) ? 'DAY_HLD_' + ColorSuffix :
|
||||
'DAY_HLD_LIGHT_' + ColorSuffix);
|
||||
TextForDay = Hlds[NumHld].Name;
|
||||
ContinueSearching = false;
|
||||
}
|
||||
break;
|
||||
case Hld_NON_SCHOOL_PERIOD:
|
||||
if (Hlds[NumHld].EndDate >= YYYYMMDD) { // If start date <= date being drawn <= end date
|
||||
ClassForDay = ((Mon == MonthToDraw) ? 'DAY_NO_WORK_' + Colors[Theme] :
|
||||
'DAY_NO_WORK_LIGHT_' + Colors[Theme]);
|
||||
ClassForDay = ((Mon == MonthToDraw) ? 'DAY_NO_WORK_' + ColorSuffix :
|
||||
'DAY_NO_WORK_LIGHT_' + ColorSuffix);
|
||||
TextForDay = Hlds[NumHld].Name;
|
||||
}
|
||||
break;
|
||||
|
@ -1947,8 +1947,8 @@ function DrawMonth (id,FirstDayOfWeek,
|
|||
|
||||
/* Day being drawn is sunday? */
|
||||
if (DayOfWeek == 6 - FirstDayOfWeek) // All the sundays are holidays
|
||||
ClassForDay = (Mon == MonthToDraw) ? 'DAY_HLD_' + Colors[Theme] :
|
||||
'DAY_HLD_LIGHT_' + Colors[Theme];
|
||||
ClassForDay = (Mon == MonthToDraw) ? 'DAY_HLD_' + ColorSuffix :
|
||||
'DAY_HLD_LIGHT_' + ColorSuffix;
|
||||
|
||||
/* Date being drawn is today? */
|
||||
IsToday = (Yea == YearToDraw &&
|
22
swad_MFU.c
22
swad_MFU.c
|
@ -180,7 +180,7 @@ void MFU_ShowMyMFUActions (void)
|
|||
void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
||||
{
|
||||
extern const char *Hlp_ANALYTICS_Frequent;
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
extern const char *Txt_My_frequent_actions;
|
||||
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
|
||||
unsigned NumAct;
|
||||
|
@ -189,6 +189,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
|||
char TabStr[MFU_MAX_BYTES_TAB + 1];
|
||||
char MenuStr[MFU_MAX_BYTES_MENU + 1];
|
||||
char TabMenuStr[MFU_MAX_BYTES_TAB + 6 + MFU_MAX_BYTES_MENU + 1];
|
||||
char URLIconSet[PATH_MAX + 1];
|
||||
|
||||
/***** Begin box *****/
|
||||
Box_BoxBegin (NULL,Txt_My_frequent_actions,
|
||||
|
@ -221,9 +222,11 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
|||
HTM_BUTTON_Submit_Begin (TabMenuStr,
|
||||
"class=\"BT_LINK FORM_IN_%s NOWRAP\"",
|
||||
The_GetSuffix ());
|
||||
HTM_IMG (Gbl.Prefs.URLIconSet,Act_GetIcon (Action),MenuStr,
|
||||
"class=\"%s\"",
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
snprintf (URLIconSet,sizeof (URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
HTM_IMG (URLIconSet,Act_GetIcon (Action),MenuStr,
|
||||
"class=\"ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
HTM_TxtF (" %s",TabMenuStr);
|
||||
HTM_BUTTON_End ();
|
||||
Frm_EndForm ();
|
||||
|
@ -247,7 +250,7 @@ void MFU_WriteBigMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
|||
|
||||
void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
||||
{
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
extern const char *Txt_My_frequent_actions;
|
||||
extern const char *Txt_Frequent_ACTIONS;
|
||||
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
|
||||
|
@ -257,6 +260,7 @@ void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
|||
char TabStr[MFU_MAX_BYTES_TAB + 1];
|
||||
char MenuStr[MFU_MAX_BYTES_MENU + 1];
|
||||
char TabMenuStr[MFU_MAX_BYTES_TAB + 6 + MFU_MAX_BYTES_MENU + 1];
|
||||
char URLIconSet[PATH_MAX + 1];
|
||||
|
||||
/***** Begin div and link *****/
|
||||
HTM_DIV_Begin ("id=\"MFU_actions\" class=\"MFU_%s\"",
|
||||
|
@ -289,9 +293,11 @@ void MFU_WriteSmallMFUActions (struct MFU_ListMFUActions *ListMFUActions)
|
|||
HTM_LI_Begin ("class=\"ICO_HIGHLIGHT\"");
|
||||
Frm_BeginForm (Action);
|
||||
HTM_BUTTON_Submit_Begin (TabMenuStr,"class=\"BT_LINK\"");
|
||||
HTM_IMG (Gbl.Prefs.URLIconSet,Act_GetIcon (Action),MenuStr,
|
||||
"class=\"%s\"",
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
snprintf (URLIconSet,sizeof (URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
HTM_IMG (URLIconSet,Act_GetIcon (Action),MenuStr,
|
||||
"class=\"ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
HTM_TxtF (" %s",MenuStr);
|
||||
HTM_BUTTON_End ();
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -842,9 +842,10 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda,
|
|||
}
|
||||
|
||||
/* Event */
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
AgdEvent.Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_ARTICLE_Begin (Anchor);
|
||||
HTM_Txt (AgdEvent.Event);
|
||||
|
@ -853,8 +854,10 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda,
|
|||
|
||||
/* Location */
|
||||
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
|
||||
HTM_DIV_Begin ("class=\"%s\"",AgdEvent.Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE");
|
||||
HTM_DIV_Begin ("class=\"%s_%s\"",
|
||||
AgdEvent.Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
HTM_Txt (AgdEvent.Location);
|
||||
HTM_DIV_End ();
|
||||
HTM_TD_End ();
|
||||
|
|
|
@ -457,13 +457,15 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments,
|
|||
|
||||
/* Assignment title */
|
||||
if (PrintView)
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
Asg.Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s\"",
|
||||
Asg.Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
Asg.Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_ARTICLE_Begin (Anchor);
|
||||
HTM_Txt (Asg.Title);
|
||||
|
|
|
@ -515,13 +515,15 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events,
|
|||
|
||||
/* Attendance event title */
|
||||
if (ShowOnlyThisAttEventComplete)
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
Event->Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s\"",
|
||||
Event->Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
Event->Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_ARTICLE_Begin (Anchor);
|
||||
Att_PutLinkAttEvent (Event,Txt_View_event,Event->Title);
|
||||
|
@ -530,13 +532,15 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events,
|
|||
|
||||
/* Number of students in this event */
|
||||
if (ShowOnlyThisAttEventComplete)
|
||||
HTM_TD_Begin ("class=\"%s RT\"",
|
||||
Event->Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s RT %s\"",
|
||||
HTM_TD_Begin ("class=\"RT %s_%s\"",
|
||||
Event->Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
|
||||
Event->Hidden ? "ASG_TITLE_LIGHT" :
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Unsigned (Event->NumStdsTotal);
|
||||
HTM_TD_End ();
|
||||
|
|
36
swad_box.c
36
swad_box.c
|
@ -25,8 +25,10 @@
|
|||
/********************************* Headers ***********************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define _GNU_SOURCE // For asprintf
|
||||
#include <stdbool.h> // For boolean type
|
||||
#include <stdlib.h> // For malloc and free
|
||||
#include <stdio.h> // For asprintf
|
||||
|
||||
#include "swad_action.h"
|
||||
#include "swad_box.h"
|
||||
|
@ -82,42 +84,32 @@ void Box_BoxBegin (const char *Width,const char *Title,
|
|||
void (*FunctionToDrawContextualIcons) (void *Args),void *Args,
|
||||
const char *HelpLink,Box_Closable_t Closable)
|
||||
{
|
||||
static const char *BgColor[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "FRAME FRAME_WHITE",
|
||||
[The_THEME_GREY ] = "FRAME FRAME_GREY",
|
||||
[The_THEME_PURPLE] = "FRAME FRAME_PURPLE",
|
||||
[The_THEME_BLUE ] = "FRAME FRAME_BLUE",
|
||||
[The_THEME_YELLOW] = "FRAME FRAME_YELLOW",
|
||||
[The_THEME_PINK ] = "FRAME FRAME_PINK",
|
||||
[The_THEME_DARK ] = "FRAME FRAME_DARK",
|
||||
};
|
||||
char *ClassFrame;
|
||||
|
||||
/***** Begin box *****/
|
||||
if (asprintf (&ClassFrame,"FRAME FRAME_%s",The_GetSuffix ()) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Box_BoxInternalBegin (Width,Title,
|
||||
FunctionToDrawContextualIcons,Args,
|
||||
HelpLink,Closable,
|
||||
BgColor[Gbl.Prefs.Theme]);
|
||||
ClassFrame);
|
||||
free (ClassFrame);
|
||||
}
|
||||
|
||||
void Box_BoxShadowBegin (const char *Width,const char *Title,
|
||||
void (*FunctionToDrawContextualIcons) (void *Args),void *Args,
|
||||
const char *HelpLink)
|
||||
{
|
||||
static const char *BgColor[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "FRAME_SHADOW FRAME_SHADOW_WHITE",
|
||||
[The_THEME_GREY ] = "FRAME_SHADOW FRAME_SHADOW_GREY",
|
||||
[The_THEME_PURPLE] = "FRAME_SHADOW FRAME_SHADOW_PURPLE",
|
||||
[The_THEME_BLUE ] = "FRAME_SHADOW FRAME_SHADOW_BLUE",
|
||||
[The_THEME_YELLOW] = "FRAME_SHADOW FRAME_SHADOW_YELLOW",
|
||||
[The_THEME_PINK ] = "FRAME_SHADOW FRAME_SHADOW_PINK",
|
||||
[The_THEME_DARK ] = "FRAME_SHADOW FRAME_SHADOW_DARK",
|
||||
};
|
||||
char *ClassFrame;
|
||||
|
||||
/***** Begin box *****/
|
||||
if (asprintf (&ClassFrame,"FRAME_SHADOW FRAME_SHADOW_%s",The_GetSuffix ()) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Box_BoxInternalBegin (Width,Title,
|
||||
FunctionToDrawContextualIcons,Args,
|
||||
HelpLink,Box_NOT_CLOSABLE,
|
||||
BgColor[Gbl.Prefs.Theme]);
|
||||
ClassFrame);
|
||||
free (ClassFrame);
|
||||
}
|
||||
|
||||
// Return pointer to box id string
|
||||
|
|
|
@ -5141,7 +5141,6 @@ static void Brw_PutIconNewFileOrFolder (void)
|
|||
|
||||
static void Brw_PutIconFileWithLinkToViewMetadata (const struct FileMetadata *FileMetadata)
|
||||
{
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Txt_Link;
|
||||
|
||||
/***** Begin cell *****/
|
||||
|
@ -5161,8 +5160,8 @@ static void Brw_PutIconFileWithLinkToViewMetadata (const struct FileMetadata *Fi
|
|||
true); // Put link to view metadata
|
||||
else
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"link.svg",Txt_Link,
|
||||
"class=\"CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO16x16 %s\"",
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
"class=\"CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO16x16 ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
@ -8511,16 +8510,6 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
|
|||
extern const char *Txt_Check_marks_in_the_file;
|
||||
extern const char *Txt_Download;
|
||||
extern const char *Txt_Link;
|
||||
static const char *ClassFilename[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "FILENAME_BIG_WHITE",
|
||||
[The_THEME_GREY ] = "FILENAME_BIG_GREY",
|
||||
[The_THEME_PURPLE] = "FILENAME_BIG_PURPLE",
|
||||
[The_THEME_BLUE ] = "FILENAME_BIG_BLUE",
|
||||
[The_THEME_YELLOW] = "FILENAME_BIG_YELLOW",
|
||||
[The_THEME_PINK ] = "FILENAME_BIG_PINK",
|
||||
[The_THEME_DARK ] = "FILENAME_BIG_DARK",
|
||||
};
|
||||
const char *Title;
|
||||
|
||||
/***** On the screen a link will be shown to download the file *****/
|
||||
|
@ -8540,7 +8529,7 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
|
|||
|
||||
/* Begin link */
|
||||
HTM_BUTTON_Submit_Begin (Txt_Check_marks_in_the_file,
|
||||
"class=\"%s\"",ClassFilename[Gbl.Prefs.Theme]);
|
||||
"class=\"FILENAME_BIG_%s\"",The_GetSuffix ());
|
||||
|
||||
if (FileMetadata->FilFolLnk.Type == Brw_IS_FILE)
|
||||
Brw_PutIconFile (FileMetadata->FilFolLnk.Name,
|
||||
|
@ -8564,8 +8553,9 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
|
|||
Txt_Download;
|
||||
|
||||
/* Put anchor and filename */
|
||||
HTM_A_Begin ("href=\"%s\" class=\"%s\" title=\"%s\" target=\"_blank\"",
|
||||
URL,ClassFilename[Gbl.Prefs.Theme],Title);
|
||||
HTM_A_Begin ("href=\"%s\" title=\"%s\" target=\"_blank\""
|
||||
" class=\"FILENAME_BIG_%s\"",
|
||||
URL,Title,The_GetSuffix ());
|
||||
if (FileMetadata->FilFolLnk.Type == Brw_IS_FILE)
|
||||
Brw_PutIconFile (FileMetadata->FilFolLnk.Name,
|
||||
"ICO40x40",
|
||||
|
|
|
@ -217,11 +217,11 @@ void Cal_DrawCurrentMonth (void)
|
|||
/* Write script to draw the month */
|
||||
HTM_SCRIPT_Begin (NULL,NULL);
|
||||
HTM_Txt ("\tGbl_HTMLContent = '';");
|
||||
HTM_TxtF ("\tDrawCurrentMonth ('CurrentMonth',%u,%ld,%ld,%u,'%s/%s',",
|
||||
HTM_TxtF ("\tDrawCurrentMonth ('CurrentMonth',%u,%ld,%ld,'%s','%s/%s',",
|
||||
Gbl.Prefs.FirstDayOfWeek,
|
||||
(long) Gbl.StartExecutionTimeUTC,
|
||||
Gbl.Hierarchy.Ctr.PlcCod,
|
||||
Gbl.Prefs.Theme,
|
||||
The_GetSuffix (),
|
||||
Cfg_URL_SWAD_CGI,Lan_STR_LANG_ID[Gbl.Prefs.Language]);
|
||||
Frm_SetParamsForm (ParamsStr,ActSeeCal,true);
|
||||
HTM_TxtF ("'%s',",ParamsStr);
|
||||
|
@ -286,13 +286,13 @@ static void Cal_DrawCalendar (Act_Action_t ActionSeeCalendar,
|
|||
/* Write script to draw the month */
|
||||
HTM_SCRIPT_Begin (NULL,NULL);
|
||||
HTM_Txt ("\tGbl_HTMLContent = '';");
|
||||
HTM_TxtF ("\tCal_DrawCalendar('calendar',%u,%ld,%ld,%s,%u,'%s/%s',",
|
||||
HTM_TxtF ("\tCal_DrawCalendar('calendar',%u,%ld,%ld,%s,'%s','%s/%s',",
|
||||
Gbl.Prefs.FirstDayOfWeek,
|
||||
(long) Gbl.StartExecutionTimeUTC,
|
||||
Gbl.Hierarchy.Ctr.PlcCod,
|
||||
PrintView ? "true" :
|
||||
"false",
|
||||
Gbl.Prefs.Theme,
|
||||
The_GetSuffix (),
|
||||
Cfg_URL_SWAD_CGI,Lan_STR_LANG_ID[Gbl.Prefs.Language]);
|
||||
Frm_SetParamsForm (ParamsStr,ActionSeeCalendar,true);
|
||||
HTM_TxtF ("'%s',",ParamsStr);
|
||||
|
|
|
@ -930,16 +930,6 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
|
|||
[Cfe_FORM_VIEW ][Cfe_HIDDEN_CALL_FOR_EXAM ] = "CALL_FOR_EXAM_VISIBLE",
|
||||
[Cfe_FORM_VIEW ][Cfe_DELETED_CALL_FOR_EXAM] = NULL, // Not applicable here
|
||||
};
|
||||
static const char *ClassTitle[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "EXAM_TIT_WHITE",
|
||||
[The_THEME_GREY ] = "EXAM_TIT_GREY",
|
||||
[The_THEME_PURPLE] = "EXAM_TIT_PURPLE",
|
||||
[The_THEME_BLUE ] = "EXAM_TIT_BLUE",
|
||||
[The_THEME_YELLOW] = "EXAM_TIT_YELLOW",
|
||||
[The_THEME_PINK ] = "EXAM_TIT_PINK",
|
||||
[The_THEME_DARK ] = "EXAM_TIT_DARK",
|
||||
};
|
||||
|
||||
/***** Get data of institution of this degree *****/
|
||||
Ins.InsCod = Gbl.Hierarchy.Ins.InsCod;
|
||||
|
@ -991,11 +981,11 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
|
|||
|
||||
/***** Institution logo *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"CM %s\"",
|
||||
ClassTitle[Gbl.Prefs.Theme]);
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"CM EXAM_TIT_%s\"",
|
||||
The_GetSuffix ());
|
||||
if (TypeViewCallForExam == Cfe_NORMAL_VIEW)
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"",
|
||||
Ins.WWW,ClassTitle[Gbl.Prefs.Theme]);
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"EXAM_TIT_%s\"",
|
||||
Ins.WWW,The_GetSuffix ());
|
||||
Lgo_DrawLogo (HieLvl_INS,Ins.InsCod,Ins.FullName,64,NULL,true);
|
||||
HTM_BR ();
|
||||
HTM_Txt (Ins.FullName);
|
||||
|
@ -1006,12 +996,12 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
|
|||
|
||||
/***** Degree *****/
|
||||
HTM_TR_Begin (NULL);
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"CM %s\"",
|
||||
ClassTitle[Gbl.Prefs.Theme]);
|
||||
HTM_TD_Begin ("colspan=\"2\" class=\"CM EXAM_TIT_%s\"",
|
||||
The_GetSuffix ());
|
||||
if (TypeViewCallForExam == Cfe_NORMAL_VIEW)
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"",
|
||||
HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"EXAM_TIT_%s\"",
|
||||
Gbl.Hierarchy.Deg.WWW,
|
||||
ClassTitle[Gbl.Prefs.Theme]);
|
||||
The_GetSuffix ());
|
||||
HTM_Txt (Gbl.Hierarchy.Deg.FullName);
|
||||
if (TypeViewCallForExam == Cfe_NORMAL_VIEW)
|
||||
HTM_A_End ();
|
||||
|
|
|
@ -606,10 +606,12 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
|
|||
|
||||
TODO: Attach pdf files in multimedia.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.91.5 (2022-04-07)"
|
||||
#define CSS_FILE "swad21.91.5.css"
|
||||
#define JS_FILE "swad21.78.2.js"
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.92 (2022-04-20)"
|
||||
#define CSS_FILE "swad21.92.css"
|
||||
#define JS_FILE "swad21.92.js"
|
||||
/*
|
||||
Version 21.92: Apr 20, 2022 Default theme is white when printing. (323246 lines)
|
||||
Version 21.91.6: Apr 07, 2022 Working on design of dark theme. (323347 lines)
|
||||
Version 21.91.5: Apr 07, 2022 Working on design of dark theme. (323314 lines)
|
||||
Version 21.91.4: Apr 05, 2022 Working on design of dark theme. (323247 lines)
|
||||
Version 21.91.3: Apr 05, 2022 Changes in syllabus. (323227 lines)
|
||||
|
|
|
@ -2215,8 +2215,9 @@ void Crs_PutIconToSelectMyCoursesInBreadcrumb (void)
|
|||
Frm_BeginForm (ActMyCrs);
|
||||
|
||||
/***** Put icon with link *****/
|
||||
HTM_INPUT_IMAGE (Gbl.Prefs.URLTheme,"sitemap.svg",Txt_My_courses,
|
||||
"class=\"BC_ICON ICO_HIGHLIGHT\"");
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"sitemap.svg",Txt_My_courses,
|
||||
"class=\"BC_ICO BC_ICO_%s ICO_HIGHLIGHT\"",
|
||||
The_GetSuffix ());
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
|
13
swad_date.c
13
swad_date.c
|
@ -1630,7 +1630,6 @@ void Dat_WriteScriptMonths (void)
|
|||
extern const char *Txt_MONTHS_SMALL[12];
|
||||
extern const char *Txt_MONTHS_SMALL_SHORT[12];
|
||||
unsigned NumMonth;
|
||||
The_Theme_t Theme;
|
||||
|
||||
/***** Month names (full) *****/
|
||||
HTM_Txt ("\tvar Months = [");
|
||||
|
@ -1655,18 +1654,6 @@ void Dat_WriteScriptMonths (void)
|
|||
HTM_TxtF ("'%s'",Txt_MONTHS_SMALL_SHORT[NumMonth]);
|
||||
}
|
||||
HTM_Txt ("];\n");
|
||||
|
||||
/***** Colors for each theme *****/
|
||||
HTM_Txt ("\tvar Colors = [");
|
||||
for (Theme = (The_Theme_t) 0;
|
||||
Theme <= (The_Theme_t) (The_NUM_THEMES - 1);
|
||||
Theme++)
|
||||
{
|
||||
if (Theme)
|
||||
HTM_Comma ();
|
||||
HTM_TxtF ("'%s'",The_GetSuffixForTheme (Theme));
|
||||
}
|
||||
HTM_Txt ("];\n");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
24
swad_exam.c
24
swad_exam.c
|
@ -539,13 +539,15 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
|
|||
|
||||
/***** Exam title and main data *****/
|
||||
if (ShowOnlyThisExam)
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
Exam->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s\"",
|
||||
Exam->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
Exam->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
|
||||
/* Exam title */
|
||||
|
@ -574,13 +576,15 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
|
|||
|
||||
/***** Number of sessions in exam *****/
|
||||
if (ShowOnlyThisExam)
|
||||
HTM_TD_Begin ("class=\"%s RT\"",
|
||||
Exam->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s RT %s\"",
|
||||
HTM_TD_Begin ("class=\"RT %s_%s\"",
|
||||
Exam->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
|
||||
Exam->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
|
||||
Exams->ExaCod = Exam->ExaCod;
|
||||
|
|
|
@ -514,9 +514,10 @@ static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams,
|
|||
extern const char *Txt_Play;
|
||||
extern const char *Txt_Resume;
|
||||
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
Session->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
|
||||
/***** Session title *****/
|
||||
|
|
|
@ -743,15 +743,14 @@ static void Fol_PutInactiveIconToFollowUnfollow (void)
|
|||
|
||||
static void Fol_PutIconToFollow (const char EncryptedUsrCod[Cry_BYTES_ENCRYPTED_STR_SHA256_BASE64 + 1])
|
||||
{
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Txt_Follow;
|
||||
|
||||
/***** Form to unfollow *****/
|
||||
Frm_BeginForm (ActFolUsr);
|
||||
Usr_PutParamUsrCodEncrypted (EncryptedUsrCod);
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user-plus.svg",Txt_Follow,
|
||||
"class=\"FOLLOW_USR_ICO ICO16x16 %s ICO_HIGHLIGHT\"",
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
"class=\"FOLLOW_USR_ICO ICO16x16 ICO_%s_%s ICO_HIGHLIGHT\"",
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
|
|
24
swad_game.c
24
swad_game.c
|
@ -590,13 +590,15 @@ static void Gam_ShowOneGame (struct Gam_Games *Games,
|
|||
|
||||
/***** Game title and main data *****/
|
||||
if (ShowOnlyThisGame)
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
Game->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s\"",
|
||||
Game->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
Game->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
|
||||
/* Game title */
|
||||
|
@ -625,13 +627,15 @@ static void Gam_ShowOneGame (struct Gam_Games *Games,
|
|||
|
||||
/***** Number of matches in game *****/
|
||||
if (ShowOnlyThisGame)
|
||||
HTM_TD_Begin ("class=\"%s RT\"",
|
||||
Game->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE");
|
||||
else
|
||||
HTM_TD_Begin ("class=\"%s RT %s\"",
|
||||
HTM_TD_Begin ("class=\"RT %s_%s\"",
|
||||
Game->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
|
||||
Game->Hidden ? "ASG_TITLE_LIGHT":
|
||||
"ASG_TITLE",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
|
||||
Games->GamCod = Game->GamCod;
|
||||
|
|
|
@ -68,8 +68,6 @@ struct Globals Gbl; // All the global parameters and variables must be in this s
|
|||
|
||||
void Gbl_InitializeGlobals (void)
|
||||
{
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
extern const char *The_ThemeId[The_NUM_THEMES];
|
||||
extern const unsigned Txt_Current_CGI_SWAD_Language;
|
||||
Rol_Role_t Role;
|
||||
|
||||
|
@ -124,10 +122,6 @@ void Gbl_InitializeGlobals (void)
|
|||
Gbl.Prefs.Menu = Mnu_MENU_DEFAULT; // Default menu
|
||||
Gbl.Prefs.Theme = The_THEME_DEFAULT; // Default theme
|
||||
Gbl.Prefs.IconSet = Ico_ICON_SET_DEFAULT; // Default icon set
|
||||
snprintf (Gbl.Prefs.URLTheme,sizeof (Gbl.Prefs.URLTheme),"%s/%s",
|
||||
Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Gbl.Prefs.Theme]);
|
||||
snprintf (Gbl.Prefs.URLIconSet,sizeof (Gbl.Prefs.URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
|
||||
Gbl.Session.NumSessions = 0;
|
||||
Gbl.Session.IsOpen = false;
|
||||
|
|
|
@ -150,8 +150,6 @@ struct Globals
|
|||
The_Theme_t Theme;
|
||||
unsigned SideCols;
|
||||
PhoSha_Shape_t PhotoShape;
|
||||
char URLTheme[PATH_MAX + 1];
|
||||
char URLIconSet[PATH_MAX + 1];
|
||||
} Prefs;
|
||||
|
||||
struct
|
||||
|
|
139
swad_icon.c
139
swad_icon.c
|
@ -68,55 +68,30 @@ const char *Ico_IconSetNames[Ico_NUM_ICON_SETS] =
|
|||
[Ico_ICON_SET_NUVOLA ] = "Nuvola",
|
||||
};
|
||||
|
||||
const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES] =
|
||||
{
|
||||
[Ico_UNCHANGED][The_THEME_WHITE ] = "",
|
||||
[Ico_UNCHANGED][The_THEME_GREY ] = "",
|
||||
[Ico_UNCHANGED][The_THEME_PURPLE] = "",
|
||||
[Ico_UNCHANGED][The_THEME_BLUE ] = "",
|
||||
[Ico_UNCHANGED][The_THEME_YELLOW] = "",
|
||||
[Ico_UNCHANGED][The_THEME_PINK ] = "",
|
||||
[Ico_UNCHANGED][The_THEME_DARK ] = "",
|
||||
|
||||
[Ico_BLACK ][The_THEME_WHITE ] = "BLACK_ICO_WHITE",
|
||||
[Ico_BLACK ][The_THEME_GREY ] = "BLACK_ICO_GREY",
|
||||
[Ico_BLACK ][The_THEME_PURPLE] = "BLACK_ICO_PURPLE",
|
||||
[Ico_BLACK ][The_THEME_BLUE ] = "BLACK_ICO_BLUE",
|
||||
[Ico_BLACK ][The_THEME_YELLOW] = "BLACK_ICO_YELLOW",
|
||||
[Ico_BLACK ][The_THEME_PINK ] = "BLACK_ICO_PINK",
|
||||
[Ico_BLACK ][The_THEME_DARK ] = "BLACK_ICO_DARK",
|
||||
|
||||
[Ico_GREEN ][The_THEME_WHITE ] = "GREEN_ICO_WHITE",
|
||||
[Ico_GREEN ][The_THEME_GREY ] = "GREEN_ICO_GREY",
|
||||
[Ico_GREEN ][The_THEME_PURPLE] = "GREEN_ICO_PURPLE",
|
||||
[Ico_GREEN ][The_THEME_BLUE ] = "GREEN_ICO_BLUE",
|
||||
[Ico_GREEN ][The_THEME_YELLOW] = "GREEN_ICO_YELLOW",
|
||||
[Ico_GREEN ][The_THEME_PINK ] = "GREEN_ICO_PINK",
|
||||
[Ico_GREEN ][The_THEME_DARK ] = "GREEN_ICO_DARK",
|
||||
|
||||
[Ico_RED ][The_THEME_WHITE ] = "RED_ICO_WHITE",
|
||||
[Ico_RED ][The_THEME_GREY ] = "RED_ICO_GREY",
|
||||
[Ico_RED ][The_THEME_PURPLE] = "RED_ICO_PURPLE",
|
||||
[Ico_RED ][The_THEME_BLUE ] = "RED_ICO_BLUE",
|
||||
[Ico_RED ][The_THEME_YELLOW] = "RED_ICO_YELLOW",
|
||||
[Ico_RED ][The_THEME_PINK ] = "RED_ICO_PINK",
|
||||
[Ico_RED ][The_THEME_DARK ] = "RED_ICO_DARK",
|
||||
|
||||
[Ico_WHITE ][The_THEME_WHITE ] = "WHITE_ICO_WHITE",
|
||||
[Ico_WHITE ][The_THEME_GREY ] = "WHITE_ICO_GREY",
|
||||
[Ico_WHITE ][The_THEME_PURPLE] = "WHITE_ICO_PURPLE",
|
||||
[Ico_WHITE ][The_THEME_BLUE ] = "WHITE_ICO_BLUE",
|
||||
[Ico_WHITE ][The_THEME_YELLOW] = "WHITE_ICO_YELLOW",
|
||||
[Ico_WHITE ][The_THEME_PINK ] = "WHITE_ICO_PINK",
|
||||
[Ico_WHITE ][The_THEME_DARK ] = "WHITE_ICO_DARK",
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************************** Private prototypes ****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Ico_PutIconsIconSet (__attribute__((unused)) void *Args);
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Get color name for CSS class preffix ********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
const char *Ico_GetPreffix (Ico_Color_t Color)
|
||||
{
|
||||
static const char *Ico_CSS_Preffix[Ico_NUM_COLORS] =
|
||||
{
|
||||
[Ico_UNCHANGED] = NULL,
|
||||
[Ico_BLACK ] = "BLACK",
|
||||
[Ico_GREEN ] = "GREEN",
|
||||
[Ico_RED ] = "RED",
|
||||
[Ico_WHITE ] = "WHITE",
|
||||
};
|
||||
|
||||
return Ico_CSS_Preffix[Color];
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********** Get icon with extension from icon without extension *************/
|
||||
/*****************************************************************************/
|
||||
|
@ -209,9 +184,6 @@ void Ico_ChangeIconSet (void)
|
|||
{
|
||||
/***** Get param with icon set *****/
|
||||
Gbl.Prefs.IconSet = Ico_GetParamIconSet ();
|
||||
snprintf (Gbl.Prefs.URLIconSet,sizeof (Gbl.Prefs.URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,
|
||||
Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
|
||||
/***** Store icon set in database *****/
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
|
@ -438,11 +410,16 @@ void Ico_PutDivIcon (const char *DivClass,const char *Icon,Ico_Color_t Color,con
|
|||
|
||||
HTM_DIV_Begin ("class=\"%s\"",DivClass);
|
||||
|
||||
if (asprintf (&Class,"CONTEXT_ICO16x16 %s",
|
||||
Ico_ClassColor[Color][Gbl.Prefs.Theme]) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Ico_PutIcon (Icon,Color,Title,Class);
|
||||
free (Class);
|
||||
if (Color == Ico_UNCHANGED)
|
||||
Ico_PutIcon (Icon,Color,Title,"CONTEXT_ICO16x16");
|
||||
else
|
||||
{
|
||||
if (asprintf (&Class,"CONTEXT_ICO16x16 ICO_%s_%s",
|
||||
Ico_GetPreffix (Color),The_GetSuffix ()) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Ico_PutIcon (Icon,Color,Title,Class);
|
||||
free (Class);
|
||||
}
|
||||
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
|
@ -453,9 +430,13 @@ void Ico_PutDivIcon (const char *DivClass,const char *Icon,Ico_Color_t Color,con
|
|||
|
||||
void Ico_PutIconLink (const char *Icon,Ico_Color_t Color,const char *Title)
|
||||
{
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO16x16 %s\"",
|
||||
Ico_ClassColor[Color][Gbl.Prefs.Theme]);
|
||||
if (Color == Ico_UNCHANGED)
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO16x16\"");
|
||||
else
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO16x16 ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Color),The_GetSuffix ());
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -477,9 +458,13 @@ void Ico_PutIconTextLink (const char *Icon,Ico_Color_t Color,const char *Text)
|
|||
|
||||
void Ico_PutSettingIconLink (const char *Icon,Ico_Color_t Color,const char *Title)
|
||||
{
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"ICO_HIGHLIGHT ICOx20 %s\"",
|
||||
Ico_ClassColor[Color][Gbl.Prefs.Theme]);
|
||||
if (Color == Ico_UNCHANGED)
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"ICO_HIGHLIGHT ICOx20\"");
|
||||
else
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"ICO_HIGHLIGHT ICOx20 ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Color),The_GetSuffix ());
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -502,10 +487,14 @@ void Ico_PutIconOff (const char *Icon,Ico_Color_t Color,const char *Title)
|
|||
|
||||
void Ico_PutIcon (const char *Icon,Ico_Color_t Color,const char *Title,const char *Class)
|
||||
{
|
||||
const char *CC = Ico_ClassColor[Color][Gbl.Prefs.Theme];
|
||||
|
||||
HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"%s%s%s\"",Class,CC[0] ? " " : "",CC);
|
||||
if (Color == Ico_UNCHANGED)
|
||||
HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"%s\"",
|
||||
Class);
|
||||
else
|
||||
HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title,
|
||||
"class=\"%s ICO_%s_%s\"",
|
||||
Class,Ico_GetPreffix (Color),The_GetSuffix ());
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -563,23 +552,10 @@ void Ico_GetAndShowNumUsrsPerIconSet (void)
|
|||
extern const char *Txt_Icons;
|
||||
extern const char *Txt_Number_of_users;
|
||||
extern const char *Txt_PERCENT_of_users;
|
||||
static const char *ClassIco[Ico_NUM_ICON_SETS][The_NUM_THEMES] =
|
||||
static const Ico_Color_t Color[Ico_NUM_ICON_SETS] =
|
||||
{
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = "ICO20x20 BLACK_ICO_WHITE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_GREY ] = "ICO20x20 BLACK_ICO_GREY",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = "ICO20x20 BLACK_ICO_PURPLE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = "ICO20x20 BLACK_ICO_BLUE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = "ICO20x20 BLACK_ICO_YELLOW",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_PINK ] = "ICO20x20 BLACK_ICO_PINK",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_DARK ] = "ICO20x20 BLACK_ICO_DARK",
|
||||
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_WHITE ] = "ICO20x20",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_GREY ] = "ICO20x20",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_PURPLE] = "ICO20x20",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_BLUE ] = "ICO20x20",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_YELLOW] = "ICO20x20",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_PINK ] = "ICO20x20",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_DARK ] = "ICO20x20",
|
||||
[Ico_ICON_SET_AWESOME] = Ico_BLACK,
|
||||
[Ico_ICON_SET_NUVOLA ] = Ico_UNCHANGED,
|
||||
};
|
||||
Ico_IconSet_t IconSet;
|
||||
char *SubQuery;
|
||||
|
@ -626,8 +602,13 @@ void Ico_GetAndShowNumUsrsPerIconSet (void)
|
|||
if (asprintf (&URL,"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[IconSet]) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
HTM_IMG (URL,"cog.svg",Ico_IconSetNames[IconSet],
|
||||
"class=\"%s\"",ClassIco[IconSet][Gbl.Prefs.Theme]);
|
||||
if (Color[IconSet] == Ico_UNCHANGED)
|
||||
HTM_IMG (URL,"cog.svg",Ico_IconSetNames[IconSet],
|
||||
"class=\"ICO20x20\"");
|
||||
else
|
||||
HTM_IMG (URL,"cog.svg",Ico_IconSetNames[IconSet],
|
||||
"class=\"ICO20x20 ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Color[IconSet]),The_GetSuffix ());
|
||||
free (URL);
|
||||
HTM_TD_End ();
|
||||
|
||||
|
|
|
@ -54,6 +54,8 @@ typedef enum
|
|||
/***************************** Public prototypes *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
const char *Ico_GetPreffix (Ico_Color_t Color);
|
||||
|
||||
const char *Ico_GetIcon (const char *IconWithoutExtension);
|
||||
|
||||
void Ico_PutIconsToSelectIconSet (void);
|
||||
|
|
|
@ -926,7 +926,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
|
|||
|
||||
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
|
||||
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
|
||||
"DAT_SMAL_RED",
|
||||
"DAT_SMALL_RED",
|
||||
The_GetSuffix (),
|
||||
The_GetColorRows ());
|
||||
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]);
|
||||
|
|
|
@ -288,6 +288,7 @@ void Lay_WriteStartOfPage (void)
|
|||
break;
|
||||
}
|
||||
HTM_Txt (">\n");
|
||||
Gbl.Prefs.Theme = The_THEME_WHITE; // In a new tab, use white background
|
||||
Gbl.Layout.WritingHTMLStart = false;
|
||||
Gbl.Layout.HTMLStartWritten =
|
||||
Gbl.Layout.DivsEndWritten = true;
|
||||
|
@ -968,33 +969,14 @@ static void Lay_WritePageTopHeading (void)
|
|||
{
|
||||
extern const char *Txt_TAGLINE;
|
||||
extern const char *Txt_TAGLINE_BR;
|
||||
static const char *ClassHeadRow1[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "HEAD_ROW_1_WHITE",
|
||||
[The_THEME_GREY ] = "HEAD_ROW_1_GREY",
|
||||
[The_THEME_PURPLE] = "HEAD_ROW_1_PURPLE",
|
||||
[The_THEME_BLUE ] = "HEAD_ROW_1_BLUE",
|
||||
[The_THEME_YELLOW] = "HEAD_ROW_1_YELLOW",
|
||||
[The_THEME_PINK ] = "HEAD_ROW_1_PINK",
|
||||
[The_THEME_DARK ] = "HEAD_ROW_1_DARK",
|
||||
};
|
||||
static const char *ClassHeadRow2[The_NUM_THEMES] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "HEAD_ROW_2_WHITE",
|
||||
[The_THEME_GREY ] = "HEAD_ROW_2_GREY",
|
||||
[The_THEME_PURPLE] = "HEAD_ROW_2_PURPLE",
|
||||
[The_THEME_BLUE ] = "HEAD_ROW_2_BLUE",
|
||||
[The_THEME_YELLOW] = "HEAD_ROW_2_YELLOW",
|
||||
[The_THEME_PINK ] = "HEAD_ROW_2_PINK",
|
||||
[The_THEME_DARK ] = "HEAD_ROW_2_DARK",
|
||||
};
|
||||
|
||||
/***** Begin header *****/
|
||||
HTM_Txt ("<header>");
|
||||
|
||||
/***** 1st. row *****/
|
||||
/* Begin 1st. row */
|
||||
HTM_DIV_Begin ("id=\"head_row_1\" class=\"%s\"",ClassHeadRow1[Gbl.Prefs.Theme]);
|
||||
HTM_DIV_Begin ("id=\"head_row_1\" class=\"HEAD_ROW_1_%s\"",
|
||||
The_GetSuffix ());
|
||||
|
||||
/* 1st. row, 1st. column: logo, tagline and search */
|
||||
HTM_DIV_Begin ("id=\"head_row_1_left\"");
|
||||
|
@ -1052,8 +1034,8 @@ static void Lay_WritePageTopHeading (void)
|
|||
|
||||
/***** 2nd. row *****/
|
||||
/* Begin second row */
|
||||
HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"",
|
||||
ClassHeadRow2[Gbl.Prefs.Theme]);
|
||||
HTM_DIV_Begin ("id=\"head_row_2\" class=\"HEAD_ROW_2_%s\"",
|
||||
The_GetSuffix ());
|
||||
|
||||
/* 2nd. row, 1st. column
|
||||
Clock with hour:minute (server hour is shown) */
|
||||
|
|
46
swad_logo.c
46
swad_logo.c
|
@ -63,7 +63,6 @@ static void Lgo_PutIconToRemoveLogo (Act_Action_t ActionRem);
|
|||
void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText,
|
||||
unsigned Size,const char *Class,bool PutIconIfNotExists)
|
||||
{
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
static const char *HieIcon[HieLvl_NUM_LEVELS] =
|
||||
{
|
||||
[HieLvl_UNK] = "sitemap.svg", // not applicable here
|
||||
|
@ -83,7 +82,6 @@ void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText,
|
|||
char *URL;
|
||||
char *Icon;
|
||||
bool ClassNotEmpty;
|
||||
Ico_Color_t Color;
|
||||
|
||||
/***** Path to logo *****/
|
||||
if (HieIcon[Scope]) // Scope is correct
|
||||
|
@ -146,6 +144,11 @@ void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText,
|
|||
if (LogoFound || PutIconIfNotExists)
|
||||
{
|
||||
/***** Draw logo *****/
|
||||
ClassNotEmpty = false;
|
||||
if (Class)
|
||||
if (Class[0])
|
||||
ClassNotEmpty = true;
|
||||
|
||||
if (LogoFound)
|
||||
{
|
||||
if (asprintf (&URL,"%s/%s/%02u/%u/logo",
|
||||
|
@ -155,7 +158,16 @@ void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText,
|
|||
Err_NotEnoughMemoryExit ();
|
||||
if (asprintf (&Icon,"%u.png",(unsigned) Cod) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Color = Ico_UNCHANGED;
|
||||
|
||||
HTM_IMG (URL,Icon,AltText,
|
||||
"class=\"ICO%ux%u"
|
||||
"%s%s\"",
|
||||
Size,Size,
|
||||
ClassNotEmpty ? " " :
|
||||
"",
|
||||
ClassNotEmpty ? Class :
|
||||
"");
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -163,24 +175,18 @@ void Lgo_DrawLogo (HieLvl_Level_t Scope,long Cod,const char *AltText,
|
|||
Err_NotEnoughMemoryExit ();
|
||||
if (asprintf (&Icon,"%s",HieIcon[Scope]) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
Color = Ico_BLACK;
|
||||
|
||||
HTM_IMG (URL,Icon,AltText,
|
||||
"class=\"ICO%ux%u ICO_%s_%s"
|
||||
"%s%s\"",
|
||||
Size,Size,
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix (),
|
||||
ClassNotEmpty ? " " :
|
||||
"",
|
||||
ClassNotEmpty ? Class :
|
||||
"");
|
||||
}
|
||||
ClassNotEmpty = false;
|
||||
if (Class)
|
||||
if (Class[0])
|
||||
ClassNotEmpty = true;
|
||||
HTM_IMG (URL,Icon,AltText,
|
||||
"class=\"ICO%ux%u"
|
||||
"%s%s"
|
||||
"%s%s\"",
|
||||
Size,Size,
|
||||
Ico_ClassColor[Color][Gbl.Prefs.Theme][0] ? " " :
|
||||
"",
|
||||
Ico_ClassColor[Color][Gbl.Prefs.Theme],
|
||||
ClassNotEmpty ? " " :
|
||||
"",
|
||||
ClassNotEmpty ? Class :
|
||||
"");
|
||||
|
||||
free (Icon);
|
||||
free (URL);
|
||||
}
|
||||
|
|
|
@ -640,7 +640,8 @@ static void Mch_ListOneOrMoreMatchesTitleGrps (const struct Mch_Match *Match,
|
|||
|
||||
HTM_BUTTON_Submit_Begin (Gbl.Usrs.Me.Role.Logged == Rol_STD ? Txt_Play :
|
||||
Txt_Resume,
|
||||
"class=\"BT_LINK LT ASG_TITLE\"");
|
||||
"class=\"BT_LINK LT ASG_TITLE_%s\"",
|
||||
The_GetSuffix ());
|
||||
HTM_Txt (Match->Title);
|
||||
HTM_BUTTON_End ();
|
||||
|
||||
|
|
35
swad_menu.c
35
swad_menu.c
|
@ -214,24 +214,12 @@ Act_Action_t Mnu_GetFirstActionAvailableInCurrentTab (void)
|
|||
|
||||
void Mnu_WriteMenuThisTab (void)
|
||||
{
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
extern const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB];
|
||||
static const char *ClassIcoMenu[Ico_NUM_ICON_SETS][The_NUM_THEMES] =
|
||||
static const char *ClassIcoMenu[Ico_NUM_ICON_SETS] =
|
||||
{
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = " MENU_ICO_WHITE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_GREY ] = " MENU_ICO_GREY",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = " MENU_ICO_PURPLE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = " MENU_ICO_BLUE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = " MENU_ICO_YELLOW",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_PINK ] = " MENU_ICO_PINK",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_DARK ] = " MENU_ICO_DARK",
|
||||
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_WHITE ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_GREY ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_PURPLE] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_BLUE ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_YELLOW] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_PINK ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_DARK ] = "",
|
||||
[Ico_ICON_SET_AWESOME] = "MENU_ICO",
|
||||
[Ico_ICON_SET_NUVOLA ] = NULL,
|
||||
};
|
||||
unsigned NumOptInMenu;
|
||||
Act_Action_t NumAct;
|
||||
|
@ -271,10 +259,17 @@ void Mnu_WriteMenuThisTab (void)
|
|||
|
||||
/***** Icon and text *****/
|
||||
HTM_DIV_Begin ("class=\"MENU_ICO_TXT\"");
|
||||
HTM_DIV_Begin ("class=\"MENU_ICO%s\" style=\"background-image:url('%s/%s');\"",
|
||||
ClassIcoMenu[Gbl.Prefs.IconSet][Gbl.Prefs.Theme],
|
||||
Gbl.Prefs.URLIconSet,
|
||||
Act_GetIcon (NumAct));
|
||||
if (ClassIcoMenu[Gbl.Prefs.IconSet])
|
||||
HTM_DIV_Begin ("class=\"MENU_ICO %s_%s\""
|
||||
" style=\"background-image:url('%s/%s/%s');\"",
|
||||
ClassIcoMenu[Gbl.Prefs.IconSet],The_GetSuffix (),
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet],
|
||||
Act_GetIcon (NumAct));
|
||||
else
|
||||
HTM_DIV_Begin ("class=\"MENU_ICO\""
|
||||
" style=\"background-image:url('%s/%s/%s');\"",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet],
|
||||
Act_GetIcon (NumAct));
|
||||
HTM_DIV_End ();
|
||||
HTM_DIV_Begin ("class=\"MENU_TXT MENU_TXT_%s\"",
|
||||
The_GetSuffix ());
|
||||
|
|
|
@ -455,7 +455,7 @@ void Ntf_ShowMyNotifications (void)
|
|||
{
|
||||
ClassTxt = "MSG_TIT_REM";
|
||||
ClassLink = "BT_LINK MSG_TIT_REM";
|
||||
ClassAuthor = "MSG_AUT_REM";
|
||||
ClassAuthor = "MSG_AUT_LIGHT";
|
||||
ClassBg = "MSG_BG_REM";
|
||||
PutLink = false;
|
||||
}
|
||||
|
@ -1661,8 +1661,8 @@ void Ntf_WriteNumberOfNewNtfs (void)
|
|||
if (NumNewNtfs)
|
||||
{
|
||||
HTM_BR ();
|
||||
HTM_IMG (Gbl.Prefs.URLTheme,"bell.svg",Txt_Notifications,
|
||||
"class=\"ICO16x16\"");
|
||||
HTM_IMG (Cfg_URL_ICON_PUBLIC,"bell.svg",Txt_Notifications,
|
||||
"class=\"ICO16x16 NOTIF_ICO_%s\"",The_GetSuffix ());
|
||||
HTM_TxtF (" %u",NumNewNtfs);
|
||||
HTM_SPAN_Begin ("id=\"notif_new\"");
|
||||
HTM_TxtF (" %s",NumNewNtfs == 1 ? Txt_NOTIF_new_SINGULAR :
|
||||
|
|
|
@ -649,11 +649,8 @@ static bool Par_CheckIsParamCanBeUsedInGETMethod (const char *ParamName)
|
|||
void Par_GetMainParams (void)
|
||||
{
|
||||
extern Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD];
|
||||
extern const char *The_ThemeId[The_NUM_THEMES];
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
long ActCod;
|
||||
char Nick[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1];
|
||||
char URL[PATH_MAX + 1];
|
||||
char LongStr[Cns_MAX_DECIMAL_DIGITS_LONG + 1];
|
||||
|
||||
/***** Reset codes of country, institution, center, degree and course *****/
|
||||
|
@ -782,17 +779,6 @@ void Par_GetMainParams (void)
|
|||
/***** Try to get settings changed from current IP *****/
|
||||
Set_GetSettingsFromIP ();
|
||||
|
||||
if (!Gbl.Session.IsOpen) // When no session open (no logged user)...
|
||||
{
|
||||
/***** Set path of theme and path of icon set *****/
|
||||
snprintf (URL,sizeof (URL),"%s/%s",
|
||||
Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Gbl.Prefs.Theme ]);
|
||||
Str_Copy (Gbl.Prefs.URLTheme ,URL,sizeof (Gbl.Prefs.URLTheme ) - 1);
|
||||
snprintf (URL,sizeof (URL),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
Str_Copy (Gbl.Prefs.URLIconSet,URL,sizeof (Gbl.Prefs.URLIconSet) - 1);
|
||||
}
|
||||
|
||||
/***** Get country if exists (from menu) *****/
|
||||
Par_GetParToText ("cty",LongStr,Cns_MAX_DECIMAL_DIGITS_LONG);
|
||||
if (LongStr[0]) // Parameter "cty" available
|
||||
|
|
|
@ -58,7 +58,6 @@ static void PhoSha_PutIconsPhotoShape (__attribute__((unused)) void *Args);
|
|||
void PhoSha_PutIconsToSelectPhotoShape (void)
|
||||
{
|
||||
extern const char *Hlp_PROFILE_Settings_user_photos;
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Txt_User_photos;
|
||||
extern const char *Txt_PHOTO_SHAPES[PhoSha_NUM_SHAPES];
|
||||
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
|
||||
|
@ -88,9 +87,9 @@ void PhoSha_PutIconsToSelectPhotoShape (void)
|
|||
Par_PutHiddenParamUnsigned (NULL,"PhotoShape",Shape);
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,"user.svg",
|
||||
Txt_PHOTO_SHAPES[Shape],
|
||||
"class=\"%s %s\"",
|
||||
"class=\"%s ICO_%s_%s\"",
|
||||
ClassPhoto[Shape],
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
Frm_EndForm ();
|
||||
HTM_DIV_End ();
|
||||
}
|
||||
|
@ -160,7 +159,6 @@ PhoSha_Shape_t PhoSha_GetShapeFromStr (const char *Str)
|
|||
void PhoSha_GetAndShowNumUsrsPerPhotoShape (void)
|
||||
{
|
||||
extern const char *Hlp_ANALYTICS_Figures_user_photos;
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES];
|
||||
extern const char *Txt_User_photos;
|
||||
extern const char *Txt_Number_of_users;
|
||||
|
@ -215,9 +213,9 @@ void PhoSha_GetAndShowNumUsrsPerPhotoShape (void)
|
|||
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
HTM_IMG (Cfg_URL_ICON_PUBLIC,"user.svg",Txt_PHOTO_SHAPES[Shape],
|
||||
"class=\"%s %s\"",
|
||||
"class=\"%s ICO_%s_%s\"",
|
||||
ClassPhoto[Shape],
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TD_Begin ("class=\"RM DAT_%s\"",The_GetSuffix ());
|
||||
|
|
|
@ -1361,12 +1361,12 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects,
|
|||
switch (ProjectView)
|
||||
{
|
||||
case Prj_LIST_PROJECTS:
|
||||
HTM_TD_Begin ("class=\"%s LT %s\"",
|
||||
ClassTitle,The_GetColorRows ());
|
||||
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
|
||||
ClassTitle,The_GetSuffix (),The_GetColorRows ());
|
||||
break;
|
||||
default:
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
ClassTitle);
|
||||
HTM_TD_Begin ("class=\"LT %s_%s\"",
|
||||
ClassTitle,The_GetSuffix ());
|
||||
break;
|
||||
}
|
||||
HTM_ARTICLE_Begin (Anchor);
|
||||
|
|
|
@ -158,26 +158,20 @@ void Set_GetSettingsFromIP (void)
|
|||
{
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
||||
/* Get first day of week (row[0]) */
|
||||
/* Get first day of week (row[0]),
|
||||
date format (row[1]),
|
||||
theme (row[2]),
|
||||
icon set (row[3]),
|
||||
menu (row[4]),
|
||||
if user wants to show side columns (row[5]),
|
||||
user photo shape (row[6]) */
|
||||
Gbl.Prefs.FirstDayOfWeek = Cal_GetFirstDayOfWeekFromStr (row[0]);
|
||||
|
||||
/* Get date format (row[1]) */
|
||||
Gbl.Prefs.DateFormat = Dat_GetDateFormatFromStr (row[1]);
|
||||
|
||||
/* Get theme (row[2]) */
|
||||
Gbl.Prefs.Theme = The_GetThemeFromStr (row[2]);
|
||||
|
||||
/* Get icon set (row[3]) */
|
||||
Gbl.Prefs.IconSet = Ico_GetIconSetFromStr (row[3]);
|
||||
|
||||
/* Get menu (row[4]) */
|
||||
Gbl.Prefs.Menu = Mnu_GetMenuFromStr (row[4]);
|
||||
|
||||
/* Get if user wants to show side columns (row[5]) */
|
||||
Gbl.Prefs.SideCols = Set_GetSideColsFromStr (row[5]);
|
||||
|
||||
/* Get user photo shape (row[6]) */
|
||||
Gbl.Prefs.PhotoShape = PhoSha_GetShapeFromStr (row[6]);
|
||||
Gbl.Prefs.DateFormat = Dat_GetDateFormatFromStr (row[1]);
|
||||
Gbl.Prefs.Theme = The_GetThemeFromStr (row[2]);
|
||||
Gbl.Prefs.IconSet = Ico_GetIconSetFromStr (row[3]);
|
||||
Gbl.Prefs.Menu = Mnu_GetMenuFromStr (row[4]);
|
||||
Gbl.Prefs.SideCols = Set_GetSideColsFromStr (row[5]);
|
||||
Gbl.Prefs.PhotoShape = PhoSha_GetShapeFromStr (row[6]);
|
||||
}
|
||||
|
||||
/***** Free structure that stores the query result *****/
|
||||
|
|
|
@ -529,9 +529,10 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys,
|
|||
|
||||
/* Survey title */
|
||||
if (ShowOnlyThisSvyComplete)
|
||||
HTM_TD_Begin ("class=\"%s LT\"",
|
||||
HTM_TD_Begin ("class=\"LT %s_%s\"",
|
||||
Svy.Status.Visible ? "ASG_TITLE" :
|
||||
"ASG_TITLE_LIGHT");
|
||||
"ASG_TITLE_LIGHT",
|
||||
The_GetSuffix ());
|
||||
else
|
||||
HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ());
|
||||
HTM_ARTICLE_Begin (Anchor);
|
||||
|
|
44
swad_tab.c
44
swad_tab.c
|
@ -51,41 +51,20 @@ static const char *Tab_GetIcon (Tab_Tab_t Tab);
|
|||
|
||||
void Tab_DrawTabs (void)
|
||||
{
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
|
||||
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
|
||||
Tab_Tab_t NumTab;
|
||||
bool ICanViewTab;
|
||||
static const char *ClassHeadRow3[The_NUM_THEMES] =
|
||||
char URLIconSet[PATH_MAX + 1];
|
||||
static const char *ClassIcoTab[Ico_NUM_ICON_SETS] =
|
||||
{
|
||||
[The_THEME_WHITE ] = "HEAD_ROW_3_WHITE",
|
||||
[The_THEME_GREY ] = "HEAD_ROW_3_GREY",
|
||||
[The_THEME_PURPLE] = "HEAD_ROW_3_PURPLE",
|
||||
[The_THEME_BLUE ] = "HEAD_ROW_3_BLUE",
|
||||
[The_THEME_YELLOW] = "HEAD_ROW_3_YELLOW",
|
||||
[The_THEME_PINK ] = "HEAD_ROW_3_PINK",
|
||||
[The_THEME_DARK ] = "HEAD_ROW_3_DARK",
|
||||
};
|
||||
static const char *ClassIcoTab[Ico_NUM_ICON_SETS][The_NUM_THEMES] =
|
||||
{
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_WHITE ] = " TAB_ICO_WHITE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_GREY ] = " TAB_ICO_GREY",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_PURPLE] = " TAB_ICO_PURPLE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_BLUE ] = " TAB_ICO_BLUE",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_YELLOW] = " TAB_ICO_YELLOW",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_PINK ] = " TAB_ICO_PINK",
|
||||
[Ico_ICON_SET_AWESOME][The_THEME_DARK ] = " TAB_ICO_DARK",
|
||||
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_WHITE ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_GREY ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_PURPLE] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_BLUE ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_YELLOW] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_PINK ] = "",
|
||||
[Ico_ICON_SET_NUVOLA ][The_THEME_DARK ] = "",
|
||||
[Ico_ICON_SET_AWESOME] = "TAB_ICO",
|
||||
[Ico_ICON_SET_NUVOLA ] = NULL,
|
||||
};
|
||||
|
||||
/***** Begin tabs container *****/
|
||||
HTM_DIV_Begin ("class=\"%s\"",ClassHeadRow3[Gbl.Prefs.Theme]);
|
||||
HTM_DIV_Begin ("class=\"HEAD_ROW_3_%s\"",The_GetSuffix ());
|
||||
HTM_Txt ("<nav id=\"tabs\">");
|
||||
HTM_UL_Begin ("class=\"TAB_LIST\"");
|
||||
|
||||
|
@ -120,8 +99,15 @@ void Tab_DrawTabs (void)
|
|||
Par_PutHiddenParamUnsigned (NULL,"NxtTab",(unsigned) NumTab);
|
||||
HTM_BUTTON_Submit_Begin (Txt_TABS_TXT[NumTab],
|
||||
"class=\"BT_LINK\"");
|
||||
HTM_IMG (Gbl.Prefs.URLIconSet,Tab_GetIcon (NumTab),Txt_TABS_TXT[NumTab],
|
||||
"class=\"TAB_ICO%s\"",ClassIcoTab[Gbl.Prefs.IconSet][Gbl.Prefs.Theme]);
|
||||
snprintf (URLIconSet,sizeof (URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
if (ClassIcoTab[Gbl.Prefs.IconSet])
|
||||
HTM_IMG (URLIconSet,Tab_GetIcon (NumTab),Txt_TABS_TXT[NumTab],
|
||||
"class=\"TAB_ICO %s_%s\"",
|
||||
ClassIcoTab[Gbl.Prefs.IconSet],The_GetSuffix ());
|
||||
else
|
||||
HTM_IMG (URLIconSet,Tab_GetIcon (NumTab),Txt_TABS_TXT[NumTab],
|
||||
"class=\"TAB_ICO\"");
|
||||
HTM_DIV_Begin ("class=\"TAB_TXT TAB_%s_TXT_%s\"",
|
||||
NumTab == Gbl.Action.Tab ? "ON" :
|
||||
"OFF",
|
||||
|
|
10
swad_text.c
10
swad_text.c
|
@ -17192,7 +17192,7 @@ const char *Txt_INFO_SRC_SHORT_TEXT[Inf_NUM_SOURCES] =
|
|||
{
|
||||
[Inf_NONE] =
|
||||
#if L==1 // ca
|
||||
"Ninguna información" // Necessita traduccio
|
||||
"Cap informació"
|
||||
#elif L==2 // de
|
||||
"Keine Angaben"
|
||||
#elif L==3 // en
|
||||
|
@ -17213,7 +17213,7 @@ const char *Txt_INFO_SRC_SHORT_TEXT[Inf_NUM_SOURCES] =
|
|||
,
|
||||
[Inf_EDITOR] =
|
||||
#if L==1 // ca
|
||||
"Editor interno" // Necessita traduccio
|
||||
"Editor intern"
|
||||
#elif L==2 // de
|
||||
"Interner Editor"
|
||||
#elif L==3 // en
|
||||
|
@ -17269,14 +17269,14 @@ const char *Txt_INFO_SRC_SHORT_TEXT[Inf_NUM_SOURCES] =
|
|||
#elif L==7 // it
|
||||
"Testo formattato"
|
||||
#elif L==8 // pl
|
||||
"Rich text" // Potrzebujesz tlumaczenie
|
||||
"Tekst sformatowany"
|
||||
#elif L==9 // pt
|
||||
"Texto enriquecido"
|
||||
#endif
|
||||
,
|
||||
[Inf_PAGE] =
|
||||
#if L==1 // ca
|
||||
"Página interna" // Necessita traduccio
|
||||
"Pàgina interna"
|
||||
#elif L==2 // de
|
||||
"Interne Webseite"
|
||||
#elif L==3 // en
|
||||
|
@ -17297,7 +17297,7 @@ const char *Txt_INFO_SRC_SHORT_TEXT[Inf_NUM_SOURCES] =
|
|||
,
|
||||
[Inf_URL] =
|
||||
#if L==1 // ca
|
||||
"Página externa" // Necessita traduccio
|
||||
"Pàgina externa" // Necessita traduccio
|
||||
#elif L==2 // de
|
||||
"Externe Webseite"
|
||||
#elif L==3 // en
|
||||
|
|
12
swad_theme.c
12
swad_theme.c
|
@ -138,15 +138,8 @@ static void The_PutIconsTheme (__attribute__((unused)) void *Args)
|
|||
|
||||
void The_ChangeTheme (void)
|
||||
{
|
||||
char Path[PATH_MAX + 1 +
|
||||
NAME_MAX + 1 +
|
||||
NAME_MAX + 1];
|
||||
|
||||
/***** Get param theme *****/
|
||||
Gbl.Prefs.Theme = The_GetParamTheme ();
|
||||
snprintf (Path,sizeof (Path),"%s/%s",
|
||||
Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Gbl.Prefs.Theme]);
|
||||
Str_Copy (Gbl.Prefs.URLTheme,Path,sizeof (Gbl.Prefs.URLTheme) - 1);
|
||||
|
||||
/***** Store theme in database *****/
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
|
@ -207,11 +200,6 @@ static const char *The_CSS_Suffix[The_NUM_THEMES] =
|
|||
[The_THEME_DARK ] = "DARK",
|
||||
};
|
||||
|
||||
const char *The_GetSuffixForTheme (The_Theme_t Theme)
|
||||
{
|
||||
return The_CSS_Suffix[Theme];
|
||||
}
|
||||
|
||||
const char *The_GetSuffix (void)
|
||||
{
|
||||
return The_CSS_Suffix[Gbl.Prefs.Theme];
|
||||
|
|
|
@ -54,7 +54,6 @@ void The_ChangeTheme (void);
|
|||
The_Theme_t The_GetParamTheme (void);
|
||||
The_Theme_t The_GetThemeFromStr (const char *Str);
|
||||
|
||||
const char *The_GetSuffixForTheme (The_Theme_t Theme);
|
||||
const char *The_GetSuffix (void);
|
||||
const char *The_GetColorRows (void);
|
||||
void The_ChangeRowColor (void);
|
||||
|
|
18
swad_user.c
18
swad_user.c
|
@ -1199,12 +1199,14 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
|
|||
|
||||
void Usr_WelcomeUsr (void)
|
||||
{
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
extern const unsigned Txt_Current_CGI_SWAD_Language;
|
||||
extern const char *Txt_NEW_YEAR_GREETING;
|
||||
extern const char *Txt_Happy_birthday_X;
|
||||
extern const char *Txt_Please_check_your_email_address;
|
||||
extern const char *Txt_Check;
|
||||
extern const char *Txt_Switching_to_LANGUAGE[1 + Lan_NUM_LANGUAGES];
|
||||
char URLIconSet[PATH_MAX + 1];
|
||||
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
{
|
||||
|
@ -1232,7 +1234,9 @@ void Usr_WelcomeUsr (void)
|
|||
Gbl.Usrs.Me.UsrDat.FrstName);
|
||||
|
||||
/* Show cake icon */
|
||||
HTM_IMG (Gbl.Prefs.URLIconSet,"birthday-cake.svg",NULL,
|
||||
snprintf (URLIconSet,sizeof (URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
HTM_IMG (URLIconSet,"birthday-cake.svg",NULL,
|
||||
"class=\"ICO160x160\"");
|
||||
|
||||
/* End alert */
|
||||
|
@ -1944,7 +1948,6 @@ static void Usr_ShowAlertThereAreMoreThanOneUsr (void)
|
|||
|
||||
static void Usr_SetMyPrefsAndRoles (void)
|
||||
{
|
||||
extern const char *The_ThemeId[The_NUM_THEMES];
|
||||
extern const char *Ico_IconSetId[Ico_NUM_ICON_SETS];
|
||||
bool GetRoleAndActionFromLastData;
|
||||
Act_Action_t LastSuperAction;
|
||||
|
@ -1967,10 +1970,6 @@ static void Usr_SetMyPrefsAndRoles (void)
|
|||
Gbl.Prefs.Theme = Gbl.Usrs.Me.UsrDat.Prefs.Theme;
|
||||
Gbl.Prefs.SideCols = Gbl.Usrs.Me.UsrDat.Prefs.SideCols;
|
||||
Gbl.Prefs.PhotoShape = Gbl.Usrs.Me.UsrDat.Prefs.PhotoShape;
|
||||
snprintf (Gbl.Prefs.URLIconSet,sizeof (Gbl.Prefs.URLIconSet),"%s/%s",
|
||||
Cfg_URL_ICON_SETS_PUBLIC,Ico_IconSetId[Gbl.Prefs.IconSet]);
|
||||
snprintf (Gbl.Prefs.URLTheme,sizeof (Gbl.Prefs.URLTheme),"%s/%s",
|
||||
Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Gbl.Prefs.Theme]);
|
||||
|
||||
/***** Construct the path to my directory *****/
|
||||
Usr_ConstructPathUsr (Gbl.Usrs.Me.UsrDat.UsrCod,Gbl.Usrs.Me.PathDir);
|
||||
|
@ -6385,7 +6384,7 @@ void Usr_WriteAuthor1Line (long UsrCod,bool Hidden)
|
|||
|
||||
/***** Write name *****/
|
||||
HTM_DIV_Begin ("class=\"AUTHOR_1_LINE %s_%s\"",
|
||||
Hidden ? "MSG_AUT_REM" :
|
||||
Hidden ? "MSG_AUT_LIGHT" :
|
||||
"MSG_AUT",
|
||||
The_GetSuffix ());
|
||||
HTM_Txt (UsrDat.FullName);
|
||||
|
@ -6483,7 +6482,6 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows)
|
|||
|
||||
void Usr_PutWhoIcon (Usr_Who_t Who)
|
||||
{
|
||||
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
|
||||
extern const char *Txt_WHO[Usr_NUM_WHO];
|
||||
static const char *Icon[Usr_NUM_WHO] =
|
||||
{
|
||||
|
@ -6510,8 +6508,8 @@ void Usr_PutWhoIcon (Usr_Who_t Who)
|
|||
case Usr_WHO_FOLLOWED:
|
||||
case Usr_WHO_ALL:
|
||||
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon[Who],Txt_WHO[Who],
|
||||
"class=\"ICO_HIGHLIGHT ICOx20 %s\"",
|
||||
Ico_ClassColor[Ico_BLACK][Gbl.Prefs.Theme]);
|
||||
"class=\"ICO_HIGHLIGHT ICOx20 ICO_%s_%s\"",
|
||||
Ico_GetPreffix (Ico_BLACK),The_GetSuffix ());
|
||||
break;
|
||||
default:
|
||||
Err_WrongWhoExit ();
|
||||
|
|
Loading…
Reference in New Issue