94 lines
3.3 KiB
PHP
94 lines
3.3 KiB
PHP
<?php
|
|
/**
|
|
* assign_author_photos.php
|
|
* Asigna fotos de /uploads/quienes_somos/ a los usuarios de WordPress.
|
|
* Guarda la URL en user_meta 'fea_foto_url'.
|
|
* Usage: php assign_author_photos.php [--dry-run]
|
|
*/
|
|
|
|
$dry_run = in_array('--dry-run', $argv ?? []);
|
|
|
|
$pdo = new PDO(
|
|
"mysql:host=wordpress-mysql;dbname=wordpress_db;charset=utf8mb4",
|
|
'wordpress_user', 'wordpress_pass',
|
|
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
|
);
|
|
|
|
$base_url = 'https://farmer.taild3aaf6.ts.net/fea/wp-content/uploads/quienes_somos/avatars/';
|
|
$base_dir = '/var/www/html/wp-content/uploads/quienes_somos/avatars/';
|
|
|
|
// user_id => foto (preferir col_*.png, fallback a .jpg originales)
|
|
$mapping = [
|
|
382 => 'col_fraymarcos.png', // Fray Marcos
|
|
383 => 'col_pagola.png', // José Antonio Pagola
|
|
384 => 'col_enrique.png', // Enrique Martínez Lozano
|
|
385 => 'col_galarreta.png', // José Enrique Galarreta
|
|
386 => 'col_arregi.png', // José Arregi
|
|
387 => 'col_eloy.png', // Eloy Roy
|
|
388 => 'col_aleixandre.png', // Dolores Aleixandre
|
|
389 => 'col_vicente.png', // Vicente Martínez
|
|
390 => 'col_sandra.png', // Sandra Hojman
|
|
391 => 'col_mellado.png', // Julián Mellado
|
|
392 => 'col_gastalver.png', // Matilde Gastalver
|
|
393 => 'col_koldo.png', // Koldo Aldai
|
|
394 => 'marta_1.png', // Marta Salazar
|
|
395 => 'col_florentino.png', // Florentino Ulibarri
|
|
396 => 'col_rafael.png', // Rafael Calvo Beca
|
|
405 => 'col_faustino.png', // Faustino Vilabrille
|
|
407 => 'col_victor.png', // Víctor Daniel Blanco
|
|
423 => 'col_patxi.png', // Mari Patxi Ayerra
|
|
468 => 'col_luque.png', // José Sánchez Luque
|
|
746 => 'col_viki.png', // Vicky Irigaray
|
|
774 => 'col_sicre.png', // José Luis Sicre
|
|
842 => 'col_yolanchavez.png', // Yolanda Chávez
|
|
948 => 'col_inma_calvo.png', // Inma Calvo Torrejón
|
|
1048 => 'col_inma_calvo.png', // Inma Calvo (icalvotorre)
|
|
1010 => 'col_inigo-garcia.png', // Íñigo García Blanco
|
|
];
|
|
|
|
echo "=== Asignar fotos de autor ===\n";
|
|
echo $dry_run ? "[DRY RUN]\n\n" : "[LIVE RUN]\n\n";
|
|
|
|
$ok = 0; $skip = 0; $missing = 0;
|
|
|
|
$upsert = $pdo->prepare("
|
|
INSERT INTO wp_usermeta (user_id, meta_key, meta_value)
|
|
VALUES (?, 'fea_foto_url', ?)
|
|
ON DUPLICATE KEY UPDATE meta_value = VALUES(meta_value)
|
|
");
|
|
|
|
foreach ($mapping as $user_id => $foto) {
|
|
$file = $base_dir . $foto;
|
|
$url = $base_url . $foto;
|
|
|
|
// Verificar que el archivo existe
|
|
if (!file_exists($file)) {
|
|
echo " [MISSING] user $user_id → $foto (archivo no encontrado)\n";
|
|
$missing++;
|
|
continue;
|
|
}
|
|
|
|
// Obtener nombre del usuario
|
|
$stmt = $pdo->prepare("SELECT display_name FROM wp_users WHERE ID = ?");
|
|
$stmt->execute([$user_id]);
|
|
$name = $stmt->fetchColumn();
|
|
if (!$name) {
|
|
echo " [SKIP] user_id $user_id no existe en la BD\n";
|
|
$skip++;
|
|
continue;
|
|
}
|
|
|
|
echo " [OK] $name → $foto\n";
|
|
|
|
if (!$dry_run) {
|
|
$upsert->execute([$user_id, $url]);
|
|
}
|
|
$ok++;
|
|
}
|
|
|
|
echo "\n=== Resultado ===\n";
|
|
echo "Asignadas: $ok\n";
|
|
echo "Archivos no encontrados: $missing\n";
|
|
echo "Usuarios no encontrados: $skip\n";
|
|
echo "\nDone.\n";
|