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 / redirection / triggers / redirection-redirect-created.php
suretriggers / src / Integrations / redirection / triggers Last commit date
redirection-404-detected.php 2 months ago redirection-redirect-created.php 2 months ago redirection-redirect-performed.php 2 months ago
redirection-redirect-created.php
118 lines
1 <?php
2 /**
3 * RedirectionRedirectCreated.
4 * php version 5.6
5 *
6 * @category RedirectionRedirectCreated
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\Redirection\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\Redirection\Redirection;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 /**
22 * RedirectionRedirectCreated
23 *
24 * @category RedirectionRedirectCreated
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 class RedirectionRedirectCreated {
32
33 /**
34 * Integration type.
35 *
36 * @var string
37 */
38 public $integration = 'Redirection';
39
40 /**
41 * Trigger name.
42 *
43 * @var string
44 */
45 public $trigger = 'rd_redirect_created';
46
47 use SingletonLoader;
48
49 /**
50 * Constructor
51 *
52 * @since 1.0.0
53 */
54 public function __construct() {
55 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
56 }
57
58 /**
59 * Register action.
60 *
61 * @param array $triggers trigger data.
62 *
63 * @return array
64 */
65 public function register( $triggers ) {
66 $triggers[ $this->integration ][ $this->trigger ] = [
67 'label' => __( 'Redirect Rule Created', 'suretriggers' ),
68 'action' => $this->trigger,
69 'common_action' => 'redirection_redirect_updated',
70 'function' => [ $this, 'trigger_listener' ],
71 'priority' => 10,
72 'accepted_args' => 2,
73 ];
74
75 return $triggers;
76 }
77
78 /**
79 * Trigger listener.
80 *
81 * On creation, the first parameter is the insert ID (int).
82 * On update, the first parameter is the old Red_Item object.
83 * We only fire for creation (when first arg is int).
84 *
85 * @param int|object $id_or_old_redirect Insert ID on creation, old redirect object on update.
86 * @param object $redirect The new redirect object.
87 *
88 * @return void
89 */
90 public function trigger_listener( $id_or_old_redirect, $redirect ) {
91 if ( ! is_int( $id_or_old_redirect ) ) {
92 return;
93 }
94
95 if ( ! is_object( $redirect ) || ! method_exists( $redirect, 'to_json' ) ) {
96 return;
97 }
98
99 $user_id = get_current_user_id();
100 $context = [];
101
102 if ( $user_id > 0 ) {
103 $context = WordPress::get_user_context( $user_id );
104 }
105
106 $context['redirect'] = Redirection::get_redirect_context( $redirect );
107
108 AutomationController::sure_trigger_handle_trigger(
109 [
110 'trigger' => $this->trigger,
111 'context' => $context,
112 ]
113 );
114 }
115 }
116
117 RedirectionRedirectCreated::get_instance();
118