Group Invite Links Directory

Comprehensive Installation, Customization, and Admin Guide

Version 1.0.0 PHP & MySQL AdSense Compliant

Welcome

Thank you for purchasing the Group Invite Links Directory PHP script. This script is a state-of-the-art catalog and SEO-optimized search index for active public WhatsApp group invite links, WhatsApp broadcast channels, Telegram group chats, and Telegram channel invite links.

Equipped with an automated web setup wizard, self-service premium card promotion (PayPal integration), Google AdSense placeholders, dynamic sitemap builders, and advanced file caching, it allows you to configure, launch, and monetize a link indexing business in minutes.

lightbulb
Tip: Keep this guide open in your browser while configuring your server. If you encounter any installation problems, consult the Troubleshooting tab at the bottom of the sidebar.

Key Features

Below is a summary of the main features packed inside this web directory platform:

magic_button Setup Wizard

An interactive 5-step installer checker, database builder, settings organizer, and admin creator.

photo_camera Auto Scraping

Instantly scrapes group avatar images from public invite links via server-side cURL without user uploads.

payments Premium Boosts

Self-service promotions that allow users to checkout using PayPal and pin listings automatically.

cached Fast Cache

A custom, automatic file-based HTML rendering system that speeds up page load times to sub-100ms.

ads_click Ads Manager

Insert AdSense banners in multiple positions: site-wide headers, widget sidebars, or homepage layouts.

shield_with_heart AdSense Ready

Enforces redirection warning overlays, double-vote checks, report buttons, and strict admin approval flags.

Server Requirements

Before launching the installer, verify that your server meets the minimum requirements listed below:

Requirement Minimum Version / Status Purpose
PHP Version PHP 7.4.0 or higher (PHP 8.x recommended) Runtime engine for the PHP back-end
MySQL / MariaDB MySQL 5.6+ or MariaDB 10.1+ Relational database storage
PDO & PDO_MYSQL Enabled Extension Secure database connectivity and prepared statements
cURL Extension Enabled (with OpenSSL support) Scraping open graph image metadata from invite links
Apache Mod_Rewrite Enabled on Web Server Clean SEO-friendly URLs (`.htaccess` handling)
Directory Permissions Writable root & cache/ folders Writing lock files, config overwrites, and HTML cache

Local Setup (XAMPP / WampServer)

Follow these steps to run the script locally on Windows using XAMPP:

1

Move Project Directory

Copy the entire groupinvitelinks project directory into your server's root web folder:
C:\xampp\htdocs\groupinvitelinks

2

Initialize MySQL Server

Open the XAMPP Control Panel and start the **Apache** and **MySQL** modules.

3

Access Installer Wizard

Open your browser and navigate to:
http://localhost/groupinvitelinks/
The installer will automatically trigger and guide you through the setup steps.

Production Deployment (cPanel)

Deploying the website live on your hosting account via cPanel is straightforward:

1

Upload Zip Package

Log in to your cPanel dashboard. Open the **File Manager**, navigate to the target web directory (e.g. public_html or a subdomain directory), and upload the project files.

2

Create MySQL Database & User

Go to **cPanel > MySQL Database Wizard**.
1. Create a database name (e.g., mycpanel_groupdb).
2. Create a database user and generate a secure password.
3. Grant **ALL PRIVILEGES** to the user for the created database.

3

Run Installer

