<?php
mysqli_report(MYSQLI_REPORT_OFF);
$site=$argv[1];
$bkdir=getenv('HOME').'/.maintenance-logs/backups-cluster128-20260712'; @mkdir($bkdir,0700,true);
$c=@file_get_contents(getenv('HOME')."/$site/wp-config.php");
if($c===false){echo "  [$site] pas de wp-config\n";exit;}
$g=function($k)use($c){return preg_match("/define\(\s*['\"]".$k."['\"]\s*,\s*['\"]([^'\"]*)/",$c,$m)?$m[1]:'';};
$p=preg_match('/\$table_prefix\s*=\s*[\'"]([^\'"]+)[\'"]/',$c,$m)?$m[1]:'wp_';
$hp=explode(':',$g('DB_HOST'));
$db=@mysqli_connect($hp[0],$g('DB_USER'),$g('DB_PASSWORD'),$g('DB_NAME'),isset($hp[1])?(int)$hp[1]:3306);
if(!$db){echo "  [$site] DB KO\n";exit;}
$out="  [$site]";
$r=mysqli_query($db,"SELECT ID FROM {$p}users WHERE user_login='uredik'");
if($r&&($row=mysqli_fetch_row($r))){
  $uid=(int)$row[0];
  // backup JSON des lignes avant suppression
  $bak=['user'=>null,'usermeta'=>[]];
  $ru=mysqli_query($db,"SELECT * FROM {$p}users WHERE ID=$uid"); $bak['user']=$ru?mysqli_fetch_assoc($ru):null;
  $rm=mysqli_query($db,"SELECT * FROM {$p}usermeta WHERE user_id=$uid"); while($rm&&($x=mysqli_fetch_assoc($rm)))$bak['usermeta'][]=$x;
  @file_put_contents("$bkdir/$site-uredik-rows.json",json_encode($bak,JSON_PRETTY_PRINT));
  // reassign contenu vers admin legitime le plus ancien
  $r2=mysqli_query($db,"SELECT u.ID FROM {$p}users u JOIN {$p}usermeta m ON m.user_id=u.ID WHERE m.meta_key='{$p}capabilities' AND m.meta_value LIKE '%administrator%' AND u.ID<>$uid ORDER BY u.ID ASC LIMIT 1");
  $legit=($r2&&($x=mysqli_fetch_row($r2)))?(int)$x[0]:0;
  if($legit) mysqli_query($db,"UPDATE {$p}posts SET post_author=$legit WHERE post_author=$uid");
  mysqli_query($db,"DELETE FROM {$p}usermeta WHERE user_id=$uid");
  mysqli_query($db,"DELETE FROM {$p}users WHERE ID=$uid");
  $out.=" uredik-SUPPRIME(id=$uid,reassign->$legit)";
} else $out.=" uredik-absent";
mysqli_query($db,"DELETE FROM {$p}options WHERE option_name LIKE 'elysian%'");
$r=mysqli_query($db,"SELECT option_value FROM {$p}options WHERE option_name='active_plugins'");
if($r&&($row=mysqli_fetch_row($r))){
  $a=@unserialize($row[0]);
  if(is_array($a)){
    $b=array_values(array_filter($a,function($x){return strpos($x,'wp-file-manager/')!==0;}));
    if(count($b)!=count($a)){
      $ns=mysqli_real_escape_string($db,serialize($b));
      mysqli_query($db,"UPDATE {$p}options SET option_value='$ns' WHERE option_name='active_plugins'");
      $out.=" fm-desactive";
    }
  }
}
echo $out."\n";
mysqli_close($db);
