Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
DocPropsThumbnail
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
3
100.00% covered (success)
100.00%
1 / 1
 render
100.00% covered (success)
100.00%
11 / 11
100.00% covered (success)
100.00%
1 / 1
3
1<?php
2/**
3 * This file is part of PHPPresentation - A pure PHP library for reading and writing
4 * presentations documents.
5 *
6 * PHPPresentation is free software distributed under the terms of the GNU Lesser
7 * General Public License version 3 as published by the Free Software Foundation.
8 *
9 * For the full copyright and license information, please read the LICENSE
10 * file that was distributed with this source code. For the full list of
11 * contributors, visit https://github.com/PHPOffice/PHPPresentation/contributors.
12 *
13 * @see        https://github.com/PHPOffice/PHPPresentation
14 *
15 * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
16 */
17
18declare(strict_types=1);
19
20namespace PhpOffice\PhpPresentation\Writer\PowerPoint2007;
21
22use PhpOffice\Common\Adapter\Zip\ZipInterface;
23
24class DocPropsThumbnail extends AbstractDecoratorWriter
25{
26    public function render(): ZipInterface
27    {
28        $thumnbail = $this->getPresentation()->getPresentationProperties()->getThumbnail();
29        if ($thumnbail) {
30            $gdImage = imagecreatefromstring($thumnbail);
31            if ($gdImage) {
32                ob_start();
33                imagejpeg($gdImage);
34                $imageContents = ob_get_contents();
35                ob_end_clean();
36                imagedestroy($gdImage);
37                $this->getZip()->addFromString('docProps/thumbnail.jpeg', $imageContents);
38            }
39        }
40
41        // Return
42        return $this->getZip();
43    }
44}