Limited Support
Our team is currently on holiday, so support will be limited during this period. Response times may be slower than usual, and some inquiries may be delayed.
We appreciate your patience and understanding, and we’ll resume our usual support by the end of August.
Hi,
I have a strange behaviour or bug on a private forum.
On the same computer...
1° in Firefox I have page /participant/maxgarin/subscriptions open. This user has one forum-topic subscription "Envoi à tous" and wants to add the topic "Agriculture et élevage"
2° When submitting the "Agriculture et élevage" topic is not added to the user's maxgarin list, BUT TO ADMIN ?!
3° in Brave where admin is logged I have on /participant/{admin}/subscriptions page the forum topic added by user maxgarin (see attached JPG)
This is really odd. User subscriptions on page /participant/{user}/subscriptions are set to the
/participant/{admin}/subscriptions.
I checked the wpforo_subscribes SQL table and confirms the subscription transfer from user to admin.
Can you please help me trace and fix the problem ?
thank you
Additionnal information...
The subscription submission form "wpf_sbs_form" contains a hidden field "wpforo[userid]" with value = 1 (this is ADMIN). It should be 7 for user "maxgarin" (see JPG test with another user). This explains why ADMIN is getting the user subscription.
Now why is the user ID getting lost when displaying page : /participant/{user}/subscriptions and falls back to 1 ?
The Wordpress login cookies are correct :
- domain : federation-francaise-de-geobiologie.org
- name : wordpress_logged_in_7e3863606bc70e6f2e98232e1eba9c04
- value : maxgarin%7C1671300294%7CQaO5vbcmAIgWltPeSgDYThJUY6iwg04itakB1GPHZTK%7C8d5d9b71952dbc99616393cf0474c6ee605ef6dd273475363f59a9f33985dea6
any idea ?
OK, I found the problem and patched
wpforo/modules/subscriptions/classes/Template.php
Same behaviour on PHP 7.4 and PHP 8.1 with wpForo 2.1.1 and Wordpress 6.1.1
On line 32 in Template.php => $userid is assigned to 0
public function manager_form( $userid = 0 ) {
In my case however $userid is an ARRAY() with the following values being connected as "maxgarin" and the default value 0 is not taken.
userid[0] = Array val[subid] = 93 val[itemid] = 8 val[type] = forum-topic val[confirmkey] = 1d989ced9d29275b5185ea66f171ac7e val[userid] = 7 val[active] = 1 val[user_name] = val[user_email] =
On line 43 we have
$userid = intval( $userid );
But intval( array() ) returns 1 if not empty => which is the ADMIN userid in my case
I patched this line and changed it to
$userid = (is_array($userid)) ? 0 : intval( $userid );
And the userid is retrieved correctly and is 7 (in this example) and this solves the problem.
Does this makes sense to you ? Will you include the patch in the next wpForo release ?
thank you