From: <sag...@us...> - 2011-05-02 22:06:06
|
Revision: 863 http://modplug.svn.sourceforge.net/modplug/?rev=863&view=rev Author: saga-games Date: 2011-05-02 22:05:59 +0000 (Mon, 02 May 2011) Log Message: ----------- [Mod] GUID can now be sent on update check (currently unused on the server side). This also introduces a change in the update URL format. Modified Paths: -------------- trunk/OpenMPT/mptrack/MainFrm.cpp trunk/OpenMPT/mptrack/UpdateCheck.cpp trunk/OpenMPT/mptrack/UpdateCheck.h trunk/OpenMPT/mptrack/mptrack.rc trunk/OpenMPT/mptrack/version.h Modified: trunk/OpenMPT/mptrack/MainFrm.cpp =================================================================== --- trunk/OpenMPT/mptrack/MainFrm.cpp 2011-05-02 21:13:34 UTC (rev 862) +++ trunk/OpenMPT/mptrack/MainFrm.cpp 2011-05-02 22:05:59 UTC (rev 863) @@ -387,6 +387,17 @@ vIniVersion = MptVersion::ToNum(gcsPreviousVersion); gcsInstallGUID = GetPrivateProfileCString("Version", "InstallGUID", "", iniFile); + if(gcsInstallGUID == "") + { + //No GUID found in INI file - generate one. + GUID guid; + CoCreateGuid(&guid); + BYTE* Str; + UuidToString((UUID*)&guid, &Str); + gcsInstallGUID.Format("%s", (LPTSTR)Str); + RpcStringFree(&Str); + } + gbMdiMaximize = GetPrivateProfileLong("Display", "MDIMaximize", true, iniFile); glTreeWindowWidth = GetPrivateProfileLong("Display", "MDITreeWidth", 160, iniFile); glTreeSplitRatio = GetPrivateProfileLong("Display", "MDITreeRatio", 128, iniFile); @@ -421,6 +432,7 @@ outTime, GetPrivateProfileInt("Update", "UpdateCheckPeriod", CUpdateCheck::GetUpdateCheckPeriod(), iniFile), GetPrivateProfileCString("Update", "UpdateURL", CUpdateCheck::GetUpdateURL(), iniFile), + GetPrivateProfileInt("Update", "SendGUID", CUpdateCheck::GetSendGUID() ? 1 : 0, iniFile) ? true : false, GetPrivateProfileInt("Update", "ShowUpdateHint", CUpdateCheck::GetShowUpdateHint() ? 1 : 0, iniFile) ? true : false ); } @@ -435,7 +447,7 @@ #ifndef NO_DSOUND DWORD defaultDevice = SNDDEV_BUILD_ID(0, SNDDEV_DSOUND); // first DirectSound device #else - DWORD defaultDevice = SNDDEV_BUILD_ID(0, SNDDEV_WAVEOUT); // first DirectSound device + DWORD defaultDevice = SNDDEV_BUILD_ID(0, SNDDEV_WAVEOUT); // first WaveOut device #endif // NO_DSOUND #ifndef NO_ASIO // If there's an ASIO device available, prefer it over DirectSound @@ -1026,6 +1038,7 @@ WritePrivateProfileString("Update", "LastUpdateCheck", outDate, iniFile); WritePrivateProfileLong("Update", "UpdateCheckPeriod", CUpdateCheck::GetUpdateCheckPeriod(), iniFile); WritePrivateProfileString("Update", "UpdateURL", CUpdateCheck::GetUpdateURL(), iniFile); + WritePrivateProfileLong("Update", "SendGUID", CUpdateCheck::GetSendGUID() ? 1 : 0, iniFile); WritePrivateProfileLong("Update", "ShowUpdateHint", CUpdateCheck::GetShowUpdateHint() ? 1 : 0, iniFile); } Modified: trunk/OpenMPT/mptrack/UpdateCheck.cpp =================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.cpp 2011-05-02 21:13:34 UTC (rev 862) +++ trunk/OpenMPT/mptrack/UpdateCheck.cpp 2011-05-02 22:05:59 UTC (rev 863) @@ -17,12 +17,13 @@ #endif -const CString CUpdateCheck::defaultUpdateURL = "http://update.openmpt.org/check/%s"; +const CString CUpdateCheck::defaultUpdateURL = "http://update.openmpt.org/check/$VERSION/$GUID"; // Static configuration variables time_t CUpdateCheck::lastUpdateCheck = 0; int CUpdateCheck::updateCheckPeriod = 7; CString CUpdateCheck::updateBaseURL = CUpdateCheck::defaultUpdateURL; +bool CUpdateCheck::sendGUID = true; bool CUpdateCheck::showUpdateHint = true; @@ -93,21 +94,12 @@ } CUpdateCheck::showUpdateHint = false; + // Prepare UA / URL strings... const CString userAgent = CString("OpenMPT ") + MptVersion::str; - CString updateURL; - updateURL.Format(CUpdateCheck::updateBaseURL, MptVersion::str); + CString updateURL = CUpdateCheck::updateBaseURL; + updateURL.Replace("$VERSION", MptVersion::str); + updateURL.Replace("$GUID", GetSendGUID() ? CMainFrame::gcsInstallGUID : "anonymous"); - /*if (CMainFrame::gcsInstallGUID == "") - { - //No GUID found in INI file - generate one. - GUID guid; - CoCreateGuid(&guid); - BYTE* Str; - UuidToString((UUID*)&guid, &Str); - CMainFrame::gcsInstallGUID.Format("%s", (LPTSTR)Str); - RpcStringFree(&Str); - }*/ - // Establish a connection. caller->internetHandle = InternetOpen(userAgent, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); if(caller->internetHandle == NULL) @@ -278,6 +270,7 @@ ON_COMMAND(IDC_RADIO2, OnSettingsChanged) ON_COMMAND(IDC_RADIO3, OnSettingsChanged) ON_COMMAND(IDC_RADIO4, OnSettingsChanged) + ON_COMMAND(IDC_CHECK1, OnSettingsChanged) ON_EN_CHANGE(IDC_EDIT1, OnSettingsChanged) END_MESSAGE_MAP() @@ -296,6 +289,7 @@ case 31: radioID = IDC_RADIO4; break; } CheckRadioButton(IDC_RADIO1, IDC_RADIO4, radioID); + CheckDlgButton(IDC_CHECK1, CUpdateCheck::GetSendGUID() ? MF_CHECKED : MF_UNCHECKED); SetDlgItemText(IDC_EDIT1, CUpdateCheck::GetUpdateURL()); const time_t t = CUpdateCheck::GetLastUpdateCheck(); @@ -325,7 +319,7 @@ CString updateURL; GetDlgItemText(IDC_EDIT1, updateURL); - CUpdateCheck::SetUpdateSettings(CUpdateCheck::GetLastUpdateCheck(), updateCheckPeriod, updateURL, CUpdateCheck::GetShowUpdateHint()); + CUpdateCheck::SetUpdateSettings(CUpdateCheck::GetLastUpdateCheck(), updateCheckPeriod, updateURL, IsDlgButtonChecked(IDC_CHECK1) ? true : false, CUpdateCheck::GetShowUpdateHint()); CPropertyPage::OnOK(); } Modified: trunk/OpenMPT/mptrack/UpdateCheck.h =================================================================== --- trunk/OpenMPT/mptrack/UpdateCheck.h 2011-05-02 21:13:34 UTC (rev 862) +++ trunk/OpenMPT/mptrack/UpdateCheck.h 2011-05-02 22:05:59 UTC (rev 863) @@ -36,9 +36,10 @@ static time_t GetLastUpdateCheck() { return lastUpdateCheck; }; static int GetUpdateCheckPeriod() { return updateCheckPeriod; }; static CString GetUpdateURL() { return updateBaseURL; }; + static bool GetSendGUID() { return sendGUID; } static bool GetShowUpdateHint() { return showUpdateHint; }; - static void SetUpdateSettings(time_t last, int period, CString url, bool showHint) - { lastUpdateCheck = last; updateCheckPeriod = period; updateBaseURL = url; showUpdateHint = showHint; }; + static void SetUpdateSettings(time_t last, int period, CString url, bool sendID, bool showHint) + { lastUpdateCheck = last; updateCheckPeriod = period; updateBaseURL = url; sendGUID = sendID; showUpdateHint = showHint; }; protected: @@ -46,6 +47,7 @@ static time_t lastUpdateCheck; // Time of last successful update check static int updateCheckPeriod; // Check for updates every x days static CString updateBaseURL; // URL where the version check should be made. + static bool sendGUID; // Send GUID to collect basic stats static bool showUpdateHint; // Show hint on first automatic update bool isAutoUpdate; // Are we running an automatic update check? Modified: trunk/OpenMPT/mptrack/mptrack.rc =================================================================== --- trunk/OpenMPT/mptrack/mptrack.rc 2011-05-02 21:13:34 UTC (rev 862) +++ trunk/OpenMPT/mptrack/mptrack.rc 2011-05-02 22:05:59 UTC (rev 863) @@ -196,13 +196,17 @@ CONTROL "Daily",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,12,30,240,8 CONTROL "Weekly (recommended)",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,12,42,240,8 CONTROL "Monthly",IDC_RADIO4,"Button",BS_AUTORADIOBUTTON,12,54,240,8 - GROUPBOX "Advanced Settings",IDC_STATIC,6,78,258,60 - LTEXT "Update server URL:",IDC_STATIC,12,90,186,8 - EDITTEXT IDC_EDIT1,12,102,246,12,ES_AUTOHSCROLL - LTEXT "",IDC_LASTUPDATE,6,168,258,24 - LTEXT "Do not change this unless you are absolutely sure of what you are doing.",IDC_STATIC,12,120,246,12 - PUSHBUTTON "Check for Updates",IDC_BUTTON1,6,144,84,18 - PUSHBUTTON "Reset",IDC_BUTTON2,204,87,54,12 + GROUPBOX "Privacy Settings",IDC_STATIC,6,78,258,54 + CONTROL "Allow us to collect basic update statistics",IDC_CHECK1, + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,90,246,12 + LTEXT "If enabled, a randomized user ID is created and transmitted with every update check. This ID can not be linked to you or your computer in any way.",IDC_STATIC,12,102,246,24 + GROUPBOX "Advanced Settings",IDC_STATIC,6,138,258,60 + LTEXT "Update server URL:",IDC_STATIC,12,150,186,8 + EDITTEXT IDC_EDIT1,12,162,246,12,ES_AUTOHSCROLL + PUSHBUTTON "Reset",IDC_BUTTON2,204,146,54,12 + LTEXT "Do not change this unless you are absolutely sure of what you are doing.",IDC_STATIC,12,180,246,12 + PUSHBUTTON "Check for Updates",IDC_BUTTON1,6,204,84,18 + LTEXT "",IDC_LASTUPDATE,6,228,258,24 END @@ -1194,7 +1198,7 @@ END IDD_MIDIMACRO DIALOGEX 0, 0, 358, 354 -STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU +STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_TOOLWINDOW CAPTION "Zxx Macros Configuration" FONT 8, "MS Shell Dlg", 0, 0, 0x0 Modified: trunk/OpenMPT/mptrack/version.h =================================================================== --- trunk/OpenMPT/mptrack/version.h 2011-05-02 21:13:34 UTC (rev 862) +++ trunk/OpenMPT/mptrack/version.h 2011-05-02 22:05:59 UTC (rev 863) @@ -15,7 +15,7 @@ #define VER_MAJORMAJOR 1 #define VER_MAJOR 19 #define VER_MINOR 01 -#define VER_MINORMINOR 04 +#define VER_MINORMINOR 05 //Creates version number from version parts that appears in version string. //For example MAKE_VERSION_NUMERIC(1,17,02,28) gives version number of This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |