From 9a45d94bd042b198b261d64e6d31cd5679cdfa57 Mon Sep 17 00:00:00 2001 From: Divarion-D Date: Sat, 28 Feb 2026 18:47:56 +0300 Subject: [PATCH] Moved interfaces/Http -> public folder --- ARCHITECTURE.md | 271 +++++++++--------- src/admin/archive.php | 4 +- src/admin/asns.php | 4 +- src/admin/backups.php | 4 +- src/admin/bouquet.php | 4 +- src/admin/bouquet_order.php | 4 +- src/admin/bouquet_sort.php | 4 +- src/admin/bouquets.php | 4 +- src/admin/cache.php | 4 +- src/admin/channel_order.php | 4 +- src/admin/client_logs.php | 4 +- src/admin/code.php | 4 +- src/admin/codes.php | 4 +- src/admin/created_channel.php | 4 +- src/admin/created_channel_mass.php | 4 +- src/admin/created_channels.php | 4 +- src/admin/credit_logs.php | 4 +- src/admin/dashboard.php | 4 +- src/admin/edit_profile.php | 4 +- src/admin/enigma.php | 4 +- src/admin/enigma_mass.php | 4 +- src/admin/enigmas.php | 4 +- src/admin/epg.php | 4 +- src/admin/epg_view.php | 4 +- src/admin/epgs.php | 4 +- src/admin/episode.php | 4 +- src/admin/episodes.php | 4 +- src/admin/episodes_mass.php | 4 +- src/admin/fingerprint.php | 4 +- src/admin/group.php | 4 +- src/admin/groups.php | 4 +- src/admin/hmac.php | 4 +- src/admin/hmacs.php | 4 +- src/admin/ip.php | 4 +- src/admin/ips.php | 4 +- src/admin/isp.php | 4 +- src/admin/isps.php | 4 +- src/admin/line.php | 4 +- src/admin/line_activity.php | 4 +- src/admin/line_ips.php | 4 +- src/admin/line_mass.php | 4 +- src/admin/lines.php | 4 +- src/admin/live_connections.php | 4 +- src/admin/login_logs.php | 4 +- src/admin/mag.php | 4 +- src/admin/mag_events.php | 4 +- src/admin/mag_mass.php | 4 +- src/admin/mags.php | 4 +- src/admin/magscan_settings.php | 4 +- src/admin/mass_delete.php | 4 +- src/admin/movie.php | 4 +- src/admin/movie_mass.php | 4 +- src/admin/movies.php | 4 +- src/admin/mysql_syslog.php | 4 +- src/admin/ondemand.php | 4 +- src/admin/package.php | 4 +- src/admin/packages.php | 4 +- src/admin/panel_logs.php | 4 +- src/admin/plex.php | 4 +- src/admin/plex_add.php | 4 +- src/admin/process_monitor.php | 4 +- src/admin/profile.php | 4 +- src/admin/profiles.php | 4 +- src/admin/provider.php | 4 +- src/admin/providers.php | 4 +- src/admin/proxies.php | 4 +- src/admin/proxy.php | 4 +- src/admin/queue.php | 4 +- src/admin/quick_tools.php | 4 +- src/admin/radio.php | 4 +- src/admin/radio_mass.php | 4 +- src/admin/radios.php | 4 +- src/admin/record.php | 4 +- src/admin/restream_logs.php | 4 +- src/admin/review.php | 4 +- src/admin/rtmp_ip.php | 4 +- src/admin/rtmp_ips.php | 4 +- src/admin/rtmp_monitor.php | 4 +- src/admin/serie.php | 4 +- src/admin/series.php | 4 +- src/admin/series_mass.php | 4 +- src/admin/server.php | 4 +- src/admin/server_install.php | 4 +- src/admin/server_order.php | 4 +- src/admin/server_view.php | 4 +- src/admin/servers.php | 4 +- src/admin/settings.php | 4 +- src/admin/settings_plex.php | 4 +- src/admin/settings_watch.php | 4 +- src/admin/setup.php | 4 +- src/admin/stream.php | 4 +- src/admin/stream_categories.php | 4 +- src/admin/stream_category.php | 4 +- src/admin/stream_errors.php | 4 +- src/admin/stream_mass.php | 4 +- src/admin/stream_rank.php | 4 +- src/admin/stream_review.php | 4 +- src/admin/stream_tools.php | 4 +- src/admin/stream_view.php | 4 +- src/admin/streams.php | 4 +- src/admin/theft_detection.php | 4 +- src/admin/ticket.php | 4 +- src/admin/ticket_view.php | 4 +- src/admin/tickets.php | 4 +- src/admin/user.php | 4 +- src/admin/user_logs.php | 4 +- src/admin/user_mass.php | 4 +- src/admin/useragent.php | 4 +- src/admin/useragents.php | 4 +- src/admin/users.php | 4 +- src/admin/watch.php | 4 +- src/admin/watch_add.php | 4 +- src/admin/watch_output.php | 4 +- src/autoload.php | 2 +- src/bin/nginx/conf/codes/template | 6 +- src/domain/Stream/CronGenerator.php | 2 +- src/includes/CoreUtilities.php | 34 ++- .../Controllers/Admin/ArchiveController.php | 0 .../Controllers/Admin/AsnsController.php | 0 .../Controllers/Admin/BackupsController.php | 0 .../Controllers/Admin/BaseAdminController.php | 10 +- .../Controllers/Admin/BouquetController.php | 0 .../Admin/BouquetListController.php | 0 .../Admin/BouquetOrderController.php | 0 .../Admin/BouquetSortController.php | 0 .../Controllers/Admin/CacheController.php | 0 .../Admin/ChannelOrderController.php | 0 .../Controllers/Admin/ClientLogController.php | 0 .../Controllers/Admin/CodeController.php | 0 .../Controllers/Admin/CodeEditController.php | 0 .../Admin/CreatedChannelController.php | 0 .../Admin/CreatedChannelListController.php | 0 .../Admin/CreatedChannelMassController.php | 0 .../Admin/CreditLogsController.php | 0 .../Controllers/Admin/DashboardController.php | 0 .../Admin/EditProfileController.php | 0 .../Controllers/Admin/EnigmaController.php | 0 .../Admin/EnigmaMassController.php | 0 .../Controllers/Admin/EnigmasController.php | 0 .../Controllers/Admin/EpgController.php | 0 .../Controllers/Admin/EpgListController.php | 0 .../Controllers/Admin/EpgViewController.php | 0 .../Controllers/Admin/EpisodeController.php | 0 .../Admin/EpisodeListController.php | 0 .../Admin/EpisodeMassController.php | 0 .../Admin/FingerprintController.php | 0 .../Controllers/Admin/GroupController.php | 0 .../Controllers/Admin/GroupEditController.php | 0 .../Controllers/Admin/HmacController.php | 0 .../Controllers/Admin/HmacEditController.php | 0 .../Controllers/Admin/IpController.php | 0 .../Controllers/Admin/IpEditController.php | 0 .../Controllers/Admin/IspController.php | 0 .../Controllers/Admin/IspEditController.php | 0 .../Admin/LineActivityController.php | 0 .../Controllers/Admin/LineController.php | 0 .../Controllers/Admin/LineIpsController.php | 0 .../Controllers/Admin/LineListController.php | 0 .../Controllers/Admin/LineMassController.php | 0 .../Admin/LiveConnectionsController.php | 0 .../Controllers/Admin/LoginLogController.php | 0 .../Controllers/Admin/MagController.php | 0 .../Controllers/Admin/MagEventController.php | 0 .../Controllers/Admin/MagMassController.php | 0 .../Controllers/Admin/MagsController.php | 0 .../Admin/MagscanSettingsController.php | 0 .../Admin/MassDeleteController.php | 0 .../Controllers/Admin/MovieController.php | 0 .../Controllers/Admin/MovieListController.php | 0 .../Controllers/Admin/MovieMassController.php | 0 .../Admin/MysqlSyslogController.php | 0 .../Controllers/Admin/OndemandController.php | 0 .../Controllers/Admin/PackageController.php | 0 .../Admin/PackageEditController.php | 0 .../Controllers/Admin/PanelLogController.php | 0 .../Controllers/Admin/PlexAddController.php | 0 .../Controllers/Admin/PlexController.php | 0 .../Admin/ProcessMonitorController.php | 0 .../Controllers/Admin/ProfileController.php | 0 .../Admin/ProfileEditController.php | 0 .../Controllers/Admin/ProviderController.php | 0 .../Admin/ProviderEditController.php | 0 .../Controllers/Admin/ProxiesController.php | 0 .../Controllers/Admin/ProxyController.php | 0 .../Controllers/Admin/QueueController.php | 0 .../Admin/QuickToolsController.php | 0 .../Controllers/Admin/RadioController.php | 0 .../Controllers/Admin/RadioListController.php | 0 .../Controllers/Admin/RadioMassController.php | 0 .../Controllers/Admin/RecordController.php | 0 .../Admin/RestreamLogController.php | 0 .../Controllers/Admin/ReviewController.php | 0 .../Controllers/Admin/RtmpIpController.php | 0 .../Admin/RtmpIpEditController.php | 0 .../Admin/RtmpMonitorController.php | 0 .../Controllers/Admin/SerieController.php | 0 .../Admin/SeriesListController.php | 0 .../Admin/SeriesMassController.php | 0 .../Controllers/Admin/ServerController.php | 0 .../Admin/ServerInstallController.php | 0 .../Admin/ServerListController.php | 0 .../Admin/ServerOrderController.php | 0 .../Admin/ServerViewController.php | 0 .../Controllers/Admin/SettingsController.php | 0 .../Admin/SettingsPlexController.php | 0 .../Admin/SettingsWatchController.php | 0 .../Admin/StreamCategoriesController.php | 0 .../Admin/StreamCategoryController.php | 0 .../Controllers/Admin/StreamController.php | 0 .../Admin/StreamErrorsController.php | 0 .../Admin/StreamListController.php | 0 .../Admin/StreamMassController.php | 0 .../Admin/StreamRankController.php | 0 .../Admin/StreamReviewController.php | 0 .../Admin/StreamToolsController.php | 0 .../Admin/StreamViewController.php | 0 .../Admin/TheftDetectionController.php | 0 .../Controllers/Admin/TicketController.php | 0 .../Admin/TicketViewController.php | 0 .../Controllers/Admin/TicketsController.php | 0 .../Controllers/Admin/UserController.php | 0 .../Controllers/Admin/UserLogsController.php | 0 .../Controllers/Admin/UserMassController.php | 0 .../Controllers/Admin/UseragentController.php | 0 .../Admin/UseragentsController.php | 0 .../Controllers/Admin/UsersController.php | 0 .../Controllers/Admin/WatchAddController.php | 0 .../Controllers/Admin/WatchController.php | 0 .../Admin/WatchOutputController.php | 0 .../Reseller/BaseResellerController.php | 0 .../ResellerCreatedChannelsController.php | 0 .../Reseller/ResellerDashboardController.php | 0 .../ResellerEditProfileController.php | 0 .../Reseller/ResellerEnigmaController.php | 0 .../Reseller/ResellerEnigmasController.php | 0 .../Reseller/ResellerEpgViewController.php | 0 .../Reseller/ResellerEpisodesController.php | 0 .../ResellerLineActivityController.php | 0 .../Reseller/ResellerLineController.php | 0 .../Reseller/ResellerLinesController.php | 0 .../ResellerLiveConnectionsController.php | 0 .../Reseller/ResellerMagController.php | 0 .../Reseller/ResellerMagsController.php | 0 .../Reseller/ResellerMoviesController.php | 0 .../Reseller/ResellerRadiosController.php | 0 .../Reseller/ResellerStreamsController.php | 0 .../Reseller/ResellerTicketController.php | 0 .../Reseller/ResellerTicketViewController.php | 0 .../Reseller/ResellerTicketsController.php | 0 .../Reseller/ResellerUserController.php | 0 .../Reseller/ResellerUserLogsController.php | 0 .../Reseller/ResellerUsersController.php | 0 .../Http => public}/Views/admin/archive.php | 0 .../Http => public}/Views/admin/asns.php | 0 .../Http => public}/Views/admin/backups.php | 0 .../Http => public}/Views/admin/bouquet.php | 0 .../Views/admin/bouquet_order.php | 0 .../Views/admin/bouquet_sort.php | 0 .../Http => public}/Views/admin/bouquets.php | 0 .../Http => public}/Views/admin/cache.php | 0 .../Views/admin/channel_order.php | 0 .../Views/admin/client_logs.php | 0 .../Http => public}/Views/admin/code.php | 0 .../Http => public}/Views/admin/codes.php | 0 .../Views/admin/created_channel.php | 0 .../Views/admin/created_channel_mass.php | 0 .../Views/admin/created_channels.php | 0 .../Views/admin/credit_logs.php | 0 .../Http => public}/Views/admin/dashboard.php | 0 .../Views/admin/edit_profile.php | 0 .../Http => public}/Views/admin/enigma.php | 0 .../Views/admin/enigma_mass.php | 0 .../Http => public}/Views/admin/enigmas.php | 0 .../Http => public}/Views/admin/epg.php | 0 .../Http => public}/Views/admin/epg_view.php | 0 .../Http => public}/Views/admin/epgs.php | 0 .../Http => public}/Views/admin/episode.php | 0 .../Http => public}/Views/admin/episodes.php | 0 .../Views/admin/episodes_mass.php | 0 .../Views/admin/fingerprint.php | 0 .../Http => public}/Views/admin/group.php | 0 .../Http => public}/Views/admin/groups.php | 0 .../Http => public}/Views/admin/hmac.php | 0 .../Http => public}/Views/admin/hmacs.php | 0 .../Http => public}/Views/admin/ip.php | 0 .../Http => public}/Views/admin/ips.php | 0 .../Http => public}/Views/admin/isp.php | 0 .../Http => public}/Views/admin/isps.php | 0 .../Http => public}/Views/admin/line.php | 0 .../Views/admin/line_activity.php | 0 .../Http => public}/Views/admin/line_ips.php | 0 .../Http => public}/Views/admin/line_mass.php | 0 .../Http => public}/Views/admin/lines.php | 0 .../Views/admin/live_connections.php | 0 .../Views/admin/login_logs.php | 0 .../Http => public}/Views/admin/mag.php | 0 .../Views/admin/mag_events.php | 0 .../Http => public}/Views/admin/mag_mass.php | 0 .../Http => public}/Views/admin/mags.php | 0 .../Views/admin/magscan_settings.php | 0 .../Views/admin/mass_delete.php | 0 .../Http => public}/Views/admin/movie.php | 0 .../Views/admin/movie_mass.php | 0 .../Http => public}/Views/admin/movies.php | 0 .../Views/admin/mysql_syslog.php | 0 .../Http => public}/Views/admin/ondemand.php | 0 .../Http => public}/Views/admin/package.php | 0 .../Http => public}/Views/admin/packages.php | 0 .../Views/admin/panel_logs.php | 0 .../Http => public}/Views/admin/plex.php | 0 .../Http => public}/Views/admin/plex_add.php | 0 .../Views/admin/process_monitor.php | 0 .../Http => public}/Views/admin/profile.php | 0 .../Http => public}/Views/admin/profiles.php | 0 .../Http => public}/Views/admin/provider.php | 0 .../Http => public}/Views/admin/providers.php | 0 .../Http => public}/Views/admin/proxies.php | 0 .../Http => public}/Views/admin/proxy.php | 0 .../Http => public}/Views/admin/queue.php | 0 .../Views/admin/quick_tools.php | 0 .../Http => public}/Views/admin/radio.php | 0 .../Views/admin/radio_mass.php | 0 .../Http => public}/Views/admin/radios.php | 0 .../Http => public}/Views/admin/record.php | 0 .../Views/admin/restream_logs.php | 0 .../Http => public}/Views/admin/review.php | 0 .../Http => public}/Views/admin/rtmp_ip.php | 0 .../Http => public}/Views/admin/rtmp_ips.php | 0 .../Views/admin/rtmp_monitor.php | 0 .../Http => public}/Views/admin/serie.php | 0 .../Http => public}/Views/admin/series.php | 0 .../Views/admin/series_mass.php | 0 .../Http => public}/Views/admin/server.php | 0 .../Views/admin/server_install.php | 0 .../Views/admin/server_order.php | 0 .../Views/admin/server_view.php | 0 .../Http => public}/Views/admin/servers.php | 0 .../Http => public}/Views/admin/settings.php | 0 .../Views/admin/settings_plex.php | 0 .../Views/admin/settings_watch.php | 0 .../Http => public}/Views/admin/stream.php | 0 .../Views/admin/stream_categories.php | 0 .../Views/admin/stream_category.php | 0 .../Views/admin/stream_errors.php | 0 .../Views/admin/stream_mass.php | 0 .../Views/admin/stream_rank.php | 0 .../Views/admin/stream_review.php | 0 .../Views/admin/stream_tools.php | 0 .../Views/admin/stream_view.php | 0 .../Http => public}/Views/admin/streams.php | 0 .../Views/admin/theft_detection.php | 0 .../Http => public}/Views/admin/ticket.php | 0 .../Views/admin/ticket_view.php | 0 .../Http => public}/Views/admin/tickets.php | 0 .../Http => public}/Views/admin/user.php | 0 .../Http => public}/Views/admin/user_logs.php | 0 .../Http => public}/Views/admin/user_mass.php | 0 .../Http => public}/Views/admin/useragent.php | 0 .../Views/admin/useragents.php | 0 .../Http => public}/Views/admin/users.php | 0 .../Http => public}/Views/admin/watch.php | 0 .../Http => public}/Views/admin/watch_add.php | 0 .../Views/admin/watch_output.php | 0 .../Http => public}/Views/layouts/admin.php | 2 +- .../Http => public}/Views/layouts/footer.php | 2 +- .../Views/reseller/created_channels.php | 0 .../Views/reseller/dashboard.php | 0 .../Views/reseller/edit_profile.php | 0 .../Http => public}/Views/reseller/enigma.php | 0 .../Views/reseller/enigmas.php | 0 .../Views/reseller/epg_view.php | 0 .../Views/reseller/episodes.php | 0 .../Http => public}/Views/reseller/line.php | 0 .../Views/reseller/line_activity.php | 0 .../Http => public}/Views/reseller/lines.php | 0 .../Views/reseller/live_connections.php | 0 .../Http => public}/Views/reseller/mag.php | 0 .../Http => public}/Views/reseller/mags.php | 0 .../Http => public}/Views/reseller/movies.php | 0 .../Http => public}/Views/reseller/radios.php | 0 .../Views/reseller/streams.php | 0 .../Http => public}/Views/reseller/ticket.php | 0 .../Views/reseller/ticket_view.php | 0 .../Views/reseller/tickets.php | 0 .../Http => public}/Views/reseller/user.php | 0 .../Views/reseller/user_logs.php | 0 .../Http => public}/Views/reseller/users.php | 0 src/{interfaces/Http => }/public/index.php | 12 +- .../Http => public}/routes/admin.php | 2 +- .../Http => public}/routes/reseller.php | 2 +- src/reseller/created_channels.php | 4 +- src/reseller/dashboard.php | 4 +- src/reseller/edit_profile.php | 4 +- src/reseller/enigma.php | 4 +- src/reseller/enigmas.php | 4 +- src/reseller/epg_view.php | 4 +- src/reseller/episodes.php | 4 +- src/reseller/line.php | 4 +- src/reseller/line_activity.php | 4 +- src/reseller/lines.php | 4 +- src/reseller/live_connections.php | 4 +- src/reseller/mag.php | 4 +- src/reseller/mags.php | 4 +- src/reseller/movies.php | 4 +- src/reseller/radios.php | 4 +- src/reseller/streams.php | 4 +- src/reseller/ticket.php | 4 +- src/reseller/ticket_view.php | 4 +- src/reseller/tickets.php | 4 +- src/reseller/user.php | 4 +- src/reseller/user_logs.php | 4 +- src/reseller/users.php | 4 +- 412 files changed, 447 insertions(+), 434 deletions(-) rename src/{interfaces/Http => public}/Controllers/Admin/ArchiveController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/AsnsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/BackupsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/BaseAdminController.php (93%) rename src/{interfaces/Http => public}/Controllers/Admin/BouquetController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/BouquetListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/BouquetOrderController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/BouquetSortController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CacheController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ChannelOrderController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ClientLogController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CodeController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CodeEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CreatedChannelController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CreatedChannelListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CreatedChannelMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/CreditLogsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/DashboardController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EditProfileController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EnigmaController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EnigmaMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EnigmasController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EpgController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EpgListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EpgViewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EpisodeController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EpisodeListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/EpisodeMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/FingerprintController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/GroupController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/GroupEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/HmacController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/HmacEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/IpController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/IpEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/IspController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/IspEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LineActivityController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LineController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LineIpsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LineListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LineMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LiveConnectionsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/LoginLogController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MagController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MagEventController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MagMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MagsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MagscanSettingsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MassDeleteController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MovieController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MovieListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MovieMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/MysqlSyslogController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/OndemandController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/PackageController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/PackageEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/PanelLogController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/PlexAddController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/PlexController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProcessMonitorController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProfileController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProfileEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProviderController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProviderEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProxiesController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ProxyController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/QueueController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/QuickToolsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RadioController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RadioListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RadioMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RecordController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RestreamLogController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ReviewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RtmpIpController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RtmpIpEditController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/RtmpMonitorController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/SerieController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/SeriesListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/SeriesMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ServerController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ServerInstallController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ServerListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ServerOrderController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/ServerViewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/SettingsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/SettingsPlexController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/SettingsWatchController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamCategoriesController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamCategoryController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamErrorsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamListController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamRankController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamReviewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamToolsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/StreamViewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/TheftDetectionController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/TicketController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/TicketViewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/TicketsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/UserController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/UserLogsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/UserMassController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/UseragentController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/UseragentsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/UsersController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/WatchAddController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/WatchController.php (100%) rename src/{interfaces/Http => public}/Controllers/Admin/WatchOutputController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/BaseResellerController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerCreatedChannelsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerDashboardController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerEditProfileController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerEnigmaController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerEnigmasController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerEpgViewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerEpisodesController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerLineActivityController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerLineController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerLinesController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerLiveConnectionsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerMagController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerMagsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerMoviesController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerRadiosController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerStreamsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerTicketController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerTicketViewController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerTicketsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerUserController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerUserLogsController.php (100%) rename src/{interfaces/Http => public}/Controllers/Reseller/ResellerUsersController.php (100%) rename src/{interfaces/Http => public}/Views/admin/archive.php (100%) rename src/{interfaces/Http => public}/Views/admin/asns.php (100%) rename src/{interfaces/Http => public}/Views/admin/backups.php (100%) rename src/{interfaces/Http => public}/Views/admin/bouquet.php (100%) rename src/{interfaces/Http => public}/Views/admin/bouquet_order.php (100%) rename src/{interfaces/Http => public}/Views/admin/bouquet_sort.php (100%) rename src/{interfaces/Http => public}/Views/admin/bouquets.php (100%) rename src/{interfaces/Http => public}/Views/admin/cache.php (100%) rename src/{interfaces/Http => public}/Views/admin/channel_order.php (100%) rename src/{interfaces/Http => public}/Views/admin/client_logs.php (100%) rename src/{interfaces/Http => public}/Views/admin/code.php (100%) rename src/{interfaces/Http => public}/Views/admin/codes.php (100%) rename src/{interfaces/Http => public}/Views/admin/created_channel.php (100%) rename src/{interfaces/Http => public}/Views/admin/created_channel_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/created_channels.php (100%) rename src/{interfaces/Http => public}/Views/admin/credit_logs.php (100%) rename src/{interfaces/Http => public}/Views/admin/dashboard.php (100%) rename src/{interfaces/Http => public}/Views/admin/edit_profile.php (100%) rename src/{interfaces/Http => public}/Views/admin/enigma.php (100%) rename src/{interfaces/Http => public}/Views/admin/enigma_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/enigmas.php (100%) rename src/{interfaces/Http => public}/Views/admin/epg.php (100%) rename src/{interfaces/Http => public}/Views/admin/epg_view.php (100%) rename src/{interfaces/Http => public}/Views/admin/epgs.php (100%) rename src/{interfaces/Http => public}/Views/admin/episode.php (100%) rename src/{interfaces/Http => public}/Views/admin/episodes.php (100%) rename src/{interfaces/Http => public}/Views/admin/episodes_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/fingerprint.php (100%) rename src/{interfaces/Http => public}/Views/admin/group.php (100%) rename src/{interfaces/Http => public}/Views/admin/groups.php (100%) rename src/{interfaces/Http => public}/Views/admin/hmac.php (100%) rename src/{interfaces/Http => public}/Views/admin/hmacs.php (100%) rename src/{interfaces/Http => public}/Views/admin/ip.php (100%) rename src/{interfaces/Http => public}/Views/admin/ips.php (100%) rename src/{interfaces/Http => public}/Views/admin/isp.php (100%) rename src/{interfaces/Http => public}/Views/admin/isps.php (100%) rename src/{interfaces/Http => public}/Views/admin/line.php (100%) rename src/{interfaces/Http => public}/Views/admin/line_activity.php (100%) rename src/{interfaces/Http => public}/Views/admin/line_ips.php (100%) rename src/{interfaces/Http => public}/Views/admin/line_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/lines.php (100%) rename src/{interfaces/Http => public}/Views/admin/live_connections.php (100%) rename src/{interfaces/Http => public}/Views/admin/login_logs.php (100%) rename src/{interfaces/Http => public}/Views/admin/mag.php (100%) rename src/{interfaces/Http => public}/Views/admin/mag_events.php (100%) rename src/{interfaces/Http => public}/Views/admin/mag_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/mags.php (100%) rename src/{interfaces/Http => public}/Views/admin/magscan_settings.php (100%) rename src/{interfaces/Http => public}/Views/admin/mass_delete.php (100%) rename src/{interfaces/Http => public}/Views/admin/movie.php (100%) rename src/{interfaces/Http => public}/Views/admin/movie_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/movies.php (100%) rename src/{interfaces/Http => public}/Views/admin/mysql_syslog.php (100%) rename src/{interfaces/Http => public}/Views/admin/ondemand.php (100%) rename src/{interfaces/Http => public}/Views/admin/package.php (100%) rename src/{interfaces/Http => public}/Views/admin/packages.php (100%) rename src/{interfaces/Http => public}/Views/admin/panel_logs.php (100%) rename src/{interfaces/Http => public}/Views/admin/plex.php (100%) rename src/{interfaces/Http => public}/Views/admin/plex_add.php (100%) rename src/{interfaces/Http => public}/Views/admin/process_monitor.php (100%) rename src/{interfaces/Http => public}/Views/admin/profile.php (100%) rename src/{interfaces/Http => public}/Views/admin/profiles.php (100%) rename src/{interfaces/Http => public}/Views/admin/provider.php (100%) rename src/{interfaces/Http => public}/Views/admin/providers.php (100%) rename src/{interfaces/Http => public}/Views/admin/proxies.php (100%) rename src/{interfaces/Http => public}/Views/admin/proxy.php (100%) rename src/{interfaces/Http => public}/Views/admin/queue.php (100%) rename src/{interfaces/Http => public}/Views/admin/quick_tools.php (100%) rename src/{interfaces/Http => public}/Views/admin/radio.php (100%) rename src/{interfaces/Http => public}/Views/admin/radio_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/radios.php (100%) rename src/{interfaces/Http => public}/Views/admin/record.php (100%) rename src/{interfaces/Http => public}/Views/admin/restream_logs.php (100%) rename src/{interfaces/Http => public}/Views/admin/review.php (100%) rename src/{interfaces/Http => public}/Views/admin/rtmp_ip.php (100%) rename src/{interfaces/Http => public}/Views/admin/rtmp_ips.php (100%) rename src/{interfaces/Http => public}/Views/admin/rtmp_monitor.php (100%) rename src/{interfaces/Http => public}/Views/admin/serie.php (100%) rename src/{interfaces/Http => public}/Views/admin/series.php (100%) rename src/{interfaces/Http => public}/Views/admin/series_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/server.php (100%) rename src/{interfaces/Http => public}/Views/admin/server_install.php (100%) rename src/{interfaces/Http => public}/Views/admin/server_order.php (100%) rename src/{interfaces/Http => public}/Views/admin/server_view.php (100%) rename src/{interfaces/Http => public}/Views/admin/servers.php (100%) rename src/{interfaces/Http => public}/Views/admin/settings.php (100%) rename src/{interfaces/Http => public}/Views/admin/settings_plex.php (100%) rename src/{interfaces/Http => public}/Views/admin/settings_watch.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_categories.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_category.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_errors.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_rank.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_review.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_tools.php (100%) rename src/{interfaces/Http => public}/Views/admin/stream_view.php (100%) rename src/{interfaces/Http => public}/Views/admin/streams.php (100%) rename src/{interfaces/Http => public}/Views/admin/theft_detection.php (100%) rename src/{interfaces/Http => public}/Views/admin/ticket.php (100%) rename src/{interfaces/Http => public}/Views/admin/ticket_view.php (100%) rename src/{interfaces/Http => public}/Views/admin/tickets.php (100%) rename src/{interfaces/Http => public}/Views/admin/user.php (100%) rename src/{interfaces/Http => public}/Views/admin/user_logs.php (100%) rename src/{interfaces/Http => public}/Views/admin/user_mass.php (100%) rename src/{interfaces/Http => public}/Views/admin/useragent.php (100%) rename src/{interfaces/Http => public}/Views/admin/useragents.php (100%) rename src/{interfaces/Http => public}/Views/admin/users.php (100%) rename src/{interfaces/Http => public}/Views/admin/watch.php (100%) rename src/{interfaces/Http => public}/Views/admin/watch_add.php (100%) rename src/{interfaces/Http => public}/Views/admin/watch_output.php (100%) rename src/{interfaces/Http => public}/Views/layouts/admin.php (97%) rename src/{interfaces/Http => public}/Views/layouts/footer.php (97%) rename src/{interfaces/Http => public}/Views/reseller/created_channels.php (100%) rename src/{interfaces/Http => public}/Views/reseller/dashboard.php (100%) rename src/{interfaces/Http => public}/Views/reseller/edit_profile.php (100%) rename src/{interfaces/Http => public}/Views/reseller/enigma.php (100%) rename src/{interfaces/Http => public}/Views/reseller/enigmas.php (100%) rename src/{interfaces/Http => public}/Views/reseller/epg_view.php (100%) rename src/{interfaces/Http => public}/Views/reseller/episodes.php (100%) rename src/{interfaces/Http => public}/Views/reseller/line.php (100%) rename src/{interfaces/Http => public}/Views/reseller/line_activity.php (100%) rename src/{interfaces/Http => public}/Views/reseller/lines.php (100%) rename src/{interfaces/Http => public}/Views/reseller/live_connections.php (100%) rename src/{interfaces/Http => public}/Views/reseller/mag.php (100%) rename src/{interfaces/Http => public}/Views/reseller/mags.php (100%) rename src/{interfaces/Http => public}/Views/reseller/movies.php (100%) rename src/{interfaces/Http => public}/Views/reseller/radios.php (100%) rename src/{interfaces/Http => public}/Views/reseller/streams.php (100%) rename src/{interfaces/Http => public}/Views/reseller/ticket.php (100%) rename src/{interfaces/Http => public}/Views/reseller/ticket_view.php (100%) rename src/{interfaces/Http => public}/Views/reseller/tickets.php (100%) rename src/{interfaces/Http => public}/Views/reseller/user.php (100%) rename src/{interfaces/Http => public}/Views/reseller/user_logs.php (100%) rename src/{interfaces/Http => public}/Views/reseller/users.php (100%) rename src/{interfaces/Http => }/public/index.php (97%) rename src/{interfaces/Http => public}/routes/admin.php (99%) rename src/{interfaces/Http => public}/routes/reseller.php (98%) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 79622c69..a4d1136f 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -109,7 +109,7 @@ domain/Stream/ ├── StreamRepository.php # SQL-запросы (SELECT/INSERT/UPDATE/DELETE) └── StreamProcess.php # Специализированные операции (ffmpeg, kill) -interfaces/Http/Controllers/Admin/ +public/Controllers/Admin/ └── StreamController.php # Принять запрос → вызвать Service → отдать ответ ``` @@ -125,11 +125,11 @@ Controller → Service → Repository → Database | Слой | Можно зависеть от | НЕЛЬЗЯ зависеть от | |------|-------------------|--------------------| -| `interfaces/` | `domain/` (Service + Repository), `core/` | `streaming/`, `modules/` напрямую | -| `domain/` | `core/` (Database, Cache, Events) | `interfaces/`, `streaming/`, `modules/`, `infrastructure/` | +| `public/` | `domain/` (Service + Repository), `core/` | `streaming/`, `modules/` напрямую | +| `domain/` | `core/` (Database, Cache, Events) | `public/`, `streaming/`, `modules/`, `infrastructure/` | | `core/` | Только другие `core/` подкаталоги | Всё остальное | -| `streaming/` | `core/` (subset), `domain/` (read-only queries) | `interfaces/`, `modules/` | -| `modules/` | `domain/` (Service, Repository), `core/` | Другие модули (без явной зависимости), `interfaces/`, `streaming/` | +| `streaming/` | `core/` (subset), `domain/` (read-only queries) | `public/`, `modules/` | +| `modules/` | `domain/` (Service, Repository), `core/` | Другие модули (без явной зависимости), `public/`, `streaming/` | ### 2.1. Инверсия зависимостей @@ -381,91 +381,90 @@ src/ │ ├── DivergenceDetector.php # Мониторинг качества │ └── BitrateTracker.php # Отслеживание bitrate/FPS │ -├── interfaces/ # ═══ ТОЧКИ ВХОДА (UI, API, CLI) ═══ -│ ├── Http/ -│ │ ├── public/ # Web root (nginx document root) -│ │ │ ├── index.php # Единая точка входа (front controller) -│ │ │ ├── stream.php # Точка входа для стриминга -│ │ │ └── assets/ # CSS/JS/images/fonts -│ │ │ ├── admin/ -│ │ │ └── player/ -│ │ │ -│ │ ├── Controllers/ -│ │ │ ├── Admin/ -│ │ │ │ ├── DashboardController.php -│ │ │ │ ├── StreamController.php -│ │ │ │ ├── LineController.php -│ │ │ │ ├── VodController.php -│ │ │ │ ├── ServerController.php -│ │ │ │ ├── SettingsController.php -│ │ │ │ ├── UserController.php -│ │ │ │ ├── BouquetController.php -│ │ │ │ ├── EpgController.php -│ │ │ │ └── ... (по одному на доменную область) -│ │ │ │ -│ │ │ ├── Reseller/ -│ │ │ │ ├── DashboardController.php -│ │ │ │ ├── LineController.php -│ │ │ │ └── ... (только разрешённые действия) -│ │ │ │ -│ │ │ └── Api/ -│ │ │ ├── AdminApiController.php -│ │ │ ├── ResellerApiController.php -│ │ │ ├── PlayerApiController.php # Публичный player API -│ │ │ └── InternalApiController.php # Межсерверный API (текущий www/api.php) -│ │ │ -│ │ └── Views/ -│ │ ├── layouts/ -│ │ │ ├── admin.php # Header + footer шаблон для admin -│ │ │ └── reseller.php # Header + footer шаблон для reseller -│ │ │ -│ │ ├── admin/ -│ │ │ ├── dashboard.php -│ │ │ ├── streams/ -│ │ │ │ ├── list.php -│ │ │ │ ├── edit.php -│ │ │ │ └── view.php -│ │ │ ├── lines/ -│ │ │ ├── vod/ -│ │ │ ├── servers/ -│ │ │ └── settings/ -│ │ │ -│ │ ├── reseller/ -│ │ │ ├── dashboard.php -│ │ │ └── ... -│ │ │ -│ │ └── partials/ -│ │ ├── modals.php -│ │ ├── topbar.php -│ │ └── table.php +├── public/ # ═══ ТОЧКИ ВХОДА — HTTP (UI, API) ═══ +│ ├── index.php # Единая точка входа (front controller) │ │ -│ ├── Cli/ -│ │ ├── Commands/ -│ │ │ ├── StartupCommand.php # cli/startup.php -│ │ │ ├── WatchdogCommand.php # cli/watchdog.php -│ │ │ ├── MonitorCommand.php # cli/monitor.php -│ │ │ ├── CacheHandlerCommand.php # cli/cache_handler.php -│ │ │ ├── QueueCommand.php # cli/queue.php -│ │ │ ├── SignalsCommand.php # cli/signals.php -│ │ │ ├── ScannerCommand.php # cli/scanner.php -│ │ │ ├── MigrateCommand.php # Из status -│ │ │ └── ToolsCommand.php # Из tools (rescue, access, ports и т.д.) -│ │ └── CronJobs/ -│ │ ├── StreamsCron.php -│ │ ├── ServersCron.php -│ │ ├── CacheCron.php -│ │ ├── EpgCron.php -│ │ ├── CleanupCron.php -│ │ ├── BackupsCron.php -│ │ ├── StatsCron.php -│ │ ├── LogsCron.php # lines_logs + streams_logs -│ │ ├── VodCron.php -│ │ └── TmdbCron.php +│ ├── Controllers/ +│ │ ├── Admin/ +│ │ │ ├── BaseAdminController.php +│ │ │ ├── DashboardController.php +│ │ │ ├── StreamController.php +│ │ │ ├── LineController.php +│ │ │ ├── VodController.php +│ │ │ ├── ServerController.php +│ │ │ ├── SettingsController.php +│ │ │ ├── UserController.php +│ │ │ ├── BouquetController.php +│ │ │ ├── EpgController.php +│ │ │ └── ... (111 контроллеров, по одному на страницу) +│ │ │ +│ │ ├── Reseller/ +│ │ │ ├── BaseResellerController.php +│ │ │ ├── DashboardController.php +│ │ │ ├── LineController.php +│ │ │ └── ... (22 контроллера) +│ │ │ +│ │ └── Api/ # (planned) +│ │ ├── AdminApiController.php +│ │ ├── ResellerApiController.php +│ │ ├── PlayerApiController.php # Публичный player API +│ │ └── InternalApiController.php # Межсерверный API (текущий www/api.php) │ │ -│ └── Player/ # Встроенный web-плеер -│ ├── PlayerController.php -│ └── views/ -│ └── ... (текущий player/) +│ ├── Views/ +│ │ ├── layouts/ +│ │ │ ├── admin.php # Header + footer шаблон для admin +│ │ │ └── footer.php # Единый footer +│ │ │ +│ │ ├── admin/ +│ │ │ ├── dashboard.php +│ │ │ ├── streams/ +│ │ │ │ ├── list.php +│ │ │ │ ├── edit.php +│ │ │ │ └── view.php +│ │ │ ├── lines/ +│ │ │ ├── vod/ +│ │ │ ├── servers/ +│ │ │ └── settings/ +│ │ │ +│ │ ├── reseller/ +│ │ │ ├── dashboard.php +│ │ │ └── ... +│ │ │ +│ │ └── partials/ +│ │ ├── modals.php +│ │ ├── topbar.php +│ │ └── table.php +│ │ +│ └── routes/ +│ ├── admin.php +│ ├── reseller.php +│ └── api.php +│ +├── player/ # Встроенный web-плеер +│ └── ... (PHP + JS + CSS) +│ +├── cli/ # ═══ (PLANNED) CLI ТОЧКИ ВХОДА ═══ +│ ├── Commands/ +│ │ ├── StartupCommand.php # cli/startup.php +│ │ ├── WatchdogCommand.php # cli/watchdog.php +│ │ ├── MonitorCommand.php # cli/monitor.php +│ │ ├── CacheHandlerCommand.php # cli/cache_handler.php +│ │ ├── QueueCommand.php # cli/queue.php +│ │ ├── SignalsCommand.php # cli/signals.php +│ │ ├── ScannerCommand.php # cli/scanner.php +│ │ ├── MigrateCommand.php # Из status +│ │ └── ToolsCommand.php # Из tools (rescue, access, ports и т.д.) +│ └── CronJobs/ +│ ├── StreamsCron.php +│ ├── ServersCron.php +│ ├── CacheCron.php +│ ├── EpgCron.php +│ ├── CleanupCron.php +│ ├── BackupsCron.php +│ ├── StatsCron.php +│ ├── LogsCron.php # lines_logs + streams_logs +│ ├── VodCron.php +│ └── TmdbCron.php │ ├── modules/ # ═══ ОПЦИОНАЛЬНЫЕ МОДУЛИ ═══ │ ├── ministra/ # Ministra/Stalker middleware (текущий ministra/) @@ -612,7 +611,7 @@ src/ | `Container/` | DI-контейнер (composition root only — см. §2.3) | `global $db`, статические `CoreUtilities::$rSettings` | | `Util/` | Утилиты без состояния | Функции разбросанные по CoreUtilities, admin.php | -**Ключевое правило:** `core/` не знает о существовании `domain/`, `streaming/`, `modules/`, `interfaces/`. Зависимости направлены только внутрь ядра. +**Ключевое правило:** `core/` не знает о существовании `domain/`, `streaming/`, `modules/`, `public/`. Зависимости направлены только внутрь ядра. ### 4.2. `domain/` — Бизнес-логика @@ -685,7 +684,7 @@ class StreamRepository { - `admin.php` → процедурные `getUserInfo()`, `getSeriesList()` → в Repository - Оркестрация (validate + save + nginx + cache + log) → в Service -**Зависимости:** `domain/` зависит от `core/` (Database, Cache, Events). Не зависит от `interfaces/` или `modules/`. +**Зависимости:** `domain/` зависит от `core/` (Database, Cache, Events). Не зависит от `public/` или `modules/`. ### 4.3. `streaming/` — Стриминг-движок @@ -704,7 +703,7 @@ streaming/ зависит от: ✅ domain/ (Repository — только SELECT-запросы: потоки, серверы, букеты) ❌ НЕ зависит от: - - interfaces/ (контроллеры) + - public/ (контроллеры) - modules/ (всё) - domain/*Service.php (бизнес-мутации) ``` @@ -719,7 +718,7 @@ streaming/ зависит от: - `CoreUtilities` методы FFmpeg → `Codec/FFmpegCommand.php` - `ts.php` → `Codec/TsParser.php` -### 4.4. `interfaces/` — Точки входа +### 4.4. `public/` — Точки входа **Ответственность:** Получение запроса, вызов Service, формирование ответа. Никакой бизнес-логики. @@ -912,9 +911,9 @@ interface ModuleInterface { admin/streams.php (один файл = SQL + HTML + JS) СТАЛО: - interfaces/Http/Controllers/Admin/StreamController.php — маршрутизация + public/Controllers/Admin/StreamController.php — маршрутизация domain/Stream/StreamRepository.php — данные - interfaces/Http/Views/admin/streams/list.php — шаблон + public/Views/admin/streams/list.php — шаблон ``` ### 5.5. Дублирование admin/ ↔ reseller/ @@ -927,8 +926,8 @@ interface ModuleInterface { admin/functions.php + reseller/functions.php СТАЛО: - interfaces/Http/Views/layouts/admin.php — единый layout - interfaces/Http/Views/layouts/reseller.php — наследует admin layout с ограничениями + public/Views/layouts/admin.php — единый layout + public/Views/layouts/footer.php — единый footer core/Auth/SessionManager.php — единый менеджер сессий core/Auth/Authorization.php — RBAC определяет, что видит пользователь ``` @@ -1051,7 +1050,7 @@ modules/ ``` ┌──────────────┐ - │ interfaces/ │ ← HTTP, CLI, Player + │ public/ │ ← HTTP (Controllers, Views, Routes) └──────┬───────┘ │ depends on ┌────────────┼────────────┐ @@ -1126,11 +1125,11 @@ includes/ ### 5.2 admin/ — Легаси admin-страницы -~120 PHP-файлов — старые admin-страницы, которые содержали SQL+HTML в одном файле. **Заменены** на `interfaces/Http/Controllers/Admin/` + `interfaces/Http/Views/admin/`. +~120 PHP-файлов — старые admin-страницы, которые содержали SQL+HTML в одном файле. **Заменены** на `public/Controllers/Admin/` + `public/Views/admin/`. ### 5.3 reseller/ — Легаси reseller-страницы -~35 PHP-файлов — аналогично admin/, но для реселлерской панели. **Заменены** на `interfaces/Http/Controllers/Reseller/` + `interfaces/Http/Views/reseller/`. +~35 PHP-файлов — аналогично admin/, но для реселлерской панели. **Заменены** на `public/Controllers/Reseller/` + `public/Views/reseller/`. ### 5.4 ministra/ — Stalker Portal JS @@ -1176,7 +1175,7 @@ LB_FILES := bin config content crons includes signals tmp www status update serv | `infrastructure/` | ✅ ДА — redis/, nginx/ | ⚠ Отсутствует в LB | | `resources/` | ⚠ ЧАСТИЧНО — data/error_codes.php нужен; langs/ — нет | ⚠ Отсутствует в LB | | `data/` | ⚠ ЧАСТИЧНО — runtime-данные создаются динамически | ⚠ Отсутствует в LB | -| `interfaces/` | ⚠ ЧАСТИЧНО — Cli/ частично нужен | ⚠ Отсутствует в LB | +| `public/` | ❌ НЕТ — admin UI, не нужен на LB | ⚠ Отсутствует в LB | | `modules/` | ❌ НЕТ — все текущие модули admin-only | ⚠ Отсутствует в LB | | `admin/` | ❌ НЕТ | ✅ Корректно отсутствует | | `ministra/` | ❌ НЕТ | ✅ Корректно отсутствует | @@ -1193,7 +1192,7 @@ LB_FILES := bin config content crons includes signals tmp www status update serv # ЦЕЛЕВОЙ (обновлённый) список: LB_FILES := autoload.php bootstrap.php \ bin config content core crons data domain includes infrastructure \ - interfaces resources signals streaming tmp www status update service + public resources signals streaming tmp www status update service ``` #### Обновлённый `LB_DIRS_TO_REMOVE` @@ -1215,10 +1214,10 @@ LB_DIRS_TO_REMOVE := \ domain/User \ domain/Ticket \ domain/Device \ - interfaces/Http/Controllers/Admin \ - interfaces/Http/Controllers/Reseller \ - interfaces/Http/Views \ - interfaces/Player \ + public/Controllers/Admin \ + public/Controllers/Reseller \ + public/Views \ + player \ modules/fingerprint \ modules/magscan \ modules/ministra \ @@ -1670,17 +1669,17 @@ admin/magscan_settings.php (301 стр.) — UI-страница, POST: submit_m #### Шаг 6.1 — Единый layout ``` admin/header.php (675 стр.) + reseller/header.php (284 стр.) - → interfaces/Http/Views/layouts/admin.php + → public/Views/layouts/admin.php admin/footer.php (804 стр.) + reseller/footer.php (719 стр.) - → interfaces/Http/Views/layouts/footer.php + → public/Views/layouts/footer.php + assets/admin/js/*.js (вынесенный inline JS) ``` **Сделано (старт шага 6.1):** -- ✅ Создан `interfaces/Http/Views/layouts/admin.php` — unified header wrapper (`renderUnifiedLayoutHeader`) -- ✅ Создан `interfaces/Http/Views/layouts/footer.php` — unified footer wrapper (`renderUnifiedLayoutFooter`) -- ✅ Удалён `interfaces/Http/Views/layouts/.gitkeep` +- ✅ Создан `public/Views/layouts/admin.php` — unified header wrapper (`renderUnifiedLayoutHeader`) +- ✅ Создан `public/Views/layouts/footer.php` — unified footer wrapper (`renderUnifiedLayoutFooter`) +- ✅ Удалён `public/Views/layouts/.gitkeep` - ✅ Переведены на unified wrappers (пилот): - `admin/fingerprint.php` - `admin/magscan_settings.php` @@ -1750,9 +1749,9 @@ admin/footer.php (804 стр.) + reseller/footer.php (719 стр.) #### Шаг 6.2 — Router + Front Controller ``` Новый → core/Http/Router.php -Новый → interfaces/Http/public/index.php (front controller) -Новый → interfaces/Http/routes/admin.php (admin route definitions) -Новый → interfaces/Http/routes/api.php (API route definitions) +Новый → public/index.php (front controller) +Новый → public/routes/admin.php (admin route definitions) +Новый → public/routes/api.php (API route definitions) ``` **Статус 6.2:** ✅ Завершён @@ -1762,7 +1761,7 @@ admin/footer.php (804 стр.) + reseller/footer.php (719 стр.) - ✅ `core/Http/Request.php` — HTTP request wrapper (450 стр.): capture(), input access, sanitization, backward compat - ✅ `core/Http/Response.php` — HTTP response helper: json(), redirect(), notFound(), cors(), noCache() - ✅ `core/Http/RequestGuard.php` — flood protection, host verification, Logger init -- ✅ `interfaces/Http/public/index.php` — Front Controller: +- ✅ `public/index.php` — Front Controller: - Трёхрежимный парсинг URL → scope + pageName + accessCode: - **Режим A** (Access Code + XC_SCOPE): nginx передаёт scope через `fastcgi_param XC_SCOPE` - **Режим B** (Direct URL): URL содержит `/admin/...` или `/reseller/...` @@ -1772,8 +1771,8 @@ admin/footer.php (804 стр.) + reseller/footer.php (719 стр.) - Загрузка маршрутов из routes/{scope}.php + routes/api.php - Dispatch через Router → fallback в legacy include - Поддержка API action dispatch (/admin/api?action=xxx) -- ✅ `interfaces/Http/routes/admin.php` — шаблон маршрутов admin (заглушки для Step 6.3) -- ✅ `interfaces/Http/routes/api.php` — шаблон API маршрутов (заглушки для Step 6.3) +- ✅ `public/routes/admin.php` — шаблон маршрутов admin (заглушки для Step 6.3) +- ✅ `public/routes/api.php` — шаблон API маршрутов (заглушки для Step 6.3) **Access Codes (`bin/nginx/conf/codes/`):** @@ -1798,7 +1797,7 @@ admin/footer.php (804 стр.) + reseller/footer.php (719 стр.) 1) **Прямой доступ** (dev/test, без access codes): ```nginx location ~ ^/(admin|reseller)(/.*)?$ { - try_files $uri /interfaces/Http/public/index.php?$args; + try_files $uri /public/index.php?$args; } ``` @@ -1822,7 +1821,7 @@ location ^~ /#CODE# { location @fc_#CODE# { fastcgi_param XC_SCOPE #TYPE#; fastcgi_param XC_CODE #CODE#; - fastcgi_param SCRIPT_FILENAME /home/xc_vm/interfaces/Http/public/index.php; + fastcgi_param SCRIPT_FILENAME /home/xc_vm/public/index.php; fastcgi_pass php; include fastcgi_params; } @@ -1835,21 +1834,21 @@ location @fc_#CODE# { **Паттерн: Thin Controller + View файл** Каждая legacy admin-страница разделяется на: -- **Controller** (`interfaces/Http/Controllers/Admin/XxxController.php`) — подготовка данных, редиректы, проверка прав -- **View** (`interfaces/Http/Views/admin/xxx.php`) — только HTML-контент (между header и footer) -- **Scripts** (`interfaces/Http/Views/admin/xxx.scripts.php`) — page-specific JS (DataTables, api(), etc.) +- **Controller** (`public/Controllers/Admin/XxxController.php`) — подготовка данных, редиректы, проверка прав +- **View** (`public/Views/admin/xxx.php`) — только HTML-контент (между header и footer) +- **Scripts** (`public/Views/admin/xxx.scripts.php`) — page-specific JS (DataTables, api(), etc.) -**✅ `interfaces/Http/Controllers/Admin/BaseAdminController.php` — render(), redirect(), json(), setTitle(), requirePermission(), requireAdvPermission(), input(), getStatus() -- ✅ `interfaces/Http/Views/admin/_scripts_init.php` — общий JS-бойлерплейт (ResizeObserver, Switchery, DataTable errMode, bindHref, inputFilter, js_navigate и т.д.) -- ✅ `interfaces/Http/Views/layout.php` — мёртвый код, помечен `@deprecated` (актуальный layout: `Views/layouts/admin.php` + `footer.php`) -- ✅ `interfaces/Http/Views/partials/header.php` + `footer.php` — мёртвый код, помечены `@deprecated` +**✅ `public/Controllers/Admin/BaseAdminController.php` — render(), redirect(), json(), setTitle(), requirePermission(), requireAdvPermission(), input(), getStatus() +- ✅ `public/Views/admin/_scripts_init.php` — общий JS-бойлерплейт (ResizeObserver, Switchery, DataTable errMode, bindHref, inputFilter, js_navigate и т.д.) +- ✅ `public/Views/layout.php` — мёртвый код, помечен `@deprecated` (актуальный layout: `Views/layouts/admin.php` + `footer.php`) +- ✅ `public/Views/partials/header.php` + `footer.php` — мёртвый код, помечены `@deprecated` **Render flow:** `renderUnifiedLayoutHeader('admin')` → `view.php` → `renderUnifiedLayoutFooter('admin')` → `scripts.php` (включает `_scripts_init.php`) → `` **Инфраструктурные исправления перед Phase 6.3:** - ✅ Router `buildRoute()` — нормализация ключей при регистрации (rtmp_ips → rtmp/ips) - ✅ Router `callHandler()` — DI через ServiceContainer с fallback -- ✅ Autoloader — раскомментированы `domain/`, `streaming/`, `modules/`, добавлен `interfaces/` +- ✅ Autoloader — раскомментированы `domain/`, `streaming/`, `modules/`, добавлен `public/` - ✅ Autoloader — `MAIN_HOME` fallback: `__DIR__ . '/'` вместо `/home/xc_vm/` - ✅ Мёртвый Layout код (layout.php + partials/header.php + partials/footer.php) помечен `@deprecated` @@ -1864,7 +1863,7 @@ location @fc_#CODE# { - ✅ `ProfileController.php` + `Views/admin/profiles.php` + `profiles.scripts.php` — Transcode Profiles, getTranscodeProfiles(), JSON profile_options - ✅ `ProviderController.php` + `Views/admin/providers.php` + `providers.scripts.php` — Stream Providers, getStreamProviders(), reload action, JSON data - ✅ `TheftDetectionController.php` + `Views/admin/theft_detection.php` + `theft_detection.scripts.php` — VOD Theft Detection, igbinary cache, range filter, custom search -- ✅ Маршруты в `interfaces/Http/routes/admin.php` — 10 GET-маршрутов зарегистрированы +- ✅ Маршруты в `public/routes/admin.php` — 10 GET-маршрутов зарегистрированы **Статус 6.3:** ✅ Завершён — **111/111 admin-страниц мигрировано** @@ -1900,10 +1899,10 @@ location @fc_#CODE# { **Артефакты:** - ✅ `BaseResellerController` — расширяет BaseAdminController, `$scope = 'reseller'`, переопределяет `requirePermission()` → `checkResellerPermissions()` -- ✅ 22 контроллера (`Reseller*Controller`) в `interfaces/Http/Controllers/Reseller/` -- ✅ 22 view proxy в `interfaces/Http/Views/reseller/` +- ✅ 22 контроллера (`Reseller*Controller`) в `public/Controllers/Reseller/` +- ✅ 22 view proxy в `public/Views/reseller/` - ✅ 22 legacy файла обёрнуты `$__viewMode` гардами -- ✅ `interfaces/Http/routes/reseller.php` — 22 маршрута +- ✅ `public/routes/reseller.php` — 22 маршрута **Reseller-страницы (22):** Dashboard & Profile: dashboard, edit_profile @@ -2031,7 +2030,7 @@ admin.php::Translator init → ServiceContainer::get('translator') - `src/includes/api/reseller/` — 11 вызовов - `src/admin/*.php` — ~100 вызовов - `src/reseller/*.php` — 18 вызовов -- `src/interfaces/Http/Controllers/Admin/` — 37 вызовов +- `src/public/Controllers/Admin/` — 37 вызовов - `src/domain/` (кросс-вызовы) — 15 вызовов - `src/modules/` + `src/crons/` — 11 вызовов @@ -2066,13 +2065,13 @@ StreamRepository::getById($rStreamID); #### Шаг 8.3 — Ревизия core/ - Убедиться: `core/` не содержит бизнес-логики -- Убедиться: `domain/` не знает об `interfaces/` +- Убедиться: `domain/` не знает об `public/` - Убедиться: удаление любого модуля не ломает систему #### Шаг 8.4 — Рефакторинг cli/monitor.php - Удалить goto-лейблы (`label235`, `label592`) - Переписать с нормальным control flow -- Вынести в `interfaces/Cli/Commands/MonitorCommand.php` +- Вынести в `cli/Commands/MonitorCommand.php` --- @@ -2358,7 +2357,7 @@ use_legacy_api = false ; true = откат на admin_api.php switch | `CONTEXT_ADMIN` | + Database + CoreUtilities + API + ResellerAPI + Translator + session + Redis | Админ/реselлер-панель | ```php -// interfaces/Http/public/index.php — admin/reseller entry point +// public/index.php — admin/reseller entry point require_once '/home/xc_vm/bootstrap.php'; XC_Bootstrap::defineStatusConstants(); XC_Bootstrap::boot(XC_Bootstrap::CONTEXT_ADMIN); @@ -2366,14 +2365,14 @@ XC_Bootstrap::boot(XC_Bootstrap::CONTEXT_ADMIN); ``` ```php -// interfaces/Http/public/stream.php — streaming entry point (lightweight) +// public/stream.php — streaming entry point (lightweight) require_once '/home/xc_vm/bootstrap.php'; XC_Bootstrap::boot(XC_Bootstrap::CONTEXT_STREAM); // Только Database + StreamingUtilities, без admin_api, без Translator ``` ```php -// interfaces/Cli/CronJobs/StreamsCron.php — cron +// cli/CronJobs/StreamsCron.php — cron require_once '/home/xc_vm/bootstrap.php'; XC_Bootstrap::boot(XC_Bootstrap::CONTEXT_CLI, [ 'cached' => true, diff --git a/src/admin/archive.php b/src/admin/archive.php index 3d4c4d4f..aedb65b2 100644 --- a/src/admin/archive.php +++ b/src/admin/archive.php @@ -23,7 +23,7 @@ } $_TITLE = (!is_null($rRecordings) ? 'Recordings' : 'TV Archive'); - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('admin'); ?> @@ -151,7 +151,7 @@ ' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -250,5 +250,5 @@ foreach (array(10, 25, 50, 250, 500, 1000) as $rShow) { echo ' ' . "\r\n" . '
' . "\r\n" . '
' . "\r\n\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t" . '' . "\r\n" . ' ' . "\r\n" . ' ' . "\r\n" . ' ' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n" . ' ' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n" . ' ' . "\r\n" . ' ' . "\r\n" . ' ' . "\r\n" . ' ' . "\r\n\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t" . '
IDQualityLineStreamPlayerISPIPDurationOutput'; echo $language::get('actions'); echo '
' . "\r\n\r\n\t\t\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t" . '' . "\r\n\t" . '' . "\r\n" . '' . "\r\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/mag.php b/src/reseller/mag.php index 030d57d4..1dea161f 100644 --- a/src/reseller/mag.php +++ b/src/reseller/mag.php @@ -27,7 +27,7 @@ if (!isset($__viewMode)): } $_TITLE = 'MAG Device'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -308,5 +308,5 @@ if (!$rGenTrials && !isset($rLine) && isset(CoreUtilities::$rRequest['trial'])) } echo "\t\t\t" . '
' . "\r\n\t\t" . '
' . "\r\n\t" . '
' . "\r\n" . '
' . "\r\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/mags.php b/src/reseller/mags.php index 2fc27150..530df791 100644 --- a/src/reseller/mags.php +++ b/src/reseller/mags.php @@ -10,7 +10,7 @@ if (!isset($__viewMode)): } $_TITLE = 'MAG Devices'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -196,5 +196,5 @@ echo $language::get('expiration'); echo '' . "\r\n\t\t\t\t\t\t\t\t\t" . ''; echo $language::get('actions'); echo '' . "\r\n\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t" . '' . "\r\n\r\n\t\t\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t" . '
' . "\r\n\t" . '
' . "\r\n" . '
' . "\r\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/movies.php b/src/reseller/movies.php index 2ae9cf75..3b188be0 100644 --- a/src/reseller/movies.php +++ b/src/reseller/movies.php @@ -8,7 +8,7 @@ if (!isset($__viewMode)): } $_TITLE = 'Movies'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; ?> @@ -105,6 +105,6 @@ endif;
\ No newline at end of file diff --git a/src/reseller/radios.php b/src/reseller/radios.php index 5976438e..fe574a0c 100644 --- a/src/reseller/radios.php +++ b/src/reseller/radios.php @@ -10,7 +10,7 @@ if (!isset($__viewMode)): } $_TITLE = 'Radio Stations'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\n" . '
' . "\n\t\t" . '
' . "\n\t\t\t" . '
' . "\n\t\t\t\t" . '
' . "\n\t\t\t\t\t" . '
' . "\n" . ' '; @@ -74,5 +74,5 @@ foreach (array(10, 25, 50, 250, 500, 1000) as $rShow) { echo '' . "\n" . ' '; } echo ' ' . "\n" . '
' . "\n" . '
' . "\n\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n" . ' ' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t" . '
IDIconNameCategoryConnectionsKill
' . "\n\t\t\t\t\t" . '
' . "\n\t\t\t\t" . '
' . "\n\t\t\t" . '
' . "\n\t\t" . '
' . "\n\t" . '
' . "\n" . '' . "\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/streams.php b/src/reseller/streams.php index 2d0512cd..8a29be0e 100644 --- a/src/reseller/streams.php +++ b/src/reseller/streams.php @@ -8,7 +8,7 @@ if (!isset($__viewMode)): } $_TITLE = 'Streams'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; ?> @@ -100,6 +100,6 @@ endif; \ No newline at end of file diff --git a/src/reseller/ticket.php b/src/reseller/ticket.php index 6d982c69..8c1b312d 100644 --- a/src/reseller/ticket.php +++ b/src/reseller/ticket.php @@ -25,7 +25,7 @@ if (!isset($__viewMode)): } $_TITLE = 'Ticket'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -55,5 +55,5 @@ if (isset($rTicketInfo)) { } echo "\t\t\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t\t" . '
    ' . "\r\n\t\t\t\t\t\t\t\t\t\t\t" . '
  • ' . "\r\n\t\t\t\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t\t\t" . '
  • ' . "\r\n\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t" . '
