Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/inc/lib/phpdocx/classes/CreateChartRels.inc

134 lines
3.0 KiB

<?php
/**
* Create relationships used by images, charts...
*
* @category Phpdocx
* @package elements
* @copyright Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
* (http://www.2mdc.com)
* @license LGPL
* @version 1.0
* @link http://www.phpdocx.com
* @since File available since Release 1.0
*/
include_once dirname(__FILE__) . '/CreateElement.inc';
/**
* Create relationships used by images, charts...
*
* @category Phpdocx
* @package elements
* @copyright Copyright (c) 2009-2011 Narcea Producciones Multimedia S.L.
* (http://www.2mdc.com)
* @license http://www.phpdocx.com/wp-content/themes/lightword/pro_license.php
* @version 1.0
* @link http://www.phpdocx.com
* @since Class available since Release 1.0
*/
class CreateChartRels extends CreateElement
{
/**
*
* @access protected
*/
protected $_xml;
/**
*
* @access private
* @static
*/
private static $_instance = NULL;
/**
* Construct
*
* @access public
*/
public function __construct()
{
}
/**
* Destruct
*
* @access public
*/
public function __destruct()
{
}
/**
* Magic method, returns current XML
*
* @access public
* @return string Return current XML
*/
public function __toString()
{
return $this->_xml;
}
/**
* Singleton, return instance of class
*
* @access public
* @return CreateChartRels
*/
public static function getInstance()
{
if (self::$_instance == NULL) {
self::$_instance = new CreateChartRels();
}
return self::$_instance;
}
/**
* Create relationship document to use in DOCX file
*
* @access public
* @param int $idChart
*/
public function createRelationship($idChart)
{
$this->generateRELATIONSHIPS();
$this->generateRELATIONSHIP($idChart);
$this->cleanTemplate();
}
/**
* New relationship, added to relationships XML
*
* @access protected
* @param int $idChart
* @param int $id. Optional, use 1 as default
*/
protected function generateRELATIONSHIP($idChart, $id = 1)
{
$xml = '<Relationship Id="rId' . $id . '" Type="http://schemas.open'
. 'xmlformats.org/officeDocument/2006/relationships/package" '
. 'Target="../embeddings/datos' . $idChart
. '.xlsx"></Relationship>__GENERATECHARTSPACE__';
$tag = '__GENERATERELATIONSHIPS__';
$this->_xml = str_replace($tag, $xml, $this->_xml);
}
/**
* Main tags of relationships XML
*
* @access protected
*/
protected function generateRELATIONSHIPS()
{
$this->_xml = '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>'
. '<Relationships xmlns="http://schemas.openxmlformats.org/'
. 'package/2006/relationships">__GENERATERELATIONSHIPS__'
. '</Relationships>';
}
}