diff --git securesite.inc securesite.inc index cd28b1f..c435320 100644 --- securesite.inc +++ securesite.inc @@ -275,6 +275,16 @@ function _securesite_forced() { return FALSE; } else { + // Load the menu-item and check if there are modules that + // want to bypass securesite. + $menu_item = menu_get_item($_GET['q']); + $modules = module_implements('bypass_secure_site'); + foreach ($modules as $module) { + if (call_user_func($module . '_bypass_secure_site', $_GET['q'], $menu_item)) { + return FALSE; + } + } + switch (variable_get('securesite_enabled', SECURESITE_DISABLED)) { case SECURESITE_ALWAYS: return TRUE;