/** * Initialize class variables */ public function __construct() { $this->api_key = rtmedia_transcoding_get_api_key(); $this->stored_api_key = rtmedia_transcoding_get_option('rtmedia-encoding-api-key-stored'); if ($this->api_key) { // store api key as different db key if user disable encoding service if (!$this->stored_api_key) { $this->stored_api_key = $this->api_key; rtmedia_transcoding_update_option('rtmedia-encoding-api-key-stored', $this->stored_api_key); } } }
/** * Get current usage info * * since 1.0 * * @param mixed $api_key * * @return integer */ function rtmedia_transcoding_get_remain_usage($api_key = false) { $remain = 0; $usage_info = rtmedia_transcoding_get_option('rtmedia-encoding-usage', array()); if (!$api_key) { $api_key = rtmedia_transcoding_get_api_key(); } if ($api_key && isset($usage_info[$api_key]) && isset($usage_info[$api_key]->remaining)) { $remain = $usage_info[$api_key]->remaining; } return intval($remain); }
/** * Update transcoding service usage quota * * @since 1.0 * @return string */ public function update_usage_quota($api_key = false) { if (!$api_key) { $api_key = rtmedia_transcoding_get_api_key(); } $usage_url = trailingslashit($this->api_url) . 'api/usage/' . $api_key; $usage_res = wp_remote_get($usage_url, array('timeout' => 20)); if (!is_wp_error($usage_res) && (int) wp_remote_retrieve_response_code($usage_res) == 200) { $usage_info = json_decode(wp_remote_retrieve_body($usage_res)); } else { $usage_info = null; } update_site_option('rtmedia-encoding-usage', array($api_key => $usage_info)); return $usage_info; }