sso rsa解码这块处理,因为php只能处理117个字节,所以要拆分开

cs_optimize_txz
guange 9 years ago
parent 5dff3556fb
commit 4b4a48b0c4

@ -55,10 +55,7 @@ class SsosController < ApplicationController
end
def parse(auth)
crypted_str = Base64.decode64(base64_safe(auth))
pkey = OpenSSL::PKey::RSA.new(File.new(File.join(Rails.root,"config/private.key")))
content = pkey.private_decrypt(crypted_str,OpenSSL::PKey::RSA::PKCS1_PADDING)
# content = pkey.private_decrypt(crypted_str)
content = decrypt(auth)
ActiveSupport::JSON.decode(content)
end
@ -68,4 +65,20 @@ class SsosController < ApplicationController
sso
end
def decrypt(auth)
crypted_str = Base64.decode64(base64_safe(auth))
pkey = OpenSSL::PKey::RSA.new(File.new(File.join(Rails.root,"config/private.key")))
#to large
max_dec_len = 1024/8
size = (crypted_str.size + max_dec_len-1) / max_dec_len
content = ''
size.times do |time|
tmps = crypted_str[time*max_dec_len, max_dec_len]
content += pkey.private_decrypt(tmps,OpenSSL::PKey::RSA::PKCS1_PADDING)
end
content
end
end

@ -1,3 +1,7 @@
#coding=utf-8
require 'base64'
class Sso < ActiveRecord::Base
belongs_to :user
attr_accessible :email, :name, :openid, :password, :school, :sex, :user, :user_id
@ -13,7 +17,7 @@ class Sso < ActiveRecord::Base
sso.openid = opt["openid"]
sso.email = opt["email"]
sso.password = opt["password"]
sso.school = opt["school"]
sso.school = Base64.decode64(opt["school"]).force_encoding('utf-8')
sso.sex = opt["sex"]

@ -1,4 +1,4 @@
dt.code_review {
background-image: url(../images/review.png);
dt.code_review {
background-image: url(../images/review.png);
}

@ -1,97 +1,97 @@
/*
# Code Review plugin for Redmine
# Copyright (C) 2009 Haruyuki Iida
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#review-form-frame {
height: 100%;
}
.autoscroll table.filecontent th.line-num {
white-space: nowrap;
vertical-align: bottom;
padding-top: 0;
padding-bottom: 0;
text-align:left;
}
table.filecontent th.line-num img{
padding: 0;
margin: 0;
cursor: pointer;
}
.code-review-form-title {
background-color: #002059;
color: white;
padding-left: 2px;
padding-right: 2px;
cursor: default;
}
.code_review_viewer {
min-width: 300px;
/*
max-width: 60%;
*/
/* max-height: 400px; */
}
.code_review_viewer .issue{
}
.code_review_body {
background-color: white;
padding:2px;
}
#code_review_list table.list td {
text-align: center;
}
#code_review_list table.list td.path {
text-align: left;
}
#code_review_list table.list td.subject {
text-align: left;
}
.icon-review {
background-image: url(../images/review.png);
background-repeat: no-repeat;
}
.icon-closed-review {
background-image: url(../images/closed_review.png);
background-repeat: no-repeat;
}
.icon-settings {
background-image: url(../../../images/changeset.png);
background-repeat: no-repeat;
}
li.code_review_summary {
list-style-type: none;
/*
# Code Review plugin for Redmine
# Copyright (C) 2009 Haruyuki Iida
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#review-form-frame {
height: 100%;
}
.autoscroll table.filecontent th.line-num {
white-space: nowrap;
vertical-align: bottom;
padding-top: 0;
padding-bottom: 0;
text-align:left;
}
table.filecontent th.line-num img{
padding: 0;
margin: 0;
cursor: pointer;
}
.code-review-form-title {
background-color: #002059;
color: white;
padding-left: 2px;
padding-right: 2px;
cursor: default;
}
.code_review_viewer {
min-width: 300px;
/*
max-width: 60%;
*/
/* max-height: 400px; */
}
.code_review_viewer .issue{
}
.code_review_body {
background-color: white;
padding:2px;
}
#code_review_list table.list td {
text-align: center;
}
#code_review_list table.list td.path {
text-align: left;
}
#code_review_list table.list td.subject {
text-align: left;
}
.icon-review {
background-image: url(../images/review.png);
background-repeat: no-repeat;
}
.icon-closed-review {
background-image: url(../images/closed_review.png);
background-repeat: no-repeat;
}
.icon-settings {
background-image: url(../../../images/changeset.png);
background-repeat: no-repeat;
}
li.code_review_summary {
list-style-type: none;
}

