/** * Delete the activation. * * @param Activation $activation * @param string $nonce * * @return bool * * @throws \InvalidArgumentException */ public function do_delete(Activation $activation, $nonce) { if (!wp_verify_nonce($nonce, "itelic-remote-delete-{$activation->get_pk()}")) { throw new \InvalidArgumentException(__("Sorry, this page has expired. Please refresh and try again.", Plugin::SLUG)); } if (!current_user_can('manage_options')) { throw new \InvalidArgumentException(__("Sorry, you don't have permission to do this.", Plugin::SLUG)); } $activation->delete(); return true; }
/** * Generates query args to be appended to the download URL. * * @internal * * @since 1.0 * * @param Activation $activation * @param \DateTime $expires * * @return array */ function generate_download_query_args(Activation $activation, \DateTime $expires) { $args = array('activation' => (int) $activation->get_pk(), 'key' => $activation->get_key()->get_key(), 'expires' => (int) $expires->getTimestamp()); $token = hash_hmac('md5', serialize($args), wp_salt()); $args['token'] = $token; /** * Filters the query args generated for downloading a software update. * * @since 1.0 * * @param array $args Query args. * @param Activation $activation Activation record download is delivered to. * @param \DateTime $expires Expiration date for arguments. Link MUST function until time given. */ $args = apply_filters('itelic_generate_download_query_args', $args, $activation, $expires); return $args; }