~ K A L I ~
UNAME : Linux web63.extendcp.co.uk 4.18.0-553.56.1.el8_10.x86_64 #1 SMP Tue Jun 10 05:00:59 EDT 2025 x86_64SERVER IP : 10.0.187.63 -________-
CLIENT IP : 216.73.216.210 MINI SHELL D ZAB '
Current File : //bin/upgrade_wbp_eshop_41to45.pl |
#!/usr/bin/perl
use strict;
use warnings;
my $SQLITE = "/usr/bin/sqlite";
# Get domain from arguments
my $domain = shift @ARGV || qx/whoami/ || die "Couldn't find current user";
chomp $domain;
die "Please run as customer (or with domain as argument if root)"
if $domain =~ /^(root|support)$/;
# Work out the db path
my $db = "/home/sites/$domain/public_html/data/storage/sb_modules.php";
# Make sure db exists
-e $db || die "Couldn't find sqlite database ($db)\n";
# Find out the module ID for eshop
my ($eshop_table) = qx/$SQLITE $db .tables/ =~ /(modules_[^_]+_product_colors)/;
$eshop_table || die "Couldn't find an eshop table";
# Check if it's wrong
die "This database seems already to be OK? ($eshop_table contains an image_orig field)\n"
if ( qx/$SQLITE $db ".schema $eshop_table"/ =~ /image_orig/ );
# Back it up
system(
"cp",
$db,
"$db.backup",
) == 0 || die "Couldn't back up database\n";
warn "Old database backed up to '$db.backup'\n";
# Write the changes
open SQL, "|$SQLITE $db >/dev/null 2>&1" || die "Couldn't open pipe to $SQLITE $db: $!\n";
print SQL <<"EOF";
CREATE TEMPORARY TABLE t__product_colors (id INTEGER DEFAULT "",product_id INTEGER DEFAULT "",name VARCHAR(255) DEFAULT "",value VARCHAR(10) DEFAULT "",image TEXT DEFAULT "",position INTEGER DEFAULT "",storage_state INTEGER DEFAULT "" , PRIMARY KEY (id,product_id,storage_state));
INSERT INTO t__product_colors (id, product_id, name, value, image, position, storage_state)
SELECT * FROM $eshop_table;
DROP TABLE $eshop_table;
CREATE TABLE $eshop_table (id INTEGER DEFAULT "",product_id INTEGER DEFAULT "",name VARCHAR(255) DEFAULT "",value VARCHAR(10) DEFAULT "",image TEXT DEFAULT "",image_orig TEXT DEFAULT "",position INTEGER DEFAULT "",storage_state INTEGER DEFAULT "" , PRIMARY KEY (id,product_id,storage_state));
INSERT INTO $eshop_table SELECT * FROM t__product_colors;
EOF
;
close SQL || warn "Error closing pipe: $!\n";
warn "Table changes written in place. It should be OK now.\n";
Coded by KALI :v Greetz to DR HARD ../ kali.zbi@hotmail.com