You are here

class PHPExcel_Writer_Excel2007_DocProps in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php \PHPExcel_Writer_Excel2007_DocProps

PHPExcel_Writer_Excel2007_DocProps

@category PHPExcel @package PHPExcel_Writer_Excel2007 @copyright Copyright (c) 2006 - 2014 PHPExcel (http://www.codeplex.com/PHPExcel)

Hierarchy

Expanded class hierarchy of PHPExcel_Writer_Excel2007_DocProps

1 string reference to 'PHPExcel_Writer_Excel2007_DocProps'
PHPExcel_Writer_Excel2007::__construct in vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007.php
Create a new PHPExcel_Writer_Excel2007

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/DocProps.php, line 36

View source
class PHPExcel_Writer_Excel2007_DocProps extends PHPExcel_Writer_Excel2007_WriterPart {

  /**
   * Write docProps/app.xml to XML format
   *
   * @param 	PHPExcel	$pPHPExcel
   * @return 	string 		XML Output
   * @throws 	PHPExcel_Writer_Exception
   */
  public function writeDocPropsApp(PHPExcel $pPHPExcel = null) {

    // Create XML writer
    $objWriter = null;
    if ($this
      ->getParentWriter()
      ->getUseDiskCaching()) {
      $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this
        ->getParentWriter()
        ->getDiskCachingDirectory());
    }
    else {
      $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_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 Excel');

    // DocSecurity
    $objWriter
      ->writeElement('DocSecurity', '0');

    // ScaleCrop
    $objWriter
      ->writeElement('ScaleCrop', 'false');

    // HeadingPairs
    $objWriter
      ->startElement('HeadingPairs');

    // Vector
    $objWriter
      ->startElement('vt:vector');
    $objWriter
      ->writeAttribute('size', '2');
    $objWriter
      ->writeAttribute('baseType', 'variant');

    // Variant
    $objWriter
      ->startElement('vt:variant');
    $objWriter
      ->writeElement('vt:lpstr', 'Worksheets');
    $objWriter
      ->endElement();

    // Variant
    $objWriter
      ->startElement('vt:variant');
    $objWriter
      ->writeElement('vt:i4', $pPHPExcel
      ->getSheetCount());
    $objWriter
      ->endElement();
    $objWriter
      ->endElement();
    $objWriter
      ->endElement();

    // TitlesOfParts
    $objWriter
      ->startElement('TitlesOfParts');

    // Vector
    $objWriter
      ->startElement('vt:vector');
    $objWriter
      ->writeAttribute('size', $pPHPExcel
      ->getSheetCount());
    $objWriter
      ->writeAttribute('baseType', 'lpstr');
    $sheetCount = $pPHPExcel
      ->getSheetCount();
    for ($i = 0; $i < $sheetCount; ++$i) {
      $objWriter
        ->writeElement('vt:lpstr', $pPHPExcel
        ->getSheet($i)
        ->getTitle());
    }
    $objWriter
      ->endElement();
    $objWriter
      ->endElement();

    // Company
    $objWriter
      ->writeElement('Company', $pPHPExcel
      ->getProperties()
      ->getCompany());

    // Company
    $objWriter
      ->writeElement('Manager', $pPHPExcel
      ->getProperties()
      ->getManager());

    // LinksUpToDate
    $objWriter
      ->writeElement('LinksUpToDate', 'false');

    // SharedDoc
    $objWriter
      ->writeElement('SharedDoc', 'false');

    // HyperlinksChanged
    $objWriter
      ->writeElement('HyperlinksChanged', 'false');

    // AppVersion
    $objWriter
      ->writeElement('AppVersion', '12.0000');
    $objWriter
      ->endElement();

    // Return
    return $objWriter
      ->getData();
  }

  /**
   * Write docProps/core.xml to XML format
   *
   * @param 	PHPExcel	$pPHPExcel
   * @return 	string 		XML Output
   * @throws 	PHPExcel_Writer_Exception
   */
  public function writeDocPropsCore(PHPExcel $pPHPExcel = null) {

    // Create XML writer
    $objWriter = null;
    if ($this
      ->getParentWriter()
      ->getUseDiskCaching()) {
      $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this
        ->getParentWriter()
        ->getDiskCachingDirectory());
    }
    else {
      $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
    }

    // XML header
    $objWriter
      ->startDocument('1.0', 'UTF-8', 'yes');

    // cp:coreProperties
    $objWriter
      ->startElement('cp:coreProperties');
    $objWriter
      ->writeAttribute('xmlns:cp', 'http://schemas.openxmlformats.org/package/2006/metadata/core-properties');
    $objWriter
      ->writeAttribute('xmlns:dc', 'http://purl.org/dc/elements/1.1/');
    $objWriter
      ->writeAttribute('xmlns:dcterms', 'http://purl.org/dc/terms/');
    $objWriter
      ->writeAttribute('xmlns:dcmitype', 'http://purl.org/dc/dcmitype/');
    $objWriter
      ->writeAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');

    // dc:creator
    $objWriter
      ->writeElement('dc:creator', $pPHPExcel
      ->getProperties()
      ->getCreator());

    // cp:lastModifiedBy
    $objWriter
      ->writeElement('cp:lastModifiedBy', $pPHPExcel
      ->getProperties()
      ->getLastModifiedBy());

    // dcterms:created
    $objWriter
      ->startElement('dcterms:created');
    $objWriter
      ->writeAttribute('xsi:type', 'dcterms:W3CDTF');
    $objWriter
      ->writeRawData(date(DATE_W3C, $pPHPExcel
      ->getProperties()
      ->getCreated()));
    $objWriter
      ->endElement();

    // dcterms:modified
    $objWriter
      ->startElement('dcterms:modified');
    $objWriter
      ->writeAttribute('xsi:type', 'dcterms:W3CDTF');
    $objWriter
      ->writeRawData(date(DATE_W3C, $pPHPExcel
      ->getProperties()
      ->getModified()));
    $objWriter
      ->endElement();

    // dc:title
    $objWriter
      ->writeElement('dc:title', $pPHPExcel
      ->getProperties()
      ->getTitle());

    // dc:description
    $objWriter
      ->writeElement('dc:description', $pPHPExcel
      ->getProperties()
      ->getDescription());

    // dc:subject
    $objWriter
      ->writeElement('dc:subject', $pPHPExcel
      ->getProperties()
      ->getSubject());

    // cp:keywords
    $objWriter
      ->writeElement('cp:keywords', $pPHPExcel
      ->getProperties()
      ->getKeywords());

    // cp:category
    $objWriter
      ->writeElement('cp:category', $pPHPExcel
      ->getProperties()
      ->getCategory());
    $objWriter
      ->endElement();

    // Return
    return $objWriter
      ->getData();
  }

  /**
   * Write docProps/custom.xml to XML format
   *
   * @param 	PHPExcel	$pPHPExcel
   * @return 	string 		XML Output
   * @throws 	PHPExcel_Writer_Exception
   */
  public function writeDocPropsCustom(PHPExcel $pPHPExcel = null) {
    $customPropertyList = $pPHPExcel
      ->getProperties()
      ->getCustomProperties();
    if (empty($customPropertyList)) {
      return;
    }

    // Create XML writer
    $objWriter = null;
    if ($this
      ->getParentWriter()
      ->getUseDiskCaching()) {
      $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_DISK, $this
        ->getParentWriter()
        ->getDiskCachingDirectory());
    }
    else {
      $objWriter = new PHPExcel_Shared_XMLWriter(PHPExcel_Shared_XMLWriter::STORAGE_MEMORY);
    }

    // XML header
    $objWriter
      ->startDocument('1.0', 'UTF-8', 'yes');

    // cp:coreProperties
    $objWriter
      ->startElement('Properties');
    $objWriter
      ->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/officeDocument/2006/custom-properties');
    $objWriter
      ->writeAttribute('xmlns:vt', 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes');
    foreach ($customPropertyList as $key => $customProperty) {
      $propertyValue = $pPHPExcel
        ->getProperties()
        ->getCustomPropertyValue($customProperty);
      $propertyType = $pPHPExcel
        ->getProperties()
        ->getCustomPropertyType($customProperty);
      $objWriter
        ->startElement('property');
      $objWriter
        ->writeAttribute('fmtid', '{D5CDD505-2E9C-101B-9397-08002B2CF9AE}');
      $objWriter
        ->writeAttribute('pid', $key + 2);
      $objWriter
        ->writeAttribute('name', $customProperty);
      switch ($propertyType) {
        case 'i':
          $objWriter
            ->writeElement('vt:i4', $propertyValue);
          break;
        case 'f':
          $objWriter
            ->writeElement('vt:r8', $propertyValue);
          break;
        case 'b':
          $objWriter
            ->writeElement('vt:bool', $propertyValue ? 'true' : 'false');
          break;
        case 'd':
          $objWriter
            ->startElement('vt:filetime');
          $objWriter
            ->writeRawData(date(DATE_W3C, $propertyValue));
          $objWriter
            ->endElement();
          break;
        default:
          $objWriter
            ->writeElement('vt:lpwstr', $propertyValue);
          break;
      }
      $objWriter
        ->endElement();
    }
    $objWriter
      ->endElement();

    // Return
    return $objWriter
      ->getData();
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PHPExcel_Writer_Excel2007_DocProps::writeDocPropsApp public function * Write docProps/app.xml to XML format * *
PHPExcel_Writer_Excel2007_DocProps::writeDocPropsCore public function * Write docProps/core.xml to XML format * *
PHPExcel_Writer_Excel2007_DocProps::writeDocPropsCustom public function * Write docProps/custom.xml to XML format * *
PHPExcel_Writer_Excel2007_WriterPart::$_parentWriter private property * Parent IWriter object * *
PHPExcel_Writer_Excel2007_WriterPart::getParentWriter public function * Get parent IWriter object * *
PHPExcel_Writer_Excel2007_WriterPart::setParentWriter public function * Set parent IWriter object * *
PHPExcel_Writer_Excel2007_WriterPart::__construct public function * Set parent IWriter object * *