Jump to content

Recently Updated Topics

Showing topics posted in for the last 7 days.

This stream auto-updates

  1. Today
  2. Thanks for the info.
  3. The module is installed and running. Will report back on statistical findings after letting it run for about a week. The upgrade folder replacement went fine and did take up the settings from the database, so I didn't have to merge anything. The version info from the prior version is still reporting as the most up-to-date in ProcessWire Upgrade though (so searching for new versions won't show this version as available). Since I didn't get the column header in the cropped photo below, the 0.0.4 is currently installed, 0.0.2 is latest version (as reported).
  4. This week we've got several updates to the core on the dev branch. It's primarily focused on small issue fixes and optimizations. Though there's enough since 3.0.251 that I'm bumping the dev branch version to 3.0.252. Next week there won't be any new updates this time next week because I'll be traveling, but will be back right working on the core right after that. Thanks for reading and have a great weekend!
      • 2
      • Like
  5. No, neither nor. It only happens when I use them inside a combo and only when with TinyMCE.
  6. Hi, I am working for a small-to-medium business and we have hundreds of websites out there and with a considerable percentage of those, we have a service contract set up. We're coming from WordPress and we did the switch to PW in 2021. So, still today, the majority of our long-running service contracts are about WordPress sites, trending down fast though. We're offering our clients a few things in our service contracts: Basic guarantee that their website will run and continue to run in an ever-changing environment of servers and technologies. A predefined amount of free hours to work on the website, which even includes minor design changes, adjustments and even small new features. Bigger undertakings require a new project contract though. Reduced hourly rates for work on the website if the hours go over the amount predefined in 2, using the same conditions as in 2. I have to say though that we have a LOT of clients who simply DO NOT WANT to edit their own site but have us do it for them. That's why for them, especially the second and third point above is a big plus and is also the main reason we're designing our service contracts like this. For WordPress sites, point 1 consists of updates, backups and health checks which we do in regular intervals spread out across the whole year. For ProcessWire, it's just backups and health checks and thus on average lower predefined hours in 2.
  7. Yesterday
  8. Worth a read! "The lesson here is to never mix manually constructed SQL fragments and bindings when using PDO emulation. You are opening yourself up to a huge risk by doing so as a single misparse results in SQL injection. If you are a developer: Disable PDO::ATTR_EMULATE_PREPARES if possible; If not, ensure you are on the latest version (PHP 8.4) and you do not allow null bytes in your queries." https://slcyber.io/assetnote-security-research-center/a-novel-technique-for-sql-injection-in-pdos-prepared-statements/
      • 3
      • Thanks
      • Like
  9. Last week
  10. Hi, I've noticed that the base url in the OpenApi document is wrong with this configuration, e.g. "<domain>/testeapi/testeapi/api" instead of "<domain>/testeapi/api"
  11. Dev directory issues are still on me sorry - I'll point it to a different page for now but I do still plan to get it rebuilt (as I have done for years - again my bad). It keeps falling foul of the classic "too much to do" but will get a temp page on the PW site signposting folks elsewhere for now I think.
  12. Just a quick note that most of Ryan's pro modules don't appear under paid either.
  13. @bernhard Here's a function that solves the original problem of how to MOVE (not copy!) repeater items from one page to another, which preserves IDs. I tested it and I believe I accounted for everything, but I recommend testing it more before using it in production. // move the repeater items from fromPage to toPage // the same repeater field must be assigned to both pages // note: fromPage and toPage can be repeater page items as well since they are technically pages function moveRepeaterItems(string $fieldName, Page|RepeaterPage $fromPage, Page|RepeaterPage $toPage): void { // checks if(!wire('fields')->get($fieldName)) { throw new WireException("Field '$fieldName' does not exist."); } if(!$fromPage->id) { throw new WireException("From page does not exist."); } if(!$toPage->id) { throw new WireException("To page does not exist."); } if(!$fromPage->hasField($fieldName)) { throw new WireException("From page does not have field '$fieldName'."); } if(!$toPage->hasField($fieldName)) { throw new WireException("To page does not have field '$fieldName'."); } if($toPage->get($fieldName)->count('include=all,check_access=0')) { throw new WireException("To page already has items in field '$fieldName'."); } // store the parent_id $parent_id = wire('database')->query("SELECT parent_id FROM field_{$fieldName} WHERE pages_id = '{$fromPage->id}'")->fetchColumn(); // delete potential (and likely) existing toPage data placeholder // prevents this error: Integrity constraint violation: 1062 Duplicate entry '1491109' for key 'PRIMARY' in /wire/core/WireDatabasePDO.php:783 // remember, this will be empty since we checked above that there are no items in the toPage field wire('database')->query("DELETE FROM `field_{$fieldName}` WHERE `pages_id` = '{$toPage->id}'"); // update the record in table 'field_$field' where pages_id=$fromPage->id and change the pages_id to $toPage->id wire('database')->query("UPDATE `field_{$fieldName}` SET `pages_id` = '{$toPage->id}' WHERE `pages_id` = '{$fromPage->id}'"); // update the record in table 'pages' where id=$parent_id: change name from 'for-page-{$fromPage->id}' to 'for-page-{$toPage->id}' wire('database')->query("UPDATE `pages` SET `name` = 'for-page-{$toPage->id}' WHERE `id` = '{$parent_id}'"); } // example moveRepeaterItems( fieldName: 'order_line_items', fromPage: $pages->get("/orders/foo/"), toPage: $pages->get("/orders/bar/") );
  14. I find this is a really good addition, thank you for including it in your module!
  15. A quick note: Keep in mind that the clone will not occur (ProcessPageEdit::processSubmitAction is never executed) if there's a required field on the page being cloned that has not been populated and/or the page is statusFlagged.
  16. Awesome! Just what I will need in the near future. Thanks @Mikel for sharing!
  17. To be clear: I already bought some useless modules from this author who never provided documentation... That's why I complain.
  18. Show Image Custom Field Errors Makes custom fields for images visible when there is an error, e.g. empty required fields. Purpose Image fields have three view modes: square grid, proportional grid, and vertical list. In square grid and proportional grid modes only the thumbnail is visible and custom fields for an image are hidden until the thumbnail is clicked. This can cause an issue when any of the custom fields is an error state (e.g. a required field that has been left empty) because the relevant field will not be visible in the Page Edit interface, making it more difficult for the user to locate the field that needs attention. The Show Image Custom Field Errors module forces image fields into vertical list mode when there is an error in a custom field. When the error is resolved the image field is returned to the view mode that was in use before the error occurred. https://github.com/Toutouwai/ShowImageCustomFieldErrors https://processwire.com/modules/show-image-custom-field-errors/
  19. I'm dredging up an old topic here but had a need to go and look for something like this - not for a ProcessWire field - and ended up deciding TipTap looked like the best bet. It also turns out that Invisioncommunity (the forum software in use here) also uses TipTap: https://invisioncommunity.com/forums/topic/478170-invision-community-5-the-all-new-editor/ (so expect this forum to use that editor when we finally upgrade to v5 as there is no choice when upgrading forums unlike the unlimited choice you get in ProcessWire 😅). Now I am interested in a TipTap field for ProcessWire for a few article-heavy websites where we have mostly text but sometimes need to add in an image, a CTA block (some editable per article, some locked), image/text in a column with some settings and as far as I can tell TipTap allows for all of this because you can just build any widget you want and make them drag-droppable. Before I get too far down this rabbit hole has anyone investigated this sort of thing since 2019? Searching the word "editor" on the forum naturally returns a lot of results, many of which not actually related to alternative rich text editors I'm basically interested in the simplicity of having just one editor versus repeater matrix pages where it's not technically needed a lot of the time. I did also look at editor.js which looked really cool but that one doesn't seem to have been updated in years and TipTap is both open source and has some big customers so will still be here in a few years. my brain got confused because some folders were last changed 2 years ago but it is still in development and also looks good - possibly better in fact as the demo on the homepage is already more the way I envisioned.
  20. I too like Krystal. One of the few good cPanel hosts out there and ideal for UK based clients. As they use Litespeed you get the performance of NGINX with full support for Apache .htaccess.
  1. Load more activity
×
×
  • Create New...