<?php
mysqli_report(MYSQLI_REPORT_OFF);
$home=getenv('HOME');
$sites=array_slice($argv,1);
foreach($sites as $site){
  $wc="$home/$site/wp-config.php";
  $c=@file_get_contents($wc); if($c===false){echo "  [$site] wp-config illisible\n";continue;}
  $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";continue;}
  $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)){
      $before=count($a);
      $clean=array_values(array_filter($a,function($x){return stripos($x,'hseo')===false && stripos($x,'wp-helper')===false;}));
      if(count($clean)!==$before){
        $bak='active_plugins_bak_ea_20260714';
        $esc=mysqli_real_escape_string($db,$row[0]);
        mysqli_query($db,"INSERT INTO {$p}options (option_name,option_value,autoload) VALUES ('$bak','$esc','no') ON DUPLICATE KEY UPDATE option_value=VALUES(option_value)");
        $ser=mysqli_real_escape_string($db,serialize($clean));
        mysqli_query($db,"UPDATE {$p}options SET option_value='$ser' WHERE option_name='active_plugins'");
        echo "  [$site] active_plugins nettoye: $before -> ".count($clean)." (backup option $bak)\n";
      } else echo "  [$site] active_plugins deja propre ($before)\n";
    }
  }
  mysqli_close($db);
}
