diff --git a/css/swad16.174.1.css b/css/swad16.174.1.css deleted file mode 100644 index 612982ef..00000000 --- a/css/swad16.174.1.css +++ /dev/null @@ -1,3197 +0,0 @@ -/* swad_desktop.css:style-sheet for desktop layout of SWAD */ - -/* - SWAD (Shared Workspace At a Distance), - is a web platform developed at the University of Granada (Spain), - and used to support university teaching. - - This file is part of SWAD core. - Copyright (C) 1999-2017 Antonio Caņas Vargas - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General 3 License as - published by the Free Software Foundation,either version 3 of the - License,or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not,see . -*/ -/********************************* Body **************************************/ -body - { - margin:0; - background-color:white; - font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; - font-size:1em; - overflow-y:scroll; /* force vertical scrollbar */ - } -input - { - font-size:12pt; - } -select - { - font-size:12pt; - } -textarea - { - font-size:13pt; - font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; - } -table - { - box-sizing:border-box; - border-width:0; - border-style:none; - border-spacing:0; - } -table th - { - box-sizing:border-box; - padding:0; - color:#4D88A1; - font-weight:bold; - } -table td - { - box-sizing:border-box; - padding:0; - } -img - { - border-width:0; - border-style:none; - } -form - { - display:inline; - margin:0; - } -address - { - font-style: normal; - } -hr.WHITE_SEPARA {height:0; border-top:0; border-bottom:#707070 dotted 1px;} -hr.GREY_SEPARA {height:0; border-top:0; border-bottom:#707070 dotted 1px;} -hr.BLUE_SEPARA {height:0; border-top:0; border-bottom:#4D88A1 dotted 1px;} -hr.YELLOW_SEPARA {height:0; border-top:0; border-bottom:#BD4815 dotted 1px;} - -/*********************** Text decoration of links ****************************/ -a - { - color:#4D88A1; - } -a:link, a:visited, a:active - { - text-decoration:none; - } -a:hover /* Default ==> underlined */ - { - text-decoration:underline; - } -.TAB_OFF a, .TAB_ON a, .MENU_LIST_ITEM a /* Tabs and menus are the exceptions */ - { - text-decoration:none; - } - -/****************** Layout (the whole page with a background) ****************/ -#whole_page - { - display:table; - box-sizing:border-box; - width:100%; - /* - background-color:black; - background-image:url('/swad/background.jpg'); - background-repeat:no-repeat; - background-size:100%; - */ - } - -/************************* Layout (first heading row) ************************/ -#head_row_1 - { - display:table; - box-sizing:border-box; - width:100%; - height:40px; - } -.HEAD_ROW_1_WHITE - { - background-color:black; - } -.HEAD_ROW_1_GREY - { - background-image:-webkit-linear-gradient(#383838 0,#383838 26px,#404040 100%); /* Safari */ - background-image:linear-gradient(#383838 0,#383838 26px,#404040 100%); - background-repeat:no-repeat; - } -.HEAD_ROW_1_BLUE - { - background-image:-webkit-linear-gradient(#5fa5df 0,#4f90c8 26px,#4f90c8 100%); /* Safari */ - background-image:linear-gradient(#5fa5df 0,#4f90c8 26px,#4f90c8 100%); - background-repeat:no-repeat; - } -.HEAD_ROW_1_YELLOW - { - background-color:#201420; - } - -#head_row_1_left - { - display:table-cell; - text-align:left; - vertical-align:middle; - } -@media only screen and (max-width: 1024px) - { /* For mobile-phones */ - #head_row_1_logo_small - { - display:inline-block; - } - #head_row_1_logo_big - { - display:none; - } - #head_row_1_tagline - { - display:none; - } - } -@media only screen and (min-width: 1024px) - { /* For tablets and desktop */ - #head_row_1_logo_small - { - display:none; - } - #head_row_1_logo_big - { - display:inline-block; - } - #head_row_1_tagline - { - display:inline-block; - box-sizing:border-box; - padding:0 4px; - font-size:11pt; - font-weight:bold; - line-height:110%; - white-space:nowrap; - text-align:left; - vertical-align:middle; - } - } -.WHITE_TAGLINE {color:#B0B0B0;} -.GREY_TAGLINE {color:#E0E0E0;} -.BLUE_TAGLINE {color:#BAD2DA;} -.YELLOW_TAGLINE {color:#B3B0B3;} - -#head_row_1_search - { - display:inline-block; - padding:0 10px; - } -@media only screen and (max-width: 1280px) - { /* For mobile phones and tablets */ - #head_search_text - { - display:none; - } - } - -@media only screen and (max-width: 480px) - { /* For mobile phones */ - .SEL_ROLE {width:55px;} - .HEAD_USR - { - display:inline-block; - box-sizing:border-box; - max-width:200px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - } -@media only screen and (min-width: 480px) - { /* For mobile phones */ - .SEL_ROLE {width:130px;} - .HEAD_USR - { - display:inline-block; - box-sizing:border-box; - max-width:320px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - } -.WHITE_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;} -.GREY_USR {color:#E0E0E0; font-size:15pt; font-weight:bold; white-space:nowrap;} -.BLUE_USR {color:white; font-size:15pt; font-weight:bold; white-space:nowrap;} -.YELLOW_USR {color:#B3B0B3; font-size:15pt; font-weight:bold; white-space:nowrap;} - -#head_row_1_right - { - display:table-cell; - text-align:right; - vertical-align:middle; - } -#login_box - { - display:inline; - padding:0 10px; - } -@media only screen and (max-width: 1024px) - { /* For mobile phones and tablets */ - #login_txt - { - display:none; - } - } -.WHITE_HEAD {color:#E0E0E0; font-size:12pt; white-space:nowrap;} -.GREY_HEAD {color:#E0E0E0; font-size:12pt; white-space:nowrap;} -.BLUE_HEAD {color:white; font-size:12pt; white-space:nowrap;} -.YELLOW_HEAD {color:#B3B0B3; font-size:12pt; white-space:nowrap;} - -/************************ Layout (second heading row) ************************/ -#head_row_2 - { - display:table; - box-sizing:border-box; - width:100%; - vertical-align:top; - } -.HEAD_ROW_2_WHITE - { - background-image:-webkit-linear-gradient(#cfcfce 0,white 40px,white 100%); /* Safari */ - background-image:linear-gradient(#cfcfce 0,white 40px,white 100%); - } -.HEAD_ROW_2_GREY - { - background-color:#404040; - } -.HEAD_ROW_2_BLUE - { - background-color:#4f90c8; - } -.HEAD_ROW_2_YELLOW - { - background-color:#201420; - } - -/******************************* Current time ********************************/ -#head_row_2_time - { - display:table-cell; - box-sizing:border-box; - width:160px; - text-align:center; - vertical-align:middle; - } -#current_date - { - box-sizing:border-box; - background-color:rgba(255, 255, 255, 0.8); - width:80px; - margin-left:6px; - border-radius:4px; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 2px 1px -2px rgba(0,0,0,0.2), 0 1px 5px 0 rgba(0,0,0,0.12); - } -#current_month - { - border-radius:4px 4px 0 0; - background-color:rgba(222, 33, 33, 0.8); - color:white; - font-size:10pt; - font-weight:bold; - white-space:nowrap; - overflow:hidden; - } -.CURRENT_MONTH - { - color:white; - } -#current_day - { - color:#606060; - margin:2px 0 -2px 0; - font-size:20pt; - font-weight:bold; - line-height:100%; - } -.CURRENT_DAY - { - color:#606060; - } -#current_time - { - border-radius:0 0 4px 4px; - color:#606060; - font-size:12pt; - font-weight:bold; - } - -@media only screen and (max-width: 1024px) - { /* For mobile phones */ - #head_row_2_time - { - display:none; - } - } - -/****** Breadcrumb (platform/country/institution/centre/degree/course) *******/ -#head_row_2_hierarchy - { - display:table-cell; - text-align:center; - vertical-align:middle; - } -.TOP_LOGO /* Institution / Centre / Degree logo in top title */ - { - height:40px; - margin-right:10px; - text-align:left; - vertical-align:top !important; - } -@media only screen and (max-width: 480px) - { /* For mobile-phones */ - #breadcrumb - { - display:table; - margin:0 auto; - font-size:6pt; - font-weight:bold; - white-space:nowrap; - } - .BC - { - display:table-cell; - max-width:28px; - overflow:hidden; - } - } -@media only screen and (min-width: 480px) and (max-width: 800px) - { /* For mobile-phones */ - #breadcrumb - { - display:table; - margin:0 auto; - font-size:8pt; - font-weight:bold; - white-space:nowrap; - } - .BC - { - display:table-cell; - max-width:60px; - overflow:hidden; - } - } -@media only screen and (min-width: 800px) and (max-width: 1024px) - { /* For tablets */ - #breadcrumb - { - display:table; - margin:0 auto; - font-size:10pt; - font-weight:bold; - white-space:nowrap; - } - .BC - { - display:table-cell; - max-width:100px; - overflow:hidden; - } - } -@media only screen and (min-width: 1024px) - { /* For desktop */ - #breadcrumb - { - display:table; - margin:0 auto; - font-size:12pt; - font-weight:bold; - white-space:nowrap; - } - .BC - { - display:table-cell; - max-width:150px; - overflow:hidden; - } - } - -.BC_SEMIOFF {opacity:0.67;} -.BC_OFF {opacity:0.33;} - -.BC_WHITE {color:#707070;} -.BC_GREY {color:#FFB42E;} -.BC_BLUE {color:#FFE880;} -.BC_YELLOW {color:#FFC040;} - -/******** Big name of country, institution, centre, degree or course *********/ -#main_title - { - margin:0; - padding:0; - font-size:24pt; - font-weight:normal; - line-height:100%; - white-space:nowrap; - } -#big_name_container - { - display:inline-block; - } -@media only screen and (max-width: 1024px) - { /* For mobile-phones */ - #big_short_name - { - display:table-cell; - max-width:560px; - height:40px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - margin:0 auto; - vertical-align:middle; - } - #big_full_name - { - display:none; - } - } -@media only screen and (min-width: 1024px) - { /* For tablets and desktop */ - #big_short_name - { - display:none; - } - #big_full_name - { - display:table-cell; - max-width:899px; - height:40px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - margin:0 auto; - vertical-align:middle; - } - } -.WHITE_COURSE {color:#4D88A1;} -.GREY_COURSE {color:#F7F6F5;} -.BLUE_COURSE {color:white;} -.YELLOW_COURSE {color:white;} -#my_courses - { - width:130px; - margin:1px; - } - -/***************************** Notifications *********************************/ -#msg /* Notifications, used for AJAX based refresh */ - { - display:table-cell; - box-sizing:border-box; - width:160px; - text-align:center; - vertical-align:top; - padding-top:10px; - } -@media only screen and (max-width: 1024px) - { /* For mobile phones */ - #msg - { - display:none; - } - } -@media only screen and (min-width: 1024px) and (max-width: 1280px) - { /* For tablets */ - #notif_all - { - display:none; - } - } -.WHITE_NOTIF {color:#707070; font-size:12pt; white-space:nowrap;} -.GREY_NOTIF {color:#E0E0E0; font-size:12pt; white-space:nowrap;} -.BLUE_NOTIF {color:white; font-size:12pt; white-space:nowrap;} -.YELLOW_NOTIF {color:#B3B0B3; font-size:12pt; white-space:nowrap;} - -/******************* Layout (third heading row with tabs) ********************/ -.HEAD_ROW_3_WHITE - { - background-color:white; - } -.HEAD_ROW_3_GREY - { - background-image:-webkit-linear-gradient(#404040 0,#404040 54px,white 54px,white 100%); /* Safari */ - background-image:linear-gradient(#404040 0,#404040 54px,white 54px,white 100%); - } -.HEAD_ROW_3_BLUE - { - background-image:-webkit-linear-gradient(#4f90c8 0,#4f90c8 54px,white 54px,white 100%); /* Safari */ - background-image:linear-gradient(#4f90c8 0,#4f90c8 54px,white 54px,white 100%); - } -.HEAD_ROW_3_YELLOW - { - background-image:-webkit-linear-gradient(#201420 0,#201420 54px,white 54px,white 100%); /* Safari */ - background-image:linear-gradient(#201420 0,#201420 54px,white 54px,white 100%); - } -@media only screen and (max-width: 480px) - { /* For mobile-phones */ - #tabs - { - display:table; - box-sizing:border-box; - margin:0 auto; - border-spacing:1px 0; - } - .TAB_OFF - { - display:table-cell; - box-sizing:border-box; - width:38px; - height:60px; - margin:0; - padding:0; - border-radius:4px 4px 0 0; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - overflow:hidden; - } - .TAB_ON - { - display:table-cell; - box-sizing:border-box; - width:38px; - height:60px; - margin:0; - padding:0; - border-radius:4px 4px 0 0; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - overflow:hidden; - } - .TAB_TXT - { - font-size:9pt; - font-weight:bold; - line-height:100%; - max-width:30px; - white-space:nowrap; - overflow:hidden; - margin:0 auto; - text-transform:uppercase; - } - } -@media only screen and (min-width: 480px) and (max-width: 800px) - { /* For mobile-phones */ - #tabs - { - display:table; - box-sizing:border-box; - margin:0 auto; - border-spacing:1px 0; - } - .TAB_OFF - { - display:table-cell; - box-sizing:border-box; - width:58px; - height:60px; - margin:0; - padding:0; - border-radius:4px 4px 0 0; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - overflow:hidden; - } - .TAB_ON - { - display:table-cell; - box-sizing:border-box; - width:58px; - height:60px; - margin:0; - padding:0; - border-radius:4px 4px 0 0; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - overflow:hidden; - } - .TAB_TXT - { - font-size:9pt; - font-weight:bold; - line-height:100%; - max-width:50px; - white-space:nowrap; - overflow:hidden; - margin:0 auto; - text-transform:uppercase; - } - } -@media only screen and (min-width: 800px) - { /* For tablets and desktop */ - #tabs - { - display:table; - box-sizing:border-box; - margin:0 auto; - border-spacing:1px 0; - } - .TAB_OFF - { - display:table-cell; - box-sizing:border-box; - width:98px; - height:60px; - margin:0; - padding:0; - border-radius:4px 4px 0 0; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - overflow:hidden; - } - .TAB_ON - { - display:table-cell; - box-sizing:border-box; - width:98px; - height:60px; - margin:0; - padding:0; - border-radius:4px 4px 0 0; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - overflow:hidden; - } - .TAB_TXT - { - font-size:9pt; - font-weight:bold; - line-height:100%; - max-width:90px; - white-space:nowrap; - overflow:hidden; - margin:0 auto; - text-transform:uppercase; - } - } -.TAB_OFF a:hover, .TAB_ON a:hover - { - text-decoration:none; - } - -.TAB_ON_WHITE {background-color:rgba(247, 246, 245, 0.99);} -.TAB_ON_GREY {background-color:rgba(247, 246, 245, 0.99);} -.TAB_ON_BLUE {background-color:rgba(232, 243, 246, 0.99);} -.TAB_ON_YELLOW {background-color:rgba(255, 242, 189, 0.99);} - -.TAB_OFF_WHITE {background-color:#D4D4D4;} -.TAB_OFF_GREY {background-color:#AEA79F;} -.TAB_OFF_BLUE {background-color:#CAE1E8;} -.TAB_OFF_YELLOW {background-color:#FADE94;} - -.WHITE_TAB_OFF {color:#707070;} -.GREY_TAB_OFF {color:#505050;} -.BLUE_TAB_OFF {color:#365E6E;} -.YELLOW_TAB_OFF {color:#4A2E19;} - -.WHITE_TAB_ON {color:#4D88A1;} -.GREY_TAB_ON {color:#606060;} -.BLUE_TAB_ON {color:#4D88A1;} -.YELLOW_TAB_ON {color:#BD4815;} - -.TAB_ICO - { - width:36px; - height:36px; - vertical-align:middle; - margin-top:2px; - } - -/*********************** Layout (fourth row, main zone) **********************/ -#main_zone - { - display:table; - box-sizing:border-box; - width:100%; - } -.LEFT_RIGHT_CELL - { - padding:0 6px 6px 6px; - text-align:center; - vertical-align:top; - } - -@media only screen and (max-width: 1280px) - { /* For mobile phones and tablets */ - #main_zone_central_none, #main_zone_central_left, #main_zone_central_right, #main_zone_central_both - { - display:table-cell; - text-align:center; - vertical-align:top; - } - #left_col - { - display:none; - } - #right_col - { - display:none; - } - } -@media only screen and (min-width: 1280px) - { /* For desktop */ - #main_zone_central_none /* Hide left and right columns */ - { - display:table-cell; - text-align:center; - vertical-align:top; - } - #main_zone_central_left /* Show left column, hide right column */ - { - display:table-cell; - text-align:center; - vertical-align:top; - } - #main_zone_central_right /* Hide left column, show right column */ - { - display:table-cell; - text-align:center; - vertical-align:top; - padding-right:160px; - } - #main_zone_central_both /* Show both columns */ - { - display:table-cell; - text-align:center; - vertical-align:top; - padding-right:160px; - } - #left_col - { - display:table-cell; - box-sizing:border-box; - width:160px; - text-align:center; - vertical-align:top; - } - #right_col - { - display:table-cell; - box-sizing:border-box; - width:160px; - text-align:center; - vertical-align:top; - position:absolute; - right:0; - } - } - -@media only screen and (max-width: 800px) - { /* For mobile-phones */ - #main_zone_central_container - { - box-sizing:border-box; - margin:-6px 0 0 0; - padding:4px 0; - border-radius:4px; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - position:relative; - } - } -@media only screen and (min-width: 800px) - { /* For tablets and desktop */ - #main_zone_central_container - { - box-sizing:border-box; - min-height:900px; - margin:-6px 0 0 0; - padding:4px 0; - border-radius:4px; - box-shadow:inset 0 -1px 1px 0 rgba(50,50,50,0.2); - text-align:center; - vertical-align:top; - position:relative; - } - } - -/************* Main central zone with horizontal menu and canvas *************/ -#main_horizontal - { - box-sizing:border-box; - width:100%; - } -#main_horizontal .MENU_LIST_CONTAINER - { - width:100%; - } -#main_horizontal .MENU_LIST - { - display:table; - box-sizing:border-box; - height:60px; - margin:0 auto; - padding:0 8px; - list-style-type:none; - } -#main_horizontal .MENU_LIST_ITEM - { - display:table-cell; - width:128px; - height:60px; - margin:0 auto; - text-align:center; - vertical-align:middle; - } -#main_horizontal .MENU_OPT_OFF - { - opacity:0.67; - } -#main_horizontal .MENU_OPT_OFF:hover, #main_horizontal .MENU_OPT_ON - { - opacity:1; - transform:scale(1.286,1.286); - } -#main_horizontal .MENU_ICO - { - box-sizing:border-box; - padding:28px 0 0 0; - background-size:28px 28px; - background-repeat:no-repeat; - background-position:center top; - } -#main_horizontal .MAIN_ZONE_CANVAS /* Where content for each action is written */ - { - box-sizing:border-box; - width:100%; - padding:4px 8px; - margin:0 auto; - text-align:left; - vertical-align:top; - } - -/************** Main central zone with vertical menu and canvas **************/ -@media only screen and (max-width: 1024px) - { /* For mobile phones */ - /* Mobile phone will display menu always in horizontal - so the CSS must draw menu really in horizontal */ - #main_vertical - { - box-sizing:border-box; - width:100%; - } - #main_vertical .MENU_LIST_CONTAINER - { - width:100%; - } - #main_vertical .MENU_LIST - { - display:table; - box-sizing:border-box; - height:60px; - margin:0 auto; - padding:0 8px; - list-style-type:none; - } - #main_vertical .MENU_LIST_ITEM - { - display:table-cell; - width:128px; - height:60px; - margin:0 auto; - text-align:center; - vertical-align:middle; - } - #main_vertical .MENU_OPT_OFF - { - opacity:0.67; - } - #main_vertical .MENU_OPT_OFF:hover, #main_vertical .MENU_OPT_ON - { - opacity:1; - transform:scale(1.286,1.286); - } - #main_vertical .MENU_ICO - { - box-sizing:border-box; - padding:28px 0 0 0; - background-size:28px 28px; - background-repeat:no-repeat; - background-position:center top; - } - #main_vertical .MAIN_ZONE_CANVAS /* Where content for each action is written */ - { - box-sizing:border-box; - width:100%; - padding:4px 8px; - margin:0 auto; - text-align:left; - vertical-align:top; - } - #action_title /* Do not display action title */ - { - display:none; - } - } - -@media only screen and (min-width: 1024px) - { /* For tablets and desktop */ - #main_vertical - { - display:table; - box-sizing:border-box; - width:100%; - } - #main_vertical .MENU_LIST_CONTAINER - { - display:table-cell; - box-sizing:border-box; - width:170px; - } - #main_vertical .MENU_LIST - { - display:table; - margin:0; - padding-left:8px; - list-style-type:none; - } - #main_vertical .MENU_LIST_ITEM - { - text-align:left; - } - #main_vertical .MENU_OPT_OFF - { - opacity:0.67; - } - #main_vertical .MENU_OPT_OFF:hover, #main_vertical .MENU_OPT_ON - { - opacity:1; - } - #main_vertical .MENU_ICO - { - display:table-cell; - height:40px; - vertical-align:middle; - padding:2px 2px 2px 46px; - background-size:36px 36px; - background-repeat:no-repeat; - background-position:2px 2px; - } - #main_vertical .MAIN_ZONE_CANVAS /* Where content for each action is written */ - { - display:table-cell; - box-sizing:border-box; - padding:4px 8px; - margin:0 auto; - text-align:left; - vertical-align:top; - } - #action_title - { - box-sizing:border-box; - width:400px; - min-height:64px; - clear:both; - margin:0 auto; - text-align:left; - background-size:60px 60px; - background-position:0 0; - background-repeat:no-repeat; - padding:4px 0 8px 70px; - overflow:hidden; - } - } - -/********************************* Menu fonts ********************************/ -@media only screen and (max-width: 800px) - { /* For mobile-phones */ - .MENU_TEXT - { - font-size:12pt; - font-weight:bold; - line-height:110%; - white-space:nowrap; - overflow:hidden; - width:30px; - margin:0 auto; - } - } -@media only screen and (min-width: 800px) - { /* For tablets and desktop */ - .MENU_TEXT - { - font-size:12pt; - font-weight:bold; - line-height:110%; - margin:0 auto; - } - } - -.WHITE_MENU_OFF {color:#4D88A1;} -.GREY_MENU_OFF {color:#707070;} -.BLUE_MENU_OFF {color:#4D88A1;} -.YELLOW_MENU_OFF {color:#BD4815;} - -.WHITE_MENU_ON {color:#4D88A1;} -.GREY_MENU_ON {color:#606060;} -.BLUE_MENU_ON {color:#4D88A1;} -.YELLOW_MENU_ON {color:#BD4815;} - -/****************** Title of current action in main block ********************/ -.WHITE_TITLE_ACTION {color:#606060; font-size:20pt;} -.GREY_TITLE_ACTION {color:#606060; font-size:20pt;} -.BLUE_TITLE_ACTION {color:#4D88A1; font-size:20pt;} -.YELLOW_TITLE_ACTION {color:#BD4815; font-size:20pt;} - -.WHITE_SUBTITLE_ACTION {color:#606060; font-size:12pt;} -.GREY_SUBTITLE_ACTION {color:#606060; font-size:12pt;} -.BLUE_SUBTITLE_ACTION {color:#4D88A1; font-size:12pt;} -.YELLOW_SUBTITLE_ACTION {color:#BD4815; font-size:12pt;} - -/***************************** Users connected *******************************/ -.CONNECTED - { - box-sizing:border-box; - width:148px; - margin:0 auto; - background:white; - border-style:solid; - border-width:1px; - border-color:#80C040; - padding:5px; - border-radius:4px; - font-size:12pt; - color:#398000; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.CONNECTED_LIST - { - box-sizing:border-box; - margin-top:2px; - padding-top:2px; - border-style:solid; - border-width:1px 0 0 0; - border-color:#BFDF9F; - white-space:nowrap; - overflow:hidden; - } -.CONNECTED_TXT - { - color:#398000; - font-size:12pt; - } -.CON_USR_NARROW - { - width:68px; - text-align:left; - vertical-align:middle; - } -.CON_USR_WIDE - { - width:320px; - text-align:left; - vertical-align:middle; - } -.CON_NAME_NARROW - { - max-width:68px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.CON_NAME_WIDE - { - max-width:320px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.CON_NO_CRS {color:#B8D070; font-size:11pt; line-height:110%; white-space:nowrap;} -.CON_CRS {color:#398000; font-size:11pt; line-height:110%; white-space:nowrap;} - -/*************************** Most frequent actions ***************************/ -#MFU_actions - { - box-sizing:border-box; - width:148px; - margin:0; - background:white; - border-style:solid; - border-width:1px; - border-color:#8CBCCE; - padding:5px; - border-radius:4px; - font-size:11pt; - color:#4D88A1; - } -#MFU_actions ul - { - box-sizing:border-box; - width:138px; - margin-top:2px; - padding-top:2px; - border-style:solid; - border-width:1px 0 0 0; - border-color:#DDECF1; - } -#MFU_actions li - { - width:138px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -#MFU_actions img - { - width:20px; - height:20px; - margin:1px; - vertical-align:middle; - } - -#MFU_actions_big - { - padding:5px; - } -#MFU_actions_big img - { - width:40px; - height:40px; - margin:1px 4px 1px 0; - vertical-align:middle; - } - -/*********************************** Month ***********************************/ -.MONTH_CONTAINER - { - box-sizing:border-box; - width:148px; - margin:0; - padding:5px; - background:white; - border-style:solid; - border-width:1px; - border-color:#8CBCCE; - border-radius:4px; - text-align:center; - overflow:hidden; - } -.MONTH_TABLE_DAYS - { - box-sizing:border-box; - width:138px; - margin-top:2px; - padding-top:2px; - border-style:solid; - border-width:1px 0 0 0; - border-color:#DDECF1; - } -.MONTH - { - color:#4D88A1; - font-size:9pt; - white-space:nowrap; - } -.DAY_WRK_HEAD - { - color:#4D88A1; - font-size:9pt; - text-align:center; - } -.DAY_NO_WRK_HEAD - { - color:red; - font-size:9pt; - text-align:center; - } -.DAY_WRK - { - color:#202020; - font-size:9pt; - text-align:center; - } -.DAY_NO_WORK - { - color:#C04080; - font-size:9pt; - text-align:center; - } -.DAY_HLD - { - color:red; - font-size:9pt; - text-align:center; - } -.DAY_WRK_LIGHT - { - color:#E0E0E0; - font-size:9pt; - text-align:center; - } -.DAY_NO_WORK_LIGHT - { - color:#FFE0FF; - font-size:9pt; - text-align:center; - } -.DAY_HLD_LIGHT - { - color:#FFE0E0; - font-size:9pt; - text-align:center; - } -.DAY - { - border:solid 1px; - border-color:white; - text-align:center; - } -.TODAY - { - border:solid 1px; - border-color:#50B800; - text-align:center; - } -.DAY_EVENT - { - border:solid 1px; - border-color:white; - background-color:#FFF080; - text-align:center; - } -.TODAY_EVENT - { - border:solid 1px; - border-color:#50B800; - background-color:#FFF080; - text-align:center; - } - -/********************************* Buttons ***********************************/ -.BT_CREATE - { - background-color:#5BC33B; - border:1px solid #518741; - } -.BT_CONFIRM - { - background-color:#55ACEE; - border:1px solid #3B88C3; - } -.BT_REMOVE - { - background-color:#EF5555; - border:1px solid #C33B3B; - } -.BT_SUBMIT - { - color:white; - font-size:20px; - font-weight:bold; - line-height:normal; - margin:8px auto; - padding:10px 20px; - border-radius:4px; - box-shadow:0 1px 0 rgba(255,255,255,0.15) inset; - } -.BT_SUBMIT_INLINE - { - box-sizing:border-box; - min-width:170px; - color:white; - font-size:15px; - font-weight:bold; - line-height:normal; - margin:0 10px; - padding:4px; - border-radius:4px; - box-shadow:0 1px 0 rgba(255,255,255,0.15) inset; - } -.BT_SUBMIT:hover - { - background-image:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.2)); /* Safari */ - background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.2)); - } -.BT_SUBMIT_INLINE:hover - { - background-image:-webkit-linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.2)); /* Safari */ - background-image:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,0.2)); - } -.BUTTONS_AFTER_ALERT - { - text-align:center; - vertical-align:middle; - padding:8px 0 16px 0; - } - -/********************************** Notice ***********************************/ -.NOTICE_CONTAINER_ACTIVE - { - box-sizing:border-box; - margin:0 auto 10px auto; - padding:10px; - background-image:-webkit-linear-gradient(rgba(238,216,108,0.8) 0%,rgba(248,237,149,0.8) 15%,rgba(250,240,152,0.8) 100%); /* Safari */ - background-image:linear-gradient(rgba(238,216,108,0.8) 0%,rgba(248,237,149,0.8) 15%,rgba(250,240,152,0.8) 100%); - box-shadow:0 8px 10px -5px rgba(125,113,0,0.8); - text-align:left; - overflow:hidden; - } -.NOTICE_CONTAINER_OBSOLETE - { - box-sizing:border-box; - margin:0 auto 10px auto; - padding:10px; - background-image:-webkit-linear-gradient(rgba(238,216,108,0.4) 0%,rgba(248,237,149,0.4) 15%,rgba(250,240,152,0.4) 100%); /* Safari */ - background-image:linear-gradient(rgba(238,216,108,0.4) 0%,rgba(248,237,149,0.4) 15%,rgba(250,240,152,0.4) 100%); - box-shadow:0 8px 10px -5px rgba(125,113,0,0.4); - text-align:left; - overflow:hidden; - } -.NOTICE_DATE_ACTIVE - { - display:inline-block; - float:right; - font-size:12pt; - color:#404040; - text-align:right; - overflow:hidden; - } -.NOTICE_DATE_OBSOLETE - { - display:inline-block; - float:right; - font-size:12pt; - color:#808080; - text-align:right; - overflow:hidden; - } -.NOTICE_SUBJECT_ACTIVE - { - margin:12px auto; - font-size:15pt; - font-weight:bold; - color:#404040; - text-align:center; - overflow:hidden; - } -.NOTICE_SUBJECT_OBSOLETE - { - margin:12px auto; - font-size:15pt; - font-weight:bold; - color:#808080; - text-align:center; - overflow:hidden; - } -.NOTICE_TEXT_BRIEF - { - clear:both; - font-size:12pt; - color:#204080; - overflow:hidden; - } -.NOTICE_TEXT_ACTIVE - { - padding:10px 20px; - clear:both; - font-size:12pt; - color:#204080; - overflow:hidden; - } -.NOTICE_TEXT_OBSOLETE - { - padding:10px 20px; - clear:both; - font-size:12pt; - color:#4070A0; - overflow:hidden; - } -.NOTICE_AUTHOR - { - display:inline-block; - box-sizing:border-box; - float:right; - max-width:120px; - text-align:right; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - font-size:12pt; - } -.NOTICE_AUTHOR_ACTIVE - { - color:#404040; - } -.NOTICE_AUTHOR_OBSOLETE - { - color:#808080; - } - -/**************************** Institutional links ****************************/ -#institutional_links - { - box-sizing:border-box; - width:148px; - margin:0; - background:white; - border-style:solid; - border-width:1px; - border-color:#8CBCCE; - padding:5px; - border-radius:4px; - font-size:11pt; - color:#4D88A1; - } -#institutional_links ul - { - box-sizing:border-box; - width:138px; - margin-top:2px; - padding-top:2px; - border-style:solid; - border-width:1px 0 0 0; - border-color:#DDECF1; - } -#institutional_links li - { - width:138px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.INS_LNK - { - padding:1px; - font-size:11pt; - color:#4D88A1; - } - -/*********************************** Alerts **********************************/ -.ALERT - { - display:inline-block; - box-sizing:border-box; - max-width:90%; - margin:8px auto 0 auto; - background-color:#FFF9EA; - background-position:12px 12px; - background-size:20px 20px; - background-repeat:no-repeat; - padding:12px 12px 12px 45px; - border-radius:2px; - box-shadow: 0 2px 2px 0 rgba(124,121,109,0.14), 0 2px 1px -2px rgba(124,121,109,0.2), 0 1px 5px 0 rgba(124,121,109,0.12); - opacity:0.9; - font-size:12pt; - color:#632921; - text-align:left; - overflow:hidden; - } - -/*********************************** Icons ***********************************/ -.ICO20x15 {width:20px; height:15px; vertical-align:middle;} -.ICO20x20 {width:20px; height:20px; vertical-align:middle;} -.ICO20x20B {width:20px; height:20px; vertical-align:middle; display:block;} -.ICO25x25 {width:25px; height:25px; vertical-align:middle;} -.ICO40x25B {width:40px; height:25px; vertical-align:middle;} -.ICO40x40 {width:40px; height:40px; vertical-align:middle;} -.ICO40x40B {width:40px; height:40px; vertical-align:middle; display:block;} -.ICO64x64 {width:64px; height:64px; vertical-align:middle;} -.ICO160x160 {width:160px; height:160px; vertical-align:middle;} -.BANNER {width:150px; height:50px;} -.BANNER_SMALL {width:75px; height:25px;} - -/****** Contextual links with small icons and text to go to some action ******/ -.CONTEXT_MENU - { - margin:4px auto 6px auto; - text-align:center; - } -.CONTEXT_OPT - { - display:inline; - margin-left:6px; - margin-right:6px; - white-space:nowrap; - } - -/********************************** Frame ************************************/ -.FRAME_INLINE - { - display:inline-block; - margin:0 8px; - } -.FRAME_CONTAINER - { - box-sizing:border-box; - width:100%%; - text-align:center; - vertical-align:middle; - } -.FRAME - { - display:inline-block; - box-sizing:border-box; - margin:5px 0; - padding:8px 12px 20px 12px; - background-color:white; - border-radius:2px; - box-shadow: 0 2px 2px 0 rgba(0,0,0,0.14), 0 2px 1px -2px rgba(0,0,0,0.2), 0 1px 5px 0 rgba(0,0,0,0.12); - text-align:center; - overflow:hidden; - } -.FRAME_SHADOW - { - display:inline-block; - box-sizing:border-box; - margin:5px 0 18px 0; - padding:12px; - background-color:rgba(255,255,255,0.95); - border-width:1px; - border-style:solid; - border-color:#C0C0C0; - border-radius:4px; - box-shadow:2px 5px 15px #888; - text-align:center; - overflow:hidden; - } -.FRAME_ICO - { - box-sizing:border-box; - height:20px; - text-align:left; - } -.FRAME_ICO_LEFT - { - display:inline-block; - } -.FRAME_ICO_RIGHT - { - display:inline-block; - float:right; - } -.FRAME_TBL - { - box-sizing:border-box; - width:100%; - } -.FRAME_TBL_MARGIN - { - box-sizing:border-box; - width:100%; - margin-bottom:20px; - } -.FRAME_TITLE - { - display:table; - box-sizing:border-box; - width:100%; - margin:0 auto; - padding:0 12px 12px 12px; - } -.FRAME_TITLE_BIG - { - color:#606060; - font-size:22pt; - } -.FRAME_TITLE_SMALL - { - color:#808080; - font-size:18pt; - } - -/* Apply only to the first level of th and td */ -table.CELLS_PAD_1 > tbody > tr > th {padding: 1px;} -table.CELLS_PAD_1 > tbody > tr > td {padding: 1px;} -table.CELLS_PAD_2 > tbody > tr > th {padding: 2px;} -table.CELLS_PAD_2 > tbody > tr > td {padding: 2px;} -table.CELLS_PAD_5 > tbody > tr > th {padding: 5px;} -table.CELLS_PAD_5 > tbody > tr > td {padding: 5px;} -table.CELLS_PAD_10 > tbody > tr > th {padding:10px;} -table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} - -/******************** Selector below the title of a frame ********************/ -.SEL_BELOW_TITLE - { - text-align:center; - vertical-align:middle; - margin-bottom:8px; - } -.SEL_BELOW_TITLE ul - { - display:inline-block; - list-style-type:none; - padding:0; - margin:0; - text-align:left; - vertical-align:middle; - } -.SEL_BELOW_TITLE li - { - display:inline; - text-align:left; - vertical-align:middle; - } -.SEL_BELOW_TITLE label - { - color:#404040; - font-size:13pt; - } - -/*********************************** Title ***********************************/ -.TIT - { - margin:13px auto 0 auto; - font-size:13pt; - font-weight:bold; - color:#94745C; - text-align:center; - } - -/********** Title of country, institution, centre, degree, course ************/ -.TITLE_LOCATION - { - color:#808080; - font-size:20pt; - font-weight:bold; - } - -/************************** Map and name of country **************************/ -.COUNTRY_SMALL - { - display:inline-block; - box-sizing:border-box; - max-width:300px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.COUNTRY_TINY - { - display:inline-block; - box-sizing:border-box; - max-width:120px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.COUNTRY_MAP_TITLE - { - box-sizing:border-box; - width:40px; - height:40px; - margin-right:10px; - vertical-align:top; - } -.COUNTRY_MAP_SMALL - { - box-sizing:border-box; - width:64px; - height:64px; - vertical-align:middle; - } -.COUNTRY_MAP_TINY - { - box-sizing:border-box; - width:20px; - height:20px; - vertical-align:middle; - } -.COUNTRY_MAP_SHOW - { - box-sizing:border-box; - width:320px; - height:320px; - margin:10px; - } -.COUNTRY_MAP_PRINT - { - box-sizing:border-box; - width:625px; - height:625px; - margin:12px; - } - -/********************* List of my courses ************************************/ -.MY_CRSS_LNK - { - box-sizing:border-box; - max-width:500px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - -/******************* Web of institution, centre, degree **********************/ -.EXTERNAL_WWW_SHORT - { - box-sizing:border-box; - max-width:100px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.EXTERNAL_WWW_LONG - { - box-sizing:border-box; - max-width:250px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - -/****************************** Photo of centre ******************************/ -.CENTRE_PHOTO_SHOW - { - box-sizing:border-box; - width:480px; - padding:6px; margin:9px; - border:solid 1px #EEE; - } -a:hover img.CENTRE_PHOTO_SHOW - { - border:solid 1px #CCC; - box-shadow:1px 1px 6px #999; - } -.CENTRE_PHOTO_PRINT - { - box-sizing:border-box; - width:600px; - padding:10px; margin:15px; - border:solid 1px #EEE; - box-shadow:1px 1px 6px #999; - } - -/**************** Attribution (author and license) of images *****************/ -#AttributionArea - { - box-sizing:border-box; - width:480px; - } -.ATTRIBUTION - { - box-sizing:border-box; - margin-bottom:15px; - color:#A0A0A0; - font-size:8pt; - text-align:center; - } - -/******************************* User's photo ********************************/ -.PHOTO15x20 {width: 15px; height: 20px; vertical-align:middle; border-radius:2px;} -.PHOTO15x20B {width: 15px; height: 20px; vertical-align:middle; border-radius:2px; display:block; margin:0 auto;} -.PHOTO18x24 {width: 18px; height: 24px; vertical-align:middle; border-radius:2px;} -.PHOTO21x28 {width: 21px; height: 28px; vertical-align:middle; border-radius:2px;} -.PHOTO30x40 {width: 30px; height: 40px; vertical-align:middle; border-radius:2px;} -.PHOTO42x56 {width: 42px; height: 56px; vertical-align:middle; border-radius:3px;} -.PHOTO45x60 {width: 45px; height: 60px; vertical-align:middle; border-radius:3px;} -.PHOTO60x80 {width: 60px; height: 80px; vertical-align:middle; border-radius:3px;} -.PHOTO186x248 {width:186px; height:248px; vertical-align:middle; border-radius:8px;} -.IMG_USR - { - box-sizing:border-box; - width:186px; - height:248px; - border-radius:4px; - } -.ZOOM - { - box-sizing:border-box; - position:absolute; - z-index:1000; - left:-300px; - top:-400px; - padding:6px; - background-color:rgba(255,255,255,0.95); - border-width:1px; - border-style:solid; - border-color:#C0C0C0; - border-radius:6px; - box-shadow:2px 5px 15px #888; - } -.ZOOM_TXT_LINE - { - display:block; - width:186px; - margin:0 auto; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - -.NO_BR {white-space:nowrap;} - -.BG_MSG_BLUE - { - background-image:-webkit-linear-gradient(#eaf3f6 0,#eaf3f6 80%,white 100%); /* Safari */ - background-image:linear-gradient(#eaf3f6 0,#eaf3f6 80%,white 100%); - background-repeat:no-repeat; - } -.BG_MSG_GREEN - { - background-image:-webkit-linear-gradient(#f5ffd7 0,#f5ffd7 80%,white 100%); /* Safari */ - background-image:linear-gradient(#f5ffd7 0,#f5ffd7 80%,white 100%); - background-repeat:no-repeat; - } - -/************************** Listing of users *********************************/ -.USR_LIST_NUM {color:#A0A0A0; font-size:15pt; font-weight:bold;} -.USR_LIST_NUM_N {color:#404040; font-size:15pt; font-weight:bold;} - -/*****************************************************************************/ -.WHITE_TITLE {color:#505050; font-size:18pt;} -.GREY_TITLE {color:#505050; font-size:18pt;} -.BLUE_TITLE {color:#4D88A1; font-size:18pt;} -.YELLOW_TITLE {color:#BD4815; font-size:18pt;} - -/*********************** Icon and checkbox highlighting **********************/ -.ICO_HIDDEN - { - opacity:0.2; - } -.ICO_HIGHLIGHT, .CHECKBOX_UNCHECKED - { - opacity:0.6; - } -.ICO_HIGHLIGHT:hover, .CHECKBOX_UNCHECKED:hover, .CHECKBOX_CHECKED - { - opacity:1; - } - -.HLP_HIGHLIGHT - { - opacity:0.3; - } -.HLP_HIGHLIGHT:hover - { - opacity:1; - } - -/********************************* Form fonts ********************************/ -.WHITE_FORM {color:#4D88A1; font-size:13pt;} -.GREY_FORM {color:#4D88A1; font-size:13pt;} -.BLUE_FORM {color:#4D88A1; font-size:13pt;} -.YELLOW_FORM {color:#7C4D2A; font-size:13pt;} - -.WHITE_FORM_DARK {color:#365E6E; font-size:13pt;} -.GREY_FORM_DARK {color:#365E6E; font-size:13pt;} -.BLUE_FORM_DARK {color:#365E6E; font-size:13pt;} -.YELLOW_FORM_DARK {color:#4A2E19; font-size:13pt;} - -.WHITE_FORM_NOWRAP {color:#4D88A1; font-size:13pt; white-space:nowrap;} -.GREY_FORM_NOWRAP {color:#4D88A1; font-size:13pt; white-space:nowrap;} -.BLUE_FORM_NOWRAP {color:#4D88A1; font-size:13pt; white-space:nowrap;} -.YELLOW_FORM_NOWRAP {color:#7C4D2A; font-size:13pt; white-space:nowrap;} - -.WHITE_FORM_BOLD {color:#4D88A1; font-size:13pt; font-weight:bold;} -.GREY_FORM_BOLD {color:#4D88A1; font-size:13pt; font-weight:bold;} -.BLUE_FORM_BOLD {color:#4D88A1; font-size:13pt; font-weight:bold;} -.YELLOW_FORM_BOLD {color:#7C4D2A; font-size:13pt; font-weight:bold;} - -/****************************** Placing of objects ***************************/ -.LEFT_TOP {text-align:left; vertical-align:top;} -.LEFT_MIDDLE {text-align:left; vertical-align:middle;} -.LEFT_BOTTOM {text-align:left; vertical-align:bottom;} -.CENTER_TOP {text-align:center; vertical-align:top;} -.CENTER_MIDDLE {text-align:center; vertical-align:middle;} -.CENTER_BOTTOM {text-align:center; vertical-align:bottom;} -.RIGHT_TOP {text-align:right; vertical-align:top;} -.RIGHT_MIDDLE {text-align:right; vertical-align:middle;} -.RIGHT_BOTTOM {text-align:right; vertical-align:bottom;} - -/***************** Colors used in headers,backgrounds,etc. *****************/ -.COLOR0 {background-color:#F4F2EA;} -.COLOR1 {background-color:#FBFAF7;} -.LIGHT_GREEN {background-color:#C0FF40;} -.LIGHT_BLUE {background-color:#DDECF1;} -.VERY_LIGHT_BLUE {background-color:#EAF3F6;} - -/********************************* Course info *******************************/ -#crs_info - { - margin:0; - padding:0 12px; - color:inherit; - } -#crs_info table - { - border:1px solid grey; - } -#crs_info th - { - border:1px solid grey; - background-color:#F0F0F0; - padding:6px; - } -#crs_info td - { - border:1px solid grey; - padding:6px; - } - -/************************ Help for the text editor ***************************/ -.HELP_EDIT - { - margin:10px; - text-align:center; - color:#808080; - font-size:8pt; - } - -/*********************************** Lists ***********************************/ -.LIST_LEFT - { - display:inline-block; - list-style-type:none; - padding:0; - margin:0; - text-align:left; - vertical-align:middle; - } - -/******************************* File browsers *******************************/ -.FILENAME - { - display:inline-block; - box-sizing:border-box; - width:260px; /* width of LST_EDIT + 10 */ - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.FILENAME_TXT - { - color:#404040; - font-size:18pt; - font-weight:bold; - } -.BROWSER_TITLE {color:#94745C; font-size:13pt; font-weight:bold;} -.BROWSER_TITLE_LIGHT {color:#D5C6BB; font-size:13pt; font-weight:bold;} -.BROWSER_SUBTITLE {color:#94745C; font-size:12pt;} -.BROWSER_TABLE - { - box-sizing:border-box; - width:100%; - } -.LST {color:#404040; font-size:11pt; white-space:nowrap;} -.LST_HID {color:#A0A0A0; font-size:11pt; white-space:nowrap;} -.LST_REC {color:#008000; font-size:11pt; white-space:nowrap;} -.LST_REC_HID {color:#89BE87; font-size:11pt; white-space:nowrap;} -.LST_EDIT {width:250px; color:#404040; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} -.LST_EDIT_HID {width:250px; color:#A0A0A0; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} -.LST_EDIT_REC {width:250px; color:#008000; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} -.LST_EDIT_REC_HID {width:250px; color:#89BE87; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} - -/*****************************************************************************/ - -.T1 {color:#404040; font-size:15pt;} -.T2 {color:#404040; font-size:13pt;} -.T3 {color:#404040; font-size:12pt;} - -.DAT {color:#606060; font-size:13pt;} -.DAT_NOBR {color:#606060; font-size:13pt; white-space:nowrap;} -.DAT_BOLD {color:#606060; font-size:13pt; font-weight:bold;} -.DAT_GREEN {color:#008000; font-size:13pt;} -.DAT_LIGHT {color:#A0A0A0; font-size:13pt;} -.DAT_N {color:black; font-size:13pt;} -.DAT_NOBR_N {color:black; font-size:13pt; white-space:nowrap;} -.DAT_N_BOLD {color:black; font-size:13pt; font-weight:bold;} - -/*********************** Line in top part of a table row *********************/ -.DAT_N_LINE_TOP - { - color:black; - font-size:13pt; - border-style:solid none none none; - border-width:1px; - } - -.DAT_SMALL {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#606060; font-size:12pt;} -.DAT_SMALL_LIGHT {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#A0A0A0; font-size:12pt;} -.DAT_SMALL_NOBR {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#606060; font-size:12pt; white-space:nowrap;} -.DAT_SMALL_N {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt;} -.DAT_SMALL_NOBR_N {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:black; font-size:12pt; white-space:nowrap;} - -.DAT_SMALL_GREY {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#707070; font-size:12pt;} -.DAT_SMALL_RED {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:red; font-size:12pt;} -.DAT_SMALL_GREEN {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#008000; font-size:12pt;} -.DAT_SMALL_BLUE {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#0080FF; font-size:12pt;} -.DAT_SMALL_YELLOW {font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; color:#C0C000; font-size:12pt;} - -/******************************** User's IDs *********************************/ -.USR_ID {font-size:18pt; font-weight:bold;} -.USR_ID_C {color:#408020} -.USR_ID_NC {color:#A02020} - -/******************************* Record card *********************************/ -.REC_C1_TOP - { - box-sizing:border-box; - width:68px; - padding-top:8px !important; - vertical-align:top; - } -.REC_C2_TOP - { - box-sizing:border-box; - width:278px; - height:68px; - padding-top:8px !important; - } -.REC_C3_TOP - { - box-sizing:border-box; - width:190px; - } - -.REC_C1_MID - { - box-sizing:border-box; - width:68px; - } -.REC_C2_MID - { - box-sizing:border-box; - width:278px; - } -.REC_C3_MID - { - box-sizing:border-box; - width:190px; - } - -.REC_C1_BOT - { - box-sizing:border-box; - width:170px; - } -.REC_C2_BOT - { - box-sizing:border-box; - width:362px; - } -.REC_C2_BOT_INPUT - { - box-sizing:border-box; - width:358px; - } - -.REC_HEAD {font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; color:#808080; font-size:12pt;} -.REC_NAME - { - box-sizing:border-box; - max-width:274px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - color:#808080; - font-size:20pt; - font-weight:bold; - } -.REC_NICK - { - color:#808080; - font-size:15pt; - font-weight:bold; - } -.REC_WEBS - { - width:180px; - margin:0 auto; - } -.REC_EMAIL - { - box-sizing:border-box; - max-width:358px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.REC_DAT - { - color:#808080; - font-size:13pt; - line-height:110%; - } -.REC_DAT_BOLD - { - color:black; - font-size:13pt; - line-height:110%; - } - -/******************************** Class photo ********************************/ -.CLASSPHOTO_TITLE - { - color:#606060; - font-family:Georgia,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - font-size:13pt; - } -.CLASSPHOTO - { - color:#606060; - font-size:10pt; - line-height:110%; - white-space:nowrap; - } -.CLASSPHOTO_CAPTION - { - display:block; - box-sizing:border-box; - max-width:60px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - margin:0 auto; - } - -/*****************************************************************************/ -.MSJ_AVISO {color:#632921; font-size:12pt;} -.TIT_TBL {color:#4D88A1; font-size:12pt; font-weight:bold;} - -.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_GRP {color:#4D88A1; font-size:12pt;} -.ASG_GRP_LIGHT {color:#AFC4CC; font-size:12pt;} - -.DATE_RED {color:red; font-size:13pt;} -.DATE_RED_LIGHT {color:#F98A8A; font-size:13pt;} -.DATE_GREEN {color:#008000; font-size:13pt;} -.DATE_GREEN_LIGHT {color:#89BE87; font-size:13pt;} -.DATE_BLUE {color:#4D88A1; font-size:13pt;} -.DATE_BLUE_LIGHT {color:#AFC4CC; font-size:13pt;} - -.ASG_LST_DATE_GREEN {color:#008000; font-size:11pt; white-space:nowrap;} -.ASG_LST_DATE_RED {color:red; font-size:11pt; white-space:nowrap;} - -.STATUS_GREEN {color:#008000; font-size:12pt;} -.STATUS_GREEN_LIGHT {color:#89BE87; font-size:12pt;} -.STATUS_RED {color:red; font-size:12pt;} -.STATUS_RED_LIGHT {color:#F98A8A; font-size:12pt;} - -/********************************** Tests ************************************/ -.TAG_SEL {box-sizing:border-box; width:346px;} -.TAG_TXT {box-sizing:border-box; width:346px;} -.STEM {box-sizing:border-box; width:700px;} -.ANS {color:#404040; font-size:13pt; font-weight:bold;} -.ANS_OK {color:#008000; font-size:13pt; font-weight:bold;} -.ANS_BAD {color:red; font-size:13pt; font-weight:bold;} -.ANS_STR {box-sizing:border-box; width:600px;} -.TEST_SUBTITLE - { - margin:10px; - color:#404040; - font-size:13pt; - text-align:center; - vertical-align:middle; - } -.TEST_NUM_QST {color:#808080; font-size:20pt; font-weight:bold;} -.TEST {color:#404040; font-size:12pt;} -.TEST_EXA {color:#404040; font-size:12pt;} -.TEST_EXA_LIGHT {color:#A0A0A0; font-size:12pt;} -.TEST_EDI {color:#404040; font-size:12pt;} -.TEST_EDI_LIGHT {color:#A0A0A0; font-size:12pt;} - -.TEST_IMG_SHOW_STEM_CONTAINER - { - box-sizing:border-box; - width:100%; - margin:10px 0; - } -.TEST_IMG_SHOW_STEM - { - box-sizing:border-box; - width:100%; - border-radius:4px; - } -.TEST_IMG_SHOW_ANS_CONTAINER - { - box-sizing:border-box; - width:100%; - margin:10px 0; - } -.TEST_IMG_SHOW_ANS - { - box-sizing:border-box; - width:100%; - border-radius:4px; - } -.TEST_IMG_EDIT_LIST_STEM_CONTAINER - { - box-sizing:border-box; - width:100%; - margin:5px 0; - } -.TEST_IMG_EDIT_LIST_STEM - { - box-sizing:border-box; - width:100%; - border-radius:2px; - } -.TEST_IMG_EDIT_LIST_ANS_CONTAINER - { - box-sizing:border-box; - width:100%; - margin:5px 0; - } -.TEST_IMG_EDIT_LIST_ANS - { - box-sizing:border-box; - width:100%; - border-radius:2px; - } - -.TEST_FORM_EDIT_IMG - { - box-sizing:border-box; - margin:15px 0; - text-align:left; - vertical-align:top; - } - -.TEST_IMG_EDIT_ONE_STEM_CONTAINER - { - box-sizing:border-box; - width:100%; - } -.TEST_IMG_EDIT_ONE_STEM - { - box-sizing:border-box; - width:100%; - border-radius:4px; - } -.TEST_IMG_EDIT_ONE_ANS_CONTAINER - { - box-sizing:border-box; - width:100%; - } -.TEST_IMG_EDIT_ONE_ANS - { - box-sizing:border-box; - width:100%; - border-radius:4px; - } - -.TEST_EDI_ANS_LEFT_COL - { - box-sizing:border-box; - width:50px; - text-align:left; - vertical-align:top; - } -.TEST_EDI_ANS_CENTER_COL - { - box-sizing:border-box; - width:50px; - text-align:right; - vertical-align:top; - } -.TEST_EDI_ANS_RIGHT_COL - { - box-sizing:border-box; - width:604px; - text-align:left; - vertical-align:top; - } - -/******************************* Time table **********************************/ -#timetable - { - width:100%; - margin:0 auto; - } -.TT_CELL - { - max-width:50px; - overflow:hidden; - text-overflow:ellipsis; - margin:0 auto; - } -.TT_TXT - { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - color:#345C6C; - font-size:10pt; - line-height:110%; - letter-spacing:0; - } -.TT_DAY - { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - color:#404040; - font-size:10pt; - letter-spacing:0; - } -.TT_SUNDAY - { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - color:red; - font-size:10pt; - letter-spacing:0; - } -.FREE0 {height:20px; background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #EEEADC #F4F2EA;} -.FREE1 {height:20px; background-color:#F4F2EA; border:solid 1px; border-color:#F4F2EA #E0D9C2 #E0D9C2 #F4F2EA;} -.FREE2 {height:20px; background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #F5F2E9 #FBFAF7;} -.FREE3 {height:20px; background-color:#FBFAF7; border:solid 1px; border-color:#FBFAF7 #E0D9C2 #E0D9C2 #FBFAF7;} -.THEO {height:20px; background-color:#C0DAE4; border:solid 2px; border-color:#C9E3ED #B5CFD9 #B5CFD9 #C9E3ED;} -.PRAC {height:20px; background-color:#DBE5E9; border:solid 2px; border-color:#E4EEF2 #D0DADE #D0DADE #E4EEF2;} -.TUTO {height:20px; background-color:#D6E9C3; border:solid 2px; border-color:#DFEEE0 #CAE3B1 #CAE3B1 #DFEEE0;} - -/********************************* Preference ********************************/ -.PREF_CONTAINER - { - display:inline-block; - margin:0 10px; - } -.PREF_OFF - { - display:table-cell; - box-sizing:border-box; - padding:6px; - text-align:center; - vertical-align:middle; - border:solid 1px; - border-color:transparent; - } -.PREF_ON - { - display:table-cell; - box-sizing:border-box; - padding:6px; - text-align:center; - vertical-align:middle; - border:solid 1px; - border-color:#C0DAE4; - background-color:#DDECF1; - } - -/************************************* Log ***********************************/ -.LOG - { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - font-size:11pt; - color:#606060; - } -.LOG_R - { - font-family:"Arial Narrow","Nimbus Sans L","DejaVu LGC Sans Condensed",sans-serif; - font-size:11pt; - color:red; - } - -/***************************** Exam announcement *****************************/ -/* Bottom space is used for signatures */ -.EXA_ANN_VISIBLE - { - box-sizing:border-box; - width:100%; - padding:25px 25px 125px 25px; - } -.EXA_ANN_HIDDEN - { - box-sizing:border-box; - width:100%; - padding:25px 25px 125px 25px; - opacity:0.33; - } - -/****************************** Image uploading ******************************/ -.IMG_UPLOAD_CONTAINER - { - vertical-align:top; - margin-bottom:10px; - } -.IMG_UPLOAD_BUTTON - { - cursor:pointer; - } -.IMG_UPLOAD_ICO - { - width:20px; - height:20px; - margin:0 5px; - vertical-align:middle; - } -.IMG_UPLOAD_FILE - { - display:none; - } -.IMG_UPLOAD_FILENAME - { - color:#808080; - font-size:12pt; - } - -/********** Author of assignments, attendance, messages, surveys... **********/ -.AUTHOR_1_LINE - { - display:inline-block; - box-sizing:border-box; - max-width:100px; - height:20px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.AUTHOR_2_LINES - { - display:inline-block; - box-sizing:border-box; - max-width:60px; - height:40px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.AUTHOR_TXT {color:#4D88A1; font-size:11pt;} -.AUTHOR_TXT_LIGHT {color:#AFC4CC; font-size:11pt;} -.AUTHOR_TXT_NEW {color:#4D88A1; font-size:11pt; font-weight:bold;} - -/************************** Owner of assignments and works *******************/ -.OWNER_WORKS_PHOTO - { - box-sizing:border-box; - width:64px; - text-align:left; - vertical-align:top; - } -.OWNER_WORKS_DATA - { - display:inline-block; - box-sizing:border-box; - width:100px; - text-align:left; - vertical-align:top; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - -/***************************** Listing of users ******************************/ -.USR_DAT - { - box-sizing:border-box; - max-width:120px; - overflow:hidden; - text-overflow:ellipsis; - } - -/**************************** Enrolment requests *****************************/ -.REQUESTER_NAME - { - box-sizing:border-box; - max-width:100px; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - -/******************************** Social activity ****************************/ -#view_new_posts_container,#view_old_posts_container - { - display:table-cell; - height:50px; - text-align:center; - vertical-align:middle; - } -#just_now_timeline_list,#new_timeline_list,#old_timeline_list - { - display:none; - margin:0; - padding:0; - } -#old_timeline_list - { - margin:0; - padding:0; - } - -.SOCIAL_PUB - { - width:536px; - border-top:1px solid silver; - } -.SOCIAL_NEW_PUB - { - background-color:#DDECF1; - animation: fadein 2s linear forwards; - } -@keyframes fadein - { - to {background-color:white;} - } - -.SOCIAL_FORM_NEW_POST - { - padding:10px 0; - width:480px; - text-align:center; - } -.SOCIAL_TOP_CONTAINER - { - box-sizing:border-box; - width:536px; - padding-top:10px; - text-align:left; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.SOCIAL_TOP_PUBLISHER - { - color:#808080; - font-size:13pt; - } - -.SOCIAL_NOTE_LEFT_PHOTO - { - display:inline-block; - box-sizing:border-box; - width:56px; - height:70px; - padding:10px 0; - text-align:left; - vertical-align:top; - } -.SOCIAL_NOTE_RIGHT_CONTAINER - { - display:inline-block; - box-sizing:border-box; - width:480px; - padding-top:10px; - } -.SOCIAL_RIGHT_AUTHOR - { - display:inline-block; - box-sizing:border-box; - width:320px; - text-align:left; - vertical-align:top; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.SOCIAL_RIGHT_TIME - { - display:inline-block; - box-sizing:border-box; - width:160px; - text-align:right; - vertical-align:top; - } -.SOCIAL_BOTTOM_LEFT /* Container for button used to toggle new comment form */ - { - display:inline-block; - box-sizing:border-box; - width:56px; - vertical-align:bottom; - } -.SOCIAL_BOTTOM_RIGHT /* Container for fav, share, remove and comments */ - { - display:inline-block; - box-sizing:border-box; - width:480px; - vertical-align:top; - } -.SOCIAL_ICOS_FAV_SHA_REM /* Container for fav, share and remove */ - { - padding-bottom:10px; - } -.SOCIAL_TEXTAREA_POST - { - box-sizing:border-box; - width:480px; - margin:0; - resize:none; - } -.SOCIAL_TXT - { - padding:5px 0; - color:#404040; - font-size:13pt; - } -.SOCIAL_POST_IMG_CONTAINER - { - box-sizing:border-box; - width:480px; - margin:10px 0; - } -.SOCIAL_POST_IMG - { - box-sizing:border-box; - width:480px; - border-radius:4px; - } -.SOCIAL_POST_IMG_TIT_URL - { - box-sizing:border-box; - width:440px; - } -.SOCIAL_ICO_COMMENT - { - display:inline-block; - padding-bottom:10px; - } -.SOCIAL_ICO_COMMENT_DISABLED - { - display:inline-block; - padding-bottom:10px; - opacity:0.1; - } -.SOCIAL_ICO_FAV - { - display:inline-block; - vertical-align:bottom; - } -.SOCIAL_ICO_SHARE - { - display:inline-block; - padding-left:20px; - vertical-align:bottom; - } -.SOCIAL_ICO_FAV_DISABLED - { - display:inline-block; - vertical-align:bottom; - opacity:0.1; - } -.SOCIAL_ICO_SHARE_DISABLED - { - display:inline-block; - padding-left:20px; - vertical-align:bottom; - opacity:0.1; - } -.SOCIAL_ICO_REMOVE - { - display:inline-block; - vertical-align:bottom; - float:right; - } -.SOCIAL_NUM_SHARES_FAVS - { - color:#A0A0A0; - font-size:12pt; - font-weight:bold; - } -.SOCIAL_SHARER - { - display:inline-block; - padding-left:4px; - vertical-align:bottom; - } -.SOCIAL_COMMENT - { - border-top:1px solid silver; - } -.SOCIAL_COMMENT_PHOTO - { - display:inline-block; - box-sizing:border-box; - width:40px; - height:54px; - padding:10px 0; - text-align:left; - vertical-align:top; - } -.SOCIAL_COMMENT_RIGHT_CONTAINER - { - display:inline-block; - box-sizing:border-box; - width:440px; - padding:10px 0; - } -.SOCIAL_COMMENT_RIGHT_AUTHOR - { - display:inline-block; - box-sizing:border-box; - width:280px; - text-align:left; - vertical-align:top; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.SOCIAL_FORM_NEW_COMMENT - { - display:inline-block; - margin-left:56px; - border-top:1px solid silver; - padding-bottom:10px; - width:480px; - text-align:center; - } -.SOCIAL_TEXTAREA_COMMENT - { - box-sizing:border-box; - width:440px; - margin:0; - resize:none; - } -.SOCIAL_COMMENT_IMG_CONTAINER - { - box-sizing:border-box; - width:440px; - margin:10px 0; - } -.SOCIAL_COMMENT_IMG - { - box-sizing:border-box; - width:440px; - border-radius:4px; - } -.SOCIAL_COMMENT_IMG_TIT_URL - { - box-sizing:border-box; - width:440px; - } - -/************************************ Forum **********************************/ -.FOR_IMG_CONTAINER - { - box-sizing:border-box; - width:100%; - margin:10px 0; - } -.FOR_IMG - { - box-sizing:border-box; - width:100%; - border-radius:4px; - } -.FOR_IMG_TIT_URL - { - box-sizing:border-box; - width:480px; - } - -/*********************************** Messages ********************************/ -.MSG_TO_ONE_RCP - { - display:inline-block; - padding-left:4px; - text-align:left; - vertical-align:middle; - } -.MSG_IMG_CONTAINER - { - box-sizing:border-box; - width:100%; - margin:10px 0; - } -.MSG_IMG - { - box-sizing:border-box; - width:100%; - border-radius:4px; - } -.MSG_IMG_TIT_URL - { - box-sizing:border-box; - width:480px; - } -.MSG_TXT {color:#404040; font-size:13pt;} -.MSG_TIT {color:#4D88A1; font-size:13pt;} -.MSG_TIT_NEW {color:#4D88A1; font-size:13pt; font-weight:bold;} -.MSG_TIT_REM {color:#AFC4CC; font-size:13pt;} -.MSG_TIT_BG - { - background-image:-webkit-linear-gradient(#eaf3f6 0,#eaf3f6 80%,white 100%); /* Safari */ - background-image:linear-gradient(#eaf3f6 0,#eaf3f6 80%,white 100%); - background-repeat:no-repeat; - color:#4D88A1; - font-size:13pt; - } -.MSG_TIT_BG_NEW - { - background-image:-webkit-linear-gradient(#f5ffd7 0,#f5ffd7 80%,white 100%); /* Safari */ - background-image:linear-gradient(#f5ffd7 0,#f5ffd7 80%,white 100%); - background-repeat:no-repeat; - color:#4D88A1; - font-size:13pt; - font-weight:bold; - } -.MSG_TIT_BG_REM - { - background-image:-webkit-linear-gradient(#f3fcff 0,#f3fcff 80%,white 100%); /* Safari */ - background-image:linear-gradient(#f3fcff 0,#f3fcff 80%,white 100%); - background-repeat:no-repeat; - color:#AFC4CC; - font-size:13pt; - } -.MSG_AUT_BG - { - background-image:-webkit-linear-gradient(#eaf3f6 0,#eaf3f6 80%,white 100%); /* Safari */ - background-image:linear-gradient(#eaf3f6 0,#eaf3f6 80%,white 100%); - background-repeat:no-repeat; - color:#4D88A1; - font-size:11pt; - } -.MSG_AUT_BG_NEW - { - background-image:-webkit-linear-gradient(#f5ffd7 0,#f5ffd7 80%,white 100%); /* Safari */ - background-image:linear-gradient(#f5ffd7 0,#f5ffd7 80%,white 100%); - background-repeat:no-repeat; - color:#4D88A1; - font-size:11pt; - font-weight:bold; - } -.MSG_AUT_BG_REM - { - background-image:-webkit-linear-gradient(#f3fcff 0,#f3fcff 80%,white 100%); /* Safari */ - background-image:linear-gradient(#f3fcff 0,#f3fcff 80%,white 100%); - background-repeat:no-repeat; - color:#AFC4CC; - font-size:11pt; - } -.MSG_DATE {color:#4D88A1; font-size:11pt;} -.MSG_DATE_NEW {color:#4D88A1; font-size:11pt; font-weight:bold;} - -.BT {width:20px; text-align:center; vertical-align:top;} -.BT0 {width:20px; text-align:center; vertical-align:top; background-color:#F4F2EA;} -.BT1 {width:20px; text-align:center; vertical-align:top; background-color:#FBFAF7;} -.BM {width:20px; text-align:center; vertical-align:middle;} -.BM_SEL {width:20px; text-align:center; vertical-align:middle; background-color:#C0FF40;} -.BM0 {width:20px; text-align:center; vertical-align:middle; background-color:#F4F2EA;} -.BM1 {width:20px; text-align:center; vertical-align:middle; background-color:#FBFAF7;} - -/***************************** Calls for exams *******************************/ -.CONV_TIT - { - font-family:Garamond,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - color:#404040; - font-weight:bold; - font-size:18pt; - } -.CONV_TIT_IMPR - { - font-family:Garamond,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - color:#202020; - font-weight:bold; - font-size:18pt; - } -.CONV_NEG - { - font-family:Garamond,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - color:#404040; - font-weight:bold; - font-size:13pt; - white-space:nowrap; - } -.CONV_NEG_IMPR - { - font-family:Garamond,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - color:#202020; - font-weight:bold; - font-size:13pt; - white-space:nowrap; - text-align:right; - } -.CONV - { - font-family:Garamond,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - color:#404040; - font-size:13pt; - } -.CONV_IMPR - { - font-family:Garamond,"DejaVu LGC Serif","Bitstream Vera Serif",serif; - color:#202020; - font-size:13pt; - } - -/***************************** Public user's profile *************************/ -.PRF_FIG_LEFT_CONTAINER - { - display:inline-block; - box-sizing:border-box; - width:50%; - padding-right:10px; - text-align:right; - vertical-align:top; - } -.PRF_FIG_RIGHT_CONTAINER - { - display:inline-block; - box-sizing:border-box; - width:50%; - padding-left:10px; - text-align:left; - vertical-align:top; - } -.PRF_FIG_UL - { - display:inline-block; - list-style-type:none; - padding:0; - margin:0; - text-align:left; - vertical-align:middle; - } -.PRF_FIG_LI - { - padding:0 0 0 24px; - background-size:20px 20px; - background-repeat:no-repeat; - background-position:left center; - opacity:0.67; - } - -#following_side - { - display:inline-block; - box-sizing:border-box; - width:50%; - padding-right:10px; - } -#followers_side - { - display:inline-block; - box-sizing:border-box; - width:50%; - padding-left:10px; - } -.FOLLOW_SIDE - { - display:table; - box-sizing:border-box; - width:100%; - } -#follows_me - { - display:table-cell; - box-sizing:border-box; - padding-right:20px; - text-align:right; - vertical-align:middle; - } -#follow_usr - { - display:table-cell; - height:60px; - box-sizing:border-box; - padding-left:20px; - text-align:left; - vertical-align:middle; - } -.FOLLOW_BOX - { - display:table-cell; - width:140px; - text-align:center; - vertical-align:middle; - } -.FOLLOW_NUM - { - color:#404040; - font-size:30pt; - font-weight:bold; - opacity:0.5; - } -.FOLLOW_NUM_B - { - color:#404040; - font-size:30pt; - font-weight:bold; - } -.FOLLOW_PHOTO - { - box-sizing:border-box; - width:72px; - height:90px; - text-align:left; - vertical-align:bottom; - } -.FOLLOW_USR - { - box-sizing:border-box; - width:100px; - height:90px; - } -.FOLLOW_USR_NAME - { - box-sizing:border-box; - max-width:100px; - text-align:left; - vertical-align:bottom; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } -.FOLLOW_USR_ICO - { - padding:4px; - } - -/****************************** Users ranking ********************************/ -.RANK_USR - { - box-sizing:border-box; - max-width:50px; - text-align:left; - vertical-align:middle; - white-space:nowrap; - overflow:hidden; - text-overflow:ellipsis; - } - -/************************* Indicators about courses **************************/ -.INDICATORS td,.INDICATORS th - { - border:1px solid silver; - border-collapse:collapse; - padding:1px; - } -.INDICATORS th - { - color:#4D88A1; - font-size:12pt; - font-weight:bold; - } - -/********************* Used to align buttons in account forms ****************/ -.FORM_ACCOUNT - { - display:inline-block; - box-sizing:border-box; - min-width:312px; - } - -/************* Forms to edit institution, centre, degree, course *************/ -.CODE - { - min-width:60px; - text-align:right; - vertical-align:middle; - } -.INPUT_INS_CODE - { - width:90px; - } -.INPUT_SHORT_NAME - { - width:90px; - } -.INPUT_FULL_NAME - { - width:180px; - } -.INPUT_WWW - { - width:90px; - } - -.INPUT_STATUS - { - width:80px; - } -.INPUT_REQUESTER - { - width:90px; - } - -/********************************* Page foot *********************************/ -@media only screen and (max-width: 800px) - { /* For mobile-phones */ - #foot_zone, #about_zone - { - display:none; - } - } -@media only screen and (min-width: 800px) - { /* For tablets and desktop */ - #foot_zone - { - padding:20px; - } - #about_zone - { - padding:20px; - text-align:center; - } - } -.FOOT_LIST_CONTAINER - { - position:relative; - float:left; - text-align:left; - padding-bottom:20px; - background:white; - } -.FOOT_LIST_TITLE - { - color:#666; - font-size:14pt; - font-weight:bold; - white-space:nowrap; - } -.FOOT_LIST - { - box-sizing:border-box; - list-style-type:none; - margin:0; - padding:0; - border-width:0; - font-size:12pt; - white-space:nowrap; - line-height:140%; - } -.FOOT_LINK - { - color:#2C90C9; - } -.ABOUT - { - color:#A0A0A0; - font-size:12pt; - } - -/************** Something that does not take up space and is not shown *******/ -.NOT_SHOWN - { - display:none; - } - -/************ Something that takes up space but which is invisible ***********/ -.HIDDEN - { - visibility:hidden; - } diff --git a/swad_agenda.c b/swad_agenda.c index afb23f8d..3ac00d6f 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -105,7 +105,7 @@ static void Agd_GetParamEventOrder (void); static void Agd_PutFormsToRemEditOneEvent (struct AgendaEvent *AgdEvent); -static void Agd_PutCurrentParams (void); +static void Agd_PutCurrentParamsMyAgenda (void); static void Agd_GetParams (Agd_AgendaType_t AgendaType); static void Agd_GetListEvents (Agd_AgendaType_t AgendaType); @@ -187,12 +187,11 @@ static void Agd_ShowFormToSelPast__FutureEvents (void) (Gbl.Agenda.Past__FutureEvents & (1 << PstFut)) ? "PREF_ON" : "PREF_OFF"); Act_FormStart (ActSeeMyAgd); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents ^ (1 << PstFut), // Toggle - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - Gbl.Pag.CurrentPage); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents ^ (1 << PstFut), // Toggle + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + Gbl.Agenda.CurrentPage, + -1L); fprintf (Gbl.F.Out,""); @@ -642,7 +640,7 @@ static void Agd_PutIconToCreateNewEvent (void) /***** Put form to create a new event *****/ Gbl.Agenda.AgdCodToEdit = -1L; - Lay_PutContextualLink (ActFrmNewEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActFrmNewEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "plus64x64.png", Txt_New_event,NULL, NULL); @@ -712,12 +710,11 @@ static void Agd_PutButtonToCreateNewEvent (void) extern const char *Txt_New_event; Act_FormStart (ActFrmNewEvtMyAgd); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - Gbl.Pag.CurrentPage); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + Gbl.Agenda.CurrentPage, + -1L); Lay_PutConfirmButton (Txt_New_event); Act_FormEnd (); } @@ -852,66 +849,64 @@ static void Agd_PutFormsToRemEditOneEvent (struct AgendaEvent *AgdEvent) Gbl.Agenda.AgdCodToEdit = AgdEvent->AgdCod; // Used as parameter in contextual links /***** Put form to remove event *****/ - Lay_PutContextualLink (ActReqRemEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActReqRemEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "remove-on64x64.png", Txt_Remove,NULL, NULL); /***** Put form to hide/show event *****/ if (AgdEvent->Hidden) - Lay_PutContextualLink (ActShoEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActShoEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "eye-slash-on64x64.png", Txt_Show,NULL, NULL); else - Lay_PutContextualLink (ActHidEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActHidEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "eye-on64x64.png", Txt_Hide,NULL, NULL); /***** Put form to edit event *****/ - Lay_PutContextualLink (ActEdiOneEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActEdiOneEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "edit64x64.png", Txt_Edit,NULL, NULL); /***** Put form to make event public/private *****/ if (AgdEvent->Public) - Lay_PutContextualLink (ActPrvEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActPrvEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "unlock-on64x64.png", Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private,NULL, NULL); else - Lay_PutContextualLink (ActPubEvtMyAgd,Agd_PutCurrentParams, + Lay_PutContextualLink (ActPubEvtMyAgd,Agd_PutCurrentParamsMyAgenda, "lock-on64x64.png", Txt_Event_private_click_to_make_it_visible_to_the_users_of_your_courses,NULL, NULL); } /*****************************************************************************/ -/******************* Parameters passed in agenda forms ***********************/ +/****************** Parameters passed in my agenda forms *********************/ /*****************************************************************************/ -static void Agd_PutCurrentParams (void) +static void Agd_PutCurrentParamsMyAgenda (void) { - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - Gbl.Agenda.AgdCodToEdit, - Gbl.Pag.CurrentPage); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + Gbl.Agenda.CurrentPage, + Gbl.Agenda.AgdCodToEdit); } /* The following function is called when one or more parameters must be passed explicitely. Each parameter is passed only if its value is distinct to default. */ -void Agd_PutParams (unsigned Past__FutureEvents, - unsigned PrivatPublicEvents, - unsigned HiddenVisiblEvents, - Agd_Order_t Order, - long AgdCodToEdit, - unsigned NumPage) +void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents, + unsigned PrivatPublicEvents, + unsigned HiddenVisiblEvents, + unsigned NumPage, + long AgdCodToEdit) { if (Past__FutureEvents != (Agd_DEFAULT_PAST___EVENTS | Agd_DEFAULT_FUTURE_EVENTS)) @@ -925,14 +920,14 @@ void Agd_PutParams (unsigned Past__FutureEvents, Agd_DEFAULT_VISIBL_EVENTS)) Agd_PutHiddenParamHiddenVisiblEvents (HiddenVisiblEvents); - if (Order != Agd_ORDER_DEFAULT) - Par_PutHiddenParamUnsigned ("Order",(unsigned) Order); + if (Gbl.Agenda.SelectedOrder != Agd_ORDER_DEFAULT) + Par_PutHiddenParamUnsigned ("Order",(unsigned) Gbl.Agenda.SelectedOrder); + + if (NumPage > 1) + Pag_PutHiddenParamPagNum (Pag_MY_AGENDA,NumPage); if (AgdCodToEdit > 0) Par_PutHiddenParamLong ("AgdCod",AgdCodToEdit); - - if (NumPage > 1) - Pag_PutHiddenParamPagNum (NumPage); } /*****************************************************************************/ @@ -956,7 +951,7 @@ static void Agd_GetParams (Agd_AgendaType_t AgendaType) Agd_GetParamsHiddenVisiblEvents (); } Agd_GetParamEventOrder (); - Pag_GetParamPagNum (WhatPaginate[AgendaType]); + Gbl.Agenda.CurrentPage = Pag_GetParamPagNum (WhatPaginate[AgendaType]); } /*****************************************************************************/ @@ -1323,7 +1318,7 @@ void Agd_AskRemEvent (void) /***** Button of confirmation of removing *****/ Act_FormStart (ActRemEvtMyAgd); Gbl.Agenda.AgdCodToEdit = AgdEvent.AgdCod; - Agd_PutCurrentParams (); + Agd_PutCurrentParamsMyAgenda (); /***** Ask for confirmation of removing *****/ sprintf (Gbl.Message,Txt_Do_you_really_want_to_remove_the_event_X, @@ -1556,7 +1551,7 @@ void Agd_RequestCreatOrEditEvent (void) Act_FormStart (ActChgEvtMyAgd); Gbl.Agenda.AgdCodToEdit = AgdEvent.AgdCod; } - Agd_PutCurrentParams (); + Agd_PutCurrentParamsMyAgenda (); /***** Table start *****/ Lay_StartRoundFrameTable (NULL, diff --git a/swad_agenda.h b/swad_agenda.h index bb01d41e..f39588ef 100644 --- a/swad_agenda.h +++ b/swad_agenda.h @@ -104,12 +104,11 @@ void Agd_ShowOtherAgendaAfterLogIn (void); void Agd_RequestCreatOrEditEvent (void); -void Agd_PutParams (unsigned Past__FutureEvents, - unsigned PrivatPublicEvents, - unsigned HiddenVisiblEvents, - Agd_Order_t Order, - long AgdCodToEdit, - unsigned NumPage); +void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents, + unsigned PrivatPublicEvents, + unsigned HiddenVisiblEvents, + unsigned NumPage, + long AgdCodToEdit); void Agd_PutHiddenParamEventsOrder (void); void Agd_FreeListEvents (void); diff --git a/swad_assignment.c b/swad_assignment.c index db4cd73a..ef839168 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -101,7 +101,7 @@ void Asg_SeeAssignments (void) /***** Get parameters *****/ Asg_GetParamAsgOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ASSIGNMENTS); + Gbl.Asgs.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS); /***** Show all the assignments *****/ Asg_ShowAllAssignments (); @@ -130,9 +130,9 @@ static void Asg_ShowAllAssignments (void) /***** Compute variables related to pagination *****/ Pagination.NumItems = Gbl.Asgs.Num; - Pagination.CurrentPage = (int) Gbl.Pag.CurrentPage; + Pagination.CurrentPage = (int) Gbl.Asgs.CurrentPage; Pag_CalculatePagination (&Pagination); - Gbl.Pag.CurrentPage = (unsigned) Pagination.CurrentPage; + Gbl.Asgs.CurrentPage = (unsigned) Pagination.CurrentPage; /***** Write links to pages *****/ if (Pagination.MoreThanOnePage) @@ -158,7 +158,7 @@ static void Asg_ShowAllAssignments (void) fprintf (Gbl.F.Out,""); Act_FormStart (ActSeeAsg); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage); Par_PutHiddenParamUnsigned ("Order",(unsigned) Order); Act_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); if (Order == Gbl.Asgs.SelectedOrder) @@ -273,7 +273,7 @@ static void Asg_PutParamsToCreateNewAsg (void) { Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage); } /*****************************************************************************/ @@ -290,7 +290,7 @@ static void Asg_PutFormToSelectWhichGroupsToShow (void) static void Asg_ParamsWhichGroupsToShow (void) { Asg_PutHiddenParamAsgOrder (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage); } /*****************************************************************************/ @@ -553,7 +553,7 @@ static void Asg_PutParams (void) Asg_PutParamAsgCod (Gbl.Asgs.AsgCodToEdit); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage); } /*****************************************************************************/ @@ -905,7 +905,7 @@ void Asg_ReqRemAssignment (void) /***** Get parameters *****/ Asg_GetParamAsgOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ASSIGNMENTS); + Gbl.Asgs.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS); /***** Get assignment code *****/ if ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L) @@ -919,7 +919,7 @@ void Asg_ReqRemAssignment (void) Asg_PutParamAsgCod (Asg.AsgCod); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage); /***** Ask for confirmation of removing *****/ sprintf (Gbl.Message,Txt_Do_you_really_want_to_remove_the_assignment_X, @@ -1077,7 +1077,7 @@ void Asg_RequestCreatOrEditAsg (void) /***** Get parameters *****/ Asg_GetParamAsgOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ASSIGNMENTS); + Gbl.Asgs.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS); /***** Get the code of the assignment *****/ ItsANewAssignment = ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L); @@ -1114,7 +1114,7 @@ void Asg_RequestCreatOrEditAsg (void) } Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage); /***** Table start *****/ Lay_StartRoundFrameTable (NULL, diff --git a/swad_attendance.c b/swad_attendance.c index 16920ef4..0623f54d 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -148,7 +148,7 @@ void Att_SeeAttEvents (void) /***** Get parameters *****/ Att_GetParamAttOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ATT_EVENTS); + Gbl.AttEvents.CurrentPage = Pag_GetParamPagNum (Pag_ATT_EVENTS); /***** Get list of attendance events *****/ Att_GetListAttEvents (Att_NEWEST_FIRST); @@ -208,9 +208,9 @@ static void Att_ShowAllAttEvents (void) /***** Compute variables related to pagination *****/ Pagination.NumItems = Gbl.AttEvents.Num; - Pagination.CurrentPage = (int) Gbl.Pag.CurrentPage; + Pagination.CurrentPage = (int) Gbl.AttEvents.CurrentPage; Pag_CalculatePagination (&Pagination); - Gbl.Pag.CurrentPage = (unsigned) Pagination.CurrentPage; + Gbl.AttEvents.CurrentPage = (unsigned) Pagination.CurrentPage; /***** Write links to pages *****/ if (Pagination.MoreThanOnePage) @@ -238,7 +238,7 @@ static void Att_ShowAllAttEvents (void) fprintf (Gbl.F.Out,""); Act_FormStart (ActSeeAtt); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); Par_PutHiddenParamUnsigned ("Order",(unsigned) Order); Act_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); if (Order == Gbl.AttEvents.SelectedOrder) @@ -301,7 +301,7 @@ static void Att_PutFormToSelectWhichGroupsToShow (void) static void Att_ParamsWhichGroupsToShow (void) { Att_PutHiddenParamAttOrder (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); } /*****************************************************************************/ @@ -341,7 +341,7 @@ static void Att_PutParamsToCreateNewAttEvent (void) { Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); } /*****************************************************************************/ @@ -529,7 +529,7 @@ static void Att_PutFormToListStdsParams (void) { Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); } /*****************************************************************************/ @@ -583,7 +583,7 @@ static void Att_PutParams (void) Att_PutParamAttCod (Gbl.AttEvents.AttCodToEdit); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); } /*****************************************************************************/ @@ -868,7 +868,7 @@ void Att_AskRemAttEvent (void) /***** Get parameters *****/ Att_GetParamAttOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ATT_EVENTS); + Gbl.AttEvents.CurrentPage = Pag_GetParamPagNum (Pag_ATT_EVENTS); /***** Get attendance event code *****/ if ((Att.AttCod = Att_GetParamAttCod ()) == -1L) @@ -882,7 +882,7 @@ void Att_AskRemAttEvent (void) Att_PutParamAttCod (Att.AttCod); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); /***** Ask for confirmation of removing *****/ sprintf (Gbl.Message,Txt_Do_you_really_want_to_remove_the_event_X, @@ -1043,7 +1043,7 @@ void Att_RequestCreatOrEditAttEvent (void) /***** Get parameters *****/ Att_GetParamAttOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ATT_EVENTS); + Gbl.AttEvents.CurrentPage = Pag_GetParamPagNum (Pag_ATT_EVENTS); /***** Get the code of the attendance event *****/ Att.AttCod = Att_GetParamAttCod (); @@ -1082,7 +1082,7 @@ void Att_RequestCreatOrEditAttEvent (void) } Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage); /***** Table start *****/ Lay_StartRoundFrameTable (NULL, @@ -1817,7 +1817,7 @@ void Att_SeeOneAttEvent (void) /***** Get parameters *****/ Att_GetParamAttOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_ATT_EVENTS); + Gbl.AttEvents.CurrentPage = Pag_GetParamPagNum (Pag_ATT_EVENTS); /***** Show attendance *****/ Lay_StartRoundFrameTable (NULL,Txt_Event,NULL,Hlp_USERS_Attendance,2); diff --git a/swad_changelog.h b/swad_changelog.h index 2f79cfa7..3c79e310 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -212,13 +212,15 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.176.3 (2017-04-12)" -#define CSS_FILE "swad16.174.1.css" +#define Log_PLATFORM_VERSION "SWAD 16.177 (2017-04-13)" +#define CSS_FILE "swad16.177.css" #define JS_FILE "swad16.144.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 /* + Version 16.177: Apr 13, 2017 Code refactoring related to pagination. + Changes in layout of forums. (217609 lines) Version 16.176.3: Apr 12, 2017 Remove unused code in forums. (217582 lines) Version 16.176.2: Apr 12, 2017 Changes in layout of forums. (217705 lines) Version 16.176.1: Apr 11, 2017 Changes in layout of forums. (217699 lines) diff --git a/swad_forum.c b/swad_forum.c index 43465cf9..0100d474 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -963,7 +963,7 @@ void For_RemoveUsrFromReadThrs (long UsrCod) } /*****************************************************************************/ -/****************************** Show forum posts *****************************/ +/************************ Show posts in a thread *****************************/ /*****************************************************************************/ static void For_ShowThreadPosts (long ThrCod) @@ -982,7 +982,7 @@ static void For_ShowThreadPosts (long ThrCod) unsigned NumPsts; time_t ReadTimeUTC; // Read time of thread for the current user time_t CreatTimeUTC; // Creation time of post - struct Pagination Pagination; + struct Pagination PaginationPsts; long PstCod; bool NewPst = false; bool ICanModerateForum = false; @@ -993,7 +993,7 @@ static void For_ShowThreadPosts (long ThrCod) For_GetThrData (&Thr); /***** Get the page number *****/ - Pag_GetParamPagNum (Pag_POSTS_FORUM); + Gbl.Forum.CurrentPagePsts = Pag_GetParamPagNum (Pag_POSTS_FORUM); /***** Write title *****/ /* Get if there is a thread ready to be moved */ @@ -1009,7 +1009,8 @@ static void For_ShowThreadPosts (long ThrCod) Lay_StartRoundFrame (NULL,FrameTitle,NULL,Hlp_SOCIAL_Forums); /***** Get posts of a thread from database *****/ - sprintf (Query,"SELECT PstCod,UNIX_TIMESTAMP(CreatTime) FROM forum_post" + sprintf (Query,"SELECT PstCod,UNIX_TIMESTAMP(CreatTime)" + " FROM forum_post" " WHERE ThrCod=%ld ORDER BY PstCod", ThrCod); NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get posts of a thread"); @@ -1020,16 +1021,16 @@ static void For_ShowThreadPosts (long ThrCod) /***** Check if I can moderate posts in forum *****/ switch (Gbl.Forum.Type) { - 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: + 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_SYS_ADM; break; case For_FORUM_INSTIT_USRS: case For_FORUM_INSTIT_TCHS: ICanModerateForum = Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM; break; - case For_FORUM_DEGREE_USRS: case For_FORUM_DEGREE_TCHS: - case For_FORUM_COURSE_TCHS: + case For_FORUM_DEGREE_USRS: case For_FORUM_DEGREE_TCHS: + case For_FORUM_COURSE_TCHS: ICanModerateForum = (Gbl.Usrs.Me.LoggedRole == Rol_DEG_ADM || Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM); break; @@ -1041,22 +1042,22 @@ static void For_ShowThreadPosts (long ThrCod) } /***** Compute variables related to pagination *****/ - Pagination.NumItems = NumPsts; - Pagination.CurrentPage = (int) Gbl.Pag.CurrentPage; - Pag_CalculatePagination (&Pagination); - Gbl.Pag.CurrentPage = (unsigned) Pagination.CurrentPage; + PaginationPsts.NumItems = NumPsts; + PaginationPsts.CurrentPage = (int) Gbl.Forum.CurrentPagePsts; + Pag_CalculatePagination (&PaginationPsts); + Gbl.Forum.CurrentPagePsts = (unsigned) PaginationPsts.CurrentPage; /***** Write links to pages *****/ - if (Pagination.MoreThanOnePage) - Pag_WriteLinksToPagesCentered (Pag_POSTS_FORUM,ThrCod,&Pagination); + if (PaginationPsts.MoreThanOnePage) + Pag_WriteLinksToPagesCentered (Pag_POSTS_FORUM,ThrCod,&PaginationPsts); /***** Start table *****/ fprintf (Gbl.F.Out,""); /***** Show posts from this page, the author and the date of last reply *****/ - mysql_data_seek (mysql_res,(my_ulonglong) (Pagination.FirstItemVisible - 1)); - for (NumRow = Pagination.FirstItemVisible; - NumRow <= Pagination.LastItemVisible; + mysql_data_seek (mysql_res,(my_ulonglong) (PaginationPsts.FirstItemVisible - 1)); + for (NumRow = PaginationPsts.FirstItemVisible; + NumRow <= PaginationPsts.LastItemVisible; NumRow++) { row = mysql_fetch_row (mysql_res); @@ -1069,7 +1070,7 @@ static void For_ShowThreadPosts (long ThrCod) NumPst = (unsigned) NumRow; NewPst = (CreatTimeUTC > ReadTimeUTC); - if (NewPst && NumRow == Pagination.LastItemVisible) + if (NewPst && NumRow == PaginationPsts.LastItemVisible) /* Update forum_thr_read table indicating that this thread page and previous ones have been read and have no new posts for the current user (even if any previous pages have been no read actually) */ @@ -1102,8 +1103,8 @@ static void For_ShowThreadPosts (long ThrCod) fprintf (Gbl.F.Out,"
"); /***** Write again links to pages *****/ - if (Pagination.MoreThanOnePage) - Pag_WriteLinksToPagesCentered (Pag_POSTS_FORUM,ThrCod,&Pagination); + if (PaginationPsts.MoreThanOnePage) + Pag_WriteLinksToPagesCentered (Pag_POSTS_FORUM,ThrCod,&PaginationPsts); } /***** Free structure that stores the query result *****/ @@ -1150,7 +1151,7 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst bool LastPst,char LastSubject[Cns_MAX_BYTES_SUBJECT + 1], bool NewPst,bool ICanModerateForum) { - extern const char *Txt_unread_MESSAGE; + extern const char *Txt_MSG_New; extern const char *Txt_MSG_Open; extern const char *Txt_no_subject; extern const char *Txt_Post_X_allowed; @@ -1197,9 +1198,9 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst Gbl.Prefs.IconsURL, NewPst ? "msg-unread" : "msg-open", - NewPst ? Txt_unread_MESSAGE : + NewPst ? Txt_MSG_New : Txt_MSG_Open, - NewPst ? Txt_unread_MESSAGE : + NewPst ? Txt_MSG_New : Txt_MSG_Open); /***** Write post number *****/ @@ -1232,7 +1233,7 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst // Post can be removed if post is the last (without answers) and it's mine { Act_FormStart (For_ActionsDelPstFor[Gbl.Forum.Type]); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_POSTS_FORUM,Gbl.Forum.CurrentPagePsts); For_PutHiddenParamPstCod (PstCod); For_PutAllHiddenParamsForum (); For_PutHiddenParamThrCod (Thr->ThrCod); @@ -1247,7 +1248,7 @@ static void For_ShowAForumPost (struct ForumThread *Thr,unsigned PstNum,long Pst { Act_FormStart (Enabled ? For_ActionsDisPstFor[Gbl.Forum.Type] : For_ActionsEnbPstFor[Gbl.Forum.Type]); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_POSTS_FORUM,Gbl.Forum.CurrentPagePsts); For_PutHiddenParamPstCod (PstCod); For_PutAllHiddenParamsForum (); For_PutHiddenParamThrCod (Thr->ThrCod); @@ -2355,7 +2356,7 @@ static void For_WriteLinkToForum (For_ForumType_t ForumType,long Cod, else { Act_FormStart (For_ActionsPasThrFor[ForumType]); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,Gbl.Forum.CurrentPageThrs); For_PutAllHiddenParamsForum (); For_PutHiddenParamThrCod (Gbl.Forum.ThreadToMove); fprintf (Gbl.F.Out,""); Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], For_ID_FORUM_POSTS_SECTION); - Pag_PutHiddenParamPagNum (PaginationThrs.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,PaginationThrs.CurrentPage); For_PutParamWhichForum (); For_PutParamsForumInsDegCrs (); Par_PutHiddenParamUnsigned ("Order",(unsigned) Order); @@ -3442,7 +3443,8 @@ unsigned For_GetNumPstsInForum (For_ForumType_t ForumType) /************************ List the threads of a forum ************************/ /*****************************************************************************/ -void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *PaginationThrs) +void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE], + struct Pagination *PaginationThrs) { extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *The_ClassFormBold[The_NUM_THEMES]; @@ -3540,7 +3542,7 @@ void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *Pagi /* Put button to cut the thread for moving it to another forum */ fprintf (Gbl.F.Out,"
"); Act_FormStart (For_ActionsCutThrFor[Gbl.Forum.Type]); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,Gbl.Forum.CurrentPageThrs); For_PutAllHiddenParamsForum (); For_PutHiddenParamThrCod (Thr.ThrCod); fprintf (Gbl.F.Out,"" "" "" "" "", @@ -3901,11 +3904,12 @@ static void For_WriteFormForumPst (bool IsReply,long ThrCod,const char *Subject) /* Content */ fprintf (Gbl.F.Out,"" "" - "" + "" "" "" "" "" "", @@ -3966,7 +3970,7 @@ void For_RecForumPst (void) } /***** Get page number *****/ - Pag_GetParamPagNum (Pag_POSTS_FORUM); + Gbl.Forum.CurrentPagePsts = Pag_GetParamPagNum (Pag_POSTS_FORUM); /***** Get message subject *****/ Par_GetParToHTML ("Subject",Gbl.Msg.Subject,Cns_MAX_BYTES_SUBJECT); diff --git a/swad_forum.h b/swad_forum.h index d0b8168b..cc3e469f 100644 --- a/swad_forum.h +++ b/swad_forum.h @@ -127,7 +127,8 @@ unsigned For_GetNumTotalPstsInForumsOfType (For_ForumType_t ForumType, long CtyCod,long InsCod,long CtrCod,long DegCod,long CrsCod, unsigned *NumUsrsToBeNotifiedByEMail); unsigned For_GetNumPstsInForum (For_ForumType_t ForumType); -void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],struct Pagination *PaginationThrs); +void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE], + struct Pagination *PaginationThrs); void For_GetThrData (struct ForumThread *Thr); void For_ShowThrPsts (void); void For_PutHiddenParamThrCod (long ThrCod); diff --git a/swad_global.c b/swad_global.c index 0415dbe1..38b9e2d6 100644 --- a/swad_global.c +++ b/swad_global.c @@ -205,8 +205,6 @@ void Gbl_InitializeGlobals (void) Gbl.Msg.ShowOnlyUnreadMsgs = false; Gbl.Msg.ExpandedMsgCod = -1L; - Gbl.Pag.CurrentPage = 1; // By default, go to the first page - Gbl.CurrentCty.Cty.CtyCod = -1L; Gbl.CurrentIns.Ins.InsCod = -1L; // Unknown institution @@ -413,6 +411,8 @@ void Gbl_InitializeGlobals (void) Gbl.Forum.Cod = -1L; Gbl.Forum.SelectedOrder = For_DEFAULT_ORDER; Gbl.Forum.ThreadToMove = -1L; + // Gbl.Forum.CurrentPageThrs = 1; // TODO: Remove this line + // Gbl.Forum.CurrentPagePsts = 1; // TODO: Remove this line /* User nickname */ Gbl.Usrs.Me.UsrDat.Nickname[0] = '\0'; diff --git a/swad_global.h b/swad_global.h index b6fca989..171fe8e5 100644 --- a/swad_global.h +++ b/swad_global.h @@ -419,6 +419,7 @@ struct Globals unsigned HiddenVisiblEvents; Agd_Order_t SelectedOrder; long AgdCodToEdit; // Used as parameter in contextual links + unsigned CurrentPage; } Agenda; struct { @@ -555,11 +556,12 @@ struct Globals } FileBrowser; // Struct used for a file browser struct { - bool LstIsRead; // Is the list already read from database, or it needs to be read? - unsigned Num; // Number of assignments - long *LstAsgCods; // List of assigment codes + bool LstIsRead; // Is the list already read from database, or it needs to be read? + unsigned Num; // Number of assignments + long *LstAsgCods; // List of assigment codes Dat_StartEndTime_t SelectedOrder; long AsgCodToEdit; // Used as parameter in contextual links + unsigned CurrentPage; } Asgs; struct { @@ -571,6 +573,7 @@ struct Globals bool ShowDetails; char *StrAttCodsSelected; long AttCodToEdit; // Used as parameter in contextual links + unsigned CurrentPage; } AttEvents; struct { @@ -589,6 +592,8 @@ struct Globals For_Order_t SelectedOrder; char PathRelOld[PATH_MAX + 1]; long ThreadToMove; + unsigned CurrentPageThrs; + unsigned CurrentPagePsts; } Forum; struct { @@ -620,11 +625,8 @@ struct Globals bool ShowOnlyOneRecipient; // Shown only a selected recipient or also other potential recipients? char FileNameMail[PATH_MAX + 1]; FILE *FileMail; - } Msg; - struct - { unsigned CurrentPage; - } Pag; + } Msg; struct { TT_TimeTableType_t Type; @@ -704,6 +706,7 @@ struct Globals Svy_Order_t SelectedOrder; long SvyCodToEdit; // Used as parameter in contextual links long SvyQstCodToEdit; // Used as parameter in contextual links + unsigned CurrentPage; } Svys; struct { diff --git a/swad_message.c b/swad_message.c index ba21d761..08a680c6 100644 --- a/swad_message.c +++ b/swad_message.c @@ -66,6 +66,12 @@ extern struct Globals Gbl; #define Msg_IMAGE_SAVED_MAX_HEIGHT 512 #define Msg_IMAGE_SAVED_QUALITY 75 // 1 to 100 +static const Pag_WhatPaginate_t Msg_WhatPaginate[Msg_NUM_TYPES_OF_MSGS] = + { + Pag_MESSAGES_RECEIVED, // Msg_MESSAGES_RECEIVED + Pag_MESSAGES_SENT // Msg_MESSAGES_SENT + }; + /*****************************************************************************/ /******************************** Private types ******************************/ /*****************************************************************************/ @@ -1708,7 +1714,7 @@ static void Msg_ShowSentOrReceivedMessages (void) }; /***** Get the page number *****/ - Pag_GetParamPagNum (WhatPaginate[Gbl.Msg.TypeOfMessages]); + Gbl.Msg.CurrentPage = Pag_GetParamPagNum (WhatPaginate[Gbl.Msg.TypeOfMessages]); /***** Get other parameters *****/ Msg_GetParamMsgsCrsCod (); @@ -1784,7 +1790,7 @@ static void Msg_ShowSentOrReceivedMessages (void) if (MsgCod == Gbl.Msg.ExpandedMsgCod) // Expanded message found { - Gbl.Pag.CurrentPage = (unsigned) (NumRow / Pag_ITEMS_PER_PAGE) + 1; + Gbl.Msg.CurrentPage = (unsigned) (NumRow / Pag_ITEMS_PER_PAGE) + 1; break; } } @@ -1792,13 +1798,13 @@ static void Msg_ShowSentOrReceivedMessages (void) /***** Compute variables related to pagination *****/ Pagination.NumItems = Gbl.Msg.NumMsgs; - Pagination.CurrentPage = (int) Gbl.Pag.CurrentPage; + Pagination.CurrentPage = (int) Gbl.Msg.CurrentPage; Pag_CalculatePagination (&Pagination); - Gbl.Pag.CurrentPage = (unsigned) Pagination.CurrentPage; + Gbl.Msg.CurrentPage = (unsigned) Pagination.CurrentPage; /***** Save my current page in order to show it next time I'll view my received/sent messages *****/ Pag_SaveLastPageMsgIntoSession (WhatPaginate[Gbl.Msg.TypeOfMessages], - Gbl.Pag.CurrentPage); + Gbl.Msg.CurrentPage); /***** Write links to pages *****/ if (Pagination.MoreThanOnePage) @@ -3089,7 +3095,8 @@ static void Msg_WriteSentOrReceivedMsgSubject (long MsgCod,const char *Subject,b (Expanded ? ActConSntMsg : ActExpSntMsg)); Msg_PutHiddenParamsMsgsFilters (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Msg_WhatPaginate[Gbl.Msg.TypeOfMessages], + Gbl.Msg.CurrentPage); Msg_PutHiddenParamMsgCod (MsgCod); Act_LinkFormSubmit (Expanded ? Txt_Hide_message : Txt_See_message, @@ -3483,7 +3490,8 @@ static void Msg_WriteMsgTo (long MsgCod) ""); Act_FormStart (ActionSee[Gbl.Msg.TypeOfMessages]); Msg_PutHiddenParamsMsgsFilters (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Msg_WhatPaginate[Gbl.Msg.TypeOfMessages], + Gbl.Msg.CurrentPage); Msg_PutHiddenParamMsgCod (MsgCod); Par_PutHiddenParamChar ("SeeAllRcpts",'Y'); Act_LinkFormSubmit (Txt_View_all_recipients,"AUTHOR_TXT",NULL); @@ -3547,7 +3555,8 @@ static void Msg_PutFormToDeleteMessage (long MsgCod) }; Act_FormStart (ActionDel[Gbl.Msg.TypeOfMessages]); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Msg_WhatPaginate[Gbl.Msg.TypeOfMessages], + Gbl.Msg.CurrentPage); Msg_PutHiddenParamMsgCod (MsgCod); Msg_PutHiddenParamsMsgsFilters (); Lay_PutIconRemove (); @@ -3599,7 +3608,8 @@ static void Msg_PutFormToBanSender (struct UsrData *UsrDat) extern const char *Txt_Sender_permitted_click_to_ban_him; Act_FormStart (ActBanUsrMsg); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Msg_WhatPaginate[Gbl.Msg.TypeOfMessages], + Gbl.Msg.CurrentPage); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Msg_PutHiddenParamsMsgsFilters (); fprintf (Gbl.F.Out,"EncryptedUsrCod); Msg_PutHiddenParamsMsgsFilters (); fprintf (Gbl.F.Out,"Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_ATT_EVENTS: Act_FormStartAnchor (ActSeeAtt,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MESSAGES_RECEIVED: - Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); - Msg_PutHiddenParamsMsgsFilters (); - break; - case Pag_MESSAGES_SENT: - Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); - Msg_PutHiddenParamsMsgsFilters (); - break; case Pag_THREADS_FORUM: Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); For_PutAllHiddenParamsForum (); break; case Pag_POSTS_FORUM: Act_FormStartAnchor (For_ActionsSeePstFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); For_PutHiddenParamThrCod (ThrCod); For_PutAllHiddenParamsForum (); break; + case Pag_MESSAGES_RECEIVED: + Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,1); + Msg_PutHiddenParamsMsgsFilters (); + break; + case Pag_MESSAGES_SENT: + Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,1); + Msg_PutHiddenParamsMsgsFilters (); + break; case Pag_SURVEYS: Act_FormStartAnchor (ActSeeAllSvy,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_MY_AGENDA: Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - 1); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + 1, + -1L); break; case Pag_ANOTHER_AGENDA: Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); Agd_PutHiddenParamEventsOrder (); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Usr_PutParamOtherUsrCodEncrypted (); break; } @@ -224,58 +236,57 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P { case Pag_ASSIGNMENTS: Act_FormStartAnchor (ActSeeAsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_ATT_EVENTS: Act_FormStartAnchor (ActSeeAtt,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MESSAGES_RECEIVED: - Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); - Msg_PutHiddenParamsMsgsFilters (); - break; - case Pag_MESSAGES_SENT: - Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); - Msg_PutHiddenParamsMsgsFilters (); - break; case Pag_THREADS_FORUM: Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); For_PutAllHiddenParamsForum (); break; case Pag_POSTS_FORUM: Act_FormStartAnchor (For_ActionsSeePstFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); For_PutHiddenParamThrCod (ThrCod); For_PutAllHiddenParamsForum (); break; + case Pag_MESSAGES_RECEIVED: + Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,1); + Msg_PutHiddenParamsMsgsFilters (); + break; + case Pag_MESSAGES_SENT: + Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,1); + Msg_PutHiddenParamsMsgsFilters (); + break; case Pag_SURVEYS: Act_FormStartAnchor (ActSeeAllSvy,Pagination->Anchor); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_MY_AGENDA: Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - 1); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + 1, + -1L); break; case Pag_ANOTHER_AGENDA: Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); Agd_PutHiddenParamEventsOrder (); - Pag_PutHiddenParamPagNum (1); + Pag_PutHiddenParamPagNum (WhatPaginate,1); Usr_PutParamOtherUsrCodEncrypted (); break; } @@ -301,58 +312,57 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P { case Pag_ASSIGNMENTS: Act_FormStartAnchor (ActSeeAsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_ATT_EVENTS: Act_FormStartAnchor (ActSeeAtt,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MESSAGES_RECEIVED: - Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); - Msg_PutHiddenParamsMsgsFilters (); - break; - case Pag_MESSAGES_SENT: - Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); - Msg_PutHiddenParamsMsgsFilters (); - break; case Pag_THREADS_FORUM: Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); For_PutAllHiddenParamsForum (); break; case Pag_POSTS_FORUM: Act_FormStartAnchor (For_ActionsSeePstFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); For_PutHiddenParamThrCod (ThrCod); For_PutAllHiddenParamsForum (); break; + case Pag_MESSAGES_RECEIVED: + Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); + Msg_PutHiddenParamsMsgsFilters (); + break; + case Pag_MESSAGES_SENT: + Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); + Msg_PutHiddenParamsMsgsFilters (); + break; case Pag_SURVEYS: Act_FormStartAnchor (ActSeeAllSvy,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_MY_AGENDA: Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - Pagination->LeftPage); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + Pagination->LeftPage, + -1L); break; case Pag_ANOTHER_AGENDA: Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); Agd_PutHiddenParamEventsOrder (); - Pag_PutHiddenParamPagNum (Pagination->LeftPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage); Usr_PutParamOtherUsrCodEncrypted (); break; } @@ -385,66 +395,65 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P { case Pag_ASSIGNMENTS: Act_FormStartAnchor (ActSeeAsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_ATT_EVENTS: Act_FormStartAnchor (ActSeeAtt,Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MESSAGES_RECEIVED: - Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); - Msg_PutHiddenParamsMsgsFilters (); - break; - case Pag_MESSAGES_SENT: - Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); - Msg_PutHiddenParamsMsgsFilters (); - break; case Pag_THREADS_FORUM: Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); For_PutAllHiddenParamsForum (); break; case Pag_POSTS_FORUM: Act_FormStartAnchor (For_ActionsSeePstFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); For_PutHiddenParamThrCod (ThrCod); For_PutAllHiddenParamsForum (); break; + case Pag_MESSAGES_RECEIVED: + Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); + Msg_PutHiddenParamsMsgsFilters (); + break; + case Pag_MESSAGES_SENT: + Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); + Msg_PutHiddenParamsMsgsFilters (); + break; case Pag_SURVEYS: Act_FormStartAnchor (ActSeeAllSvy,Pagination->Anchor); - Pag_PutHiddenParamPagNum (NumPage); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MY_AGENDA: - Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - NumPage); - break; - case Pag_ANOTHER_AGENDA: - Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); - Agd_PutHiddenParamEventsOrder (); - Pag_PutHiddenParamPagNum (NumPage); - Usr_PutParamOtherUsrCodEncrypted (); - break; + case Pag_MY_AGENDA: + Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + NumPage, + -1L); + break; + case Pag_ANOTHER_AGENDA: + Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); + Agd_PutHiddenParamEventsOrder (); + Pag_PutHiddenParamPagNum (WhatPaginate,NumPage); + Usr_PutParamOtherUsrCodEncrypted (); + break; } sprintf (Gbl.Title,Txt_See_page_X_of_Y, (unsigned) NumPage,(unsigned) Pagination->NumPags); Act_LinkFormSubmit (Gbl.Title,Font,NULL); fprintf (Gbl.F.Out,"%u", - (unsigned) NumPage); + (unsigned) NumPage); Act_FormEnd (); } fprintf (Gbl.F.Out,""); @@ -465,58 +474,57 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P { case Pag_ASSIGNMENTS: Act_FormStartAnchor (ActSeeAsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_ATT_EVENTS: Act_FormStartAnchor (ActSeeAtt,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MESSAGES_RECEIVED: - Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); - Msg_PutHiddenParamsMsgsFilters (); - break; - case Pag_MESSAGES_SENT: - Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); - Msg_PutHiddenParamsMsgsFilters (); - break; case Pag_THREADS_FORUM: Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); For_PutAllHiddenParamsForum (); break; case Pag_POSTS_FORUM: Act_FormStartAnchor (For_ActionsSeePstFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); For_PutHiddenParamThrCod (ThrCod); For_PutAllHiddenParamsForum (); break; + case Pag_MESSAGES_RECEIVED: + Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); + Msg_PutHiddenParamsMsgsFilters (); + break; + case Pag_MESSAGES_SENT: + Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); + Msg_PutHiddenParamsMsgsFilters (); + break; case Pag_SURVEYS: Act_FormStartAnchor (ActSeeAllSvy,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->RightPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_MY_AGENDA: Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - Pagination->RightPage); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + Pagination->RightPage, + -1L); break; case Pag_ANOTHER_AGENDA: Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); Agd_PutHiddenParamEventsOrder (); - Pag_PutHiddenParamPagNum (Pagination->RightPage); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage); Usr_PutParamOtherUsrCodEncrypted (); break; } @@ -542,58 +550,57 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P { case Pag_ASSIGNMENTS: Act_FormStartAnchor (ActSeeAsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_ATT_EVENTS: Act_FormStartAnchor (ActSeeAtt,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); break; - case Pag_MESSAGES_RECEIVED: - Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); - Msg_PutHiddenParamsMsgsFilters (); - break; - case Pag_MESSAGES_SENT: - Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); - Msg_PutHiddenParamsMsgsFilters (); - break; case Pag_THREADS_FORUM: Act_FormStartAnchor (For_ActionsSeeFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); For_PutAllHiddenParamsForum (); break; case Pag_POSTS_FORUM: Act_FormStartAnchor (For_ActionsSeePstFor[Gbl.Forum.Type], Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); For_PutHiddenParamThrCod (ThrCod); For_PutAllHiddenParamsForum (); break; + case Pag_MESSAGES_RECEIVED: + Act_FormStartAnchor (ActSeeRcvMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); + Msg_PutHiddenParamsMsgsFilters (); + break; + case Pag_MESSAGES_SENT: + Act_FormStartAnchor (ActSeeSntMsg,Pagination->Anchor); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); + Msg_PutHiddenParamsMsgsFilters (); + break; case Pag_SURVEYS: Act_FormStartAnchor (ActSeeAllSvy,Pagination->Anchor); - Pag_PutHiddenParamPagNum (Pagination->NumPags); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Asg_PutHiddenParamAsgOrder (); Grp_PutParamWhichGrps (); break; case Pag_MY_AGENDA: Act_FormStartAnchor (ActSeeMyAgd,Pagination->Anchor); - Agd_PutParams (Gbl.Agenda.Past__FutureEvents, - Gbl.Agenda.PrivatPublicEvents, - Gbl.Agenda.HiddenVisiblEvents, - Gbl.Agenda.SelectedOrder, - -1L, - Pagination->NumPags); + Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents, + Gbl.Agenda.PrivatPublicEvents, + Gbl.Agenda.HiddenVisiblEvents, + Pagination->NumPags, + -1L); break; case Pag_ANOTHER_AGENDA: Act_FormStartAnchor (ActSeeUsrAgd,Pagination->Anchor); Agd_PutHiddenParamEventsOrder (); - Pag_PutHiddenParamPagNum (Pagination->NumPags); + Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags); Usr_PutParamOtherUsrCodEncrypted (); break; } @@ -613,51 +620,49 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct P /******************* Put hidden parameter number of page *********************/ /*****************************************************************************/ -void Pag_PutHiddenParamPagNum (unsigned NumPage) +void Pag_PutHiddenParamPagNum (Pag_WhatPaginate_t WhatPaginate,unsigned NumPage) { - Par_PutHiddenParamUnsigned ("NumPage",NumPage); + Par_PutHiddenParamUnsigned (Pag_ParamNumPag[WhatPaginate],NumPage); } /*****************************************************************************/ /************************ Get parameter number of page ***********************/ /*****************************************************************************/ -void Pag_GetParamPagNum (Pag_WhatPaginate_t WhatPaginate) +unsigned Pag_GetParamPagNum (Pag_WhatPaginate_t WhatPaginate) { - static bool FirstCall = true; + unsigned CurrentPage; - if (FirstCall) - { - FirstCall = false; + /***** Try to get parameter with the number of page *****/ + CurrentPage = (unsigned) Par_GetParToUnsignedLong (Pag_ParamNumPag[WhatPaginate], + 1, + UINT_MAX, + 0); + if (CurrentPage == 0) + /***** If there's no parameter page, return a default value *****/ + switch (WhatPaginate) + { + case Pag_MESSAGES_RECEIVED: + if (Gbl.Action.Act == ActExpRcvMsg) + /* Expanding a message, perhaps it is the result of following a link + from a notification of received message */ + /* Show the page corresponding to the expanded message */ + CurrentPage = 1; // Now set the current page to the first, + // but later the correct page will be calculated + else + /* Show the last visited page */ + CurrentPage = Pag_GetLastPageMsgFromSession (Pag_MESSAGES_RECEIVED); + break; + case Pag_MESSAGES_SENT: + /* Show the last visited page */ + CurrentPage = Pag_GetLastPageMsgFromSession (Pag_MESSAGES_SENT); + break; + default: + CurrentPage = 1; + break; + } - /***** Try to get parameter with the number of page *****/ - Gbl.Pag.CurrentPage = (unsigned) - Par_GetParToUnsignedLong ("NumPage", - 1, - UINT_MAX, - 0); - if (Gbl.Pag.CurrentPage == 0) - /***** If there's no parameter page, return a default value *****/ - switch (WhatPaginate) - { - case Pag_MESSAGES_RECEIVED: - if (Gbl.Action.Act == ActExpRcvMsg) // Expanding a message, perhaps it is the result of following a link - // from a notification of received message - // Show the page corresponding to the expanded message - Gbl.Pag.CurrentPage = 1; // Now set the current page to the first, but later the correct page will be calculated - else - // Show the last visited page - Gbl.Pag.CurrentPage = Pag_GetLastPageMsgFromSession (Pag_MESSAGES_RECEIVED); - break; - case Pag_MESSAGES_SENT: - // Show the last visited page - Gbl.Pag.CurrentPage = Pag_GetLastPageMsgFromSession (Pag_MESSAGES_SENT); - break; - default: - Gbl.Pag.CurrentPage = 1; - break; - } - } + return CurrentPage; } /*****************************************************************************/ diff --git a/swad_pagination.h b/swad_pagination.h index f118fe6a..69d6c379 100644 --- a/swad_pagination.h +++ b/swad_pagination.h @@ -37,17 +37,18 @@ /******************************** Public types *******************************/ /*****************************************************************************/ +#define Pag_NUM_WHAT_PAGINATE 9 typedef enum { - Pag_ASSIGNMENTS, - Pag_ATT_EVENTS, - Pag_MESSAGES_RECEIVED, - Pag_MESSAGES_SENT, - Pag_THREADS_FORUM, - Pag_POSTS_FORUM, - Pag_SURVEYS, - Pag_MY_AGENDA, - Pag_ANOTHER_AGENDA, + Pag_ASSIGNMENTS = 0, + Pag_ATT_EVENTS = 1, + Pag_THREADS_FORUM = 2, + Pag_POSTS_FORUM = 3, + Pag_MESSAGES_RECEIVED = 4, + Pag_MESSAGES_SENT = 5, + Pag_SURVEYS = 6, + Pag_MY_AGENDA = 7, + Pag_ANOTHER_AGENDA = 8, } Pag_WhatPaginate_t; struct Pagination // Used for threads and messages pagination @@ -73,8 +74,8 @@ void Pag_CalculatePagination (struct Pagination *Pagination); void Pag_WriteLinksToPagesCentered (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct Pagination *Pagination); void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,long ThrCod,struct Pagination *Pagination, bool FirstMsgEnabled,const char *Subject,const char *Font,bool LinkToPagCurrent); -void Pag_PutHiddenParamPagNum (unsigned NumPage); -void Pag_GetParamPagNum (Pag_WhatPaginate_t WhatPaginate); +void Pag_PutHiddenParamPagNum (Pag_WhatPaginate_t WhatPaginate,unsigned NumPage); +unsigned Pag_GetParamPagNum (Pag_WhatPaginate_t WhatPaginate); void Pag_SaveLastPageMsgIntoSession (Pag_WhatPaginate_t WhatPaginate,unsigned NumPage); unsigned Pag_GetLastPageMsgFromSession (Pag_WhatPaginate_t WhatPaginate); diff --git a/swad_survey.c b/swad_survey.c index 3d208861..3576acb6 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -169,7 +169,7 @@ void Svy_SeeAllSurveys (void) /***** Get parameters *****/ Svy_GetParamSvyOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_SURVEYS); + Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS); /***** Show all the surveys *****/ Svy_ListAllSurveys (&SvyQst); @@ -201,9 +201,9 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst) /***** Compute variables related to pagination *****/ Pagination.NumItems = Gbl.Svys.Num; - Pagination.CurrentPage = (int) Gbl.Pag.CurrentPage; + Pagination.CurrentPage = (int) Gbl.Svys.CurrentPage; Pag_CalculatePagination (&Pagination); - Gbl.Pag.CurrentPage = (unsigned) Pagination.CurrentPage; + Gbl.Svys.CurrentPage = (unsigned) Pagination.CurrentPage; /***** Write links to pages *****/ if (Pagination.MoreThanOnePage) @@ -231,7 +231,7 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst) /* Form to change order */ Act_FormStart (ActSeeAllSvy); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); Par_PutHiddenParamUnsigned ("Order",(unsigned) Order); Act_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); if (Order == Gbl.Svys.SelectedOrder) @@ -356,7 +356,7 @@ static void Svy_PutParamsToCreateNewSvy (void) { Svy_PutHiddenParamSvyOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); } /*****************************************************************************/ @@ -373,7 +373,7 @@ static void Svy_PutFormToSelectWhichGroupsToShow (void) static void Svy_ParamsWhichGroupsToShow (void) { Svy_PutHiddenParamSvyOrder (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); } /*****************************************************************************/ @@ -388,7 +388,7 @@ void Svy_SeeOneSurvey (void) /***** Get parameters *****/ Svy_GetParamSvyOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_SURVEYS); + Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS); /***** Get survey code *****/ if ((Svy.SvyCod = Svy_GetParamSvyCod ()) == -1L) @@ -483,7 +483,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst, Svy_PutParamSvyCod (SvyCod); Svy_PutHiddenParamSvyOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); Act_LinkFormSubmit (Txt_View_survey, Svy.Status.Visible ? "ASG_TITLE" : "ASG_TITLE_LIGHT",NULL); @@ -519,7 +519,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst, Svy_PutParamSvyCod (Svy.SvyCod); Svy_PutHiddenParamSvyOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); Lay_PutCreateButtonInline (Txt_Answer_survey); Act_FormEnd (); @@ -534,7 +534,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst, Svy_PutParamSvyCod (Svy.SvyCod); Svy_PutHiddenParamSvyOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); Lay_PutConfirmButtonInline (Txt_View_survey_results); Act_FormEnd (); @@ -830,7 +830,7 @@ static void Svy_PutParams (void) Svy_PutParamSvyCod (Gbl.Svys.SvyCodToEdit); Att_PutHiddenParamAttOrder (); Grp_PutParamWhichGrps (); - Pag_PutHiddenParamPagNum (Gbl.Pag.CurrentPage); + Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage); } /*****************************************************************************/ @@ -1475,7 +1475,7 @@ void Svy_AskRemSurvey (void) /***** Get parameters *****/ Svy_GetParamSvyOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_SURVEYS); + Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS); /***** Get survey code *****/ if ((Svy.SvyCod = Svy_GetParamSvyCod ()) == -1L) @@ -1573,7 +1573,7 @@ void Svy_AskResetSurvey (void) /***** Get parameters *****/ Svy_GetParamSvyOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_SURVEYS); + Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS); /***** Get survey code *****/ if ((Svy.SvyCod = Svy_GetParamSvyCod ()) == -1L) @@ -1763,7 +1763,7 @@ void Svy_RequestCreatOrEditSvy (void) /***** Get parameters *****/ Svy_GetParamSvyOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_SURVEYS); + Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS); /***** Get the code of the survey *****/ ItsANewSurvey = ((Svy.SvyCod = Svy_GetParamSvyCod ()) == -1L); @@ -2560,7 +2560,7 @@ void Svy_RequestEditQuestion (void) /***** Get other parameters *****/ Svy_GetParamSvyOrder (); Grp_GetParamWhichGrps (); - Pag_GetParamPagNum (Pag_SURVEYS); + Gbl.Svys.CurrentPage = Pag_GetParamPagNum (Pag_SURVEYS); /***** Show form to create a new question in this survey *****/ Svy_ShowFormEditOneQst (SvyCod,&SvyQst,Txt);