Settings.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * 重庆赤晓店信息科技有限公司
  4. * https://www.chixiaodian.com
  5. * Copyright (c) 2023 赤店商城 All rights reserved.
  6. */
  7. class PHPExcel_Writer_OpenDocument_Settings extends PHPExcel_Writer_OpenDocument_WriterPart
  8. {
  9. /**
  10. * Write settings.xml to XML format
  11. *
  12. * @param PHPExcel $pPHPExcel
  13. * @return string XML Output
  14. * @throws PHPExcel_Writer_Exception
  15. */
  16. public function write(PHPExcel $pPHPExcel = null)
  17. {
  18. if (!$pPHPExcel) {
  19. $pPHPExcel = $this->getParentWriter()->getPHPExcel();
  20. }
  21. $objWriter = null;
  22. if ($this->getParentWriter()->getUseDiskCaching()) {
  23. $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
  24. } else {
  25. $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
  26. }
  27. // XML header
  28. $objWriter->startDocument('1.0', 'UTF-8');
  29. // Settings
  30. $objWriter->startElement('office:document-settings');
  31. $objWriter->writeAttribute('xmlns:office', 'urn:oasis:names:tc:opendocument:xmlns:office:1.0');
  32. $objWriter->writeAttribute('xmlns:xlink', 'http://www.w3.org/1999/xlink');
  33. $objWriter->writeAttribute('xmlns:config', 'urn:oasis:names:tc:opendocument:xmlns:config:1.0');
  34. $objWriter->writeAttribute('xmlns:ooo', 'http://openoffice.org/2004/office');
  35. $objWriter->writeAttribute('office:version', '1.2');
  36. $objWriter->startElement('office:settings');
  37. $objWriter->startElement('config:config-item-set');
  38. $objWriter->writeAttribute('config:name', 'ooo:view-settings');
  39. $objWriter->startElement('config:config-item-map-indexed');
  40. $objWriter->writeAttribute('config:name', 'Views');
  41. $objWriter->endElement();
  42. $objWriter->endElement();
  43. $objWriter->startElement('config:config-item-set');
  44. $objWriter->writeAttribute('config:name', 'ooo:configuration-settings');
  45. $objWriter->endElement();
  46. $objWriter->endElement();
  47. $objWriter->endElement();
  48. return $objWriter->getData();
  49. }
  50. }