- Исправлен N8N_CODE_PROCESS_UPLOADED_FILES_FIXED.js: использовать uploads_field_labels[0] вместо [grp] - Создан SQL_CLAIMSAVE_FIXED_NEW_FLOW_DEDUP.sql с дедупликацией documents_meta - Создан SQL_CLEANUP_DOCUMENTS_META_DUPLICATES.sql для очистки существующих дубликатов - Создан полный уникальный индекс idx_document_texts_hash_unique на document_texts(file_hash) - Добавлен SESSION_LOG_2025-11-28_documents_dedup.md с описанием всех изменений Fixes: - field_label теперь корректно отображает 'Переписка' вместо 'group-2' - documents_meta не накапливает дубликаты при повторных сохранениях - ON CONFLICT (file_hash) теперь работает для document_texts
52 lines
1.8 KiB
PHP
52 lines
1.8 KiB
PHP
<?php
|
||
require_once '/var/www/fastuser/data/www/crm.clientright.ru/config.inc.php';
|
||
|
||
$pdo = new PDO(
|
||
"mysql:host={$dbconfig['db_server']};port=3306;dbname={$dbconfig['db_name']};charset=utf8",
|
||
$dbconfig['db_username'],
|
||
$dbconfig['db_password'],
|
||
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
|
||
);
|
||
|
||
$projectId = 371231;
|
||
|
||
$sql = "SELECT
|
||
n.notesid,
|
||
n.title,
|
||
n.filelocationtype,
|
||
n.filename,
|
||
n.s3_bucket,
|
||
n.s3_key
|
||
FROM vtiger_notes n
|
||
INNER JOIN vtiger_crmentity e ON e.crmid = n.notesid
|
||
INNER JOIN vtiger_senotesrel snr ON snr.notesid = n.notesid
|
||
WHERE snr.crmid = ? AND e.deleted = 0
|
||
ORDER BY n.notesid DESC";
|
||
|
||
$stmt = $pdo->prepare($sql);
|
||
$stmt->execute([$projectId]);
|
||
$documents = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||
|
||
echo "Проверка поля filename для документов проекта $projectId\n";
|
||
echo str_repeat("=", 80) . "\n\n";
|
||
|
||
foreach ($documents as $doc) {
|
||
echo "ID: {$doc['notesid']}\n";
|
||
echo " Название: {$doc['title']}\n";
|
||
echo " filelocationtype: {$doc['filelocationtype']}\n";
|
||
echo " filename (первые 200 символов): " . substr($doc['filename'], 0, 200) . "\n";
|
||
echo " s3_bucket: " . ($doc['s3_bucket'] ?? 'нет') . "\n";
|
||
echo " s3_key: " . substr($doc['s3_key'] ?? 'нет', 0, 100) . "\n";
|
||
|
||
// Проверяем, является ли filename URL
|
||
$isUrl = filter_var($doc['filename'], FILTER_VALIDATE_URL);
|
||
echo " filename является URL: " . ($isUrl ? 'ДА' : 'НЕТ') . "\n";
|
||
|
||
// Проверяем, начинается ли filename с http
|
||
$isHttp = (strpos($doc['filename'], 'http://') === 0 || strpos($doc['filename'], 'https://') === 0);
|
||
echo " filename начинается с http: " . ($isHttp ? 'ДА' : 'НЕТ') . "\n";
|
||
|
||
echo "\n";
|
||
}
|
||
|