diff options
author | cash <cash.costello@gmail.com> | 2011-06-19 15:03:30 -0400 |
---|---|---|
committer | cash <cash.costello@gmail.com> | 2011-06-19 15:03:30 -0400 |
commit | 6e05a5d7486ede1c8408144b823b895c6282f270 (patch) | |
tree | fe2eb5eed4ce498f5f620963ad773fc347599179 | |
parent | 0afdb10ff1d079e623685a91c59bac4802aa0069 (diff) | |
download | elgg-6e05a5d7486ede1c8408144b823b895c6282f270.tar.gz elgg-6e05a5d7486ede1c8408144b823b895c6282f270.tar.bz2 |
added another way for an action to be detected as an Ajax action: set the request variable X-Requested-With = XMLHttpRequest. This is because files cannot be uploaded with XMLHttpRequest
-rw-r--r-- | engine/lib/actions.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engine/lib/actions.php b/engine/lib/actions.php index ff598916f..017653aa8 100644 --- a/engine/lib/actions.php +++ b/engine/lib/actions.php @@ -384,7 +384,8 @@ function actions_init() { */ function elgg_is_xhr() { return isset($_SERVER['HTTP_X_REQUESTED_WITH']) - && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'; + && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || + get_input('X-Requested-With') === 'XMLHttpRequest'; } /** @@ -448,6 +449,9 @@ function ajax_forward_hook($hook, $type, $reason, $params) { header("Content-type: application/json"); echo json_encode($params); exit; + } else { + echo json_encode('not ajax'); + exit; } } |