summaryrefslogblamecommitdiffstats
path: root/admin/survey/classes/objects/obj.PopUp.php
blob: 836cc8e30c80d459b2ff17238accff43ee8ef662 (plain) (tree)





















































































































































                                                                                                   
<?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;
	}
}