Update: 2026-05-06 03:30:43
This commit is contained in:
@@ -8,5 +8,7 @@ $users = $db->query("SELECT id, email, name FROM users")->fetchAll();
|
|||||||
echo "ID | Email | Name\n";
|
echo "ID | Email | Name\n";
|
||||||
echo "----------------------\n";
|
echo "----------------------\n";
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
echo "{$user['id']} | {$user['email']} | {$user['name']}\n";
|
$email = App\Core\Encryption::decrypt($user['email']) ?: $user['email'];
|
||||||
|
$name = App\Core\Encryption::decrypt($user['name']) ?: $user['name'];
|
||||||
|
echo "{$user['id']} | $email | $name\n";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,12 +10,13 @@ use App\Core\Database;
|
|||||||
use App\Core\Encryption;
|
use App\Core\Encryption;
|
||||||
|
|
||||||
// Parse CLI arguments
|
// Parse CLI arguments
|
||||||
$options = getopt("", ["email:", "phone:"]);
|
$options = getopt("", ["email:", "phone:", "id:"]);
|
||||||
$email = $options['email'] ?? null;
|
$email = $options['email'] ?? null;
|
||||||
$phone = $options['phone'] ?? null;
|
$phone = $options['phone'] ?? null;
|
||||||
|
$id = $options['id'] ?? null;
|
||||||
|
|
||||||
if (!$email || !$phone) {
|
if ((!$email && !$id) || !$phone) {
|
||||||
die("Usage: php scripts/update_phone.php --email=your@email.com --phone=yourphone\n");
|
die("Usage: php scripts/update_phone.php --phone=yourphone [--email=your@email.com | --id=user-uuid]\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
$db = Database::getInstance();
|
$db = Database::getInstance();
|
||||||
@@ -26,11 +27,19 @@ $phoneHash = hash('sha256', $cleanPhone);
|
|||||||
$encryptedPhone = Encryption::encrypt($cleanPhone);
|
$encryptedPhone = Encryption::encrypt($cleanPhone);
|
||||||
|
|
||||||
// 2. Update user
|
// 2. Update user
|
||||||
|
if ($id) {
|
||||||
|
$stmt = $db->prepare("UPDATE users SET phone = ?, phone_hash = ? WHERE id = ?");
|
||||||
|
$stmt->execute([$encryptedPhone, $phoneHash, $id]);
|
||||||
|
$identifier = "ID $id";
|
||||||
|
} else {
|
||||||
|
// Note: Searching by encrypted email will likely fail due to IV randomness. Use ID.
|
||||||
$stmt = $db->prepare("UPDATE users SET phone = ?, phone_hash = ? WHERE email = ?");
|
$stmt = $db->prepare("UPDATE users SET phone = ?, phone_hash = ? WHERE email = ?");
|
||||||
$stmt->execute([$encryptedPhone, $phoneHash, $email]);
|
$stmt->execute([$encryptedPhone, $phoneHash, $email]);
|
||||||
|
$identifier = "email $email";
|
||||||
|
}
|
||||||
|
|
||||||
if ($stmt->rowCount() > 0) {
|
if ($stmt->rowCount() > 0) {
|
||||||
echo "✅ Success! Phone updated for $email\n";
|
echo "✅ Success! Phone updated for $identifier\n";
|
||||||
echo " Encrypted: $encryptedPhone\n";
|
echo " Encrypted: $encryptedPhone\n";
|
||||||
echo " Hash: $phoneHash\n";
|
echo " Hash: $phoneHash\n";
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user