Path: blob/master/src/applications/fact/chart/PhabricatorChartDataQuery.php
12256 views
<?php12final class PhabricatorChartDataQuery3extends Phobject {45private $limit;6private $minimumValue;7private $maximumValue;89public function setMinimumValue($minimum_value) {10$this->minimumValue = $minimum_value;11return $this;12}1314public function getMinimumValue() {15return $this->minimumValue;16}1718public function setMaximumValue($maximum_value) {19$this->maximumValue = $maximum_value;20return $this;21}2223public function getMaximumValue() {24return $this->maximumValue;25}2627public function setLimit($limit) {28$this->limit = $limit;29return $this;30}3132public function getLimit() {33return $this->limit;34}3536public function selectInputValues(array $xv) {37$result = array();3839$x_min = $this->getMinimumValue();40$x_max = $this->getMaximumValue();41$limit = $this->getLimit();4243if ($x_min !== null) {44foreach ($xv as $key => $x) {45if ($x < $x_min) {46unset($xv[$key]);47}48}49}5051if ($x_max !== null) {52foreach ($xv as $key => $x) {53if ($x > $x_max) {54unset($xv[$key]);55}56}57}5859// If we have too many data points, throw away some of the data.6061// TODO: This doesn't work especially well right now.6263if ($limit !== null) {64$count = count($xv);65if ($count > $limit) {66$ii = 0;67$every = ceil($count / $limit);68foreach ($xv as $key => $x) {69$ii++;70if (($ii % $every) && ($ii != $count)) {71unset($xv[$key]);72}73}74}75}7677return array_values($xv);78}7980}818283