Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
J
jumpserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
jumpserver
Commits
09d3763a
Commit
09d3763a
authored
Apr 20, 2015
by
ibuler
Browse files
Options
Browse Files
Download
Plain Diff
fix a bug
parents
412dadce
ea37374e
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
234 additions
and
0 deletions
+234
-0
connect.py
connect.py
+4
-0
AddUserAsset.py
docs/AddUserAsset.py
+18
-0
install.py
docs/install.py
+4
-0
requirements.txt
docs/requirements.txt
+11
-0
settings.py
jumpserver/settings.py
+4
-0
log_handler.py
log_handler.py
+4
-0
layer.ext.js
static/js/layer/extend/layer.ext.js
+15
-0
layer.min.js
static/js/layer/layer.min.js
+19
-0
layer.css
static/js/layer/skin/layer.css
+86
-0
layer.ext.css
static/js/layer/skin/layer.ext.css
+48
-0
log_offline.html
templates/jlog/log_offline.html
+13
-0
log_online.html
templates/jlog/log_online.html
+8
-0
No files found.
connect.py
View file @
09d3763a
...
...
@@ -24,7 +24,11 @@ from multiprocessing import Pool
os
.
environ
[
'DJANGO_SETTINGS_MODULE'
]
=
'jumpserver.settings'
<<<<<<<
HEAD
django
.
setup
()
=======
#django.setup()
>>>>>>>
beta
from
juser.models
import
User
from
jlog.models
import
Log
...
...
docs/AddUserAsset.py
View file @
09d3763a
...
...
@@ -7,7 +7,11 @@ import datetime
sys
.
path
.
append
(
'../'
)
os
.
environ
[
'DJANGO_SETTINGS_MODULE'
]
=
'jumpserver.settings'
<<<<<<<
HEAD
django
.
setup
()
=======
#django.setup()
>>>>>>>
beta
from
juser.views
import
db_add_user
,
md5_crypt
,
CRYPTOR
,
db_add_group
...
...
@@ -99,7 +103,11 @@ def test_add_asset():
bis_group_all
=
BisGroup
.
objects
.
all
()
dept_all
=
DEPT
.
objects
.
all
()
for
i
in
range
(
1
,
500
):
<<<<<<<
HEAD
ip
=
'192.168.1.'
+
str
(
i
)
=======
ip
=
'192.168.5.'
+
str
(
i
)
>>>>>>>
beta
asset
=
Asset
(
ip
=
ip
,
port
=
22
,
login_type
=
'L'
,
idc
=
test_idc
,
is_active
=
True
,
comment
=
'test'
)
asset
.
save
()
asset
.
bis_group
=
[
random
.
choice
(
bis_group_all
)
for
i
in
range
(
2
)]
...
...
@@ -128,6 +136,7 @@ def test_add_log():
if
__name__
==
'__main__'
:
#install()
<<<<<<<
HEAD
test_add_dept
()
test_add_group
()
test_add_user
()
...
...
@@ -135,6 +144,15 @@ if __name__ == '__main__':
test_add_asset_group
()
test_add_asset
()
test_add_log
()
=======
#test_add_dept()
#test_add_group()
#test_add_user()
#test_add_idc()
#test_add_asset_group()
test_add_asset
()
#test_add_log()
>>>>>>>
beta
...
...
docs/install.py
View file @
09d3763a
...
...
@@ -7,7 +7,11 @@ import datetime
sys
.
path
.
append
(
'../'
)
os
.
environ
[
'DJANGO_SETTINGS_MODULE'
]
=
'jumpserver.settings'
<<<<<<<
HEAD
django
.
setup
()
=======
#django.setup()
>>>>>>>
beta
from
juser.views
import
db_add_user
,
md5_crypt
,
CRYPTOR
,
db_add_group
...
...
docs/requirements.txt
0 → 100644
View file @
09d3763a
sphinx-me
django==1.6
python-ldap
paramiko
pycrypto
ecdsa>=0.11
MySQL-python
readline
django-uuidfield
psutil
\ No newline at end of file
jumpserver/settings.py
View file @
09d3763a
...
...
@@ -66,7 +66,11 @@ MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware'
,
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware'
,
<<<<<<<
HEAD
'django.contrib.auth.middleware.SessionAuthenticationMiddleware'
,
=======
#'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
>>>>>>>
beta
'django.contrib.messages.middleware.MessageMiddleware'
,
'django.middleware.clickjacking.XFrameOptionsMiddleware'
,
)
...
...
log_handler.py
View file @
09d3763a
...
...
@@ -10,7 +10,11 @@ from datetime import datetime
os
.
environ
[
'DJANGO_SETTINGS_MODULE'
]
=
'jumpserver.settings'
import
django
<<<<<<<
HEAD
django
.
setup
()
=======
#django.setup()
>>>>>>>
beta
from
jlog.models
import
Log
...
...
static/js/layer/extend/layer.ext.js
View file @
09d3763a
<<<<<<<
HEAD
/**
@Name: layer拓展类,依赖于layer
...
...
@@ -9,4 +10,17 @@
*/
=======
/**
@Name: layer拓展类,依赖于layer
@Date: 2014.08.13
@Author: 贤心
@Versions:1.8.5-ext
@Api:http://sentsin.com/jquery/layer
@Desc: 本拓展会持续更新
*/
>>>>>>>
beta
layer
.
use
(
"skin/layer.ext.css"
,
function
(){
layer
.
ext
&&
layer
.
ext
()}),
layer
.
prompt
=
function
(
a
,
b
,
c
){
var
d
=
{},
a
=
a
||
{},
e
=
{
area
:[
"auto"
,
"auto"
],
offset
:[
a
.
top
||
""
,
""
],
title
:
a
.
title
||
"信息"
,
dialog
:{
btns
:
2
,
type
:
-
1
,
msg
:
'<input type="'
+
function
(){
return
1
===
a
.
type
?
"password"
:
2
===
a
.
type
?
"file"
:
"text"
}()
+
'" class="xubox_prompt xubox_form" id="xubox_prompt" value="'
+
(
a
.
val
||
""
)
+
'" />'
,
yes
:
function
(
c
){
var
e
=
d
.
prompt
.
val
();
""
===
e
?
d
.
prompt
.
focus
():
e
.
replace
(
/
\s
/g
,
""
).
length
>
(
a
.
length
||
1
e3
)?
layer
.
tips
(
"最多输入"
+
(
a
.
length
||
1
e3
)
+
"个字数"
,
"#xubox_prompt"
,
2
):
b
&&
b
(
e
,
c
,
d
.
prompt
)},
no
:
c
},
success
:
function
(){
d
.
prompt
=
$
(
"#xubox_prompt"
),
d
.
prompt
.
focus
()}};
return
3
===
a
.
type
&&
(
e
.
dialog
.
msg
=
'<textarea class="xubox_prompt xubox_form xubox_formArea" id="xubox_prompt">'
+
(
a
.
val
||
""
)
+
"</textarea>"
),
$
.
layer
(
e
)},
layer
.
tab
=
function
(
a
){
var
a
=
a
||
{},
c
=
a
.
data
||
[],
d
=
{
type
:
1
,
border
:[
0
],
area
:[
"auto"
,
"auto"
],
bgcolor
:
""
,
title
:
!
1
,
shade
:
a
.
shade
,
offset
:
a
.
offset
,
move
:
".xubox_tabmove"
,
closeBtn
:
!
1
,
page
:{
html
:
'<div class="xubox_tab" style="'
+
function
(){
return
a
.
area
=
a
.
area
||
[],
"width:"
+
(
a
.
area
[
0
]
||
"500px"
)
+
"; height:"
+
(
a
.
area
[
1
]
||
"300px"
)
+
'">'
}()
+
'<span class="xubox_tabmove"></span>'
+
'<div class="xubox_tabtit">'
+
function
(){
var
a
=
c
.
length
,
b
=
1
,
d
=
""
;
if
(
a
>
0
)
for
(
d
=
'<span class="xubox_tabnow">'
+
c
[
0
].
title
+
"</span>"
;
a
>
b
;
b
++
)
d
+=
"<span>"
+
c
[
b
].
title
+
"</span>"
;
return
d
}()
+
"</div>"
+
'<ul class="xubox_tab_main">'
+
function
(){
var
a
=
c
.
length
,
b
=
1
,
d
=
""
;
if
(
a
>
0
)
for
(
d
=
'<li class="xubox_tabli xubox_tab_layer">'
+
(
c
[
0
].
content
||
"content未传入"
)
+
"</li>"
;
a
>
b
;
b
++
)
d
+=
'<li class="xubox_tabli">'
+
(
c
[
b
].
content
||
"content未传入"
)
+
"</li>"
;
return
d
}()
+
"</ul>"
+
'<span class="xubox_tabclose" title="关闭">X</span>'
+
"</div>"
},
success
:
function
(
a
){
var
b
=
$
(
".xubox_tabtit"
).
children
(),
c
=
$
(
".xubox_tab_main"
).
children
(),
d
=
$
(
".xubox_tabclose"
);
b
.
on
(
"click"
,
function
(){
var
a
=
$
(
this
),
b
=
a
.
index
();
a
.
addClass
(
"xubox_tabnow"
).
siblings
().
removeClass
(
"xubox_tabnow"
),
c
.
eq
(
b
).
show
().
siblings
().
hide
()}),
d
.
on
(
"click"
,
function
(){
layer
.
close
(
a
.
attr
(
"times"
))})}};
return
$
.
layer
(
d
)},
layer
.
photos
=
function
(
a
){
var
b
,
c
,
d
,
e
,
f
,
g
,
h
,
i
;
if
(
a
=
a
||
{},
b
=
{
imgIndex
:
1
,
end
:
null
,
html
:
$
(
"html"
)},
c
=
$
(
window
),
d
=
a
.
json
,
e
=
a
.
page
,
d
){
if
(
f
=
d
.
data
,
1
!==
d
.
status
)
return
layer
.
msg
(
"未请求到数据"
,
2
,
8
),
void
0
;
if
(
b
.
imgLen
=
f
.
length
,
!
(
f
.
length
>
0
))
return
layer
.
msg
(
"没有任何图片"
,
2
,
8
),
void
0
;
b
.
thissrc
=
f
[
d
.
start
].
src
,
b
.
pid
=
f
[
d
.
start
].
pid
,
b
.
imgsname
=
d
.
title
||
""
,
b
.
name
=
f
[
d
.
start
].
name
,
b
.
imgIndex
=
d
.
start
+
1
}
else
g
=
$
(
e
.
parent
).
find
(
"img"
),
h
=
g
.
eq
(
e
.
start
),
b
.
thissrc
=
h
.
attr
(
"layer-img"
)
||
h
.
attr
(
"src"
),
b
.
pid
=
h
.
attr
(
"pid"
),
b
.
imgLen
=
g
.
length
,
b
.
imgsname
=
e
.
title
||
""
,
b
.
name
=
h
.
attr
(
"alt"
),
b
.
imgIndex
=
e
.
start
+
1
;
return
i
=
{
type
:
1
,
border
:[
0
],
area
:[(
a
.
html
?
915
:
600
)
+
"px"
,
"auto"
],
title
:
!
1
,
shade
:[.
9
,
"#000"
,
!
0
],
shadeClose
:
!
0
,
offset
:[
"25px"
,
""
],
bgcolor
:
""
,
page
:{
html
:
'<div class="xubox_bigimg"><img src="'
+
b
.
thissrc
+
'" alt="'
+
(
b
.
name
||
""
)
+
'" layer-pid="'
+
(
b
.
pid
||
""
)
+
'"><div class="xubox_imgsee">'
+
function
(){
return
b
.
imgLen
>
1
?
'<a href="" class="xubox_iconext xubox_prev"></a><a href="" class="xubox_iconext xubox_next"></a>'
:
""
}()
+
'<div class="xubox_imgbar"><span class="xubox_imgtit"><a href="javascript:;">'
+
b
.
imgsname
+
" </a><em>"
+
b
.
imgIndex
+
"/"
+
b
.
imgLen
+
"</em></span></div></div></div>"
+
function
(){
return
a
.
html
?
'<div class="xubox_intro">'
+
a
.
html
+
"</div>"
:
""
}()},
success
:
function
(
a
){
b
.
bigimg
=
a
.
find
(
".xubox_bigimg"
),
b
.
imgsee
=
b
.
bigimg
.
find
(
".xubox_imgsee"
),
b
.
imgbar
=
b
.
imgsee
.
find
(
".xubox_imgbar"
),
b
.
imgtit
=
b
.
imgbar
.
find
(
".xubox_imgtit"
),
b
.
layero
=
a
;
var
c
=
b
.
imgs
=
b
.
bigimg
.
find
(
"img"
);
clearTimeout
(
b
.
timerr
),
b
.
timerr
=
setTimeout
(
function
(){
$
(
"html"
).
css
(
"overflow"
,
"hidden"
).
attr
(
"layer-full"
,
b
.
index
)},
10
),
c
.
load
(
function
(){
b
.
imgarea
=
[
c
.
outerWidth
(),
c
.
outerHeight
()],
b
.
resize
(
a
)}),
b
.
event
()},
end
:
function
(){
layer
.
closeAll
(),
b
.
end
=!
0
}},
b
.
event
=
function
(){
b
.
bigimg
.
hover
(
function
(){
b
.
imgsee
.
show
()},
function
(){
b
.
imgsee
.
hide
()}),
i
.
imgprev
=
function
(){
b
.
imgIndex
--
,
b
.
imgIndex
<
1
&&
(
b
.
imgIndex
=
b
.
imgLen
),
b
.
tabimg
()},
b
.
bigimg
.
find
(
".xubox_prev"
).
on
(
"click"
,
function
(
a
){
a
.
preventDefault
(),
i
.
imgprev
()}),
i
.
imgnext
=
function
(){
b
.
imgIndex
++
,
b
.
imgIndex
>
b
.
imgLen
&&
(
b
.
imgIndex
=
1
),
b
.
tabimg
()},
b
.
bigimg
.
find
(
".xubox_next"
).
on
(
"click"
,
function
(
a
){
a
.
preventDefault
(),
i
.
imgnext
()}),
$
(
document
).
keyup
(
function
(
a
){
if
(
!
b
.
end
){
var
c
=
a
.
keyCode
;
a
.
preventDefault
(),
37
===
c
?
i
.
imgprev
():
39
===
c
?
i
.
imgnext
():
27
===
c
&&
layer
.
close
(
b
.
index
)}}),
b
.
tabimg
=
function
(){
var
e
,
h
,
i
,
j
,
k
;
b
.
imgs
.
removeAttr
(
"style"
),
d
?(
j
=
f
[
b
.
imgIndex
-
1
],
e
=
j
.
src
,
h
=
j
.
pid
,
i
=
j
.
name
):(
k
=
g
.
eq
(
b
.
imgIndex
-
1
),
e
=
k
.
attr
(
"layer-img"
)
||
k
.
attr
(
"src"
),
h
=
k
.
attr
(
"layer-pid"
)
||
""
,
i
=
k
.
attr
(
"alt"
)
||
""
),
b
.
imgs
.
attr
({
src
:
e
,
"layer-pid"
:
h
,
alt
:
i
}),
b
.
imgtit
.
find
(
"em"
).
text
(
b
.
imgIndex
+
"/"
+
b
.
imgLen
),
b
.
imgsee
.
show
(),
a
.
tab
&&
a
.
tab
({
pid
:
h
,
name
:
i
})}},
b
.
resize
=
function
(
d
){
var
g
,
e
=
{},
f
=
[
c
.
width
(),
c
.
height
()];
e
.
limit
=
f
[
0
]
-
f
[
0
]
/
f
[
1
]
*
(
60
*
f
[
0
]
/
f
[
1
]),
e
.
limit
<
600
&&
(
e
.
limit
=
600
),
g
=
[
e
.
limit
,
f
[
1
]
>
400
?
f
[
1
]
-
50
:
400
],
g
[
0
]
=
a
.
html
?
g
[
0
]:
g
[
0
]
-
300
,
layer
.
area
(
b
.
index
,{
width
:
g
[
0
]
+
(
a
.
html
?
15
:
0
),
height
:
g
[
1
]}),
e
.
flwidth
=
g
[
0
]
-
(
a
.
html
?
300
:
0
),
b
.
imgarea
[
0
]
>
e
.
flwidth
?
b
.
imgs
.
css
({
width
:
e
.
flwidth
}):
b
.
imgs
.
css
({
width
:
b
.
imgarea
[
0
]}),
b
.
imgs
.
outerHeight
()
<
g
[
1
]
&&
b
.
imgs
.
css
({
top
:(
g
[
1
]
-
b
.
imgs
.
outerHeight
())
/
2
}),
b
.
imgs
.
css
({
visibility
:
"visible"
}),
b
.
bigimg
.
css
({
width
:
e
.
flwidth
,
height
:
g
[
1
],
"background-color"
:
a
.
bgcolor
}),
a
.
html
&&
d
.
find
(
".xubox_intro"
).
css
({
height
:
g
[
1
]}),
e
=
null
,
f
=
null
,
g
=
null
},
c
.
on
(
"resize"
,
function
(){
b
.
end
||
(
b
.
timer
&&
clearTimeout
(
b
.
timer
),
b
.
timer
=
setTimeout
(
function
(){
b
.
resize
(
b
.
layero
)},
200
))}),
b
.
index
=
$
.
layer
(
i
),
b
.
index
},
layer
.
photosPage
=
function
(
a
){
var
b
=
{};
b
.
run
=
function
(
b
){
layer
.
photos
({
html
:
a
.
html
,
success
:
a
.
success
,
page
:{
title
:
a
.
title
,
id
:
a
.
id
,
start
:
b
,
parent
:
a
.
parent
}})},
a
=
a
||
{},
$
(
a
.
parent
).
find
(
"img"
).
each
(
function
(
a
){
$
(
this
).
on
(
"click"
,
function
(){
b
.
run
(
a
)})})};
\ No newline at end of file
static/js/layer/layer.min.js
View file @
09d3763a
<<<<<<<
HEAD
/****************************************
@Name:layer v1.8.5 弹层组件压缩版
...
...
@@ -13,4 +14,21 @@
"use strict"
;
var
c
,
d
,
e
=
""
,
//组件存放目录,为空表示自动获取
=======
/****************************************
@Name:layer v1.8.5 弹层组件压缩版
@Author:贤心
@Date:2014-08-13
@Blog:http://sentsin.com
@Copyright:Sentsin Xu(贤心)
@官网:http://sentsin.com/jquery/layer
*/
;
!
function
(
a
,
b
){
"use strict"
;
var
c
,
d
,
e
=
""
,
//组件存放目录,为空表示自动获取
>>>>>>>
beta
f
=
{
getPath
:
function
(){
var
a
=
document
.
scripts
,
b
=
a
[
a
.
length
-
1
].
src
;
return
e
?
e
:
b
.
substring
(
0
,
b
.
lastIndexOf
(
"/"
)
+
1
)},
type
:[
"dialog"
,
"page"
,
"iframe"
,
"loading"
,
"tips"
]};
a
.
layer
=
{
v
:
"1.8.5"
,
ie6
:
!!
a
.
ActiveXObject
&&!
a
.
XMLHttpRequest
,
index
:
0
,
path
:
f
.
getPath
(),
use
:
function
(
a
,
b
){
var
d
=
c
(
"head"
)[
0
],
a
=
a
.
replace
(
/
\s
/g
,
""
),
e
=
/
\.
css$/
.
test
(
a
),
f
=
document
.
createElement
(
e
?
"link"
:
"script"
),
g
=
a
.
replace
(
/
\.
|
\/
/g
,
""
);
e
&&
(
f
.
type
=
"text/css"
,
f
.
rel
=
"stylesheet"
),
f
[
e
?
"href"
:
"src"
]
=
/^http:
\/\/
/
.
test
(
a
)?
a
:
layer
.
path
+
a
,
f
.
id
=
g
,
c
(
"#"
+
g
)[
0
]
||
d
.
appendChild
(
f
),
b
&&
(
document
.
all
?
c
(
f
).
ready
(
b
):
c
(
f
).
load
(
b
))},
alert
:
function
(
a
,
b
,
d
,
e
){
var
f
=
"function"
==
typeof
d
,
g
=
{
dialog
:{
msg
:
a
,
type
:
b
,
yes
:
f
?
d
:
e
},
area
:[
"auto"
,
"auto"
]};
return
f
||
(
g
.
title
=
d
),
c
.
layer
(
g
)},
confirm
:
function
(
a
,
b
,
d
,
e
){
var
f
=
"function"
==
typeof
d
,
g
=
{
dialog
:{
msg
:
a
,
type
:
4
,
btns
:
2
,
yes
:
b
,
no
:
f
?
d
:
e
}};
return
f
||
(
g
.
title
=
d
),
c
.
layer
(
g
)},
msg
:
function
(
a
,
d
,
e
,
f
){
var
g
=
{
title
:
!
1
,
closeBtn
:
!
1
,
time
:
d
===
b
?
2
:
d
,
dialog
:{
msg
:
""
===
a
||
a
===
b
?
" "
:
a
},
end
:
f
};
return
"object"
==
typeof
e
?(
g
.
dialog
.
type
=
e
.
type
,
g
.
shade
=
e
.
shade
,
g
.
shift
=
e
.
rate
):
"function"
==
typeof
e
?
g
.
end
=
e
:
g
.
dialog
.
type
=
e
,
c
.
layer
(
g
)},
load
:
function
(
a
,
b
){
return
"string"
==
typeof
a
?
layer
.
msg
(
a
,
b
||
0
,
16
):
c
.
layer
({
time
:
a
,
loading
:{
type
:
b
},
bgcolor
:
b
?
"#fff"
:
""
,
shade
:
b
?[.
1
,
"#000"
]:[
0
],
border
:
3
!==
b
&&
b
?[
6
,.
3
,
"#000"
]:[
0
],
type
:
3
,
title
:[
""
,
!
1
],
closeBtn
:[
0
,
!
1
]})},
tips
:
function
(
a
,
b
,
d
,
e
,
f
,
g
){
var
h
=
{
type
:
4
,
shade
:
!
1
,
success
:
function
(
a
){
this
.
closeBtn
||
a
.
find
(
".xubox_tips"
).
css
({
"padding-right"
:
10
})},
bgcolor
:
""
,
tips
:{
msg
:
a
,
follow
:
b
}};
return
h
.
time
=
"object"
==
typeof
d
?
d
.
time
:
0
|
d
,
d
=
d
||
{},
h
.
closeBtn
=
d
.
closeBtn
||!
1
,
h
.
maxWidth
=
d
.
maxWidth
||
e
,
h
.
tips
.
guide
=
d
.
guide
||
f
,
h
.
tips
.
style
=
d
.
style
||
g
,
h
.
tips
.
more
=
d
.
more
,
c
.
layer
(
h
)}};
var
g
=
[
"xubox_layer"
,
"xubox_iframe"
,
".xubox_title"
,
".xubox_text"
,
".xubox_page"
,
".xubox_main"
],
h
=
function
(
a
){
var
b
=
this
,
d
=
b
.
config
;
layer
.
index
++
,
b
.
index
=
layer
.
index
,
b
.
config
=
c
.
extend
({},
d
,
a
),
b
.
config
.
dialog
=
c
.
extend
({},
d
.
dialog
,
a
.
dialog
),
b
.
config
.
page
=
c
.
extend
({},
d
.
page
,
a
.
page
),
b
.
config
.
iframe
=
c
.
extend
({},
d
.
iframe
,
a
.
iframe
),
b
.
config
.
loading
=
c
.
extend
({},
d
.
loading
,
a
.
loading
),
b
.
config
.
tips
=
c
.
extend
({},
d
.
tips
,
a
.
tips
),
b
.
creat
()};
h
.
pt
=
h
.
prototype
,
h
.
pt
.
config
=
{
type
:
0
,
shade
:[.
3
,
"#000"
],
fix
:
!
0
,
move
:
".xubox_title"
,
title
:
"信息"
,
offset
:[
""
,
"50%"
],
area
:[
"310px"
,
"auto"
],
closeBtn
:[
0
,
!
0
],
time
:
0
,
bgcolor
:
"#fff"
,
border
:[
6
,.
3
,
"#000"
],
zIndex
:
19891014
,
maxWidth
:
400
,
dialog
:{
btns
:
1
,
btn
:[
"确定"
,
"取消"
],
type
:
8
,
msg
:
""
,
yes
:
function
(
a
){
layer
.
close
(
a
)},
no
:
function
(
a
){
layer
.
close
(
a
)}},
page
:{
dom
:
"#xulayer"
,
html
:
""
,
url
:
""
},
iframe
:{
src
:
"http://sentsin.com"
,
scrolling
:
"auto"
},
loading
:{
type
:
0
},
tips
:{
msg
:
""
,
follow
:
""
,
guide
:
0
,
isGuide
:
!
0
,
style
:[
"background-color:#FF9900; color:#fff;"
,
"#FF9900"
]},
success
:
function
(){},
close
:
function
(
a
){
layer
.
close
(
a
)},
end
:
function
(){}},
h
.
pt
.
space
=
function
(
a
){
var
b
=
this
,
a
=
a
||
""
,
c
=
b
.
index
,
d
=
b
.
config
,
e
=
d
.
dialog
,
f
=-
1
===
e
.
type
?
""
:
'<span class="xubox_msg xulayer_png32 xubox_msgico xubox_msgtype'
+
e
.
type
+
'"></span>'
,
h
=
[
'<div class="xubox_dialog">'
+
f
+
'<span class="xubox_msg xubox_text" style="'
+
(
f
?
""
:
"padding-left:20px"
)
+
'">'
+
e
.
msg
+
"</span></div>"
,
'<div class="xubox_page">'
+
a
+
"</div>"
,
'<iframe scrolling="'
+
d
.
iframe
.
scrolling
+
'" allowtransparency="true" id="'
+
g
[
1
]
+
c
+
'" name="'
+
g
[
1
]
+
c
+
'" onload="this.className=
\'
'
+
g
[
1
]
+
'
\'
" class="'
+
g
[
1
]
+
'" frameborder="0" src="'
+
d
.
iframe
.
src
+
'"></iframe>'
,
'<span class="xubox_loading xubox_loading_'
+
d
.
loading
.
type
+
'"></span>'
,
'<div class="xubox_tips" style="'
+
d
.
tips
.
style
[
0
]
+
'"><div class="xubox_tipsMsg">'
+
d
.
tips
.
msg
+
'</div><i class="layerTipsG"></i></div>'
],
i
=
""
,
j
=
""
,
k
=
d
.
zIndex
+
c
,
l
=
"z-index:"
+
k
+
"; background-color:"
+
d
.
shade
[
1
]
+
"; opacity:"
+
d
.
shade
[
0
]
+
"; filter:alpha(opacity="
+
100
*
d
.
shade
[
0
]
+
");"
;
d
.
shade
[
0
]
&&
(
i
=
'<div times="'
+
c
+
'" id="xubox_shade'
+
c
+
'" class="xubox_shade" style="'
+
l
+
'"></div>'
),
d
.
zIndex
=
k
;
var
m
=
""
,
n
=
""
,
o
=
"z-index:"
+
(
k
-
1
)
+
"; background-color: "
+
d
.
border
[
2
]
+
"; opacity:"
+
d
.
border
[
1
]
+
"; filter:alpha(opacity="
+
100
*
d
.
border
[
1
]
+
"); top:-"
+
d
.
border
[
0
]
+
"px; left:-"
+
d
.
border
[
0
]
+
"px;"
;
d
.
border
[
0
]
&&
(
j
=
'<div id="xubox_border'
+
c
+
'" class="xubox_border" style="'
+
o
+
'"></div>'
),
!
d
.
maxmin
||
1
!==
d
.
type
&&
2
!==
d
.
type
||
/^
\d
+%$/
.
test
(
d
.
area
[
0
])
&&
/^
\d
+%$/
.
test
(
d
.
area
[
1
])
||
(
n
=
'<a class="xubox_min" href="javascript:;"><cite></cite></a><a class="xubox_max xulayer_png32" href="javascript:;"></a>'
),
d
.
closeBtn
[
1
]
&&
(
n
+=
'<a class="xubox_close xulayer_png32 xubox_close'
+
d
.
closeBtn
[
0
]
+
'" href="javascript:;" style="'
+
(
4
===
d
.
type
?
"position:absolute; right:-3px; _right:7px; top:-4px;"
:
""
)
+
'"></a>'
);
var
p
=
"object"
==
typeof
d
.
title
;
return
d
.
title
&&
(
m
=
'<div class="xubox_title" style="'
+
(
p
?
d
.
title
[
1
]:
""
)
+
'"><em>'
+
(
p
?
d
.
title
[
0
]:
d
.
title
)
+
"</em></div>"
),[
i
,
'<div times="'
+
c
+
'" showtime="'
+
d
.
time
+
'" style="z-index:'
+
k
+
'" id="'
+
g
[
0
]
+
c
+
'" class="'
+
g
[
0
]
+
'"><div style="background-color:'
+
d
.
bgcolor
+
"; z-index:"
+
k
+
'" class="xubox_main">'
+
h
[
d
.
type
]
+
m
+
'<span class="xubox_setwin">'
+
n
+
'</span><span class="xubox_botton"></span></div>'
+
j
+
"</div>"
]},
h
.
pt
.
creat
=
function
(){
var
a
=
this
,
b
=
""
,
d
=
a
.
config
,
e
=
d
.
dialog
,
f
=
a
.
index
,
h
=
d
.
page
,
i
=
c
(
"body"
),
j
=
function
(
d
){
var
d
=
d
||
""
;
b
=
a
.
space
(
d
),
i
.
append
(
c
(
b
[
0
]))};
switch
(
d
.
type
){
case
0
:
d
.
title
||
(
d
.
area
=
[
"auto"
,
"auto"
]),
c
(
".xubox_dialog"
)[
0
]
&&
layer
.
close
(
c
(
".xubox_dialog"
).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
));
break
;
case
1
:
if
(
""
!==
h
.
html
)
j
(
'<div class="xuboxPageHtml">'
+
h
.
html
+
"</div>"
),
i
.
append
(
c
(
b
[
1
]));
else
if
(
""
!==
h
.
url
)
j
(
'<div class="xuboxPageHtml" id="xuboxPageHtml'
+
f
+
'">'
+
h
.
html
+
"</div>"
),
i
.
append
(
c
(
b
[
1
])),
c
.
get
(
h
.
url
,
function
(
a
){
c
(
"#xuboxPageHtml"
+
f
).
html
(
a
.
toString
()),
h
.
ok
&&
h
.
ok
(
a
)});
else
{
if
(
0
!=
c
(
h
.
dom
).
parents
(
g
[
4
]).
length
)
return
;
j
(),
c
(
h
.
dom
).
show
().
wrap
(
c
(
b
[
1
]))}
break
;
case
3
:
d
.
title
=!
1
,
d
.
area
=
[
"auto"
,
"auto"
],
d
.
closeBtn
=
[
""
,
!
1
],
c
(
".xubox_loading"
)[
0
]
&&
layer
.
closeLoad
();
break
;
case
4
:
d
.
title
=!
1
,
d
.
area
=
[
"auto"
,
"auto"
],
d
.
fix
=!
1
,
d
.
border
=
[
0
],
d
.
tips
.
more
||
layer
.
closeTips
()}
1
!==
d
.
type
&&
(
j
(),
i
.
append
(
c
(
b
[
1
])));
var
k
=
a
.
layerE
=
c
(
"#"
+
g
[
0
]
+
f
);
if
(
k
.
css
({
width
:
d
.
area
[
0
],
height
:
d
.
area
[
1
]}),
d
.
fix
||
k
.
css
({
position
:
"absolute"
}),
d
.
title
&&
(
3
!==
d
.
type
||
4
!==
d
.
type
)){
var
l
=
0
===
d
.
type
?
e
:
d
,
m
=
k
.
find
(
".xubox_botton"
);
switch
(
l
.
btn
=
d
.
btn
||
e
.
btn
,
l
.
btns
){
case
0
:
m
.
html
(
""
).
hide
();
break
;
case
1
:
m
.
html
(
'<a href="javascript:;" class="xubox_yes xubox_botton1">'
+
l
.
btn
[
0
]
+
"</a>"
);
break
;
case
2
:
m
.
html
(
'<a href="javascript:;" class="xubox_yes xubox_botton2">'
+
l
.
btn
[
0
]
+
'</a><a href="javascript:;" class="xubox_no xubox_botton3">'
+
l
.
btn
[
1
]
+
"</a>"
)}}
"auto"
===
k
.
css
(
"left"
)?(
k
.
hide
(),
setTimeout
(
function
(){
k
.
show
(),
a
.
set
(
f
)},
500
)):
a
.
set
(
f
),
d
.
time
<=
0
||
a
.
autoclose
(),
a
.
callback
()},
f
.
fade
=
function
(
a
,
b
,
c
){
a
.
css
({
opacity
:
0
}).
animate
({
opacity
:
c
},
b
)},
h
.
pt
.
offset
=
function
(){
var
a
=
this
,
b
=
a
.
config
,
c
=
a
.
layerE
,
e
=
c
.
outerHeight
();
a
.
offsetTop
=
""
===
b
.
offset
[
0
]
&&
e
<
d
.
height
()?(
d
.
height
()
-
e
-
2
*
b
.
border
[
0
])
/
2
:
-
1
!=
b
.
offset
[
0
].
indexOf
(
"px"
)?
parseFloat
(
b
.
offset
[
0
]):
parseFloat
(
b
.
offset
[
0
]
||
0
)
/
100
*
d
.
height
(),
a
.
offsetTop
=
a
.
offsetTop
+
b
.
border
[
0
]
+
(
b
.
fix
?
0
:
d
.
scrollTop
()),
-
1
!=
b
.
offset
[
1
].
indexOf
(
"px"
)?
a
.
offsetLeft
=
parseFloat
(
b
.
offset
[
1
])
+
b
.
border
[
0
]:(
b
.
offset
[
1
]
=
""
===
b
.
offset
[
1
]?
"50%"
:
b
.
offset
[
1
],
a
.
offsetLeft
=
"50%"
===
b
.
offset
[
1
]?
b
.
offset
[
1
]:
parseFloat
(
b
.
offset
[
1
])
/
100
*
d
.
width
()
+
b
.
border
[
0
])},
h
.
pt
.
set
=
function
(
a
){
var
b
=
this
,
e
=
b
.
config
,
h
=
(
e
.
dialog
,
e
.
page
),
i
=
(
e
.
loading
,
b
.
layerE
),
j
=
i
.
find
(
g
[
2
]);
switch
(
b
.
autoArea
(
a
),
e
.
title
?
0
===
e
.
type
&&
layer
.
ie6
&&
j
.
css
({
width
:
i
.
outerWidth
()}):
4
!==
e
.
type
&&
i
.
find
(
".xubox_close"
).
addClass
(
"xubox_close1"
),
i
.
attr
({
type
:
f
.
type
[
e
.
type
]}),
b
.
offset
(),
4
!==
e
.
type
&&
(
e
.
shift
&&!
layer
.
ie6
?
"object"
==
typeof
e
.
shift
?
b
.
shift
(
e
.
shift
[
0
],
e
.
shift
[
1
]
||
500
,
e
.
shift
[
2
]):
b
.
shift
(
e
.
shift
,
500
):
i
.
css
({
top
:
b
.
offsetTop
,
left
:
b
.
offsetLeft
})),
e
.
type
){
case
0
:
i
.
find
(
g
[
5
]).
css
({
"background-color"
:
"#fff"
}),
e
.
title
?
i
.
find
(
g
[
3
]).
css
({
paddingTop
:
18
+
j
.
outerHeight
()}):(
i
.
find
(
".xubox_msgico"
).
css
({
top
:
8
}),
i
.
find
(
g
[
3
]).
css
({
marginTop
:
11
}));
break
;
case
1
:
i
.
find
(
h
.
dom
).
addClass
(
"layer_pageContent"
),
e
.
shade
[
0
]
&&
i
.
css
({
zIndex
:
e
.
zIndex
+
1
}),
e
.
title
&&
i
.
find
(
g
[
4
]).
css
({
top
:
j
.
outerHeight
()});
break
;
case
2
:
var
k
=
i
.
find
(
"."
+
g
[
1
]),
l
=
i
.
height
();
k
.
addClass
(
"xubox_load"
).
css
({
width
:
i
.
width
()}),
k
.
css
(
e
.
title
?{
top
:
j
.
height
(),
height
:
l
-
j
.
height
()}:{
top
:
0
,
height
:
l
}),
layer
.
ie6
&&
k
.
attr
(
"src"
,
e
.
iframe
.
src
);
break
;
case
4
:
var
m
=
[
0
,
i
.
outerHeight
()],
n
=
c
(
e
.
tips
.
follow
),
o
=
{
width
:
n
.
outerWidth
(),
height
:
n
.
outerHeight
(),
top
:
n
.
offset
().
top
,
left
:
n
.
offset
().
left
},
p
=
i
.
find
(
".layerTipsG"
);
e
.
tips
.
isGuide
||
p
.
remove
(),
i
.
outerWidth
()
>
e
.
maxWidth
&&
i
.
width
(
e
.
maxWidth
),
o
.
tipColor
=
e
.
tips
.
style
[
1
],
m
[
0
]
=
i
.
outerWidth
(),
o
.
autoLeft
=
function
(){
o
.
left
+
m
[
0
]
-
d
.
width
()
>
0
?(
o
.
tipLeft
=
o
.
left
+
o
.
width
-
m
[
0
],
p
.
css
({
right
:
12
,
left
:
"auto"
})):
o
.
tipLeft
=
o
.
left
},
o
.
where
=
[
function
(){
o
.
autoLeft
(),
o
.
tipTop
=
o
.
top
-
m
[
1
]
-
10
,
p
.
removeClass
(
"layerTipsB"
).
addClass
(
"layerTipsT"
).
css
({
"border-right-color"
:
o
.
tipColor
})},
function
(){
o
.
tipLeft
=
o
.
left
+
o
.
width
+
10
,
o
.
tipTop
=
o
.
top
,
p
.
removeClass
(
"layerTipsL"
).
addClass
(
"layerTipsR"
).
css
({
"border-bottom-color"
:
o
.
tipColor
})},
function
(){
o
.
autoLeft
(),
o
.
tipTop
=
o
.
top
+
o
.
height
+
10
,
p
.
removeClass
(
"layerTipsT"
).
addClass
(
"layerTipsB"
).
css
({
"border-right-color"
:
o
.
tipColor
})},
function
(){
o
.
tipLeft
=
o
.
left
-
m
[
0
]
+
10
,
o
.
tipTop
=
o
.
top
,
p
.
removeClass
(
"layerTipsR"
).
addClass
(
"layerTipsL"
).
css
({
"border-bottom-color"
:
o
.
tipColor
})}],
o
.
where
[
e
.
tips
.
guide
](),
0
===
e
.
tips
.
guide
?
o
.
top
-
(
d
.
scrollTop
()
+
m
[
1
]
+
16
)
<
0
&&
o
.
where
[
2
]():
1
===
e
.
tips
.
guide
?
d
.
width
()
-
(
o
.
left
+
o
.
width
+
m
[
0
]
+
16
)
>
0
||
o
.
where
[
3
]():
2
===
e
.
tips
.
guide
?
o
.
top
-
d
.
scrollTop
()
+
o
.
height
+
m
[
1
]
+
16
-
d
.
height
()
>
0
&&
o
.
where
[
0
]():
3
===
e
.
tips
.
guide
?
m
[
0
]
+
16
-
o
.
left
>
0
&&
o
.
where
[
1
]():
4
===
e
.
tips
.
guide
,
i
.
css
({
left
:
o
.
tipLeft
,
top
:
o
.
tipTop
})}
e
.
fadeIn
&&
(
f
.
fade
(
i
,
e
.
fadeIn
,
1
),
f
.
fade
(
c
(
"#xubox_shade"
+
a
),
e
.
fadeIn
,
e
.
shade
[
0
])),
e
.
fix
&&
""
===
e
.
offset
[
0
]
&&!
e
.
shift
&&
d
.
on
(
"resize"
,
function
(){
i
.
css
({
top
:(
d
.
height
()
-
i
.
outerHeight
())
/
2
})}),
b
.
move
()},
h
.
pt
.
shift
=
function
(
a
,
b
,
c
){
var
e
=
this
,
f
=
e
.
config
,
g
=
e
.
layerE
,
h
=
0
,
i
=
d
.
width
(),
j
=
d
.
height
()
+
(
f
.
fix
?
0
:
d
.
scrollTop
());
h
=
"50%"
==
f
.
offset
[
1
]
||
""
==
f
.
offset
[
1
]?
g
.
outerWidth
()
/
2
:
g
.
outerWidth
();
var
k
=
{
t
:{
top
:
e
.
offsetTop
},
b
:{
top
:
j
-
g
.
outerHeight
()
-
f
.
border
[
0
]},
cl
:
h
+
f
.
border
[
0
],
ct
:
-
g
.
outerHeight
(),
cr
:
i
-
h
-
f
.
border
[
0
]};
switch
(
a
){
case
"left-top"
:
g
.
css
({
left
:
k
.
cl
,
top
:
k
.
ct
}).
animate
(
k
.
t
,
b
);
break
;
case
"top"
:
g
.
css
({
top
:
k
.
ct
}).
animate
(
k
.
t
,
b
);
break
;
case
"right-top"
:
g
.
css
({
left
:
k
.
cr
,
top
:
k
.
ct
}).
animate
(
k
.
t
,
b
);
break
;
case
"right-bottom"
:
g
.
css
({
left
:
k
.
cr
,
top
:
j
}).
animate
(
c
?
k
.
t
:
k
.
b
,
b
);
break
;
case
"bottom"
:
g
.
css
({
top
:
j
}).
animate
(
c
?
k
.
t
:
k
.
b
,
b
);
break
;
case
"left-bottom"
:
g
.
css
({
left
:
k
.
cl
,
top
:
j
}).
animate
(
c
?
k
.
t
:
k
.
b
,
b
);
break
;
case
"left"
:
g
.
css
({
left
:
-
g
.
outerWidth
()}).
animate
({
left
:
e
.
offsetLeft
},
b
)}},
h
.
pt
.
autoArea
=
function
(
a
){
var
b
,
d
=
this
,
a
=
a
||
d
.
index
,
e
=
d
.
config
,
f
=
e
.
page
,
h
=
c
(
"#"
+
g
[
0
]
+
a
),
i
=
h
.
find
(
g
[
2
]),
j
=
h
.
find
(
g
[
5
]),
k
=
e
.
title
?
i
.
innerHeight
():
0
,
l
=
0
;
switch
(
"auto"
===
e
.
area
[
0
]
&&
j
.
outerWidth
()
>=
e
.
maxWidth
&&
h
.
css
({
width
:
e
.
maxWidth
}),
e
.
type
){
case
0
:
var
m
=
h
.
find
(
".xubox_botton>a"
);
b
=
h
.
find
(
g
[
3
]).
outerHeight
()
+
20
,
m
.
length
>
0
&&
(
l
=
m
.
outerHeight
()
+
20
);
break
;
case
1
:
var
n
=
h
.
find
(
g
[
4
]);
b
=
c
(
f
.
dom
).
outerHeight
(),
"auto"
===
e
.
area
[
0
]
&&
h
.
css
({
width
:
n
.
outerWidth
()}),(
""
!==
f
.
html
||
""
!==
f
.
url
)
&&
(
b
=
n
.
outerHeight
());
break
;
case
2
:
h
.
find
(
"iframe"
).
css
({
width
:
h
.
outerWidth
(),
height
:
h
.
outerHeight
()
-
(
e
.
title
?
i
.
innerHeight
():
0
)});
break
;
case
3
:
var
o
=
h
.
find
(
".xubox_loading"
);
b
=
o
.
outerHeight
(),
j
.
css
({
width
:
o
.
width
()})}
"auto"
===
e
.
area
[
1
]
&&
j
.
css
({
height
:
k
+
b
+
l
}),
c
(
"#xubox_border"
+
a
).
css
({
width
:
h
.
outerWidth
()
+
2
*
e
.
border
[
0
],
height
:
h
.
outerHeight
()
+
2
*
e
.
border
[
0
]}),
layer
.
ie6
&&
"auto"
!==
e
.
area
[
0
]
&&
j
.
css
({
width
:
h
.
outerWidth
()}),
h
.
css
(
"50%"
!==
e
.
offset
[
1
]
&&
""
!=
e
.
offset
[
1
]
||
4
===
e
.
type
?{
marginLeft
:
0
}:{
marginLeft
:
-
h
.
outerWidth
()
/
2
})},
h
.
pt
.
move
=
function
(){
var
a
=
this
,
b
=
a
.
config
,
e
=
{
setY
:
0
,
moveLayer
:
function
(){
if
(
0
==
parseInt
(
e
.
layerE
.
css
(
"margin-left"
)))
var
a
=
parseInt
(
e
.
move
.
css
(
"left"
));
else
var
a
=
parseInt
(
e
.
move
.
css
(
"left"
))
+-
parseInt
(
e
.
layerE
.
css
(
"margin-left"
));
"fixed"
!==
e
.
layerE
.
css
(
"position"
)
&&
(
a
-=
e
.
layerE
.
parent
().
offset
().
left
,
e
.
setY
=
0
),
e
.
layerE
.
css
({
left
:
a
,
top
:
parseInt
(
e
.
move
.
css
(
"top"
))
-
e
.
setY
})}},
f
=
a
.
layerE
.
find
(
b
.
move
);
b
.
move
&&
f
.
attr
(
"move"
,
"ok"
),
f
.
css
(
b
.
move
?{
cursor
:
"move"
}:{
cursor
:
"auto"
}),
c
(
b
.
move
).
on
(
"mousedown"
,
function
(
a
){
if
(
a
.
preventDefault
(),
"ok"
===
c
(
this
).
attr
(
"move"
)){
e
.
ismove
=!
0
,
e
.
layerE
=
c
(
this
).
parents
(
"."
+
g
[
0
]);
var
f
=
e
.
layerE
.
offset
().
left
,
h
=
e
.
layerE
.
offset
().
top
,
i
=
e
.
layerE
.
width
()
-
6
,
j
=
e
.
layerE
.
height
()
-
6
;
c
(
"#xubox_moves"
)[
0
]
||
c
(
"body"
).
append
(
'<div id="xubox_moves" class="xubox_moves" style="left:'
+
f
+
"px; top:"
+
h
+
"px; width:"
+
i
+
"px; height:"
+
j
+
'px; z-index:2147483584"></div>'
),
e
.
move
=
c
(
"#xubox_moves"
),
b
.
moveType
&&
e
.
move
.
css
({
opacity
:
0
}),
e
.
moveX
=
a
.
pageX
-
e
.
move
.
position
().
left
,
e
.
moveY
=
a
.
pageY
-
e
.
move
.
position
().
top
,
"fixed"
!==
e
.
layerE
.
css
(
"position"
)
||
(
e
.
setY
=
d
.
scrollTop
())}}),
c
(
document
).
mousemove
(
function
(
a
){
if
(
e
.
ismove
){
var
c
=
a
.
pageX
-
e
.
moveX
,
f
=
a
.
pageY
-
e
.
moveY
;
if
(
a
.
preventDefault
(),
!
b
.
moveOut
){
e
.
setY
=
d
.
scrollTop
();
var
g
=
d
.
width
()
-
e
.
move
.
outerWidth
()
-
b
.
border
[
0
],
h
=
b
.
border
[
0
]
+
e
.
setY
;
c
<
b
.
border
[
0
]
&&
(
c
=
b
.
border
[
0
]),
c
>
g
&&
(
c
=
g
),
h
>
f
&&
(
f
=
h
),
f
>
d
.
height
()
-
e
.
move
.
outerHeight
()
-
b
.
border
[
0
]
+
e
.
setY
&&
(
f
=
d
.
height
()
-
e
.
move
.
outerHeight
()
-
b
.
border
[
0
]
+
e
.
setY
)}
e
.
move
.
css
({
left
:
c
,
top
:
f
}),
b
.
moveType
&&
e
.
moveLayer
(),
c
=
null
,
f
=
null
,
g
=
null
,
h
=
null
}}).
mouseup
(
function
(){
try
{
e
.
ismove
&&
(
e
.
moveLayer
(),
e
.
move
.
remove
()),
e
.
ismove
=!
1
}
catch
(
a
){
e
.
ismove
=!
1
}
b
.
moveEnd
&&
b
.
moveEnd
()})},
h
.
pt
.
autoclose
=
function
(){
var
a
=
this
,
b
=
a
.
config
.
time
,
c
=
function
(){
b
--
,
0
===
b
&&
(
layer
.
close
(
a
.
index
),
clearInterval
(
a
.
autotime
))};
a
.
autotime
=
setInterval
(
c
,
1
e3
)},
f
.
config
=
{
end
:{}},
h
.
pt
.
callback
=
function
(){
var
a
=
this
,
b
=
a
.
layerE
,
d
=
a
.
config
,
e
=
d
.
dialog
;
a
.
openLayer
(),
a
.
config
.
success
(
b
),
layer
.
ie6
&&
a
.
IE6
(
b
),
b
.
find
(
".xubox_close"
).
on
(
"click"
,
function
(){
d
.
close
(
a
.
index
),
layer
.
close
(
a
.
index
)}),
b
.
find
(
".xubox_yes"
).
on
(
"click"
,
function
(){
d
.
yes
?
d
.
yes
(
a
.
index
):
e
.
yes
(
a
.
index
)}),
b
.
find
(
".xubox_no"
).
on
(
"click"
,
function
(){
d
.
no
?
d
.
no
(
a
.
index
):
e
.
no
(
a
.
index
),
layer
.
close
(
a
.
index
)}),
a
.
config
.
shadeClose
&&
c
(
"#xubox_shade"
+
a
.
index
).
on
(
"click"
,
function
(){
layer
.
close
(
a
.
index
)}),
b
.
find
(
".xubox_min"
).
on
(
"click"
,
function
(){
layer
.
min
(
a
.
index
,
d
),
d
.
min
&&
d
.
min
(
b
)}),
b
.
find
(
".xubox_max"
).
on
(
"click"
,
function
(){
c
(
this
).
hasClass
(
"xubox_maxmin"
)?(
layer
.
restore
(
a
.
index
),
d
.
restore
&&
d
.
restore
(
b
)):(
layer
.
full
(
a
.
index
,
d
),
d
.
full
&&
d
.
full
(
b
))}),
f
.
config
.
end
[
a
.
index
]
=
d
.
end
},
f
.
reselect
=
function
(){
c
.
each
(
c
(
"select"
),
function
(){
var
a
=
c
(
this
);
a
.
parents
(
"."
+
g
[
0
])[
0
]
||
1
==
a
.
attr
(
"layer"
)
&&
c
(
"."
+
g
[
0
]).
length
<
1
&&
a
.
removeAttr
(
"layer"
).
show
(),
a
=
null
})},
h
.
pt
.
IE6
=
function
(
a
){
var
b
=
this
,
e
=
a
.
offset
().
top
;
if
(
b
.
config
.
fix
)
var
f
=
function
(){
a
.
css
({
top
:
d
.
scrollTop
()
+
e
})};
else
var
f
=
function
(){
a
.
css
({
top
:
e
})};
f
(),
d
.
scroll
(
f
),
c
.
each
(
c
(
"select"
),
function
(){
var
a
=
c
(
this
);
a
.
parents
(
"."
+
g
[
0
])[
0
]
||
"none"
==
a
.
css
(
"display"
)
||
a
.
attr
({
layer
:
"1"
}).
hide
(),
a
=
null
})},
h
.
pt
.
openLayer
=
function
(){{
var
a
=
this
;
a
.
layerE
}
layer
.
autoArea
=
function
(
b
){
return
a
.
autoArea
(
b
)},
layer
.
shift
=
function
(
b
,
c
,
d
){
a
.
shift
(
b
,
c
,
d
)},
layer
.
setMove
=
function
(){
return
a
.
move
()},
layer
.
zIndex
=
a
.
config
.
zIndex
,
layer
.
setTop
=
function
(
a
){
var
b
=
function
(){
layer
.
zIndex
++
,
a
.
css
(
"z-index"
,
layer
.
zIndex
+
1
)};
return
layer
.
zIndex
=
parseInt
(
a
[
0
].
style
.
zIndex
),
a
.
on
(
"mousedown"
,
b
),
layer
.
zIndex
}},
f
.
isauto
=
function
(
a
,
b
,
c
){
"auto"
===
b
.
area
[
0
]
&&
(
b
.
area
[
0
]
=
a
.
outerWidth
()),
"auto"
===
b
.
area
[
1
]
&&
(
b
.
area
[
1
]
=
a
.
outerHeight
()),
a
.
attr
({
area
:
b
.
area
+
","
+
c
}),
a
.
find
(
".xubox_max"
).
addClass
(
"xubox_maxmin"
)},
f
.
rescollbar
=
function
(
a
){
g
.
html
.
attr
(
"layer-full"
)
==
a
&&
(
g
.
html
[
0
].
style
.
removeProperty
?
g
.
html
[
0
].
style
.
removeProperty
(
"overflow"
):
g
.
html
[
0
].
style
.
removeAttribute
(
"overflow"
),
g
.
html
.
removeAttr
(
"layer-full"
))},
layer
.
getIndex
=
function
(
a
){
return
c
(
a
).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
)},
layer
.
getChildFrame
=
function
(
a
,
b
){
return
b
=
b
||
c
(
"."
+
g
[
1
]).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
),
c
(
"#"
+
g
[
0
]
+
b
).
find
(
"."
+
g
[
1
]).
contents
().
find
(
a
)},
layer
.
getFrameIndex
=
function
(
a
){
return
c
(
a
?
"#"
+
a
:
"."
+
g
[
1
]).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
)},
layer
.
iframeAuto
=
function
(
a
){
a
=
a
||
c
(
"."
+
g
[
1
]).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
);
var
b
=
layer
.
getChildFrame
(
"body"
,
a
).
outerHeight
(),
d
=
c
(
"#"
+
g
[
0
]
+
a
),
e
=
d
.
find
(
g
[
2
]),
f
=
0
;
e
&&
(
f
=
e
.
height
()),
d
.
css
({
height
:
b
+
f
});
var
h
=-
parseInt
(
c
(
"#xubox_border"
+
a
).
css
(
"top"
));
c
(
"#xubox_border"
+
a
).
css
({
height
:
b
+
2
*
h
+
f
}),
c
(
"#"
+
g
[
1
]
+
a
).
css
({
height
:
b
})},
layer
.
iframeSrc
=
function
(
a
,
b
){
c
(
"#"
+
g
[
0
]
+
a
).
find
(
"iframe"
).
attr
(
"src"
,
b
)},
layer
.
area
=
function
(
a
,
b
){
var
d
=
[
c
(
"#"
+
g
[
0
]
+
a
),
c
(
"#xubox_border"
+
a
)],
e
=
d
[
0
].
attr
(
"type"
),
h
=
d
[
0
].
find
(
g
[
5
]),
i
=
d
[
0
].
find
(
g
[
2
]);
if
(
e
===
f
.
type
[
1
]
||
e
===
f
.
type
[
2
]){
if
(
d
[
0
].
css
(
b
),
h
.
css
({
width
:
b
.
width
,
height
:
b
.
height
}),
e
===
f
.
type
[
2
]){
var
j
=
d
[
0
].
find
(
"iframe"
);
j
.
css
({
width
:
b
.
width
,
height
:
i
?
b
.
height
-
i
.
innerHeight
():
b
.
height
})}
"0px"
!==
d
[
0
].
css
(
"margin-left"
)
&&
(
b
.
hasOwnProperty
(
"top"
)
&&
d
[
0
].
css
({
top
:
b
.
top
-
(
d
[
1
][
0
]?
parseFloat
(
d
[
1
].
css
(
"top"
)):
0
)}),
b
.
hasOwnProperty
(
"left"
)
&&
d
[
0
].
css
({
left
:
b
.
left
+
d
[
0
].
outerWidth
()
/
2
-
(
d
[
1
][
0
]?
parseFloat
(
d
[
1
].
css
(
"left"
)):
0
)}),
d
[
0
].
css
({
marginLeft
:
-
d
[
0
].
outerWidth
()
/
2
})),
d
[
1
][
0
]
&&
d
[
1
].
css
({
width
:
parseFloat
(
b
.
width
)
-
2
*
parseFloat
(
d
[
1
].
css
(
"left"
)),
height
:
parseFloat
(
b
.
height
)
-
2
*
parseFloat
(
d
[
1
].
css
(
"top"
))})}},
layer
.
min
=
function
(
a
,
b
){
var
d
=
c
(
"#"
+
g
[
0
]
+
a
),
e
=
[
d
.
position
().
top
,
d
.
position
().
left
+
parseFloat
(
d
.
css
(
"margin-left"
))];
f
.
isauto
(
d
,
b
,
e
),
layer
.
area
(
a
,{
width
:
180
,
height
:
35
}),
d
.
find
(
".xubox_min"
).
hide
(),
"page"
===
d
.
attr
(
"type"
)
&&
d
.
find
(
g
[
4
]).
hide
(),
f
.
rescollbar
(
a
)},
layer
.
restore
=
function
(
a
){{
var
b
=
c
(
"#"
+
g
[
0
]
+
a
),
d
=
b
.
attr
(
"area"
).
split
(
","
);
b
.
attr
(
"type"
)}
layer
.
area
(
a
,{
width
:
parseFloat
(
d
[
0
]),
height
:
parseFloat
(
d
[
1
]),
top
:
parseFloat
(
d
[
2
]),
left
:
parseFloat
(
d
[
3
])}),
b
.
find
(
".xubox_max"
).
removeClass
(
"xubox_maxmin"
),
b
.
find
(
".xubox_min"
).
show
(),
"page"
===
b
.
attr
(
"type"
)
&&
b
.
find
(
g
[
4
]).
show
(),
f
.
rescollbar
(
a
)},
layer
.
full
=
function
(
a
,
b
){
var
e
,
h
=
c
(
"#"
+
g
[
0
]
+
a
),
i
=
2
*
b
.
border
[
0
]
||
6
,
j
=
[
h
.
position
().
top
,
h
.
position
().
left
+
parseFloat
(
h
.
css
(
"margin-left"
))];
f
.
isauto
(
h
,
b
,
j
),
g
.
html
.
attr
(
"layer-full"
)
||
g
.
html
.
css
(
"overflow"
,
"hidden"
).
attr
(
"layer-full"
,
a
),
clearTimeout
(
e
),
e
=
setTimeout
(
function
(){
layer
.
area
(
a
,{
top
:
"fixed"
===
h
.
css
(
"position"
)?
0
:
d
.
scrollTop
(),
left
:
"fixed"
===
h
.
css
(
"position"
)?
0
:
d
.
scrollLeft
(),
width
:
d
.
width
()
-
i
,
height
:
d
.
height
()
-
i
})},
100
)},
layer
.
title
=
function
(
a
,
b
){
var
d
=
c
(
"#"
+
g
[
0
]
+
(
b
||
layer
.
index
)).
find
(
".xubox_title>em"
);
d
.
html
(
a
)},
layer
.
close
=
function
(
a
){
var
b
=
c
(
"#"
+
g
[
0
]
+
a
),
d
=
b
.
attr
(
"type"
),
e
=
c
(
"#xubox_moves, #xubox_shade"
+
a
);
if
(
b
[
0
]){
if
(
d
==
f
.
type
[
1
])
if
(
b
.
find
(
".xuboxPageHtml"
)[
0
])
b
[
0
].
innerHTML
=
""
,
b
.
remove
();
else
{
b
.
find
(
".xubox_setwin,.xubox_close,.xubox_botton,.xubox_title,.xubox_border"
).
remove
();
for
(
var
h
=
0
;
3
>
h
;
h
++
)
b
.
find
(
".layer_pageContent"
).
unwrap
().
hide
()}
else
b
[
0
].
innerHTML
=
""
,
b
.
remove
();
e
.
remove
(),
layer
.
ie6
&&
f
.
reselect
(),
f
.
rescollbar
(
a
),
"function"
==
typeof
f
.
config
.
end
[
a
]
&&
f
.
config
.
end
[
a
](),
delete
f
.
config
.
end
[
a
]}},
layer
.
closeLoad
=
function
(){
layer
.
close
(
c
(
".xubox_loading"
).
parents
(
"."
+
g
[
0
]).
attr
(
"times"
))},
layer
.
closeTips
=
function
(){
layer
.
closeAll
(
"tips"
)},
layer
.
closeAll
=
function
(
a
){
c
.
each
(
c
(
"."
+
g
[
0
]),
function
(){
var
b
=
c
(
this
),
d
=
a
?
b
.
attr
(
"type"
)
===
a
:
1
;
d
&&
layer
.
close
(
b
.
attr
(
"times"
)),
d
=
null
})},
f
.
run
=
function
(){
c
=
jQuery
,
d
=
c
(
a
),
g
.
html
=
c
(
"html"
),
layer
.
use
(
"skin/layer.css"
),
c
.
layer
=
function
(
a
){
var
b
=
new
h
(
a
);
return
b
.
index
},(
new
Image
).
src
=
layer
.
path
+
"skin/default/xubox_ico0.png"
},
"function"
==
typeof
define
?
define
(
function
(){
return
f
.
run
(),
layer
}):
f
.
run
()}(
window
);
\ No newline at end of file
static/js/layer/skin/layer.css
View file @
09d3763a
<<<<<<<
HEAD
/**
@Name: layer's style
...
...
@@ -81,3 +82,88 @@
=======
/**
@Name: layer's style
@Date: 2012.09.15
@Author: 贤心
@blog: sentsin.com
**/
*
html
{
background-image
:
url(about:blank)
;
background-attachment
:
fixed
;}
/** common **/
.xubox_shade
,
.xubox_layer
{
position
:
fixed
;
_position
:
absolute
;}
.xubox_shade
{
top
:
0
;
left
:
0
;
width
:
100%
;
height
:
100%
;
_height
:
expression
(
document
.
body
.
offsetHeight
+
"px"
);}
.xubox_layer
{
top
:
150px
;
left
:
50%
;
height
:
auto
;
width
:
310px
;
margin-left
:
-155px
;}
.xubox_border
,
.xubox_title
,
.xubox_title
i
,
.xubox_page
,
.xubox_iframe
,
.xubox_title
em
,
.xubox_close
,
.xubox_msgico
,
.xubox_moves
{
position
:
absolute
;}
.xubox_border
{
border-radius
:
5px
;}
.xubox_title
{
left
:
0
;
top
:
0
;}
.xubox_main
{
position
:
relative
;
height
:
100%
;
_float
:
left
;}
.xubox_page
{
top
:
0
;
left
:
0
;}
.xubox_load
{
background
:
url(default/xubox_loading0.gif)
#fff
center
center
no-repeat
;}
.xubox_loading
{
display
:
block
;
float
:
left
;
text-decoration
:
none
;
color
:
#FFF
;
_float
:
none
;
}
.xulayer_png32
{
background
:
url(default/xubox_ico0.png)
no-repeat
;}
.xubox_moves
{
border
:
3px
solid
#666
;
cursor
:
move
;
background-color
:
rgba
(
255
,
255
,
255
,
.3
);
background-color
:
#fff
\
9
;
filter
:
alpha
(
opacity
=
50
);}
.xubox_msgico
{
width
:
32px
;
height
:
32px
;
top
:
52px
;
left
:
15px
;
background
:
url(default/xubox_ico0.png)
no-repeat
;}
.xubox_text
{
padding-left
:
55px
;
float
:
left
;
line-height
:
25px
;
word-break
:
break-all
;
padding-right
:
20px
;
overflow
:
hidden
;
font-size
:
14px
;}
.xubox_msgtype0
{
background-position
:
-91px
-38px
;}
.xubox_msgtype1
{
background-position
:
-128px
-38px
}
.xubox_msgtype2
{
background-position
:
-163px
-38px
;}
.xubox_msgtype3
{
background-position
:
-91px
-75px
;}
.xubox_msgtype4
{
background-position
:
-163px
-75px
;}
.xubox_msgtype5
{
background-position
:
-163px
-112px
;}
.xubox_msgtype6
{
background-position
:
-163px
-148px
;}
.xubox_msgtype7
{
background-position
:
-128px
-75px
;}
.xubox_msgtype8
{
background-position
:
-91px
-6px
;}
.xubox_msgtype9
{
background-position
:
-129px
-6px
;}
.xubox_msgtype10
{
background-position
:
-163px
-6px
;}
.xubox_msgtype11
{
background-position
:
-206px
-6px
;}
.xubox_msgtype12
{
background-position
:
-206px
-44px
;}
.xubox_msgtype13
{
background-position
:
-206px
-81px
;}
.xubox_msgtype14
{
background-position
:
-206px
-122px
;}
.xubox_msgtype15
{
background-position
:
-206px
-157px
;}
.xubox_loading_0
{
width
:
60px
;
height
:
24px
;
background
:
url(default/xubox_loading0.gif)
no-repeat
;}
.xubox_loading_1
{
width
:
37px
;
height
:
37px
;
background
:
url(default/xubox_loading1.gif)
no-repeat
;}
.xubox_loading_2
,
.xubox_msgtype16
{
width
:
32px
;
height
:
32px
;
background
:
url(default/xubox_loading2.gif)
no-repeat
;}
.xubox_loading_3
{
width
:
126px
;
height
:
22px
;
background
:
url(default/xubox_loading3.gif)
no-repeat
;}
.xubox_setwin
{
position
:
absolute
;
right
:
10px
;
*
right
:
0
;
top
:
10px
;
font-size
:
0
;}
.xubox_setwin
a
{
position
:
relative
;
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
;
vertical-align
:
top
;
width
:
14px
;
height
:
14px
;
margin-left
:
10px
;
font-size
:
12px
;
_overflow
:
hidden
;}
.xubox_setwin
.xubox_min
cite
{
position
:
absolute
;
width
:
14px
;
height
:
2px
;
left
:
0
;
top
:
50%
;
margin-top
:
-1px
;
background-color
:
#919191
;
cursor
:
pointer
;
_overflow
:
hidden
;}
.xubox_setwin
.xubox_min
:hover
cite
{
background-color
:
#2D93CA
;
}
.xubox_setwin
.xubox_max
{
background-position
:
-6px
-189px
;}
.xubox_setwin
.xubox_max
:hover
{
background-position
:
-6px
-206px
;}
.xubox_setwin
.xubox_maxmin
{
background-position
:
-29px
-189px
;}
.xubox_setwin
.xubox_maxmin
:hover
{
background-position
:
-29px
-206px
;}
.xubox_setwin
.xubox_close0
{
width
:
14px
;
height
:
14px
;
background-position
:
-31px
-7px
;
cursor
:
pointer
;}
.xubox_setwin
.xubox_close0
:hover
{
background-position
:
-51px
-7px
;}
.xubox_setwin
.xubox_close1
{
position
:
absolute
;
right
:
-28px
;
top
:
-28px
;
width
:
30px
;
height
:
30px
;
margin-left
:
0
;
background-position
:
-60px
-195px
;
*
right
:
-18px
;
_right
:
-15px
;
_top
:
-23px
;
_width
:
14px
;
_height
:
14px
;
_background-position
:
-31px
-7px
;}
.xubox_setwin
.xubox_close1
:hover
{
background-position
:
-91px
-195px
;
_background-position
:
-51px
-7px
;}
.xubox_title
{
width
:
100%
;
height
:
35px
;
line-height
:
35px
;
border-bottom
:
1px
solid
#D5D5D5
;
background
:
url(default/xubox_title0.png)
#EBEBEB
repeat-x
;
font-size
:
14px
;
color
:
#333
;}
.xubox_title
em
{
height
:
20px
;
line-height
:
20px
;
width
:
60%
;
top
:
7px
;
left
:
10px
;
font-style
:
normal
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;}
.xubox_botton
a
{
position
:
absolute
;
bottom
:
10px
;
left
:
50%
;
background
:
url(default/xubox_ico0.png)
repeat
;
text-decoration
:
none
;
color
:
#FFF
;
font-size
:
14px
;
text-align
:
center
;
font-weight
:
bold
;
overflow
:
hidden
;
}
.xubox_botton
a
:hover
{
text-decoration
:
none
;
color
:
#FFF
;
}
.xubox_botton
.xubox_botton1
{
width
:
79px
;
height
:
32px
;
line-height
:
32px
;
margin-left
:
-39px
;
background-position
:
-6px
-34px
;}
.xubox_botton1
:hover
{
background-position
:
-6px
-72px
;}
.xubox_botton
.xubox_botton2
{
margin-left
:
-76px
;
width
:
71px
;
height
:
29px
;
line-height
:
29px
;
background-position
:
-5px
-114px
;}
.xubox_botton2
:hover
{
background-position
:
-5px
-146px
;}
.xubox_botton
.xubox_botton3
{
width
:
71px
;
height
:
29px
;
line-height
:
29px
;
margin-left
:
10px
;
background-position
:
-81px
-114px
;}
.xubox_botton3
:hover
{
background-position
:
-81px
-146px
;}
.xubox_tips
{
position
:
relative
;
line-height
:
20px
;
min-width
:
12px
;
padding
:
3px
30px
3px
10px
;
font-size
:
12px
;
_float
:
left
;
border-radius
:
3px
;
box-shadow
:
1px
1px
3px
rgba
(
0
,
0
,
0
,
.3
);}
.xubox_tips
i
.layerTipsG
{
position
:
absolute
;
width
:
0
;
height
:
0
;
border-width
:
8px
;
border-color
:
transparent
;
border-style
:
dashed
;
*
overflow
:
hidden
;}
.xubox_tips
i
.layerTipsT
,
.xubox_tips
i
.layerTipsB
{
left
:
5px
;
border-right-style
:
solid
;}
.xubox_tips
i
.layerTipsT
{
bottom
:
-8px
;}
.xubox_tips
i
.layerTipsB
{
top
:
-8px
;}
.xubox_tips
i
.layerTipsR
,
.xubox_tips
i
.layerTipsL
{
top
:
1px
;
border-bottom-style
:
solid
;}
.xubox_tips
i
.layerTipsR
{
left
:
-8px
;}
.xubox_tips
i
.layerTipsL
{
right
:
-8px
;}
>>>>>>>
beta
static/js/layer/skin/layer.ext.css
View file @
09d3763a
<<<<<<<
HEAD
/**
@Name: layer拓展样式
...
...
@@ -43,3 +44,50 @@
.xubox_imgtit
em
{
padding-left
:
10px
;}
=======
/**
@Name: layer拓展样式
@Date: 2012.12.13
@Author: 贤心
@blog: sentsin.com
**/
.xubox_iconext
{
background
:
url(default/icon_ext.png)
no-repeat
;}
/* prompt模式 */
.xubox_layer
.xubox_form
{
width
:
240px
;
height
:
30px
;
line-height
:
30px
;
padding
:
0
5px
;
border
:
1px
solid
#ccc
;
background
:
url(default/textbg.png)
#fff
repeat-x
;
color
:
#333
;}
.xubox_layer
.xubox_formArea
{
width
:
300px
;
height
:
100px
;
line-height
:
20px
;}
/* tab模式 */
.xubox_layer
.xubox_tab
{
position
:
relative
;
background-color
:
#fff
;
box-shadow
:
1px
1px
50px
rgba
(
0
,
0
,
0
,
.4
)}
.xubox_layer
.xubox_tabmove
{
position
:
absolute
;
width
:
600px
;
height
:
30px
;
top
:
0
;
left
:
0
;}
.xubox_layer
.xubox_tabtit
{
display
:
block
;
height
:
34px
;
border-bottom
:
1px
solid
#ccc
;
background-color
:
#eee
;}
.xubox_layer
.xubox_tabtit
span
{
position
:
relative
;
float
:
left
;
width
:
120px
;
height
:
34px
;
line-height
:
34px
;
text-align
:
center
;
cursor
:
default
;}
.xubox_layer
.xubox_tabtit
span
.xubox_tabnow
{
left
:
-1px
;
_top
:
1px
;
height
:
35px
;
border-left
:
1px
solid
#ccc
;
border-right
:
1px
solid
#ccc
;
background-color
:
#fff
;
z-index
:
10
;}
.xubox_layer
.xubox_tab_main
{
line-height
:
24px
;
clear
:
both
;}
.xubox_layer
.xubox_tab_main
.xubox_tabli
{
display
:
none
;}
.xubox_layer
.xubox_tab_main
.xubox_tabli.xubox_tab_layer
{
display
:
block
;}
.xubox_layer
.xubox_tabclose
{
position
:
absolute
;
right
:
10px
;
top
:
5px
;
cursor
:
pointer
;}
/* photo模式 */
.xubox_bigimg
,
.xubox_intro
{
height
:
300px
}
.xubox_bigimg
{
position
:
relative
;
display
:
block
;
width
:
600px
;
text-align
:
center
;
background
:
url(default/xubox_loading1.gif)
center
center
no-repeat
#000
;
overflow
:
hidden
;
}
.xubox_bigimg
img
{
position
:
relative
;
display
:
inline-block
;
visibility
:
hidden
;}
.xubox_intro
{
position
:
absolute
;
right
:
-315px
;
top
:
0
;
width
:
300px
;
background-color
:
#fff
;
overflow-x
:
hidden
;
overflow-y
:
auto
;}
.xubox_imgsee
{
display
:
none
;}
.xubox_prev
,
.xubox_next
{
position
:
absolute
;
top
:
50%
;
width
:
27px
;
_width
:
44px
;
height
:
44px
;
margin-top
:
-22px
;
outline
:
none
;
blr
:
expression
(
this
.
onFocus
=
this
.
blur
());}
.xubox_prev
{
left
:
10px
;
background-position
:
-5px
-5px
;
_background-position
:
-70px
-5px
;}
.xubox_prev
:hover
{
background-position
:
-33px
-5px
;
_background-position
:
-120px
-5px
;}
.xubox_next
{
right
:
10px
;
_right
:
8px
;
background-position
:
-5px
-50px
;
_background-position
:
-70px
-50px
;}
.xubox_next
:hover
{
background-position
:
-33px
-50px
;
_background-position
:
-120px
-50px
;}
.xubox_imgbar
{
position
:
absolute
;
left
:
0
;
bottom
:
0
;
width
:
100%
;
height
:
32px
;
line-height
:
32px
;
background-color
:
rgba
(
0
,
0
,
0
,
.8
);
background-color
:
#000
\
9
;
filter
:
Alpha
(
opacity
=
80
);
color
:
#fff
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
font-size
:
0
;}
.xubox_imgtit
{
/*position:absolute; left:20px;*/
}
.xubox_imgtit
*
{
display
:
inline-block
;
*
display
:
inline
;
*
zoom
:
1
;
vertical-align
:
top
;
font-size
:
12px
;}
.xubox_imgtit
a
{
max-width
:
65%
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
white-space
:
nowrap
;
color
:
#fff
;}
.xubox_imgtit
a
:hover
{
color
:
#fff
;
text-decoration
:
underline
;}
.xubox_imgtit
em
{
padding-left
:
10px
;}
>>>>>>>
beta
templates/jlog/log_offline.html
View file @
09d3763a
...
...
@@ -128,6 +128,7 @@
var
div_username
=
' 用户名: '
+
'<span class="text-info">'
+
username
+
''
+
'</span>'
;
var
div_ip
=
' 主机: '
+
'<span class="text-info">'
+
ip
+
'</span>'
;
var
div_time
=
' 开始时间: '
+
'<span class="text-info">'
+
start_time
+
'</span>'
+
' 结束时间: '
+
'<span class="text-info">'
+
end_time
+
'</span'
<<<<<<<
HEAD
var
title
=
'JumpServer命令统计 '
+
div_username
+
div_ip
+
div_time
$
.
ajax
({
url
:
url
,
success
:
function
(
data
){
BootstrapDialog
.
show
({
title
:
title
,
message
:
data
});
...
...
@@ -137,6 +138,18 @@
globalConfig
=
{
SOCKET_HOST
:
"{{ web_socket_host }}"
}
=======
var
title
=
'JumpServer命令统计 '
+
div_username
+
div_ip
+
div_time
;
$
.
ajax
({
url
:
url
,
success
:
function
(
data
){
var
tag
=
$
(
'<div style="height: 500px;overflow: auto;background-color: rgba(0, 0, 0, 0);"></div>'
).
html
(
data
.
replace
(
/
\n
/g
,
"<br />"
));
BootstrapDialog
.
show
({
title
:
title
,
message
:
tag
[
0
]});
}});
return
false
;
});
globalConfig
=
{
SOCKET_HOST
:
"{{ web_socket_host }}"
};
>>>>>>>
beta
function
log_search
(){
$
.
ajax
({
...
...
templates/jlog/log_online.html
View file @
09d3763a
...
...
@@ -136,11 +136,19 @@
BootstrapDialog
.
show
({
message
:
function
(){
var
option
,
exsit_message
;
var
escapeString
=
function
(
html
){
<<<<<<<
HEAD
var
elem
=
document
.
createElement
(
'div'
)
var
txt
=
document
.
createTextNode
(
html
)
elem
.
appendChild
(
txt
)
return
elem
.
innerHTML
;
}
=======
var
elem
=
document
.
createElement
(
'div'
);
var
txt
=
document
.
createTextNode
(
html
);
elem
.
appendChild
(
txt
);
return
elem
.
innerHTML
;
};
>>>>>>>
beta
var
tag
=
$
(
'<div id="log" style="height: 500px;overflow: auto;background-color: rgba(0, 0, 0, 0);"></div>'
);
//告诉服务器端有用户登录
socket
.
emit
(
'login'
,
{
userid
:
message
.
id
,
filename
:
message
.
filename
});
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment