Commit ed669a0e authored by Sergey.Kirillov's avatar Sergey.Kirillov Committed by Alexander Trofimov

git-svn-id:...

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@52221 954022d7-b5bf-4e40-9824-e11837661b57
parent a621c993
This diff is collapsed.
<?xml version="1.0" encoding="windows-1251"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8,00"
Name="AVSHtml2xhtml"
ProjectGUID="{95A1CD4B-0E6C-4D3F-BB50-0C607884E10D}"
RootNamespace="AVSHtml2xhtml"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
CompileAs="1"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
GenerateDebugInformation="true"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="$(SolutionDir)$(ConfigurationName)"
IntermediateDirectory="$(ConfigurationName)"
ConfigurationType="1"
CharacterSet="2"
WholeProgramOptimization="1"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
RuntimeLibrary="2"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
CompileAs="1"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
GenerateDebugInformation="true"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\SDK\html2xhtml\src\dtd.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\dtd_names.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\dtd_util.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\html.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\html.l"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\html2xhtml.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\htmlgr.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\htmlgr.y"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\mensajes.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\procesador.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\tree.c"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\xchar.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath="..\SDK\html2xhtml\src\dtd.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\dtd_names.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\dtd_types.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\dtd_util.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\htmlgr.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\mensajes.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\procesador.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\tree.h"
>
</File>
<File
RelativePath="..\SDK\html2xhtml\src\xchar.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AVSOfficeHtmlFileTest", "AVSOfficeHtmlFileTest\AVSOfficeHtmlFileTest.vcproj", "{CF94E1BC-859B-4DD7-B8E1-3F48567C6BD3}"
ProjectSection(ProjectDependencies) = postProject
{FC17489B-5B4F-469B-BC78-147B40EC6533} = {FC17489B-5B4F-469B-BC78-147B40EC6533}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "AVSOfficeHtmlFile", "AVSOfficeHtmlFile\prj\AVSOfficeHtmlFile.vcproj", "{FC17489B-5B4F-469B-BC78-147B40EC6533}"
ProjectSection(ProjectDependencies) = postProject
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6} = {56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Utility", "..\Common\AvsDocxFormat\Projects\Utility.vcproj", "{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}"
ProjectSection(ProjectDependencies) = postProject
{3C7D3E76-9C62-4D0E-9645-8731700B1D70} = {3C7D3E76-9C62-4D0E-9645-8731700B1D70}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boost_filesystem", "..\Common\AvsDocxFormat\Projects\boost_filesystem.vcproj", "{3C7D3E76-9C62-4D0E-9645-8731700B1D70}"
ProjectSection(ProjectDependencies) = postProject
{7A3C0AE1-9FA1-4F56-99C0-139192364F57} = {7A3C0AE1-9FA1-4F56-99C0-139192364F57}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "boost_system", "..\Common\AvsDocxFormat\Projects\boost_system.vcproj", "{7A3C0AE1-9FA1-4F56-99C0-139192364F57}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{CF94E1BC-859B-4DD7-B8E1-3F48567C6BD3}.Debug|Win32.ActiveCfg = Debug|Win32
{CF94E1BC-859B-4DD7-B8E1-3F48567C6BD3}.Debug|Win32.Build.0 = Debug|Win32
{CF94E1BC-859B-4DD7-B8E1-3F48567C6BD3}.Release|Win32.ActiveCfg = Release|Win32
{CF94E1BC-859B-4DD7-B8E1-3F48567C6BD3}.Release|Win32.Build.0 = Release|Win32
{FC17489B-5B4F-469B-BC78-147B40EC6533}.Debug|Win32.ActiveCfg = Debug|Win32
{FC17489B-5B4F-469B-BC78-147B40EC6533}.Debug|Win32.Build.0 = Debug|Win32
{FC17489B-5B4F-469B-BC78-147B40EC6533}.Release|Win32.ActiveCfg = Release|Win32
{FC17489B-5B4F-469B-BC78-147B40EC6533}.Release|Win32.Build.0 = Release|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Debug|Win32.ActiveCfg = Debug|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Debug|Win32.Build.0 = Debug|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Release|Win32.ActiveCfg = Release|Win32
{56F6B346-D0EA-4149-88C4-B6D09E0E9BA6}.Release|Win32.Build.0 = Release|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Debug|Win32.ActiveCfg = Debug|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Debug|Win32.Build.0 = Debug|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Release|Win32.ActiveCfg = Release|Win32
{3C7D3E76-9C62-4D0E-9645-8731700B1D70}.Release|Win32.Build.0 = Release|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Debug|Win32.ActiveCfg = Debug|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Debug|Win32.Build.0 = Debug|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Release|Win32.ActiveCfg = Release|Win32
{7A3C0AE1-9FA1-4F56-99C0-139192364F57}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
#ifndef _BASE_64_H
#define _BASE_64_H
#include <iostream>
static const std::string c_sBase64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
class CBase64
{
public:
CBase64()
{
}
~CBase64()
{
}
BYTE* GetBuffer(void)
{
return (BYTE*)m_sBuffer.c_str();
}
int GetSize(void)
{
return m_sBuffer.length();
}
std::string GetString()
{
return m_sBuffer;
}
void Encode(BYTE *pBytesToEncode, unsigned int unSize)
{
m_sBuffer = Base64Encode( pBytesToEncode, unSize );
}
void Encode(BYTE **ppBytesToEncode, unsigned int *punSize)
{
Encode( *ppBytesToEncode, *punSize );
*punSize = GetSize();
delete [](*ppBytesToEncode);
*ppBytesToEncode = new BYTE[*punSize];
if ( !(*ppBytesToEncode) )
return;
::memcpy( *ppBytesToEncode, GetBuffer(), sizeof(BYTE) * *punSize );
}
void Decode(BYTE *pBytesToDecode, unsigned int unSize)
{
std::string sEncodedString;
for ( unsigned int unIndex = 0; unIndex < unSize; unIndex++ )
{
sEncodedString += pBytesToDecode[unIndex];
}
m_sBuffer = Base64Decode( sEncodedString );
}
void Decode(BYTE **ppBytesToDecode, unsigned int *punSize)
{
Decode( *ppBytesToDecode, *punSize );
*punSize = GetSize();
delete [](*ppBytesToDecode);
*ppBytesToDecode = new BYTE[*punSize];
if ( !(*ppBytesToDecode) )
return;
::memcpy( *ppBytesToDecode, GetBuffer(), sizeof(BYTE) * *punSize );
}
private:
inline bool IsBase64(unsigned char nChar)
{
return ( isalnum(nChar) || ( '+' == nChar ) || ( '/' == nChar ) );
}
std::string Base64Encode(unsigned char const *pBuffer, unsigned int unSize)
{
std::string sResult;
unsigned char arrChar_3[3];
unsigned char arrChar_4[4];
int nI = 0;
int nJ = 0;
while ( unSize-- )
{
arrChar_3[nI++] = *(pBuffer++);
if ( 3 == nI )
{
arrChar_4[0] = ( arrChar_3[0] & 0xfc ) >> 2;
arrChar_4[1] = ( ( arrChar_3[0] & 0x03 ) << 4 ) + ( ( arrChar_3[1] & 0xf0 ) >> 4);
arrChar_4[2] = ( ( arrChar_3[1] & 0x0f ) << 2 ) + ( ( arrChar_3[2] & 0xc0 ) >> 6);
arrChar_4[3] = arrChar_3[2] & 0x3f;
for( nI = 0; nI < 4 ; nI++ )
{
sResult += c_sBase64Chars[arrChar_4[nI]];
}
nI = 0;
}
}
if ( nI )
{
for( nJ = nI; nJ < 3; nJ++ )
{
arrChar_3[nJ] = '\0';
}
arrChar_4[0] = ( arrChar_3[0] & 0xfc ) >> 2;
arrChar_4[1] = ( ( arrChar_3[0] & 0x03 ) << 4 ) + ( ( arrChar_3[1] & 0xf0 ) >> 4 );
arrChar_4[2] = ( ( arrChar_3[1] & 0x0f ) << 2 ) + ( ( arrChar_3[2] & 0xc0 ) >> 6 );
arrChar_4[3] = arrChar_3[2] & 0x3f;
for ( nJ = 0; nJ < nI + 1; nJ++ )
{
sResult += c_sBase64Chars[arrChar_4[nJ]];
}
while( nI++ < 3 )
{
sResult += '=';
}
}
return sResult;
}
std::string Base64Decode(std::string const& sEncodedString)
{
std::string sResult;
int nSize = sEncodedString.size();
int nI = 0;
int nJ = 0;
int nPos = 0;
unsigned char arrChar_3[3];
unsigned char arrChar_4[4];
while ( nSize-- && ( sEncodedString[nPos] != '=' ) && IsBase64( sEncodedString[nPos] ) )
{
arrChar_4[nI++] = sEncodedString[nPos];
nPos++;
if ( 4 == nI )
{
for ( nI = 0; nI < 4; nI++ )
{
arrChar_4[nI] = c_sBase64Chars.find( arrChar_4[nI] );
}
arrChar_3[0] = ( arrChar_4[0] << 2 ) + ( ( arrChar_4[1] & 0x30 ) >> 4 );
arrChar_3[1] = ( ( arrChar_4[1] & 0xf ) << 4 ) + ( ( arrChar_4[2] & 0x3c ) >> 2 );
arrChar_3[2] = ( ( arrChar_4[2] & 0x3 ) << 6 ) + arrChar_4[3];
for ( nI = 0; nI < 3; nI++ )
{
sResult += arrChar_3[nI];
}
nI = 0;
}
}
if ( nI )
{
for ( nJ = nI; nJ < 4; nJ++ )
{
arrChar_4[nJ] = 0;
}
for ( nJ = 0; nJ < 4; nJ++)
{
arrChar_4[nJ] = c_sBase64Chars.find( arrChar_4[nJ] );
}
arrChar_3[0] = ( arrChar_4[0] << 2 ) + ( ( arrChar_4[1] & 0x30 ) >> 4 );
arrChar_3[1] = ( ( arrChar_4[1] & 0xf ) << 4 ) + ( ( arrChar_4[2] & 0x3c ) >> 2 );
arrChar_3[2] = ( ( arrChar_4[2] & 0x3 ) << 6 ) + arrChar_4[3];
for ( nJ = 0; nJ < nI - 1; nJ++ )
{
sResult += arrChar_3[nJ];
}
}
return sResult;
}
private:
std::string m_sBuffer;
};
#endif /* _BASE_64_H */
\ No newline at end of file
#pragma once
#include "atldefine.h"
//------------------------------------------------------------------------------------------------------
// CBaseThread
//------------------------------------------------------------------------------------------------------
// ,
//------------------------------------------------------------------------------------------------------
class CBaseThread
{
public :
CBaseThread ( DWORD_PTR dwAffinityMask = 0 )
: m_bRunThread ( FALSE )
, m_hThread ( NULL )
, m_lPercents ( 0 )
, m_lError ( NO_ERROR )
, m_sError ( "" )
, m_dwAffinityMask ( dwAffinityMask )
, m_bSuspend ( FALSE )
{
if ( 0 == m_dwAffinityMask )
{
DWORD_PTR dwProcessAffinityMask = 0;
DWORD_PTR dwSystemAffinityMask = 0;
if ( GetProcessAffinityMask ( GetCurrentProcess (), &dwProcessAffinityMask, &dwSystemAffinityMask ) )
m_dwAffinityMask = dwProcessAffinityMask;
}
}
virtual ~CBaseThread ()
{
StopWork ();
}
virtual void StartWork ( LONG lPriority )
{
// -
if ( m_bRunThread )
return;
m_lPercents = 0;
m_lError = NO_ERROR;
m_sError = "";
m_bSuspend = FALSE;
StartThread ();
SetThreadPriority ( m_hThread, lPriority );
m_lThreadPriority = lPriority;
}
virtual void SuspendWork ()
{
m_bSuspend = TRUE;
}
virtual void ResumeWork ()
{
m_bSuspend = FALSE;
}
virtual void StopWork ()
{
if ( !m_bRunThread )
return;
m_bRunThread = FALSE;
if ( NULL != m_hThread )
WaitForSingleObject ( m_hThread, INFINITE );
RELEASEHANDLE ( m_hThread );
}
virtual void WaitThread ()
{
if ( !m_bRunThread )
return;
if ( NULL != m_hThread )
WaitForSingleObject ( m_hThread, INFINITE );
m_bRunThread = FALSE;
RELEASEHANDLE ( m_hThread );
}
BOOL IsSuspended () const
{
return m_bSuspend;
}
BOOL IsRunned () const
{
return m_bRunThread;
}
LONG GetPercents () const
{
return m_lPercents;
}
LONG GetError () const
{
return m_lError;
}
CString GetErrorString () const
{
return m_sError;
}
HANDLE GetHandle ()
{
return m_hThread;
}
LONG GetPriority () const
{
return GetThreadPriority ( m_hThread );
}
protected :
void StartThread ()
{
DWORD dwTmp;
m_bRunThread = TRUE;
m_hThread = CreateThread ( NULL, 0, &_ThreadProc, ( LPVOID ) this, 0, &dwTmp );
SetThreadAffinityMask ( m_hThread, m_dwAffinityMask );
}
void CheckSuspend ()
{
// , 10
while ( m_bSuspend && m_bRunThread )
Sleep ( 10 );
}
static DWORD WINAPI CBaseThread::_ThreadProc ( LPVOID pv )
{
CBaseThread *pThis = ( CBaseThread* ) pv;
return pThis->ThreadProc ();
}
virtual DWORD ThreadProc () = 0;
protected :
HANDLE m_hThread; //
BOOL m_bRunThread; //
BOOL m_bSuspend; //
DWORD_PTR m_dwAffinityMask; //
LONG m_lError; //
CString m_sError; //
LONG m_lThreadPriority; //
LONG m_lPercents; //
};
This diff is collapsed.
#pragma once
#include "BaseThread.h"
#include <wininet.h>
#pragma comment(lib, "Wininet")
//------------------------------------------------------------------------------------------------------
//
#define MAX_SIZE 256
//
#define DOWNLOAD_FILE_SIZE 32768
#define MAX_SINGLE_DOWNLOAD_FILE_SIZE 524288
//
#define CONTENT_RANGE _T("bytes 0-0/")
// CONTENT_RANGE
#define CONTENT_RANGE_SIZE ( 11/*sizeof ( CONTENT_RANGE )*/ - 1 )
//------------------------------------------------------------------------------------------------------
//
//------------------------------------------------------------------------------------------------------
class CFileDownloader : public CBaseThread
{
public :
CFileDownloader (CString sFileUrl, BOOL bDelete = TRUE) : CBaseThread(0)
{
m_pFile = NULL;
m_sFilePath = _T("");
m_sFileUrl = sFileUrl;
m_bComplete = FALSE;
m_bDelete = bDelete;
}
~CFileDownloader ()
{
if ( m_pFile )
{
::fclose( m_pFile );
m_pFile = NULL;
}
if ( m_sFilePath.GetLength() > 0 && m_bDelete )
{
DeleteFileW( m_sFilePath.GetBuffer() );
m_sFilePath = _T("");
}
}
CString GetFilePath()
{
return m_sFilePath;
}
BOOL IsFileDownloaded()
{
return m_bComplete;
}
protected :
unsigned int DownloadFile(CString sFileUrl)
{
//
if ( FALSE == InternetGetConnectedState ( 0, 0 ) )
return S_FALSE;
char sTempPath[MAX_PATH], sTempFile[MAX_PATH];
if ( 0 == GetTempPathA( MAX_PATH, sTempPath ) )
return S_FALSE;
if ( 0 == GetTempFileNameA( sTempPath, "CSS", 0, sTempFile ) )
return S_FALSE;
m_pFile = ::fopen( sTempFile, "wb" );
if ( !m_pFile )
return S_FALSE;
m_sFilePath = CString( sTempFile );
//
HINTERNET hInternetSession = InternetOpen ( _T ("Mozilla/4.0 (compatible; MSIE 5.0; Windows 98)"), INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 );
if ( NULL == hInternetSession )
return S_FALSE;
// ( 0 ( ) )
CString sHTTPHdr = _T ("Range: bytes=0-0");
// ,
HINTERNET hInternetOpenURL = InternetOpenUrl ( hInternetSession, sFileUrl, sHTTPHdr, -1, INTERNET_FLAG_RESYNCHRONIZE, 0 );
if ( NULL != hInternetOpenURL )
{
// ,
if ( TRUE == QueryStatusCode ( hInternetOpenURL, TRUE ) )
{
// ,
LONGLONG nFileSize = IsAccept_Ranges ( hInternetOpenURL );
//
InternetCloseHandle ( hInternetOpenURL );
if ( -1 == nFileSize )
{
//
//
InternetCloseHandle ( hInternetSession );
// ( DownloadAll)
//
return S_FALSE;
}
else
{
//
LONGLONG nStartByte = 0;
while ( m_bRunThread )
{
// -
if ( nStartByte == nFileSize - 1 )
{
//
InternetCloseHandle ( hInternetSession );
return S_OK;
}
LONGLONG nEndByte = nStartByte + DOWNLOAD_FILE_SIZE;
// , ( 1 , , .. 0 )
if ( nEndByte >= nFileSize )
nEndByte = nFileSize - 1;
//
BYTE arrBuffer [ DOWNLOAD_FILE_SIZE ] = { 0 };
DWORD dwBytesDownload = DownloadFilePath ( hInternetSession, arrBuffer, nStartByte, nEndByte, sFileUrl );
nStartByte = nEndByte;
if ( -1 == dwBytesDownload )
{
// - !!!!
//
InternetCloseHandle ( hInternetSession );
// ( DownloadAll)
//
return S_FALSE;
}
//
::fwrite( (BYTE*)arrBuffer, 1, dwBytesDownload, m_pFile );
::fflush( m_pFile );
//
CheckSuspend ();
}
}
}
else
{
//
InternetCloseHandle ( hInternetSession );
// ( DownloadAll)
//
return S_FALSE;
}
}
else
{
//
InternetCloseHandle ( hInternetSession );
// ( DownloadAll)
//
return S_FALSE;
}
//
InternetCloseHandle ( hInternetSession );
return S_OK;
}
DWORD DownloadFilePath ( HINTERNET hInternet, LPBYTE pBuffer, LONGLONG nStartByte, LONGLONG nEndByte, CString sFileURL )
{
//
if ( NULL == hInternet )
return -1;
//
if ( nStartByte > nEndByte || !pBuffer )
return -1;
// ( nEndByte - nStartByte )
CString sHTTPHdr = _T (""); sHTTPHdr.Format ( _T ("Range: bytes=%I64d-%I64d"), nStartByte, nEndByte );
//
HINTERNET hInternetOpenURL = InternetOpenUrl ( hInternet, sFileURL, sHTTPHdr, -1, INTERNET_FLAG_RESYNCHRONIZE, 0 );
if ( NULL == hInternetOpenURL )
return -1;
// ,
if ( FALSE == QueryStatusCode ( hInternetOpenURL, TRUE ) )
{
//
InternetCloseHandle ( hInternetOpenURL );
return -1;
}
//
DWORD dwBytesRead = 0;
//
if ( FALSE == InternetReadFile ( hInternetOpenURL, pBuffer, DOWNLOAD_FILE_SIZE, &dwBytesRead ) )
{
//
InternetCloseHandle ( hInternetOpenURL );
return -1;
}
//
InternetCloseHandle ( hInternetOpenURL );
return dwBytesRead;
}
virtual DWORD ThreadProc ()
{
m_bComplete = FALSE;
CoInitialize ( NULL );
if ( S_OK != DownloadFile ( m_sFileUrl ) )
{
HRESULT hrResultAll = DownloadFileAll(m_sFileUrl, m_sFilePath);
if (S_OK != hrResultAll)
{
m_bRunThread = FALSE;
CoUninitialize ();
return 0;
}
}
m_bRunThread = FALSE;
CoUninitialize ();
m_bComplete = TRUE;
return 0;
}
BOOL QueryStatusCode ( HINTERNET hInternet, BOOL bIsRanges )
{
// -
if ( NULL == hInternet )
return FALSE;
//
INT nResult = 0;
// ( = 4 )
DWORD dwLengthDataSize = 4;
// , - FALSE
if ( FALSE == HttpQueryInfo ( hInternet, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &nResult, &dwLengthDataSize, NULL ) )
return FALSE;
// ,
if ( HTTP_STATUS_NOT_FOUND == nResult )
{
// , -
return FALSE;
}
else if ( ( HTTP_STATUS_OK != nResult && FALSE == bIsRanges ) || ( HTTP_STATUS_PARTIAL_CONTENT != nResult && TRUE == bIsRanges ) )
{
// -
return FALSE;
}
// ,
return TRUE;
}
// , -1 ,
LONGLONG IsAccept_Ranges ( HINTERNET hInternet )
{
// -
if ( NULL == hInternet )
return -1;
//
char arrResult [ MAX_SIZE ] = { 0 };
//
DWORD dwLengthDataSize = sizeof ( arrResult );
// , - FALSE
if ( FALSE == HttpQueryInfoA ( hInternet, HTTP_QUERY_CONTENT_RANGE, &arrResult, &dwLengthDataSize, NULL ) )
{
//
DWORD dwLastError = GetLastError ();
if ( dwLastError == ERROR_HTTP_HEADER_NOT_FOUND )
{
// ,
return -1;
}
// - - FALSE
return -1;
}
// 0,
if ( 0 >= dwLengthDataSize )
return -1;
// CString
CString strResult ( arrResult );
//
LONGLONG nFileSize = 0;
try
{
//
INT nStartIndex = strResult.Find ( CONTENT_RANGE );
if ( -1 == nStartIndex )
return -1;
//
strResult = strResult.Mid ( nStartIndex + CONTENT_RANGE_SIZE );
// , LONGLONG
nFileSize = _wtoi64 ( strResult.GetBuffer () );
// .. 0 ( 1 )
if ( 0 < nFileSize )
nFileSize += 1;
}
catch ( ... )
{
//
return -1;
}
// , ,
return nFileSize;
}
HRESULT DownloadFileAll(CString sFileURL, CString strFileOutput)
{
if ( m_pFile )
{
::fclose( m_pFile );
m_pFile = NULL;
}
//
return URLDownloadToFile (NULL, sFileURL, strFileOutput, NULL, NULL);
}
public:
static bool IsNeedDownload(CString FilePath)
{
int n1 = FilePath.Find(_T("www."));
int n2 = FilePath.Find(_T("http://"));
int n3 = FilePath.Find(_T("ftp://"));
int n4 = FilePath.Find(_T("https://"));
if (((n1 >= 0) && (n1 < 10)) || ((n2 >= 0) && (n2 < 10)) || ((n3 >= 0) && (n3 < 10)) || ((n4 >= 0) && (n4 < 10)))
return true;
return false;
}
protected :
FILE *m_pFile; //
CString m_sFilePath; //
CString m_sFileUrl; //
BOOL m_bComplete; //
BOOL m_bDelete; //
};
for %%a in (.\..\res\XSL\*.xsl) do .\..\..\..\..\..\Redist\AVSOfficeStudio\EncryptRes.exe -e %%a
pause
// Microsoft Visual C++ generated resource script.
//
#include "resource.h"
#include "version.h"
#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef APSTUDIO_INVOKED
#include "targetver.h"
#endif
#include "winres.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
// Russian resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS)
#ifdef _WIN32
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
#pragma code_page(1251)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// CRPT
//
IDR_CRPT1 CRPT "xsl\\2htm-comments.crpt"
IDR_CRPT2 CRPT "xsl\\2htm-common.crpt"
IDR_CRPT3 CRPT "xsl\\2htm-content.crpt"
IDR_CRPT4 CRPT "xsl\\2htm-fields.crpt"
IDR_CRPT5 CRPT "xsl\\2htm-fonts.crpt"
IDR_CRPT6 CRPT "xsl\\2htm-footnotes.crpt"
IDR_CRPT7 CRPT "xsl\\2htm-frames.crpt"
IDR_CRPT8 CRPT "xsl\\2htm-indexes.crpt"
IDR_CRPT9 CRPT "xsl\\2htm-lists.crpt"
IDR_CRPT10 CRPT "xsl\\2htm-ole.crpt"
IDR_CRPT11 CRPT "xsl\\2htm-pictures.crpt"
IDR_CRPT12 CRPT "xsl\\2htm-relationships.crpt"
IDR_CRPT13 CRPT "xsl\\2htm-sections.crpt"
IDR_CRPT14 CRPT "xsl\\2htm-settings.crpt"
IDR_CRPT15 CRPT "xsl\\2htm-shapes.crpt"
IDR_CRPT16 CRPT "xsl\\2htm-styles.crpt"
IDR_CRPT17 CRPT "xsl\\2htm-tables.crpt"
IDR_CRPT18 CRPT "xsl\\2htm-track.crpt"
IDR_CRPT19 CRPT "xsl\\common-meta.crpt"
IDR_CRPT20 CRPT "xsl\\measures.crpt"
IDR_CRPT21 CRPT "xsl\\oox2htm.crpt"
IDR_CRPT22 CRPT "xsl\\oox2htm-compute-size.crpt"
IDR_CRPT23 CRPT "xsl\\utils.crpt"
IDR_CRPT24 CRPT "xsl\\2oox-websettings.crpt"
IDR_CRPT25 CRPT "xsl\\2oox-app.crpt"
IDR_CRPT26 CRPT "xsl\\2oox-common.crpt"
IDR_CRPT27 CRPT "xsl\\2oox-content_types.crpt"
IDR_CRPT28 CRPT "xsl\\2oox-core.crpt"
IDR_CRPT29 CRPT "xsl\\2oox-document.crpt"
IDR_CRPT30 CRPT "xsl\\2oox-fonttable.crpt"
IDR_CRPT31 CRPT "xsl\\2oox-relationships.crpt"
IDR_CRPT32 CRPT "xsl\\2oox-rels.crpt"
IDR_CRPT33 CRPT "xsl\\2oox-settings.crpt"
IDR_CRPT34 CRPT "xsl\\2oox-styles.crpt"
IDR_CRPT35 CRPT "xsl\\2oox-theme.crpt"
IDR_CRPT36 CRPT "xsl\\2oox-measures.crpt"
IDR_CRPT37 CRPT "xsl\\2oox-styles-common.crpt"
IDR_CRPT38 CRPT "xsl\\2oox-numbering.crpt"
IDR_CRPT39 CRPT "xsl\\html2xhtml.crpt"
#endif // Russian resources
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
#pragma code_page(1252)
#endif //_WIN32
/////////////////////////////////////////////////////////////////////////////
//
// REGISTRY
//
IDR_AVSHTMLFILE REGISTRY "AVSOfficeHtmlFile.rgs"
#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#ifndef APSTUDIO_INVOKED\r\n"
"#include ""targetver.h""\r\n"
"#endif\r\n"
"#include ""winres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"1 TYPELIB ""AVSOfficeHtmlFile.tlb""\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Version
//
VS_VERSION_INFO VERSIONINFO
FILEVERSION INTVER
PRODUCTVERSION INTVER
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904e4"
BEGIN
VALUE "CompanyName", "Online Media Technologies Ltd."
VALUE "FileDescription", "AVSOfficeHtmlFile ActiveX DLL"
VALUE "FileVersion", STRVER
VALUE "LegalCopyright", "Online Media Technologies Ltd. Copyright (c) 2009"
VALUE "InternalName", "AVSOfficeHtmlFile.dll"
VALUE "OriginalFilename", "AVSOfficeHtmlFile.dll"
VALUE "ProductName", "AVSOfficeHtmlFile ActiveX DLL"
VALUE "ProductVersion", STRVER
VALUE "OLESelfRegister", ""
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1252
END
END
/////////////////////////////////////////////////////////////////////////////
//
// String Table
//
STRINGTABLE
BEGIN
IDS_PROJNAME "AVSOfficeHtmlFile"
END
STRINGTABLE
BEGIN
IDS_DOCX_XML_01 "_rels/.rels"
IDS_DOCX_XML_02 "word/styles.xml"
IDS_DOCX_XML_03 "docProps/app.xml"
END
STRINGTABLE
BEGIN
IDS_DOCX_XML_04 "docProps/core.xml"
IDS_DOCX_XML_05 "word/_rels/document.xml.rels"
IDS_DOCX_XML_06 "word/document.xml"
IDS_DOCX_XML_07 "word/numbering.xml"
IDS_DOCX_XML_08 "word/footnotes.xml"
IDS_DOCX_XML_09 "word/endnotes.xml"
END
STRINGTABLE
BEGIN
IDS_CONV_CRPT_01 "2htm-comments.crpt"
IDS_CONV_CRPT_02 "2htm-common.crpt"
IDS_CONV_CRPT_03 "2htm-content.crpt"
IDS_CONV_CRPT_04 "2htm-fields.crpt"
IDS_CONV_CRPT_05 "2htm-fonts.crpt"
IDS_CONV_CRPT_06 "2htm-footnotes.crpt"
IDS_CONV_CRPT_07 "2htm-frames.crpt"
IDS_CONV_CRPT_08 "2htm-indexes.crpt"
IDS_CONV_CRPT_09 "2htm-lists.crpt"
IDS_CONV_CRPT_10 "2htm-ole.crpt"
IDS_CONV_CRPT_11 "2htm-pictures.crpt"
IDS_CONV_CRPT_12 "2htm-relationships.crpt"
IDS_CONV_CRPT_13 "2htm-sections.crpt"
IDS_CONV_CRPT_14 "2htm-settings.crpt"
IDS_CONV_CRPT_15 "2htm-shapes.crpt"
END
STRINGTABLE
BEGIN
IDS_CONV_CRPT_16 "2htm-styles.crpt"
IDS_CONV_CRPT_17 "2htm-tables.crpt"
IDS_CONV_CRPT_18 "2htm-track.crpt"
IDS_CONV_CRPT_19 "common-meta.crpt"
IDS_CONV_CRPT_20 "measures.crpt"
IDS_CONV_CRPT_21 "oox2htm.crpt"
IDS_CONV_CRPT_22 "oox2htm-compute-size.crpt"
IDS_CONV_CRPT_23 "utils.crpt"
IDS_CONV_CRPT_24 "2oox-websettings.crpt"
IDS_CONV_CRPT_25 "2oox-app.crpt"
IDS_CONV_CRPT_26 "2oox-common.crpt"
IDS_CONV_CRPT_27 "2oox-content_types.crpt"
IDS_CONV_CRPT_28 "2oox-core.crpt"
IDS_CONV_CRPT_29 "2oox-document.crpt"
IDS_CONV_CRPT_30 "2oox-fonttable.crpt"
IDS_CONV_CRPT_31 "2oox-relationships.crpt"
END
STRINGTABLE
BEGIN
IDS_CONV_CRPT_32 "2oox-rels.crpt"
IDS_CONV_CRPT_33 "2oox-settings.crpt"
IDS_CONV_CRPT_34 "2oox-styles.crpt"
IDS_CONV_CRPT_35 "2oox-theme.crpt"
IDS_CONV_CRPT_36 "2oox-measures.crpt"
IDS_CONV_CRPT_37 "2oox-styles-common.crpt"
IDS_CONV_CRPT_38 "2oox-numbering.crpt"
IDS_CONV_CRPT_39 "html2xhtml.crpt"
END
#endif // English (U.S.) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
//1 TYPELIB "AVSOfficeHtmlFile.tlb"
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
HKCR
{
NoRemove AppID
{
'%APPID%' = s 'AVSOfficeHtmlFile'
'AVSOfficeHtmlFile.DLL'
{
val AppID = s '%APPID%'
}
}
}
========================================================================
ACTIVE TEMPLATE LIBRARY : AVSOfficeHtmlFile Project Overview
========================================================================
AppWizard has created this AVSOfficeHtmlFile project for you to use as the starting point for
writing your Dynamic Link Library (DLL).
This project is implemented with Visual C++ attributes.
This file contains a summary of what you will find in each of the files that
make up your project.
AVSOfficeHtmlFile.vcproj
This is the main project file for VC++ projects generated using an Application Wizard.
It contains information about the version of Visual C++ that generated the file, and
information about the platforms, configurations, and project features selected with the
Application Wizard.
_AVSOfficeHtmlFile.idl
This file will be generated by the compiler when the project is built. It will contain the IDL
definitions of the type library, the interfaces and co-classes defined in your project.
This file will be processed by the MIDL compiler to generate:
C++ interface definitions and GUID declarations (_AVSOfficeHtmlFile.h)
GUID definitions (_AVSOfficeHtmlFile_i.c)
A type library (_AVSOfficeHtmlFile.tlb)
Marshaling code (_AVSOfficeHtmlFile_p.c and dlldata.c)
AVSOfficeHtmlFile.cpp
This file contains the object map and the implementation of your DLL's exports.
AVSOfficeHtmlFile.rc
This is a listing of all of the Microsoft Windows resources that the
program uses.
AVSOfficeHtmlFile.def
This module-definition file provides the linker with information about the exports
required by your DLL. It contains exports for:
DllGetClassObject
DllCanUnloadNow
GetProxyDllInfo
DllRegisterServer
DllUnregisterServer
/////////////////////////////////////////////////////////////////////////////
Other standard files:
StdAfx.h, StdAfx.cpp
These files are used to build a precompiled header (PCH) file
named AVSOfficeHtmlFile.pch and a precompiled types file named StdAfx.obj.
Resource.h
This is the standard header file that defines resource IDs.
/////////////////////////////////////////////////////////////////////////////
Proxy/stub DLL project and module definition file:
AVSOfficeHtmlFileps.vcproj
This file is the project file for building a proxy/stub DLL if necessary.
The IDL file in the main project must contain at least one interface and you must
first compile the IDL file before building the proxy/stub DLL. This process generates
dlldata.c, AVSOfficeHtmlFile_i.c and AVSOfficeHtmlFile_p.c which are required
to build the proxy/stub DLL.
AVSOfficeHtmlFileps.def
This module definition file provides the linker with information about the exports
required by the proxy/stub.
/////////////////////////////////////////////////////////////////////////////
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file.
// Used by AVSOfficeHtmlFile.rc
//
#define IDS_PROJNAME 100
#define IDR_AVSHTMLFILE 101
#define IDR_HTMLFILE 102
/*
#define IDR_XSL1 201
#define IDR_XSL2 202
#define IDR_XSL3 203
#define IDR_XSL4 204
#define IDR_XSL5 205
#define IDR_XSL6 206
#define IDR_XSL7 207
#define IDR_XSL8 208
#define IDR_XSL9 209
#define IDR_XSL10 210
#define IDR_XSL11 211
#define IDR_XSL12 212
#define IDR_XSL13 213
#define IDR_XSL14 214
#define IDR_XSL15 215
#define IDR_XSL16 216
#define IDR_XSL17 217
#define IDR_XSL18 218
#define IDR_XSL19 219
#define IDR_XSL20 220
#define IDR_XSL21 221
#define IDR_XSL22 222
#define IDR_XSL23 223
#define IDR_XSL24 224
#define IDR_XSL25 225
#define IDR_XSL26 226
#define IDR_XSL27 227
#define IDR_XSL28 228
#define IDR_XSL29 229
#define IDR_XSL30 230
#define IDR_XSL31 231
#define IDR_XSL32 232
#define IDR_XSL33 233
#define IDR_XSL34 234
#define IDR_XSL35 235
#define IDR_XSL36 236
#define IDR_XSL37 237
#define IDR_XSL38 238
#define IDR_XSL39 239
*/
#define IDR_CRPT1 201
#define IDR_CRPT2 202
#define IDR_CRPT3 203
#define IDR_CRPT4 204
#define IDR_CRPT5 205
#define IDR_CRPT6 206
#define IDR_CRPT7 207
#define IDR_CRPT8 208
#define IDR_CRPT9 209
#define IDR_CRPT10 210
#define IDR_CRPT11 211
#define IDR_CRPT12 212
#define IDR_CRPT13 213
#define IDR_CRPT14 214
#define IDR_CRPT15 215
#define IDR_CRPT16 216
#define IDR_CRPT17 217
#define IDR_CRPT18 218
#define IDR_CRPT19 219
#define IDR_CRPT20 220
#define IDR_CRPT21 221
#define IDR_CRPT22 222
#define IDR_CRPT23 223
#define IDR_CRPT24 224
#define IDR_CRPT25 225
#define IDR_CRPT26 226
#define IDR_CRPT27 227
#define IDR_CRPT28 228
#define IDR_CRPT29 229
#define IDR_CRPT30 230
#define IDR_CRPT31 231
#define IDR_CRPT32 232
#define IDR_CRPT33 233
#define IDR_CRPT34 234
#define IDR_CRPT35 235
#define IDR_CRPT36 236
#define IDR_CRPT37 237
#define IDR_CRPT38 238
#define IDR_CRPT39 239
#define IDS_DOCX_XML_01 301
#define IDS_DOCX_XML_02 302
#define IDS_DOCX_XML_03 303
#define IDS_DOCX_XML_04 304
#define IDS_DOCX_XML_05 305
#define IDS_DOCX_XML_06 306
#define IDS_DOCX_XML_07 307
#define IDS_DOCX_XML_08 308
#define IDS_DOCX_XML_09 309
/*
#define IDS_CONV_XSL_01 401
#define IDS_CONV_XSL_02 402
#define IDS_CONV_XSL_03 403
#define IDS_CONV_XSL_04 404
#define IDS_CONV_XSL_05 405
#define IDS_CONV_XSL_06 406
#define IDS_CONV_XSL_07 407
#define IDS_CONV_XSL_08 408
#define IDS_CONV_XSL_09 409
#define IDS_CONV_XSL_10 410
#define IDS_CONV_XSL_11 411
#define IDS_CONV_XSL_12 412
#define IDS_CONV_XSL_13 413
#define IDS_CONV_XSL_14 414
#define IDS_CONV_XSL_15 415
#define IDS_CONV_XSL_16 416
#define IDS_CONV_XSL_17 417
#define IDS_CONV_XSL_18 418
#define IDS_CONV_XSL_19 419
#define IDS_CONV_XSL_20 420
#define IDS_CONV_XSL_21 421
#define IDS_CONV_XSL_22 422
#define IDS_CONV_XSL_23 423
#define IDS_CONV_XSL_24 424
#define IDS_CONV_XSL_25 425
#define IDS_CONV_XSL_26 426
#define IDS_CONV_XSL_27 427
#define IDS_CONV_XSL_28 428
#define IDS_CONV_XSL_29 429
#define IDS_CONV_XSL_30 430
#define IDS_CONV_XSL_31 431
#define IDS_CONV_XSL_32 432
#define IDS_CONV_XSL_33 433
#define IDS_CONV_XSL_34 434
#define IDS_CONV_XSL_35 435
#define IDS_CONV_XSL_36 436
#define IDS_CONV_XSL_37 437
#define IDS_CONV_XSL_38 438
#define IDS_CONV_XSL_39 439
*/
#define IDS_CONV_CRPT_01 401
#define IDS_CONV_CRPT_02 402
#define IDS_CONV_CRPT_03 403
#define IDS_CONV_CRPT_04 404
#define IDS_CONV_CRPT_05 405
#define IDS_CONV_CRPT_06 406
#define IDS_CONV_CRPT_07 407
#define IDS_CONV_CRPT_08 408
#define IDS_CONV_CRPT_09 409
#define IDS_CONV_CRPT_10 410
#define IDS_CONV_CRPT_11 411
#define IDS_CONV_CRPT_12 412
#define IDS_CONV_CRPT_13 413
#define IDS_CONV_CRPT_14 414
#define IDS_CONV_CRPT_15 415
#define IDS_CONV_CRPT_16 416
#define IDS_CONV_CRPT_17 417
#define IDS_CONV_CRPT_18 418
#define IDS_CONV_CRPT_19 419
#define IDS_CONV_CRPT_20 420
#define IDS_CONV_CRPT_21 421
#define IDS_CONV_CRPT_22 422
#define IDS_CONV_CRPT_23 423
#define IDS_CONV_CRPT_24 424
#define IDS_CONV_CRPT_25 425
#define IDS_CONV_CRPT_26 426
#define IDS_CONV_CRPT_27 427
#define IDS_CONV_CRPT_28 428
#define IDS_CONV_CRPT_29 429
#define IDS_CONV_CRPT_30 430
#define IDS_CONV_CRPT_31 431
#define IDS_CONV_CRPT_32 432
#define IDS_CONV_CRPT_33 433
#define IDS_CONV_CRPT_34 434
#define IDS_CONV_CRPT_35 435
#define IDS_CONV_CRPT_36 436
#define IDS_CONV_CRPT_37 437
#define IDS_CONV_CRPT_38 438
#define IDS_CONV_CRPT_39 439
// Next default values for new objects
//
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 242
#define _APS_NEXT_COMMAND_VALUE 32768
#define _APS_NEXT_CONTROL_VALUE 201
#define _APS_NEXT_SYMED_VALUE 103
#endif
#endif
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0"
xmlns:pzip="urn:cleverage:xmlns:post-processings:zip"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:oox="urn:oox"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="office text fo style dc meta pzip xlink w oox">
<xsl:template name="InsertComment">
<xsl:param name="Id"/>
<!--<office:annotation>
<xsl:if test="key('Part', 'word/comments.xml')/w:comments/w:comment[@w:id = $Id]/@w:author">
<dc:creator>
<xsl:value-of select="key('Part', 'word/comments.xml')/w:comments/w:comment[@w:id = $Id]/@w:author"/>
</dc:creator>
</xsl:if>
<xsl:if test="key('Part', 'word/comments.xml')/w:comments/w:comment[@w:id = $Id]/@w:date">
<dc:date>
<xsl:value-of select="key('Part', 'word/comments.xml')/w:comments/w:comment[@w:id = $Id]/@w:date"/>
</dc:date>
</xsl:if>
<xsl:apply-templates select="key('Part', 'word/comments.xml')/w:comments/w:comment[@w:id = $Id]/w:p"/>
</office:annotation>-->
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<!--
* Copyright (c) 2006, Clever Age
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Clever Age nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0"
xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0"
xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0"
xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"
xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0"
xmlns:oox="urn:oox"
xmlns="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="w dc xlink oox">
<xsl:template match="w:font">
<style:font-face xmlns="http://www.w3.org/1999/xhtml">
<xsl:attribute name="style:name">
<xsl:value-of select="@w:name"/>
</xsl:attribute>
<xsl:if test="w:charset/@w:val='02'">
<xsl:attribute name="style:font-charset">
<xsl:text>x-symbol</xsl:text>
</xsl:attribute>
</xsl:if>
<xsl:attribute name="svg:font-family">
<xsl:value-of select="@w:name"/>
</xsl:attribute>
<xsl:if test="w:family/@w:val != 'auto' ">
<xsl:attribute name="style:font-family-generic">
<xsl:value-of select="w:family/@w:val"/>
</xsl:attribute>
</xsl:if>
<xsl:if test="w:family/@w:val = 'auto' ">
<xsl:attribute name="style:font-family-generic">system</xsl:attribute>
</xsl:if>
<xsl:if test="w:pitch/@w:val != 'default' ">
<xsl:attribute name="style:font-pitch">
<xsl:value-of select="w:pitch/@w:val"/>
</xsl:attribute>
</xsl:if>
</style:font-face>
</xsl:template>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/html">
<xsl:message>Progress: html</xsl:message>
<Properties>
<Template>Normal.dotm</Template>
<TotalTime>1</TotalTime>
<Pages>1</Pages>
<Words>10</Words>
<Characters>62</Characters>
<Application>AVS Office Studio</Application>
<DocSecurity>0</DocSecurity>
<Lines>1</Lines>
<Paragraphs>1</Paragraphs>
<ScaleCrop>false</ScaleCrop>
<Company>AVS Media</Company>
<LinksUpToDate>false</LinksUpToDate>
<CharactersWithSpaces>71</CharactersWithSpaces>
<SharedDoc>false</SharedDoc>
<HyperlinksChanged>false</HyperlinksChanged>
<AppVersion>12.0000</AppVersion>
</Properties>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/html">
<xsl:message>Progress: html</xsl:message>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="png" ContentType="image/png"/>
<Default Extension="jpeg" ContentType="image/jpeg"/>
<Default Extension="jpg" ContentType="image/jpg"/>
<Default Extension="gif" ContentType="image/gif"/>
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
<Default Extension="xml" ContentType="application/xml"/>
<Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/>
<Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/>
<Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/>
<Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/>
<Override PartName="/word/theme/theme1.xml" ContentType="application/vnd.openxmlformats-officedocument.theme+xml"/>
<Override PartName="/word/fontTable.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml"/>
<Override PartName="/word/webSettings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml"/>
<Override PartName="/word/numbering.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.numbering+xml"/>
<Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/>
</Types>
</xsl:template>
<xsl:template match="text()"/>
</xsl:stylesheet>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment