~ 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_64
SERVER IP : 10.0.187.63 -________- CLIENT IP : 216.73.216.210
PATH :/bin/
UP FILE :
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