diff --git a/module/score/control.php b/module/score/control.php index b18cffe279..c364e631d3 100644 --- a/module/score/control.php +++ b/module/score/control.php @@ -33,7 +33,8 @@ class score extends control { $this->app->loadLang('my'); - $this->view->title = $this->lang->my->scoreRule; + $this->view->title = $this->lang->my->scoreRule; + $this->view->rules = $this->score->buildRules(); $this->display(); } diff --git a/module/score/model.php b/module/score/model.php index e1392099f2..8a7e1e7f81 100644 --- a/module/score/model.php +++ b/module/score/model.php @@ -231,6 +231,60 @@ class scoreModel extends model return $data; } + /** + * Build rules for list. + * + * @access public + * @return array + */ + public function buildRules() + { + $allRules = array(); + foreach($this->config->score->rule as $module => $moduleRule) + { + foreach($moduleRule as $method => $rule) + { + $rules['module'] = $this->lang->score->modules[$module]; + $rules['method'] = $this->lang->score->methods[$module][$method]; + $rules['times'] = empty($rule['times']) ? $this->lang->score->noLimit : $rule['times']; + $rules['hour'] = empty($rule['hour']) ? $this->lang->score->noLimit : $rule['hour']; + $rules['score'] = $rule['score']; + + $desc = ''; + if(isset($this->lang->score->extended[$module][$method])) + { + $desc = $this->lang->score->extended[$module][$method]; + $descRule = explode('##', $desc); + if(!empty($descRule)) + { + foreach($descRule as $key => $value) + { + if($key % 2 == 1) + { + $match = explode(',', $value); + if(count($match) == 2) + { + $score = $this->config->score->ruleExtended[$module][$method][$match[0]][$match[1]]; + } + else + { + $score = $this->config->score->ruleExtended[$module][$method][$match[0]]; + } + $desc = str_replace('##' . $value . '##', $score, $desc); + } + } + } + } + + $rules['desc'] = $desc; + + $allRules[] = $rules; + } + } + + return $allRules; + } + /** * Score reset. *