News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord

Main Menu

Smileys missing from the message box

Started by Alk2, November 22, 2022, 06:29:39 PM

Previous topic - Next topic

Alk2

Hello,

I have just upgraded a forum on behalf of someone. I went from v2.0.17 to v2.1.2 using the upgrade archive.

All seems well, except that the row of smileys is missing from the message box (effects new topics, replies, private messages, etc.). Just the same as in this thread (but the thread didn't seem to get a proper diagnosis).
I have run repair_settings.php as suggested in that thread, no issues with the paths to the Smileys. I got repair_settings to re-save the settings regardless. Still the same afterwards.

Attached is a screenshot of what my reply box looks like.

To rule out an issue with the upgrade, I fired up a compatible version of XAMPP on my PC and restored the forum backup of v2.0.17 (I then ran repair_settings.php to fix the paths as they are obviously different on my PC to the web server). I confirmed that on the backup copy of v2.0.17, the Smileys appeared in the reply box. With the exception of the upgrade patches, I then removed the one mod that was installed (KeyCaptcha), but it didn't have an uninstall option, so I had to just delete KeyCaptcha. I also removed the additional language so that there was just English. I then ran the upgrade again in my XAMPP environment, via command line this time with debug - no errors with the upgrade. After the upgrade, the Smileys were still not present in the reply box. So I got the same result in my XAMPP environment as on the live web server.

I have re-downloaded the upgrade archive, done checksum comparisons of the zip files, re-extracted and done folder comparisons to ensure there has not been any corruption with the source files that I am using for the upgrades.

I have installed a new, blank, Test SMF forum in my XAMPP environment and Smileys appear when making a reply. So it is not a fault with my XAMPP environment skewing the results.

It is important to say however that Smileys are displaying for previous/already made posts on the forum (both in XAMPP and on the live web server). You just cannot make new posts with Smileys.

I have patched the live web server forum to v2.1.3 today, but the Smileys message box issue is the same.

I would be grateful for any assistance that you can provide please.

Many thanks.
----------------
XAMPP Environment:
  + Apache 2.4.29
  + MariaDB 10.1.29
  + PHP 7.2.0 (VC15 X86 32bit thread safe) + PEAR

Live Web Server Environment:
-Litespeed
-10.3.36 MariaDB (but going to the latest MariaDB in the next few days - hence the SMF upgrade).
-PHP 8.1

Attached is the XAMPP Phpinfo output if is it of any help.

TwitchisMental

Hello Alk2,

Go to Admin CP > Forum > Smileys and Message Icons  > Settings

Is the Base URL correct?

Do you have a default smiley set picked out? If so, have you tried the other set to see if those appear?

Alk2

Thank you for your reply. In answer to your questions:
Quote from: TwitchisMental on November 22, 2022, 08:34:13 PMIs the Base URL correct?
Yes the Base URL and the path are correct there.

QuoteDo you have a default smiley set picked out? If so, have you tried the other set to see if those appear?
Yes, I have a default smiley set selected. I have tried a different smiley set also. The smileys still won't appear.

Thank you.

TwitchisMental

Looking back at the required specs for 2.0.17, it seems that PHP 8.1 would not be supported. Only 5.3-7.3 are supported.

I am willing to bet that this might be part of the problem.

Playing around on my own local install with PHP 8.0, SMF 2.0.17 would not even install.

I would suggest restoring your 2.0.17 install on the live server. From there update to 2.0.19. Then perform the upgrade to 2.1.

You may have to go into your hosts cPanel and change the PHP version to 7.3 aswell. Then change it to the higher PHP version when going from 2.0.19 to 2.1.

Alk2

Thank you, however, I was running v2.0.17 on PHP 7.3 before upgrading. I upgraded to v2.1.2 whilst still running on PHP 7.3 and only after the upgrade was completed and all seemed well did I switch to PHP 8.1.
When I realised that the Smileys were missing, I have already tried reverting back to PHP 7.3, but the Smileys still did not show.
In my test XAMPP environment I am running PHP 7.2, with the same problem.

shawnb61

Any errors in your browser console?

Everything look ok under your admin screen for Smiley Sets?  Smiley Settings?
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Alk2

No errors in my browser's developer tools console.

Everything looks in order on the Admin pages for Smiley sets and Smiley Settings.

shawnb61

What do you see if you run this query?
SELECT * FROM `smf_settings` WHERE `variable` LIKE '%smiley%'
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Alk2

Thank you - Attached is the output from the query (I have replaced the forum owner's details with my username).

I have just tried again in my XAMPP environment the following: going from v2.0.17 to 2.0.18 to 2.0.19 to 2.1.2 but the Smileys still don't appear.

In the topic that I linked to of the person that had the same issue, it appeared that it might have been caused by a mod. I only have the KeyCaptcha mod installed.
What I have noticed is that the KeyCaptcha mod a) doesn't have an uninstaller and b) if you subsequently delete it, it still appears under the Anti-Spam menu in the Admin CP. Furthermore, in my testing just now, even though I deleted the KeyCaptcha package under v2.0.17, it re-appeared as an installed package when I went from v2.0.17 to v2.0.18. After upgrading to v2.0.19, I then used fix_packages.php, Selected KeyCaptcha from the list and clicked the button to Remove All Hooks. Whilst KeyCaptcha was then gone from the installed packages list, it still appeared under the Anti-Spam menu in the Admin CP.
Upon upgrading to v2.1.2, KeyCaptcha is no longer under the Anti-Spam menu. However, if I re-install the KeyCaptcha package, it will come back again, retaining the settings that I had previously.

Do you think that this is relevant?
Thank you.

shawnb61

If you go to smiley settings, and enable:
 - Enable smiley set selection by members
 - Enable customized smileys

Then, go to the new Edit Smileys tab, do you see smileys there?
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Alk2

Quote from: shawnb61 on November 23, 2022, 08:12:28 PMIf you go to smiley settings, and enable:
 - Enable smiley set selection by members
 - Enable customized smileys

Then, go to the new Edit Smileys tab, do you see smileys there?

Yes I do. As I say, the Smileys do appear for previous posts already made on the forum.

However, you have struck upon the solution to my problem; I decided to see if these 2 settings would make any difference to my issue and I found that if I enable just the setting "Enable customized smileys" - the Smileys now appear in the message post box! If I disable the setting, the Smileys then disappear again from the message post box. If I re-enable the setting, the Smileys come back again. So I can re-create the problem and solution, so we now know that this setting is the cause of the issue.

Do you know if this is meant to work this way, a strange bug, permissions issue gone wrong, or something random messed up on this particular forum please?

Thank you very much.

live627

I think this may be related to some weird setting in the profile regarding WYSIWYG editor.

Alk2

I think I have worked out a potential reason why this box needs to be ticked.

When I compare the Smileys on the live forum with a new, blank, Test SMF installation, I see the following:
There are 22 Smileys on the new, blank, Test SMF installation.
There are 33 Smileys on the live forum.
I can see that there are custom Smileys entered and some modifications of the 'default' Smiley's code used on the live forum.

As a test I exported the smf_smileys and smf_smiley_files tables from the new, blank, Test SMF installation and overwrote the tables in the live forum. I then set a default Smiley Set that was usable (Alienine). I first confirmed that the Smiley's were appearing in the message box and then went ahead and unchecked the "Enable customized smileys" box. The result is that the Smiley's still continue to appear in the message box with this unchecked.

I have reversed this and re-created the problem again, so I know that the custom Smileys are what's tripping things up here.

As I write this, I think that I have worked out what has happened here...I made a video of all of the settings that they had under v2.0.17 and "Enable customized smileys" was not ticked. But, because they actually did have customized smileys, it should have been ticked by my understanding? Am I right?

It is just something that has happened as a result of upgrading and because they have customized smileys, you could say that the box was expected to have been ticked in v2.1.x...and so the Smileys just didn't appear in the message box.

But what confused me was that the description underneath the explanation for the option of "Enable customized smileys" says: "(otherwise, the default smileys will be used.)" so I thought that if it was not ticked, the default Smileys would be used regardless and it didn't matter either way.
I don't know what the code is meant to do here for this option, but perhaps something a little funky is going on?

Thank you!

Advertisement: