generategraphhtml.php
来自「一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大. 无色提示:」· PHP 代码 · 共 143 行
PHP
143 行
<?php/** * Piwik - Open source web analytics * * @link http://piwik.org * @license http://www.gnu.org/licenses/gpl-3.0.html Gpl v3 or later * @version $Id: GenerateGraphHTML.php 581 2008-07-27 23:07:52Z matt $ * * @package Piwik_ViewDataTable *//** * This class generates the HTML code to embed to flash graphs in the page. * It doesn't call the API but simply prints the html snippet. * * @package Piwik_ViewDataTable * */abstract class Piwik_ViewDataTable_GenerateGraphHTML extends Piwik_ViewDataTable{ protected $width = '100%'; protected $height = 250; protected $graphType = 'standard'; /** * @see Piwik_ViewDataTable::init() * */ function init($currentControllerName, $currentControllerAction, $moduleNameAndMethod ) { parent::init($currentControllerName, $currentControllerAction, $moduleNameAndMethod ); $this->dataTableTemplate = 'CoreHome/templates/graph.tpl'; $this->disableOffsetInformation(); $this->disableExcludeLowPopulation(); $this->disableSearchBox(); $this->parametersToModify = array( 'viewDataTable' => $this->valueParameterViewDataTable, // in the case this controller is being executed by another controller // eg. when being widgetized in an IFRAME // we need to put in the URL of the graph data the real module and action 'module' => $currentControllerName, 'action' => $currentControllerAction, ); } /** * Sets parameters to modify in the future generated URL * * @param array $array array('nameParameter' => $newValue, ...) */ public function setParametersToModify($array) { $this->parametersToModify = array_merge($this->parametersToModify, $array); } /** * @see Piwik_ViewDataTable::main() * */ public function main() { if($this->mainAlreadyExecuted) { return; } $this->mainAlreadyExecuted = true; $view = new Piwik_View($this->dataTableTemplate); $this->id = $this->getUniqIdTable(); $view->graphType = $this->graphType; $this->parametersToModify['action'] = $this->currentControllerAction; $url = Piwik_Url::getCurrentQueryStringWithParametersModified($this->parametersToModify); $view->jsInvocationTag = $this->getFlashInvocationCode($url); $view->urlGraphData = $url; $view->formEmbedId = "formEmbed".$this->id; $view->graphCodeEmbed = $this->graphCodeEmbed; $view->id = $this->id; $view->method = $this->method; $view->javascriptVariablesToSet = $this->getJavascriptVariablesToSet(); $view->showFooter = $this->getShowFooter(); $this->view = $view; } protected function getFlashInvocationCode( $url = 'libs/open-flash-chart/data-files/nodata.txt', $use_swfobject = true ) { $width = $this->width; $height = $this->height; $libPathInPiwik = 'libs/open-flash-chart/'; $currentPath = Piwik_Url::getCurrentUrlWithoutFileName(); $pathToLibraryOpenChart = $currentPath . $libPathInPiwik; $url = Piwik_Url::getCurrentUrlWithoutQueryString() . $url; // escape the & and stuff: $url = urlencode($url); $obj_id = $this->id . "Chart"; $div_name = $this->id . "FlashContent"; $return = ''; if( $use_swfobject ) { // Using library for auto-enabling Flash object on IE, disabled-Javascript proof $return .= ' <div id="'. $div_name .'"></div> <script type="text/javascript"> var so = new SWFObject("'.$pathToLibraryOpenChart.'open-flash-chart.swf", "'.$obj_id.'_swf", "'. $width . '", "' . $height . '", "9", "#FFFFFF"); so.addVariable("data", "'. $url . '"); so.addParam("allowScriptAccess", "sameDomain"); so.addParam("wmode", "transparent"); so.write("'. $div_name .'"); </script> <noscript> '; } $urlGraph = $pathToLibraryOpenChart."open-flash-chart.swf?data=" . $url; // when the object/embed is changed, see also widgetize.js; it may require a logic update $this->graphCodeEmbed .= "<div><object classid='clsid:d27cdb6e-ae6d-11cf-96b8-444553540000' codebase='http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0' width='" . $width . "' height='" . $height . "' id='". $obj_id ."' >". "<param name='movie' value='".$urlGraph."' />". "<param name='wmode' value='transparent' />". "<param name='allowScriptAccess' value='sameDomain' /> ". "<embed src='$urlGraph' allowScriptAccess='sameDomain' quality='high' bgcolor='#FFFFFF' width='". $width ."' height='". $height ."' name='open-flash-chart' type='application/x-shockwave-flash' id='". $obj_id ."' />". "</object></div>"; $return .= $this->graphCodeEmbed; if ( $use_swfobject ) { $return .= '</noscript>'; } return $return; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?