ACC SHELL

Path : /srv/www/vhosts/bubbagump/classes/
File Upload :
Current File : /srv/www/vhosts/bubbagump/classes/wfeeder.class.php

<?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:&nbsp;<a href=\"mailto:".$email."\" title=\"\" class=\"katalogMail\">".$email."</a>";
          echo "</td>";
          echo "</tr>";
          echo "</table><br>";
        }
        
           
/*
*/
     }
   
   }

?>

ACC SHELL 2018