1<?php 2 3namespace PhpOffice\PhpSpreadsheet\Shared\OLE\PPS; 4 5// vim: set expandtab tabstop=4 shiftwidth=4: 6// +----------------------------------------------------------------------+ 7// | PHP Version 4 | 8// +----------------------------------------------------------------------+ 9// | Copyright (c) 1997-2002 The PHP Group | 10// +----------------------------------------------------------------------+ 11// | This source file is subject to version 2.02 of the PHP license, | 12// | that is bundled with this package in the file LICENSE, and is | 13// | available at through the world-wide-web at | 14// | http://www.php.net/license/2_02.txt. | 15// | If you did not receive a copy of the PHP license and are unable to | 16// | obtain it through the world-wide-web, please send a note to | 17// | license@php.net so we can mail you a copy immediately. | 18// +----------------------------------------------------------------------+ 19// | Author: Xavier Noguer <xnoguer@php.net> | 20// | Based on OLE::Storage_Lite by Kawai, Takanori | 21// +----------------------------------------------------------------------+ 22// 23use PhpOffice\PhpSpreadsheet\Shared\OLE; 24use PhpOffice\PhpSpreadsheet\Shared\OLE\PPS; 25 26/** 27 * Class for creating File PPS's for OLE containers. 28 * 29 * @author Xavier Noguer <xnoguer@php.net> 30 */ 31class File extends PPS 32{ 33 /** 34 * The constructor. 35 * 36 * @param string $name The name of the file (in Unicode) 37 * 38 * @see OLE::ascToUcs() 39 */ 40 public function __construct($name) 41 { 42 parent::__construct(null, $name, OLE::OLE_PPS_TYPE_FILE, null, null, null, null, null, '', []); 43 } 44 45 /** 46 * Initialization method. Has to be called right after OLE_PPS_File(). 47 * 48 * @return mixed true on success 49 */ 50 public function init() 51 { 52 return true; 53 } 54 55 /** 56 * Append data to PPS. 57 * 58 * @param string $data The data to append 59 */ 60 public function append($data): void 61 { 62 $this->_data .= $data; 63 } 64} 65