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 + -
显示快捷键?