When to Use the Listing Admin Bridge
The Listing Admin Bridge is for fanlisting owners who have already imported their data into Luster but have not yet updated their fanlisting page code. It lets your old Listing Admin show-*.php includes keep working by routing them through Luster instead.
Use the bridge when:
- You have imported your Listing Admin data into Luster and want your existing pages to keep working immediately.
- You plan to migrate your pages to Luster’s embed system gradually, one fanlisting at a time, rather than all at once.
- You want a zero-downtime transition — visitors see working forms the entire time.
It is meant to keep things running while you update your pages to use Luster’s native embed/ files. Once all your pages use embeds directly, you can remove the bridge files.
Setup
The Listing Admin Bridge relies on the ID mapping table (lstr_listing_external_refs) that is created during the import process. If you have not imported your Listing Admin data into Luster yet, the bridge will not be able to resolve your listings. Run the Listing Admin import before setting up the bridge.
-
Download the Bridge
In the Luster admin panel, go to Admin → Collective → Migration & Bridges and click Listing Admin Bridge. This downloads a ZIP file.
-
Unzip into Your Listing Admin Folder
The ZIP contains
luster-bridge.php— already pre-configured with your Luster install path, no editing needed — plus 17 wrapper files (show-join.php,show-members.php, etc.). Extract them into your Listing Admin installation folder, replacing the originalshow-*.phpfiles. -
Done
Your existing fanlisting pages will now render forms through Luster instead of Listing Admin. No other changes are needed.
How It Works
When a visitor loads one of your fanlisting pages, the following happens:
-
Your page sets $listid
Your existing fanlisting page sets a
$listidvariable, which is the numeric listing ID used by Listing Admin. -
The page includes a show-*.php file
Your page includes a file like
show-join.php. Because you replaced the originals with bridge wrappers, it now loads the Luster bridge version instead of the old Listing Admin code. -
The bridge resolves the listing
The bridge reads
$listidand looks it up in thelstr_listing_external_refstable to find the corresponding Luster listing ID. This mapping table is created automatically during the Listing Admin import. -
Luster renders the output
The bridge passes the resolved listing ID to the corresponding Luster embed file (e.g.
embed/join.php), which renders the form and outputs the HTML.
Supported Wrappers
The bridge includes replacement wrappers for all Listing Admin show-*.php files. Each wrapper routes to the equivalent Luster embed.
| Listing Admin File | Luster Embed | What It Renders |
|---|---|---|
show-join.php | embed/join.php | Join form |
show-members.php | embed/members.php | Member list |
show-update.php | embed/update.php | Update form |
show-reset.php | embed/reset.php | Password reset form |
show-stats.php | embed/stats.php | Listing statistics |
show-real-stats.php | embed/stats.php | Listing statistics (alias) |
show-affiliates.php | embed/affiliates.php | Affiliates list |
show-codes.php | embed/codes.php | Fan codes display |
show-codes-form.php | embed/codes-submit.php | Code donation form |
show-updates.php | embed/newsfeed.php | News updates feed |
| Listing Admin File | Luster Embed | What It Renders |
|---|---|---|
show-owned.php | embed/owned.php | Owned listings |
show-joined.php | embed/joined.php | Joined listings |
show-wishlist.php | embed/wishlist.php | Wishlist |
| Listing Admin File | Luster Embed | What It Renders |
|---|---|---|
show-kim-join.php | embed/kim-signup.php | KIM sign-up form |
show-kim-members.php | embed/kim-list.php | KIM member list |
show-kim-update.php | embed/kim-update.php | KIM update form |
show-kim-reset.php | embed/kim-reset.php | KIM password reset form |
Manual Override
If the bridge cannot auto-detect your listing from the $listid variable, or if you want to skip the ID mapping lookup entirely, you can set the Luster listing ID manually before the include.
$luster_listing_id = 5;
include '/path/to/listingadmin/show-join.php';
When $luster_listing_id (or $luster_fanlisting_id) is set before the include, the bridge uses it directly and skips the $listid lookup.
Styling
The bridge renders forms using Luster’s HTML output, which means the output uses Luster’s CSS classes (fl-form, fl-field, fl-input, etc.) instead of Listing Admin’s old classes (input1, input2, etc.).
To style the output, you have two options:
- Add Luster’s public stylesheet to your fanlisting pages. This gives you sensible defaults immediately — see the Baseline Stylesheet reference for the one-time setup line and the
?luster_csslink it enables (used instead of a direct path, so your pages don't expose your server's real install path). - Write your own CSS targeting the
fl-*classes. See the CSS Class Migration Reference for the full mapping of old Listing Admin class names to Luster equivalents.
If you had custom styles targeting Listing Admin class names like .input1, .input2, or #show-update, those styles will have no effect on the bridge output. You need to update them to target the equivalent fl-* classes.
Troubleshooting
“Listing not found” message appears
This means the bridge could not match the $listid variable to a Luster listing. The most common cause is that the Listing Admin data has not been imported into Luster yet. The bridge relies on the lstr_listing_external_refs table, which is populated during the import. Run the Listing Admin import first.
Blank output (nothing renders)
Check that the LUSTER_PATH constant in luster-bridge.php points to the correct absolute server path of your Luster installation. The path should point to the Luster root directory (the folder containing bootstrap.php), not the public/ subdirectory.
PHP errors or white screen
Make sure your server meets Luster’s requirements (PHP 8.1+). Also verify that the Luster installation itself is working by visiting the admin panel directly.
KIM or Wishlist wrappers show nothing
These wrappers require the corresponding Luster add-on to be installed. Go to Admin → Add-ons in the Luster admin panel and make sure the KIM List or Wishlist add-on is installed.
Forms submit but nothing happens
The bridge forms submit to Luster’s public endpoint. Make sure Luster’s app_url and embed_base_url config values are set correctly, and that the Luster public/ directory is accessible from the web.
Styles look wrong
The bridge outputs Luster HTML, not Listing Admin HTML. Your old Listing Admin CSS classes will not apply. Add Luster’s public stylesheet to your pages, or update your CSS to target fl-* classes. See the CSS Class Migration Reference.