PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / code-snippets / triggers / snippet-created.php
suretriggers / src / Integrations / code-snippets / triggers Last commit date
snippet-activated.php 2 months ago snippet-created.php 2 months ago snippet-deactivated.php 2 months ago snippet-deleted.php 2 months ago snippet-updated.php 2 months ago
snippet-created.php
157 lines
1 <?php
2 /**
3 * CodeSnippetsSnippetCreated.
4 * php version 5.6
5 *
6 * @category CodeSnippetsSnippetCreated
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\CodeSnippets\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18
19 if ( ! class_exists( 'CodeSnippetsSnippetCreated' ) ) :
20
21 /**
22 * CodeSnippetsSnippetCreated
23 *
24 * @category CodeSnippetsSnippetCreated
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 *
31 * @psalm-suppress UndefinedTrait
32 */
33 class CodeSnippetsSnippetCreated {
34
35
36 /**
37 * Integration type.
38 *
39 * @var string
40 */
41 public $integration = 'CodeSnippets';
42
43
44 /**
45 * Trigger name.
46 *
47 * @var string
48 */
49 public $trigger = 'code_snippets_snippet_created';
50
51 use SingletonLoader;
52
53
54 /**
55 * Constructor
56 *
57 * @since 1.0.0
58 */
59 public function __construct() {
60 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
61 }
62
63 /**
64 * Register action.
65 *
66 * @param array $triggers trigger data.
67 * @return array
68 */
69 public function register( $triggers ) {
70
71 $triggers[ $this->integration ][ $this->trigger ] = [
72 'label' => __( 'Snippet Created', 'suretriggers' ),
73 'action' => $this->trigger,
74 'common_action' => 'code_snippets/create_snippet',
75 'function' => [ $this, 'trigger_listener' ],
76 'priority' => 10,
77 'accepted_args' => 2,
78 ];
79 return $triggers;
80
81 }
82
83 /**
84 * Trigger listener
85 *
86 * @param object $snippet Snippet object.
87 * @param string $table_name Table name.
88 * @since 1.0.0
89 *
90 * @return void
91 */
92 public function trigger_listener( $snippet, $table_name ) {
93 if ( ! is_object( $snippet ) ) {
94 return;
95 }
96
97 $context = self::get_snippet_context( $snippet );
98
99 AutomationController::sure_trigger_handle_trigger(
100 [
101 'trigger' => $this->trigger,
102 'context' => $context,
103 ]
104 );
105 }
106
107 /**
108 * Get snippet context data.
109 *
110 * @param object $snippet Snippet object.
111 * @return array
112 */
113 public static function get_snippet_context( $snippet ) {
114 $context = [];
115
116 if ( isset( $snippet->id ) ) {
117 $context['snippet_id'] = absint( $snippet->id );
118 }
119 if ( isset( $snippet->name ) ) {
120 $context['snippet_name'] = sanitize_text_field( $snippet->name );
121 }
122 if ( isset( $snippet->desc ) ) {
123 $context['snippet_description'] = wp_kses_post( $snippet->desc );
124 }
125 if ( isset( $snippet->code ) ) {
126 $context['snippet_code'] = $snippet->code;
127 }
128 if ( isset( $snippet->tags ) ) {
129 $tags = is_array( $snippet->tags ) ? $snippet->tags : [ $snippet->tags ];
130 $context['snippet_tags'] = sanitize_text_field( implode( ', ', $tags ) );
131 }
132 if ( isset( $snippet->scope ) ) {
133 $context['snippet_scope'] = sanitize_text_field( $snippet->scope );
134 }
135 if ( isset( $snippet->priority ) ) {
136 $context['snippet_priority'] = absint( $snippet->priority );
137 }
138 if ( isset( $snippet->active ) ) {
139 $context['snippet_active'] = $snippet->active;
140 }
141 if ( isset( $snippet->modified ) ) {
142 $context['snippet_modified'] = sanitize_text_field( $snippet->modified );
143 }
144
145 return $context;
146 }
147 }
148
149 /**
150 * Ignore false positive
151 *
152 * @psalm-suppress UndefinedMethod
153 */
154 CodeSnippetsSnippetCreated::get_instance();
155
156 endif;
157