mirror of
https://github.com/celisej567/source-engine.git
synced 2026-01-03 05:49:41 +03:00
1
This commit is contained in:
131
utils/tfstats/html.cpp
Normal file
131
utils/tfstats/html.cpp
Normal file
@@ -0,0 +1,131 @@
|
||||
//========= Copyright Valve Corporation, All rights reserved. ============//
|
||||
//
|
||||
// Purpose: Implementation of CHTMLFile. see HTML.h for details
|
||||
//
|
||||
// $Workfile: $
|
||||
// $Date: $
|
||||
//
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
// $Log: $
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//=============================================================================//
|
||||
#pragma warning (disable:4786)
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string>
|
||||
#include "TFStatsApplication.h"
|
||||
#include "util.h"
|
||||
#include "html.h"
|
||||
|
||||
//readability aids used when calling constructor
|
||||
const bool CHTMLFile::printBody=true;
|
||||
const bool CHTMLFile::dontPrintBody=false;
|
||||
const bool CHTMLFile::linkStyle=true;
|
||||
const bool CHTMLFile::dontLinkStyle=false;
|
||||
|
||||
using namespace std;
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
// Function: CHTMLFile::CHTMLFile
|
||||
// Purpose:
|
||||
// Input: filename - name of the html file that will be written
|
||||
// title - title of the html document
|
||||
// fPrintBody - true if the <body> tag is to be written.
|
||||
// bgimage - name of a background image, if desired
|
||||
// leftmarg - pixels on the left margin (if desired)
|
||||
// topmarg - pixels on the top margin (if desired)
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
CHTMLFile::CHTMLFile(const char* filenm,const char* title,bool fPrintBody,const char* bgimage,int leftmarg, int topmarg)
|
||||
{
|
||||
strcpy(filename,filenm);
|
||||
open(filename);
|
||||
|
||||
|
||||
write("<HEAD>\n");
|
||||
write("<TITLE> %s </TITLE>\n",title);
|
||||
string csshttppath(g_pApp->supportHTTPPath);
|
||||
csshttppath+="/style.css";
|
||||
|
||||
write("<link rel=\"stylesheet\" href=\"%s\" type=\"text/css\">\n",csshttppath.c_str());
|
||||
write("</HEAD>\n");
|
||||
|
||||
fBody=fPrintBody;
|
||||
if (fBody)
|
||||
{
|
||||
write("<BODY leftmargin=%li topmargin=%li ",leftmarg,topmarg);
|
||||
if (bgimage)
|
||||
write("background=%s",bgimage);
|
||||
else
|
||||
write("bgcolor = black");
|
||||
write(">\n");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
// Function: CHTMLFile::open
|
||||
// Purpose: opens the html file, and writes <html>
|
||||
// Input: filename - the name of the file to open
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
void CHTMLFile::open(const char* filename)
|
||||
{
|
||||
out=fopen(filename,"wt");
|
||||
if (!out)
|
||||
g_pApp->fatalError("Can't open output file \"%s\"!\nPlease make sure that the file does not exist OR\nif the file does exit, make sure it is not read-only",filename);
|
||||
|
||||
write("<HTML>\n");
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
// Function: CHTMLFile::write
|
||||
// Purpose: writes a string to the html file
|
||||
// Input: fmt - format string, like printf suite of functions
|
||||
// ... - list of arguments
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
void CHTMLFile::write(const char* fmt,...)
|
||||
{
|
||||
va_list va;
|
||||
va_start(va,fmt);
|
||||
vfprintf(out,fmt,va);
|
||||
}
|
||||
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
// Function: CHTMLFile::close
|
||||
// Purpose: closes the html file, closing <body> and <html> tags if needed
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
void CHTMLFile::close()
|
||||
{
|
||||
if (!out)
|
||||
return;
|
||||
if (fBody)
|
||||
write("</BODY>\n");
|
||||
|
||||
write("</HTML>\n\n");
|
||||
#ifndef WIN32
|
||||
chmod(filename,PERMIT);
|
||||
#endif
|
||||
fclose(out);
|
||||
out=NULL;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
// Function: CHTMLFile::~CHTMLFile
|
||||
// Purpose: Destructor. closes the file
|
||||
//------------------------------------------------------------------------------------------------------
|
||||
CHTMLFile::~CHTMLFile()
|
||||
{
|
||||
close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void CHTMLFile::hr(int len,bool alignleft)
|
||||
{
|
||||
write("<hr %s width=%li>\n",alignleft?"align=left":"",len);
|
||||
}
|
||||
Reference in New Issue
Block a user