From 8727151c9a2b9eae209cf6ccc2a5789f3390c184 Mon Sep 17 00:00:00 2001 From: Stefan Becker Date: Mon, 21 Jul 2008 14:40:54 +0000 Subject: [PATCH] PNG Bugfix for IE 6 is working on IE 7 (browsercheck) --- phpgwapi/inc/class.egw_framework.inc.php | 112 +++++++++++------------ phpgwapi/inc/class.html.inc.php | 2 +- 2 files changed, 57 insertions(+), 57 deletions(-) diff --git a/phpgwapi/inc/class.egw_framework.inc.php b/phpgwapi/inc/class.egw_framework.inc.php index 6e38a5a381..f1f81b7153 100644 --- a/phpgwapi/inc/class.egw_framework.inc.php +++ b/phpgwapi/inc/class.egw_framework.inc.php @@ -1,7 +1,7 @@ rewrite in 12/2006 * @author Pim Snel author of the idots template set @@ -14,7 +14,7 @@ /** * eGW API - framework: virtual base class for all template sets - * + * * This class creates / renders the eGW framework: * a) html header * b) navbar @@ -22,12 +22,12 @@ * d) main application area * e) footer * It replaces several methods in the common class and the diverse templates. - * - * Existing apps either set $GLOBALS['egw_info']['flags']['noheader'] and call $GLOBALS['egw']->common->egw_header() and + * + * Existing apps either set $GLOBALS['egw_info']['flags']['noheader'] and call $GLOBALS['egw']->common->egw_header() and * (if $GLOBALS['egw_info']['flags']['nonavbar'] is true) parse_navbar() or it's done by the header.inc.php include. * The app's hook_sidebox then calls the public function display_sidebox(). * And the app calls $GLOBALS['egw']->common->egw_footer(). - * + * * This are the authors (and their copyrights) of the original egw_header, egw_footer methods of the common class: * This file written by Dan Kuykendall * and Joseph Engo @@ -47,7 +47,7 @@ class egw_framework /** * Constructor - * + * * The constructor instanciates the class in $GLOBALS['egw']->framework, from where it should be used * * @return egw_framework @@ -61,24 +61,24 @@ class egw_framework $GLOBALS['egw']->framework = $this; } } - + /** * Renders an applicaton page with the complete eGW framework (header, navigation and menu) - * + * * This is the (new) prefered way to render a page in eGW! * * @param string $content html of the main application area * @param string $app_header=null application header, default what's set in $GLOBALS['egw_info']['flags']['app_header'] * @param string $navbar=null show the navigation, default !$GLOBALS['egw_info']['flags']['nonavbar'], false gives a typical popu - * + * */ function render($content,$app_header=null,$navbar=null) { if (!is_null($app_header)) $GLOBALS['egw_info']['flags']['app_header'] = $app_header; if (!is_null($navbar)) $GLOBALS['egw_info']['flags']['nonavbar'] = !$navbar; - + echo $this->header(); - + if (!isset($GLOBALS['egw_info']['flags']['nonavbar']) || !$GLOBALS['egw_info']['flags']['nonavbar']) { echo $this->navbar(); @@ -95,7 +95,7 @@ class egw_framework */ function header() { - die('virtual, need to be reimplemented in the template!!!'); + die('virtual, need to be reimplemented in the template!!!'); } /** @@ -105,9 +105,9 @@ class egw_framework */ function navbar() { - die('virtual, need to be reimplemented in the template!!!'); + die('virtual, need to be reimplemented in the template!!!'); } - + /** * Returns the content of one sidebox * @@ -119,7 +119,7 @@ class egw_framework { die('virtual, need to be reimplemented in the template!!!'); } - + /** * Returns the html from the closing div of the main application area to the closing html-tag * @@ -129,7 +129,7 @@ class egw_framework { die('virtual, need to be reimplemented in the template!!!'); } - + /** * displays a login screen * @@ -140,7 +140,7 @@ class egw_framework { die('virtual, need to be reimplemented in the template!!!'); } - + /** * displays a login denied message * @@ -150,7 +150,7 @@ class egw_framework { die('virtual, need to be reimplemented in the template!!!'); } - + /** * Get footer as array to eg. set as vars for a template (from idots' head.inc.php) * @@ -165,7 +165,7 @@ class egw_framework ); if($GLOBALS['egw_info']['user']['preferences']['common']['show_generation_time']) { - $totaltime = sprintf('%4.2lf',microtime(true) - $GLOBALS['egw_info']['flags']['page_start_time']); + $totaltime = sprintf('%4.2lf',microtime(true) - $GLOBALS['egw_info']['flags']['page_start_time']); $var['page_generation_time'] = '

'.lang('Page was generated in %1 seconds',$totaltime); if ($GLOBALS['egw_info']['flags']['session_restore_time']) @@ -177,7 +177,7 @@ class egw_framework } $var['powered_by'] = lang('Powered by').' eGroupWare '.lang('version').' '.$GLOBALS['egw_info']['server']['versions']['phpgwapi']; $var['activate_tooltips'] = ''; - + return $var; } @@ -190,7 +190,7 @@ class egw_framework { ob_start(); // Include the apps footer files if it exists - if (EGW_APP_INC != EGW_API_INC && // this prevents an endless inclusion on the homepage + if (EGW_APP_INC != EGW_API_INC && // this prevents an endless inclusion on the homepage // (some apps set currentapp in hook_home => it's not releyable) (file_exists (EGW_APP_INC . '/footer.inc.php') || isset($_GET['menuaction'])) && $GLOBALS['egw_info']['flags']['currentapp'] != 'home' && @@ -199,7 +199,7 @@ class egw_framework !@$GLOBALS['egw_info']['flags']['noappfooter']) { list($app,$class,$method) = explode('.',(string)$_GET['menuaction']); - if ($class && is_object($GLOBALS[$class]) && is_array($GLOBALS[$class]->public_functions) && + if ($class && is_object($GLOBALS[$class]) && is_array($GLOBALS[$class]->public_functions) && isset($GLOBALS[$class]->public_functions['footer'])) { $GLOBALS[$class]->footer(); @@ -212,7 +212,7 @@ class egw_framework $content = ob_get_contents(); ob_end_clean(); - return $content; + return $content; } /** @@ -225,18 +225,18 @@ class egw_framework { // get used language code $lang_code = $GLOBALS['egw_info']['user']['preferences']['common']['lang']; - + //pngfix defaults to yes if(!$GLOBALS['egw_info']['user']['preferences']['common']['disable_pngfix']) { $pngfix_src = $GLOBALS['egw_info']['server']['webserver_url'] . '/phpgwapi/templates/idots/js/pngfix.js'; - $pngfix =' - + '; } - + if(!$GLOBALS['egw_info']['user']['preferences']['common']['disable_slider_effects']) { $slider_effects_src = $GLOBALS['egw_info']['server']['webserver_url'] . '/phpgwapi/templates/idots/js/slidereffects.js'; @@ -249,7 +249,7 @@ class egw_framework $simple_show_hide = ''; } - + if ($GLOBALS['egw_info']['flags']['app_header']) { $app = $GLOBALS['egw_info']['flags']['app_header']; @@ -259,9 +259,9 @@ class egw_framework $app = $GLOBALS['egw_info']['flags']['currentapp']; $app = isset($GLOBALS['egw_info']['apps'][$app]) ? $GLOBALS['egw_info']['apps'][$app]['title'] : lang($app); } - + if($app!='wiki') $robots =''; - + return $this->_get_css()+array( 'img_icon' => EGW_IMAGES_DIR . '/favicon.ico', 'img_shortcut' => EGW_IMAGES_DIR . '/favicon.ico', @@ -300,12 +300,12 @@ class egw_framework // current users for admins $var['current_users'] = $this->_current_users(); - + // quick add selectbox $var['quick_add'] = $this->_get_quick_add(); $var['user_info'] = $this->_user_time_info(); - + if($GLOBALS['egw_info']['user']['lastpasswd_change'] == 0) { @@ -332,19 +332,19 @@ class egw_framework $var['logo_file'] = $GLOBALS['egw']->common->image('phpgwapi',$GLOBALS['egw_info']['server']['login_logo_file']?$GLOBALS['egw_info']['server']['login_logo_file']:'logo'); } $var['logo_url'] = $GLOBALS['egw_info']['server']['login_logo_url']?$GLOBALS['egw_info']['server']['login_logo_url']:'http://www.eGroupWare.org'; - + if (substr($var['logo_url'],0,4) != 'http') { $var['logo_url'] = 'http://'.$var['logo_url']; } $var['logo_title'] = $GLOBALS['egw_info']['server']['login_logo_title']?$GLOBALS['egw_info']['server']['login_logo_title']:'www.eGroupWare.org'; - + return $var; } /** * Returns html with user and time - * + * * @access protected * @return void */ @@ -362,7 +362,7 @@ class egw_framework { if( $GLOBALS['egw_info']['user']['apps']['admin'] && $GLOBALS['egw_info']['user']['preferences']['common']['show_currentusers']) { - $current_users = '' . lang('Current users') . ': ' . $GLOBALS['egw']->session->total() . ''; + $current_users = '' . lang('Current users') . ': ' . $GLOBALS['egw']->session->total() . ''; return $current_users; } } @@ -376,7 +376,7 @@ class egw_framework { $apps = egw_link::app_list('add'); asort($apps); // sort them alphabetic - + $options = array(lang('Add').' ...'); foreach($apps as $app => $label) { @@ -393,10 +393,10 @@ class egw_framework } $options[$action] = $label; } - return html::select('quick_add','',$options,true,$options=' onchange="eval(this.value); this.value=0; return false;"'); + return html::select('quick_add','',$options,true,$options=' onchange="eval(this.value); this.value=0; return false;"'); } - - function _get_notification_bell() + + function _get_notification_bell() { return html::div( html::a_href( @@ -406,17 +406,17 @@ class egw_framework 'id="notificationbell"', // options '', // class 'display: none' //style - ); + ); } - + /** * Prepare an array with apps used to render the navbar - * + * * This is similar to the former common::navbar() method - though it returns the vars and does not place them in global scope. * * @internal PHP5 protected - * @static + * @static * @return array */ function _get_navbar_apps() @@ -438,7 +438,7 @@ class egw_framework unset($index); unset($value); unset($newarray); - + $apps = array(); foreach($GLOBALS['egw_info']['user']['apps'] as $app => $data) { @@ -509,10 +509,10 @@ class egw_framework $apps['logout']['url'] = $GLOBALS['egw']->link('/logout.php'); $apps['logout']['icon'] = $GLOBALS['egw']->common->image('phpgwapi',Array('logout','nonav')); $apps['logout']['icon_hover'] = $GLOBALS['egw']->common->image_on('phpgwapi',Array('logout','nonav'),'-over'); - + return $apps; } - + /** * Used by template headers for including CSS in the header * @@ -520,7 +520,7 @@ class egw_framework * 'file_css' - link tag of the app.css file of the current app * 'theme_css' - url of the theme css file * 'print_css' - url of the print css file - * + * * @internal PHP5 protected * @author Dave Hall (*based* on verdilak? css inclusion code) * @return array with keys 'app_css' from the css method of the menuaction-class and 'file_css' (app.css file of the application) @@ -551,7 +551,7 @@ class egw_framework if (!file_exists(EGW_SERVER_ROOT.$css_file)) { $css_file = '/'.$appname.'/templates/default/app.css'; - + if (!file_exists(EGW_SERVER_ROOT.$css_file)) $css_file = ''; } if($css_file) @@ -574,7 +574,7 @@ class egw_framework $print_css = '/phpgwapi/templates/idots/print.css'; } $print_css = $GLOBALS['egw_info']['server']['webserver_url'] . $print_css .'?'.filemtime(EGW_SERVER_ROOT.$print_css); - + return array( 'app_css' => $app_css, 'css_file' => $css_file, @@ -597,7 +597,7 @@ class egw_framework function _get_js() { $java_script = ''; - + // always include javascript helper functions $GLOBALS['egw']->js->validate_file('jsapi','jsapi'); @@ -612,18 +612,18 @@ class egw_framework { $GLOBALS['egw']->js->validate_jsapi(); } - + if(@is_object($GLOBALS['egw']->js)) { $java_script .= $GLOBALS['egw']->js->get_javascript_globals(); } } - + if ($GLOBALS['egw']->acl->check('run',1,'notifications') && !$GLOBALS['egw_info']['user']['preferences']['notifications']['disable_ajaxpopup']) { $GLOBALS['egw_info']['flags']['include_xajax'] = true; } - + if ($GLOBALS['egw_info']['flags']['include_xajax']) { require_once(EGW_SERVER_ROOT.'/phpgwapi/inc/xajax.inc.php'); @@ -635,13 +635,13 @@ class egw_framework $java_script .= $xajax->getJavascript($GLOBALS['egw_info']['server']['webserver_url'] . '/phpgwapi/js/'); } - /* this flag is for all javascript code that has to be put before other jscode. + /* this flag is for all javascript code that has to be put before other jscode. Think of conf vars etc... (pim@lingewoud.nl) */ if (isset($GLOBALS['egw_info']['flags']['java_script_thirst'])) { $java_script .= $GLOBALS['egw_info']['flags']['java_script_thirst'] . "\n"; } - + if(@is_object($GLOBALS['egw']->js)) { $java_script .= $GLOBALS['egw']->js->get_script_links(); diff --git a/phpgwapi/inc/class.html.inc.php b/phpgwapi/inc/class.html.inc.php index f1f6fe74ff..dc22563793 100644 --- a/phpgwapi/inc/class.html.inc.php +++ b/phpgwapi/inc/class.html.inc.php @@ -903,7 +903,7 @@ class html } // This block makes pngfix.js useless, adding a check on disable_pngfix to have pngfix.js do its thing - if (self::$user_agent == 'msie' && self::$ua_version >= 5.5 && substr($url,-4) == '.png' && ($GLOBALS['egw_info']['user']['preferences']['common']['disable_pngfix'] || !isset($GLOBALS['egw_info']['user']['preferences']['common']['disable_pngfix']))) + if (self::$user_agent == 'msie' && self::$ua_version < 7.0 && substr($url,-4) == '.png' && ($GLOBALS['egw_info']['user']['preferences']['common']['disable_pngfix'] || !isset($GLOBALS['egw_info']['user']['preferences']['common']['disable_pngfix']))) { $extra_styles = "display: inline-block; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='$url',sizingMethod='image'); width: 1px; height: 1px;"; if (false!==strpos($options,'style="'))