Commit Graph

34 Commits

Author SHA1 Message Date
master3395
8f57463550 SSH trusted IPs: sync UI and analysis with firewall tab
Remove duplicate Trusted IPs management from dashboard Recent SSH Logs;
use actionable alert count on the tab (exclude info-only SSH tips).
Add sshSecurityWhitelistUtilities with normalized IP matching for logs
and analyzeSSHSecurity. Wire whitelist API routes, firewall ban guard,
and login hooks. Firewall tab remains the canonical trusted-IP editor.
2026-04-10 17:53:17 +02:00
master3395
5840456abf Fix missing email UI controllers in public mailServer bundle.
Restore catch-all, plus-addressing, pattern-forwarding, and email-limits controllers in the public static JS so CyberPanel email management pages no longer fail with Angular controller registration errors.
2026-04-09 12:55:43 +02:00
master3395
c705b7e6c8 manageServices: align version cache TTL and application page meta
Raise default CYBERCP_MANAGED_APPS version cache TTL to 3600s to match
Manage Applications inventory behavior and reduce cold DNF fetches.
Refresh application_page_meta and synced manageServices static assets.
2026-04-03 21:21:21 +02:00
master3395
dbd6379bcb Manage Services: RabbitMQ 4.x default, repo alignment, UI fixes
- Detect RHEL major from /etc/os-release and align Packagecloud RabbitMQ .repo URLs.
- Improve version discovery (el8 metadata merge on EL9+, 4.x fallback when DNF omits builds).
- Default RabbitMQ stream to 4.x in API, page bootstrap, serviceManager, and normalize_rabbitmq_stream.
- UI: prefetch 4.x on install, stream buttons 4.x first, fix confirm checkbox ng-model parent scope.
- Bump msModal cache-bust for manageServices.js.
2026-04-01 03:27:17 +02:00
master3395
eb31b66871 Manage Applications: Elasticsearch, Redis, RabbitMQ installers and UI hardening
Add modular application packages with backup-aware install/upgrade/downgrade,
DNF-backed version lists with TTL caching, and HTML bootstrap for faster loads.
Improve the version picker (labels, selection state, background meta refresh) and
route applicationMeta through shared page meta cache. Update static assets and
cache buster for manageServices.js. Repository also includes related updates to
serviceManager, upgrade tooling, website functions, and user management from this
development tree.
2026-04-01 00:35:22 +02:00
master3395
2c1f8f8933 fix: LPMA launch routes in secMiddleware; strict sign-on + lpma_policy_read
- secMiddleware: allow Limited phpMyAdmin launch URLs and phpmyadminsignin
  without JSON-body filtering that breaks sign-on POSTs
- plogical/public phpmyadminsignin: lpma_policy_read.inc.php, strict cookie helpers
- webmail: section header comments only
2026-03-27 21:54:17 +01:00
master3395
65f6b7af64 fix phpmyadmin signin endpoint not found
Restore the missing phpMyAdmin sign-in bridge file so CyberPanel DB login no longer returns 404 on /phpmyadmin/phpmyadminsignin.php.
2026-03-27 13:40:49 +01:00
master3395
17c66c8485 CyberPanel: fix webmail folder selection and UI assets 2026-03-25 22:02:54 +01:00
master3395
fea1ab6619 listUsers: suppress duplicate success toasts after refresh
populateCurrentRecords() always showed Users successfully fetched on every
successful fetch, so delete/edit/ACL/suspend showed two popups. Add optional
suppressSuccessNotify; use silent refresh after mutations and on initial load.
2026-03-25 01:47:31 +01:00
master3395
276b4fa375 fix(users): Create User ACL ng-model default and safer submitUserCreation
- Initialize selectedACL in create user template so JSON POST always includes ACL
- Explicit option values; pass default_acl_name from view for ng-init
- Coerce websitesLimit to int; validate selectedACL before ACL.objects.get
- ensure_csrf_cookie on createUser page load
- Optional /etc/cyberpanel/csrf_trusted_origins for HTTPS IP:port panels
- Allow changeUserACL on getUserHomeDirectories (parity with create user page)
- Sync public/static and static copies of userManagment.js with app static
2026-03-25 01:10:11 +01:00
master3395
b9b24dd687 FTP: path normalization, post-create directory edit, enable/disable
- Resolve FTP home paths without duplicating /home/domain; support absolute paths under site home
- Add changeFTPDirectory API and list UI; improve create form path help
- Add setFTPAccountStatus (Status 0/1) with Enable/Disable on list page
- Pure-FTPd MySQL: require Status='1' for authentication in install templates
- Plugin signals for change directory and account status
2026-03-24 20:22:56 +01:00
master3395
10d4da6c0f fix(ftp): hide create-account alerts until submit (ng-show + ng-cloak)
- Replace inverted ng-hide flags with alertFtp* + ng-show (default false).
- Remove broken cantLoadInitialDatas guard (successfullyCreatedFTP !== false
  was true on initial state).
