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