<?php require_once '../../csrest_lists.php'; $auth = array('access_token' => 'your access token', 'refresh_token' => 'your refresh token'); $wrap = new CS_REST_Lists('List ID', $auth); $result = $wrap->delete_webhook('Webhook ID'); echo "Result of DELETE /api/v3.1/lists/{ID}/webhooks/{WHID}\n<br />"; if ($result->was_successful()) { echo "Deleted with code\n<br />" . $result->http_status_code; } else { echo 'Failed with code ' . $result->http_status_code . "\n<br /><pre>"; var_dump($result->response); echo '</pre>'; }
function cmdr_plugin_menu() { if (basename($_SERVER['SCRIPT_FILENAME']) == 'plugins.php' && isset($_GET['page']) && $_GET['page'] == 'cm-dual-registration') { // Check permissions if (!current_user_can('manage_options')) { wp_die(__('You do not have sufficient permissions to access this page.', 'cm-dual-registration')); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (isset($_POST['cmdr_user_fields'])) { update_option('cmdr_user_fields', base64_encode(serialize((array) $_POST['cmdr_user_fields']))); } else { update_option('cmdr_user_fields', base64_encode(serialize(array()))); } update_option('cmdr_api_key', $_POST['cmdr_api_key']); update_option('cmdr_list_id', $_POST['cmdr_list_id']); if (!class_exists('CS_REST_Lists')) { require_once CMDR_PLUGIN_PATH . 'campaignmonitor-createsend-php/csrest_lists.php'; } $auth = array('api_key' => get_option('cmdr_api_key')); $wrap_l = new CS_REST_Lists(get_option('cmdr_list_id'), $auth); if ($_POST['cmdr_cm_sync']) { update_option('cmdr_cm_sync', 1); // Create the webhook if needed $c = true; $result = $wrap_l->get_webhooks(); if (!$result->was_successful()) { wp_redirect(home_url('/wp-admin/plugins.php?page=cm-dual-registration&error=' . urlencode($result->response->Message))); die; } foreach ($result->response as $hook) { if ($hook->Url == admin_url('admin-ajax.php?action=cmdr-cm-sync')) { $c = false; break; } } if ($c) { $result = $wrap_l->create_webhook(array('Events' => array(CS_REST_LIST_WEBHOOK_SUBSCRIBE, CS_REST_LIST_WEBHOOK_UPDATE), 'Url' => admin_url('admin-ajax.php?action=cmdr-cm-sync'), 'PayloadFormat' => CS_REST_WEBHOOK_FORMAT_JSON)); if (!$result->was_successful()) { wp_redirect(home_url('/wp-admin/plugins.php?page=cm-dual-registration&error=' . urlencode($result->response->Message))); die; } } } else { delete_option('cmdr_cm_sync'); // Remove the webhook if needed $c = false; $result = $wrap_l->get_webhooks(); if (!$result->was_successful()) { wp_redirect(home_url('/wp-admin/plugins.php?page=cm-dual-registration&error=' . urlencode($result->response->Message))); die; } foreach ($result->response as $hook) { if ($hook->Url == admin_url('admin-ajax.php?action=cmdr-cm-sync')) { $c = $hook->WebhookID; break; } } if ($c) { $result = $wrap_l->delete_webhook($c); if (!$result->was_successful()) { wp_redirect(home_url('/wp-admin/plugins.php?page=cm-dual-registration&error=' . urlencode($result->response->Message))); die; } } } // Make forced sync $result = CMDR_Dual_Synchronizer::cmdr_mass_update(); if ($result) { wp_redirect(home_url('/wp-admin/plugins.php?page=cm-dual-registration&saved=true')); } else { wp_redirect(home_url('/wp-admin/plugins.php?page=cm-dual-registration&error=' . urlencode(CMDR_Dual_Synchronizer::$error->Message . (!empty(CMDR_Dual_Synchronizer::$error->ResultData) ? '<br />Error details: ' . json_encode(CMDR_Dual_Synchronizer::$error->ResultData) : '')))); } } } add_plugins_page('Campaign Monitor Dual Registration Options', 'CM Dual Registration', 'manage_options', 'cm-dual-registration', 'cmdr_plugin_page'); }