ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
RelsRibbon.php
Go to the documentation of this file.
1 <?php
2 
4 
7 
8 class RelsRibbon extends WriterPart
9 {
15  public function writeRibbonRelationships(Spreadsheet $spreadsheet)
16  {
17  // Create XML writer
18  $objWriter = null;
19  if ($this->getParentWriter()->getUseDiskCaching()) {
20  $objWriter = new XMLWriter(XMLWriter::STORAGE_DISK, $this->getParentWriter()->getDiskCachingDirectory());
21  } else {
22  $objWriter = new XMLWriter(XMLWriter::STORAGE_MEMORY);
23  }
24 
25  // XML header
26  $objWriter->startDocument('1.0', 'UTF-8', 'yes');
27 
28  // Relationships
29  $objWriter->startElement('Relationships');
30  $objWriter->writeAttribute('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships');
31  $localRels = $spreadsheet->getRibbonBinObjects('names');
32  if (is_array($localRels)) {
33  foreach ($localRels as $aId => $aTarget) {
34  $objWriter->startElement('Relationship');
35  $objWriter->writeAttribute('Id', $aId);
36  $objWriter->writeAttribute('Type', 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image');
37  $objWriter->writeAttribute('Target', $aTarget);
38  $objWriter->endElement();
39  }
40  }
41  $objWriter->endElement();
42 
43  return $objWriter->getData();
44  }
45 }
getDiskCachingDirectory()
Get disk caching directory.
Definition: BaseWriter.php:92
getRibbonBinObjects($what='all')
retrieve Binaries Ribbon Objects.
writeRibbonRelationships(Spreadsheet $spreadsheet)
Write relationships for additional objects of custom UI (ribbon).
Definition: RelsRibbon.php:15
getUseDiskCaching()
Get use disk caching where possible?
Definition: BaseWriter.php:72