: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace NetworkPosts\Components\Resizer;
require_once 'NetsPostsThumbnailBlogSettings.php';
use NetworkPosts\Components\NetsPostsTemplateRenderer;
class NetsPostsResizerSettingsPage{
public function save_options( array $request ){
if( isset( $request['submit'] ) ){
if( !isset( $request['_wpnonce'] ) )
if( !wp_verify_nonce( $request['_wpnonce'] ) )
if( isset( $request['allowed'] ) ){
NetsPostsThumbnailBlogSettings::set_allowed_blogs( $request['allowed'] );
NetsPostsThumbnailBlogSettings::set_allowed_blogs( [] );
if( isset( $request['global'] ) ){
NetsPostsThumbnailBlogSettings::set_globals( $request['global'] );
NetsPostsThumbnailBlogSettings::set_globals( [] );
public static function build_page( $allowed, $globals ){
$rows = self::get_blog_list( $allowed, $globals );
$data['nonce'] = wp_create_nonce();
//echo NetsPostsTemplateRenderer::render('/resizer/network_settings.twig', $data);
include_once NETSPOSTS_VIEW_PATH . '/resizer/network_settings.php';
public static function get_blog_list($allowed, $globals){
$rows = array_map( function($item) use ($allowed, $globals) {
$site = get_blog_details( ['blog_id' => $item->blog_id ]);
'blogname' => $site->blogname,
'allowed' => in_array( $item->blog_id, $allowed ) ? 'checked' : '',
'global' => in_array( $item->blog_id, $globals ) ? 'checked' : ''
public function print_content(){
$allowed = NetsPostsThumbnailBlogSettings::get_allowed_blogs();
$globals = NetsPostsThumbnailBlogSettings::get_globals();
self::build_page( $allowed, $globals );
public static function add_settings_page(){
add_submenu_page( 'settings.php', 'Network Posts Thumbnails', 'Network Posts Thumbnails', '', 'netsposts_thumbnails', array( NetsPostsResizerSettingsPage::class, 'load') );
public static function load(){
$settings = new NetsPostsResizerSettingsPage();
$settings->save_options($_POST);
$settings->print_content();