Visit your website domain URL in the browser (e.g., https://yourdomain.com). The setup wizard will load to complete the installation process.

Automated Installer Wizard Flow

The script comes equipped with an automated web setup wizard (install.php) that guides you through the configuration in 5 steps:

  1. Step 1: System Requirements Check

    Checks if your hosting matches PHP version requirements, verifies database drivers, and tests if folder permissions are writable so it can modify config settings.

  2. Step 2: Database Configuration

    Requires your MySQL host, database name, database user, and password. Clicking **Test & Build Schema** creates the database tables automatically and updates your config.php file.

  3. Step 3: Site Details & Default Settings

    Detects your site URL. Enter your site name, SEO metadata tags, and select whether to import the default category package, global country list, and 18 demo approved listings.

  4. Step 4: Administrator Credentials

    Define your admin dashboard username and password. The password is secured instantly using secure PHP bcrypt hashing algorithms.

  5. Step 5: Completion

    Generates an install.lock file in the root directory to secure the website against re-installation attempts and redirects you to the login screen of the admin panel.

config.php Configuration Guide

The config.php file in the root folder contains parameters utilized by the script's database adapter and settings system:

config.php
<?php
/**
 * Configuration Settings for Group Invite Links Website
 */

// Database Settings
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', '');
define('DB_NAME', 'xmap');

// Error Logging (Keeps warnings out of AJAX endpoints)
ini_set('log_errors', 1);
ini_set('error_log', __DIR__ . '/php_errors.log');
ini_set('display_errors', 0);

// Website Settings
define('SITE_URL', 'http://localhost/groupinvitelinks');

// Fallback Website Name (overridden by database settings dynamically)
if (!defined('SITE_NAME_DEFAULT')) {
    define('SITE_NAME_DEFAULT', 'Group Invite Links');
}

// Administrator Settings
define('ADMIN_USER', 'admin');
define('ADMIN_PASS', 'Admin123!'); // Default fallback password

// Auto Approval Setting
define('AUTO_APPROVE_SUBMISSIONS', false);
?>

Configuration Parameters Explained:

  • DB_HOST: The database server address (usually localhost on cPanel).
  • DB_USER: The MySQL user configured inside database manager.
  • DB_PASS: The database user's password.
  • DB_NAME: The MySQL database identifier where the schema is stored.
  • SITE_URL: The absolute URL of your website (exclude the trailing slash, e.g., https://yourdomain.com). Used for absolute sitemap links, asset paths, and redirection checks.
  • AUTO_APPROVE_SUBMISSIONS: If set to true, links submitted via the front-end form go live immediately. For AdSense compliance, set to false (default) to require admin dashboard review first.

Administrator Dashboard Walkthrough

To log in to the administrator control center, navigate to admin.php (e.g. http://localhost/groupinvitelinks/admin.php) in your browser. Log in using the username and password defined during the setup wizard.

warning
Important Security Step: If you are using default fallback credentials (admin / Admin123!), change them immediately in the SEO & General Settings or Custom Pages settings sections to protect your administration logs.

Admin Dashboard Sections:

list_alt

Listings Management

View lists of active, pending, or rejected submissions. You can approve or reject listings, delete entries, and search groups. Additionally, you can pin cards (boosted status) for custom durations (in days) or clear active pins.

folder

Categories & Countries

Manage list parameters. Add new categories (with custom slugs for clean routing) and countries. Editing categories automatically updates corresponding child listings in the directory index.

campaign

Advertising Manager

Manage code blocks or image banners for 3 main layout positions: Header/Footer site-wide, Sidebar widgets, Home Page banners (728x90 and 250x250 sizes), and inside the Group details card. Enter custom URLs or script tags.

shield_with_heart

SEO & General Configuration

Change your site name, upload a logo, configure meta keywords/descriptions for index crawls, set a separator character, upload a favicon, specify an OpenGraph thumbnail, and edit robots.txt direct from the dashboard.

description

Custom Pages & Cookie Consent

Edit HTML contents for Terms of Service, Privacy Policies, Disclaimers, and Submission Rules. Toggle the Cookie Consent banner on/off and customize the disclosure text displayed to visitors.

PayPal Gateway & Premium Boosting Setup

The script features a self-service checkout system that lets users pay to pin (boost) their groups to the top of the homepage grid, bypassing standard moderation cues. This feature relies on the PayPal REST API.

How to Integrate PayPal:

1

Generate API Credentials

Log in to the PayPal Developer Dashboard.
1. Go to **Apps & Credentials** and click **Create App**.
2. Select your sandbox/live mode, input your app name, and click create.
3. Copy the **Client ID** and **Client Secret** tokens.

2

Configure Dashboard Settings

Open the Admin Dashboard on your site and select the **Payments** tab.
1. Toggle **Enable Boost Feature** to active.
2. Select the Mode (sandbox for testing, live for production).
3. Paste your PayPal **Client ID** and **Client Secret** values, and save settings.

3

Define Promotion Packages

In the payments area, create custom packages:
- Example: "7 Days Promo", Duration: 7 Days, Price: 3.00 USD.
- Example: "21 Days Premium", Duration: 21 Days, Price: 7.00 USD.

check_circle
Automated Payout Logs & API Refunds: When a user checks out via PayPal Smart Buttons, the transaction is verified asynchronously in boost_confirm.php and recorded. Admins can view transaction lists and issue refunds directly to buyers via the Refund button in the dashboard, which triggers PayPal's refund endpoint automatically.

SEO Optimization & Clean URLs

The platform is pre-configured for search engines, containing built-in directives for URL rewriting and XML indexing:

1. Clean URL Rewriting (.htaccess)

URL rewrites are handled by the .htaccess file, transforming dynamic parameters into clean structures:

  • Front-end links: https://yourdomain.com/submit (points to submit.php)
  • Privacy policy: https://yourdomain.com/privacy (points to privacy.php)
  • Group details card: https://yourdomain.com/group/slug-name-ID (points to group.php?slug=slug-name&id=ID)

2. Dynamic Sitemap Generator

A dynamic XML sitemap is accessible at https://yourdomain.com/sitemap.xml. This route is rewritten to sitemap.php, which queries the database and serves fresh active links to crawlers (like Googlebot) in real time.

3. robots.txt Directives

Configured dynamically via the settings table. It allows crawlers to index active group detail views and lists, but explicitly blocks them from indexing files such as admin.php, db.php, or configurations to secure admin assets.

HTML Page Caching System

To ensure high performance and minimize database query overhead, the script uses a file-based page caching system. Let's look at how it works and how to manage it:

How Caching Works:

  • When a visitor loads a page (like the home directory list, search filters, or a group details card), the script checks if a pre-compiled HTML file exists under the cache/ directory.
  • If the cached file exists and is fresh, it is served directly to the browser instantly, avoiding database roundtrips.
  • If the cache is stale or missing, the page renders, queries the DB, and writes a static HTML snapshot back to the cache directory.

Cache Invalidation:

The script automatically clears relevant cache files under the following circumstances:

  • A user submits a listing that gets auto-approved, or the admin manually approves a listing from the dashboard.
  • An admin modifies database categories, countries, or settings.
  • A user boosts a listing via PayPal checkout.
restart_alt
Manual Cache Control: You can clear the entire website cache at any time by clicking the Clear Cache button in the top-right corner of the Administrator Dashboard header.

Troubleshooting & FAQs

Here are answers to the most common setup and operational questions:

Q: "Installation has already been completed" error displays?

A: This message appears if the installer detects an install.lock file in the root directory. To run the setup wizard again, log in to your server and delete the install.lock file from the root folder.

Q: Database Connection Failed during Step 2 of the setup?

A: Double check your MySQL credentials. If hosting on cPanel, ensure you have assigned the database user to the database, verified that the host is set to localhost, and checked that the user has all privileges.

Q: Avatar images are missing or showing fallback initials?

A: The script uses cURL to scrape the image metadata from WhatsApp/Telegram links. If images fail to scrape, verify that your server has the cURL extension enabled and that outgoing firewall rules allow ports 80/443 connection to chat.whatsapp.com and t.me. Telegram profiles are particularly prone to temporary blocks if scraped too frequently.

Q: Clean URLs show "404 Not Found" errors on subpages?

A: This indicates that Apache's mod_rewrite is not active on your server, or that the .htaccess file is missing or blocked. Verify that .htaccess is uploaded in your root directory and that your hosting supports URL rewrites.

Q: PayPal buttons are not loading on checkout pages?

A: Ensure that you have entered your PayPal Client ID inside the Payments tab in the Admin Dashboard, toggled "Enable Boost Feature" to ON, and configured at least one active billing package.

Q: Settings or group details are not updating on the front-end?

A: Since the script utilizes a high-performance page caching system, changes made inside the admin area might not reflect instantly. Log in to the administrator panel, check that database settings are properly saved, and click the Clear Cache button in the dashboard header to flush cached files and force real-time compilation.

Developer Support & Customization

If you have questions, require help with installation, or want to request custom feature additions for the directory, please contact our support team:

mail
Official Email Support: wpdesignteam69@gmail.com
We typically respond to support tickets and development requests within 12–24 hours.