Commit Graph

5534 Commits

Author SHA1 Message Date
master3395
d8c8af72bf MySQL Manager: fix status/processes load, Query Info 'No query', MariaDB-safe parsing, deploy docs
- databases.js: app ref for ctrlreg, cache-buster, error handling, public/static sync
- mysqlUtilities: column-name process list (MariaDB), SHOW GLOBAL STATUS safe parse, Query Info 'No query'
- mysqlmanager.html: Query Info fallback for NULL
- Deploy docs: DEPLOY-BEFORE-PUSH, DEPLOY-MYSQL-MANAGER-TO-SERVER (public/static)
- Other: CyberPanelUpgrade, upgrade, websiteFunctions, userManagment, website
2026-02-16 19:24:39 +01:00
master3395
faf6f8fff6 MySQL Manager: fix empty status/processes, error messages, deploy-safe 2026-02-16 18:27:22 +01:00
master3395
1d22c961c1 DNS: cache-bust dns.js (DNS_STATIC_VERSION), no-cache headers on CloudFlare page 2026-02-16 18:09:58 +01:00
master3395
8fb838f91c CloudFlare DNS: search via controller filteredRecords + $watch (no filter pipe) 2026-02-16 18:06:13 +01:00
master3395
c697bea9eb CloudFlare DNS: fix search (dnsSearch.filter scope binding) 2026-02-16 18:02:27 +01:00
master3395
8734b27595 CloudFlare DNS: mobile-friendly layout, enableProxy 500 fix, search filter 2026-02-16 15:29:09 +01:00
master3395
048a62d74a CloudFlare DNS: fix search (custom filter), search icon left of box 2026-02-16 15:14:00 +01:00
master3395
34b9d53ff7 CloudFlare DNS: sortable columns, search bar (filter all records) 2026-02-16 15:08:40 +01:00
master3395
62728e2f7f CloudFlare DNS: TTL dropdown use ng-value so AUTO shows correctly 2026-02-16 14:58:18 +01:00
master3395
c2f3f2b361 CloudFlare DNS: inline edit (no modify button), Type dropdown fix, deploy 2026-02-16 14:53:30 +01:00
master3395
dbc05728a7 CloudFlare DNS: edit records on click (name, type, TTL, value, priority, proxy)
- Add updateDNSRecordCloudFlare backend (dnsManager, view, URL)
- Return real priority in getCurrentRecordsForDomainCloudFlare
- Edit (pencil) button + modal with all fields; Save calls update API
- openEditModal, closeEditModal, saveEditRecord in dns.js
2026-02-16 14:39:46 +01:00
master3395
ce5a8f56b6 Add Angular filesize filter for Modify Website page
modifyWebsite.html uses | filesize for home directory available_space;
filter was missing, causing $injector/unpr FilesizeFilterProvider.
Register app.filter('filesize') with array annotation in all websiteFunctions.js copies.
2026-02-16 14:14:58 +01:00
master3395
bcfa275cff Fix Modify Website page: use Angular array annotation for modifyWebsitesController
Prevents $injector:unpr (Unknown provider) when JS is minified by preserving
$scope and $http dependency names in array form.
2026-02-16 14:05:45 +01:00
master3395
236607181d Remove Fix Subdomain Logs page; fix view to pass request for ACL
- Remove Fix Subdomain Logs menu item from sidebar
- Remove fixSubdomainLogs and fixSubdomainLogsAction URL routes
- Views: pass request to WebsiteManager (fixSubdomainLogs/ fixSubdomainLogsAction) for correct ACL check
2026-02-16 14:00:52 +01:00
master3395
8ce05bbd31 Add firewall_static_context to template context for cache-busting 2026-02-16 13:19:46 +01:00
master3395
9390551ebd Firewall: fix search bar, Search button, Modify centering, system-status $ error
- Search input: add firewall-search-input class, blue focus instead of red (avoids read-only/error look)
- Search button: use btn-search with round futuristic style (match Ban IP/Overview)
- Actions column: center Modify/Unban/Delete in Firewall Rules and Banned IPs tables
- system-status.js: increment() uses document.querySelectorAll (no jQuery), fixes $ is not defined
- upgrade_modules/09_sync.sh: sync firewall static to public/static during upgrade
- to-do/FIREWALL-LOAD-CHANGES.md: doc on file locations and deploy steps
2026-02-16 03:16:18 +01:00
master3395
cf7518b015 fix(firewall): remove conflicting inline click handlers so tab tables load on click
Remove duplicate click/mousedown listeners on firewall tab nav that conflicted
with Angular ng-click. Let ng-click handle all tab clicks; keep only hashchange
sync for back/forward navigation.
2026-02-16 00:39:39 +01:00
master3395
bcebd8883a fix(firewall): banned IPs search, modify modal, export/import, Tracking Prevention
- Add searchBannedIPFilter for searching banned IPs by IP, reason, or status
- Add openModifyModal, closeModifyModal, saveModifyBannedIP for modify modal
- Add exportBannedIPs and importBannedIPs for export/import buttons
- Wrap localStorage in try-catch in base template to handle Tracking Prevention
  (Firefox/Safari blocking storage access for cross-site context)
- Fixes firewall banned IPs page search and functionality
2026-02-16 00:20:57 +01:00
Master3395
5c44048f27 Merge pull request #1703 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-16 00:13:07 +01:00
master3395
b63317b7af Install/upgrade and UI updates: monolithic install, SnappyMail, firewall, to-do docs
- Install: monolithic install script, venvsetup_modules and venvsetup_monolithic,
  install_modules (parse_main, menus, actions, etc.), remove legacy email-configs
  and php-configs from repo, add install/snappymail and Rainloop->SnappyMail
  migration script
- CyberPanel: urls.py, cyberpanel.sh, cyberpanel_upgrade_monolithic.sh tweaks
- Firewall: firewall.js and firewall.html updates
- plogical: mailUtilities.py, upgrade.py; upgrade_modules 10_post_tweak.sh
- pluginHolder: deploy-plugins-template.sh
- to-do: docs (git conflicts, HTTP 500 recovery, phpMyAdmin, plugins, SnappyMail
  rename, install/upgrade OS support, security whitelist, etc.)
- upgrade_modules: 02_checks_part1/part2.txt
2026-02-16 00:12:03 +01:00
master3395
0f1ef2f101 Fix ACL Delete DNS Zone (issue #1701): permission UI and legacy config
- plogical/acl.py: use config.get() for DNS permissions so old ACLs without
  deleteZone key do not cause KeyError
- baseTemplate: add deleteZone/addDeleteRecords CSS classes to DNS menu links
  for correct permission-based hiding
- system-status.js: fix swapped selectors (deleteZone hides .deleteZone,
  addDeleteRecords hides .addDeleteRecords instead of .deleteDatabase)
2026-02-16 00:09:52 +01:00
Master3395
c4b9bd210e Merge pull request #1702 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-15 23:58:03 +01:00
master3395
7de649c47a Plugins: move Show/Sort by into collapsible Filter (rename Category Filter to Filter) 2026-02-15 23:54:44 +01:00
master3395
22aeda0c98 Plugins: collapsible Category Filter on Grid/Table view (like A-Å in store) 2026-02-15 23:47:39 +01:00
master3395
197f355cf7 Plugins: fix 404 - add plugin roots to sys.path before loading URLs
- pluginHolder/urls: insert /usr/local/CyberCP and source paths at top of module
  so __import__(plugin_name + '.urls') finds plugin packages (fixes No module
  named 'X.urls'). Register plugin routes before catch-all help route.
- pluginHolder/views: add debug_loaded_plugins API and log full traceback on
  plugin import failure. panelAccess/emailMarketing settings/ routes added
  earlier; cspManager resilient to missing DB table.
Author: master3395
2026-02-15 23:24:04 +01:00
master3395
48ebfc79b2 pluginHolder/urls: register plugin routes before catch-all so /plugins/<name>/settings/ match 2026-02-15 23:06:03 +01:00
master3395
8fc7446d95 Plugins: fix installed/active counts, 404s, metadata sync, install fallback
- pluginHolder/views: use dir+meta.xml for installed count; exclude core apps;
  repair pass to restore meta.xml from source or GitHub; ensure_plugin_meta_xml
  falls back to GitHub when source missing; cap active <= installed
- pluginHolder/urls: include plugin routes for all on-disk plugins (not only
  INSTALLED_APPS) so /plugins/<name>/settings/ works after install
- pluginHolder/plugins.html: Install button tries local then store (GitHub)
- CyberCP/settings: sync INSTALLED_APPS with plugin dirs on disk (meta.xml+urls.py)
Author: master3395
2026-02-15 23:03:01 +01:00
master3395
44b1acc52c CI: fix 'Unrecognized function: hashFiles' — use in-step skip instead of job if
GitHub reported: Unrecognized function: 'hashFiles' at ci.yml L40.
Remove job-level if: hashFiles(...); skip inside the run step when
plogical/versionFetcher.py is missing (e.g. stable branch).
2026-02-15 20:06:33 +01:00
master3395
cdce54f61f CI: fix Actions failures — pin ubuntu-22.04, drop Docker in workflow
- All jobs now use runs-on: ubuntu-22.04 (avoids ubuntu-latest/24.04 Docker issues)
- validate-on-os: replaced 16 Docker matrix jobs with single validate-upgrade-script job
- No Docker in CI so workflow passes on hosted runners; multi-OS still testable locally
- validate-python: add timeout-minutes: 2
- Tested locally: all four job steps pass
2026-02-15 20:04:00 +01:00
master3395
8a06d7847d CI: run validate-on-os via script to fix quoting and reliability
- Add .github/scripts/ci-validate-upgrade.sh (single source for Docker validation)
- validate-on-os: run script inside container instead of inline bash -c
- Avoids nested quoting and glob/exit behavior differences across shells
- Same script can be run locally: bash .github/scripts/ci-validate-upgrade.sh
2026-02-15 19:57:49 +01:00
master3395
e741dfba11 CI: skip validate-python when versionFetcher.py missing; do not require it in key files
- stable branch has no plogical/versionFetcher.py; CI #23 failed on smoke-key-files and validate-python
- validate-python: run only if hashFiles('plogical/versionFetcher.py') != ''
- smoke-key-files and validate-on-os: require only preUpgrade, loader, upgrade.py, install.py; versionFetcher optional
2026-02-15 19:50:50 +01:00
master3395
a2331c5d14 CI: validate modular upgrade (loader + upgrade_modules). Loader: default to stable, support both branches.
- CI: when upgrade_modules/ exists, check all 12 modules and grep Branch_Check in modules
- CI: syntax-check upgrade_modules/*.sh in validate-shell and validate-on-os
- Loader: BRANCH_FOR_MODULES default 'stable' so one-liner works without -b
- Loader: show both stable and -b v2.5.5-dev in root-check message
2026-02-15 19:38:15 +01:00
master3395
6d932c7d41 Modularize upgrade script: loader + upgrade_modules, keep monolithic backup
- cyberpanel_upgrade.sh is now a loader that sources upgrade_modules/*.sh
- When upgrade_modules/ is missing (e.g. one-liner), loader downloads modules from GitHub
- All modules kept under 500 lines for easier debugging
- cyberpanel_upgrade_monolithic.sh preserves full original script
- to-do/UPGRADE-MODULES-DESIGN.md documents module layout
2026-02-15 19:32:03 +01:00
master3395
4561e221e0 MariaDB 11->12: robust detection, fallback after dnf; --backup-db/--no-backup-db; preUpgrade pass-through 2026-02-15 18:57:59 +01:00
master3395
59f02fbe12 Progress messages during repo/MariaDB setup so upgrade does not appear to stop 2026-02-15 17:35:14 +01:00
master3395
f320b6f51f MariaDB 11->12 manual upgrade path; preUpgrade.sh curl no-cache for script fetch 2026-02-15 17:22:41 +01:00
master3395
b9fbf0a56c MariaDB: allow any version (12.3, etc.); pre-upgrade backup; optional --migrate-to-utf8; highlight 10.11.16, 11.8, 12.x; 10.11 stays latin1 2026-02-15 17:14:48 +01:00
master3395
7f19208383 MariaDB: manual 10->11 upgrade (stop, remove old server pkg, install 11.8, start, mariadb-upgrade); client skip-ssl; banner uses --skip-ssl 2026-02-15 16:37:09 +01:00
master3395
42bd57299c phpMyAdmin: force 127.0.0.1 so it shows MariaDB 11.8 (not socket 10.11) 2026-02-15 16:22:43 +01:00
master3395
7ad26d2d17 EL: backup old 10.11 mariadb.repo so dnf uses only chosen MariaDB version (11.8) 2026-02-15 05:34:43 +01:00
master3395
ab5117f016 AlmaLinux 9/EL: omit curl from dnf; optional gpgme-devel; --allowerasing fallback; Download_Requirement curl fallback 2026-02-15 05:29:42 +01:00
master3395
e946fa7f25 MariaDB 11.8 on Ubuntu/Debian; ASCII box (red line fix); preUpgrade from master3395; banner actual DB version; log typo 2026-02-15 04:47:27 +01:00
Master3395
2c0d481f46 Merge pull request #1700 from master3395/v2.5.5-dev
V2.5.5 dev
2026-02-15 04:18:57 +01:00
master3395
f7af4f1c62 ci: trigger workflows (Actions re-run) 2026-02-15 04:15:44 +01:00
master3395
e3eafc0df9 CI: Docker validate only shell + key files (no install/Python in container) 2026-02-15 04:09:22 +01:00
master3395
9955e046cd CI: use venv in Docker validate for reliable Python/requests 2026-02-15 04:06:21 +01:00
master3395
5750601c48 CI: pip install --break-system-packages fallback in Docker validate 2026-02-15 04:02:39 +01:00
master3395
f06d6c7c71 CI: CentOS 7 vault.centos.org repo fix for Docker validate-on-os 2026-02-15 04:02:01 +01:00
master3395
c8747de503 CI: fix shell syntax (for-loop 2>/dev/null), key-files grep (BRANCH_NAME + cyberpanel_upgrade.sh) 2026-02-15 03:57:01 +01:00
master3395
e97365baee AlmaLinux 9 repo fix: remove aggressive disable of originals, keep override fallback 2026-02-15 03:50:37 +01:00