Commit ef33d44f authored by Dries's avatar Dries

- Patch #556018 by Damien Tournoud, dereine | sun: rename drupal_to_js() and...

- Patch #556018 by Damien Tournoud, dereine | sun: rename drupal_to_js() and drupal_json() for consistency and readability.
parent a32c8ecf
......@@ -105,8 +105,8 @@
* A list of macro commands generated by the use of ajax_command_*()
* functions.
* @param $header
* If set to FALSE the 'text/javascript' header used by drupal_json() will
* not be used, which is necessary when using an IFRAME. If set to
* If set to FALSE the 'text/javascript' header used by drupal_json_output()
* will not be used, which is necessary when using an IFRAME. If set to
* 'multipart' the output will be wrapped in a textarea, which can also be
* used as an alternative method when uploading files.
*/
......@@ -123,17 +123,17 @@ function ajax_render($commands = array(), $header = TRUE) {
// Use === here so that bool TRUE doesn't match 'multipart'.
if ($header === 'multipart') {
// We do not use drupal_json() here because the header is not true. We are
// not really returning JSON, strictly-speaking, but rather JSON content
// wrapped in a textarea as per the "file uploads" example here:
// We do not use drupal_json_output() here because the header is not true.
// We are not really returning JSON, strictly-speaking, but rather JSON
// content wrapped in a textarea as per the "file uploads" example here:
// http://malsup.com/jquery/form/#code-samples
print '<textarea>' . drupal_to_js($commands) . '</textarea>';
print '<textarea>' . drupal_json_encode($commands) . '</textarea>';
}
else if ($header) {
drupal_json($commands);
drupal_json_output($commands);
}
else {
print drupal_to_js($commands);
print drupal_json_encode($commands);
}
exit;
}
......
......@@ -140,7 +140,7 @@ function _batch_do() {
// Perform actual processing.
list($percentage, $message) = _batch_process();
drupal_json(array('status' => TRUE, 'percentage' => $percentage, 'message' => $message));
drupal_json_output(array('status' => TRUE, 'percentage' => $percentage, 'message' => $message));
}
/**
......
......@@ -3167,7 +3167,7 @@ function drupal_get_js($scope = 'header', $javascript = NULL) {
foreach ($items as $item) {
switch ($item['type']) {
case 'setting':
$output .= '<script type="text/javascript">' . $embed_prefix . 'jQuery.extend(Drupal.settings, ' . drupal_to_js(call_user_func_array('array_merge_recursive', $item['data'])) . ");" . $embed_suffix . "</script>\n";
$output .= '<script type="text/javascript">' . $embed_prefix . 'jQuery.extend(Drupal.settings, ' . drupal_json_encode(call_user_func_array('array_merge_recursive', $item['data'])) . ");" . $embed_suffix . "</script>\n";
break;
case 'inline':
......@@ -3585,7 +3585,7 @@ function drupal_clear_js_cache() {
*
* We use HTML-safe strings, i.e. with <, > and & escaped.
*/
function drupal_to_js($var) {
function drupal_json_encode($var) {
// json_encode() does not escape <, > and &, so we do it with str_replace()
return str_replace(array("<", ">", "&"), array('\x3c', '\x3e', '\x26'), json_encode($var));
}
......@@ -3599,12 +3599,12 @@ function drupal_to_js($var) {
* @param $var
* (optional) If set, the variable will be converted to JSON and output.
*/
function drupal_json($var = NULL) {
function drupal_json_output($var = NULL) {
// We are returning JavaScript, so tell the browser.
drupal_set_header('Content-Type', 'text/javascript; charset=utf-8');
if (isset($var)) {
echo drupal_to_js($var);
echo drupal_json_encode($var);
}
}
......
......@@ -2425,7 +2425,7 @@ function _locale_rebuild_js($langcode = NULL) {
$data .= "'pluralFormula': function (\$n) { return Number({$language->formula}); }, ";
}
$data .= "'strings': " . drupal_to_js($translations) . " };";
$data .= "'strings': " . drupal_json_encode($translations) . " };";
$data_hash = md5($data);
}
......
......@@ -1405,7 +1405,7 @@ class FieldFormTestCase extends FieldTestCase {
$this->drupalPost(NULL, $edit, $submit);
unset($this->additionalCurlOptions[CURLOPT_URL]);
// The response is drupal_json, so we need to undo some escaping.
// The response is drupal_json_output, so we need to undo some escaping.
$commands = json_decode(str_replace(array('\x3c', '\x3e', '\x26'), array("<", ">", "&"), $this->drupalGetContent()));
// The JSON response will be two AJAX commands. The first is a settings
......
......@@ -344,7 +344,7 @@ class PollJSAddChoice extends DrupalWebTestCase {
$this->drupalPost(NULL, $edit, t('More choices'));
unset($this->additionalCurlOptions[CURLOPT_URL]);
// The response is drupal_json, so we need to undo some escaping.
// The response is drupal_json_output, so we need to undo some escaping.
$commands = json_decode(str_replace(array('\x3c', '\x3e', '\x26'), array("<", ">", "&"), $this->drupalGetContent()));
// The JSON response will be two AJAX commands. The first is a settings
......
......@@ -423,5 +423,5 @@ function profile_admin_settings_autocomplete($string) {
foreach ($result as $data) {
$matches[$data->category] = check_plain($data->category);
}
drupal_json($matches);
drupal_json_output($matches);
}
......@@ -134,5 +134,5 @@ function profile_autocomplete($field, $string) {
}
}
drupal_json($matches);
drupal_json_output($matches);
}
......@@ -77,7 +77,7 @@ function database_test_menu() {
*/
function database_test_db_query_temporary() {
$table_name = db_query_temporary('SELECT status FROM {system}', array());
drupal_json(array(
drupal_json_output(array(
'table_name' => $table_name,
'row_count' => db_select($table_name)->countQuery()->execute()->fetchField(),
));
......@@ -102,7 +102,7 @@ function database_test_even_pager_query($limit) {
$names = $query->execute()->fetchCol();
drupal_json(array(
drupal_json_output(array(
'names' => $names,
));
exit;
......@@ -126,7 +126,7 @@ function database_test_odd_pager_query($limit) {
$names = $query->execute()->fetchCol();
drupal_json(array(
drupal_json_output(array(
'names' => $names,
));
exit;
......@@ -155,7 +155,7 @@ function database_test_tablesort() {
// We need all the results at once to check the sort.
$tasks = $query->execute()->fetchAll();
drupal_json(array(
drupal_json_output(array(
'tasks' => $tasks,
));
exit;
......@@ -184,7 +184,7 @@ function database_test_tablesort_first() {
// We need all the results at once to check the sort.
$tasks = $query->execute()->fetchAll();
drupal_json(array(
drupal_json_output(array(
'tasks' => $tasks,
));
exit;
......
......@@ -1790,7 +1790,7 @@ function system_regional_settings_submit($form, &$form_state) {
*/
function system_date_time_lookup() {
$result = format_date(REQUEST_TIME, 'custom', $_GET['format']);
drupal_json($result);
drupal_json_output($result);
}
/**
......
......@@ -816,7 +816,7 @@ function system_menu() {
);
$items['admin/config/search/clean-urls/check'] = array(
'title' => 'Clean URL check',
'page callback' => 'drupal_json',
'page callback' => 'drupal_json_output',
'page arguments' => array(array('status' => TRUE)),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
......@@ -2656,7 +2656,7 @@ function system_timezone($abbreviation = '', $offset = -1, $is_daylight_saving_t
// interpreted as the empty string.
$abbreviation = $abbreviation ? $abbreviation : '';
$timezone = timezone_name_from_abbr($abbreviation, intval($offset), $is_daylight_saving_time);
drupal_json($timezone);
drupal_json_output($timezone);
}
/**
......@@ -2768,7 +2768,7 @@ function system_page_build(&$page) {
// Trigger cron run via AJAX.
'#attached' => array(
'js' => array(
'(function($){ $.get(' . drupal_to_js(url('system/run-cron-image')) . '); })(jQuery);' => array('type' => 'inline', 'scope' => 'header'),
'(function($){ $.get(' . drupal_json_encode(url('system/run-cron-image')) . '); })(jQuery);' => array('type' => 'inline', 'scope' => 'header'),
),
),
// Trigger cron run for clients not supporting JavaScript (fall-back).
......
......@@ -135,7 +135,7 @@ function taxonomy_autocomplete_legacy($vid = 0, $tags_typed = '') {
}
}
drupal_json(array_merge($term_matches, $synonym_matches));
drupal_json_output(array_merge($term_matches, $synonym_matches));
}
/**
......@@ -191,5 +191,5 @@ function taxonomy_autocomplete($field_name, $bundle, $tags_typed = '') {
}
}
drupal_json($term_matches);
drupal_json_output($term_matches);
}
......@@ -644,7 +644,7 @@ function upload_js() {
if (!($cached_form = form_get_cache($_POST['form_build_id'], $cached_form_state)) || !isset($cached_form['#node']) || !isset($cached_form['attachments'])) {
form_set_error('form_token', t('Validation error, please try again. If this error persists, please contact the site administrator.'));
$output = theme('status_messages');
print drupal_to_js(array('status' => TRUE, 'data' => $output));
print drupal_json_encode(array('status' => TRUE, 'data' => $output));
exit();
}
......
......@@ -18,7 +18,7 @@ function user_autocomplete($string = '') {
}
}
drupal_json($matches);
drupal_json_output($matches);
}
/**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment