Skip to content

Commit

Permalink
Issue 8417:
Browse files Browse the repository at this point in the history
Added support for array of tested browsers to be passed to ajaxenabled()
  • Loading branch information
nicolasconnault committed Mar 1, 2007
1 parent b336fbd commit 052fdab
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 1 deletion.
15 changes: 14 additions & 1 deletion lib/ajax/ajaxlib.php
Expand Up @@ -106,10 +106,23 @@ function ajax_get_lib($libname) {
/**
* Returns whether ajax is enabled/allowed or not.
*/
function ajaxenabled() {
function ajaxenabled($browsers = array()) {

global $CFG, $USER;

if (!empty($browsers)) {
$valid = false;
foreach ($browsers as $brand => $version) {
if (check_browser_version($brand, $version)) {
$valid = true;
}
}

if (!$valid) {
return false;
}
}

$ie = check_browser_version('MSIE', 6.0);
$ff = check_browser_version('Gecko', 20051106);
$op = check_browser_version('Opera', 9.0);
Expand Down
27 changes: 27 additions & 0 deletions lib/simpletest/testajaxlib.php
Expand Up @@ -87,6 +87,33 @@ function test_ajaxenabled()

$_SERVER['HTTP_USER_AGENT'] = $user_agents['MSIE']['5.5']['Windows 2000'];
$this->assertFalse(ajaxenabled());

// Test array of tested browsers
$tested_browsers = array('MSIE' => 6.0, 'Gecko' => 20061111);
$_SERVER['HTTP_USER_AGENT'] = $user_agents['Firefox']['2.0']['Windows XP'];
$this->assertTrue(ajaxenabled($tested_browsers));

$_SERVER['HTTP_USER_AGENT'] = $user_agents['MSIE']['7.0']['Windows XP SP2'];
$this->assertTrue(ajaxenabled($tested_browsers));

$_SERVER['HTTP_USER_AGENT'] = $user_agents['Safari']['2.0']['Mac OS X'];
$this->assertFalse(ajaxenabled($tested_browsers));

$_SERVER['HTTP_USER_AGENT'] = $user_agents['Opera']['9.0']['Windows XP'];
$this->assertFalse(ajaxenabled($tested_browsers));

$tested_browsers = array('Safari' => 412, 'Opera' => 9.0);
$_SERVER['HTTP_USER_AGENT'] = $user_agents['Firefox']['2.0']['Windows XP'];
$this->assertFalse(ajaxenabled($tested_browsers));

$_SERVER['HTTP_USER_AGENT'] = $user_agents['MSIE']['7.0']['Windows XP SP2'];
$this->assertFalse(ajaxenabled($tested_browsers));

$_SERVER['HTTP_USER_AGENT'] = $user_agents['Safari']['2.0']['Mac OS X'];
$this->assertTrue(ajaxenabled($tested_browsers));

$_SERVER['HTTP_USER_AGENT'] = $user_agents['Opera']['9.0']['Windows XP'];
$this->assertTrue(ajaxenabled($tested_browsers));
}
}

Expand Down

0 comments on commit 052fdab

Please sign in to comment.