|
Server : Apache System : Linux server.mata-lashes.com 3.10.0-1160.90.1.el7.x86_64 #1 SMP Thu May 4 15:21:22 UTC 2023 x86_64 User : matalashes ( 1004) PHP Version : 8.1.29 Disable Function : NONE Directory : /scripts/ |
Upload File : |
#!/usr/local/cpanel/3rdparty/bin/perl
# cpanel - scripts/convert_whmxfer_to_sqlite Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
package scripts::convert_whmxfer_to_sqlite;
use strict;
use Whostmgr::Transfers::Session::Config ();
use Whostmgr::Transfers::SessionBase ();
use Cpanel::MysqlUtils::Connect ();
exit( __PACKAGE__->script() ) unless caller();
sub script {
my $sessionbase = Whostmgr::Transfers::SessionBase->new();
my $sqlite_dbh = $sessionbase->get_master_dbh();
my $mysql_dbh = Cpanel::MysqlUtils::Connect::get_dbi_handle();
my $has_db = $mysql_dbh->selectall_arrayref("SHOW DATABASES LIKE 'whmxfer';");
return if !$has_db->[0];
my $ref = $mysql_dbh->selectall_hashref( "select * from whmxfer.sessions;", 'sessionid' );
foreach my $sessionid ( sort keys %$ref ) {
next if !-d $Whostmgr::Transfers::Session::Config::SESSION_DIR . '/' . $sessionid;
my $row = $ref->{$sessionid};
my $cols = join( ',', map { $sqlite_dbh->quote($_) } keys %{$row} );
my $values = join( ',', map { $sqlite_dbh->quote($_) } values %{$row} );
$sqlite_dbh->do("INSERT INTO sessions ($cols) VALUES($values);");
}
$mysql_dbh->do("DROP DATABASE whmxfer;");
return 0;
}