2020-01-18 12:12:21 +00:00
<! DOCTYPE html >
< html lang = " <?php echo $constStr['language'] ; ?> " >
< head >
< title >< ? php echo $pretitle ; ?> - <?php echo $_SERVER['sitename'];?></title>
< meta charset = utf - 8 >
< meta http - equiv = X - UA - Compatible content = " IE=edge " >
< meta name = viewport content = " width=device-width,initial-scale=1 " >
< meta name = " keywords " content = " <?php echo $n_path ;?>,<?php if ( $p_path !='') echo $p_path .','; echo $_SERVER['sitename'] ;?>,OneManager,auth_by_逸笙 " >
< link rel = " icon " href = " <?php echo $_SERVER['base_path'] ;?>favicon.ico " type = " image/x-icon " />
< link rel = " shortcut icon " href = " <?php echo $_SERVER['base_path'] ;?>favicon.ico " type = " image/x-icon " />
< style type = " text/css " >
body { font - family : 'Helvetica Neue' , Helvetica , Arial , sans - serif ; font - size : 14 px ; line - height : 1 em ; background - color : #f7f7f9;color:#000}
a { color : #24292e;cursor:pointer;text-decoration:none}
. title { text - align : center ; margin - top : 1 rem ; letter - spacing : 2 px ; margin - bottom : 2 rem }
. title a { color : #333;text-decoration:none}
. list - wrapper { width : 80 % ; margin : 0 auto 40 px ; position : relative ; box - shadow : 0 0 32 px 0 rgb ( 128 , 128 , 128 ); border - radius : 15 px ;}
. list - container { position : relative ; overflow : hidden ; border - radius : 15 px ;}
. list - header - container { position : relative }
. list - header - container a . back - link { color : #000;display:inline-block;position:absolute;font-size:16px;margin:20px 10px;padding:10px 10px;vertical-align:middle;text-decoration:none}
. list - container , . list - header - container , . list - wrapper , a . back - link : hover , body { color : #24292e}
. list - header - container . table - header { margin : 0 ; border : 0 none ; padding : 30 px 60 px ; text - align : left ; font - weight : 400 ; color : #000;background-color:#f7f7f9}
. list - body - container { position : relative ; left : 0 ; overflow - x : hidden ; overflow - y : auto ; box - sizing : border - box ; background : #fff}
. list - table { width : 100 % ; padding : 20 px ; border - spacing : 0 }
. list - table tr { height : 40 px }
. list - table tr [ data - to ] : hover { background : #f1f1f1}
. list - table tr : first - child { background : #fff}
. list - table td , . list - table th { padding : 0 10 px ; text - align : left }
. list - table . size , . list - table . updated_at { text - align : right }
. list - table . file ion - icon { font - size : 15 px ; margin - right : 5 px ; vertical - align : middle }
< ? php if ( $_SERVER [ 'admin' ]) { ?>
. operate { display : inline - table ; line - height : 1.8 ; list - style : none ; cursor : pointer ;}
. operate ul { position : absolute ; display : none ; background : white ; border : 1 px #1296db solid;border-radius:5px;margin: -1px 0 0 0;padding:0 5px;color:#205D67;z-index: 2;}
. operate : hover ul { position : absolute ; display : inline - table ;}
. operate ul li { padding : 0 4 px ; list - style : none ; display : inline - table ;}
. operate_ul_li : hover { filter : alpha ( Opacity = 60 ); opacity : 0.5 ;}
. operate_ico { margin - bottom : - 3 px ;}
< ? php } ?>
. userLoginOut_ico { margin - bottom : - 3 px ;}
. userLoginOut_a { line - height : 1.8 ;}
. userLoginOut_a : hover { filter : alpha ( Opacity = 60 ); opacity : 0.5 ;}
. header { margin - top : 0.5 % ;}
. operatediv { position : absolute ; border : 1 px #CCCCCC;background-color:#FFFFCC;z-index:2;}
. operatediv div { margin : 16 px }
. operatediv_close { position : absolute ; right : 3 px ; top : 3 px ;}
. readme { padding : 8 px ; background - color : #fff;}
#readme{padding:20px;text-align:left}
@ media only screen and ( max - width : 480 px ){
. title { margin - bottom : 24 px }
. list - wrapper { width : 95 % ; margin - bottom : 24 px ;}
. list - table { padding : 8 px }
. list - table td , . list - table th { padding : 0 10 px ; text - align : left ; white - space : nowrap ; overflow : auto ; max - width : 80 px }
}
/* DisLog start */
. disLog_btn_submit {
width : 49 % ;
height : 39 px ;
border - right : 1 px solid #CCCCCC;
border - top : 1 px solid #CCCCCC;
line - height : 39 px ;
font - size : 1 rem ;
cursor : pointer ;
position : absolute ;
bottom : 0 px ;
left : 0 px ;
}
. disLog_btn_cancel : hover {
filter : alpha ( Opacity = 60 );
opacity : 0.5 ;
}
. disLog_btn_submit : hover {
filter : alpha ( Opacity = 60 );
opacity : 0.5 ;
}
. disLog_btn_cancel {
width : 50 % ;
height : 39 px ;
line - height : 39 px ;
font - size : 1 rem ;
cursor : pointer ;
position : absolute ;
bottom : 0 px ;
right : 0 px ;
border - top : 1 px solid #CCCCCC;
}
. disLogBg {
border : 1 px solid ;
width : 100 % ;
margin : auto ;
height : 100 % ;
position : fixed ;
left : 0 px ;
top : 0 px ;
background : rgb ( 0 , 0 , 0 , 0.6 );
overflow : auto ;
text - align : center ;
display : none ;
z - index : 3 ;
}
. disLogBody {
background : white ;
width : 250 px ;
height : 120 px ;
margin : auto ;
border - radius : 5 px ;
position : relative ;
}
. titleText {
font - size : 0.9 rem ;
padding - top : 30 px ;
}
. contentTest {
font - size : 0.8 rem ; margin - top : 15 px ;
}
. disLog_btn_close {
position : absolute ;
right :- 10 px ;
top :- 18 px ;
cursor : pointer ;
background : url ( " data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRCOEYxMDFENTRGNjExRTBCNzA3RTM1Q0E5NTYwM0RGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRCOEYxMDFFNTRGNjExRTBCNzA3RTM1Q0E5NTYwM0RGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REI4RjEwMUI1NEY2MTFFMEI3MDdFMzVDQTk1NjAzREYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REI4RjEwMUM1NEY2MTFFMEI3MDdFMzVDQTk1NjAzREYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6sfbEgAAAF9klEQVR42syZ6UskRxTAu9uezMRdj0THY+O6STDZ7MG62cSQgH/ACmFBA4KwERQE2S/6IeBnz+g3ERWjooJkUfJBQvZDPL8YjUdgFe/7AKOb9VzvuSqvmqqhpqZ6Zlpd2IJHt9NV3b969d6rV08ZISS9y02lN7IsGxkn+/lNb9aGtIGVpxqckCy4yjrQiLlSkY2CqhcAo6IwV4XrR4FcgqshjaoXBAsiojBXhfuwi4iTEZkDlv1BqgbgKIxKriZyrzKArAYplIMTJ6dln5pUA4CjH6cw7xE4E3NPNUrHuRg4G4idudpJPye35ChQQB6Oao0CmUEs+JqdnX0zLS3t64SEhAehoaE3goODrQ6H4+z4+Pi/7e3t5X+gNTY2To6Oju5B/zOQc/I+CuvwC4ldmYuFMqMxDHMN5AOQGJCPQe5EREQktba2/rS5uTlyfn6+53K5nIhrBPTV+Pj489zc3FQY9wDkM5CbIFaQUJD3mRWQ+UigcXGAtFMQ0RYL9ynI/by8vB82Njb+QgYaTGK/v7+/EsY/ArkNEs9AWgikEiigQgbg2YWBRIN8guHq6uqegVb+RRds8/Pzv4M5fEcgsSYjQa6TlVJ5SD1AurQhZJa3QO5VVFRk2Wy2A3TJtra21oVNBN75OcgNskLBIi3ygKz2gsnAj/BsMzMzUw4ODpbRFTVwml/gvYlkZaKYpVb9AQYx2osiL0icmppqR1fY7Hb7YWlpaSZ2OJA4kA9FWhQBqmQm4UT9twsKCtLBI0/5j5hMJk2qq6sR2CVyOr0cGTU1Nbn77e3tITAR97Pl5eU/4f0PGS2GEMcM8gVoIp4bQTzt/uTk5HORFuLi4twfLy4uRmACHpDgUO7nMTEx6OXLlxokbdDXBnH0CXGYWOKQFl+ACpnBdeIceGYPd3d3p0SAQ0NDKDo62g1RXl7uhmxpaXH/HhUVhWpqatDw8LAHIG49PT0V8I27xKPpMqv+AENIaEkA+er09PS1CPDs7Az19fUhq9XqhikrK9Ng6N/4WW1tLYIYiL1XG8O2xcXFFySA3yIh5xpZRV1AM/GoGBL1k0T2hxvsHujk5AR1dXVpS0ih2GXF9onhVldXtb54DNu2traGGTu0ktXzAFR8JAtaJ0VRhAkFzsAtFouUnJwsdXR0eD0HL5USExOl+Ph4CZZZ68tn7XrvZkON4iM119QKs3bo5mMEcnp62uvZ7OysBEssRUZGCuFwA3u1+zsaKDpg7oQTQsORr4SyoaFBgmRAu4dsRhPcKisrpba2NglMRNI7mB0dHb1iElvkL5uhu4iHF+/s7EzpBVyA87C5+vp61Nzc7GGTJSUlXiGItu7u7p+NeLEwDk5MTLSK4CDPc0PAMmpxDzvEwsIC/rCHd4M9ekHC/XlWVtb3ZE8OKA4Kd5L8/Pw02JqO9XYS1ltxKMHeigVDxsbGuvvNzc1pOw5tMJE/LrKTCPdi2E1+5QHB8DUAGufYUEJDUG9vrzYBs9mMBgYGEJiLNhbs+k1RUdFTePcXRvdiPpvRtJiRkfF4f39/gQXEu8LY2BgaGRlB6+vrXnGOQuJnuA/uS3eSwcHBahKg2WzG7C+bEWmR5oN3CwsLf8TpPQXAGz/+IBb43SsIU0j8jPbDY5aWll7Akj8iG4GhfNBvRl1VVZVzeHi4ftE0a2Zm5jdY8m9IghBHnNFwRs2fScLJ1och7+Xk5DxZWVnpNAIGzrEJiUE5jP+SS/dDmEQ1oDOJ3qkunD3V4Q9BUvAMHKMP7Ow13hEESekRhJYlsL/61NTUx8ypLo7AsQcm3VOdTOG4rUj2cy7WJD09PTYlJeVOUlLSt2FhYbFgWyH4xAnQu3Akne/s7Py7vb19FQ5Lb5hzsY05Fzu5XQQZAdSrLPBVBX+VBTtXXWBLILpw/spvSFDoQYIPq4yG5QBqM2whia12Ga7NSILqk0sAyVa4ZKY/W91iK1yixODC1S1+MK9VJ1cjFBUwXYIaIbrK+qAvUKpVXxVWJLh/KxVWvRejS4x9K4CX+tilAN/Vf0f8L8AA17MWcpwxFUIAAAAASUVORK5CYII= " );
font - size : 0 ;
width : 0 px ;
height : 0 px ;
padding : 16 px ;
border - style : none ;
}
. disLog_btn_close : hover {
filter : alpha ( Opacity = 60 );
opacity : 0.85 ;
}
/* DisLog end */
/* loginInputTextCss start */
. form - field {
display : block ;
width : 90 % ;
padding : 8 px 16 px ;
line - height : 25 px ;
font - size : 14 px ;
font - weight : 500 ;
font - family : inherit ;
border - radius : 6 px ;
- webkit - appearance : none ;
color : var ( -- input - color );
border : 1 px solid var ( -- input - border );
background : var ( -- input - background );
transition : border . 3 s ease ;
}
. form - field ::- webkit - input - placeholder {
color : var ( -- input - placeholder );
}
. form - field :- ms - input - placeholder {
color : var ( -- input - placeholder );
}
. form - field ::- ms - input - placeholder {
color : var ( -- input - placeholder );
}
. form - field :: placeholder {
color : var ( -- input - placeholder );
}
. form - field : focus {
outline : none ;
border - color : var ( -- input - border - focus );
}
. form - group {
position : relative ;
display : flex ;
width : 80 % ;
margin : auto ;
}
. form - group > span ,
. form - group . form - field {
white - space : nowrap ;
display : block ;
}
. form - group . form - field - first {
border - radius : 6 px 0 0 6 px ;
}
. form - group . form - field - last {
border - radius : 0 6 px 6 px 0 ;
}
. form - group . form - field {
position : relative ;
flex : 1 1 auto ;
width : 1 % ;
margin - top : 0 ;
margin - bottom : 0 ;
<!-- 代码重复 尚未解决 不可删除 start -->
-- input - color : #99A3BA;
-- input - border : #CDD9ED;
-- input - background : #fff;
-- input - placeholder : #CBD1DC;
-- input - border - focus : #275EFE;
-- group - color : var ( -- input - color );
-- group - border : var ( -- input - border );
-- group - background : #EEF4FF;
-- group - color - focus : #fff;
-- group - border - focus : var ( -- input - border - focus );
-- group - background - focus : #678EFE;
<!-- 代码重复 尚未解决 不可删除 end -->
}
. form - group > span {
text - align : center ;
padding : 8 px 12 px ;
font - size : 14 px ;
line - height : 25 px ;
color : var ( -- group - color );
background : var ( -- group - background );
border : 1 px solid var ( -- group - border );
transition : background . 3 s ease , border . 3 s ease , color . 3 s ease ;
cursor : pointer ;
<!-- 代码重复 尚未解决 不可删除 start -->
-- input - color : #99A3BA;
-- input - border : #CDD9ED;
-- input - background : #fff;
-- input - placeholder : #CBD1DC;
-- input - border - focus : #275EFE;
-- group - color : var ( -- input - color );
-- group - border : var ( -- input - border );
-- group - background : #EEF4FF;
-- group - color - focus : #fff;
-- group - border - focus : var ( -- input - border - focus );
-- group - background - focus : #678EFE;
<!-- 代码重复 尚未解决 不可删除 end -->
}
. form - group : focus - within > span {
color : var ( -- group - color - focus );
background : var ( -- group - background - focus );
border - color : var ( -- group - border - focus );
}
/* loginInputTextCss end */
/* 语言切换css start */
. cs - select {
display : inline - block ;
vertical - align : middle ;
position : relative ;
text - align : left ;
background : #fff;
width : 100 % ;
max - width : 150 px ;
user - select : none ;
float : right ;
margin - right : 0.5 % ;
}
. cs - select : focus {
outline : none ;
}
. cs - select select {
display : none ;
}
. cs - select span {
display : block ;
position : relative ;
cursor : pointer ;
padding : 0.5 em ;
white - space : nowrap ;
overflow : hidden ;
text - overflow : ellipsis ;
background : #fff;
border - radius : 6 px ;
}
/* Placeholder and selected option */
/* Options */
. cs - select . cs - options {
position : absolute ;
overflow : hidden ;
width : 100 % ;
background : #fff;
visibility : hidden ;
}
. cs - select . cs - active . cs - options {
visibility : visible ;
}
. cs - select ul {
list - style : none ;
margin : 0 ;
padding : 0 ;
width : 100 % ;
}
. cs - select ul li . cs - focus span {
background - color : #ddd;
}
. cs - select li . cs - optgroup ul {
padding - left : 1 em ;
}
. cs - select li . cs - optgroup > span {
cursor : default ;
}
. cs - skin - elastic {
background : transparent ;
color : #5b8583;
width : 120 px ;
}
. cs - skin - elastic > span {
background - color : #fff;
z - index : 1 ;
}
. cs - skin - elastic > span :: after {
font - family : 'icomoon' ;
- webkit - backface - visibility : hidden ;
backface - visibility : hidden ;
}
. cs - skin - elastic . cs - options {
overflow : visible ;
background : transparent ;
opacity : 1 ;
visibility : visible ;
padding - bottom : 1.25 em ;
pointer - events : none ;
z - index : 1 ;
}
. cs - skin - elastic . cs - active . cs - options {
pointer - events : auto ;
}
. cs - skin - elastic . cs - options > ul :: before {
position : absolute ;
width : 100 % ;
height : 100 % ;
left : 0 ;
top : 0 ;
- webkit - transform : scale3d ( 1 , 0 , 1 );
transform : scale3d ( 1 , 0 , 1 );
background : #fff;
- webkit - transform - origin : 50 % 0 % ;
transform - origin : 50 % 0 % ;
- webkit - transition : - webkit - transform 0.3 s ;
transition : transform 0.3 s ;
}
. cs - skin - elastic . cs - active . cs - options > ul :: before {
- webkit - transform : scale3d ( 1 , 1 , 1 );
transform : scale3d ( 1 , 1 , 1 );
- webkit - transition : none ;
transition : none ;
- webkit - animation : expand 0.6 s ease - out ;
animation : expand 0.6 s ease - out ;
}
. cs - skin - elastic . cs - options ul li {
opacity : 0 ;
- webkit - transform : translate3d ( 0 , - 25 px , 0 );
transform : translate3d ( 0 , - 25 px , 0 );
- webkit - transition : opacity 0.15 s , - webkit - transform 0.15 s ;
transition : opacity 0.15 s , transform 0.15 s ;
}
. cs - skin - elastic . cs - active . cs - options ul li {
- webkit - transform : translate3d ( 0 , 0 , 0 );
transform : translate3d ( 0 , 0 , 0 );
opacity : 1 ;
- webkit - transition : none ;
transition : none ;
- webkit - animation : bounce 0.6 s ease - out ;
animation : bounce 0.6 s ease - out ;
}
. cs - skin - elastic . cs - options span {
background - repeat : no - repeat ;
background - position : 1.5 em 50 % ;
background - size : 2 em auto ;
padding : 0.8 em 1 em 0.8 em 4 em ;
}
. cs - skin - elastic . cs - options span : hover ,
. cs - skin - elastic . cs - options li . cs - focus span ,
. cs - skin - elastic . cs - options . cs - selected span {
color : #1e4c4a;
}
@- webkit - keyframes expand {
0 % { - webkit - transform : scale3d ( 1 , 0 , 1 ); }
25 % { - webkit - transform : scale3d ( 1 , 1.2 , 1 ); }
50 % { - webkit - transform : scale3d ( 1 , 0.85 , 1 ); }
75 % { - webkit - transform : scale3d ( 1 , 1.05 , 1 ) }
100 % { - webkit - transform : scale3d ( 1 , 1 , 1 ); }
}
. cs - skin - elastic . cs - options li . flag - zh - cn span {
background - image : url ( " data:image/png;base64,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
}
. cs - skin - elastic . cs - options li . flag - en - us span {
background - image : url ( " data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANgAAACdCAYAAADWtbYyAAAgAElEQVR4nOy9B5wkR3k2/lR194TNeW93b/f2wl7OOUinLCEESCABRmALMDZBRCMM/pODLaIDCNsk+wORJLDgAwECIRRPJ50uJ13O+TaHid1d36+qq7qre2b2dk8J//4qaW5mdlL32/XU+77PG4rg5fHyeLEGTcRpRdcko2bJbOT76gmh08xk0yQzUddkWZZpmAYMg8I0DLi5/vN2dqA3N3zqsFnReWTo1BPbc0OHDrq5gez/puv1MsBeHi/MoMkErVk0m8SaVhIjsYgkOxaSeP1UYiSrCDUMQggoITBMDigTpmUiZpmwLBOmSUEpAZgD184hn8+hqcbEba/uODuxLr3nySceeyqTyfzh3nvv3Xz69Kn+P+cr+DLAXh7Pz7DqaozqpQtAzWtJ2eRVJNGykJhlteK7Cf+f/0PFEw4uATBKQY0AYBxclsnvDRgcYHBhGS5uumoa3vMXc9DSkEAmk8HQ0BBSqTQGBgcyW7Zs3bDzscfuO/3Uxu0PHN7/ZE9q5M9Kw5l/Bsfw8vjfOGgyYdStXQFKPUAlJ64gNFYGMO9kxNLtygdqHWfaiRIw/h8DGGNwXQbGb0zdgK7OOnziXYuxck6t/ynTNMWNa7gkpYnZgyNrm/YfW5sdzuKK+tZTmytSD6QJ2bIhl77/dDZzqjc1knsppfuyBnt5jG0Qi9KKrqmkrOsaEm94BSmbdAkxkrUBiPRB5J8kuLjGkveBBqO+FjMMA6ZpwLQsob0ScQtvfOVsfOS22aguD3+367oYGR7G+ac24OR3v4/BjVtgZ7NwOUg5MOXPutRw+g1y5jjYjsPZ9LZWK7blWbhH940MnejLZYf706lh/s0517VfyBnwMsDGM4xyC7GGFlK5eD7c4WaATiPxCTOIWdEIq7JpxuR63P+t1wux9vX39ff09PYdO3bk6NFv/+Dw4pR75O6zR7avH+g+eDqb+t/hqBvJhDnhxqvh5q4hFV1XkVjdNIDGPU0U1kbhcWGAQTMTDeoBzDBNNNZV4LPvvxS3XNlU9JCc/gGc+vZ/4fhP/wcjvb3IOQ4c1/UApjSif3TMPz7u7xGDghHqOAT5vGWN1F57Fbmv79z7v/fTn/zohRLhyyZiqUFMinjTBFK1bDGc4ZUk2bkasdrpxKxoEVeKD3/iUPG4eySBhgkTUZk0MBkdwRf3OMCvfo/XVDfhSGro7Lbh/j1P9J97Ku3Yf7hv8Nzms/nsn4WjTq2qmFExbSotn3IFYg2vQNLTUow53I4TJp2YweMawSQvGBIJ/Hu5iTi9oxbf+/wVmD25sugPOJu34fxXv46BnbthZLMwuA/HwSWuA0DkdxUbHIDEdkCIYyTbWo1Jb31zomrtGkz66T2XAXgZYC/KSLS2kuSUSxBruJokJ60lVnUniBFHwUWTZhGDXJX5lSUYHsli175urFzQHH77vC7gF78FKEVLLNFcWV7bPN9IXDacyXz0lmR9ZltmaMO+3Mh9A4xt/0Oq98keJ/+iaDhCYzRRO6PTqpiyksQbLjcqu65wjZrJjuMY3HLi5hhjbuRDCjMEhXJR72Ha60pOEaD5L3la59Jlk/Ddz16GprpY4fdlc3Dv/QVGfngPnP5+mJSKm0Go0ICEg4fftMvh/YQOagaSSKDq6itQ/4bXIdbSDBgGFi5atPJ5EGXJ8f9vgBGLkvIpU0ly6jUk0fZ6JFtXCUCFJlWRScT0BTmYTI7jYvu+84UAmzEVMEzh1vNV1zIMxAwv5lPu0MRCq2ztLBJbazOGa2IVp57ODv9qkDmbNuVGfn/YzpzMF8zyixvULE9UtqyaHatoW2nEq1fFq6cuo4n6Ttcl8Vw+D9u2gbwNlxQ5Z6I0BBldK43mdBQBGv/3pqtn4pufuBRV5bTwM2fPA1/7JtjW7aC5HExqwJIAEyBzCRxCwIpoMXGkHL2GgeScmai79Q0omz8H1PSmPX+tc9q06R3NExqOnT3T/XzIODpKAqwsHjfe/9pb/rJ50qRz997/q53rd+089kIcwIs9iFkVI5Wz58KsuZlWzr4RsdppABGgYgW+RakR8T/4RSRE+ALP7DiDv3393PDnJrUBNZUgfQNe7Id61DQHWY5yStoRKzEcB3UwWq+LV72L/8SN8ZpcP3POnLpkydOZWdPW2Y67f+PGjUf3PLvrZH9/32AulysEHjEoMSsrjXh1Vbx65hTDsLqMWMX8eHXn3GRN50IrUVVLBF3OSQHAdbjv4oBKF4lI94nICVtUGqVeGKtHL4HGf+Mdb1yCL35wBRJFFBee3Ajc9W2gtxf8iD25eYFofrMMirxLYUszEREtxkEXa2tB9eteg8q1q2FUVHj+nwQXvyUS8fjrX/WqxV/73nf/MMajH9coCbBUNuss7B180+u+8I5rb//MJ/PbNzyzdevWbZsTpvXr737nWzse2brlfw3giJFMxNtee7Xruq8m5VOuZFbdNMbJIwUqplY8jzouyipfcHiabOuzpwvfSAnY9CkgT20WAPMmB7+ZMA0bpmPAJA5sQuAy7yhc7+LE6kE7JpfXdLS++U2vJ4aJt771r5DNZDIDAwM957oHRj70T79HT18WhPsjHKxmPGHEq5tMK2GZsYRhmJaktmOghgl+3oQa0n9UE92blBxkDgnAJd7DdLrAl1BYRhdBlXE5vPvNS3HnB1fAMiIvcuTffQ9wz32A44oD48dk8BsHFydFhAbj9474uyMD147UYkZdDSqvvRLV118Do7FBok4eMmM+0BzGkKJkFYAXF2B8PLlzx1Mr3vHea9u+e5e1ZO2ly/gNwDvf/J535o/v3Xfwj488/CiJJ3793e9+d8e6dU/82QCO+xax6q5Oq2r65UZZ+02krOMSF/Fa28nDdRy+bBc6w9oK6JtBYwKaNsMYcPhYL87359FYY4W/fsFssHUbQSxTTAgBMh5UzXNzkSLvcHPH9SY4BxnxfBN+XOmde+CkM6BlSfFd8Xgs0dzc1NbY2ITW1h3oGT4PQgwQwwAMS2pVF8zJg3Fwu/zmgHEtyf/OqJxvJNBWClhEsXxSJL4MfBtRh1kJcEX/GDELCfDev1qOf/rAchhRq3BwGPjSvwFPrOdBL2Heeb8tNT/1NJdlSJAR6pMd/FeMsjKUrVqO6te9GrHODqHFoExF/YikBuPkx+K581aPdoWfy9ABVqD4U4nYA/axE586/e4Poe0734AxqV29ZLXPmD7zbTOmz+SAu/XWW/NPrHti/eZNm+87e/bc9rvv/v6TZ8+efVGpaGqWJepnvPlqJzu4MtG05CYaa5jmMBbnfoVj23Bt2w95anOlqLVT8LfRgOb7Fd6nRtJ57D5wHpctbQ2/b/Y0D7qMCefclJNEgMyxxcQxqAsqAAAJc28i2929yB4+hsTs6d7hcJ+DMRFsndPViJ17z4oJyJgEFnMEiBgzwCRRod8I148cZNDMQgUyqoEtkFiBTC7kapV6hX/vW29ZhM+/rwi4znWDfeyzILv3AJbFg16CGFJXikot5mkuzwoQJiM3E00LiflzUP36mxCfOwvMMDxQSSApmRUbsxbMX9hUVxc/19v7vM9ZQ7vnVnBc3ou/H02n+t5U3fh+nO+OZZ/eiIqrLwepqCj8EsMwOjs7Jy1duuQVq1avuu2Kq1/x9n0n7OnHBydWwB0ahD088HwfuJWsr66ZdP3KRM3UNzbMeNMX6me+8SvJ2hlvj9d1raVmeRMDM10xqZg2yYJMAW9EtRiCVVZOr5KDqMkXrPj8H043z5/VgpXzJ4Q/WVUF3PNrENczefgh8Pdy/4HfuKniMC2eg0B7uK6D2MRWJOfNKjiaweEM/rT+UCgFycvzo8Js5IChim3jN/5YaSl5pmoiuko+ri4nNoojVnxEJafHwG5+xRx88xOXIxGLfP7YCbjv/QiwZ784Ts9mpd6N+4w08Am5nByXwXEdcW+0taDub25DzW23wuqYKEFZqLWIZiaqx/y+vKysbMu6J+89dOLEudEu+cUMDiR+NGUAGgG0yXuOonjat
}
/* 语言切换css end */
/* 管理ul css end */
. operate_ico_encrypt {
background : url ( " data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABOElEQVQ4T9XSsU3DQBQG4P/ZICEqOwgKqoB8RShAIAZwJmAABgA7hIYBEAPQEBLDAAzABMkACAQFKc6CVBQgbFcICeyHTiiRndiRJSpc+v77fOf/Ef74UNF+05O7xNhR60y4Dh1xlZfNBRba/gETtwAeAJoiqsTUfG9Y5+PIBLB8eTP/mRh9AGeBY52qDRXPPwJwOKdFtZe97Y80MgEYntzUGLcJfa9ETm2gwobXr2o885wQtiJH3E0HWtLWdHQDV2TwSkdyEqMeNUWvEKhcyLXkC0sKUOF0cPhOm8VrsC8eh2ujryy2fSsmlmVa1ZnEW8PyVXYEGAVHHwfHr1IKMDuyq6DQFfV/CqT/Q+EVzM7TOiG+ZyDTc87o2gx9I3RXHzIt/I6sPGaGPa1KIvQCR5xMzEGZ/vMyPxiKoRFP/h7NAAAAAElFTkSuQmCC " );
font - size : 0 ;
width : 0 px ;
height : 0 px ;
padding : 8 px 8 px 8 px 8 px ;
border - style : none ;
}
. operate_ico_rename {
background : url ( " data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA1ElEQVQ4T2NkIBMITL1lwMDEKMAI0y847dYkRgbGXLzmMTI0vMtUbQSpQTFAYPJtByZmhqx3WaphhBwkNO12KAMDw6p3Wapgy8GE0PTb9SAaZjouQ2CaGRgYwt5lqa4myQBsmok2AF0zyMUw1xL0Ajabhabd/k9UGOByNlEG4NIMDnRCLoBG637k0EaOGaIMAGn4kKt6AFuUEjSAiMREXCDiSVCoBkD8/D/yXZZaOiHboeGz9F2WqjQ8IUFC9tZMBgbGNEIGQOT/z4JZBs+NxGnEVAUAnb6OlYdp+d4AAAAASUVORK5CYII= " );
font - size : 0 ;
width : 0 px ;
height : 0 px ;
padding : 8 px 8 px 8 px 8 px ;
border - style : none ;
}
. operate_ico_move {
background : url ( " data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABR0lEQVQ4T51Tu07DMBQ912VgbMvKBp6Y+AM+gsDIwNK6YuALWiZ2orioEhIraQcmpDLBxBcweURs1PQH7KAbklKVJA1kiRSfe3zPI4SKpxWaEW3g3XblRRmMyg7a2gQA+gBZiOTKduSkCFtI0AzNgWhA8UAixC05f+I9hvMz+bRKUroBA9vaxEzw2dl5+LMEHtjSRgP0OFO792sJeO3VFZnAAXdzJZ+XCZaxqYTMsMAqeVSVSn7G0iAQs7HUiswIBJk4/ETVQPLr1qHZJ49tImymRAnOITClZmgGQuAUhBf+TsAHv2dKpiksbo1MH4Q9EF4zgsA7TL4lXJtDOAS2J49rSwDGVsnxIsYiE1mrB6K1Jla0MfYOuqhA+czaIv2LIK8yG+oc4rTWhBvbldPaVeZuEHDpgTcCNBtW+2fKgVnEsD05KPPpC8/xjRKfuGcxAAAAAElFTkSuQmCC " );
font - size : 0 ;
width : 0 px ;
height : 0 px ;
padding : 8 px 8 px 8 px 8 px ;
border - style : none ;
}
. operate_ico_delete {
background : url ( " data:img/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAA6klEQVQ4T9WTPQ6CMBzFH+gBtI4uxthBPYRwCNkdaeIRjHoDp+LmziVk8wTGmDo4OJrqBbCmA6YgGIhxsFM/Xn/9f7xa+HJYefebXGwtwDHPFBDdGHWz+jcACcRcKTgqxtIU23WM9Fr6NLVfCMi+psG5ALIWAzwQAhhWLMceNrxUBIQL9Yjh3qc0KoJpjWT0de93AMJFKBn1dCR6bqM2u7LusXQEptBM7Z8AwWkj/d4kqYFRj3JdaASHzt3vn7Pt/FiDFhdRHGNR5APCxRjASjLaTsBpH2i7KmhRvisVLrCwS9LRkNzfWMXST94qvsAPzf8GAAAAAElFTkSuQmCC " );
font - size : 0 ;
width : 0 px ;
height : 0 px ;
padding : 8 px 8 px 8 px 8 px ;
border - style : none ;
}
/* 移动select Css */
. move_div_select {
border : 1 px solid #CDD9ED;
border - radius : 0 6 px 6 px 0 ;
}
. move_div_select : focus {
border : 1 px solid #275EFE;
}
/* 水平居中 Css */
. move_div_select span {
position : relative ;
top : 50 % ;
transform : translateY ( - 50 % );
}
/* 单选多选开关 Css */
@ supports ( - webkit - appearance : none ) or ( - moz - appearance : none ) {
input [ type = 'checkbox' ],
input [ type = 'radio' ] {
-- active : #275EFE;
-- active - inner : #fff;
-- input - border : #CDD9ED;
-- input - border - hover : #23C4F8;
-- background : #fff;
-- disabled : #F5F9FF;
-- disabled - inner : #E4ECFA;
-- shadow - inner : rgba ( 18 , 22 , 33 , . 1 );
height : 21 px ;
outline : none ;
position : relative ;
- webkit - appearance : none ;
- moz - appearance : none ;
margin : 0 ;
padding : 0 ;
box - shadow : none ;
cursor : pointer ;
height : 21 px ;
border : 1 px solid var ( -- input - border );
background : var ( -- background );
transition : background . 3 s ease , border - color . 3 s ease ;
}
input [ type = 'checkbox' ] : after ,
input [ type = 'radio' ] : after {
content : '' ;
display : block ;
left : 0 ;
top : 0 ;
position : absolute ;
transition : opacity . 2 s ease , - webkit - transform . 3 s ease , - webkit - filter . 3 s ease ;
transition : transform . 3 s ease , opacity . 2 s ease , filter . 3 s ease ;
transition : transform . 3 s ease , opacity . 2 s ease , filter . 3 s ease , - webkit - transform . 3 s ease , - webkit - filter . 3 s ease ;
}
input [ type = 'checkbox' ] : checked ,
input [ type = 'radio' ] : checked {
background : var ( -- active );
border - color : var ( -- active );
}
input [ type = 'checkbox' ] : checked : after ,
input [ type = 'radio' ] : checked : after {
- webkit - filter : drop - shadow ( 0 1 px 2 px var ( -- shadow - inner ));
filter : drop - shadow ( 0 1 px 2 px var ( -- shadow - inner ));
transition : opacity 0.3 s ease , - webkit - filter 0.3 s ease , - webkit - transform 0.6 s cubic - bezier ( 0.175 , 0.88 , 0.32 , 1.2 );
transition : opacity 0.3 s ease , filter 0.3 s ease , transform 0.6 s cubic - bezier ( 0.175 , 0.88 , 0.32 , 1.2 );
transition : opacity 0.3 s ease , filter 0.3 s ease , transform 0.6 s cubic - bezier ( 0.175 , 0.88 , 0.32 , 1.2 ), - webkit - filter 0.3 s ease , - webkit - transform 0.6 s cubic - bezier ( 0.175 , 0.88 , 0.32 , 1.2 );
}
input [ type = 'checkbox' ] : disabled ,
input [ type = 'radio' ] : disabled {
cursor : not - allowed ;
opacity : . 9 ;
background : var ( -- disabled );
}
input [ type = 'checkbox' ] : disabled : checked ,
input [ type = 'radio' ] : disabled : checked {
background : var ( -- disabled - inner );
border - color : var ( -- input - border );
}
input [ type = 'checkbox' ] : hover : not ( : checked ) : not ( : disabled ),
input [ type = 'radio' ] : hover : not ( : checked ) : not ( : disabled ) {
border - color : var ( -- input - border - hover );
}
input [ type = 'checkbox' ] : not ( . switch ),
input [ type = 'radio' ] : not ( . switch ) {
width : 21 px ;
}
input [ type = 'checkbox' ] : not ( . switch ) : after ,
input [ type = 'radio' ] : not ( . switch ) : after {
opacity : 0 ;
}
input [ type = 'checkbox' ] : not ( . switch ) : checked : after ,
input [ type = 'radio' ] : not ( . switch ) : checked : after {
opacity : 1 ;
}
input [ type = 'checkbox' ] : not ( . switch ) {
border - radius : 6 px ;
}
input [ type = 'checkbox' ] : not ( . switch ) : after {
width : 5 px ;
height : 9 px ;
border : 2 px solid var ( -- active - inner );
border - top : 0 ;
border - left : 0 ;
left : 7 px ;
top : 4 px ;
- webkit - transform : rotate ( 20 deg );
transform : rotate ( 20 deg );
}
input [ type = 'checkbox' ] : not ( . switch ) : checked : after {
- webkit - transform : rotate ( 43 deg );
transform : rotate ( 43 deg );
}
input [ type = 'checkbox' ] . switch {
width : 38 px ;
border - radius : 11 px ;
}
input [ type = 'checkbox' ] . switch : after {
left : 2 px ;
top : 2 px ;
border - radius : 50 % ;
width : 15 px ;
height : 15 px ;
background : var ( -- input - border );
}
input [ type = 'checkbox' ] . switch : checked : after {
background : var ( -- active - inner );
- webkit - transform : translateX ( 17 px );
transform : translateX ( 17 px );
}
input [ type = 'checkbox' ] . switch : disabled : not ( : checked ) : after {
opacity : . 6 ;
}
input [ type = 'radio' ] {
border - radius : 50 % ;
}
input [ type = 'radio' ] : after {
width : 19 px ;
height : 19 px ;
border - radius : 50 % ;
background : var ( -- active - inner );
opacity : 0 ;
- webkit - transform : scale ( 0.7 );
transform : scale ( 0.7 );
}
input [ type = 'radio' ] : checked : after {
background : var ( -- active - inner );
- webkit - transform : scale ( 0.5 );
transform : scale ( 0.5 );
}
}
/* 单选 Css */
. radio_ul {
list - style : none ;
padding - inline - start : 0 ;
padding - left : 25 px ;
}
. radio_ul li {
padding - left : 25 px ;
position : relative ;
float : left
}
. radio_ul li input [ type = 'checkbox' ],
. radio_ul li input [ type = 'radio' ] {
position : absolute ;
left : 0 ;
top : 0 ;
}
. radio_ul li input [ type = 'text' ] {
border : 0 ;
margin : 0 ;
padding : 0 ;
font - size : 14 px ;
color : #6C7486;
background : none ;
- webkit - appearance : none ;
- moz - appearance : none ;
outline : none ;
width : 50 px ;
}
textarea {
outline : none ;
resize : none ;
width : 100 % ;
overflow - x : hidden ;
border - radius : 6 px ;
}
</ style >
</ head >
< body >
< div class = " header " >
< ? php
if ( getConfig ( 'admin' ) != '' ) if ( ! $_SERVER [ 'admin' ] && ! $_SERVER [ 'user' ]) {
if ( getConfig ( 'adminloginpage' ) == '' ) { ?>
< a onclick = " login(); " class = " userLoginOut_a " >
< svg t = " 1577090686623 " class = " icon userLoginOut_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 5171 " width = " 16 " height = " 16 " >< path d = " M975.13472 794.5216A339.34336 339.34336 0 0 0 804.7616 501.11488a263.61856 263.61856 0 0 1-110.77632 52.59264 432.5888 432.5888 0 0 1 154.95168 333.02528v14.0288a487.28064 487.28064 0 0 0 124.44672-62.75072c1.47456-14.4384 2.05824-28.95872 1.75104-43.4688z " fill = " #1296db " p - id = " 5172 " ></ path >< path d = " M635.0848 61.8496a233.82016 233.82016 0 0 0-41.70752 4.20864 295.87456 295.87456 0 0 1 27.3408 455.7312h14.37696c127.3856 0 230.66624-103.2704 230.66624-230.66624 0-127.39584-103.2704-230.66624-230.66624-230.66624v1.40288z " fill = " #1296db " p - id = " 5173 " ></ path >< path d = " M613.35552 539.32032a381.75744 381.75744 0 0 1 188.61056 380.0064c-111.52384 73.58464-645.66272 72.16128-757.92384-4.1984a391.63904 391.63904 0 0 1-2.79552-45.23008 381.06112 381.06112 0 0 1 191.04768-330.57792c110.82752 90.7264 270.24384 90.7264 381.06112 0z " fill = " #1296db " p - id = " 5174 " ></ path >< path d = " M494.52032 613.9904l-24.8832 67.30752 25.23136 157.05088-66.60096 80.97792-70.11328-80.97792 29.09184-156.70272-29.7984-67.65568z " fill = " #1296db " p - id = " 5175 " ></ path >< path d = " M422.656 564.92032c-143.08352-0.77824-258.52928-117.26848-258.01728-260.352 0.512-143.09376 116.79744-258.74432 259.8912-258.48832 143.08352 0.256 258.93888 116.3264 258.93888 259.42016a259.42016 259.42016 0 0 1-260.8128 259.42016z " fill = " #1296db " p - id = " 5176 " ></ path ></ svg >
< ? php echo getconstStr ( 'Login' ); ?> </a>
< ? php } ?>
< ? php } elseif ( $_SERVER [ 'user' ]){ ?>
< a onclick = " userLoginOut() " class = " userLoginOut_a " >
< svg t = " 1577089283125 " class = " icon userLoginOut_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 2711 " width = " 16 " height = " 16 " >< path d = " M972.8 512l-307.2-256 0 153.6-358.4 0 0 204.8 358.4 0 0 153.6 307.2-256zM153.6 153.6l409.6 0 0-102.4-409.6 0c-56.32 0-102.4 46.08-102.4 102.4l0 716.8c0 56.32 46.08 102.4 102.4 102.4l409.6 0 0-102.4-409.6 0 0-716.8z " p - id = " 2712 " fill = " #1296db " ></ path ></ svg >
< ? php echo getconstStr ( 'Logout' ); ?> </a>
< ? php } else { ?>
< div class = " operate " >
< span class = " operate_ul_li " >
< svg t = " 1577090686623 " class = " icon userLoginOut_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 5171 " width = " 16 " height = " 16 " >< path d = " M975.13472 794.5216A339.34336 339.34336 0 0 0 804.7616 501.11488a263.61856 263.61856 0 0 1-110.77632 52.59264 432.5888 432.5888 0 0 1 154.95168 333.02528v14.0288a487.28064 487.28064 0 0 0 124.44672-62.75072c1.47456-14.4384 2.05824-28.95872 1.75104-43.4688z " fill = " #1296db " p - id = " 5172 " ></ path >< path d = " M635.0848 61.8496a233.82016 233.82016 0 0 0-41.70752 4.20864 295.87456 295.87456 0 0 1 27.3408 455.7312h14.37696c127.3856 0 230.66624-103.2704 230.66624-230.66624 0-127.39584-103.2704-230.66624-230.66624-230.66624v1.40288z " fill = " #1296db " p - id = " 5173 " ></ path >< path d = " M613.35552 539.32032a381.75744 381.75744 0 0 1 188.61056 380.0064c-111.52384 73.58464-645.66272 72.16128-757.92384-4.1984a391.63904 391.63904 0 0 1-2.79552-45.23008 381.06112 381.06112 0 0 1 191.04768-330.57792c110.82752 90.7264 270.24384 90.7264 381.06112 0z " fill = " #1296db " p - id = " 5174 " ></ path >< path d = " M494.52032 613.9904l-24.8832 67.30752 25.23136 157.05088-66.60096 80.97792-70.11328-80.97792 29.09184-156.70272-29.7984-67.65568z " fill = " #1296db " p - id = " 5175 " ></ path >< path d = " M422.656 564.92032c-143.08352-0.77824-258.52928-117.26848-258.01728-260.352 0.512-143.09376 116.79744-258.74432 259.8912-258.48832 143.08352 0.256 258.93888 116.3264 258.93888 259.42016a259.42016 259.42016 0 0 1-260.8128 259.42016z " fill = " #1296db " p - id = " 5176 " ></ path ></ svg >
< ? php echo getconstStr ( 'Operate' ); ?> </span><ul>
< ? php if ( isset ( $files [ 'folder' ])) { ?>
< li >< a onclick = " showdiv(event,'create',''); " class = " operate_ul_li " >
< svg t = " 1577090488526 " class = " icon operate_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 3520 " width = " 16 " height = " 16 " >< path d = " M639.488 863.232H198.144c-8.704 0-15.36-6.656-15.36-15.36V362.496c0-111.104 90.624-201.728 201.728-201.728h441.344c8.704 0 15.36 6.656 15.36 15.36v485.888c-0.512 111.104-91.136 201.216-201.728 201.216z m-425.984-30.72h425.472c93.696 0 170.496-76.288 171.008-170.496V191.488H384.512c-94.208 0-171.008 76.288-171.008 171.008v470.016z " p - id = " 3521 " fill = " #1296db " ></ path >< path d = " M512 672.256c-8.704 0-15.36-6.656-15.36-15.36V367.104c0-8.704 6.656-15.36 15.36-15.36s15.36 6.656 15.36 15.36v290.304c0 8.192-6.656 14.848-15.36 14.848z " p - id = " 3522 " fill = " #1296db " ></ path >< path d = " M656.896 527.36H367.104c-8.704 0-15.36-6.656-15.36-15.36s6.656-15.36 15.36-15.36h290.304c8.704 0 15.36 6.656 15.36 15.36s-7.168 15.36-15.872 15.36z " p - id = " 3523 " fill = " #1296db " ></ path ></ svg >
< ? php echo getconstStr ( 'Create' ); ?> </a>
</ li >
< li >< a onclick = " showdiv(event,'encrypt',''); " class = " operate_ul_li " >
< svg t = " 1577090538685 " class = " icon operate_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 4319 " width = " 16 " height = " 16 " >< path d = " M298.666667 426.666667V298.666667a213.333333 213.333333 0 1 1 426.666666 0v128h42.666667a85.333333 85.333333 0 0 1 85.333333 85.333333v341.333333a85.333333 85.333333 0 0 1-85.333333 85.333334H256a85.333333 85.333333 0 0 1-85.333333-85.333334v-341.333333a85.333333 85.333333 0 0 1 85.333333-85.333333h42.666667z m-42.666667 85.333333v341.333333h512v-341.333333H256z m128-85.333333h256V298.666667a128 128 0 0 0-256 0v128z m213.333333 170.666666h85.333334v170.666667h-85.333334v-170.666667z " fill = " #1296db " p - id = " 4320 " ></ path ></ svg >
< ? php echo getconstStr ( 'encrypt' ); ?> </a>
</ li >
< ? php } ?>
< li >< a class = " operate_ul_li " href = " <?php echo $_GET['preview'] ?'?preview&':'?';?>setup " >
< svg t = " 1577090621651 " class = " icon operate_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 4964 " width = " 16 " height = " 16 " >< path d = " M438.080965 74.008574c-10.078543 3.412726-17.059538 12.599969-17.742083 23.202445l-4.619204 73.963549c-25.931602 7.55814-50.971905 18.21485-74.854848 31.757285l-40.368406-45.721321c-7.088442-8.03193-18.322297-10.918677-28.293393-7.454786-26.353205 9.187243-50.079582 22.940478-70.500681 40.943504-20.36584 17.955954-37.007869 39.792285-49.341778 64.881706-4.725628 9.55461-3.202948 20.999266 3.830235 28.976962l48.924269 55.43352c-12.909008 23.62507-23.094998 48.874127-30.392194 75.487252l-60.943001-3.778046c-11.391445-0.577145-20.629853 5.143137-25.252127 14.802124-12.126178 25.143657-19.158339 51.548026-20.890796 78.843696-1.629103 27.244504 2.046612 54.384631 10.969842 80.736812 3.411703 10.027377 12.598946 17.009396 23.150256 17.691941l73.963549 4.618181c7.614421 25.931602 18.267039 51.074236 31.81459 74.855872l-45.828768 40.418548c-7.979742 7.090489-10.918677 18.269086-7.402597 28.293393 9.18622 26.354228 22.890336 50.030463 40.948621 70.659293 18.10945 20.36584 39.946804 37.007869 64.87966 49.29266 9.553587 4.720511 21.051455 3.201925 28.975938-3.88754l55.486732-48.873104c23.620977 12.915148 48.870034 23.044856 75.483158 30.342052l-3.77907 60.891835c-0.626263 10.658757 5.14416 20.577664 14.753005 25.195845 24.984021 12.181437 51.444673 19.266809 78.896908 20.998243 1.394766 0.107447 2.78237 0.184195 4.16588 0.246617L514.114662 904.237359c-0.300852-0.019443-0.611937-0.023536-0.910743-0.044002-14.805194-0.940418-29.29214-3.985778-43.3626-9.128915l4.043083-64.310701c0.841158-13.014408-8.03193-24.666796-20.787442-27.345812-35.485189-7.350408-68.347644-20.472264-97.689926-38.740326-9.818623-6.247284-22.571065-5.090948-31.284517 2.573615l-55.751768 49.133024c-12.650111-7.873318-23.935132-17.532305-33.698496-28.503171-9.767458-11.076266-17.84953-23.466458-24.200168-37.115316l48.399313-42.674938c9.813506-8.612145 11.759835-23.150256 4.568039-34.125215-19.636223-29.813003-33.599236-62.358233-41.473577-96.482425-2.622734-11.285021-12.332886-19.577894-23.934109-20.315698l-74.385151-4.619204c-3.306302-14.539134-4.513804-29.235858-3.622504-43.881416 0.947582-14.805194 3.991917-29.343305 9.081843-43.413765l64.306608 3.986801c13.124925 0.841158 24.726148-7.976672 27.347858-20.787442 7.40362-35.427884 20.472264-68.291362 38.845727-97.691973 6.141884-9.812483 5.143137-22.567995-2.520403-31.28247l-49.183166-55.746652c7.92346-12.650111 17.532305-23.940249 28.553313-33.652448 11.026124-9.762341 23.465434-17.845437 37.006845-24.199145l42.62582 48.296983c8.661264 9.762341 23.098068 11.757788 34.016745 4.619204 30.02585-19.687388 62.520939-33.650401 96.534614-41.46846 11.341303-2.626827 19.580964-12.389168 20.314675-23.940249l4.675486-74.329892c13.998829-3.194762 28.096918-4.460592 42.485627-3.690042L514.115686 62.818721C488.208643 61.620429 462.864418 65.596997 438.080965 74.008574zM962.115046 505.346463c-1.732457-27.29567-8.763594-53.700039-20.889773-78.843696-4.623297-9.657964-13.860682-15.379269-25.25315-14.802124l-60.943001 3.778046c-7.297197-26.613124-17.48421-51.862181-30.391171-75.487252l48.923246-55.43352c7.033184-7.977695 8.555863-19.422352 3.829212-28.976962-12.33391-25.090445-28.975938-46.925752-49.340755-64.881706-20.422122-18.003026-44.148499-31.756261-70.501704-40.943504-9.971096-3.463891-21.205974-0.576121-28.29237 7.454786l-40.368406 45.721321c-23.883967-13.542434-48.925293-24.199145-74.854848-31.757285l-4.619204-73.963549c-0.683569-10.602476-7.664563-19.789719-17.743106-23.202445-24.783453-8.4126-50.126654-12.388145-76.031651-11.190877l0 52.53961c14.388708-0.77055 28.486798 0.49528 42.485627 3.690042l4.676509 74.329892c0.733711 11.550057 8.972349 21.312398 20.314675 23.940249 34.012651 7.819083 66.508763 21.781072 96.534614 41.46846 10.917654 7.139607 25.354458 5.143137 34.015721-4.619204l42.62582-48.296983c13.540388 6.353708 25.980721 14.436804 37.006845 24.199145 11.021008 9.712199 20.629853 21.001313 28.554336 33.652448l-49.184189 55.746652c-7.662517 8.715
< ? php echo getconstStr ( 'Setup' ); ?> </a>
</ li >
< li >< a class = " operate_ul_li " onclick = " logout() " >
< svg t = " 1577089283125 " class = " icon operate_ico " viewBox = " 0 0 1024 1024 " version = " 1.1 " xmlns = " http://www.w3.org/2000/svg " p - id = " 2711 " width = " 16 " height = " 16 " >< path d = " M972.8 512l-307.2-256 0 153.6-358.4 0 0 204.8 358.4 0 0 153.6 307.2-256zM153.6 153.6l409.6 0 0-102.4-409.6 0c-56.32 0-102.4 46.08-102.4 102.4l0 716.8c0 56.32 46.08 102.4 102.4 102.4l409.6 0 0-102.4-409.6 0 0-716.8z " p - id = " 2712 " fill = " #1296db " ></ path ></ svg >
< ? php echo getconstStr ( 'Logout' ); ?> </a>
</ li >
</ ul ></ div >
< ? php
} ?>
< select class = " cs-select cs-skin-elastic " id = " languageSelect " name = " language " onchange = " changelanguage(this.options[this.options.selectedIndex].value) " >
< option value = " " > Language </ option >
< ? php
foreach ( $constStr [ 'languages' ] as $key1 => $value1 ) { ?>
< option value = " <?php echo $key1 ; ?> " < ? php echo $key1 == $constStr [ 'language' ] ? 'selected="selected"' : '' ?> ><?php echo $value1; ?></option>
< ? php
} ?>
</ select >
</ div >
< ? php
if ( $_SERVER [ 'needUpdate' ]) { ?>
< div style = 'position:absolute;' >< font color = 'red' >< ? php echo getconstStr ( 'NeedUpdate' ); ?> </font></div>
< ? php } ?>
< h1 class = " title " >
< a href = " <?php echo $_SERVER['base_path'] ; ?> " >< ? php echo $_SERVER [ 'sitename' ]; ?> </a>
</ h1 >
< div class = " list-wrapper " >
< div class = " list-container " >
< div class = " list-header-container " >
< ? php
if ( $path !== '/' ) {
$current_url = $_SERVER [ 'PHP_SELF' ];
while ( substr ( $current_url , - 1 ) === '/' ) {
$current_url = substr ( $current_url , 0 , - 1 );
}
if ( strpos ( $current_url , '/' ) !== FALSE ) {
$parent_url = substr ( $current_url , 0 , strrpos ( $current_url , '/' ));
} else {
$parent_url = $current_url ;
}
?>
< a href = " <?php echo $parent_url .'/'; ?> " class = " back-link " >
< ion - icon name = " arrow-back " ></ ion - icon >
</ a >
< ? php } ?>
< h3 class = " table-header " >< ? php echo str_replace ( '%23' , '#' , str_replace ( '&' , '&' , $path )); ?> </h3>
</ div >
< div class = " list-body-container " >
< ? php
if ( $_SERVER [ 'is_guestup_path' ] &&! $_SERVER [ 'admin' ]) { ?>
< div id = " upload_div " style = " margin:10px " >
< center >
< input id = " upload_file " type = " file " name = " upload_filename " onchange = " document.getElementById('flieText').value = this.value " style = " display:none " >
< input value = " <?php echo getconstStr('FileSelected'); ?> " type = " button " onclick = " document.getElementById('upload_file').click(); " >
< input id = " flieText " type = " text " style = " border:0;outline:none; " onclick = " document.getElementById('upload_file').click(); " value = " <?php echo getconstStr('NoFileSelected'); ?> " >
< input id = " upload_submit " onclick = " preup(); " value = " <?php echo getconstStr('Upload'); ?> " type = " button " >
< center >
</ div >
< ? php } else {
if ( $_SERVER [ 'ishidden' ] < 4 ) {
if ( isset ( $files [ 'error' ])) {
echo '<div style="margin:8px;">' . $files [ 'error' ][ 'message' ] . '</div>' ;
$statusCode = 404 ;
} else {
if ( isset ( $files [ 'file' ])) {
?>
< div style = " margin: 12px 4px 4px; text-align: center " >
< div style = " margin: 24px " >
< textarea id = " url " title = " url " rows = " 1 " style = " width: 100%; margin-top: 2px; " readonly >< ? php echo str_replace ( '%2523' , '%23' , str_replace ( '%26amp%3B' , '&' , spurlencode ( path_format ( $_SERVER [ 'base_path' ] . '/' . $path ), '/' ))); ?> </textarea>
< a href = " <?php echo path_format( $_SERVER['base_path'] . '/' . $path );// $files['@microsoft.graph.downloadUrl'] ?> " >< ion - icon name = " download " style = " line-height: 16px;vertical-align: middle; " ></ ion - icon >& nbsp ; < ? php echo getconstStr ( 'Download' ); ?> </a>
</ div >
< div style = " margin: 24px " >
< ? php $ext = strtolower ( substr ( $path , strrpos ( $path , '.' ) + 1 ));
$DPvideo = '' ;
if ( in_array ( $ext , $exts [ 'img' ])) {
echo '
< img src = " ' . $files['@microsoft.graph.downloadUrl'] . ' " alt = " ' . substr( $path , strrpos( $path , '/')) . ' " onload = " if(this.offsetWidth>document.getElementById( \ 'url \ ').offsetWidth) this.style.width= \ '100% \ '; " />
' ;
} elseif ( in_array ( $ext , $exts [ 'video' ])) {
//echo '<video src="' . $files['@microsoft.graph.downloadUrl'] . '" controls="controls" style="width: 100%"></video>';
$DPvideo = $files [ '@microsoft.graph.downloadUrl' ];
echo '<div id="video-a0"></div>' ;
} elseif ( in_array ( $ext , $exts [ 'music' ])) {
echo '
< audio src = " ' . $files['@microsoft.graph.downloadUrl'] . ' " controls = " controls " style = " width: 100% " ></ audio >
' ;
} elseif ( in_array ( $ext , [ 'pdf' ])) {
echo '
< embed src = " ' . $files['@microsoft.graph.downloadUrl'] . ' " type = " application/pdf " width = " 100% " height = 800 px " >
' ;
} elseif ( in_array ( $ext , $exts [ 'office' ])) {
echo '
< iframe id = " office-a " src = " https://view.officeapps.live.com/op/view.aspx?src=' . urlencode( $files['@microsoft.graph.downloadUrl'] ) . ' " style = " width: 100%;height: 800px " frameborder = " 0 " ></ iframe >
' ;
} elseif ( in_array ( $ext , $exts [ 'txt' ])) {
$txtstr = htmlspecialchars ( curl_request ( $files [ '@microsoft.graph.downloadUrl' ])[ 'body' ]);
?>
< div id = " txt " >
< ? php if ( $_SERVER [ 'admin' ]) { ?>
< form id = " txt-form " action = " " method = " POST " >
< a onclick = " enableedit(this); " id = " txt-editbutton " >< ? php echo getconstStr ( 'ClicktoEdit' ); ?> </a>
< a id = " txt-save " style = " display:none " >< ? php echo getconstStr ( 'Save' ); ?> </a>
< ? php } ?>
< textarea id = " txt-a " name = " editfile " readonly style = " width: 100%; margin-top: 2px; " < ? php if ( $_SERVER [ 'admin' ]) echo 'onchange="document.getElementById(\'txt-save\').onclick=function(){document.getElementById(\'txt-form\').submit();}"' ; ?> ><?php echo $txtstr;?></textarea>
< ? php if ( $_SERVER [ 'admin' ]) echo '</form>' ; ?>
</ div >
< ? php } elseif ( in_array ( $ext , [ 'md' ])) {
echo '
< div class = " markdown-body " id = " readme " >
< textarea id = " readme-md " style = " display:none; " > ' . curl_request($files[' @ microsoft . graph . downloadUrl '])[' body '] . ' </ textarea >
</ div >
' ;
} else {
echo '<span>' . getconstStr ( 'FileNotSupport' ) . '</span>' ;
} ?>
</ div >
</ div >
< ? php } elseif ( isset ( $files [ 'folder' ])) {
$filenum = $_POST [ 'filenum' ];
if ( ! $filenum and $files [ 'folder' ][ 'page' ]) $filenum = ( $files [ 'folder' ][ 'page' ] - 1 ) * 200 ;
$readme = false ; ?>
< table class = " list-table " id = " list-table " >
< tr id = " tr0 " >
< th class = " file " onclick = " sortby('a'); " >< ? php echo getconstStr ( 'File' ); ?> <button onclick="showthumbnails(this);"><?php echo getconstStr('ShowThumbnails'); ?></button></th>
< th class = " updated_at " width = " 25% " onclick = " sortby('time'); " >< ? php echo getconstStr ( 'EditTime' ); ?> </th>
< th class = " size " width = " 15% " onclick = " sortby('size'); " >< ? php echo getconstStr ( 'Size' ); ?> </th>
</ tr >
<!-- Dirs -->
< ? php //echo json_encode($files['children'], JSON_PRETTY_PRINT);
foreach ( $files [ 'children' ] as $file ) {
// Folders
if ( isset ( $file [ 'folder' ])) {
$filenum ++ ; ?>
< tr data - to id = " tr<?php echo $filenum ;?> " >
< td class = " file " >
< ? php if ( $_SERVER [ 'admin' ]) { ?>
< li class = " operate " >< span class = " operate_ul_li " >
< ? php echo getconstStr ( 'Operate' ); ?> </span>
< ul >
< li >< a class = " operate_ul_li " onclick = " showdiv(event,'encrypt',<?php echo $filenum ;?>); " >
< img alt = " " class = " operate_ico operate_ico_encrypt " />
< ? php echo getconstStr ( 'encrypt' ); ?> </a>
</ li >
< li >< a class = " operate_ul_li " onclick = " showdiv(event, 'rename',<?php echo $filenum ;?>); " >
< img alt = " " class = " operate_ico operate_ico_rename " />
< ? php echo getconstStr ( 'Rename' ); ?> </a>
</ li >
< li >< a class = " operate_ul_li " onclick = " showdiv(event, 'move',<?php echo $filenum ;?>); " >
< img alt = " " class = " operate_ico operate_ico_move " />
< ? php echo getconstStr ( 'Move' ); ?> </a>
</ li >
< li >< a class = " operate_ul_li " onclick = " showdiv(event, 'delete',<?php echo $filenum ;?>); " >
< img alt = " " class = " operate_ico operate_ico_delete " />
< ? php echo getconstStr ( 'Delete' ); ?> </a>
</ li >
</ ul >
</ li >& nbsp ; & nbsp ; & nbsp ;
< ? php } ?>
< ion - icon name = " folder " ></ ion - icon >
< a id = " file_a<?php echo $filenum ;?> " href = " <?php echo path_format( $_SERVER['base_path'] . '/' . $path . '/' . encode_str_replace( $file['name'] ) . '/'); ?> " >< ? php echo str_replace ( '&' , '&' , $file [ 'name' ]); ?> </a>
</ td >
< td class = " updated_at " id = " folder_time<?php echo $filenum ;?> " >< ? php echo time_format ( $file [ 'lastModifiedDateTime' ]); ?> </td>
< td class = " size " id = " folder_size<?php echo $filenum ;?> " >< ? php echo size_format ( $file [ 'size' ]); ?> </td>
</ tr >
< ? php }
}
// if ($filenum) echo '<tr data-to></tr>';
foreach ( $files [ 'children' ] as $file ) {
// Files
if ( isset ( $file [ 'file' ])) {
if ( $_SERVER [ 'admin' ] or ( substr ( $file [ 'name' ], 0 , 1 ) !== '.' and $file [ 'name' ] !== getConfig ( 'passfile' ) ) ) {
if ( strtolower ( $file [ 'name' ]) === 'readme.md' ) $readme = $file ;
2020-01-31 04:33:00 +00:00
if ( strtolower ( $file [ 'name' ]) === 'index.html' && ! $_SERVER [ 'admin' ]) {
2020-01-18 12:12:21 +00:00
$html = curl_request ( fetch_files ( spurlencode ( path_format ( $path . '/' . $file [ 'name' ]), '/' ))[ '@microsoft.graph.downloadUrl' ])[ 'body' ];
return output ( $html , 200 );
}
$filenum ++ ; ?>
< tr data - to id = " tr<?php echo $filenum ;?> " >
< td class = " file " >
< ? php if ( $_SERVER [ 'admin' ]) { ?>
< li class = " operate " >
< span class = " operate_ul_li " >< ? php echo getconstStr ( 'Operate' ); ?> </span>
< ul >
< li >< a class = " operate_ul_li " onclick = " showdiv(event, 'rename',<?php echo $filenum ;?>); " >
< img class = " operate_ico operate_ico_rename " alt = " " />
< ? php echo getconstStr ( 'Rename' ); ?> </a>
</ li >
< li >< a class = " operate_ul_li " onclick = " showdiv(event, 'move',<?php echo $filenum ;?>); " >
< img class = " operate_ico operate_ico_move " alt = " " />
< ? php echo getconstStr ( 'Move' ); ?> </a></li>
< li >< a class = " operate_ul_li " onclick = " showdiv(event, 'delete',<?php echo $filenum ;?>); " >
< img class = " operate_ico operate_ico_delete " alt = " " />
< ? php echo getconstStr ( 'Delete' ); ?> </a></li>
</ ul >
</ li >& nbsp ; & nbsp ; & nbsp ;
< ? php }
$ext = strtolower ( substr ( $file [ 'name' ], strrpos ( $file [ 'name' ], '.' ) + 1 ));
if ( in_array ( $ext , $exts [ 'music' ])) { ?>
< ion - icon name = " musical-notes " ></ ion - icon >
< ? php } elseif ( in_array ( $ext , $exts [ 'video' ])) { ?>
< ion - icon name = " logo-youtube " ></ ion - icon >
< ? php } elseif ( in_array ( $ext , $exts [ 'img' ])) { ?>
< ion - icon name = " image " ></ ion - icon >
< ? php } elseif ( in_array ( $ext , $exts [ 'office' ])) { ?>
< ion - icon name = " paper " ></ ion - icon >
< ? php } elseif ( in_array ( $ext , $exts [ 'txt' ])) { ?>
< ion - icon name = " clipboard " ></ ion - icon >
< ? php } elseif ( in_array ( $ext , $exts [ 'zip' ])) { ?>
< ion - icon name = " filing " ></ ion - icon >
< ? php } elseif ( $ext == 'iso' ) { ?>
< ion - icon name = " disc " ></ ion - icon >
< ? php } elseif ( $ext == 'apk' ) { ?>
< ion - icon name = " logo-android " ></ ion - icon >
< ? php } elseif ( $ext == 'exe' ) { ?>
< ion - icon name = " logo-windows " ></ ion - icon >
< ? php } else { ?>
< ion - icon name = " document " ></ ion - icon >
< ? php } ?>
< a id = " file_a<?php echo $filenum ;?> " name = " filelist " href = " <?php echo path_format( $_SERVER['base_path'] . '/' . $path . '/' . encode_str_replace( $file['name'] )); ?>?preview " target = _blank >< ? php echo str_replace ( '&' , '&' , $file [ 'name' ]); ?> </a>
< a href = " <?php echo path_format( $_SERVER['base_path'] . '/' . $path . '/' . str_replace('&','&', $file['name'] ));?> " >< ion - icon name = " download " ></ ion - icon ></ a >
</ td >
< td class = " updated_at " id = " file_time<?php echo $filenum ;?> " >< ? php echo time_format ( $file [ 'lastModifiedDateTime' ]); ?> </td>
< td class = " size " id = " file_size<?php echo $filenum ;?> " >< ? php echo size_format ( $file [ 'size' ]); ?> </td>
</ tr >
< ? php }
}
} ?>
</ table >
< ? php if ( $files [ 'folder' ][ 'childCount' ] > 200 ) {
$pagenum = $files [ 'folder' ][ 'page' ];
$maxpage = ceil ( $files [ 'folder' ][ 'childCount' ] / 200 );
$prepagenext = '
< form action = " " method = " POST " id = " nextpageform " >
< input type = " hidden " id = " pagenum " name = " pagenum " value = " '. $pagenum .' " >
< table width = 100 % border = 0 >
< tr >
< td width = 60 px align = center > ' ;
if ( $pagenum != 1 ) {
$prepagenum = $pagenum - 1 ;
$prepagenext .= '
< a onclick = " nextpage('. $prepagenum .'); " > '.getconstStr(' PrePage ').' </ a > ' ;
}
$prepagenext .= '
</ td >
< td class = " updated_at " > ' ;
for ( $page = 1 ; $page <= $maxpage ; $page ++ ) {
if ( $page == $pagenum ) {
$prepagenext .= '
< font color = red > ' . $page . ' </ font > ' ;
} else {
$prepagenext .= '
< a onclick = " nextpage('. $page .'); " > ' . $page . ' </ a > ' ;
}
}
$prepagenext = substr ( $prepagenext , 0 , - 1 );
$prepagenext .= '
</ td >
< td width = 60 px align = center > ' ;
if ( $pagenum != $maxpage ) {
$nextpagenum = $pagenum + 1 ;
$prepagenext .= '
< a onclick = " nextpage('. $nextpagenum .'); " > '.getconstStr(' NextPage ').' </ a > ' ;
}
$prepagenext .= '
</ td >
</ tr >
</ table >
</ form > ' ;
echo $prepagenext ;
}
if ( $_SERVER [ 'admin' ] || $_SERVER [ 'user' ]) { ?>
< div id = " upload_div " style = " margin:0 0 16px 0 " >
< center >
< input id = " upload_file " type = " file " name = " upload_filename " onchange = " splitFileName(this) " style = " display:none " >
< input value = " <?php echo getconstStr('FileSelected'); ?> " type = " button " onclick = " document.getElementById('upload_file').click(); " >
< input id = " flieText " type = " text " style = " border:0;outline:none; " onclick = " document.getElementById('upload_file').click(); " value = " <?php echo getconstStr('NoFileSelected'); ?> " >
< input id = " upload_submit " onclick = " preup(); " value = " <?php echo getconstStr('Upload'); ?> " type = " button " >
</ center >
</ div >
< ? php }
} else {
$statusCode = 500 ;
echo 'Unknown path or file.' ;
echo json_encode ( $files , JSON_PRETTY_PRINT );
}
if ( $readme ) {
echo '
</ div >
</ div >
</ div >
< div class = " list-wrapper " >
< div class = " list-container " >
< div class = " list-header-container " >
< div class = " readme " >
< svg class = " octicon octicon-book " viewBox = " 0 0 16 16 " version = " 1.1 " width = " 16 " height = " 16 " aria - hidden = " true " >< path fill - rule = " evenodd " d = " M3 5h4v1H3V5zm0 3h4V7H3v1zm0 2h4V9H3v1zm11-5h-4v1h4V5zm0 2h-4v1h4V7zm0 2h-4v1h4V9zm2-6v9c0 .55-.45 1-1 1H9.5l-1 1-1-1H2c-.55 0-1-.45-1-1V3c0-.55.45-1 1-1h5.5l1 1 1-1H15c.55 0 1 .45 1 1zm-8 .5L7.5 3H2v9h6V3.5zm7-.5H9.5l-.5.5V12h6V3z " ></ path ></ svg >
< span style = " line-height: 16px;vertical-align: top; " > '.$readme[' name '].' </ span >
< div class = " markdown-body " id = " readme " >
< textarea id = " readme-md " style = " display:none; " > ' . curl_request(fetch_files(spurlencode(path_format($path . ' / ' .$readme[' name ']),' / '))[' @ microsoft . graph . downloadUrl '])[' body '] . '
</ textarea >
</ div >
</ div >
' ;
}
}
} else {
echo '
< div style = " padding:20px " >
< center >
< form action = " " method = " post " >
< input name = " password1 " type = " password " placeholder = " '.getconstStr('InputPassword').' " >
< input type = " submit " value = " '.getconstStr('Submit').' " >
</ form >
</ center >
</ div > ' ;
$statusCode = 401 ;
}
} ?>
</ div >
</ div >
</ div >
< ? php
if ( $_SERVER [ 'admin' ]) {
if ( ! $_GET [ 'preview' ]) { ?>
< div id = " rename_div " class = " disLogBg " style = " display:none " >
< div class = " disLogBody " >
< img class = " disLog_btn_close " onclick = " closeDisLog(this) " alt = " " >
< div class = " titleText " id = " rename_label " ></ div >
< form id = " rename_form " onsubmit = " return submit_operate('rename'); " >
< input id = " rename_sid " name = " rename_sid " type = " hidden " value = " " >
< input id = " rename_hidden " name = " rename_oldname " type = " hidden " value = " " >
< div class = " form-group " style = " padding-top: 5%; " >
< input class = " form-field form-field-first basic-style " id = " rename_input " name = " rename_newname " type = " text " placeholder = " <?php echo getconstStr('Input'); ?> " />
< span class = " form-field-last basic-style " onclick = " document.getElementById('rename_operate_action').click(); " >< ? php echo getconstStr ( 'Rename' ); ?> </span>
< input name = " operate_action " type = " submit " id = " rename_operate_action " value = " <?php echo getconstStr('Rename'); ?> " style = " display:none " >
</ div >
</ form >
</ div >
</ div >
< div id = " delete_div " class = " disLogBg " style = " display: none; " >
< div class = " disLogBody " style = " height: 130px; " >
< img class = " disLog_btn_close " onclick = " closeDisLog(this) " alt = " " >
< div class = " disLogContent " >
< div class = " titleText " >
< span id = " delete_label " ></ span >< ? php echo getconstStr ( 'Delete' ); ?> ?
</ div >
< div class = " contentTest " >
< ? php echo getconstStr ( 'DeleteMsg' ); ?>
</ div >
< input id = " delete_sid " name = " delete_sid " type = " hidden " value = " " >
< input id = " delete_hidden " name = " delete_name " type = " hidden " value = " " >
</ div >
< form id = " delete_form " onsubmit = " return submit_operate('delete'); " >
< div class = " disLog_btn_submit " tabindex = " 1 " id = " delete_input " onclick = " document.getElementById('delete_operate_action').click(); " >< ? php echo getconstStr ( 'Submit' ); ?> </div>
< input name = " operate_action " type = " submit " id = " delete_operate_action " value = " <?php echo getconstStr('Submit'); ?> " style = " display:none " >
< div class = " disLog_btn_cancel " tabindex = " 0 " onclick = " closeDisLog(this) " >< ? php echo getconstStr ( 'Cancel' ); ?> </div>
</ form >
</ div >
</ div >
< div id = " encrypt_div " class = " disLogBg " style = " display:none " >
< div class = " disLogBody " >
< img class = " disLog_btn_close " onclick = " closeDisLog(this) " alt = " " >
< div class = " titleText " id = " encrypt_label " ></ div >
< form id = " encrypt_form " onsubmit = " return submit_operate('encrypt'); " >
< ? php if ( getConfig ( 'passfile' ) == '' ) { ?>
< div class = " contentTest " >
< ? php echo getconstStr ( 'SetpassfileBfEncrypt' ); ?>
</ div >
< div class = " form-group " style = " padding-top: 8%; " >
< div class = " disLog_btn_cancel " style = " margin-left:50%; " id = " encrypt_input " tabindex = " 0 " onclick = " closeDisLog(this) " >< ? php echo getconstStr ( 'Cancel' ); ?> </div>
</ div >
< ? php } else { ?>
< div class = " form-group " style = " padding-top: 5%; " >
< input class = " form-field form-field-first basic-style " id = " encrypt_input " name = " encrypt_newpass " type = " text " placeholder = " <?php echo getconstStr('InputPasswordUWant'); ?> " />
< span class = " form-field-last basic-style " onclick = " document.getElementById('encrypt_operate_action').click(); " >< ? php echo getconstStr ( 'encrypt' ); ?> </span>
< input name = " operate_action " type = " submit " id = " encrypt_operate_action " value = " <?php echo getconstStr('encrypt'); ?> " style = " display:none " >
</ div >
< ? php } ?>
< input id = " encrypt_sid " name = " encrypt_sid " type = " hidden " value = " " >
< input id = " encrypt_hidden " name = " encrypt_folder " type = " hidden " value = " " >
</ form >
</ div >
</ div >
< div id = " move_div " class = " disLogBg " style = " display:none " >
< div class = " disLogBody " >
< img class = " disLog_btn_close " onclick = " closeDisLog(this) " alt = " " >
< div class = " titleText " id = " move_label " ></ div >
< form id = " move_form " onsubmit = " return submit_operate('move'); " >
< input id = " move_sid " name = " move_sid " type = " hidden " value = " " >
< input id = " move_hidden " name = " move_name " type = " hidden " value = " " >
< div class = " form-group " style = " padding-top: 5%; " >
< select class = " cs-select cs-skin-elastic " id = " move_input " name = " move_folder " style = " width: 120px; " >
< ? php if ( $path != '/' ) { ?>
< option value = " /../ " >< ? php echo getconstStr ( 'ParentDir' ); ?> </option>
< ? php }
if ( isset ( $files [ 'children' ])) foreach ( $files [ 'children' ] as $file ) {
if ( isset ( $file [ 'folder' ])) { ?>
< option value = " <?php echo str_replace('&','&', $file['name'] );?> " >< ? php echo str_replace ( '&' , '&' , $file [ 'name' ]); ?> </option>
< ? php }
} ?>
</ select >
< span class = " form-field-first basic-style " onclick = " document.getElementById('move_operate_action').click(); " >< ? php echo getconstStr ( 'Move' ); ?> </span>
< input name = " operate_action " type = " submit " id = " move_operate_action " value = " <?php echo getconstStr('Move'); ?> " style = " display:none " >
</ div >
</ form >
</ div >
</ div >
< div id = " create_div " class = " disLogBg " style = " display:none " >
< div class = " disLogBody " id = " create_disLogBody " style = " height: 245px; " >
< img class = " disLog_btn_close " onclick = " closeDisLog(this) " src = " data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkRCOEYxMDFENTRGNjExRTBCNzA3RTM1Q0E5NTYwM0RGIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkRCOEYxMDFFNTRGNjExRTBCNzA3RTM1Q0E5NTYwM0RGIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6REI4RjEwMUI1NEY2MTFFMEI3MDdFMzVDQTk1NjAzREYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6REI4RjEwMUM1NEY2MTFFMEI3MDdFMzVDQTk1NjAzREYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6sfbEgAAAF9klEQVR42syZ6UskRxTA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 " >
< form id = " create_form " onsubmit = " return submit_operate('create'); " >
< div class = " disLogContent " >
< div class = " titleText " style = " padding-top: 1px " >
< label id = " create_label " ></ label >
</ div >
< div class = " contentTest " >
< ul class = " radio_ul " >
< li >
< input type = " radio " id = " create_type_file " name = " create_type " value = " file " checked onclick = " document.getElementById('create_text_div').style.display='';document.getElementById('create_disLogBody').style.height='245px'; " >
< input type = " text " readonly value = '<?php echo getconstStr(' File '); ?>' >
</ li >
< li >
< input type = " radio " id = " create_type_folder " name = " create_type " value = " folder " onclick = " document.getElementById('create_text_div').style.display='none';document.getElementById('create_disLogBody').style.height='140px'; " >
< input type = " text " readonly value = '<?php echo getconstStr(' Folder '); ?>' >
</ li >
</ ul >
< div class = " form-group " style = " padding-top: 5%; " >
< input class = " form-field basic-style " id = " create_input " name = " create_name " type = " text " placeholder = " <?php echo getconstStr('Name'); ?> " style = " border-radius: 6px; " />
</ div >
< div class = " form-group " style = " padding-top: 5%; " id = " create_text_div " >
< textarea class = " form-field basic-style " id = " create_text " name = " create_text " rows = " 3 " placeholder = " <?php echo getconstStr('Content'); ?> " style = " white-space: pre-wrap; " ></ textarea >
</ div >
</ div >
</ div >
< input id = " create_sid " name = " create_sid " type = " hidden " value = " " >
< input id = " create_hidden " type = " hidden " value = " " >
< div class = " disLog_btn_submit " tabindex = " 1 " id = " create_input " onclick = " document.getElementById('create_operate_action').click(); " >< ? php echo getconstStr ( 'Submit' ); ?> </div>
< input name = " operate_action " type = " submit " id = " create_operate_action " value = " <?php echo getconstStr('Create'); ?> " style = " display:none " >
< div class = " disLog_btn_cancel " tabindex = " 0 " onclick = " closeDisLog(this) " >< ? php echo getconstStr ( 'Cancel' ); ?> </div>
</ form >
</ div >
</ div >
< ? php }
} else {
if ( getConfig ( 'admin' ) != '' ) if ( getConfig ( 'adminloginpage' ) == '' ) { ?>
< div id = " login_div " class = " disLogBg " >
< div class = " disLogBody " >
< img class = " disLog_btn_close " onclick = " closeDisLog(this) " alt = " " >
< div class = " titleText " >< ? php echo getconstStr ( 'AdminLogin' ); ?> ! </div>
< form action = " <?php echo $_GET['preview'] ?'?preview&':'?';?>admin " method = " post " id = " loginForm " >
< div class = " form-group " style = " padding-top: 5%; " >
< input class = " form-field form-field-first basic-style " id = " login_input " name = " password1 " type = " password " onchange = " document.getElementById('loginForm').submit(); " placeholder = " <?php echo getconstStr('InputPassword'); ?> " />
< span class = " form-field-last basic-style " >< ? php echo getconstStr ( 'Login' ); ?> </span>
</ div >
</ form >
</ div >
</ div >
< ? php }
} ?>
< font id = " mask " color = " #f7f7f9 " >< ? php echo date ( " Y-m-d H:i:s " ) . " " . getconstStr ( 'Week' )[ date ( " w " )] . " " . $_SERVER [ 'REMOTE_ADDR' ]; ?> </font>
</ body >
< link rel = " stylesheet " href = " //unpkg.zhimg.com/github-markdown-css@3.0.1/github-markdown.css " >
< script type = " text/javascript " src = " //unpkg.zhimg.com/marked@0.6.2/marked.min.js " ></ script >
< ? php if ( ! $_SERVER [ 'user' ] && isset ( $files [ 'folder' ]) && $_SERVER [ 'is_guestup_path' ] && ! $_SERVER [ 'admin' ]) { ?> <script type="text/javascript" src="//cdn.bootcss.com/spark-md5/3.0.0/spark-md5.min.js"></script><?php } ?>
< script type = " text/javascript " >
var root = '<?php echo $_SERVER["base_path"]; ?>' ;
function path_format ( path ) {
path = '/' + path + '/' ;
while ( path . indexOf ( '//' ) !== - 1 ) {
path = path . replace ( '//' , '/' )
}
return path
}
document . querySelectorAll ( '.table-header' ) . forEach ( function ( e ) {
var path = e . innerText ;
var paths = path . split ( '/' );
if ( paths <= 2 ) return ;
e . innerHTML = '/ ' ;
for ( var i = 1 ; i < paths . length - 1 ; i ++ ) {
var to = path_format ( root + paths . slice ( 0 , i + 1 ) . join ( '/' ));
e . innerHTML += '<a href="' + to + '">' + paths [ i ] + '</a> / '
}
e . innerHTML += paths [ paths . length - 1 ];
e . innerHTML = e . innerHTML . replace ( / \s\ / \s $ / , '' )
});
function changelanguage ( str )
{
if ( str == 'Language' ) str = '' ;
document . cookie = 'language=' + str + '; path=/' ;
location . href = location . href ;
}
var $readme = document . getElementById ( 'readme' );
if ( $readme ) {
$readme . innerHTML = marked ( document . getElementById ( 'readme-md' ) . innerText )
}
< ? php
if ( $_GET [ 'preview' ]) { //is preview mode. 在预览时处理 ?>
var $url = document . getElementById ( 'url' );
if ( $url ) {
$url . innerHTML = location . protocol + '//' + location . host + $url . innerHTML ;
$url . style . height = $url . scrollHeight + 'px' ;
}
var $officearea = document . getElementById ( 'office-a' );
if ( $officearea ) {
$officearea . style . height = window . innerHeight + 'px' ;
}
var $textarea = document . getElementById ( 'txt-a' );
if ( $textarea ) {
$textarea . style . height = $textarea . scrollHeight + 'px' ;
}
< ? php if ( !! $DPvideo ) { ?>
function loadResources ( type , src , callback ) {
let script = document . createElement ( type );
let loaded = false ;
if ( typeof callback === 'function' ) {
script . onload = script . onreadystatechange = () => {
if ( ! loaded && ( ! script . readyState || / loaded | complete /. test ( script . readyState ))) {
script . onload = script . onreadystatechange = null ;
loaded = true ;
callback ();
}
}
}
if ( type === 'link' ) {
script . href = src ;
script . rel = 'stylesheet' ;
} else {
script . src = src ;
}
document . getElementsByTagName ( 'head' )[ 0 ] . appendChild ( script );
}
function addVideos ( videos ) {
let host = 'https://s0.pstatp.com/cdn/expire-1-M' ;
let unloadedResourceCount = 4 ;
let callback = (() => {
return () => {
if ( !-- unloadedResourceCount ) {
createDplayers ( videos );
}
};
})( unloadedResourceCount , videos );
loadResources (
'link' ,
host + '/dplayer/1.25.0/DPlayer.min.css' ,
callback
);
loadResources (
'script' ,
host + '/dplayer/1.25.0/DPlayer.min.js' ,
callback
);
loadResources (
'script' ,
host + '/hls.js/0.12.4/hls.light.min.js' ,
callback
);
loadResources (
'script' ,
host + '/flv.js/1.5.0/flv.min.js' ,
callback
);
}
function createDplayers ( videos ) {
for ( i = 0 ; i < videos . length ; i ++ ) {
console . log ( videos [ i ]);
new DPlayer ({
container : document . getElementById ( 'video-a' + i ),
screenshot : true ,
video : {
url : videos [ i ]
}
});
}
}
addVideos ([ '<?php echo $DPvideo;?>' ]);
< ? php }
} else { // view folder. 不预览,即浏览目录时?>
var sort = 0 ;
function showthumbnails ( obj ) {
var files = document . getElementsByName ( 'filelist' );
for ( $i = 0 ; $i < files . length ; $i ++ ) {
str = files [ $i ] . innerText ;
if ( str . substr ( - 1 ) == ' ' ) str = str . substr ( 0 , str . length - 1 );
if ( ! str ) return ;
strarry = str . split ( '.' );
ext = strarry [ strarry . length - 1 ] . toLowerCase ();
images = [ < ? php foreach ( $exts [ 'img' ] as $imgext ) echo '\'' . $imgext . '\', ' ; ?> ];
if ( images . indexOf ( ext ) >- 1 ) get_thumbnails_url ( str , files [ $i ]);
}
obj . disabled = 'disabled' ;
}
function get_thumbnails_url ( str , filea ) {
if ( ! str ) return ;
var nurl = window . location . href ;
if ( nurl . substr ( - 1 ) != " / " ) nurl += " / " ;
var xhr = new XMLHttpRequest ();
xhr . open ( " GET " , nurl + str + '?thumbnails' , true );
//xhr.setRequestHeader('x-requested-with','XMLHttpRequest');
xhr . send ( '' );
xhr . onload = function ( e ){
if ( xhr . status == 200 ) {
if ( xhr . responseText != '' ) filea . innerHTML = '<img src="' + xhr . responseText + '" alt="' + str + '">' ;
} else console . log ( xhr . status + '\n' + xhr . responseText );
}
}
function sortby ( string ) {
if ( string == 'a' ) if ( sort != 0 ) {
for ( i = 1 ; i <= < ? php echo $filenum ? $filenum : 0 ; ?> ; i++) document.getElementById('tr'+i).parentNode.insertBefore(document.getElementById('tr'+i),document.getElementById('tr'+(i-1)).nextSibling);
sort = 0 ;
return ;
} else return ;
sort1 = sort ;
sortby ( 'a' );
sort = sort1 ;
var a = [];
for ( i = 1 ; i <= < ? php echo $filenum ? $filenum : 0 ; ?> ; i++) {
a [ i ] = i ;
if ( !! document . getElementById ( 'folder_' + string + i )) {
var td1 = document . getElementById ( 'folder_' + string + i );
for ( j = 1 ; j < i ; j ++ ) {
if ( !! document . getElementById ( 'folder_' + string + a [ j ])) {
var c = false ;
if ( string == 'time' ) if ( sort ==- 1 ) {
c = ( td1 . innerText < document . getElementById ( 'folder_' + string + a [ j ]) . innerText );
} else {
c = ( td1 . innerText > document . getElementById ( 'folder_' + string + a [ j ]) . innerText );
}
if ( string == 'size' ) if ( sort == 2 ) {
c = ( size_reformat ( td1 . innerText ) < size_reformat ( document . getElementById ( 'folder_' + string + a [ j ]) . innerText ));
} else {
c = ( size_reformat ( td1 . innerText ) > size_reformat ( document . getElementById ( 'folder_' + string + a [ j ]) . innerText ));
}
if ( c ) {
document . getElementById ( 'tr' + i ) . parentNode . insertBefore ( document . getElementById ( 'tr' + i ), document . getElementById ( 'tr' + a [ j ]));
for ( k = i ; k > j ; k -- ) {
a [ k ] = a [ k - 1 ];
}
a [ j ] = i ;
break ;
}
}
}
}
if ( !! document . getElementById ( 'file_' + string + i )) {
var td1 = document . getElementById ( 'file_' + string + i );
for ( j = 1 ; j < i ; j ++ ) {
if ( !! document . getElementById ( 'file_' + string + a [ j ])) {
var c = false ;
if ( string == 'time' ) if ( sort ==- 1 ) {
c = ( td1 . innerText < document . getElementById ( 'file_' + string + a [ j ]) . innerText );
} else {
c = ( td1 . innerText > document . getElementById ( 'file_' + string + a [ j ]) . innerText );
}
if ( string == 'size' ) if ( sort == 2 ) {
c = ( size_reformat ( td1 . innerText ) < size_reformat ( document . getElementById ( 'file_' + string + a [ j ]) . innerText ));
} else {
c = ( size_reformat ( td1 . innerText ) > size_reformat ( document . getElementById ( 'file_' + string + a [ j ]) . innerText ));
}
if ( c ) {
document . getElementById ( 'tr' + i ) . parentNode . insertBefore ( document . getElementById ( 'tr' + i ), document . getElementById ( 'tr' + a [ j ]));
for ( k = i ; k > j ; k -- ) {
a [ k ] = a [ k - 1 ];
}
a [ j ] = i ;
break ;
}
}
}
}
}
if ( string == 'time' ) if ( sort ==- 1 ) {
sort = 1 ;
} else {
sort =- 1 ;
}
if ( string == 'size' ) if ( sort == 2 ) {
sort =- 2 ;
} else {
sort = 2 ;
}
}
function size_reformat ( str ) {
if ( str . substr ( - 1 ) == ' ' ) str = str . substr ( 0 , str . length - 1 );
if ( str . substr ( - 2 ) == 'GB' ) num = str . substr ( 0 , str . length - 3 ) * 1024 * 1024 * 1024 ;
if ( str . substr ( - 2 ) == 'MB' ) num = str . substr ( 0 , str . length - 3 ) * 1024 * 1024 ;
if ( str . substr ( - 2 ) == 'KB' ) num = str . substr ( 0 , str . length - 3 ) * 1024 ;
if ( str . substr ( - 2 ) == ' B' ) num = str . substr ( 0 , str . length - 2 );
return num ;
}
< ? php
}
if ( $_COOKIE [ 'timezone' ] == '' ) { // cookie timezone. 无时区写时区 ?>
var nowtime = new Date ();
var timezone = 0 - nowtime . getTimezoneOffset () / 60 ;
var expd = new Date ();
expd . setTime ( expd . getTime () + ( 2 * 60 * 60 * 1000 ));
var expires = " expires= " + expd . toGMTString ();
document . cookie = " timezone= " + timezone + " ; path=/; " + expires ;
if ( timezone != '8' ) {
alert ( 'Your timezone is ' + timezone + ', reload local timezone.' );
location . href = location . protocol + " // " + location . host + " <?php echo path_format( $_SERVER['base_path'] . '/' . $path );?> " ;
}
< ? php }
if ( $files [ 'folder' ][ 'childCount' ] > 200 ) { // more than 200. 有下一页 ?>
function nextpage ( num ) {
document . getElementById ( 'pagenum' ) . value = num ;
document . getElementById ( 'nextpageform' ) . submit ();
}
< ? php }
if ( getConfig ( 'admin' ) != '' ) { // close div. 有登录或操作, 需要关闭DIV时 ?>
function operatediv_close ( operate ) {
document . getElementById ( operate + '_div' ) . style . display = 'none' ;
}
< ? php }
if ( isset ( $files [ 'folder' ]) && ( $_SERVER [ 'is_guestup_path' ] || $_SERVER [ 'admin' ] || $_SERVER [ 'user' ])) { // is folder and is admin or guest upload path. 当前是admin登录或图床目录时 ?>
function uploadbuttonhide () {
document . getElementById ( 'upload_submit' ) . disabled = 'disabled' ;
document . getElementById ( 'upload_submit' ) . style . display = 'none' ;
}
function uploadbuttonshow () {
document . getElementById ( 'upload_submit' ) . disabled = '' ;
document . getElementById ( 'upload_submit' ) . style . display = '' ;
}
function preup () {
uploadbuttonhide ();
var files = document . getElementById ( 'upload_file' ) . files ;
if ( files . length < 1 ) {
uploadbuttonshow ();
return ;
};
var table1 = document . createElement ( 'table' );
document . getElementById ( 'upload_div' ) . appendChild ( table1 );
table1 . setAttribute ( 'class' , 'list-table' );
var timea = new Date () . getTime ();
var i = 0 ;
getuplink ( i );
function getuplink ( i ) {
var file = files [ i ];
var tr1 = document . createElement ( 'tr' );
table1 . appendChild ( tr1 );
tr1 . setAttribute ( 'data-to' , 1 );
var td1 = document . createElement ( 'td' );
tr1 . appendChild ( td1 );
td1 . setAttribute ( 'style' , 'width:30%' );
td1 . setAttribute ( 'id' , 'upfile_td1_' + timea + '_' + i );
td1 . innerHTML = file . name + '<br>' + size_format ( file . size );
var td2 = document . createElement ( 'td' );
tr1 . appendChild ( td2 );
td2 . setAttribute ( 'id' , 'upfile_td2_' + timea + '_' + i );
td2 . innerHTML = '<?php echo getconstStr(' GetUploadLink '); ?> ...' ;
if ( file . size > 100 * 1024 * 1024 * 1024 ) {
td2 . innerHTML = '<font color="red"><?php echo getconstStr(' UpFileTooLarge '); ?></font>' ;
uploadbuttonshow ();
return ;
}
var xhr1 = new XMLHttpRequest ();
xhr1 . open ( " GET " , '?action=upbigfile&upbigfilename=' + encodeURIComponent ( file . name ) + '&filesize=' + file . size + '&lastModified=' + file . lastModified );
xhr1 . setRequestHeader ( 'x-requested-with' , 'XMLHttpRequest' );
xhr1 . send ( null );
xhr1 . onload = function ( e ){
td2 . innerHTML = '<font color="red">' + xhr1 . responseText + '</font>' ;
if ( xhr1 . status == 200 ) {
var html = JSON . parse ( xhr1 . responseText );
if ( ! html [ 'uploadUrl' ]) {
td2 . innerHTML = '<font color="red">' + xhr1 . responseText + '</font><br>' ;
uploadbuttonshow ();
} else {
td2 . innerHTML = '<?php echo getconstStr(' UploadStart '); ?> ...' ;
binupfile ( file , html [ 'uploadUrl' ], timea + '_' + i );
}
}
if ( i < files . length - 1 ) {
i ++ ;
getuplink ( i );
}
}
}
}
function size_format ( num ) {
if ( num > 1024 ) {
num = num / 1024 ;
} else {
return num . toFixed ( 2 ) + ' B' ;
}
if ( num > 1024 ) {
num = num / 1024 ;
} else {
return num . toFixed ( 2 ) + ' KB' ;
}
if ( num > 1024 ) {
num = num / 1024 ;
} else {
return num . toFixed ( 2 ) + ' MB' ;
}
return num . toFixed ( 2 ) + ' GB' ;
}
function binupfile ( file , url , tdnum ){
var label = document . getElementById ( 'upfile_td2_' + tdnum );
var reader = new FileReader ();
var StartStr = '' ;
var MiddleStr = '' ;
var StartTime ;
var EndTime ;
var newstartsize = 0 ;
if ( !! file ){
var asize = 0 ;
var totalsize = file . size ;
var xhr2 = new XMLHttpRequest ();
xhr2 . open ( " GET " , url );
//xhr2.setRequestHeader('x-requested-with','XMLHttpRequest');
xhr2 . send ( null );
xhr2 . onload = function ( e ){
if ( xhr2 . status == 200 ) {
var html = JSON . parse ( xhr2 . responseText );
var a = html [ 'nextExpectedRanges' ][ 0 ];
newstartsize = Number ( a . slice ( 0 , a . indexOf ( " - " )) );
StartTime = new Date ();
< ? php if ( $_SERVER [ 'admin' ] || $_SERVER [ 'user' ]) { ?>
asize = newstartsize ;
< ? php } ?>
if ( newstartsize == 0 ) {
StartStr = '<?php echo getconstStr(' UploadStartAt '); ?>:' + StartTime . toLocaleString () + '<br>' ;
} else {
StartStr = '<?php echo getconstStr(' LastUpload '); ?>' + size_format ( newstartsize ) + '<br><?php echo getconstStr(' ThisTime ').getconstStr(' UploadStartAt '); ?>:' + StartTime . toLocaleString () + '<br>' ;
}
var chunksize = 5 * 1024 * 1024 ; // chunk size, max 60M. 每小块上传大小, 最大60M, 微软建议10M
if ( totalsize > 200 * 1024 * 1024 ) chunksize = 10 * 1024 * 1024 ;
function readblob ( start ) {
var end = start + chunksize ;
var blob = file . slice ( start , end );
reader . readAsArrayBuffer ( blob );
}
readblob ( asize );
< ? php if ( ! $_SERVER [ 'admin' ] && ! $_SERVER [ 'user' ]) { ?>
var spark = new SparkMD5 . ArrayBuffer ();
< ? php } ?>
reader . onload = function ( e ){
var binary = this . result ;
< ? php if ( ! $_SERVER [ 'admin' ] && ! $_SERVER [ 'user' ]) { ?>
spark . append ( binary );
if ( asize < newstartsize ) {
asize += chunksize ;
readblob ( asize );
return ;
}
< ? php } ?>
var xhr = new XMLHttpRequest ();
xhr . open ( " PUT " , url , true );
//xhr.setRequestHeader('x-requested-with','XMLHttpRequest');
bsize = asize + e . loaded - 1 ;
xhr . setRequestHeader ( 'Content-Range' , 'bytes ' + asize + '-' + bsize + '/' + totalsize );
xhr . upload . onprogress = function ( e ){
if ( e . lengthComputable ) {
var tmptime = new Date ();
var tmpspeed = e . loaded * 1000 / ( tmptime . getTime () - C_starttime . getTime ());
var remaintime = ( totalsize - asize - e . loaded ) / tmpspeed ;
label . innerHTML = StartStr + '<?php echo getconstStr(' Upload '); ?> ' + size_format ( asize + e . loaded ) + ' / ' + size_format ( totalsize ) + ' = ' + (( asize + e . loaded ) * 100 / totalsize ) . toFixed ( 2 ) + '% <?php echo getconstStr(' AverageSpeed '); ?>:' + size_format (( asize + e . loaded - newstartsize ) * 1000 / ( tmptime . getTime () - StartTime . getTime ())) + '/s<br><?php echo getconstStr(' CurrentSpeed '); ?> ' + size_format ( tmpspeed ) + '/s <?php echo getconstStr(' Expect '); ?> ' + remaintime . toFixed ( 1 ) + 's' ;
}
}
var C_starttime = new Date ();
xhr . onload = function ( e ){
if ( xhr . status < 500 ) {
var response = JSON . parse ( xhr . responseText );
if ( response [ 'size' ] > 0 ) {
// contain size, upload finish. 有size说明是最终返回, 上传结束
var xhr3 = new XMLHttpRequest ();
xhr3 . open ( " GET " , '?action=del_upload_cache&filename=.' + file . lastModified + '_' + file . size + '_' + encodeURIComponent ( file . name ) + '.tmp' );
xhr3 . setRequestHeader ( 'x-requested-with' , 'XMLHttpRequest' );
xhr3 . send ( null );
xhr3 . onload = function ( e ){
console . log ( xhr3 . responseText + ',' + xhr3 . status );
}
< ? php if ( ! $_SERVER [ 'admin' ] && ! $_SERVER [ 'user' ]) { ?>
var filemd5 = spark . end ();
var xhr4 = new XMLHttpRequest ();
xhr4 . open ( " GET " , '?action=uploaded_rename&filename=' + encodeURIComponent ( file . name ) + '&filemd5=' + filemd5 );
xhr4 . setRequestHeader ( 'x-requested-with' , 'XMLHttpRequest' );
xhr4 . send ( null );
xhr4 . onload = function ( e ){
console . log ( xhr4 . responseText + ',' + xhr4 . status );
var filename ;
if ( xhr4 . status == 200 ) filename = JSON . parse ( xhr4 . responseText )[ 'name' ];
if ( xhr4 . status == 409 ) filename = filemd5 + file . name . substr ( file . name . indexOf ( '.' ));
if ( filename == '' ) {
alert ( '<?php echo getconstStr(' UploadErrorUpAgain '); ?>' );
uploadbuttonshow ();
return ;
}
var lasturl = location . href ;
if ( lasturl . substr ( lasturl . length - 1 ) != '/' ) lasturl += '/' ;
lasturl += filename + '?preview' ;
//alert(lasturl);
window . open ( lasturl );
}
< ? php } ?>
EndTime = new Date ();
MiddleStr = '<?php echo getconstStr(' EndAt '); ?>:' + EndTime . toLocaleString () + '<br>' ;
if ( newstartsize == 0 ) {
MiddleStr += '<?php echo getconstStr(' AverageSpeed '); ?>:' + size_format ( totalsize * 1000 / ( EndTime . getTime () - StartTime . getTime ())) + '/s<br>' ;
} else {
MiddleStr += '<?php echo getconstStr(' ThisTime ').getconstStr(' AverageSpeed '); ?>:' + size_format (( totalsize - newstartsize ) * 1000 / ( EndTime . getTime () - StartTime . getTime ())) + '/s<br>' ;
}
document . getElementById ( 'upfile_td1_' + tdnum ) . innerHTML = '<font color="green"><?php if (!$_SERVER[' admin '] && !$_SERVER[' user ']) { ?>' + filemd5 + '<br><?php } ?>' + document . getElementById ( 'upfile_td1_' + tdnum ) . innerHTML + '<br><?php echo getconstStr(' UploadComplete '); ?></font>' ;
label . innerHTML = StartStr + MiddleStr ;
uploadbuttonshow ();
< ? php if ( $_SERVER [ 'admin' ] || $_SERVER [ 'user' ] ) { ?>
addelement ( response );
< ? php } ?>
} else {
if ( ! response [ 'nextExpectedRanges' ]) {
label . innerHTML = '<font color="red">' + xhr . responseText + '</font><br>' ;
} else {
var a = response [ 'nextExpectedRanges' ][ 0 ];
asize = Number ( a . slice ( 0 , a . indexOf ( " - " )) );
readblob ( asize );
}
} } else readblob ( asize );
}
xhr . send ( binary );
}
} else {
if ( window . location . pathname . indexOf ( '%23' ) > 0 || file . name . indexOf ( '%23' ) > 0 ) {
label . innerHTML = '<font color="red"><?php echo getconstStr(' UploadFail23 '); ?></font>' ;
} else {
label . innerHTML = '<font color="red">' + xhr2 . responseText + '</font>' ;
}
uploadbuttonshow ();
}
}
}
}
< ? php }
if ( $_SERVER [ 'admin' ]) { // admin login. 管理登录后 ?>
function logout () {
2020-01-18 15:07:04 +00:00
document . cookie = " admin=; path=/ " ;
2020-01-18 12:12:21 +00:00
location . href = location . href ;
}
function enableedit ( obj ) {
document . getElementById ( 'txt-a' ) . readOnly =! document . getElementById ( 'txt-a' ) . readOnly ;
//document.getElementById('txt-editbutton').innerHTML=(document.getElementById('txt-editbutton').innerHTML=='取消编辑')?'点击后编辑':'取消编辑';
obj . innerHTML = ( obj . innerHTML == '<?php echo getconstStr(' CancelEdit '); ?>' ) ? '<?php echo getconstStr(' ClicktoEdit '); ?>' : '<?php echo getconstStr(' CancelEdit '); ?>' ;
document . getElementById ( 'txt-save' ) . style . display = document . getElementById ( 'txt-save' ) . style . display == '' ? 'none' : '' ;
}
< ? php if ( ! $_GET [ 'preview' ]) { ?>
function showdiv ( event , action , num ) {
var $operatediv = document . getElementsByName ( 'operatediv' );
for ( $i = 0 ; $i < $operatediv . length ; $i ++ ) {
$operatediv [ $i ] . style . display = 'none' ;
}
if ( num == '' ) {
var str = '' ;
} else {
var str = document . getElementById ( 'file_a' + num ) . innerText ;
if ( str == '' ) {
str = document . getElementById ( 'file_a' + num ) . getElementsByTagName ( " img " )[ 0 ] . alt ;
if ( str == '' ) {
alert ( '<?php echo getconstStr(' GetFileNameFail '); ?>' );
operatediv_close ( action );
return ;
}
}
if ( str . substr ( - 1 ) == ' ' ) str = str . substr ( 0 , str . length - 1 );
}
this . openDisLog ( action + '_div' );
document . getElementById ( action + '_label' ) . innerText = str ; //.replace(/&/,'&');
document . getElementById ( action + '_sid' ) . value = num ;
document . getElementById ( action + '_hidden' ) . value = str ;
if ( action == 'rename' ) document . getElementById ( action + '_input' ) . value = str ;
document . getElementById ( action + '_input' ) . focus ();
}
function submit_operate ( str ) {
var num = document . getElementById ( str + '_sid' ) . value ;
var xhr = new XMLHttpRequest ();
xhr . open ( " GET " , '?' + serializeForm ( str + '_form' ));
xhr . setRequestHeader ( 'x-requested-with' , 'XMLHttpRequest' );
xhr . send ( null );
xhr . onload = function ( e ){
var html ;
if ( xhr . status < 300 ) {
if ( str == 'rename' ) {
html = JSON . parse ( xhr . responseText );
var file_a = document . getElementById ( 'file_a' + num );
file_a . innerText = html . name ;
file_a . href = ( file_a . href . substr ( - 8 ) == '?preview' ) ? ( html . name . replace ( / #/,'%23')+'?preview'):(html.name.replace(/#/,'%23')+'/');
}
if ( str == 'move' || str == 'delete' ) document . getElementById ( 'tr' + num ) . parentNode . removeChild ( document . getElementById ( 'tr' + num ));
if ( str == 'create' ) {
html = JSON . parse ( xhr . responseText );
addelement ( html );
}
} else alert ( xhr . status + '\n' + xhr . responseText );
document . getElementById ( str + '_div' ) . style . display = 'none' ;
}
return false ;
}
function getElements ( formId ) {
var form = document . getElementById ( formId );
var elements = new Array ();
var tagElements = form . getElementsByTagName ( 'input' );
for ( var j = 0 ; j < tagElements . length ; j ++ ){
elements . push ( tagElements [ j ]);
}
var tagElements = form . getElementsByTagName ( 'select' );
for ( var j = 0 ; j < tagElements . length ; j ++ ){
elements . push ( tagElements [ j ]);
}
var tagElements = form . getElementsByTagName ( 'textarea' );
for ( var j = 0 ; j < tagElements . length ; j ++ ){
elements . push ( tagElements [ j ]);
}
return elements ;
}
function serializeElement ( element ) {
var method = element . tagName . toLowerCase ();
var parameter ;
if ( method == 'select' ) {
parameter = [ element . name , element . value ];
}
switch ( element . type . toLowerCase ()) {
case 'submit' :
case 'hidden' :
case 'password' :
case 'text' :
case 'date' :
case 'textarea' :
parameter = [ element . name , element . value ];
break ;
case 'checkbox' :
case 'radio' :
if ( element . checked ){
parameter = [ element . name , element . value ];
}
break ;
}
if ( parameter ) {
var key = encodeURIComponent ( parameter [ 0 ]);
if ( key . length == 0 ) return ;
if ( parameter [ 1 ] . constructor != Array ) parameter [ 1 ] = [ parameter [ 1 ]];
var values = parameter [ 1 ];
var results = [];
for ( var i = 0 ; i < values . length ; i ++ ) {
results . push ( key + '=' + encodeURIComponent ( values [ i ]));
}
return results . join ( '&' );
}
}
function serializeForm ( formId ) {
var elements = getElements ( formId );
var queryComponents = new Array ();
for ( var i = 0 ; i < elements . length ; i ++ ) {
var queryComponent = serializeElement ( elements [ i ]);
if ( queryComponent ) {
queryComponents . push ( queryComponent );
}
}
return queryComponents . join ( '&' );
}
< ? php }
} else if ( getConfig ( 'admin' ) != '' ) if ( getConfig ( 'adminloginpage' ) == '' ) { ?>
function login () {
this . openDisLog ( 'login_div' );
document . getElementById ( 'login_input' ) . focus ();
}
< ? php } if ( getConfig ( 'user' ) != '' ) if ( $_SERVER [ 'user' ]){ ?>
function userLoginOut () {
document . cookie = " <?php echo $_SERVER['function_name'] . 'user';?>=; path=/ " ;
location . href = location . href ;
}
< ? php } if ( getConfig ( 'user' ) != '' && getConfig ( 'user' ) != '' ) if ( $_SERVER [ 'user' ] || $_SERVER [ 'admin' ]){ ?>
function addelement ( html ) {
var tr1 = document . createElement ( 'tr' );
tr1 . setAttribute ( 'data-to' , 1 );
var td1 = document . createElement ( 'td' );
td1 . setAttribute ( 'class' , 'file' );
var a1 = document . createElement ( 'a' );
a1 . href = html . name . replace ( / #/,'%23');
a1 . innerText = html . name ;
a1 . target = '_blank' ;
var td2 = document . createElement ( 'td' );
td2 . setAttribute ( 'class' , 'updated_at' );
td2 . innerText = html . lastModifiedDateTime . replace ( / T / , ' ' ) . replace ( / Z / , '' );
var td3 = document . createElement ( 'td' );
td3 . setAttribute ( 'class' , 'size' );
td3 . innerText = size_format ( html . size );
if ( !! html . folder ) {
a1 . href += '/' ;
document . getElementById ( 'tr0' ) . parentNode . insertBefore ( tr1 , document . getElementById ( 'tr0' ) . nextSibling );
}
if ( !! html . file ) {
a1 . href += '?preview' ;
a1 . name = 'filelist' ;
document . getElementById ( 'tr0' ) . parentNode . appendChild ( tr1 );
}
tr1 . appendChild ( td1 );
td1 . appendChild ( a1 );
tr1 . appendChild ( td2 );
tr1 . appendChild ( td3 );
}
function splitFileName ( obj ){
var a = obj . value . split ( " \\ " );
document . getElementById ( 'flieText' ) . value = a [ a . length - 1 ];
}
< ? php } ?>
<!-- 弹出层打开、关闭 start -->
function closeDisLog ( obj ) {
var popInner = obj . parentNode ;
while ( true ){
popInner = popInner . parentNode ;
if ( popInner . className == 'disLogBg' ) break ;
}
popInner . style . display = " none " ;
}
function openDisLog ( id ) {
if ( id == '' || id == null ) return false ;
document . getElementById ( id ) . style . display = " block " ;
}
<!-- 弹出层打开、关闭 end -->
<!-- 按窗口宽度加载窗口位置 start -->
var x = document . getElementsByClassName ( " disLogBody " );
for ( var i = 0 ; i < x . length ; i ++ ) {
x [ i ] . style . marginTop = document . body . clientHeight / 4 + " px " ;
}
<!-- 按窗口宽度加载窗口位置 end -->
</ script >
< script src = " //unpkg.zhimg.com/ionicons@4.4.4/dist/ionicons.js " ></ script >
< script type = " text/javascript " >
<!-- select Css start -->
function classReg ( className ) {
return new RegExp ( " (^| \\ s+) " + className + " ( \\ s+| $ ) " );
}
var hasClass , addClass , removeClass ;
if ( 'classList' in document . documentElement ) {
hasClass = function ( elem , c ) {
return elem . classList . contains ( c );
};
addClass = function ( elem , c ) {
elem . classList . add ( c );
};
removeClass = function ( elem , c ) {
elem . classList . remove ( c );
};
}
else {
hasClass = function ( elem , c ) {
return classReg ( c ) . test ( elem . className );
};
addClass = function ( elem , c ) {
if ( ! hasClass ( elem , c ) ) {
elem . className = elem . className + ' ' + c ;
}
};
removeClass = function ( elem , c ) {
elem . className = elem . className . replace ( classReg ( c ), ' ' );
};
}
function toggleClass ( elem , c ) {
var fn = hasClass ( elem , c ) ? removeClass : addClass ;
fn ( elem , c );
}
var classie = {
hasClass : hasClass ,
addClass : addClass ,
removeClass : removeClass ,
toggleClass : toggleClass ,
// short names
has : hasClass ,
add : addClass ,
remove : removeClass ,
toggle : toggleClass
};
if ( typeof define === 'function' && define . amd ) {
// AMD
define ( classie );
} else {
// browser global
window . classie = classie ;
}
function hasParent ( e , p ) {
if ( ! e ) return false ;
var el = e . target || e . srcElement || e || false ;
while ( el && el != p ) {
el = el . parentNode || false ;
}
return ( el !== false );
};
/**
* extend obj function
*/
function extend ( a , b ) {
for ( var key in b ) {
if ( b . hasOwnProperty ( key ) ) {
a [ key ] = b [ key ];
}
}
return a ;
}
/**
* SelectFx function
*/
function SelectFx ( el , options ) {
this . el = el ;
this . options = extend ( {}, this . options );
extend ( this . options , options );
this . _init ();
}
/**
* SelectFx options
*/
SelectFx . prototype . options = {
newTab : true ,
stickyPlaceholder : true ,
onChange : function ( val ) { return false ; }
}
/**
* init function
* initialize and cache some vars
*/
SelectFx . prototype . _init = function () {
var selectedOpt = this . el . querySelector ( 'option[selected]' );
this . hasDefaultPlaceholder = selectedOpt && selectedOpt . disabled ;
this . selectedOpt = selectedOpt || this . el . querySelector ( 'option' );
this . _createSelectEl ();
this . selOpts = [] . slice . call ( this . selEl . querySelectorAll ( 'li[data-option]' ) );
this . selOptsCount = this . selOpts . length ;
this . current = this . selOpts . indexOf ( this . selEl . querySelector ( 'li.cs-selected' ) ) || - 1 ;
this . selPlaceholder = this . selEl . querySelector ( 'span.cs-placeholder' );
this . _initEvents ();
}
/**
* creates the structure for the select element
*/
SelectFx . prototype . _createSelectEl = function () {
var self = this , options = '' , createOptionHTML = function ( el ) {
var optclass = '' , classes = '' , link = '' ;
if ( el . selectedOpt && ! this . foundSelected && ! this . hasDefaultPlaceholder ) {
classes += 'cs-selected ' ;
this . foundSelected = true ;
}
if ( el . getAttribute ( 'data-class' ) ) {
classes += el . getAttribute ( 'data-class' );
}
if ( el . getAttribute ( 'data-link' ) ) {
link = 'data-link=' + el . getAttribute ( 'data-link' );
}
if ( classes !== '' ) {
optclass = 'class="' + classes + '" ' ;
}
return '<li ' + optclass + link + ' data-option class="flag-' + el . value + '" data-value="' + el . value + '"><span>' + el . textContent + '</span></li>' ;
};
[] . slice . call ( this . el . children ) . forEach ( function ( el ) {
if ( el . disabled ) { return ; }
var tag = el . tagName . toLowerCase ();
if ( tag === 'option' ) {
options += createOptionHTML ( el );
}
else if ( tag === 'optgroup' ) {
options += '<li class="cs-optgroup"><span>' + el . label + '</span><ul>' ;
[] . slice . call ( el . children ) . forEach ( function ( opt ) {
options += createOptionHTML ( opt );
} )
options += '</ul></li>' ;
}
} );
var opts_el = '<div class="cs-options"><ul>' + options + '</ul></div>' ;
this . selEl = document . createElement ( 'div' );
this . selEl . className = this . el . className ;
this . selEl . tabIndex = this . el . tabIndex ;
this . selEl . innerHTML = '<span class="cs-placeholder">' + this . selectedOpt . textContent + '</span>' + opts_el ;
this . el . parentNode . appendChild ( this . selEl );
this . selEl . appendChild ( this . el );
}
/**
* initialize the events
*/
SelectFx . prototype . _initEvents = function () {
var self = this ;
this . selPlaceholder . addEventListener ( 'click' , function () {
self . _toggleSelect ();
} );
this . selOpts . forEach ( function ( opt , idx ) {
opt . addEventListener ( 'click' , function () {
self . current = idx ;
self . _changeOption ();
self . _toggleSelect ();
} );
} );
document . addEventListener ( 'click' , function ( ev ) {
var target = ev . target ;
if ( self . _isOpen () && target !== self . selEl && ! hasParent ( target , self . selEl ) ) {
self . _toggleSelect ();
}
} );
}
/**
* open / close select
* when opened show the default placeholder if any
*/
SelectFx . prototype . _toggleSelect = function () {
// remove focus class if any..
this . _removeFocus ();
if ( this . _isOpen () ) {
if ( this . current !== - 1 ) {
// update placeholder text
this . selPlaceholder . textContent = this . selOpts [ this . current ] . textContent ;
var languageSelect = document . getElementById ( " languageSelect " );
if ( languageSelect . value != null && languageSelect . value != '' ){
languageSelect . value = this . selOpts [ this . current ] . getAttribute ( " data-value " );
languageSelect . addEventListener ( " change " , changelanguage ( languageSelect . options [ languageSelect . options . selectedIndex ] . value ));
}
}
classie . remove ( this . selEl , 'cs-active' );
}
else {
if ( this . hasDefaultPlaceholder && this . options . stickyPlaceholder ) {
// everytime we open we wanna see the default placeholder text
this . selPlaceholder . textContent = this . selectedOpt . textContent ;
}
classie . add ( this . selEl , 'cs-active' );
}
}
/**
* change option - the new value is set
*/
SelectFx . prototype . _changeOption = function () {
// if pre selected current (if we navigate with the keyboard)...
if ( typeof this . preSelCurrent != 'undefined' && this . preSelCurrent !== - 1 ) {
this . current = this . preSelCurrent ;
this . preSelCurrent = - 1 ;
}
// current option
var opt = this . selOpts [ this . current ];
// update current selected value
this . selPlaceholder . textContent = opt . textContent ;
// change native select element´ s value
this . el . value = opt . getAttribute ( 'data-value' );
// remove class cs-selected from old selected option and add it to current selected option
var oldOpt = this . selEl . querySelector ( 'li.cs-selected' );
if ( oldOpt ) {
classie . remove ( oldOpt , 'cs-selected' );
}
classie . add ( opt , 'cs-selected' );
// if there´ s a link defined
if ( opt . getAttribute ( 'data-link' ) ) {
// open in new tab?
if ( this . options . newTab ) {
window . open ( opt . getAttribute ( 'data-link' ), '_blank' );
}
else {
window . location = opt . getAttribute ( 'data-link' );
}
}
// callback
this . options . onChange ( this . el . value );
}
/**
* returns true if select element is opened
*/
SelectFx . prototype . _isOpen = function ( opt ) {
return classie . has ( this . selEl , 'cs-active' );
}
/**
* removes the focus class from the option
*/
SelectFx . prototype . _removeFocus = function ( opt ) {
var focusEl = this . selEl . querySelector ( 'li.cs-focus' )
if ( focusEl ) {
classie . remove ( focusEl , 'cs-focus' );
}
}
/**
* add to global namespace
*/
window . SelectFx = SelectFx ;
( function () {
[] . slice . call ( document . querySelectorAll ( 'select.cs-select' ) ) . forEach ( function ( el ) {
new SelectFx ( el );
if ( 'move_input' == el . id ){
el = el . parentNode ;
el . className = el . className + ' move_div_select' ;
el . style = 'width: 80%;' ;
}
} );
})();
<!-- select Css end -->
</ script >
</ html >