mirror of
https://github.com/Karaka-Management/Resources.git
synced 2026-01-20 00:38:40 +00:00
119 lines
3.6 KiB
PHP
119 lines
3.6 KiB
PHP
<?php
|
|
/**
|
|
* This file is part of PHPPresentation - A pure PHP library for reading and writing
|
|
* presentations documents.
|
|
*
|
|
* PHPPresentation is free software distributed under the terms of the GNU Lesser
|
|
* General Public License version 3 as published by the Free Software Foundation.
|
|
*
|
|
* For the full copyright and license information, please read the LICENSE
|
|
* file that was distributed with this source code. For the full list of
|
|
* contributors, visit https://github.com/PHPOffice/PHPPresentation/contributors.
|
|
*
|
|
* @see https://github.com/PHPOffice/PHPPresentation
|
|
*
|
|
* @copyright 2009-2015 PHPPresentation contributors
|
|
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
|
*/
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpOffice\PhpPresentation\Writer\PowerPoint2007;
|
|
|
|
use PhpOffice\Common\Adapter\Zip\ZipInterface;
|
|
use PhpOffice\Common\XMLWriter;
|
|
|
|
class DocPropsApp extends AbstractDecoratorWriter
|
|
{
|
|
public function render(): ZipInterface
|
|
{
|
|
// Create XML writer
|
|
$objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
|
|
|
|
// XML header
|
|
$objWriter->startDocument('1.0', 'UTF-8', 'yes');
|
|
|
|
// Properties
|
|
$objWriter->startElement('Properties');
|
|
$objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/extended-properties');
|
|
$objWriter->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
|
|
|
|
// Application
|
|
$objWriter->writeElement('Application', 'Microsoft Office PowerPoint');
|
|
|
|
// Slides
|
|
$objWriter->writeElement('Slides', (string) $this->getPresentation()->getSlideCount());
|
|
|
|
// ScaleCrop
|
|
$objWriter->writeElement('ScaleCrop', 'false');
|
|
|
|
// HeadingPairs
|
|
$objWriter->startElement('HeadingPairs');
|
|
|
|
// Vector
|
|
$objWriter->startElement('vt:vector');
|
|
$objWriter->writeAttribute('size', '4');
|
|
$objWriter->writeAttribute('baseType', 'variant');
|
|
|
|
// Variant
|
|
$objWriter->startElement('vt:variant');
|
|
$objWriter->writeElement('vt:lpstr', 'Theme');
|
|
$objWriter->endElement();
|
|
|
|
// Variant
|
|
$objWriter->startElement('vt:variant');
|
|
$objWriter->writeElement('vt:i4', '1');
|
|
$objWriter->endElement();
|
|
|
|
// Variant
|
|
$objWriter->startElement('vt:variant');
|
|
$objWriter->writeElement('vt:lpstr', 'Slide Titles');
|
|
$objWriter->endElement();
|
|
|
|
// Variant
|
|
$objWriter->startElement('vt:variant');
|
|
$objWriter->writeElement('vt:i4', '1');
|
|
$objWriter->endElement();
|
|
|
|
$objWriter->endElement();
|
|
|
|
$objWriter->endElement();
|
|
|
|
// TitlesOfParts
|
|
$objWriter->startElement('TitlesOfParts');
|
|
|
|
// Vector
|
|
$objWriter->startElement('vt:vector');
|
|
$objWriter->writeAttribute('size', '1');
|
|
$objWriter->writeAttribute('baseType', 'lpstr');
|
|
|
|
$objWriter->writeElement('vt:lpstr', 'Office Theme');
|
|
|
|
$objWriter->endElement();
|
|
|
|
$objWriter->endElement();
|
|
|
|
// Company
|
|
$objWriter->writeElement('Company', $this->getPresentation()->getDocumentProperties()->getCompany());
|
|
|
|
// LinksUpToDate
|
|
$objWriter->writeElement('LinksUpToDate', 'false');
|
|
|
|
// SharedDoc
|
|
$objWriter->writeElement('SharedDoc', 'false');
|
|
|
|
// HyperlinksChanged
|
|
$objWriter->writeElement('HyperlinksChanged', 'false');
|
|
|
|
// AppVersion
|
|
$objWriter->writeElement('AppVersion', '12.0000');
|
|
|
|
$objWriter->endElement();
|
|
|
|
$this->oZip->addFromString('docProps/app.xml', $objWriter->getData());
|
|
|
|
// Return
|
|
return $this->oZip;
|
|
}
|
|
}
|