INT_PTR CMraProto::MraWorld(WPARAM wParam, LPARAM) { DWORD dwContactEMailMRCount = GetContactEMailCount(wParam, TRUE); if (dwContactEMailMRCount) { if (dwContactEMailMRCount == 1) { CMStringA szEmail; if (GetContactFirstEMail(wParam, TRUE, szEmail)) MraMPopSessionQueueAddUrlAndEMail(hMPopSessionQueue, MRA_WORLD_URL, szEmail); } else MraSelectEMailDlgShow(wParam, MRA_SELECT_EMAIL_TYPE_WORLD); } return 0; }
INT_PTR CMraProto::MraAnswers(WPARAM wParam, LPARAM lParam) { if (!m_bLoggedIn) return 0; DWORD dwContactEMailMRCount = GetContactEMailCount((HANDLE)wParam, TRUE); if (dwContactEMailMRCount) { if (dwContactEMailMRCount == 1) { CMStringA szEmail; if (GetContactFirstEMail((HANDLE)wParam, TRUE, szEmail)) MraMPopSessionQueueAddUrlAndEMail(hMPopSessionQueue, MRA_ANSWERS_URL, szEmail); } else MraSelectEMailDlgShow((HANDLE)wParam, MRA_SELECT_EMAIL_TYPE_ANSWERS); } return 0; }
INT_PTR CMraProto::MraSendPostcard(WPARAM wParam, LPARAM) { DWORD dwContactEMailCount = GetContactEMailCount(wParam, FALSE); if (dwContactEMailCount) { if (dwContactEMailCount == 1) { CMStringA szUrl, szEmail; if (GetContactFirstEMail(wParam, FALSE, szEmail)) { szEmail.MakeLower(); szUrl.Format("http://cards.mail.ru/event.html?rcptname=%S&rcptemail=%s", pcli->pfnGetContactDisplayName(wParam, 0), szEmail); MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl); } } else MraSelectEMailDlgShow(wParam, MRA_SELECT_EMAIL_TYPE_SEND_POSTCARD); } return 0; }
INT_PTR CMraProto::MraSendEmail(WPARAM wParam, LPARAM) { DWORD dwContactEMailCount = GetContactEMailCount(wParam, FALSE); if (dwContactEMailCount) { if (dwContactEMailCount == 1) { CMStringA szUrl, szEmail; if (GetContactFirstEMail(wParam, FALSE, szEmail)) { szEmail.MakeLower(); szUrl.Format("https://e.mail.ru/cgi-bin/sentmsg?To=%s", szEmail); MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl); } } else MraSelectEMailDlgShow(wParam, MRA_SELECT_EMAIL_TYPE_SEND_POSTCARD); } return 0; }
INT_PTR CMraProto::MraSendPostcard(WPARAM wParam, LPARAM lParam) { if (!m_bLoggedIn) return 0; DWORD dwContactEMailCount = GetContactEMailCount((HANDLE)wParam, FALSE); if (dwContactEMailCount) { if (dwContactEMailCount == 1) { CMStringA szUrl, szEmail; if ( GetContactFirstEMail((HANDLE)wParam, FALSE, szEmail)) { szEmail.MakeLower(); szUrl.Format("http://cards.mail.ru/event.html?rcptname=%s&rcptemail=%s", GetContactNameA((HANDLE)wParam), szEmail); MraMPopSessionQueueAddUrl(hMPopSessionQueue, szUrl); } } else MraSelectEMailDlgShow((HANDLE)wParam, MRA_SELECT_EMAIL_TYPE_SEND_POSTCARD); } return 0; }
int CMraProto::MraRebuildContactMenu(WPARAM hContact, LPARAM) { bool bIsContactMRA, bHasEMail, bHasEMailMR, bChatAgent; DWORD dwContactSeverFlags = 0; CMStringW blogStatusMsgSize; // proto own contact bIsContactMRA = IsContactMra(hContact); if (bIsContactMRA) { bHasEMail = true; bHasEMailMR = true; bChatAgent = IsContactChatAgent(hContact); GetContactBasicInfoW(hContact, NULL, NULL, NULL, &dwContactSeverFlags, NULL, NULL, NULL, NULL); mraGetStringW(hContact, DBSETTING_BLOGSTATUS, blogStatusMsgSize); } // non proto contact else { bHasEMail = false; bHasEMailMR = false; bChatAgent = false; if (!getByte(NULL, "HideMenuItemsForNonMRAContacts", MRA_DEFAULT_HIDE_MENU_ITEMS_FOR_NON_MRA)) if (!IsContactMraProto(hContact))// избегаем добавления менюшек в контакты других копий MRA if (GetContactEMailCount(hContact, FALSE)) { bHasEMail = true; if (GetContactEMailCount(hContact, TRUE)) bHasEMailMR = true; } } // menu root; Menu_ShowItem(hContactMenuRoot, bHasEMail); //"Request authorization" Menu_ShowItem(hContactMenuItems[0], (m_bLoggedIn && bIsContactMRA));// && (dwContactSeverFlags&CONTACT_INTFLAG_NOT_AUTHORIZED) //"Grant authorization" Menu_ShowItem(hContactMenuItems[1], (m_bLoggedIn && bIsContactMRA && !bChatAgent)); //"&Send E-Mail" Menu_ShowItem(hContactMenuItems[2], (bHasEMail && !bChatAgent)); //"&Send postcard" Menu_ShowItem(hContactMenuItems[3], (bHasEMail && !bChatAgent)); //"&View Album" Menu_ShowItem(hContactMenuItems[4], (bHasEMailMR && !bChatAgent)); //"Reply Blog Status" Menu_ShowItem(hContactMenuItems[5], (m_bLoggedIn && blogStatusMsgSize.GetLength() && !bChatAgent)); //"View Video" Menu_ShowItem(hContactMenuItems[6], (bHasEMailMR && !bChatAgent)); //"Answers" Menu_ShowItem(hContactMenuItems[7], (bHasEMailMR && !bChatAgent)); //"World" Menu_ShowItem(hContactMenuItems[8], (bHasEMailMR && !bChatAgent)); //"Send &Nudge" Menu_ShowItem(hContactMenuItems[9], (!m_heNudgeReceived) ? (m_bLoggedIn && bIsContactMRA) : 0); return 0; }