コード例 #1
0
ファイル: folderItem.cpp プロジェクト: TonyAlloa/miranda-dev
void CFolderItem::GetDataFromDatabase(const char *szNotFound)
{
	char name[256];
	strcpy(name, szSection);
	strcat(name, szName);
	
	if (IsUnicode())
		{
			wchar_t buffer[MAX_FOLDER_SIZE];
			GetStringFromDatabase(name, (const wchar_t *) szNotFound, buffer, MAX_FOLDER_SIZE);
			SetFormatW(buffer);
		}
		else{
			char buffer[MAX_FOLDER_SIZE];
			GetStringFromDatabase(name, szNotFound, buffer, MAX_FOLDER_SIZE);
			SetFormat(buffer);
		}
}
コード例 #2
0
ファイル: folderItem.cpp プロジェクト: biddyweb/miranda-ng
void CFolderItem::GetDataFromDatabase(const TCHAR *szNotFound)
{
	char name[256];
	strcpy_s(name, sizeof(name), m_szSection);
	strcat_s(name, sizeof(name), m_szName);

	TCHAR buffer[MAX_FOLDER_SIZE];
	GetStringFromDatabase(name, szNotFound, buffer, SIZEOF(buffer));
	SetFormat(buffer);
}
コード例 #3
0
ファイル: emails.cpp プロジェクト: martok/miranda-ng
int CExchangeServer::Connect(int bForceConnect)
{
	int maxRetries = db_get_b(NULL, ModuleName, "MaxRetries", MAX_EXCHANGE_CONNECT_RETRIES);
	if (bForceConnect) {
		bTryConnect = 1;
		cConnections = 0;
	}
		
	if (cConnections >= maxRetries) {
		bTryConnect = 0;
		cConnections = 0;
		_popupUtil("Maximum number of retries reached.\nPlugin will stop trying to connect automatically.");
	}

	if (bTryConnect)
		cConnections++;
		
	if ((bTryConnect) && !IsServerAvailable()) {
		bTryConnect = 0;
		_popupUtil("Server not available");
	}		
		
	if ( !IsConnected() && bTryConnect) {
		TCHAR user[1024]; //lovely
		TCHAR password[1024]; //i know
		TCHAR server[1024];

		GetStringFromDatabase("Username", _T(""), user, _countof(user));
		if (ServiceExists(MS_UTILS_REPLACEVARS))
			_tcsncpy_s(user, VARST(user), _TRUNCATE);

		GetStringFromDatabase("Password", _T(""), password, _countof(password));
		GetStringFromDatabase("Server", _T(""), server, _countof(server));

		int port = db_get_dw(NULL, ModuleName, "Port", EXCHANGE_PORT);
		if (_tcslen(server) > 0) //only connect if there's a server to connect to
			return DoConnect(user, password, server, port);			

		_popupUtil("Server is not configured...");
	}
	return -1; //0 on success, != 0 otherwise
}
コード例 #4
0
ファイル: services.cpp プロジェクト: kmdtukl/miranda-ng
void YahooMoveCallback(MCONTACT hContact, char *unused)
{
	char protocol[128] = {0};
	GetContactProtocol(hContact, protocol, sizeof(protocol));
	
	if (mir_strlen(protocol) > 0)
	{
		char ygroup[128] = {0};
		
		if (!GetStringFromDatabase(hContact, protocol, "YGroup", NULL, ygroup, sizeof(ygroup)))
		{
			CreateGroup(ygroup);
			AddContactToGroup(hContact, ygroup);
		}
	}
}
コード例 #5
0
ファイル: services.cpp プロジェクト: kmdtukl/miranda-ng
int GetNextGroupIndex()
{
	int index = 0;
	int found = 0;
	
	char buffer[1024] = {0};
	char tmp[128] = {0};
	
	while (!found)
	{
		mir_snprintf(tmp, "%d", index++);
		
		if (GetStringFromDatabase(NULL, CLIST_GROUPS, tmp, NULL, buffer, sizeof(buffer)))
		{
			found = 1;
		}
	}
	
	return index - 1;
}
コード例 #6
0
ファイル: services.cpp プロジェクト: kmdtukl/miranda-ng
void ReadAvailableGroups()
{
	int ok = 1;
	int index = 0;
	
	char group[1024] = {0};
	char tmp[128] = {0};
	
	while (ok)
	{
		mir_snprintf(tmp, "%d", index);
		GetStringFromDatabase(NULL, CLIST_GROUPS, tmp, NULL, group, sizeof(group));
		if (mir_strlen(group) > 0)
		{
			availableGroups.Add(_strdup(group + 1));
			index += 1;
		}
		else{
			ok = 0;
		}
	}
}
コード例 #7
0
ファイル: emails.cpp プロジェクト: martok/miranda-ng
int CExchangeServer::IsServerAvailable()
{
	if (!db_get_b(NULL, ModuleName, "UsePortCheck", 1))
		return 1;

	SOCKET sServer = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
	if (sServer == INVALID_SOCKET)
		return 0; //server is not available

	TCHAR szServer[1024];
	GetStringFromDatabase("Server", _T(""), szServer, sizeof(szServer));
	sockaddr_in addrServer;
	InitSocketAddr(&addrServer, mir_t2a(szServer));
	int res = connect(sServer, (sockaddr *) &addrServer, sizeof(addrServer));
	int bAvailable = 0;
	if (!res) {
		// if connected then close smtp connection by sending a quit message
		bAvailable = 1;
		char message[] = "quit\n";
		send(sServer, message, (int)strlen(message), 0); 
	}
	res = closesocket(sServer); //close the socket
	return bAvailable;
}
コード例 #8
0
ファイル: utils.cpp プロジェクト: 0xmono/miranda-ng
int GetStringFromDatabase(char *szSettingName, char *szError, char *szResult, size_t size)
{
	return GetStringFromDatabase(NULL, ModuleName, szSettingName, szError, szResult, size);
}
コード例 #9
0
ファイル: utils.cpp プロジェクト: Seldom/miranda-ng
void GetContactProtocol(MCONTACT hContact, char *szProto, int size)
{
	GetStringFromDatabase(hContact, "Protocol", "p", NULL, szProto, size);
}
コード例 #10
0
ファイル: utils.cpp プロジェクト: Seldom/miranda-ng
int GetStringFromDatabase(char *szSettingName, WCHAR *szError, WCHAR *szResult, int count)
{
	return GetStringFromDatabase(NULL, ModuleName, szSettingName, szError, szResult, count);
}
コード例 #11
0
ファイル: dlg_handlers.cpp プロジェクト: 0xmono/miranda-ng
INT_PTR CALLBACK DlgProcOptions(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	static int bInitializing; //true when dialog is being created
	
	switch (msg) {
	case WM_INITDIALOG:
		TranslateDialogDefault(hWnd);
		{
			bInitializing = 1;
			DBVARIANT dbv = {0};
			dbv.type = DBVT_ASCIIZ;

			int bCheck = db_get_b(NULL, ModuleName, "Check", 1);

			TCHAR buffer[4096];
			GetStringFromDatabase("Username", _T(""), buffer, SIZEOF(buffer));
			SetWindowText(GetDlgItem(hWnd, IDC_USER_EDIT), buffer);

			GetStringFromDatabase("Password", _T(""), buffer, SIZEOF(buffer));
			SetWindowText(GetDlgItem(hWnd, IDC_PASSWORD_EDIT), buffer);

			GetStringFromDatabase("Server", _T(""), buffer, sizeof(buffer));
			SetWindowText(GetDlgItem(hWnd, IDC_SERVER_EDIT), buffer);

			SetDlgItemInt(hWnd, IDC_PORT_EDIT, db_get_dw(NULL, ModuleName, "Port", EXCHANGE_PORT), FALSE);

			SetDlgItemInt(hWnd, IDC_INTERVAL_EDIT, db_get_dw(NULL, ModuleName, "Interval", DEFAULT_INTERVAL), FALSE);

			CheckDlgButton(hWnd, IDC_RECONNECT, (db_get_b(NULL, ModuleName, "Reconnect", 0)) ? BST_CHECKED : BST_UNCHECKED);

			SetDlgItemInt(hWnd, IDC_RECONNECT_INTERVAL, db_get_dw(NULL, ModuleName, "ReconnectInterval", DEFAULT_RECONNECT_INTERVAL), FALSE);
			CheckDlgButton(hWnd, IDC_USE_POPUPS, (BOOL) db_get_b(NULL, ModuleName, "UsePopups", 0) ? BST_CHECKED : BST_UNCHECKED);
			EnableWindow(GetDlgItem(hWnd, IDC_USE_POPUPS), ServiceExists(MS_POPUP_ADDPOPUPT)); //disable the popups checkbox if no popup module is present

			CheckDlgButton(hWnd, IDC_CHECK_EMAILS, (bCheck) ? BST_CHECKED : BST_UNCHECKED);
			EnableWindow(GetDlgItem(hWnd, IDC_INTERVAL_EDIT), bCheck);

			int portCheck = db_get_b(NULL, ModuleName, "UsePortCheck", 1);
			CheckDlgButton(hWnd, IDC_USE_PORTCHECK, (portCheck) ? BST_CHECKED : BST_UNCHECKED);
			EnableWindow(GetDlgItem(hWnd, IDC_PORT_EDIT), portCheck);

			int retries = db_get_b(NULL, ModuleName, "MaxRetries", MAX_EXCHANGE_CONNECT_RETRIES);
			SetDlgItemInt(hWnd,IDC_MAX_RETRIES,retries,FALSE);

			EnableWindow(GetDlgItem(hWnd, IDC_RECONNECT_INTERVAL), IsDlgButtonChecked(hWnd, IDC_RECONNECT));

			bInitializing = 0;
		}
		return TRUE;

	case WM_COMMAND:
		switch (LOWORD(wParam)) {
		case IDC_USER_EDIT:
		case IDC_PASSWORD_EDIT:
		case IDC_SERVER_EDIT:
		case IDC_PORT_EDIT:
		case IDC_INTERVAL_EDIT:
		case IDC_RECONNECT_INTERVAL:
		case IDC_MAX_RETRIES:
			if ((!bInitializing) && (HIWORD(wParam) == EN_CHANGE))// || (HIWORD(wParam) == CBN_SELENDOK))
				SendMessage(GetParent(hWnd), PSM_CHANGED, 0, 0);
			break;

		case IDC_USE_POPUPS:
		case IDC_CHECK_EMAILS:
		case IDC_RECONNECT:
		case IDC_USE_PORTCHECK:
			int portCheck = IsDlgButtonChecked(hWnd, IDC_USE_PORTCHECK);
			SendMessage(GetParent(hWnd), PSM_CHANGED, 0, 0);

			EnableWindow(GetDlgItem(hWnd, IDC_INTERVAL_EDIT), IsDlgButtonChecked(hWnd, IDC_CHECK_EMAILS));
			EnableWindow(GetDlgItem(hWnd, IDC_RECONNECT_INTERVAL), IsDlgButtonChecked(hWnd, IDC_RECONNECT));
			EnableWindow(GetDlgItem(hWnd, IDC_PORT_EDIT), portCheck);
			break;
		}
		break;

	case WM_NOTIFY:
		switch(((LPNMHDR)lParam)->idFrom) {
		case 0:
			switch (((LPNMHDR)lParam)->code) {
			case PSN_APPLY:
				db_set_b(NULL, ModuleName, "Check", IsDlgButtonChecked(hWnd, IDC_CHECK_EMAILS));

				TCHAR buffer[4096];
				GetWindowText(GetDlgItem(hWnd, IDC_USER_EDIT), buffer, SIZEOF(buffer));
				db_set_ts(NULL, ModuleName, "Username", buffer);

				GetWindowText(GetDlgItem(hWnd, IDC_PASSWORD_EDIT), buffer, SIZEOF(buffer));
				db_set_ts(NULL, ModuleName, "Password", buffer);

				GetWindowText(GetDlgItem(hWnd, IDC_SERVER_EDIT), buffer, SIZEOF(buffer));
				db_set_ts(NULL, ModuleName, "Server", buffer);

				GetWindowText(GetDlgItem(hWnd, IDC_PORT_EDIT), buffer, SIZEOF(buffer));
				db_set_dw(NULL, ModuleName, "Port", GetDlgItemInt(hWnd,IDC_PORT_EDIT,NULL,FALSE));

				db_set_dw(NULL, ModuleName, "Interval", GetDlgItemInt(hWnd,IDC_INTERVAL_EDIT,NULL,FALSE));
				db_set_dw(NULL, ModuleName, "ReconnectInterval", GetDlgItemInt(hWnd,IDC_RECONNECT_INTERVAL,NULL,FALSE));

				db_set_b(NULL, ModuleName, "Reconnect", IsDlgButtonChecked(hWnd, IDC_RECONNECT));

				db_set_b(NULL, ModuleName, "UsePopups", IsDlgButtonChecked(hWnd, IDC_USE_POPUPS));
				db_set_b(NULL, ModuleName, "UsePortCheck", IsDlgButtonChecked(hWnd, IDC_USE_PORTCHECK));

				db_set_b(NULL, ModuleName, "MaxRetries", GetDlgItemInt(hWnd,IDC_MAX_RETRIES,NULL,FALSE));

				exchangeServer.Reconnect(); //login info may be changed
				UpdateTimers(); //interval might get changed
			}
		}

		break;
	}

	return 0;
}