@ -1,19 +1,19 @@
Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright (c) 2006 Sébastien Gruhier (http://xilinus.com, http://itseb.com)
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@ -1,119 +1,119 @@
.overlay_alert {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.alert_nw {
width: 5px;
height: 5px;
background: transparent url(alert/top_left.gif) no-repeat bottom left;
}
.alert_n {
height: 5px;
background: transparent url(alert/top.gif) repeat-x bottom left;
}
.alert_ne {
width: 5px;
height: 5px;
background: transparent url(alert/top_right.gif) no-repeat bottom left
}
.alert_e {
width: 5px;
background: transparent url(alert/right.gif) repeat-y 0 0;
}
.alert_w {
width: 5px;
background: transparent url(alert/left.gif) repeat-y 0 0;
}
.alert_sw {
width: 5px;
height: 5px;
background: transparent url(alert/bottom_left.gif) no-repeat 0 0;
}
.alert_s {
height: 5px;
background: transparent url(alert/bottom.gif) repeat-x 0 0;
}
.alert_se, .alert_sizer {
width: 5px;
height: 5px;
background: transparent url(alert/bottom_right.gif) no-repeat 0 0;
}
.alert_close {
width:0px;
height:0px;
display:none;
}
.alert_minimize {
width:0px;
height:0px;
display:none;
}
.alert_maximize {
width:0px;
height:0px;
display:none;
}
.alert_title {
float:left;
height:1px;
width:100%;
}
.alert_content {
overflow:visible;
color: #000;
font-family: Tahoma, Arial, sans-serif;
font: 12px arial;
background: #FFF;
}
/* For alert/confirm dialog */
.alert_window {
background: #FFF;
padding:20px;
margin-left:auto;
margin-right:auto;
width:400px;
}
.alert_message {
font: 12px arial;
width:100%;
color:#F00;
padding-bottom:10px;
}
.alert_buttons {
text-align:center;
width:100%;
}
.alert_buttons input {
width:20%;
margin:10px;
}
.alert_progress {
float:left;
margin:auto;
text-align:center;
width:100%;
height:16px;
background: #FFF url('alert/progress.gif') no-repeat center center
}
.overlay_alert {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.alert_nw {
width: 5px;
height: 5px;
background: transparent url(alert/top_left.gif) no-repeat bottom left;
}
.alert_n {
height: 5px;
background: transparent url(alert/top.gif) repeat-x bottom left;
}
.alert_ne {
width: 5px;
height: 5px;
background: transparent url(alert/top_right.gif) no-repeat bottom left
}
.alert_e {
width: 5px;
background: transparent url(alert/right.gif) repeat-y 0 0;
}
.alert_w {
width: 5px;
background: transparent url(alert/left.gif) repeat-y 0 0;
}
.alert_sw {
width: 5px;
height: 5px;
background: transparent url(alert/bottom_left.gif) no-repeat 0 0;
}
.alert_s {
height: 5px;
background: transparent url(alert/bottom.gif) repeat-x 0 0;
}
.alert_se, .alert_sizer {
width: 5px;
height: 5px;
background: transparent url(alert/bottom_right.gif) no-repeat 0 0;
}
.alert_close {
width:0px;
height:0px;
display:none;
}
.alert_minimize {
width:0px;
height:0px;
display:none;
}
.alert_maximize {
width:0px;
height:0px;
display:none;
}
.alert_title {
float:left;
height:1px;
width:100%;
}
.alert_content {
overflow:visible;
color: #000;
font-family: Tahoma, Arial, sans-serif;
font: 12px arial;
background: #FFF;
}
/* For alert/confirm dialog */
.alert_window {
background: #FFF;
padding:20px;
margin-left:auto;
margin-right:auto;
width:400px;
}
.alert_message {
font: 12px arial;
width:100%;
color:#F00;
padding-bottom:10px;
}
.alert_buttons {
text-align:center;
width:100%;
}
.alert_buttons input {
width:20%;
margin:10px;
}
.alert_progress {
float:left;
margin:auto;
text-align:center;
width:100%;
height:16px;
background: #FFF url('alert/progress.gif') no-repeat center center
}

@ -1,88 +1,88 @@
.overlay_alert_lite {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.alert_lite_sizer {
width:0px;
height:0px;
display:none;
}
.alert_lite_close {
width:0px;
height:0px;
display:none;
}
.alert_lite_minimize {
width:0px;
height:0px;
display:none;
}
.alert_lite_maximize {
width:0px;
height:0px;
display:none;
}
.alert_lite_title {
width:0px;
height:0px;
display:none;
}
.alert_lite_content {
overflow:auto;
color: #000;
font-family: Tahoma, Arial, sans-serif;
font-size: 10px;
background: #FFF;
}
/* For alert/confirm dialog */
.alert_lite_window {
border:1px solid #F00;
background: #FFF;
padding:20px;
margin-left:auto;
margin-right:auto;
width:400px;
}
.alert_lite_message {
font-size:16px;
text-align:center;
width:100%;
color:#F00;
padding-bottom:10px;
}
.alert_lite_buttons {
text-align:center;
width:100%;
}
.alert_lite_buttons input {
width:20%;
margin:10px;
}
.alert_lite_progress {
float:left;
margin:auto;
text-align:center;
width:100%;
height:16px;
background: #FFF url('alert/progress.gif') no-repeat center center
}
table.alert_lite_header {
border:1px solid #F00;
background:#FFF
}
.overlay_alert_lite {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.alert_lite_sizer {
width:0px;
height:0px;
display:none;
}
.alert_lite_close {
width:0px;
height:0px;
display:none;
}
.alert_lite_minimize {
width:0px;
height:0px;
display:none;
}
.alert_lite_maximize {
width:0px;
height:0px;
display:none;
}
.alert_lite_title {
width:0px;
height:0px;
display:none;
}
.alert_lite_content {
overflow:auto;
color: #000;
font-family: Tahoma, Arial, sans-serif;
font-size: 10px;
background: #FFF;
}
/* For alert/confirm dialog */
.alert_lite_window {
border:1px solid #F00;
background: #FFF;
padding:20px;
margin-left:auto;
margin-right:auto;
width:400px;
}
.alert_lite_message {
font-size:16px;
text-align:center;
width:100%;
color:#F00;
padding-bottom:10px;
}
.alert_lite_buttons {
text-align:center;
width:100%;
}
.alert_lite_buttons input {
width:20%;
margin:10px;
}
.alert_lite_progress {
float:left;
margin:auto;
text-align:center;
width:100%;
height:16px;
background: #FFF url('alert/progress.gif') no-repeat center center
}
table.alert_lite_header {
border:1px solid #F00;
background:#FFF
}

@ -1,51 +1,51 @@
<public:component>
<public:attach event="onpropertychange" onevent="propertyChanged()" />
<script>
var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
var realSrc;
var blankSrc = "blank.gif";
if (supported) fixImage();
function propertyChanged() {
if (!supported) return;
var pName = event.propertyName;
if (pName != "src") return;
// if not set to blank
if ( ! new RegExp(blankSrc).test(src))
fixImage();
};
function fixImage() {
// get src
var src = element.src;
// check for real change
if (src == realSrc) {
element.src = blankSrc;
return;
}
if ( ! new RegExp(blankSrc).test(src)) {
// backup old src
realSrc = src;
}
// test for png
if ( /\.png$/.test( realSrc.toLowerCase() ) ) {
// set blank image
element.src = blankSrc;
// set filter
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
src + "',sizingMethod='scale')";
}
else {
// remove filter
element.runtimeStyle.filter = "";
}
}
</script>
<public:component>
<public:attach event="onpropertychange" onevent="propertyChanged()" />
<script>
var supported = /MSIE (5\.5)|[6789]/.test(navigator.userAgent) && navigator.platform == "Win32";
var realSrc;
var blankSrc = "blank.gif";
if (supported) fixImage();
function propertyChanged() {
if (!supported) return;
var pName = event.propertyName;
if (pName != "src") return;
// if not set to blank
if ( ! new RegExp(blankSrc).test(src))
fixImage();
};
function fixImage() {
// get src
var src = element.src;
// check for real change
if (src == realSrc) {
element.src = blankSrc;
return;
}
if ( ! new RegExp(blankSrc).test(src)) {
// backup old src
realSrc = src;
}
// test for png
if ( /\.png$/.test( realSrc.toLowerCase() ) ) {
// set blank image
element.src = blankSrc;
// set filter
element.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" +
src + "',sizingMethod='scale')";
}
else {
// remove filter
element.runtimeStyle.filter = "";
}
}
</script>
</public:component>

@ -1,121 +1,121 @@
.overlay_darkX {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.darkX_nw {
background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0;
width:6px;
height:21px;
}
.darkX_n {
background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0;
height:21px;
}
.darkX_ne {
background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0;
width:6px;
height:21px;
}
.darkX_w {
background: transparent url(darkX/frame-left-focused.png) repeat-y top left;
width:3px;
}
.darkX_e {
background: transparent url(darkX/frame-right-focused.png) repeat-y top right;
width:3px;
}
.darkX_sw {
background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0;
width:5px;
height:3px;
}
.darkX_s {
background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0;
height:3px;
}
.darkX_se, .darkX_sizer {
background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0;
width:5px;
height:3px;
}
.darkX_sizer {
cursor:se-resize;
}
.darkX_close {
width: 21px;
height: 21px;
background: transparent url(darkX/button-close-focused.png) no-repeat 0 0;
position:absolute;
top:0px;
right:5px;
cursor:pointer;
z-index:1000;
}
.darkX_minimize {
width: 21px;
height: 21px;
background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0;
position:absolute;
top:0px;
right:26px;
cursor:pointer;
z-index:1000;
}
.darkX_maximize {
width: 21px;
height: 21px;
background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0;
position:absolute;
top:0px;
right:47px;
cursor:pointer;
z-index:1000;
}
.darkX_title {
float:left;
height:14px;
font-size:12px;
text-align:center;
margin-top:2px;
width:100%;
color:#FFF;
}
.darkX_content {
overflow:auto;
color: #E6DF2A;
font-family: Tahoma, Arial, sans-serif;
font-size: 14px;
background:#5E5148;
}
/* FOR IE */
* html .darkX_minimize {
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop");
}
* html .darkX_maximize {
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale");
}
* html .darkX_close {
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop");
}
.overlay_darkX {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.darkX_nw {
background: transparent url(darkX/titlebar-left-focused.png) no-repeat 0 0;
width:6px;
height:21px;
}
.darkX_n {
background: transparent url(darkX/titlebar-mid-focused.png) repeat-x 0 0;
height:21px;
}
.darkX_ne {
background: transparent url(darkX/titlebar-right-focused.png) no-repeat 0 0;
width:6px;
height:21px;
}
.darkX_w {
background: transparent url(darkX/frame-left-focused.png) repeat-y top left;
width:3px;
}
.darkX_e {
background: transparent url(darkX/frame-right-focused.png) repeat-y top right;
width:3px;
}
.darkX_sw {
background: transparent url(darkX/frame-bottom-left-focused.png) no-repeat 0 0;
width:5px;
height:3px;
}
.darkX_s {
background: transparent url(darkX/frame-bottom-mid-focused.png) repeat-x 0 0;
height:3px;
}
.darkX_se, .darkX_sizer {
background: transparent url(darkX/frame-bottom-right-focused.png) no-repeat 0 0;
width:5px;
height:3px;
}
.darkX_sizer {
cursor:se-resize;
}
.darkX_close {
width: 21px;
height: 21px;
background: transparent url(darkX/button-close-focused.png) no-repeat 0 0;
position:absolute;
top:0px;
right:5px;
cursor:pointer;
z-index:1000;
}
.darkX_minimize {
width: 21px;
height: 21px;
background: transparent url(darkX/button-minimize-focused.png) no-repeat 0 0;
position:absolute;
top:0px;
right:26px;
cursor:pointer;
z-index:1000;
}
.darkX_maximize {
width: 21px;
height: 21px;
background: transparent url(darkX/button-maximize-focused.png) no-repeat 0 0;
position:absolute;
top:0px;
right:47px;
cursor:pointer;
z-index:1000;
}
.darkX_title {
float:left;
height:14px;
font-size:12px;
text-align:center;
margin-top:2px;
width:100%;
color:#FFF;
}
.darkX_content {
overflow:auto;
color: #E6DF2A;
font-family: Tahoma, Arial, sans-serif;
font-size: 14px;
background:#5E5148;
}
/* FOR IE */
* html .darkX_minimize {
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-minimize-focused.png", sizingMethod="crop");
}
* html .darkX_maximize {
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-maximize-focused.png", sizingMethod="scale");
}
* html .darkX_close {
background-color: transparent;
background-image: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="../themes/darkX/button-close-focused.png", sizingMethod="crop");
}

@ -1,25 +1,25 @@
div.inspector div.inspectable {
padding: 0.25em 0 0.25em 1em;
background-color: Gray;
color: white;
border: outset 2px white;
cursor: pointer;
}
div.inspector div.child {
margin: 0 0 0 1em;
}
#debug_window_content { /* DIV container for debug sizing*/
width:250px;
height:100px;
background-color:#000;
}
#debug { /* DIV container for debug contents*/
padding:3px;
color:#0f0;
font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
}
div.inspector div.inspectable {
padding: 0.25em 0 0.25em 1em;
background-color: Gray;
color: white;
border: outset 2px white;
cursor: pointer;
}
div.inspector div.child {
margin: 0 0 0 1em;
}
#debug_window_content { /* DIV container for debug sizing*/
width:250px;
height:100px;
background-color:#000;
}
#debug { /* DIV container for debug contents*/
padding:3px;
color:#0f0;
font-family:monaco, Tahoma, Verdana, Arial, Helvetica, sans-serif;
font-size:10px;
}

@ -1,3 +1,3 @@
/* PNG fix for all themes that uses PNG images on IE */
td, div { behavior: url(../themes/iefix/iepngfix.htc) }
/* PNG fix for all themes that uses PNG images on IE */
td, div { behavior: url(../themes/iefix/iepngfix.htc) }

@ -1,54 +1,54 @@
<public:component>
<public:attach event="onpropertychange" onevent="doFix()" />
<script type="text/javascript">
// IE5.5+ PNG Alpha Fix v1.0RC4
// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com
// This is licensed under the CC-GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
// Modified/Simplified on 04/23/2007 by Sebastien Gruhier (http://www.xilinus.com)
// To work only on background and to handle repeat bg
// This must be a path to a blank image. That's all the configuration you need.
if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
function filt(s, m)
{
if (filters[f])
{
filters[f].enabled = s ? true : false;
if (s) with (filters[f]) { src = s; sizingMethod = m }
}
else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
}
function doFix()
{
// Assume IE7 is OK.
if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
(event && !/(background|src)/.test(event.propertyName))) return;
var bgImg = currentStyle.backgroundImage || style.backgroundImage;
var bgRepeat = currentStyle.backgroundRepeat || style.backgroundRepeat;
if (bgImg && bgImg != 'none')
{
if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
{
var s = RegExp.$1;
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
style.backgroundImage = 'none';
filt(s, bgRepeat == "no-repeat" ? 'crop' : 'scale');
}
}
}
doFix();
</script>
<public:component>
<public:attach event="onpropertychange" onevent="doFix()" />
<script type="text/javascript">
// IE5.5+ PNG Alpha Fix v1.0RC4
// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com
// This is licensed under the CC-GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
// Modified/Simplified on 04/23/2007 by Sebastien Gruhier (http://www.xilinus.com)
// To work only on background and to handle repeat bg
// This must be a path to a blank image. That's all the configuration you need.
if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
function filt(s, m)
{
if (filters[f])
{
filters[f].enabled = s ? true : false;
if (s) with (filters[f]) { src = s; sizingMethod = m }
}
else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
}
function doFix()
{
// Assume IE7 is OK.
if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
(event && !/(background|src)/.test(event.propertyName))) return;
var bgImg = currentStyle.backgroundImage || style.backgroundImage;
var bgRepeat = currentStyle.backgroundRepeat || style.backgroundRepeat;
if (bgImg && bgImg != 'none')
{
if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
{
var s = RegExp.$1;
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
style.backgroundImage = 'none';
filt(s, bgRepeat == "no-repeat" ? 'crop' : 'scale');
}
}
}
doFix();
</script>
</public:component>

