Пример #1
0
 /**
  * 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;
}