Overview

Packages

  • PHP
  • PHPWord

Classes

  • PHPWord
  • PHPWord_Autoloader
  • PHPWord_DocumentProperties
  • PHPWord_HashTable
  • PHPWord_IOFactory
  • PHPWord_Media
  • PHPWord_Section
  • PHPWord_Section_Footer
  • PHPWord_Section_Footer_PreserveText
  • PHPWord_Section_Header
  • PHPWord_Section_Image
  • PHPWord_Section_Link
  • PHPWord_Section_ListItem
  • PHPWord_Section_MemoryImage
  • PHPWord_Section_Object
  • PHPWord_Section_PageBreak
  • PHPWord_Section_Settings
  • PHPWord_Section_Table
  • PHPWord_Section_Table_Cell
  • PHPWord_Section_Table_Row
  • PHPWord_Section_Text
  • PHPWord_Section_TextBreak
  • PHPWord_Section_TextRun
  • PHPWord_Section_Title
  • PHPWord_Shared_Drawing
  • PHPWord_Shared_File
  • PHPWord_Shared_Font
  • PHPWord_Shared_String
  • PHPWord_Shared_XMLWriter
  • PHPWord_Shared_ZipStreamWrapper
  • PHPWord_Style
  • PHPWord_Style_Cell
  • PHPWord_Style_Font
  • PHPWord_Style_Image
  • PHPWord_Style_ListItem
  • PHPWord_Style_Paragraph
  • PHPWord_Style_Row
  • PHPWord_Style_Tab
  • PHPWord_Style_Table
  • PHPWord_Style_TableFull
  • PHPWord_Style_Tabs
  • PHPWord_Style_TOC
  • PHPWord_Template
  • PHPWord_TOC
  • PHPWord_Writer_ODText
  • PHPWord_Writer_ODText_Content
  • PHPWord_Writer_ODText_Manifest
  • PHPWord_Writer_ODText_Meta
  • PHPWord_Writer_ODText_Mimetype
  • PHPWord_Writer_ODText_Styles
  • PHPWord_Writer_ODText_WriterPart
  • PHPWord_Writer_RTF
  • PHPWord_Writer_Word2007
  • PHPWord_Writer_Word2007_Base
  • PHPWord_Writer_Word2007_ContentTypes
  • PHPWord_Writer_Word2007_DocProps
  • PHPWord_Writer_Word2007_Document
  • PHPWord_Writer_Word2007_DocumentRels
  • PHPWord_Writer_Word2007_Footer
  • PHPWord_Writer_Word2007_Header
  • PHPWord_Writer_Word2007_Rels
  • PHPWord_Writer_Word2007_Styles
  • PHPWord_Writer_Word2007_WriterPart

Interfaces

  • PHPWord_Writer_IWriter

