Compatibility

Listing Admin Bridge

Keep your old Listing Admin page includes working while you transition to Luster’s embed system.

Overview

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.
The bridge is temporary.

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.

Installation

Setup

Import your data first.

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.

  1. Download the Bridge

    In the Luster admin panel, go to Admin → Collective → Migration & Bridges and click Listing Admin Bridge. This downloads a ZIP file.

  2. 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 original show-*.php files.

  3. Done

    Your existing fanlisting pages will now render forms through Luster instead of Listing Admin. No other changes are needed.

Under the Hood

How It Works

When a visitor loads one of your fanlisting pages, the following happens:

  1. Your page sets $listid

    Your existing fanlisting page sets a $listid variable, which is the numeric listing ID used by Listing Admin.

  2. 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.

  3. The bridge resolves the listing

    The bridge reads $listid and looks it up in the lstr_listing_external_refs table to find the corresponding Luster listing ID. This mapping table is created automatically during the Listing Admin import.

  4. 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.

Reference

Supported Wrappers

The bridge includes replacement wrappers for all Listing Admin show-*.php files. Each wrapper routes to the equivalent Luster embed.

Listing Admin FileLuster EmbedWhat It Renders
show-join.phpembed/join.phpJoin form
show-members.phpembed/members.phpMember list
show-update.phpembed/update.phpUpdate form
show-reset.phpembed/reset.phpPassword reset form
show-stats.phpembed/stats.phpListing statistics
show-real-stats.phpembed/stats.phpListing statistics (alias)
show-affiliates.phpembed/affiliates.phpAffiliates list
show-codes.phpembed/codes.phpFan codes display
show-codes-form.phpembed/codes-submit.phpCode donation form
show-updates.phpembed/newsfeed.phpNews updates feed
Listing Admin FileLuster EmbedWhat It Renders
show-owned.phpembed/owned.phpOwned listings
show-joined.phpembed/joined.phpJoined listings
show-wishlist.phpembed/wishlist.phpWishlist
Listing Admin FileLuster EmbedWhat It Renders
show-kim-join.phpembed/kim-signup.phpKIM sign-up form
show-kim-members.phpembed/kim-list.phpKIM member list
show-kim-update.phpembed/kim-update.phpKIM update form
show-kim-reset.phpembed/kim-reset.phpKIM password reset form
Advanced

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.

PHP
$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.

CSS

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_css link 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.
Old CSS will not apply.

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.

Help

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.