PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / gamipress / triggers / user-earns-specific-points.php
suretriggers / src / Integrations / gamipress / triggers Last commit date
user-attains-rank.php 3 years ago user-earns-achivements.php 3 years ago user-earns-specific-points.php 3 years ago user-total-points-meets-threshold.php 3 years ago
user-earns-specific-points.php
133 lines
1 <?php
2 /**
3 * UserEarnsSpecificPoints.
4 * php version 5.6
5 *
6 * @category UserEarnsSpecificPoints
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\GamiPress\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'UserEarnsSpecificPoints' ) ) :
21
22 /**
23 * UserEarnsSpecificPoints
24 *
25 * @category UserEarnsSpecificPoints
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 *
32 * @psalm-suppress UndefinedTrait
33 */
34 class UserEarnsSpecificPoints {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'GamiPress';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'user_earns_specific_points';
51
52 use SingletonLoader;
53
54
55 /**
56 * Constructor
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
62 }
63
64 /**
65 * Register action.
66 *
67 * @param array $triggers trigger data.
68 * @return array
69 */
70 public function register( $triggers ) {
71
72 $triggers[ $this->integration ][ $this->trigger ] = [
73 'label' => __( 'User Earns Specific Number of Points', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'gamipress_update_user_points',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 20,
78 'accepted_args' => 8,
79 ];
80
81 return $triggers;
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param int $user_id .
88 * @param string $new_points .
89 * @param string $total_points .
90 * @param string $admin_id .
91 * @param string $achievement_id .
92 * @param string $points_type .
93 * @param string $reason .
94 * @param string $log_type .
95 * @return void
96 */
97 public function trigger_listener( $user_id, $new_points, $total_points, $admin_id, $achievement_id, $points_type, $reason, $log_type ) {
98
99 if ( empty( $user_id ) ) {
100 return;
101 }
102
103 $data['new_points'] = $new_points;
104 $data['total_points'] = $total_points;
105 $data['points_type'] = $points_type;
106
107 $context = array_merge( $data, WordPress::get_user_context( $user_id ) );
108 $context['points'] = $total_points;
109
110 $post = get_page_by_path( $points_type, OBJECT, 'points-type' );
111
112 if ( is_object( $post ) ) {
113 $context['point_type'] = $post->ID;
114 }
115
116 AutomationController::sure_trigger_handle_trigger(
117 [
118 'trigger' => $this->trigger,
119 'context' => $context,
120 ]
121 );
122 }
123 }
124
125 /**
126 * Ignore false positive
127 *
128 * @psalm-suppress UndefinedMethod
129 */
130 UserEarnsSpecificPoints::get_instance();
131
132 endif;
133