<?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_Word 
{ 
    /** 
     * [PT] A colspan das td's. Este valor é recebido pelo classe mão. 
     * 
     * @var int 
     */ 
    public $colSpan; 
 
    /** 
     * [PT] U array com as opções do documento 
     * 
     * possiveis: title 
     * 
     * @var array 
     */ 
    public  $wordOptions; 
 
    /** 
     * [PT] Valor para depois poder-mos fazer zebra na listagem de resultados 
     * 
     * @var array 
     */ 
    public $i; 
 
    /** 
     * Options 
     * @var array 
     */ 
    public $options; 
 
    public function globalStart() 
    { 
        $xml  = "<html xmlns:v=\"urn:schemas-microsoft-com:vml\" 
xmlns:o=\"urn:schemas-microsoft-com:office:office\" 
xmlns:w=\"urn:schemas-microsoft-com:office:word\" 
xmlns:m=\"http://schemas.microsoft.com/office/2004/12/omml\" 
xmlns:css=\"http://macVmlSchemaUri\" xmlns=\"http://www.w3.org/TR/REC-html40\"> 
 
<head> 
<meta name=Title content=\"{$this->options['title']}\"> 
<meta name=Keywords content=\"\"> 
<meta http-equiv=Content-Type content=\"text/html; charset=utf-8\"> 
<meta name=ProgId content=Word.Document> 
<meta name=Generator content=\"Microsoft Word 2008\"> 
<meta name=Originator content=\"Microsoft Word 2008\"> 
<title>{$this->options['title']}</title> 
<!--[if gte mso 9]><xml> 
 <o:OfficeDocumentSettings> 
  <o:AllowPNG/> 
 </o:OfficeDocumentSettings> 
</xml><![endif]--><!--[if gte mso 9]><xml> 
 <w:WordDocument> 
  <w:View>Print</w:View> 
  <w:Zoom>BestFit</w:Zoom> 
  <w:SpellingState>Clean</w:SpellingState> 
  <w:GrammarState>Clean</w:GrammarState> 
  <w:TrackMoves>false</w:TrackMoves> 
  <w:TrackFormatting/> 
  <w:DoNotHyphenateCaps/> 
  <w:PunctuationKerning/> 
  <w:DrawingGridHorizontalSpacing>9,35 pt</w:DrawingGridHorizontalSpacing> 
  <w:DrawingGridVerticalSpacing>9,35 pt</w:DrawingGridVerticalSpacing> 
  <w:ValidateAgainstSchemas/> 
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> 
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent> 
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> 
  <w:Compatibility> 
   <w:SplitPgBreakAndParaMark/> 
   <w:DontVertAlignCellWithSp/> 
   <w:DontBreakConstrainedForcedTables/> 
   <w:DontVertAlignInTxbx/> 
   <w:Word11KerningPairs/> 
   <w:CachedColBalance/> 
   <w:UseFELayout/> 
  </w:Compatibility> 
 </w:WordDocument> 
</xml><![endif]--><!--[if gte mso 9]><xml> 
 <w:LatentStyles DefLockedState=\"false\" LatentStyleCount=\"276\"> 
 </w:LatentStyles> 
</xml><![endif]--> 
<style> 
<!--p.MSONORMAL 
    {mso-bidi-font-size:8pt;} 
li.MSONORMAL 
    {mso-bidi-font-size:8pt;} 
div.MSONORMAL 
    {mso-bidi-font-size:8pt;} 
p.SMALL 
    {mso-bidi-font-size:1pt;} 
 
 /* Font Definitions */ 
@font-face 
    {font-family:Times; 
    panose-1:2 0 5 0 0 0 0 0 0 0; 
    mso-font-charset:0; 
    mso-generic-font-family:auto; 
    mso-font-pitch:variable; 
    mso-font-signature:3 0 0 0 1 0;} 
@font-face 
    {font-family:Verdana; 
    panose-1:2 11 6 4 3 5 4 4 2 4; 
    mso-font-charset:0; 
    mso-generic-font-family:auto; 
    mso-font-pitch:variable; 
    mso-font-signature:3 0 0 0 1 0;} 
@font-face 
    {font-family:Cambria; 
    panose-1:2 4 5 3 5 4 6 3 2 4; 
    mso-font-charset:0; 
    mso-generic-font-family:auto; 
    mso-font-pitch:variable; 
    mso-font-signature:3 0 0 0 1 0;} 
 /* Style Definitions */ 
p.MsoNormal, li.MsoNormal, div.MsoNormal 
    {mso-style-parent:\"\"; 
    margin:0cm; 
    margin-bottom:.0001pt; 
    mso-pagination:widow-orphan; 
    font-size:7.5pt; 
    font-family:Verdana; 
    mso-fareast-font-family:Verdana; 
    mso-bidi-font-family:\"Times New Roman\"; 
    mso-bidi-theme-font:minor-bidi;} 
p.small, li.small, div.small 
    {mso-style-name:small; 
    mso-style-parent:\"\"; 
    margin:0cm; 
    margin-bottom:.0001pt; 
    mso-pagination:widow-orphan; 
    font-size:1.0pt; 
    font-family:Verdana; 
    mso-fareast-font-family:Verdana; 
    mso-bidi-font-family:\"Times New Roman\"; 
    mso-bidi-theme-font:minor-bidi;} 
span.SpellE 
    {mso-style-name:\"\"; 
    mso-spl-e:yes;} 
@page Section1 
    {size:612.0pt 792.0pt; 
    margin:72.0pt 90.0pt 72.0pt 90.0pt; 
    mso-header-margin:35.4pt; 
    mso-footer-margin:35.4pt; 
    mso-paper-source:0;} 
div.Section1 
    {page:Section1;} 
--> 
</style> 
<!--[if gte mso 10]> 
<style> 
 /* Style Definitions */ 
table.MsoNormalTable 
    {mso-style-name:\"Table Normal\"; 
    mso-tstyle-rowband-size:0; 
    mso-tstyle-colband-size:0; 
    mso-style-noshow:yes; 
    mso-style-parent:\"\"; 
    mso-padding-alt:0cm 5.4pt 0cm 5.4pt; 
    mso-para-margin:0cm; 
    mso-para-margin-bottom:.0001pt; 
    mso-pagination:widow-orphan; 
    font-size:12.0pt; 
    font-family:Cambria; 
    mso-ascii-font-family:Cambria; 
    mso-ascii-theme-font:minor-latin; 
    mso-hansi-font-family:Cambria; 
    mso-hansi-theme-font:minor-latin;} 
</style> 
<![endif]--><!--[if gte mso 9]><xml> 
 <o:shapedefaults v:ext=\"edit\" spidmax=\"1027\"> 
  <o:colormenu v:ext=\"edit\" strokecolor=\"none\"/> 
 </o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml> 
 <o:shapelayout v:ext=\"edit\"> 
  <o:idmap v:ext=\"edit\" data=\"1\"/> 
 </o:shapelayout></xml><![endif]--> 
</head> 
 
<body lang=PT style='tab-interval:36.0pt'> 
 
<div class=Section1> 
<table  border=1 cellspacing=0 cellpadding=0 width='100%' 
 style='width:100%;margin-left:-.35pt;border-collapse:collapse;border:none;'> 
<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; '>{$this->options['title']}<o:p></o:p></span></p> 
  </td></tr>"; 
 
        return $xml; 
    } 
 
    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 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 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 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 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>"; 
    } 
} 
 
 |