WebInterface Problems - Too much encoding / escaping for ServiceReference - no zapping on Movies list

  • I'm experiencing problems with the webinterface plugin (version 1.6.2) on several different Windows 7 x64 machines in IE 8, IE 9, Firefox and Google Chrome both with and without Gears:



    • Devicename: dm8000
    • Enigma Version: 2010-12-16-3.0
    • Image Version: Release 3.0.1 2010-11-16
    • Frontprozessor Version: V7
    • Webinterface Version: 1.6.2


    The problem is as follows:



    • The movie list loads correctly
    • When I press the movie title, a ZAP command is sent to the dreambox
    • The dreambox picks up the command and actually ZAPs, but it ZAPs to an invalid channel - the movie doesn't start


    I debugged the problem a bit:



    • The movielist.xml contains a correct serviceReference ID ("1:0:0:0.......<movie file name>")
    • After merging the movielist with the movie list template html file, the serviceReference ID ("1%25%3A....") appears escaped as the ID in the corresponding html <A> tag.
    • The onclick code sends this encoded serviceReference ID behind the ZAP command to the dreambox
    • The dreambox doesn't understand the ID and zaps to a broken channel


    I also found some work-arounds:



    • When I manually unescape the serviceReference ID back to 1:0:0:0 and resend the ZAP command, the dreambox DOES zap correctly
    • When I change the objects.js script in the /usr/lib/enigma2/python/Plugins/Extensions/WebInterface/web-data folder so that for the Movie class, the this.json method return this.servicereference as servicereference, instead of escape(this.getServiceReference()) - where getServiceReference() URIencodes this.servicereference - the Movies page works correctly: zapping works.


    I installed the latest version of the plugin (experimental build of 30-12-2010) and also checked the latest code from the CVS repository. The problem seems to be present with these latest versions of the plugin. But again, when I change the objects.js as described above, the problem disappears.


    It seems that the plugin code does TOO much escaping / URIencoding, or there is a bug in the escaping / URIencoding that causes invalid codes that all browsers mentioned above don't understand (at least, not on my Windows 7 computers). And when I remove the escaping / URIencoding from the objects.js, the problem disappears, at least for the movie files I tried. However, maybe there are situations where the encoding is needed?


    Maybe somebody more familiar with development for the webinterface plugin can shine some light on this. Is this a bug in the code that should be fixed?


    Regards, Beat Nideröst