diff --git a/gulliver/system/class.g.php b/gulliver/system/class.g.php index 0db4130ac..02523e5db 100755 --- a/gulliver/system/class.g.php +++ b/gulliver/system/class.g.php @@ -5518,6 +5518,49 @@ class G return $res; } } + + /** + * Get the actual browser. + */ + public function getActualBrowser(){ + $browser=array("TRIDENT","IE","OPERA","MOZILLA","NETSCAPE","FIREFOX","SAFARI","CHROME"); + $info['browser'] = "OTHER"; + + foreach($browser as $parent){ + if($parent == 'TRIDENT'){ + $parent = "RV"; + } + $s = strpos(strtoupper($_SERVER['HTTP_USER_AGENT']), $parent); + $f = $s + strlen($parent); + $version = substr($_SERVER['HTTP_USER_AGENT'], $f, 15); + $version = preg_replace('/[^0-9,.]/','',$version); + if ($s){ + $info['browser'] = $parent; + $info['version'] = $version; + } + } + + $info['browser'] = ($info['browser']=='RV')? 'IE':$info['browser']; + return $info; + } + + /** + * Check the browser compativility + */ + public function checkBrowserCompatibility($browser = null, $version = null){ + if($browser == null || $version == null){ + $info = G::getActualBrowser(); + $browser = $info['browser']; + $version = $info['version']; + } + if ((($browser== 'IE') && (($version >= 8) && ($version <= 11))) || + (($browser== 'CHROME') && ($version >= 26)) || + (($browser== 'FIREFOX') && ($version >= 20)) + ){ + return true; + } + return false; + } } /** diff --git a/workflow/engine/methods/login/login.php b/workflow/engine/methods/login/login.php index d6817e320..a6f201149 100755 --- a/workflow/engine/methods/login/login.php +++ b/workflow/engine/methods/login/login.php @@ -22,6 +22,13 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ +//Browser Compatibility +$browserSupported = G::checkBrowserCompatibility(); +if ($browserSupported==false){ + if(!isset($_SESSION['G_MESSAGE']) || $_SESSION['G_MESSAGE'] == ""){ + G::SendTemporalMessage ('ID_BROWSER_NOT_SUPPORTED', 'warning'); + } +} $aFields = array(); diff --git a/workflow/engine/methods/login/sysLogin.php b/workflow/engine/methods/login/sysLogin.php index ab76b29e0..3097376c3 100755 --- a/workflow/engine/methods/login/sysLogin.php +++ b/workflow/engine/methods/login/sysLogin.php @@ -22,6 +22,13 @@ * Coral Gables, FL, 33134, USA, or email info@colosa.com. * */ +//Browser Compatibility +$browserSupported = G::checkBrowserCompatibility(); +if ($browserSupported==false){ + if(!isset($_SESSION['G_MESSAGE']) || $_SESSION['G_MESSAGE'] == ""){ + G::SendTemporalMessage ('ID_BROWSER_NOT_SUPPORTED', 'warning'); + } +} if (isset ($_POST['form']['USER_ENV'])) { @session_destroy();