Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/02/2026 in all areas

  1. Happy 2026 everyone! ๐ŸŽ‰ TL;DR: I made 2048 game for ProcessWire admin. Install it, ignore your inbox, get high scores. Why? Because it's January 1st and: โœ… You're probably hungover โœ… Nobody expects you to work โœ… You're definitely checking your admin anyway โœ… Why not play some 2048 while you're there? What's inside? ๐ŸŽฎ Classic 2048 (arrow keys or swipe) ๐Ÿ† Leaderboard (compete with your team!) ๐Ÿ”Š Sound effects (mutable, we know your head hurts) ๐Ÿ“ฑ Works on phone (for bathroom breaks) โš™๏ธ Configurable grid (3x3 to 12x12 if you hate yourself) Download https://github.com/mxmsmnv/Process2048 Install Upload to /site/modules/Process2048/ Modules โ†’ Refresh โ†’ Install Setup โ†’ 2048 Start procrastinating! Screenshot: Cheers ๐Ÿฅ‚
    6 points
  2. Happy new year! Iโ€™m focused right now on getting our next main/master version out, hopefully next week. Iโ€™m looking for anything that worked in 3.0.246 but doesnโ€™t in the current dev branch. After this week's commits, Iโ€™m not aware of anything remaining that fits that criteria, but if anyone knows of anything please let me know. In addition, if you are aware of any remaining issues with with PHP 8.4 or 8.5 (deprecation notices, etc.) please let me know. In either case, the best place to report is in the processwire-issues repo on GitHub. If itโ€™s something thatโ€™s already been reported, then please bump the issue by replying to โ€œbumpโ€ to it (or whatever youโ€™d like). Thanks and have a great weekend!
    3 points
  3. As we close out 2025, I'm pleased to share a new module that I've been using in production: FieldtypeTimezone / InputfieldTimezone. ๐ŸŽฏ What It Does A straightforward timezone fieldtype that handles the complexity of timezones automatically - no configuration needed, just install and use. Key Features: Dynamic UTC offsets - automatically calculates current offsets with DST support Simple format - displays as "Country โ†’ City (UTC+X)" Intelligent caching - 24-hour cache for optimal performance Production-ready - strict validation at all levels Complete coverage - all major world timezones included ๐Ÿ’ก Why I Built This Working on global websites (wine shop, news portal), I needed a reliable way to handle user timezones without complexity. The module automatically adjusts UTC offsets for DST: America/New_York: UTC-5 in winter, UTC-4 in summer Europe/London: UTC+0 in winter, UTC+1 in summer ๐Ÿš€ Basic Usage <?php // Display date in a nice English format $timezone = $page->tz; // e.g., "America/New_York" if ($timezone) { $tz = new \DateTimeZone($timezone); $datetime = new \DateTime('now', $tz); echo $datetime->format('F j, Y \a\t g:i A T'); } ?> Perfect for: User profiles with timezone preferences Event calendars with automatic time conversion Global applications requiring accurate time display Any site serving users across multiple timezones ๐Ÿ“‹ Requirements ProcessWire 3.0.0+ PHP 8.1+ ๐Ÿ“ฆ Installation GitHub: https://github.com/mxmsmnv/FieldtypeTimezone cd /path/to/processwire/site/modules/ git clone https://github.com/mxmsmnv/FieldtypeTimezone.git Or download and extract to /site/modules/FieldtypeTimezone/ Then install via Modules โ†’ Site โ†’ FieldtypeTimezone ๐Ÿ“– Documentation Full documentation with practical examples, API methods, and advanced usage scenarios is available in the GitHub repository. ๐Ÿค Feedback Welcome The module has been tested in production on several sites, but I'd appreciate any feedback, suggestions, or bug reports from the community. Happy New Year to the ProcessWire community! ๐ŸŽ‰
    2 points
  4. Hello! ๐Ÿ‘‹ I'm thrilled to (re-)introduce WireWall โ€” an advanced security firewall module for ProcessWire that I've been actively developing and refining in production for months. After blocking massive amounts of malicious traffic (99.98%+ on my e-commerce sites) with zero impact on real users, it's time for a refreshed community announcement with all the latest features from v1.3.4. What is WireWall? WireWall turns your ProcessWire site into a secure fortress with enterprise-grade tools: city-level geo-blocking, full IPv6/CIDR, multi-layer bot protection, true stealth mode, rate limiting fixes, and file-based caching that easily handles 1M+ IPs. Key Features (as of 1.3.4) Geographic Control City-level blocking (e.g. Philadelphia, Beijing, Sydney) Subdivision/region blocking (Pennsylvania, New South Wales, รŽle-de-France) Country blocking (blacklist/whitelist 200+ countries) MaxMind GeoLite2 integration (Country + ASN + City) โ€” 0.5-2ms lookups HTTP fallback (ip-api.com) when MaxMind not available Full IPv6 + CIDR support Bot & Threat Protection Bad bots, scanners, vulnerability tools AI training bots (GPTBot, ClaudeBot, GrokBot, Perplexity, etc.) Fake/headless browser detection (Puppeteer, Selenium, etc.) VPN/Proxy/Tor detection (multi-API chain) Datacenter blocking (AWS, GCP, Azure, Hetzner, etc.) ASN blocking & whitelisting (block/allow entire networks) Security & Rate Limiting Configurable rate limiting with burst handling & permanent/temporary bans JavaScript challenge for suspicious traffic IP whitelist/blacklist with CIDR Priority system โ€” now 16 levels (logged-in users at #3, trusted modules at #2) Stealth & UX True silent 404 mode โ€” plain "Not Found" text (no HTML/branding) Beautiful custom block page with location/IP display Custom redirect or message on block Option to completely disable AJAX protection (fallback for tricky integrations) Performance & Management File-based cache โ€” scales to millions of IPs, no DB overhead Cache UI with stats & per-type clear buttons Detailed logging (city/region/ASN included) Admin area always protected (triple-layer) Real-World Results On production sites (e-commerce + others), WireWall consistently: Blocks 99.98%+ of attacks/scrapers/VPN fraud Zero false positives for logged-in users & legitimate traffic (thanks to priority fixes) Handles spikes without issues after rate limiting improvements Eliminates most cloud-based automated probes Installation (Quick) cd site/modules/ git clone https://github.com/mxmsmnv/WireWall.git Then in admin: Modules โ†’ Refresh Install WireWall Configure (start with rate limiting + VPN detection + bad/AI bots) Monitor: Setup โ†’ Logs โ†’ wirewall Priority System (how requests are evaluated) Admin area โ†’ always ALLOW Trusted ProcessWire module AJAX โ†’ ALLOW Logged-in users โ†’ ALLOW (new in 1.3.4 โ€” unconditional bypass) IP whitelist โ†’ ALLOW Allowed bots / IPs / ASNs โ†’ ALLOW Rate limiting โ†’ BLOCK if exceeded IP blacklist โ†’ BLOCK JS challenge โ†’ CHALLENGE VPN/Proxy/Tor โ†’ BLOCK Datacenter โ†’ BLOCK ASN blocking โ†’ BLOCK Global rules (bots/paths/UA/referer) โ†’ BLOCK Country blocking โ†’ BLOCK/ALLOW City blocking โ†’ BLOCK/ALLOW Subdivision blocking โ†’ BLOCK/ALLOW Country-specific rules โ†’ BLOCK First match wins. MaxMind Setup (strongly recommended) Free GeoLite2 databases โ†’ fast & offline. See README or https://wirewall.org for setup guide. Requirements ProcessWire 3.0.200+ PHP 8.1+ Resources GitHub: https://github.com/mxmsmnv/WireWall Releases & Changelog: https://github.com/mxmsmnv/WireWall/releases Landing: https://wirewall.org License: MIT (free for commercial use) Why build this? ProcessWire deserved a native, scalable, granular firewall with city-level control, offline capability, and proper exception handling โ€” things missing or hard in other solutions. Happy to answer questions, hear about your security setups, or debug any issues! Feedback from the community has already shaped big improvements (like the recent logged-in & stealth fixes). Best regards, Maxim
    1 point
  5. I hope that you all had a nice winter holiday (Christmas, etc.) or are still on holiday till the new year. Not a lot to report this week since Iโ€™ve been on holiday too, but we finally launched that site thatโ€™s been keeping me busy for the last few weeks, so Iโ€™ll hopefully be spending a lot more time in the core this coming week. I'll get the site posted to the sites directory once some more of the post-launch details are taken care of. One thing I learned in launching that site is that Markup File Regions work great during development, but not so great on a busy site (at least a site using Amazonโ€™s EFS file system, which is very slow). I ran into all sorts of strange issues so ended up converting the file regions back to regular old static CSS and JS files, and then everything ran smoothly again. So as solid as the file regions are during development, they will need more work before I use or recommend them in production. Thatโ€™s the way it goes with developing new stuff sometimes. There is however a pretty nice improvement to Markup Regions committed this week though. Prior there were some limitations as to what could populate what. Typically output before the <html> (i.e. from template files) populated into output that comes after the <html> (i.e. a _main.php file). But now it is possible for the population of content to go in either direction. Further, more nested elements can also populate less nested (or non-nested) elements. Itโ€™s a little hard to explain, but basically, you donโ€™t have to think too much about when and where you can populate things as Markup Regions will figure it out in the final output. This makes it even easier to use and hopefully more foolproof than before. Thanks for reading and have a great weekend!
    1 point
ร—
ร—
  • Create New...