PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
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 / redirection / triggers / redirection-404-detected.php
suretriggers / src / Integrations / redirection / triggers Last commit date
redirection-404-detected.php 3 months ago redirection-redirect-created.php 3 months ago redirection-redirect-performed.php 3 months ago
redirection-404-detected.php
113 lines
1 <?php
2 /**
3 * Redirection404Detected.
4 * php version 5.6
5 *
6 * @category Redirection404Detected
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\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19
20 /**
21 * Redirection404Detected
22 *
23 * @category Redirection404Detected
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 Redirection404Detected {
31
32 /**
33 * Integration type.
34 *
35 * @var string
36 */
37 public $integration = 'Redirection';
38
39 /**
40 * Trigger name.
41 *
42 * @var string
43 */
44 public $trigger = 'rd_404_detected';
45
46 use SingletonLoader;
47
48 /**
49 * Constructor
50 *
51 * @since 1.0.0
52 */
53 public function __construct() {
54 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
55 }
56
57 /**
58 * Register action.
59 *
60 * @param array $triggers trigger data.
61 *
62 * @return array
63 */
64 public function register( $triggers ) {
65 $triggers[ $this->integration ][ $this->trigger ] = [
66 'label' => __( '404 Error Detected', 'suretriggers' ),
67 'action' => $this->trigger,
68 'common_action' => 'redirection_404',
69 'function' => [ $this, 'trigger_listener' ],
70 'priority' => 10,
71 'accepted_args' => 1,
72 ];
73
74 return $triggers;
75 }
76
77 /**
78 * Trigger listener.
79 *
80 * @param array $log_data The 404 log entry data.
81 *
82 * @return void
83 */
84 public function trigger_listener( $log_data ) {
85 if ( ! is_array( $log_data ) ) {
86 return;
87 }
88
89 $user_id = get_current_user_id();
90 $context = [];
91
92 if ( $user_id > 0 ) {
93 $context = WordPress::get_user_context( $user_id );
94 }
95
96 $context['404_url'] = isset( $log_data['url'] ) ? sanitize_text_field( $log_data['url'] ) : '';
97 $context['domain'] = isset( $log_data['domain'] ) ? sanitize_text_field( $log_data['domain'] ) : '';
98 $context['ip'] = isset( $log_data['ip'] ) ? sanitize_text_field( $log_data['ip'] ) : '';
99 $context['agent'] = isset( $log_data['agent'] ) ? sanitize_text_field( $log_data['agent'] ) : '';
100 $context['referrer'] = isset( $log_data['referrer'] ) ? sanitize_text_field( $log_data['referrer'] ) : '';
101 $context['timestamp'] = isset( $log_data['created'] ) ? sanitize_text_field( $log_data['created'] ) : '';
102
103 AutomationController::sure_trigger_handle_trigger(
104 [
105 'trigger' => $this->trigger,
106 'context' => $context,
107 ]
108 );
109 }
110 }
111
112 Redirection404Detected::get_instance();
113