コード例 #1
0
ファイル: infusionsoft.php プロジェクト: phupx/genco
 public function __call($name, $arguments)
 {
     // Make sure no error already exists
     if ($this->error) {
         return new WP_Error('invalid-request', __('You must provide a subdomain and API key for your Infusionsoft application.', 'infusionsoftwp'));
     }
     // Get the full method name with the service and method
     $method = ucfirst($name) . 'Service' . '.' . array_shift($arguments);
     $arguments = array_merge(array($method, $this->api_key), $arguments);
     // Initialize the client
     $client = new WP_HTTP_IXR_Client('https://' . $this->subdomain . '.infusionsoft.com/api/xmlrpc');
     // Call the function and return any error that happens
     if (!call_user_func_array(array($client, 'query'), $arguments)) {
         return new WP_Error('invalid-request', $client->getErrorMessage());
     }
     // Pass the response directly to the user
     return $client->getResponse();
 }
コード例 #2
0
ファイル: wp-retina-2x.php プロジェクト: radscheit/unicorn
function wr2x_validate_pro($subscr_id)
{
    if (empty($subscr_id)) {
        delete_option('wr2x_pro_serial', "");
        delete_option('wr2x_pro_status', "");
        set_transient('wr2x_validated', false, 0);
        return false;
    }
    require_once wr2x_get_wordpress_root() . WPINC . '/class-IXR.php';
    require_once wr2x_get_wordpress_root() . WPINC . '/class-wp-http-ixr-client.php';
    $client = new WP_HTTP_IXR_Client('http://apps.meow.fr/xmlrpc.php');
    if (!$client->query('meow_sales.auth', $subscr_id, 'retina', get_site_url())) {
        update_option('wr2x_pro_serial', "");
        update_option('wr2x_pro_status', "A network error: " . $client->getErrorMessage());
        set_transient('wr2x_validated', false, 0);
        return false;
    }
    $post = $client->getResponse();
    if (!$post['success']) {
        if ($post['message_code'] == "NO_SUBSCRIPTION") {
            $status = __("Your serial does not seem right.");
        } else {
            if ($post['message_code'] == "NOT_ACTIVE") {
                $status = __("Your subscription is not active.");
            } else {
                if ($post['message_code'] == "TOO_MANY_URLS") {
                    $status = __("Too many URLs are linked to your subscription.");
                } else {
                    $status = "There is a problem with your subscription.";
                }
            }
        }
        update_option('wr2x_pro_serial', "");
        update_option('wr2x_pro_status', $status);
        set_transient('wr2x_validated', false, 0);
        return false;
    }
    set_transient('wr2x_validated', $subscr_id, 3600 * 24 * 100);
    update_option('wr2x_pro_serial', $subscr_id);
    update_option('wr2x_pro_status', __("Your subscription is enabled."));
    return true;
}