@ -1,67 +1,67 @@
<public:component>
<public:attach event="onpropertychange" onevent="doFix()" />
<script type="text/javascript">
// IE5.5+ PNG Alpha Fix v1.0RC4
// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com
// This is licensed under the CC-GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
// This must be a path to a blank image. That's all the configuration you need.
if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
function filt(s, m)
{
if (filters[f])
{
filters[f].enabled = s ? true : false;
if (s) with (filters[f]) { src = s; sizingMethod = m }
}
else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
}
function doFix()
{
alert('ok')
// Assume IE7 is OK.
if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
(event && !/(background|src)/.test(event.propertyName))) return;
var bgImg = currentStyle.backgroundImage || style.backgroundImage;
if (tagName == 'IMG')
{
if ((/\.png$/i).test(src))
{
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
filt(src, 'scale');
src = blankImg;
}
else if (src.indexOf(blankImg) < 0) filt();
}
else if (bgImg && bgImg != 'none')
{
if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
{
var s = RegExp.$1;
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
style.backgroundImage = 'none';
filt(s, 'crop');
// IE link fix.
for (var n = 0; n < childNodes.length; n++)
if (childNodes[n].style) childNodes[n].style.position = 'relative';
}
else filt();
}
}
doFix();
<public:component>
<public:attach event="onpropertychange" onevent="doFix()" />
<script type="text/javascript">
// IE5.5+ PNG Alpha Fix v1.0RC4
// (c) 2004-2005 Angus Turnbull http://www.twinhelix.com
// This is licensed under the CC-GNU LGPL, version 2.1 or later.
// For details, see: http://creativecommons.org/licenses/LGPL/2.1/
// This must be a path to a blank image. That's all the configuration you need.
if (typeof blankImg == 'undefined') var blankImg = 'blank.gif';
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
function filt(s, m)
{
if (filters[f])
{
filters[f].enabled = s ? true : false;
if (s) with (filters[f]) { src = s; sizingMethod = m }
}
else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
}
function doFix()
{
alert('ok')
// Assume IE7 is OK.
if (!/MSIE (5\.5|6\.)/.test(navigator.userAgent) ||
(event && !/(background|src)/.test(event.propertyName))) return;
var bgImg = currentStyle.backgroundImage || style.backgroundImage;
if (tagName == 'IMG')
{
if ((/\.png$/i).test(src))
{
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
filt(src, 'scale');
src = blankImg;
}
else if (src.indexOf(blankImg) < 0) filt();
}
else if (bgImg && bgImg != 'none')
{
if (bgImg.match(/^url[("']+(.*\.png)[)"']+$/i))
{
var s = RegExp.$1;
if (currentStyle.width == 'auto' && currentStyle.height == 'auto')
style.width = offsetWidth + 'px';
style.backgroundImage = 'none';
filt(s, 'crop');
// IE link fix.
for (var n = 0; n < childNodes.length; n++)
if (childNodes[n].style) childNodes[n].style.position = 'relative';
}
else filt();
}
}
doFix();

@ -1,108 +1,108 @@
.overlay_spread {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.spread_nw {
background: transparent url(spread/left-top.gif) no-repeat 0 0;
width:10px;
height:25px;
}
.spread_n {
background: transparent url(spread/top-middle.gif) repeat-x 0 0;
height:25px;
}
.spread_ne {
background: transparent url(spread/right-top.gif) no-repeat 0 0;
width:10px;
height:25px;
}
.spread_w {
background: transparent url(spread/frame-left.gif) repeat-y top left;
width:7px;
}
.spread_e {
background: transparent url(spread/frame-right.gif) repeat-y top right;
width:7px;
}
.spread_sw {
background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0;
width:7px;
height:7px;
}
.spread_s {
background: transparent url(spread/bottom-middle.gif) repeat-x 0 0;
height:7px;
}
.spread_se, .spread_sizer {
background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0;
width:7px;
height:7px;
}
.spread_sizer {
cursor:se-resize;
}
.spread_close {
width: 23px;
height: 23px;
background: transparent url(spread/button-close-focus.gif) no-repeat 0 0;
position:absolute;
top:0px;
right:11px;
cursor:pointer;
z-index:1000;
}
.spread_minimize {
width: 23px;
height: 23px;
background: transparent url(spread/button-min-focus.gif) no-repeat 0 0;
position:absolute;
top:0px;
right:55px;
cursor:pointer;
z-index:1000;
}
.spread_maximize {
width: 23px;
height: 23px;
background: transparent url(spread/button-max-focus.gif) no-repeat 0 0;
position:absolute;
top:0px;
right:33px;
cursor:pointer;
z-index:1000;
}
.spread_title {
float:left;
height:14px;
font-family: Tahoma, Arial, sans-serif;
font-size:14px;
font-weight:bold;
text-align:left;
margin-top:2px;
width:100%;
color:#E47211;
}
.spread_content {
overflow:auto;
color: #222;
font-family: Tahoma, Arial, sans-serif;
font-size: 10px;
background:#A9EA00;
}
.overlay_spread {
background-color: #85BBEF;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
.spread_nw {
background: transparent url(spread/left-top.gif) no-repeat 0 0;
width:10px;
height:25px;
}
.spread_n {
background: transparent url(spread/top-middle.gif) repeat-x 0 0;
height:25px;
}
.spread_ne {
background: transparent url(spread/right-top.gif) no-repeat 0 0;
width:10px;
height:25px;
}
.spread_w {
background: transparent url(spread/frame-left.gif) repeat-y top left;
width:7px;
}
.spread_e {
background: transparent url(spread/frame-right.gif) repeat-y top right;
width:7px;
}
.spread_sw {
background: transparent url(spread/bottom-left-c.gif) no-repeat 0 0;
width:7px;
height:7px;
}
.spread_s {
background: transparent url(spread/bottom-middle.gif) repeat-x 0 0;
height:7px;
}
.spread_se, .spread_sizer {
background: transparent url(spread/bottom-right-c.gif) no-repeat 0 0;
width:7px;
height:7px;
}
.spread_sizer {
cursor:se-resize;
}
.spread_close {
width: 23px;
height: 23px;
background: transparent url(spread/button-close-focus.gif) no-repeat 0 0;
position:absolute;
top:0px;
right:11px;
cursor:pointer;
z-index:1000;
}
.spread_minimize {
width: 23px;
height: 23px;
background: transparent url(spread/button-min-focus.gif) no-repeat 0 0;
position:absolute;
top:0px;
right:55px;
cursor:pointer;
z-index:1000;
}
.spread_maximize {
width: 23px;
height: 23px;
background: transparent url(spread/button-max-focus.gif) no-repeat 0 0;
position:absolute;
top:0px;
right:33px;
cursor:pointer;
z-index:1000;
}
.spread_title {
float:left;
height:14px;
font-family: Tahoma, Arial, sans-serif;
font-size:14px;
font-weight:bold;
text-align:left;
margin-top:2px;
width:100%;
color:#E47211;
}
.spread_content {
overflow:auto;
color: #222;
font-family: Tahoma, Arial, sans-serif;
font-size: 10px;
background:#A9EA00;
}

Loading…
Cancel
Save