- Per-request submissionCompleted prevents duplicate error handlers.
- ng-cloak on controller root + CSS avoids FOUC before first digest.
- Sync static/ and public/static/ ftp.js with app static copy.
2026-03-24 00:17:23 +01:00
master3395
19f5dd402f Fix DNS: add A/AAAA for all panel domains and subdomains (no duplicates) 2026-02-17 01:50:00 +01:00
master3395
8a5b5f9e59 DNS CloudFlare: delete confirmation, clear all, restore, export/import, orphan check
- Delete record: confirmation dialog and local backup before delete
- Clear all DNS records: double confirmation (zone name), local backup, Restore button
- Export/Import DNS records (JSON) for zone
- Check orphan DNS: find A/AAAA/CNAME for hostnames no longer in panel, remove with backup
- Backend: getExportRecordsCloudFlare, clearAllDNSRecordsCloudFlare, importDNSRecordsCloudFlare, getStaleDNSRecordsCloudFlare, removeStaleDNSRecordsCloudFlare
2026-02-17 01:43:01 +01:00
master3395
410c4ffbc0 Fix emailMarketing reverse error + dashboardStatsController ctrlreg
- CyberCP/urls.py: when emailMarketing app is missing/broken, register placeholder path with name='emailMarketing' so {% url 'emailMarketing' %} never raises Reverse not found.
- public/static/baseTemplate/custom-js/system-status.js: replace old copy with full system-status.js that registers dashboardStatsController and systemStatusInfo (fixes Angular [:ctrlreg] and raw {{$ cpuUsage $}} on overview).
2026-02-17 00:27:15 +01:00
master3395
176d56cc32 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
08472ae012 CloudFlare DNS: search via controller filteredRecords + $watch (no filter pipe) 2026-02-16 18:06:13 +01:00
master3395
05db20865d CloudFlare DNS: fix search (dnsSearch.filter scope binding) 2026-02-16 18:02:27 +01:00
master3395
1a4b896784 CloudFlare DNS: mobile-friendly layout, enableProxy 500 fix, search filter 2026-02-16 15:29:09 +01:00
master3395
f592e1552e CloudFlare DNS: fix search (custom filter), search icon left of box 2026-02-16 15:14:00 +01:00
master3395
c403bfb0c8 CloudFlare DNS: sortable columns, search bar (filter all records) 2026-02-16 15:08:40 +01:00
master3395
e2c8f5a5ab CloudFlare DNS: inline edit (no modify button), Type dropdown fix, deploy 2026-02-16 14:53:30 +01:00
master3395
4af0d2e599 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
d5262891f0 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
77c04fb5b6 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
4734f257b7 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
9b57272422 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
9316a4b494 Version management: fix upgrade polling, branch dropdown, log visibility
- Fix ReferenceError: use $timeout instead of timeout, store timer for cancel
- Add v2.5.5-dev to Select Branch dropdown (remove dev filter)
- Limit branch list to latest 10 by version
- Fix Upgrade Progress Log text visibility (light text on dark bg)
2026-02-15 01:16:01 +01:00
master3395
ea17686790 v2.5.5-dev: FTP Create Account fix, ftp_quotas table, CP_VERSION, mailUtilities indent, deploy scripts and docs
- baseTemplate: CP_VERSION from CYBERPANEL_FULL_VERSION (2.5.5.dev) for cache busting
- FTP Create Account: inline script + polling + scope sync so details form shows after website select
- ftp.js: showFTPDetails, select2/change handlers (ftp/static, static, public/static)
- sql/create_ftp_quotas.sql + deploy-ftp-quotas-table.sh for /ftp/quotaManagement
- plogical/mailUtilities.py: indentation fix in DNS query try/except block
- deploy-ftp-create-account-fix.sh, to-do docs (FTP-QUOTAS-TABLE-FIX, V2.5.5-DEV-FIXES-AND-DEPLOY, RUNTIME-VS-REPO)
2026-02-04 02:33:32 +01:00
master3395
12b28100f9 Fix User Management: Create User, List Users, Modify User
- Create User: Don't show 'Unknown error' on load; fix inverted success/failure
  logic in static/ and public/static/ userManagment.js
- List Users: Use <button> for Edit/Delete/Suspend/Activate; add showModalById/
  hideModalById for Bootstrap 3/5; fix public/static missing modal show calls
- Modify User: Fix inverted canotModifyUser/canotFetchDetails in all three
  userManagment.js copies; hide modify error when only fetching details
- Add deploy-createuser-fix.sh to copy fixed JS and run collectstatic on server
2026-02-03 00:42:48 +01:00
master3395
e99798931c fix(docker): listContainers HTML page – avoid JSON/cache mix-up
- Add GET /docker/containers for HTML page; GET /docker/listContainers redirects there
- POST /docker/listContainers returns 405 (page uses getContainerList for data)
- Remove duplicate listContainers Angular controller; fix pagination (getContainerList)
- Extend getContainerList API: totalCount, totalPages, currentPage, itemsPerPage
- Add ACTIVITY BOARD-style pagination: Prev/Next, Go to page, Showing X–Y of Z
- Update menu/templates/JS redirects to /docker/containers
- Sync dockerManager.js across app static, STATIC_ROOT, public/static
- Cache-Control on HTML response; cache-bust script ?v=4

Fixes raw JSON instead of UI when loading /docker/listContainers (cache/proxy
serving stored JSON for GET). Use /docker/containers for the page.
2026-01-25 03:56:25 +01:00
master3395
83a0aba1ae Improve AngularJS module reference check in websiteFunctions.js
- Enhanced module check to first try window.app before falling back to angular.module
- Ensures createWordpress controller can register properly
- Fixes [$controller:ctrlreg] error for createWordpress controller
- Applied to all websiteFunctions.js file locations
2026-01-22 19:28:05 +01:00
master3395
ac2b30f2ee Fix topProcesses page: Remove auto-refresh and fix double percentage signs
- Remove auto-refresh timeout (3 seconds) from topProcesses page
- Add manual refresh button in page header
- Fix double percentage signs (%% -> %) in CPU Time Distribution
- Remove duplicate serverStatus.js script loading in footer_scripts block

Changes:
- Removed $timeout($scope.topProcessesStatus, 3000) from serverStatus.js
- Removed extra % sign from template (backend already includes % in values)
- Added refresh button with loading state indicator
2026-01-19 20:21:12 +01:00
master3395
97068705a2 Add notification center button and fix stat-card/activity board loading 2026-01-19 17:37:47 +01:00