Esempio n. 1
0
// =========================================================================
BOOL CALLBACK dlgAbout_HandleMsg_WM_COMMAND(HWND hDlg, WPARAM wParam, LPARAM lParam)
{
    BOOL retval = FALSE;

    DEBUGOUTGUI(DEBUGLEV_ENTER, (TEXT("dlgAbout_HandleMsg_WM_COMMAND\n")));
    DEBUGOUTGUI(DEBUGLEV_INFO, (TEXT("Command: %d\n"), LOWORD(wParam)));

    switch(LOWORD(wParam))
        {
        case IDC_STATIC_URL:
            {
            DisplayURL(APP_URL);
            retval = TRUE;
            break;
            }

        case IDOK:
            {
            EndDialog(hDlg, TRUE);
            retval = TRUE;
            break;
            }

        }

    DEBUGOUTGUI(DEBUGLEV_EXIT, (TEXT("dlgAbout_HandleMsg_WM_COMMAND\n")));
    return retval;
}
BOOL CFileExecutor::ShowBitziTicket(DWORD nIndex)
{
	CString str;

	if ( ! Settings.Library.BitziOkay )
	{
		Skin.LoadString( str, IDS_LIBRARY_BITZI_MESSAGE );
		if ( AfxMessageBox( str, MB_ICONQUESTION|MB_YESNO ) != IDYES ) return FALSE;
		Settings.Library.BitziOkay = TRUE;
		Settings.Save();
	}

	CSingleLock pLock( &Library.m_pSection, TRUE );

	CLibraryFile* pFile = Library.LookupFile( nIndex );
	if ( pFile == NULL ) return FALSE;

	if ( pFile->m_bSHA1 == FALSE || pFile->m_bTiger == FALSE )
	{
		CString strFormat;
		Skin.LoadString( strFormat, IDS_LIBRARY_BITZI_HASHED );
		str.Format( strFormat, (LPCTSTR)pFile->m_sName );
		pLock.Unlock();
		AfxMessageBox( str, MB_ICONINFORMATION );
		return FALSE;
	}

	CString strURL = Settings.Library.BitziWebView;
	CFile hFile;

	if ( hFile.Open( pFile->GetPath(), CFile::modeRead|CFile::shareDenyNone ) && hFile.GetLength() > 0 )
	{
		static LPCTSTR pszHex = _T("0123456789ABCDEF");
		BYTE nBuffer[20];
		int nPeek = hFile.Read( nBuffer, 20 );
		hFile.Close();
		str.Empty();

		for ( int nByte = 0 ; nByte < nPeek ; nByte++ )
		{
			str += pszHex[ (BYTE)nBuffer[ nByte ] >> 4 ];
			str += pszHex[ (BYTE)nBuffer[ nByte ] & 15 ];
		}

		strURL = Settings.Library.BitziWebSubmit;
		Replace( strURL, _T("(FIRST20)"), str );
	}

	Replace( strURL, _T("(NAME)"), CConnection::URLEncode( pFile->m_sName ) );
	Replace( strURL, _T("(SHA1)"), CSHA::HashToString( &pFile->m_pSHA1 ) );
	Replace( strURL, _T("(TTH)"), CTigerNode::HashToString( &pFile->m_pTiger ) );
	Replace( strURL, _T("(AGENT)"), CConnection::URLEncode( Settings.SmartAgent() ) );

	str.Format( _T("%I64i"), pFile->GetSize() );
	Replace( strURL, _T("(SIZE)"), str );

	pLock.Unlock();

	DisplayURL( strURL );

	return TRUE;
}