PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / trunk
OttoKit: All-in-One Automation Platform vtrunk
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 / wordpress / wordpress.php
suretriggers / src / Integrations / wordpress Last commit date
actions 3 months ago triggers 3 months ago wordpress.php 8 months ago
wordpress.php
149 lines
1 <?php
2 /**
3 * WordPress core integrations file
4 *
5 * @since 1.0.0
6 * @package SureTrigger
7 */
8
9 namespace SureTriggers\Integrations\WordPress;
10
11 use SureTriggers\Controllers\IntegrationsController;
12 use SureTriggers\Integrations\Integrations;
13 use SureTriggers\Traits\SingletonLoader;
14
15 /**
16 * Class WordPress
17 *
18 * @package SureTriggers\Integrations\Wordpress
19 */
20 class WordPress extends Integrations {
21
22
23 use SingletonLoader;
24
25 /**
26 * ID
27 *
28 * @var string
29 */
30 protected $id = 'WordPress';
31
32
33 /**
34 * Get user context data.
35 *
36 * @param int $id ID.
37 *
38 * @return array
39 */
40 public static function get_user_context( $id ) {
41
42 $user = get_userdata( $id );
43 $context = [];
44 if ( ! $user ) {
45 return $context;
46 }
47 $context['wp_user_id'] = $user->ID;
48 $context['user_login'] = $user->user_login;
49 $context['display_name'] = $user->display_name;
50 $context['user_firstname'] = $user->user_firstname;
51 $context['user_lastname'] = $user->user_lastname;
52 $context['user_email'] = $user->user_email;
53 $context['user_registered'] = $user->user_registered;
54 $context['user_role'] = $user->roles;
55 return $context;
56 }
57
58 /**
59 * Get sample user context data.
60 *
61 * @return string[]
62 */
63 public static function get_sample_user_context() {
64 return [
65 'wp_user_id' => '1',
66 'user_login' => 'john_doe',
67 'display_name' => 'John Doe',
68 'user_firstname' => 'John',
69 'user_lastname' => 'Doe',
70 'user_email' => 'johnd@gmail.com',
71 'user_registered' => '2024-06-18 09:47:58',
72 'user_role' => 'active',
73 ];
74 }
75
76 /**
77 * Get post context data.
78 *
79 * @param int $id ID.
80 *
81 * @return array
82 */
83 public static function get_post_context( $id ) {
84 $post_data = (array) get_post( $id );
85
86 // Add permalink to post context.
87 if ( ! empty( $post_data ) && isset( $post_data['ID'] ) ) {
88 $post_data['permalink'] = get_permalink( $post_data['ID'] );
89 }
90
91 return $post_data;
92 }
93
94 /**
95 * Gets the post meta
96 *
97 * @param int $id ID.
98 *
99 * @return mixed
100 */
101 public static function get_post_meta( $id ) {
102 return get_post_meta( $id );
103 }
104
105 /**
106 * Validating the Email
107 *
108 * @param string $email email.
109 * @return object{valid: bool, multiple: bool}
110 */
111 public static function validate_email( $email ) {
112 $result = [
113 'valid' => true,
114 'multiple' => false,
115 ];
116
117 if ( str_contains( $email, ',' ) ) {
118 $email_list = explode( ',', $email );
119
120 foreach ( $email_list as $single_email ) {
121 if ( ! is_email( trim( $single_email ) ) ) {
122 $result['valid'] = false;
123 $result['multiple'] = true;
124
125 break;
126 }
127 }
128 } else {
129 if ( ! is_email( trim( $email ) ) ) {
130 $result['valid'] = false;
131 }
132 }
133
134 return (object) $result;
135 }
136
137 /**
138 * Is Plugin depended plugin is installed or not.
139 *
140 * @return bool
141 */
142 public function is_plugin_installed() {
143 return true;
144 }
145
146 }
147
148 IntegrationsController::register( WordPress::class );
149