82 lines
3.8 KiB
PHP
82 lines
3.8 KiB
PHP
<?php
|
||
/**
|
||
* Проверка документов в CRM
|
||
*/
|
||
|
||
// Подключаемся к CRM
|
||
require_once '/var/www/fastuser/data/www/crm.clientright.ru/config.php';
|
||
require_once '/var/www/fastuser/data/www/crm.clientright.ru/include/utils/utils.php';
|
||
|
||
echo "=== Проверка документов в CRM ===\n";
|
||
|
||
try {
|
||
$adb = PearDatabase::getInstance();
|
||
echo "✅ Подключение к базе данных успешно\n";
|
||
|
||
// Проверяем общее количество документов
|
||
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0");
|
||
if ($result) {
|
||
$total = $adb->query_result($result, 0, 'total');
|
||
echo "📄 Всего активных документов: $total\n";
|
||
}
|
||
|
||
// Проверяем документы с проблемными файлами
|
||
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND filelocationtype = 'I' AND (filename IS NULL OR filename = '')");
|
||
if ($result) {
|
||
$problematic = $adb->query_result($result, 0, 'total');
|
||
echo "⚠️ Документов с проблемными файлами: $problematic\n";
|
||
}
|
||
|
||
// Проверяем документы с S3
|
||
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND s3_key IS NOT NULL");
|
||
if ($result) {
|
||
$s3_docs = $adb->query_result($result, 0, 'total');
|
||
echo "☁️ Документов в S3: $s3_docs\n";
|
||
}
|
||
|
||
// Получаем последние 5 документов
|
||
$result = $adb->pquery("SELECT n.notesid, n.title, n.filename, n.filelocationtype, c.createdtime FROM vtiger_notes n LEFT JOIN vtiger_crmentity c ON n.notesid = c.crmid WHERE n.deleted = 0 ORDER BY c.createdtime DESC LIMIT 5");
|
||
if ($result) {
|
||
$numRows = $adb->num_rows($result);
|
||
echo "\n📋 Последние $numRows документов:\n";
|
||
for ($i = 0; $i < $numRows; $i++) {
|
||
$notesid = $adb->query_result($result, $i, 'notesid');
|
||
$title = $adb->query_result($result, $i, 'title');
|
||
$filename = $adb->query_result($result, $i, 'filename');
|
||
$filelocationtype = $adb->query_result($result, $i, 'filelocationtype');
|
||
$createdtime = $adb->query_result($result, $i, 'createdtime');
|
||
|
||
echo " ID: $notesid | Название: $title | Файл: $filename | Тип: $filelocationtype | Создан: $createdtime\n";
|
||
}
|
||
}
|
||
|
||
// Проверяем папки для документов
|
||
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_attachmentsfolder");
|
||
if ($result) {
|
||
$folders = $adb->query_result($result, 0, 'total');
|
||
echo "\n📁 Папок для документов: $folders\n";
|
||
}
|
||
|
||
// Проверяем, есть ли документы без папки
|
||
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND folderid IS NULL");
|
||
if ($result) {
|
||
$no_folder = $adb->query_result($result, 0, 'total');
|
||
echo "⚠️ Документов без папки: $no_folder\n";
|
||
}
|
||
|
||
// Проверяем, есть ли документы с очень большими файлами
|
||
$result = $adb->pquery("SELECT COUNT(*) as total FROM vtiger_notes WHERE deleted = 0 AND filesize > 100000000");
|
||
if ($result) {
|
||
$large_files = $adb->query_result($result, 0, 'total');
|
||
echo "📦 Документов с файлами > 100MB: $large_files\n";
|
||
}
|
||
|
||
} catch (Exception $e) {
|
||
echo "❌ Ошибка: " . $e->getMessage() . "\n";
|
||
echo " Файл: " . $e->getFile() . "\n";
|
||
echo " Строка: " . $e->getLine() . "\n";
|
||
}
|
||
|
||
echo "\n🎉 Проверка завершена!\n";
|
||
?>
|