89 lines
2.6 KiB
PHP
89 lines
2.6 KiB
PHP
|
|
<?php
|
|||
|
|
// Диагностика ошибки "Invalid request"
|
|||
|
|
|
|||
|
|
error_reporting(E_ALL);
|
|||
|
|
ini_set('display_errors', 1);
|
|||
|
|
|
|||
|
|
echo "=== Диагностика загрузки файлов ===\n";
|
|||
|
|
|
|||
|
|
// Симулируем POST запрос
|
|||
|
|
$_POST = array(
|
|||
|
|
'module' => 'Documents',
|
|||
|
|
'action' => 'Save',
|
|||
|
|
'notes_title' => 'Test Upload',
|
|||
|
|
'assigned_user_id' => '1'
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
$_FILES = array(
|
|||
|
|
'filename' => array(
|
|||
|
|
'name' => 'test.txt',
|
|||
|
|
'type' => 'text/plain',
|
|||
|
|
'tmp_name' => '/tmp/test_upload.txt',
|
|||
|
|
'error' => 0,
|
|||
|
|
'size' => 100
|
|||
|
|
)
|
|||
|
|
);
|
|||
|
|
|
|||
|
|
// Создаем временный файл
|
|||
|
|
file_put_contents('/tmp/test_upload.txt', 'Test upload content');
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
// Загружаем vTiger
|
|||
|
|
require_once 'config.inc.php';
|
|||
|
|
require_once 'include/utils/utils.php';
|
|||
|
|
|
|||
|
|
echo "✅ vTiger загружен успешно\n";
|
|||
|
|
|
|||
|
|
// Создаем запрос
|
|||
|
|
$request = new Vtiger_Request($_REQUEST, $_REQUEST);
|
|||
|
|
|
|||
|
|
echo "✅ Vtiger_Request создан успешно\n";
|
|||
|
|
|
|||
|
|
// Проверяем модуль и действие
|
|||
|
|
echo "Module: " . $request->get('module') . "\n";
|
|||
|
|
echo "Action: " . $request->get('action') . "\n";
|
|||
|
|
|
|||
|
|
// Проверяем права доступа
|
|||
|
|
$moduleName = $request->getModule();
|
|||
|
|
$actionName = $request->get('action');
|
|||
|
|
|
|||
|
|
echo "Module Name: " . $moduleName . "\n";
|
|||
|
|
echo "Action Name: " . $actionName . "\n";
|
|||
|
|
|
|||
|
|
// Проверяем, существует ли Action
|
|||
|
|
$actionClassName = $moduleName . '_' . $actionName . '_Action';
|
|||
|
|
echo "Action Class: " . $actionClassName . "\n";
|
|||
|
|
|
|||
|
|
if (class_exists($actionClassName)) {
|
|||
|
|
echo "✅ Action класс существует\n";
|
|||
|
|
|
|||
|
|
$action = new $actionClassName();
|
|||
|
|
echo "✅ Action объект создан\n";
|
|||
|
|
|
|||
|
|
// Проверяем права
|
|||
|
|
if (method_exists($action, 'checkPermission')) {
|
|||
|
|
$hasPermission = $action->checkPermission($request);
|
|||
|
|
echo "Permission: " . ($hasPermission ? 'YES' : 'NO') . "\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} else {
|
|||
|
|
echo "❌ Action класс НЕ существует: " . $actionClassName . "\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
} catch (Exception $e) {
|
|||
|
|
echo "❌ Ошибка: " . $e->getMessage() . "\n";
|
|||
|
|
echo "File: " . $e->getFile() . " Line: " . $e->getLine() . "\n";
|
|||
|
|
echo "Trace: " . $e->getTraceAsString() . "\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// Удаляем временный файл
|
|||
|
|
if (file_exists('/tmp/test_upload.txt')) {
|
|||
|
|
unlink('/tmp/test_upload.txt');
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "=== Диагностика завершена ===\n";
|
|||
|
|
?>
|
|||
|
|
|
|||
|
|
|
|||
|
|
|