function test_largo_perform_update() { // requires largo_need_updates // Backup sidebar widgets, create our own empty sidebar $widgets_backup = get_option('sidebars_widgets '); update_option('sidebars_widgets', array('article-bottom' => array())); // force updates by setting current version of largo to 0.0 of_set_option('largo_version', '0.0'); largo_perform_update(); // check that options have been set $this->assertEquals(largo_version(), of_get_option('largo_version')); // Cleanup delete_option('sidebars_widgets'); update_option('sidebars_widgets', $widgets_backup); unset($widgets_backup); }
function largo_ajax_update_database() { if (!current_user_can('activate_plugins')) { print json_encode(array("status" => __("An error occurred."), "success" => false)); wp_die(); } if (!largo_need_updates()) { print json_encode(array("status" => __("Finished. No update was required."), "success" => false)); wp_die(); } $ret = largo_perform_update(); if (!empty($ret)) { if (version_compare(of_get_option('largo_version'), '0.4') < 0) { $message = __("Thank you -- the update is complete. Don't forget to check your site settings!"); } else { $message = __("Thank you -- the update is complete."); } print json_encode(array("status" => $message, "success" => true)); wp_die(); } else { print json_encode(array("status" => __("There was a problem applying the update. Please try again."), "success" => false)); wp_die(); } }