/* Basic History plugin Copyright (C) 2011-2012 Krzysztof Kral This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ #include "StdAfx.h" #include "PlainHtmlExport.h" #include "Options.h" #define EXP_FILE (*stream) PlainHtmlExport::~PlainHtmlExport() { } extern std::wstring MakeTextHtmled(const std::wstring& message, std::queue >* positionMap = NULL); extern std::wstring UrlHighlightHtml(const std::wstring& message, bool& isUrl); void PlainHtmlExport::WriteHeader(const std::wstring &fileName, const std::wstring &filterName, const std::wstring &myName, const std::wstring &myId, const std::wstring &name1, const std::wstring &proto1, const std::wstring &id1, const std::string& baseProto1, const std::wstring& encoding) { EXP_FILE << _T("\n"); EXP_FILE << _T("\n\n"); EXP_FILE << _T("") << TranslateT("History Log") << _T(" [") << MakeTextHtmled(myName) << _T("] - [") << MakeTextHtmled(name1) << _T("]\n"); EXP_FILE << _T("\n\n

") << TranslateT("History Log") << _T("

\n

"); EXP_FILE << MakeTextHtmled(myName); if (proto1.length() || myId.length()) EXP_FILE << _T(" (") << MakeTextHtmled(proto1) << _T(": ") << MakeTextHtmled(myId) << _T(") - "); else EXP_FILE << _T(" - "); EXP_FILE << MakeTextHtmled(name1); if (proto1.length() || id1.length()) EXP_FILE << _T(" (") << MakeTextHtmled(proto1) << _T(": ") << MakeTextHtmled(id1) << _T(")

\n"); else EXP_FILE << _T("\n"); EXP_FILE << _T("
") << TranslateT("Filter:") << _T(" ") << MakeTextHtmled(filterName) << _T("
\n"); } void PlainHtmlExport::WriteFooter() { EXP_FILE << _T("
\n\n"); } void PlainHtmlExport::WriteGroup(bool isMe, const std::wstring &time, const std::wstring &user, const std::wstring &eventText) { TCHAR buf[256]; EXP_FILE << _T("
\n"); mir_sntprintf(buf, SIZEOF(buf), TranslateT("Conversation started at %s"), time.c_str()); EXP_FILE << _T("
") << buf << _T("
\n"); EXP_FILE << _T("
\n"); } void PlainHtmlExport::WriteMessage(bool isMe, const std::wstring &longDate, const std::wstring &shortDate, const std::wstring &user, const std::wstring &message, const DBEVENTINFO& dbei) { TCHAR *id = isMe ? _T("out") : _T("inc"); TCHAR* ev = (isMe ? _T("1") : _T("0")); bool isUrl = false; std::wstring& mes = UrlHighlightHtml(MakeTextHtmled(message), isUrl); if (isUrl) ev = _T("2"); EXP_FILE << _T("
\n"); EXP_FILE << _T("
") << MakeTextHtmled(user) << _T(":
\n"); EXP_FILE << _T("
") << (Options::instance->exportHtml1ShowDate ? longDate : shortDate) << _T("
\n"); EXP_FILE << _T("
\n"); EXP_FILE << mes; EXP_FILE << _T("\n
\n"); EXP_FILE << _T("
\n"); }