ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ComponentEntryRules.php
Go to the documentation of this file.
1<?php
2
4
13{
17 protected $rules = array(
18 "usage" => array(),
19 "composition" => array(),
20 "interaction" => array(),
21 "wording" => array(),
22 "ordering" => array(),
23 "style" => array(),
24 "responsiveness" => array(),
25 "accessibility" => array()
26 );
27
32 public function __construct($rules = array())
33 {
34 parent::__construct();
35 $this->setRules($rules);
36 }
37
42 public function withRules($rules = array())
43 {
44 $clone = clone $this;
45 $clone->setRules($rules);
46 return $clone;
47 }
48
53 protected function setRules($rules)
54 {
55 if (!$rules) {
56 return;
57 }
58 $this->assert()->isArray($rules);
59 foreach ($rules as $rule_category => $category_rules) {
60 $this->assert()->isIndex($rule_category, $this->rules);
61 if ($category_rules && $category_rules != "") {
62 $this->assert()->isArray($category_rules);
63 foreach ($category_rules as $rule_id => $rule) {
64 $this->assert()->isString($rule);
65 $this->rules[$rule_category][$rule_id] = $rule;
66 }
67 }
68 }
69 }
70
74 public function getRules()
75 {
76 return $this->rules;
77 }
78
82 public function hasRules()
83 {
84 foreach ($this->rules as $category_rules) {
85 if (sizeof($category_rules)) {
86 return true;
87 }
88 }
89 return false;
90 }
91
95 public function jsonSerialize()
96 {
97 return $this->getRules();
98 }
99}
An exception for terminatinating execution or to throw for unit testing.
Abstract Entry Part to share some common entry functionality.
__construct($rules=array())
ComponentEntryDescription constructor.
$rule
Definition: showstats.php:43