' . "\r\n\t\t\t\t" . ' ' . "\r\n\t\t\t" . ' ' . "\r\n\t\t" . '' . "\r\n\t" . '' . "\r\n" . '' . "\r\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/ticket_view.php b/src/reseller/ticket_view.php index 1f11cb76..4cffb579 100644 --- a/src/reseller/ticket_view.php +++ b/src/reseller/ticket_view.php @@ -22,7 +22,7 @@ if (Authorization::check('user', $rTicketInfo['member_id'])) { } $_TITLE = 'View Ticket'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -54,7 +54,7 @@ if (Authorization::check('user', $rTicketInfo['member_id'])) { echo '

' . "\r\n\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t"; } echo "\t\t\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t" . '
' . "\r\n\t" . '
' . "\r\n" . '' . "\r\n"; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; + require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); } else { exit(); diff --git a/src/reseller/tickets.php b/src/reseller/tickets.php index 24b485ab..f3d7f4c8 100644 --- a/src/reseller/tickets.php +++ b/src/reseller/tickets.php @@ -11,7 +11,7 @@ if (!isset($__viewMode)): $rStatusArray = array('CLOSED', 'OPEN', 'RESPONDED TO', 'READ BY ME', 'NEW RESPONSE', 'READ BY ADMIN', 'READ BY USER'); $_TITLE = 'Tickets'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -58,5 +58,5 @@ foreach ($rTickets as $rTicket) { echo "\t\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t"; } echo "\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t" . '' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t" . '
' . "\r\n\t" . '
' . "\r\n" . '' . "\r\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/user.php b/src/reseller/user.php index 23d59282..be9020e5 100644 --- a/src/reseller/user.php +++ b/src/reseller/user.php @@ -15,7 +15,7 @@ if (!isset($__viewMode)): } $_TITLE = 'User'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\n" . '
' . "\n\t\t" . '
' . "\n\t\t\t" . '
' . "\n\t\t\t\t" . '
' . "\n\t\t\t\t\t" . '
' . "\n" . ' '; @@ -255,5 +255,5 @@ if (isset($rUser)) { } echo "\t\t\t\t\t\t\t\t" . '
' . "\n\t\t\t\t\t\t\t" . '
' . "\n\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t" . '
' . "\n\t\t\t\t" . '
' . "\n\t\t\t" . '
' . "\n\t\t" . '
' . "\n\t" . '' . "\n" . '' . "\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/user_logs.php b/src/reseller/user_logs.php index f76cc8b6..85cd8cde 100644 --- a/src/reseller/user_logs.php +++ b/src/reseller/user_logs.php @@ -10,7 +10,7 @@ if (!isset($__viewMode)): } $_TITLE = 'User Logs'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\r\n" . '
' . "\r\n\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t\t\t" . '
' . "\r\n" . ' '; @@ -97,5 +97,5 @@ foreach (array(10, 25, 50, 250, 500, 1000) as $rShow) { echo '' . "\r\n\t\t\t\t\t\t\t\t\t"; } echo "\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t" . '
' . "\r\n\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n" . ' ' . "\r\n" . ' ' . "\r\n\t\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t\t" . '' . "\r\n\t\t\t\t\t\t" . '
IDResellerLine / UserActionCostCredits RemainingDate
' . "\r\n\t\t\t\t\t" . '
' . "\r\n\t\t\t\t" . '
' . "\r\n\t\t\t" . '
' . "\r\n\t\t" . '
' . "\r\n\t" . '' . "\r\n" . '' . "\r\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller'); diff --git a/src/reseller/users.php b/src/reseller/users.php index 3d004607..25fc6a46 100644 --- a/src/reseller/users.php +++ b/src/reseller/users.php @@ -10,7 +10,7 @@ if (!isset($__viewMode)): } $_TITLE = 'Users'; - require_once __DIR__ . '/../interfaces/Http/Views/layouts/admin.php'; + require_once __DIR__ . '/../public/Views/layouts/admin.php'; renderUnifiedLayoutHeader('reseller'); endif; echo '
' . "\n" . '
' . "\n\t\t" . '
' . "\n\t\t\t" . '
' . "\n\t\t\t\t" . '
' . "\n\t\t\t\t\t" . '
' . "\n" . ' '; @@ -81,5 +81,5 @@ foreach (array(10, 25, 50, 250, 500, 1000) as $rShow) { echo '' . "\n" . ' '; } echo ' ' . "\n" . '
' . "\n" . '
' . "\n\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t\t" . '' . "\n\t\t\t\t\t\t" . '
IDUsernameOwnerIPStatusCredits# of LinesLast LoginActions
' . "\n\t\t\t\t\t" . '
' . "\n\t\t\t\t" . '
' . "\n\t\t\t" . '
' . "\n\t\t" . '
' . "\n\t" . '' . "\n" . '' . "\n"; -require_once __DIR__ . '/../interfaces/Http/Views/layouts/footer.php'; +require_once __DIR__ . '/../public/Views/layouts/footer.php'; renderUnifiedLayoutFooter('reseller');