From: Michael M Slusarz Date: Wed, 25 Feb 2009 04:37:57 +0000 (-0700) Subject: Fix selfUrl generation in Mime_Viewers X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=a402ae9c74de4913a5347b5c7074d6e248778f17;p=horde.git Fix selfUrl generation in Mime_Viewers --- diff --git a/imp/lib/IMP.php b/imp/lib/IMP.php index c4426c60b..3a2197bde 100644 --- a/imp/lib/IMP.php +++ b/imp/lib/IMP.php @@ -53,6 +53,9 @@ class IMP /* Are we currently in "print" mode? */ static public $printMode = false; + /* Storage place for an altered version of the current URL. */ + static public $newUrl = null; + /* displayFolder() cache. */ static private $_displaycache = array(); @@ -1986,7 +1989,7 @@ class IMP return $cache; } - /** + /** * Generate the JS code necessary to open a passphrase dialog. Adds the * necessary JS files to open the dialog. * @@ -2030,4 +2033,17 @@ class IMP return 'IMPDialog.display(\'' . IMP::escapeJSON($js_params) . '\')'; } + + /** + * Return a selfURL that has had index/mailbox/actionID information + * removed/altered based on an action that has occurred on the present + * page. + * + * @return string The self URL. + */ + static public function selfUrl() + { + return self::$newUrl ? self::$newUrl : Horde::selfUrl(true); + } + } diff --git a/imp/lib/Mime/Viewer/html.php b/imp/lib/Mime/Viewer/html.php index a3c852200..ebb72b12b 100644 --- a/imp/lib/Mime/Viewer/html.php +++ b/imp/lib/Mime/Viewer/html.php @@ -208,7 +208,7 @@ class IMP_Horde_Mime_Viewer_html extends Horde_Mime_Viewer_html preg_match($this->_img_regex, $data)) { /* Make sure the URL parameters are correct for the current * message. */ - $url = Util::removeParameter(Horde::selfUrl(true), array('actionID', 'index')); + $url = Util::removeParameter(IMP::selfUrl(), array('actionID', 'index')); $url = Util::addParameter($url, 'index', $this->_params['contents']->getIndex()); $view_img = Util::getFormData('view_html_images'); diff --git a/imp/lib/Mime/Viewer/images.php b/imp/lib/Mime/Viewer/images.php index 46c79e09b..8c6816a5a 100644 --- a/imp/lib/Mime/Viewer/images.php +++ b/imp/lib/Mime/Viewer/images.php @@ -163,7 +163,7 @@ class IMP_Horde_Mime_Viewer_images extends Horde_Mime_Viewer_images */ protected function _popupImageWindow() { - $self_url = Util::addParameter(Horde::selfUrl(true), array('imp_img_view' => ((Util::getFormData('imp_img_view') == 'load_convert') ? 'view_convert' : 'data'))); + $self_url = Util::addParameter(IMP::selfUrl(), array('imp_img_view' => ((Util::getFormData('imp_img_view') == 'load_convert') ? 'view_convert' : 'data'))); $title = $this->_mimepart->getName(true); $str = <<'; + $html .= '
'; } foreach ($components as $key => $component) { diff --git a/imp/lib/Mime/Viewer/pgp.php b/imp/lib/Mime/Viewer/pgp.php index 0d0d48ec6..1eb7ee591 100644 --- a/imp/lib/Mime/Viewer/pgp.php +++ b/imp/lib/Mime/Viewer/pgp.php @@ -349,7 +349,7 @@ class IMP_Horde_Mime_Viewer_pgp extends Horde_Mime_Viewer_Driver } else { switch ($_SESSION['imp']['view']) { case 'imp': - $status[] = Horde::link(Util::addParameter(Horde::selfUrl(true), array('pgp_verify_msg' => 1))) . _("Click HERE to verify the message.") . ''; + $status[] = Horde::link(Util::addParameter(IMP::selfUrl(), array('pgp_verify_msg' => 1))) . _("Click HERE to verify the message.") . ''; break; case 'dimp': diff --git a/imp/lib/Mime/Viewer/smime.php b/imp/lib/Mime/Viewer/smime.php index c47b9697f..7d27ee3f9 100644 --- a/imp/lib/Mime/Viewer/smime.php +++ b/imp/lib/Mime/Viewer/smime.php @@ -245,7 +245,7 @@ class IMP_Horde_Mime_Viewer_smime extends Horde_Mime_Viewer_Driver } else { switch ($_SESSION['imp']['view']) { case 'imp': - $status[] = Horde::link(Util::addParameter(Horde::selfUrl(true), 'smime_verify_msg', 1)) . _("Click HERE to verify the message.") . ''; + $status[] = Horde::link(Util::addParameter(IMP::selfUrl(), 'smime_verify_msg', 1)) . _("Click HERE to verify the message.") . ''; break; case 'dimp': diff --git a/imp/message.php b/imp/message.php index 55fded410..b24beb1af 100644 --- a/imp/message.php +++ b/imp/message.php @@ -361,7 +361,7 @@ ksort($full_headers); * stuff in the query string, so we need to do an add/remove of 'index'. */ $selfURL = Util::removeParameter(Horde::selfUrl(true), array('index', 'actionID', 'mailbox', 'thismailbox')); $selfURL = IMP::generateIMPUrl($selfURL, $imp_mbox['mailbox'], $index, $mailbox_name); -$selfURL = html_entity_decode(Util::addParameter($selfURL, 'message_token', $message_token)); +IMP::$newUrl = $selfURL = html_entity_decode(Util::addParameter($selfURL, 'message_token', $message_token)); $headersURL = htmlspecialchars(Util::removeParameter($selfURL, array('show_all_headers', 'show_list_headers'))); /* Generate previous/next links. */