Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/11/2018 in all areas

  1. The module has been lying around on GitHub for some time now, so I thought I'd give it its own forum topic so I can give it a module list entry. SymmetricEncryptedText Symmetric encryption for text based fields (supports multi language fields). Module page. Link to the GitHub repo. Description This module adds an encryption option to all text fields (and those derived from FieldtypeText). Field contents are encrypted using a symmetric key when a page is saved and decrypted when loaded from the database. The module by default uses sodium (if loaded) in PHP versions >= 7.2, otherwise it falls back to the bundled phpseclib. Multi-Language fields are supported too. WARNING! Setting a field to encrypted and saving values in those fields is a one-way road! Once encrypted, the contents cannot be unencrypted without writing a program to do so. Disabling the encryption option on a field after the fact gets you encrypted "garbage". Usage Download the zipped module through the green button at the top right of the GitHub repo or (once available there) from the official PW module repository Extract in its own directory under site/modules. In the backend, click "Modules" -> "Refresh", then install "Symmetric Encryption for Text Fields". Go to module settings. An appropriately sized, random key will be generated if this is your first use. Copy the supplied entry into site/config.php Add fields or configure already present fields. On the "Details" tab you can enable encryption for the field in question Edit a page with such a field, enter a value there, save and enjoy Existing, unencrypted values are left untouched until a new value is saved. That way, you can do a smooth upgrade to encryption, but you have to save all pre-populated pages to have their values encrypted in the database. Thus it is recommended to avoid adding encryption to already populated fields. Advanced Usage You can hook after SymmetricEncryptedText::loadKey to retrieve your key from somewhere else, e.g. a different server.
    6 points
  2. If anyone is interested, I have a new fork of this module available here: https://github.com/adrianbj/MarkupSEO/commits/various-fixes-enhancements It's very much a work in progress, but it includes several bug fixes and lots of new features. Please read the commit log to learn about what's fixed and what's new. At the moment you should not upgrade an existing site (new fields won't be created) and probably don't use it on a live site just yet. It's not well tested at all yet, so use at your own peril I'd really appreciate any feedback on it.
    6 points
  3. After building the ProcessMentions module and another autocomplete module for images, I found that I am going to need even more of these, but things were going to get repetitive. So I refactored the whole thing into a basic autocompletion module and individual "actions". The result is Autocomplete for CKEditor (GitHub). To try out, Install the module and actions Enable actions in the settings of any CKEditor field Edit a page with this field, type "@" and some characters for the and enjoy There are still a few things I need to implement. ATM, it only supports single characters as triggers for the autocomplete. I'd like to change that to combinations so I don't run out of special characters at some point. I also have to add a few more configuration options (like search only at the beginning or also in the middle of the searched string). The documentation for custom styling also needs some work. I have tried to keep things generic. Implementing your own actions should be quite straight forward. The README at GitHub illustrates the main steps and the supplied action classes have inline documentation. I would love to get some feedback or even see some third party InlineCompleteAction implementations.
    5 points
  4. I can see you are concerned about ProcessWire project, as you speak so passionate @Donald. But I can't really get the point of all those posts. Let me guess: ProcessWire could have some better docs... Partly true, but it's getting better and the code is documented very well. Take a look. I also love Vue docs, but they are also not so helpful when you go from basic stuff to real projects. And as I see it PW is more complicated and has way more stuff to document. And new features are coming more often. ProcessWire will never beat Vue on github stars... I think so too, but not really due to lack of documentation. You think that this topic will not help PW get too much stars... Partly true, but anything is better than nothing. You want to get paid modules for free... I also sometimes think that donation based support could be better for the PW development. But it is not our decision and might not work as well here. You suggest to buy stars for ProcessWire github repo... Ryan will not do it for sure. Neither will I. If you got some money to spend it is up to you to try it, but I don't not feel like it is up with the ProcessWire spirit, if you will. Anyway, wanted to share my experience here on the forums. Being gentle always paid out better for me than being provocative)) P.S. The reply is to some posts that were probably removed by either the author or moderators. I did not actually see anything bad about them. But maybe some trolling was reasonably stopped by some good censors)
    5 points
  5. That would be nice, I second that, but the truth is that not all modules are incompatible with older PW versions just because the author never updated compatible versions. Lots of older modules still work because the file compiler upgrades them smoothly and there is no incompatible API call or deprecated PHP function used. Perhaps we should have an entry in module info listing compatible versions, that way changes in the source code repository to that entry would be immediately reflected in the module list. We (as in "the module authors") would probably still need an email reminder when a non-minor version upgrade occurs (like the imminent bump to 3.1) to check and update all modules in that regard. I'm not a fan of the "follow the other flies" concept - it's one reason why so many people install bad plugins in WP even though there are newer and better ones available.
    5 points
  6. FWIW http://modules.processwire.com/versions/
    2 points
  7. Hi @B3ta - I'm afraid I don't really have time to look into this at the moment. I am extending this module for my needs and I rarely have multi-language websites so it's not high on my list. I am happy to accept PRs though so together we can build a better version of this module. Once we are all happy with the stability/functionality of the new version I'll try contacting Nico to see what we can do about getting it into the main repo. Hope you understand where I am coming from.
    2 points
  8. Just insert a "Timestamp" entry in the CKEditor Toolbar field wherever you want it to appear.
    2 points
  9. Thanks for pointing that out. I never changed that setting in production, so I didn't think of that. The latest github master (0.1.4) now uses the settings defined in TextformatterHannaCode's config both when inserting the pattern and as the trigger for autocompletion.
    2 points
  10. @Tyssen - using a selector doesn't select the parent's children, it selects whatever matches. If you choose a "parent" selector then that's what you'll get, but it's not automatically behavior to get the children of a single selected page. The email field is shown because that dropdown just shows all defined email fields on the site - it's not limiting to the ones on a specific template. Remember that with the page selector approach we could be sending to pages with different templates. Yes, it is meant as more of a site administrator tool, but you could easily make it simpler by cloning this and placing in /site/templates/AdminActions - just adjust this line: $recipients = $this->wire('pages')->find($options['pages']); to: $recipients = $this->wire('pages')->find($options['pages'])->children(); and you'll get the children of the selected page. You might also want to remove the email field from the options phase, and maybe also the Roles option. Basically pare it down to the bare minimum of options that your users will need - does that make sense? Remember that AdminActions is more about the interface it provides for building and presenting an admin interface than the actual core actions that come with it. It's a tool to make your development of custom admin actions really easy - go forward and conquer
    2 points
  11. Hi @adrian, I haven't had a bad run with Tracy at all. On the contrary, I nominate Tracy for module of the year. And you have done an excellent job of maintaining this indispensable tool. I've made the changes to the rss module. I don't see anything crop up yet. Thanks for those. Upgraded to Tracy.26 on both local installs and all is functioning well. I appreciate your time and help!
    2 points
  12. Nope. You can delete it if you want. In that case, let PW know what to use for 404 config (see below) Yes. Quite the overkill . just move page with ID 27 under /admin/ (i.e., re-parent it). Editors will not be able to see it. OR Create a new 404 page under /admin/ (and delete page with ID 27 or reuse it for whatever). Editors will not be able to see it. Add this to /site/config.php $config->http404PageID = 1234;// ID of your new hidden 404 page. That's all there is to it.
    2 points
  13. @adrian Hi Adrian, thank you for the awesome updates and improvements. I would suggest to take a look on the Canonical link field and make it ready for multi language websites . Meaning that he can detect if there are any other languages present and canonicalize them properly according to the languages.
    1 point
  14. Just installed it, first thing i noticed that it doesn't work with custom hanna tags, works with "[[", but not with custom one "{{" i currently use for hanna codes
    1 point
  15. Turns out the module hadn't actually been updated and was still running the old version even though I ran the update from the admin, saw that the version number had changed to 2.0.5. So not sure what happened there, but it's all good now. ?
    1 point
  16. What if you use import? https://developer.mozilla.org/en-US/docs/Web/CSS/%40import Write your common rules in the imported file, import the this file first in each file assigned to a CKEditor, and write the custom rules following the import. If you try it out, please report the result. I've never tested it with CKEditor in ProcessWire but I hope it works.
    1 point
  17. This week we take a look at something really cool we added a few months ago but haven’t told you about yet: owner selectors. We also take a brief look at what’s new in ProcessWire 3.0.95 and and the status of our next master version, which is just about ready! https://processwire.com/blog/posts/processwire-3.0.95-core-updates/
    1 point
  18. This profile can be used as a simple business card or blog. The profile does not use any framework css structure, only styles based on CSS GRID and FLEX. To minimize page loading, I added lazy load for images ( Tupola Lazy Load ). With include functions like: MarkupRegions FunctionsAPI CAN DOWNLOAD FROM THIS LINK: https://github.com/rafaoski/site-grayscale-pw https://github.com/rafaoski/site-min-grayscale-pw Screenshot:
    1 point
  19. I wrote some code for BS4 Nav this morning for myself. Maybe it helps. If it is not 100% what you need, it should be very easy to change the code in echoBS4Nav and echoBS4children. Use like this: <nav class="navbar etc..... <div class="collapse navbar-collapse" id="navbarsExampleDefault"> <?php require_once 'turbopw.php'; $myTurbo = new ProcessWire\TurboPW($wire); $myTurbo->echoBS4Nav("id!=1,has_parent!=2", '../'); ?> </div> http://theowp.bplaced.net/upload/turbopw.zip Attention, the code is very fresh! And it is not as comfortable as MenuBuilder or MSN. Just sharing. The rest of the code in this file has to do with the thread below. Don't worry.
    1 point
  20. Thank you kongondo & Robin S! Use of your suggestions led to the following successful code (in case it may be helpful to others): $entries = $page->children("sort=$subcats, sort=page_headline"); $subtitle = ''; foreach($entries as $entry) { if($entry->$subcats->title !== $subtitle) { $subtitle = $entry->$subcats->title; echo "<h3>$subtitle</h3>" } echo "<div class='listing'>"; echo "<img src='{$entry->page_main_image->url}' alt='{$entry->page_main_image->description}'>"; echo "<h2>$entry->page_headline</h2>"; echo "<p>$entry->page_summary <a href='$entry->url'>Read on</a></p>"; echo "</div>"; }
    1 point
  21. took me some time today to find out why my page was not showing up... i ended up creating a hook that does what apeisa had in his mind some years ago // set all languages active automatically $wire->addHookAfter('Pages::added', function($event) { $page = $event->arguments(0); foreach ($this->wire->languages as $lang) $page->set("status$lang", 1); $page->save(); }); does anybody see any danger in that? i'm not so experienced with multilang yet... edit: somehow it seems that ->setAndSave(...) does NOT work in this situation. @Can or @dragan can you confirm that?
    1 point
  22. Everything rendered should be available through $page->seo->... (More complicated keys like "og:site_name" are available through $page->seo->{"og:site_name"})
    1 point
×
×
  • Create New...