/** * Update a Network * * <id> * : ID for network * * <domain> * : Domain for network * * [--path=<path>] * : Path for network * */ public function update($args, $assoc_args) { list($id, $domain) = $args; $defaults = array('path' => ''); $assoc_args = wp_parse_args($assoc_args, $defaults); $network_id = update_network($id, $domain, $assoc_args['path']); if (is_wp_error($network_id)) { WP_CLI::error($network_id); } WP_CLI::success(sprintf(__('Updated network %d.', 'wp-multi-network'), $id)); }
/** * Handle the request to update a network * * @since 1.7.0 */ private function update_network_handler() { // Cast $network_id = (int) $_POST['network_id']; // Bail if invalid network if (!wp_get_network($network_id)) { wp_die(esc_html__('Invalid network id.', 'wp-multi-network')); } // Title $network_title = isset($_POST['title']) ? $_POST['title'] : ''; // Domain $network_domain = isset($_POST['domain']) ? $_POST['domain'] : ''; // Path $network_path = isset($_POST['path']) ? $_POST['path'] : ''; // Bail if missing fields if (empty($network_title) || empty($network_domain) || empty($network_path)) { $this->handler_redirect(array('page' => 'networks', 'id' => $network_id, 'action' => 'edit_network', 'network_updated' => '0')); } // Update domain & path update_network($network_id, $_POST['domain'], $_POST['path']); // Update network title switch_to_network($network_id); update_site_option('site_name', $_POST['title']); restore_current_network(); // Handle redirect $this->handler_redirect(array('id' => $network_id, 'action' => 'edit_network', 'network_updated' => '1')); }
/** * Handle the request to update a network * * @since 2.0.0 */ private function handle_update_network() { // Unslash posted data for sanitization $posted = wp_unslash($_POST); // Cast $network_id = !empty($posted['network_id']) ? (int) $posted['network_id'] : 0; // Bail if invalid network if (!get_network($network_id)) { wp_die(esc_html__('Invalid network id.', 'wp-multi-network')); } // Title $network_title = isset($posted['title']) ? sanitize_text_field($posted['title']) : ''; // Domain $network_domain = isset($posted['domain']) ? str_replace(' ', '', strtolower(sanitize_text_field($posted['domain']))) : ''; // Punycode support $network_domain = Requests_IDNAEncoder::encode($network_domain); // Path $network_path = isset($posted['path']) ? str_replace(' ', '', strtolower(sanitize_text_field($posted['path']))) : ''; // Bail if missing fields if (empty($network_title) || empty($network_domain) || empty($network_path)) { $this->handle_redirect(array('id' => $network_id, 'action' => 'edit_network', 'network_updated' => '0')); } // Update domain & path $updated = update_network($network_id, $network_domain, $network_path); $success = '0'; // Maybe update network title if (!is_wp_error($updated)) { update_network_option($network_id, 'site_name', $network_title); $success = '1'; } // Handle redirect $this->handle_redirect(array('id' => $network_id, 'action' => 'edit_network', 'network_updated' => $success)); }
public function update_network_page() { global $wpdb; if (isset($_POST['update']) && isset($_GET['id'])) { $network = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->site} WHERE id = %d", (int) $_GET['id'])); if (empty($network)) { die(esc_html__('Invalid network id.', 'wp-multi-network')); } update_network((int) $_GET['id'], $_POST['domain'], $_POST['path']); $_GET['updated'] = 'true'; $_GET['action'] = 'saved'; } else { // get network by id $network = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->site} WHERE id = %d", (int) $_GET['id'])); if (empty($network)) { wp_die(esc_html__('Invalid network id.', 'wp-multi-network')); } ?> <div class="wrap"> <?php screen_icon('ms-admin'); ?> <h2><?php esc_html_e('Networks', 'wp-multi-network'); ?> </h2> <h3><?php esc_html_e('Edit Network', 'wp-multi-network'); ?> : http://<?php echo esc_html($network->domain . $network->path); ?> </h3> <form method="post" action="<?php echo remove_query_arg('action'); ?> "> <table class="form-table"> <tr class="form-field"><th scope="row"><label for="domain"><?php esc_html_e('Domain', 'wp-multi-network'); ?> </label></th><td> http://<input type="text" id="domain" name="domain" value="<?php echo esc_attr($network->domain); ?> "></td></tr> <tr class="form-field"><th scope="row"><label for="path"><?php esc_html_e('Path', 'wp-multi-network'); ?> </label></th><td><input type="text" id="path" name="path" value="<?php echo esc_attr($network->path); ?> " /></td></tr> </table> <?php if (has_action('add_edit_network_option')) { ?> <h3><?php esc_html_e('Options:', 'wp-multi-network'); ?> </h3> <table class="form-table"> <?php do_action('add_edit_network_option'); ?> </table> <?php } ?> <p> <input type="hidden" name="networkId" value="<?php echo esc_attr($network->id); ?> " /> <?php submit_button(esc_html__('Update Network', 'wp-multi-network'), 'primary', 'update', false); ?> <a class="button" href="<?php echo $this->admin_url(); ?> "><?php esc_html_e('Cancel', 'wp-multi-network'); ?> </a> </p> </form> </div> <?php } }