Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

17 Good

About androbey

  • Rank
    Full Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. @Adam Thank you! It works very well now. I also tried to include it on a front end login page (which does not use the Login/Register (pro) module). With the example in the Tfa class the authorization form was never called and I figured it was because the tfa token changed because tfa's success method was called without tfa being started yet. So the token was reset and hence mismatched with the token in the get variable. Using a new session variable did the trick. I thought I'd share this if anyone also comes across this. $tfa = new Tfa(); $tfaStarted = $session->get('tfa_started'); if ($tfaStarted && $tfa->success()) { //redirect to some page if logged in $session->redirect('/some/page'); } else if ($tfa->active()) { //only set this variable if $tfa->active() is true. That also means the auth form is rendered. $session->set('tfa_started', true); //echo the form somewhere in your HTML $tfaRender = $tfa->render(); } else if ($input->post('login_request')) { //get input name and password (also CSRF token...) $inputName = $input->post('user_name'); $inputPassword = $input->post('user_password'); $tfa->start($inputName, $inputPassword); $session->remove('tfa_started'); /* do regular login stuff here if user has no 2FA set up */ } else { // render login form if ($session->get('tfa_started')) { //remove session variable and reload page (otherwise $tfa->success() would be called) $session->remove('tfa_started'); $session->redirect($page->url); } } /* don't forget to include scripts in your HTML markup <script src="<?= $config->urls->siteModules ?>TfaU2F/u2f-api/u2f-api-polyfill.js"></script> <script src="<?= $config->urls->siteModules ?>TfaU2F/TfaU2F.js"></script> */
  2. Yeah, that is the strange part. I don't get this option to set up the key. I have self signed SSL set up locally. But result is the same with SSL turned off (no errors whatsoever). To check if something else is wrong with my setup I installed the TOTP module, which shows the option (with QR code) after changing and saving the user page.
  3. Hi @Adam, First of all, thank you for the module! I wanted to try it out myself now, but I can't get any further. I think I'm being a bit of a jerk, but I could use some help. I have downloaded the module and successfully installed it on a new ProcessWire installation. There are no other modules installed separately. When I change the 2FA type to U2F on a user no option to store a key comes up (no error in the console either). I tried it on a site with domain and TLS/https and on localhost. Do you have any idea what it could be? Do I have to configure something somewhere to make it work?
  4. Hi all, For one page template I want to track all changes made to pages with this template (ideally including repeater fields). However, I can't even track changes of simple text fields and I don't know why. It's important to note that I add and change pages via the API and not in the backend. For each page change I added: <?php // get the page $p $p->setTrackChanges(Wire::trackChangesValues); $p->setTrackChanges(true); //do changes to fields... $p->save(); I have a autoload module which hooks after Pages::saveReady. <?php /* get the page from the HookEvent $page->getChanges(true); returns always empty array $page->getChanges(); returns always empty array However on the same run checking a field explicitly ProcessWire recognizes that a field is changed: */ if ($page->isChanged('sample_field')) { //code in here is executed.. } Changing a field in ProcessWire backend "$page->getChanges(true)" does return an assoc array with changed fields, but the value is always null. Clearly I must do something wrong, but what is ist?
  5. @kongondo Wow, thank you for your effort! I would agree that user education is indeed a valid point, but also they sometimes don't behave like should do. Also giving the users some freedom is usually a good idea (if they do use the system as intended). @Robin S solution is of course really nice. Both solutions have some minor drawback for me (language page variants are disabled by default) and I thought it may be better to let the user edit the page name after all. That's why I changed Robin's solution to hide multi language title field on page creation: $this->addHookAfter('ProcessPageAdd::buildForm', function(HookEvent $event) { $restrictedTemplates = ['test-template']; $restrictedTemplatesIds = wire('templates')->find("name=". join('|', $restrictedTemplates))->explode('id'); $form = $event->return; $template = $form->template; if($template && in_array($template->value, $restrictedTemplatesIds)){ $form->title->useLanguages = false; $form->_pw_page_name->collapsed = Inputfield::collapsedYes; } }); This way I have the best of both aproaches (for me): Page has no multi language title, but page has nevertheless all languages enabled. Could probably be improved but it does its job for me. Thank you again!
  6. You described almost exactly what I found out so far. However, the trick with duplicating "PageTitleLanguage" was new. I did duplicate that and manually changed type of this field in the database. Obviously I can hook on page creation to fill the duplicated title field with data from page name. So that would work in theory. Also, I would have to keep the "original" title field in sync, when I whant to keep that field. But I also obviously missed another point: page name is also unnecessary in multi language. So that would be another "problem", which I (as I assume) can not solve with the duplicate trick.
  7. Hi @kongondo, thank you for your reply. Although I did not see it before, it does not solve my problem. This setting would disable multi language for entire template. However I am only interested in disabling multi language for page title field. I hope it's understandable.
  8. Hi all, I am currently playing with a site using multi language support, including "PageTitleLanguage". Now, for one template multi language title is not needed, but the rest of fields should still support multi lanuage. When creating a page a user is now halted to add a title in all enabled languages. I did not come up with a solution and frankly don't even know what hook to look at. What would be a could way to disable multi language support for page title field (or to hide input for non-default languages)?
  9. Hi @Mats thank you for this module! I noticed an issue when trying to crop images which where downloaded via this module on saving. The error said that the image could not be found. I assume this has to do with the page file name, which has a "." in its name, which seems to be a problem. I replaced the renaming with following line, which solves this problem for me. Maybe it's helpful for someone else coming accross this. $pagefile->rename(str_replace('.', '-', $pagefile) . ".jpg");
  10. Yeah, I thought of that and that is why I was asking. I once ran into a similiar problem, unrelated to ProcessWire. But maybe it helps when you have a look into "BOOLEAN MODE" on InnoDB, when trying to select with an "@" symbol.
  11. Hi @Pixrael, do you have some more information about the query which causes the error? Is it a 'SELECT' query?
  12. Hi @Markus (Blue Tomato), thank you for the update. I tested the new version and the generation and storage of the blurhashs works fine! On a side node, I find it still strange that the custom SQL did not (always) work. After upgrading my issue with "undefinded offset" was still present. I checked the used PHP Blurhash library and your code and I adjusted lines 108 and 109 and replaced $height and $width with $calcHeight and $calcWidth. This solves the issue (no more notices), but I don't know if it has any drawbacks..
  13. Hi @Markus (Blue Tomato), thanks for your reply. I tried again with an image found on the web, but no luck. createBlurhash for this particular image returns "LdLx}oxdzpwN}tNHNsbI#laxS}f*" (so at least seems to work?), but is not stored in the db. Image for this test: https://pixabay.com/get/53e2d14b4b5aaf14f6da8c7dda35367b1c3ddce05152774a_1280.jpg Maybe I can check tomorrow with a different test setup.
  14. Hi @Markus (Blue Tomato), I also think this is awesome! I wanted to try it, but I have some strange problems getting in running. I don't know if it is only me, but nevertheless I wanted to post here. Maybe someone can help. One strange issue at first: When an image is saved, the hash is not stored in the db table (although the "insertBlurhash" function returns true). And the second issue comes when calling the "getBlurhashDataUri" function. (I manually inserted the hash string to the database, because of the before mentioned issue). Then I'll get based on the image up to several 100-thousands warnings like "PHP Notice: Undefined offset: 208 in .../ImageBlurhash/ImageBlurhash.module.php:122". Maybe there is some config issue on my side or anything else I missed. But maybe someone has an idea. Btw. I checked it both on Windows and Linux with PHP 7.2 and latest ProcessWire dev version.
  15. Ok I found the reason why my modal does not really look like it should but I don't know why the condition is not met: https://github.com/processwire/processwire/blob/master/wire/modules/Jquery/JqueryUI/JqueryUI.module#L44 $adminTheme obviously does not evaluate to true, hence the vex theme is not set. But as I am in admin backend, it should evaluate to true, shouldn't it?
  • Create New...