/** * Display Upgrade Notices * * @since 1.0 * @return void */ function give_show_upgrade_notices() { if (isset($_GET['page']) && $_GET['page'] == 'give-upgrades') { return; } // Don't show notices on the upgrades page $give_version = get_option('give_version'); if (!$give_version) { // 1.0 is the first version to use this option so we must add it $give_version = '1.0'; } $give_version = preg_replace('/[^0-9.].*/', '', $give_version); /* * NOTICE: * * When adding new upgrade notices, please be sure to put the action into the upgrades array during install: * /includes/install.php @ Appox Line 156 * */ //v1.3.2 Upgrades if (version_compare($give_version, '1.3.2', '<') || !give_has_upgrade_completed('upgrade_give_payment_customer_id')) { printf('<div class="updated"><p>' . __('Give needs to upgrade the donor database, click <a href="%s">here</a> to start the upgrade.', 'give') . '</p></div>', esc_url(admin_url('index.php?page=give-upgrades&give-upgrade=upgrade_give_payment_customer_id'))); } //v1.3.4 Upgrades //ensure the user has gone through 1.3.4 if (version_compare($give_version, '1.3.4', '<') || !give_has_upgrade_completed('upgrade_give_offline_status') && give_has_upgrade_completed('upgrade_give_payment_customer_id')) { printf('<div class="updated"><p>' . __('Give needs to upgrade the transaction database, click <a href="%s">here</a> to start the upgrade.', 'give') . '</p></div>', esc_url(admin_url('index.php?page=give-upgrades&give-upgrade=upgrade_give_offline_status'))); } // End 'Stepped' upgrade process notices }
public function test_upgrade_completion() { $current_upgrades = give_get_completed_upgrades(); // Since we mark previous upgrades as complete upon install $this->assertTrue(!empty($current_upgrades)); $this->assertInternalType('array', $current_upgrades); $this->assertTrue(give_set_upgrade_complete('test-upgrade-action')); $this->assertTrue(give_has_upgrade_completed('test-upgrade-action')); $this->assertFalse(give_has_upgrade_completed('test-upgrade-action-false')); }
/** * Cleanup User Roles * * This upgrade routine removes unused roles and roles with typos * * @since 1.5.2 */ function give_v152_cleanup_users() { $give_version = get_option('give_version'); if (!$give_version) { // 1.0 is the first version to use this option so we must add it $give_version = '1.0'; } $give_version = preg_replace('/[^0-9.].*/', '', $give_version); //v1.5.2 Upgrades if (version_compare($give_version, '1.5.2', '<') || !give_has_upgrade_completed('upgrade_give_user_caps_cleanup')) { //Delete all caps with "ss" //Also delete all unused "campaign" roles $delete_caps = array('delete_give_formss', 'delete_others_give_formss', 'delete_private_give_formss', 'delete_published_give_formss', 'read_private_forms', 'edit_give_formss', 'edit_others_give_formss', 'edit_private_give_formss', 'edit_published_give_formss', 'publish_give_formss', 'read_private_give_formss', 'assign_give_campaigns_terms', 'delete_give_campaigns', 'delete_give_campaigns_terms', 'delete_give_campaignss', 'delete_others_give_campaignss', 'delete_private_give_campaignss', 'delete_published_give_campaignss', 'edit_give_campaigns', 'edit_give_campaigns_terms', 'edit_give_campaignss', 'edit_others_give_campaignss', 'edit_private_give_campaignss', 'edit_published_give_campaignss', 'manage_give_campaigns_terms', 'publish_give_campaignss', 'read_give_campaigns', 'read_private_give_campaignss', 'view_give_campaigns_stats', 'delete_give_paymentss', 'delete_others_give_paymentss', 'delete_private_give_paymentss', 'delete_published_give_paymentss', 'edit_give_paymentss', 'edit_others_give_paymentss', 'edit_private_give_paymentss', 'edit_published_give_paymentss', 'publish_give_paymentss', 'read_private_give_paymentss'); global $wp_roles; foreach ($delete_caps as $cap) { foreach (array_keys($wp_roles->roles) as $role) { $wp_roles->remove_cap($role, $cap); } } // Create Give plugin roles $roles = new Give_Roles(); $roles->add_roles(); $roles->add_caps(); //The Update Ran update_option('give_version', preg_replace('/[^0-9.].*/', '', GIVE_VERSION)); give_set_upgrade_complete('upgrade_give_user_caps_cleanup'); delete_option('give_doing_upgrade'); } }