Greetings,
A few weeks back I converted my forum to use all https with proper certificates and all that jazz.
Everything has been working so far, with the exception of editing posts. This happens on the default theme in addition to my own theme, so it's not theme related from what I can tell.
Here's the steps I take to reproduce the issue:
- Find a post to edit
- Click the modify button
- The edit page loads properly in HTTPS, with the content of the post to edit
- On the "edit" page, make edits (or not)
- -ISSUE- When clicking save or preview, the browser will warn about submitting content over an insecure connection.
- When the page reloads, (after clicking save or preview) it takes users back to the "edit post" page with the contents entirely missing.
I'm trying to understand the difference between making a post (which works fine) and the edit a post processes, and I'm not familiar enough. Any suggestions on where to look or start?
Thank you for the help!
Best suggestion is, Upgrade to 2.0.15...
What mods installed? You have to make sure every url starts with https:// in your smf_settings table run repair settings to check too
Quote from: Kindred on April 14, 2018, 03:28:17 PM
Best suggestion is, Upgrade to 2.0.15...
I understand that is an option; but a time consuming one. Are themes from 1.x compatible with 2.0.15? Honestly asking, because I suspect the answer is no but that's my main hold back. :( All the modifications I've made over time also make moving quite an investment of time to get it back to the state it is now (minus editing posts).
SMF 2.1 sounds more like what I want if I'm going to spend the time upgrading... but looks like it's not ready for prime time yet?
Quote from: vbgamer45 on April 14, 2018, 03:33:04 PM
What mods installed? You have to make sure every url starts with https:// in your smf_settings table run repair settings to check too
A handful of different ones from many years of operation. TinyPortal and Aeva media are the two largest two mods. I can provide a full list easily, but will that help?
When you say "run repair settings" is that in mysql or in SMF?
Thank you!
Quote from: BLueSS on April 14, 2018, 03:45:32 PM
Are themes from 1.x compatible with 2.0.15?
No.
But, most 2.0.x themes are compatible with 2.0.15 (you may have to edit some thing manually).
Quote from: BLueSS on April 14, 2018, 03:45:32 PM
SMF 2.1 sounds more like what I want if I'm going to spend the time upgrading... but looks like it's not ready for prime time yet?
Yep, it's still in beta.
Quote from: BLueSS on April 14, 2018, 03:45:32 PM
When you say "run repair settings" is that in mysql or in SMF?
You upload repair_settings.php in your forum's webspace and run repair_settings.php from the browser. You can upload it via FTP or your hosts file manager, your choice ;).
What is repair_settings.php? (http://wiki.simplemachines.org/smf/Repair_settings.php)
Thanks for the suggestions so far. Repair_settings did not fix the issue, and I already had all the URLs in there with https:// or /home/ per my installation.
There's THIS bit of code on the Edit Post page, which is the part causing the problem. This is the code housing the "Modify Message" window.
You'll see that it's causing the form action URL to be HTTP instead of HTTPS.
<form action="http://www.posturl.com/12345" method="post" accept-charset="UTF-8" name="postmodify" id="postmodify" onsubmit="submitonce(this);saveEntities();" enctype="multipart/form-data" style="margin: 0;">
Which PHP page do I need to examine to see how the edit page is creating the post edit url, so I can fix that?
I am not looking to upgrade to 2.x at this time, and just need to fix this one issue.
Thank you.
check your .htaccess file in the root of your install.
Quote from: Illori on April 26, 2018, 01:11:25 PM
check your .htaccess file in the root of your install.
Thank you. I have done this, as I needed to make adjustments to the file to get HTTPS working for everything else.
This is the matching code that I've found that has the same description as the problem area in my previous posts.
FROM post.template.php from the DEFAULT SMF THEME.
<form action="', $scripturl, '?action=', $context['destination'], ';', empty($context['current_board']) ? '' : 'board=' . $context['current_board'], '" method="post" accept-charset="', $context['character_set'], '" name="postmodify" id="postmodify" onsubmit="submitonce(this);saveEntities();" enctype="multipart/form-data">
<table width="75%" align="center" cellpadding="0" cellspacing="0">
<tr>
<td valign="bottom" colspan="2">
', theme_linktree(), '
</td>
</tr>
</table>';
It appears that $scripturl is being passed to post.template.php without it being HTTPS. So where is this $scripturl for edited posts being generated from?
Looks like this is passed in when the function of "template_main()" is called within post.template.php, to render the post to modify.
Ah, here's more details. When viewing a thread, the following links are not displayed at HTTPS links:
- Mark Unread
- FOR SOME POSTS - All of the quote / modify / delete / split buttons are http. For other posts they are HTTPS (except the "quote" button is ALWAYS HTTP)
It makes no difference though between the posts with modify links being HTTP or HTTPS, when the modify page loads ALL of the Modify Post windows load the content in HTTP.
if you are using pretty URLs you need to modify your .htaccess file. otherwise repair_settings.php will fix this.
Quote from: Illori on April 26, 2018, 01:53:38 PM
if you are using pretty URLs you need to modify your .htaccess file. otherwise repair_settings.php will fix this.
You've nailed it. Turning off pretty URLs fixes it all.
I am using pretty URLs, and the links that are generated with pretty URLs are the ones missing HTTPS. I am trying to edit my HTACCESS via this post:
https://www.edufinanzas.com/foro/internet-tecnologia/migrar-smf-de-http-a-https-(redirect-301-con-pretty-urls)/
NEW POST BELOW
you should post in the mods support topic so that the author can assist you further.
Here's the proper fix for anyone coming into this thread from Google or search.
If using Pretty URLs you need to perform the following:
QuoteLinks point to old domain after moving forum
This is very simple to fix, in addition to updating all the other settings with repair_settings.php, this mod has one more setting to fix. You can either manually fix the pretty_root_url setting yourself, or else create a new .php with this code:
<?php require_once(dirname(__FILE__) . '/SSI.php'); require_once($sourcedir . '/Subs-PrettyUrls.php'); updateSettings(array('pretty_root_url' => $boardurl)); pretty_update_filters(); ?>
Upload the file to the same location as your forum's SSI.php and open it with your web browser. Then don't forget to delete it!
via: https://code.google.com/archive/p/prettyurls/wikis/TroubleShooting.wiki
Everything is working now!