Skip to:
Content

bbPress.org

Changeset 1453


Ignore:
Timestamp:
04/24/2008 02:22:23 AM (18 years ago)
Author:
sambauers
Message:

Improve upgrade experience through installer from pre 0.9 bbPress. Allow selection of an existing KeyMaster.

Test for bb-config-sample.php earlier and throw an error.
Don't test beyond step 1.

Don't show intro paragraphs when beyond the first screen of each step.

Change exclamation mark to some thing more positive on success alerts.

Fixes #859 #858

Location:
trunk/bb-admin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/bb-admin/class-install.php

    r1414 r1453  
    5959     **/
    6060    var $step_status = array(
     61        0 => 'incomplete',
    6162        1 => 'incomplete',
    6263        2 => 'incomplete',
     
    464465        } else {
    465466           
     467            if ( $this->step < 2 && !file_exists(BB_PATH . 'bb-config-sample.php') ) {
     468                // There is no sample config file
     469                $this->strings[0]['messages']['error'][] = __('I could not find the file <code>bb-config-sample.php</code><br />Please upload it to the root directory of your bbPress installation.');
     470                $this->step = 0;
     471            }
     472           
    466473            if ( $this->step !== 1 ) {
    467474                // There is no config file, go back to the beginning
     
    762769                    ),
    763770                    'keymaster_user_type' => array(
    764                         'value' => 'bbPress'
     771                        'value' => 'new'
    765772                    ),
    766773                    'forum_name' => array(
     
    16171624       
    16181625        switch ($data3['keymaster_user_type']['value']) {
    1619             case 'bbPress':
     1626            case 'new':
    16201627               
    16211628                // Check to see if the user login already exists
     
    16841691                break;
    16851692           
    1686             case 'WordPress':
     1693            case 'old':
    16871694                if ($keymaster_user = bb_get_user($data3['keymaster_user_login']['value'])) {
    1688                     // The keymaster is an existing WordPress user
     1695                    // The keymaster is an existing bbPress or WordPress user
    16891696                    $bb_current_user = bb_set_current_user($keymaster_user->ID);
    16901697                    $bb_current_user->set_role('keymaster');
    1691                     $data4['keymaster_user_password']['value'] = __('Your WordPress password');
    1692                     $installation_log[] = '>>> ' . __('Key master role assigned to WordPress user');
     1698                    $data4['keymaster_user_password']['value'] = __('Your existing password');
     1699                    $installation_log[] = '>>> ' . __('Key master role assigned to existing user');
    16931700                    $installation_log[] = '>>>>>> ' . __('Username:') . ' ' . $data3['keymaster_user_login']['value'];
    16941701                    $installation_log[] = '>>>>>> ' . __('Email address:') . ' ' . $data3['keymaster_user_email']['value'];
     
    16961703                    $keymaster_created = true;
    16971704                } else {
    1698                     $installation_log[] = '>>> ' . __('Key master role could not be assigned to WordPress user!');
     1705                    $installation_log[] = '>>> ' . __('Key master role could not be assigned to existing user!');
    16991706                    $installation_log[] = '>>>>>> ' . __('Halting installation!');
    17001707                    $error_log[] = __('Key master could not be created!');
     
    20372044            $bbdb->usermeta = $bb->custom_user_meta_table;
    20382045       
     2046        global $bb_table_prefix;
     2047       
     2048        $bb_keymaster_meta_key = $bbdb->escape( $bb_table_prefix . 'capabilities' );
    20392049        $wp_administrator_meta_key = $bbdb->escape( $bb->wp_table_prefix . 'capabilities' );
    2040         $wp_administrator_query = <<<EOQ
     2050        $keymaster_query = <<<EOQ
    20412051            SELECT
    20422052                user_login, user_email, display_name
     
    20472057                $bbdb->users.ID = $bbdb->usermeta.user_id
    20482058            WHERE
    2049                 meta_key = '$wp_administrator_meta_key' AND
    2050                 meta_value LIKE '%administrator%' AND
     2059                (
     2060                    (
     2061                        meta_key = '$wp_administrator_meta_key' AND
     2062                        meta_value LIKE '%administrator%'
     2063                    ) OR
     2064                    (
     2065                        meta_key = '$bb_keymaster_meta_key' AND
     2066                        meta_value LIKE '%keymaster%'
     2067                    )
     2068                ) AND
    20512069                user_email IS NOT NULL AND
    20522070                user_email != ''
     
    20562074        $bbdb->hide_errors();
    20572075       
    2058         if ( $wp_administrators = $bbdb->get_results( $wp_administrator_query, ARRAY_A ) ) {
     2076        if ( $keymasters = $bbdb->get_results( $keymaster_query, ARRAY_A ) ) {
    20592077           
    20602078            $bbdb->show_errors();
    20612079           
    2062             if ( count($wp_administrators) ) {
     2080            if ( count($keymasters) ) {
    20632081                $email_maps = '';
    20642082                $data['options'] = array();
    20652083                $data['onchange'] = 'changeKeymasterEmail(this, \'keymaster_user_email\');';
     2084                $data['note'] = __('Please select an existing bbPress Keymaster or WordPress administrator.');
    20662085               
    20672086                $data['options'][''] = '';
    2068                 foreach ($wp_administrators as $wp_administrator) {
    2069                     $email_maps .= 'emailMap[\'' . $wp_administrator['user_login'] . '\'] = \'' . $wp_administrator['user_email'] . '\';' . "\n\t\t\t\t\t\t\t\t";
    2070                     $data['options'][$wp_administrator['user_login']] = $wp_administrator['display_name'];
     2087                foreach ($keymasters as $keymaster) {
     2088                    $email_maps .= 'emailMap[\'' . $keymaster['user_login'] . '\'] = \'' . $keymaster['user_email'] . '\';' . "\n\t\t\t\t\t\t\t\t";
     2089                    if ($keymaster['display_name']) {
     2090                        $data['options'][$keymaster['user_login']] = $keymaster['user_login'] . ' (' . $keymaster['display_name'] . ')';
     2091                    } else {
     2092                        $data['options'][$keymaster['user_login']] = $keymaster['user_login'];
     2093                    }
    20712094                }
    20722095               
     
    20842107EOS;
    20852108               
    2086                 $this->data[3]['form']['keymaster_user_type']['value'] = 'WordPress';
     2109                $this->data[3]['form']['keymaster_user_type']['value'] = 'old';
    20872110               
    20882111                return true;
     
    21192142                $class = $type ? $type : '';
    21202143                $title = ($type == 'error') ? __('Warning') : __('Message');
     2144                $first_character = ($type == 'error') ? '!' : '&raquo;';
    21212145               
    21222146                foreach ($paragraphs as $paragraph) {
     
    21262150                    $r .= '<p class="' . $class . '">' . "\n";
    21272151                    if ($type) {
    2128                         $r .= '<span class="first" title="' . $title . '">!</span>' . "\n";
     2152                        $r .= '<span class="first" title="' . $title . '">' . $first_character . '</span>' . "\n";
    21292153                    }
    21302154                    $r .= $paragraph . "\n";
     
    21382162    function intro()
    21392163    {
    2140         if (isset($this->strings[$this->step]['intro'])) {
     2164        if ($this->step_status[$this->step] == 'incomplete' && isset($this->strings[$this->step]['intro'])) {
    21412165            $messages = $this->strings[$this->step]['intro'];
    21422166            $count = count($messages);
  • trunk/bb-admin/install.php

    r1378 r1453  
    1818    require_once(BB_PATH . BB_INC . 'wp-functions.php');
    1919    require_once(BB_PATH . BB_INC . 'functions.php');
    20     require_once(BB_PATH . BB_INC . 'kses.php');
     20    require_once(BACKPRESS_PATH . 'functions.kses.php');
    2121    require_once(BB_PATH . BB_INC . 'l10n.php');
    2222}
     
    296296                        <legend><?php _e('"Key master" account'); ?></legend>
    297297<?php
    298                     if ($bb_install->step_status[2] == 'complete' && $bb_install->populate_keymaster_user_login_from_user_tables()) {
     298                    if ($bb_install->populate_keymaster_user_login_from_user_tables()) {
    299299                        echo $bb_install->strings[3]['scripts']['changeKeymasterEmail'];
    300300                        $bb_install->select('keymaster_user_login');
Note: See TracChangeset for help on using the changeset viewer.