index 3ec96e99538c13fc62179b7a0e776ea28d2db68d..477fd41321dc98b6470c9df43fec309c602fcb8d 100644 (file)
\sa ObjectList
*/
-class ObjectListViewport {
+class ObjectListViewport implements GOsaGuiElement {
/* Internal variable for color alternation */
protected $colorAlternator= 0;
- /* Dummy here ----> */
private $headline;
private $footer;
private $entryFormat;
+
+ /* Dummy here ----> */
private $attributes= array('cn', '_icon', '_actions', 'dn');
-
/* <---- Dummy here */
+
private $displayHeaderFlag= TRUE;
private $displayFooterFlag= TRUE;
private $numberOfCols= 0;
/*! \brief ID used to identify objects of same list */
private $id = "";
+
/*! \brief ObjectListViewport constructor
\param config Config section that is used to configure this ObjectListViewport
*/
- public function __construct($config, $multiselect= TRUE){
+ public function __construct($config, $multiselect= TRUE, $displayHeader= TRUE, $displayFooter= FALSE){
+
+ /* Transfer initialization values */
+ $this->displayFooterFlag= $displayFooter;
+ $this->displayHeaderFlag= $displayHeader;
+ $this->multiselect= $multiselect;
- $this->multiselect= $multiselect;
- /* Dummy here */
+ /* Load list configuration from ConfigManager */
$cr= Registry::getInstance("ConfigManager");
$cr->setSection($config);
$this->parseHeadline($cr->getValue("headline"));
$this->objects= new ObjectList($config);
/* generate an unique id */
- $this->id = preg_replace("/[^0-9]/","",microtime());
+ $this->id= uniqid();
}
+
/*! \brief Handles _POST / _GET events
Processes the list of registered plugins to do their eventHandler and adapt
}
- /*! \brief Renders headline into a string
+ /*! \brief Processes post events
- Gets the headline description from the ObjectList object and renders it.
+ Processes all post events and acts as needed.
- \return HTML rendered headline
+ \return bool for if changes are present or not
*/
- private function renderHeadline(){
- $tpl =" <tr>
- <td class='ObjectListViewport_TD_Header' id='ObjectListViewport_TD_Header".$this->id."'>
- <table class='ObjectListViewport_Header_Table' id='ObjectListViewport_Header_Table".$this->id."'>
- <tr>
- {content}
- </tr>
- </table>
- </td>
- </tr>";
- $buffer ="";
- foreach($this->headline as $key => $value){
- $buffer .= "<td class='ObjectListViewport_Header_Cell' style='".$value['style']."'>".$value['name']."</td>\n";
- }
- return(preg_replace("/\{content\}/", $buffer,$tpl));
- }
+ public function process(){
-
- /*! \brief Renders footer into a string
-
- Gets the footer description from the ObjectList object and renders it.
-
- \return HTML rendered footer
- */
- private function renderFooter(){
- $buffer ="<tr>
- <td class='ObjectListViewport_TD_Footer' id='ObjectListViewport_TD_Footer".$this->id."'>
- <table class='ObjectListViewport_Footer_Table'>
- <tr>
- <td class='ObjectListViewport_Footer_Cell' colspan='".count($this->headline)."'>".$this->footer."</td>
- </tr>
- </table>
- </td>
- </tr>";
- return $buffer;
+ /* TODO: process input */
+ return FALSE;
}
+#/*! \brief Renders headline into a string
+#
+# Gets the headline description from the ObjectList object and renders it.
+#
+# \return HTML rendered headline
+# */
+#private function renderHeadline(){
+# $tpl =" <tr>
+# <td class='ObjectListViewport_TD_Header' id='ObjectListViewport_TD_Header_".$this->id."'>
+# <table class='ObjectListViewport_Header_Table' id='ObjectListViewport_Header_Table_".$this->id."'>
+# <tr>
+# {content}
+# </tr>
+# </table>
+# </td>
+# </tr>";
+# $buffer ="";
+# foreach($this->headline as $key => $value){
+# $buffer .= "<td class='ObjectListViewport_Header_Cell' style='".$value['style']."'>".$value['name']."</td>\n";
+# }
+# return(preg_replace("/\{content\}/", $buffer,$tpl));
+#}
+
+
+#/*! \brief Renders footer into a string
+#
+# Gets the footer description from the ObjectList object and renders it.
+#
+# \return HTML rendered footer
+# */
+#private function renderFooter(){
+# $buffer ="<tr>
+# <td class='ObjectListViewport_TD_Footer' id='ObjectListViewport_TD_Footer_".$this->id."'>
+# <table class='ObjectListViewport_Footer_Table'>
+# <tr>
+# <td class='ObjectListViewport_Footer_Cell' colspan='".count($this->headline)."'>".$this->footer."</td>
+# </tr>
+# </table>
+# </td>
+# </tr>";
+# return $buffer;
+#}
+
+
+ /* TODO: replace this -> not our task */
private function getEntryIcon($entry,$alt = ""){
return("<img src='images/".$entry['_icon']."' alt='".$alt."' class='center'>");
}
*/
public function render() {
- $header = $footer = "";
- if($this->displayHeaderFlag){
- $header = $this->renderHeadline();
- }
- if($this->displayFooterFlag){
- $footer = $this->renderFooter();
- }
-
/* Apply current filter */
$entries = "";
$objects= new ObjectListFilterIterator($this->objects->getIterator());
$entries .= $this->renderEntry($value);
}
- /* Generate fixed headline */
- $buffer = "
- <table class='ObjectListViewport' id='ObjectListViewport".$this->id."' cellspacing=0 cellpadding=0>
- <tr>
- <td>
- <table class='ObjectListViewport_Table' id='ObjectListViewport_Table".$this->id."' cellpadding=0 cellspacing=0 >
- ".$header."
- <tr>
- <td class='ObjectListViewport_TD_Entries' id='ObjectListViewport_TD_Entries".$this->id."'>
- <div class='ObjectListViewport_Entry_Cover' id='ObjectListViewport_Entry_Cover".$this->id."'>
- <table class='ObjectListViewport_Entry_Table' id='ObjectListViewport_Entry_Table".$this->id."'>
- ".$entries."
- </table>
- </div>
- </td>
- </tr>
- ".$footer."
- </table>
-
- </td>
- </tr>
- </table>
-";
-
- return ($buffer);
+ $smarty = get_smarty();
+ $smarty->assign("OLV_Entries",$entries);
+ $smarty->assign("OLV_List_Id",$this->id);
+
+ /* Footer variables */
+ $smarty->assign("OLV_Footer_Enabled",$this->displayFooterFlag);
+ $smarty->assign("OLV_Footer_Message",$this->footer);
+ $smarty->assign("OLV_Num_Cols",$this->numberOfCols);
+
+ /* Assign Headline values */
+ $smarty->assign("OLV_Header_Enabled",$this->displayHeaderFlag);
+ $smarty->assign("OLV_Header",$this->headline);
+
+ $buffer ="";
+ foreach($this->headline as $key => $value){
+ $buffer .= "<td class='ObjectListViewport_Header_Cell' style='".$value['style']."'>".$value['name']."</td>\n";
+ }
+
+ return($smarty->fetch("ObjectListViewport.tpl"));
}
$this->headline= $cell_formats;
}
-
- public function enableFooter($bool= TRUE){
- $this->displayFooterFlag= $bool;
- }
-
-
- public function enableHeader($bool= TRUE){
- $this->displayHeaderFlag= $bool;
- }
-
}
// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: