PX File Pro adds folder profiles, protected core files, an activity log with notifications, share links, search and replace inside files and upload from a URL to PX File Manager. It is part of the Pro membership and installs next to the free PX File Manager.

PX File Pro is a package for Pro members. It does not replace PX File Manager: it plugs into it, so the file manager you know gets new buttons and rules, and Joomla gets a Components » PX File Pro menu for profiles, the activity log and share links.

  • Folder profiles: a user group (or single users) gets its own root folder, allowed operations, upload size, file types, hidden and read-only paths.
  • Protected files: core files are hidden or read-only for everyone but Super Users, who confirm before changing them.
  • Activity log: who did what, where and when, with refused attempts, CSV export and Joomla's User Actions Log.
  • Notifications: email, Slack, Microsoft Teams or Discord, right away or as a daily digest.
  • Share links: a public download link for a file or folder, with expiry, password and download limit.
  • Search and replace inside files, with a preview and a copy of every changed file in the trash.
  • Uploads: whole folders, resume after a reload, upload from a URL.
  • Editor extras: compare with the saved file, full screen, minimap.
PX File Manager toolbar with the PX File Pro buttons
With PX File Pro the explorer toolbar gets Search in files, Upload folder, Upload from URL and Activity log.

Requirements

  • PX File Manager 1.1.0 or later (the installer stops if it is missing or older)
  • Joomla 5.4 or later, or Joomla 6.x
  • PHP 8.1 or later, with curl for Upload from URL
  • MySQL / MariaDB or PostgreSQL

Install the package

  1. Download pkg_pxfilepro_vx.y.z.zip from your account (Downloads).
  2. Install it in System » Install » Extensions, like any Joomla package.
  3. The package installs the PX File Pro component, the System - PX File Pro plugin (enabled) and the Task - PX File Pro plugin (enabled). Keep the system plugin enabled: it connects PX File Pro to PX File Manager.
  4. Create the two scheduled tasks described in Scheduled tasks.

Nothing changes for your users until you add a folder profile. Super Users see the whole site as before, with the new Pro tools.


A profile decides what a group of users can see and do in PX File Manager. Go to Components » PX File Pro » Folder profiles and click New.

Folder profiles list
Two profiles: Marketing (Manager group, images/marketing) and Developers (templates folder).

Who gets a profile

  • User groups and User IDs on the Who tab. A profile that names the user wins; otherwise the first published profile, by Ordering, that names one of the user's groups.
  • Super Users ignore profiles and always see the whole site, unless you turn off Super Users ignore profiles in Options.
  • Users without a profile see the whole site (only PX File Manager's own permissions apply), or nothing at all if you choose so in Options.
  • Joomla permissions still apply on top: a profile can only narrow what the PX File Manager permissions allow.
  • Only users with Configure on PX File Pro (Super Users by default) can create or change profiles, so a group cannot widen its own profile.
  • Only users with Configure on PX File Pro (Super Users by default) can create or change profiles, so a group cannot widen its own profile.
  • Only users with Configure on PX File Pro (Super Users by default) can create or change profiles, so a group cannot widen its own profile.

Folder and rules

Folder and rules tab of a folder profile
FieldWhat it does
Root folderFolder below the Joomla root that becomes the top of the file manager, e.g. images/marketing. Users cannot go above it, not even through symbolic links. Empty = the whole site.
Allow every operationYes, or tick the operations allowed: create, upload, edit, rename, move, copy, delete, archives, permissions, download, search inside files, replace, share links, upload from URL. Browsing, opening and searching file names are always allowed; nothing ticked = read only.
Max upload size (MB)Largest file these users can upload (also for Upload from URL). 0 = no extra limit.
Allowed / Blocked file typesSame rules as in the PX File Manager Options, added to them. A name is refused when any of its extensions is blocked (x.php.jpg).
Hidden pathsNever listed, opened, searched, zipped or shared. One per line, relative to the profile root.
Read-only pathsVisible but cannot be changed, moved or deleted.

Path patterns: /brand matches that folder and everything inside it, a name without a slash such as drafts, *.log or .git matches anywhere, and globs such as /exports/*.csv are allowed.

The Notifications tab is described in Notifications.


Some files can take a site down or give it away: configuration.php holds the database password, .htaccess changes how the server runs, /administrator and /libraries are Joomla itself. PX File Pro keeps them away from everyone but Super Users, with or without profiles.

List (Options » Protected files)DefaultFor users who are not Super Users
Hidden from other users/configuration.php, *.key, *.pem, .env, .git, /administrator/logsNever listed, opened, searched, downloaded, zipped or shared.
Read-only for other users/.htaccess, /web.config, /index.php, /administrator, /api, /cli, /includes, /libraries, /media/vendorVisible, but cannot be changed, moved or deleted.

Paths are relative to the Joomla root. If a profile's root folder is inside a protected folder, those users get it read only (or not at all, for a hidden folder).

Super Users can change protected files, but PX File Manager asks them to confirm first. Turn this off with Super Users confirm changes in Options.

Confirmation before changing a protected file
A Super User creating a file in /administrator.
Protected files options

Click Search in files in the explorer toolbar. PX File Manager's own search finds file names; this one looks inside files.

Search in files dialog with results
1What to find and where   2Matching lines; click one to open the file at that line
  • Find: plain text, or a Regular expression (PCRE). Tick Match case for an exact match.
  • Folder: where to start; the current folder by default.
  • Only files / Skip: name patterns, e.g. *.php, *.ini and node_modules, vendor, cache.
  • Text files up to 2 MB are searched; binary files and files that are not UTF-8 are skipped. The search stops after 500 matching lines or about 10 seconds and says so: narrow the folder or the file filter. Limits are in Options » Features.
  • Hidden and protected paths are never searched.

Replace

Type the new text in Replace with and click Preview replace. Each file shows the lines that would change. Untick the files you want to keep, then click Replace in n files.

Replace preview with old and new lines
1Old lines crossed out, new lines in green   2Replace in the ticked files
  • A copy of every file is put in the Trash before it is changed, so a wrong replace can be undone file by file.
  • With a regular expression, $1, $2… in the replacement insert the matched groups; in plain mode the text is used as it is.
  • Read-only and protected files are refused (Super Users confirm protected ones).
  • Replace needs the Joomla Edit permission and, with a profile, the Replace inside files operation.


Upload folder

Upload folder in the toolbar opens your computer's folder picker; every file is uploaded into a folder of the same name below the current folder. (Dropping folders on the file list works in the free version too.)

Resume after a reload

Large files are sent in chunks. If the page is reloaded or the connection drops, upload the same file into the same folder again: PX File Pro asks the server how far it got and continues from there. Unfinished uploads are removed from the server after 24 hours.

Upload from URL

Upload from URL downloads a file from another website straight into the current folder, without passing through your computer.

Upload from URL dialog
  • Only http:// and https:// addresses on the usual web ports. Addresses on private or internal networks (localhost, 10.x, 192.168.x, cloud metadata addresses…) are refused, also after a redirect, so the feature cannot be used to reach your own server or network.
  • Leave Save as empty to use the name from the URL. File type rules and the confirmation for files the server can run apply as for normal uploads.
  • Largest file: 100 MB by default (Options » Features), or the profile's upload limit.

PX File Pro adds three buttons to the small toolbar in the corner of the code editor:

Editor toolbar with compare, full screen, minimap and theme buttons
  • Compare with saved: shows your unsaved changes next to the file on disk.
  • Full screen: the editor fills the window; Esc or the button again to leave.
  • Minimap: show or hide the code overview on the right; the choice is kept in this browser.
Compare with saved
One line added since the last save.

Components » PX File Pro » Activity log lists every change made through PX File Manager: date, user, operation, path and target, size, SHA-256 of saved or uploaded files, and IP address. Refused attempts, such as a delete in a read-only folder or a blocked file type, are shown in red with the reason.

PX File Pro activity log
  • Filter by text (path, user or IP), operation, result and dates; sort by date, user or operation.
  • Export CSV downloads the filtered list (UTF-8, dates in UTC; opens in Excel and Google Sheets).
  • Delete old entries removes entries older than Keep entries (days) (180 by default). The Clean up scheduled task does this every day.
  • Downloads, opened files and content searches are logged too if you turn on Also log reads in Options.
  • Entries also go to Joomla's Users » User Actions Log (turn off in the System - PX File Pro plugin).
  • Share link URLs are never written to the log, only share #id.

Each profile has a Notifications tab; users without a profile (for example Super Users) use the same settings in Options » Notifications.

Notifications tab of a folder profile
FieldWhat it does
Notify onUploads; edits, new files and renames; deletes and moves; downloads (incl. share links); share links created or revoked; zip, extract and copy.
Email toAddresses separated by commas or new lines. Sent with Joomla's mailer (System » Global Configuration » Server » Mail).
Chat webhook URLAn https:// incoming webhook of Slack, Microsoft Teams or Discord, or any URL that accepts a JSON POST ({"text": "…"}; Discord gets {"content": "…"}).
WhenRight away: one message per action. Daily digest: one message with everything since the last digest, sent by the Notification digest scheduled task.

When a profile is deleted or unpublished, its waiting digest entries are dropped, not sent to the site-wide addresses.


Go to System » Scheduled Tasks » New and add:

TaskWhat it doesSuggested schedule
PX File Pro - Clean upDeletes activity log entries older than the retention, and share links that were revoked or expired more than 30 days ago.Every day
PX File Pro - Notification digestSends the daily digest for profiles (and Options) set to Daily digest.Every day, e.g. at 08:00

Joomla runs scheduled tasks on page visits ("lazy scheduler") or from a cron job with php cli/joomla.php scheduler:run; on quiet sites a cron job is more reliable.


Components » PX File Pro » Options:

TabOptions
ProfilesSuper Users ignore profiles (Yes); users without a profile see the whole site or nothing.
Protected filesHidden and read-only lists, Super Users confirm changes (see Protected files).
Activity logAlso log reads (No); keep entries 180 days.
NotificationsEvents, email, webhook and timing for users without a profile.
FeaturesShare links expire after at most 30 days; Upload from URL limit 100 MB; search: largest file 2048 KB, at most 500 matching lines.
PermissionsWho can open PX File Pro to see the log and their share links (Joomla ACL of PX File Pro). Profiles need Configure.

New versions show up in System » Update » Extensions. As a Pro member, download the new package from your account and install it over the current one; your profiles, log, links and options are kept.

What's new

  • 1.0.0: Initial release.