added example file and a test image

This commit is contained in:
Alan Knowles
2002-10-18 05:52:35 +00:00
parent 7bb3228cb8
commit b42572ef0b
3 changed files with 130 additions and 21 deletions

View File

@@ -14,17 +14,39 @@ $data = `$exec`;
// $tree->dump();
class SDX_Parser {
var $outputDir = '';
function start($data) {
$this->transform($data);
// make the subdirectories?
$fh = fopen ('slides.xml','w');
fwrite($fh,$this->slideInfo);
foreach($this->files as $f) {
fwrite($fh,"<slide>slides/gtk_design_strategies/{$f}</slide>\n");
fwrite($fh,"<slide>{$this->outputDir}/{$f}</slide>\n");
}
fwrite($fh,'</presentation>');
fclose($fh);
}
function makeOutputDir() {
if (file_exists($this->outputDir)) {
return;
}
$parts= explode('/',$this->outputDir);
$dir ='';
foreach($parts as $dir) {
$fulldir .= $dir;
if (!file_exists($fulldir)) {
mkdir($fulldir);
}
$fulldir .= '/';
}
}
var $_caseFolding = TRUE;
function transform($xml) {
// Don't process input when it contains no XML elements.
@@ -99,7 +121,7 @@ class SDX_Parser {
$this->_cdataStack[$this->_level] .= $cdata;
}
function bodyStart($a) {
function bodyStart($a) {
echo "--START--\n";
//echo "GOT BODY! $a";
@@ -114,12 +136,7 @@ class SDX_Parser {
}
function hrEnd($a) { }
function h1Start($a) {
//print_r($a);
}
var $files = array();
function h1End($a) {
if ($this->fh) {
@@ -127,14 +144,24 @@ class SDX_Parser {
}
$filename= preg_replace('/[^a-z0-9]+/i','_',$a) . '.xml';
$this->files[] = $filename;
$this->fh = fopen($filename,'w');
$this->makeOutputDir();
$this->fh = fopen($this->outputDir.'/'.$filename,'w');
$this->add('<?xml version="1.0" encoding="ISO-8859-1"?>');
$this->add('<slide>');
$this->add('<title>'.$a.'</title>',TRUE);
$this->fontsize =0;
}
function h5End($a) { // compiler settings
$parts = explode("\n",$a);
foreach($parts as $line) {
$s = strpos($line, ' ');
$left = substr($line,0,$s);
$right = substr($line,$s+1);
$this->$left = $right;
}
}
function pStart($a) {
@@ -189,19 +216,25 @@ class SDX_Parser {
function imgStart($a){
//print_r($a);
// scale the image !
print_r($a);
preg_match('/width: ([0-9]+)px; height: ([0-9]+)px/i', $a['STYLE'],$ar);
print_r($ar);
$it = Image_Transform::factory('GD');
list($filename,$ext) = explode('.',$a['SRC']);
$it->load( getenv('PWD').'/'.$a['SRC'] );
print_r($it);
$it->scaleMaxX( $ar[1]);
if ($a['STYLE']) {
//print_r($a);
preg_match('/width: ([0-9]+)px; height: ([0-9]+)px/i', $a['STYLE'],$ar);
print_r($ar);
$it = Image_Transform::factory('GD');
list($filename,$ext) = explode('.',$a['SRC']);
$it->load( getenv('PWD'). '/'.$a['SRC'] );
print_r($it);
$it->scaleMaxX( $ar[1]);
$newfilename = $filename . '_'.$ar[1] .'.'. $ext;
$it->save(getenv('PWD').'/'.$this->outputDir .'/'.$newfilename);
} else {
copy( getenv('PWD'). '/'.$a['SRC'], getenv('PWD').'/'.$this->outputDir .'/'.$a['SRC']);
$newfilename = $a['SRC'];
}
$newfilename = $filename . '_'.$ar[1] .'.'. $ext;
$it->save(getenv('PWD').'/'.$newfilename);
$this->add(' <image align="center" scale="30%" filename="'. $newfilename.'" />',TRUE);
}

76
tools/example.html Normal file
View File

@@ -0,0 +1,76 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Design Strategies for PHP-GTK Applications</title>
</head>
<body>
<h6>&nbsp;comments are in H6, directives are in H5 : eg. output dir</h6>
<h5>outputDir slides/example<br>
</h5>
<br>
<address><br>
&lt;presentation<br>
&nbsp;&nbsp;&nbsp; jskeyboard="1"</address>
<address>&nbsp;&nbsp;&nbsp; template="php"</address>
<address>&nbsp;&nbsp;&nbsp; logo2="slides/gtk_design/gtk.gif"</address>
<address>&nbsp;&nbsp;&nbsp; navbarbackground="#A68C53"</address>
<address>&nbsp;&nbsp;&nbsp; backgroundfixed="true"</address>
<address>&nbsp;&nbsp;&nbsp; backgroundimage = ""</address>
<address>&nbsp;&nbsp;&nbsp; backgroundcol="#EFECDD"</address>
<address>&nbsp;&nbsp;&nbsp; navsize="1.4em"&gt;</address>
<address>&lt;title&gt;Title of the talk&lt;/title&gt;</address>
<address>&lt;topic&gt;Presents&lt;/topic&gt;</address>
<address>&lt;event&gt;Demo&lt;/event&gt;</address>
<address>&lt;location&gt;where&lt;/location&gt;</address>
<address>&lt;date&gt;November 5, 2002&lt;/date&gt;</address>
<address>&lt;speaker&gt;Alan Knowles&lt;/speaker&gt;</address>
<address>&lt;company&gt;Freelance Consultant&lt;/company&gt;</address>
<address>&lt;email&gt;alan_k@php.net&lt;/email&gt;</address>
<address>&lt;url&gt;http://conf.php.net/pres&lt;/url&gt;</address>
<h1>First Page headline&nbsp;</h1>
<ul>
<li>usage </li>
</ul>
<table cellpadding="2" cellspacing="2" border="1"
style="text-align: left;" width="100%">
<tbody>
<tr>
<td valign="top">
<pre>&lt;?php<br>php HTML2pres.php example.html<br>?&gt; </pre>
</td>
</tr>
</tbody>
</table>
<hr width="100%" size="2">
<h1>Page 2</h1>
<ul>
some bullet points
</ul>
<hr width="100%" size="2">
<h1>An image page</h1>
<img src="test.png" title="" alt="a" style="width: 150px; height: 53px;">
<hr width="100%" size="2">
<h1>a page with some code</h1>
<ul>
<li>notes<br>
</li>
<li>notes</li>
</ul>
<table cellpadding="2" cellspacing="2" border="1"
style="text-align: left;" width="100%">
<tbody>
<tr>
<td valign="top">
<pre>&lt;?php<br>echo "hello world";<br><br>?&gt; </pre>
</td>
</tr>
</tbody>
</table>
<hr width="100%" size="2">&nbsp;<br>
<br>
</body>
</html>

BIN
tools/test.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB