OLD | NEW |
1 #include "PluginStdAfx.h" | 1 #include "PluginStdAfx.h" |
2 | 2 |
3 #include <Wbemidl.h> | 3 #include <Wbemidl.h> |
4 #include <time.h> | 4 #include <time.h> |
5 #include "PluginIniFileW.h" | 5 #include "PluginIniFileW.h" |
6 #include "PluginIniFile.h" | 6 #include "PluginIniFile.h" |
7 #include "PluginSettings.h" | 7 #include "PluginSettings.h" |
8 #include "PluginDictionary.h" | 8 #include "PluginDictionary.h" |
9 #include "PluginClient.h" | 9 #include "PluginClient.h" |
10 #include "PluginChecksum.h" | 10 #include "PluginChecksum.h" |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 s_criticalSectionLocal.Lock(); | 253 s_criticalSectionLocal.Lock(); |
254 { | 254 { |
255 m_properties.clear(); | 255 m_properties.clear(); |
256 | 256 |
257 m_properties[SETTING_PLUGIN_VERSION] = IEPLUGIN_VERSION; | 257 m_properties[SETTING_PLUGIN_VERSION] = IEPLUGIN_VERSION; |
258 m_properties[SETTING_LANGUAGE] = "en"; | 258 m_properties[SETTING_LANGUAGE] = "en"; |
259 } | 259 } |
260 s_criticalSectionLocal.Unlock(); | 260 s_criticalSectionLocal.Unlock(); |
261 } | 261 } |
262 | 262 |
263 bool CPluginSettings::MakeRequestForUpdate() | |
264 { | |
265 time_t updateTime = this->GetValue(SETTING_LAST_UPDATE_TIME); | |
266 | |
267 if (time(NULL) <= updateTime) | |
268 return false; | |
269 | |
270 CPluginHttpRequest httpRequest(PLUGIN_UPDATE_URL); | |
271 | |
272 CPluginSystem* system = CPluginSystem::GetInstance(); | |
273 | |
274 httpRequest.Add("lang", this->GetString(SETTING_LANGUAGE, "err")); | |
275 httpRequest.Add("ie", system->GetBrowserVersion()); | |
276 httpRequest.Add("ielang", system->GetBrowserLanguage()); | |
277 | |
278 httpRequest.AddOsInfo(); | |
279 | |
280 httpRequest.Send(); | |
281 | |
282 this->SetValue(SETTING_LAST_UPDATE_TIME, time(NULL) + (5 * 24 * 60 * 60) * ((r
and() % 100) / 100 * 0.4 + 0.8)); | |
283 if (httpRequest.IsValidResponse()) | |
284 { | |
285 const std::auto_ptr<CPluginIniFile>& iniFile = httpRequest.GetResponseFile()
; | |
286 | |
287 CPluginIniFile::TSectionData settingsData = iniFile->GetSectionData("Setting
s"); | |
288 CPluginIniFile::TSectionData::iterator it; | |
289 | |
290 it = settingsData.find("pluginupdate"); | |
291 if (it != settingsData.end()) | |
292 { | |
293 CString url(it->second); | |
294 SetString(SETTING_PLUGIN_UPDATE_URL, url); | |
295 m_isDirty = true; | |
296 DEBUG_SETTINGS("Settings::Configuration plugin update url:" + it->second); | |
297 } | |
298 | |
299 it = settingsData.find("pluginupdatev"); | |
300 if (it != settingsData.end()) | |
301 { | |
302 CString ver(it->second); | |
303 SetString(SETTING_PLUGIN_UPDATE_VERSION, ver); | |
304 m_isDirty = true; | |
305 DEBUG_SETTINGS("Settings::Configuration plugin update version:" + it->seco
nd); | |
306 } | |
307 } | |
308 | |
309 return true; | |
310 } | |
311 | |
312 CString CPluginSettings::GetDataPath(const CString& filename) | 263 CString CPluginSettings::GetDataPath(const CString& filename) |
313 { | 264 { |
314 std::wstring path = ::GetAppDataPath() + L"\\" + static_cast<LPCWSTR>(filename
); | 265 std::wstring path = ::GetAppDataPath() + L"\\" + static_cast<LPCWSTR>(filename
); |
315 return CString(path.c_str()); | 266 return CString(path.c_str()); |
316 } | 267 } |
317 | 268 |
318 CString CPluginSettings::GetSystemLanguage() | 269 CString CPluginSettings::GetSystemLanguage() |
319 { | 270 { |
320 CString language; | 271 CString language; |
321 CString country; | 272 CString country; |
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
616 } | 567 } |
617 else | 568 else |
618 { | 569 { |
619 isWritten = false; | 570 isWritten = false; |
620 } | 571 } |
621 | 572 |
622 return isWritten; | 573 return isWritten; |
623 } | 574 } |
624 | 575 |
625 | 576 |
626 bool CPluginSettings::IsPluginUpdateAvailable() const | |
627 { | |
628 bool isAvailable = Has(SETTING_PLUGIN_UPDATE_VERSION); | |
629 if (isAvailable) | |
630 { | |
631 CString newVersion = GetString(SETTING_PLUGIN_UPDATE_VERSION); | |
632 CString curVersion = IEPLUGIN_VERSION; | |
633 | |
634 isAvailable = newVersion != curVersion; | |
635 if (isAvailable) | |
636 { | |
637 int curPos = 0; | |
638 int curMajor = _wtoi(curVersion.Tokenize(L".", curPos)); | |
639 int curMinor = _wtoi(curVersion.Tokenize(L".", curPos)); | |
640 int curDev = _wtoi(curVersion.Tokenize(L".", curPos)); | |
641 | |
642 int newPos = 0; | |
643 int newMajor = _wtoi(newVersion.Tokenize(L".", newPos)); | |
644 int newMinor = newPos > 0 ? _wtoi(newVersion.Tokenize(L".", newPos)) : 0; | |
645 int newDev = newPos > 0 ? _wtoi(newVersion.Tokenize(L".", newPos)) : 0; | |
646 | |
647 isAvailable = newMajor > curMajor || newMajor == curMajor && newMinor > cu
rMinor || newMajor == curMajor && newMinor == curMinor && newDev > curDev; | |
648 } | |
649 } | |
650 | |
651 return isAvailable; | |
652 } | |
653 | |
654 bool CPluginSettings::IsMainProcess(DWORD dwProcessId) const | 577 bool CPluginSettings::IsMainProcess(DWORD dwProcessId) const |
655 { | 578 { |
656 if (dwProcessId == 0) | 579 if (dwProcessId == 0) |
657 { | 580 { |
658 dwProcessId = ::GetCurrentProcessId(); | 581 dwProcessId = ::GetCurrentProcessId(); |
659 } | 582 } |
660 return m_dwMainProcessId == dwProcessId; | 583 return m_dwMainProcessId == dwProcessId; |
661 } | 584 } |
662 | 585 |
663 void CPluginSettings::SetMainProcessId() | 586 void CPluginSettings::SetMainProcessId() |
(...skipping 810 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1474 return CString(L""); | 1397 return CString(L""); |
1475 } | 1398 } |
1476 | 1399 |
1477 | 1400 |
1478 void CPluginSettings::RefreshFilterlist() | 1401 void CPluginSettings::RefreshFilterlist() |
1479 { | 1402 { |
1480 CPluginClient::GetInstance()->UpdateAllSubscriptions(); | 1403 CPluginClient::GetInstance()->UpdateAllSubscriptions(); |
1481 } | 1404 } |
1482 | 1405 |
1483 #endif // SUPPORT_WHITELIST | 1406 #endif // SUPPORT_WHITELIST |
OLD | NEW |