Users running a non-download version of Vanilla (pulled from github), on branch release/2019.016 or master from the last 2 weeks should upgrade to release/2019.017 or latest master for security reasons. Downloaded official open sources releases are not affected.
Please upgrade here. These earlier versions are no longer being updated and have security issues.

Problems with tablet browsers and CLEditor

This discussion is related to the CLEditor jQuery WYSIWYG addon.
SimSim New
edited October 2012 in Vanilla 2.0 - 2.8

I have users with Blackberry playbooks and relatively modern android tablets who cannot post due to CLEditor. Disabling javascript or disabling CLeditor are the only solutions I've found. The addon loads successfully but when they click on the comments box, their virtual keyboard pops up and disappears again, or it doesnt appear at all. The BB is using the default browser, android tablets were using Dolphin. Both latest version. Could a flag be added to disable CLeditor for "mobile" browsing?

Tagged:
«1

Comments

  • find out the useragent that gives you the problem.

      $UserAgent = strtolower(GetValue('HTTP_USER_AGENT', $_SERVER));
    
    
    add the 4 character string to  vanilla/library/core/functions.general.php   
    around line 1285.
    
    $MobileUserAgent = substr($UserAgent, 0, 4);
          $MobileUserAgents = array(
    

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • I'm having the same problem with my own iPad mini running iOS 6.1, with Safari and iCab Mobile.

    I'm sorry, but I don't understand your post. Could you give a clear step-by-step, please?

  • It was a suggestion of how to go about debugging (not proven) of something to try by someone who understood some coding. I don't have a step by step, since I haven't tested, nor do I use cleditor or have a Blackberry playbooks and relatively modern android tablets

    another guess

    you could try finding the useragent displayed under the problem devices
    and

    create a file - myuseragent.php  and run it from offending device.
    
    <?php
    
    $Useragent =  $_SERVER['HTTP_USER_AGENT'];
     echo $Useragent;
    
     ?>
    
    once you find out the useragents you want to block  -then you could put a line in default.php in the cleditor plugin.
    
    class cleditorPlugin extends Gdn_Plugin {
          $Useragent =  $_SERVER['HTTP_USER_AGENT'];
          if  ($Useragent == "soandso offending device")  return;
    
        public function PostController_Render_Before(&$Sender) {
            $this->_AddCLEditor($Sender);
        }
    

    I can't give any better step-by-step. My final answer-guess.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Ok. I see what you mean. Thanks.

    Not sure about creating and running php files in the iPad - not a Blackberry - but I'll look into it.

  • create the file on your server and run the program from the web browser on the individual client.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Good thinking. Thanks for that.

  • peregrineperegrine MVP
    edited November 2012

    change the following lines in plugins/cleditor/default.php

    from

    private function _AddCLEditor($Sender) {
       // Turn off safestyles so the inline styles get applied to comments
            
    

    to

    private function _AddCLEditor($Sender) {
            
           //don't show cleditor if ipad
            $Useragent =  $_SERVER['HTTP_USER_AGENT'];
                if (preg_match('/iPad/',$Useragent)) {
                return;
                }
            
           // Turn off safestyles so the inline styles get applied to comments
    
    

    I tested this on my machine emulating an iPad and it works for me.
    It will not display cleditor whaen an iPad, but will for other devices it should show the editor for.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

    Esger
  • @davidrosam

    let me know if the above works. if so awesome.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • Thanks @peregrine, I'll have a go this weekend.

  • @davidrosam said:
    Thanks peregrine, I'll have a go this weekend.

    results???

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • AdrianAdrian Wandering Spirit Montreal Vanilla Staff
    edited April 2013

    weird thing is it works fine for safari on ipad, but it hates the chrome app...

    Sharing is caring

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    Could you try using Photon ? I don't have an iPad but it works great on the iPhone , not free but worth it for 4.99

    https://itunes.apple.com/us/app/appsverse-photon-browser-tabbed/id430200224?mt=8

  • AdrianAdrian Wandering Spirit Montreal Vanilla Staff
    edited April 2013

    @vrijvlinder I am trying to work on the browsers my vistors come with :) I had a complaint about Chrome in iPad --so I am stumped. Add-on works well in mobile view on iPhone. Works well with Safari. With Google Chrome, the keyboard keeps disappearing after each letter is typed. I am using 2.0.18.8 right now...

    Maybe I can send users with ipad user-agent and Chrome browser to simple view, but I'd rather not.

    Sharing is caring

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    This is happening because of JavaScript libraries and other page elements are being loaded from external sources. Each time it loads an external resource (ads, scripts, widgets etc) and the keyboard is up, it drops down.

    You should wait until the page is fully loaded before starting to type.

    It would be nice to have a keyboard "stay on top" button to prevent this or to be able to force a user agent that worked on all devices well

  • IMHO, more and more people would come to visit any forum which running Vanilla from mobile device, Vanilla should be able to address this issues as default once for good. They come cheap now and more people would spend on their mobile instead computer.

  • AdrianAdrian Wandering Spirit Montreal Vanilla Staff

    @vrijvlinder that's not the reason though. Chrome app simply does not work with CLE Editor even if I wait 10 minutes. After each letter the keyboard disappears. I guess I need to figure the best way to have it go to simple mode just for chrome on iPad. Right now it's about 25% of my tablet traffic, so a solution would be nice. Kinda sucks these users won't be able to use CLE as to me it's the best Vanilla editor. I agree @Kairun, with so many users on tablets I am surprised no one else is here searching to fix. I guess I'll try to keep digging.

    Sharing is caring

  • AdrianAdrian Wandering Spirit Montreal Vanilla Staff
    edited April 2013

    I want to add, in Vanilla 2.1 beta the CLE editor included works fine with Chrome. It's definitely something that changed in the code that conflicts with Chrome in IPad... The for some deeper investigation into that code to see what changed :)

    #

    Update: it looks like the editor forces user to the source code view, by greying out the rest of the toolbar on IPad. Hmmm that's a great idea....as the look is not as jarring. I just need to figure out how they did it. I'll test when I get home

    Sharing is caring

    vrijvlinder
  • AdrianAdrian Wandering Spirit Montreal Vanilla Staff
    edited April 2013

    Just want to circle back on this, got it working, sort of. I am hiding the CLE editor for Chrome users on IOS. A modified version of the above:


    $Useragent =$_SERVER[HTTP_USER_AGENT];
    if (PREG_MATCH('/CriOS/', $Useragent)){
    return;
    }

    Sharing is caring

    vrijvlinderhgtonight
  • Worked like a charm! Thanks :)

  • Since the problem with the disappearing keyboard does not occur in Safari on iPad, only in Chrome on iPad (afaik), I used the code to test the $Useragent as follows:

    //don't show cleditor if ipad and chrome $Useragent = $_SERVER['HTTP_USER_AGENT']; if (preg_match('/CriOS/',$Useragent)) { return; }

    vrijvlinder
Sign In or Register to comment.