function network_html()
 {
     // vars
     $plugin_version = acf_get_setting('version');
     // loop through sites and find updates
     $sites = acf_get_sites();
     if ($sites) {
         foreach ($sites as $i => $site) {
             // switch blog
             switch_to_blog($site['blog_id']);
             // extra info
             $site['name'] = get_bloginfo('name');
             $site['url'] = home_url();
             // get site updates
             $site['updates'] = acf_get_db_updates();
             // get site version
             $site['acf_version'] = get_option('acf_version');
             // no value equals new instal
             if (!$site['acf_version']) {
                 $site['acf_version'] = $plugin_version;
             }
             // update
             $sites[$i] = $site;
             // restore
             restore_current_blog();
         }
     }
     // view
     $view = array('sites' => $sites, 'plugin_version' => $plugin_version);
     // load view
     acf_get_view('install-network', $view);
 }
Example #2
0
 function ajax_db_update()
 {
     // options
     $options = wp_parse_args($_POST, array('nonce' => '', 'blog_id' => ''));
     // validate
     if (!wp_verify_nonce($options['nonce'], 'acf_db_update')) {
         wp_send_json_error(array('message' => __('Error validating request', 'acf')));
     }
     // switch blog
     if ($options['blog_id']) {
         switch_to_blog($options['blog_id']);
     }
     // vars
     $updates = acf_get_db_updates();
     $message = '';
     // bail early if no updates
     if (empty($updates)) {
         wp_send_json_error(array('message' => __('No updates available.', 'acf')));
     }
     // install updates
     foreach ($updates as $version => $callback) {
         $message .= $this->run_update($callback);
     }
     // updates complete
     acf_update_db_version();
     // return
     wp_send_json_success(array('message' => $message));
 }