# Clean reinstall commands for maxxeshopauto.au/auto_beta
# Run from root SSH after uploading ausfactory_auto_theme_oc4_v1_beta2.ocmod.zip to /home/maxxeshopautoau/public_html/

# 1) Remove old files
rm -rf /home/maxxeshopautoau/public_html/auto_beta/extension/ausfactory_auto
rm -rf /home/maxxeshopautoau/public_html/auto_beta/catalog/view/theme/ausfactory_auto

# 2) Clean old DB registry/settings and wrong permissions
cat > /tmp/clean_ausfactory_auto.php <<'PHP'
<?php
require '/home/maxxeshopautoau/public_html/auto_beta/admin2/config.php';
$db = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, (int)DB_PORT);
if ($db->connect_error) die($db->connect_error . PHP_EOL);
$p = DB_PREFIX;
$db->query("DELETE FROM {$p}extension WHERE extension='ausfactory_auto' OR code IN ('ausfactory_auto','ausfactory_home') OR extension LIKE 'ausfactory_auto_theme%'");
$db->query("DELETE FROM {$p}setting WHERE code IN ('theme_ausfactory_auto','module_ausfactory_home')");
$wrong = [
 'extension/ausfactory_auto_theme_oc4_v1_beta/upload/extension/ausfactory_auto/theme/ausfactory_auto',
 'extension/ausfactory_auto_theme_oc4_v1_beta/upload/extension/ausfactory_auto/module/ausfactory_home',
 'extension/ausfactory_auto_theme_oc4_v1_beta2/upload/extension/ausfactory_auto/theme/ausfactory_auto',
 'extension/ausfactory_auto_theme_oc4_v1_beta2/upload/extension/ausfactory_auto/module/ausfactory_home'
];
$correct = [
 'extension/ausfactory_auto/theme/ausfactory_auto',
 'extension/ausfactory_auto/module/ausfactory_home'
];
$r = $db->query("SELECT user_group_id, permission FROM {$p}user_group");
while ($row = $r->fetch_assoc()) {
  $perm = json_decode($row['permission'], true) ?: [];
  foreach (['access','modify'] as $type) {
    $perm[$type] = array_values(array_diff($perm[$type] ?? [], $wrong));
    foreach ($correct as $route) if (!in_array($route, $perm[$type], true)) $perm[$type][] = $route;
  }
  $json = $db->real_escape_string(json_encode($perm, JSON_UNESCAPED_SLASHES));
  $db->query("UPDATE {$p}user_group SET permission='{$json}' WHERE user_group_id=" . (int)$row['user_group_id']);
}
echo "Cleaned old AusFactory Auto registration and repaired permissions.\n";
PHP
php /tmp/clean_ausfactory_auto.php

# 3) Unzip and copy fresh files
rm -rf /tmp/ausfactory_auto_theme_v2
mkdir -p /tmp/ausfactory_auto_theme_v2
unzip -o /home/maxxeshopautoau/public_html/ausfactory_auto_theme_oc4_v1_beta2.ocmod.zip -d /tmp/ausfactory_auto_theme_v2
rsync -a /tmp/ausfactory_auto_theme_v2/upload/ /home/maxxeshopautoau/public_html/auto_beta/
chown -R maxxeshopautoau:maxxeshopautoau /home/maxxeshopautoau/public_html/auto_beta/extension/ausfactory_auto /home/maxxeshopautoau/public_html/auto_beta/catalog/view/theme/ausfactory_auto

# 4) Register extension/settings
cat > /tmp/register_ausfactory_auto.php <<'PHP'
<?php
require '/home/maxxeshopautoau/public_html/auto_beta/admin2/config.php';
$db = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE, (int)DB_PORT);
if ($db->connect_error) die($db->connect_error . PHP_EOL);
$p = DB_PREFIX;
$db->query("INSERT INTO {$p}extension (extension, type, code) VALUES ('ausfactory_auto','theme','ausfactory_auto')");
$db->query("INSERT INTO {$p}extension (extension, type, code) VALUES ('ausfactory_auto','module','ausfactory_home')");
$db->query("INSERT INTO {$p}setting (store_id, code, `key`, value, serialized) VALUES (0,'theme_ausfactory_auto','theme_ausfactory_auto_status','1',0), (0,'theme_ausfactory_auto','theme_ausfactory_auto_directory','ausfactory_auto',0)");
$db->query("INSERT INTO {$p}setting (store_id, code, `key`, value, serialized) VALUES (0,'module_ausfactory_home','module_ausfactory_home_status','1',0), (0,'module_ausfactory_home','module_ausfactory_home_name','AusFactory Auto Home Builder',0), (0,'module_ausfactory_home','module_ausfactory_home_layout','conversion',0)");
echo "Registered AusFactory Auto theme and module.\n";
PHP
php /tmp/register_ausfactory_auto.php

# 5) Clear caches
find /home/maxxeshopautoau/public_html/auto_beta/system/storage/cache -type f -delete 2>/dev/null
find /home/maxxeshopautoau/public_html/auto_beta/system/storage/modification -type f -delete 2>/dev/null
rm -f /home/maxxeshopautoau/public_html/auto_beta/vqmod/vqcache/vq2-*.php
rm -f /home/maxxeshopautoau/public_html/auto_beta/vqmod/checked.cache /home/maxxeshopautoau/public_html/auto_beta/vqmod/mods.cache

# 6) Log out of beta admin, log back in, then test direct routes.
