F4ilji
8bc5c367d6
revert: remove deploy UI, controller, actions, tasks, and routes
...
- Remove Deploy/Index.vue, DeployController, DeploySiteAction, DeployTask
- Remove deploy routes from web.php
- Remove deploy menu item from menuConfig
- Remove deploy button and methods from Main.vue
- Remove deploy logging channel from logging.php
- Keep _deploy/ folder for future CI/CD setup
2026-07-02 12:00:48 +05:00
F4ilji
8364b220cc
feat: add Integration Credentials CRUD and Deploy UI
...
Integration Credentials:
- Add IntegrationCredential model with encrypted payload
- Add full CRUD: ManageIntegrationCredentialsAction, 4 Tasks, Controller, Requests
- Add migration for integration_credentials table
- Add Vue pages: Index, Create, Edit
- AI tasks now read API keys from DB instead of .env
- Add sidebar menu item
Deploy UI:
- Add DeployTask with full deploy lifecycle management
- Extend DeployController with index, log, history endpoints
- Add Deploy/Index.vue with live polling and deploy log viewer
- Add sidebar menu item and QuickAction for Sveden
UI:
- Add 'key' icon to SidebarNavItem
- Change deploy button color to amber in Main.vue
2026-07-02 01:03:13 +05:00
F4ilji
09bba25993
feat: add dedicated deploy logging to storage/logs/deploy.log
...
- Add 'deploy' channel in logging.php
- Instrument DeployTask with phpLog() for all state transitions
- Instrument DeploySiteAction with channel('deploy') for triggers, errors, clears
- Logs written to storage/logs/deploy.log (separate from laravel.log)
2026-07-02 00:57:57 +05:00
F4ilji
8bc42f3a9b
feat: add UUID, slug generation and defaults to educational program creation
...
- Auto-generate UUID and unique slug (with education level suffix)
- Set default values for inner_code, learning_forms, direction_study_id
- Slug avoids duplicates by appending numeric suffix
2026-07-02 00:29:38 +05:00
F4ilji
c9fca0bf29
feat: add Sveden update feature
...
- SvedenController: upload zip and extract to public/sveden
- UpdateSvedenAction: orchestrates temp file handling and extraction
- ExtractSvedenArchiveTask: validates and extracts sveden/abitur folders with security checks
- Sveden.vue: upload UI with progress indicator
- Added routes: GET/POST /dashboard/sveden
- Added quick action: Обновить Sveden
2026-06-30 16:12:16 +05:00
F4ilji
886cac5f95
changes
2026-04-15 16:41:08 +05:00
F4ilji
2e77978d5c
changes
2026-04-13 14:37:57 +05:00
F4ilji
5eb5a7bc06
changes
2026-04-10 10:51:42 +05:00
F4ilji
9e35cf848d
changes
2026-04-10 09:01:47 +05:00
F4ilji
1c6f09ed80
changes
2026-04-09 18:17:09 +05:00
F4ilji
0d56ba5a28
changes
2026-04-09 18:09:55 +05:00
F4ilji
419bf112d4
changes
2026-04-09 18:01:10 +05:00
F4ilji
2fc19530ad
changes
2026-04-09 17:54:02 +05:00
F4ilji
c0babe8277
changes
2026-04-09 17:41:22 +05:00
F4ilji
4aa4b9cadf
changes
2026-04-09 17:23:10 +05:00
F4ilji
e986940680
changes
2026-04-09 09:09:17 +05:00
F4ilji
169a2f5654
changes
2026-04-08 14:14:38 +05:00
F4ilji and Qwen-Coder
efec5f3508
refactor(email-tasks): понизить уровень логирования с info до debug для успешных операций
...
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-07 22:06:37 +05:00
F4ilji
936b1fb5b0
changes
2026-04-07 17:54:26 +05:00
F4ilji and Qwen-Coder
cc20906062
fix(IMAP): исправить загрузку вложений — setFetchBody(true) необходим для структуры
...
Проблема: setFetchBody(false) не загружал структуру письма,
поэтому getAttachments() возвращал пустой список.
Исправления:
- FetchUnreadEmailsTask: setFetchBody(true) для загрузки структуры (вложения)
- FetchUnreadEmailsTask: конвертация Attribute в строку для subject
- config/imap.php: убраны fetch_body/fetch_flags (контроль на уровне Query)
- Обновлена документация
Fix: "В письме не найдено вложений" ошибка при обработке email
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-06 22:17:21 +05:00
F4ilji and Qwen-Coder
c115a5c7a7
fix(IMAP): оптимизация обработки email для предотвращения memory exhaustion
...
Корневая проблема: библиотека webklex/php-imap загружала все тела писем
по умолчанию, что приводило к исчерпанию 256MB памяти при 50+ письмах.
Решение (3 уровня):
Уровень 1 - Конфигурация:
- config/imap.php: добавлены fetch_body=false, fetch_flags=false, fetch_limit=20
- php.ini: увеличен memory_limit с 256M до 1G, добавлены OPcache настройки
Уровень 2 - Оптимизация кода:
- FetchUnreadEmailsTask: setFetchBody(false), лимиты, MemoryAwareTrait
- FetchEmailNewsAction: batch-обработка (10 писем), gc_collect_cycles()
- DownloadAttachmentsTask: lazy load вложений, extension whitelist (security)
- ConnectToImapTask: MemoryAwareTrait для мониторинга
Уровень 3 - Инфраструктура:
- ProcessEmailNewsJob: queue job для асинхронной обработки (3 попытки, 300s timeout)
- FetchEmailNewsCommand: поддержка --async режима
- MemoryAwareTrait: reusable трейт для мониторинга памяти
Security fixes:
- Extension whitelist для предотвращения path traversal
- Убраны реальные email из config/imap.php
- Добавлена проверка на null message объект
Docs:
- README_EMAIL_OPTIMIZATION.md: полная документация по оптимизации
Fixes: Allowed memory size of 268435456 bytes exhausted
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com >
2026-04-06 22:08:03 +05:00
F4ilji
4b071d9ef2
Changes
2026-03-27 15:04:43 +05:00
F4ilji
5cf85f08e4
changes
2026-03-23 15:45:49 +05:00
F4ilji
c350f712dc
changes
2026-03-23 12:05:08 +05:00
F4ilji
1256adba98
changes
2026-03-23 10:50:31 +05:00
F4ilji
b1c4f7b054
changes
2026-03-21 15:40:18 +05:00
F4ilji
d0a106159d
changes
2026-03-21 00:53:49 +05:00
F4ilji
836452add6
Changes
2026-03-20 23:35:09 +05:00
F4ilji
c80a52ab86
changes
2026-03-20 22:26:10 +05:00
F4ilji
a3948c872e
Changes
2026-03-20 21:47:02 +05:00
F4ilji
7ff0ffc118
change GetEducationalProgramBySlugTask.php
2026-01-26 11:37:04 +05:00
F4ilji
eeab7cd343
change GetEducationsDataTask.php
2026-01-26 10:01:16 +05:00
F4ilji
2d101dcdda
feat: Refactor MainController and related tasks to follow Porto architecture
...
- Moved logic from MainController to dedicated action and task classes.
- Introduced GetMainPageDataAction, GetEducationsDataTask, GetRecentPostsTask, GetUpcomingEventsTask, and GetPageDataTask for better separation of concerns.
- Updated routes to use the new MainController from the Main container.
- Deprecated the old MainController with a clear message for future removal.
- Updated caching mechanisms to use the new task classes.
- Adjusted environment variable access to use config() instead of env() for better practice.
- Added new MainPageResource for structured data response.
- Updated .gitignore to exclude QWEN.md.
- Added Jenkins service to docker-compose for CI/CD integration.
2025-12-16 12:20:01 +05:00
F4ilji
864795749e
Update pagination limit and improve author display in PostListItem
2025-11-20 15:58:48 +05:00
F4ilji
4146880905
Add time method to TvController and update routes to include time endpoint for TV functionality.
2025-09-28 12:36:38 +05:00
F4ilji
72af09d93d
Add Yandex Metrika integration for tracking; update FindSliderBySlugTask to ensure active slides are filtered correctly based on time; enhance app.blade.php for conditional Yandex Metrika script inclusion based on environment.
2025-09-27 22:35:36 +05:00
F4ilji
02fb2554c1
Enhance FindSliderBySlugTask to filter slides based on current time, ensuring only active slides within the valid time range are retrieved; update SlidesRelationManager to set default and minimum dates for start and end times. Improve Slider component styling for better visibility during loading state.
2025-09-27 14:11:25 +05:00
F4ilji
8b213ee803
Update PHP version requirement to ^8.2 in composer files, refactor User model access control logic, clean up MainSectionResource, enhance EditMainSection to include related pages, modify AppServiceProvider to clear subsection cache, change fallback locale to 'en', and improve DesktopNavBar and BasicFooter components for better accessibility and content accuracy.
2025-09-01 13:48:24 +05:00
F4ilji
478be2e212
Update SlideFactory to set image URL to null, modify SlideResource to make image field optional, and adjust Slider components to display a default image when no URL is provided
2025-08-12 14:50:23 +05:00
F4ilji
e34d49b3f4
add SlideFactory to Slide model and update DatabaseSeeder to include SlideSeeder for improved data seeding
2025-08-11 22:27:15 +05:00
F4ilji
e62b442991
Error correction and preparation of the project for initial deployment
2025-08-11 16:12:10 +05:00
F4ilji
8b2f9e99f0
add 'info' field as an array in DirectionStudy model; update DirectionStudyResource to include tabs for main information and admission details; modify Show.vue to display direction study information; enhance PageItemBlock.vue for better breadcrumb display
2025-07-27 21:33:00 +05:00
F4ilji
a4bdde6382
refactor educational components and API routes; update form handling in various actions and Vue components, enhance user interface for form display, and improve data retrieval logic in CreateAdmissionPlan job
2025-07-27 12:52:04 +05:00
F4ilji
9a1fcbbf9d
update nginx configuration, enhance API route middleware to include 'web', add session middleware to HttpKernel, and improve educational program item and breadcrumbs components for better data display
2025-07-25 17:56:50 +05:00
F4ilji
528a4b24b0
refactor multiple widget controllers; replace caching logic with action classes for data retrieval, enhancing code clarity and maintainability
2025-07-22 18:22:04 +05:00
F4ilji
7a8a6e023d
refactor ClientWidgetFormController; replace validation logic with SubmitWidgetFormAction for improved maintainability and clarity
2025-07-22 13:00:18 +05:00
F4ilji
eac29d8d1c
refactor ClientWidgetContactController and ClientWidgetPageReferenceListController; replace caching logic with action classes for widget data retrieval, enhancing code clarity and maintainability
2025-07-21 22:45:55 +05:00
F4ilji
3cac482409
refactor ClientDepartmentController and ClientFacultyController; replace caching logic with action classes for department and faculty retrieval, enhancing code clarity and maintainability
2025-07-20 18:02:14 +05:00
F4ilji
5179f45ef9
refactoring the InstituteStructure module
2025-07-20 00:37:22 +05:00
F4ilji
4558282da8
refactor ClientAcademicJournalController; replace caching logic with action classes for academic journal retrieval and improve code clarity
2025-07-19 12:49:10 +05:00