2011-06-26 10:44:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Page  Rendering  Functions 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ author  The  phpLDAPadmin  development  team 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ package  phpLDAPadmin 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  class  controls  the  final  output  to  the  browser . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ package  phpLDAPadmin 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ subpackage  Page 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  page  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# pre-HTML headers
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									protected  $_pageheader ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# Items to get into the <head>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									protected  $_head ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# Settings for this application
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									protected  $_app ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									# Default values array.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									protected  $_default ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  __construct ( $index = null )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# If we done have a configuration, then our IMGDIR and CSS are not defined
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  defined ( 'IMGDIR' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											define ( 'IMGDIR' , 'images/default' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  defined ( 'CSSDIR' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											define ( 'CSSDIR' , 'css/default' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> index  =  $index ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# To be defined in a configuration file.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _app [ 'title' ]  =  app_name (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _app [ 'logo' ]  =  IMGDIR . '/logo-small.png' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  is_null ( $index )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> _app [ 'urlcss' ]  =  sprintf ( '%s/%s' , CSSDIR , $_SESSION [ APPCONFIG ] -> getValue ( 'appearance' , 'stylesheet' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> _app [ 'urlcss' ]  =  sprintf ( '%s/%s' , CSSDIR , 'style.css' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Default Values for configurable items.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _default [ 'sysmsg' ][ 'error' ]  =  IMGDIR . '/error-big.png' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _default [ 'sysmsg' ][ 'warn' ]  =  IMGDIR . '/warn-big.png' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _default [ 'sysmsg' ][ 'info' ]  =  IMGDIR . '/info-big.png' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Capture any output so far (in case we send some headers below) - there shouldnt be any output anyway.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$preOutput  =  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Try and work around if php compression is on, or the user has set compression in the config.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# type = 1 for user gzip, 0 for php.ini gzip.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$obStatus  =  ob_get_status (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $obStatus [ 'type' ])  &&  $obStatus [ 'type' ]  &&  $obStatus [ 'status' ])  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$preOutput  =  ob_get_contents (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ob_end_clean (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										header ( 'Content-type: text/html; charset="UTF-8"' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isCompress ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											header ( 'Content-Encoding: gzip' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												debug_log ( 'Sent COMPRESSED header to browser and discarded (%s)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $preOutput ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $_SESSION [ APPCONFIG ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											&&  $_SESSION [ APPCONFIG ] -> getValue ( 'appearance' , 'compress' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											&&  ini_get ( 'zlib.output_compression' )) 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-21 17:50:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
												$this -> setsysmsg ( array ( 'title' => _ ( 'Warning' ), 'body' => ( 'WARNING: You cannot have PHP compression and application compression enabled at the same time. Please unset zlib.output_compression or set $config->custom->appearance[\'compress\']=false' ), 'type' => 'warn' )); 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-26 10:44:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Turn back on output buffering.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										ob_start (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Initial Values
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _pageheader []  =  '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _pageheader []  .=  '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="auto">' . " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Add to the HTML Header */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  head_add ( $html )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _head []  .=  $html ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Print out the HTML header */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  pageheader_print ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# HTML prepage requirements.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										foreach  ( $this -> _pageheader  as  $line ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  $line . " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Page Title
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<head>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										printf ( '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$DNs  =  get_request ( 'dn' , 'REQUEST' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( is_array ( $DNs )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$DNs  =  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $_SESSION [ APPCONFIG ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<title>%s (%s) - %s%s</title>' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> _app [ 'title' ], 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												app_version (), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$DNs  ?  htmlspecialchars ( $DNs ) . ' '  :  '' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$_SESSION [ APPCONFIG ] -> getValue ( 'appearance' , 'page_title' )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<title>%s - %s</title>' , $this -> _app [ 'title' ], app_version ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<link rel="shortcut icon" href="images/favicon.ico" type="image/vnd.microsoft.icon" />' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Style sheet.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										printf ( '<link type="text/css" rel="stylesheet" href="%s" />' , $this -> _app [ 'urlcss' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'JSDIR' ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<link type="text/css" rel="stylesheet" media="all" href="%sjscalendar/calendar-blue.css" title="blue" />' , JSDIR ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<script type="text/javascript" src="%sajax_functions.js"></script>' , JSDIR ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<script type="text/javascript" src="%sjscalendar/calendar.js"></script>' , JSDIR ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# HTML head requirements.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( is_array ( $this -> _head )  &&  count ( $this -> _head )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $this -> _head  as  $line ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												echo  $line . " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</head>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  head_print ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $_SESSION [ APPCONFIG ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$pagetitle  =  $_SESSION [ APPCONFIG ] -> getValue ( 'appearance' , 'page_title' )  ?  ' - ' . $_SESSION [ APPCONFIG ] -> getValue ( 'appearance' , 'page_title' )  :  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$pagetitle  =  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<tr class="pagehead">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<td colspan="3"><div id="ajHEAD"><table width="100%" border="0"><tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										printf ( '<td style="text-align: left;"><a href="%s" onclick="target=\'_blank\';"><img src="%s" alt="Logo" class="logo" /></a></td>' , get_href ( 'sf' ), $this -> _app [ 'logo' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<td class="imagetop">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$empty  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( function_exists ( 'cmd_control_pane' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( cmd_control_pane ( 'top' )  as  $cmddetails ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  (( isset ( $cmddetails [ 'enable' ])  &&  $cmddetails [ 'enable' ])  ||  !  isset ( $cmddetails [ 'enable' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( !  $empty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														echo  ' ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													printf ( '<a %s>%s</a>' , $cmddetails [ 'link' ], $cmddetails [ 'image' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$empty  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $empty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  ' ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</tr></table></div></td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  control_print ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<table class="control" width="100%" border="0">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<tr><td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$empty  =  true ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( function_exists ( 'cmd_control_pane' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( cmd_control_pane ( 'main' )  as  $cmddetails ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  (( isset ( $cmddetails [ 'enable' ])  &&  trim ( $cmddetails [ 'enable' ]))  ||  !  isset ( $cmddetails [ 'enable' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( !  $empty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														echo  ' | ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													printf ( '<a %s>%s</a>' , $cmddetails [ 'link' ], 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														( isset ( $_SESSION [ APPCONFIG ])  &&  $_SESSION [ APPCONFIG ] -> getValue ( 'appearance' , 'control_icons' ))  ?  $cmddetails [ 'image' ]  :  $cmddetails [ 'title' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													$empty  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $empty ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<td> </td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</table>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									protected  function  tree ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  isset ( $_SESSION [ APPCONFIG ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( is_null ( $this -> index )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> index  =  min ( array_keys ( $_SESSION [ APPCONFIG ] -> getServerList ())); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( count ( $_SESSION [ APPCONFIG ] -> getServerList ())  >  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<form id="server_select" action="cmd.php" method="post">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<table class="server_select"><tr><td>' ; 
							 
						 
					
						
							
								
									
										
										
										
											2011-07-14 19:44:14 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											printf ( '%s:<br />%s' ,( 'Server Select' ), 
							 
						 
					
						
							
								
									
										
										
										
											2011-06-26 10:44:28 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
												server_select_list ( $this -> index , false , 'index' , true , sprintf ( " onchange= \" tree_unhide('index',%s) \" " , $this -> index ))); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</td></tr></table>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</form>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  " \n \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										foreach  ( $_SESSION [ APPCONFIG ] -> getServerList ()  as  $index  =>  $server )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<div id="ajSID_%s" style="display: %s">' , $server -> getIndex (),( $server -> getIndex ()  ==  $this -> index )  ?  'block'  :  'none' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$tree  =  Tree :: getInstance ( $server -> getIndex ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$tree -> draw (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</div>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  " \n \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  block_add ( $side , $object )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  is_object ( $object )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											error ( sprintf ( 'block_add called with [%s], but it is not an object' , serialize ( $object ))); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> _block [ $side ][]  =  $object ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  block_print ( $side )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  isset ( $this -> _block [ $side ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										printf ( '<td class="%s" colspan="2">' , $side ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										foreach  ( $this -> _block [ $side ]  as  $object ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  $object -> draw ( $side ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  sysmsg ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $this -> sysmsg ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $this -> sysmsg  as  $index  =>  $details )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												switch  ( $details [ 'type' ])  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													case  'error' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$icon  =  $this -> _default [ 'sysmsg' ][ 'error' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													case  'warn' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$icon  =  $this -> _default [ 'sysmsg' ][ 'warn' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													case  'info' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													default : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$icon  =  $this -> _default [ 'sysmsg' ][ 'info' ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  ( isset ( $details [ 'title' ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													printf ( '<tr><td class="icon" rowspan="2"><img src="%s" alt="%s" /></td><td class="head">%s</td></tr>' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														$icon , $details [ 'type' ], $details [ 'title' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												if  ( isset ( $details [ 'body' ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													if  ( is_array ( $details [ 'body' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														echo  '<tr><td class="body">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														foreach  ( $details [ 'body' ]  as  $line ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
															printf ( '%s<br />' , $line ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														echo  '</td></tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													}  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
														printf ( '<tr><td class="body">%s</td></tr>' , $details [ 'body' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  body ( $raw = false )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Add the Session System Messages
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $_SESSION [ 'sysmsg' ])  &&  is_array ( $_SESSION [ 'sysmsg' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $_SESSION [ 'sysmsg' ]  as  $msg )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> setsysmsg ( $msg ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											unset ( $_SESSION [ 'sysmsg' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $this -> sysmsg ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<table class="sysmsg">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> sysmsg (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</table>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $this -> _block [ 'body' ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											foreach  ( $this -> _block [ 'body' ]  as  $object ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												echo  $object -> draw ( 'body' , $raw ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  function  footer_print ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										printf ( '<tr class="foot"><td><small>%s</small></td><td colspan="2"><div id="ajFOOT">%s</div>%s</td></tr>' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											isCompress ()  ?  '[C]'  :  ' ' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											app_version (), 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											get_href ( 'logo' )  ?  sprintf ( '<a href="%s"><img src="%s" alt="SourceForge.net Logo" style="border: 0px;" /></a>' , get_href ( 'sf' ), get_href ( 'logo' ))  :  ' ' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 *  Only  show  a  particular  page  frame  -  used  by  an  AJAX  call 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  show ( $frame , $compress = false , $raw = false )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# If the body is called via AJAX, and compression is enable, we need to compress the output
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $compress  &&  ob_get_level ()  &&  isCompress ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ob_end_clean (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ob_start (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										switch  ( $frame )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											case  'BODY' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> body ( $raw ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											case  'TREE' : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> tree (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											default : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												error ( sprintf ( 'show called with unknown frame [%s]' , $frame ), 'error' , 'index.php' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $compress  &&  ob_get_level ()  &&  isCompress ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$output  =  ob_get_contents (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ob_end_clean (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												debug_log ( 'Sending COMPRESSED output to browser[(%s),%s]' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													strlen ( $output ), $output ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											print  gzencode ( $output ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  display ( $filter = array ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Control what is displayed.
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$display  =  array ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'HEAD' => false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'CONTROL' => false , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'TREE' => true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											'FOOT' => false 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$display  =  array_merge ( $display , $filter ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# HTML Header
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> pageheader_print (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Start of body
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Page Header
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<body>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<table class="page" border="0" width="100%">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $display [ 'HEAD' ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> head_print (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Control Line
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $display [ 'CONTROL' ])  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<tr class="control"><td colspan="3">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<div id="ajCONTROL">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> control_print (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</div></td></tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Left Block
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $display [ 'TREE' ])  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<td class="tree" colspan="2">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											printf ( '<acronym title="%s"><img src="%s/plus.png" alt="" style="float: right;" onclick="if (document.getElementById(\'ajTREE\').style.display == \'none\') { document.getElementById(\'ajTREE\').style.display = \'block\' } else { document.getElementById(\'ajTREE\').style.display = \'none\' };"/></acronym>' , _ ( 'Hide/Unhide the tree' ), IMGDIR ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '<div id="ajTREE">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> tree (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</div>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											echo  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<td class="body" style="width: 80%;">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '<div id="ajBODY">' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> body (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</div>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</tr>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  " \n " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Page Footer
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $display [ 'FOOT' ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$this -> footer_print (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# Finish HTML
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</table>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</body>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										echo  '</html>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										# compress output
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( ob_get_level ()  &&  isCompress ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$output  =  ob_get_contents (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											ob_end_clean (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												debug_log ( 'Sending COMPRESSED output to browser[(%s),%s]' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
													strlen ( $output ), $output ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											print  gzencode ( $output ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  setsysmsg ( $data )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( defined ( 'DEBUG_ENABLED' )  &&  DEBUG_ENABLED  &&  (( $fargs = func_get_args ()) || $fargs = 'NOARGS' )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											debug_log ( 'Entered (%%)' , 129 , 0 , __FILE__ , __LINE__ , __METHOD__ , $fargs ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( !  is_array ( $data )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											return ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( isset ( $this -> sysmsg )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$msgnum  =  count ( $this -> sysmsg )  +  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$msgnum  =  1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										foreach  ( array ( 'title' , 'body' , 'type' )  as  $index ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( isset ( $data [ $index ])) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$this -> sysmsg [ $msgnum ][ $index ]  =  $data [ $index ]; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/**  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  class  draws  a  block . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ package  phpLDAPadmin 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  @ subpackage  Page 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class  block  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  $title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  $body ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									private  $foot ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  setTitle ( $html )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> title  =  $html ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  setBody ( $html )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> body  =  $html ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  setFooter ( $html )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$this -> foot  =  $html ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									public  function  draw ( $side , $raw = false )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										$output  =  '' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										if  ( $raw ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$output  .=  $this -> body ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$output  .=  sprintf ( '<table class="%s">' , $side ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( isset ( $this -> title )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$output  .=  sprintf ( '<tr><td class="head">%s</td></tr>' , $this -> title ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( isset ( $this -> body )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$output  .=  sprintf ( '<tr><td>%s</td></tr>' , $this -> body ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											if  ( isset ( $this -> footer )) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												$output  .=  sprintf ( '<tr><td class="foot">%s</td></tr>' , $this -> foot ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											$output  .=  '</table>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  $output ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?>