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:  * Class PHPWord_Writer_Word2007_Rels
 30:  */
 31: class PHPWord_Writer_Word2007_Rels extends PHPWord_Writer_Word2007_WriterPart
 32: {
 33: 
 34:     public function writeRelationships(PHPWord $pPHPWord = null)
 35:     {
 36:         // Create XML writer
 37:         $objWriter = null;
 38:         if ($this->getParentWriter()->getUseDiskCaching()) {
 39:             $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
 40:         } else {
 41:             $objWriter = new PHPWord_Shared_XMLWriter(PHPWord_Shared_XMLWriter::STORAGE_MEMORY);
 42:         }
 43: 
 44:         // XML header
 45:         $objWriter->startDocument('1.0', 'UTF-8', 'yes');
 46: 
 47:         // Relationships
 48:         $objWriter->startElement('Relationships');
 49:         $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships');
 50: 
 51:         $relationId = 1;
 52: 
 53:         // Relationship word/document.xml
 54:         $this->_writeRelationship(
 55:             $objWriter,
 56:             $relationId,
 57:             'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument',
 58:             'word/document.xml'
 59:         );
 60: 
 61:         // Relationship docProps/core.xml
 62:         $this->_writeRelationship(
 63:             $objWriter,
 64:             ++$relationId,
 65:             'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties',
 66:             'docProps/core.xml'
 67:         );
 68: 
 69:         // Relationship docProps/app.xml
 70:         $this->_writeRelationship(
 71:             $objWriter,
 72:             ++$relationId,
 73:             'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties',
 74:             'docProps/app.xml'
 75:         );
 76: 
 77:         $objWriter->endElement();
 78: 
 79:         // Return
 80:         return $objWriter->getData();
 81:     }
 82: 
 83:     /**
 84:      * Write Override content type
 85:      *
 86:      * @param    PHPWord_Shared_XMLWriter $objWriter XML Writer
 87:      * @param    int $pId Relationship ID. rId will be prepended!
 88:      * @param    string $pType Relationship type
 89:      * @param    string $pTarget Relationship target
 90:      * @param    string $pTargetMode Relationship target mode
 91:      * @throws    Exception
 92:      */
 93:     private function _writeRelationship(PHPWord_Shared_XMLWriter $objWriter = null, $pId = 1, $pType = '', $pTarget = '', $pTargetMode = '')
 94:     {
 95:         if ($pType != '' && $pTarget != '') {
 96:             if (strpos($pId, 'rId') === false) {
 97:                 $pId = 'rId' . $pId;
 98:             }
 99: 
100:             // Write relationship
101:             $objWriter->startElement('Relationship');
102:             $objWriter->writeAttribute('Id', $pId);
103:             $objWriter->writeAttribute('Type', $pType);
104:             $objWriter->writeAttribute('Target', $pTarget);
105: 
106:             if ($pTargetMode != '') {
107:                 $objWriter->writeAttribute('TargetMode', $pTargetMode);
108:             }
109: 
110:             $objWriter->endElement();
111:         } else {
112:             throw new Exception("Invalid parameters passed.");
113:         }
114:     }
115: }
116: 
PHPWord API Docs API documentation generated by ApiGen 2.8.0