Jump to content

Recently Updated Topics

Showing topics posted in for the last 7 days.

This stream auto-updates

  1. Past hour
  2. Happy 2026 Ryan and everyone, too! @ryan This issue is none of the above, and might be overkill for a GitHub issue, and could already be fixed in the current dev, but it exists in 3.0.251. That's a repeater with an image field, probably with a z-index issue. I did't want to update the site just to see if it's already fixed, but it would be nice if it were fixed in the next major version.
  3. Today
  4. Dear Ryan, thank you for your help. But after i uninstalled and purged the old stuff and installed your refactored code the behaviour is similar. The db table is ok and looks like defined in getDatabaseSchema(). processInput receives the input values and $this->val($value); holds the right data. After that no further data processing. Even in FieldType.php no savePageField() (which was called when using my posted old code but does not detect a change and therefore returned if(!$page->isChanged($field->name)) return true;
  5. Yesterday
  6. 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
      • Like
      • Thanks
      • Haha
  7. @netcarver That is really odd. I couldn't think of how that would have happened and then I remember that I pasted "Thank you" in 11 languages (6+ years ago). Looks like the spam filter doesn't like polite conversation 😆 Thanks for jumping in and fixing!
  8. Thanks! Looks promising, will give it a try!
  9. Last week
  10. 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! 🎉
  11. Constant Contact is not the easiest mail provider to work with as a developer. Although I had hoped to use a different provider prior to our website relaunch that likely won't happen for quite some time. In the process, I created a module to handle the handshake keep-alive that Constant Contact requires so that I could use a very simple, customized single-field form to allow visitors to subscribe to our newsletter. I share this module now. NOTE: Installs SubscribeToConstantContactKeepAlive.module REQUIRES: LazyCron (for the KeepAlive module) SubscribeToConstantContact A lightweight module for the ProcessWire CMS/CMF that lets you subscribe a user to a Constant Contact list. Heavily inspired by SubscribeToMailchimp. The basic idea // Easily subscribe a user with SubscribeToConstantContact $mod = $modules->get("SubscribeToConstantContact"); $mod->subscribe('email@example.com'); How To Install Download the zip file at Github or clone the repo into your site/modules If you downloaded the zip file, extract it in your sites/modules directory. You might have to change the folder's name to 'SubscribeToConstantContact'. Go to the modules admin page, click on refresh and install it. This will also install the associated SubscribeToConstantContactKeepAlive module which is necessary for keeping the API active. Setup at Constant Contact Log into your Constant Contact account and go to the Developer Portal > My Applications (you may have to click a "log in" button again) and edit an existing, or create a new application using Authorization Code Flow and Implicit Flow, and rotating refresh tokens. Retrieve the API Key and Client Secret. NOTE: The client secret may need to be recreated to retrieve it. Module Setup Put the API Key and Client Secret into the module settings (Processwire > Modules > Site > SubscribeToConstantContact), and use the "Redirect URL" as printed on the module config screen for your Constant Contact API application's Redirect URI field value. Submit the form to save the values from this step. Click on the generated URL, "Authorize and connect this module to your Constant Contact Application," on the module configuration screen. Values have been retrieved from the Constant Contact API. Click "Submit" to save them to the module configuration. OPTIONAL: Choose a default contact list for the module to subscribe contacts to. Usage // load module into template $mod = $modules->get("SubscribeToConstantContact"); // subscribe / update a user in your default audience $mod->subscribe('email@example.com'); // add additional fields to fill out user data // subscribe($email, $list_id, $parameters) // $list_id will default to the module's saved configuration value, if set // NOTE: Parameter values are not validated by the module, see the documentation for further info $mod->subscribe('email@example.com', null, ['first_name' => 'John', 'last_name' => 'Doe']); // Subscribe a user to a specific list (other than default) $mod->subscribe('email@example.com', 'adcdef12345', ['first_name' => 'John', 'last_name' => 'Doe']); Additional methods // Unsubscribe a user $mod->unsubscribe('email@example.com'); // Delete a user. Deleted users still exist in Constant Contact, but cannot be seen (in Constant Contact) or retrieved (via API) $mod->delete('email@example.com'); // Unsubscribe a user from a contact list (or array of lists) $mod->removeFromList('email@example.com'); $mod->removeFromList('email@example.com', 'abcdef1356'); $mod->removeFromList('email@example.com', ['abcdef1356']); Example Example usage after a form is submitted on your page: // ... validation of form data $mod = $modules->get("SubscribeToConstantContact"); $user_email = $sanitizer->email($input->post->email); $mod->subscribe($user_email); Troubleshooting In case of trouble check your ProcessWire warning logs. FAQ I can't see the subscriber in the contact list If you have enabled double opt-in in your Constant Contact settings, you will not see the subscriber until the confirmation link in the email sent by Constant Contact has been used; the user may have also been deleted. I get an error in my ProcessWire warning logs Check if you have the proper contact list ID and API Key. Check if you pass a valid email address. Make sure LazyCron is installed Go to the Constant Contact Developer Documentation for more information. *I have only done minimal testing on this module, so use with caution, and please report any bugs related to the stated purpose of the module. Contribution Pull requests welcome. (Especially for the awkward module setup/configuration flow.)
      • 1
      • Like
  12. Hi @loukote, good catch, you are right, arrays should be used instead of new WireData(...), which was a faulty leftover from the first version. Reason being is that since 2.0.0 these arrays are directly passed on to and processed in the ICSEvent class, which is written in pure PHP. Thanks for letting me know, I updated it everywhere, added more examples and did some minor improvements (create named files, types, cleanup). If you encounter any further problems don't hesitate to reach out again.
  13. Hello @maximus Thanks for sharing! I will certainly give it a shot. Side note: the guys at LEGO "can get furious" when someone else uses their trademark in a way they consider inappropriate. As long as it is for something personal, that should be legally fine. I am not a lawyer, but letting us download your file in a forum post like this should be considered to be "for personal purposes". If you were to turn it into a "product" then that would be a different matter.
  14. I'm back, happy to present a module that makes square images. https://github.com/mxmsmnv/SquareImages I welcome any feedback.
  1. Load more activity
×
×
  • Create New...