summaryrefslogtreecommitdiffstats
path: root/admin/survey/classes/objects/obj.PopUp.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/survey/classes/objects/obj.PopUp.php')
-rw-r--r--admin/survey/classes/objects/obj.PopUp.php150
1 files changed, 150 insertions, 0 deletions
diff --git a/admin/survey/classes/objects/obj.PopUp.php b/admin/survey/classes/objects/obj.PopUp.php
new file mode 100644
index 0000000..836cc8e
--- /dev/null
+++ b/admin/survey/classes/objects/obj.PopUp.php
@@ -0,0 +1,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;
+ }
+} \ No newline at end of file