예제 #1
0
/**
 * generates the error report form to collect user description and preview the
 * report before being sent
 *
 * @return String the form
 */
function PMA_getErrorReportForm()
{
    $html = "";
    $html .= '<form action="error_report.php" method="post" name="report_frm"' . ' id="report_frm" class="ajax">' . '<fieldset style="padding-top:0px">';
    $html .= '<p>' . __('phpMyAdmin has encountered an error. We have collected data about' . ' this error as well as information about relevant configuration' . ' settings to send to the phpMyAdmin team to help us in' . ' debugging the problem.') . '</p>';
    $html .= '<div class="label"><label><p>' . __('You may examine the data in the error report:') . '</p></label></div>' . '<pre class="report-data">' . htmlspecialchars(PMA_getPrettyReportData()) . '</pre>';
    $html .= '<div class="label"><label><p>' . __('Please explain the steps that lead to the error:') . '</p></label></div>' . '<textarea class="report-description" name="description"' . 'id="report_description"></textarea>';
    $html .= '<input type="checkbox" name="always_send"' . ' id="always_send_checkbox"/>' . '<label for="always_send_checkbox">' . __('Automatically send report next time') . '</label>';
    $html .= '</fieldset>';
    $html .= PMA_URL_getHiddenInputs();
    $reportData = PMA_getReportData();
    if (!empty($reportData)) {
        $html .= PMA_getHiddenFields($reportData);
    }
    $html .= '</form>';
    return $html;
}
예제 #2
0
     /**
      * Prevent infinite error submission.
      * Happens in case error submissions fails.
      * If reporting is done in some time interval,
      *  just clear them & clear json data too.
      */
     if (isset($_SESSION['prev_error_subm_time']) && isset($_SESSION['error_subm_count']) && $_SESSION['error_subm_count'] >= 3 && $_SESSION['prev_error_subm_time'] - time() <= 3000) {
         $_SESSION['error_subm_count'] = 0;
         $_SESSION['prev_errors'] = '';
         $response->addJSON('_stopErrorReportLoop', '1');
     } else {
         $_SESSION['prev_error_subm_time'] = time();
         $_SESSION['error_subm_count'] = isset($_SESSION['error_subm_count']) ? $_SESSION['error_subm_count'] + 1 : 0;
     }
 }
 $reportData = PMA_getReportData($_REQUEST['exception_type']);
 // report if and only if there were 'actual' errors.
 if (count($reportData) > 0) {
     $server_response = PMA_sendErrorReport($reportData);
     if ($server_response === false) {
         $success = false;
     } else {
         $decoded_response = json_decode($server_response, true);
         $success = !empty($decoded_response) ? $decoded_response["success"] : false;
     }
     /* Message to show to the user */
     if ($success) {
         if (isset($_REQUEST['automatic']) && $_REQUEST['automatic'] === "true" || $GLOBALS['cfg']['SendErrorReports'] == 'always') {
             $msg = __('An error has been detected and an error report has been ' . 'automatically submitted based on your settings.');
         } else {
             $msg = __('Thank you for submitting this report.');
/**
 * generates the error report form to collect user description and preview the
 * report before being sent
 *
 * @return String the form
 */
function PMA_getErrorReportForm()
{
    $datas = array('report_data' => PMA_getPrettyReportData(), 'hidden_inputs' => PMA_URL_getHiddenInputs(), 'hidden_fields' => null);
    $reportData = PMA_getReportData();
    if (!empty($reportData)) {
        $datas['hidden_fields'] = PMA_getHiddenFields($reportData);
    }
    include_once './libraries/Template.class.php';
    return PMA\Template::get('error/report_form')->render($datas);
}
예제 #4
0
/**
 * generates the error report form to collect user description and preview the
 * report before being sent
 *
 * @return String the form
 */
function PMA_getErrorReportForm()
{
    $datas = array('report_data' => PMA_getPrettyReportData(), 'hidden_inputs' => URL::getHiddenInputs(), 'hidden_fields' => null);
    $reportData = PMA_getReportData();
    if (!empty($reportData)) {
        $datas['hidden_fields'] = URL::getHiddenFields($reportData);
    }
    return PMA\libraries\Template::get('error/report_form')->render($datas);
}
예제 #5
0
<?php

/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Handle error report submission
 *
 * @package PhpMyAdmin
 */
require_once 'libraries/common.inc.php';
require_once 'libraries/error_report.lib.php';
$response = PMA_Response::getInstance();
if (isset($_REQUEST['send_error_report']) && $_REQUEST['send_error_report'] == true) {
    $server_response = PMA_sendErrorReport(PMA_getReportData(false));
    if ($server_response === false) {
        $success = false;
    } else {
        $decoded_response = json_decode($server_response, true);
        $success = !empty($decoded_response) ? $decoded_response["success"] : false;
    }
    if (isset($_REQUEST['automatic']) && $_REQUEST['automatic'] === "true") {
        if ($success) {
            $response->addJSON('message', PMA_Message::error(__('An error has been detected and an error report has been ' . 'automatically submitted based on your settings.') . '<br />' . __('You may want to refresh the page.')));
        } else {
            $response->addJSON('message', PMA_Message::error(__('An error has been detected and an error report has been ' . 'generated but failed to be sent.') . ' ' . __('If you experience any ' . 'problems please submit a bug report manually.') . '<br />' . __('You may want to refresh the page.')));
        }
    } else {
        if ($success) {
            $response->addJSON('message', PMA_Message::success(__('Thank you for submitting this report.') . '<br />' . __('You may want to refresh the page.')));
        } else {
            $response->addJSON('message', PMA_Message::error(__('Thank you for submitting this report.') . ' ' . __('Unfortunately the submission failed.') . ' ' . __('If you experience any ' . 'problems please submit a bug report manually.') . '<br />' . __('You may want to refresh the page.')));
        }