-
Posts
52 -
Joined
-
Last visited
Posts posted by Dennis Spohr
-
-
Hi all,
I have a multi-language site with 2 languages: the default one (English) and German.
But if I load my root-page, the language of my guest ($user->language) is always the default one (English).
My browser (Firefox in this case) is in German - so the $user->language should be set to German in this case, right?Shouldn't I define the German language somewhere with "DE" oder "DE-de"? How does the system knows actually that this is suppose to be the German translations?
I already translated the C in
wire--modules--languagesupport--languagesupport-module
into de_DE.UTF-8 already.Any idea why this is not working?
Thanks!
Dennis -
This issue is fixed in the latest commit. 🤘
- 1
-
Sure, just posted it here: https://github.com/processwire/processwire-issues/issues/1297
- 2
-
$pages->parents()->rebuildAll() took around 16 seconds on our dev-server.
For now we switched back to pw 3.0.148 and it seems that the error is not happening anymore.
Also changing the parent is not as slow anymore.So there's definetely something going on with this new pages_parents table, but we were not able to reproduce the error with $page->find() on purpose.
It randomly happened and for sure the pages_parents table was not correct anymore. But somehow fixed after seconds or minutes. -
I am running PW 3.0.165, the latest master version.
Unfortunately I can’t tell if it was faster before migrating to this version. Sometimes it was kind of slow, but I didn’t look into this in detail before.Today we figured out another problem with parents. When using $page->find() sometimes it doesn’t find an existing page (with $pages->find() it’s there). In this case it has to be something with the has_parent selector. After at least 20 minutes of testing and debugging, it was finally working without us changing anything.
Probably the pages_parent table is not working correctly or is created/updated too late. But this doesn’t fix the first issue regarding the performance.
Something strange is going on.
-
Changing the parent is slow in general. In my case $trash is my own custom page, not the trash of ProcessWire.
I have other places in my code where I change the parent not using my own trash and there I have the same behaviour.
-
Hi all,
when I update the parent of an existing page, this process takes extremely long (20-30 seconds).
$page->of(false); $page->parent = $trash; $page->save();
Sometimes these tested pages doesn't even have a single child-page.
Our database is quite large (but with a very fast server):
- 900.000 entries in the pages table.
- 90.000 entries in the pages_parents table.
Is there any other way to change the parent or does anybody now where this could come from?
We have multiple places where this is happening now.
Thanks!
Dennis -
I have cleared the entire browser cache - but still the same problem.
-
-
I have to reopen this thread, because I still have these problems.
I am absolutely sure that my user-name is valid and unique.
Still, if using $users->add($name) I'm getting a NullPage back, but just sometimes.
I couldn't find a way to reproduce this error on our test-server.Our database is huge, we have some traffic and probably sometimes users are created nearly simultaneously (but definitely with unique names)
Currently we have more than 150k user-accounts in the system.
Do you think that could be a problem?The solution of @Noel Boss is interesting. How will the user-name be generated in this case?
Any help is really appreciated! Thank you!
-
Perfect, I will look into this. Thank you very much.
-
Hi all,
I have a custom login-page for my vistors and I want to implement a 2-factor authentication.
Looks like the TfaTotp-Module already has this functionality for the login-form of ProcessWire.
Can I use this module via the API for my custom login-form? How can I implement it?I couldn't find any documentation.
Thanks,
Dennis -
I created a tool where users can design their individual landingpage. Lately users want to implement their own html- and/or javascript code, for example for loading an iframe or custom tracking codes.
If I give them an textarea, where they can paste their custom html or javascript code - is this secure?
I would use $sanitizer->text to prevent sql injections.But is this a safe way? I don't (really) know which code they would save (and load).
I would like to get an idea and your thoughts.
Thanks and greetings from Malta,
Dennis -
Quote
But it works if I do what the error says: Calling $pages->of(false) before:
Yes, but it does not work if you have child-pages with a SelectOptions-Field.
Thank you very much for all your help and support! I will check with the latest developer-version.
-
Probably it got fixed already? Because I tested it with ProcessWire 3.0.98.
-
I just created an issue for this: https://github.com/processwire/processwire-issues/issues/711
-
Finally I was able to reproduce the problem on the clean install of ProcessWire. It seems to be a problem with a SelectOptions-FIeld, when no value is set.
I did the following on the clean install:
- Create a new SelectOptions-Field with some values in it.
- Assign the field to a template
- Create a new Page of this template using the API:
$mypage = new Page(); $mypage->template = 'basic-page'; $mypage->parent = $pages->get(1); $mypage->title = 'TEST'; $mypage->save(); print ($mypage->id);
- Copy the ID of the new page and do the following:
$mypage = $pages->get(1042); $pages->clone($mypage);
- While doing this I get this exception:
QuoteError: Exception: Can’t save page 0: /test-1/: Call $page->of(false); before getting/setting values that will be modified and saved. [Page::statusCorrupted] fields: images, selectoptions (in D:\xampp\htdocs\pw-test\wire\core\PagesEditor.php line 515)
selectoptions is the name of my SelectOptions-Field. Settings $page->selectoptions = ''; seems to create the same problem (no value set).
I don't think this should be the expected behavior?
-
I was able to solve one of the problems. For a field of type Select Options I was setting a value which was not existing.
When I'm doing the page-clone now, I don't get any error anymore.
But still, the repeater-fields don't get copied.
-
There is no page with status = 131073. I'm trying to clone the page in my template.
-
I removed my ready.php and removed all modules in my site/modules folder. But nothing changed.
Is it possible that something is corrupted? Because of this part in the error message:
Page::statusCorrupted] fields: align, textalign, position
-
I have another weird behavior on this.
If I use $pages->clone($mypage) I get this error:
QuoteException: Can’t save page 0: /ma/.../video/: Call $page->of(false); before getting/setting values that will be modified and saved. [Page::statusCorrupted] fields: align, textalign, position
Looks like somehow something is corrupt. But I don't have any idea why and how to fix it.
-
I just tried it. On a clean install (3.0.98) it works like it should be.
My other installation has the same version. I don't have any idea why it doesn't work there.
-
Thanks, I will look into this thead - however I don't understand why it's working on the ProcessWire Admin. It seems that it should work and I'm doing something different than the admin.
Thanks for mentioning the child()-function ?
-
Hi all,
I have a weird behavior. I'm using the following code to clone one of my pages:
$block = $salespage->children("id={$duplicate_id},include=all")->first(); $block->of(false); if ($block && $block->id) { $newone = $pages->clone($block); }
Problem: the page itself gets cloned, but on of the fields (a repeater) does not get cloned. It's empty.
If I do the same in the ProcessWire-Admin via the PageTree, it works fine. The repeater-field gets cloned there as well.
What could be the problem?
Thanks,
Dennis
The language of $user->language (guest) is not correctly
in General Support
Posted
Ah okay, then it makes sense! I thought that functionality was built in.
If anyone needs this: I created the following to detecting the language:
(The second one I got from https://stackoverflow.com/a/25749660)
Now on the load of every page I just called my method like this (in my case at the $config->prependTemplateFile):
On my site it seems to work with ProCache as well. I guess it depends on the settings in ProCache?