~ubuntu-branches/ubuntu/saucy/horde3/saucy

« back to all changes in this revision

Viewing changes to js/alphaImageLoader.php

  • Committer: Bazaar Package Importer
  • Author(s): Ola Lundqvist
  • Date: 2005-05-04 23:08:08 UTC
  • Revision ID: james.westby@ubuntu.com-20050504230808-p4hf3hk28o3v7wir
Tags: upstream-3.0.4
ImportĀ upstreamĀ versionĀ 3.0.4

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/**
 
3
 * $Horde: horde/js/alphaImageLoader.php,v 1.2.8.1 2005/01/03 12:25:39 jan Exp $
 
4
 *
 
5
 * Copyright 2004-2005 Charles J. Hagenbuch <chuck@horde.org>
 
6
 *
 
7
 * See the enclosed file COPYING for license information (LGPL). If you
 
8
 * did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
 
9
 */
 
10
 
 
11
@define('HORDE_BASE', dirname(__FILE__) . '/..');
 
12
require_once HORDE_BASE . '/lib/core.php';
 
13
 
 
14
$registry = &Registry::singleton(HORDE_SESSION_NONE);
 
15
 
 
16
/* This should be cached. */
 
17
$mod_gmt = gmdate('D, d M Y H:i:s', filemtime(__FILE__)) . ' GMT';
 
18
header('Last-Modified: ' . $mod_gmt);
 
19
header('Cache-Control: public, max-age=86400');
 
20
header('Content-Type: text/x-component');
 
21
 
 
22
?>
 
23
<public:component>
 
24
<public:attach event="onpropertychange" for="element" onEvent="propertyChanged()" />
 
25
<script language="JavaScript">
 
26
 
 
27
var needHack = needHack();
 
28
var transparentImage = "<?php echo $registry->getImageDir('horde') ?>/blank.gif";
 
29
 
 
30
pngHack();
 
31
 
 
32
function propertyChanged()
 
33
{
 
34
    if (event.propertyName == "src") {
 
35
        pngHack();
 
36
    }
 
37
}
 
38
 
 
39
function pngHack()
 
40
{
 
41
    if (!needHack) {
 
42
        return;
 
43
    }
 
44
 
 
45
    var w = element.width;
 
46
    var h = element.height;
 
47
    var src = element.src;
 
48
    if (src.indexOf(transparentImage) != -1) {
 
49
        // Already fixed.
 
50
        return;
 
51
    }
 
52
 
 
53
    if (src.indexOf("png") == -1) {
 
54
        element.runtimeStyle.filter = "";
 
55
        return;
 
56
    }
 
57
 
 
58
    element.src = transparentImage;
 
59
    element.width = w;
 
60
    element.height = h;
 
61
    element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";
 
62
}
 
63
 
 
64
function needHack()
 
65
{
 
66
    var pos = navigator.userAgent.indexOf("MSIE ");
 
67
    if (pos == -1) {
 
68
        return false;
 
69
    }
 
70
 
 
71
    var version = navigator.userAgent.substring(pos + 5);
 
72
 
 
73
    return (((version.indexOf("5.5") == 0) || (version.indexOf("6") == 0)) && (navigator.platform == ("Win32")));
 
74
}
 
75
 
 
76
</script>
 
77
</public:component>