Blame Scripts/Newbb2Phpbb/classes/db_mysql.php

61a2f1
61a2f1
/***
61a2f1
 * Database Access (MySQL)
61a2f1
 *
61a2f1
 * Provides default database access values, and functions used to
61a2f1
 * access data in both newbb and phpBB. 
61a2f1
 * 
61a2f1
 * --
61a2f1
 * Alain Reguera Delgado <alain.reguera@gmail.com>
61a2f1
 ***/
61a2f1
61a2f1
class DB_MYSQL
61a2f1
{
61a2f1
    public $db_conn;
61a2f1
61a2f1
    public $db_host;
61a2f1
    public $db_user;
61a2f1
    public $db_pass;
61a2f1
    public $db_xoops_db;
61a2f1
    public $db_xoops_tbl;
61a2f1
    public $db_phpbb_db;
61a2f1
    public $db_phpbb_tbl;
61a2f1
61a2f1
   /***
61a2f1
    * Class Construct
61a2f1
    ***/
61a2f1
61a2f1
    function __construct()
61a2f1
    {
61a2f1
        // Initialize configuration values
61a2f1
        $this->db_host      = 'localhost';
61a2f1
        $this->db_user      = 'root';
61a2f1
        $this->db_pass      = '';
61a2f1
        $this->db_xoops_db  = 'xoops';
61a2f1
        $this->db_xoops_tbl = 'xoops_';
61a2f1
        $this->db_phpbb_db  = 'phpBB';
61a2f1
        $this->db_phpbb_tbl = 'phpbb_';
61a2f1
61a2f1
        // Reinitialize configuration values
61a2f1
        $config = array('db_host', 'db_user', 'db_pass', 'db_xoops_db', 
61a2f1
                        'db_xoops_tbl', 'db_phpbb_db', 'db_phpbb_tbl');
61a2f1
61a2f1
        foreach ( $config as $param )
61a2f1
        {
61a2f1
            if ( ! isset( $_SESSION[$param] ) )
61a2f1
            {
61a2f1
                $_SESSION[$param] = $this->$param;
61a2f1
            }
61a2f1
61a2f1
            $_SESSION[$param] = isset($_POST[$param])?$_POST[$param]:$_SESSION[$param];
61a2f1
61a2f1
            $this->$param = $_SESSION[$param];
61a2f1
        }
61a2f1
    }
61a2f1
61a2f1
   /***
61a2f1
    * Connect
61a2f1
    */
61a2f1
    function connect()
61a2f1
    {
61a2f1
        // Connect to MySQL database
61a2f1
        $this->db_conn = mysql_connect( $this->db_host, 
61a2f1
                                        $this->db_user, 
61a2f1
                                        $this->db_pass );
61a2f1
        if ( $this->db_conn )
61a2f1
        {
61a2f1
            return true; 
61a2f1
        }
61a2f1
        else
61a2f1
        {
61a2f1
            return false;
61a2f1
        }
61a2f1
    }
61a2f1
61a2f1
   /***
61a2f1
    * DB Configuration
61a2f1
    */
61a2f1
    function get_configForm( $disabled = '' )
61a2f1
    {
61a2f1
        $htmlblock = array();
61a2f1
61a2f1
        array_push( $htmlblock, 
61a2f1
            // Common DB Configuration
61a2f1
            '

Common DB configuration:

',
61a2f1
            '
',
61a2f1
            '
Server:
',
61a2f1
            '
<input type="text" name="db_host" value="'.$this->db_host.'" '.$disabled.' />
',
61a2f1
            
61a2f1
            '
Username:
',
61a2f1
            '
<input type="text" name="db_user" value="'.$this->db_user.'" '.$disabled.' />
',
61a2f1
            
61a2f1
            '
Password:
',
61a2f1
            '
<input type="password" name="db_pass" value="'.$this->db_pass.'" '.$disabled.' />
',
61a2f1
            '',
61a2f1
            
61a2f1
            // Xoops Configuration
61a2f1
            '

Xoops configuration:

',
61a2f1
            '
',
61a2f1
            '
Xoops database name:
',
61a2f1
            '
<input type="text" name="db_xoops_db" value="'.$this->db_xoops_db.'" '.$disabled.' />
',
61a2f1
            
61a2f1
            '
Xoops table prefix:
',
61a2f1
            '
<input type="text" name="db_xoops_tbl" value="'.$this->db_xoops_tbl.'" '.$disabled.' />
',
61a2f1
            
61a2f1
            '',
61a2f1
            
61a2f1
            // phpBB Configuration
61a2f1
            '

phpBB configuration:

',
61a2f1
            '
',
61a2f1
            '
Phpbb database name:
',
61a2f1
            '
<input type="text" name="db_phpbb_db" value="'.$this->db_phpbb_db.'" '.$disabled.' />
',
61a2f1
            
61a2f1
            '
Phpbb table prefix:
',
61a2f1
            '
<input type="text" name="db_phpbb_tbl" value="'.$this->db_phpbb_tbl.'" '.$disabled.' />
',
61a2f1
            '');
61a2f1
            
61a2f1
        return $htmlblock;
61a2f1
    }
61a2f1
61a2f1
   /***
61a2f1
    * Query
61a2f1
    */
61a2f1
    function query( $sql )
61a2f1
    {
61a2f1
        $this->connect();
61a2f1
        $result = mysql_query( $sql, $this->db_conn );
61a2f1
        if ( $result )
61a2f1
        {
61a2f1
            return $result; 
61a2f1
        }
61a2f1
        else
61a2f1
        {
61a2f1
            return false;
61a2f1
        }
61a2f1
    }
61a2f1
61a2f1
   /***
61a2f1
    * Check existance
61a2f1
    */
61a2f1
    function check_existance( $name )
61a2f1
    {
61a2f1
61a2f1
        switch ( $name )
61a2f1
        {
61a2f1
            case 'phpbb':
61a2f1
                $check_dbname = $this->db_phpbb_db;
61a2f1
                $check_suffix = $this->db_phpbb_tbl;
61a2f1
                $check_tables = array('users', 'forums', 'topics', 'posts');
61a2f1
            break;
61a2f1
61a2f1
            case 'xoops':
61a2f1
                $check_dbname = $this->db_xoops_db;
61a2f1
                $check_suffix = $this->db_xoops_tbl;
61a2f1
                $check_tables = array('users', 'bb_forums', 'bb_topics', 'bb_posts', 'bb_posts_text');
61a2f1
            break;
61a2f1
        }
61a2f1
61a2f1
        $error = 0;
61a2f1
        $table_list = array();
61a2f1
61a2f1
        // Check database existance
61a2f1
        if ( ! mysql_select_db( $check_dbname ) )
61a2f1
        {
61a2f1
            $error++;
61a2f1
        }
61a2f1
61a2f1
        // Check tables existance
61a2f1
        else
61a2f1
        {
61a2f1
            $sql = 'SHOW TABLES FROM ' . $check_dbname . ';'; 
61a2f1
            $result = $this->query( $sql );
61a2f1
            while ( $row = mysql_fetch_row ($result) )
61a2f1
            {
61a2f1
                array_push($table_list, $row[0]);
61a2f1
            }
61a2f1
61a2f1
            foreach ($check_tables as $tablename)
61a2f1
            {
61a2f1
                $tablename = $check_suffix . $tablename; 
61a2f1
                if (in_array($tablename, $table_list) === false )
61a2f1
                {
61a2f1
                    $error++;
61a2f1
                }
61a2f1
            }
61a2f1
        }
61a2f1
61a2f1
        if ( $error == 0 )
61a2f1
        {
61a2f1
            return true;
61a2f1
        }
61a2f1
        else
61a2f1
        {
61a2f1
            return false;
61a2f1
        }
61a2f1
    }
61a2f1
61a2f1
   /***
61a2f1
    * Class Destruct
61a2f1
    ***/
61a2f1
61a2f1
    function disconnect()
61a2f1
    {
61a2f1
        mysql_close( $this->db_conn );
61a2f1
    }
61a2f1
}
61a2f1
61a2f1
$db = new DB_MYSQL;
61a2f1
?>