⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 patternrecursive.php

📁 Piwik#Opensourcewebanalytics一款可以和GOOGLE媲美的开源统计系统,运用AJAX.功能强大.无色提示:按照需要PHP5.1以上和MySQL数据库支持。
💻 PHP
字号:
<?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: PatternRecursive.php 519 2008-06-09 01:59:24Z matt $ *  * @package Piwik_DataTable *//** * Delete all rows for which  * - the given $columnToFilter do not contain the $patternToSearch  * - AND all the subTables associated to this row do not contain the $patternToSearch *  * This filter is to be used on columns containing strings.  * Exemple: from the pages viewed report, keep only the rows that contain "piwik" or for which a subpage contains "piwik". *  * @package Piwik_DataTable * @subpackage Piwik_DataTable_Filter  */class Piwik_DataTable_Filter_PatternRecursive extends Piwik_DataTable_Filter{	private $columnToFilter;	private $patternToSearch;	private $patternToSearchQuoted;		public function __construct( $table, $columnToFilter, $patternToSearch )	{		parent::__construct($table);		$this->patternToSearch = $patternToSearch;		$this->patternToSearchQuoted = Piwik_DataTable_Filter_Pattern::getPatternQuoted($patternToSearch);		$this->patternToSearch = $patternToSearch;//preg_quote($patternToSearch);		$this->columnToFilter = $columnToFilter;		$this->filter();	}		protected function filter( $table = null )	{		if(is_null($table))		{			$table = $this->table;		}		$rows = $table->getRows();				foreach($rows as $key => $row)		{			// A row is deleted if			// 1 - its label doesnt contain the pattern 			// AND 2 - the label is not found in the children			$patternNotFoundInChildren = false;						try{				$idSubTable = $row->getIdSubDataTable();				$subTable = Piwik_DataTable_Manager::getInstance()->getTable($idSubTable);								// we delete the row if we couldn't find the pattern in any row in the 				// children hierarchy				if( $this->filter($subTable) == 0 )				{					$patternNotFoundInChildren = true;				}			} catch(Exception $e) {				// there is no subtable loaded for example				$patternNotFoundInChildren = true;			}			if( $patternNotFoundInChildren				&& !Piwik_DataTable_Filter_Pattern::match($this->patternToSearch, $this->patternToSearchQuoted, $row->getColumn($this->columnToFilter))				)			{				$table->deleteRow($key);			}		}				return $table->getRowsCount();	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -