summaryrefslogtreecommitdiffstats
path: root/admin/survey/classes/objects/obj.PopUp.php
blob: 836cc8e30c80d459b2ff17238accff43ee8ef662 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<?php 
/**
 * 
 * @author veselicg
 *
 * Večina funkcij vrača sam klass da omogočamo chaining
 * 
 * Primer uporabe:
 * 	
 *		$popUp = new PopUp();
 *
 *		# določimo naslovno vrstico popupa. če ni podano je ne prikazuje
 *		$popUp -> setHeaderText('Moj PopUp:')
 *				
 *				# določimo id diva (..<div id="nek_id_diva"...)
 *			   -> setId('nek_id_diva')
 *				
 *				# po potrebi dodamo css je (..<div class="css1 css2"...)
 *			   -> addCss('css1')
 *			   -> addCss('css2')
 *
 *				#dodamo vsebino (osrednji del) popupa
 *			   -> setContent($content);
 *		
 *		# dodamo gumb Prekliči - je standarden gumb
 *		$popUp->addButton(new PopUpCancelButton());
 *
 *	
 *		#dodamo gumb izberi profil
 *		$button = new PopUpButton($lang['srv_save_profile']);
 *		$button -> setFloat('right')
 *				-> setButtonColor('orange')
 *				-> addAction('onClick','changeColectDataStatus(); return false;');
 *		$popUp->addButton($button);
 *
 *		# izrišemo div
 *		echo $popUp; # lahko tudi $popUp->display();
 * 
 */
class PopUp
{
	private $_id = null;
	private $_css = array('divPopUp');

	private $_headerText = null;
	private $_content = null;
	private $_buttons = array();
	
	protected $_displayed = false;
	
	public function setId($id)
	{
		$this->_id = $id; 
		return $this;
	}

	public function addCss($css)
	{
		$this->_css[] = $css;
		return $this;
	}
	
	public function setHeaderText($headerText)
	{
		$this->_headerText = $headerText;
		return $this;
	}
	
	public function setContent($content)
	{
		$this->_content = $content;
		return $this;
	}

	public function addContent($content)
	{
		$this->_content .= $content;
		return $this;
	}
	
	
	public function addButton(PopUpButton $button)
	{
		$this->_buttons[] = $button;
		return $this;
	}
	
	public function display()
	{
		$this->_displayed = true;
		
		#začnemo osnovni div
		echo '<div';
		if ($this->_id != null)
		{
			echo ' id="'.$this->_id.'"';
		}
		if (count($this->_css) > 0)
		{
			echo ' class="'. implode(' ',$this->_css).'"';
		}
		echo '>';
		
		#dodamo header 
		if ($this->_headerText != null)
		{
			echo '<div class="divPopUp_top">';
			echo $this->_headerText;
			echo '</div>'; #PM_top
		}
		
		#dodamo vsebino - content
		echo '<div class="divPopUp_content">';
		echo $this->_content;
		echo '</div>'; # class="divPopUp_content"
		
		# začnemo div z gumbi
		echo '<div class="divPopUp_btm">';
		
		# izrišemo gumbe
		if (count($this->_buttons) > 0) {
			foreach ($this->_buttons AS $button)
			{
				echo $button;
			}
		}
		
		#zaključimo div z gumbi
		echo '</div>'; #class="inv_FS_btm clr"
		
		#zaključimo div z gumbi
		echo '</div>';
		return $this;
	}
	
	public function __toString() {
		ob_start();
		$this->display();
		$content = ob_get_clean();
		return $content;
	}
	
	public function __destruct() {
		if ($this->_displayed == false)
		{
			$this->display();
		}
		return $this;
	}
}