From: nicolasconnault Date: Tue, 4 Aug 2009 09:09:06 +0000 (+0000) Subject: MDL-19756 Fixed regression in popup_form() X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=0affac4d651ccc6294770ea5853c0adfda8d6421;p=moodle.git MDL-19756 Fixed regression in popup_form() --- diff --git a/course/jumpto.php b/course/jumpto.php index ce4df789f0..3cea4f459d 100644 --- a/course/jumpto.php +++ b/course/jumpto.php @@ -15,11 +15,11 @@ } if (strpos($jump, $CFG->wwwroot) === 0) { // Anything on this site - redirect(urldecode($jump)); + redirect(new moodle_url(urldecode($jump))); } else if (preg_match('/^[a-z]+\.php\?/', $jump)) { - redirect(urldecode($jump)); + redirect(new moodle_url(urldecode($jump))); } - redirect($_SERVER['HTTP_REFERER']); // Return to sender, just in case + redirect(new moodle_url($_SERVER['HTTP_REFERER'])); // Return to sender, just in case ?> diff --git a/lib/deprecatedlib.php b/lib/deprecatedlib.php index a9c63aa4c6..0200a40f20 100644 --- a/lib/deprecatedlib.php +++ b/lib/deprecatedlib.php @@ -3339,22 +3339,22 @@ function popup_form($baseurl, $options, $formid, $selected='', $nothing='choose' // debugging('popup_form() has been deprecated. Please change your code to use $OUTPUT->select($dateselector).'); - if (!empty($optionsextra)) { - debugging('the optionsextra param has been deprecated in popup_form, it will be ignored.', DEBUG_DEVELOPER); - } - if (empty($options)) { return ''; } - $select = moodle_select::make_popup_form($baseurl, $options, $formid, $submitvalue, $selected); - $select->disabled = $disabled; - // Extract the last param of the baseurl for the name of the select - if (preg_match('/([a-z_]*)=$/', $baseurl, $matches)) { - $select->name = $matches[1]; - $select->form->url->remove_params(array($matches[1])); + foreach ($options as $var => $val) { + $url = new moodle_url($baseurl . $var); + if (!empty($optionsextra[$var])) { + new moodle_url($baseurl . $var . $optionsextra[$var]); + } + $options[$url->out(false, array(), false)] = $val; + unset($options[$var]); } + $select = moodle_select::make_popup_form($options, $formid, $submitvalue, $selected); + $select->disabled = $disabled; + if ($nothing == 'choose') { $select->nothinglabel = ''; } else { diff --git a/lib/outputlib.php b/lib/outputlib.php index 4a342f969b..d2f9f5c06c 100644 --- a/lib/outputlib.php +++ b/lib/outputlib.php @@ -2684,12 +2684,15 @@ class moodle_core_renderer extends moodle_renderer_base { $this->prepare_event_handlers($image); $attributes = array('class' => $image->get_classes_string(), - 'style' => $this->prepare_legacy_width_and_height($image), 'src' => prepare_url($image->src), 'alt' => $image->alt, + 'style' => $image->style, 'title' => $image->title, 'id' => $image->id); - + + if (!empty($image->height) || !empty($image->width)) { + $attributes['style'] .= $this->prepare_legacy_width_and_height($image); + } return $this->output_empty_tag('img', $attributes); } @@ -3417,6 +3420,10 @@ class moodle_html_component { * @var string $alt value to use for the alt attribute of this HTML tag. */ public $alt = ''; + /** + * @var string $style value to use for the style attribute of this HTML tag. + */ + public $style = ''; /** * @var array class names to add to this HTML element. */ @@ -3755,6 +3762,7 @@ class moodle_select extends moodle_html_component { } else { $inoptgroup = false; $optgroup = false; + foreach ($options as $value => $display) { if ($display == '--') { /// we are ending previous optgroup $this->options[] = $optgroup; @@ -3813,7 +3821,6 @@ class moodle_select extends moodle_html_component { $this->options[] = $optgroup; } } - parent::prepare(); } @@ -3915,13 +3922,14 @@ class moodle_select extends moodle_html_component { * @param string $selected The option that is initially selected * @return moodle_select A menu initialised as a popup form. */ - public function make_popup_form($baseurl, $options, $formid, $submitvalue='', $selected=null) { + public function make_popup_form($options, $formid, $submitvalue='', $selected=null) { + global $CFG; $select = self::make($options, 'jump', $selected); $select->form = new html_form(); $select->form->id = $formid; $select->form->method = 'get'; $select->form->add_class('popupform'); - $select->form->url = new moodle_url($baseurl); + $select->form->url = new moodle_url($CFG->wwwroot . '/course/jumpto.php', array('sesskey' => sesskey())); $select->form->button->text = get_string('go'); if (!empty($submitvalue)) { @@ -3929,7 +3937,6 @@ class moodle_select extends moodle_html_component { } $select->id = $formid . '_jump'; - $select->baseurl = $baseurl; $select->add_action('change', 'submit_form_by_id', array('id' => $formid, 'selectid' => $select->id));