function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aryListData = $aOutput['detail']; $xmlDataEntity = ""; for ($i = 0; $i < count($aryListData); $i++) { if (isset($aryListData[$i]) && is_array($aryListData[$i])) { foreach ($aryListData[$i] as $key => $aTmp) { foreach ($aTmp as $ii => $item) { $colspan = isset($item['colspan']) ? $item['colspan'] : 1; if ($colspan == 0) { continue; } //被前面的td跨列 $label = isset($item['label']) ? $item['label'] : ''; //$label = strip_tags(preg_replace('/'.$separator.'/', " ", $label)); $label = strip_tags(str_replace("\t", " ", $label)); $label = strip_tags(str_replace("\r\n", " ", $label)); $label = strip_tags(str_replace("\n", " ", $label)); $xmlDataEntity .= "\n\t\t<column>" . $label . "<column>"; } } } $xmlDataEntity .= "\n\t</entity>\n\t<entity>"; } $xmlDataEntity = substr($xmlDataEntity, 0, strrpos($xmlDataEntity, "<entity")); $aRe = array("title" => 'xx', "data" => empty($xmlDataEntity) ? "<entitys></entitys>" : "<entitys>\n\t<entity>" . $xmlDataEntity . "\n</entitys>", 'pagination' => array('listCount' => $listCount, 'items_per_page' => $aParm['items_per_page'], 'current_page' => $aParm['current_page'])); // var_export($aRe); $aOutput['detail.output'] = $aOutput['detail']; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $oDict = \YcheukfReport\Lib\ALYS\ALYSFunction::loadDictionary('Metric'); $separator = $this->_getCsvSeparator(); $trendType = $aInput['input']['flash']['type'] = isset($aInput['input']['flash']['type']) ? $aInput['input']['flash']['type'] : "trend"; $aOffsetData = $aOutput['total']; foreach ($aOutput['total'] as $i => $aTmp) { $compareFlag = $i != 0 ? 1 : 0; foreach ($aTmp as $metric => $v) { if ($compareFlag) { if (empty($v)) { $offerPercent = 0; } else { $offerPercent = $aOutput['total'][0][0][$metric] ? ($aOutput['total'][0][0][$metric] - $v) * 100 / $v : 0; } $aOffsetData[$i][$metric] = $offerPercent; } } } $sHTML = ""; // \YcheukfReport\Lib\ALYS\ALYSFunction::debug($aOutput,'a', 'aOutputaOutput'); switch (strtolower($trendType)) { default: case "trend": case "multdate": $index = 0; foreach ($aOutput['total'][0] as $metric => $vvv) { foreach ($vvv as $metric2 => $vvv2) { if ($metric != $metric2) { continue; } $sHTML .= "\r\n"; $keyLabel = \YcheukfReport\Lib\ALYS\ALYSLang::_($metric2); $keyLabelTip = \YcheukfReport\Lib\ALYS\ALYSLang::_($metric2 . '-tip'); $sHTML .= '"' . $keyLabel . '"' . $separator; $offerPercentHTML = ""; if ($ii != 0) { if ($aOffsetData[$ii][$metric] == 0) { $offerPercentCls = "zero"; } else { $offerPercentCls = $aOffsetData[$ii][$metric] > 0 ? "plus2" : 'negative'; } $offerPercentLabel = abs(round($aOffsetData[$ii][$metric], 2)) . "%"; $offsetPercentHTML = '(' . $offerPercentLabel . ')'; $sHTML .= '"' . $vvv2 . '' . $offsetPercentHTML . '"' . $separator; } else { $sHTML .= '"' . $oDict->ALYSmetricFormat($metric2, $vvv2) . '"' . $separator; } } $index++; } break; } $sHTML .= "\r\n"; // var_export($sHTML); $aOutput['total.output'] = $sHTML; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $type = 'total'; $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $aOffsetData = $aOutput['total']; foreach ($aOutput['total'] as $date_i => $aData) { foreach ($aData as $i => $aTmp) { $compareFlag = $date_i != 0 ? 1 : 0; foreach ($aTmp as $metric => $v) { if ($compareFlag) { if (empty($v)) { $offerPercent = 0; } else { $offerPercent = $aOutput['total'][0][0][$metric] ? ($aOutput['total'][0][0][$metric] - $v) * 100 / $v : 0; } $aOffsetData[$date_i][$metric] = $offerPercent; } } } } $this->_formatMetric($type); //格式化 $oPlugin = \YcheukfReport\Lib\ALYS\ALYSFunction::loadPlugin("total"); $aOutput['total.output'] = $oPlugin->ALYSfmtOutputHtml($aOffsetData); \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
/** * 负责csv的字符串的组织与输出 @return string 处理过后的csv 字符串 */ function ALYSfmtOutputCsv() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $sCsv = ""; if ($aInput['nodateFlag'] == false) { foreach ($aInput['date'] as $aTmp) { $sCsv .= "#" . $aTmp['s'] . "~" . $aTmp['e'] . "\r\n"; } $sCsv .= "\r\n\r\n"; } if (isset($aOutput['flash.output'])) { $sCsv .= $aOutput['flash.output']; $sCsv .= "\r\n\r\n"; } if (isset($aOutput['total.output'])) { $sCsv .= $aOutput['total.output']; $sCsv .= "\r\n\r\n"; } if (isset($aOutput['detail.output'])) { $sCsv .= $aOutput['detail.output']; $sCsv .= "\r\n\r\n"; } return $sCsv; }
public function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $sHtml = ""; $oPluginStatic = \YcheukfReport\Lib\ALYS\ALYSFunction::loadPlugin("Statichtml"); if (isset($aOutput['flash.output'])) { $sHtml .= $oPluginStatic->ALYSfmtOutputFlash($aOutput['flash.output']); } if (isset($aOutput['total.output'])) { $aOutput['total.output'] = parent::_forma_html_total($aOutput['total.output']); $sHtml .= $oPluginStatic->ALYSfmtOutputTotal($aOutput['total.output']); } if (isset($aOutput['detail.output'])) { $aOutput['detail.output'] = parent::_format_html_list($aOutput['detail.output']); $sHtml .= $oPluginStatic->ALYSfmtOutputList($aOutput['detail.output']); } $sHtml = self::_fmtHtml($sHtml); $cache = \YcheukfReport\Lib\ALYS\ALYSFunction::loadClass("ALYSCache"); $cache->setHandle('report_static_html'); $keyName = uniqid(); $cache->save($keyName, $sHtml); $aOutput['output'] = $keyName; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); return $keyName; }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $trendType = $aInput['input']['flash']['type'] = isset($aInput['input']['flash']['type']) ? $aInput['input']['flash']['type'] : "trend"; $xmlDataEntity = ""; if ('bubble' == $trendType) { $xmlDataEntity .= "\n\r<bubble>"; foreach ($aOutput['flash'] as $i => $aTmp) { $xmlDataEntity .= "\n\r<entity>\n"; $xmlDataEntity .= "<column>" . $i . "</column>\n"; foreach ($aTmp as $date => $aTmp2) { $xmlDataEntity .= "<column>" . $aTmp2 . "</column>"; } $xmlDataEntity .= "\n</entity>"; } $xmlDataEntity .= "\n\r</bubble>"; } else { foreach ($aOutput['flash'] as $i => $aTmp) { $xmlDataEntity .= "\n\r<trend>"; foreach ($aTmp as $date => $aTmp2) { $xmlDataEntity .= "\n\r<entity>\n"; $xmlDataEntity .= "<column>" . $date . "</column>\n"; $xmlDataEntity .= "<column>" . current(array_values($aTmp2)) . "</column>"; $xmlDataEntity .= "\n</entity>"; } $xmlDataEntity .= "\n\r</trend>"; } } $aOutput['flash.output'] = "<flash>\n\n" . $xmlDataEntity . "</flash>\n\n"; \YcheukfReport\Lib\ALYS\Report\Start::setInput($aInput); \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $headertop = ""; //设置头标题上部份 $headerfoot = ""; //设置头标题下部份 $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $aOutput['total.output'] = self::_forma_pdf_total($aOutput['total.output']); $aOutput['detail.output'] = self::_format_pdf_list($aOutput['detail.output']); if (isset($aInput["custom"]["image"]) && !empty($aInput["custom"]["image"])) { $image = $aInput["custom"]["image"]; $_ALYSconfig = \YcheukfReport\Lib\ALYS\ALYSConfig::get(); \YcheukfReport\Lib\ALYS\ALYSFunction::removeLifeFile($_ALYSconfig['pdf']['path'], $_ALYSconfig['pdf']['lifetime'], $_ALYSconfig['pdf']['remove']); if (isset($aInput["custom"]["headertop"]) || isset($aInput["custom"]["headerfoot"])) { $headertop = $aInput["custom"]["headertop"]; $headerfoot = $aInput["custom"]["headerfoot"]; $pagefooter = @$aInput["custom"]["pagefooter"]; } else { $aHeader = \YcheukfReport\Lib\ALYS\ALYSFunction::loadPlugin("Css"); $aHeader = $aHeader->ALYSfmtOuputPdfTitle(); $headertop = $aHeader["titletop"]; $headerfoot = $aHeader["titlefoot"]; $pagefooter = @$aHeader["pagefooter"]; } $aOutput['output'] = self::_createPdf($image, $aOutput['total.output'], $aOutput['detail.output'], "f", $headertop, $headerfoot, $pagefooter); \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); } }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $oPlugin = \YcheukfReport\Lib\ALYS\ALYSFunction::loadPlugin("csv"); $sCsv = $oPlugin->ALYSfmtOutputCsv($aOutput); $aOutput['output'] = $sCsv; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
public function __construct() { $this->aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $this->aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $this->aFlashDatas = $this->aInput['internal']['flash']['datas']; $this->aDimen = array_keys($this->aInput['input']['flash']['tables'][$this->aInput['input']['flash']['mainTable']['table']]['dimen']['dimenkey2field']); $this->dimenkey2selected = $this->aInput['input']['flash']['tables'][$this->aInput['input']['flash']['mainTable']['table']]['dimen']['dimenkey2selected']; //维度 }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aOutput['total.output'] = isset($aOutput['total.output']) ? parent::_forma_html_total($aOutput['total.output']) : ""; $aOutput['detail.output'] = isset($aOutput['detail.output']) ? parent::_format_html_list($aOutput['detail.output']) : ""; $sHTML = ""; $sHTML .= isset($aOutput['flash.output']) ? $aOutput['flash.output'] : ""; $sHTML .= "\r\n\r\n"; $sHTML .= isset($aOutput['total.output']) ? $aOutput['total.output'] : ""; $sHTML .= "\r\n\r\n"; $sHTML .= isset($aOutput['detail.output']) ? $aOutput['detail.output'] : ""; $sHTML .= "\r\n\r\n"; $aOutput['output'] = $sHTML; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aJson = array(); if (isset($aOutput['flash.output'])) { $aJson['flash'] = $aOutput['flash.output']; } if (isset($aOutput['total.output'])) { $aJson['total'] = $aOutput['total.output']; } if (isset($aOutput['detail.output'])) { $aJson['detail'] = $aOutput['detail.output']; } $aOutput['output'] = json_encode($aJson); \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $aJson = array(); $aReturn = ""; foreach ($aOutput['flash'] as $i => $aTmp) { foreach ($aTmp as $x => $aTmp2) { foreach ($aTmp2 as $metric => $v) { $aReturn[$i][$x]['x'] = $x; $aReturn[$i][$x]['y'] = \YcheukfReport\Lib\ALYS\ALYSLang::_("metric_" . $metric); $aReturn[$i][$x]['v'] = $v; } } } $aOutput['flash.output'] = $aReturn; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $sHtml = ""; if (isset($aOutput['flash.output'])) { $sHtml .= $aOutput['flash.output'] . "\n\n"; } if (isset($aOutput['total.output'])) { $sHtml .= $aOutput['total.output'] . "\n\n"; } if (isset($aOutput['detail.output'])) { $sHtml .= $aOutput['detail.output'] . "\n\n"; } $oPlugin = \YcheukfReport\Lib\ALYS\ALYSFunction::loadPlugin("xml"); $sTitle = $oPlugin->ALYSxml_title(); $aOutput['output'] = "<?xml version='1.0' encoding='UTF-8'?>\n<report>\n\n" . $sTitle . $sHtml . "\n\n</report>"; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); // \YcheukfReport\Lib\ALYS\ALYSFunction::debug($aOutput,'a', 'aOutputaOutput'); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $trendType = $aInput['input']['flash']['type'] = isset($aInput['input']['flash']['type']) ? $aInput['input']['flash']['type'] : "trend"; $aTmp2 = array(); foreach ($aOutput['total'] as $i => $aTmp) { $ii = 0; foreach ($aTmp as $metric => $v) { $aTmp2[$i][$ii]['label'] = \YcheukfReport\Lib\ALYS\ALYSLang::_("metric_" . $metric); $aTmp2[$i][$ii]['value'] = $v; $ii++; } } $aOutput['total.output'] = $aTmp2; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
public function __construct() { $this->aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $this->aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aInput = \YcheukfReport\Lib\ALYS\Report\Start::getInput(); $trendType = $aInput['input']['flash']['type'] = isset($aInput['input']['flash']['type']) ? $aInput['input']['flash']['type'] : "trend"; $separator = isset($this->aInput['output']['csvSeparator']) ? $this->aInput['output']['csvSeparator'] : "\t"; $sCsv = $sCsvTitle = ""; $nIndex = 0; //维度标题的标签转换 $aInputFlash = $aInput['input']['flash']; $aDimen = @array_keys($aInputFlash['tables'][$aInputFlash['mainTable']['table']]['dimen']['dimenkey2field']); $sDimen = @current($aDimen); switch (strtolower($trendType)) { default: case "trend": $aId2Label = $this->_getId2Label($sDimen, $aOutput['flash'][0]); if (is_array($aOutput['flash'][0])) { foreach ($aOutput['flash'][0] as $date => $aTmp) { if ($nIndex == 0) { $sCsvTitle .= '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($sDimen) . '"' . $separator . '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_(current(array_keys($aTmp))) . "\"\r\n"; $nIndex = 1; } $sCsv .= '"' . (empty($aId2Label[$date]) ? $date : $aId2Label[$date]) . '"' . $separator . '"' . current(array_values($aTmp)) . "\"\r\n"; } } break; case "geography": $aId2Label = $this->_getId2Label($sDimen, $aOutput['flash'][0]); if (is_array($aOutput['flash'][0])) { foreach ($aOutput['flash'][0] as $date => $aTmp) { $sCsvTitle .= '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($sDimen) . '"' . $separator . '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($date) . "\"\r\n"; if (is_array($aTmp)) { foreach ($aTmp as $k => $v) { $sCsv .= '"' . (empty($aId2Label[$k]) ? $k : $aId2Label[$k]) . '"' . $separator . '"' . $v . "\"\r\n"; } } } } break; case "bubble": $aId2Label = $this->_getId2Label($sDimen, $aOutput['flash']); $oDict = \YcheukfReport\Lib\ALYS\ALYSFunction::loadDictionary('Metric'); if (is_array($aOutput['flash']) && !empty($aOutput['flash'])) { $aInputFlash = $aInput['input']['flash']; $aDimen = array_keys($aInputFlash['tables'][$aInputFlash['mainTable']['table']]['dimen']['dimenkey2field']); $sDimen = $aDimen[0]; $sCsvTitle .= \YcheukfReport\Lib\ALYS\ALYSLang::_($sDimen); if (is_array($aInput['input']['flash']['mainTable']['showField'])) { foreach ($aInput['input']['flash']['mainTable']['showField'] as $v) { $sCsvTitle .= $separator . '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($v) . '"'; } } $sCsvTitle .= "\r\n"; if (is_array($aOutput['flash'])) { foreach ($aOutput['flash'] as $key => $values) { $tmp = array(); if (is_array($aInput['input']['flash']['mainTable']['showField'])) { foreach ($aInput['input']['flash']['mainTable']['showField'] as $v) { if (isset($values[$v])) { $tmp[] = $oDict->ALYSmetricFormat($v, $values[$v]); } else { $tmp[] = ''; } } } $sCsv .= '"' . (empty($aId2Label[$key]) ? $key : $aId2Label[$key]) . '"' . $separator . '"' . implode('"' . $separator . '"', $tmp) . "\"\r\n"; } } } break; case "multdate": $sCsvTitle .= '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_("ALYSDATE"); if (is_array($aOutput['flash'])) { foreach ($aOutput['flash'] as $i => $aTmp) { $sDate = $aInput['date'][$i]['s']; $eDate = $aInput['date'][$i]['e']; $sTmp = $sDate . "~" . $eDate; foreach ($aTmp as $date => $aTmp) { if ($nIndex == 0) { $sCsvTitle .= '"' . $separator . '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($sDimen) . $separator . '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_(current(array_keys($aTmp))) . "\"\r\n"; $nIndex = 1; } $sCsv .= '"' . $date . '"' . $separator . '"' . $sTmp . '"' . $separator . '"' . current(array_values($aTmp)) . "\"\r\n"; } } } break; case "multmetric": $aId2Label = $this->_getId2Label($sDimen, $aOutput['flash'][0]); $sCsvTitle .= '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($sDimen) . '"'; if (is_array($aOutput['flash'])) { foreach ($aOutput['flash'] as $i => $aTmp) { foreach ($aTmp as $date => $aTmp2) { foreach ($aTmp2 as $guiline => $v) { $sCsvTitle .= $separator . '"' . \YcheukfReport\Lib\ALYS\ALYSLang::_($guiline) . '"'; break; } break; } } } $sCsvTitle .= "\r\n"; if (is_array($aOutput['flash'][0])) { foreach ($aOutput['flash'][0] as $date => $aTmp) { $sCsv .= '"' . (empty($aId2Label[$date]) ? $date : $aId2Label[$date]) . '"'; for ($i = 0; $i < count($aOutput['flash']); $i++) { $sCsv .= $separator . '"' . current(array_values($aOutput['flash'][$i][$date])) . '"'; } $sCsv .= "\r\n"; } } break; } $aOutput['flash.output'] = $sCsvTitle . $sCsv; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }
function go() { $aOutput = \YcheukfReport\Lib\ALYS\Report\Start::getOutput(); $aOutput['total.output'] = isset($aOutput['total']) ? $aOutput['total'] : null; \YcheukfReport\Lib\ALYS\Report\Start::setOutput($aOutput); }