chore: snapshot current working tree changes
Save all currently accumulated repository changes as a backup snapshot for Gitea so no local work is lost.
This commit is contained in:
112
scripts/check_specific_comment.php
Normal file
112
scripts/check_specific_comment.php
Normal file
@@ -0,0 +1,112 @@
|
||||
<?php
|
||||
/**
|
||||
* Проверка конкретного комментария по ID
|
||||
* Вызов: https://crm.clientright.ru/scripts/check_specific_comment.php?id=519716
|
||||
*/
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', '1');
|
||||
header('Content-Type: text/plain; charset=utf-8');
|
||||
|
||||
chdir(dirname(__DIR__));
|
||||
require_once 'config.inc.php';
|
||||
|
||||
$comment_id = isset($_GET['id']) ? (int)$_GET['id'] : 519716;
|
||||
|
||||
// Прямое подключение к БД
|
||||
$mysqli = new mysqli($dbconfig['db_hostname'], $dbconfig['db_username'], $dbconfig['db_password'], $dbconfig['db_name']);
|
||||
$mysqli->set_charset('utf8');
|
||||
|
||||
if ($mysqli->connect_error) {
|
||||
die("Ошибка подключения: " . $mysqli->connect_error);
|
||||
}
|
||||
|
||||
echo "Проверка комментария ID={$comment_id}\n";
|
||||
echo str_repeat('=', 70) . "\n\n";
|
||||
|
||||
// 1. Проверка vtiger_crmentity
|
||||
$stmt = $mysqli->prepare("SELECT * FROM vtiger_crmentity WHERE crmid = ?");
|
||||
$stmt->bind_param('i', $comment_id);
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
|
||||
if ($result->num_rows === 0) {
|
||||
echo "❌ Запись в vtiger_crmentity НЕ НАЙДЕНА!\n";
|
||||
} else {
|
||||
echo "✅ vtiger_crmentity:\n";
|
||||
$row = $result->fetch_assoc();
|
||||
foreach ($row as $key => $value) {
|
||||
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 2. Проверка vtiger_modcomments
|
||||
$stmt = $mysqli->prepare("SELECT * FROM vtiger_modcomments WHERE modcommentsid = ?");
|
||||
$stmt->bind_param('i', $comment_id);
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
|
||||
if ($result->num_rows === 0) {
|
||||
echo "❌ Запись в vtiger_modcomments НЕ НАЙДЕНА!\n";
|
||||
} else {
|
||||
echo "✅ vtiger_modcomments:\n";
|
||||
$row = $result->fetch_assoc();
|
||||
foreach ($row as $key => $value) {
|
||||
if ($key === 'commentcontent') {
|
||||
echo " {$key}: " . mb_substr($value, 0, 100, 'UTF-8') . "...\n";
|
||||
} else {
|
||||
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 3. Проверка vtiger_modcommentscf
|
||||
$stmt = $mysqli->prepare("SELECT * FROM vtiger_modcommentscf WHERE modcommentsid = ?");
|
||||
$stmt->bind_param('i', $comment_id);
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
|
||||
if ($result->num_rows === 0) {
|
||||
echo "❌ Запись в vtiger_modcommentscf НЕ НАЙДЕНА!\n";
|
||||
} else {
|
||||
echo "✅ vtiger_modcommentscf:\n";
|
||||
$row = $result->fetch_assoc();
|
||||
foreach ($row as $key => $value) {
|
||||
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
||||
}
|
||||
}
|
||||
echo "\n";
|
||||
|
||||
// 4. Попытка выборки с JOIN (как в CRM)
|
||||
$stmt = $mysqli->prepare("
|
||||
SELECT m.modcommentsid, m.commentcontent, m.related_to, m.channel,
|
||||
e.smownerid, e.deleted, e.setype
|
||||
FROM vtiger_modcomments m
|
||||
INNER JOIN vtiger_crmentity e ON e.crmid = m.modcommentsid
|
||||
INNER JOIN vtiger_modcommentscf c ON c.modcommentsid = m.modcommentsid
|
||||
WHERE m.modcommentsid = ? AND e.deleted = 0
|
||||
");
|
||||
$stmt->bind_param('i', $comment_id);
|
||||
$stmt->execute();
|
||||
$result = $stmt->get_result();
|
||||
|
||||
echo str_repeat('=', 70) . "\n";
|
||||
if ($result->num_rows === 0) {
|
||||
echo "❌ С JOIN (как в CRM) — комментарий НЕ ПОПАДАЕТ в выборку!\n";
|
||||
echo " Возможные причины:\n";
|
||||
echo " - deleted = 1 в vtiger_crmentity\n";
|
||||
echo " - Нет записи в vtiger_modcommentscf\n";
|
||||
} else {
|
||||
echo "✅ С JOIN (как в CRM) — комментарий НАЙДЕН:\n";
|
||||
$row = $result->fetch_assoc();
|
||||
foreach ($row as $key => $value) {
|
||||
if ($key === 'commentcontent') {
|
||||
echo " {$key}: " . mb_substr($value, 0, 100, 'UTF-8') . "...\n";
|
||||
} else {
|
||||
echo " {$key}: " . ($value ?? 'NULL') . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$mysqli->close();
|
||||
Reference in New Issue
Block a user