Completed
Push — master ( cd0fd2...97e05d )
by Jean-Christophe
03:14
created

HtmlHeader   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 2
Dependencies 4

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
c 1
b 0
f 0
lcom 2
cbo 4
dl 0
loc 40
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 11 3
A asPageHeader() 0 3 1
A asContentHeader() 0 7 2
A asIcon() 0 13 2
1
<?php
2
3
namespace Ajax\semantic\html\elements;
4
5
use Ajax\semantic\html\base\HtmlSemDoubleElement;
6
use Ajax\semantic\html\base\Size;
7
use Ajax\common\html\HtmlDoubleElement;
8
9
class HtmlHeader extends HtmlSemDoubleElement {
10
11
	public function __construct($identifier, $niveau=1,$content=NULL,$type="page") {
12
		parent::__construct($identifier, "div");
13
		$this->setClass("ui header");
14
		if(isset($type)){
15
			if($type=="page"){
16
				$this->asPageHeader($niveau);
17
			}else
18
				$this->asContentHeader($niveau);
19
		}
20
		$this->content=$content;
21
	}
22
23
	public function asPageHeader($niveau){
24
		$this->tagName="h".$niveau;
25
	}
26
27
	public function asContentHeader($niveau){
28
		$this->tagName="div";
29
		if(\is_int($niveau)){
30
			$niveau=Size::getConstantValues()[$niveau];
31
		}
32
		$this->setSize($niveau);
33
	}
34
35
	public function asIcon($icon,$content,$subHeader=NULL){
36
		$this->addToProperty("class", "icon");
37
		$icon=new HtmlIcon("icon-".$this->identifier, $icon);
38
		$contentElm=new HtmlDoubleElement("content-".$this->identifier,"div");
39
		$contentElm->setClass("content")->setContent($content);
40
		if(isset($subHeader)){
41
			$sub=new HtmlDoubleElement("subheader-".$this->identifier,"div");
42
			$sub->setClass("sub header");
43
			$sub->setContent($subHeader);
44
			$contentElm->addContent($sub);
45
		}
46
		$this->content=array($icon,$contentElm);
47
	}
48
}