INT_PTR RemoveTempContacts(WPARAM wParam,LPARAM lParam) { for (MCONTACT hContact = db_find_first(); hContact; ) { MCONTACT hNext = db_find_next(hContact); ptrT szGroup( db_get_tsa( hContact, "CList", "Group")); if (db_get_b(hContact, "CList", "NotOnList", 0) || (szGroup != NULL && (_tcsstr(szGroup, _T("Not In List")) || _tcsstr(szGroup, TranslateT("Not In List"))))) { char *szProto = GetContactProto(hContact); if (szProto != NULL) { // Check if protocol uses server side lists DWORD caps = CallProtoService(szProto, PS_GETCAPS, PFLAGNUM_1, 0); if (caps & PF1_SERVERCLIST) { int status = CallProtoService(szProto, PS_GETSTATUS, 0, 0); if (status == ID_STATUS_OFFLINE || (status >= ID_STATUS_CONNECTING && status < ID_STATUS_CONNECTING + MAX_CONNECT_RETRIES)) // Set a flag so we remember to delete the contact when the protocol goes online the next time db_set_b( hContact, "CList", "Delete", 1 ); else CallService(MS_DB_CONTACT_DELETE, hContact, 0 ); } } } hContact = hNext; } int hGroup = 1; char *group_name; do { group_name = (char *)CallService(MS_CLIST_GROUPGETNAME, (WPARAM)hGroup, 0); if (group_name != NULL && strstr(group_name, "Not In List")) { BYTE ConfirmDelete = db_get_b(NULL, "CList", "ConfirmDelete", SETTING_CONFIRMDELETE_DEFAULT); if ( ConfirmDelete ) db_set_b( NULL, "CList", "ConfirmDelete", 0 ); CallService(MS_CLIST_GROUPDELETE, (WPARAM)hGroup, 0 ); if ( ConfirmDelete ) db_set_b( NULL, "CList", "ConfirmDelete", ConfirmDelete ); break; } hGroup++; } while( group_name ); if (!lParam) MessageBox(NULL, TranslateT("Complete"), TranslateT(pluginName), MB_ICONINFORMATION); return 0; }
void SVResString::loadGeneralStrings(MAPNODE &objNode) { string szTranslate(""), szTranslateTip(""), szEdit(""), szDevice(""), szHelp(""), szTest(""), szDepends(""), szSave(""), szSaveTip(""), szAdd(""), szAddTitle(""), szCancel(""), szHostLabel(""), szTestTip(""), szSelAll(""), szMonitorTitle(""), szCancelAdd(""), szGeneralTitle(""), szSaveSelTip(""), szAddMonitorErr(""), szGroup(""), szFriendless(""), szDescriptionHelp(""), szCondition(""), szConditionHelp(""), szDependHelp(""), szErr(""), szNormal(""), szWarn(""), szAffir(""), szPoint(""); FindNodeValue(objNode, "IDS_Translate", szTranslate); // 翻译 FindNodeValue(objNode, "IDS_Translate_Tip", szTranslateTip); // 翻译 FindNodeValue(objNode, "IDS_Device", szDevice); // 设备 FindNodeValue(objNode, "IDS_Help", szHelp); // 帮助 FindNodeValue(objNode, "IDS_Depends_On", szDepends); // 依靠 FindNodeValue(objNode, "IDS_Add", szAdd); // 添加 FindNodeValue(objNode, "IDS_Edit", szEdit); // 编辑 FindNodeValue(objNode, "IDS_Save", szSave); // 保存 FindNodeValue(objNode, "IDS_Test", szTest); // 测试 FindNodeValue(objNode, "IDS_Save_Tip", szSaveTip); // 保存 FindNodeValue(objNode, "IDS_Cancel", szCancel); // 取消 FindNodeValue(objNode, "IDS_Title", szHostLabel); // FindNodeValue(objNode, "IDS_Add_Title", szAddTitle); // 添加 FindNodeValue(objNode, "IDS_Curent_Test_Tip", szTestTip); // 测试此设备 FindNodeValue(objNode, "IDS_All_Select", szSelAll); // 全选 FindNodeValue(objNode, "IDS_Monitor_Title", szMonitorTitle); // 监测器 FindNodeValue(objNode, "IDS_Cancel_Add", szCancelAdd); // 取消添加 FindNodeValue(objNode, "IDS_General_Title", szGeneralTitle); // 基本选项 FindNodeValue(objNode, "IDS_Save_Sel_Monitor_Tip", szSaveSelTip); // 保存所选的监测器 FindNodeValue(objNode, "IDS_Monitor_Point_Lack_Tip",szAddMonitorErr); // 点数不足 FindNodeValue(objNode, "IDS_Group", szGroup); // 组 FindNodeValue(objNode, "IDS_Friendless", szFriendless); // 无依靠 FindNodeValue(objNode, "IDS_Advance_Desc_Help", szDescriptionHelp); // FindNodeValue(objNode, "IDS_Depends_Condition", szCondition); // 依靠条件 FindNodeValue(objNode, "IDS_Depends_Condition_Help",szConditionHelp); // FindNodeValue(objNode, "IDS_Depends_On_Help", szDependHelp); // FindNodeValue(objNode, "IDS_Error", szErr); // 错误 FindNodeValue(objNode, "IDS_Normal", szNormal); // 普通 FindNodeValue(objNode, "IDS_Warnning", szWarn); // 警告 FindNodeValue(objNode, "IDS_Affirm", szAffir); // 警告 FindNodeValue(objNode, "IDS_PointPoor", szPoint); // 警告 m_lsResource["IDS_Translate"] = szTranslate; m_lsResource["IDS_Translate_Tip"] = szTranslateTip; m_lsResource["IDS_Edit"] = szEdit; m_lsResource["IDS_Device"] = szDevice; m_lsResource["IDS_Help"] = szHelp; m_lsResource["IDS_Test"] = szTest; m_lsResource["IDS_Depends_On"] = szDepends; m_lsResource["IDS_Save"] = szSave; m_lsResource["IDS_Save_Tip"] = szSaveTip; m_lsResource["IDS_Add"] = szAdd; m_lsResource["IDS_Cancel"] = szCancel; m_lsResource["IDS_Title"] = szHostLabel; m_lsResource["IDS_Add_Title"] = szAddTitle; m_lsResource["IDS_Curent_Test_Tip"] = szTestTip; m_lsResource["IDS_All_Select"] = szSelAll; m_lsResource["IDS_Monitor_Title"] = szMonitorTitle; m_lsResource["IDS_Cancel_Add"] = szCancelAdd; m_lsResource["IDS_General_Title"] = szGeneralTitle; m_lsResource["IDS_Save_Sel_Monitor_Tip"] = szSaveSelTip; m_lsResource["IDS_Monitor_Point_Lack_Tip"] = szAddMonitorErr; m_lsResource["IDS_Group"] = szGroup; m_lsResource["IDS_Friendless"] = szFriendless; m_lsResource["IDS_Advance_Desc_Help"] = szDescriptionHelp; m_lsResource["IDS_Depends_Condition"] = szCondition; m_lsResource["IDS_Depends_Condition_Help"] = szConditionHelp; m_lsResource["IDS_Depends_On_Help"] = szDependHelp; m_lsResource["IDS_Error"] = szErr; m_lsResource["IDS_Normal"] = szNormal; m_lsResource["IDS_Warnning"] = szWarn; m_lsResource["IDS_Affirm"] = szAffir; m_lsResource["IDS_PointPoor"] = szPoint; }