Ejemplo n.º 1
0
/**
 * 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
}
Ejemplo n.º 2
0
 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'));
 }
Ejemplo n.º 3
0
/**
 * 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');
    }
}