View file File name : redirect-redirection-loader.php Content :<?php /** * WPSEO Premium plugin file. * * @package WPSEO\Premium\Classes\Redirect\Loaders */ /** * Class for loading redirects from the Redirection plugin. */ class WPSEO_Redirect_Redirection_Loader extends WPSEO_Redirect_Abstract_Loader { /** * A WordPress database object. * * @var wpdb */ protected $wpdb; /** * WPSEO_Redirect_Redirection_Loader constructor. * * @param wpdb $wpdb A WordPress database object. */ public function __construct( $wpdb ) { $this->wpdb = $wpdb; } /** * Loads redirects as WPSEO_Redirects from the Redirection plugin. * * @return WPSEO_Redirect[] The loaded redirects. */ public function load() { // Get redirects. // phpcs:disable WordPress.DB.PreparedSQLPlaceholders.UnsupportedPlaceholder,WordPress.DB.PreparedSQLPlaceholders.ReplacementsWrongNumber,WordPress.DB.PreparedSQL.NotPrepared $items = $this->wpdb->get_results( $this->wpdb->prepare( "SELECT `url`, `action_data`, `regex`, `action_code` FROM %i WHERE %i = 'enabled' AND %i = 'url'", $this->wpdb->prefix . 'redirection_items', 'status', 'action_type' ) ); // phpcs:enable $redirects = []; foreach ( $items as $item ) { $format = WPSEO_Redirect_Formats::PLAIN; if ( (int) $item->regex === 1 ) { $format = WPSEO_Redirect_Formats::REGEX; } if ( ! $this->validate_status_code( $item->action_code ) ) { continue; } $redirects[] = new WPSEO_Redirect( $item->url, $item->action_data, $item->action_code, $format ); } return $redirects; } }