Version 4.1.19

This commit is contained in:
Neo committed 2025-12-19 05:38:56 -08:00
1 parent 28bd025b35
commit 2bd5025018
2674 files changed
+233518 -77766

No files matched your search

@@ -2,9 +2,9 @@
/**
* @brief Web conversion process
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @package IPS Community Suite
* @since 9 Sept 2013
* @version SVN_VERSION_NUMBER
*/
+21 -30
View File
@@ -2,9 +2,9 @@
/**
* @brief Web conversion process
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @package IPS Community Suite
* @since 9 Sept 2013
* @version SVN_VERSION_NUMBER
*/
@@ -16,7 +16,7 @@ use \IPSUtf8\Output\Browser\Template;
* Web Conversion process
*/
class browser extends \IPSUtf8\Dispatcher\Controller
{
{
/**
* Execute
*
@@ -25,7 +25,7 @@ class browser extends \IPSUtf8\Dispatcher\Controller
public function manage()
{
$output = NULL;
switch( \IPSUtf8\Session::i()->status )
{
default:
@@ -36,7 +36,7 @@ class browser extends \IPSUtf8\Dispatcher\Controller
break;
}
}
/**
* Process
*
@@ -47,19 +47,19 @@ class browser extends \IPSUtf8\Dispatcher\Controller
if ( isset( \IPSUtf8\Request::i()->use_utf8mb4 ) )
{
$sessionData = \IPSUtf8\Session::i()->json;
$sessionData['use_utf8mb4'] = ( ! empty( \IPSUtf8\Request::i()->use_utf8mb4 ) ) ? 1 : 0;
\IPSUtf8\Session::i()->json = $sessionData;
\IPSUtf8\Session::i()->save();
}
\IPSUtf8\Convert::i()->process( 100 );
$json = \IPSUtf8\Session::i()->json;
$percent = round( ($json['convertedCount'] / \IPSUtf8\Convert::i()->getTotalRowsToConvert()) * 100, 2 );
$msg = "Processing " . \IPSUtf8\Session::i()->current_table . '<br>Row: ' . \IPSUtf8\Session::i()->current_row . ' of ' . \IPSUtf8\Session::i()->tables[ \IPSUtf8\Session::i()->current_table ]['count'] . ' - Total: ' . $percent . '%';
if ( ! \IPSUtf8\Request::i()->isAjax() )
{
\IPSUtf8\Output\Browser::i()->output = Template::process( \IPSUtf8\Session::i()->status, $percent, $msg );
@@ -69,7 +69,7 @@ class browser extends \IPSUtf8\Dispatcher\Controller
\IPSUtf8\Output\Browser::i()->sendOutput( json_encode( array( \IPSUtf8\Session::i()->status, $percent, $msg ) ), 200, 'application/json' );
}
}
/**
* Completed
*
@@ -80,7 +80,7 @@ class browser extends \IPSUtf8\Dispatcher\Controller
\IPSUtf8\Session::i()->reset();
return $this->welcome();
}
/**
* Completed
*
@@ -91,7 +91,7 @@ class browser extends \IPSUtf8\Dispatcher\Controller
\IPSUtf8\Convert::i()->finish();
\IPSUtf8\Output\Browser::i()->output = Template::completed( \IPSUtf8\Session::i()->timeTaken( true ) );
}
/**
* We're finished! (In a good way)
*
@@ -100,11 +100,10 @@ class browser extends \IPSUtf8\Dispatcher\Controller
public function finish()
{
\IPSUtf8\Convert::i()->renameTables();
\IPSUtf8\Convert::i()->deleteOriginalTables();
\IPSUtf8\Session::i()->status = null;
\IPSUtf8\Session::i()->completed_json = array();
\IPSUtf8\Session::i()->reset();
/* Attempt to automatically update conf_global.php */
$updated = FALSE;
@@ -136,7 +135,7 @@ class browser extends \IPSUtf8\Dispatcher\Controller
\IPSUtf8\Output\Browser::i()->output = Template::finished( $updated );
}
/**
* Welcome page
*
@@ -149,39 +148,31 @@ class browser extends \IPSUtf8\Dispatcher\Controller
@mkdir( THIS_PATH . '/tmp' );
@chmod( THIS_PATH . '/tmp', 0777 );
}
if ( ! is_writable( THIS_PATH . '/tmp' ) )
{
\IPSUtf8\Output\Browser::i()->error("Please ensure that '" . THIS_PATH . '/tmp' . "' is writable.");
exit();
}
if ( IPB_LOCK and ! \IPSUtf8\Session::i()->is_ipb )
{
\IPSUtf8\Output\Browser::i()->error("Cannot locate the IP.Board database tables. Please check to ensure the SQL Prefix if set, is correct in 'conf_global.php'.");
exit();
}
if ( ! count( \IPSUtf8\Session::i()->tables ) )
{
\IPSUtf8\Output\Browser::i()->error("No tables found for processing. Please check to ensure the correct database name and prefix are being used.");
exit();
}
if ( \IPSUtf8\Convert::i()->databaseIsUtf8() AND !count( \IPSUtf8\Convert::i()->getNonUtf8CollationTables() ) )
{
\IPSUtf8\Output\Browser::i()->error( 'The database tables are UTF-8, collations are correct and there is nothing to convert. You can <strong><a href="../upgrade">proceed with the upgrade</strong>.' );
exit();
}
$json = \IPSUtf8\Session::i()->json;
$percent = ( \IPSUtf8\Convert::i()->getTotalRowsToConvert() ) ? sprintf ("%6.2f", round( ($json['convertedCount'] / \IPSUtf8\Convert::i()->getTotalRowsToConvert() ) * 100, 2 ) ) : 100;
$percent = ( \IPSUtf8\Convert::i()->getTotalRowsToConvert() ) ? round( ($json['convertedCount'] / \IPSUtf8\Convert::i()->getTotalRowsToConvert() ) * 100, 2 ) : 100;
$isUtf8 = (boolean) ( \IPSUtf8\Convert::i()->databaseIsUtf8() );
$processing = (boolean) ( \IPSUtf8\Session::i()->status === 'processing' );
\IPSUtf8\Output\Browser::i()->output = Template::welcome( $isUtf8, \IPSUtf8\Session::i()->status, $percent );
}
}
+2 -2
View File
@@ -2,9 +2,9 @@
/**
* @brief Web conversion process
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @package IPS Community Suite
* @since 9 Sept 2013
* @version SVN_VERSION_NUMBER
*/
+11 -6
View File
@@ -2,9 +2,9 @@
/**
* @brief CLI conversion process
* @author <a href='http://www.invisionpower.com'>Invision Power Services, Inc.</a>
* @copyright (c) 2001 - SVN_YYYY Invision Power Services, Inc.
* @copyright (c) 2001 - 2016 Invision Power Services, Inc.
* @license http://www.invisionpower.com/legal/standards/
* @package IPS Social Suite
* @package IPS Community Suite
* @since 9 Sept 2013
* @version SVN_VERSION_NUMBER
*/
@@ -144,9 +144,11 @@ class cli
\IPSUtf8\Output\Cli::i()->sendOutput( "\n" . count( $convertClass::i()->getNonUtf8Tables() ) . " table(s) are not UTF-8 and need converting.\n");
$origUtf8Charset = \IPSUtf8\Db::i('utf8')->getCharset();
if ( version_compare( \IPSUtf8\Db::i()->server_info, '5.5.3', '>=' ) AND \IPSUtf8\Db::i('utf8')->set_charset('utf8mb4') !== FALSE )
$canMb4 = (bool) \IPSUtf8\Db::i('utf8')->set_charset( 'utf8mb4' );
\IPSUtf8\Db::i('utf8')->set_charset( $origUtf8Charset );
if ( version_compare( \IPSUtf8\Db::i()->server_info, '5.5.3', '>=' ) AND $canMb4 !== FALSE )
{
\IPSUtf8\Output\Cli::i()->sendOutput("Use 4-byte UTF-8 Encoding (utf8mb4)?\nSome non-common symbols (such as historical scripts, music symbols and Emoji) require more space in the database to be stored. If you choose 'no', users will not be able to use these symbols on your site. If 'yes', these characters will be able to be used, but the database will use more disk space.\n<choice>[y] Enter 'y' for Yes\n[n] Enter 'n' for No</choice>", 100 );
\IPSUtf8\Output\Cli::i()->sendOutput("Use 4-byte UTF-8 Encoding (utf8mb4)?\nSome non-common symbols (such as historical scripts, music symbols and Emoji) require more space in the database to be stored. If you choose 'no', users will not be able to use these symbols on your site. If 'yes', these characters will be able to be used, but the database will use more disk space.\n<choice>[y] Enter 'y' for Yes\n[n] Enter 'n' for No\n[x] Enter 'x' to exit</choice>", 100 );
$sessionData = \IPSUtf8\Session::i()->json;
@@ -154,15 +156,18 @@ class cli
{
$sessionData['use_utf8mb4'] = 1;
}
else
else if ( \IPSUtf8\Output\Cli::i()->response === 'n' )
{
$sessionData['use_utf8mb4'] = 0;
}
else
{
exit;
}
\IPSUtf8\Session::i()->json = $sessionData;
\IPSUtf8\Session::i()->save();
}
\IPSUtf8\Db::i('utf8')->set_charset( $origUtf8Charset );
\IPSUtf8\Output\Cli::i()->sendOutput( $intro );