View difference between Paste ID: 2iBuqmgn and RyYNJCUH
SHOW: | | - or go back to the newest paste.
1
<?php
2
class myClass {
3
4
	private $tids=array();
5
	public $active_topics=array();
6
	
7
	public function __construct() {/* removed irrelevant code */}
8
	
9
	public function getTopicsScore($topics=false,$params=array()) {
10
		
11
		// removed irrelevant code
12
		$results = $this->getScores($this->tids,$params);
13
		$start = microtime(true);
14
		
15
		foreach($results as $r) {
16
			//removed irrelevant code
17-
			if(!isset($local_topics[$r['topic_id']])) {
17+
			if(!isset($this->active_topics[$r['topic_id']])) {
18
				$this->active_topics[$r['topic_id']] = array_merge(array('tid' => $r['topic_id']),$this->default_values);
19
			}
20
			
21
			$this->getPointsBasic($r);
22
		}
23
		echo round(microtime(true)-$start,4).' returned '.count();
24
		
25
		return $this->active_topics;
26
	}
27
28
	private function getPointsBasic($r) {
29
	
30
		$this->active_topics[$r['topic_id']]['d_score'] 		+= $r['score'];
31
		$this->active_topics[$r['topic_id']]['d_'.$r['type']] += $r['score'];
32
33
		switch($r['type']) {
34
			case 'likes':
35
				$r['score'] *= 2.3;
36
			break;
37
			
38
			//  more cases with different calculations etc....
39
		}
40
		
41
		$this->active_topics[$r['topic_id']][$r['type']] 		+= $r['score'];
42
		$this->active_topics[$r['topic_id']]['total_score'] 	+= $r['score'];
43
	}
44
	// removed irrelevant code
45
}