blog_id;// Object WP_Site add_blog_option( $blog_id, 'wemcor-publicarweb', false ); } /* * Pestaña adicional en Site info * * Añadimos una pestaña de opciones en Site info (editar site) para disponer de la opción de publicar / despublicar site * */ add_filter( 'network_edit_site_nav_links', 'wemcor_custom_siteinfo_tabs' ); function wemcor_custom_siteinfo_tabs( $tabs ){ $tabs['site-wemcor'] = array( 'label' => 'Publicar Web', 'url' => 'sites.php?page=publicarweb', 'cap' => 'manage_sites' ); return $tabs; } // Creamos menu en barra lateral add_action( 'network_admin_menu', 'wemcor_page_publicar_web' ); function wemcor_page_publicar_web() { add_submenu_page( 'sites.php', 'Publicar Web', 'Publicar Web', 'manage_sites', 'publicarweb', 'callback_publicar_web' ); } // Mostrar página (callback function) function callback_publicar_web() { $id = $_REQUEST['id']; $title = 'Publicar Web'; $current_blog_details = get_blog_details( array( 'blog_id' => $id ) ); $site_name = $current_blog_details->blogname; echo '

' . $title . '

Visitar Web | Ver todas las páginas

'; // navigation tabs network_edit_site_nav( array( 'blog_id' => $id, 'selected' => 'site-wemcor' ) ); //output HTML echo '
'; wp_nonce_field( 'wemcor-check' . $id ); echo '
'; submit_button(); echo '
'; } // Guardar opción en base de datos add_action( 'network_admin_edit_publicarwebupdate', 'wemcor_save_publicar_web' ); function wemcor_save_publicar_web() { $blog_id = $_POST['id']; check_admin_referer('wemcor-check'.$blog_id); update_blog_option( $blog_id, 'wemcor-publicarweb', $_POST['wemcor-publicarweb'] ); wp_redirect( add_query_arg( array( 'page' => 'publicarweb', 'id' => $blog_id, 'updated' => 'true'), network_admin_url('sites.php') )); //redirect to /wp-admin/sites.php?page=publicarweb&blog_id=ID&updated=true exit; } // Notices add_action( 'network_admin_notices', 'wemcor_notice' ); function wemcor_notice() { if( isset( $_GET['updated'] ) && isset( $_GET['page'] ) && $_GET['page'] == 'publicarweb' ) { echo '

Changes saved successfully

'; } } // Validaciones add_action( 'current_screen', 'wemcor_redirects' ); function wemcor_redirects(){ $screen = get_current_screen(); if( $screen->id !== 'sites_page_publicarweb-network' ) { return; } $id = isset( $_REQUEST['id'] ) ? intval( $_REQUEST['id'] ) : 0; if ( ! $id ) { wp_die( __('Invalid site ID.') ); } $details = get_site( $id ); if ( ! $details ) { wp_die( __( 'The requested site does not exist.' ) ); } // if ( ! can_edit_network( $details->site_id ) ) { // wp_die( __( 'Sorry, you are not allowed to access this page.' ), 403 ); // } } // Esconder menu en barra lateral (ya se muestra en tabs de site info) add_action( 'admin_head', 'wemcor_hide_publicar_web' ); function wemcor_hide_publicar_web() { echo ''; } //leemos opción guardada en la base de datos. Si es false se hará visible el site. Si es true se redirigirá a wp-login add_action( 'template_redirect', 'wemcor_make_private_blog' ); function wemcor_make_private_blog() { $id_blog = get_current_blog_id(); $private_blog = get_blog_option($id_blog, 'wemcor-publicarweb', 0); if( !is_user_logged_in() && !$private_blog ) auth_redirect(); // if( !is_user_logged_in() && !$private_blog ) { // wp_redirect('https://sso.montseny.digitaldemocratic.net/auth/realms/master/protocol/saml?SAMLRequest=hVLLbtswELz7KwLeJYqKrcKE7cCJ%2BzDg2kbs9tBLwFBrmwBf5VJ18%2FelpOZVICnBy87uDGcHnKAw2vN5E0%2F2Fn42gHFwkc5voy3yrjklTbDcCVTIrTCAPEq%2Bm39d8TIvuA8uOuk0%2BYf2PksgQojK2Z62XEzJZv1xtfm8XN8JEHBZjev7ejQsq0NVVKyQxWgITNSsLD5U4yEbyvG4p36HgElnSpIsGfRqiA0sLUZhY8KLkmXFKCuLPWO8TPfyR09dpGWVFbGjn2L0yClFdLlxNiLYh7xWRxWFrsE4GdKgzC1EKlJYNIDQBqkRGCHQxxRou3qvvv0LXStbK3t8P4%2F7fgj5l%2F1%2Bm203u30vMn%2FM6cZZbAyEHYRfSsK329Wz5bP%2Fn%2BOzz7Q7Kpv7k79qLd4JiWTWPTFpa95lFmapn7X1hL5En%2Bc8Xyfvy8XWaSUfOrw9n1wwIr69IstZh6g6O3SjvLHoQaqDgpo8ycy1dueblGyEKYmhAXJBZ4Pey%2Bs%2FOvsD&RelayState=%2Fwp-login.php&SigAlg=http%3A%2F%2Fwww.w3.org%2F2000%2F09%2Fxmldsig%23rsa-sha1&Signature=rDyFPOMZI04Xx8gBKUZJnm9E5f7ZK1OxXHaITky30js8CvuLZKN05hnmM9s5nROGqX7Hri4MDssiU47%2BF%2FOZHWWL6kngMaQ%2BNZNb9FWsA33r1HpyDUZYZYeGz0rT8aTgv%2BTmexAmtGXa3K3cO7lDDFSkyruFuMdlm2z9bidiKxGJT7BNeEA5D7W%2FXNHvMls0%2Faeq%2BgYIq0HZjlZPpuWcNNL5rGGpQYbU%2F5FYmZ8yy30Aohr2nUkbuif%2BHkyGup1jEBGjktHZamHveydXN18FULc9CsILt0N09tmvFMPa31oBz1%2Fcf0O%2BORJasSygE%2BYwJaBPFF6Pz9btfj6XNFA8Ng%3D%3D'); // exit; // } }