From d0116b745e68f12cfa1c9fe0eb4649d8166fbc79 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Fri, 27 Nov 2015 12:57:56 +0100 Subject: [PATCH] Version 15.47 --- sql/swad.sql | 3 - swad_account.c | 5 +- swad_action.c | 4 +- swad_action.h | 71 +++++---- swad_changelog.h | 8 +- swad_config.h | 3 - swad_course.c | 9 +- swad_database.c | 10 +- swad_enrollment.c | 3 +- swad_global.c | 1 - swad_global.h | 1 - swad_layout.c | 362 ++++++++++------------------------------------ swad_layout.h | 15 -- swad_menu.c | 65 --------- swad_menu.h | 1 - swad_parameter.c | 17 +-- swad_preference.c | 131 +++-------------- swad_preference.h | 2 - swad_role.c | 8 +- swad_statistic.c | 143 +----------------- swad_statistic.h | 3 +- swad_tab.c | 74 ---------- swad_tab.h | 1 - swad_text.c | 84 ----------- swad_theme.c | 1 - swad_user.c | 76 ++++------ swad_user.h | 1 - 27 files changed, 185 insertions(+), 917 deletions(-) diff --git a/sql/swad.sql b/sql/swad.sql index b13e0ea88..75f2f2af4 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -8,7 +8,6 @@ CREATE TABLE IF NOT EXISTS IP_prefs ( UsrCod INT NOT NULL DEFAULT -1, LastChange DATETIME NOT NULL, FirstDayOfWeek TINYINT NOT NULL DEFAULT 0, - Layout TINYINT NOT NULL DEFAULT 0, Theme CHAR(16) NOT NULL, IconSet CHAR(16) NOT NULL, Menu TINYINT NOT NULL DEFAULT 0, @@ -1125,7 +1124,6 @@ CREATE TABLE IF NOT EXISTS usr_data ( Surname2 VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL, FirstName VARCHAR(32) COLLATE latin1_spanish_ci NOT NULL, Sex ENUM ('unknown','female','male') NOT NULL DEFAULT 'unknown', - Layout TINYINT NOT NULL DEFAULT 0, Theme CHAR(16) NOT NULL, IconSet CHAR(16) NOT NULL, Language CHAR(2) NOT NULL, @@ -1153,7 +1151,6 @@ CREATE TABLE IF NOT EXISTS usr_data ( EmailNtfEvents INT NOT NULL DEFAULT 0, PRIMARY KEY(UsrCod), UNIQUE INDEX(EncryptedUsrCod), - INDEX(Layout), INDEX(Theme), INDEX(IconSet), INDEX(Language), diff --git a/swad_account.c b/swad_account.c index f76bfaa63..04df1d304 100644 --- a/swad_account.c +++ b/swad_account.c @@ -434,12 +434,12 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat) /***** Insert new user in database *****/ /* Insert user's data */ sprintf (Query,"INSERT INTO usr_data (EncryptedUsrCod,Password,Surname1,Surname2,FirstName,Sex," - "Layout,Theme,IconSet,Language,FirstDayOfWeek,PhotoVisibility,ProfileVisibility," + "Theme,IconSet,Language,FirstDayOfWeek,PhotoVisibility,ProfileVisibility," "CtyCod," "LocalAddress,LocalPhone,FamilyAddress,FamilyPhone,OriginPlace,Birthday,Comments," "Menu,SideCols,NotifNtfEvents,EmailNtfEvents)" " VALUES ('%s','%s','%s','%s','%s','%s'," - "'%u','%s','%s','%s','%u','%s','%s'," + "'%s','%s','%s','%u','%s','%s'," "'%ld'," "'%s','%s','%s','%s','%s','%04u-%02u-%02u','%s'," "'%u','%u','-1','0')", @@ -447,7 +447,6 @@ void Acc_CreateNewUsr (struct UsrData *UsrDat) UsrDat->Password, UsrDat->Surname1,UsrDat->Surname2,UsrDat->FirstName, Usr_StringsSexDB[UsrDat->Sex], - (unsigned) UsrDat->Prefs.Layout, The_ThemeId[UsrDat->Prefs.Theme], Ico_IconSetId[UsrDat->Prefs.IconSet], Txt_STR_LANG_ID[UsrDat->Prefs.Language], diff --git a/swad_action.c b/swad_action.c index b7697d452..5f74d3d82 100644 --- a/swad_action.c +++ b/swad_action.c @@ -1270,7 +1270,6 @@ Profile: 1075. ActReqEdiMyNet Request the edition of my social networks 1076. ActChgMyNet Change my web and social networks - 1077. ActChgLay Change layout 1078. ActChgThe Change theme 1079. ActReqChgLan Ask if change language 1080. ActChgLan Change language @@ -2753,7 +2752,6 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] = /* ActReqEdiMyNet */{1172,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Net_ShowFormMyWebsAndSocialNets,NULL}, /* ActChgMyNet */{1173,-1,TabPrf,ActReqEdiRecCom ,0x1FE,0x1FE,0x1FE,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Net_UpdateMyWebsAndSocialNets ,NULL}, - /* ActChgLay */{ 672,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Lay_ChangeLayout ,Pre_EditPrefs ,NULL}, /* ActChgThe */{ 841,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,The_ChangeTheme ,Pre_EditPrefs ,NULL}, /* ActReqChgLan */{ 992,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,NULL ,Pre_AskChangeLanguage ,NULL}, /* ActChgLan */{ 654,-1,TabPrf,ActEdiPrf ,0x1FF,0x1FF,0x1FF,Act_CONTENT_NORM,Act_MAIN_WINDOW,Pre_ChangeLanguage ,Pre_EditPrefs ,NULL}, @@ -3467,7 +3465,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq ActHidRgtCol, // #669 ActShoLftCol, // #670 ActShoRgtCol, // #671 - ActChgLay, // #672 + -1, // #672 (obsolete action) ActEdiPrf, // #673 ActChgCol, // #674 ActSeeDpt, // #675 diff --git a/swad_action.h b/swad_action.h index 4cc84e7dc..09b0942c0 100644 --- a/swad_action.h +++ b/swad_action.h @@ -70,7 +70,7 @@ typedef enum typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action -#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+183+154+171+27+80) +#define Act_NUM_ACTIONS (7+52+15+90+73+68+204+183+154+171+27+79) #define Act_MAX_ACTION_COD 1485 @@ -1311,43 +1311,42 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica #define ActReqEdiMyNet (ActSeeAllStaCrs+44) #define ActChgMyNet (ActSeeAllStaCrs+45) -#define ActChgLay (ActSeeAllStaCrs+46) -#define ActChgThe (ActSeeAllStaCrs+47) -#define ActReqChgLan (ActSeeAllStaCrs+48) -#define ActChgLan (ActSeeAllStaCrs+49) -#define ActChg1stDay (ActSeeAllStaCrs+50) -#define ActChgCol (ActSeeAllStaCrs+51) -#define ActHidLftCol (ActSeeAllStaCrs+52) -#define ActHidRgtCol (ActSeeAllStaCrs+53) -#define ActShoLftCol (ActSeeAllStaCrs+54) -#define ActShoRgtCol (ActSeeAllStaCrs+55) -#define ActChgIco (ActSeeAllStaCrs+56) -#define ActChgMnu (ActSeeAllStaCrs+57) -#define ActChgNtfPrf (ActSeeAllStaCrs+58) +#define ActChgThe (ActSeeAllStaCrs+46) +#define ActReqChgLan (ActSeeAllStaCrs+47) +#define ActChgLan (ActSeeAllStaCrs+48) +#define ActChg1stDay (ActSeeAllStaCrs+49) +#define ActChgCol (ActSeeAllStaCrs+50) +#define ActHidLftCol (ActSeeAllStaCrs+51) +#define ActHidRgtCol (ActSeeAllStaCrs+52) +#define ActShoLftCol (ActSeeAllStaCrs+53) +#define ActShoRgtCol (ActSeeAllStaCrs+54) +#define ActChgIco (ActSeeAllStaCrs+55) +#define ActChgMnu (ActSeeAllStaCrs+56) +#define ActChgNtfPrf (ActSeeAllStaCrs+57) -#define ActPrnUsrQR (ActSeeAllStaCrs+59) +#define ActPrnUsrQR (ActSeeAllStaCrs+58) -#define ActPrnMyTimTbl (ActSeeAllStaCrs+60) -#define ActEdiTut (ActSeeAllStaCrs+61) -#define ActChgTut (ActSeeAllStaCrs+62) -#define ActReqRemFilBrf (ActSeeAllStaCrs+63) -#define ActRemFilBrf (ActSeeAllStaCrs+64) -#define ActRemFolBrf (ActSeeAllStaCrs+65) -#define ActCopBrf (ActSeeAllStaCrs+66) -#define ActPasBrf (ActSeeAllStaCrs+67) -#define ActRemTreBrf (ActSeeAllStaCrs+68) -#define ActFrmCreBrf (ActSeeAllStaCrs+69) -#define ActCreFolBrf (ActSeeAllStaCrs+70) -#define ActCreLnkBrf (ActSeeAllStaCrs+71) -#define ActRenFolBrf (ActSeeAllStaCrs+72) -#define ActRcvFilBrfDZ (ActSeeAllStaCrs+73) -#define ActRcvFilBrfCla (ActSeeAllStaCrs+74) -#define ActExpBrf (ActSeeAllStaCrs+75) -#define ActConBrf (ActSeeAllStaCrs+76) -#define ActZIPBrf (ActSeeAllStaCrs+77) -#define ActReqDatBrf (ActSeeAllStaCrs+78) -#define ActChgDatBrf (ActSeeAllStaCrs+79) -#define ActDowBrf (ActSeeAllStaCrs+80) +#define ActPrnMyTimTbl (ActSeeAllStaCrs+59) +#define ActEdiTut (ActSeeAllStaCrs+60) +#define ActChgTut (ActSeeAllStaCrs+61) +#define ActReqRemFilBrf (ActSeeAllStaCrs+62) +#define ActRemFilBrf (ActSeeAllStaCrs+63) +#define ActRemFolBrf (ActSeeAllStaCrs+64) +#define ActCopBrf (ActSeeAllStaCrs+65) +#define ActPasBrf (ActSeeAllStaCrs+66) +#define ActRemTreBrf (ActSeeAllStaCrs+67) +#define ActFrmCreBrf (ActSeeAllStaCrs+68) +#define ActCreFolBrf (ActSeeAllStaCrs+69) +#define ActCreLnkBrf (ActSeeAllStaCrs+70) +#define ActRenFolBrf (ActSeeAllStaCrs+71) +#define ActRcvFilBrfDZ (ActSeeAllStaCrs+72) +#define ActRcvFilBrfCla (ActSeeAllStaCrs+73) +#define ActExpBrf (ActSeeAllStaCrs+74) +#define ActConBrf (ActSeeAllStaCrs+75) +#define ActZIPBrf (ActSeeAllStaCrs+76) +#define ActReqDatBrf (ActSeeAllStaCrs+77) +#define ActChgDatBrf (ActSeeAllStaCrs+78) +#define ActDowBrf (ActSeeAllStaCrs+79) /*****************************************************************************/ /******************************** Public types *******************************/ diff --git a/swad_changelog.h b/swad_changelog.h index de12edcda..59b14328d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -115,11 +115,17 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 15.46.1 (2015/11/27)" +#define Log_PLATFORM_VERSION "SWAD 15.47 (2015/11/27)" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* + Version 15.47: Nov 27, 2015 Mobile layout is removed (only 1.45% of users used it and now it is replaced by responsive design). (187426 lines) + 3 changes necessary in database: +ALTER TABLE IP_prefs DROP COLUMN Layout; +ALTER TABLE usr_data DROP COLUMN Layout; +UPDATE actions SET Obsolete='Y' WHERE ActCod='672'; + Version 15.46.1: Nov 27, 2015 Responsive design in search box (top of the page). (188094 lines) Version 15.46: Nov 27, 2015 First version with responsive design: both side columns are hidden when screen size is small. (188078 lines) Version 15.45.15: Nov 25, 2015 Some CSS styles related to layout are moved to CSS file. (188021 lines) diff --git a/swad_config.h b/swad_config.h index 50a55ebb0..833e86613 100644 --- a/swad_config.h +++ b/swad_config.h @@ -309,9 +309,6 @@ /* Courses */ #define Cfg_MIN_NUM_COURSES_TO_CONFIRM_SHOW_BIG_LIST 500 // If the number of courses in a list is greater than this, ask me for confirmation before showing the list -/* Layout */ -#define Cfg_LAYOUT_MOBILE_NUM_COLUMNS 3 - /* Notifications */ #define Cfg_MAX_CHARS_NOTIF_SUMMARY_SWAD 50 #define Cfg_MAX_CHARS_NOTIF_SUMMARY_WEB_SERVICE 100 diff --git a/swad_course.c b/swad_course.c index 3c0f5d925..1e6f2bfb3 100644 --- a/swad_course.c +++ b/swad_course.c @@ -1130,11 +1130,6 @@ void Crs_FreeListCoursesInDegree (struct Degree *Deg) void Crs_WriteSelectorMyCourses (void) { extern const char *Txt_No_COURSE_SELECTED; - static const unsigned SelectorWidth[Lay_NUM_LAYOUTS] = - { - 175, // Lay_LAYOUT_DESKTOP - 300, // Lay_LAYOUT_MOBILE - }; unsigned NumMyCrs; bool IBelongToCurrentCrs = false; long CrsCod; @@ -1153,9 +1148,9 @@ void Crs_WriteSelectorMyCourses (void) /***** Start of selector of courses *****/ fprintf (Gbl.F.Out,"