From: Michael M Slusarz Date: Mon, 29 Jun 2009 05:38:20 +0000 (-0600) Subject: Move RFC 2397 image data generation to Horde:: X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=452fd517494dcd7450d32dc0b06f84bdc74ad0f3;p=horde.git Move RFC 2397 image data generation to Horde:: --- diff --git a/imp/compose-dimp.php b/imp/compose-dimp.php index 9d4f258a7..c96c0a7fb 100644 --- a/imp/compose-dimp.php +++ b/imp/compose-dimp.php @@ -308,7 +308,7 @@ if ($get_sig && !empty($sig)) { $t = new IMP_Template(IMP_TEMPLATES . '/imp/'); $t->setOption('gettext', true); $t->set('title', $title); -$t->set('closelink', IMP::img('close.png', 'X', array('id' => 'compose_close'), $registry->getImageDir('horde'))); +$t->set('closelink', Horde::img('close.png', 'X', array('id' => 'compose_close'), $registry->getImageDir('horde'))); $compose_result = IMP_Views_Compose::showCompose(array( 'folder' => $folder, diff --git a/imp/lib/IMP.php b/imp/lib/IMP.php index 7b6877dc5..b24750e51 100644 --- a/imp/lib/IMP.php +++ b/imp/lib/IMP.php @@ -1614,24 +1614,7 @@ class IMP */ public function stylesheetCallback($matches) { - return $matches[1] . IMP::base64ImgData($matches[2]) . $matches[3]; - } - - /** - * TODO - Move to Horde core - */ - public function base64ImgData($file) - { - /* Only encode image files if they are below 3,000 bytes. RFC 2397 - * only requires support of up to 1,024 characters (base64 encoded, - * not the size of the image). However, browsers that support data - * URLs generally support more. Opera seems to have the smallest - * allowance - 4100 characters - so use Opera as a limit. */ - $filename = realpath($GLOBALS['registry']->get('fileroot', 'horde')) . preg_replace('/^' . preg_quote($GLOBALS['registry']->get('webroot', 'horde'), '/') . '/', '', $file); - - return (filesize($filename) <= 3000) - ? 'data:image/' . substr($file, strrpos($file, '.') + 1) . ';base64,' . base64_encode(file_get_contents($filename)) - : $file; + return $matches[1] . Horde::base64ImgData($matches[2]) . $matches[3]; } /** @@ -1720,64 +1703,6 @@ class IMP } /** - * Constructs a correctly-pathed link to an image. - * TODO - Move to Horde core - * - * @param string $src The image file. - * @param string $alt Text describing the image. - * @param mixed $attr Any additional attributes for the image tag. Can - * be a pre-built string or an array of key/value - * pairs that will be assembled and html-encoded. - * @param string $dir The root graphics directory. - * - * @return string The full image tag. - */ - static public function img($src, $alt = '', $attr = '', $dir = null) - { - /* If browser does not support images, simply return the ALT text. */ - if (!$GLOBALS['browser']->hasFeature('images') || - !$GLOBALS['browser']->hasFeature('dataurl')) { - return Horde::img($src, $alt, $attr, $dir); - } - - /* If no directory has been specified, get it from the registry. */ - if (is_null($dir)) { - $dir = $GLOBALS['registry']->getImageDir(); - } - - /* If a directory has been provided, prepend it to the image source. */ - if (!empty($dir)) { - $src = $dir . '/' . $src; - } - - /* Build all of the tag attributes. */ - $attributes = array('alt' => $alt); - if (is_array($attr)) { - $attributes = array_merge($attributes, $attr); - } - if (empty($attributes['title'])) { - $attributes['title'] = ''; - } - - $img = ' $value) { - $img .= ' ' . $attribute . '="' . ($attribute == 'src' ? $value : htmlspecialchars($value, ENT_COMPAT, $charset)) . '"'; - } - error_reporting($old_error); - - /* If the user supplied a pre-built string of attributes, add that. */ - if (is_string($attr) && !empty($attr)) { - $img .= ' ' . $attr; - } - - /* Return the closed image tag. */ - return $img . ' src="' . IMP::base64ImgData($src) . '" />'; - } - - - /** * Do garbage collection in the statically served file directory. * * @param string $type Either 'css' or 'js'. diff --git a/imp/templates/chunks/message.php b/imp/templates/chunks/message.php index 1bbec47b1..8313d4e90 100644 --- a/imp/templates/chunks/message.php +++ b/imp/templates/chunks/message.php @@ -8,7 +8,7 @@ $horde_img = $registry->getImageDir('horde'); -$close_img = IMP::img('close.png', 'X', array(), $horde_img); +$close_img = Horde::img('close.png', 'X', array(), $horde_img); $menu_view = $prefs->getValue('menu_view'); $show_text = ($menu_view == 'text' || $menu_view == 'both'); @@ -58,7 +58,7 @@ function _createDAfmsg($text, $image, $id, $class = '', $show_text = true)
-
+
diff --git a/imp/templates/index/index-dimp.inc b/imp/templates/index/index-dimp.inc index fcf44c65f..5fa96ea07 100644 --- a/imp/templates/index/index-dimp.inc +++ b/imp/templates/index/index-dimp.inc @@ -40,8 +40,8 @@ function _simpleButton($id, $text, $image, $imagedir = null) . (strlen($id) ? ' id="' . $id . '"' : '') . (strlen($ak) ? ' accesskey="' . $ak . '"' : '') . '>' . ($imagedir - ? IMP::img($image, Horde::stripAccessKey($text), '', $imagedir) - : IMP::img($image, Horde::stripAccessKey($text))) + ? Horde::img($image, Horde::stripAccessKey($text), '', $imagedir) + : Horde::img($image, Horde::stripAccessKey($text))) . '' . Horde::highlightAccessKey($text, $ak) . ''; } @@ -179,7 +179,7 @@ function _simpleButton($id, $text, $image, $imagedir = null) - 'qsearch_close', 'style' => 'display:none', 'title' => _("Clear Search")), $hordeimg) ?> + 'qsearch_close', 'style' => 'display:none', 'title' => _("Clear Search")), $hordeimg) ?>
@@ -271,7 +271,7 @@ function _simpleButton($id, $text, $image, $imagedir = null)