Display egd in edit files
This commit is contained in:
@@ -464,6 +464,30 @@ function go_form_delete_custom_field()
|
||||
add_action('admin_post_go_form_delete_custom_field', 'go_form_delete_custom_field');
|
||||
|
||||
// ========== Entry Edit Admin Action ==========
|
||||
function go_form_fetch_egd_data($pin)
|
||||
{
|
||||
$pin = trim($pin);
|
||||
if (empty($pin)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$url = 'https://europeangodatabase.eu/EGD/GetPlayerDataByPIN.php?pin=' . urlencode($pin);
|
||||
$response = wp_remote_get($url, ['timeout' => 10]);
|
||||
|
||||
if (is_wp_error($response)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$body = wp_remote_retrieve_body($response);
|
||||
$data = json_decode($body, true);
|
||||
|
||||
if ($data && isset($data['retcode']) && $data['retcode'] === 'Ok') {
|
||||
return $data;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
function go_form_update_egd_data()
|
||||
{
|
||||
go_form_admin_action('update_egd_data');
|
||||
@@ -473,7 +497,7 @@ function go_form_update_egd_data()
|
||||
exit;
|
||||
}
|
||||
|
||||
global $wpdb, $ranks;
|
||||
global $wpdb;
|
||||
$form_id = intval($_POST['value_one']);
|
||||
$entries = go_form_get_entries($form_id);
|
||||
$updated_count = 0;
|
||||
@@ -483,35 +507,26 @@ function go_form_update_egd_data()
|
||||
continue;
|
||||
}
|
||||
|
||||
$pin = trim($entry->egd_number);
|
||||
$url = 'https://europeangodatabase.eu/EGD/GetPlayerDataByPIN.php?pin=' . urlencode($pin);
|
||||
|
||||
$response = wp_remote_get($url, ['timeout' => 10]);
|
||||
|
||||
if (is_wp_error($response)) {
|
||||
$data = go_form_fetch_egd_data($entry->egd_number);
|
||||
if (!$data) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$body = wp_remote_retrieve_body($response);
|
||||
$data = json_decode($body, true);
|
||||
// Map EGD Grade_n to our rank system
|
||||
// EGD Grade_n: 0=30k, 1=29k, ... 25=5k, 30=1d, ... 39=9d, 40=1p, ... 47=9p
|
||||
// Our ranks array: 0=30k, 1=29k, ... 25=5k, 30=1d, ... 39=9d, 40=1p, ... 47=9p
|
||||
// So we can use Grade_n directly as our rank value
|
||||
$new_rank = isset($data['Grade_n']) ? intval($data['Grade_n']) : $entry->rank;
|
||||
$new_rating = isset($data['Gor']) ? intval($data['Gor']) : $entry->rating;
|
||||
|
||||
if ($data && isset($data['retcode']) && $data['retcode'] === 'Ok') {
|
||||
// Map EGD Grade_n to our rank system
|
||||
// EGD Grade_n: 0=30k, 1=29k, ... 25=5k, 30=1d, ... 39=9d, 40=1p, ... 47=9p
|
||||
// Our ranks array: 0=30k, 1=29k, ... 25=5k, 30=1d, ... 39=9d, 40=1p, ... 47=9p
|
||||
// So we can use Grade_n directly as our rank value
|
||||
$new_rank = isset($data['Grade_n']) ? intval($data['Grade_n']) : $entry->rank;
|
||||
$new_rating = isset($data['Gor']) ? intval($data['Gor']) : $entry->rating;
|
||||
|
||||
// Only update if values changed
|
||||
if ($new_rank !== $entry->rank || $new_rating !== $entry->rating) {
|
||||
$wpdb->update(
|
||||
"{$wpdb->prefix}go_form_entries",
|
||||
['rank' => $new_rank, 'rating' => $new_rating],
|
||||
['id' => $entry->id]
|
||||
);
|
||||
$updated_count++;
|
||||
}
|
||||
// Only update if values changed
|
||||
if ($new_rank !== $entry->rank || $new_rating !== $entry->rating) {
|
||||
$wpdb->update(
|
||||
"{$wpdb->prefix}go_form_entries",
|
||||
['rank' => $new_rank, 'rating' => $new_rating],
|
||||
['id' => $entry->id]
|
||||
);
|
||||
$updated_count++;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -627,3 +642,11 @@ function go_form_settings_page()
|
||||
{
|
||||
include_once 'templates/settings-page.php';
|
||||
}
|
||||
|
||||
function go_form_egd_hint($value)
|
||||
{
|
||||
if ($value === null || $value === '') {
|
||||
return '';
|
||||
}
|
||||
return ' <span style="color:#2271b1; font-style:italic;">(EGD: ' . esc_html($value) . ')</span>';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user