*/ protected $_xmlChart; /** * @access private * @var CreateGraphic * @static */ private static $_instance = null; /** * * @access private * @var */ private $_rId; /** * * @access private * @var */ private $_textalign; /** * * @access private * @var */ private $_jc; /** * * @access private * @var */ private $_sizeX; /** * * @access private * @var */ private $_sizeY; /** * * @access private * @var */ private $_type; /** * * @access private * @var */ private $_showPercent; /** * * @access private * @var */ private $_data; /** * * @access private * @var */ private $_cornerX; /** * * @access private * @var */ private $_cornerY; /** * * @access private * @var */ private $_cornerP; /** * * @access private * @var */ private $_color; /** * * @access private * @var */ private $_groupBar; /** * * @access private * @var */ private $_title; /** * * @access private * @var */ private $_name; /** * @access private * @var string */ private $_font; /** * Construct * * @access public */ public function __construct() { $this->_rId = ''; $this->_textalign = ''; $this->_jc = ''; $this->_sizeX = ''; $this->_sizeY = ''; $this->_type = ''; $this->_showPercent = ''; $this->_data = ''; $this->_cornerX = ''; $this->_cornerY = ''; $this->_cornerP = ''; $this->_color = ''; $this->_groupBar = ''; $this->_title = ''; $this->_font = ''; $this->_xml = ''; $this->_name = ''; } /** * Destruct * * @access public */ public function __destruct() { } /** * * @access public * @return string */ public function __toString() { return $this->_xml; } /** * * @access public * @return CreateGraphic * @static */ public static function getInstance() { if (self::$_instance == NULL) { self::$_instance = new CreateGraphic(); } return self::$_instance; } /** * Setter. Rid * * @access public * @param string $rId */ public function setRId($rId) { $this->_rId = $rId; } /** * Getter. Rid * * @access public * @return string */ public function getRId() { return $this->_rId; } /** * Setter. Name * * @access public * @param string $name */ public function setName($name) { $this->_name = $name; } /** * Getter. Name * * @access public * @return string */ public function getName() { return $this->_name; } /** * Setter. Xml chart * * @access public * @param string $xmlChart */ public function setXmlChart($xmlChart) { $this->_xmlChart = $xmlChart; } /** * Getter. Xml chart * * @access public * @return string */ public function getXmlChart() { return $this->_xmlChart; } /** * Create graphic * * @access public * @param array $args[0] * @param array $args[1] * @return boolean */ public function createGraphic() { $this->_xmlChart = ''; $args = func_get_args(); if (!empty($args[1]['type']) && !empty($args[0])) { if ($this->createCHARTXML($args) == false) { echo 'You haven`t added legends'; return false; } $this->createDOCUEMNTXML($args); return true; } else { echo 'You haven`t added a chart type'; return false; } } /** * Generate chartspace XML * * @access protected */ protected function generateCHARTSPACE() { $this->_xmlChart = '<' . CreateGraphic::NAMESPACEWORD . ':chartSpace xmlns:c="http://schemas.openxmlformats.o' . 'rg/drawingml/2006/chart" xmlns:a="http://schemas.open' . 'xmlformats.org/drawingml/2006/main" xmlns:r="http://s' . 'chemas.openxmlformats.org/officeDocument/2006/relatio' . 'nships">__GENERATECHARTSPACE__'; } /** * Generate w:date1904 * * @access protected * @param string $val */ protected function generateDATE1904($val = '1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':date1904 val="' . $val . '">__GENERATECHARTSPACE__'; $this->_xmlChart = str_replace( '__GENERATECHARTSPACE__', $xml, $this->_xmlChart ); } /** * Generate w:lang * * @access protected * @param string $val */ protected function generateLANG($val = 'es-ES') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':lang val="' . $val . '">__GENERATECHARTSPACE__'; $this->_xmlChart = str_replace( '__GENERATECHARTSPACE__', $xml, $this->_xmlChart ); } /** * Generate w:style * * @access protected * @param string $val */ protected function generateSTYLE($val = '2') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':style val="' . $val . '">__GENERATECHARTSPACE__'; $this->_xmlChart = str_replace( '__GENERATECHARTSPACE__', $xml, $this->_xmlChart ); } /** * Generate w:title * * @access protected */ protected function generateTITLE() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':title>__GENERATETITLE____GENERATECHART__'; $this->_xmlChart = str_replace( '__GENERATECHART__', $xml, $this->_xmlChart ); } /** * Generate w:titletx * * @access protected */ protected function generateTITLETX() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':tx>__GENERATETITLETX____GENERATETITLE__'; $this->_xmlChart = str_replace( '__GENERATETITLE__', $xml, $this->_xmlChart ); } /** * Generate w:rich * * @access protected */ protected function generateRICH() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':rich>__GENERATERICH____GENERATETITLETX__'; $this->_xmlChart = str_replace( '__GENERATETITLETX__', $xml, $this->_xmlChart ); } /** * Generate w:bodypr * * @access protected */ protected function generateBODYPR() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':bodyPr>__GENERATERICH__'; $this->_xmlChart = str_replace( '__GENERATERICH__', $xml, $this->_xmlChart ); } /** * Generate w:lststyle * * @access protected */ protected function generateLSTSTYLE() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':lstStyle>__GENERATERICH__'; $this->_xmlChart = str_replace( '__GENERATERICH__', $xml, $this->_xmlChart ); } /** * Generate w:titlep * * @access protected */ protected function generateTITLEP() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':p>__GENERATETITLEP____GENERATERICH__'; $this->_xmlChart = str_replace( '__GENERATERICH__', $xml, $this->_xmlChart ); } /** * Generate w:titleppr * * @access protected */ protected function generateTITLEPPR() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':pPr>__GENERATETITLEPPR____GENERATETITLEP__'; $this->_xmlChart = str_replace( '__GENERATETITLEP__', $xml, $this->_xmlChart ); } /** * Generate w:titlerfonts * * @access protected * @param string $font */ protected function generateTITLERFONTS($font = '') { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':latin typeface="' . $font . '" pitchFamily="34" charset="0"><' . CreateImage::NAMESPACEWORD1 . ':cs typeface="' . $font . '" pitchFamily="34" charset="0">'; $this->_xmlChart = str_replace( '__GENERATETITLERPR__', $xml, $this->_xmlChart ); } /** * Generate w:defrpr * * @access protected */ protected function generateDEFRPR() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':defRPr>__GENERATEDEFRPR____GENERATETITLEPPR__'; $this->_xmlChart = str_replace( '__GENERATETITLEPPR__', $xml, $this->_xmlChart ); } /** * Generate w:titler * * @access protected */ protected function generateTITLER() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':r>__GENERATETITLER____GENERATETITLEP__'; $this->_xmlChart = str_replace( '__GENERATETITLEP__', $xml, $this->_xmlChart ); } /** * Generate w:titlerpr * * @access protected */ protected function generateTITLERPR($lang = 'es-ES') { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':rPr lang="' . $lang . '">__GENERATETITLERPR____GENERATETITLER__'; $this->_xmlChart = str_replace( '__GENERATETITLER__', $xml, $this->_xmlChart ); } /** * Generate w:titlet * * @access protected * @param string $nombre */ protected function generateTITLET($nombre = '') { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':t>' . $nombre . '__GENERATETITLER__'; $this->_xmlChart = str_replace( '__GENERATETITLER__', $xml, $this->_xmlChart ); } /** * Generate w:titlelayout * * @access protected * @param string $nombre */ protected function generateTITLELAYOUT($nombre = '') { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':layout>'; $this->_xmlChart = str_replace( '__GENERATETITLE__', $xml, $this->_xmlChart ); } /** * Generate w:autotitledeleted * * @access protected * @param string $val */ protected function generateAUTOTITLEDELETED($val = '1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':autoTitleDeleted val="' . $val . '">__GENERATECHART__'; $this->_xmlChart = str_replace( '__GENERATECHART__', $xml, $this->_xmlChart ); } /** * Generate w:chart * * @access protected */ protected function generateCHART() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':chart>__GENERATECHART____GENERATECHARTSPACE__'; $this->_xmlChart = str_replace( '__GENERATECHARTSPACE__', $xml, $this->_xmlChart ); } /** * Generate w:plotarea * * @access protected */ protected function generatePLOTAREA() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':plotArea>__GENERATEPLOTAREA____GENERATECHART__'; $this->_xmlChart = str_replace( '__GENERATECHART__', $xml, $this->_xmlChart ); } /** * Generate w:layout * * @access protected */ protected function generateLAYOUT() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':layout>__GENERATEPLOTAREA__'; $this->_xmlChart = str_replace( '__GENERATEPLOTAREA__', $xml, $this->_xmlChart ); } /** * Generate w:piechart * * @access protected */ protected function generatePIECHART() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':pieChart>__GENERATETYPECHART____GENERATEPLOTAREA__'; $this->_xmlChart = str_replace( '__GENERATEPLOTAREA__', $xml, $this->_xmlChart ); } /** * Generate w:barChart * * @access protected */ protected function generateBARCHART() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':barChart>__GENERATETYPECHART____GENERATEPLOTAREA__'; $this->_xmlChart = str_replace( '__GENERATEPLOTAREA__', $xml, $this->_xmlChart ); } /** * Generate w:lineChart * * @access protected */ protected function generateLINECHART() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':lineChart>__GENERATETYPECHART____GENERATEPLOTAREA__'; $this->_xmlChart = str_replace( '__GENERATEPLOTAREA__', $xml, $this->_xmlChart ); } /** * Generate w:varyColors * * @access protected * @param string $val */ protected function generateVARYCOLORS($val = '1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':varyColors val="' . $val . '">__GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:barDir * * @access protected * @param string $val */ protected function generateBARDIR($val = 'bar') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':barDir val="' . $val . '">__GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:grouping * * @access protected * @param string $val */ protected function generateGROUPING($val = 'stacked') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':grouping val="' . $val . '">__GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:ser * * @access protected */ protected function generateSER() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':ser>__GENERATESER____GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:idx * * @access protected * @param string $val */ protected function generateIDX($val = '0') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':idx val="' . $val . '">__GENERATESER__'; $this->_xmlChart = str_replace( '__GENERATESER__', $xml, $this->_xmlChart ); } /** * Generate w:order * * @access protected * @param string $val */ protected function generateORDER($val = '0') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':order val="' . $val . '">__GENERATESER__'; $this->_xml = str_replace( '__GENERATESER__', $xml, $this->_xmlChart ); } /** * Generate w:tx * * @access protected */ protected function generateTX() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':tx>__GENERATETX____GENERATESER__'; $this->_xmlChart = str_replace( '__GENERATESER__', $xml, $this->_xmlChart ); } /** * Generate w:strref * * @access protected */ protected function generateSTRREF() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':strRef>__GENERATESTRREF____GENERATETX__'; $this->_xmlChart = str_replace( '__GENERATETX__', $xml, $this->_xmlChart ); } /** * Generate w:f * * @access protected * @param string $val */ protected function generateF($val = 'Hoja1!$B$1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':f>' . $val . '__GENERATESTRREF__'; $this->_xmlChart = str_replace( '__GENERATESTRREF__', $xml, $this->_xmlChart ); } /** * Generate w:strcache * * @access protected */ protected function generateSTRCACHE() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':strCache>__GENERATESTRCACHE____GENERATESTRREF__'; $this->_xmlChart = str_replace( '__GENERATESTRREF__', $xml, $this->_xmlChart ); } /** * Generate w:ptcount * * @access protected * @param string $val */ protected function generatePTCOUNT($val = '1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':ptCount val="' . $val . '">__GENERATESTRCACHE__'; $this->_xmlChart = str_replace( '__GENERATESTRCACHE__', $xml, $this->_xmlChart ); } /** * Generate w:pt * * @access protected * @param string $idx */ protected function generatePT($idx = '0') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':pt idx="' . $idx . '">__GENERATEPT____GENERATESTRCACHE__'; $this->_xmlChart = str_replace( '__GENERATESTRCACHE__', $xml, $this->_xmlChart ); } /** * Generate w:v * * @access protected * @param string $idx */ protected function generateV($idx = 'Ventas') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':v>' . $idx . ''; $this->_xmlChart = str_replace( '__GENERATEPT__', $xml, $this->_xmlChart ); } /** * Generate w:cat * * @access protected */ protected function generateCAT() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':cat>__GENERATETX____GENERATESER__'; $this->_xmlChart = str_replace( '__GENERATESER__', $xml, $this->_xmlChart ); } /** * Generate w:val * * @access protected */ protected function generateVAL() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':val>__GENERATETX____GENERATESER__'; $this->_xmlChart = str_replace( '__GENERATESER__', $xml, $this->_xmlChart ); } /** * Generate w:numcache * * @access protected */ protected function generateNUMCACHE() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':numCache>__GENERATESTRCACHE____GENERATESTRREF__'; $this->_xmlChart = str_replace( '__GENERATESTRREF__', $xml, $this->_xmlChart ); } /** * Generate w:numRef * * @access protected */ protected function generateNUMREF() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':numRef>__GENERATESTRREF____GENERATETX__'; $this->_xmlChart = str_replace( '__GENERATETX__', $xml, $this->_xmlChart ); } /** * Generate w:formatCode * * @access protected * @param string $val */ protected function generateFORMATCODE($val = 'General') { $this->_xmlChart = str_replace( '__GENERATESTRCACHE__', '<' . CreateGraphic::NAMESPACEWORD . ':formatCode>' . $val . '__GENERATESTRCACHE__', $this->_xmlChart ); } /** * Generate w:legend * * @access protected */ protected function generateLEGEND() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':legend>__GENERATELEGEND____GENERATECHART__'; $this->_xmlChart = str_replace( '__GENERATECHART__', $xml, $this->_xmlChart ); } /** * Generate w:legendPos * * @access protected * @param string $val */ protected function generateLEGENDPOS($val = 'r') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':legendPos val="' . $val . '">__GENERATELEGEND__'; $this->_xmlChart = str_replace( '__GENERATELEGEND__', $xml, $this->_xmlChart ); } /** * Generate c:layout * * @access protected * @param string $font */ protected function generateLEGENDFONT($font = '') { $xml = '' . '' . ''; $this->_xmlChart = str_replace( '__GENERATELEGEND__', $xml, $this->_xmlChart ); } /** * Generate w:poltVisOnly * * @access protected * @param string $val */ protected function generatePLOTVISONLY($val = '1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':plotVisOnly val="' . $val . '">__GENERATECHART__'; $this->_xmlChart = str_replace( '__GENERATECHART__', $xml, $this->_xmlChart ); } /** * Generate w:externalData * * @access protected * @param string $val */ protected function generateEXTERNALDATA($val = 'rId1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':externalData r:id="' . $val . '">'; $this->_xmlChart = str_replace( '__GENERATECHARTSPACE__', $xml, $this->_xmlChart ); } /** * Generate w:spPr * * @access protected */ protected function generateSPPR() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':spPr>__GENERATESPPR____GENERATECHARTSPACE__'; $this->_xmlChart = str_replace( '__GENERATECHARTSPACE__', $xml, $this->_xmlChart ); } /** * Generate w:ln * * @access protected */ protected function generateLN() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':ln>__GENERATELN__'; $this->_xmlChart = str_replace( '__GENERATESPPR__', $xml, $this->_xmlChart ); } /** * Generate w:noFill * * @access protected */ protected function generateNOFILL() { $xml = '<' . CreateImage::NAMESPACEWORD1 . ':noFill>'; $this->_xmlChart = str_replace( '__GENERATELN__', $xml, $this->_xmlChart ); } /** * Generate w:overlap * * @access protected * @param string $val */ protected function generateOVERLAP($val = '100') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':overlap val="' . $val . '">__GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:shape * * @access protected * @param string $val */ protected function generateSHAPE($val = 'box') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':shape val="' . $val . '">__GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:axid * * @access protected * @param string $val */ protected function generateAXID($val = '59034624') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':axId val="' . $val . '">__GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:firstSliceAng * * @access protected * @param string $val */ protected function generateFIRSTSLICEANG($val = '0') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':firstSliceAng val="' . $val . '">'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:dLbls * * @access protected */ protected function generateDLBLS() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':dLbls>__GENERATEDLBLS____GENERATETYPECHART__'; $this->_xmlChart = str_replace( '__GENERATETYPECHART__', $xml, $this->_xmlChart ); } /** * Generate w:showPercent * * @access protected * @param string $val */ protected function generateSHOWPERCENT($val = '0') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':showPercent val="' . $val . '">'; $this->_xmlChart = str_replace( '__GENERATEDLBLS__', $xml, $this->_xmlChart ); } /** * Generate w:chart * * @access protected */ protected function generateDOCUMENTCHART() { $this->_xml = str_replace( '__GENERATEGRAPHICDATA__', '<' . CreateGraphic::NAMESPACEWORD . ':chart xmlns:c="http://schemas.openxmlformats.org/drawingml/' . '2006/chart" xmlns:r="http://schemas.openxmlformats.org/offic' . 'eDocument/2006/relationships" r:id="rId' . $this->getRId() . '">', $this->_xml ); } /** * Generate w:catAx * * @access protected */ protected function generateCATAX() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':catAx>__GENERATEAX____GENERATEPLOTAREA__'; $this->_xmlChart = str_replace( '__GENERATEPLOTAREA__', $xml, $this->_xmlChart ); } /** * Generate w:valAx * * @access protected */ protected function generateVALAX() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':valAx>__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEPLOTAREA__', $xml, $this->_xmlChart ); } /** * Generate w:axId * * @access protected * @param $val */ protected function generateAXAXID($val = '59034624') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':axId val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:scaling * * @access protected */ protected function generateSCALING() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':scaling>__GENERATESCALING____GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:orientation * * @access protected * @param string $val */ protected function generateORIENTATION($val = 'minMax') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':orientation val="' . $val . '">'; $this->_xmlChart = str_replace( '__GENERATESCALING__', $xml, $this->_xmlChart ); } /** * Generate w:axPos * * @access protected * @param string $val */ protected function generateAXPOS($val = 'b') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':axPos val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:tickLblPos * * @access protected * @param string $val */ protected function generateTICKLBLPOS($val = 'nextTo') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':tickLblPos val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:crossAx * * @access protected * @param string $val */ protected function generateCROSSAX($val = '59040512') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':crossAx val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:crosses * * @access protected * @param string $val */ protected function generateCROSSES($val = 'autoZero') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':crosses val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:auto * * @access protected * @param string $val */ protected function generateAUTO($val = '1') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':auto val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:lblAlgn * * @access protected * @param string $val */ protected function generateLBLALGN($val = 'ctr') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':lblAlgn val="' . $val . '">__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:lblOffset * * @access protected * @param string $val */ protected function generateLBLOFFSET($val = '100') { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':lblOffset val="' . $val . '">'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:majorGridlines * * @access protected */ protected function generateMAJORGRIDLINES() { $xml = '<' . CreateGraphic::NAMESPACEWORD . ':majorGridlines>__GENERATEAX__'; $this->_xmlChart = str_replace( '__GENERATEAX__', $xml, $this->_xmlChart ); } /** * Generate w:numFmt * * @access protected * @param string $formatCode * @param string $sourceLinked */ protected function generateNUMFMT($formatCode='General', $sourceLinked = '1') { $this->_xmlChart = str_replace( '__GENERATEAX__', '<' . CreateGraphic::NAMESPACEWORD . ':numFmt formatCode="' . $formatCode . '" sourceLinked="' . $sourceLinked . '">__GENERATEAX__', $this->_xmlChart ); } /** * Generate w:crossBetween * * @access protected * @param string $val */ protected function generateCROSSBETWEEN($val = 'between') { $this->_xmlChart = str_replace( '__GENERATEAX__', '<' . CreateGraphic::NAMESPACEWORD . ':crossBetween val="' . $val . '">', $this->_xmlChart ); } /** * Create chart xml * * @access protected * @param array $args[0] */ protected function createCHARTXML() { $this->_xmlChart = ''; $args = func_get_args(); $type = $args[0][1]['type']; $this->setRId($args[0][0]); $this->generateCHARTSPACE(); $this->generateDATE1904(1); $this->generateLANG(); $this->generateSTYLE(); $this->generateCHART(); if (!empty($args[0][1]['title'])) { $this->generateTITLE(); $title = $args[0][1]['title']; $this->generateTITLETX(); $this->generateRICH(); $this->generateBODYPR(); $this->generateLSTSTYLE(); $this->generateTITLEP(); $this->generateTITLEPPR(); $this->generateDEFRPR(); if (!empty($args[0][1]['font'])) { $this->generateRFONTS($args[0][1]['font']); } $this->generateTITLER(); $this->generateTITLERPR(); if (!empty($args[0][1]['font'])) { $this->generateTITLERFONTS($args[0][1]['font']); } $this->generateTITLET($title); $this->generateTITLELAYOUT(); } else { $this->generateAUTOTITLEDELETED(); $title = ''; } if (empty($args[0][1]['data'])) { exit('You haven`t added data'); } $dats = $args[0][1]['data']; $this->generatePLOTAREA(); $this->generateLAYOUT(); if (strpos($type, 'pie') !== false) { $this->generatePIECHART(); $this->generateVARYCOLORS(); if (isset($dats[0])) { $legends = $dats[0]; } else { $legends = array($title); } $sizeDats = count($dats); } elseif ( (strpos($type, 'bar') !== false) || (strpos($type, 'col') !== false) ) { $this->generateBARCHART(); $typeBar = 'bar'; if (strpos($type, 'col') !== false) { $typeBar = 'col'; } $this->generateBARDIR($typeBar); $groupBar = 'clustered'; $this->generateGROUPING($groupBar); if (isset($dats[0])) { $legends = $dats[0]; } else { echo('You must write a legend'); return false; } $sizeDats = count($dats) - 1; } elseif (strpos($type, 'line') !== false) { $this->generateLINECHART(); $this->generateGROUPING('standard'); if (isset($dats[0])) $legends = $dats[0]; else { echo('You must write a legend'); return false; } $sizeDats = count($dats) - 1; } else { echo('The graphic is not available'); return false; } $chart = 'A'; for ($i = 0; $i < count($legends); $i++) { $this->generateSER(); $this->generateIDX($i); $this->generateORDER($i); $chart++; $this->generateTX(); $this->generateSTRREF(); $this->generateF(' Hoja1!$' . $chart . '$1'); $this->generateSTRCACHE(); $this->generatePTCOUNT(); $this->generatePT(); if (strpos($args[0][1]['type'], 'pie') !== false) { $this->generateV($title); } else { $this->generateV($legends[$i]); } $this->cleanTemplate2(); $this->generateCAT(); $this->generateSTRREF(); $this->generateF('Hoja1!$A$2:$A$' . ($sizeDats + 1)); $this->generateSTRCACHE(); $this->generatePTCOUNT($sizeDats); $num = 0; foreach ($dats as $legend => $dat) { if ($legend == '0') continue; $this->generatePT($num); $this->generateV($legend); $num++; } $this->cleanTemplate2(); $this->generateVAL(); $this->generateNUMREF(); $this->generateF('Hoja1!$' . $chart . '$2:$B$' . ($sizeDats + 1)); $this->generateNUMCACHE(); $this->generateFORMATCODE(); $this->generatePTCOUNT($sizeDats); $num = 0; foreach ($dats as $legend => $dat) { if ($legend == '0') continue; $this->generatePT($num); $this->generateV($dat[$i]); $num++; } $this->cleanTemplate3(); } if (strpos($args[0][1]['type'], 'pie') !== false) { $this->generateDLBLS(); $this->generateSHOWPERCENT(); $this->generateFIRSTSLICEANG(); } else { $this->generateSHAPE(); $this->generateAXID(); $this->generateAXID(59040512); $this->generateCATAX(); $this->generateAXAXID(59034624); $this->generateSCALING(); $this->generateORIENTATION(); $this->generateAXPOS(); $this->generateTICKLBLPOS(); $this->generateCROSSAX(); $this->generateCROSSES(); $this->generateAUTO(); $this->generateLBLALGN(); $this->generateLBLOFFSET(); $this->generateVALAX(); $this->generateAXAXID(59040512); $this->generateSCALING(); $this->generateORIENTATION(); $this->generateAXPOS('l'); $this->generateMAJORGRIDLINES(); $this->generateNUMFMT(); $this->generateTICKLBLPOS(); if (!empty($args[0][1]['font'])) { $this->generateRFONTS2($args[0][1]['font']); } $this->generateCROSSAX(59034624); $this->generateCROSSES(); $this->generateCROSSBETWEEN(); } $this->generateLEGEND(); $this->generateLEGENDPOS(); if (!empty($args[0][1]['font'])) { $this->generateLEGENDFONT($args[0][1]['font']); } $this->generatePLOTVISONLY(); if (strpos($args[0][1]['type'], 'pieChart') === false) { $this->generateSPPR(); $this->generateLN(); $this->generateNOFILL(); } $this->generateEXTERNALDATA(); $this->cleanTemplateDocument(); return true; } /** * Create document xml * * @access protected * @param array $args[0] */ protected function createDOCUEMNTXML() { $args = func_get_args(); $ajusteTexto = 0; if (isset($args[0][1]['sizeX'])) $sizeX = $args[0][1]['sizeX'] * CreateImage::CONSTWORD; else { $sizeX = 2993296; } if (isset($args[0][1]['sizeY'])) $sizeY = $args[0][1]['sizeY'] * CreateImage::CONSTWORD; else { $sizeY = 2238233; } $this->_xml = ''; $this->generateP(); $this->generateR(); $this->generateRPR(); $this->generateNOPROOF(); $this->generateDRAWING(); $this->generateINLINE(); $this->generateEXTENT($sizeX, $sizeY); $this->generateEFFECTEXTENT(); $this->generateDOCPR(); $this->generateCNVGRAPHICFRAMEPR(); $this->generateGRAPHIC(); $this->generateGRAPHICDATA( 'http://schemas.openxmlformats.org/'. 'drawingml/2006/chart' ); $this->generateDOCUMENTCHART(); $this->cleanTemplate(); return true; } /** * Clean tags in template document * * @access protected */ private function cleanTemplateDocument() { $this->_xmlChart = preg_replace('/__[A-Z]+__/', '', $this->_xmlChart); } /** * Clean tags in template document * * @access protected */ private function cleanTemplate2() { $this->_xmlChart = preg_replace( array( '/__GENERATE[A-B,D-O,Q-R,U-Z][A-Z]+__/', '/__GENERATES[A-D,F-Z][A-Z]+__/', '/__GENERATETX__/'), '', $this->_xmlChart ); } /** * Clean tags in template document * * @access protected */ private function cleanTemplate3() { $this->_xmlChart = preg_replace( array( '/__GENERATE[A-B,D-O,Q-S,U-Z][A-Z]+__/', '/__GENERATES[A-D,F-Z][A-Z]+__/', '/__GENERATETX__/' ), '', $this->_xmlChart ); } /** * Generate c:txPr * * @access protected * @param string $font */ private function generateRFONTS2($font) { $this->_xmlChart = str_replace( '__GENERATEAX__', '' . '' . '' . '__GENERATEAX__', $this->_xmlChart ); } }