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 / redirection.php
suretriggers / src / Integrations / redirection Last commit date
actions 2 months ago triggers 2 months ago redirection.php 2 months ago
redirection.php
101 lines
1 <?php
2 /**
3 * Redirection core integrations file
4 *
5 * @since 1.0.0
6 * @package SureTrigger
7 */
8
9 namespace SureTriggers\Integrations\Redirection;
10
11 use SureTriggers\Controllers\IntegrationsController;
12 use SureTriggers\Integrations\Integrations;
13 use SureTriggers\Traits\SingletonLoader;
14
15 /**
16 * Class SureTrigger
17 *
18 * @package SureTriggers\Integrations\Redirection
19 */
20 class Redirection extends Integrations {
21
22 use SingletonLoader;
23
24 /**
25 * ID
26 *
27 * @var string
28 */
29 protected $id = 'Redirection';
30
31 /**
32 * SureTrigger constructor.
33 */
34 public function __construct() {
35 $this->name = __( 'Redirection', 'suretriggers' );
36 $this->description = __( 'Redirection is a WordPress plugin to manage 301 redirections, keep track of 404 errors, and generally tidy up any loose ends your site may have.', 'suretriggers' );
37 $this->icon_url = SURE_TRIGGERS_URL . 'assets/icons/redirection.svg';
38
39 parent::__construct();
40 }
41
42 /**
43 * Is Plugin depended plugin is installed or not.
44 *
45 * @return bool
46 */
47 public function is_plugin_installed() {
48 return defined( 'REDIRECTION_FILE' );
49 }
50
51 /**
52 * Get the default WordPress module group ID from the Redirection plugin.
53 *
54 * @return int|false
55 */
56 public static function get_default_group_id() {
57 if ( ! class_exists( 'Red_Group' ) ) {
58 return false;
59 }
60
61 $groups = \Red_Group::get_all_for_module( 1 );
62 if ( ! empty( $groups ) && isset( $groups[0]['id'] ) ) {
63 return (int) $groups[0]['id'];
64 }
65
66 return false;
67 }
68
69 /**
70 * Get redirect context array from a Red_Item object.
71 *
72 * @param object $redirect Redirect object.
73 * @return array
74 */
75 public static function get_redirect_context( $redirect ) {
76 if ( ! method_exists( $redirect, 'to_json' ) ) {
77 return [];
78 }
79
80 $json = $redirect->to_json();
81
82 return [
83 'redirect_id' => isset( $json['id'] ) ? $json['id'] : 0,
84 'source_url' => isset( $json['url'] ) ? $json['url'] : '',
85 'match_type' => isset( $json['match_type'] ) ? $json['match_type'] : '',
86 'action_type' => isset( $json['action_type'] ) ? $json['action_type'] : '',
87 'action_code' => isset( $json['action_code'] ) ? $json['action_code'] : 0,
88 'action_data' => isset( $json['action_data'] ) ? $json['action_data'] : [],
89 'title' => isset( $json['title'] ) ? $json['title'] : '',
90 'hits' => isset( $json['hits'] ) ? $json['hits'] : 0,
91 'regex' => isset( $json['regex'] ) ? $json['regex'] : false,
92 'group_id' => isset( $json['group_id'] ) ? $json['group_id'] : 0,
93 'position' => isset( $json['position'] ) ? $json['position'] : 0,
94 'last_access' => isset( $json['last_access'] ) ? $json['last_access'] : '',
95 'enabled' => isset( $json['enabled'] ) ? $json['enabled'] : false,
96 ];
97 }
98 }
99
100 IntegrationsController::register( Redirection::class );
101