Вход Регистрация
Файл: IPBMafia.ru_IPB_3.4.6_Final_Rus _Nulled/board/upload/admin/setup/applications/upgrade/sections/convert.php
Строк: 44
<?php
/**
 * Invision Power Services
 * IP.Board v3.0.0
 * Upgrader: Database Convertion
 *
 * @author         Tony
 * @copyright    (c) 2009 IBResource.ru
 * @license        http://www.invisionpower.com/community/board/license.html
 * @package        Invision Power Board
 * @link        http://www.invisionpower.com
 *
 */

class upgrade_convert extends ipsCommand
{
    
/**
     * Execute selected method
     *
     * @access    public
     * @param    object        Registry object
     * @return    void
     */
    
public function doExecuteipsRegistry $registry ) {

        
// uncomment to skip this step
        //$this->registry->autoLoadNextAction( 'apps' );

        
if( strtolower$this->settings['sql_driver'] ) == 'mysql' ) {

            
$utf8_ok FALSE;
            
$table_prefix $this->registry->dbFunctions()->getPrefix(); // PREFIX CAN BE EMPTY !

            
$this->DB->return_die       1;
            
$this->DB->allow_sub_select 1;
            
$this->DB->error            '';

            if( 
substr$this->DB->getSqlVersion(), 0) >= ) {
                
$query "SELECT table_collation FROM INFORMATION_SCHEMA.TABLES WHERE table_schema = '{$this->settings['sql_database']}' AND table_name LIKE '{$table_prefix}%'";

                
$this->DB->query$query );

                if ( 
$this->DB->error ) {
                    
$this->registry->output->addErrornl2br$query ) . '<br /><br />' $this->DB->error );
                }
                else {

                    
$utf8_ok TRUE;

                    while( 
$r $this->DB->fetch() ) {

                        if ( 
strpos$r['table_collation'], 'utf8' ) !== ) {
                            
$utf8_ok FALSE;
                            break;
                        }
                    }
                }
            }
            else {
                
$tables = Array( 'posts''forums' );

                foreach( 
$tables as $table ) {

                    
$table $table_prefix $table;
                    
$query 'SHOW CREATE TABLE ' $table;

                    
$this->DB->query$query );

                    if ( 
$this->DB->error ) {
                        
$this->registry->output->addErrornl2br$query ) . '<br /><br />' $this->DB->error );
                        
$utf8_ok FALSE;
                        break;
                    }

                    
$code $this->DB->fetch();

                    if ( 
preg_match'/ DEFAULT CHARSET=utf8/'$code['Create Table'] )) {
                        
$utf8_ok TRUE;
                    }
                    else {
                        
$utf8_ok FALSE;
                    }
                }
            }

            if( 
$utf8_ok ) {
                
$this->registry->autoLoadNextAction'apps' );
            }
            else {
                
$this->registry->output->setNextAction'' );
                
$this->registry->output->setHideButtonTRUE );
                
$this->registry->output->setTitle'Конвертация базы данных' );
                
$this->registry->output->addContent$this->registry->output->template()->page_convert() );
                
$this->registry->output->sendOutput();
            }
        }
        else {
            
$this->registry->autoLoadNextAction'apps' );
        }
    }
}
Онлайн: 1
Реклама