ACC SHELL
<?php
/*
WFeeder - WebRex feeder class v0.9 RC
*/
include "_konstanty.php";
include_once "pripojenidb.php";
class WStruct
{
var $nazev;
var $popisek;
var $odkaz;
var $email;
var $obrazek;
var $children;
};
class WFeeder
{
var $handler;
var $indexes;
var $pos;
var $data;
var $project_cnt;
function WFeeder()
{
$this->handler = 0;
$this->project_cnt = 0;
$this->data = "";
$this->indexes = "";
$this->pos = array();
$this->pos = NULL;
}
function CreateXML($filepath,$filename)
{
$file = $filepath.$filename;
if(file_exists($file))
@unlink($file);
$this->handler = fopen($file,"w");
if($this->handler)
fwrite($this->handler,"<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<result>");
else
return false;
return true;
}
function CloseXML()
{
if($this->handler)
{
fwrite($this->handler,"\n</result>");
fclose($this->handler);
}
else
return false;
return true;
}
function InsertXML($id_project,$name,$desc,$link,$email,$picture)
{
$data = "";
if($id_project && $name && $desc && $link && $email && $picture)
{
$data .= "\n\t<project id=\"".$id_project."\">\n";
$data .= "\t\t<nazev>".iconv("WINDOWS-1250","UTF-8",$name)."</nazev>\n";
$data .= "\t\t<popisek>".iconv("WINDOWS-1250","UTF-8",$desc)."</popisek>\n";
$data .= "\t\t<odkaz>".iconv("WINDOWS-1250","UTF-8",$link)."</odkaz>\n";
$data .= "\t\t<email>".iconv("WINDOWS-1250","UTF-8",$email)."</email>\n";
$data .= "\t\t<obrazek>".iconv("WINDOWS-1250","UTF-8",$picture)."</obrazek>\n";
$data .= "\t</project>";
if($this->handler)
{
fwrite($this->handler,$data);
}
else
return false;
}
else
return false;
return true;
}
function parseXML($filepath,$filename)
{
$file = $filepath.$filename;
$xml = xml_parser_create("UTF-8");
$tmp_data = implode("",file($file));
xml_parser_set_option($xml,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($xml,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($xml,$tmp_data,$values,$index);
$this->data = $values;
$this->indexes = $index;
xml_parser_free($xml);
$elements = $stack = array();
foreach($index as $tag)
{
$idx = count($elements);
if($tag['type'] == "complete" || $tag == "open")
{
$elements[$idx] = new WStruct;
$elements[$idx]->nazev = $tag['nazev'];
$elements[$idx]->popisek = $tag['popisek'];
$elements[$idx]->odkaz = $tag['odkaz'];
$elements[$idx]->email = $tag['email'];
$elements[$idx]->obrazek = $tag['obrazek'];
if($tag['type'] == "open")
{
$elements[$idx]->children = array();
$stack[count($stack)] = &$elements;
$elements = &$elements[$idx]->children;
}
}
if($tag['type'] == "close")
{
$elements = &$stack[count($stack) - 1];
unset($stack[count($stack) - 1]);
}
}
return $elements[0];
}
function countXML()
{
$i = $n = 0;
while($this->data[$i]["tag"])
{
if($this->data[$i]["tag"] == "nazev")
{
$this->pos[$n] = $i;
$n++;
}
$i++;
}
return $n;
}
function showXML($from, $num)
{
$tmp = --$from;
$to = $tmp + $num;
while($tmp != ($to))
{
$position = $this->pos[$tmp];
if(empty($position)) break;
$nazev = $this->data[$position]["value"];
$popisek = $this->data[$position+1]["value"];
$odkaz = $this->data[$position+2]["value"];
$email = $this->data[$position+3]["value"];
$obrazek = $this->data[$position+4]["value"];
$tmp++;
echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\"1\" class=\"katalogTable\">";
echo "<tr>";
echo " <td rowspan=\"2\">
<a href=\"".$odkaz."\" title=\"\" target=\"_blank\">
<img src=\"".$obrazek."\" alt=\"\" border=\"0\" class=\"katalogImage\"/>
</a>
</td>";
echo "</tr>";
echo "<tr>";
echo "<td>";
echo "<b>
<a href=\"".$odkaz."\" title=\"\" target=\"_blank\" class=\"katalogLink\">
".$nazev."
</a>
</b>";
echo "<p class=\"katalogDesc\">".$popisek."</p><hr class=\"katalogHR\">
Kontaktní e-mail: <a href=\"mailto:".$email."\" title=\"\" class=\"katalogMail\">".$email."</a>";
echo "</td>";
echo "</tr>";
echo "</table><br>";
}
/*
*/
}
}
?>
ACC SHELL 2018