*/ public function has_product_access($product_key = '') { $success = $this->_send_request('check_product', array($this->api_key, $product_key)); if (true !== $success) { return false; } return true; } /** * Send an XMLRPC request to the Catalyst API. * * @param string $request * @param array $args * * @return bool|IXR_Error */ protected function _send_request($request, $args) { $client = new WP_HTTP_IXR_Client(trailingslashit(CATALYST_URL) . 'xmlrpc.php'); $response = $client->query("catalyst.{$request}", $args); if (false === $response) { // store error for use in implementation $this->request_error = isset($client->error->message) ? $client->error->message : ''; return $client->error; } return $client->getResponse(); } } Catalyst_API::instance();
/** * Get the site's subscription level, either from the cache or from the remote API. * * 0 - unregistered * 10 - free * 20 - premium * * @return int */ public function get_subscription_level() { $level = get_transient('seoslides_level'); if (false === $level) { $level = 0; $api_key = get_option('seoslides_api_key', ''); if (!empty($api_key)) { $catalyst = Catalyst_API::instance(); $catalyst->set_api_key($api_key); $subscriptions = $catalyst->get_subscription_plans(); if (in_array('c8c8ee061df0601b7eb9ef90946100eded29e3d1e68b4dbe82e05aabb6042f8a', $subscriptions)) { $level = 20; } elseif (in_array('e41a557640b1b8c2e73b5abe0460d10c56fd6052d30da96511ba80acf9fe0ccf', $subscriptions)) { $level = 10; } } set_transient('seoslides_level', $level, 60 * 60); } return (int) $level; }