documentTemplateTimeAssign(); $AVE_Rubric->rubricPermissionFetch(); $AVE_Template->config_load(BASE_DIR . '/admin/lang/' . $_SESSION['admin_language'] . '/docs.txt', 'docs'); $AVE_Template->assign("navi", $AVE_Template->fetch("navi/navi.tpl")); switch($_REQUEST['action']) { case '' : $_docs_template = 'documents/docs.tpl'; if (check_permission_acp('document_view')) { switch($_REQUEST['sub']) { case 'quicksave': $AVE_Document->quickSave(); break; } $AVE_Document->documentListGet(); } // ИСПРАВЛЕНИЕ: Защита $_REQUEST['rubric_id'] $rubric_id = $_REQUEST['rubric_id'] ?? null; if ($rubric_id !== null && is_numeric($rubric_id)) // Если существет файл с ID рубрики if (file_exists(BASE_DIR . '/admin/templates/documents/docs-' . $rubric_id . '.tpl')) $_docs_template = 'documents/docs-' . $rubric_id . '.tpl'; $AVE_Template->assign('content', $AVE_Template->fetch($_docs_template)); break; case 'add_new': if (check_permission_acp('document_view')) { $AVE_Request->requestListFetch(); $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs_add_new.tpl')); } break; case 'showsimple': if (check_permission_acp('document_view')) { $AVE_Document->documentListGet(); $AVE_Template->assign('content', $AVE_Template->fetch('documents/docs_simple.tpl')); } break; case 'edit': if (check_permission_acp('document_view')) { if (isset($_REQUEST['sub']) && $_REQUEST['sub'] != 'save') { $AVE_Navigation->navigationAllItemList(); $AVE_Request->requestListFetch(); } // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Document->documentEdit((int)($_REQUEST['Id'] ?? 0)); } break; case 'copy': if (check_permission_acp('document_view')) { $AVE_Navigation->navigationAllItemList(); $AVE_Request->requestListFetch(); // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Document->documentCopy((int)($_REQUEST['Id'] ?? 0)); } break; case 'new': if (check_permission_acp('document_view')) { if (isset($_REQUEST['sub']) && $_REQUEST['sub'] != 'save') { $AVE_Navigation->navigationAllItemList(); $AVE_Request->requestListFetch(); } // ИСПРАВЛЕНИЕ: Защита $_REQUEST['rubric_id'] $AVE_Document->documentNew((int)($_REQUEST['rubric_id'] ?? 0)); } break; case 'innavi': if (check_permission_acp('document_view') && check_permission_acp('navigation_new')) { $AVE_Document->documentInNavi(); } break; case 'after': if (check_permission_acp('document_view')) { $AVE_Navigation->navigationAllItemList(); $AVE_Document->documentFormAfter(); } break; case 'open': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Navigation->navigationItemStatusOn((int)($_REQUEST['Id'] ?? 0)); $AVE_Document->documentStatusSet((int)($_REQUEST['Id'] ?? 0), 1); } break; case 'close': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Navigation->navigationItemStatusOff((int)($_REQUEST['Id'] ?? 0)); $AVE_Document->documentStatusSet((int)($_REQUEST['Id'] ?? 0), 0); } break; case 'delete': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Navigation->navigationItemStatusOff((int)($_REQUEST['Id'] ?? 0)); $AVE_Document->documentMarkDelete((int)($_REQUEST['Id'] ?? 0)); } break; case 'redelete': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Navigation->navigationItemStatusOn((int)($_REQUEST['Id'] ?? 0)); $AVE_Document->documentUnmarkDelete((int)($_REQUEST['Id'] ?? 0)); } break; case 'enddelete': if (check_permission_acp('alles')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Navigation->navigationItemDeleteFromDoc((int)($_REQUEST['Id'] ?? 0)); $AVE_Document->documentDelete((int)($_REQUEST['Id'] ?? 0)); // Выполняем обновление страницы header('Location:index.php?do=docs&cp=' . SESSION); } break; case 'revision_recover': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита всех ID $AVE_Document->documentRevissionRestore( (int)($_REQUEST['doc_id'] ?? 0), (int)($_REQUEST['revission'] ?? 0), (int)($_REQUEST['rubric_id'] ?? 0) ); } break; case 'revision_delete': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита всех ID $AVE_Document->documentRevissionDelete( (int)($_REQUEST['doc_id'] ?? 0), (int)($_REQUEST['revission'] ?? 0), (int)($_REQUEST['rubric_id'] ?? 0) ); } break; case 'revisions_delete': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита всех ID $AVE_Document->documentRevissionsDelete( (int)($_REQUEST['doc_id'] ?? 0), (int)($_REQUEST['revission'] ?? 0), (int)($_REQUEST['rubric_id'] ?? 0) ); } break; case 'remark': if (check_permission_acp('remark_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Document->documentRemarkNew((int)($_REQUEST['Id'] ?? 0), 0); } break; case 'remark_reply': if (check_permission_acp('remark_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['Id'] $AVE_Document->documentRemarkNew((int)($_REQUEST['Id'] ?? 0), 1); } break; case 'remark_status': if (check_permission_acp('remark_edit')) { // ИСПРАВЛЕНИЕ: Защита ID и статуса $AVE_Document->documentRemarkStatus( (int)($_REQUEST['Id'] ?? 0), (int)($_REQUEST['remark_status'] ?? 0) ); } break; case 'remark_del': if (check_permission_acp('remark_edit')) { // ИСПРАВЛЕНИЕ: Защита ID $AVE_Document->documentRemarkDelete( (int)($_REQUEST['Id'] ?? 0), (int)($_REQUEST['remark_first'] ?? 0) ); } break; case 'change': if (check_permission_acp('document_view')) { $AVE_Document->documentRubricChange(); } break; case 'change_user': if (check_permission_acp('document_view')) { switch($_REQUEST['sub']) { case 'save': $AVE_Document->changeAutorSave(); break; } $AVE_Template->assign('content', $AVE_Template->fetch('documents/user.tpl')); } break; case 'find_user': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['q'] findautor(($_REQUEST['q'] ?? ''), 10); } exit; case 'keywords': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['q'] searchKeywords(($_REQUEST['q'] ?? '')); } exit; case 'editstatus': if (check_permission_acp('document_view')) { $AVE_Document->documentEditStatus(); } break; case 'image_import': // ИСПРАВЛЕНИЕ: Защита $_REQUEST['path'] echo json_encode(array("respons"=>image_multi_import(($_REQUEST['path'] ?? '')), "status"=>"error", "action"=>"return")); exit; case 'translit': $alias = $AVE_Document->documentAliasCreate(); echo($alias ?? ''); // Добавляем защиту на случай, если функция вернула null exit; case 'checkurl': $AVE_Document->documentAliasCheck(); break; case 'aliases': if (check_permission_acp('document_view')) { $AVE_Document->documentAliasHistoryList(); } break; case 'aliases_doc': if (check_permission_acp('document_view')) { // ИСПРАВЛЕНИЕ: Защита $_REQUEST['doc_id'] $AVE_Document->documentAliasListDoc((int)($_REQUEST['doc_id'] ?? 0)); } break; case 'aliases_new': if (check_permission_acp('document_view')) { $AVE_Document->documentAliasNew(); } break; case 'aliases_edit': if (check_permission_acp('document_view')) { $AVE_Document->documentAliasEdit(); } break; case 'aliases_save': if (check_permission_acp('document_view')) { $AVE_Document->documentAliasSave(); } break; case 'aliases_del': if (check_permission_acp('document_view')) { $AVE_Document->documentAliasDel(); } break; case 'redirect': if (check_permission_acp('document_view')) { $AVE_Document->documentSaveRedirect(); } break; case 'changepos': if (check_permission_acp('document_view')) { $AVE_Document->documentPosition(); } break; case 'publish': if (check_permission_acp('document_view')) { $AVE_Document->documentPublish(); } break; case 'recycle': if (check_permission_acp('document_view')) { $AVE_Document->documentRecycle(); } break; } ?>