| 
<?php
 /**
 *
 * LICENSE
 *
 * This source file is subject to the new BSD license
 * It is  available through the world-wide-web at this URL:
 * http://www.petala-azul.com/bsd.txt
 * If you did not receive a copy of the license and are unable to
 * obtain it through the world-wide-web, please send an email
 * to [email protected] so we can send you a copy immediately.
 *
 * @package    Bvb_Grid
 * @copyright  Copyright (c)  (http://www.petala-azul.com)
 * @license    http://www.petala-azul.com/bsd.txt   New BSD License
 * @version    $Id$
 * @author     Bento Vilas Boas <[email protected] >
 */
 
 class Bvb_Grid_Template_Print
 {
 public $i;
 
 /**
 * Options
 * @var array
 */
 public $options = array();
 
 public function globalStart()
 {
 $return = "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=" . $this->options['charEncoding']. "\" />
 </head><body onload='window.print()';>";
 $return .= "<table  border=1 cellspacing=0 cellpadding=0 width='100%'
 style='width:100%;margin-left:-.35pt;border-collapse:collapse;border:none;'>";
 
 return $return;
 }
 
 public function header()
 {
 if (isset($this->options['logo']) && is_file ($this->options['logo'])){
 $img = "<img align=\"left\" src=\"" . $this->options['logo'] . "\" border=\"0\">";
 } else {
 $img = '';
 }
 
 $this->options['title'] = isset($this->options['title'])?$this->options['title']:'';
 $this->options['subtitle'] = isset($this->options['subtitle'])?$this->options['subtitle']:'';
 
 return " <tr><td colspan=\"{$this->options['colspan']}\" style='border:solid black 1.0pt;background-color:#FFFFFF;color:#000000;padding:5px'> $img <p align=center style='text-align:center'><b><span style='font-size:10.0pt;'><o:p>" . $this->options['title'] . "</o:p></span></b><span style='font-size:9.0pt;'><o:p><br>" . $this->options['subtitle'] . "</o:p></span></p>
 </td></tr>";
 }
 
 public function globalEnd()
 {
 return "</table></div></body></html>";
 }
 
 public function titlesStart()
 {
 return "<tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>";
 }
 
 public function titlesEnd()
 {
 return "</tr>";
 }
 
 public function titlesLoop()
 {
 return " <td style='border:solid black 1.0pt;background-color:black;color:#FFFFFF;padding:5px'>
 <p align=center style='text-align:center'><b><span style='font-size:10.0pt;'>{{value}}<o:p></o:p></span></b></p>
 </td>";
 }
 
 public function loopStart()
 {
 $this->i ++;
 
 return "<tr>";
 }
 
 public function loopEnd()
 {
 return "</tr>";
 }
 
 public function loopLoop()
 {
 if ($this->i % 2) {
 return "<td style='border-top:none;border-left:solid black 1.0pt;border-bottom:solid black 1.0pt;
 border-right:solid black 1.0pt; background:#E0E0E0;padding:3px'> <p><span>
 <span style='font-size:8.0pt;font-family:Helvetica;'>{{value}}<o:p></o:p></span></p> </td>";
 } else {
 return "<td style='border-top:none;border-left:solid black 1.0pt; border-bottom:solid black 1.0pt;
 border-right:solid black 1.0pt; padding:3px'> <p class=MsoNormal><span style='font-size:8.0pt;
 font-family:Helvetica;'>{{value}}<o:p></o:p></span></p>
 </td>";
 }
 }
 
 public function hRow()
 {
 return "<tr><td colspan=\"" . $this->options['colspan']. "\" style='border-top:none; color:#FFFFFF;
 border-left:solid black 1.0pt; border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 padding:3px; background:#666;'> <p  style='text-align:center' class=MsoNormal><span style='font-size:10.0pt;
 font-family:Helvetica; '>{{value}}<o:p></o:p></span></p>
 </td></tr>";
 }
 
 public function noResults()
 {
 return "<tr><td colspan=\"" . $this->options['colspan'] . "\" style='border-top:none; color:#FFFFFF;
 border-left:solid black 1.0pt; border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 padding:3px; background:#666;'> <p  style='text-align:center' class=MsoNormal><span style='font-size:10.0pt;
 font-family:Helvetica; '>{{value}}<o:p></o:p></span></p>
 </td></tr>";
 }
 
 public function sqlExpStart()
 {
 return "<tr>";
 }
 
 public function sqlExpEnd()
 {
 return "</tr>";
 }
 
 public function sqlExpLoop()
 {
 return "<td  style='border-top:none;border-left:none;  border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;
 padding:5px;'> <p><span style='font-size:8.0pt; font-family:Helvetica;'>{{value}}<o:p></o:p></span></p>
 </td>";
 }
 }
 
 |