MMCT TEAM
Server IP : 103.53.40.154  /  Your IP : 3.142.210.173
Web Server : Apache
System : Linux md-in-35.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : ppcad7no ( 715)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /scripts/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //scripts/convert_whmxfer_to_sqlite
#!/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;
}

MMCT - 2023