You are here

public function PHPExcel_Writer_Excel2007_RelsRibbon::writeRibbonRelationships in Loft Data Grids 7.2

Same name and namespace in other branches
  1. 6.2 vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php \PHPExcel_Writer_Excel2007_RelsRibbon::writeRibbonRelationships()

* Write relationships for additional objects of custom UI (ribbon) * *

Parameters

PHPExcel $pPHPExcel: * @return string XML Output * @throws PHPExcel_Writer_Exception

File

vendor/phpoffice/phpexcel/Classes/PHPExcel/Writer/Excel2007/RelsRibbon.php, line 45

Class

PHPExcel_Writer_Excel2007_RelsRibbon
PHPExcel_Writer_Excel2007_RelsRibbon

Code

public function writeRibbonRelationships(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');

  // Relationships
  $objWriter
    ->startElement('Relationships');
  $objWriter
    ->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships');
  $localRels = $pPHPExcel
    ->getRibbonBinObjects('names');
  if (is_array($localRels)) {
    foreach ($localRels as $aId => $aTarget) {
      $objWriter
        ->startElement('Relationship');
      $objWriter
        ->writeAttribute('Id', $aId);
      $objWriter
        ->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image');
      $objWriter
        ->writeAttribute('Target', $aTarget);
      $objWriter
        ->endElement();

      //Relationship
    }
  }
  $objWriter
    ->endElement();

  //Relationships

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