Files
crm.clientright.ru/scripts/check_replay_comment_simple.php

105 lines
3.6 KiB
PHP
Raw Normal View History

<?php
/**
* Упрощённая проверка комментариев (прямое подключение к БД)
* Вызов: https://crm.clientright.ru/scripts/check_replay_comment_simple.php?contact_id=392299
*/
error_reporting(E_ALL);
ini_set('display_errors', '1');
chdir(dirname(__DIR__));
require_once 'config.inc.php';
require_once 'include/database/PearDatabase.php';
$contact_id = isset($_GET['contact_id']) ? (int)$_GET['contact_id'] : 392299;
header('Content-Type: text/plain; charset=utf-8');
$adb = new PearDatabase();
$q = $adb->pquery(
"SELECT m.modcommentsid, m.commentcontent, m.related_to, m.channel, m.customer, m.userid,
e.smownerid, e.deleted, e.setype, e.createdtime
FROM vtiger_modcomments m
INNER JOIN vtiger_crmentity e ON e.crmid = m.modcommentsid
WHERE m.related_to = ?
ORDER BY m.modcommentsid DESC
LIMIT 10",
array($contact_id)
);
echo "Комментарии для contact_id={$contact_id}:\n";
echo str_repeat('=', 70) . "\n\n";
if ($adb->num_rows($q) === 0) {
echo "❌ Записей в vtiger_modcomments для этого контакта НЕТ.\n";
exit;
}
$count = $adb->num_rows($q);
echo "✅ Найдено записей: {$count}\n\n";
for ($i = 0; $i < $count; $i++) {
echo "--- Запись #{$i} ---\n";
flush();
try {
$modcommentsid = $adb->query_result($q, $i, 'modcommentsid');
echo "modcommentsid: {$modcommentsid}\n";
flush();
$deleted = $adb->query_result($q, $i, 'deleted');
echo " deleted: " . ($deleted !== false ? $deleted : 'NULL/FALSE') . "\n";
$setype = $adb->query_result($q, $i, 'setype');
echo " setype: {$setype}\n";
$channel = $adb->query_result($q, $i, 'channel');
echo " channel: " . ($channel ? $channel : 'NULL') . "\n";
$smownerid = $adb->query_result($q, $i, 'smownerid');
echo " smownerid: {$smownerid}\n";
$customer = $adb->query_result($q, $i, 'customer');
echo " customer: {$customer}\n";
$userid = $adb->query_result($q, $i, 'userid');
echo " userid: {$userid}\n";
$createdtime = $adb->query_result($q, $i, 'createdtime');
echo " createdtime: {$createdtime}\n";
$commentcontent = $adb->query_result($q, $i, 'commentcontent');
$text_preview = mb_substr($commentcontent, 0, 60, 'UTF-8');
echo " text: {$text_preview}...\n";
echo "\n";
flush();
} catch (Exception $e) {
echo " ОШИБКА при чтении записи: " . $e->getMessage() . "\n\n";
flush();
}
}
// Проверка наличия в modcommentscf
$q2 = $adb->pquery(
"SELECT m.modcommentsid
FROM vtiger_modcomments m
LEFT JOIN vtiger_modcommentscf c ON c.modcommentsid = m.modcommentsid
WHERE m.related_to = ? AND c.modcommentsid IS NULL
ORDER BY m.modcommentsid DESC LIMIT 10",
array($contact_id)
);
$missing_count = $adb->num_rows($q2);
if ($missing_count > 0) {
echo str_repeat('=', 70) . "\n";
echo "⚠️ ВНИМАНИЕ: Комментарии БЕЗ строки в vtiger_modcommentscf: {$missing_count}\n";
echo "(они НЕ попадут в список, т.к. используется INNER JOIN)\n\n";
for ($i = 0; $i < $missing_count; $i++) {
$mid = $adb->query_result($q2, $i, 'modcommentsid');
echo " - modcommentsid: {$mid}\n";
}
} else {
echo str_repeat('=', 70) . "\n";
echo "Все комментарии есть в vtiger_modcommentscf.\n";
}