Support » Plugin: Really Simple SSL » Quirk with admin styling

  • Resolved Jason LeMahieu (MadtownLems)

    (@madtownlems)


    Heya – I’m back with another weird one πŸ™‚

    Using version 3.3.2 for now, in a MultiSite environment.

    We noticed today that some of our Thickboxes when editing content were having styling applied to them that we didn’t actually want.

    #TB_window {
    height: 370px !important;
    }
    and
    #TB_ajaxContent {
    text-align: center !important;
    }

    both from main.min.css. This was being used while editing a Page or Post.

    A couple weird things about this!

    1) You have logic to only have your CSS enqueued on the settings page… but apparently it isn’t working perfectly.

    2) I am able to fix this on a site-by-site basis by going to Settings->SSL and find that, on all the affected sites, it says: “Go ahead, activate SSL!” when the plugin is actually network activated and “Enable SSL” is set to be networkwide. It looks like $this->ssl_enabled doesn’t actually test for network-wide settings.

    I haven’t tried to patch it yet myself, but my first inclination would be to look at where you’re determining if ssl_enabled is true or not and checking if the plugin is activated networkwide and has ssl activated networkwide.

    Let me know if you need more information or if I can be of any help.

    Cheers

Viewing 7 replies - 1 through 7 (of 7 total)
  • Looking just a bit over coffee this morning, I also noticed that class-admin.php references a constant of ‘RSSSL_FORCE_ACTIVATE’ several times, but on line 519 you’re using a ‘rsssl_force_activate’.

    As this is the only lower-case instance in the plugin’s code, I assume you intend to use RSSSL_FORCE_ACTIVATE there as well.

    Plugin Author Rogier Lankhorst

    (@rogierlankhorst)

    Hi @madtownlems,

    Thanks for your input, as always πŸ™‚

    I’ve fixed the uppercase/lowercase constant, thanks for mentioning it.

    As for the style: the Really Simple SSL stylesheet is loaded on the settings page, but also when SSL is not enabled yet. So this seems expected behaviour.

    The fact that SSL is not enabled seems to be the cause of the issue in your case. I have to run some tests on this, but when you select the ‘networkwide’ option, the SSL activation should run in all sites, in chunks of 200 sites.

    This happens in the activate_ssl_networkwide() function.

    Hey thanks. πŸ™‚

    I toggled that network setting to “per site”, then back to “networkwide” and now all non-archived sets have the option correct and thus are no longer enqueueing the main.min.css file on every page in the dashboard.

    Without spending TOO much time trying to debug what looks resolved, my guess is we ended up in this situation because the older version of Really Simple SSL, that we were using when we first network activated it, looks like it may not have properly looped over all sites in larger networks.

    It looks like get_sites_bw_compatible() didn’t actually have a ‘limit’ or ‘number’ parameter on its get_sites query (let alone chunk it 200 sites at a time), so it looks like only 100 sites would’ve have it enabled at the time. (but again, this has been resolved since 3.3.2)

    Cheers!

    Note: I think there is still an issue with the enqueueing of CSS, however. As a test, I put a network on managing ssl “per site”, then disabled it from a site.

    My thickbox styling issues returned!

    The code comment says:
    //prevent from loading on other pages than settings page.

    but clearly it’s being enqueued on Edit Post pages, and even the general dashboard homepage.

    if ((!is_network_admin() && ($hook != $rsssl_admin_page)) && $this->ssl_enabled)
    return;

    When SSL is not enabled, the 2nd half is never true, so this logic enqueues the CSS file on every admin page (thus borking other plugin’s thickboxes).

    Plugin Author Rogier Lankhorst

    (@rogierlankhorst)

    The styles are used for the activation notices, so currently are necessary when SSL is not activated yet.

    The stylesheet is loaded on all pages when SSL is not activated on the assumption that this state is always temporary. But on a multisite it can of course happen that SSL is not activated. I’ve overlooked this fact.

    A better solution is to add the styles for the notices as inline styles, and only load the css on the settings page.

    I’ve started a branch here:
    https://github.com/rlankhorst/really-simple-ssl/tree/load-css-on-settings-pages-only

    The CSS file loading logic has been adjusted, we’ll start on splitting of the inline styles this week.

    Plugin Author Rogier Lankhorst

    (@rogierlankhorst)

    Hi @madtownlems,

    We have a patch ready, putting all notice CSS as inline style, enabling us to limit the stylesheets to the settings page only, even when SSL hasn’t been enabled yet.

    If you want you can test it here:
    https://github.com/rlankhorst/really-simple-ssl/tree/load-css-on-settings-pages-only

    Plugin Contributor Mark

    (@markwolters)

    @madtownlems

    the 3.3.4 update has moved all notice styles inline.

    Mark

Viewing 7 replies - 1 through 7 (of 7 total)
  • You must be logged in to reply to this topic.