Exceptions

  • PHPWord_Exception
  • Overview
  • Package
  • Class
  • Tree
  1: <?php
  2: /**
  3:  * PHPWord
  4:  *
  5:  * Copyright (c) 2013 PHPWord
  6:  *
  7:  * This library is free software; you can redistribute it and/or
  8:  * modify it under the terms of the GNU Lesser General Public
  9:  * License as published by the Free Software Foundation; either
 10:  * version 2.1 of the License, or (at your option) any later version.
 11:  *
 12:  * This library is distributed in the hope that it will be useful,
 13:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 14:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 15:  * Lesser General Public License for more details.
 16:  *
 17:  * You should have received a copy of the GNU Lesser General Public
 18:  * License along with this library; if not, write to the Free Software
 19:  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 20:  *
 21:  * @category   PHPWord
 22:  * @package    PHPWord
 23:  * @copyright  Copyright (c) 2013 PHPWord
 24:  * @license    http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt    LGPL
 25:  * @version    0.7.0
 26:  */
 27: 
 28: /**
 29:  * PHPWord_Style_Tabs
 30:  */
 31: class PHPWord_Style_Tab
 32: {
 33: 
 34:     /**
 35:      * Tab Stop Type
 36:      *
 37:      * @var string
 38:      */
 39:     private $_val;
 40: 
 41:     /**
 42:      * Tab Leader Character
 43:      *
 44:      * @var string
 45:      */
 46:     private $_leader;
 47: 
 48:     /**
 49:      * Tab Stop Position
 50:      *
 51:      * @var int
 52:      */
 53:     private $_position;
 54: 
 55:     /**
 56:      * Tab Stop Type
 57:      *
 58:      * @var array
 59:      * @link http://www.schemacentral.com/sc/ooxml/a-w_val-26.html Tab Stop Type
 60:      */
 61:     private static $_possibleStopTypes = array(
 62:         'clear', // No Tab Stop
 63:         'left', // Left Tab Stop
 64:         'center', // Center Tab Stop
 65:         'right', // Right Tab Stop
 66:         'decimal', // Decimal Tab
 67:         'bar', // Bar Tab
 68:         'num' // List tab
 69:     );
 70: 
 71:     /**
 72:      * Tab Leader Character
 73:      *
 74:      * @var array
 75:      * @link http://www.schemacentral.com/sc/ooxml/a-w_leader-1.html Tab Leader Character
 76:      */
 77:     private static $_possibleLeaders = array(
 78:         'none', // No tab stop leader
 79:         'dot', // Dotted leader line
 80:         'hyphen', // Dashed tab stop leader line
 81:         'underscore', // Solid leader line
 82:         'heavy', // Heavy solid leader line
 83:         'middleDot' // Middle dot leader line
 84:     );
 85: 
 86:     /**
 87:      * Create a new instance of PHPWord_Style_Tab. Both $val and $leader
 88:      * must conform to the values put forth in the schema. If they do not
 89:      * they will be changed to default values.
 90:      *
 91:      * @param string $val Defaults to 'clear' if value is not possible.
 92:      * @param int $position Must be an integer; otherwise defaults to 0.
 93:      * @param string $leader Defaults to NULL if value is not possible.
 94:      */
 95:     public function __construct($val = NULL, $position = 0, $leader = NULL)
 96:     {
 97:         // Default to clear if the stop type is not matched
 98:         $this->_val = (self::isStopType($val)) ? $val : 'clear';
 99: 
100:         // Default to 0 if the position is non-numeric
101:         $this->_position = (is_numeric($position)) ? intval($position) : 0;
102: 
103:         // Default to NULL if no tab leader
104:         $this->_leader = (self::isLeaderType($leader)) ? $leader : NULL;
105:     }
106: 
107:     /**
108:      * Creates the XML DOM for the instance of PHPWord_Style_Tab.
109:      *
110:      * @param PHPWord_Shared_XMLWriter $objWriter
111:      */
112:     public function toXml(PHPWord_Shared_XMLWriter &$objWriter = NULL)
113:     {
114:         if (isset($objWriter)) {
115:             $objWriter->startElement("w:tab");
116:             $objWriter->writeAttribute("w:val", $this->_val);
117:             if (!is_null($this->_leader)) {
118:                 $objWriter->writeAttribute("w:leader", $this->_leader);
119:             }
120:             $objWriter->writeAttribute("w:pos", $this->_position);
121:             $objWriter->endElement();
122:         }
123:     }
124: 
125:     /**
126:      * Test if attribute is a valid stop type.
127:      *
128:      * @param string $attribute
129:      * @return bool True if it is; false otherwise.
130:      */
131:     private static function isStopType($attribute)
132:     {
133:         return in_array($attribute, self::$_possibleStopTypes);
134:     }
135: 
136:     /**
137:      * Test if attribute is a valid leader type.
138:      *
139:      * @param string $attribute
140:      * @return bool True if it is; false otherwise.
141:      */
142:     private static function isLeaderType($attribute)
143:     {
144:         return in_array($attribute, self::$_possibleLeaders);
145:     }
146: }
PHPWord API Docs API documentation generated by ApiGen 2.8.0