Commit Graph

691 Commits

Author SHA1 Message Date
gitea-actions[bot] 9bf1917ac7 chore(version): pre-release bump to 01.08.11-dev [skip ci] 2026-06-12 02:55:03 +00:00
Jonathan Miller 0abbfc709b fix: create admin submenu items on update via Joomla MenuTable API
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 3s
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 9s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
The <submenu> block in the manifest was empty, so no submenu items were
ever created. Additionally, Joomla skips submenu creation on updates,
so ensureSubmenuItems() now programmatically creates missing entries
using the MenuTable API with proper nested set positioning.
2026-06-11 21:53:52 -05:00
gitea-actions[bot] b7dad35671 chore(version): pre-release bump to 01.08.10-dev [skip ci] 2026-06-12 02:53:00 +00:00
gitea-actions[bot] bd1bace9fb chore(version): pre-release bump to 01.08.09-dev [skip ci] 2026-06-12 02:48:06 +00:00
jmiller 2fd61431a5 fix: add client=administrator to package manifest and update server URL
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Generic: Project CI / Lint & Validate (push) Successful in 41s
Generic: Project CI / Tests (push) Has been cancelled
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-12 02:13:14 +00:00
gitea-actions[bot] 37c5ea2960 chore(version): pre-release bump to 01.08.08-dev [skip ci] 2026-06-11 20:32:46 +00:00
jmiller 632e512dbc ci(pre-release): sync universal v05 workflow with chore/** branch trigger
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 3s
Universal: Auto Version Bump / Version Bump (push) Successful in 11s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 13s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-11 20:31:34 +00:00
gitea-actions[bot] c119dc42e4 chore(version): pre-release bump to 01.08.07-dev [skip ci] 2026-06-11 20:27:35 +00:00
Jonathan Miller 557a463663 Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup into dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 7s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-11 15:27:19 -05:00
Jonathan Miller 2a9443601e fix: [DEFAULT_DIR] resolves to JPATH_ROOT/backups, shown as placeholder
- getDefaultAbsolute() now returns JPATH_ROOT/backups instead of
  the old admin component directory
- SQL default, form default, and install migration all use [DEFAULT_DIR]
- portablize() converts ./backups and old literal paths back to [DEFAULT_DIR]
- Users see [DEFAULT_DIR] in the field, resolved path shown in status
2026-06-11 15:27:17 -05:00
gitea-actions[bot] aa3aace9dd chore(version): pre-release bump to 01.08.06-dev [skip ci] 2026-06-11 20:19:47 +00:00
Jonathan Miller 7a5e25e0e4 Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup into dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-11 15:19:23 -05:00
Jonathan Miller 3e72b76cde fix: restore language file entries stripped during merge conflict resolution
All sub-extension manifests had empty <languages> tags after the sed-based
conflict resolution removed lines matching old names. This caused Joomla
to not load any language strings, showing raw keys like
COM_MOKOJOOMBACKUP_HEADING_TITLE instead of translated text.
2026-06-11 15:19:19 -05:00
gitea-actions[bot] b4aa3ab0f9 chore(version): pre-release bump to 01.08.05-dev [skip ci] 2026-06-11 19:23:10 +00:00
Jonathan Miller c401608222 fix: resolve merge conflicts, keep pretty names at 01.08.04-dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 12s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-11 14:22:51 -05:00
Jonathan Miller 5c697b9eeb fix: pretty names for all sub-extensions, default backup dir to ./backups
- Component: MokoSuiteBackup
- Plugins: System/Task/Console/Content/QuickIcon/ActionLog/WebServices - MokoSuiteBackup
- Default backup_dir changed to ./backups (relative to site root)
- Auto-migrate old defaults on upgrade
2026-06-11 12:48:11 -05:00
gitea-actions[bot] fe71aff5a3 chore(version): pre-release bump to 01.08.04-dev [skip ci] 2026-06-11 17:40:40 +00:00
Jonathan Miller 9a20f23c12 Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup into dev
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 1s
Universal: Auto Version Bump / Version Bump (push) Successful in 8s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-11 12:40:24 -05:00
Jonathan Miller 49f3d9fdcf feat: change default backup dir to ../backups (outside web root)
- Default backup_dir is now ../backups (relative to JPATH_ROOT),
  which resolves outside public_html on most hosting setups
- Added BackupDirectory::normalizePath() to resolve ../ segments
  without requiring the path to exist on disk
- Added BackupDirectory::portablize() to auto-detect absolute paths
  and replace them with portable placeholders ([HOME], ../backups)
- ProfileTable::check() auto-normalizes backup_dir on save
- Install postflight auto-migrates old in-webroot defaults to ../backups
- Dashboard warning now checks resolved path instead of string matching
- .htaccess protection only applied when directory is inside web root
2026-06-11 12:39:59 -05:00
gitea-actions[bot] 1badb45c74 chore(version): pre-release bump to 01.08.03-dev [skip ci] 2026-06-11 17:31:11 +00:00
Jonathan Miller 8d78cae60b Merge branch 'dev' of https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteBackup into dev
Generic: Repo Health / Access control (push) Successful in 1s
Generic: Repo Health / Site Health (push) Has been skipped
Universal: Auto Version Bump / Version Bump (push) Successful in 15s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
2026-06-11 12:30:48 -05:00
Jonathan Miller e8b40d9389 fix: resolve relative paths in folder browser, add placeholders help modal
- browseDir() now resolves paths via BackupDirectory::resolve() before
  permission check, fixing "access denied" when browsing from [DEFAULT_DIR]
- SQL default for backup_dir changed to [DEFAULT_DIR] placeholder
- Added help button (?) next to Browse that opens a modal listing all
  available placeholders with examples and recommended paths
2026-06-11 12:30:23 -05:00
gitea-actions[bot] 925ad07d7c chore(version): pre-release bump to 01.08.02-dev [skip ci] 2026-06-11 17:25:04 +00:00
Jonathan Miller ace33b60fe feat: rename mokojoombackup → mokosuitebackup, add [HOME] placeholder for backup directory
Generic: Repo Health / Site Health (push) Has been skipped
Generic: Repo Health / Access control (push) Successful in 2s
Universal: Auto Version Bump / Version Bump (push) Successful in 10s
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Renames all sub-extensions from mokojoombackup to mokosuitebackup
(package, component, 7 plugins, language files, manifests).

Adds [HOME] placeholder to BackupDirectory and PlaceholderResolver
so users can set backup_dir to [HOME]/backups (outside web root).
Fixes folder browser "access denied" on PHP-FPM shared hosting
where getenv('HOME') returns empty by adding POSIX and JPATH_ROOT
fallback detection.
2026-06-11 12:24:27 -05:00
gitea-actions[bot] 8bcd5c058c chore(version): pre-release bump to 01.08.01-dev [skip ci] 2026-06-10 05:42:14 +00:00
jmiller d2546db9de chore: sync security-audit.yml from Template-Joomla [skip ci] 2026-06-07 17:59:05 +00:00
jmiller 476d79cca7 chore: sync repo-health.yml from Template-Joomla [skip ci] 2026-06-07 17:59:05 +00:00
jmiller a7b2716d20 chore: sync pre-release.yml from Template-Joomla [skip ci] 2026-06-07 17:59:04 +00:00
jmiller 59dffdb38f chore: sync pr-check.yml from Template-Joomla [skip ci] 2026-06-07 17:59:04 +00:00
jmiller d26f938c26 chore: sync notify.yml from Template-Joomla [skip ci] 2026-06-07 17:59:04 +00:00
jmiller 9b90738e54 chore: sync issue-branch.yml from Template-Joomla [skip ci] 2026-06-07 17:59:03 +00:00
jmiller b7dc38dcbc chore: sync gitleaks.yml from Template-Joomla [skip ci] 2026-06-07 17:59:03 +00:00
jmiller ef6d3f4dc9 chore: sync deploy-manual.yml from Template-Joomla [skip ci] 2026-06-07 17:59:02 +00:00
jmiller c6826ebc45 chore: sync cleanup.yml from Template-Joomla [skip ci] 2026-06-07 17:59:02 +00:00
jmiller 6a2788786e chore: sync ci-joomla.yml from Template-Joomla [skip ci] 2026-06-07 17:59:02 +00:00
jmiller 78e507e034 chore: sync ci-generic.yml from Template-Joomla [skip ci] 2026-06-07 17:59:01 +00:00
jmiller c842998d1a chore: sync cascade-dev.yml from Template-Joomla [skip ci] 2026-06-07 17:59:01 +00:00
jmiller cc1c84f662 chore: sync branch-cleanup.yml from Template-Joomla [skip ci] 2026-06-07 17:59:01 +00:00
jmiller 2b66d4a9d1 chore: sync auto-release.yml from Template-Joomla [skip ci] 2026-06-07 17:59:00 +00:00
jmiller 7eb56e07a9 chore: sync auto-bump.yml from Template-Joomla [skip ci] 2026-06-07 17:59:00 +00:00
gitea-actions[bot] 9af3b7ba9d chore(release): build 01.08.00 [skip ci] 2026-06-07 15:06:21 +00:00
jmiller abe68c1e64 Merge pull request 'Release v01.07.00 — scheduled task, install warnings, AkeebaImporter cleanup' (#44) from dev into main
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
2026-06-07 15:06:14 +00:00
gitea-actions[bot] 4d74627720 chore(version): pre-release bump to 01.07.01-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
Universal: Build & Release / Promote to RC (pull_request) Has been cancelled
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been cancelled
2026-06-07 14:59:37 +00:00
Jonathan Miller e5fb88e1a4 feat: auto-create default scheduled task on install, fix AkeebaImporter constants
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
- Create "Monthly Full Backup" scheduled task (30-day interval, profile 1,
  03:00 execution) on fresh install via com_scheduler
- Skips if any MokoJoomBackup task already exists
- Failure notifications enabled to Super Users group by default
- Replace hardcoded backup dir paths in AkeebaImporter with
  BackupDirectory::DEFAULT_RELATIVE constant
2026-06-07 09:50:32 -05:00
Jonathan Miller df44518611 fix: skip all postflight actions on uninstall, add install warnings
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
- Early return on uninstall to prevent license warning, menu sync, and
  default-dir check from running during package removal
- Add warnDefaultBackupDir() — warns on install/update if any profile
  uses the default web-root backup directory
- Add profile review reminder on fresh install with link to profiles view
2026-06-07 09:46:46 -05:00
gitea-actions[bot] 5e0683c0c7 chore(release): build 01.07.00 [skip ci] 2026-06-07 14:44:24 +00:00
jmiller bbf3dcd449 Merge pull request 'Refactor: extract BackupDirectory utility class' (#43) from dev into main
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
2026-06-07 14:44:09 +00:00
gitea-actions[bot] 139423cbe9 chore(version): pre-release bump to 01.06.01-dev [skip ci]
Branch Cleanup / Delete merged branch (pull_request) Has been cancelled
Universal: Build & Release / Promote to RC (pull_request) Has been cancelled
Universal: Build & Release / Build & Release Pipeline (pull_request) Has been cancelled
2026-06-07 14:41:18 +00:00
Jonathan Miller 814d1b147c refactor: extract BackupDirectory utility to eliminate code duplication
Generic: Repo Health / Scripts governance (push) Has been cancelled
Generic: Repo Health / Repository health (push) Has been cancelled
Generic: Repo Health / Report Issues (push) Has been cancelled
Generic: Repo Health / Site Health (push) Has been cancelled
Generic: Repo Health / Access control (push) Has been cancelled
Universal: Auto Version Bump / Version Bump (push) Has been cancelled
- Create BackupDirectory utility class with centralized:
  - DEFAULT_RELATIVE constant and PLACEHOLDER constant
  - resolve() — path resolution with [DEFAULT_DIR] and relative path handling
  - hasPlaceholders() — check for unresolved placeholder tokens
  - isWebAccessible() — web-root boundary check
  - protect() — .htaccess and index.html creation with error logging
  - ensureReady() — mkdir + protect in one call
  - parseNewlineList() — newline-separated text parsing
  - logPathFromArchive() — derive .log path from archive path
- Remove duplicated methods from BackupEngine, SteppedBackupEngine,
  ProfileTable, AjaxController, and DashboardModel
- All consumers now use BackupDirectory static methods
- Net reduction: ~180 lines of duplicated code eliminated
2026-06-07 09:39:43 -05:00
gitea-actions[bot] 6dc7fdfa91 chore(release): build 01.06.00 [skip ci] 2026-06-07 14:23:16 +00:00