ORLANDO PR. NAME BADGE + QR PROFILE SYSTEM
==========================================

WHAT IT DOES
People fill out a public form on your site. Each submission creates a profile
page at orlandopr.com/businessname. You log into the admin area, see who has
not been printed yet, print a name badge (name, phone, business on the left, QR
on the right). Printing marks the entry live, so the profile page goes public
and the QR code on the badge opens it.

REQUIREMENTS
PHP 7.4 or newer (tested on 8.3). MySQL or MariaDB. Standard cPanel works.
No PHP extensions beyond the defaults. The QR code and badge image are built in
the browser, so there is nothing to install on the server.

SETUP (about 5 minutes)
1.  Create a MySQL database and a user in cPanel. Give the user all privileges
    on that database.
2.  Open config.php and fill in:
      DB_NAME, DB_USER, DB_PASS   your cPanel database details
      BASE_URL                    https://orlandopr.com  (no trailing slash)
    Leave the rest as is for now.
3.  Upload everything in this folder to your site.
      Root of the domain  ->  upload to public_html
      A subfolder         ->  upload to public_html/badges and open .htaccess,
                              uncomment the RewriteBase line and set it to
                              /badges/  (also set BASE_URL to the subfolder).
4.  Visit  https://orlandopr.com/install.php  in your browser. Pick an admin
    username and password. It creates the database tables and your login.
5.  DELETE install.php from the server after it succeeds. Important.
6.  Done. The public form is your home page (index.php). Your admin login is at
      https://orlandopr.com/admin/

DAILY USE
- People submit at the home page.
- You log in at /admin/, open the "Needs printing" tab.
- Click "Print badge" on a person. Print it, or download the PNG (see below).
- Click "Mark printed and publish". Their profile at orlandopr.com/theirslug
  goes live and the QR code works.

PRINTING. TWO PATHS
- Brother VC-500W or any label/photo printer with a normal Windows or Mac
  driver: use the "Print badge" button. It opens your browser print dialog at
  the exact badge size. Pick the printer, print.
- Liene PixCut S1 or any app-only printer: click "Download PNG". It saves an
  exact-size image. Open the Liene Photo app, import that PNG, print and cut.

BADGE SIZE
Default is a standard 3.5 x 2.25 inch name badge. To match a specific media,
edit BADGE_W_MM, BADGE_H_MM and BADGE_DPI in config.php. Common presets are
listed in the comments there (Liene 4x6 and 4x7, Brother 50mm tape).

SECURITY NOTES
- Delete install.php after setup.
- config.php is blocked from the web by .htaccess, but keep your DB password
  private anyway.
- The uploads folder has PHP execution disabled.

FILES
config.php          your settings
install.php         one time setup, delete after use
index.php           public submission form
thanks.php          confirmation page
profile.php         public profile, served at /slug
vcard.php           save contact (.vcf) download
admin/              login, dashboard, badge printer, edit
inc/                db, auth, helper functions (not web accessible)
assets/             stylesheet and the bundled QR library
uploads/            member photos
.htaccess           pretty URL rewriting
