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 /phpBB | |
| 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
Diffstat (limited to 'phpBB')
| -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()),  		);  	}  }  | 
