Ejemplo n.º 1
0
int DeleteAutoSession(int ses_count)
{
	int i=0;
	HANDLE hContact;
	char szSessionName[256]={0};

	TCHAR *szSessionNameBuf=NULL;

	for (hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
		RemoveSessionMark(hContact,0,ses_count);
		SetInSessionOrder(hContact,0,ses_count,0);
	}

	mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", ses_count);
	db_unset(NULL, MODNAME, szSessionName);

	for (i=(ses_count+1);;i++) {
		mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i);

		if (szSessionNameBuf = db_get_tsa(NULL, MODNAME, szSessionName)) {
			mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i-1);
			db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
			mir_free(szSessionNameBuf);
		}
		else {
			mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "SessionDate", i-1);
			db_unset(NULL, MODNAME, szSessionName);
			break;
		}
	}

	return 0;
}
Ejemplo n.º 2
0
int DeleteAutoSession(int ses_count)
{
	for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
		RemoveSessionMark(hContact, 0, ses_count);
		SetInSessionOrder(hContact, 0, ses_count, 0);
	}

	char szSessionName[256];
	mir_snprintf(szSessionName, "%s_%u", "SessionDate", ses_count);
	db_unset(NULL, MODNAME, szSessionName);

	for (int i = ses_count + 1;; i++) {
		mir_snprintf(szSessionName, "%s_%u", "SessionDate", i);
		ptrT szSessionNameBuf(db_get_tsa(NULL, MODNAME, szSessionName));

		mir_snprintf(szSessionName, "%s_%u", "SessionDate", i - 1);
		if (szSessionNameBuf)
			db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
		else {
			db_unset(NULL, MODNAME, szSessionName);
			break;
		}
	}

	return 0;
}
Ejemplo n.º 3
0
int DelUserDefSession(int ses_count)
{
	for (MCONTACT hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
		RemoveSessionMark(hContact, 1, ses_count);
		SetInSessionOrder(hContact, 1, ses_count, 0);
	}

	char szSessionName[256];
	mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", ses_count);
	db_unset(NULL, MODNAME, szSessionName);

	mir_snprintf(szSessionName, "%s_%u", "FavUserSession", ses_count);
	db_unset(NULL, MODNAME, szSessionName);

	for (int i = ses_count + 1;; i++) {
		mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", i);
		ptrT szSessionNameBuf(db_get_tsa(NULL, MODNAME, szSessionName));

		mir_snprintf(szSessionName, "%s_%u", "UserSessionDsc", i - 1);
		if (szSessionNameBuf) {
			MarkUserDefSession(i - 1, IsMarkedUserDefSession(i));
			db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
		}
		else {
			db_unset(NULL, MODNAME, szSessionName);

			mir_snprintf(szSessionName, "%s_%u", "FavUserSession", i - 1);
			db_unset(NULL, MODNAME, szSessionName);
			break;
		}
	}
	g_ses_count--;
	db_set_b(0, MODNAME, "UserSessionsCount", (BYTE)g_ses_count);
	return 0;
}
Ejemplo n.º 4
0
int DelUserDefSession(int ses_count)
{
	int i=0;
	HANDLE hContact;
	char szSessionName[256]={0};
	TCHAR *szSessionNameBuf=NULL;

	for (hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) {
		RemoveSessionMark(hContact,1,ses_count);
		SetInSessionOrder(hContact,1,ses_count,0);
	}

	mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", ses_count);
	db_unset(NULL, MODNAME, szSessionName);

	mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "FavUserSession", ses_count);
	db_unset(NULL, MODNAME, szSessionName);

	for (i=(ses_count+1);;i++) {
		mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", i);

		if (szSessionNameBuf = db_get_tsa(NULL, MODNAME, szSessionName)) {
			MarkUserDefSession(i-1,IsMarkedUserDefSession(i));
			mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", i-1);
			db_set_ts(NULL, MODNAME, szSessionName, szSessionNameBuf);
			mir_free(szSessionNameBuf);
		}
		else {
			mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "UserSessionDsc", i-1);
			db_unset(NULL, MODNAME, szSessionName);

			mir_snprintf(szSessionName, SIZEOF(szSessionName), "%s_%u", "FavUserSession", i-1);
			db_unset(NULL, MODNAME, szSessionName);
			break;
		}
	}
	g_ses_count--;
	db_set_b(0, MODNAME, "UserSessionsCount", (BYTE)g_ses_count);
	return 0;
}