Text_Wiki
[ class tree: Text_Wiki ] [ index: Text_Wiki ] [ all elements ]

Source for file Table.php

Documentation is available at Table.php

  1. <?php
  2.  
  3. class Text_Wiki_Render_Latex_Table extends Text_Wiki_Render {
  4.     var $cell_id    = 0;
  5.     var $cell_count = 0;
  6.     var $is_spanning = false;
  7.     
  8.     var $conf = array(
  9.                       'css_table' => null,
  10.                       'css_tr' => null,
  11.                       'css_th' => null,
  12.                       'css_td' => null
  13.                       );
  14.  
  15.     /**
  16.      *
  17.      * Renders a token into text matching the requested format.
  18.      *
  19.      * @access public
  20.      *
  21.      * @param array $options The "options" portion of the token (second
  22.      *  element).
  23.      *
  24.      * @return string The text rendered from the token options.
  25.      *
  26.      */
  27.  
  28.     function token($options)
  29.     {
  30.         // make nice variable names (type, attr, span)
  31.         extract($options);
  32.  
  33.         switch ($type)
  34.             {
  35.             case 'table_start':
  36.                 $this->cell_count $cols;
  37.                 
  38.                 $tbl_start '\begin{tabular}{|';
  39.                 for ($a=0; $a $this->cell_count$a++{
  40.                     $tbl_start .= 'l|';
  41.                 }
  42.                 $tbl_start .= "}\n";
  43.                 
  44.                 return $tbl_start;
  45.  
  46.             case 'table_end':
  47.                 return "\\hline\n\\end{tabular}\n";
  48.  
  49.             case 'row_start':
  50.                 $this->is_spanning = false;
  51.                 $this->cell_id = 0;
  52.                 return "\\hline\n";
  53.  
  54.             case 'row_end':
  55.                 return "\\\\\n";
  56.  
  57.             case 'cell_start':
  58.                 if ($span > 1{
  59.                     $col_spec '';
  60.                     if ($this->cell_id == 0{
  61.                         $col_spec '|';
  62.                     }
  63.                     $col_spec .= 'l|';
  64.                         
  65.                     $this->cell_id += $span;
  66.                     $this->is_spanning = true;
  67.                     
  68.                     return "\\multicolumn\{$span}\{$col_spec}{";
  69.                 }
  70.  
  71.                 $this->cell_id += 1;
  72.                 return '';
  73.  
  74.             case 'cell_end':
  75.                 $out '';
  76.                 if ($this->is_spanning{
  77.                     $this->is_spanning = false;
  78.                     $out '}';
  79.                 }
  80.                 
  81.                 if ($this->cell_id != $this->cell_count{
  82.                     $out .= ' & ';
  83.                 }
  84.  
  85.                 return $out;
  86.  
  87.             default:
  88.                 return '';
  89.  
  90.             }
  91.     }
  92. }
  93. ?>

Documentation generated on Mon, 11 Mar 2019 13:56:11 -0400 by phpDocumentor 1.4.4. PEAR Logo Copyright © PHP Group 2004.