PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / trunk
JetFormBuilder — Dynamic Blocks Form Builder vtrunk
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / components / wp-nonce / wp-nonce.php
jetformbuilder / components / wp-nonce Last commit date
wp-nonce-it.php 2 years ago wp-nonce-trait.php 2 years ago wp-nonce.php 1 year ago
wp-nonce.php
74 lines
1 <?php
2
3
4 namespace JFB_Components\Wp_Nonce;
5
6 // If this file is called directly, abort.
7 if ( ! defined( 'WPINC' ) ) {
8 die;
9 }
10
11 class Wp_Nonce {
12
13 const DEFAULT_OPTIONS = array(
14 'name' => '_nonce',
15 );
16
17 protected $action;
18 protected $options;
19
20 private $nonce;
21
22 /**
23 * Wp_Nonce constructor.
24 *
25 * @param int|string $action
26 */
27 public function __construct( $action = - 1, array $options = self::DEFAULT_OPTIONS ) {
28 $this->action = $action;
29 $this->options = $options;
30 }
31
32 /**
33 * @return false|string
34 */
35 public function create() {
36 if ( $this->nonce ) {
37 return $this->nonce;
38 }
39 $this->nonce = wp_create_nonce( $this->action );
40
41 return $this->nonce;
42 }
43
44 /**
45 * @return false|int
46 */
47 public function verify() {
48 $nonce = $this->get_nonce();
49
50 if ( ! $nonce ) {
51 return false;
52 }
53
54 return wp_verify_nonce( $this->get_nonce(), $this->action );
55 }
56
57 protected function get_nonce(): string {
58 // phpcs:ignore WordPress.Security.NonceVerification.Recommended
59 return sanitize_key( $_REQUEST[ $this->options['name'] ] ?? '' );
60 }
61
62 /**
63 * @return int|string
64 */
65 public function get_action() {
66 return $this->action;
67 }
68
69 public function get_name(): string {
70 return $this->options['name'];
71 }
72
73 }
74