' +
'' +
- ' ' + data['success']['pername'] + ' '+' | '+
+ '
' + data['success']['pername'] + ' '+''+
' | ' +
'' +
'' +
diff --git a/core/class/class_uploadhandler.php b/core/class/class_uploadhandler.php
index e5f26a0..f893a6f 100644
--- a/core/class/class_uploadhandler.php
+++ b/core/class/class_uploadhandler.php
@@ -1304,7 +1304,7 @@ class UploadHandler
}
$file_name = $this->get_file_name_param();
if (!$this->is_valid_file_object($file_name)) {
- return $this->header('HTTP/1.1 404 Not Found');
+ header('Location:/404.html');exit();
}
if ($redirect_header) {
return $this->header(
diff --git a/core/class/table/table_shares.php b/core/class/table/table_shares.php
index f9a4942..26cc577 100644
--- a/core/class/table/table_shares.php
+++ b/core/class/table/table_shares.php
@@ -207,7 +207,7 @@ class table_shares extends dzz_table
}
$sharestatus = array('-5'=>lang('sharefile_isdeleted_or_positionchange'),'-4' => lang('been_blocked'), '-3' => lang('file_been_deleted'), '-2' => lang('degree_exhaust'), '-1' => lang('logs_invite_status_4'), '0' => lang('founder_upgrade_normal'));
foreach(DB::fetch_all("select * from %t where $wheresql $ordersql $limitsql",$params) as $val){
- $val['sharelink'] = outputurl(getglobal('siteurl').'index.php?mod=shares&sid='.dzzencode($val['id']));
+ $val['sharelink'] = C::t('shorturl')->getShortUrl(getglobal('siteurl').'index.php?mod=shares&sid='.dzzencode($val['id']));
$val['fdateline'] = dgmdate($val['dateline'],'Y-m-d H:i:s');
$val['password'] = ($val['password']) ? dzzdecode($val['password']):'';
$sid = dzzencode($val['id']);
diff --git a/core/core_version.php b/core/core_version.php
index f211e51..8b2cce0 100644
--- a/core/core_version.php
+++ b/core/core_version.php
@@ -14,7 +14,7 @@ if(!defined('CORE_VERSION')) {
define('CORE_VERSION', '2.02');
define('CORE_RELEASE', '20180909');
define('CORE_FIXBUG' , '20000000');
- define('CORE_XHVERSION', '1.88.2');
- define('CORE_XHRELEASE', '20240719');
+ define('CORE_XHVERSION', '1.88.3');
+ define('CORE_XHRELEASE', '20240720');
define('CORE_XHFIXBUG' , '20240706');
}
\ No newline at end of file
diff --git a/core/cron/cron_database_backup.php b/core/cron/cron_database_backup.php
index 93f16d8..91aaa7a 100644
--- a/core/cron/cron_database_backup.php
+++ b/core/cron/cron_database_backup.php
@@ -224,4 +224,4 @@ function sqldumptable($table, $startfrom = 0, $currsize = 0) {
return $tabledump;
}
-?>
\ No newline at end of file
+?>
diff --git a/core/language/en-US/lang.php b/core/language/en-US/lang.php
index 3f32be9..bfc0041 100644
--- a/core/language/en-US/lang.php
+++ b/core/language/en-US/lang.php
@@ -1267,6 +1267,7 @@ Important!
'login_success' => 'Login successful! ',
'no_relevant_content'=>' no relevant_content yet ',
'degree_exhaust '=> 'times exhausted',
+ 'short'=>'short',
);
?>
\ No newline at end of file
diff --git a/core/language/zh-cn/lang.php b/core/language/zh-cn/lang.php
index 218bb02..48f8264 100644
--- a/core/language/zh-cn/lang.php
+++ b/core/language/zh-cn/lang.php
@@ -1294,6 +1294,7 @@ $_G[siteurl]',
'login_success' => '登录成功!',
'no_relevant_content' => '没有相关的内容…',
'degree_exhaust'=>'次数用尽',
+ 'short'=>'短链接',
);
?>
\ No newline at end of file
diff --git a/dzz/images/extimg/7z.png b/dzz/images/extimg/7z.png
index d0784c5..40ba860 100644
Binary files a/dzz/images/extimg/7z.png and b/dzz/images/extimg/7z.png differ
diff --git a/dzz/images/extimg/accdb.png b/dzz/images/extimg/accdb.png
new file mode 100644
index 0000000..0a8b919
Binary files /dev/null and b/dzz/images/extimg/accdb.png differ
diff --git a/dzz/images/extimg/ai.png b/dzz/images/extimg/ai.png
index 9d89d5e..1c11a16 100644
Binary files a/dzz/images/extimg/ai.png and b/dzz/images/extimg/ai.png differ
diff --git a/dzz/images/extimg/air.png b/dzz/images/extimg/air.png
new file mode 100644
index 0000000..4f9340f
Binary files /dev/null and b/dzz/images/extimg/air.png differ
diff --git a/dzz/images/extimg/apk.png b/dzz/images/extimg/apk.png
index 27db853..a8109dc 100644
Binary files a/dzz/images/extimg/apk.png and b/dzz/images/extimg/apk.png differ
diff --git a/dzz/images/extimg/arj.png b/dzz/images/extimg/arj.png
index e15fb93..485d2f6 100644
Binary files a/dzz/images/extimg/arj.png and b/dzz/images/extimg/arj.png differ
diff --git a/dzz/images/extimg/as.png b/dzz/images/extimg/as.png
new file mode 100644
index 0000000..fad3336
Binary files /dev/null and b/dzz/images/extimg/as.png differ
diff --git a/dzz/images/extimg/bmp.png b/dzz/images/extimg/bmp.png
new file mode 100644
index 0000000..07a3e42
Binary files /dev/null and b/dzz/images/extimg/bmp.png differ
diff --git a/dzz/images/extimg/bz2.png b/dzz/images/extimg/bz2.png
new file mode 100644
index 0000000..107f696
Binary files /dev/null and b/dzz/images/extimg/bz2.png differ
diff --git a/dzz/images/extimg/cdr.png b/dzz/images/extimg/cdr.png
new file mode 100644
index 0000000..60713df
Binary files /dev/null and b/dzz/images/extimg/cdr.png differ
diff --git a/dzz/images/extimg/cer.png b/dzz/images/extimg/cer.png
new file mode 100644
index 0000000..de52684
Binary files /dev/null and b/dzz/images/extimg/cer.png differ
diff --git a/dzz/images/extimg/chm.png b/dzz/images/extimg/chm.png
index 90784c8..93b841b 100644
Binary files a/dzz/images/extimg/chm.png and b/dzz/images/extimg/chm.png differ
diff --git a/dzz/images/extimg/class.png b/dzz/images/extimg/class.png
new file mode 100644
index 0000000..3b9e397
Binary files /dev/null and b/dzz/images/extimg/class.png differ
diff --git a/dzz/images/extimg/cmd.png b/dzz/images/extimg/cmd.png
new file mode 100644
index 0000000..7333374
Binary files /dev/null and b/dzz/images/extimg/cmd.png differ
diff --git a/dzz/images/extimg/code.png b/dzz/images/extimg/code.png
new file mode 100644
index 0000000..f18ea0e
Binary files /dev/null and b/dzz/images/extimg/code.png differ
diff --git a/dzz/images/extimg/cs.png b/dzz/images/extimg/cs.png
new file mode 100644
index 0000000..d5644bf
Binary files /dev/null and b/dzz/images/extimg/cs.png differ
diff --git a/dzz/images/extimg/cshtml.png b/dzz/images/extimg/cshtml.png
new file mode 100644
index 0000000..5ddfb5d
Binary files /dev/null and b/dzz/images/extimg/cshtml.png differ
diff --git a/dzz/images/extimg/csproj.png b/dzz/images/extimg/csproj.png
new file mode 100644
index 0000000..df51f10
Binary files /dev/null and b/dzz/images/extimg/csproj.png differ
diff --git a/dzz/images/extimg/csv.png b/dzz/images/extimg/csv.png
new file mode 100644
index 0000000..2acdc63
Binary files /dev/null and b/dzz/images/extimg/csv.png differ
diff --git a/dzz/images/extimg/djvu.png b/dzz/images/extimg/djvu.png
new file mode 100644
index 0000000..55e060a
Binary files /dev/null and b/dzz/images/extimg/djvu.png differ
diff --git a/dzz/images/extimg/dmg.png b/dzz/images/extimg/dmg.png
new file mode 100644
index 0000000..2787ec7
Binary files /dev/null and b/dzz/images/extimg/dmg.png differ
diff --git a/dzz/images/extimg/dng.png b/dzz/images/extimg/dng.png
new file mode 100644
index 0000000..957c841
Binary files /dev/null and b/dzz/images/extimg/dng.png differ
diff --git a/dzz/images/extimg/docm.png b/dzz/images/extimg/docm.png
new file mode 100644
index 0000000..a5ea46f
Binary files /dev/null and b/dzz/images/extimg/docm.png differ
diff --git a/dzz/images/extimg/dot.png b/dzz/images/extimg/dot.png
new file mode 100644
index 0000000..a666fa6
Binary files /dev/null and b/dzz/images/extimg/dot.png differ
diff --git a/dzz/images/extimg/dotm.png b/dzz/images/extimg/dotm.png
new file mode 100644
index 0000000..aba1479
Binary files /dev/null and b/dzz/images/extimg/dotm.png differ
diff --git a/dzz/images/extimg/dotx.png b/dzz/images/extimg/dotx.png
new file mode 100644
index 0000000..2041970
Binary files /dev/null and b/dzz/images/extimg/dotx.png differ
diff --git a/dzz/images/extimg/drawio.png b/dzz/images/extimg/drawio.png
new file mode 100644
index 0000000..40e01c9
Binary files /dev/null and b/dzz/images/extimg/drawio.png differ
diff --git a/dzz/images/extimg/dtd.png b/dzz/images/extimg/dtd.png
new file mode 100644
index 0000000..b684a58
Binary files /dev/null and b/dzz/images/extimg/dtd.png differ
diff --git a/dzz/images/extimg/edraw.png b/dzz/images/extimg/edraw.png
new file mode 100644
index 0000000..0eca67d
Binary files /dev/null and b/dzz/images/extimg/edraw.png differ
diff --git a/dzz/images/extimg/eml.png b/dzz/images/extimg/eml.png
new file mode 100644
index 0000000..3bf0d4c
Binary files /dev/null and b/dzz/images/extimg/eml.png differ
diff --git a/dzz/images/extimg/file.png b/dzz/images/extimg/file.png
new file mode 100644
index 0000000..c8da0ae
Binary files /dev/null and b/dzz/images/extimg/file.png differ
diff --git a/dzz/images/extimg/font.png b/dzz/images/extimg/font.png
new file mode 100644
index 0000000..970dea3
Binary files /dev/null and b/dzz/images/extimg/font.png differ
diff --git a/dzz/images/extimg/framework.png b/dzz/images/extimg/framework.png
new file mode 100644
index 0000000..a581c87
Binary files /dev/null and b/dzz/images/extimg/framework.png differ
diff --git a/dzz/images/extimg/gif.png b/dzz/images/extimg/gif.png
index 35d68ac..3d9109c 100644
Binary files a/dzz/images/extimg/gif.png and b/dzz/images/extimg/gif.png differ
diff --git a/dzz/images/extimg/graph_icon.png b/dzz/images/extimg/graph_icon.png
new file mode 100644
index 0000000..cc9d241
Binary files /dev/null and b/dzz/images/extimg/graph_icon.png differ
diff --git a/dzz/images/extimg/gz.png b/dzz/images/extimg/gz.png
new file mode 100644
index 0000000..7326e12
Binary files /dev/null and b/dzz/images/extimg/gz.png differ
diff --git a/dzz/images/extimg/hdr.png b/dzz/images/extimg/hdr.png
new file mode 100644
index 0000000..297e8dd
Binary files /dev/null and b/dzz/images/extimg/hdr.png differ
diff --git a/dzz/images/extimg/hlp.png b/dzz/images/extimg/hlp.png
new file mode 100644
index 0000000..fe48de1
Binary files /dev/null and b/dzz/images/extimg/hlp.png differ
diff --git a/dzz/images/extimg/ico.png b/dzz/images/extimg/ico.png
new file mode 100644
index 0000000..07a3e42
Binary files /dev/null and b/dzz/images/extimg/ico.png differ
diff --git a/dzz/images/extimg/indd.png b/dzz/images/extimg/indd.png
new file mode 100644
index 0000000..f61ea9a
Binary files /dev/null and b/dzz/images/extimg/indd.png differ
diff --git a/dzz/images/extimg/ipa.png b/dzz/images/extimg/ipa.png
new file mode 100644
index 0000000..c9533be
Binary files /dev/null and b/dzz/images/extimg/ipa.png differ
diff --git a/dzz/images/extimg/jpg.png b/dzz/images/extimg/jpg.png
index 35d68ac..07a3e42 100644
Binary files a/dzz/images/extimg/jpg.png and b/dzz/images/extimg/jpg.png differ
diff --git a/dzz/images/extimg/key.png b/dzz/images/extimg/key.png
new file mode 100644
index 0000000..77059af
Binary files /dev/null and b/dzz/images/extimg/key.png differ
diff --git a/dzz/images/extimg/ldf.png b/dzz/images/extimg/ldf.png
new file mode 100644
index 0000000..067d46e
Binary files /dev/null and b/dzz/images/extimg/ldf.png differ
diff --git a/dzz/images/extimg/lnk.png b/dzz/images/extimg/lnk.png
new file mode 100644
index 0000000..a1194b5
Binary files /dev/null and b/dzz/images/extimg/lnk.png differ
diff --git a/dzz/images/extimg/makefile.png b/dzz/images/extimg/makefile.png
new file mode 100644
index 0000000..c47c980
Binary files /dev/null and b/dzz/images/extimg/makefile.png differ
diff --git a/dzz/images/extimg/md.png b/dzz/images/extimg/md.png
new file mode 100644
index 0000000..0a6399d
Binary files /dev/null and b/dzz/images/extimg/md.png differ
diff --git a/dzz/images/extimg/mdb.png b/dzz/images/extimg/mdb.png
new file mode 100644
index 0000000..476adc7
Binary files /dev/null and b/dzz/images/extimg/mdb.png differ
diff --git a/dzz/images/extimg/mdf.png b/dzz/images/extimg/mdf.png
new file mode 100644
index 0000000..9e812b8
Binary files /dev/null and b/dzz/images/extimg/mdf.png differ
diff --git a/dzz/images/extimg/mht.png b/dzz/images/extimg/mht.png
new file mode 100644
index 0000000..e9f5f66
Binary files /dev/null and b/dzz/images/extimg/mht.png differ
diff --git a/dzz/images/extimg/mhtml.png b/dzz/images/extimg/mhtml.png
new file mode 100644
index 0000000..ffdc39a
Binary files /dev/null and b/dzz/images/extimg/mhtml.png differ
diff --git a/dzz/images/extimg/midi.png b/dzz/images/extimg/midi.png
index e2f2fea..1e5166c 100644
Binary files a/dzz/images/extimg/midi.png and b/dzz/images/extimg/midi.png differ
diff --git a/dzz/images/extimg/mpp.png b/dzz/images/extimg/mpp.png
new file mode 100644
index 0000000..6b75c4e
Binary files /dev/null and b/dzz/images/extimg/mpp.png differ
diff --git a/dzz/images/extimg/mpt.png b/dzz/images/extimg/mpt.png
new file mode 100644
index 0000000..ce85562
Binary files /dev/null and b/dzz/images/extimg/mpt.png differ
diff --git a/dzz/images/extimg/msg.png b/dzz/images/extimg/msg.png
new file mode 100644
index 0000000..fa06f39
Binary files /dev/null and b/dzz/images/extimg/msg.png differ
diff --git a/dzz/images/extimg/msi.png b/dzz/images/extimg/msi.png
new file mode 100644
index 0000000..01033ce
Binary files /dev/null and b/dzz/images/extimg/msi.png differ
diff --git a/dzz/images/extimg/music.png b/dzz/images/extimg/music.png
index 503228f..42e78f1 100644
Binary files a/dzz/images/extimg/music.png and b/dzz/images/extimg/music.png differ
diff --git a/dzz/images/extimg/numbers.png b/dzz/images/extimg/numbers.png
new file mode 100644
index 0000000..575af25
Binary files /dev/null and b/dzz/images/extimg/numbers.png differ
diff --git a/dzz/images/extimg/odp.png b/dzz/images/extimg/odp.png
new file mode 100644
index 0000000..e2c5cb0
Binary files /dev/null and b/dzz/images/extimg/odp.png differ
diff --git a/dzz/images/extimg/ods.png b/dzz/images/extimg/ods.png
new file mode 100644
index 0000000..9e80cf1
Binary files /dev/null and b/dzz/images/extimg/ods.png differ
diff --git a/dzz/images/extimg/odt.png b/dzz/images/extimg/odt.png
new file mode 100644
index 0000000..87faaa7
Binary files /dev/null and b/dzz/images/extimg/odt.png differ
diff --git a/dzz/images/extimg/oexe.png b/dzz/images/extimg/oexe.png
new file mode 100644
index 0000000..32daf35
Binary files /dev/null and b/dzz/images/extimg/oexe.png differ
diff --git a/dzz/images/extimg/oexe1.png b/dzz/images/extimg/oexe1.png
new file mode 100644
index 0000000..da6cb0f
Binary files /dev/null and b/dzz/images/extimg/oexe1.png differ
diff --git a/dzz/images/extimg/office-others.png b/dzz/images/extimg/office-others.png
new file mode 100644
index 0000000..61d2c39
Binary files /dev/null and b/dzz/images/extimg/office-others.png differ
diff --git a/dzz/images/extimg/ogg.png b/dzz/images/extimg/ogg.png
new file mode 100644
index 0000000..26d35a7
Binary files /dev/null and b/dzz/images/extimg/ogg.png differ
diff --git a/dzz/images/extimg/ott.png b/dzz/images/extimg/ott.png
new file mode 100644
index 0000000..e80f08b
Binary files /dev/null and b/dzz/images/extimg/ott.png differ
diff --git a/dzz/images/extimg/pages.png b/dzz/images/extimg/pages.png
new file mode 100644
index 0000000..73b255f
Binary files /dev/null and b/dzz/images/extimg/pages.png differ
diff --git a/dzz/images/extimg/pdb.png b/dzz/images/extimg/pdb.png
new file mode 100644
index 0000000..a0a325c
Binary files /dev/null and b/dzz/images/extimg/pdb.png differ
diff --git a/dzz/images/extimg/pkg.png b/dzz/images/extimg/pkg.png
new file mode 100644
index 0000000..fe91103
Binary files /dev/null and b/dzz/images/extimg/pkg.png differ
diff --git a/dzz/images/extimg/pl.png b/dzz/images/extimg/pl.png
new file mode 100644
index 0000000..a9b4591
Binary files /dev/null and b/dzz/images/extimg/pl.png differ
diff --git a/dzz/images/extimg/pot.png b/dzz/images/extimg/pot.png
new file mode 100644
index 0000000..0b9c163
Binary files /dev/null and b/dzz/images/extimg/pot.png differ
diff --git a/dzz/images/extimg/potx.png b/dzz/images/extimg/potx.png
new file mode 100644
index 0000000..3b89b25
Binary files /dev/null and b/dzz/images/extimg/potx.png differ
diff --git a/dzz/images/extimg/pps.png b/dzz/images/extimg/pps.png
new file mode 100644
index 0000000..40176dc
Binary files /dev/null and b/dzz/images/extimg/pps.png differ
diff --git a/dzz/images/extimg/ppsx.png b/dzz/images/extimg/ppsx.png
new file mode 100644
index 0000000..6a31e85
Binary files /dev/null and b/dzz/images/extimg/ppsx.png differ
diff --git a/dzz/images/extimg/prproj.png b/dzz/images/extimg/prproj.png
new file mode 100644
index 0000000..a5fbd02
Binary files /dev/null and b/dzz/images/extimg/prproj.png differ
diff --git a/dzz/images/extimg/ps1.png b/dzz/images/extimg/ps1.png
new file mode 100644
index 0000000..259f108
Binary files /dev/null and b/dzz/images/extimg/ps1.png differ
diff --git a/dzz/images/extimg/psd.png b/dzz/images/extimg/psd.png
index a93adea..179c96e 100644
Binary files a/dzz/images/extimg/psd.png and b/dzz/images/extimg/psd.png differ
diff --git a/dzz/images/extimg/pspimage.png b/dzz/images/extimg/pspimage.png
new file mode 100644
index 0000000..0a4e69a
Binary files /dev/null and b/dzz/images/extimg/pspimage.png differ
diff --git a/dzz/images/extimg/pst.png b/dzz/images/extimg/pst.png
new file mode 100644
index 0000000..80ed301
Binary files /dev/null and b/dzz/images/extimg/pst.png differ
diff --git a/dzz/images/extimg/pub.png b/dzz/images/extimg/pub.png
new file mode 100644
index 0000000..10f0f05
Binary files /dev/null and b/dzz/images/extimg/pub.png differ
diff --git a/dzz/images/extimg/rb.png b/dzz/images/extimg/rb.png
new file mode 100644
index 0000000..89be9fb
Binary files /dev/null and b/dzz/images/extimg/rb.png differ
diff --git a/dzz/images/extimg/reg.png b/dzz/images/extimg/reg.png
new file mode 100644
index 0000000..9227e6b
Binary files /dev/null and b/dzz/images/extimg/reg.png differ
diff --git a/dzz/images/extimg/resx.png b/dzz/images/extimg/resx.png
new file mode 100644
index 0000000..a5cfc31
Binary files /dev/null and b/dzz/images/extimg/resx.png differ
diff --git a/dzz/images/extimg/sitx.png b/dzz/images/extimg/sitx.png
new file mode 100644
index 0000000..118dc5b
Binary files /dev/null and b/dzz/images/extimg/sitx.png differ
diff --git a/dzz/images/extimg/sln.png b/dzz/images/extimg/sln.png
new file mode 100644
index 0000000..ce35231
Binary files /dev/null and b/dzz/images/extimg/sln.png differ
diff --git a/dzz/images/extimg/smm.png b/dzz/images/extimg/smm.png
new file mode 100644
index 0000000..08413ee
Binary files /dev/null and b/dzz/images/extimg/smm.png differ
diff --git a/dzz/images/extimg/suo.png b/dzz/images/extimg/suo.png
new file mode 100644
index 0000000..54c404b
Binary files /dev/null and b/dzz/images/extimg/suo.png differ
diff --git a/dzz/images/extimg/svg.png b/dzz/images/extimg/svg.png
new file mode 100644
index 0000000..0ce9882
Binary files /dev/null and b/dzz/images/extimg/svg.png differ
diff --git a/dzz/images/extimg/swf.png b/dzz/images/extimg/swf.png
index 3f615f9..13fe6ab 100644
Binary files a/dzz/images/extimg/swf.png and b/dzz/images/extimg/swf.png differ
diff --git a/dzz/images/extimg/swift.png b/dzz/images/extimg/swift.png
new file mode 100644
index 0000000..05e7f9d
Binary files /dev/null and b/dzz/images/extimg/swift.png differ
diff --git a/dzz/images/extimg/tar.png b/dzz/images/extimg/tar.png
new file mode 100644
index 0000000..14a5515
Binary files /dev/null and b/dzz/images/extimg/tar.png differ
diff --git a/dzz/images/extimg/tga.png b/dzz/images/extimg/tga.png
new file mode 100644
index 0000000..e584a02
Binary files /dev/null and b/dzz/images/extimg/tga.png differ
diff --git a/dzz/images/extimg/tgz.png b/dzz/images/extimg/tgz.png
new file mode 100644
index 0000000..0e535d0
Binary files /dev/null and b/dzz/images/extimg/tgz.png differ
diff --git a/dzz/images/extimg/txt.png b/dzz/images/extimg/txt.png
index 693d1b8..0a34d89 100644
Binary files a/dzz/images/extimg/txt.png and b/dzz/images/extimg/txt.png differ
diff --git a/dzz/images/extimg/utorrent.png b/dzz/images/extimg/utorrent.png
new file mode 100644
index 0000000..1e7e016
Binary files /dev/null and b/dzz/images/extimg/utorrent.png differ
diff --git a/dzz/images/extimg/vbproj.png b/dzz/images/extimg/vbproj.png
new file mode 100644
index 0000000..b196fe5
Binary files /dev/null and b/dzz/images/extimg/vbproj.png differ
diff --git a/dzz/images/extimg/vcf.png b/dzz/images/extimg/vcf.png
new file mode 100644
index 0000000..a96fd6f
Binary files /dev/null and b/dzz/images/extimg/vcf.png differ
diff --git a/dzz/images/extimg/vcproj.png b/dzz/images/extimg/vcproj.png
new file mode 100644
index 0000000..f093914
Binary files /dev/null and b/dzz/images/extimg/vcproj.png differ
diff --git a/dzz/images/extimg/vcxproj.png b/dzz/images/extimg/vcxproj.png
new file mode 100644
index 0000000..433f092
Binary files /dev/null and b/dzz/images/extimg/vcxproj.png differ
diff --git a/dzz/images/extimg/vdw.png b/dzz/images/extimg/vdw.png
new file mode 100644
index 0000000..8d59e9d
Binary files /dev/null and b/dzz/images/extimg/vdw.png differ
diff --git a/dzz/images/extimg/vdx.png b/dzz/images/extimg/vdx.png
new file mode 100644
index 0000000..8d1968a
Binary files /dev/null and b/dzz/images/extimg/vdx.png differ
diff --git a/dzz/images/extimg/vsd.png b/dzz/images/extimg/vsd.png
new file mode 100644
index 0000000..513ec63
Binary files /dev/null and b/dzz/images/extimg/vsd.png differ
diff --git a/dzz/images/extimg/vsdx.png b/dzz/images/extimg/vsdx.png
new file mode 100644
index 0000000..513ec63
Binary files /dev/null and b/dzz/images/extimg/vsdx.png differ
diff --git a/dzz/images/extimg/vss.png b/dzz/images/extimg/vss.png
new file mode 100644
index 0000000..a9fccbe
Binary files /dev/null and b/dzz/images/extimg/vss.png differ
diff --git a/dzz/images/extimg/vst.png b/dzz/images/extimg/vst.png
new file mode 100644
index 0000000..c3ecfff
Binary files /dev/null and b/dzz/images/extimg/vst.png differ
diff --git a/dzz/images/extimg/vsx.png b/dzz/images/extimg/vsx.png
new file mode 100644
index 0000000..a9fccbe
Binary files /dev/null and b/dzz/images/extimg/vsx.png differ
diff --git a/dzz/images/extimg/vtx.png b/dzz/images/extimg/vtx.png
new file mode 100644
index 0000000..c3ecfff
Binary files /dev/null and b/dzz/images/extimg/vtx.png differ
diff --git a/dzz/images/extimg/wasm.png b/dzz/images/extimg/wasm.png
new file mode 100644
index 0000000..8b9e843
Binary files /dev/null and b/dzz/images/extimg/wasm.png differ
diff --git a/dzz/images/extimg/xaml.png b/dzz/images/extimg/xaml.png
new file mode 100644
index 0000000..23cc3ed
Binary files /dev/null and b/dzz/images/extimg/xaml.png differ
diff --git a/dzz/images/extimg/xap.png b/dzz/images/extimg/xap.png
new file mode 100644
index 0000000..53b2c2d
Binary files /dev/null and b/dzz/images/extimg/xap.png differ
diff --git a/dzz/images/extimg/xlsb.png b/dzz/images/extimg/xlsb.png
new file mode 100644
index 0000000..0d04747
Binary files /dev/null and b/dzz/images/extimg/xlsb.png differ
diff --git a/dzz/images/extimg/xlsm.png b/dzz/images/extimg/xlsm.png
new file mode 100644
index 0000000..9aae4a1
Binary files /dev/null and b/dzz/images/extimg/xlsm.png differ
diff --git a/dzz/images/extimg/xlt.png b/dzz/images/extimg/xlt.png
new file mode 100644
index 0000000..9aab0d6
Binary files /dev/null and b/dzz/images/extimg/xlt.png differ
diff --git a/dzz/images/extimg/xltx.png b/dzz/images/extimg/xltx.png
new file mode 100644
index 0000000..1b506f6
Binary files /dev/null and b/dzz/images/extimg/xltx.png differ
diff --git a/dzz/images/extimg/xml.png b/dzz/images/extimg/xml.png
index 3ffac6d..3e9fdbe 100644
Binary files a/dzz/images/extimg/xml.png and b/dzz/images/extimg/xml.png differ
diff --git a/dzz/images/extimg/xps.png b/dzz/images/extimg/xps.png
new file mode 100644
index 0000000..3e61cb9
Binary files /dev/null and b/dzz/images/extimg/xps.png differ
diff --git a/dzz/images/extimg/xsd.png b/dzz/images/extimg/xsd.png
new file mode 100644
index 0000000..310f74c
Binary files /dev/null and b/dzz/images/extimg/xsd.png differ
diff --git a/dzz/images/extimg/xsl.png b/dzz/images/extimg/xsl.png
new file mode 100644
index 0000000..723c6a5
Binary files /dev/null and b/dzz/images/extimg/xsl.png differ
diff --git a/dzz/images/extimg_small/folder.png b/dzz/images/extimg_small/folder.png
index 6554b6f..97a5caa 100644
Binary files a/dzz/images/extimg_small/folder.png and b/dzz/images/extimg_small/folder.png differ
diff --git a/dzz/images/folder/folder.css b/dzz/images/folder/folder.css
index 48bd8a2..bc40528 100644
--- a/dzz/images/folder/folder.css
+++ b/dzz/images/folder/folder.css
@@ -361,9 +361,6 @@ span .chk-ico {
border-radius: var(--radius);
color:#4c89fb;
}
-.nav-pills li{
- padding-right: 5px;
-}
.navtopheader{
position: fixed;
top: 0;
diff --git a/dzz/images/icons/docx.png b/dzz/images/icons/docx.png
deleted file mode 100644
index 090c9ec..0000000
Binary files a/dzz/images/icons/docx.png and /dev/null differ
diff --git a/dzz/images/icons/pptx.png b/dzz/images/icons/pptx.png
deleted file mode 100644
index ec3b3db..0000000
Binary files a/dzz/images/icons/pptx.png and /dev/null differ
diff --git a/dzz/images/icons/xlsx.png b/dzz/images/icons/xlsx.png
deleted file mode 100644
index 3f47759..0000000
Binary files a/dzz/images/icons/xlsx.png and /dev/null differ
diff --git a/dzz/io/getStream.php b/dzz/io/getStream.php
index 3840d81..4a2f9e8 100644
--- a/dzz/io/getStream.php
+++ b/dzz/io/getStream.php
@@ -11,9 +11,7 @@
}
if(!$path=dzzdecode(rawurldecode($_GET['path']))){
- @header('HTTP/1.1 404 Not Found');
- @header('Status: 404 Not Found');
- exit('Access Denied');
+ header('Location:/404.html');exit();
}
if(!$url=(IO::getStream($path))){
diff --git a/dzz/language/en-US/lang.php b/dzz/language/en-US/lang.php
index 072f53a..f217114 100644
--- a/dzz/language/en-US/lang.php
+++ b/dzz/language/en-US/lang.php
@@ -472,6 +472,10 @@ $lang = array(
'some_day_after' => '{day} days later',
'within_a_day' => '1 days',
- 'savetosuccess'=>' Saved successfully, file path: '
+ 'savetosuccess'=>' Saved successfully, file path: ',
+ 'delete_share'=>' delete share',
+ 'affirm_stop_sharing'=>'Confirm to cancel sharing',
+ 'stop_sharing_success'=>'Confirm to block sharing',
+ 'share_stop_sharing1'=>' After canceling sharing, this sharing record will be deleted and you will no longer be able to access this sharing link are you sure you want to cancel sharing? ',
);
?>
diff --git a/dzz/language/zh-cn/lang.php b/dzz/language/zh-cn/lang.php
index cbe9670..4ff7282 100644
--- a/dzz/language/zh-cn/lang.php
+++ b/dzz/language/zh-cn/lang.php
@@ -472,7 +472,11 @@ $lang = array(
'all_type' => '全部类型',
'some_day_after' => '{day}天后',
'within_a_day' => '1天内',
-
- 'savetosuccess'=>' 保存成功,文件路径: '
+ 'savetosuccess'=>' 保存成功,文件路径: ',
+
+ 'delete_share'=>'删除分享',
+ 'affirm_stop_sharing'=>'确定取消分享',
+ 'stop_sharing_success'=>'取消分享成功',
+ 'share_stop_sharing1'=>'取消分享后,该条分享记录将被删除,将无法再访问此分享链接。 你确认要取消分享吗? ',
);
?>
diff --git a/dzz/share/ajax.php b/dzz/share/ajax.php
index 80d2b3c..175cc14 100644
--- a/dzz/share/ajax.php
+++ b/dzz/share/ajax.php
@@ -21,8 +21,26 @@ if ($_GET['do'] == 'delete') {
}
}
exit(json_encode($return));
-
-
+} elseif ($_GET['do'] == 'shortdel' && $_G['adminid']) {
+ $sid = $_GET['sid'];
+ if (empty($sid)) {
+ exit(json_encode(lang('parameters_error')));
+ }
+ $return = array();
+ try {
+ foreach ($sid as $v) {
+ $deleteResult=DB::delete('shorturl',"sid='{$v}'");//删除短链接
+ if ($deleteResult) {
+ $return['msg'][$v] = array('success'=>true);
+ } else {
+ $return['msg'][$v] = lang('parameters_error');
+ }
+ }
+ } catch (Exception $e) {
+ // 捕获在执行删除操作时可能抛出的异常
+ $return['msg'] = 'An exception occurred during deletion: ' . $e->getMessage();
+ }
+ exit(json_encode($return));
} elseif ($_GET['do'] == 'forbidden' && $_G['adminid']) {
$sids = $_GET['sids'];
if ($_GET['flag'] == 'forbidden') {
diff --git a/dzz/share/index.php b/dzz/share/index.php
index 9e6aea0..ff3f3b4 100644
--- a/dzz/share/index.php
+++ b/dzz/share/index.php
@@ -10,75 +10,101 @@ if (!defined('IN_DZZ')) {
exit('Access Denied');
}
$sharestatus = array('-5'=>lang('sharefile_isdeleted_or_positionchange'),'-4' => lang('been_blocked'), '-3' => lang('file_been_deleted'), '-2' => lang('degree_exhaust'), '-1' => lang('logs_invite_status_4'), '0' => lang('founder_upgrade_normal'));
-$typearr = array('folder' => lang('catalogue'), 'image' => lang('photo'), 'document' => lang('type_attach'), 'dzzdoc' => 'Dzz'.lang('type_attach'), 'video' => lang('type_video'), 'attach' => lang('attachment'), 'link' => lang('type_link'), 'url' => lang('other'));
+$typearr = array('folder' => lang('catalogue'), 'image' => lang('photo'), 'document' => lang('type_attach'), 'dzzdoc' => 'Dzz'.lang('type_attach'), 'video' => lang('type_video'), 'attach' => lang('attachment'), 'link' => lang('type_link'), 'short' => lang('short'), 'url' => lang('other'));
$type = trim($_GET['type']);
$keyword = trim($_GET['keyword']);
-$username = trim($_GET['username']);
-$asc = isset($_GET['asc']) ? intval($_GET['asc']) : 1;
-$uid = intval($_GET['uid']);
-$order = in_array($_GET['order'], array('title', 'dateline', 'type', 'count')) ? trim($_GET['order']) : 'dateline';
$page = empty($_GET['page']) ? 1 : intval($_GET['page']);
$lpp = empty($_GET['lpp']) ? 20 : $_GET['lpp'];
$checklpp = array();
$checklpp[$lpp] = 'selected="selected"';
-$uid1=$_G['uid'];
$start = ($page - 1) * $lpp;
+if ($type == 'short' && $_G['adminid']) {
+ $short=true;
+} else {
+ $short=false;
+}
+if ($short) {
+ $sql = "1";
+ $param = array('shorturl');
+ $navtitle=$typearr[$type].' - '.lang('appname');
+ if ($keyword) {
+ $sql .= " and sid LIKE %s";
+ $param[] = '%' . $keyword . '%';
+ }
+ $list = array();
+ if ($count = DB::result_first("SELECT COUNT(*) FROM %t WHERE $sql", $param)) {
+ $list = DB::fetch_all("SELECT * FROM %t WHERE $sql limit $start,$lpp", $param);
+ }
+ foreach ($list as $k=> $value) {
+ $value['short'] = getglobal('siteurl').'short.php?sid='.$value['sid'];
+ $list[$k] = $value;
+ }
+} else {
+ $username = trim($_GET['username']);
+ $asc = isset($_GET['asc']) ? intval($_GET['asc']) : 1;
+ $uid = intval($_GET['uid']);
+ $order = in_array($_GET['order'], array('title', 'dateline', 'type', 'count')) ? trim($_GET['order']) : 'dateline';
+ $uid1=$_G['uid'];
+ $orderby = " order by $order " . ($asc ? 'DESC' : '');
+ $sql = "1";
+ $param = array('shares');
+ if ($type) {
+ $sql .= " and type=%s";
+ $param[] = $type;
+ $navtitle=$typearr[$type].' - '.lang('appname');
+ }else{
+ $navtitle= lang('appname');
+ }
+ if ($keyword) {
+ $sql .= " and title LIKE %s";
+ $param[] = '%' . $keyword . '%';
+ }
+ if ($username) {
+ $sql .= " and username=%s";
+ $param[] = $username;
+ }
+ if ($uid) {
+ $sql .= " and uid=%d";
+ $param[] = $uid;
+ }
+ $list = array();
+ if ($_G['adminid']) {
+ if ($count = DB::result_first("SELECT COUNT(*) FROM %t WHERE $sql", $param)) {
+ $list = DB::fetch_all("SELECT * FROM %t WHERE $sql $orderby limit $start,$lpp", $param);
+ }
+ }else{
+ if ($count = DB::result_first("SELECT COUNT(*) FROM %t WHERE uid =$uid1 and $sql", $param)) {
+ $list = DB::fetch_all("SELECT * FROM %t WHERE uid =$uid1 and $sql $orderby limit $start,$lpp", $param);
+ }
+ }
+ foreach ($list as $k=> $value) {
+ $value['sharelink'] = C::t('shorturl')->getShortUrl(getglobal('siteurl').'index.php?mod=shares&sid='.dzzencode($value['id']));
+ if ($value['dateline'])
+ $value['fdateline'] = dgmdate($value['dateline']);
+ if ($value['password'])
+ $value['password'] = dzzdecode($value['password']);
+ if ($value['endtime'])
+ $value['fendtime'] = dgmdate($value['endtime'], 'Y-m-d');
+ $value['ftype'] = getFileTypeName($value['type'], $value['ext']);
+ if ($value['type'] == 'folder')
+ $value['img'] = 'dzz/images/extimg/folder.png';
+ if ($value['img'])
+ $value['img'] = str_replace('dzz/images/extimg/', 'dzz/images/extimg_small/', $value['img']);
+ if ($value['type'] == 'image' && $value['status'] == -3)
+ $value['img'] = '';
+ $value['fstatus'] = $sharestatus[$value['status']];
+ if (is_file($_G['setting']['attachdir'] . './qrcode/' . $value['sid'][0] . '/' . $value['sid'] . '.png'))
+ $value['qrcode'] = $_G['setting']['attachurl'] . './qrcode/' . $value['sid'][0] . '/' . $value['sid'] . '.png';
+ $value['shareurl'] = $_G['siteurl'] . 's.php?sid=' . $value['sid'];
+ $list[$k] = $value;
+ }
+}
$gets = array('mod' => MOD_NAME, 'type' => $type, 'keyword' => $keyword,'lpp' => $lpp, 'order' => $order, 'asc' => $asc, 'uid' => $uid, 'username' => $username);
$theurl = BASESCRIPT . "?" . url_implode($gets);
-$orderby = " order by $order " . ($asc ? 'DESC' : '');
-
-$sql = "1";
-$param = array('shares');
-if ($type) {
- $sql .= " and type=%s";
- $param[] = $type;
- $navtitle=$typearr[$type].' - '.lang('appname');
-}else{
- $navtitle= lang('appname');
-}
-if ($keyword) {
- $sql .= " and title LIKE %s";
- $param[] = '%' . $keyword . '%';
-}
-if ($username) {
- $sql .= " and username=%s";
- $param[] = $username;
-}
-if ($uid) {
- $sql .= " and uid=%d";
- $param[] = $uid;
-}
-$list = array();
-if ($_G['adminid']) {
- if ($count = DB::result_first("SELECT COUNT(*) FROM %t WHERE $sql", $param)) {
- $list = DB::fetch_all("SELECT * FROM %t WHERE $sql $orderby limit $start,$lpp", $param);
- }
-}else{
- if ($count = DB::result_first("SELECT COUNT(*) FROM %t WHERE uid =$uid1 and $sql", $param)) {
- $list = DB::fetch_all("SELECT * FROM %t WHERE uid =$uid1 and $sql $orderby limit $start,$lpp", $param);
- }
-}
-foreach ($list as $k=> $value) {
- $value['sharelink'] = C::t('shorturl')->getShortUrl(getglobal('siteurl').'index.php?mod=shares&sid='.dzzencode($value['id']));
- if ($value['dateline'])
- $value['fdateline'] = dgmdate($value['dateline']);
- if ($value['password'])
- $value['password'] = dzzdecode($value['password']);
- if ($value['endtime'])
- $value['fendtime'] = dgmdate($value['endtime'], 'Y-m-d');
- $value['ftype'] = getFileTypeName($value['type'], $value['ext']);
- if ($value['type'] == 'folder')
- $value['img'] = 'dzz/images/extimg/folder.png';
- if ($value['img'])
- $value['img'] = str_replace('dzz/images/extimg/', 'dzz/images/extimg_small/', $value['img']);
- if ($value['type'] == 'image' && $value['status'] == -3)
- $value['img'] = '';
- $value['fstatus'] = $sharestatus[$value['status']];
- if (is_file($_G['setting']['attachdir'] . './qrcode/' . $value['sid'][0] . '/' . $value['sid'] . '.png'))
- $value['qrcode'] = $_G['setting']['attachurl'] . './qrcode/' . $value['sid'][0] . '/' . $value['sid'] . '.png';
- $value['shareurl'] = $_G['siteurl'] . 's.php?sid=' . $value['sid'];
- $list[$k] = $value;
-}
$multi = multi($count, $lpp, $page, $theurl, 'pull-right');
-include template('share');
+if ($short) {
+ include template('short');
+} else {
+ include template('share');
+}
?>
diff --git a/dzz/share/language/en-US/lang.php b/dzz/share/language/en-US/lang.php
index 001d43b..e5aa6bc 100644
--- a/dzz/share/language/en-US/lang.php
+++ b/dzz/share/language/en-US/lang.php
@@ -9,8 +9,6 @@ $lang = array (
'share_title'=>'Share title',
'del_share'=>'Delete share',
'screen_share'=>'Block sharing',
- 'affirm_stop_sharing'=>'Confirm to cancel sharing',
- 'stop_sharing_success'=>'Confirm to block sharing',
'affirm_screen_share'=>'Confirm to block sharing',
'share_screen'=>'Share screen',
'share_screen_success'=>'Sharing successfully blocked',
@@ -24,10 +22,9 @@ $lang = array (
'private_share'=>'Private sharing',
'expiration_time'=>' expiration time ',
'limited_number'=>' limit times',
- 'extract_password'=>' extract password ',
- 'been_blocked'=>' blocked ',
- 'file_been_deleted'=>' file deleted ',
- 'share_stop_sharing1'=>'After canceling sharing, this sharing record will be deleted and you will no longer be able to access this sharing link are you sure you want to cancel sharing? ',
+ 'extract_password'=>' extract password ',
+ 'been_blocked'=>' blocked ',
+ 'file_been_deleted'=>' file deleted ',
'share_stop_sharing2'=>' this sharing record will be blocked and you will no longer be able to access this sharing link are you sure to block this sharing ',
'share_stop_sharing3'=>' access to this shared record will be restored are you sure you want to cancel blocking this sharing ',
);
diff --git a/dzz/share/language/zh-cn/lang.php b/dzz/share/language/zh-cn/lang.php
index f873e31..03bebc4 100644
--- a/dzz/share/language/zh-cn/lang.php
+++ b/dzz/share/language/zh-cn/lang.php
@@ -7,10 +7,7 @@ $lang = array (
'sharing_file'=>'分享文件',
'share_user'=>'分享用户',
'share_title'=>'分享标题',
- 'del_share'=>'删除分享',
'screen_share'=>'屏蔽分享',
- 'affirm_stop_sharing'=>'确定取消分享',
- 'stop_sharing_success'=>'取消分享成功',
'affirm_screen_share'=>'确定屏蔽分享',
'share_screen'=>'分享屏蔽',
'share_screen_success'=>'分享屏蔽成功',
@@ -27,7 +24,6 @@ $lang = array (
'extract_password'=>'提取密码',
'been_blocked'=>'已屏蔽',
'file_been_deleted'=>'文件已删除',
- 'share_stop_sharing1'=>'取消分享后,该条分享记录将被删除,将无法再访问此分享链接。 你确认要取消分享吗? ',
'share_stop_sharing2'=>'该条分享记录将被屏蔽,将无法再访问此分享链接。 你确认要屏蔽该条分享吗? ',
'share_stop_sharing3'=>'该条分享记录将被恢复访问。 你确认要取消屏蔽该条分享吗? ',
);
diff --git a/dzz/share/template/header_search.htm b/dzz/share/template/header_search.htm
index 95e983a..c69a063 100644
--- a/dzz/share/template/header_search.htm
+++ b/dzz/share/template/header_search.htm
@@ -2,9 +2,10 @@
diff --git a/dzz/share/template/share.htm b/dzz/share/template/share.htm
index 49464b2..f35d5ae 100644
--- a/dzz/share/template/share.htm
+++ b/dzz/share/template/share.htm
@@ -58,7 +58,7 @@
{lang checked}0{lang file_number_type}
-
+
@@ -70,7 +70,8 @@
{lang sharing_file}
-
+
+
{lang share_time}
@@ -88,7 +89,6 @@
-
@@ -132,10 +132,8 @@
$multi
-
-
@@ -143,8 +141,8 @@
+
+
+
\ No newline at end of file
diff --git a/dzz/styles/index.css b/dzz/styles/index.css
index fd2f151..99630fc 100644
--- a/dzz/styles/index.css
+++ b/dzz/styles/index.css
@@ -138,16 +138,6 @@ height: expression(this.height > 50 && this.width<=this.height ? 50 : true);
overflow: hidden;
background: url(../images/b.gif);
}
-#hidebackground_button {
- position: absolute;
- width: 30px;
- height: 30px;
- bottom: 0px;
- right: 0px;
- z-index: 100;
- cursor: pointer;
- background: url(images/desktop.png) center center no-repeat;
-}
._text {
color: #00F;
}
diff --git a/dzz/styles/menu/default/images/icons.gif b/dzz/styles/menu/default/images/icons.gif
deleted file mode 100644
index 487b966..0000000
Binary files a/dzz/styles/menu/default/images/icons.gif and /dev/null differ
diff --git a/dzz/styles/menu/default/images/icons.png b/dzz/styles/menu/default/images/icons.png
deleted file mode 100644
index c771704..0000000
Binary files a/dzz/styles/menu/default/images/icons.png and /dev/null differ
diff --git a/dzz/styles/menu/default/images/menu.gif b/dzz/styles/menu/default/images/menu.gif
deleted file mode 100644
index 30a2c4b..0000000
Binary files a/dzz/styles/menu/default/images/menu.gif and /dev/null differ
diff --git a/dzz/styles/menu/default/images/menu_downarrow.png b/dzz/styles/menu/default/images/menu_downarrow.png
deleted file mode 100644
index f03dfee..0000000
Binary files a/dzz/styles/menu/default/images/menu_downarrow.png and /dev/null differ
diff --git a/dzz/styles/menu/default/images/menu_rightarrow.png b/dzz/styles/menu/default/images/menu_rightarrow.png
deleted file mode 100644
index ea4f660..0000000
Binary files a/dzz/styles/menu/default/images/menu_rightarrow.png and /dev/null differ
diff --git a/dzz/styles/menu/default/images/menu_sep.png b/dzz/styles/menu/default/images/menu_sep.png
deleted file mode 100644
index 37b07e6..0000000
Binary files a/dzz/styles/menu/default/images/menu_sep.png and /dev/null differ
diff --git a/dzz/styles/menu/default/images/menu_split_downarrow.png b/dzz/styles/menu/default/images/menu_split_downarrow.png
deleted file mode 100644
index b33a93f..0000000
Binary files a/dzz/styles/menu/default/images/menu_split_downarrow.png and /dev/null differ
diff --git a/dzz/styles/menu/default/style.css b/dzz/styles/menu/default/style.css
deleted file mode 100644
index b8cb771..0000000
--- a/dzz/styles/menu/default/style.css
+++ /dev/null
@@ -1,311 +0,0 @@
-.menu{
- position:absolute;
- background:#F7F7F7;
- margin:0;
- padding:2px;
- border:1px solid #ccc;
- width:150px;
- z-index:99999;
-}
-.menu-item{
- position:relative;
- margin:0;
- padding:0;
- height:22px;
- line-height:20px;
- font-size:12px;
- cursor:pointer;
- border:1px solid #F7F7F7;
-}
-
-
-.menu-text{
- position:absolute;
- left:28px;
- top:0px;
- width:120px;
- height:22px;
- overflow:hidden;
-}
-
-.menu-item-nodelete .menu-text{
- position:absolute;
- left:28px;
- top:0px;
- color:#999;
-}
-.menu-icon{
- position:absolute;
- width:16px;
- height:16px;
- top:2px;
- left:2px;
- background-image:url(images/icons.png);
- background-repeat:no-repeat;
-
-}
-.menu-icon img{
- vertical-align:inherit;
-}
-ie6 .menu-icon{
- background-image:url('images/icons.gif');
-}
-.menu-sep{
- position:relative;
- display:block;
- height:2px;
- margin:3px 0px 3px 24px;
- line-height:2px;
- font-size:2px;
- background:url('images/menu_sep.png') repeat-x;
-}
-.menu-active{
- border:1px solid #7eabcd;
- background:#fafafa;
- -moz-border-radius:3px;
- -webkit-border-radius: 3px;
-}
-.menu_active{
-
- background:#FFF;
- -moz-border-radius:3px;
- -webkit-border-radius: 3px;
- border:1px solid #7eabcd;
-}
-.menu-shadow{
- position:absolute;
- background:#ddd;
- -moz-border-radius:5px;
- -webkit-border-radius: 5px;
- -moz-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
- -webkit-box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
- filter: progid:DXImageTransform.Microsoft.Blur(pixelRadius=2,MakeShadow=false,ShadowOpacity=0.2);
-}
-.menu .menu .icon-no {
- background-position:-0px -0px;
-}
-.menu .icon-appshop {
- background-position:-16px -0px;
-}
-.menu .icon-back {
- background-position:-32px -0px;
-}
-.menu .icon-config {
- background-position:-48px -0px;
-}
-.menu .icon-copy {
- background-position:-64px -0px;
-}
-.menu .icon-create {
- background-position:-80px -0px;
-}
-.menu .icon-cut {
- background-position:-96px -0px;
-}
-.menu .icon-delete {
- background-position:-112px -0px;
-}
-.menu .icon-desktop {
- background-position:-128px -0px;
-}
-.menu .icon-todesktop {
- background-position:-416px -16px;
-}
-.menu .icon-todock {
- background-position:-432px -16px;
-}
-.menu .icon-property {
- background-position:-448px -16px;
-}
-.menu .icon-newwindow {
- background-position:-480px -16px;
-}
-.menu .icon-innerwindow {
- background-position:-464px -16px;
-}
-.menu .icon-direction {
- background-position:-144px -0px;
-}
-.menu .icon-door {
- background-position:-160px -0px;
-}
-.menu .icon-download {
- background-position:-176px -0px;
-}
-.menu .icon-dzzdoc {
- background-position:-192px -0px;
-}
-.menu .icon-excel {
- background-position:-192px -0px;
-}
-.menu .icon-doc {
- background-position:-192px -0px;
-}
-.menu .icon-powerpoint {
- background-position:-192px -0px;
-}
-.menu .icon-edit {
- background-position:-208px -0px;
-}
-.menu .icon-edit_add {
- background-position:-224px -0px;
-}
-.menu .icon-edit_remove {
- background-position:-240px -0px;
-}
-.menu .icon-editnote {
- background-position:-256px -0px;
-}
-.menu .icon-empty {
- background-position:-272px -0px;
-}
-.menu .icon-filemanage {
- background-position:-288px -0px;
-}
-.menu .icon-filesave {
- background-position:-304px -0px;
-}
-.menu .icon-groupedit {
- background-position:-320px -0px;
-}
-.menu .icon-guanbi {
- background-position:-336px -0px;
-}
-.menu .icon-help {
- background-position:-352px -0px;
-}
-.menu .icon-home {
- background-position:-368px -0px;
-}
-.menu .icon-huanyuan {
- background-position:-384px -0px;
-}
-.menu .icon-iconview {
- background-position:-400px -0px;
-}
-.menu .icon-topic {
- background-position:-400px -16px;
-}
-.menu .icon-indesktop {
- background-position:-416px -0px;
-}
-.menu .icon-movegroup {
- background-position:-432px -0px;
-}
-.menu .icon-newdoc {
- background-position:-448px -0px;
-}
-.menu .icon-newfolder {
- background-position:-464px -0px;
-}
-.menu .icon-newlink {
- background-position:-480px -0px;
-}
-.menu .icon-autolist {
- background-position:-496px -0px;
-}
-.menu .icon-notselect {
- background-position:-512px -0px;
-}
-.menu .icon-ok {
- background-position:-528px -0px;
-}
-.menu .icon-open {
- background-position:-496px -16px;
-}
-.menu .icon-openwith {
- background-position:-512px -16px;
-}
-.menu .icon-paste {
- background-position:-560px -0px;
-}
-.menu .icon-pencil {
- background-position:-576px -0px;
-}
-.menu .icon-realdel {
- background-position:-0px -16px;
-}
-.menu .icon-pin {
- background-position:-16px -16px;
-}
-.menu .icon-rename {
- background-position:-32px -16px;
-}
-.menu .icon-position {
- background-position:-48px -16px;
-}
-.menu .icon-print {
- background-position:-64px -16px;
-}
-.menu .icon-recycle {
- background-position:-80px -16px;
-}
-.menu .icon-redo {
- background-position:-96px -16px;
-}
-.menu .icon-reload {
- background-position:-112px -16px;
-}
-.menu .icon-restore {
- background-position:-128px -16px;
-}
-.menu .icon-search {
- background-position:-144px -16px;
-}
-.menu .icon-select {
- background-position:-160px -16px;
-}
-.menu .icon-sendmsg {
- background-position:-176px -16px;
-}
-.menu .icon-setwidget {
- background-position:-192px -16px;
-}
-.menu .icon-share {
- background-position:-208px -16px;
-}
-.menu .icon-userdetail {
- background-position:-224px -16px;
-}
-.menu .icon-sort {
- background-position:-240px -16px;
-}
-.menu .icon-txt {
- background-position:-256px -16px;
-}
-.menu .icon-upload {
- background-position:-272px -16px;
-}
-.menu .icon-viewdesktop {
- background-position:-288px -16px;
-}
-.menu .icon-wallpaper {
- background-position:-304px -16px;
-}
-.menu .icon-widget {
- background-position:-320px -16px;
-}
-.menu .icon-world {
- background-position:-336px -16px;
-}
-.menu .icon-zhuti {
- background-position:-352px -16px;
-}
-.menu .icon-zuida {
- background-position:-368px -16px;
-}
-.menu .icon-zuixiao {
- background-position:-384px -16px;
-}
-.menu .icon-chmod {
- background-position:-528px -16px;
-}
-.menu .icon-docx {
- background:url(../../../images/icons/docx.png) center no-repeat;
-}
-.menu .icon-xlsx {
- background:url(../../../images/icons/xlsx.png) center no-repeat;
-}
-.menu .icon-pptx {
- background:url(../../../images/icons/pptx.png) center no-repeat;
-}
\ No newline at end of file
diff --git a/dzz/styles/showwindow/alert_icon/1.png b/dzz/styles/showwindow/alert_icon/1.png
deleted file mode 100644
index 27fc0b8..0000000
Binary files a/dzz/styles/showwindow/alert_icon/1.png and /dev/null differ
diff --git a/dzz/styles/showwindow/alert_icon/2.png b/dzz/styles/showwindow/alert_icon/2.png
deleted file mode 100644
index 5bd2386..0000000
Binary files a/dzz/styles/showwindow/alert_icon/2.png and /dev/null differ
diff --git a/dzz/styles/showwindow/alert_icon/3.png b/dzz/styles/showwindow/alert_icon/3.png
deleted file mode 100644
index 4069610..0000000
Binary files a/dzz/styles/showwindow/alert_icon/3.png and /dev/null differ
diff --git a/dzz/styles/showwindow/alert_icon/4.png b/dzz/styles/showwindow/alert_icon/4.png
deleted file mode 100644
index 3068634..0000000
Binary files a/dzz/styles/showwindow/alert_icon/4.png and /dev/null differ
diff --git a/dzz/styles/showwindow/alert_icon/5.png b/dzz/styles/showwindow/alert_icon/5.png
deleted file mode 100644
index 2cf17cb..0000000
Binary files a/dzz/styles/showwindow/alert_icon/5.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/CLOSE.png b/dzz/styles/showwindow/images/CLOSE.png
deleted file mode 100644
index 3b43569..0000000
Binary files a/dzz/styles/showwindow/images/CLOSE.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/CLOSE1.png b/dzz/styles/showwindow/images/CLOSE1.png
deleted file mode 100644
index 452a1c1..0000000
Binary files a/dzz/styles/showwindow/images/CLOSE1.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/REFRESH1.png b/dzz/styles/showwindow/images/REFRESH1.png
deleted file mode 100644
index 24cdf3d..0000000
Binary files a/dzz/styles/showwindow/images/REFRESH1.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/anniu.png b/dzz/styles/showwindow/images/anniu.png
deleted file mode 100644
index a574650..0000000
Binary files a/dzz/styles/showwindow/images/anniu.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/error.png b/dzz/styles/showwindow/images/error.png
deleted file mode 100644
index f1f0848..0000000
Binary files a/dzz/styles/showwindow/images/error.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/info.png b/dzz/styles/showwindow/images/info.png
deleted file mode 100644
index d9eb094..0000000
Binary files a/dzz/styles/showwindow/images/info.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/right.png b/dzz/styles/showwindow/images/right.png
deleted file mode 100644
index a0c23c2..0000000
Binary files a/dzz/styles/showwindow/images/right.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/selected.png b/dzz/styles/showwindow/images/selected.png
deleted file mode 100644
index 6d454e8..0000000
Binary files a/dzz/styles/showwindow/images/selected.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/showwindow.png b/dzz/styles/showwindow/images/showwindow.png
deleted file mode 100644
index 666b685..0000000
Binary files a/dzz/styles/showwindow/images/showwindow.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/showwindow_x.png b/dzz/styles/showwindow/images/showwindow_x.png
deleted file mode 100644
index c83b68e..0000000
Binary files a/dzz/styles/showwindow/images/showwindow_x.png and /dev/null differ
diff --git a/dzz/styles/showwindow/images/showwindow_y.png b/dzz/styles/showwindow/images/showwindow_y.png
deleted file mode 100644
index 84d5901..0000000
Binary files a/dzz/styles/showwindow/images/showwindow_y.png and /dev/null differ
diff --git a/dzz/styles/showwindow/style.css b/dzz/styles/showwindow/style.css
deleted file mode 100644
index 6ce31f1..0000000
--- a/dzz/styles/showwindow/style.css
+++ /dev/null
@@ -1,322 +0,0 @@
-
-
-/* ---- X_widget 样式 ---- */
-
-
-.fwinmask {
- background:#FBFBFB;
- /*box-shadow:0 3px 7px rgba(0,0,0,0.3),inset 0 0 10px #FFF;*/
- box-shadow:1px 3px 15px rgba(0,0,0,0.8),inset 0 0 10px #FFF;
- /*border:1px solid rgba(0,0,0,0.7);*/
- padding:5px;
- border:1px solid #CCC\0;
- *border:1px solid #CCC;
- border-radius:3px;
-}
-/*.fwinmask.modal-content{
- box-shadow:none;
- border:0;
-}*/
-.fwinmask p{
- margin:0;
- padding:5px 0 0;
-}
-.fwinmask .alert_right, .fwinmask .alert_error, .fwinmask .alert_info { padding: 6px 0 6px 58px; min-height: 45px; height: auto !important; height: 40px; line-height: 160%; background:url(images/right.png) no-repeat 8px 8px; font-size: 14px; }
-.fwinmask .alert_error { background-image: url(images/error.png); }
-.fwinmask .alert_error a { font-weight: 700; }
-.fwinmask .alert_info { background-image: url(images/info.png); }
-.fwinmask .alert_btnleft { margin-top: 8px; }
-.fwinmask .alert_btn { margin-top: 20px; text-align: center; }
-.fwinmask .alert_act { margin-top: 20px; padding-left: 58px; }
-
-
-/*去除原来透明边框*/
-.fwinmask .nfl .f_c {
- background: none;
- border:none;
- margin: auto;
- padding: 20px;
- width: 380px;
-}
-/*.fwinmask .bm{
- border:none;
- background:none;
-}
-.fwinmask .m_c{
- background:none;
-
-}*/
-.fwinmask .m_c .form-signin {
- background: none;
- border: none;
- border-radius: none;
- box-shadow: none;
- margin: 0;
- padding: 0;
-}
-.fwinmask .m_c .form-group{
- border-bottom: 1px solid #e7e7e7;
- border-top: 1px solid #FFFFFF;
- margin:0px;
- padding:10px 0;
-}
-.fwinmask .m_c .form-group .help-block{
- margin:5px 0;
-}
-
-
-.fwinmask .m_c h3{
- border-bottom:1px solid #e7e7e7;
- font-size:16px;
- margin:0;
- font-weight:bold;
-
-}
-
-.fwinmask .m_c h3{*zoom:1}
-.fwinmask .m_c h3:before,.fwinmask .m_c h3:after{display:table;line-height:0;content:""}
-.fwinmask .m_c h3:after{clear:both}
-.fwinmask .m_c h3 .close{
- margin-right:10px\0;
- *zoom:1
-}
-.fwinmask .m_c h3 em{
- font-style:normal;
- float:left;
- padding:10px;
-}
-.fwinmask .m_c .o {
- background: none;
- border-top: none;
- /* */
- padding: 5px;
- text-align: right;
- border-top:1px solid #FFF
-}
-.fwinmask .m_c .c {
- border-bottom: 1px solid #e7e7e7;
- border-top: 1px solid #FFFFFF;
- padding: 10px;
- margin: 0 !important;
- min-width:350px;
-}
-.fwinmask .m_c .last{
- border-bottom: none;
- border-top: 1px solid #FFFFFF;
- margin:0px;
- padding:10px 0;
-}
-
-.fwinmask .alert_icon .alert_icon_img{
- padding:1px;
- background:#FFF;
- width:48px;
- height:48px;
- height: 48px;
- margin-left: -58px;
- padding: 1px;
- position: absolute;
- width: 48px;
-}
-.fwinmask .alert_icon {
- font-size: 14px;
- height: auto !important;
- line-height: 160%;
- min-height: 50px;
- padding: 6px 0 6px 68px;
-}
-
-
-
-
-.fwinmask .ROUND{
- background:url(images/showwindow_y.png) 999px 999px;
- position:absolute;
- overflow:hidden;
- z-index:-1;
- font-size: 1px;
-
-}
-/*按钮*/
-.fwinmask .flbc{
- width:18px;
- height:18px;
- font-size:20px;
- position:absolute;
- right:5px;
- top:5px;
- text-indent:100;
-}
-/*新建文件夹*/
-
-.foldertype{
-
-}
-.foldertype .foldertype_item{
- width:80px;
- height:80px;
- margin:5px;
- float:left;
- border:1px solid transparent;
- cursor:pointer;
- position:relative;
-}
-.foldertype .hover.foldertype_item{
- background: #FFF1E1/* RGBA(200,200,200,0.5)*/;
- border:1px solid #FF9900/*#EEE*/;
- /*border-radius:5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;*/
-}
-.foldertype .selected.foldertype_item{
- background:#FFF1E1/*RGBA(200,200,200,0.8)*/;
- border:1px solid #FF9900;
- /*border-radius:5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;border-radius: 5px;*/
-}
-.foldertype .icon_sel{
- position:absolute;
- z-index:10;
- right:0px;
- bottom:20px;
- width:47px;
- height:47px;
- background:url(images/selected.png) no-repeat;
- display:none;
-}
-.foldertype .foldertype_item .icon_sel{
- width:47px;
- height:47px;
-}
-.foldertype .selected .icon_sel{
- display:block;
-}
-
-
-/*.pn {
- background: url("./images/anniu.png") no-repeat 0 -279px;
- border: none;
- box-shadow: none;
- cursor: pointer;
- height: 31px;
- margin:0 5px;
- overflow: hidden;
- padding: 0 0 0 3px;
- vertical-align: middle;
- float:right;
- color: #254264 !important;
-}
-.pnc, a.pnc {
- background: url("./images/anniu.png") no-repeat 0 -93px;
-
- color: #254264 !important;
-}
-.pn strong {
- height:31px;
- display:inline-block;
- line-height: 31px;
- background: url("./images/anniu.png") no-repeat 100% -310px transparent;
- padding:0 10px;
-}
-.pnc strong {
- height:31px;
- display:inline-block;
- line-height: 31px;
- background: url("./images/anniu.png") no-repeat 100% -124px transparent;
- padding:0 10px;
-}
-.pn:active{
- background-position: 0 -186px;
-}
-.pn:active strong{
- background-position: 100% -217px;
-}
-.pnc:active{
- background-position: 0 0;
-}
-.pnc:active strong{
- background-position: 100% -31px;
-}*/
-
-
-/* 边框样式 */
-/*
-.fwinmask .LEFT_TOP
-{
- width: 43px;
- height: 97px;
- left:-30px;
- top:-25px;
- background-position:0 0;
- background-repeat:no-repeat;
-}
-
-.fwinmask .TOP
-{
-
- height: 97px;
- left:13px;
- right:12px;
- top:-25px;
- background-position:0px -288px;
- background-repeat:repeat-x;
-}
-.fwinmask .RIGHT_TOP
-{
- width: 42px;
- height: 97px;
- right:-30px;
- top:-25px;
- background-position:0px -97px;
- background-repeat:no-repeat;
-
-}
-
-.fwinmask .RIGHT
-{
-
- width: 42px;
- right:-30px;
- top:72px;
- bottom:13px;
- background:url(images/showwindow_x.png) 0px 0px repeat-y;
-
-}
-.fwinmask .RIGHT_BOTTOM
-{
- height: 47px;
- width: 42px;
- right:-30px;
- bottom:-34px;
- background-position:0px -241px;
- background-repeat:no-repeat;
-}
-
-.fwinmask .BOTTOM
-{
-
- height: 47px;
- bottom:-34px;
- left:13px;
- right:12px;
- background-position:0px -401px;
- background-repeat:repeat-x;
-
-}
-
-.fwinmask .LEFT_BOTTOM
-{
- width: 43px;
- height: 47px;
- bottom:-34px;
- left:-29px;
- background-position:0px -194px;
- background-repeat:no-repeat;
-}
-
-
-.fwinmask .LEFT
-{
- width: 43px;
- bottom: 13px;
- top:72px;
- left:-30px;
- background:url(images/showwindow_x.png) -42px 0px repeat-y;
-}*/
diff --git a/dzz/styles/thame/colorful/system/ALIOSS.png b/dzz/styles/thame/colorful/system/ALIOSS.png
deleted file mode 100644
index bd7d0c5..0000000
Binary files a/dzz/styles/thame/colorful/system/ALIOSS.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/Dropbox.png b/dzz/styles/thame/colorful/system/Dropbox.png
deleted file mode 100644
index 2633168..0000000
Binary files a/dzz/styles/thame/colorful/system/Dropbox.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/JSS.png b/dzz/styles/thame/colorful/system/JSS.png
deleted file mode 100644
index 181c9ba..0000000
Binary files a/dzz/styles/thame/colorful/system/JSS.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/OneDrive.png b/dzz/styles/thame/colorful/system/OneDrive.png
deleted file mode 100644
index 8c6a800..0000000
Binary files a/dzz/styles/thame/colorful/system/OneDrive.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/baiduPCS.png b/dzz/styles/thame/colorful/system/baiduPCS.png
deleted file mode 100644
index 02401f9..0000000
Binary files a/dzz/styles/thame/colorful/system/baiduPCS.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/bucket.png b/dzz/styles/thame/colorful/system/bucket.png
deleted file mode 100644
index b68c2fa..0000000
Binary files a/dzz/styles/thame/colorful/system/bucket.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/desktop.png b/dzz/styles/thame/colorful/system/desktop.png
deleted file mode 100644
index 3501354..0000000
Binary files a/dzz/styles/thame/colorful/system/desktop.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/disk.png b/dzz/styles/thame/colorful/system/disk.png
deleted file mode 100644
index 60ba795..0000000
Binary files a/dzz/styles/thame/colorful/system/disk.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/dock.png b/dzz/styles/thame/colorful/system/dock.png
deleted file mode 100644
index 9a7f443..0000000
Binary files a/dzz/styles/thame/colorful/system/dock.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/document.png b/dzz/styles/thame/colorful/system/document.png
deleted file mode 100644
index 278f8c8..0000000
Binary files a/dzz/styles/thame/colorful/system/document.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/filemanage.png b/dzz/styles/thame/colorful/system/filemanage.png
deleted file mode 100644
index 45e782b..0000000
Binary files a/dzz/styles/thame/colorful/system/filemanage.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/ftp.png b/dzz/styles/thame/colorful/system/ftp.png
deleted file mode 100644
index dee43d7..0000000
Binary files a/dzz/styles/thame/colorful/system/ftp.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/home.png b/dzz/styles/thame/colorful/system/home.png
deleted file mode 100644
index 37360bf..0000000
Binary files a/dzz/styles/thame/colorful/system/home.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/organization.png b/dzz/styles/thame/colorful/system/organization.png
deleted file mode 100644
index 153a3a0..0000000
Binary files a/dzz/styles/thame/colorful/system/organization.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/recycle.png b/dzz/styles/thame/colorful/system/recycle.png
deleted file mode 100644
index 25aeaa8..0000000
Binary files a/dzz/styles/thame/colorful/system/recycle.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/recycle1.png b/dzz/styles/thame/colorful/system/recycle1.png
deleted file mode 100644
index 8cd4380..0000000
Binary files a/dzz/styles/thame/colorful/system/recycle1.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/thumb.jpg b/dzz/styles/thame/colorful/system/thumb.jpg
deleted file mode 100644
index 35d68ac..0000000
Binary files a/dzz/styles/thame/colorful/system/thumb.jpg and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/thumb.png b/dzz/styles/thame/colorful/system/thumb.png
deleted file mode 100644
index 37618d3..0000000
Binary files a/dzz/styles/thame/colorful/system/thumb.png and /dev/null differ
diff --git a/dzz/styles/thame/colorful/system/video.png b/dzz/styles/thame/colorful/system/video.png
deleted file mode 100644
index ea6366b..0000000
Binary files a/dzz/styles/thame/colorful/system/video.png and /dev/null differ
diff --git a/dzz/system/css/rightmenu/style.css b/dzz/system/css/rightmenu/style.css
index c5fd491..2d68045 100644
--- a/dzz/system/css/rightmenu/style.css
+++ b/dzz/system/css/rightmenu/style.css
@@ -331,13 +331,4 @@ ie6 .menu-icon{
}
.menu .icon-chmod {
background-position:-528px -16px;
-}
-.menu .icon-docx {
- background:url(../../../images/icons/docx.png) center no-repeat;
-}
-.menu .icon-xlsx {
- background:url(../../../images/icons/xlsx.png) center no-repeat;
-}
-.menu .icon-pptx {
- background:url(../../../images/icons/pptx.png) center no-repeat;
}
\ No newline at end of file
diff --git a/dzz/system/language/en-US/lang.php b/dzz/system/language/en-US/lang.php
index 6d34fc8..39678e0 100644
--- a/dzz/system/language/en-US/lang.php
+++ b/dzz/system/language/en-US/lang.php
@@ -47,7 +47,6 @@ $lang = array
'scan_qr_code'=>' Scan QR code, send to mobile phone ',
'download_link'=>' Download address ',
'share_status'=>' share status',
- 'delete_share'=>' delete share',
'delete_share1'=>' After deleting a share, all links that have been sent to this share will become invalid and cannot be restored. Are you sure you want to delete this share? ',
'please_fill_share_title'=>' Please fill in the share title',
'create_failure'=>' create failure',
diff --git a/dzz/system/language/zh-cn/lang.php b/dzz/system/language/zh-cn/lang.php
index 2d16e7d..5778740 100644
--- a/dzz/system/language/zh-cn/lang.php
+++ b/dzz/system/language/zh-cn/lang.php
@@ -49,7 +49,6 @@ $lang = array
'scan_qr_code'=>'扫描二维码,发送到手机',
'download_link'=>'下载地址',
'share_status'=>'分享状态',
- 'delete_share'=>'删除分享',
'delete_share1'=>'删除分享后,已经发出去的此分享链接都将失效,无法恢复,您确定要删除此分享吗?',
'please_fill_share_title'=>'请填写分享标题',
'create_failure'=>'创建失败',
diff --git a/dzz/system/ueditor/themes/iframe.css b/dzz/system/ueditor/themes/iframe.css
index 7c97aab..37134db 100644
--- a/dzz/system/ueditor/themes/iframe.css
+++ b/dzz/system/ueditor/themes/iframe.css
@@ -6,7 +6,7 @@ img{
body.view{
font-weight: 100;
line-height: 30px;
- padding:42px;
+ padding:var(--radius);
}
.dzz-attach,.dzz-link,.dzz-dzzdoc {
padding:0 10px;
diff --git a/dzz/system/ueditor/themes/iframe1.css b/dzz/system/ueditor/themes/iframe1.css
deleted file mode 100644
index e958ce2..0000000
--- a/dzz/system/ueditor/themes/iframe1.css
+++ /dev/null
@@ -1,27 +0,0 @@
-/*可以在这里添加你自己的css*/
-img{
- max-width:100%;
-}
-body.view{
- font-weight: 100;
- line-height: 1.8;
-}
-.dzz-attach,.dzz-link,.dzz-dzzdoc {
- padding:0 10px;
- display:inline-block;
-}
-.dzz-attach-icon,.dzz-dzzdoc-icon,.dzz-link-icon{
- width:16px;
- height:16px;
- vertical-align: middle;
- margin-top:-5px;
- margin-right:5px;
-}
-.dzz-attach-title,.dzz-dzzdoc-title,.dzz-link-title{
- text-decoration:none;
-}
-.at-item{
- text-decoration:none;
- color:#337ab7;
- display:inline-block;
-}
\ No newline at end of file
diff --git a/dzz/system/ueditor/third-party/jquery-1.10.2.min.map b/dzz/system/ueditor/third-party/jquery-1.10.2.min.map
deleted file mode 100644
index 4dc4920..0000000
--- a/dzz/system/ueditor/third-party/jquery-1.10.2.min.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"jquery-1.10.2.min.js","sources":["jquery-1.10.2.js"],"names":["window","undefined","readyList","rootjQuery","core_strundefined","location","document","docElem","documentElement","_jQuery","jQuery","_$","$","class2type","core_deletedIds","core_version","core_concat","concat","core_push","push","core_slice","slice","core_indexOf","indexOf","core_toString","toString","core_hasOwn","hasOwnProperty","core_trim","trim","selector","context","fn","init","core_pnum","source","core_rnotwhite","rtrim","rquickExpr","rsingleTag","rvalidchars","rvalidbraces","rvalidescape","rvalidtokens","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","completed","event","addEventListener","type","readyState","detach","ready","removeEventListener","detachEvent","prototype","jquery","constructor","match","elem","this","charAt","length","exec","find","merge","parseHTML","nodeType","ownerDocument","test","isPlainObject","isFunction","attr","getElementById","parentNode","id","makeArray","toArray","call","get","num","pushStack","elems","ret","prevObject","each","callback","args","promise","done","apply","arguments","first","eq","last","i","len","j","map","end","sort","splice","extend","src","copyIsArray","copy","name","options","clone","target","deep","isArray","expando","Math","random","replace","noConflict","isReady","readyWait","holdReady","hold","wait","body","setTimeout","resolveWith","trigger","off","obj","Array","isWindow","isNumeric","isNaN","parseFloat","isFinite","String","key","e","support","ownLast","isEmptyObject","error","msg","Error","data","keepScripts","parsed","scripts","createElement","buildFragment","remove","childNodes","parseJSON","JSON","parse","Function","parseXML","xml","tmp","DOMParser","parseFromString","ActiveXObject","async","loadXML","getElementsByTagName","noop","globalEval","execScript","camelCase","string","nodeName","toLowerCase","value","isArraylike","text","arr","results","Object","inArray","max","second","l","grep","inv","retVal","arg","guid","proxy","access","chainable","emptyGet","raw","bulk","now","Date","getTime","swap","old","style","Deferred","attachEvent","top","frameElement","doScroll","doScrollCheck","split","cachedruns","Expr","getText","isXML","compile","outermostContext","sortInput","setDocument","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","preferredDoc","dirruns","classCache","createCache","tokenCache","compilerCache","hasDuplicate","sortOrder","a","b","strundefined","MAX_NEGATIVE","hasOwn","pop","push_native","booleans","whitespace","characterEncoding","identifier","attributes","pseudos","RegExp","rcomma","rcombinators","rsibling","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rnative","rinputs","rheader","rescape","runescape","funescape","_","escaped","escapedWhitespace","high","fromCharCode","els","Sizzle","seed","m","groups","nid","newContext","newSelector","getElementsByClassName","qsa","tokenize","getAttribute","setAttribute","toSelector","join","querySelectorAll","qsaError","removeAttribute","select","keys","cache","cacheLength","shift","markFunction","assert","div","removeChild","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createPositionalPseudo","argument","matchIndexes","node","doc","parent","defaultView","className","appendChild","createComment","innerHTML","firstChild","getById","getElementsByName","filter","attrId","getAttributeNode","tag","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","val","specified","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","nodeValue","selectors","createPseudo","relative",">","dir"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","outerCache","nodeIndex","start","useCache","lastChild","pseudo","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","root","focus","activeElement","hasFocus","href","tabIndex","enabled","disabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","addCombinator","combinator","base","checkNonElements","doneName","dirkey","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","matcherCachedRuns","bySet","byElement","superMatcher","expandContext","setMatched","matchedCount","outermost","contextBackup","dirrunsUnique","group","contexts","token","div1","defaultValue","unique","isXMLDoc","optionsCache","createOptions","object","flag","Callbacks","firing","memory","fired","firingLength","firingIndex","firingStart","list","stack","once","fire","stopOnFalse","self","disable","add","index","lock","locked","fireWith","func","tuples","state","always","deferred","fail","then","fns","newDefer","tuple","action","returned","resolve","reject","progress","notify","pipe","stateString","when","subordinate","resolveValues","remaining","updateFunc","values","progressValues","notifyWith","progressContexts","resolveContexts","fragment","opt","eventName","isSupported","cssText","getSetAttribute","leadingWhitespace","tbody","htmlSerialize","hrefNormalized","opacity","cssFloat","checkOn","optSelected","enctype","html5Clone","cloneNode","outerHTML","inlineBlockNeedsLayout","shrinkWrapBlocks","pixelPosition","deleteExpando","noCloneEvent","reliableMarginRight","boxSizingReliable","noCloneChecked","optDisabled","radioValue","createDocumentFragment","appendChecked","checkClone","click","change","focusin","backgroundClip","clearCloneStyle","container","marginDiv","tds","divReset","offsetHeight","display","reliableHiddenOffsets","zoom","boxSizing","offsetWidth","getComputedStyle","width","marginRight","rbrace","rmultiDash","internalData","pvt","acceptData","thisCache","internalKey","isNode","toJSON","internalRemoveData","isEmptyDataObject","cleanData","noData","applet","embed","hasData","removeData","_data","_removeData","dataAttr","queue","dequeue","startLength","hooks","_queueHooks","next","stop","setter","delay","time","fx","speeds","timeout","clearTimeout","clearQueue","count","defer","nodeHook","boolHook","rclass","rreturn","rfocusable","rclickable","ruseDefault","getSetInput","removeAttr","prop","removeProp","propFix","addClass","classes","clazz","proceed","removeClass","toggleClass","stateVal","classNames","hasClass","valHooks","set","option","one","optionSet","nType","attrHooks","propName","attrNames","for","class","notxml","propHooks","tabindex","parseInt","getter","setAttributeNode","createAttribute","coords","contenteditable","rformElems","rkeyEvent","rmouseEvent","rfocusMorph","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","global","types","events","t","handleObjIn","special","eventHandle","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","onlyHandlers","ontype","bubbleType","eventPath","Event","isTrigger","namespace_re","noBubble","parentWindow","isPropagationStopped","preventDefault","isDefaultPrevented","_default","fix","handlerQueue","delegateTarget","preDispatch","currentTarget","isImmediatePropagationStopped","stopPropagation","postDispatch","sel","originalEvent","fixHook","fixHooks","mouseHooks","keyHooks","props","srcElement","metaKey","original","which","charCode","keyCode","eventDoc","fromElement","pageX","clientX","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","relatedTarget","toElement","load","blur","beforeunload","returnValue","simulate","bubble","isSimulated","defaultPrevented","getPreventDefault","timeStamp","cancelBubble","stopImmediatePropagation","mouseenter","mouseleave","orig","related","submitBubbles","form","_submit_bubble","changeBubbles","propertyName","_just_changed","focusinBubbles","attaches","on","origFn","triggerHandler","isSimple","rparentsprev","rneedsContext","guaranteedUnique","children","contents","prev","targets","winnow","is","closest","pos","prevAll","addBack","sibling","parents","parentsUntil","until","nextAll","nextUntil","prevUntil","siblings","contentDocument","contentWindow","reverse","n","r","qualifier","createSafeFragment","nodeNames","safeFrag","rinlinejQuery","rnoshimcache","rleadingWhitespace","rxhtmlTag","rtagName","rtbody","rhtml","rnoInnerhtml","manipulation_rcheckableType","rchecked","rscriptType","rscriptTypeMasked","rcleanScript","wrapMap","legend","area","param","thead","tr","col","td","safeFragment","fragmentDiv","optgroup","tfoot","colgroup","caption","th","append","createTextNode","domManip","manipulationTarget","prepend","insertBefore","before","after","keepData","getAll","setGlobalEval","dataAndEvents","deepDataAndEvents","html","replaceWith","allowIntersection","hasScripts","iNoClone","disableScript","restoreScript","_evalUrl","content","refElements","cloneCopyEvent","dest","oldData","curData","fixCloneNodeIssues","defaultChecked","defaultSelected","appendTo","prependTo","insertAfter","replaceAll","insert","found","fixDefaultChecked","destElements","srcElements","inPage","selection","wrap","safe","nodes","url","ajax","dataType","throws","wrapAll","wrapInner","unwrap","iframe","getStyles","curCSS","ralpha","ropacity","rposition","rdisplayswap","rmargin","rnumsplit","rnumnonpx","rrelNum","elemdisplay","BODY","cssShow","position","visibility","cssNormalTransform","letterSpacing","fontWeight","cssExpand","cssPrefixes","vendorPropName","capName","origName","isHidden","el","css","showHide","show","hidden","css_defaultDisplay","styles","hide","toggle","cssHooks","computed","cssNumber","columnCount","fillOpacity","lineHeight","order","orphans","widows","zIndex","cssProps","float","extra","_computed","minWidth","maxWidth","getPropertyValue","currentStyle","left","rs","rsLeft","runtimeStyle","pixelLeft","setPositiveNumber","subtract","augmentWidthOrHeight","isBorderBox","getWidthOrHeight","valueIsBorderBox","actualDisplay","write","close","$1","visible","margin","padding","border","prefix","suffix","expand","expanded","parts","r20","rbracket","rCRLF","rsubmitterTypes","rsubmittable","serialize","serializeArray","traditional","s","encodeURIComponent","ajaxSettings","buildParams","v","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","ajaxLocParts","ajaxLocation","ajax_nonce","ajax_rquery","rhash","rts","rheaders","rlocalProtocol","rnoContent","rprotocol","rurl","_load","prefilters","transports","allTypes","addToPrefiltersOrTransports","structure","dataTypeExpression","dataTypes","inspectPrefiltersOrTransports","originalOptions","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","params","response","responseText","complete","status","active","lastModified","etag","isLocal","processData","contentType","accepts","*","json","responseFields","converters","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","cacheURL","responseHeadersString","timeoutTimer","fireGlobals","transport","responseHeaders","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","lname","overrideMimeType","mimeType","code","abort","statusText","finalText","success","method","crossDomain","hasContent","ifModified","headers","beforeSend","send","nativeStatusText","responses","isSuccess","modified","ajaxHandleResponses","ajaxConvert","rejectWith","getJSON","getScript","firstDataType","ct","finalDataType","conv2","current","conv","dataFilter","script","text script","head","scriptCharset","charset","onload","onreadystatechange","isAbort","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","xhrCallbacks","xhrSupported","xhrId","xhrOnUnloadAbort","createStandardXHR","XMLHttpRequest","createActiveXHR","xhr","cors","username","open","xhrFields","firefoxAccessException","unload","fxNow","timerId","rfxtypes","rfxnum","rrun","animationPrefilters","defaultPrefilter","tweeners","tween","createTween","unit","scale","maxIterations","createFxNow","animation","collection","Animation","properties","stopped","tick","currentTime","startTime","duration","percent","tweens","run","opts","specialEasing","originalProperties","Tween","easing","gotoEnd","propFilter","timer","anim","tweener","prefilter","oldfire","dataShow","unqueued","overflow","overflowX","overflowY","eased","step","cssFn","speed","animate","genFx","fadeTo","to","optall","doAnimation","finish","stopQueue","timers","includeWidth","height","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","linear","p","swing","cos","PI","interval","setInterval","clearInterval","slow","fast","animated","offset","setOffset","win","box","getBoundingClientRect","getWindow","pageYOffset","pageXOffset","curElem","curOffset","curCSSTop","curCSSLeft","calculatePosition","curPosition","curTop","curLeft","using","offsetParent","parentOffset","scrollTo","Height","Width","defaultExtra","funcName","size","andSelf","module","exports","define","amd"],"mappings":"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"}
\ No newline at end of file
diff --git a/dzz/system/ueditor/ueditor.all.min.js b/dzz/system/ueditor/ueditor.all.min.js
deleted file mode 100644
index 30f6b39..0000000
--- a/dzz/system/ueditor/ueditor.all.min.js
+++ /dev/null
@@ -1,6 +0,0 @@
-/*!
- * UEditor
- * version: ueditor
- * build: Thu May 29 2014 16:47:49 GMT+0800 (\u4e2d\u56fd\u6807\u51c6\u65f6\u95f4)
- */
-(function () { function v(n, t, i) { var r; return t = t.toLowerCase(), (r = n.__allListeners || i && (n.__allListeners = {})) && (r[t] || i && (r[t] = [])) } function c(n, t, i, r, u, f) { var e = r && n[t], o; !e && (e = n[i]); while (!e && (o = (o || n).parentNode)) { if (o.tagName == "BODY" || f && !f(o)) return null; e = o[i] } return e && u && !u(e) ? c(e, t, i, !1, u) : e } var l, f, d, p, w, a, s, u; UEDITOR_CONFIG = window.UEDITOR_CONFIG || {}, u = window.baidu || {}, window.baidu = u, window.UE = u.editor = window.UE || {}, UE.plugins = {}, UE.commands = {}, UE.instants = {}, UE.I18N = {}, UE._customizeUI = {}, UE.version = "1.4.3"; var e = UE.dom = {}, r = UE.browser = function () { var i = navigator.userAgent.toLowerCase(), e = window.opera, n = { ie: /(msie\s|trident.*rv:)([\w.]+)/.test(i), opera: !!e && e.version, webkit: i.indexOf(" applewebkit/") > -1, mac: i.indexOf("macintosh") > -1, quirks: document.compatMode == "BackCompat" }, t, f, r, u; return n.gecko = navigator.product == "Gecko" && !n.webkit && !n.opera && !n.ie, t = 0, n.ie && (f = i.match(/(?:msie\s([\w.]+))/), r = i.match(/(?:trident.*rv:([\w.]+))/), t = f && r && f[1] && r[1] ? Math.max(f[1] * 1, r[1] * 1) : f && f[1] ? f[1] * 1 : r && r[1] ? r[1] * 1 : 0, n.ie11Compat = document.documentMode == 11, n.ie9Compat = document.documentMode == 9, n.ie8 = !!document.documentMode, n.ie8Compat = document.documentMode == 8, n.ie7Compat = t == 7 && !document.documentMode || document.documentMode == 7, n.ie6Compat = t < 7 || n.quirks, n.ie9above = t > 8, n.ie9below = t < 9, n.ie11above = t > 10, n.ie11below = t < 11), n.gecko && (u = i.match(/rv:([\d\.]+)/), u && (u = u[1].split("."), t = u[0] * 1e4 + (u[1] || 0) * 100 + (u[2] || 0) * 1)), /chrome\/(\d+\.\d)/i.test(i) && (n.chrome = +RegExp.$1), /(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(i) && !/chrome/i.test(i) && (n.safari = +(RegExp.$1 || RegExp.$2)), n.opera && (t = parseFloat(e.version())), n.webkit && (t = parseFloat(i.match(/ applewebkit\/(\d+)/)[1])), n.version = t, n.isCompatible = !n.mobile && (n.ie && t >= 6 || n.gecko && t >= 10801 || n.opera && t >= 9.5 || n.air && t >= 1 || n.webkit && t >= 522 || !1), n }(), o = r.ie, nt = r.webkit, g = r.gecko, b = r.opera, t = UE.utils = { each: function (n, t, i) { var r, f, u; if (n == null) return; if (n.length === +n.length) { for (r = 0, f = n.length; r < f; r++)if (t.call(i, n[r], r, n) === !1) return !1 } else for (u in n) if (n.hasOwnProperty(u)) if (t.call(i, n[u], u, n) === !1) return !1 }, makeInstance: function (n) { var t = new Function; return t.prototype = n, n = new t, t.prototype = null, n }, extend: function (n, t, i) { if (t) for (var r in t) (!i || !n.hasOwnProperty(r)) && (n[r] = t[r]); return n }, extend2: function (n) { for (var u = arguments, r, t, i = 1; i < u.length; i++) { r = u[i]; for (t in r) n.hasOwnProperty(t) || (n[t] = r[t]) } return n }, inherits: function (n, i) { var u = n.prototype, r = t.makeInstance(i.prototype); return t.extend(r, u, !0), n.prototype = r, r.constructor = n }, bind: function (n, t) { return function () { return n.apply(t, arguments) } }, defer: function (n, t, i) { var r; return function () { i && clearTimeout(r), r = setTimeout(n, t) } }, indexOf: function (n, t, i) { var r = -1; return i = this.isNumber(i) ? i : 0, this.each(n, function (n, u) { if (u >= i && n === t) return r = u, !1 }), r }, removeItem: function (n, t) { for (var i = 0, r = n.length; i < r; i++)n[i] === t && (n.splice(i, 1), i--) }, trim: function (n) { return n.replace(/(^[ \t\n\r]+)|([ \t\n\r]+$)/g, "") }, listToMap: function (n) { if (!n) return {}; n = t.isArray(n) ? n : n.split(","); for (var u = 0, i, r = {}; i = n[u++];)r[i.toUpperCase()] = r[i] = 1; return r }, unhtml: function (n, t) { return n ? n.replace(t || /[&<">'](?:(amp|lt|quot|gt|#39|nbsp|#\d+);)?/g, function (n, t) { return t ? n : ({ "<": "<", "&": "&", '"': """, ">": ">", "'": "'" })[n] }) : "" }, html: function (n) { return n ? n.replace(/&((g|l|quo)t|amp|#39|nbsp);/g, function (n) { return ({ "<": "<", "&": "&", """: '"', ">": ">", "'": "'", " ": " " })[n] }) : "" }, cssStyleToDomStyle: function () { var t = document.createElement("div").style, n = { "float": t.cssFloat != undefined ? "cssFloat" : t.styleFloat != undefined ? "styleFloat" : "float" }; return function (t) { return n[t] || (n[t] = t.toLowerCase().replace(/-./g, function (n) { return n.charAt(1).toUpperCase() })) } }(), loadFile: function () { function n(n, i) { try { for (var u = 0, r; r = t[u++];)if (r.doc === n && r.url == (i.src || i.href)) return r } catch (f) { return null } } var t = []; return function (i, r, u) { var e = n(i, r), s, f, o; if (e) { e.ready ? u && u() : e.funs.push(u); return } t.push({ doc: i, url: r.src || r.href, funs: [u] }); if (!i.body) { s = []; for (o in r) { if (o == "tag") continue; s.push(o + '="' + r[o] + '"') } i.write("<" + r.tag + " " + s.join(" ") + " >" + r.tag + ">"); return } if (r.id && i.getElementById(r.id)) return; f = i.createElement(r.tag), delete r.tag; for (o in r) f.setAttribute(o, r[o]); f.onload = f.onreadystatechange = function () { if (!this.readyState || /loaded|complete/.test(this.readyState)) { e = n(i, r); if (e.funs.length > 0) { e.ready = 1; for (var t; t = e.funs.pop();)t() } f.onload = f.onreadystatechange = null } }, f.onerror = function () { throw Error("The load " + (r.href || r.src) + " fails,check the url settings of file ueditor.config.js "); }, i.getElementsByTagName("head")[0].appendChild(f) } }(), isEmptyObject: function (n) { if (n == null) return !0; if (this.isArray(n) || this.isString(n)) return n.length === 0; for (var t in n) if (n.hasOwnProperty(t)) return !1; return !0 }, fixColor: function (n, t) { var r, u, i; if (/color/i.test(n) && /rgba?/.test(t)) { r = t.split(","); if (r.length > 3) return ""; for (t = "#", u = 0; i = r[u++];)i = parseInt(i.replace(/[^\d]/gi, ""), 10).toString(16), t += i.length == 1 ? "0" + i : i; t = t.toUpperCase() } return t }, optCss: function (n) { function r(n, t) { var e; if (!n) return ""; var r = n.top, u = n.bottom, i = n.left, f = n.right, o = ""; if (!r || !i || !u || !f) for (e in n) o += ";" + t + "-" + e + ":" + n[e] + ";"; else o += ";" + t + ":" + (r == u && u == i && i == f ? r : r == u && i == f ? r + " " + i : i == f ? r + " " + i + " " + u : r + " " + f + " " + u + " " + i) + ";"; return o } var i, t, u; return n = n.replace(/(padding|margin|border)\-([^:]+):([^;]+);?/gi, function (n, r, u, f) { if (f.split(" ").length == 1) switch (r) { case "padding": return !i && (i = {}), i[u] = f, ""; case "margin": return !t && (t = {}), t[u] = f, ""; case "border": return f == "initial" ? "" : n }return n }), n += r(i, "padding") + r(t, "margin"), n.replace(/^[ \n\r\t;]*|[ \n\r\t]*$/, "").replace(/;([ \n\r\t]+)|\1;/g, ";").replace(/(&((l|g)t|quot|#39))?;{2,}/g, function (n, t) { return t ? t + ";;" : ";" }) }, clone: function (n, i) { var u, r; i = i || {}; for (r in n) n.hasOwnProperty(r) && (u = n[r], typeof u == "object" ? (i[r] = t.isArray(u) ? [] : {}, t.clone(n[r], i[r])) : i[r] = u); return i }, transUnitToPx: function (n) { if (!/(pt|cm)/.test(n)) return n; var t; n.replace(/([\d.]+)(\w+)/, function (i, r, u) { n = r, t = u }); switch (t) { case "cm": n = parseFloat(n) * 25; break; case "pt": n = Math.round(parseFloat(n) * 96 / 72) }return n + (n ? "px" : "") }, domReady: function () { function n(n) { n.isReady = !0; for (var i; i = t.pop(); i()); } var t = []; return function (i, u) { u = u || window; var f = u.document; i && t.push(i), f.readyState === "complete" ? n(f) : (f.isReady && n(f), r.ie && r.version != 11 ? ((function () { if (f.isReady) return; try { f.documentElement.doScroll("left") } catch (t) { setTimeout(arguments.callee, 0); return } n(f) })(), u.attachEvent("onload", function () { n(f) })) : (f.addEventListener("DOMContentLoaded", function () { f.removeEventListener("DOMContentLoaded", arguments.callee, !1), n(f) }, !1), u.addEventListener("load", function () { n(f) }, !1))) } }(), cssRule: r.ie && r.version != 11 ? function (n, t, i) { var u, r; if (t === undefined || t && t.nodeType && t.nodeType == 9) return i = t && t.nodeType && t.nodeType == 9 ? t : i || document, u = i.indexList || (i.indexList = {}), r = u[n], r !== undefined ? i.styleSheets[r].cssText : undefined; i = i || document, u = i.indexList || (i.indexList = {}), r = u[n]; if (t === "") return r !== undefined ? (i.styleSheets[r].cssText = "", delete u[n], !0) : !1; r !== undefined ? sheetStyle = i.styleSheets[r] : (sheetStyle = i.createStyleSheet("", r = i.styleSheets.length), u[n] = r), sheetStyle.cssText = t } : function (n, t, i) { var u, r; if (t === undefined || t && t.nodeType && t.nodeType == 9) return i = t && t.nodeType && t.nodeType == 9 ? t : i || document, r = i.getElementById(n), r ? r.innerHTML : undefined; i = i || document, r = i.getElementById(n); if (t === "") return r ? (r.parentNode.removeChild(r), !0) : !1; r ? r.innerHTML = t : (r = i.createElement("style"), r.id = n, r.innerHTML = t, i.getElementsByTagName("head")[0].appendChild(r)) }, sort: function (n, t) { var i, e, r, f, u; for (t = t || function (n, t) { return n.localeCompare(t) }, i = 0, e = n.length; i < e; i++)for (r = i, f = n.length; r < f; r++)t(n[i], n[r]) > 0 && (u = n[i], n[i] = n[r], n[r] = u); return n }, serializeParam: function (n) { var u = [], i, r; for (i in n) { if (i == "method" || i == "timeout" || i == "async") continue; if ((typeof n[i]).toLowerCase() == "function" || (typeof n[i]).toLowerCase() == "object") { if (t.isArray(n[i])) for (r = 0; r < n[i].length; r++)u.push(encodeURIComponent(i) + "[]=" + encodeURIComponent(n[i][r])) } else u.push(encodeURIComponent(i) + "=" + encodeURIComponent(n[i])) } return u.join("&") }, formatUrl: function (n) { var t = n.replace(/&&/g, "&"); return t = t.replace(/\?&/g, "?"), t = t.replace(/&$/g, ""), t = t.replace(//g, "#"), t = t.replace(/&+/g, "&") }, isCrossDomainUrl: function (n) { var t = document.createElement("a"); return t.href = n, r.ie && (t.href = t.href), !(t.protocol == location.protocol && t.hostname == location.hostname && (t.port == location.port || t.port == "80" && location.port == "" || t.port == "" && location.port == "80")) }, clearEmptyAttrs: function (n) { for (var t in n) n[t] === "" && delete n[t]; return n }, str2json: function (n) { return t.isString(n) ? window.JSON ? JSON.parse(n) : new Function("return " + t.trim(n || ""))() : null }, json2str: function () { if (window.JSON) return JSON.stringify; var u = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\" }; function f(n) { return /["\\\x00-\x1f]/.test(n) && (n = n.replace(/["\\\x00-\x1f]/g, function (n) { var t = u[n]; return t ? t : (t = n.charCodeAt(), "\\u00" + Math.floor(t / 16).toString(16) + (t % 16).toString(16)) })), '"' + n + '"' } function r(n) { for (var r = ["["], e = n.length, f, u, i = 0; i < e; i++) { u = n[i]; switch (typeof u) { case "undefined": case "function": case "unknown": break; default: f && r.push(","), r.push(t.json2str(u)), f = 1 } } return r.push("]"), r.join("") } function n(n) { return n < 10 ? "0" + n : n } function i(t) { return '"' + t.getFullYear() + "-" + n(t.getMonth() + 1) + "-" + n(t.getDate()) + "T" + n(t.getHours()) + ":" + n(t.getMinutes()) + ":" + n(t.getSeconds()) + '"' } return function (n) { var u, o, h, s, e; switch (typeof n) { case "undefined": return "undefined"; case "number": return isFinite(n) ? String(n) : "null"; case "string": return f(n); case "boolean": return String(n); default: if (n === null) return "null"; if (t.isArray(n)) return r(n); if (t.isDate(n)) return i(n); u = ["{"], o = t.json2str; for (e in n) if (Object.prototype.hasOwnProperty.call(n, e)) { s = n[e]; switch (typeof s) { case "undefined": case "unknown": case "function": break; default: h && u.push(","), h = 1, u.push(o(e) + ":" + o(s)) } } return u.push("}"), u.join("") } } }() }; t.each(["String", "Function", "Array", "Number", "RegExp", "Object", "Date"], function (n) { UE.utils["is" + n] = function (t) { return Object.prototype.toString.apply(t) == "[object " + n + "]" } }), l = UE.EventBase = function () { }, l.prototype = { addListener: function (n, i) { n = t.trim(n).split(/\s+/); for (var u = 0, r; r = n[u++];)v(this, r, !0).push(i) }, on: function (n, t) { return this.addListener(n, t) }, off: function (n, t) { return this.removeListener(n, t) }, trigger: function () { return this.fireEvent.apply(this, arguments) }, removeListener: function (n, i) { n = t.trim(n).split(/\s+/); for (var u = 0, r; r = n[u++];)t.removeItem(v(this, r) || [], i) }, fireEvent: function () { for (var u = arguments[0], e, i, f, n, r, u = t.trim(u).split(" "), o = 0; e = u[o++];) { i = v(this, e); if (i) { r = i.length; while (r--) { if (!i[r]) continue; n = i[r].apply(this, arguments); if (n === !0) return n; n !== undefined && (f = n) } } (n = this["on" + e.toLowerCase()]) && (f = n.apply(this, arguments)) } return f } }, f = e.dtd = function () { function n(n) { for (var t in n) n[t.toUpperCase()] = n[t]; return n } var r = t.extend2, h = n({ isindex: 1, fieldset: 1 }), k = n({ input: 1, button: 1, select: 1, textarea: 1, label: 1 }), b = r(n({ a: 1 }), k), c = r({ iframe: 1 }, b), o = n({ hr: 1, ul: 1, menu: 1, div: 1, blockquote: 1, noscript: 1, table: 1, center: 1, address: 1, dir: 1, pre: 1, h5: 1, dl: 1, h4: 1, noframes: 1, h6: 1, ol: 1, h1: 1, h3: 1, h2: 1 }), w = n({ ins: 1, del: 1, script: 1, style: 1 }), d = r(n({ b: 1, acronym: 1, bdo: 1, "var": 1, "#": 1, abbr: 1, code: 1, br: 1, i: 1, cite: 1, kbd: 1, u: 1, strike: 1, s: 1, tt: 1, strong: 1, q: 1, samp: 1, em: 1, dfn: 1, span: 1 }), w), nt = r(n({ sub: 1, img: 1, embed: 1, object: 1, sup: 1, basefont: 1, map: 1, applet: 1, font: 1, big: 1, small: 1 }), d), s = r(n({ p: 1 }), nt), tt = r(n({ iframe: 1 }), nt, k), g = n({ img: 1, embed: 1, noscript: 1, br: 1, kbd: 1, center: 1, button: 1, basefont: 1, h5: 1, h4: 1, samp: 1, h6: 1, ol: 1, h1: 1, h3: 1, h2: 1, form: 1, font: 1, "#": 1, select: 1, menu: 1, ins: 1, abbr: 1, label: 1, code: 1, table: 1, script: 1, cite: 1, input: 1, iframe: 1, strong: 1, textarea: 1, noframes: 1, big: 1, small: 1, span: 1, hr: 1, sub: 1, bdo: 1, "var": 1, div: 1, object: 1, sup: 1, strike: 1, dir: 1, map: 1, dl: 1, applet: 1, del: 1, isindex: 1, fieldset: 1, ul: 1, b: 1, acronym: 1, a: 1, blockquote: 1, i: 1, u: 1, s: 1, tt: 1, address: 1, q: 1, pre: 1, p: 1, em: 1, dfn: 1 }), i = r(n({ a: 0 }), tt), l = n({ tr: 1 }), f = n({ "#": 1 }), p = r(n({ param: 1 }), g), u = r(n({ form: 1 }), h, c, o, s), e = n({ li: 1, ol: 1, ul: 1 }), ft = n({ style: 1, script: 1 }), a = n({ base: 1, link: 1, meta: 1, title: 1 }), ut = r(a, ft), y = n({ head: 1, body: 1 }), rt = n({ html: 1 }), v = n({ address: 1, blockquote: 1, center: 1, dir: 1, div: 1, dl: 1, fieldset: 1, form: 1, h1: 1, h2: 1, h3: 1, h4: 1, h5: 1, h6: 1, hr: 1, isindex: 1, menu: 1, noframes: 1, ol: 1, p: 1, pre: 1, table: 1, ul: 1 }), it = n({ area: 1, base: 1, basefont: 1, br: 1, col: 1, command: 1, dialog: 1, embed: 1, hr: 1, img: 1, input: 1, isindex: 1, keygen: 1, link: 1, meta: 1, param: 1, source: 1, track: 1, wbr: 1 }); return n({ $nonBodyContent: r(rt, y, a), $block: v, $inline: i, $inlineWithA: r(n({ a: 1 }), i), $body: r(n({ script: 1, style: 1 }), v), $cdata: n({ script: 1, style: 1 }), $empty: it, $nonChild: n({ iframe: 1, textarea: 1 }), $listItem: n({ dd: 1, dt: 1, li: 1 }), $list: n({ ul: 1, ol: 1, dl: 1 }), $isNotEmpty: n({ table: 1, ul: 1, ol: 1, dl: 1, iframe: 1, area: 1, base: 1, col: 1, hr: 1, img: 1, embed: 1, input: 1, link: 1, meta: 1, param: 1, h1: 1, h2: 1, h3: 1, h4: 1, h5: 1, h6: 1 }), $removeEmpty: n({ a: 1, abbr: 1, acronym: 1, address: 1, b: 1, bdo: 1, big: 1, cite: 1, code: 1, del: 1, dfn: 1, em: 1, font: 1, i: 1, ins: 1, label: 1, kbd: 1, q: 1, s: 1, samp: 1, small: 1, span: 1, strike: 1, strong: 1, sub: 1, sup: 1, tt: 1, u: 1, "var": 1 }), $removeEmptyBlock: n({ p: 1, div: 1 }), $tableContent: n({ caption: 1, col: 1, colgroup: 1, tbody: 1, td: 1, tfoot: 1, th: 1, thead: 1, tr: 1, table: 1 }), $notTransContent: n({ pre: 1, script: 1, style: 1, textarea: 1 }), html: y, head: ut, style: f, script: f, body: u, base: {}, link: {}, meta: {}, title: f, col: {}, tr: n({ td: 1, th: 1 }), img: {}, embed: {}, colgroup: n({ thead: 1, col: 1, tbody: 1, tr: 1, tfoot: 1 }), noscript: u, td: u, br: {}, th: u, center: u, kbd: i, button: r(s, o), basefont: {}, h5: i, h4: i, samp: i, h6: i, ol: e, h1: i, h3: i, option: f, h2: i, form: r(h, c, o, s), select: n({ optgroup: 1, option: 1 }), font: i, ins: i, menu: e, abbr: i, label: i, table: n({ thead: 1, col: 1, tbody: 1, tr: 1, colgroup: 1, caption: 1, tfoot: 1 }), code: i, tfoot: l, cite: i, li: u, input: {}, iframe: u, strong: i, textarea: f, noframes: u, big: i, small: i, span: n({ "#": 1, br: 1, b: 1, strong: 1, u: 1, i: 1, em: 1, sub: 1, sup: 1, strike: 1, span: 1 }), hr: i, dt: i, sub: i, optgroup: n({ option: 1 }), param: {}, bdo: i, "var": i, div: u, object: p, sup: i, dd: u, strike: i, area: {}, dir: e, map: r(n({ area: 1, form: 1, p: 1 }), h, w, o), applet: p, dl: n({ dt: 1, dd: 1 }), del: i, isindex: {}, fieldset: r(n({ legend: 1 }), g), thead: l, ul: e, acronym: i, b: i, a: r(n({ a: 1 }), tt), blockquote: r(n({ td: 1, tr: 1, tbody: 1, li: 1 }), u), caption: i, i: i, u: i, tbody: l, s: i, address: r(c, s), tt: i, legend: i, q: i, pre: r(d, b), p: r(n({ a: 1 }), i), em: i, dfn: i }) }(); var y = o && r.version < 9 ? { tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder" } : { tabindex: "tabIndex", readonly: "readOnly" }, k = t.listToMap(["-webkit-box", "-moz-box", "block", "list-item", "table", "table-row-group", "table-header-group", "table-footer-group", "table-row", "table-column-group", "table-column", "table-cell", "table-caption"]), n = e.domUtils = { NODE_ELEMENT: 1, NODE_DOCUMENT: 9, NODE_TEXT: 3, NODE_COMMENT: 8, NODE_DOCUMENT_FRAGMENT: 11, POSITION_IDENTICAL: 0, POSITION_DISCONNECTED: 1, POSITION_FOLLOWING: 2, POSITION_PRECEDING: 4, POSITION_IS_CONTAINED: 8, POSITION_CONTAINS: 16, fillChar: o && r.version == "6" ? "\ufeff" : "\u200b", keys: { 8: 1, 46: 1, 16: 1, 17: 1, 18: 1, 37: 1, 38: 1, 39: 1, 40: 1, 13: 1 }, getPosition: function (n, t) { var i, f, u, r; if (n === t) return 0; f = [n], u = [t], i = n; while (i = i.parentNode) { if (i === t) return 10; f.push(i) } i = t; while (i = i.parentNode) { if (i === n) return 20; u.push(i) } f.reverse(), u.reverse(); if (f[0] !== u[0]) return 1; r = -1; while (r++, f[r] === u[r]); n = f[r], t = u[r]; while (n = n.nextSibling) if (n === t) return 4; return 2 }, getNodeIndex: function (n, t) { var i = n, r = 0; while (i = i.previousSibling) { if (t && i.nodeType == 3) { i.nodeType != i.nextSibling.nodeType && r++; continue } r++ } return r }, inDoc: function (t, i) { return n.getPosition(t, i) == 10 }, findParent: function (t, i, r) { if (t && !n.isBody(t)) { t = r ? t : t.parentNode; while (t) { if (!i || i(t) || n.isBody(t)) return i && !i(t) && n.isBody(t) ? null : t; t = t.parentNode } } return null }, findParentByTagName: function (i, r, u, f) { return r = t.listToMap(t.isArray(r) ? r : [r]), n.findParent(i, function (n) { return r[n.tagName] && !(f && f(n)) }, u) }, findParents: function (t, i, r, u) { var f = i && (r && r(t) || !r) ? [t] : []; while (t = n.findParent(t, r)) f.push(t); return u ? f : f.reverse() }, insertAfter: function (n, t) { return n.nextSibling ? n.parentNode.insertBefore(t, n.nextSibling) : n.parentNode.appendChild(t) }, remove: function (n, t) { var i = n.parentNode, r; if (i) { if (t && n.hasChildNodes()) while (r = n.firstChild) i.insertBefore(r, n); i.removeChild(n) } return n }, getNextDomNode: function (n, t, i, r) { return c(n, "firstChild", "nextSibling", t, i, r) }, getPreDomNode: function (n, t, i, r) { return c(n, "lastChild", "previousSibling", t, i, r) }, isBookmarkNode: function (n) { return n.nodeType == 1 && n.id && /^_baidu_bookmark_/i.test(n.id) }, getWindow: function (n) { var t = n.ownerDocument || n; return t.defaultView || t.parentWindow }, getCommonAncestor: function (n, t) { if (n === t) return n; var u = [n], f = [t], i = n, r = -1; while (i = i.parentNode) { if (i === t) return i; u.push(i) } i = t; while (i = i.parentNode) { if (i === n) return i; f.push(i) } u.reverse(), f.reverse(); while (r++, u[r] === f[r]); return r == 0 ? null : u[r - 1] }, clearEmptySibling: function (t, i, r) { function u(t, i) { var r; while (t && !n.isBookmarkNode(t) && (n.isEmptyInlineElement(t) || !new RegExp("[^\x09\x0a\x0d" + n.fillChar + "]").test(t.nodeValue))) r = t[i], n.remove(t), t = r } !i && u(t.nextSibling, "nextSibling"), !r && u(t.previousSibling, "previousSibling") }, split: function (t, i) { var e = t.ownerDocument, o, u, f; return r.ie && i == t.nodeValue.length ? (o = e.createTextNode(""), n.insertAfter(t, o)) : (u = t.splitText(i), r.ie8 && (f = e.createTextNode(""), n.insertAfter(u, f), n.remove(f)), u) }, isWhitespace: function (t) { return !new RegExp("[^ \x09\x0a\x0d" + n.fillChar + "]").test(t.nodeValue) }, getXY: function (n) { var i = 0, t = 0; while (n.offsetParent) t += n.offsetTop, i += n.offsetLeft, n = n.offsetParent; return { x: i, y: t } }, on: function (n, i, r) { var o = t.isArray(i) ? i : t.trim(i).split(/\s+/), f = o.length, u, e; if (f) while (f--) i = o[f], n.addEventListener ? n.addEventListener(i, r, !1) : (r._d || (r._d = { els: [] }), u = i + r.toString(), e = t.indexOf(r._d.els, n), (!r._d[u] || e == -1) && (e == -1 && r._d.els.push(n), r._d[u] || (r._d[u] = function (n) { return r.call(n.srcElement, n || window.event) }), n.attachEvent("on" + i, r._d[u]))); n = null }, un: function (n, i, r) { var o = t.isArray(i) ? i : t.trim(i).split(/\s+/), e = o.length, u, f; if (e) while (e--) { i = o[e]; if (n.removeEventListener) n.removeEventListener(i, r, !1); else { u = i + r.toString(); try { n.detachEvent("on" + i, r._d ? r._d[u] : r) } catch (s) { } r._d && r._d[u] && (f = t.indexOf(r._d.els, n), f != -1 && r._d.els.splice(f, 1), r._d.els.length == 0 && delete r._d[u]) } } }, isSameElement: function (t, i) { var h, s, r, u, f, c, e; if (t.tagName != i.tagName) return !1; h = t.attributes, s = i.attributes; if (!o && h.length != s.length) return !1; for (f = 0, c = 0, e = 0; r = h[e++];) { if (r.nodeName == "style") { r.specified && f++; if (n.isSameStyle(t, i)) continue; else return !1 } if (o) if (r.specified) f++, u = s.getNamedItem(r.nodeName); else continue; else u = i.attributes[r.nodeName]; if (!u.specified || r.nodeValue != u.nodeValue) return !1 } if (o) { for (e = 0; u = s[e++];)u.specified && c++; if (f != c) return !1 } return !0 }, isSameStyle: function (n, i) { var u = n.style.cssText.replace(/( ?; ?)/g, ";").replace(/( ?: ?)/g, ":"), f = i.style.cssText.replace(/( ?; ?)/g, ";").replace(/( ?: ?)/g, ":"), e, s, o; if (r.opera) { u = n.style, f = i.style; if (u.length != f.length) return !1; for (e in u) { if (/^(\d+|csstext)$/i.test(e)) continue; if (u[e] != f[e]) return !1 } return !0 } if (!u || !f) return u == f; u = u.split(";"), f = f.split(";"); if (u.length != f.length) return !1; for (s = 0; o = u[s++];)if (t.indexOf(f, o) == -1) return !1; return !0 }, isBlockElm: function (t) { return t.nodeType == 1 && (f.$block[t.tagName] || k[n.getComputedStyle(t, "display")]) && !f.$nonChild[t.tagName] }, isBody: function (n) { return n && n.nodeType == 1 && n.tagName.toLowerCase() == "body" }, breakParent: function (t, i) { var r, f = t, o = t, u, e; do { f = f.parentNode, u ? (r = f.cloneNode(!1), r.appendChild(u), u = r, r = f.cloneNode(!1), r.appendChild(e), e = r) : (u = f.cloneNode(!1), e = u.cloneNode(!1)); while (r = o.previousSibling) u.insertBefore(r, u.firstChild); while (r = o.nextSibling) e.appendChild(r); o = f } while (i !== f); return r = i.parentNode, r.insertBefore(u, i), r.insertBefore(e, i), r.insertBefore(t, e), n.remove(i), t }, isEmptyInlineElement: function (t) { if (t.nodeType != 1 || !f.$removeEmpty[t.tagName]) return 0; t = t.firstChild; while (t) { if (n.isBookmarkNode(t)) return 0; if (t.nodeType == 1 && !n.isEmptyInlineElement(t) || t.nodeType == 3 && !n.isWhitespace(t)) return 0; t = t.nextSibling } return 1 }, trimWhiteTextNode: function (t) { function i(i) { var r; while ((r = t[i]) && r.nodeType == 3 && n.isWhitespace(r)) t.removeChild(r) } i("firstChild"), i("lastChild") }, mergeChild: function (i, r, u) { for (var c = n.getElementsByTagName(i, i.tagName.toLowerCase()), f, e, s, o, h = 0; f = c[h++];) { if (!f.parentNode || n.isBookmarkNode(f)) continue; if (f.tagName.toLowerCase() == "span") { if (i === f.parentNode) { n.trimWhiteTextNode(i); if (i.childNodes.length == 1) { i.style.cssText = f.style.cssText + ";" + i.style.cssText, n.remove(f, !0); continue } } f.style.cssText = i.style.cssText + ";" + f.style.cssText; if (u) { e = u.style; if (e) for (e = e.split(";"), s = 0; o = e[s++];)f.style[t.cssStyleToDomStyle(o.split(":")[0])] = o.split(":")[1] } n.isSameStyle(f, i) && n.remove(f, !0); continue } n.isSameElement(i, f) && n.remove(f, !0) } }, getElementsByTagName: function (i, r, u) { var s, e, c, l, h, o, f; for (u && t.isString(u) && (s = u, u = function (t) { return n.hasClass(t, s) }), r = t.trim(r).replace(/[ ]{2,}/g, " ").split(" "), e = [], c = 0; l = r[c++];)for (h = i.getElementsByTagName(l), o = 0; f = h[o++];)(!u || u(f)) && e.push(f); return e }, mergeToParent: function (t) { var i = t.parentNode; while (i && f.$removeEmpty[i.tagName]) { if (i.tagName == t.tagName || i.tagName == "A") { n.trimWhiteTextNode(i); if (i.tagName == "SPAN" && !n.isSameStyle(i, t) || i.tagName == "A" && t.tagName == "SPAN") if (i.childNodes.length > 1 || i !== t.parentNode) { t.style.cssText = i.style.cssText + ";" + t.style.cssText, i = i.parentNode; continue } else i.style.cssText += ";" + t.style.cssText, i.tagName == "A" && (i.style.textDecoration = "underline"); if (i.tagName != "A") { i === t.parentNode && n.remove(t, !0); break } } i = i.parentNode } }, mergeSibling: function (t, i, r) { function u(t, i, r) { var u; if ((u = r[t]) && !n.isBookmarkNode(u) && u.nodeType == 1 && n.isSameElement(r, u)) { while (u.firstChild) i == "firstChild" ? r.insertBefore(u.lastChild, r.firstChild) : r.appendChild(u.firstChild); n.remove(u) } } !i && u("previousSibling", "firstChild", t), !r && u("nextSibling", "lastChild", t) }, unSelectable: o && r.ie9below || r.opera ? function (n) { n.onselectstart = function () { return !1 }, n.onclick = n.onkeyup = n.onkeydown = function () { return !1 }, n.unselectable = "on", n.setAttribute("unselectable", "on"); for (var i = 0, t; t = n.all[i++];)switch (t.tagName.toLowerCase()) { case "iframe": case "textarea": case "input": case "select": break; default: t.unselectable = "on", n.setAttribute("unselectable", "on") } } : function (n) { n.style.MozUserSelect = n.style.webkitUserSelect = n.style.msUserSelect = n.style.KhtmlUserSelect = "none" }, removeAttributes: function (n, i) { var e, u, f; for (i = t.isArray(i) ? i : t.trim(i).replace(/[ ]{2,}/g, " ").split(" "), e = 0; u = i[e++];) { u = y[u] || u; switch (u) { case "className": n[u] = ""; break; case "style": n.style.cssText = "", f = n.getAttributeNode("style"), !r.ie && f && n.removeAttributeNode(f) }n.removeAttribute(u) } }, createElement: function (t, i, r) { return n.setAttributes(t.createElement(i), r) }, setAttributes: function (n, t) { var i, r; for (i in t) if (t.hasOwnProperty(i)) { r = t[i]; switch (i) { case "class": n.className = r; break; case "style": n.style.cssText = n.style.cssText + ";" + r; break; case "innerHTML": n[i] = r; break; case "value": n.value = r; break; default: n.setAttribute(y[i] || i, r) } } return n }, getComputedStyle: function (i, u) { var h = "width height top left", e, s, o; if (h.indexOf(u) > -1) return i["offset" + u.replace(/^\w/, function (n) { return n.toUpperCase() })] + "px"; i.nodeType == 3 && (i = i.parentNode); if (r.ie && r.version < 9 && u == "font-size" && !i.style.fontSize && !f.$empty[i.tagName] && !f.$nonChild[i.tagName]) return e = i.ownerDocument.createElement("span"), e.style.cssText = "padding:0;border:0;font-family:simsun;", e.innerHTML = ".", i.appendChild(e), s = e.offsetHeight, i.removeChild(e), e = null, s + "px"; try { o = n.getStyle(i, u) || (window.getComputedStyle ? n.getWindow(i).getComputedStyle(i, "").getPropertyValue(u) : (i.currentStyle || i.style)[t.cssStyleToDomStyle(u)]) } catch (c) { return "" } return t.transUnitToPx(t.fixColor(u, o)) }, removeClasses: function (i, r) { try { r = t.isArray(r) ? r : t.trim(r).replace(/[ ]{2,}/g, " ").split(" "); for (var e = 0, f, u = i.className; f = r[e++];)u = u.replace(new RegExp("\\b" + f + "\\b"), ""); u = t.trim(u).replace(/[ ]{2,}/g, " "), u ? i.className = u : n.removeAttributes(i, ["class"]) } catch (o) { } }, addClass: function (n, i) { if (!n) return; i = t.trim(i).replace(/[ ]{2,}/g, " ").split(" "); for (var f = 0, r, u = n.className; r = i[f++];)new RegExp("\\b" + r + "\\b").test(u) || (u += " " + r); n.className = t.trim(u) }, hasClass: function (n, i) { if (t.isRegExp(i)) return i.test(n.className); i = t.trim(i).replace(/[ ]{2,}/g, " ").split(" "); for (var u = 0, r, f = n.className; r = i[u++];)if (!new RegExp("\\b" + r + "\\b", "i").test(f)) return !1; return u - 1 == i.length }, preventDefault: function (n) { n.preventDefault ? n.preventDefault() : n.returnValue = !1 }, removeStyle: function (i, u) { r.ie ? (u == "color" && (u = "(^|;)" + u), i.style.cssText = i.style.cssText.replace(new RegExp(u + "[^:]*:[^;]+;?", "ig"), "")) : i.style.removeProperty ? i.style.removeProperty(u) : i.style.removeAttribute(t.cssStyleToDomStyle(u)), i.style.cssText || n.removeAttributes(i, ["style"]) }, getStyle: function (n, i) { var r = n.style[t.cssStyleToDomStyle(i)]; return t.fixColor(i, r) }, setStyle: function (n, i, r) { n.style[t.cssStyleToDomStyle(i)] = r, t.trim(n.style.cssText) || this.removeAttributes(n, "style") }, setStyles: function (t, i) { for (var r in i) i.hasOwnProperty(r) && n.setStyle(t, r, i[r]) }, removeDirtyAttr: function (n) { for (var r = 0, t, i = n.getElementsByTagName("*"); t = i[r++];)t.removeAttribute("_moz_dirty"); n.removeAttribute("_moz_dirty") }, getChildCount: function (n, t) { var r = 0, i = n.firstChild; t = t || function () { return 1 }; while (i) t(i) && r++, i = i.nextSibling; return r }, isEmptyNode: function (t) { return !t.firstChild || n.getChildCount(t, function (t) { return !n.isBr(t) && !n.isBookmarkNode(t) && !n.isWhitespace(t) }) == 0 }, clearSelectedArr: function (t) { var i; while (i = t.pop()) n.removeAttributes(i, ["class"]) }, scrollToView: function (t, i, r) { var h = function () { var n = i.document, t = n.compatMode == "CSS1Compat"; return { width: (t ? n.documentElement.clientWidth : n.body.clientWidth) || 0, height: (t ? n.documentElement.clientHeight : n.body.clientHeight) || 0 } }, s = function (n) { if ("pageXOffset" in n) return { x: n.pageXOffset || 0, y: n.pageYOffset || 0 }; var t = n.document; return { x: t.documentElement.scrollLeft || t.body.scrollLeft || 0, y: t.documentElement.scrollTop || t.body.scrollTop || 0 } }, o = h().height, u = o * -1 + r, e, f; u += t.offsetHeight || 0, e = n.getXY(t), u += e.y, f = s(i).y, (u > f || u < f - o) && i.scrollTo(0, u + (u < 0 ? -20 : 20)) }, isBr: function (n) { return n.nodeType == 1 && n.tagName == "BR" }, isFillChar: function (t, i) { if (t.nodeType != 3) return !1; var r = t.nodeValue; return i ? new RegExp("^" + n.fillChar).test(r) : !r.replace(new RegExp(n.fillChar, "g"), "").length }, isStartInblock: function (t) { var r = t.cloneRange(), o = 0, i = r.startContainer, e, u, f; if (i.nodeType == 1 && i.childNodes[r.startOffset]) { i = i.childNodes[r.startOffset], u = i.previousSibling; while (u && n.isFillChar(u)) i = u, u = u.previousSibling } this.isFillChar(i, !0) && r.startOffset == 1 && (r.setStartBefore(i), i = r.startContainer); while (i && n.isFillChar(i)) e = i, i = i.previousSibling; e && (r.setStartBefore(e), i = r.startContainer), i.nodeType == 1 && n.isEmptyNode(i) && r.startOffset == 1 && r.setStart(i, 0).collapse(!0); while (!r.startOffset) { i = r.startContainer; if (n.isBlockElm(i) || n.isBody(i)) { o = 1; break } u = r.startContainer.previousSibling; if (u) { while (u && n.isFillChar(u)) f = u, u = u.previousSibling; f ? r.setStartBefore(f) : r.setStartBefore(r.startContainer) } else r.setStartBefore(r.startContainer) } return o && !n.isBody(r.startContainer) ? 1 : 0 }, isEmptyBlock: function (t, i) { if (t.nodeType != 1) return 0; i = i || new RegExp("[ \u00a0\x09\x0d\x0a" + n.fillChar + "]", "g"); if (t[r.ie ? "innerText" : "textContent"].replace(i, "").length > 0) return 0; for (var u in f.$isNotEmpty) if (t.getElementsByTagName(u).length) return 0; return 1 }, setViewportOffset: function (n, t) { var e = parseInt(n.style.left) | 0, f = parseInt(n.style.top) | 0, i = n.getBoundingClientRect(), r = t.left - i.left, u = t.top - i.top; r && (n.style.left = e + r + "px"), u && (n.style.top = f + u + "px") }, fillNode: function (t, i) { var u = r.ie ? t.createTextNode(n.fillChar) : t.createElement("br"); i.innerHTML = "", i.appendChild(u) }, moveChild: function (n, t, i) { while (n.firstChild) i && t.firstChild ? t.insertBefore(n.lastChild, t.firstChild) : t.appendChild(n.firstChild) }, hasNoAttributes: function (n) { return r.ie ? /^<\w+\s*?>/.test(n.outerHTML) : n.attributes.length == 0 }, isCustomeNode: function (n) { return n.nodeType == 1 && n.getAttribute("_ue_custom_node_") }, isTagNode: function (n, t) { return n.nodeType == 1 && new RegExp("\\b" + n.tagName + "\\b", "i").test(t) }, filterNodeList: function (n, i, r) { var u = [], f; return t.isFunction(i) || (f = i, i = function (n) { return t.indexOf(t.isArray(f) ? f : f.split(" "), n.tagName.toLowerCase()) != -1 }), t.each(n, function (n) { i(n) && u.push(n) }), u.length == 0 ? null : u.length == 1 || !r ? u[0] : u }, isInNodeEndBoundary: function (n, t) { var i = n.startContainer; if (i.nodeType == 3 && n.startOffset != i.nodeValue.length) return 0; if (i.nodeType == 1 && n.startOffset != i.childNodes.length) return 0; while (i !== t) { if (i.nextSibling) return 0; i = i.parentNode } return 1 }, isBoundaryNode: function (t, i) { var r; while (!n.isBody(t)) { r = t, t = t.parentNode; if (r !== t[i]) return !1 } return !0 }, fillHtml: r.ie11below ? " " : " " }, h = new RegExp(n.fillChar, "g"); (function () { function p(n) { n.collapsed = n.startContainer && n.endContainer && n.startContainer === n.endContainer && n.startOffset == n.endOffset } function v(n) { return !n.collapsed && n.startContainer.nodeType == 1 && n.startContainer === n.endContainer && n.endOffset - n.startOffset == 1 } function y(t, i, r, u) { return i.nodeType == 1 && (f.$empty[i.tagName] || f.$nonChild[i.tagName]) && (r = n.getNodeIndex(i) + (t ? 0 : 1), i = i.parentNode), t ? (u.startContainer = i, u.startOffset = r, u.endContainer || u.collapse(!0)) : (u.endContainer = i, u.endOffset = r, u.startContainer || u.collapse(!1)), p(u), u } function o(t, i) { var r = t.startContainer, o = t.endContainer, h = t.startOffset, w = t.endOffset, v = t.document, b = v.createDocumentFragment(), d, k, u, l, s, y; r.nodeType == 1 && (r = r.childNodes[h] || (d = r.appendChild(v.createTextNode("")))), o.nodeType == 1 && (o = o.childNodes[w] || (k = o.appendChild(v.createTextNode("")))); if (r === o && r.nodeType == 3) return b.appendChild(v.createTextNode(r.substringData(h, w - h))), i && (r.deleteData(h, w - h), t.collapse(!0)), b; var f, p, e = b, c = n.findParents(r, !0), a = n.findParents(o, !0); for (u = 0; c[u] == a[u];)u++; for (s = u; l = c[s]; s++) { f = l.nextSibling, l == r ? d || (t.startContainer.nodeType == 3 ? (e.appendChild(v.createTextNode(r.nodeValue.slice(h))), i && r.deleteData(h, r.nodeValue.length - h)) : e.appendChild(i ? r : r.cloneNode(!0))) : (p = l.cloneNode(!1), e.appendChild(p)); while (f) { if (f === o || f === a[s]) break; l = f.nextSibling, e.appendChild(i ? f : f.cloneNode(!0)), f = l } e = p } for (e = b, c[u] || (e.appendChild(c[u - 1].cloneNode(!1)), e = e.firstChild), s = u; y = a[s]; s++) { f = y.previousSibling, y == o ? !k && t.endContainer.nodeType == 3 && (e.appendChild(v.createTextNode(o.substringData(0, w))), i && o.deleteData(0, w)) : (p = y.cloneNode(!1), e.appendChild(p)); if (s != u || !c[u]) while (f) { if (f === r) break; y = f.previousSibling, e.insertBefore(i ? f : f.cloneNode(!0), e.firstChild), f = y } e = p } return i && t.setStartBefore(a[u] ? c[u] ? a[u] : c[u - 1] : a[u - 1]).collapse(!0), d && n.remove(d), k && n.remove(k), b } function a(t, u) { try { if (i && n.inDoc(i, t)) if (i.nodeValue.replace(h, "").length) i.nodeValue = i.nodeValue.replace(h, ""); else { var f = i.parentNode; n.remove(i); while (f && n.isEmptyInlineElement(f) && (r.safari ? !(n.getPosition(f, u) & n.POSITION_CONTAINS) : !f.contains(u))) i = f.parentNode, n.remove(f), f = i } } catch (e) { } } function u(t, i) { var r; t = t[i]; while (t && n.isFillChar(t)) r = t[i], n.remove(t), t = r } var c = 0, s = n.fillChar, i, l = e.Range = function (n) { var t = this; t.startContainer = t.startOffset = t.endContainer = t.endOffset = null, t.document = n, t.collapsed = !0 }; l.prototype = { cloneContents: function () { return this.collapsed ? null : o(this, 0) }, deleteContents: function () { var t; return this.collapsed || o(this, 1), r.webkit && (t = this.startContainer, t.nodeType == 3 && !t.nodeValue.length && (this.setStartBefore(t).collapse(!0), n.remove(t))), this }, extractContents: function () { return this.collapsed ? null : o(this, 2) }, setStart: function (n, t) { return y(!0, n, t, this) }, setEnd: function (n, t) { return y(!1, n, t, this) }, setStartAfter: function (t) { return this.setStart(t.parentNode, n.getNodeIndex(t) + 1) }, setStartBefore: function (t) { return this.setStart(t.parentNode, n.getNodeIndex(t)) }, setEndAfter: function (t) { return this.setEnd(t.parentNode, n.getNodeIndex(t) + 1) }, setEndBefore: function (t) { return this.setEnd(t.parentNode, n.getNodeIndex(t)) }, setStartAtFirst: function (n) { return this.setStart(n, 0) }, setStartAtLast: function (n) { return this.setStart(n, n.nodeType == 3 ? n.nodeValue.length : n.childNodes.length) }, setEndAtFirst: function (n) { return this.setEnd(n, 0) }, setEndAtLast: function (n) { return this.setEnd(n, n.nodeType == 3 ? n.nodeValue.length : n.childNodes.length) }, selectNode: function (n) { return this.setStartBefore(n).setEndAfter(n) }, selectNodeContents: function (n) { return this.setStart(n, 0).setEndAtLast(n) }, cloneRange: function () { var n = this; return new l(n.document).setStart(n.startContainer, n.startOffset).setEnd(n.endContainer, n.endOffset) }, collapse: function (n) { var t = this; return n ? (t.endContainer = t.startContainer, t.endOffset = t.startOffset) : (t.startContainer = t.endContainer, t.startOffset = t.endOffset), t.collapsed = !0, t }, shrinkBoundary: function (t) { function u(t) { return t.nodeType == 1 && !n.isBookmarkNode(t) && !f.$empty[t.tagName] && !f.$nonChild[t.tagName] } var i = this, r, e = i.collapsed; while (i.startContainer.nodeType == 1 && (r = i.startContainer.childNodes[i.startOffset]) && u(r)) i.setStart(r, 0); if (e) return i.collapse(!0); if (!t) while (i.endContainer.nodeType == 1 && i.endOffset > 0 && (r = i.endContainer.childNodes[i.endOffset - 1]) && u(r)) i.setEnd(r, r.childNodes.length); return i }, getCommonAncestor: function (t, i) { var u = this, r = u.startContainer, f = u.endContainer; if (r === f) { if (t && v(this)) { r = r.childNodes[u.startOffset]; if (r.nodeType == 1) return r } return i && r.nodeType == 3 ? r.parentNode : r } return n.getCommonAncestor(r, f) }, trimBoundary: function (t) { var f; this.txtToElmBoundary(); var u = this.startContainer, r = this.startOffset, e = this.collapsed, i = this.endContainer; if (u.nodeType == 3) { r == 0 ? this.setStartBefore(u) : r >= u.nodeValue.length ? this.setStartAfter(u) : (f = n.split(u, r), u === i ? this.setEnd(f, this.endOffset - r) : u.parentNode === i && (this.endOffset += 1), this.setStartBefore(f)); if (e) return this.collapse(!0) } return t || (r = this.endOffset, i = this.endContainer, i.nodeType == 3 && (r == 0 ? this.setEndBefore(i) : (r < i.nodeValue.length && n.split(i, r), this.setEndAfter(i)))), this }, txtToElmBoundary: function (n) { function t(n, t) { var i = n[t + "Container"], r = n[t + "Offset"]; i.nodeType == 3 && (r ? r >= i.nodeValue.length && n["set" + t.replace(/(\w)/, function (n) { return n.toUpperCase() }) + "After"](i) : n["set" + t.replace(/(\w)/, function (n) { return n.toUpperCase() }) + "Before"](i)) } return (n || !this.collapsed) && (t(this, "start"), t(this, "end")), this }, insertNode: function (n) { var i = n, u = 1; n.nodeType == 11 && (i = n.firstChild, u = n.childNodes.length), this.trimBoundary(!0); var t = this.startContainer, f = this.startOffset, r = t.childNodes[f]; return r ? t.insertBefore(n, r) : t.appendChild(n), i.parentNode === this.endContainer && (this.endOffset = this.endOffset + u), this.setStartBefore(i) }, setCursor: function (n, t) { return this.collapse(!n).select(t) }, createBookmark: function (n, t) { var r, i = this.document.createElement("span"); return i.style.cssText = "display:none;line-height:0px;", i.appendChild(this.document.createTextNode("\u200d")), i.id = "_baidu_bookmark_start_" + (t ? "" : c++), this.collapsed || (r = i.cloneNode(!0), r.id = "_baidu_bookmark_end_" + (t ? "" : c++)), this.insertNode(i), r && this.collapse().insertNode(r).setEndBefore(r), this.setStartAfter(i), { start: n ? i.id : i, end: r ? n ? r.id : r : null, id: n } }, moveToBookmark: function (t) { var r = t.id ? this.document.getElementById(t.start) : t.start, i = t.end && t.id ? this.document.getElementById(t.end) : t.end; return this.setStartBefore(r), n.remove(r), i ? (this.setEndBefore(i), n.remove(i)) : this.collapse(!0), this }, enlarge: function (t, i) { var e = n.isBody, u, r, f = this.document.createTextNode(""); if (t) { r = this.startContainer, r.nodeType == 1 ? r.childNodes[this.startOffset] ? u = r = r.childNodes[this.startOffset] : (r.appendChild(f), u = r = f) : u = r; for (; ;) { if (n.isBlockElm(r)) { r = u; while ((u = r.previousSibling) && !n.isBlockElm(u)) r = u; this.setStartBefore(r); break } u = r, r = r.parentNode } r = this.endContainer, r.nodeType == 1 ? ((u = r.childNodes[this.endOffset]) ? r.insertBefore(f, u) : r.appendChild(f), u = r = f) : u = r; for (; ;) { if (n.isBlockElm(r)) { r = u; while ((u = r.nextSibling) && !n.isBlockElm(u)) r = u; this.setEndAfter(r); break } u = r, r = r.parentNode } f.parentNode === this.endContainer && this.endOffset--, n.remove(f) } if (!this.collapsed) { while (this.startOffset == 0) { if (i && i(this.startContainer)) break; if (e(this.startContainer)) break; this.setStartBefore(this.startContainer) } while (this.endOffset == (this.endContainer.nodeType == 1 ? this.endContainer.childNodes.length : this.endContainer.nodeValue.length)) { if (i && i(this.endContainer)) break; if (e(this.endContainer)) break; this.setEndAfter(this.endContainer) } } return this }, enlargeToBlockElm: function (t) { while (!n.isBlockElm(this.startContainer)) this.setStartBefore(this.startContainer); if (!t) while (!n.isBlockElm(this.endContainer)) this.setEndAfter(this.endContainer); return this }, adjustmentBoundary: function () { if (!this.collapsed) { while (!n.isBody(this.startContainer) && this.startOffset == this.startContainer[this.startContainer.nodeType == 3 ? "nodeValue" : "childNodes"].length && this.startContainer[this.startContainer.nodeType == 3 ? "nodeValue" : "childNodes"].length) this.setStartAfter(this.startContainer); while (!n.isBody(this.endContainer) && !this.endOffset && this.endContainer[this.endContainer.nodeType == 3 ? "nodeValue" : "childNodes"].length) this.setEndBefore(this.endContainer) } return this }, applyInlineStyle: function (t, i, r) { var b, u, s, k, w, y, c; if (this.collapsed) return this; this.trimBoundary().enlarge(!1, function (t) { return t.nodeType == 1 && n.isBlockElm(t) }).adjustmentBoundary(); var a = this.createBookmark(), l = a.end, v = function (t) { return t.nodeType == 1 ? t.tagName.toLowerCase() != "br" : !n.isWhitespace(t) }, o = n.getNextDomNode(a.start, !1, v), e, p, h = this.cloneRange(); while (o && n.getPosition(o, l) & n.POSITION_PRECEDING) if (o.nodeType == 3 || f[t][o.tagName]) { h.setStartBefore(o), e = o; while (e && (e.nodeType == 3 || f[t][e.tagName]) && e !== l) p = e, e = n.getNextDomNode(e, e.nodeType == 1, null, function (n) { return f[t][n.tagName] }); b = h.setEndAfter(p).extractContents(); if (r && r.length > 0) { for (k = s = r[0].cloneNode(!1), w = 1; y = r[w++];)s.appendChild(y.cloneNode(!1)), s = s.firstChild; u = s } else u = h.document.createElement(t); i && n.setAttributes(u, i), u.appendChild(b), h.insertNode(r ? k : u), t == "span" && i.style && /text\-decoration/.test(i.style) && (c = n.findParentByTagName(u, "a", !0)) ? (n.setAttributes(c, i), n.remove(u, !0), u = c) : (n.mergeSibling(u), n.clearEmptySibling(u)), n.mergeChild(u, i), o = n.getNextDomNode(u, !1, v), n.mergeToParent(u); if (e === l) break } else o = n.getNextDomNode(o, !0, v); return this.moveToBookmark(a) }, removeInlineStyle: function (i) { var u, r, f, s, o, e, h; if (this.collapsed) return this; i = t.isArray(i) ? i : [i], this.shrinkBoundary().adjustmentBoundary(), u = this.startContainer, r = this.endContainer; for (; ;) { if (u.nodeType == 1) { if (t.indexOf(i, u.tagName.toLowerCase()) > -1) break; if (u.tagName.toLowerCase() == "body") { u = null; break } } u = u.parentNode } for (; ;) { if (r.nodeType == 1) { if (t.indexOf(i, r.tagName.toLowerCase()) > -1) break; if (r.tagName.toLowerCase() == "body") { r = null; break } } r = r.parentNode } f = this.createBookmark(), u && (o = this.cloneRange().setEndBefore(f.start).setStartBefore(u), s = o.extractContents(), o.insertNode(s), n.clearEmptySibling(u, !0), u.parentNode.insertBefore(f.start, u)), r && (o = this.cloneRange().setStartAfter(f.end).setEndAfter(r), s = o.extractContents(), o.insertNode(s), n.clearEmptySibling(r, !1, !0), r.parentNode.insertBefore(f.end, r.nextSibling)), e = n.getNextDomNode(f.start, !1, function (n) { return n.nodeType == 1 }); while (e && e !== f.end) h = n.getNextDomNode(e, !0, function (n) { return n.nodeType == 1 }), t.indexOf(i, e.tagName.toLowerCase()) > -1 && n.remove(e, !0), e = h; return this.moveToBookmark(f) }, getClosedNode: function () { var i, t, n; return this.collapsed || (t = this.cloneRange().adjustmentBoundary().shrinkBoundary(), v(t) && (n = t.startContainer.childNodes[t.startOffset], n && n.nodeType == 1 && (f.$empty[n.tagName] || f.$nonChild[n.tagName]) && (i = n))), i }, select: r.ie ? function (t, r) { var f, v, c, e, y, l, h, o; this.collapsed || this.shrinkBoundary(), v = this.getClosedNode(); if (v && !r) { try { f = this.document.body.createControlRange(), f.addElement(v), f.select() } catch (p) { } return this } c = this.createBookmark(), e = c.start, f = this.document.body.createTextRange(), f.moveToElementText(e), f.moveStart("character", 1), this.collapsed ? !t && this.startContainer.nodeType != 3 && (h = this.document.createTextNode(s), o = this.document.createElement("span"), o.appendChild(this.document.createTextNode(s)), e.parentNode.insertBefore(o, e), e.parentNode.insertBefore(h, e), a(this.document, h), i = h, u(o, "previousSibling"), u(e, "nextSibling"), f.moveStart("character", -1), f.collapse(!0)) : (l = this.document.body.createTextRange(), y = c.end, l.moveToElementText(y), f.setEndPoint("EndToEnd", l)), this.moveToBookmark(c), o && n.remove(o); try { f.select() } catch (p) { } return this } : function (t) { function v(n) { function t(t, i, r) { t.nodeType == 3 && t.nodeValue.length < i && (n[r + "Offset"] = t.nodeValue.length) } t(n.startContainer, n.startOffset, "start"), t(n.endContainer, n.endOffset, "end") } var l = n.getWindow(this.document), c = l.getSelection(), e, o, h, f; r.gecko ? this.document.body.focus() : l.focus(); if (c) { c.removeAllRanges(), this.collapsed && !t && (o = this.startContainer, f = o, o.nodeType == 1 && (f = o.childNodes[this.startOffset]), !(o.nodeType == 3 && this.startOffset) && (f ? !f.previousSibling || f.previousSibling.nodeType != 3 : !o.lastChild || o.lastChild.nodeType != 3) && (e = this.document.createTextNode(s), this.insertNode(e), a(this.document, e), u(e, "previousSibling"), u(e, "nextSibling"), i = e, this.setStart(e, r.webkit ? 1 : 0).collapse(!0))), h = this.document.createRange(); if (this.collapsed && r.opera && this.startContainer.nodeType == 1) { f = this.startContainer.childNodes[this.startOffset]; if (f) { while (f && n.isBlockElm(f)) if (f.nodeType == 1 && f.childNodes[0]) f = f.childNodes[0]; else break; f && this.setStartBefore(f).collapse(!0) } else f = this.startContainer.lastChild, f && n.isBr(f) && this.setStartBefore(f).collapse(!0) } v(this), h.setStart(this.startContainer, this.startOffset), h.setEnd(this.endContainer, this.endOffset), c.addRange(h) } return this }, scrollToView: function (t, i) { t = t ? window : n.getWindow(this.document); var u = this, r = u.document.createElement("span"); return r.innerHTML = " ", u.cloneRange().insertNode(r), n.scrollToView(r, t, i), n.remove(r), u }, inFillChar: function () { var t = this.startContainer; return this.collapsed && t.nodeType == 3 && t.nodeValue.replace(new RegExp("^" + n.fillChar), "").length + 1 == t.nodeValue.length ? !0 : !1 }, createAddress: function (t, i) { function f(t) { for (var f = t ? r.startContainer : r.endContainer, a = n.findParents(f, !0, function (t) { return !n.isBody(t) }), s = [], c, e, o, u, l = 0; c = a[l++];)s.push(n.getNodeIndex(c, i)); e = 0; if (i) if (f.nodeType == 3) { o = f.previousSibling; while (o && o.nodeType == 3) e += o.nodeValue.replace(h, "").length, o = o.previousSibling; e += t ? r.startOffset : r.endOffset } else { f = f.childNodes[t ? r.startOffset : r.endOffset]; if (f) e = n.getNodeIndex(f, i); else { f = t ? r.startContainer : r.endContainer, u = f.firstChild; while (u) { if (n.isFillChar(u)) { u = u.nextSibling; continue } e++; if (u.nodeType == 3) while (u && u.nodeType == 3) u = u.nextSibling; else u = u.nextSibling } } } else e = t ? n.isFillChar(f) ? 0 : r.startOffset : r.endOffset; return e < 0 && (e = 0), s.push(e), s } var u = {}, r = this; return u.startAddress = f(!0), t || (u.endAddress = r.collapsed ? [].concat(u.startAddress) : f()), u }, moveToAddress: function (n, t) { function r(n, t) { for (var r = i.document.body, e, o, f, u = 0, s = n.length; u < s; u++) { f = n[u], e = r, r = r.childNodes[f]; if (!r) { o = f; break } } t ? r ? i.setStartBefore(r) : i.setStart(e, o) : r ? i.setEndBefore(r) : i.setEnd(e, o) } var i = this; return r(n.startAddress, !0), !t && n.endAddress && r(n.endAddress), i }, equals: function (n) { for (var t in this) if (this.hasOwnProperty(t)) if (this[t] !== n[t]) return !1; return !0 }, traversal: function (t, i) { var f; if (this.collapsed) return this; var u = this.createBookmark(), e = u.end, r = n.getNextDomNode(u.start, !1, i); while (r && r !== e && n.getPosition(r, e) & n.POSITION_PRECEDING) f = n.getNextDomNode(r, !1, i), t(r), r = f; return this.moveToBookmark(u) } } })(), (function () { function i(t, i) { var a = n.getNodeIndex, e, o, l, p; t = t.duplicate(), t.collapse(i), e = t.parentElement(); if (!e.hasChildNodes()) return { container: e, offset: 0 }; var h = e.children, r, s = t.duplicate(), v = 0, y = h.length - 1, c = -1, u; while (v <= y) { c = Math.floor((v + y) / 2), r = h[c], s.moveToElementText(r), o = s.compareEndPoints("StartToStart", t); if (o > 0) y = c - 1; else if (o < 0) v = c + 1; else return { container: e, offset: a(r) } } if (c == -1) { s.moveToElementText(e), s.setEndPoint("StartToStart", t), u = s.text.replace(/(\r\n|\r)/g, "\n").length, h = e.childNodes; if (!u) return r = h[h.length - 1], { container: r, offset: r.nodeValue.length }; l = h.length; while (u > 0) u -= h[--l].nodeValue.length; return { container: h[l], offset: -u } } s.collapse(o > 0), s.setEndPoint(o > 0 ? "StartToStart" : "EndToStart", t), u = s.text.replace(/(\r\n|\r)/g, "\n").length; if (!u) return f.$empty[r.tagName] || f.$nonChild[r.tagName] ? { container: e, offset: a(r) + (o > 0 ? 0 : 1) } : { container: r, offset: o > 0 ? 0 : r.childNodes.length }; while (u > 0) try { p = r, r = r[o > 0 ? "previousSibling" : "nextSibling"], u -= r.nodeValue.length } catch (w) { return { container: e, offset: a(p) } } return { container: r, offset: o > 0 ? -u : r.nodeValue.length + u } } function s(n, t) { if (n.item) t.selectNode(n.item(0)); else { var r = i(n, !0); t.setStart(r.container, r.offset), n.compareEndPoints("StartToEnd", n) != 0 && (r = i(n, !1), t.setEnd(r.container, r.offset)) } return t } function t(n) { var t, i; try { t = n.getNative().createRange() } catch (r) { return null } return i = t.item ? t.item(0) : t.parentElement(), (i.ownerDocument || i) === n.document ? t : null } var o = e.Selection = function (i) { var u = this, f; u.document = i; if (r.ie9below) { f = n.getWindow(i).frameElement; n.on(f, "beforedeactivate", function () { u._bakIERange = u.getIERange() }); n.on(f, "activate", function () { try { !t(u) && u._bakIERange && u._bakIERange.select() } catch (n) { } u._bakIERange = null }) } f = i = null }; o.prototype = { rangeInBody: function (t, i) { var u = r.ie9below || i ? t.item ? t.item() : t.parentElement() : t.startContainer; return u === this.document.body || n.inDoc(u, this.document) }, getNative: function () { var t = this.document; try { return t ? r.ie9below ? t.selection : n.getWindow(t).getSelection() : null } catch (i) { return null } }, getIERange: function () { var n = t(this); if (!n) if (this._bakIERange) return this._bakIERange; return n }, cache: function () { this.clear(), this._cachedRange = this.getRange(), this._cachedStartElement = this.getStart(), this._cachedStartElementPath = this.getStartElementPath() }, getStartElementPath: function () { if (this._cachedStartElementPath) return this._cachedStartElementPath; var t = this.getStart(); return t ? n.findParents(t, !0, null, !0) : [] }, clear: function () { this._cachedStartElementPath = this._cachedRange = this._cachedStartElement = null }, isFocus: function () { try { if (r.ie9below) { var n = t(this); return !!(n && this.rangeInBody(n)) } return !!this.getNative().rangeCount } catch (i) { return !1 } }, getRange: function () { function e(n) { var t = f.document.body.firstChild, i = n.collapsed; while (t && t.firstChild) n.setStart(t, 0), t = t.firstChild; n.startContainer || n.setStart(f.document.body, 0), i && n.collapse(!0) } var f = this, t, c, i, h, o; if (f._cachedRange != null) return this._cachedRange; t = new u.editor.dom.Range(f.document); if (r.ie9below) { c = f.getIERange(); if (c) try { s(c, t) } catch (l) { e(t) } else e(t) } else { i = f.getNative(); if (i && i.rangeCount) h = i.getRangeAt(0), o = i.getRangeAt(i.rangeCount - 1), t.setStart(h.startContainer, h.startOffset).setEnd(o.endContainer, o.endOffset), t.collapsed && n.isBody(t.startContainer) && !t.startOffset && e(t); else { if (this._bakRange && n.inDoc(this._bakRange.startContainer, this.document)) return this._bakRange; e(t) } } return this._bakRange = t }, getStart: function () { if (this._cachedStartElement) return this._cachedStartElement; var t = r.ie9below ? this.getIERange() : this.getRange(), i, n, u, f; if (r.ie9below) { if (!t) return this.document.body.firstChild; if (t.item) return t.item(0); i = t.duplicate(), i.text.length > 0 && i.moveStart("character", 1), i.collapse(1), n = i.parentElement(), f = u = t.parentElement(); while (u = u.parentNode) if (u == n) { n = f; break } } else { t.shrinkBoundary(), n = t.startContainer, n.nodeType == 1 && n.hasChildNodes() && (n = n.childNodes[Math.min(n.childNodes.length - 1, t.startOffset)]); if (n.nodeType == 3) return n.parentNode } return n }, getText: function () { var t, n; return this.isFocus() && (t = this.getNative()) ? (n = r.ie9below ? t.createRange() : t.getRangeAt(0), r.ie9below ? n.text : n.toString()) : "" }, clearRange: function () { this.getNative()[r.ie9below ? "empty" : "removeAllRanges"]() } } })(), (function () { function i(i, r) { var u, o, f, e; if (r.textarea) if (t.isString(r.textarea)) { for (o = 0, e = n.getElementsByTagName(i, "textarea"); f = e[o++];)if (f.id == "ueditor_textarea_" + r.options.textarea) { u = f; break } } else u = r.textarea; u || (i.appendChild(u = n.createElement(document, "textarea", { name: r.options.textarea, id: "ueditor_textarea_" + r.options.textarea, style: "display:none" })), r.textarea = u), !u.getAttribute("name") && u.setAttribute("name", r.options.textarea), u.value = r.hasContents() ? r.options.allHtmlEnabled ? r.getAllHtml() : r.getContent(null, null, !0) : "" } function c(n) { for (var t in n) return t } function s(n) { n.langIsReady = !0, n.fireEvent("langReady") } var a = 0, h, u = UE.Editor = function (n) { var i = this; i.uid = a++, l.call(i), i.commands = {}, i.options = t.extend(t.clone(n || {}), UEDITOR_CONFIG, !0), i.shortcutkeys = {}, i.inputRules = [], i.outputRules = [], i.setOpt(u.defaultOptions(i)), i.loadServerConfig(), t.isEmptyObject(UE.I18N) ? t.loadFile(document, { src: i.options.langPath + i.options.lang + "/" + i.options.lang + ".js", tag: "script", type: "text/javascript", defer: "defer" }, function () { UE.plugin.load(i), s(i) }) : (i.options.lang = c(UE.I18N), UE.plugin.load(i), s(i)), UE.instants["ueditorInstant" + i.uid] = i }; u.prototype = { registerCommand: function (n, t) { this.commands[n] = t }, ready: function (n) { var t = this; n && (t.isReady ? n.apply(t) : t.addListener("ready", n)) }, setOpt: function (n, i) { var r = {}; t.isString(n) ? r[n] = i : r = n, t.extend(this.options, r, !0) }, getOpt: function (n) { return this.options[n] }, destroy: function () { var t = this, r, i, f, u; t.fireEvent("destroy"), r = t.container.parentNode, i = t.textarea, i ? i.style.display = "" : (i = document.createElement("textarea"), r.parentNode.insertBefore(i, r)), i.style.width = t.iframe.offsetWidth + "px", i.style.height = t.iframe.offsetHeight + "px", i.value = t.getContent(), i.id = t.key, r.innerHTML = "", n.remove(r), f = t.key; for (u in t) t.hasOwnProperty(u) && delete this[u]; UE.delEditor(f) }, render: function (i) { var e = this, u = e.options, f = function (t) { return parseInt(n.getComputedStyle(i, t)) }, s; t.isString(i) && (i = document.getElementById(i)); if (i) { u.minFrameWidth = u.initialFrameWidth ? u.initialFrameWidth : u.initialFrameWidth = i.offsetWidth, u.initialFrameHeight ? u.minFrameHeight = u.initialFrameHeight : u.initialFrameHeight = u.minFrameHeight = i.offsetHeight; try { i.style.width = /%$/.test(u.initialFrameWidth) ? "100%" : u.initialFrameWidth - f("padding-left") - f("padding-right") + "px" } catch (h) { } i.style.height = /%$/.test(u.initialFrameHeight) ? "100%" : u.initialFrameHeight - f("padding-top") - f("padding-bottom") + "px", i.style.zIndex = u.zIndex, s = (o && r.version < 9 ? "" : "") + "" + (u.iframeCssUrl ? "" : "") + (u.initialStyle ? "" : "") + " |