All pastes #948787 Raw Edit

Unnamed

public text v1 · immutable
·published 2008-03-19 12:59 UTC
rendered paste body

      
      // Set´s
      
      /**
       * setRowsToRead()
       * @desc This Function Sets "how much rows should be displayed."
       * If you leave this empty, standart is 40 Rows.
       * @param int $rows
       * @param mixed $rows       
       */
      function setRowsToRead($rows, $start=false) {
          if($start !== false)
	  {
	    $this->startfrom = $start;
	  }
	  else
	  {
	    $this->startfrom = false;
	  }
	  if($data > 0) {
            $this->rowstoread = $rows;    
          } else {
          $this->rowstoread = 40;
          }
      }
      
      
      /**
       * setAlign()
       * @desc This Function sets the Align.
       * "top" =  Last row on Top
       * "bottom" = Last row on Bottom
       * Is this is not set, align is allways bottom!
       * @param string $align ("top" || "bottom")
       */
      function setAlign($data) {
        if($data == "top" || $data == "bottom") {
          $this->align = $data;
        } else {
          $this->align = "bottom";
        }
      }

      
      /**
       * setLineBreak()
       * @desc Set here, the count of chars, after you want the break the line.
       * Dont set this if you dont need that.
       * @param int $breakLineAfter
       */
      function setLineBreak($data=0) {
        $data>0 ? $this->linebreak=$data : $this->linebreak=0;
      }
      
      /**
       * setFilepath()
       * This Function read the Filecontents, or returns an error if
       * the file doesent exists.
       * @param string $filename
       * @return bool
       */
      function setFilepath($data) {
        if($this->filecontent=@file($data)) {
          return true;
        } else {
          echo '<b>Error in: this->setFilepath()</b> <br />';
          echo 'File dosent exist ('.$data.') ';
          exit();
          return false;
        }
      }      
      
      
      
      
    // Action´s
    
    /**
     * rowSize()
     * @desc This Function fills $this->fileRows with the row-counting
     */
    function rowSize() {
     if($this->filecontent) {
      $this->fileRows = count($this->filecontent);
     }
    }
    
    
    /**
     * readRows()
     * @desc This Function creates the Array $this->rows. Key = Linenumber / Value = Row
     *
     */
    function readRows() {
      $this->rowSize();
      ($this->rowstoread > $this->fileRows)? $this->rowstoread=$this->fileRows : $this->rowstoread*=1;
      if ($this->rowstoread < 1)
      {
        $start = 1;
      }
      else if ($startfrom && $this->fileRows >= $startfrom + $this->rowstoread)
      {
        $start = $this->fileRows - $startfrom;
      }
      else
      {
        $start = $this->fileRows - $this->rowstoread;
      }
      $this->outputRows = array();  
      $count=0;
      for(/* no need to do anything */; $start < $this->fileRows; $start++) {
       $this->rows[$x] = $this->filecontent[$x];
       $count++;
      }  
//       $this->align=="top" ? $this->rows = array_reverse($this->rows,TRUE) : false;
    }
    
    /**
     * returnFormated()
     * @desc This Function returns the Formated Rows as String
     */
    function returnFormated() {
      $this->readRows();
      foreach($this->rows AS $rowNumber => $row) {
          if($this->linebreak>0) {
           $rowfill = str_pad("",(strlen($rowNumber.":")+2)," ",STR_PAD_LEFT);
           echo wordwrap(str_pad($rowNumber.":",(strlen($rowNumber.":")+2)," ", STR_PAD_RIGHT).$row,$this->linebreak, chr(13).chr(10).$rowfill,1);
          } else {
         echo str_pad($rowNumber.":",(strlen($rowNumber.":")+2)," ", STR_PAD_RIGHT).$row;
        }
      }
    }

    /**
     * makeXmlOutput
     * @desc Returns an XML-fortmatted output of our query
     * @return The XML document.
     */
     function makeXmlOutput()
     {
       $this->readRows();
       $out  = '<?xml version="1.0" encoding="ISO-8859-1"?>";
<!DOCTYPE Lines SYSTEM "http://mastercontrolprogram.de/linesxml.dtd">
<Lines>
';
       foreach($this->rows as $lineNumber => $line)
       {
         $out .= '<Line number="' . $lineNumber . '">';
	 $out .= htmlentities($line);
	 $out .= '</Line>';
	 $out .= "\n";
       }
       $out .= '</Lines>';
     }
     return $out;
}
        
        
?>