PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / wpforo / actions / set-user-reputation.php
suretriggers / src / Integrations / wpforo / actions Last commit date
add-user-to-group.php 10 months ago remove-user-from-group.php 10 months ago set-user-reputation.php 10 months ago wf-create-topic.php 10 months ago wf-delete-topic.php 10 months ago
set-user-reputation.php
121 lines
1 <?php
2 /**
3 * SetUserReputation.
4 * php version 5.6
5 *
6 * @category SetUserReputation
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\wpForo\Actions;
15
16 use SureTriggers\Integrations\AutomateAction;
17 use SureTriggers\Traits\SingletonLoader;
18 use Exception;
19
20 /**
21 * SetUserReputation
22 *
23 * @category SetUserReputation
24 * @package SureTriggers
25 * @author BSF <username@example.com>
26 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
27 * @link https://www.brainstormforce.com/
28 * @since 1.0.0
29 */
30 class SetUserReputation extends AutomateAction {
31
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'wpForo';
39
40 /**
41 * Action name.
42 *
43 * @var string
44 */
45 public $action = 'wp_foro_set_user_reputation';
46
47 use SingletonLoader;
48
49 /**
50 * Register an action.
51 *
52 * @param array $actions actions.
53 * @return array
54 */
55 public function register( $actions ) {
56 $actions[ $this->integration ][ $this->action ] = [
57 'label' => __( 'Set User Reputation', 'suretriggers' ),
58 'action' => $this->action,
59 'function' => [ $this, 'action_listener' ],
60 ];
61 return $actions;
62 }
63
64 /**
65 * Action listener.
66 *
67 * @param int $user_id user id.
68 * @param int $automation_id automation_id.
69 * @param array $fields template fields.
70 * @param array $selected_options saved template data.
71 * @throws Exception Exception.
72 *
73 * @return bool|array
74 */
75 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
76
77 $reputation_id = $selected_options['reputation_id'];
78
79 $user_email = $selected_options['wp_user_email'];
80
81 if ( is_email( $user_email ) ) {
82 $user = get_user_by( 'email', $user_email );
83
84 if ( $user ) {
85 $user_id = $user->ID;
86 if ( function_exists( 'WPF' ) ) {
87 $points = WPF()->member->rating( $reputation_id, 'points' );
88
89 $args = [ 'custom_points' => $points ];
90
91 WPF()->member->update_profile_fields( $user_id, $args, false );
92 WPF()->member->reset( $user_id );
93 $user = WPF()->member->get_member( $user_id );
94 return $user;
95 } else {
96 return [
97 'status' => 'error',
98 'message' => 'Something went wrong.',
99 ];
100 }
101 } else {
102 return [
103 'status' => 'error',
104 'message' => 'User not found.',
105 ];
106 }
107 } else {
108 $error = [
109 'status' => esc_attr__( 'Error', 'suretriggers' ),
110 'response' => esc_attr__( 'Please enter valid email address.', 'suretriggers' ),
111
112 ];
113
114 return $error;
115 }
116 }
117
118 }
119
120 SetUserReputation::get_instance();
121