PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.18.0
GiveWP – Donation Plugin and Fundraising Platform v2.18.0
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / Helpers / Hooks.php
give / src / Helpers Last commit date
Form 4 years ago Frontend 4 years ago Gateways 4 years ago ArrayDataSet.php 4 years ago Call.php 4 years ago Hooks.php 4 years ago Html.php 4 years ago Table.php 4 years ago Utils.php 4 years ago
Hooks.php
89 lines
1 <?php
2
3 namespace Give\Helpers;
4
5 use Give\Framework\Exceptions\Primitives\InvalidArgumentException;
6
7 class Hooks
8 {
9 /**
10 * A function which extends the WordPress add_action method to handle the instantiation of a class
11 * once the action is fired. This prevents the need to instantiate a class before adding it to hook.
12 *
13 * @since 2.8.0
14 *
15 * @param string $tag
16 * @param string $class
17 * @param string $method
18 * @param int $priority
19 * @param int $acceptedArgs
20 *
21 * @return void
22 */
23 public static function addAction($tag, $class, $method = '__invoke', $priority = 10, $acceptedArgs = 1)
24 {
25 if ( ! method_exists($class, $method)) {
26 throw new InvalidArgumentException("The method $method does not exist on $class");
27 }
28
29 add_action(
30 $tag,
31 static function () use ($tag, $class, $method) {
32 // Provide a way of disabling the hook
33 if (apply_filters("give_disable_hook-{$tag}", false) || apply_filters(
34 "give_disable_hook-{$tag}:{$class}@{$method}",
35 false
36 )) {
37 return;
38 }
39
40 $instance = give($class);
41
42 call_user_func_array([$instance, $method], func_get_args());
43 },
44 $priority,
45 $acceptedArgs
46 );
47 }
48
49 /**
50 * A function which extends the WordPress add_filter method to handle the instantiation of a class
51 * once the filter is fired. This prevents the need to instantiate a class before adding it to hook.
52 *
53 * @since 2.8.0
54 *
55 * @param string $tag
56 * @param string $class
57 * @param string $method
58 * @param int $priority
59 * @param int $acceptedArgs
60 *
61 * @return void
62 */
63 public static function addFilter($tag, $class, $method = '__invoke', $priority = 10, $acceptedArgs = 1)
64 {
65 if ( ! method_exists($class, $method)) {
66 throw new InvalidArgumentException("The method $method does not exist on $class");
67 }
68
69 add_filter(
70 $tag,
71 static function () use ($tag, $class, $method) {
72 // Provide a way of disabling the hook
73 if (apply_filters("give_disable_hook-{$tag}", false) || apply_filters(
74 "give_disable_hook-{$tag}:{$class}@{$method}",
75 false
76 )) {
77 return func_get_arg(0);
78 }
79
80 $instance = give($class);
81
82 return call_user_func_array([$instance, $method], func_get_args());
83 },
84 $priority,
85 $acceptedArgs
86 );
87 }
88 }
89