=== Forum Press Zone === Contributors: presszone-developers Tags: forum, community, discussion, discussion-board, bulletin board Requires at least: 6.0 Tested up to: 6.9 Stable tag: 1.0.0 Requires PHP: 8.1 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html The professional community platform for your audience. Build a fast discussion hub that grows with your community. == Description == **Forum Press Zone** is a fast and reliable community platform that transforms your site into a thriving discussion hub. Built with a custom database architecture, it provides a snappy experience for users and is designed to handle growth smoothly. = πŸš€ Why Forum Press Zone? = Most community solutions store data in a way that can become slow over time. Forum Press Zone uses purpose-built database tables with optimized indexes to deliver consistent performance as your community grows. = πŸ† Key Advantages Over Other Forum Plugins = **Performance That Scales** - Custom InnoDB tables with optimized indexes for O(1) metadata access - Native Redis and Memcached integration for object caching - Lazy-loaded assetsβ€”only load what each page needs - Zero jQuery dependencies on frontend - Fast page loads even as your community grows **Modern User Experience** - Clean, mobile-responsive design out of the box - Dark mode toggle for users who prefer it - Smooth animations and transitions - Notifications for new replies and mentions - Intuitive WYSIWYG editor with drag-and-drop attachments **Complete Feature Set** - Everything you need built-inβ€”no addon purchases required - Private messaging, polls, reactions, ranksβ€”all included - Fully translatable with RTL support - WPML compatible for multilingual communities **Developer Friendly** - Clean PHP 8.1+ namespaced codebase - Full REST API for headless integrations - Hookable architecture for custom extensions - GPL licensedβ€”fork, modify, contribute --- = πŸ’¬ DISCUSSION FEATURES = **Nested Conversations (Reddit-Style)** Threaded replies let discussions branch naturally. Users can reply directly to any comment, creating intuitive conversation trees that are easy to follow. Configure nesting depth from 1-20 levels. **Rich Text Editor** Full TinyMCE integration with: - Bold, italic, underline, strikethrough formatting - Bullet and numbered lists - Blockquotes with multi-level nesting - Code blocks with syntax highlighting - Emoji picker with quick reactions (πŸ‘ ❀️ πŸ˜„ πŸŽ‰ πŸ”₯ πŸ‘) - Link insertion and URL auto-detection - Optional: Switch between WYSIWYG and plain textarea **Smart Quoting** Select any text in a post and click "Quote" to insert it in your reply. Quotes preserve attribution and support multi-level nesting. Configure maximum quote depth to prevent quote pyramids. **oEmbed Support** Paste YouTube, Vimeo, Twitter, or other supported URLs on their own line and they automatically become rich embeds. Videos play inline, tweets show full formatting. --- = ⭐ ENGAGEMENT FEATURES = **Three Reputation Systems** Choose what fits your community: 1. **Upvotes & Downvotes** – Classic Reddit-style voting with karma tracking 2. **Upvotes Only** – Simple like-based system (no negativity) 3. **Emoji Reactions** – Express emotions with Like, Love, Haha, Wow, Sad, Angry Each reaction type has configurable point values affecting user reputation. Set daily vote limits to prevent abuse. **Interactive Polls** Create polls when starting threads: - Multiple choice or single selection - Optional close date for time-limited voting - Results visible after voting or when poll closes - Vote counts and percentages displayed **@Mentions** Type @ followed by a username to mention them. Mentioned users receive notifications and can click to jump directly to the post. **User Ranks & Badges** Automatic rank progression based on post count: - 🌱 Newbie (0+ posts) - πŸ‘€ Member (10+ posts) - ⭐ Regular (50+ posts) - 🌟 Active Member (100+ posts) - πŸ’« Senior Member (250+ posts) - πŸ† Veteran (500+ posts) - πŸ‘‘ Legend (1000+ posts) Staff get special badges: ⚑ Admin, πŸ›‘οΈ Super Moderator, βš–οΈ Moderator. Custom rank icons can be assigned to individual users. **Thread Subscriptions** Users can watch threads to receive notifications when new replies are posted. Email notifications can be sent instantly, as daily digests, or weekly summaries based on user preference. --- = πŸ“¨ PRIVATE MESSAGING = **Conversation-Based Inbox** Modern messaging interface inspired by email clients: - Threaded conversations, not individual messages - Unread badges with real-time polling - Star important conversations - Search message history - Multi-participant group conversations **Privacy Controls** - Users can disable PMs in their account settings - Muted users cannot send messages - Blocked conversations stay hidden --- = πŸ“Ž FILE ATTACHMENTS = **Drag-and-Drop Uploads** Drag files directly onto the editor or click to browse. Multiple files can be uploaded simultaneously. **Smart File Handling** - **Images**: JPG, PNG, GIF, WebP with inline preview - **Documents**: PDF, TXT with download links - **Archives**: ZIP, RAR, 7Z, TAR, GZ with file icons **Security & Limits** - MIME type validation (not just extension checking) - Configurable size limits per category (images, documents, archives) - Maximum attachment size setting in admin - Files stored outside web root (optional) --- = πŸ›‘οΈ MODERATION SUITE = **Report System** Users can report posts with categorized reasons: - Spam - Harassment - Off-topic - Inappropriate content - Other (with text explanation) Reports appear in the admin moderation queue with context and quick actions. **Warning System** Issue formal warnings to users that: - Stack up (3 warnings = automatic action) - Include private notes for moderator reference - Track warning history per user - Can trigger automatic mutes or bans **Mute System** Mute disruptive users: - Prevents posting but allows reading - Temporary (1 hour to 1 year) or permanent - User sees a "You are muted" message when trying to post **Ban System** Full ban management: - Temporary or permanent bans - IP-based bans to prevent alt accounts - Ban reason stored and shown to user - Automatic email notification to banned user - Ban history with moderator actions logged **User Lookup** Search any user to see: - Account overview (join date, post count, reputation) - Warning history - Ban history - Recent posts - Quick action buttons (warn, mute, ban) --- = πŸ‘₯ STAFF & PERMISSIONS = **Role Hierarchy** - **Administrators**: Full forum control - **Super Moderators**: Moderate all forums globally - **Forum Moderators**: Moderate assigned forums only **Granular Permission Matrix** Tri-state permissions (Allow / Inherit / Never) for each user role: - View forum - View thread - Create thread - Reply to thread - Edit own post - Delete own post - Upload attachments - React to posts - Use signature - Send private messages **Per-Forum Permissions** Override global permissions for specific forums. Create: - Members-only areas - Read-only archives - Staff discussion boards - VIP sections --- = 🎨 DESIGN & THEMING = **Built-in Theme Customization** No CSS knowledge required: - Primary color picker - Surface and background gradients - Text color controls (primary, secondary, muted) - Role colors (Admin, Super Mod, Moderator) **Dark Mode** Enable dark mode toggle for users: - Separate color palette for dark mode - User preference saved across sessions - Respects system preference (prefers-color-scheme) **Custom CSS** Add your own styles for complete control. CSS is injected after theme styles for easy overrides. **Mobile Responsive** Every element tested on phones and tablets: - Touch-friendly tap targets - Collapsible navigation - Swipe gestures for actions - Optimized font sizes --- = πŸ”§ ADMIN DASHBOARD = **Single-Page Application** The admin interface is a lightning-fast SPA built with vanilla JavaScript: - No page reloads between sections - Instant search and filtering - Smooth animations - Minimal footprint (no React/Vue overhead) **Dashboard Overview** At-a-glance statistics: - Total posts, threads, users - Posts today/this week - Pending reports count - Active users graph **Forum Manager** Visual forum organization: - Drag-and-drop ordering - Nested categories - Quick edit inline - Assign moderators per forum **Settings Organized by Category** - **General**: Board title, URL slugs, posts per page, sorting - **Reputation**: Choose voting system, set limits - **Emails**: Customize templates with placeholders - **Staff**: Manage super moderators - **Spam**: reCAPTCHA, word filters, link restrictions - **Cache**: Redis/Memcached configuration **Tools** - Rebuild post counts - Clear caches - Export/import settings - Database maintenance --- = πŸ”’ SECURITY FEATURES = **reCAPTCHA v3 Integration** Invisible bot protection on: - Registration - New threads - Replies - Private messages Score-based detection blocks automated spam without annoying real users. **Anti-Spam Measures** - Configurable cooldowns between posts - Word filter with comma-separated banned words - Option to block external links in posts - Option to block URLs in user profiles **Rate Limiting** - Topic cooldown (seconds between new threads) - Reply cooldown (seconds between replies) - Daily vote limit **Core Security** - All queries use $wpdb->prepare() (SQL injection protection) - All outputs escaped with esc_html(), esc_attr(), esc_url() - Nonce verification on all forms and AJAX - Capability checks on all operations - ABSPATH checks on all PHP files --- = ⚑ PERFORMANCE FEATURES = **Custom Database Schema** Purpose-built tables for forum data: - `nodes` – Categories and forums tree structure - `threads` – Thread metadata with optimized indexes - `posts` – Content with parent-child relationships - `users_extended` – Custom profiles and reputation - `conversations` – Private messaging backbone - `subscriptions` – Thread watching - `polls` – Voting data **Object Caching** Native integration with: - **Redis** – Configure host, port, password, database index - **Memcached** – Configure host and port - **Object Cache** – Automatic fallback Cache status visible in admin with one-click clear. **Lazy Loading** Assets loaded only when needed: - CSS split by page type (index, thread list, single thread, inbox) - JavaScript deferred and loaded in footer - Images lazy-loaded with native loading="lazy" --- = 🌍 INTERNATIONALIZATION = **Fully Translatable** Every string wrapped in translation functions. Includes: - Gettext .pot template - Translations for 10 languages - RTL stylesheet support **WPML Compatible** - Proper text domain registration - Language switcher support - wpml-config.xml included **Included Translations** - Arabic (Ψ§Ω„ΨΉΨ±Ψ¨ΩŠΨ©) - Chinese (δΈ­ζ–‡) - French (FranΓ§ais) - German (Deutsch) - Hebrew (Χ’Χ‘Χ¨Χ™Χͺ) - Hindi (ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯€) - Japanese (ζ—₯本θͺž) - Dutch (Nederlands) - Russian (Русский) - Spanish (EspaΓ±ol) --- = πŸ“§ EMAIL NOTIFICATIONS = **Customizable Templates** Edit email content for: - Subscription notifications (new replies) - Daily digest summaries - Ban notifications **Available Placeholders** - {username} – Recipient's name - {site_name} – Your site name - {forum_url} – Forum homepage URL - {thread_title} – Thread name (subscriptions) - {thread_url} – Direct thread link (subscriptions) - {author_name} – Who posted (subscriptions) - {reason} – Ban reason (bans) - {expires} – Ban expiry (bans) - {digest_content} – Activity summary (digests) --- = πŸ“± USER ACCOUNT FEATURES = **Profile Customization** - Avatar upload (or Gravatar fallback) - Display name - Website URL (if allowed) - Location - Bio/About me - Signature (displayed under posts) **Account Settings** - Email notification preferences - PM preferences (allow/block) - Dark mode preference - Timezone selection **Activity History** - View all your posts - View your thread subscriptions - See your reputation history --- = 🎯 PERFECT FOR = - **News sites** wanting reader discussions - **Gaming communities** needing clan forums - **Educational platforms** with student Q&A - **Support forums** for products and services - **Membership sites** adding community features - **Enterprise intranets** needing internal discussion - **Hobbyist communities** around any topic - **Any site** outgrowing basic comments --- = πŸ“‹ COMPLETE FEATURE CHECKLIST = **Forums & Structure** βœ… Unlimited forums and categories βœ… Nested category hierarchy (unlimited depth) βœ… Per-forum permissions βœ… Per-forum moderators βœ… Drag-and-drop ordering βœ… SEO-friendly URLs **Discussions** βœ… Threaded/nested replies (Reddit-style) βœ… WYSIWYG rich text editor βœ… Plain textarea fallback option βœ… Quote with attribution βœ… oEmbed for videos/tweets βœ… Configurable posts per page βœ… Multiple sort options (newest, oldest, most active) **Engagement** βœ… Upvotes & downvotes βœ… Emoji reactions (6 types) βœ… Interactive polls βœ… @Mentions with notifications βœ… User ranks (7 levels + staff) βœ… Reputation/karma tracking βœ… Thread subscriptions **Messaging** βœ… Private messaging system βœ… Conversation threads βœ… Group conversations βœ… Unread badges βœ… Star/archive conversations βœ… Message search **Attachments** βœ… Drag-and-drop upload βœ… Image preview βœ… Document/archive support βœ… MIME type validation βœ… Size limits per type **Moderation** βœ… Report system with queue βœ… Warning system with escalation βœ… Mute system (temp/perm) βœ… Ban system (temp/perm) βœ… IP bans βœ… User lookup tool βœ… Activity logging **Permissions** βœ… User role integration βœ… Tri-state permission matrix βœ… Per-forum overrides βœ… Moderator hierarchy (Super Mod, Forum Mod) βœ… Guest viewing options **Theming** βœ… Color picker customization βœ… Dark mode toggle βœ… Role-colored usernames βœ… Custom CSS support βœ… Mobile responsive βœ… RTL support **Performance** βœ… Custom SQL schema βœ… Redis support βœ… Memcached support βœ… Lazy-loaded assets βœ… Object caching βœ… Optimized queries **Security** βœ… reCAPTCHA v3 βœ… Word filter βœ… Rate limiting βœ… SQL injection protection βœ… XSS protection βœ… CSRF protection βœ… Nonce verification **Emails** βœ… Subscription notifications βœ… Daily/weekly digests βœ… Ban notifications βœ… Customizable templates βœ… Placeholder support **Internationalization** βœ… Fully translatable βœ… 10 languages included βœ… WPML compatible βœ… RTL support **Admin** βœ… Single-page dashboard βœ… Real-time statistics βœ… Visual forum manager βœ… User moderation tools βœ… Cache management βœ… Database tools --- == External services == This plugin can connect to the following third-party services. All of them are **opt-in** and disabled by default. No data leaves your site unless you explicitly enable a feature. = Google reCAPTCHA (optional anti-spam) = When the reCAPTCHA anti-spam option is enabled in **Forum Press Zone β†’ Settings β†’ Spam**, the plugin verifies form submissions by sending the reCAPTCHA response token, the visitor's IP address, and your secret key to Google's verification API. - Endpoint: `https://www.google.com/recaptcha/api/siteverify` - Data sent: reCAPTCHA token, secret key, remote IP - When sent: on every guest/user form submission while reCAPTCHA is enabled - Provider: Google LLC - Terms: [https://policies.google.com/terms](https://policies.google.com/terms) - Privacy: [https://policies.google.com/privacy](https://policies.google.com/privacy) = IndexNow (optional search-engine indexing) = When IndexNow is enabled in **Forum Press Zone β†’ Settings β†’ IndexNow**, the plugin notifies participating search engines (Bing, Yandex, etc.) when new threads or posts are published, so they can index your content faster. - Endpoint: `https://api.indexnow.org/indexnow` - Data sent: the public URL of the new thread/post and your IndexNow verification key - When sent: when a thread or post is created/updated, while IndexNow is enabled - Provider: IndexNow (Microsoft Bing, Yandex, and partners) - Terms: [https://www.indexnow.org/terms](https://www.indexnow.org/terms) - Privacy: [https://www.indexnow.org/faq](https://www.indexnow.org/faq) = oEmbed (user-triggered media embedding) = When users paste a URL from a supported provider (YouTube, Vimeo, Twitter/X, etc.) on its own line in a post, the plugin calls WordPress's built-in oEmbed system to fetch the embed HTML from that provider's API endpoint. - Endpoint: Varies by provider (e.g., `https://www.youtube.com/oembed`, `https://vimeo.com/api/oembed.json`) - Data sent: The public URL of the content being embedded - When sent: When a post containing a recognised embed URL is saved or previewed - Provider: The respective media provider (Google/YouTube, Vimeo, Twitter/X, etc.) - Note: This uses WordPress core's `wp_oembed_get()` function. See [WordPress oEmbed documentation](https://wordpress.org/documentation/article/embeds/) for the full provider list. The plugin does **not** phone home, transmit analytics, or share user data with the plugin author. --- == Installation == = Automatic Installation = 1. Go to **Plugins > Add New** in your admin panel 2. Search for "Forum Press Zone" 3. Click **Install Now**, then **Activate** 4. Navigate to **Forum Zone** in your admin menu to configure = Manual Installation = 1. Download the plugin zip file 2. Go to **Plugins > Add New > Upload Plugin** 3. Choose the zip file and click **Install Now** 4. Activate the plugin 5. Go to **Forum Zone > Settings** to configure your forum = After Activation = 1. **Set your forum title** under Forum Zone > Settings > General 2. **Create your first category** under Forum Zone > Forums 3. **Add forums** within your category 4. **Configure permissions** under Forum Zone > Permissions 5. Visit your forum at `yoursite.com/forums` (or your custom slug) = Server Requirements = - PHP 8.1 or higher (strict typing enabled) - MySQL 5.7+ or MariaDB 10.3+ - Version 6.0 or higher - `mbstring` PHP extension (recommended) - Redis or Memcached (optional, for enhanced caching) == Frequently Asked Questions == = How is this different from bbPress? = Forum Press Zone uses a completely custom database architecture instead of standard post types. This means: - **Faster queries** – Purpose-built tables with optimized indexes - **Better scaling** – Handles millions of posts without slowdown - **Richer features** – Nested replies, reactions, polls, messaging built-in - **Modern admin** – Single-page app interface for management = Can I migrate from bbPress or another forum? = We're developing migration tools for popular forum plugins. Check our website for the latest migration guides and tools. = Does it work with my theme? = Forum Press Zone includes its own responsive templates that work independently of your theme. You can also override templates in your theme for full customization. = How do I customize the appearance? = Go to **Forum Zone > Design** to access the visual theme customizer. You can change colors, enable dark mode, set role colors, and add custom CSSβ€”no coding required. = Is it translation ready? = Yes! Forum Press Zone is fully translatable and includes translations for 10 languages. WPML and other multilingual plugins are fully supported. RTL languages work out of the box. = Can users upload files? = Yes. Admins can configure allowed file types, maximum sizes, and storage limits. Images, documents, and archives are supported with MIME type validation. = How do I enable spam protection? = Go to **Forum Zone > Settings > Spam** and enter your Google reCAPTCHA v3 site key and secret. The plugin automatically protects posting, registration, and messaging. = Does it support user ranks? = Yes! Users automatically earn ranks based on post count (Newbie β†’ Legend). Staff get special badges. Admins can assign custom rank icons to individual users. = Can I restrict forums to certain users? = Absolutely. Use the Permission Matrix to control what each user role can do. Create per-forum overrides for private forums, read-only archives, or staff-only areas. = Is there email notification support? = Yes. Users can subscribe to threads and receive notifications. Emails can be sent instantly, as daily digests, or weekly summaries. All templates are customizable. = Does it cache properly? = Forum Press Zone integrates with platform object caching. If you're using Redis or Memcached, the plugin automatically uses it. Configuration is available in Settings > Cache. = How do I set up moderators? = **Super Moderators** (global) are assigned in Settings > Staff. **Forum Moderators** are assigned per-forum in the Forum Manager. Both have moderation powers but different scopes. = Can users disable private messages? = Yes. Users can toggle PM availability in their account settings. Muted users also cannot send messages. = Is there a REST API? = Yes. Forum Press Zone exposes REST endpoints for all major operations, enabling headless integrations and custom applications. == Screenshots == 1. **Forum Index** – Clean, modern forum listing with category organization and post counts 2. **Thread View** – Nested replies with reactions, quotes, user ranks, and inline reply 3. **Private Messenger** – Conversation-based messaging with unread indicators and search 4. **Admin Dashboard** – At-a-glance stats, pending reports, and quick actions 5. **Forum Manager** – Drag-and-drop forum organization with moderator assignment 6. **Moderation Queue** – Review reports, issue warnings, and manage bans 7. **Permission Matrix** – Visual tri-state permission control by role 8. **Design Settings** – Color pickers, dark mode, and live preview 9. **User Profile** – Customizable profiles with activity history and settings 10. **Mobile View** – Fully responsive design with touch-friendly interactions == Changelog == = 1.0.0 = * Initial release. * Professional community platform with threaded replies. * Custom database tables for high performance. * Integrated private messaging, polls, and reactions. * Advanced moderation suite and permission matrix. * Built-in dark mode and theme customization. == Upgrade Notice == = 1.0.0 = Initial release of Forum Press Zone. == Additional Info == = Support = For support questions, please open an issue on [GitHub](https://github.com/presszone/forum-press-zone). = Contributing = Forum Press Zone is open source! Contributions are welcome on [GitHub](https://github.com/presszone/forum-press-zone).