diff --git a/contrib/smarty/plugins/block.render.php b/contrib/smarty/plugins/block.render.php index 35c03472d5f8155ebe85231406e6a8e7ec0a0425..f6f05403495dfbaa5e5688ed8a8bb63a9f1d83c6 100644 --- a/contrib/smarty/plugins/block.render.php +++ b/contrib/smarty/plugins/block.render.php @@ -18,127 +18,67 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ + function smarty_block_render($params, $text, &$smarty) { - /* Skip closing tag </render> */ - if(empty($text)) { - return(""); - } - - /* Get acl parameter */ - $acl = ""; - if (isset($params['acl'])) { - $acl = $params['acl']; - } - - /* Debug output */ - if (session::is_set('DEBUGLEVEL') && session::get('DEBUGLEVEL') & DEBUG_ACL ){ - echo "<div style='color:blue;font-size:2;'> ".$acl."</div>"; - } - - - - /* Parameter : checkbox, checked - * If the parameter 'checkbox' is given, we create a html checkbox in front - * of the current object. - * The parameter 'checked' specifies whether the box is checked or not. - * The checkbox disables or enables the current object. - */ - if(isset($params['checkbox']) && $params['checkbox']){ - - /* Detect name and id of the current object */ - $use_text = preg_replace("/\n/"," ",$text); - $name = preg_replace('/^.* name[ ]*=[ ]*("|\')([^\"\' ]*).*$/i',"\\2",$use_text); - - /* Detect id */ - if(preg_match("/ id=(\"|')[^\"']*(\"|')/i",$text)){ - $id = preg_replace('/^.* id[ ]*=[ ]*("|\')([^\"\' ]*).*$/i',"\\2",$use_text); - }else{ - $id = ""; - } - - /* Is the box checked? */ - isset($params['checked'])&&$params['checked'] ? $check = " checked " : $check = ""; - - /* If name isset, we have a html input field */ - if(!empty($name)){ - - /* Print checkbox */ - echo "<input type='checkbox' name='use_".$name."' ".$check." - onClick=\"changeState('".$name."');\" class='center'>"; - - /* Disable current object, if checkbox isn't checked */ - if($check == ""){ - $text = preg_replace("/name=/i"," disabled name=",$text); - } - - /* Add id to current entry, if it is missing */ - if($id == ""){ - $text = preg_replace("/name=/i"," id=\"".$name."\" name=",$text); - } - } - } - - - /* Read / Write*/ - if(preg_match("/w/i",$acl)){ - return ($text); - } - - $text = preg_replace ("/\n/","GOSA_LINE_BREAK",$text); - - /* Disable objects, but keep those active that have mode=read_active */ - if(!(isset($params['mode']) && ($params['mode']=='read_active') && preg_match("/(r|w)/",$acl))){ - - /* Disable options && greyout divlists */ - $from = array("/class=['\"]list1nohighlight['\"]/i", - "/class=['\"]list0['\"]/i", - "/class=['\"]list1['\"]/i", - "/class=['\"]sortableListItem[^'\"]*['\"]/i"); - $to = array("class='list1nohighlightdisabled'", - "class='list1nohighlightdisabled'", - "class='list1nohighlightdisabled'", - "class='sortableListItemDisabled'"); - - if(!preg_match('/ disabled(="disabled")?( |\/?>)/', $text)){ - $from [] = "/name=/i" ; - $to [] = "disabled name="; - } - - $text = preg_replace($from,$to,$text); - - /* Replace picture if object is disabled */ - if(isset($params['disable_picture'])){ - $syn = "/src=['\"][^\"']*['\"]/i"; - $new = "src=\"".$params['disable_picture']."\""; - $text = preg_replace($syn,$new,$text); - } - } - - /* Read only */ - if(preg_match("/r/i",$acl)){ - return(preg_replace("/GOSA_LINE_BREAK/","\n",$text)); - } - - /* No acls */ - if(preg_match("/type['\"= ].*submit/",$text)){ - $text = preg_replace("/submit/","button",$text); - }else{ - $text = preg_replace("/value=['\"][^\"']*['\"]/","",$text); - } - - /* Remove select options */ - $from = array("#<option.*<\/option>#i", - "/(<textarea.*>).*(<\/textarea>)/i", - "/^(.*<input.*)checked(.*>.*)$/i"); - - $to = array(" ", - "\\1\\2", - "\\1 \\2"); - $text = preg_replace($from,$to,$text); - $text = preg_replace("/GOSA_LINE_BREAK/","\n",$text); - - return $text; + /* Skip closing tag </render> */ + if (empty($text)) { + return ''; + } + + /* Get acl parameter */ + $acl = ''; + if (isset($params['acl'])) { + $acl = $params['acl']; + } + + /* Debug output */ + if (session::is_set('DEBUGLEVEL') && session::get('DEBUGLEVEL') & DEBUG_ACL ) { + echo '<div style="color:blue;font-size:2;"> '.$acl.'</div>'; + } + + /* Read / Write*/ + if (preg_match('/w/i', $acl)) { + return $text; + } + + $text = preg_replace ("/\n/", 'GOSA_LINE_BREAK', $text); + + /* Disable objects, but keep those active that have mode=read_active */ + if (!(isset($params['mode']) && ($params['mode'] == 'read_active') && preg_match('/(r|w)/', $acl))) { + if (!preg_match('/ disabled(="disabled")?( |\/?>)/', $text)) { + $text = preg_replace('/name=/i', 'disabled="disabled" name=', $text); + } + } + + /* Read only */ + if (preg_match('/r/i', $acl)) { + return preg_replace('/GOSA_LINE_BREAK/', "\n", $text); + } + + /* No acls */ + if (preg_match('/type[\'"= ].*submit/', $text)) { + $text = preg_replace('/submit/', 'button', $text); + } else { + $text = preg_replace('/value=[\'"][^"\']*[\'"]/', '', $text); + } + + /* Remove select options */ + $from = array( + "#<option.*<\/option>#i", + "/(<textarea.*>).*(<\/textarea>)/i", + "/^(.*<input.*)checked(.*>.*)$/i" + ); + + $to = array( + " ", + "\\1\\2", + "\\1 \\2" + ); + + $text = preg_replace($from, $to, $text); + $text = preg_replace('/GOSA_LINE_BREAK/', "\n", $text); + + return $text; } - ?> diff --git a/html/themes/breezy/lists.css b/html/themes/breezy/lists.css index 1d763fab0845f6fc9074a7bcc97a57edffc6c89d..3b4072a0ddc5a4ed36a6dc43f6e3195ce9a6fdac 100644 --- a/html/themes/breezy/lists.css +++ b/html/themes/breezy/lists.css @@ -110,70 +110,6 @@ padding:0; width:auto; } -/* Sortable Lists (only used in user main tab) */ -div.sortableListContainer { -border:1px solid #C0C2C3; -overflow:auto; -margin-bottom:2px; -} - -.sortableListContainer th { -background-color:#D8D8D8; -padding:3px; -text-align:left; -border-left:1px solid #C0C2C3; -} -html.rtl .sortableListContainer th { -text-align:right; -border-right:1px solid #C0C2C3; -border-left:none; -} - -.sortableListContainer td { -padding:3px; -text-align:left; -border-left:1px solid #C0C2C3; -} -html.rtl .sortableListContainer td { -text-align:right; -border-right:1px solid #C0C2C3; -border-left:none; -} - -tr.sortableListItem { -background-color:#fcfcfc; -cursor:move; -color:#31363b; -} - -tr.sortableListItemFill { -background-color:#fcfcfc; -cursor:default; -} - -tr.sortableListItemOdd { -background-color:#F5F5F5; -cursor:move; -color:#31363b; -} - -tr.sortableListItem:hover,tr.sortableListItemOdd:hover { -background-color:#EEE; -} - -tr.sortableListItemDisabled { -cursor:default; -color:#CCC; -} - -table.sortableListTable { -border:0; -} - -tr.sortableListItemMarked { -background-color:#FFD; -} - /* Tree List (used in baseSelector) */ ul.treeList,ul.treeList ul { list-style-type:none; diff --git a/html/themes/breezy/style.css b/html/themes/breezy/style.css index d9b0d677c562e993d0676c66d397312804c910d1..ada9fb0b2d1adc472da3e69e4c220af89e8e0cd5 100644 --- a/html/themes/breezy/style.css +++ b/html/themes/breezy/style.css @@ -60,71 +60,6 @@ html.rtl div.scrollbody { text-align:right; } -/* -------------- DEPRECATED ----------------- */ -td.list1 { -background:transparent; -border-right:1px solid silver; -padding:3px; -height:22px; -} - -td.list1nohighlight { -background:#fcfcfc; -border-right:1px solid silver; -padding:3px; -height:22px; -} - -td.list1nohighlightdisabled { -background-color:#DFDBD7; -border-right:1px solid silver; -padding:3px; -height:22px; -} - -td.list1#fill { -height:100%; -} - -td.list1#icon { -width:0; -text-align:center; -} - -td.list1#entry { -} - -td.list1#info { -width:200px; -} - -td.list1#property { -width:50px; -} - -td.list1#properties7 { -width:136px; -} - -td.list1#properties8 { -width:152px; -} - -td.list1#properties9 { -width:168px; -} - -td.list1#properties10 { -width:186px; -} - -td.list1#actions { -width:52px; -border-right:0; -text-align:right; -} -/* -------------------------------------------- */ - /* Title bar */ a.maintitlebar,div.maintitlebar { font-family:arial,helvetica,sans-serif; diff --git a/html/themes/legacy/lists.css b/html/themes/legacy/lists.css index 68efc68896fd62aa8326ecb29635a2b7d06341e8..35dc10c54d43472b24bc4bf473c3e30dec666930 100644 --- a/html/themes/legacy/lists.css +++ b/html/themes/legacy/lists.css @@ -100,70 +100,6 @@ padding:0; width:auto; } -/* Sortable Lists (only used in user main tab) */ -div.sortableListContainer { -border:1px solid #AAA; -overflow:auto; -margin-bottom:2px; -} - -.sortableListContainer th { -background-color:#D8D8D8; -padding:3px; -text-align:left; -border-left:1px solid #AAA; -} -html.rtl .sortableListContainer th { -text-align:right; -border-right:1px solid #AAA; -border-left:none; -} - -.sortableListContainer td { -padding:3px; -text-align:left; -border-left:1px solid #AAA; -} -html.rtl .sortableListContainer td { -text-align:right; -border-right:1px solid #AAA; -border-left:none; -} - -tr.sortableListItem { -background-color:#FFF; -cursor:move; -color:#000; -} - -tr.sortableListItemFill { -background-color:#FFF; -cursor:default; -} - -tr.sortableListItemOdd { -background-color:#F5F5F5; -cursor:move; -color:#000; -} - -tr.sortableListItem:hover,tr.sortableListItemOdd:hover { -background-color:#EEE; -} - -tr.sortableListItemDisabled { -cursor:default; -color:#CCC; -} - -table.sortableListTable { -border:0; -} - -tr.sortableListItemMarked { -background-color:#FFD; -} - /* Tree List (used in baseSelector) */ ul.treeList,ul.treeList ul { list-style-type:none; diff --git a/html/themes/legacy/style.css b/html/themes/legacy/style.css index 8ff45ac11a99f06f3e8237619da318470966d0bc..63a312fed93bc5e44139198f69b2b7f749879488 100644 --- a/html/themes/legacy/style.css +++ b/html/themes/legacy/style.css @@ -60,71 +60,6 @@ html.rtl div.scrollbody { text-align:right; } -/* -------------- DEPRECATED ----------------- */ -td.list1 { -background:transparent; -border-right:1px solid silver; -padding:3px; -height:22px; -} - -td.list1nohighlight { -background:#FFF; -border-right:1px solid silver; -padding:3px; -height:22px; -} - -td.list1nohighlightdisabled { -background-color:#DFDBD7; -border-right:1px solid silver; -padding:3px; -height:22px; -} - -td.list1#fill { -height:100%; -} - -td.list1#icon { -width:0; -text-align:center; -} - -td.list1#entry { -} - -td.list1#info { -width:200px; -} - -td.list1#property { -width:50px; -} - -td.list1#properties7 { -width:136px; -} - -td.list1#properties8 { -width:152px; -} - -td.list1#properties9 { -width:168px; -} - -td.list1#properties10 { -width:186px; -} - -td.list1#actions { -width:52px; -border-right:0; -text-align:right; -} -/* -------------------------------------------- */ - /* Title bar */ a.maintitlebar,div.maintitlebar { font-family:arial,helvetica,sans-serif; diff --git a/include/class_listing.inc b/include/class_listing.inc index d40a1b49c23b88b218dcd3ad76c1c8c1977def5e..f5040d035a6b6932c27461cc2ac78316753c1751 100644 --- a/include/class_listing.inc +++ b/include/class_listing.inc @@ -377,7 +377,7 @@ class listing { // No results? Just take an empty colspanned row if (count($this->entries) + count($this->departments) == 0) { - $result .= "<tr><td class='list1nohighlight' colspan='$this->numColumns' style='height:100%;width:100%;'> </td></tr>"; + $result .= '<tr><td colspan="'.$this->numColumns.'" style="height:100%;width:100%;"> </td></tr>'."\n"; } // Line color alternation