Skip Navigation

This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 9:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Supporter timezone: America/Los_Angeles (GMT-07:00)

This topic contains 11 replies, has 2 voices.

Last updated by Bobby 1 year, 9 months ago.

Assisted by: Bobby.

Author Posts
July 11, 2023 at 2:33 pm #14016257

David

I am trying to: Send page to translation basket

Link to a page where the issue can be seen: hidden link

I expected to see: Add page translation to translation basket

Instead, I got: Following error:
Fatal error: Uncaught Exception: Could not make WPML\TM\TranslationDashboard\EncodedFieldsValidation\Validator: Class WPML_PB_Factory does not exist
in /www/www.daktela.com/wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php on line 422

Call stack:

WPML\Auryn\Injector::provisionInstance()
wp-content/plugins/sitepress-multilingual-cms/vendor/otgs/auryn/lib/Injector.php:373
WPML\Auryn\Injector::make()
wp-content/plugins/sitepress-multilingual-cms/classes/container/class-wpml-container.php:98
WPML\Container\Container::make()
wp-content/plugins/sitepress-multilingual-cms/classes/container/functions.php:29

Notice: Undefined index: file in /www/www.daktela.com/wp-content/plugins/query-monitor/collectors/php_errors.php on line 367

Notice: Undefined index: line in /www/www.daktela.com/wp-content/plugins/query-monitor/collectors/php_errors.php on line 367
WPML\Container\{closure}()
call_user_func_array()
wp-content/plugins/sitepress-multilingual-cms/vendor/wpml/fp/core/functions.php:154

July 11, 2023 at 10:23 pm #14018303

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Hello,

The cause of this error message is a missing file in the main WPML plugin.

Please re-install the plugin with a fresh version.

https://wpml.org/en/account/downloads/

to do a manual update please follow these steps:

1. Backup your database – see for example http://wordpress.org/extend/plugins/wp-db-backup/

2. Deactivate the existing WPML plugin and add-ons.

3. Delete the plugin files – this does not delete your translations. You will simply delete the plugin files from your "wp-content/plugins" folder NOT the database records.

4. Download the updated plugins from our servers and upload them to the plugin directory.

5. Activate the WPML plugin and add-ons.

Let me know your results, please.

July 12, 2023 at 10:43 am #14022619

David

Hi,
the first link shows error 404 and is not working.
Jiri

wpml_404.png
July 12, 2023 at 10:51 am #14022797

David

I tried to do all steps, downloaded fresh 4.6.4 version and reuploaded all the plugin files, but the problem persists. Are you sure the respective file is actually in that version present?

July 12, 2023 at 6:12 pm #14027667

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Thank you for updating me!

I would like to request temporary access (wp-admin and FTP) to your site to test the issue.
(preferably to a test site where the problem has been replicated if possible)

**Before we proceed It is necessary to take FULL BACKUP of your database and your website. Providing us with access, you agree that a backup has been taken **

I often use the Duplicator plugin for this purpose: http://wordpress.org/plugins/duplicator/
You will find the needed fields for this below the comment area when you log in to leave your next reply.
The information you enter is private which means only you and I have access to it.

NOTE: If access to the live site is not possible and the staging site does not exist please provide me with a duplicator package created with the duplicator plugin.

Thank you,
Bobby

July 13, 2023 at 10:22 pm #14036723

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Thank you for the access details!

I have reviewed the plugin and also the database tables created by our plugin and everything seems OK.

When testing in a staging environment I am not able to reproduce this behavior, could you please try the following:

Temporarily switch your .htaccess file to a standard one

You can do this by naming the .htaccess file to ".htaccess_old"

make a new file named .htaccess and add the following
https://wordpress.org/documentation/article/htaccess/

Then test again sending a page to the translation basket.

Does it work ok?

July 14, 2023 at 10:57 am #14039327

David

Hi,
I've created a full copy of the web at ww2.daktela.com - everything else is the same as before, just use ww2 instead of www. On this copy, I've changed the .htaccess as per your instructions. The issue still persists the same as before.

July 14, 2023 at 11:47 am #14039527

David

I've just also tried to downgrade the WPML plugin to 4.5.14 and the issue does not appear there. When I was trying different versions, the issue first appears in 4.6.0 with the introduction of the radio buttons before adding the items to the Translation basket.

July 17, 2023 at 7:14 pm #14053185

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

Thank you for updating me!

It looks like maybe some content is auto-generated in the .htaccess file.

I was able to take the environment to a minimal environment but the issue was there until I edited the .httaccess file again and removed this part

# GEOIP redirect
RewriteEngine On
#GB,US
RewriteCond %{REQUEST_URI} !^/en/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(ww2\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^(GB|US)$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#HU
RewriteCond %{REQUEST_URI} !^/hu/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(ww2\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^HU$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#PL
RewriteCond %{REQUEST_URI} !^/pl/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(ww2\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^PL$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#SK
RewriteCond %{REQUEST_URI} !^/sk/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(www\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^SK$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#SL
RewriteCond %{REQUEST_URI} !^/sl/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(www\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^SI$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#SR
RewriteCond %{REQUEST_URI} !^/sr/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(ww2\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^RS$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#RO
RewriteCond %{REQUEST_URI} !^/ro/ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(www\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} ^RO$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]
#OTHER
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{HTTP_USER_AGENT} !(googlebot|adsbot-google|bingbot|msnbot|slurp|duckduckbot|baiduspider|yandexbot|linkedinbot|facebot|applebot|semrushbot) [NC]
RewriteCond %{HTTP_REFERER} !(www\.)?daktela\.com [NC]
RewriteCond %{ENV:MM_COUNTRY_CODE} !^CZ$
RewriteRule ^(.*)$ <em><u>hidden link</u></em> [L,R]

# pozadavek @infra, #370785
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000" env=HTTPS
Header set X-XSS-Protection "1; mode=block"
Header set X-Content-Type-Options nosniff
Header set X-Frame-Options SAMEORIGIN
Header set Referrer-Policy "no-referrer-when-downgrade"
</IfModule>
July 20, 2023 at 4:37 pm #14074343

David

To be honest I think this must be something else. You've also deactivated most of the plugins including other WPML ones. The .htaccess file currently has the following configuration:

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

And the issue still persists. I don't even see how such .htaccess configuration should influence an obviously backend PHP error.

July 20, 2023 at 4:49 pm #14074387

David

I've simulated the exact same minimalistic setup in the screenshots and see how the issue persisted. You can see the .htaccess version which was deployed at the time of taking the error screenshot.

screen1.png
screen2.png
screen3.png
July 20, 2023 at 9:12 pm #14075125

Bobby
WPML Supporter since 04/2015

Languages: English (English )

Timezone: America/Los_Angeles (GMT-07:00)

At the moment this seems to be environment-related as I am not able to reproduce this behavior on any sandbox environment.

You can use this sandbox for example:
hidden link

The minimal environment you are using, how was it created and does it have any extra code in the .htaccess ?

Would you be able to share with me access to it

The topic ‘[Closed] Fatal error: Uncaught Exception: Could not make WPML\TM\TranslationDashboard\En’ is closed to new replies.