diff options
author | paul sohier <paul999@phpbb.com> | 2020-01-02 15:21:34 +0100 |
---|---|---|
committer | paul sohier <paul999@phpbb.com> | 2020-01-02 15:36:00 +0100 |
commit | f866a8fd1bac7da74c88763447ad2f3ff1b9a10c (patch) | |
tree | a44ccad225e77725be342a9dad60b69eaef35d80 | |
parent | dce0441ecf5fb3b163268be63552a85196dec020 (diff) | |
download | forums-f866a8fd1bac7da74c88763447ad2f3ff1b9a10c.tar forums-f866a8fd1bac7da74c88763447ad2f3ff1b9a10c.tar.gz forums-f866a8fd1bac7da74c88763447ad2f3ff1b9a10c.tar.bz2 forums-f866a8fd1bac7da74c88763447ad2f3ff1b9a10c.tar.xz forums-f866a8fd1bac7da74c88763447ad2f3ff1b9a10c.zip |
[ticket/16287] After installation an error is given over statistics submission
The phpBB.com website required specific fields to be available for the
statistics. This change switched over to a new statistics page on
www.phpbb.com that uses form fields instead, and that returns JSON as value.
PHPBB3-16287
-rw-r--r-- | phpBB/adm/style/acp_help_phpbb.html | 10 | ||||
-rw-r--r-- | phpBB/adm/style/ajax.js | 4 | ||||
-rw-r--r-- | phpBB/includes/acp/acp_help_phpbb.php | 11 | ||||
-rw-r--r-- | phpBB/includes/questionnaire/questionnaire.php | 4 |
4 files changed, 19 insertions, 10 deletions
diff --git a/phpBB/adm/style/acp_help_phpbb.html b/phpBB/adm/style/acp_help_phpbb.html index 478ecc162a..2426bf57cd 100644 --- a/phpBB/adm/style/acp_help_phpbb.html +++ b/phpBB/adm/style/acp_help_phpbb.html @@ -38,10 +38,12 @@ <dd>{L_SEND_STATISTICS_LONG}</dd> </dl> </div> + <script> + var statsData = {S_STATS_DATA}; + </script> <!-- EVENT acp_help_phpbb_stats_after --> <fieldset> <p class="submit-buttons"> - <input type="hidden" name="systemdata" value="{RAW_DATA}" /> <input type="hidden" name="help_send_statistics_time" value="{COLLECT_STATS_TIME}" /> <input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" /> </p> @@ -52,7 +54,11 @@ <form action="{U_COLLECT_STATS}" method="post" target="questionaire_result" id="questionnaire-form"> <fieldset> <p class="submit-buttons"> - <input type="hidden" name="systemdata" value="{RAW_DATA}" /> + <!-- BEGIN providers --> + <!-- BEGIN values --> + <input type="hidden" name="{providers.NAME}[{providers.values.KEY}]" value="{providers.values.VALUE}" /> + <!-- END values --> + <!-- END providers --> <input class="button1" type="submit" id="submit_stats" name="submit" value="{L_SEND_STATISTICS}" /> </p> </fieldset> diff --git a/phpBB/adm/style/ajax.js b/phpBB/adm/style/ajax.js index 644e74bef7..b9424723bb 100644 --- a/phpBB/adm/style/ajax.js +++ b/phpBB/adm/style/ajax.js @@ -1,4 +1,4 @@ -/* global phpbb */ +/* global phpbb, statsData */ (function($) { // Avoid conflicts with other libraries @@ -87,7 +87,7 @@ phpbb.prepareSendStats = function () { $.ajax({ url: $this.attr('data-ajax-action').replace('&', '&'), type: 'POST', - data: 'systemdata=' + encodeURIComponent($this.find('input[name=systemdata]').val()), + data: statsData, success: returnHandler, error: errorHandler, cache: false diff --git a/phpBB/includes/acp/acp_help_phpbb.php b/phpBB/includes/acp/acp_help_phpbb.php index a36b36eddc..2b603d63f4 100644 --- a/phpBB/includes/acp/acp_help_phpbb.php +++ b/phpBB/includes/acp/acp_help_phpbb.php @@ -32,7 +32,7 @@ class acp_help_phpbb include($phpbb_root_path . 'includes/questionnaire/questionnaire.' . $phpEx); } - $collect_url = "https://www.phpbb.com/stats/receive_stats.php"; + $collect_url = "https://www.phpbb.com/statistics/send"; $this->tpl_name = 'acp_help_phpbb'; $this->page_title = 'ACP_HELP_PHPBB'; @@ -90,13 +90,15 @@ class acp_help_phpbb if (!empty($response)) { - if ((strpos($response, 'Thank you') !== false || strpos($response, 'Flood protection') !== false)) + $decoded_response = json_decode($response, true); + + if ($decoded_response && isset($decoded_response['status']) && $decoded_response['status'] == 'ok') { trigger_error($user->lang('THANKS_SEND_STATISTICS') . adm_back_link($this->u_action)); } else { - trigger_error($user->lang('FAIL_SEND_STATISTICS') . adm_back_link($this->u_action)); + trigger_error($user->lang('FAIL_SEND_STATISTICS') . adm_back_link($this->u_action), E_USER_WARNING); } } @@ -106,7 +108,8 @@ class acp_help_phpbb $template->assign_vars(array( 'U_COLLECT_STATS' => $collect_url, 'S_COLLECT_STATS' => (!empty($config['help_send_statistics'])) ? true : false, - 'RAW_DATA' => $collector->get_data_for_form(), + 'S_STATS' => $collector->get_data_raw(), + 'S_STATS_DATA' => json_encode($collector->get_data_raw()), 'U_ACP_MAIN' => append_sid("{$phpbb_admin_path}index.$phpEx"), 'U_ACTION' => $this->u_action, // Pass earliest time we should try to send stats again diff --git a/phpBB/includes/questionnaire/questionnaire.php b/phpBB/includes/questionnaire/questionnaire.php index 95036a95bc..2bc95cf58f 100644 --- a/phpBB/includes/questionnaire/questionnaire.php +++ b/phpBB/includes/questionnaire/questionnaire.php @@ -68,7 +68,7 @@ class phpbb_questionnaire_data_collector function get_data_for_form() { - return base64_encode(serialize($this->get_data_raw())); + return base64_encode(json_encode($this->get_data_raw())); } /** @@ -124,7 +124,7 @@ class phpbb_questionnaire_php_data_provider 'zend.ze1_compatibility_mode' => (int) @ini_get('zend.ze1_compatibility_mode'), 'unicode.semantics' => (int) @ini_get('unicode.semantics'), 'zend_thread_safty' => (int) function_exists('zend_thread_id'), - 'extensions' => get_loaded_extensions(), + 'extensions' => implode(",", get_loaded_extensions()), ); } } |