tell IE > 7 to use it's own mode, not old compatibility mode eg. IE=7 for IE8

This commit is contained in:
Ralf Becker 2010-11-09 14:44:18 +00:00
parent 0c66ee71e3
commit c86787a3bd

View File

@ -94,7 +94,7 @@ abstract class egw_framework
{ {
self::__construct($template); self::__construct($template);
} }
/** /**
* Link url generator * Link url generator
* *
@ -154,7 +154,7 @@ abstract class egw_framework
/** /**
* Returns the html from the body-tag til the main application area (incl. opening div tag) * Returns the html from the body-tag til the main application area (incl. opening div tag)
* *
* If header has NOT been called, also return header content! * If header has NOT been called, also return header content!
* No need to manually call header, this allows to postpone header so navbar / sidebox can include JS or CSS. * No need to manually call header, this allows to postpone header so navbar / sidebox can include JS or CSS.
* *
@ -280,6 +280,11 @@ abstract class egw_framework
</script> </script>
<![endif]-->'; <![endif]-->';
} }
// tell IE > 7 to use it's own mode, not old compatibility mode eg. IE=7 for IE8
if (html::$user_agent == 'msie' && html::$ua_version > 7)
{
$pngfix .= "\n\t\t".'<meta http-equiv="X-UA-Compatible" content="IE='.(int)html::$ua_version.'" />';
}
if(!$GLOBALS['egw_info']['user']['preferences']['common']['disable_slider_effects']) if(!$GLOBALS['egw_info']['user']['preferences']['common']['disable_slider_effects'])
{ {
@ -365,7 +370,7 @@ abstract class egw_framework
$var['quick_add'] = $this->_get_quick_add(); $var['quick_add'] = $this->_get_quick_add();
$var['user_info'] = $this->_user_time_info(); $var['user_info'] = $this->_user_time_info();
if($GLOBALS['egw_info']['user']['account_lastpwd_change'] == 0) if($GLOBALS['egw_info']['user']['account_lastpwd_change'] == 0)
{ {
$api_messages = lang('You are required to change your password during your first login').'<br />'. $api_messages = lang('You are required to change your password during your first login').'<br />'.
@ -685,7 +690,7 @@ abstract class egw_framework
// search for app specific css file // search for app specific css file
self::includeCSS($GLOBALS['egw_info']['flags']['currentapp'], 'app'); self::includeCSS($GLOBALS['egw_info']['flags']['currentapp'], 'app');
// add all css files from self::includeCSS // add all css files from self::includeCSS
foreach(self::$css_include_files as $path) foreach(self::$css_include_files as $path)
{ {
@ -738,7 +743,7 @@ abstract class egw_framework
// set webserver_url for json // set webserver_url for json
$java_script .= "<script type=\"text/javascript\">\nwindow.egw_webserverUrl = '". $java_script .= "<script type=\"text/javascript\">\nwindow.egw_webserverUrl = '".
$GLOBALS['egw_info']['server']['webserver_url']."';\n</script>\n"; $GLOBALS['egw_info']['server']['webserver_url']."';\n</script>\n";
/* 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) */ Think of conf vars etc... (pim@lingewoud.nl) */
if (isset($GLOBALS['egw_info']['flags']['java_script_thirst'])) if (isset($GLOBALS['egw_info']['flags']['java_script_thirst']))
@ -768,7 +773,7 @@ abstract class egw_framework
* List available themes * List available themes
* *
* Themes are css file in the template directory * Themes are css file in the template directory
* *
* @param string $themes_dir='css' * @param string $themes_dir='css'
*/ */
function list_themes() function list_themes()
@ -807,7 +812,7 @@ abstract class egw_framework
if (file_exists ($f = EGW_SERVER_ROOT . '/phpgwapi/templates/' . $entry . '/setup/setup.inc.php')) if (file_exists ($f = EGW_SERVER_ROOT . '/phpgwapi/templates/' . $entry . '/setup/setup.inc.php'))
{ {
include($f); include($f);
$list[$entry] = $full_data ? $GLOBALS['egw_info']['template'][$entry] : $list[$entry] = $full_data ? $GLOBALS['egw_info']['template'][$entry] :
$GLOBALS['egw_info']['template'][$entry]['title']; $GLOBALS['egw_info']['template'][$entry]['title'];
} }
else else
@ -830,7 +835,7 @@ abstract class egw_framework
include($f); include($f);
if (isset($GLOBALS['egw_info']['template'][$entry])) if (isset($GLOBALS['egw_info']['template'][$entry]))
{ {
$list[$entry] = $full_data ? $GLOBALS['egw_info']['template'][$entry] : $list[$entry] = $full_data ? $GLOBALS['egw_info']['template'][$entry] :
$GLOBALS['egw_info']['template'][$entry]['title']; $GLOBALS['egw_info']['template'][$entry]['title'];
} }
} }
@ -859,7 +864,7 @@ abstract class egw_framework
{ {
$this->_add_topmenu_item($apps['preferences']); $this->_add_topmenu_item($apps['preferences']);
} }
elseif(($pw_app = $GLOBALS['egw_info']['user']['apps']['password']) && elseif(($pw_app = $GLOBALS['egw_info']['user']['apps']['password']) &&
!$GLOBALS['egw']->acl->check('nopasswordchange', 1)) !$GLOBALS['egw']->acl->check('nopasswordchange', 1))
{ {
$this->_add_topmenu_item(array( $this->_add_topmenu_item(array(
@ -868,7 +873,7 @@ abstract class egw_framework
'icon' => common::image($pw_app['icon'],$pw_app['icon_app']), 'icon' => common::image($pw_app['icon'],$pw_app['icon_app']),
)); ));
} }
if($GLOBALS['egw_info']['user']['apps']['manual'] && isset($apps['manual'])) if($GLOBALS['egw_info']['user']['apps']['manual'] && isset($apps['manual']))
{ {
$this->_add_topmenu_item($apps['manual']); $this->_add_topmenu_item($apps['manual']);
@ -949,7 +954,7 @@ abstract class egw_framework
/** /**
* Call and return content of 'after_navbar' hook * Call and return content of 'after_navbar' hook
* *
* @return string * @return string
*/ */
protected function _get_after_navbar() protected function _get_after_navbar()
@ -961,25 +966,25 @@ abstract class egw_framework
return $content; return $content;
} }
/** /**
* Return javascript (eg. for onClick) to open manual with given url * Return javascript (eg. for onClick) to open manual with given url
* *
* @param string $url * @param string $url
*/ */
abstract function open_manual_js($url); abstract function open_manual_js($url);
/** /**
* Methods to add javascript to framework * Methods to add javascript to framework
*/ */
/** /**
* Body tags for onLoad, onUnload and onResize * Body tags for onLoad, onUnload and onResize
* *
* @var array * @var array
*/ */
protected static $body_tags = array(); protected static $body_tags = array();
/** /**
* Sets an onLoad action for a page * Sets an onLoad action for a page
* *
@ -1057,10 +1062,10 @@ abstract class egw_framework
} }
return $js; return $js;
} }
/** /**
* Content from validate_file calls plus preloaded files * Content from validate_file calls plus preloaded files
* *
* @var array * @var array
*/ */
protected static $js_include_files = array( protected static $js_include_files = array(
@ -1075,15 +1080,15 @@ abstract class egw_framework
* Checks to make sure a valid package and file name is provided * Checks to make sure a valid package and file name is provided
* *
* Example call syntax: * Example call syntax:
* a) egw_framework::validate_file('jscalendar','calendar') * a) egw_framework::validate_file('jscalendar','calendar')
* --> /phpgwapi/js/jscalendar/calendar.js * --> /phpgwapi/js/jscalendar/calendar.js
* b) egw_framework::validate_file('/phpgwapi/inc/calendar-setup.js',array('lang'=>'de')) * b) egw_framework::validate_file('/phpgwapi/inc/calendar-setup.js',array('lang'=>'de'))
* --> /phpgwapi/inc/calendar-setup.js?lang=de * --> /phpgwapi/inc/calendar-setup.js?lang=de
* *
* @param string $package package or complete path (relative to EGW_SERVER_ROOT) to be included * @param string $package package or complete path (relative to EGW_SERVER_ROOT) to be included
* @param string|array $file=null file to be included - no ".js" on the end or array with get params * @param string|array $file=null file to be included - no ".js" on the end or array with get params
* @param string $app='phpgwapi' application directory to search - default = phpgwapi * @param string $app='phpgwapi' application directory to search - default = phpgwapi
* @param boolean $append=true should the file be added * @param boolean $append=true should the file be added
* *
* @discuss The browser specific option loads the file which is in the correct * @discuss The browser specific option loads the file which is in the correct
* browser folder. Supported folder are those supported by class.browser.inc.php * browser folder. Supported folder are those supported by class.browser.inc.php
@ -1114,10 +1119,10 @@ abstract class egw_framework
error_log(__METHOD__."($package,$file,$app) $path NOT found!"); error_log(__METHOD__."($package,$file,$app) $path NOT found!");
return False; return False;
} }
/** /**
* Set or return all javascript files set via validate_file * Set or return all javascript files set via validate_file
* *
* @param array $files=null array with pathes relative to EGW_SERVER_ROOT, eg. /phpgwapi/js/jquery/jquery.js * @param array $files=null array with pathes relative to EGW_SERVER_ROOT, eg. /phpgwapi/js/jquery/jquery.js
* @return array with pathes relative to EGW_SERVER_ROOT * @return array with pathes relative to EGW_SERVER_ROOT
*/ */
@ -1129,7 +1134,7 @@ abstract class egw_framework
} }
return self::$js_include_files; return self::$js_include_files;
} }
/** /**
* Used for generating the list of external js files to be included in the head of a page * Used for generating the list of external js files to be included in the head of a page
* *
@ -1153,17 +1158,17 @@ abstract class egw_framework
} }
return $links."\n"; return $links."\n";
} }
/** /**
* Content from includeCSS calls * Content from includeCSS calls
* *
* @var array * @var array
*/ */
protected static $css_include_files = array(); protected static $css_include_files = array();
/** /**
* Include a css file, either speicified by it's path (relative to EGW_SERVER_ROOT) or appname and css file name * Include a css file, either speicified by it's path (relative to EGW_SERVER_ROOT) or appname and css file name
* *
* @param string $app path (relative to EGW_SERVER_ROOT) or appname (if !is_null($name)) * @param string $app path (relative to EGW_SERVER_ROOT) or appname (if !is_null($name))
* @param string $name=null name of css file in $app/templates/{default|$this->template}/$name.css * @param string $name=null name of css file in $app/templates/{default|$this->template}/$name.css
* @return boolean false: css file not found, true: file found * @return boolean false: css file not found, true: file found
@ -1193,7 +1198,7 @@ abstract class egw_framework
} }
return true; return true;
} }
/** /**
* Add registered CSS and javascript to ajax response * Add registered CSS and javascript to ajax response
*/ */
@ -1201,7 +1206,7 @@ abstract class egw_framework
{ {
$response = egw_json_response::get(); $response = egw_json_response::get();
$app = $GLOBALS['egw_info']['flags']['currentapp']; $app = $GLOBALS['egw_info']['flags']['currentapp'];
// try to add app specific css file // try to add app specific css file
self::includeCSS($app,'app'); self::includeCSS($app,'app');
@ -1213,7 +1218,7 @@ abstract class egw_framework
$path .= '?'. filectime(EGW_SERVER_ROOT.$path).($query ? '&'.$query : ''); $path .= '?'. filectime(EGW_SERVER_ROOT.$path).($query ? '&'.$query : '');
$response->includeCSS($GLOBALS['egw_info']['server']['webserver_url'].$path); $response->includeCSS($GLOBALS['egw_info']['server']['webserver_url'].$path);
} }
// try to add app specific js file // try to add app specific js file
self::validate_file('.', 'app', $app); self::validate_file('.', 'app', $app);