<?php
mysqli_report(MYSQLI_REPORT_OFF);
$newmail=$argv[1]; $newpass=$argv[2];
$site='s-hombrouck';
$c=@file_get_contents(getenv('HOME')."/$site/wp-config.php");
if($c===false){echo "  [$site] pas de wp-config\n";exit(1);}
$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(1);}
$r=mysqli_query($db,"SELECT u.ID,u.user_login,u.user_email 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%' ORDER BY u.ID ASC");
$adm=[]; while($r&&($x=mysqli_fetch_assoc($r)))$adm[]=$x;
if(!$adm){echo "  [$site] AUCUN admin trouve\n";exit(1);}
echo "  admins actuels: "; foreach($adm as $a) echo $a['user_login']."<".$a['user_email'].">(id".$a['ID'].") "; echo "\n";
$target=null;
foreach($adm as $a){ if(in_array($a['user_login'],['mrel-admin','admin-mrel'])){$target=$a;break;} }
if(!$target) $target=$adm[0];
$id=(int)$target['ID'];
$em=mysqli_real_escape_string($db,$newmail);
$pw=mysqli_real_escape_string($db,$newpass);
mysqli_query($db,"UPDATE {$p}users SET user_email='$em', user_pass=MD5('$pw') WHERE ID=$id");
echo "  -> admin '".$target['user_login']."' (id$id): email=$newmail + NOUVEAU mot de passe applique\n";
mysqli_close($db);
