Moodle

IE times out on policy page because of object tag

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Blocker Blocker
  • Resolution: Fixed
  • Affects Version/s: 1.8.1
  • Fix Version/s: 1.8.1
  • Component/s: Administration
  • Labels:
    None
  • Affected Branches:
    MOODLE_18_STABLE
  • Fixed Branches:
    MOODLE_18_STABLE

Description

reproduce:
try to confirm policy (html file) with IE

Issue Links

Activity

Hide
Mauno Korpelainen added a comment - - edited

Hi Petr,
one problem is that if given path to site policy file (like http://someserver/somefolder/ ) does not have any file type (like http://someserver/somefolder/index.php ) then mime type is type="document/unknown"

As soon as some file is given (index.htm, mypolicy.php etc) object is found.

But still IE stops responding...and that doubleaddress in http://tracker.moodle.org/browse/MDL-9809 is strange (I had it too when I tested this)

Show
Mauno Korpelainen added a comment - - edited Hi Petr, one problem is that if given path to site policy file (like http://someserver/somefolder/ ) does not have any file type (like http://someserver/somefolder/index.php ) then mime type is type="document/unknown" As soon as some file is given (index.htm, mypolicy.php etc) object is found. But still IE stops responding...and that doubleaddress in http://tracker.moodle.org/browse/MDL-9809 is strange (I had it too when I tested this)
Hide
Mauno Korpelainen added a comment - - edited

But again the old version of user/policy.php with iframes works with IE as well:

<?php // $Id: policy.php,v 1.7 2006/09/02 11:44:07 skodak Exp $

require_once("../config.php");

$agree = optional_param('agree', 0, PARAM_INT);

define('MESSAGE_WINDOW', true); // This prevents the message window coming up

if (empty($USER->id)) { require_login(); }

if ($agree == 1 and confirm_sesskey()) { // User has agreed
if ($USER->username != 'guest') { // Don't remember guests
if (!set_field('user', 'policyagreed', 1, 'id', $USER->id)) { error('Could not save your agreement'); }
}
$USER->policyagreed = 1;

if (!empty($SESSION->wantsurl)) { $wantsurl = $SESSION->wantsurl; unset($SESSION->wantsurl); redirect($wantsurl); } else { redirect($CFG->wwwroot.'/'); }
exit;
}

$strpolicyagree = get_string('policyagree');
$strpolicyagreement = get_string('policyagreement');
$strpolicyagreementclick = get_string('policyagreementclick');

print_header($strpolicyagreement, $SITE->fullname, $strpolicyagreement);

print_heading($strpolicyagreement);

echo '<center>';
echo '<iframe width="90%" height="70%" src="'.$CFG->sitepolicy.'">';
echo link_to_popup_window ($CFG->sitepolicy, 'agreement', $strpolicyagreementclick,
500, 500, 'Popup window', 'none', true);
echo '</iframe>';
echo '</center>';

notice_yesno($strpolicyagree, "policy.php?agree=1&sesskey=$USER->sesskey", $CFG->wwwroot);

print_footer();

?>

Show
Mauno Korpelainen added a comment - - edited But again the old version of user/policy.php with iframes works with IE as well: <?php // $Id: policy.php,v 1.7 2006/09/02 11:44:07 skodak Exp $ require_once("../config.php"); $agree = optional_param('agree', 0, PARAM_INT); define('MESSAGE_WINDOW', true); // This prevents the message window coming up if (empty($USER->id)) { require_login(); } if ($agree == 1 and confirm_sesskey()) { // User has agreed if ($USER->username != 'guest') { // Don't remember guests if (!set_field('user', 'policyagreed', 1, 'id', $USER->id)) { error('Could not save your agreement'); } } $USER->policyagreed = 1; if (!empty($SESSION->wantsurl)) { $wantsurl = $SESSION->wantsurl; unset($SESSION->wantsurl); redirect($wantsurl); } else { redirect($CFG->wwwroot.'/'); } exit; } $strpolicyagree = get_string('policyagree'); $strpolicyagreement = get_string('policyagreement'); $strpolicyagreementclick = get_string('policyagreementclick'); print_header($strpolicyagreement, $SITE->fullname, $strpolicyagreement); print_heading($strpolicyagreement); echo '<center>'; echo '<iframe width="90%" height="70%" src="'.$CFG->sitepolicy.'">'; echo link_to_popup_window ($CFG->sitepolicy, 'agreement', $strpolicyagreementclick, 500, 500, 'Popup window', 'none', true); echo '</iframe>'; echo '</center>'; notice_yesno($strpolicyagree, "policy.php?agree=1&sesskey=$USER->sesskey", $CFG->wwwroot); print_footer(); ?>
Hide
Petr Škoda (skodak) added a comment -

workaround for both issues committed into cvs
thanks for cooperation!

Show
Petr Škoda (skodak) added a comment - workaround for both issues committed into cvs thanks for cooperation!
Hide
Ray Lawrence added a comment -

Not fixed here. In IE7 (don't have IE6 to test with at this location).

Policy displayed OK. Click on Yes to accept. Browser hangs. Script taing too long warning message, Click on "Yes" to cancel script. Acess is then allowed o site. Petr this is the same site that I sent you details of on Sunday.

Show
Ray Lawrence added a comment - Not fixed here. In IE7 (don't have IE6 to test with at this location). Policy displayed OK. Click on Yes to accept. Browser hangs. Script taing too long warning message, Click on "Yes" to cancel script. Acess is then allowed o site. Petr this is the same site that I sent you details of on Sunday.
Hide
Petr Škoda (skodak) added a comment -

I have committed a new workaround into ufo.js and reverted the previous one

Show
Petr Škoda (skodak) added a comment - I have committed a new workaround into ufo.js and reverted the previous one
Hide
Ray Lawrence added a comment -

Thanks. How long before this hits the anonymous cvs?

Show
Ray Lawrence added a comment - Thanks. How long before this hits the anonymous cvs?

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: