diff --git a/README.md b/README.md index 1772feb..6193682 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,91 @@ +# dzzoffice + ### 官方网站:http://dzzoffice.com -### 小胡版插件获取地址:https://gitee.com/xh2002/projects -### dzzoffice笔记:https://www.kdocs.cn/l/ccbRyo5tZZpY +### 演示地址:http://demo.dzzoffice.com + ### DzzOffice 介绍: -Dzzoffice是一套开源办公套件,适用于企业、团队搭建自己的 类似“Google企业应用套件”、“微软Office365”的企业协同办公平台。套件由多个工具组成,包含但不限于如: + Dzzoffice是一套开源办公套件,适用于企业、团队搭建自己的 类似“Google企业应用套件”、“微软Office365”的企业协同办公平台。套件由多个工具组成,包含但不限于如: **网盘**: 企业、团队文件集中管理。主要体现的功能是支持企业部门的组织架构建立共享目录,也支持组的方式灵活建立共享目录。支持文件标签,多版本,评论,详细的目录权限等协作功能。 **文档**: 在线 Word 文档协作工具。前端做了一套模板管理,用于企业添加自己的常用文档模板,如空白合同。后端支持 office online server,onlyoffice,collaboraoffice 来实现文档预览与协同编辑。 -**表格**: 在线 Excel 协作工具。同上。 +**表格**: 在线 Excel 协作工具。同上 -**演示文稿**: 在线 PPT 文档浏览、编辑工具。同上。 +**演示文稿**: 在线 PPT 文档浏览、编辑工具。同上 **记录**: 多人参与协作的记录本,主要体现协作记录内容。 -**新闻**: 文章系统,可用于企业新闻,通知等用途。 +**新闻**: 文章系统,可用于企业新闻,通知等用途 -**通讯录**: 企业人员联系方式查询。 +**通讯录**: 企业人员联系方式查询 -**文集**: 通过树形目录有序管理文档。支持 Markdown 编辑,支持导入导出 txt,epub、mobi、azw3。 +**文集**: 通过树形目录有序管理文档。支持 Markdown 编辑,支持导入导出 txt,epub、mobi、azw3 - 企业根据需要可以只使用一款工具,也可以多款工具组合使用。例如团队需要一个任务管理工具,可以只安装一个任务板,登陆系统会直接进入任务板工具,没有其他工具的干扰。如果多个工具组合使用,可以设置默认登陆到哪个工具里。 +**相册**: 企业,团队图片管理 - 除了以上自己开发了一些工具,套件里还集成了大量的其他开源工具,如网盘里用到的在线压缩、解压,各类媒体文件预览,各类文档预览与编辑的支持,是各类开源程序的综合利用。 +**任务板**: 任务管理、团队协作 -### 更新内容已搬至dzzoffice笔记:https://www.kdocs.cn/l/ccbRyo5tZZpY +**讨论板**: 内部论坛设置 -### DzzOffice小胡版使用说明 +**表单**: 表单,问卷工具 -1. 英文语言包需自行修改内容,我只是翻译了部分内容,且不在维护; -2. 如果官方与小胡版有共同的插件就得用小胡版的,没有的就可以选择用官方的插件; -3. 应用市场应用更新需谨慎,开发的应用与官方存在差异,更新前请先卸载该应用再重新安装官方的版本; -4. 支持小胡和官方的系列版本升级。注意,选择更新也有可能与全新安装的效果不一样; -5. 有问题可在https://www.kdocs.cn/l/ccbRyo5tZZpY 中和官方群中反馈。 +企业根据需要可以只使用一款工具,也可以多款工具组合使用。例如团队需要一个任务管理工具,可以只安装一个任务板,登陆系统会直接进入任务板工具,没有其他工具的干扰。如果多个工具组合使用,可以设置默认登陆到哪个工具里。 -### DzzOffice小胡版安装说明 +除了以上自己开发了一些工具,套件里还集成了大量的其他开源工具,如网盘里用到的在线压缩、解压,各类媒体文件预览,各类文档预览与编辑的支持,是各类开源程序的综合利用。 - 我使用的环境是 **win系统+小皮客户端** , **php版本7.3.9** , **mysql5.7** ,使用小皮搭建不支持php版本8以上的,其他安装环境我没用过。 - 安装时,请注意安装页面的 **权限检测** 是否正常,如不正常请先解决权限问题,如果权限异常可能会导致不能正常使用dzzoffice,如在网盘版块中无法显示图片缩略图。 +### DzzOffice2.01主要更新内容 -### DzzOffice小胡版升级说明 +1. 增加 云设置和管理 ,支持阿里云存储、七牛云存储、FTP/SFTP、本地磁盘等存储方式; -1. 下载小胡版最新版本,覆盖本地文件; -2. 访问:域名/install/update.php完成数据库升级; -3. 因升级会关闭网站,所以升级完后需在后台开启网站。 \ No newline at end of file +2. 增加 用户资料管理 ,支持自定义用户资料项,资料审核、认证和审核; + +3. 修改应用市场应用在线安装方式,提高应用下载速度; + +4. 增加伪静态支持,可以通过应用“伪静态管理”灵活配置各个页面的伪静态规则; + +5. 机构和用户管理 优化添加部门管理员的体验; + +6. 导入导出用户功能优化调整; + +7. 部分页面移动端适配; + +8. 增加首次安装引导页,引导管理员首次能正确配置系统; + +9. 开放讨论板应用(可在应用市场内在线安装); + +10. 开放任务板应用(可在应用市场内在线安装); + +11. 其他功能完善、及beta版反馈问题的修复; + + +### DzzOffice在线更新方法 + +1. 进入您原来的系统,关闭您的站点。进行数据备份; + +2. 备份文件(如果有程序文件或风格文件的改动); + +3. 进入 管理 -> 系统工具 -> 在线更新,按提示完成更新任务; + +4. 系统工具 -> 更新系统缓存; + +5. 系统设置 -> 打开站点。 + +### DzzOffice离线更新方法(仅支持从2.0beta版升级) + +1. 进入您原来的系统,关闭您的站点。进行数据备份; + +2. 备份文件(如果有程序文件或风格文件的改动); + +3. 下载并解压缩最新版的程序包; + +4. 程序包解压缩后,并且将文件上传到网站根目录覆盖; + +5. 访问 http://您的域名/install/update.php。 + +6. 按照程序提示,直至所有升级完毕。删除install/update.php 程序,以免被恶意利用。 + +7. 进入管理员桌面,更新缓存。 + +8. 系统设置 -> 打开站点。 diff --git a/UPDATE.md b/UPDATE.md new file mode 100644 index 0000000..a36befa --- /dev/null +++ b/UPDATE.md @@ -0,0 +1,48 @@ + + +### DzzOffice的下载及技术支持 + +1. 官方网站: http://www.dzzoffice.com +2. github地址:https://github.com/zyx0814/dzzoffice +3. 码云地址: https://gitee.com/zyx0814/dzzoffice + +### DzzOffice2.02主要更新内容 + +1. 缓存优化,开启内存huanc(如:memcached等)会显著提高效率; + +2. 应用市场应用名称旁显示版本; + +3. 修复评论组件,有些情况下获取不到评论列表的bug; + +4. 其他功能完善、及已知问题的修复; + + +### DzzOffice在线更新方法 + +1. 进入您原来的系统,关闭您的站点。进行数据备份; + +2. 备份文件(如果有程序文件或风格文件的改动); + +3. 进入 管理 -> 系统工具 -> 在线更新,按提示完成更新任务; + +4. 系统工具 -> 更新系统缓存; + +5. 系统设置 -> 打开站点。 + +### DzzOffice离线更新方法 + +1. 进入您原来的系统,关闭您的站点。进行数据备份; + +2. 备份文件(如果有程序文件或风格文件的改动); + +3. 下载并解压缩最新版的程序包; + +4. 程序包解压缩后,并且将文件上传到网站根目录覆盖; + +5. 访问 http://您的域名/install/update.php。 + +6. 按照程序提示,直至所有升级完毕。删除install/update.php 程序,以免被恶意利用。 + +7. 进入管理员桌面,更新缓存。 + +8. 系统设置 -> 打开站点。 diff --git a/admin/language/en-US/lang.php b/admin/language/en-US/lang.php index f6e3cdb..79e7726 100644 --- a/admin/language/en-US/lang.php +++ b/admin/language/en-US/lang.php @@ -790,14 +790,6 @@ $lang = array 'between' => 'center', 'icon_orientation'=>' icon orientation', 'icon_orientation_state'=>' The default orientation of the desktop ICONS. (after user setting, subject to user setting) ', - 'open_qq_login'=>' Whether to open QQ login', - 'qq_app_id'=>' APP ID applied in QQ interconnection ', - 'qq_app_key'=>' Application APP KEY applied in QQ interconnection ', - 'whether_allow_direct'=>' whether direct use is allowed ', - 'user_must_binding'=>' User must be bound ', - 'user_must_binding_text'=>' User is not bound to a user, the system will automatically add a user to the system based on the QQ information and bind the user to the QQ. The default user name is QQ nickname. The email address and password are randomly generated. Users can login through QQ normal login or retrieve password ', - 'allow_direct_use'=>' allow direct use', - 'token_url'=>' callback address ', 'enable_independent_login_page'=>' Enable independent login page', 'enable_independent_login_page_text'=>' After the independent login page is enabled, the default home page of unlogged users is the login page. ', 'main_title_page'=>' main page title ', diff --git a/admin/language/zh-cn/lang.php b/admin/language/zh-cn/lang.php index f6f555a..6239f7a 100644 --- a/admin/language/zh-cn/lang.php +++ b/admin/language/zh-cn/lang.php @@ -813,14 +813,6 @@ $lang = array 'between'=>'居中', 'icon_orientation'=>'图标排列方向', 'icon_orientation_state'=>'默认的桌面图标排列方向。(用户设置后,以用户设置为准)', - 'open_qq_login'=>'是否开启QQ登录', - 'qq_app_id'=>'在QQ互联申请的应用APP ID', - 'qq_app_key'=>'在QQ互联申请的应用APP KEY', - 'whether_allow_direct'=>'是否允许直接使用', - 'user_must_binding'=>'必须绑定用户', - 'user_must_binding_text'=>'用户不绑定用户,直接使用的话,系统将根据QQ的信息自动添加用户到系统并且和此QQ绑定。用户名默认使用QQ昵称;邮箱、密码随机生成。用户可以通过QQ登录正常登录或找回密码', - 'allow_direct_use'=>'允许直接使用', - 'token_url'=>'回调地址', 'enable_independent_login_page'=>'启用独立登录页', 'enable_independent_login_page_text'=>'启用独立登录页后,未登录用户默认首页为此登录页。', 'main_title_page'=>'页面主标题', diff --git a/admin/setting/index.php b/admin/setting/index.php index 777d1b3..1879bf5 100644 --- a/admin/setting/index.php +++ b/admin/setting/index.php @@ -91,9 +91,7 @@ if (!submitcheck('settingsubmit')) { $perms = get_permsarray();//获取所有权限; $permgroups = C::t('resources_permgroup')->fetch_all(); $navtitle=lang('permGroupSet').' - '.lang('appname'); - }elseif ($operation == 'qqlogin') { - $navtitle = lang('register_visit').' - '.lang('appname'); - } elseif ($operation == 'datetime') { + }elseif ($operation == 'datetime') { $navtitle = lang('time_or_date').' - '.lang('appname'); $checktimeformat = array($setting['timeformat'] == 'H:i' ? 24 : 12 => 'checked'); $setting['userdateformat'] = dateformat($setting['userdateformat']); @@ -270,7 +268,7 @@ if (!submitcheck('settingsubmit')) { } elseif ($operation == 'sec') { $settingnew['seccodestatus'] = bindec(intval($settingnew['seccodestatus'][3]) . intval($settingnew['seccodestatus'][2]) . intval($settingnew['seccodestatus'][1])); - } elseif ($operation == 'qqlogin') { + } elseif ($op == 'qqlogin') { if (empty($settingnew['qq_appid']) || empty($settingnew['qq_appkey'])) { $settingnew['qq_login'] = 0; } diff --git a/admin/setting/template/left.htm b/admin/setting/template/left.htm index 3e00a54..863cc64 100644 --- a/admin/setting/template/left.htm +++ b/admin/setting/template/left.htm @@ -2,7 +2,7 @@
  • class="active"> {lang basicSet}
  • -
  • class="active"> +
  • class="active"> {lang loginSet}
  • class="active"> diff --git a/admin/setting/template/main.htm b/admin/setting/template/main.htm index 72b33a1..16ab4e3 100644 --- a/admin/setting/template/main.htm +++ b/admin/setting/template/main.htm @@ -139,7 +139,6 @@
  • {lang basicSet}
  • {lang register_visit}
  • {lang verification_code_set}
  • -
  • {lang QQ login Settings}
  • {lang login_page_set}
  • @@ -147,15 +146,6 @@
  • {lang basicSet}
  • {lang register_visit}
  • {lang verification_code_set}
  • -
  • {lang QQ login Settings}
  • -
  • {lang login_page_set}
  • - - - @@ -163,7 +153,6 @@
  • {lang basicSet}
  • {lang register_visit}
  • {lang verification_code_set}
  • -
  • {lang QQ login Settings}
  • {lang login_page_set}
  • @@ -179,7 +168,6 @@
  • {lang basicSet}
  • {lang register_visit}
  • {lang verification_code_set}
  • -
  • {lang QQ login Settings}
  • {lang login_page_set}
  • @@ -283,6 +271,22 @@ {lang setting_main_file_sharing} +
    +
    {lang platform_copyright}:
    +
    + + 支持html代码和变量替换,可以使用如下变量: +
  • {xhversion} : 小胡版版本
  • +
  • {xversion} : 官方版本
  • +
  • {years} : 官方版本
  • +
  • {username} : 用户名
  • +
  • {time} : 发送时间
  • +
  • {sitename} : 网站名称(显示在页面底部的联系方式处的名称)
  • +
  • {bbname} : 站点名称(显示在浏览器窗口标题等位置的名称)
  • +
  • {adminemail} : 管理员 Email
  • +
    +
    +
    {lang platform_beian}
    @@ -455,49 +459,6 @@ } }) - -
    - - -
    -
    {lang open_qq_login}
    -
    - - -
    -
    -
    class="hide"> -
    -
    QQ APPID
    -
    - -
    -
    {lang qq_app_id}
    -
    -
    -
    QQ APPKAY
    -
    - -
    -
    {lang qq_app_key}
    -
    -
    -
    {lang whether_allow_direct}
    -
    - - -
    -
    {lang user_must_binding_text}
    -
    -
    -
    {lang token_url}
    -
    $_G['siteurl']user.php
    -
    -
    -
    - -
    -
    diff --git a/config/config_default.php b/config/config_default.php index 0400e0b..a81f052 100644 --- a/config/config_default.php +++ b/config/config_default.php @@ -132,7 +132,6 @@ $_config['output']['tplrefresh'] = 1; // 模板自动刷新开关 0=关闭, 1 $_config['output']['language'] = 'zh-cn'; // 页面语言 zh-cn/zh-tw $_config['output']['language_list']['zh-cn']='简体中文'; // 页面语言 zh-CN/en-US -$_config['output']['language_list']['en-US']='English'; // 页面语言 zh-CN/en-US $_config['output']['staticurl'] = 'static/'; // 站点静态文件路径,“/”结尾 $_config['output']['ajaxvalidate'] = 0; // 是否严格验证 Ajax 页面的真实性 0=关闭,1=打开 diff --git a/config/config_frame.php b/config/config_frame.php index 3049583..cb618df 100644 --- a/config/config_frame.php +++ b/config/config_frame.php @@ -10,7 +10,7 @@ $_config['namespacelist'] = array( 'misc' => DZZ_ROOT.'misc' ); -$_config['default_mod'] = 'index_simple'; +$_config['default_mod'] = 'index'; $_config['default_op'] = 'index'; diff --git a/core/class/dzz/dzz_app.php b/core/class/dzz/dzz_app.php index 2a43646..d5f954d 100644 --- a/core/class/dzz/dzz_app.php +++ b/core/class/dzz/dzz_app.php @@ -661,5 +661,4 @@ class dzz_app extends dzz_base{ @date_default_timezone_set('Etc/GMT'.($timeoffset > 0 ? '-' : '+').(abs($timeoffset))); } } - } diff --git a/core/class/table/table_user_profile.php b/core/class/table/table_user_profile.php index 327a16d..e808ab9 100644 --- a/core/class/table/table_user_profile.php +++ b/core/class/table/table_user_profile.php @@ -108,6 +108,17 @@ class table_user_profile extends dzz_table public function fetch_weixinid($weixinid){ return DB::fetch_first("select * from %t where `fieldid` = %s and `value` = %s",array($this->_table,'weixinid',$weixinid)); } + public function zupdate($uid,$fieldarr){//插入用户资料 + foreach($fieldarr as $key=>$value){ + $setarr=array('uid'=>$uid, + 'fieldid'=>$key, + 'value'=>$value, + 'privacy'=>$value + ); + DB::insert($this->_table,$setarr,0,1); + } + return true; + } public function insert($fieldarr){//插入用户资料 $uid=$fieldarr['uid']; unset($fieldarr['uid']); diff --git a/core/core_version.php b/core/core_version.php index b03028a..2cf5a6a 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.75'); - define('CORE_XHRELEASE', '20230204'); - define('CORE_XHFIXBUG' , '20230204'); + define('CORE_XHVERSION', '1.76'); + define('CORE_XHRELEASE', '20230205'); + define('CORE_XHFIXBUG' , '20230205'); } \ No newline at end of file diff --git a/core/function/function_core.php b/core/function/function_core.php index ff953c7..8dc0407 100644 --- a/core/function/function_core.php +++ b/core/function/function_core.php @@ -24,6 +24,23 @@ if (!function_exists('sys_get_temp_dir')) { } } +function replacesitevar($string, $replaces = array()) +{ + global $_G; + $sitevars = array( + '{sitename}' => $_G['setting']['sitename'], + '{xhversion}' => CORE_XHVERSION, + '{xversion}' => CORE_VERSION, + '{years}' => date("Y"), + '{time}' => dgmdate(TIMESTAMP, 'Y-n-j H:i'), + '{adminemail}' => $_G['setting']['adminemail'], + '{username}' => $_G['member']['username'], + '{myname}' => $_G['member']['username'] + ); + $replaces = array_merge($sitevars, $replaces); + return str_replace(array_keys($replaces), array_values($replaces), $string); +} + function getfileinfo($icoid) { if (preg_match('/^dzz:[gu]id_\d+:.+?/i', $icoid)) { diff --git a/core/template/default/common/copyright.htm b/core/template/default/common/copyright.htm index aea6db6..6dcdac0 100644 --- a/core/template/default/common/copyright.htm +++ b/core/template/default/common/copyright.htm @@ -1,4 +1,4 @@ -©2020-Present $_G[setting][sitename] + -

    $_G[setting][sitebeian]

    - \ No newline at end of file +
    $_G[setting][sitebeian] + \ No newline at end of file diff --git a/data/attachment/appico/201712/21/123754pb0s666i6sjws1jc.png b/data/attachment/appico/201712/21/123754pb0s666i6sjws1jc.png new file mode 100644 index 0000000..aeb9521 Binary files /dev/null and b/data/attachment/appico/201712/21/123754pb0s666i6sjws1jc.png differ diff --git a/data/attachment/temp/index.html b/data/attachment/temp/index.html new file mode 100644 index 0000000..e69de29 diff --git a/data/cache/index.html b/data/cache/index.html new file mode 100644 index 0000000..e69de29 diff --git a/data/template/index.html b/data/template/index.html new file mode 100644 index 0000000..e69de29 diff --git a/dzz/appmanagement/dzz_app_appmanagement.xml b/dzz/appmanagement/dzz_app_appmanagement.xml new file mode 100644 index 0000000..c7c9210 --- /dev/null +++ b/dzz/appmanagement/dzz_app_appmanagement.xml @@ -0,0 +1,168 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dzz/appmanagement/images/main.css b/dzz/appmanagement/images/main.css new file mode 100644 index 0000000..506796b --- /dev/null +++ b/dzz/appmanagement/images/main.css @@ -0,0 +1,108 @@ +body{ + background: #FFF; +} +ul,ul li,li{ + list-style: none; + padding: 0; + margin: 0; +} +a{ + text-decoration: none; +} +.bs-main-container{ + margin-left:0; + padding:0; +} +.main-content{ + padding:90px 30px; +} +.main-content-ul{ + overflow: hidden; +} +.main-content-ul .main-content-li{ + float: left; + width: 175px; + height: 175px; + overflow: hidden; + border-radius: 8px; + margin:20px; + padding: 15px; + background: #FAFAFA; +} +.main-content-ul .main-content-li:hover{ + background: #D8DEEA; + -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.05); + box-shadow : 0px 0px 10px rgba(0, 0, 0, 0.05); +} +.main-content-li a{ + + height: 100%; +} +.main-content-li a .row{ + padding-top: 25px; +} +.main-content-li img{ + width: 64px; + height: 64px; +} +@media (max-width:768px){ + .main-content { + padding: 30px 30px; + } + +} +@media (max-width:414px){ + .main-content { + padding: 5px; + } + .main-content-ul .main-content-li{ + padding:20px; + margin:10px; + } + +} +@media (max-width:375px){ + .main-content { + padding: 5px; + } + .main-content-ul .main-content-li{ + width:160px; + height:160px; + padding:20px; + margin:10px; + } + .main-content-li a .row{ + padding-top:10px; + } + +} +@media (max-width:360px){ + .main-content { + padding: 5px; + } + .main-content-ul .main-content-li{ + width:160px; + height:160px; + padding:10px; + margin:6px; + } + .main-content-li a .row{ + padding-top:10px; + } + +} +@media (max-width:320px){ + .main-content { + padding: 5px; + } + .main-content-ul .main-content-li{ + width:145px; + height:140px; + padding:10px; + margin:4px; + } + .main-content-li a .row{ + padding-top:10px; + } + +} diff --git a/dzz/appmanagement/index.php b/dzz/appmanagement/index.php new file mode 100644 index 0000000..c3dcc2e --- /dev/null +++ b/dzz/appmanagement/index.php @@ -0,0 +1,26 @@ +0 and `available`>0",array('app_market')); +$data=array(); +foreach($appdata as $k => $v){ + if( $v["identifier"]=="appmanagement") continue; + if ($v['appico'] != 'dzz/images/default/icodefault.png' && !preg_match("/^(http|ftp|https|mms)\:\/\/(.+?)/i", $v['appico'])) { + $v['appico'] = $_G['setting']['attachurl'] . $v['appico']; + } + $v['url']=replace_canshu($v['appurl']); + $data[]=$v; +} +include template('main'); \ No newline at end of file diff --git a/dzz/appmanagement/language/zh-cn/lang.php b/dzz/appmanagement/language/zh-cn/lang.php new file mode 100644 index 0000000..93ae92b --- /dev/null +++ b/dzz/appmanagement/language/zh-cn/lang.php @@ -0,0 +1,6 @@ +'管理', +); + +?> \ No newline at end of file diff --git a/dzz/appmanagement/template/header_left.htm b/dzz/appmanagement/template/header_left.htm new file mode 100644 index 0000000..57ddc4a --- /dev/null +++ b/dzz/appmanagement/template/header_left.htm @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/dzz/appmanagement/template/main.htm b/dzz/appmanagement/template/main.htm new file mode 100644 index 0000000..4b81bf0 --- /dev/null +++ b/dzz/appmanagement/template/main.htm @@ -0,0 +1,45 @@ + + + + + + + +
    +
    + +
    + +
    +
    + + + + \ No newline at end of file diff --git a/dzz/attach/config.json b/dzz/attach/config.json index adaf8f4..dd5bc17 100644 --- a/dzz/attach/config.json +++ b/dzz/attach/config.json @@ -3,7 +3,7 @@ /* 上传图片配置项 */ "imageActionName": "uploadimage", /* 执行上传图片的action名称 */ "imageFieldName": "upfile", /* 提交的图片表单名称 */ - "imageMaxSize": 51200000, /* 上传大小限制,单位B */ + "imageMaxSize": 2048000, /* 上传大小限制,单位B */ "imageAllowFiles": [".png", ".jpg", ".jpeg", ".gif", ".bmp"], /* 上传图片格式显示 */ "imageCompressEnable": true, /* 是否压缩图片,默认是true */ "imageCompressBorder": 1600, /* 图片压缩最长边限制 */ diff --git a/dzz/attach/preview.php b/dzz/attach/preview.php index 4d245ef..7907a4c 100644 --- a/dzz/attach/preview.php +++ b/dzz/attach/preview.php @@ -14,7 +14,7 @@ $extall=C::t('app_open')->fetch_all_ext(); $exts=array(); foreach($extall as $value){ if($value['ext']=='mp3'){//mp3只使用简易播放器预览 - if(strpos($value['url'],'?mod=music')!==false) $exts[$value['ext']]=$value; + if(strpos($value['url'],'?mod=sound')!==false) $exts[$value['ext']]=$value; }else{ if(!isset($exts[$value['ext']]) ||$value['isdefault']) $exts[$value['ext']]=$value; } diff --git a/dzz/comment/ajax.php b/dzz/comment/ajax.php index 330bd01..f32f8b0 100644 --- a/dzz/comment/ajax.php +++ b/dzz/comment/ajax.php @@ -11,106 +11,24 @@ if (!defined('IN_DZZ')) { exit('Access Denied'); } include libfile('function/code'); + $do = trim($_GET['do']); $guests = array('getcomment', 'getThread', 'getNewThreads', 'getReply', 'getReplys', 'getUserToJson'); -if ($_G['news']['youkepinglun']) { if (empty($_G['uid']) && !in_array($do, $guests)) { - if ($_G['uid']) { include template('common/header_ajax'); - echo '   '.lang('login').''; + /*echo ""; */ + echo '   '.lang('login').''; if( $_G['setting']['regstatus']>0){ echo '   '.lang('register').''; } include template('common/footer_ajax'); exit(); } -} -} + if (submitcheck('replysubmit')) { -$agent = $_SERVER['HTTP_USER_AGENT']; -if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) { - $outputer = 'Internet Explore'; -} else if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) { - $str1 = explode('Firefox/', $regs[0]); - $FireFox_vern = explode('.', $str1[1]); - $outputer = 'FireFox'; -} else if (preg_match('/Maxthon([\d]*)\/([^\s]+)/i', $agent, $regs)) { - $str1 = explode('Maxthon/', $agent); - $Maxthon_vern = explode('.', $str1[1]); - $outputer = 'MicroSoft Edge'; -} else if (preg_match('#360([a-zA-Z0-9.]+)#i', $agent, $regs)) { - $outputer = '360 Fast Browser'; -} else if (preg_match('/Edge([\d]*)\/([^\s]+)/i', $agent, $regs)) { - $str1 = explode('Edge/', $regs[0]); - $Edge_vern = explode('.', $str1[1]); - $outputer = 'MicroSoft Edge'; -} else if (preg_match('/UC/i', $agent)) { - $str1 = explode('rowser/', $agent); - $UCBrowser_vern = explode('.', $str1[1]); - $outputer = 'UC Browser'; -} else if (preg_match('/QQ/i', $agent, $regs)||preg_match('/QQ Browser\/([^\s]+)/i', $agent, $regs)) { - $str1 = explode('rowser/', $agent); - $QQ_vern = explode('.', $str1[1]); - $outputer = 'QQ Browser'; -} else if (preg_match('/UBrowser/i', $agent, $regs)) { - $str1 = explode('rowser/', $agent); - $UCBrowser_vern = explode('.', $str1[1]); - $outputer = 'UC Browser'; -} else if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) { - $outputer = 'Opera'; -} else if (preg_match('/Chrome([\d]*)\/([^\s]+)/i', $agent, $regs)) { - $str1 = explode('Chrome/', $agent); - $chrome_vern = explode('.', $str1[1]); - $outputer = 'Google Chrome'; -} else if (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) { - $str1 = explode('Version/', $agent); - $safari_vern = explode('.', $str1[1]); - $outputer = 'Safari'; -} else{ - $outputer = '其他'; -} -echo $outputer; -if (preg_match('/win/i', $agent)) { - if (preg_match('/nt 6.0/i', $agent)) { - $os = 'Windows Vista · '; - } else if (preg_match('/nt 6.1/i', $agent)) { - $os = 'Windows 7 · '; - } else if (preg_match('/nt 6.2/i', $agent)) { - $os = 'Windows 8 · '; - } else if(preg_match('/nt 6.3/i', $agent)) { - $os = 'Windows 8.1 · '; - } else if(preg_match('/nt 5.1/i', $agent)) { - $os = 'Windows XP · '; - } else if (preg_match('/nt 10.0/i', $agent)) { - $os = 'Windows 10 · '; - } else{ - $os = 'Windows X64 · '; - } - } else if (preg_match('/android/i', $agent)) { - if (preg_match('/android 9/i', $agent)) { - $os = 'Android Pie · '; - } - else if (preg_match('/android 8/i', $agent)) { - $os = 'Android Oreo · '; - } - else { - $os = 'Android · '; - } - } - else if (preg_match('/ubuntu/i', $agent)) { - $os = 'Ubuntu · '; - } else if (preg_match('/linux/i', $agent)) { - $os = 'Linux · '; - } else if (preg_match('/iPhone/i', $agent)) { - $os = 'iPhone · '; - } else if (preg_match('/mac/i', $agent)) { - $os = 'MacOS · '; - }else if (preg_match('/fusion/i', $agent)) { - $os = 'Android · '; - } else { - $os = 'Linux · '; - } - echo $os; + $message = censor($_GET['message']); if (empty($message)) { @@ -119,7 +37,7 @@ if (preg_match('/win/i', $agent)) { //处理@ $at_users = array(); $message = preg_replace_callback("/@\[(.+?):(.+?)\]/i", "atreplacement", $message); - $setarr = array('author' => $_G['username'], 'authorid' => $_G['uid'], 'pcid' => intval($_GET['pcid']), 'rcid' => intval($_GET['rcid']), 'id' => getstr($_GET['id'], 60), 'idtype' => trim($_GET['idtype']), 'module' => trim($_GET['module']), 'ip' => $_G['clientip'],'xtllq' =>$os.$outputer, 'dateline' => TIMESTAMP, 'message' => $message, ); + $setarr = array('author' => $_G['username'], 'authorid' => $_G['uid'], 'pcid' => intval($_GET['pcid']), 'rcid' => intval($_GET['rcid']), 'id' => getstr($_GET['id'], 60), 'idtype' => trim($_GET['idtype']), 'module' => trim($_GET['module']), 'ip' => $_G['clientip'], 'dateline' => TIMESTAMP, 'message' => $message, ); if (!$setarr['cid'] = C::t('comment') -> insert_by_cid($setarr, $at_users, $_GET['attach'])) { showmessage('internal_server_error', DZZSCRIPT . '?mod=comment', array('message' => $message)); } @@ -276,5 +194,6 @@ function atreplacement($matches) { } } } + include template('ajax'); ?> diff --git a/dzz/comment/images/comment.css b/dzz/comment/images/comment.css index ded6c31..b36e736 100644 --- a/dzz/comment/images/comment.css +++ b/dzz/comment/images/comment.css @@ -39,6 +39,7 @@ padding: 5px 10px; border-bottom: 1px solid #DDD; cursor: pointer; + /* border-top: 1px solid #C8C8C8; */ } .atwho-view ul li img{ max-height: 24px; @@ -183,6 +184,9 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover margin: 0 20px; border-top:1px solid #DDD; } +.comment-reply-form .itemfeed{ + border:none; +} .comment-page .pagination{ margin:10px 0; } @@ -233,7 +237,6 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover border-style:solid; border-color:#e1e1e1; border-width:0px 1px 1px 1px; - border-radius:0 0 .5rem .5rem; } .list_acpsw { float: left; @@ -278,7 +281,6 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover border: 1px solid #e1e1e1; padding: 3px; background: #fff; - border-radius:.5rem .5rem 0 0; } .wrap_tcpsw { background: #fff; @@ -430,11 +432,9 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover line-height: 14px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; padding: 5px 0 5px; - box-shadow: 0 2px 5px 0 rgb(0 0 0 / 10%); - border: 1px solid #ebeef5; - border-radius: var(--radius); - padding: 10px; - margin: 10px 0; + + border-top: 1px solid #e7e7e7; + *zoom:1 } .comment_ifed .itemfeed{ border-top: none; @@ -442,7 +442,6 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover .left_ifed img{ width:35px; height:35px; - border-radius: 50% } .right_ifed { padding-left: 45px @@ -505,23 +504,43 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover vertical-align: middle } .master_mfed { - background: #f2f6fc; - padding: 15px; - border-radius: var(--radius); + font-size: 14px; + padding: 5px; + color: #000; + line-height: 22px; + word-break: break-all; + word-wrap: break-word } .item_afed{ padding-bottom:10px; } .item_afed:hover { - background-color: #FBFBFB; - border-radius: var(--radius) + background-color: #FBFBFB; +} +.lquote_mmfed { + width: 16px; + height: 11px; + margin-right: 5px; + line-height: 999px; + background: url(ico_feed.png) no-repeat -25px 0; + display: inline-block; + vertical-align: middle; + overflow: hidden +} +.rquote_mmfed { + width: 16px; + height: 11px; + margin-left: 5px; + line-height: 999px; + background: url(ico_feed.png) no-repeat -50px 0; + display: inline-block; + vertical-align: middle; + overflow: hidden } .itemfeed .comment_ifed { padding:5px 0 } -.content_mmfed{ - font-size: larger; -} + .main_fed{ min-height:60px; } @@ -551,9 +570,6 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover color: #aaa; font-size: 12px } -.btn_amfed a:hover{ - color: #409eff; -} .btn_amfed i { font-style: normal } @@ -562,7 +578,7 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover *height:auto } .reply_bamfed a i { - line-height: 12px; + line-height: 12px\0; cursor: pointer } .from_fed { @@ -659,10 +675,12 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover overflow: hidden } .master_cfed { - background: #f2f6fc; - padding: 10px; - border-radius: var(--radius); - font-size: larger; + color: #666; + font-size: 12px; + line-height: 20px; + margin-top: -4px; + word-break: break-all; + word-wrap: break-word } .dehua_mcfed { @@ -691,6 +709,9 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover line-height: 18px; margin-left: 10px } +.hover_cmt_fed { + background: #fbfbfb +} .hover_cmt_fed .btn_acfed { display: inline } @@ -713,7 +734,12 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover color: #2d83cf } .who_cpsw { + display: none; + background-color:#F7F7F7; padding: 3px 10px; + border-color:#e1e1e1; + border-width:1px 1px 0 1px; + border-style:solid; } .who_cpsw span { vertical-align: middle; @@ -831,7 +857,6 @@ a.ui-artZoom-hide:hover span, ._tt_tasklist li .ui-artZoom-hide.title_tttl:hover border-color: #DDD; background: #FEFEFE; box-shadow: 1px 2px 2px rgba(0,0,0,0.3); - border-radius: var(--radius); } .sllt { padding: 5px !important; } .sllt .sllt-wrap{ diff --git a/dzz/comment/scripts/comment.js b/dzz/comment/scripts/comment.js index ef943d4..934fe31 100644 --- a/dzz/comment/scripts/comment.js +++ b/dzz/comment/scripts/comment.js @@ -7,7 +7,7 @@ var html='' html+='
    '; html+='
    '; html+='
    '+arr['author']+''+__lang.talk+':
    '; - html+='
    '+arr['message']+'
    '; + html+='
    '+arr['message']+'
    '; html+='
    '; for(var i in arr['attachs']){ var attach=arr['attachs'][i]; @@ -71,6 +71,7 @@ for(var i in arr['attachs']){ html+='
    '; html+='
    '; html+=' '; @@ -113,11 +114,11 @@ function feed_reply(arr){ html+='
    '; html+=' '; html+='
    '; - html+=' '+arr['author']+'说:
    '; + html+='
    '+arr['author']+' '; if(arr['rpost']){ - html+=' '+arr['rpost']['author']+''; + html+=''+__lang.reply+' '+arr['rpost']['author']+''; } - html+=' '+arr['message']+' '; + html+=' :'+arr['message']+' '; html+='
    '; html+='
    '; for(var i in arr['attachs']){ diff --git a/dzz/comment/template/ajax.htm b/dzz/comment/template/ajax.htm index dbe0f99..cebb609 100644 --- a/dzz/comment/template/ajax.htm +++ b/dzz/comment/template/ajax.htm @@ -1,3 +1,4 @@ + @@ -29,6 +30,7 @@ }); + diff --git a/dzz/comment/template/edit_form.htm b/dzz/comment/template/edit_form.htm index 1168861..67a0d5e 100644 --- a/dzz/comment/template/edit_form.htm +++ b/dzz/comment/template/edit_form.htm @@ -72,7 +72,7 @@
    - diff --git a/dzz/images/default/notice_system.png b/dzz/images/default/notice_system.png new file mode 100644 index 0000000..adae48d Binary files /dev/null and b/dzz/images/default/notice_system.png differ diff --git a/dzz/images/default/start.png b/dzz/images/default/start.png new file mode 100644 index 0000000..5e95213 Binary files /dev/null and b/dzz/images/default/start.png differ diff --git a/dzz/images/default/system/folder.png b/dzz/images/default/system/folder.png index 58d5780..4419bfd 100644 Binary files a/dzz/images/default/system/folder.png and b/dzz/images/default/system/folder.png differ diff --git a/dzz/images/logo-blue.png b/dzz/images/logo-blue.png new file mode 100644 index 0000000..adae48d Binary files /dev/null and b/dzz/images/logo-blue.png differ diff --git a/dzz/images/logo.png b/dzz/images/logo.png new file mode 100644 index 0000000..8534151 Binary files /dev/null and b/dzz/images/logo.png differ diff --git a/dzz/images/taskicon/Doc_-_Google_Docs.png b/dzz/images/taskicon/Doc_-_Google_Docs.png new file mode 100644 index 0000000..b8c1e93 Binary files /dev/null and b/dzz/images/taskicon/Doc_-_Google_Docs.png differ diff --git a/dzz/images/taskicon/appmarket.png b/dzz/images/taskicon/appmarket.png new file mode 100644 index 0000000..c98e2c5 Binary files /dev/null and b/dzz/images/taskicon/appmarket.png differ diff --git a/dzz/images/taskicon/baiduplayer.png b/dzz/images/taskicon/baiduplayer.png new file mode 100644 index 0000000..45dd223 Binary files /dev/null and b/dzz/images/taskicon/baiduplayer.png differ diff --git a/dzz/images/taskicon/calculator.png b/dzz/images/taskicon/calculator.png new file mode 100644 index 0000000..d2ae1e5 Binary files /dev/null and b/dzz/images/taskicon/calculator.png differ diff --git a/dzz/images/taskicon/clouddwon.png b/dzz/images/taskicon/clouddwon.png new file mode 100644 index 0000000..c9093dc Binary files /dev/null and b/dzz/images/taskicon/clouddwon.png differ diff --git a/dzz/images/taskicon/config.png b/dzz/images/taskicon/config.png new file mode 100644 index 0000000..dfc6e6b Binary files /dev/null and b/dzz/images/taskicon/config.png differ diff --git a/dzz/images/taskicon/dim.png b/dzz/images/taskicon/dim.png new file mode 100644 index 0000000..9a96200 Binary files /dev/null and b/dzz/images/taskicon/dim.png differ diff --git a/dzz/images/taskicon/feed.png b/dzz/images/taskicon/feed.png new file mode 100644 index 0000000..bbe3c76 Binary files /dev/null and b/dzz/images/taskicon/feed.png differ diff --git a/dzz/images/taskicon/filemanage.png b/dzz/images/taskicon/filemanage.png new file mode 100644 index 0000000..45e782b Binary files /dev/null and b/dzz/images/taskicon/filemanage.png differ diff --git a/dzz/images/taskicon/flashplayer.png b/dzz/images/taskicon/flashplayer.png new file mode 100644 index 0000000..cb78985 Binary files /dev/null and b/dzz/images/taskicon/flashplayer.png differ diff --git a/dzz/images/taskicon/flowplayer.png b/dzz/images/taskicon/flowplayer.png new file mode 100644 index 0000000..c3c6908 Binary files /dev/null and b/dzz/images/taskicon/flowplayer.png differ diff --git a/dzz/images/taskicon/guide.png b/dzz/images/taskicon/guide.png new file mode 100644 index 0000000..11f90a1 Binary files /dev/null and b/dzz/images/taskicon/guide.png differ diff --git a/dzz/images/taskicon/hotkey.png b/dzz/images/taskicon/hotkey.png new file mode 100644 index 0000000..a1d71ef Binary files /dev/null and b/dzz/images/taskicon/hotkey.png differ diff --git a/dzz/images/taskicon/image.png b/dzz/images/taskicon/image.png new file mode 100644 index 0000000..46a74d0 Binary files /dev/null and b/dzz/images/taskicon/image.png differ diff --git a/dzz/images/taskicon/jplayer.png b/dzz/images/taskicon/jplayer.png new file mode 100644 index 0000000..4a2965c Binary files /dev/null and b/dzz/images/taskicon/jplayer.png differ diff --git a/dzz/images/taskicon/mp3_simple.png b/dzz/images/taskicon/mp3_simple.png new file mode 100644 index 0000000..d6fc7e7 Binary files /dev/null and b/dzz/images/taskicon/mp3_simple.png differ diff --git a/dzz/images/taskicon/mycloud.png b/dzz/images/taskicon/mycloud.png new file mode 100644 index 0000000..2801ea9 Binary files /dev/null and b/dzz/images/taskicon/mycloud.png differ diff --git a/dzz/images/taskicon/mycloud2.png b/dzz/images/taskicon/mycloud2.png new file mode 100644 index 0000000..319f40c Binary files /dev/null and b/dzz/images/taskicon/mycloud2.png differ diff --git a/dzz/images/taskicon/notepad.png b/dzz/images/taskicon/notepad.png new file mode 100644 index 0000000..38acfdd Binary files /dev/null and b/dzz/images/taskicon/notepad.png differ diff --git a/dzz/images/taskicon/office.png b/dzz/images/taskicon/office.png new file mode 100644 index 0000000..a50ff3c Binary files /dev/null and b/dzz/images/taskicon/office.png differ diff --git a/dzz/images/taskicon/profile.png b/dzz/images/taskicon/profile.png new file mode 100644 index 0000000..af7de0e Binary files /dev/null and b/dzz/images/taskicon/profile.png differ diff --git a/dzz/images/taskicon/renwuban.png b/dzz/images/taskicon/renwuban.png new file mode 100644 index 0000000..eefded8 Binary files /dev/null and b/dzz/images/taskicon/renwuban.png differ diff --git a/dzz/images/taskicon/taolunban.png b/dzz/images/taskicon/taolunban.png new file mode 100644 index 0000000..4536912 Binary files /dev/null and b/dzz/images/taskicon/taolunban.png differ diff --git a/dzz/images/taskicon/thame.png b/dzz/images/taskicon/thame.png new file mode 100644 index 0000000..b515afb Binary files /dev/null and b/dzz/images/taskicon/thame.png differ diff --git a/dzz/images/taskicon/unknown.png b/dzz/images/taskicon/unknown.png new file mode 100644 index 0000000..41a5124 Binary files /dev/null and b/dzz/images/taskicon/unknown.png differ diff --git a/dzz/images/taskicon/wenji.png b/dzz/images/taskicon/wenji.png new file mode 100644 index 0000000..3e816e6 Binary files /dev/null and b/dzz/images/taskicon/wenji.png differ diff --git a/dzz/images/taskicon/yingyong.png b/dzz/images/taskicon/yingyong.png new file mode 100644 index 0000000..f6c0947 Binary files /dev/null and b/dzz/images/taskicon/yingyong.png differ diff --git a/dzz/images/taskicon/zoho_sheet.png b/dzz/images/taskicon/zoho_sheet.png new file mode 100644 index 0000000..a2f1826 Binary files /dev/null and b/dzz/images/taskicon/zoho_sheet.png differ diff --git a/dzz/images/taskicon/zoho_show.png b/dzz/images/taskicon/zoho_show.png new file mode 100644 index 0000000..14afad7 Binary files /dev/null and b/dzz/images/taskicon/zoho_show.png differ diff --git a/dzz/images/taskicon/zoho_writer.png b/dzz/images/taskicon/zoho_writer.png new file mode 100644 index 0000000..50742e1 Binary files /dev/null and b/dzz/images/taskicon/zoho_writer.png differ diff --git a/dzz/images/taskicon/云下载.png b/dzz/images/taskicon/云下载.png new file mode 100644 index 0000000..c9093dc Binary files /dev/null and b/dzz/images/taskicon/云下载.png differ diff --git a/dzz/images/taskicon/传输管理器.png b/dzz/images/taskicon/传输管理器.png new file mode 100644 index 0000000..4103af8 Binary files /dev/null and b/dzz/images/taskicon/传输管理器.png differ diff --git a/dzz/images/taskicon/内部窗口.png b/dzz/images/taskicon/内部窗口.png new file mode 100644 index 0000000..e579c99 Binary files /dev/null and b/dzz/images/taskicon/内部窗口.png differ diff --git a/dzz/images/taskicon/应用管理.png b/dzz/images/taskicon/应用管理.png new file mode 100644 index 0000000..d70b699 Binary files /dev/null and b/dzz/images/taskicon/应用管理.png differ diff --git a/dzz/images/taskicon/我的文档.png b/dzz/images/taskicon/我的文档.png new file mode 100644 index 0000000..ab035e0 Binary files /dev/null and b/dzz/images/taskicon/我的文档.png differ diff --git a/dzz/images/taskicon/文档查看器.png b/dzz/images/taskicon/文档查看器.png new file mode 100644 index 0000000..2ec1066 Binary files /dev/null and b/dzz/images/taskicon/文档查看器.png differ diff --git a/dzz/images/taskicon/文集.png b/dzz/images/taskicon/文集.png new file mode 100644 index 0000000..1e88579 Binary files /dev/null and b/dzz/images/taskicon/文集.png differ diff --git a/dzz/images/taskicon/新窗口.png b/dzz/images/taskicon/新窗口.png new file mode 100644 index 0000000..4070cba Binary files /dev/null and b/dzz/images/taskicon/新窗口.png differ diff --git a/dzz/images/taskicon/用户管理.png b/dzz/images/taskicon/用户管理.png new file mode 100644 index 0000000..4553457 Binary files /dev/null and b/dzz/images/taskicon/用户管理.png differ diff --git a/dzz/images/taskicon/系统工具.png b/dzz/images/taskicon/系统工具.png new file mode 100644 index 0000000..da0e0ba Binary files /dev/null and b/dzz/images/taskicon/系统工具.png differ diff --git a/dzz/images/taskicon/系统设置.png b/dzz/images/taskicon/系统设置.png new file mode 100644 index 0000000..1384f1e Binary files /dev/null and b/dzz/images/taskicon/系统设置.png differ diff --git a/dzz/images/taskicon/组织架构.png b/dzz/images/taskicon/组织架构.png new file mode 100644 index 0000000..65a03e2 Binary files /dev/null and b/dzz/images/taskicon/组织架构.png differ diff --git a/dzz/images/taskicon/组织架构1.png b/dzz/images/taskicon/组织架构1.png new file mode 100644 index 0000000..f0206c7 Binary files /dev/null and b/dzz/images/taskicon/组织架构1.png differ diff --git a/dzz/index/images/gitee.png b/dzz/index/images/gitee.png new file mode 100644 index 0000000..1f5b7cc Binary files /dev/null and b/dzz/index/images/gitee.png differ diff --git a/dzz/index/images/github.png b/dzz/index/images/github.png new file mode 100644 index 0000000..a3e1e4f Binary files /dev/null and b/dzz/index/images/github.png differ diff --git a/dzz/index/images/qqwpa.png b/dzz/index/images/qqwpa.png new file mode 100644 index 0000000..b7d57ff Binary files /dev/null and b/dzz/index/images/qqwpa.png differ diff --git a/dzz/index/index.php b/dzz/index/index.php new file mode 100644 index 0000000..6734d52 --- /dev/null +++ b/dzz/index/index.php @@ -0,0 +1,5 @@ +{lang title}
    +
    {lang dev_desc}
    +*/ +$lang = array ( + 'appname' =>'配置向导', + 'system_install_success'=>'恭喜,系统安装成功!', + 'thank_you_of'=>'感谢您选用DzzOffice协同办公套件', + 'after_installed_tip'=>'这个页面是初始安装后临时指导页,系统设置完默认首页后就不会再进入这个页面。', + 'after_installed_help'=>'请使用管理员账号登录、并且按照下面的步骤依次配置系统!', + 'after_installed_step_one'=>'进入应用市场选择需要的应用,点击一键安装。安装完成后到“已安装”标签, 启用此应用;', + 'after_installed_step_one_tip'=>'系统默认仅预装了少量的管理应用,更多应用需要到应用市场内选择安装', + 'after_installed_step_two'=>'进入系统设置设置 默认首页,平台名称、logo等系统基本设置;', + 'Communication_and_feedback'=>'交流与反馈' +); \ No newline at end of file diff --git a/dzz/index/template/main.htm b/dzz/index/template/main.htm new file mode 100644 index 0000000..beec344 --- /dev/null +++ b/dzz/index/template/main.htm @@ -0,0 +1,112 @@ + + + + + + + + +
    +
    +
    + +

    {lang system_install_success}

    +
    +

    {lang thank_you_of}

    +

    {lang after_installed_tip}

    +

    {lang after_installed_help}

    +
      +
    1. {lang after_installed_step_one} +

      {lang after_installed_step_one_tip}

      +
    2. +
    3. {lang after_installed_step_two}
    4. +
    + +
    + +
    +

    {lang Communication_and_feedback}

    +
    + + + +
    +
    + +
    +
    +
    + + + + \ No newline at end of file diff --git a/dzz/io/thumbnail.php b/dzz/io/thumbnail.php index 038d695..a9df0bd 100644 --- a/dzz/io/thumbnail.php +++ b/dzz/io/thumbnail.php @@ -68,4 +68,4 @@ if($original){ @flush(); @ob_flush(); exit(); } -?> \ No newline at end of file +?> diff --git a/dzz/language/zh-cn/lang.php b/dzz/language/zh-cn/lang.php index 6b88a43..c11e621 100644 --- a/dzz/language/zh-cn/lang.php +++ b/dzz/language/zh-cn/lang.php @@ -370,9 +370,9 @@ $lang = array( 'property_filetype' => '类 型:', 'property_position' => '位 置:', 'property_contain' => '包 含:', - 'property_filedate' => '创建时间', - 'property_size' => '大 小', - 'property_creator' => '创 建 者', + 'property_filedate' => '创建时间:', + 'property_size' => '大 小:', + 'property_creator' => '创 建 者:', 'property_info_size' => '{fsize} ({size} 字节)', 'property_info_contain' => '{filenum} 个文件,{foldernum} 个文件夹', 'share_web_music_flash' => '添加网址、视频、音乐、Flash', @@ -390,7 +390,7 @@ $lang = array( 'relative_feature_link' => '启用图标网址关联:', 'move_file_error' => '移动文件错误,检查文件路径(', 'jurisdiction' => ')的权限', - 'appname' => $_G['setting']['sitename'], + 'appname' => '应用名称', 'appurl' => '应用地址', 'appico' => '应用图标', 'appdesc' => '应用介绍', @@ -468,7 +468,6 @@ $lang = array( 'power_point' => '演示文稿', 'pictures_photos' => '图片和照片', 'pictures' => '图片', - 'video' => '视频', 'document' => '文档', 'all_type' => '全部类型', 'some_day_after' => '{day}天后', diff --git a/dzz/market/dzz_app_market.xml b/dzz/market/dzz_app_market.xml new file mode 100644 index 0000000..0da1d7e --- /dev/null +++ b/dzz/market/dzz_app_market.xml @@ -0,0 +1,513 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dzz/market/index.php b/dzz/market/index.php new file mode 100644 index 0000000..abcbdda --- /dev/null +++ b/dzz/market/index.php @@ -0,0 +1,87 @@ + insert_by_uid($_G['uid'], $appid); + if (C::t('user_field') -> update($_G['uid'], array('applist' => implode(',', $applist)))) { + echo json_encode(array('msg' => 'success')); + exit(); + } else { + echo json_encode(array('error' => lang('app_installa_failed'))); + exit(); + } +} +//获取所有标签top10; +$tags = DB::fetch_all("SELECT * FROM %t WHERE hot>0 ORDER BY HOT DESC limit 100", array('app_tag')); +$keyword = trim($_GET['keyword']); +$tagid = intval($_GET['tagid']); +$page = empty($_GET['page']) ? 1 : intval($_GET['page']); +$perpage = 20; +$gets = array('mod' => 'market', 'keyword' => $keyword, 'tagid' => $tagid, ); +$theurl = DZZSCRIPT . "?" . url_implode($gets); +$refer = urlencode($theurl . '&page=' . $page); + +$order = 'ORDER BY disp'; +$start = ($page - 1) * $perpage; +$apps = array(); +//system=2代表系统自带安装应用不能卸载 notdelete=1表示不能删除的,不能删除的直接不可见 +$sql = 'system!=2 and available>0 and hideInMarket<1 and notdelete<1'; +if ($keyword) { + $sql .= " and (appname like '%$keyword%' or vendor like '%$keyword%')"; +} elseif ($tagid) { + $appids = C::t('app_relative') -> fetch_appids_by_tagid($tagid); + $sql .= " and appid IN (" . dimplode($appids) . ")"; +} +//获取用户所在组的应用 +if (!$_G['uid']) {//游客 + $sql .= " and (`group`='-1' OR `group`='0')"; +} elseif ($_G['adminid'] == 1) {//系统管理员 +} elseif ($_G['groupid'] == 2) {//部门管理员 + $l = " (`group` = '1')"; + if ($notappids = C::t('app_organization') -> fetch_notin_appids_by_uid($_G['uid'])) { + $l .= " and appid NOT IN (" . dimplode($notappids) . ") "; + } + $sql .= " and (`group` = '2' OR `group`='0' OR (" . $l . "))"; +} else {//普通成员 + $l = " (`group` = '1')"; + if ($notappids = C::t('app_organization') -> fetch_notin_appids_by_uid($_G['uid'])) { + $l .= " and appid NOT IN (" . dimplode($notappids) . ") "; + } + $sql .= " and (`group`='0' OR (" . $l . "))"; +} +if ($count = DB::result_first("SELECT COUNT(*) FROM " . DB::table('app_market') . " WHERE $sql ")) { + $apps = DB::fetch_all("SELECT * FROM " . DB::table('app_market') . " WHERE $sql $order limit $start,$perpage"); + $multi = multi($count, $perpage, $page, $theurl, 'pull-right'); +} +$list = array(); +//$grouptitle=array('0'=>'全部','-1'=>'仅游客可用','1'=>'成员可用','2'=>'部门管理员可用','3'=>'仅系统管理员可用'); +foreach ($apps as $value) { + if ($value['isshow'] < 1) + continue; + $value['tags'] = C::t('app_relative') -> fetch_all_by_appid($value['appid']); + if ($value['appico'] != 'dzz/images/default/icodefault.png' && !preg_match("/^(http|ftp|https|mms)\:\/\/(.+?)/i", $value['appico'])) { + $value['appico'] = $_G['setting']['attachurl'] . $value['appico']; + } + $value['url'] = replace_canshu($value['appurl']); + if (in_array($value['appid'], $applist)) + $value['isinstall'] = true; + $list[$value['appid']] = $value; +} +$jsondata = json_encode($list); + +include template('market'); +?> diff --git a/dzz/market/language/zh-cn/lang.php b/dzz/market/language/zh-cn/lang.php new file mode 100644 index 0000000..40f3f90 --- /dev/null +++ b/dzz/market/language/zh-cn/lang.php @@ -0,0 +1,12 @@ +'应用库', + 'application_name_suppliers'=>'应用名称或供应商', + 'supplier'=>'供应商', + 'being_installed'=>'正在安装', + 'been_installed_start_menu'=>'已安装到开始菜单', + 'please_use_desktop'=>'请在桌面内使用', + 'app_installa_failed'=>'应用安装失败' +); + +?> \ No newline at end of file diff --git a/dzz/market/notice.php b/dzz/market/notice.php new file mode 100644 index 0000000..31def7a --- /dev/null +++ b/dzz/market/notice.php @@ -0,0 +1,44 @@ +0 and dateline>$lasttime and available>0"; +//获取用户所在组的应用 +if (!$_G['uid']) {//游客 + $sql .= " and (`group`='-1' OR `group`='0')"; +} elseif ($_G['adminid'] == 1) {//系统管理员 +} elseif ($_G['groupid'] == 2) {//部门管理员 + + $l = " (`group` = '1')"; + if ($notappids = C::t('app_organization') -> fetch_notin_appids_by_uid($_G['uid'])) { + $l .= " and appid NOT IN (" . dimplode($notappids) . ") "; + } + $sql .= " and (`group` = '2' OR `group`='0' OR (" . $l . "))"; +} else {//普通成员 + $l = " (`group` = '1')"; + if ($notappids = C::t('app_organization') -> fetch_notin_appids_by_uid($_G['uid'])) { + $l .= " and appid NOT IN (" . dimplode($notappids) . ") "; + } + $sql .= " and (`group`='0' OR (" . $l . "))"; +} +$data['sum'] = (DB::result_first("SELECT COUNT(*) FROM " . DB::table('app_market') . " WHERE $sql")); +//$data['notice']=array(); +echo "noticeCallback(" . json_encode($data) . ")"; +exit(); +?> diff --git a/dzz/market/template/header_left.htm b/dzz/market/template/header_left.htm new file mode 100644 index 0000000..d2085ec --- /dev/null +++ b/dzz/market/template/header_left.htm @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/dzz/market/template/header_search.htm b/dzz/market/template/header_search.htm new file mode 100644 index 0000000..909040e --- /dev/null +++ b/dzz/market/template/header_search.htm @@ -0,0 +1,16 @@ + + +
    + diff --git a/dzz/market/template/market.htm b/dzz/market/template/market.htm new file mode 100644 index 0000000..025c35f --- /dev/null +++ b/dzz/market/template/market.htm @@ -0,0 +1,146 @@ + + + + + + +
    +
    +
    + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    {lang appname}{lang supplier}{lang label}{lang edit}
    + $value[appname] + $value[vendor] + + $value1[tagname] + + + + {lang been_install} + +  {lang uninstall} + + + {lang install} + +
    $multi
    +
    +
    +
    + + + \ No newline at end of file diff --git a/dzz/shares/ajax.php b/dzz/shares/ajax.php index 1063b1c..828b978 100644 --- a/dzz/shares/ajax.php +++ b/dzz/shares/ajax.php @@ -125,4 +125,5 @@ if($ismobile){ }else{ include template('list_item'); } +dexit(); ?> diff --git a/dzz/shares/function/function_common.php b/dzz/shares/function/function_common.php index d1c286b..cb25b67 100644 --- a/dzz/shares/function/function_common.php +++ b/dzz/shares/function/function_common.php @@ -10,12 +10,6 @@ if ( !defined( 'IN_DZZ' ) ) { //所有的php文件必须加上此句,防止被外部调用 exit( 'Access Denied' ); } -$osid = $_GET['sid']; -$sid = dzzdecode($osid); -$share = C::t('shares')->fetch($sid); -if($share['login']){ - Hook::listen('check_login'); -} function checkShare($share){ if (!$share) { exit(json_encode(array('msg'=>lang('share_file_iscancled')))); diff --git a/dzz/shares/images/folder.css b/dzz/shares/images/folder.css index 0cbea9e..a5040f1 100644 --- a/dzz/shares/images/folder.css +++ b/dzz/shares/images/folder.css @@ -1,7 +1,7 @@ @charset "utf-8"; /* CSS Document */ html, body { - overflow: auto; + overflow: hidden; background: #fff; min-width:768px; moz-user-select: -moz-none; @@ -12,13 +12,11 @@ html, body { -ms-user-select:none; user-select:none;/**禁止选中文字*/ } -.tooltip fade bottom in{ - position: fixed -} .bs-main-container{ margin-left:0; border-top:0; } + .loaded-num{ padding:0 5px; font-weight:700; @@ -28,7 +26,9 @@ html, body { font-size:13px; } .module-list-view .title { + /*background: #F7F7F7;*/ color: #888; + /*border-bottom:1px solid #e1e1e1;*/ } .module-list-view .title .asc { background: url(sort_asc.gif) no-repeat; @@ -80,8 +80,8 @@ html, body { color: #FFFFFF; } .module-list-view .item .icon { - max-width:40px; - max-height:42px; + max-width:24px; + max-height:24px; margin-top:-2px; } @@ -118,6 +118,8 @@ html, body { .module-list-view .title .col { + /*border-left: 1px solid #fff; + border-right: 1px solid #e5e5e5;*/ cursor: pointer; _overflow: hidden; } @@ -135,6 +137,8 @@ html, body { overflow: hidden; } .module-list-view .title .col { + /*border-left: 1px solid #fff; + border-right: 1px solid #e5e5e5;*/ cursor: pointer; _overflow: hidden; } @@ -194,7 +198,7 @@ html, body { cursor: pointer; position: relative; z-index: 100; - border-radius: var(--radius); + border-radius: 2px; } .module-grid-view .item .backgound_radius { display:none; @@ -208,7 +212,7 @@ html, body { opacity: 1; filter: Alpha(opacity=100); transition: all 0.2s ease-in 0s; - border-radius: var(--radius); + border-radius: 2px; } .module-grid-view .item .sharepame-checked{ display: none; @@ -235,16 +239,16 @@ html, body { box-sizing: content-box; } .module-grid-view .wrapper .icoimgContainer{ - width:100%; - height:100%; + width:100px; + height:100px; position:relative; } .module-grid-view .wrapper .icoimgContainer .imageclass{ display:block; } .module-grid-view .wrapper .icoimgContainer img{ - max-width: 100px; - max-height: 100px; + max-width:100px; + max-height:100px; } .module-grid-view .more{ cursor:pointer; @@ -352,6 +356,20 @@ html, body { .window .icoblank_rightbottom{ background-color: transparent!important; } +/*.module-grid-view .item-block .backgound_radius{ + background-color: #e3f2fd; + border-radius: 2px; + display: block; + opacity: 1; +} +.module-grid-view .item-block .sharepame-checked{ + display: block; +} +.module-grid-view .item-block .icoblank_rightbottom{ + display: block; + top: 3px; + right: 3px; +}*/ .sharepame-pictitle{ padding-top: 1.42rem; border-bottom: 1px solid #DCDCDC; @@ -415,7 +433,7 @@ html, body { .select-option{ border: 1px solid #4c89fb; background: #fff; - border-radius: var(--radius); + border-radius: 2px; color:#4c89fb; } .nav-pills li{ @@ -428,8 +446,7 @@ html, body { position: fixed; top: 0; left: 0; - right: 0; - margin: 5px; + width: 100%; height:65px; z-index: 101; display: none; @@ -438,7 +455,6 @@ html, body { .navtoperate{ background-color:#FFFFFF; box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.15); - border-radius: .4rem; } .select-toperate{ display: -webkit-flex; diff --git a/dzz/shares/images/mobile/password.css b/dzz/shares/images/mobile/password.css index e880a49..279da2d 100644 --- a/dzz/shares/images/mobile/password.css +++ b/dzz/shares/images/mobile/password.css @@ -1,26 +1,21 @@ html, body { - background-color: #F2F2F2; - -webkit-tap-highlight-color: transparent; - height: auto; - overflow: auto; - min-width:268px; - moz-user-select: -moz-none; - -moz-user-select: none; - -o-user-select:none; - -khtml-user-select:none; /* you could also put this in a class */ - -webkit-user-select:none;/* and add the CSS class here instead */ - -ms-user-select:none; - user-select:none;/**禁止选中文字*/ + background-color: #F2F2F2; + -webkit-tap-highlight-color: transparent; + min-height: 100%; + height: auto; } ul,ul li{ list-style: none; } -.bs-main-container{ - bottom: 55px; +section.weui-cells__recent{ + margin-bottom:60px; } .hide{ display: none; } +.weui-cells{ + margin-top: 0rem; +} .Topcarousel { display: block; color: #fff; @@ -30,7 +25,7 @@ ul,ul li{ line-height: 2rem; text-align: center; border-radius: 50%; - margin-right: var(--radius); + margin-right: 0.5rem; font-weight: bold; } .weui-cell__bd{ @@ -52,7 +47,7 @@ ul,ul li{ height: 2rem; line-height: 2rem; border-radius: 50%; - margin-right: var(--radius); + margin-right: 0.5rem; } .weui-submit{ padding: 0.75rem; @@ -66,7 +61,7 @@ ul,ul li{ .weui-cell__hd .weui-cell__recentimg { width: 2rem; height: 2rem; - margin-right: var(--radius); + margin-right: 0.5rem; border-radius: 2px; } .weui-cell__bd p{ @@ -130,12 +125,8 @@ ul,ul li{ /*地址栏结束*/ .weui-member-footer{ background-color: #FFFFFF; - position: fixed; - box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1); - margin: 5px; - left: 0; - right: 0; - width: auto; + position: fixed; + box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1); } .weui-cells_checkbox .weui-check:checked+.weui-icon-checked:before{ color: #4c8afb; diff --git a/dzz/shares/index.php b/dzz/shares/index.php index 3c30f4a..8f8beb5 100644 --- a/dzz/shares/index.php +++ b/dzz/shares/index.php @@ -182,10 +182,10 @@ if ($do == 'adddowns') { } //echo $nextpage;die; if ($ismobile) { - $navtitle='分享文件'; include template('mobile/list'); } else { include template('list'); } + } ?> diff --git a/dzz/shares/language/zh-cn/lang.php b/dzz/shares/language/zh-cn/lang.php index 5ea854b..3cfeffb 100644 --- a/dzz/shares/language/zh-cn/lang.php +++ b/dzz/shares/language/zh-cn/lang.php @@ -1,6 +1,5 @@ '分享', 'edit_time'=>'修改时间', 'loading_all'=>'已全部加载', 'has_blocked'=>'已屏蔽', diff --git a/dzz/shares/scripts/jquery.dzzthumb.js b/dzz/shares/scripts/jquery.dzzthumb.js index 28c2160..f4cc87c 100644 --- a/dzz/shares/scripts/jquery.dzzthumb.js +++ b/dzz/shares/scripts/jquery.dzzthumb.js @@ -68,7 +68,7 @@ html += ' '+__lang.under_a+''; html += '
    '; html += ' '; - html += ' '; + html += ' '; html += '
    '; html += '
    '; html += '
    '+__lang.keyboard+'“←”'+__lang.key_on+'
    '; diff --git a/dzz/shares/scripts/mobile/share.js b/dzz/shares/scripts/mobile/share.js index 6642db0..45449e0 100644 --- a/dzz/shares/scripts/mobile/share.js +++ b/dzz/shares/scripts/mobile/share.js @@ -12,15 +12,30 @@ $(document).off('tap.openfile').on('tap.openfile', '.filelist', function () { select_file(obj); return false; } else { - if (is_wxwork) { - var href = obj.data('href'); - window.location.href = href; - return false; - } else { - var dpath = obj.data('dpath'); - var preurl = 'share.php?a=view&s=' + dpath; - window.open(preurl); - } + var type=obj.data('type'); + if(type=='image'){ + var imglists = []; + $('.filelist[data-type="image"]').each(function(){ + imglists.push($(this).data('url')); + }); + var index = $.inArray(obj.data('url'), imglists); + var pb = jQuery.photoBrowser({ + items: imglists, + initIndex: [index], + }); + pb.open(index); + }else if(type=='download'){ + var path=obj.data('dpath'); + if(obj.data('url')) downfile(path); + } else { + + if (is_wxwork) { + window.location.href = obj.data('url'); + return false; + } else { + window.open(obj.data('url')); + } + } } @@ -185,6 +200,3 @@ $(document).off('tap.down').on('tap.down', '.downfile', function () { downfile(href); }) -function yulantishi() { - confirm('禁止在线预览!'); -} \ No newline at end of file diff --git a/dzz/shares/template/header_left.htm b/dzz/shares/template/header_left.htm index bd5fb6a..583507a 100644 --- a/dzz/shares/template/header_left.htm +++ b/dzz/shares/template/header_left.htm @@ -1,11 +1 @@ - - -
    {$share[username]}{lang de}{lang file_share}
    - diff --git a/dzz/shares/template/header_right.htm b/dzz/shares/template/header_right.htm index 2f0ed67..67dba7e 100644 --- a/dzz/shares/template/header_right.htm +++ b/dzz/shares/template/header_right.htm @@ -1,4 +1,21 @@
    +
    - -
    - - + +
    @@ -39,8 +48,8 @@
    -
    -
    +
    +
    @@ -58,6 +67,8 @@
  • {lang all_typename_attach}>
  • +
    @@ -69,7 +80,9 @@
    -
    data-containpath="$value[dhpath]" data-type="$value[type]" class="item data-list-col file-icoitem bigicon +
    data-containpath="$value[dhpath]" + data-type="$value[type]" class="item data-list-col file-icoitem bigicon Icoblock "> @@ -96,22 +109,27 @@
    -
    -
    +
    -
    +
    - +
    {lang upload_more}{lang upload_more}
    @@ -127,15 +145,23 @@
    -
    {lang filename} +
    {lang filename}
    -
    {lang file_size}
    -
    {lang file_type} +
    {lang + file_size}
    +
    {lang file_type}
    -
    {lang edit_time}
    +
    {lang + edit_time}
    @@ -153,13 +179,14 @@ data-dpath="$value[dpath]" /> - $value[name] + $value[name]
    -
    - +
    -
    $value[fsize]
    @@ -170,7 +197,9 @@
    -
    {lang upload_more} +
    {lang upload_more}
    @@ -181,7 +210,10 @@
    - + + +
    + +
    @@ -45,14 +56,14 @@

    转存

    -

    下载

    - + + diff --git a/dzz/shares/template/mobile/list_item.htm b/dzz/shares/template/mobile/list_item.htm index e32e14f..0f0af67 100644 --- a/dzz/shares/template/mobile/list_item.htm +++ b/dzz/shares/template/mobile/list_item.htm @@ -23,7 +23,7 @@
    -
    onclick="yulantishi();" data-href="{DZZSCRIPT}?mod=io&op=download&path=$v[dpath]" data-rid="$v[rid]"> +

    $v[name]

    diff --git a/dzz/shares/template/mobile/share_password.htm b/dzz/shares/template/mobile/share_password.htm index 8f3c387..83e1c05 100644 --- a/dzz/shares/template/mobile/share_password.htm +++ b/dzz/shares/template/mobile/share_password.htm @@ -1,8 +1,18 @@ - + + + + + + + +{lang password_share} + + + - - - + + +
    {eval echo avatar_block($share['uid']);}
    @@ -24,6 +34,8 @@
    + + + + + + + + diff --git a/dzz/styles/thame/Material/b/index.htm b/dzz/styles/thame/Material/b/index.htm index 6178bfe..d3d6ae5 100644 --- a/dzz/styles/thame/Material/b/index.htm +++ b/dzz/styles/thame/Material/b/index.htm @@ -1,4 +1,5 @@ - + + + + +
    +

    完整demo

    + +
    +
    +
    + + + + + + + + + + + +
    +
    + + + + + + + +
    + +
    + + +
    + +
    +
    + + +
    + + + + \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/addKityFormulaDialog.js b/dzz/system/ueditor/kityformula-plugin/addKityFormulaDialog.js new file mode 100644 index 0000000..c9b7e55 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/addKityFormulaDialog.js @@ -0,0 +1,74 @@ +UE.registerUI('kityformula', function(editor, uiname){ + + // 创建dialog + var kfDialog = new UE.ui.Dialog({ + + // 指定弹出层路径 + iframeUrl: editor.options.UEDITOR_HOME_URL + 'kityformula-plugin/kityFormulaDialog.html', + // 编辑器实例 + editor: editor, + // dialog 名称 + name: uiname, + // dialog 标题 + title: '插入公式 - KityFormula', + + // dialog 外围 css + cssRules: 'width:783px; height: 386px;', + + //如果给出了buttons就代表dialog有确定和取消 + buttons:[ + { + className:'edui-okbutton', + label:'确定', + onclick:function () { + kfDialog.close(true); + } + }, + { + className:'edui-cancelbutton', + label:'取消', + onclick:function () { + kfDialog.close(false); + } + } + ]}); + + editor.ready(function(){ + UE.utils.cssRule('kfformula', 'img.kfformula{vertical-align: middle;}', editor.document); + }); + + var iconUrl = editor.options.UEDITOR_HOME_URL + 'kityformula-plugin/kf-icon.png'; + var tmpLink = document.createElement('a'); + tmpLink.href = iconUrl; + tmpLink.href = tmpLink.href; + iconUrl = tmpLink.href; + + var kfBtn = new UE.ui.Button({ + name:'插入' + uiname, + title:'插入公式-' + uiname, + //需要添加的额外样式,指定icon图标 + cssRules :'background: url("' + iconUrl + '") !important', + onclick:function () { + //渲染dialog + kfDialog.render(); + kfDialog.open(); + } + }); + + //当点到编辑内容上时,按钮要做的状态反射 + editor.addListener('selectionchange', function () { + var state = editor.queryCommandState(uiname); + if (state == -1) { + kfBtn.setDisabled(true); + kfBtn.setChecked(false); + } else { + kfBtn.setDisabled(false); + kfBtn.setChecked(state); + } + }); + + return kfBtn; + + +}); + diff --git a/dzz/system/ueditor/kityformula-plugin/defaultFilterFix.js b/dzz/system/ueditor/kityformula-plugin/defaultFilterFix.js new file mode 100644 index 0000000..cf8d9bb --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/defaultFilterFix.js @@ -0,0 +1,247 @@ +///import core +///plugin 编辑器默认的过滤转换机制 + +UE.plugins['defaultfilter'] = function () { + var me = this; + me.setOpt({ + 'allowDivTransToP':true, + 'disabledTableInTable':true, + 'rgb2Hex':true + }); + //默认的过滤处理 + //进入编辑器的内容处理 + me.addInputRule(function (root) { + var allowDivTransToP = this.options.allowDivTransToP; + var val; + function tdParent(node){ + while(node && node.type == 'element'){ + if(node.tagName == 'td'){ + return true; + } + node = node.parentNode; + } + return false; + } + //进行默认的处理 + root.traversal(function (node) { + if (node.type == 'element') { + if (!UE.dom.dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && UE.dom.dtd.$inline[node.tagName] && !UE.dom.dtd.$empty[node.tagName] && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { + if (!node.firstChild()) node.parentNode.removeChild(node); + else if (node.tagName == 'span' && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { + node.parentNode.removeChild(node, true) + } + return; + } + switch (node.tagName) { + case 'style': + case 'script': + node.setAttr({ + cdata_tag: node.tagName, + cdata_data: (node.innerHTML() || ''), + '_ue_custom_node_':'true' + }); + node.tagName = 'div'; + node.innerHTML(''); + break; + case 'a': + if (val = node.getAttr('href')) { + node.setAttr('_href', val) + } + break; + case 'img': + //todo base64暂时去掉,后边做远程图片上传后,干掉这个 +// if (val = node.getAttr('src')) { +// if (/^data:/.test(val)) { +// node.parentNode.removeChild(node); +// break; +// } +// } + node.setAttr('_src', node.getAttr('src')); + break; + case 'span': + if (UE.browser.webkit && (val = node.getStyle('white-space'))) { + if (/nowrap|normal/.test(val)) { + node.setStyle('white-space', ''); + if (me.options.autoClearEmptyNode && UE.utils.isEmptyObject(node.attrs)) { + node.parentNode.removeChild(node, true) + } + } + } + val = node.getAttr('id'); + if(val && /^_baidu_bookmark_/i.test(val)){ + node.parentNode.removeChild(node) + } + break; + case 'p': + if (val = node.getAttr('align')) { + node.setAttr('align'); + node.setStyle('text-align', val) + } + //trace:3431 +// var cssStyle = node.getAttr('style'); +// if (cssStyle) { +// cssStyle = cssStyle.replace(/(margin|padding)[^;]+/g, ''); +// node.setAttr('style', cssStyle) +// +// } + //p标签不允许嵌套 + UE.utils.each(node.children,function(n){ + if(n.type == 'element' && n.tagName == 'p'){ + var next = n.nextSibling(); + node.parentNode.insertAfter(n,node); + var last = n; + while(next){ + var tmp = next.nextSibling(); + node.parentNode.insertAfter(next,last); + last = next; + next = tmp; + } + return false; + } + }); + if (!node.firstChild()) { + node.innerHTML(UE.browser.ie ? ' ' : '
    ') + } + break; + case 'div': + if(node.getAttr('cdata_tag')){ + break; + } + //针对代码这里不处理插入代码的div + val = node.getAttr('class'); + if(val && /^line number\d+/.test(val)){ + break; + } + if(!allowDivTransToP){ + break; + } + var tmpNode, p = UE.uNode.createElement('p'); + while (tmpNode = node.firstChild()) { + if (tmpNode.type == 'text' || !UE.dom.UE.dom.dtd.$block[tmpNode.tagName]) { + p.appendChild(tmpNode); + } else { + if (p.firstChild()) { + node.parentNode.insertBefore(p, node); + p = UE.uNode.createElement('p'); + } else { + node.parentNode.insertBefore(tmpNode, node); + } + } + } + if (p.firstChild()) { + node.parentNode.insertBefore(p, node); + } + node.parentNode.removeChild(node); + break; + case 'dl': + node.tagName = 'ul'; + break; + case 'dt': + case 'dd': + node.tagName = 'li'; + break; + case 'li': + var className = node.getAttr('class'); + if (!className || !/list\-/.test(className)) { + node.setAttr() + } + var tmpNodes = node.getNodesByTagName('ol ul'); + UE.utils.each(tmpNodes, function (n) { + node.parentNode.insertAfter(n, node); + }); + break; + case 'td': + case 'th': + case 'caption': + if(!node.children || !node.children.length){ + node.appendChild(UE.browser.ie11below ? UE.uNode.createText(' ') : UE.uNode.createElement('br')) + } + break; + case 'table': + if(me.options.disabledTableInTable && tdParent(node)){ + node.parentNode.insertBefore(UE.uNode.createText(node.innerText()),node); + node.parentNode.removeChild(node) + } + } + + } +// if(node.type == 'comment'){ +// node.parentNode.removeChild(node); +// } + }) + + }); + + //从编辑器出去的内容处理 + me.addOutputRule(function (root) { + + var val; + root.traversal(function (node) { + if (node.type == 'element') { + + if (me.options.autoClearEmptyNode && UE.dom.dtd.$inline[node.tagName] && !UE.dom.dtd.$empty[node.tagName] && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { + + if (!node.firstChild()) node.parentNode.removeChild(node); + else if (node.tagName == 'span' && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { + node.parentNode.removeChild(node, true) + } + return; + } + switch (node.tagName) { + case 'div': + if (val = node.getAttr('cdata_tag')) { + node.tagName = val; + node.appendChild(UE.uNode.createText(node.getAttr('cdata_data'))); + node.setAttr({cdata_tag: '', cdata_data: '','_ue_custom_node_':''}); + } + break; + case 'a': + if (val = node.getAttr('_href')) { + node.setAttr({ + 'href': UE.utils.html(val), + '_href': '' + }) + } + break; + break; + case 'span': + val = node.getAttr('id'); + if(val && /^_baidu_bookmark_/i.test(val)){ + node.parentNode.removeChild(node) + } + //将color的rgb格式转换为#16进制格式 + if(me.getOpt('rgb2Hex')){ + var cssStyle = node.getAttr('style'); + if(cssStyle){ + node.setAttr('style',cssStyle.replace(/rgba?\(([\d,\s]+)\)/g,function(a,value){ + var array = value.split(","); + if (array.length > 3) + return ""; + value = "#"; + for (var i = 0, color; color = array[i++];) { + color = parseInt(color.replace(/[^\d]/gi, ''), 10).toString(16); + value += color.length == 1 ? "0" + color : color; + } + return value.toUpperCase(); + + })) + } + } + break; + case 'img': + if (val = node.getAttr('_src')) { + node.setAttr({ + 'src': node.getAttr('_src'), + '_src': '' + }) + } + + + } + } + + }) + + + }); +}; diff --git a/dzz/system/ueditor/kityformula-plugin/getKfContent.js b/dzz/system/ueditor/kityformula-plugin/getKfContent.js new file mode 100644 index 0000000..dcfed46 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/getKfContent.js @@ -0,0 +1,66 @@ +/** + * Created by zhangbo21 on 14-9-2. + */ +/* + * getKfContent : 将image的src从base64替换为文件名 + * param : callback -- 回调函数 其参数为替换之后的内容 + * return : void + * */ + +UE.Editor.prototype.getKfContent = function(callback){ + + var me = this; + var actionUrl = me.getActionUrl(me.getOpt('scrawlActionName')), + params = UE.utils.serializeParam(me.queryCommandValue('serverparam')) || '', + url = UE.utils.formatUrl(actionUrl + (actionUrl.indexOf('?') == -1 ? '?':'&') + params); + + // 找到所有的base64 + var count = 0; + var imgs =me.body.getElementsByTagName('img'); + var base64Imgs = []; + UE.utils.each(imgs, function(item){ + var imgType = item.getAttribute('src').match(/^[^;]+/)[0]; + if ( imgType === 'data:image/png') { + base64Imgs.push(item); + } + }); + + if (base64Imgs.length == 0){ + execCallback(); + } else { + UE.utils.each(base64Imgs, function(item){ + + var opt ={}; + opt[me.getOpt('scrawlFieldName')]= item.getAttribute('src').replace(/^[^,]+,/, ''); + opt.onsuccess = function(xhr){ + var json = UE.utils.str2json(xhr.responseText), + url = me.options.scrawlUrlPrefix + json.url; + + item.setAttribute('src', url); + item.setAttribute('_src', url); + + count++; + + execCallback(); + } + opt.onerror = function(err){ + console.error(err); + count++; + + execCallback(); + } + + + UE.ajax.request(url, opt); + + }); + } + + function execCallback(){ + if (count >= base64Imgs.length) { + ue.sync(); + callback(me.getContent()); + } + } + +}; \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/kf-icon.png b/dzz/system/ueditor/kityformula-plugin/kf-icon.png new file mode 100644 index 0000000..e9977cb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kf-icon.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityFormulaDialog.html b/dzz/system/ueditor/kityformula-plugin/kityFormulaDialog.html new file mode 100644 index 0000000..ca948a0 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityFormulaDialog.html @@ -0,0 +1,107 @@ + + + + + + + + + + + + +
    +
    + sorry! Beta版本仅支持IE9及以上版本的浏览器,正式版本将会支持低版本浏览器,谢谢您的关注! +
    +
    + + + + + + + + + + + + \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bar-bg.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bar-bg.png new file mode 100644 index 0000000..9dedcc6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bar-bg.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bar.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bar.png new file mode 100644 index 0000000..f98ded7 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bar.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bg.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bg.png new file mode 100644 index 0000000..2147441 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bg.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bottom.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bottom.png new file mode 100644 index 0000000..e3df3d1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/bottom.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/btn.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/btn.png new file mode 100644 index 0000000..31c0b52 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/btn.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/down.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/down.png new file mode 100644 index 0000000..31c0b52 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/down.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/top.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/top.png new file mode 100644 index 0000000..ecda070 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/top.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/up.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/up.png new file mode 100644 index 0000000..31c0b52 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/custom/up.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-bg.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-bg.png new file mode 100644 index 0000000..4f9db6b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-bg.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-left.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-left.png new file mode 100644 index 0000000..2f8c46e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-left.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-right.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-right.png new file mode 100644 index 0000000..9772c54 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/bar-right.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-bg.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-bg.png new file mode 100644 index 0000000..450faa2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-bg.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-left.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-left.png new file mode 100644 index 0000000..01b9255 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-left.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-right.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-right.png new file mode 100644 index 0000000..f74673a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/scrollbar/edit/thumb-right.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/aleph.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/aleph.png new file mode 100644 index 0000000..fa895d8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/aleph.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/bbbk.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/bbbk.png new file mode 100644 index 0000000..a793366 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/bbbk.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/beth.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/beth.png new file mode 100644 index 0000000..c8cb723 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/beth.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/circleds.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/circleds.png new file mode 100644 index 0000000..7f455e8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/circleds.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/complement.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/complement.png new file mode 100644 index 0000000..f128598 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/complement.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/daleth.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/daleth.png new file mode 100644 index 0000000..ac705c3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/daleth.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/ell.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/ell.png new file mode 100644 index 0000000..ccc6ee3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/ell.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/eth.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/eth.png new file mode 100644 index 0000000..501dbb1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/eth.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/finv.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/finv.png new file mode 100644 index 0000000..a838bc0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/finv.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/game.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/game.png new file mode 100644 index 0000000..c0a5edc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/game.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/gimel.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/gimel.png new file mode 100644 index 0000000..e4fd840 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/gimel.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/hbar.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/hbar.png new file mode 100644 index 0000000..8809ef3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/hbar.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/hslash.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/hslash.png new file mode 100644 index 0000000..a1e4e68 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/hslash.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/im.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/im.png new file mode 100644 index 0000000..201ec05 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/im.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/mho.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/mho.png new file mode 100644 index 0000000..291f750 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/mho.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/partial.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/partial.png new file mode 100644 index 0000000..f3b46a0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/partial.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/re.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/re.png new file mode 100644 index 0000000..9c96096 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/re.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/wp.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/wp.png new file mode 100644 index 0000000..23f6541 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/alphabetic/wp.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/circlearrowleft.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/circlearrowleft.png new file mode 100644 index 0000000..26a9213 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/circlearrowleft.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/circlearrowright.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/circlearrowright.png new file mode 100644 index 0000000..d291162 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/circlearrowright.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/curvearrowleft.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/curvearrowleft.png new file mode 100644 index 0000000..3cc06b9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/curvearrowleft.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/curvearrowright.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/curvearrowright.png new file mode 100644 index 0000000..265e1e0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/curvearrowright.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downarrow.png new file mode 100644 index 0000000..1b5c375 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downdownarrows.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downdownarrows.png new file mode 100644 index 0000000..457598c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downdownarrows.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downharpoonleft.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downharpoonleft.png new file mode 100644 index 0000000..f1de8a2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downharpoonleft.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downharpoonright.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downharpoonright.png new file mode 100644 index 0000000..b94a0b8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/downharpoonright.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/gets.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/gets.png new file mode 100644 index 0000000..8d659f0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/gets.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftarrowtail.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftarrowtail.png new file mode 100644 index 0000000..d36a75a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftarrowtail.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftharpoondown.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftharpoondown.png new file mode 100644 index 0000000..882f6e0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftharpoondown.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftharpoonup.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftharpoonup.png new file mode 100644 index 0000000..d9fd9f2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftharpoonup.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftleftarrows.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftleftarrows.png new file mode 100644 index 0000000..f4cd7c0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftleftarrows.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightarrow.png new file mode 100644 index 0000000..4d8d86b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightarrows.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightarrows.png new file mode 100644 index 0000000..6f0717c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightarrows.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightharpoons.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightharpoons.png new file mode 100644 index 0000000..10a057f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightharpoons.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightsquigarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightsquigarrow.png new file mode 100644 index 0000000..d515001 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/leftrightsquigarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longleftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longleftarrow.png new file mode 100644 index 0000000..ab5a64e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longleftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longleftrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longleftrightarrow.png new file mode 100644 index 0000000..fe3141d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longleftrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longrightarrow.png new file mode 100644 index 0000000..ec988e1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/longrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/looparrowleft.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/looparrowleft.png new file mode 100644 index 0000000..a4dee7a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/looparrowleft.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/looparrowright.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/looparrowright.png new file mode 100644 index 0000000..67885fb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/looparrowright.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/multimap.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/multimap.png new file mode 100644 index 0000000..c7a0bb8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/multimap.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nearrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nearrow.png new file mode 100644 index 0000000..d5891e0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nearrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nleftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nleftarrow.png new file mode 100644 index 0000000..df714e1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nleftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nrightarrow.png new file mode 100644 index 0000000..b29d923 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nwarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nwarrow.png new file mode 100644 index 0000000..bf7b7d2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/nwarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightarrowtail.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightarrowtail.png new file mode 100644 index 0000000..27cdc5b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightarrowtail.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightharpoondown.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightharpoondown.png new file mode 100644 index 0000000..e384cf8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightharpoondown.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightharpoonup.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightharpoonup.png new file mode 100644 index 0000000..187e1eb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightharpoonup.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightleftarrows.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightleftarrows.png new file mode 100644 index 0000000..cdec5d9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightleftarrows.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightleftharpoons.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightleftharpoons.png new file mode 100644 index 0000000..73385cb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightleftharpoons.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightrightarrows.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightrightarrows.png new file mode 100644 index 0000000..52a7f0f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightrightarrows.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightsquigarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightsquigarrow.png new file mode 100644 index 0000000..f471054 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/rightsquigarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/searrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/searrow.png new file mode 100644 index 0000000..7d887fb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/searrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/swarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/swarrow.png new file mode 100644 index 0000000..448b686 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/swarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/to.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/to.png new file mode 100644 index 0000000..0053655 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/to.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/twoheadleftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/twoheadleftarrow.png new file mode 100644 index 0000000..17bcb54 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/twoheadleftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/twoheadrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/twoheadrightarrow.png new file mode 100644 index 0000000..9242bc2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/twoheadrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-downarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-downarrow.png new file mode 100644 index 0000000..b2264cb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-downarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-leftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-leftarrow.png new file mode 100644 index 0000000..84bf7a5 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-leftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-leftrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-leftrightarrow.png new file mode 100644 index 0000000..288dcc1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-leftrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lftarrow.png new file mode 100644 index 0000000..8ecff74 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lleftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lleftarrow.png new file mode 100644 index 0000000..6bed121 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lleftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longleftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longleftarrow.png new file mode 100644 index 0000000..1cdf790 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longleftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longleftrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longleftrightarrow.png new file mode 100644 index 0000000..def0c9e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longleftrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longrightarrow.png new file mode 100644 index 0000000..c21e68c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-longrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lsh.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lsh.png new file mode 100644 index 0000000..1f61789 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-lsh.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nleftarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nleftarrow.png new file mode 100644 index 0000000..07657c0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nleftarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nleftrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nleftrightarrow.png new file mode 100644 index 0000000..daf4e65 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nleftrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nrightarrow.png new file mode 100644 index 0000000..902826c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-nrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rightarrow.png new file mode 100644 index 0000000..39bc777 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rrightarrow.png new file mode 100644 index 0000000..7aed67d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rsh.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rsh.png new file mode 100644 index 0000000..05e8974 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-rsh.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-uparrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-uparrow.png new file mode 100644 index 0000000..e539f65 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-uparrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-updownarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-updownarrow.png new file mode 100644 index 0000000..4aa9faa Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/u-updownarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/uparrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/uparrow.png new file mode 100644 index 0000000..aa8f571 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/uparrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/updownarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/updownarrow.png new file mode 100644 index 0000000..2235860 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/updownarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upharpoonleft.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upharpoonleft.png new file mode 100644 index 0000000..72d093d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upharpoonleft.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upharpoonright.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upharpoonright.png new file mode 100644 index 0000000..76c7335 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upharpoonright.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upuparrows.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upuparrows.png new file mode 100644 index 0000000..129a338 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/arrow/upuparrows.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/1.png new file mode 100644 index 0000000..3b1ed26 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/2.png new file mode 100644 index 0000000..07cf41b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/3.png new file mode 100644 index 0000000..8abe196 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/4.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/4.png new file mode 100644 index 0000000..31ad7f7 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/brackets/4.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/btn.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/btn.png new file mode 100644 index 0000000..77d7c10 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/btn.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/brackets.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/brackets.png new file mode 100644 index 0000000..b05c1ca Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/brackets.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/down.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/down.png new file mode 100644 index 0000000..00a8a3a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/down.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/frac.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/frac.png new file mode 100644 index 0000000..1048182 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/frac.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/fx.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/fx.png new file mode 100644 index 0000000..2482b86 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/fx.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/int.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/int.png new file mode 100644 index 0000000..baafcaa Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/int.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/lim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/lim.png new file mode 100644 index 0000000..4547302 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/lim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/open.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/open.png new file mode 100644 index 0000000..24026c9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/open.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/script.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/script.png new file mode 100644 index 0000000..e29e594 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/script.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sin.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sin.png new file mode 100644 index 0000000..e5b8295 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sin.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sqrt.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sqrt.png new file mode 100644 index 0000000..782a0da Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sqrt.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sum.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sum.png new file mode 100644 index 0000000..8c663e2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/sum.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/tick.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/tick.png new file mode 100644 index 0000000..6e874f4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/tick.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/up.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/up.png new file mode 100644 index 0000000..6eabcad Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/button/up.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char.png new file mode 100644 index 0000000..4eef3c3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/a.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/a.png new file mode 100644 index 0000000..1fc074e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/a.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/b.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/b.png new file mode 100644 index 0000000..cc75c7d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/b.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/c.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/c.png new file mode 100644 index 0000000..b407a1b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/c.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/d.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/d.png new file mode 100644 index 0000000..66e23a8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/d.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/e.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/e.png new file mode 100644 index 0000000..0ef98d1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/e.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/f.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/f.png new file mode 100644 index 0000000..e0f76fc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/f.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/g.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/g.png new file mode 100644 index 0000000..bbf855f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/g.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/h.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/h.png new file mode 100644 index 0000000..0347c93 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/h.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/i.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/i.png new file mode 100644 index 0000000..cfb5814 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/i.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/j.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/j.png new file mode 100644 index 0000000..c9ad651 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/j.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/k.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/k.png new file mode 100644 index 0000000..032f29d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/k.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/l.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/l.png new file mode 100644 index 0000000..72015ab Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/l.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/m.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/m.png new file mode 100644 index 0000000..d9c072c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/m.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/n.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/n.png new file mode 100644 index 0000000..a398698 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/n.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/o.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/o.png new file mode 100644 index 0000000..9acb05b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/o.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/p.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/p.png new file mode 100644 index 0000000..8c11f94 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/p.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/q.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/q.png new file mode 100644 index 0000000..e47c32e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/q.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/r.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/r.png new file mode 100644 index 0000000..44ae3c0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/r.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/s.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/s.png new file mode 100644 index 0000000..93dd1c6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/s.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/t.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/t.png new file mode 100644 index 0000000..c359ccd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/t.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/u.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/u.png new file mode 100644 index 0000000..c5b6158 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/u.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/v.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/v.png new file mode 100644 index 0000000..2bba8a8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/v.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/w.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/w.png new file mode 100644 index 0000000..82518bb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/w.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/x.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/x.png new file mode 100644 index 0000000..58bb03c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/x.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/y.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/y.png new file mode 100644 index 0000000..7b1ecf6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/y.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/z.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/z.png new file mode 100644 index 0000000..d8ad9de Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/bb/z.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/a.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/a.png new file mode 100644 index 0000000..bbbc102 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/a.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/b.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/b.png new file mode 100644 index 0000000..1f2d08a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/b.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/c.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/c.png new file mode 100644 index 0000000..21c7817 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/c.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/d.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/d.png new file mode 100644 index 0000000..b6cd5a3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/d.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/e.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/e.png new file mode 100644 index 0000000..5b6d59d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/e.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/f.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/f.png new file mode 100644 index 0000000..28a6cff Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/f.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/g.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/g.png new file mode 100644 index 0000000..a8f1999 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/g.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/h.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/h.png new file mode 100644 index 0000000..8592859 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/h.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/i.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/i.png new file mode 100644 index 0000000..a149116 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/i.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/j.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/j.png new file mode 100644 index 0000000..cf94ff2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/j.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/k.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/k.png new file mode 100644 index 0000000..35b3656 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/k.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/l.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/l.png new file mode 100644 index 0000000..058d85d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/l.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/m.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/m.png new file mode 100644 index 0000000..08eccac Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/m.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/n.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/n.png new file mode 100644 index 0000000..f8c62c3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/n.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/o.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/o.png new file mode 100644 index 0000000..a656858 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/o.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/p.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/p.png new file mode 100644 index 0000000..fc24a27 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/p.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/q.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/q.png new file mode 100644 index 0000000..44ebb8d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/q.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/r.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/r.png new file mode 100644 index 0000000..be3017a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/r.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/s.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/s.png new file mode 100644 index 0000000..3942b71 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/s.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/t.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/t.png new file mode 100644 index 0000000..5d41fd0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/t.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/u.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/u.png new file mode 100644 index 0000000..8ebf443 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/u.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/v.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/v.png new file mode 100644 index 0000000..2c51c10 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/v.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/w.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/w.png new file mode 100644 index 0000000..33ef1d5 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/w.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/x.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/x.png new file mode 100644 index 0000000..fc7dd0b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/x.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/y.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/y.png new file mode 100644 index 0000000..6670417 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/y.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/z.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/z.png new file mode 100644 index 0000000..2489eda Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/cal/z.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/a.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/a.png new file mode 100644 index 0000000..e8a6950 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/a.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/b.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/b.png new file mode 100644 index 0000000..5bc50aa Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/b.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/c.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/c.png new file mode 100644 index 0000000..e0417c5 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/c.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/d.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/d.png new file mode 100644 index 0000000..a267b36 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/d.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/e.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/e.png new file mode 100644 index 0000000..be71bf6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/e.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/f.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/f.png new file mode 100644 index 0000000..2c17011 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/f.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/g.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/g.png new file mode 100644 index 0000000..d05843d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/g.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/h.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/h.png new file mode 100644 index 0000000..41d958e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/h.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/i.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/i.png new file mode 100644 index 0000000..1e9bd34 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/i.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/j.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/j.png new file mode 100644 index 0000000..fc66b89 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/j.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/k.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/k.png new file mode 100644 index 0000000..49dbc27 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/k.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/l.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/l.png new file mode 100644 index 0000000..8e23844 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/l.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/m.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/m.png new file mode 100644 index 0000000..f5a79ce Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/m.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/n.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/n.png new file mode 100644 index 0000000..e9b7491 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/n.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/o.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/o.png new file mode 100644 index 0000000..f386683 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/o.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/p.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/p.png new file mode 100644 index 0000000..334a118 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/p.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/q.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/q.png new file mode 100644 index 0000000..205df6a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/q.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/r.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/r.png new file mode 100644 index 0000000..fc8bc8b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/r.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/s.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/s.png new file mode 100644 index 0000000..bd6c50c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/s.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/t.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/t.png new file mode 100644 index 0000000..76de185 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/t.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/u.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/u.png new file mode 100644 index 0000000..8c1dfbc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/u.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ua.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ua.png new file mode 100644 index 0000000..cc049ef Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ua.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ub.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ub.png new file mode 100644 index 0000000..841e8cc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ub.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uc.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uc.png new file mode 100644 index 0000000..f15063d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uc.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ud.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ud.png new file mode 100644 index 0000000..8671415 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ud.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ue.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ue.png new file mode 100644 index 0000000..69b1f08 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ue.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uf.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uf.png new file mode 100644 index 0000000..9fd1e6a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uf.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ug.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ug.png new file mode 100644 index 0000000..3fc5ede Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ug.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uh.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uh.png new file mode 100644 index 0000000..45e18a9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uh.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ui.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ui.png new file mode 100644 index 0000000..6e9a03a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ui.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uj.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uj.png new file mode 100644 index 0000000..855aaa9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uj.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uk.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uk.png new file mode 100644 index 0000000..adb3b00 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uk.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ul.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ul.png new file mode 100644 index 0000000..9f138ee Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ul.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/um.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/um.png new file mode 100644 index 0000000..64d7bd4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/um.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/un.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/un.png new file mode 100644 index 0000000..37c4bfd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/un.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uo.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uo.png new file mode 100644 index 0000000..0340b6d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uo.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/up.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/up.png new file mode 100644 index 0000000..f5a1d38 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/up.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uq.png new file mode 100644 index 0000000..bfb7f50 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ur.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ur.png new file mode 100644 index 0000000..959804c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ur.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/us.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/us.png new file mode 100644 index 0000000..1d77b1d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/us.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ut.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ut.png new file mode 100644 index 0000000..5ebab86 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ut.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uu.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uu.png new file mode 100644 index 0000000..fa9d855 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uu.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uv.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uv.png new file mode 100644 index 0000000..8c346f1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uv.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uw.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uw.png new file mode 100644 index 0000000..223543d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uw.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ux.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ux.png new file mode 100644 index 0000000..e87b755 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/ux.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uy.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uy.png new file mode 100644 index 0000000..b51e8ee Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uy.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uz.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uz.png new file mode 100644 index 0000000..58ee470 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/uz.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/v.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/v.png new file mode 100644 index 0000000..3aed003 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/v.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/w.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/w.png new file mode 100644 index 0000000..008b361 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/w.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/x.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/x.png new file mode 100644 index 0000000..b73a3c3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/x.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/y.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/y.png new file mode 100644 index 0000000..158863b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/y.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/z.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/z.png new file mode 100644 index 0000000..d3907d2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/frak/z.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/alpha.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/alpha.png new file mode 100644 index 0000000..91907f2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/alpha.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/beta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/beta.png new file mode 100644 index 0000000..95edb82 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/beta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/chi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/chi.png new file mode 100644 index 0000000..2c5f2f2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/chi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/delta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/delta.png new file mode 100644 index 0000000..847f5c1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/delta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/epsilon.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/epsilon.png new file mode 100644 index 0000000..d9fa6c2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/epsilon.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/eta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/eta.png new file mode 100644 index 0000000..206d014 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/eta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/gamma.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/gamma.png new file mode 100644 index 0000000..97a09a0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/gamma.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/iota.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/iota.png new file mode 100644 index 0000000..7eaad51 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/iota.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/kappa.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/kappa.png new file mode 100644 index 0000000..7a8571d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/kappa.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/lambda.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/lambda.png new file mode 100644 index 0000000..b619ecd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/lambda.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/mu.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/mu.png new file mode 100644 index 0000000..016d464 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/mu.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/nu.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/nu.png new file mode 100644 index 0000000..0f00fc4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/nu.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/omega.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/omega.png new file mode 100644 index 0000000..3c0220f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/omega.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/omicron.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/omicron.png new file mode 100644 index 0000000..c5511b2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/omicron.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/phi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/phi.png new file mode 100644 index 0000000..5b6fc9e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/phi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/pi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/pi.png new file mode 100644 index 0000000..30bc20c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/pi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/psi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/psi.png new file mode 100644 index 0000000..92054d2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/psi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/rho.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/rho.png new file mode 100644 index 0000000..48cc456 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/rho.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/sigma.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/sigma.png new file mode 100644 index 0000000..349fb3b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/sigma.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/tau.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/tau.png new file mode 100644 index 0000000..235468f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/tau.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/theta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/theta.png new file mode 100644 index 0000000..6540af2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/theta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/upsilon.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/upsilon.png new file mode 100644 index 0000000..0d88ee0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/upsilon.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/xi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/xi.png new file mode 100644 index 0000000..a00c382 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/xi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/zeta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/zeta.png new file mode 100644 index 0000000..683d9bc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/lower/zeta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/digamma.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/digamma.png new file mode 100644 index 0000000..b9ab6f1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/digamma.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varepsilon.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varepsilon.png new file mode 100644 index 0000000..2f3ae9c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varepsilon.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varkappa.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varkappa.png new file mode 100644 index 0000000..ddc85a2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varkappa.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varphi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varphi.png new file mode 100644 index 0000000..a198b26 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varphi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varpi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varpi.png new file mode 100644 index 0000000..788c350 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varpi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varrho.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varrho.png new file mode 100644 index 0000000..d884767 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varrho.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varsigma.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varsigma.png new file mode 100644 index 0000000..a5409dd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/varsigma.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/vartheta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/vartheta.png new file mode 100644 index 0000000..4729b15 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/misc/vartheta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/alpha.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/alpha.png new file mode 100644 index 0000000..22dfae1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/alpha.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/beta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/beta.png new file mode 100644 index 0000000..c95d79b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/beta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/chi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/chi.png new file mode 100644 index 0000000..774804a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/chi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/delta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/delta.png new file mode 100644 index 0000000..c3baf62 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/delta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/epsilon.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/epsilon.png new file mode 100644 index 0000000..c8f85ef Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/epsilon.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/eta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/eta.png new file mode 100644 index 0000000..c02a78a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/eta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/gamma.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/gamma.png new file mode 100644 index 0000000..1f6ccb0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/gamma.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/iota.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/iota.png new file mode 100644 index 0000000..10777c9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/iota.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/kappa.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/kappa.png new file mode 100644 index 0000000..44aa91f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/kappa.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/lambda.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/lambda.png new file mode 100644 index 0000000..cf67ea5 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/lambda.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/mu.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/mu.png new file mode 100644 index 0000000..7284125 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/mu.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/nu.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/nu.png new file mode 100644 index 0000000..2dcc1c3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/nu.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/omega.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/omega.png new file mode 100644 index 0000000..3b9466d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/omega.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/omicron.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/omicron.png new file mode 100644 index 0000000..6d31fbd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/omicron.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/phi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/phi.png new file mode 100644 index 0000000..1a928d6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/phi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/pi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/pi.png new file mode 100644 index 0000000..a1e1314 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/pi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/psi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/psi.png new file mode 100644 index 0000000..fdc0321 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/psi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/rho.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/rho.png new file mode 100644 index 0000000..27d8c36 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/rho.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/sigma.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/sigma.png new file mode 100644 index 0000000..dd4ad4b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/sigma.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/tau.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/tau.png new file mode 100644 index 0000000..7ad4305 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/tau.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/theta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/theta.png new file mode 100644 index 0000000..b5d7830 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/theta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/upsilon.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/upsilon.png new file mode 100644 index 0000000..ff1fd88 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/upsilon.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/xi.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/xi.png new file mode 100644 index 0000000..a478d75 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/xi.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/zeta.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/zeta.png new file mode 100644 index 0000000..4052d09 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/greek/upper/zeta.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/aleph.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/aleph.png new file mode 100644 index 0000000..4963111 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/aleph.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/approx.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/approx.png new file mode 100644 index 0000000..7ef6f5d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/approx.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ast.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ast.png new file mode 100644 index 0000000..8b4dead Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ast.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/baifenhao.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/baifenhao.png new file mode 100644 index 0000000..624539c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/baifenhao.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/because.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/because.png new file mode 100644 index 0000000..51070ef Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/because.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/beth.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/beth.png new file mode 100644 index 0000000..90fa4e2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/beth.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/blacksquare.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/blacksquare.png new file mode 100644 index 0000000..4221d79 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/blacksquare.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cap.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cap.png new file mode 100644 index 0000000..59d6a75 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cap.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cdot.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cdot.png new file mode 100644 index 0000000..4f923c1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cdot.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/circ.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/circ.png new file mode 100644 index 0000000..a27d477 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/circ.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cong.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cong.png new file mode 100644 index 0000000..46abcf0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cong.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cup.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cup.png new file mode 100644 index 0000000..f321d24 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/cup.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ddots.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ddots.png new file mode 100644 index 0000000..c609835 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ddots.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/div.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/div.png new file mode 100644 index 0000000..8c11435 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/div.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/downarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/downarrow.png new file mode 100644 index 0000000..fe285dd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/downarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/eq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/eq.png new file mode 100644 index 0000000..21820ca Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/eq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/equiv.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/equiv.png new file mode 100644 index 0000000..d21d2b6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/equiv.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/exists.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/exists.png new file mode 100644 index 0000000..291cead Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/exists.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/forall.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/forall.png new file mode 100644 index 0000000..c2a01c8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/forall.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/geq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/geq.png new file mode 100644 index 0000000..0ccd752 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/geq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gets.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gets.png new file mode 100644 index 0000000..702b6da Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gets.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gg.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gg.png new file mode 100644 index 0000000..7dcdea8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gg.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gt.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gt.png new file mode 100644 index 0000000..cc05729 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/gt.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/in.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/in.png new file mode 100644 index 0000000..271d619 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/in.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/infty.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/infty.png new file mode 100644 index 0000000..8db988c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/infty.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/leftrightarrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/leftrightarrow.png new file mode 100644 index 0000000..989a47d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/leftrightarrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/leq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/leq.png new file mode 100644 index 0000000..01255b2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/leq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ll.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ll.png new file mode 100644 index 0000000..d0cc99f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ll.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/lt.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/lt.png new file mode 100644 index 0000000..f11edc8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/lt.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/minus.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/minus.png new file mode 100644 index 0000000..0f845a2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/minus.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/mp.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/mp.png new file mode 100644 index 0000000..1cf38f0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/mp.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/neg.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/neg.png new file mode 100644 index 0000000..164bfa8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/neg.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/nexists.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/nexists.png new file mode 100644 index 0000000..e4523e1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/nexists.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ni.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ni.png new file mode 100644 index 0000000..5b3da57 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/ni.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/partial.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/partial.png new file mode 100644 index 0000000..28253fa Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/partial.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/plus.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/plus.png new file mode 100644 index 0000000..7055190 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/plus.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/pm.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/pm.png new file mode 100644 index 0000000..8816655 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/pm.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/propto.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/propto.png new file mode 100644 index 0000000..4ba04fd Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/propto.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/sim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/sim.png new file mode 100644 index 0000000..4a5264b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/sim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/simeq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/simeq.png new file mode 100644 index 0000000..ac4b64b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/simeq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/surd.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/surd.png new file mode 100644 index 0000000..9ddfd4d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/surd.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/tanhao.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/tanhao.png new file mode 100644 index 0000000..35a3346 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/tanhao.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/therefore.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/therefore.png new file mode 100644 index 0000000..7fd47cf Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/therefore.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/times.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/times.png new file mode 100644 index 0000000..1018224 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/times.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/to.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/to.png new file mode 100644 index 0000000..12609e4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/to.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/uparrow.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/uparrow.png new file mode 100644 index 0000000..0c61945 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/uparrow.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/varnothing.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/varnothing.png new file mode 100644 index 0000000..ea1b6c1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/varnothing.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/vdots.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/vdots.png new file mode 100644 index 0000000..0ce84f2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/math/vdots.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/gneqq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/gneqq.png new file mode 100644 index 0000000..b299d23 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/gneqq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/gnsim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/gnsim.png new file mode 100644 index 0000000..683af6b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/gnsim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/lneqq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/lneqq.png new file mode 100644 index 0000000..5644063 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/lneqq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/lnsim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/lnsim.png new file mode 100644 index 0000000..1365188 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/lnsim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nbdash-1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nbdash-1.png new file mode 100644 index 0000000..07cce70 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nbdash-1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ncong.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ncong.png new file mode 100644 index 0000000..156f8be Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ncong.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/neq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/neq.png new file mode 100644 index 0000000..feb442f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/neq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nequiv.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nequiv.png new file mode 100644 index 0000000..83427dc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nequiv.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nexists.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nexists.png new file mode 100644 index 0000000..c5e3e58 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nexists.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ngeq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ngeq.png new file mode 100644 index 0000000..d3385e4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ngeq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ngtr.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ngtr.png new file mode 100644 index 0000000..033a1d1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ngtr.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nleq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nleq.png new file mode 100644 index 0000000..16347a1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nleq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nless.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nless.png new file mode 100644 index 0000000..11c9472 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nless.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nmid.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nmid.png new file mode 100644 index 0000000..c63688e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nmid.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/notin.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/notin.png new file mode 100644 index 0000000..d001291 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/notin.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nparallel.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nparallel.png new file mode 100644 index 0000000..76887ca Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nparallel.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nprec.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nprec.png new file mode 100644 index 0000000..a929e3b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nprec.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsim.png new file mode 100644 index 0000000..45cf001 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsubseteq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsubseteq.png new file mode 100644 index 0000000..9e530e2 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsubseteq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsucc.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsucc.png new file mode 100644 index 0000000..b975eaf Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsucc.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsupseteq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsupseteq.png new file mode 100644 index 0000000..4c1866b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nsupseteq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntriangleleft.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntriangleleft.png new file mode 100644 index 0000000..39ecc4d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntriangleleft.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntrianglelefteq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntrianglelefteq.png new file mode 100644 index 0000000..9b8f737 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntrianglelefteq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntriangleright.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntriangleright.png new file mode 100644 index 0000000..751acf0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntriangleright.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntrianglerighteq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntrianglerighteq.png new file mode 100644 index 0000000..abff3af Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/ntrianglerighteq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-1.png new file mode 100644 index 0000000..dc641d9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-2.png new file mode 100644 index 0000000..4079f6f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-3.png new file mode 100644 index 0000000..3d872b4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash-3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash.png new file mode 100644 index 0000000..4f4fb1f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/nvdash.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/precnsim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/precnsim.png new file mode 100644 index 0000000..e6c148b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/precnsim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/subsetneq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/subsetneq.png new file mode 100644 index 0000000..cc33835 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/subsetneq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/succnsim.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/succnsim.png new file mode 100644 index 0000000..7eafb5b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/succnsim.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/supsetneq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/supsetneq.png new file mode 100644 index 0000000..b43f091 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/not/supsetneq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/a.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/a.png new file mode 100644 index 0000000..9da4faf Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/a.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/b.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/b.png new file mode 100644 index 0000000..c14fe4f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/b.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/c.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/c.png new file mode 100644 index 0000000..08015b7 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/c.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/d.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/d.png new file mode 100644 index 0000000..2c9a95d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/d.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/e.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/e.png new file mode 100644 index 0000000..e966a24 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/e.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/f.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/f.png new file mode 100644 index 0000000..76d3d37 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/f.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/g.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/g.png new file mode 100644 index 0000000..8ea5775 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/g.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/h.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/h.png new file mode 100644 index 0000000..fa3c006 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/h.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/i.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/i.png new file mode 100644 index 0000000..58e2a69 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/i.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/j.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/j.png new file mode 100644 index 0000000..592148a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/j.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/k.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/k.png new file mode 100644 index 0000000..e2daf2e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/k.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/l.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/l.png new file mode 100644 index 0000000..691a92f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/l.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/m.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/m.png new file mode 100644 index 0000000..9f020cc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/m.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/n.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/n.png new file mode 100644 index 0000000..30be2cc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/n.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/o.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/o.png new file mode 100644 index 0000000..16c83a0 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/o.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/p.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/p.png new file mode 100644 index 0000000..b3e837c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/p.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/q.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/q.png new file mode 100644 index 0000000..203bb20 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/q.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/r.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/r.png new file mode 100644 index 0000000..763f81e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/r.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/s.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/s.png new file mode 100644 index 0000000..7510702 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/s.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/t.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/t.png new file mode 100644 index 0000000..0043204 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/t.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/u.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/u.png new file mode 100644 index 0000000..f495f3d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/u.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ua.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ua.png new file mode 100644 index 0000000..7d36a0e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ua.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ub.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ub.png new file mode 100644 index 0000000..d1eacb7 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ub.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uc.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uc.png new file mode 100644 index 0000000..e1f8bb9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uc.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ud.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ud.png new file mode 100644 index 0000000..a5d2343 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ud.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ue.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ue.png new file mode 100644 index 0000000..974322c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ue.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uf.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uf.png new file mode 100644 index 0000000..253244e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uf.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ug.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ug.png new file mode 100644 index 0000000..3fd2e08 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ug.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uh.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uh.png new file mode 100644 index 0000000..c72d319 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uh.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ui.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ui.png new file mode 100644 index 0000000..f69e3f8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ui.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uj.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uj.png new file mode 100644 index 0000000..ffefb31 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uj.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uk.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uk.png new file mode 100644 index 0000000..07a569d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uk.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ul.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ul.png new file mode 100644 index 0000000..47d868a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ul.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/um.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/um.png new file mode 100644 index 0000000..c45333e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/um.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/un.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/un.png new file mode 100644 index 0000000..c3ba37c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/un.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uo.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uo.png new file mode 100644 index 0000000..cac7b4f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uo.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/up.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/up.png new file mode 100644 index 0000000..d48be7b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/up.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uq.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uq.png new file mode 100644 index 0000000..d20612b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uq.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ur.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ur.png new file mode 100644 index 0000000..e812c31 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ur.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/us.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/us.png new file mode 100644 index 0000000..3204257 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/us.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ut.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ut.png new file mode 100644 index 0000000..d897d27 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ut.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uu.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uu.png new file mode 100644 index 0000000..87ca6ce Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uu.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uv.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uv.png new file mode 100644 index 0000000..8d6cd3b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uv.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uw.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uw.png new file mode 100644 index 0000000..0d5f389 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uw.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ux.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ux.png new file mode 100644 index 0000000..024bade Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/ux.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uy.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uy.png new file mode 100644 index 0000000..cfa70de Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uy.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uz.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uz.png new file mode 100644 index 0000000..8d1fcc8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/uz.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/v.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/v.png new file mode 100644 index 0000000..0ad4cd8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/v.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/w.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/w.png new file mode 100644 index 0000000..c6edcb4 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/w.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/x.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/x.png new file mode 100644 index 0000000..f299eeb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/x.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/y.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/y.png new file mode 100644 index 0000000..98c8626 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/y.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/z.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/z.png new file mode 100644 index 0000000..644a5b3 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/char/rm/z.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/1.png new file mode 100644 index 0000000..3894249 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/2.png new file mode 100644 index 0000000..c378fdc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/3.png new file mode 100644 index 0000000..fad9d20 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c1.png new file mode 100644 index 0000000..a032d70 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c2.png new file mode 100644 index 0000000..a8c95a8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c4.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c4.png new file mode 100644 index 0000000..74c5cdf Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c4.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c5.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c5.png new file mode 100644 index 0000000..05e6adf Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/frac/c5.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/1.png new file mode 100644 index 0000000..3654ff9 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/2.png new file mode 100644 index 0000000..a33c1dc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/3.png new file mode 100644 index 0000000..3fc2186 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/4.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/4.png new file mode 100644 index 0000000..6f528db Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/4.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/5.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/5.png new file mode 100644 index 0000000..e22d592 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/5.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/6.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/6.png new file mode 100644 index 0000000..2eed1bc Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/6.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c1.png new file mode 100644 index 0000000..d797cb8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c2.png new file mode 100644 index 0000000..4eb6c8f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c3.png new file mode 100644 index 0000000..0f55b7e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/func/c3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/1.png new file mode 100644 index 0000000..a08ab60 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/2.png new file mode 100644 index 0000000..09cb7f8 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/3.png new file mode 100644 index 0000000..8898b84 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/4.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/4.png new file mode 100644 index 0000000..483092e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/4.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/5.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/5.png new file mode 100644 index 0000000..604128c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/5.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/6.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/6.png new file mode 100644 index 0000000..287b6ca Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/int/6.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/1.png new file mode 100644 index 0000000..a83bf8e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/2.png new file mode 100644 index 0000000..7052553 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/3.png new file mode 100644 index 0000000..70b0f3e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/large/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/other.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/other.png new file mode 100644 index 0000000..a5796aa Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/other.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/1.png new file mode 100644 index 0000000..a40b79a Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/2.png new file mode 100644 index 0000000..1eac155 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/3.png new file mode 100644 index 0000000..3425abe Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/4.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/4.png new file mode 100644 index 0000000..fad9d20 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/4.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c1.png new file mode 100644 index 0000000..24cbd1b Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c2.png new file mode 100644 index 0000000..572ad1f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c3.png new file mode 100644 index 0000000..d557b77 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/script/c3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/1.png new file mode 100644 index 0000000..f6d0f2e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/2.png new file mode 100644 index 0000000..0ffbabb Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/3.png new file mode 100644 index 0000000..1f10156 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/4.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/4.png new file mode 100644 index 0000000..66470a6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/4.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/c1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/c1.png new file mode 100644 index 0000000..cf7beba Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/c1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/c2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/c2.png new file mode 100644 index 0000000..35a5bae Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/sqrt/c2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/1.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/1.png new file mode 100644 index 0000000..f7c7d17 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/1.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/2.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/2.png new file mode 100644 index 0000000..ee9586d Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/2.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/3.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/3.png new file mode 100644 index 0000000..93f7d9c Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/images/toolbar/ys/3.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/base.css b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/base.css new file mode 100644 index 0000000..355d9b0 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/base.css @@ -0,0 +1,40 @@ + +.kf-editor { + width: 100%; + height: 100%; + border: 1px solid #e0e0e0; + position: relative; + top: 0; + left: 0; + + overflow: hidden; + z-index: 2; + background-color: #f6f5ee; +} + +.kf-editor-edit-area { + position: relative; + top: 0; + left: 0; + + z-index: 1; + height: 0; + background-color: white; + /*background-color: white;*/ + /*background-size: 21px 21px;*/ + /*background-position: 0 0,10px 10px;*/ + /*background-image: -webkit-linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef),-webkit-linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef);*/ + /*background-image: linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef),linear-gradient(45deg,#efefef 25%,transparent 25%,transparent 75%,#efefef 75%,#efefef);*/ +} + +.kf-editor-canvas-container { + width: 100%; + height: 100%; +} + +.kf-editor-input-box { + position: fixed; + top: 0; + left: -99999999px; + z-index: 999999; +} \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/page.css b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/page.css new file mode 100644 index 0000000..8026403 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/page.css @@ -0,0 +1,12 @@ + +html, body { + width: 100%; + height: 100%; + padding: 0; + margin: 0; + background: rgba( 48, 48, 48, 0.5 ); +} + +body { + height: 1000px; +} diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/scrollbar.css b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/scrollbar.css new file mode 100644 index 0000000..b8254b0 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/scrollbar.css @@ -0,0 +1,78 @@ +/*! + * 滚动条 + **/ + +.kf-editor-edit-scrollbar { + width: 100%; + height: 16px; + position: absolute; + bottom: 0; + left: 0; + z-index: 994; + border-top: 1px solid #ddd; +} + +.kf-editor-ui-left-button { + position: absolute; + top: 0; + left: 0; + width: 5px; + height: 100%; + background: white; +} + +.kf-editor-ui-right-button { + position: absolute; + top: 0; + right: 0; + width: 5px; + height: 100%; + background: white; +} + +.kf-editor-ui-track { + position: absolute; + top: 0; + left: 5px; + width: 0; + height: 100%; + background-image: url(../images/scrollbar/edit/bar-left.png), url(../images/scrollbar/edit/bar-right.png), url(../images/scrollbar/edit/bar-bg.png); + background-repeat: no-repeat, no-repeat, repeat-x; + background-position: 0 0, right 0, 0 0; +} + +.kf-editor-ui-thumb { + position: absolute; + top: 0; + left: 0; + width: 0; + height: 100%; +} + +.kf-editor-ui-thumb-left { + width: 5px; + height: 100%; + position: absolute; + top: 0; + left: 0; + background: url(../images/scrollbar/edit/thumb-left.png) no-repeat 0 0; + z-index: 1; +} + +.kf-editor-ui-thumb-right { + width: 5px; + height: 100%; + position: absolute; + top: 0; + right: 0; + background: url(../images/scrollbar/edit/thumb-right.png) no-repeat 0 0; +} + +.kf-editor-ui-thumb-body { + position: absolute; + top: 0; + left: 5px; + width: 0; + height: 100%; + background: url(../images/scrollbar/edit/thumb-bg.png) repeat-x 0 0; +} \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/ui.css b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/ui.css new file mode 100644 index 0000000..e8ac470 --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/styles/ui.css @@ -0,0 +1,536 @@ +/* 工具栏 */ +.kf-editor-toolbar { + width: 100%; + padding: 1px 10px; + position: relative; + top: 0; + left: 0; + z-index: 2; + background-color: #f6f5ee; + border-bottom: 1px solid #ccc; + -moz-box-shadow:1px 1px 1px rgba( 0, 0, 0, 0.1 ); + -webkit-box-shadow:1px 1px 1px rgba( 0, 0, 0, 0.1 ); + box-shadow:1px 1px 1px rgba( 0, 0, 0, 0.1 ); + color: #000; + font-family: Helvetica, Arial, "微软雅黑", "Microsoft YaHei", "宋体", sans-serif; +} + +/* 按钮 */ +.kf-editor-ui-button { + padding: 8px 6px; + height: 79px; + font-size: 12px; + display: inline-block; + border: 1px solid transparent; + border-radius: 3px; + cursor: default; + position: relative; + top: 0; + left: 0; + z-index: 3; + vertical-align: top; + opacity: 0.5; + margin-right: 1px; +} + +.kf-editor-toolbar .kf-editor-ui-overlap-button { + width: 100%; + height: 25px; + background: #53b856; + border-radius: 0; +} + +.kf-editor-ui-button-icon { + width: 32px; + height: 32px; + margin: 2px auto; +} + +.kf-editor-ui-button-label { + color: #666; + text-align: center; + display: block; + font-size: 12px; + line-height: 20px; +} + +.kf-editor-ui-overlap-button .kf-editor-ui-button-label { + padding: 3px 5px; + text-align: left; + color: white; + font-size: 12px; +} + +.kf-editor-ui-button-sign { + border: 4px solid transparent; + border-top-color: #2d2d2d; + width: 0; + height: 0; + display: inline-block; + margin: 8px auto; + vertical-align: top; +} + +.kf-editor-ui-button-mount-point { + display: none; + position: absolute; + bottom: -2px; + left: -1px; +} + +.kf-editor-ui-overlap-button .kf-editor-ui-button-mount-point { + width: 100%; + height: 10000px; +} + +.kf-editor-ui-wrap-group { + overflow-x: hidden; + overflow-y: auto; +} + +.kf-editor-ui-overlap-button .kf-editor-ui-button-mount-point { + top: 27px; +} + +.kf-editor-toolbar .kf-editor-ui-button-in { + border-color: #8fcc91!important; + background: #e0f0dd!important; +} + +.kf-editor-toolbar .kf-editor-ui-overlap-button { + padding-top: 0; + padding-bottom: 0; + border-color: #61b864!important; + background: #61b864!important; +} + +/* 分割符 */ +.kf-editor-ui-delimiter { + width: 11px; + height: 100%; + display: none; +} + +.kf-editor-ui-enabled.kf-editor-ui-button:HOVER { + border: 1px solid #a9d9ab; + background: #ebf7e6; +} + +.kf-editor-ui-enabled.kf-editor-ui-overlap-button:HOVER { + border: 1px solid #53b856; + background: #53b856; +} + +.kf-editor-ui-delimiter-line { + width: 1px; + height: 100%; + margin: 0 auto; + background: -webkit-linear-gradient(top, rgba(233, 233, 233, 0.11), rgba(92, 92, 92, 0.20) 60%, rgba(92, 92, 92, 0.41) 80%, rgba(123, 123, 123, 0.50)); +} + +/* box */ +.kf-editor-ui-box { + border: 1px solid #b3aead; + border-radius: 3px; + box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.11); + background: white; + position: absolute; + top: 0; + left: -1px; + overflow-x: hidden; + overflow-y: auto; +} + +.kf-editor-ui-area .kf-editor-ui-box { + border-color: #61b864; +} + +.kf-editor-ui-box-container { + font-size: 12px; +} + +.kf-editor-ui-box-group-title { + background-color: #f7f6f0; + height: 23px; + line-height: 23px; + font-size: 12px; + border: 1px solid #ebeae4; + border-width: 1px 0; + padding-left: 12px; +} + +.kf-editor-ui-box-group-item-container { + padding: 7px 9px 17px 9px; +} + +.kf-editor-ui-overlap-container { + overflow: hidden; +} + +.kf-editor-ui-area .kf-editor-ui-box { + top: -1px; +} + +.kf-editor-ui-overlap-container .kf-editor-ui-button-sign { + border-top-color: white; + border-width: 4px; + margin-left: 10px; + margin-top: 8px; +} + +.kf-editor-ui-yushe-btn .kf-editor-ui-box-item { + border: 1px solid transparent; + padding: 5px; +} + +.kf-editor-ui-box-item { + display: inline-block; + margin: 4px; +} + +.kf-editor-ui-box-item-content:HOVER { + border-color: #dff3df; +} + +.kf-editor-ui-box-item-content:HOVER .kf-editor-ui-box-item-val { + border-color: #6eb864; +} + +.kf-editor-ui-area .kf-editor-ui-box-item { + position: relative; + top: 0; + left: 0; + width: 32px; + height: 32px; + border: 0; + margin: 3px; + padding: 0; + z-index: 1; +} + +.kf-editor-ui-area .kf-editor-ui-box-item img { + width: 32px; + height: 32px; +} + + +.kf-editor-ui-box-item-label { + margin-bottom: 5px; +} + +.kf-editor-ui-box-item-content { + background: white; + border: 1px solid white; +} + +.kf-editor-ui-area .kf-editor-ui-box-item-content { + position: absolute; + top: 0; + left: 0; +} + +.kf-editor-ui-area .kf-editor-ui-box-item-content:HOVER { + border: 1px solid #dff3df; +} + +.kf-editor-ui-box-item-val { + padding: 5px; + line-height: 0; + border: 1px solid #808080; +} + +.kf-editor-ui-area .kf-editor-ui-box-item-val { + padding: 0; + margin: 0; +} + +/* area */ +.kf-editor-ui-area { + height: 79px; + display: inline-block; + cursor: default; + position: relative; + top: 0; + left: 0; + vertical-align: top; + opacity: 0.5; + z-index: 4; + border: 1px solid #e0dfd5; + border-radius: 4px; + background: white; + margin: 8px 10px; +} + +.kf-editor-ui-area-container { + width: 293px; + height: 70px; + /*margin: 7px 5px 5px 5px;*/ + margin: 5px; + display: inline-block; + border-right: 0; + vertical-align: top; + position: relative; + top: 0; + left: 0; + overflow: hidden; +} + +.kf-editor-ui-area-panel { + position: absolute; + top: 0; + left: 0; + line-height: 0; + background: white; + -webkit-transition: top 0.5s linear; + -moz-transition: top 0.5s linear; + transition: top 0.5s linear; +} + +.kf-editor-ui-area-button-container { + display: inline-block; + width: 16px; + height: 100%; + overflow: hidden; + text-align: center; + border: 0 solid #D3D3D3; + border-left-width: 1px; + background-color: #f2f0e6; +} + +.kf-editor-ui-moveup-button, .kf-editor-ui-movedown-button { + line-height: 25px; + height: 30px; +} + +.kf-editor-ui-moveup-button { + background: url("../images/toolbar/btn.png") -304px 9px no-repeat; +} + +.kf-editor-ui-movedown-button { + border: 1px solid #D3D3D3; + border-width: 1px 0; + background: url("../images/toolbar/btn.png") -325px 9px no-repeat; +} + +.kf-editor-ui-area-button { + width: 100%; + height: 50px; + line-height: 26px; + background: url("../images/toolbar/btn.png") -346px 0 no-repeat; +} + +.kf-editor-ui-enabled .kf-editor-ui-area-button:HOVER { + background-color: #e5e4e1; +} + +.kf-editor-ui-enabled .kf-editor-ui-moveup-button:HOVER { + background-color: #e5e4e1; +} + +.kf-editor-ui-enabled .kf-editor-ui-movedown-button:HOVER { + background-color: #e5e4e1; +} + +.kf-editor-ui-area-button-container .kf-editor-ui-disabled { + opacity: 0.25; + background-color: transparent!important; +} + +.kf-editor-ui-area-mount { + position: absolute; + top: 0; + left: 0; + display: none; +} + +.kf-editor-ui-overlap-title { + width: 100%; + line-height: 1.5; +} + +/* list */ +.kf-editor-ui-list { + background: #f9f8f5; + border: 1px solid #b3aead; + border-radius: 3px; + position: fixed; + top: 0; + left: 0; + box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.11); +} + +.kf-editor-ui-list-bg { + display: none; +} + +.kf-editor-ui-list-item-container { + position: relative; + top: 0; + left: 0; + z-index: 2; +} + +.kf-editor-ui-list-item { + line-height: 24px; + padding: 2px 6px; + border: 1px solid transparent; + border-width: 1px 0; +} + +.kf-editor-ui-list-item-select { + color: #61b864; + font-weight: bold; +} + +.kf-editor-ui-list-item-select .kf-editor-ui-list-item-icon { + visibility: visible; + width: 16px; + height: 16px; + background: url(../images/toolbar/btn.png) no-repeat -367px 0; +} + +.kf-editor-ui-list-item:HOVER { + border-color: #beddbf; + background-color: #ecf3e9; +} + +.kf-editor-ui-list-item-icon { + width: 16px; + height: 16px; + display: inline-block; + vertical-align: middle; + margin-top: -2px; + margin-right: 4px; + visibility: hidden; +} + +/* area 内容区 */ +.kf-editor-ui-area-item { + width: 26px; + height: 26px; + position: absolute; + top: 0; + left: 0; +} + +.kf-editor-ui-area-item-inner { + width: 34px; + height: 34px; + border: 1px solid white; + position: absolute; + top: -4px; + left: -4px; + -webkit-transition: all 0.1s linear; + -moz-transition: all 0.1s linear; + transition: all 0.1s linear; + + -webkit-transform: scale( 0.76 ); + -moz-transform: scale( 0.76 ); + transform: scale( 0.76 ); +} + +.kf-editor-ui-enabled .kf-editor-ui-area-item-inner:HOVER { + border-color: #dff3df; + + -webkit-transform: scale( 1 ); + -moz-transform: scale( 1 ); + transform: scale( 1 ); +} + +.kf-editor-ui-area-item-img { + width: 32px; + height: 32px; + border: 1px solid #808080; + -webkit-transition: all 0.1s linear; + -moz-transition: all 0.1s linear; + transition: all 0.1s linear; +} + +.kf-editor-ui-enabled .kf-editor-ui-area-item-inner:HOVER .kf-editor-ui-area-item-img { + border-color: #6eb864; +} + +.kf-editor-ui-enabled { + opacity: 1; +} + +.kf-editor-ui-overlap-container .kf-editor-ui-box-item { + width: 34px; + height: 34px; + border: 1px solid white; +} + +.kf-editor-ui-overlap-container .kf-editor-ui-box-item-content:HOVER { +} + +.kf-editor-ui-overlap-container .kf-editor-ui-box-item-val { + width: 32px; + height: 32px; +} + +/* scrollbar */ +.kf-editor-ui-box::-webkit-scrollbar { + width: 17px; + background: url(../images/scrollbar/custom/bg.png) 0 0 repeat-y white; +} + +.kf-editor-ui-box::-webkit-scrollbar-button:end:increment { + height: 5px; + background: url(../images/scrollbar/custom/down.png) 0 0 repeat-y white; +} +/*定义滚动条渐减按扭的样式 */ +.kf-editor-ui-box::-webkit-scrollbar-button:start:decrement { + height: 5px; + background: url(../images/scrollbar/custom/up.png) 0 0 repeat-y white; +} + +/* 垂直滚动条的第三层轨道的上段 */ +.kf-editor-ui-box::-webkit-scrollbar-track-piece:vertical:start { + background-image: url(../images/scrollbar/custom/top.png), url(../images/scrollbar/custom/bg.png); + background-repeat: no-repeat, repeat-y; +} +/* 垂直滚动条的第三层轨道的下段 */ +.kf-editor-ui-box::-webkit-scrollbar-track-piece:vertical:end { + background-image: url(../images/scrollbar/custom/bottom.png), url(../images/scrollbar/custom/bg.png); + background-repeat: no-repeat, repeat-y; + background-position: 0 bottom, 0 0; +} +/* 垂直滚动条的滑动块 */ +.kf-editor-ui-box::-webkit-scrollbar-thumb:vertical { + /*background: url(./images2/bar.png) 6px 0 no-repeat;*/ + /*background-size: 6px;*/ + -webkit-border-image: url(../images/scrollbar/custom/bar.png) 8; + border-width: 10px; +} + +.kf-editor-ui-wrap-group::-webkit-scrollbar { + width: 17px; + background: url(../images/scrollbar/custom/bg.png) 0 0 repeat-y white; +} + +.kf-editor-ui-wrap-group::-webkit-scrollbar-button:end:increment { + height: 5px; + background: url(../images/scrollbar/custom/down.png) 0 0 repeat-y white; +} +/*定义滚动条渐减按扭的样式 */ +.kf-editor-ui-wrap-group::-webkit-scrollbar-button:start:decrement { + height: 5px; + background: url(../images/scrollbar/custom/up.png) 0 0 repeat-y white; +} + +/* 垂直滚动条的第三层轨道的上段 */ +.kf-editor-ui-wrap-group::-webkit-scrollbar-track-piece:vertical:start { + background-image: url(../images/scrollbar/custom/top.png), url(../images/scrollbar/custom/bg.png); + background-repeat: no-repeat, repeat-y; +} +/* 垂直滚动条的第三层轨道的下段 */ +.kf-editor-ui-wrap-group::-webkit-scrollbar-track-piece:vertical:end { + background-image: url(../images/scrollbar/custom/bottom.png), url(../images/scrollbar/custom/bg.png); + background-repeat: no-repeat, repeat-y; + background-position: 0 bottom, 0 0; +} +/* 垂直滚动条的滑动块 */ +.kf-editor-ui-wrap-group::-webkit-scrollbar-thumb:vertical { + -webkit-border-image: url(../images/scrollbar/custom/bar.png) 8; + border-width: 10px; +} \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/fui.css b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/fui.css new file mode 100644 index 0000000..de07bba --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/fui.css @@ -0,0 +1,540 @@ +/** + * 所有构件样式规则 + **/ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-widget { + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-drag: none; + color: #000000; + line-height: 1.5; + font-size: 12px; + font-family: "ff-tisa-web-pro-1", "ff-tisa-web-pro-2", "Lucida Grande", "Hiragino Sans GB", "Hiragino Sans GB W3", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; + -webkit-font-smoothing: antialiased; + outline: none; + display: inline-block; + vertical-align: top; + position: relative; + top: 0; + left: 0; +} +.fui-widget.fui-selectable { + -webkit-user-select: text; + -khtml-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + -webkit-user-drag: text; +} +.fui-widget * { + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-user-drag: none; +} +.fui-widget.fui-disabled { + opacity: 0.3!important; +} +.fui-widget.fui-hide { + display: none!important; +} +.fui-widget.fui-mask-animate { + -webkit-transition: all 0.2s; +} +.fui-widget.fui-mask-hint { + -webkit-transform: perspective(600px) translateZ(30px); +} + +/** + * 容器类通用样式 + **/ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-container { + overflow: hidden; + position: relative; + top: 0; + left: 0; +} +.fui-container.fui-disabled { + opacity: 1!important; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-button-menu { + border: 1px solid white; +} +.fui-button-menu:HOVER { + border-color: #d5e1f2; +} +.fui-button-menu.fui-button-active { + border-color: #d5e1f2; + background: #d5e1f2; +} +.fui-button-menu.fui-button-active .fui-button { + background: #d5e1f2; +} +.fui-button-menu.fui-layout-top, +.fui-button-menu.fui-layout-bottom { + text-align: center; +} +.fui-button-menu.fui-layout-top .fui-open-btn, +.fui-button-menu.fui-layout-bottom .fui-open-btn { + display: block; +} + +/** + * 通用button + */ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-button { + overflow: hidden; + cursor: default; + font-size: 0; +} +.fui-button ._layout .fui-label { + display: block; +} +.fui-button ._layout .fui-icon { + display: block; +} +.fui-button .fui-icon { + display: inline-block; + vertical-align: middle; +} +.fui-button .fui-label { + display: inline-block; + vertical-align: middle; +} +.fui-button.fui-button-layout-top .fui-label { + display: block; +} +.fui-button.fui-button-layout-top .fui-icon { + display: block; +} +.fui-button.fui-button-layout-bottom .fui-label { + display: block; +} +.fui-button.fui-button-layout-bottom .fui-icon { + display: block; +} +.fui-button:HOVER { + background-color: #d5e1f2 !important; + color: #000000 !important; +} +.fui-button:ACTIVE { + background-color: #87a9da !important; + color: #000000 !important; +} +.fui-button.fui-disabled:HOVER { + background-color: #ffffff !important; + color: #000000 !important; +} +.fui-button.fui-disabled:ACTIVE { + background-color: #ffffff !important; + color: #000000 !important; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-colorpicker { + background-color: #fff; +} +.fui-colorpicker-container { + border: 1px solid #d3d3d3; +} +.fui-colorpicker-container .fui-colorpicker-title { + background: #eee; + padding: 2px 4px; +} +.fui-colorpicker-container .fui-colorpicker-colors { + margin: 0; + padding: 0; + font-size: 0; + line-height: 0; +} +.fui-colorpicker-container .fui-colorpicker-colors-line0 { + margin-bottom: 3px; +} +.fui-colorpicker-container .fui-colorpicker-item { + display: inline-block; + margin: 0 2px; + width: 13px; + height: 13px; + border-style: solid; + border-width: 1px; +} +.fui-colorpicker-container .fui-colorpicker-commoncolor, +.fui-colorpicker-container .fui-colorpicker-standardcolor { + margin: 4px 3px; + white-space: nowrap; +} +.fui-colorpicker-container .fui-colorpicker-toolbar { + margin: 4px; + height: 27px; +} +.fui-colorpicker-container .fui-colorpicker-toolbar .fui-colorpicker-preview { + display: inline-block; + height: 25px; + line-height: 25px; + width: 120px; + border: 1px solid #d3d3d3; +} +.fui-colorpicker-container .fui-colorpicker-toolbar .fui-colorpicker-clear { + display: inline-block; + height: 25px; + line-height: 25px; + width: 60px; + border: 1px solid #d3d3d3; + font-size: 12px; + text-align: center; + position: absolute; + right: 5px; + cursor: pointer; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ + +/** + * 通用button + */ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-dialog { + position: fixed; + top: -1000000px; + left: -100000px; + border: 1px solid #B1B1B1; + background: #fff; +} +.fui-dialog .fui-panel-content { + width: auto!important; + height: auto!important; + padding: 2px; +} +.fui-dialog .fui-dialog-caption { + margin: 0; + padding: 5px; + font-size: 16px; + font-weight: normal; + line-height: 1; + display: inline-block; +} +.fui-dialog .fui-dialog-head .fui-close-button { + float: right; +} +.fui-dialog .fui-dialog-head .fui-close-button .fui-close-button-icon { + width: 16px; + height: 16px; + background: url("images/close.png") no-repeat 0 0; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-drop-panel { + border: 1px solid #d3d3d3; + overflow: hidden; + position: relative; +} +.fui-drop-panel .fui-drop-panel-content { + display: inline-block; +} +.fui-drop-panel .fui-drop-panel-placeholder { + display: none; +} +.fui-drop-panel .fui-drop-panel-button { + border-left: 1px solid #d3d3d3; + visibility: visible; +} +.fui-drop-panel .fui-drop-panel-button:HOVER { + border-color: #d5e1f2; +} +.fui-drop-panel .fui-drop-panel-button:ACTIVE { + border-color: #87a9da; +} +.fui-drop-panel:HOVER { + border-color: #d5e1f2; +} +.fui-drop-panel:HOVER .fui-drop-panel-button { + border-left-color: #d5e1f2; +} +.fui-drop-panel:ACTIVE { + border-color: #87a9da; +} +.fui-drop-panel:ACTIVE .fui-drop-panel-button { + border-left-color: #d5e1f2; +} +.fui-drop-panel.fui-drop-panel-open { + overflow: visible; +} +.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-content { + border: 1px solid #d3d3d3; + position: absolute; + top: -1px; + left: -1px; +} +.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-button { + visibility: hidden; +} +.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-placeholder { + display: inline-block; +} +.fui-drop-panel-popup { + border: 1px solid #d3d3d3; +} +.fui-drop-panel-popup:HOVER { + border-color: #d5e1f2; +} +.fui-drop-panel-popup:HOVER .fui-drop-panel-button { + border-left-color: #d5e1f2; +} +.fui-drop-panel-popup:ACTIVE { + border-color: #87a9da; +} +.fui-drop-panel-popup:ACTIVE .fui-drop-panel-button { + border-left-color: #d5e1f2; +} + +.fui-icon { + text-align: center; + font-size: 0; +} +.fui-icon img { + display: inline-block; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-input-button { + border: 1px solid #ababab; +} +.fui-input-button .fui-input { + vertical-align: middle; + border: none!important; +} +.fui-input-button .fui-button { + vertical-align: middle; +} +.fui-input-button:HOVER { + border-color: #87a9da; +} +.fui-input-button:ACTIVE { + border-color: #87a9da; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-input { + border: 1px solid #d3d3d3; + padding: 1px; + margin: 0; +} +.fui-input:HOVER, +.fui-input:FOCUS { + border-color: #4d90fe!important; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-item { + font-size: 0; +} +.fui-item .fui-icon { + vertical-align: middle; +} +.fui-item .fui-label { + vertical-align: middle; +} +.fui-item.fui-item-selected { + background: #87a9da; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-label-panel .fui-label-panel-label { + width: 100%; + color: #666; +} +.fui-label-panel.fui-no-position .fui-label-panel-label { + position: static!important; +} +.fui-label-panel.fui-layout-bottom .fui-label-panel-label { + position: absolute; + bottom: 0; + left: 0; + top: auto; + z-index: 2; +} + +.fui-label { + cursor: default; + display: inline-block; + white-space: nowrap; +} + +/** + * 通用button + */ +.fui-mask { + position: fixed; + z-index: 99998; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-menu { + background-color: #fff; + border: 1px solid #d3d3d3; +} +.fui-menu .fui-item { + padding: 2px 5px; + display: block!important; +} +.fui-menu .fui-item:HOVER { + background: #d5e1f2; +} + +/** + * 通用button + */ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-panel { + display: inline-block; + vertical-align: top; + overflow-y: auto; + overflow-x: hidden; +} +.fui-panel .fui-panel-content { + position: relative; + top: 0; + left: 0; +} +.fui-panel .fui-panel-content { + width: 100%; + height: 100%; +} +.fui-panel.fui-container-column { + font-size: 0; +} +.fui-panel.fui-container-column .fui-column { + display: block; +} + +/** + * 通用button + */ +.fui-ppanel::-webkit-scrollbar { + width: 15px; +} +.fui-ppanel::-webkit-scrollbar-button:start:decrement, +.fui-ppanel::-webkit-scrollbar-button:end:decrement, +.fui-ppanel::-webkit-scrollbar-button:start:increment, +.fui-ppanel::-webkit-scrollbar-button:end:increment, +.fui-ppanel::-webkit-scrollbar-thumb { + border: 1px solid #e7e7e7; +} +.fui-ppanel.fui-ppanel-position { + position: fixed; + z-index: 99999; +} + +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-separator { + background: #6d6d6d; +} + +/** + * Spin-button + */ +.fui-spin-button .fui-spin-up-btn .fui-icon, +.fui-spin-button .fui-spin-down-btn .fui-icon { + width: 16px; + height: 9px; + background: url("images/up.png") no-repeat 3px 1.5px; +} +.fui-spin-button .fui-spin-down-btn .fui-icon { + background-image: url("images/down.png"); +} + +/** + * 通用button + */ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-tabs .fui-selected { + background-color: #d5e1f2; +} + +/** + * 可切换Button (ToggleButton) + */ +/** + * FUI 通用样式定义 + */ +/*------------ var*/ +/*------------ mixin*/ +.fui-toggle-button.fui-button-pressed { + background-color: #aec5e6; +} +.fui-toggle-button.fui-button-pressed.fui-disabled { + background-color: #aec5e6 !important; +} diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/fui.min.css b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/fui.min.css new file mode 100644 index 0000000..3faab2a --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/fui.min.css @@ -0,0 +1,10 @@ +/*! + * ==================================================== + * Themes file * Flex UI - v1.0.0 - 2014-07-28 + * https://github.com/fex-team/fui + * GitHub: https://github.com/fex-team/fui.git + * Copyright (c) 2014 Baidu Kity Group; Licensed MIT + * ==================================================== + */ + +.fui-widget{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;color:#000;line-height:1.5;font-size:12px;font-family:ff-tisa-web-pro-1,ff-tisa-web-pro-2,"Lucida Grande","Hiragino Sans GB","Hiragino Sans GB W3","Microsoft YaHei","WenQuanYi Micro Hei",sans-serif;-webkit-font-smoothing:antialiased;outline:0;display:inline-block;vertical-align:top;position:relative;top:0;left:0}.fui-widget.fui-selectable{-webkit-user-select:text;-khtml-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;-webkit-user-drag:text}.fui-widget *{-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none}.fui-widget.fui-disabled{opacity:.3!important}.fui-widget.fui-hide{display:none!important}.fui-widget.fui-mask-animate{-webkit-transition:all .2s}.fui-widget.fui-mask-hint{-webkit-transform:perspective(600px) translateZ(30px)}.fui-container{overflow:hidden;position:relative;top:0;left:0}.fui-container.fui-disabled{opacity:1!important}.fui-button-menu{border:1px solid #fff}.fui-button-menu:HOVER{border-color:#d5e1f2}.fui-button-menu.fui-button-active{border-color:#d5e1f2;background:#d5e1f2}.fui-button-menu.fui-button-active .fui-button{background:#d5e1f2}.fui-button-menu.fui-layout-bottom,.fui-button-menu.fui-layout-top{text-align:center}.fui-button-menu.fui-layout-bottom .fui-open-btn,.fui-button-menu.fui-layout-top .fui-open-btn{display:block}.fui-button{overflow:hidden;cursor:default;font-size:0}.fui-button ._layout .fui-icon,.fui-button ._layout .fui-label{display:block}.fui-button .fui-icon,.fui-button .fui-label{display:inline-block;vertical-align:middle}.fui-button.fui-button-layout-bottom .fui-icon,.fui-button.fui-button-layout-bottom .fui-label,.fui-button.fui-button-layout-top .fui-icon,.fui-button.fui-button-layout-top .fui-label{display:block}.fui-button:HOVER{background-color:#d5e1f2!important;color:#000!important}.fui-button:ACTIVE{background-color:#87a9da!important;color:#000!important}.fui-button.fui-disabled:ACTIVE,.fui-button.fui-disabled:HOVER{background-color:#fff!important;color:#000!important}.fui-colorpicker{background-color:#fff}.fui-colorpicker-container{border:1px solid #d3d3d3}.fui-colorpicker-container .fui-colorpicker-title{background:#eee;padding:2px 4px}.fui-colorpicker-container .fui-colorpicker-colors{margin:0;padding:0;font-size:0;line-height:0}.fui-colorpicker-container .fui-colorpicker-colors-line0{margin-bottom:3px}.fui-colorpicker-container .fui-colorpicker-item{display:inline-block;margin:0 2px;width:13px;height:13px;border-style:solid;border-width:1px}.fui-colorpicker-container .fui-colorpicker-commoncolor,.fui-colorpicker-container .fui-colorpicker-standardcolor{margin:4px 3px;white-space:nowrap}.fui-colorpicker-container .fui-colorpicker-toolbar{margin:4px;height:27px}.fui-colorpicker-container .fui-colorpicker-toolbar .fui-colorpicker-preview{display:inline-block;height:25px;line-height:25px;width:120px;border:1px solid #d3d3d3}.fui-colorpicker-container .fui-colorpicker-toolbar .fui-colorpicker-clear{display:inline-block;height:25px;line-height:25px;width:60px;border:1px solid #d3d3d3;font-size:12px;text-align:center;position:absolute;right:5px;cursor:pointer}.fui-dialog{position:fixed;top:-1000000px;left:-100000px;border:1px solid #B1B1B1;background:#fff}.fui-dialog .fui-panel-content{width:auto!important;height:auto!important;padding:2px}.fui-dialog .fui-dialog-caption{margin:0;padding:5px;font-size:16px;font-weight:400;line-height:1;display:inline-block}.fui-dialog .fui-dialog-head .fui-close-button{float:right}.fui-dialog .fui-dialog-head .fui-close-button .fui-close-button-icon{width:16px;height:16px;background:url(images/close.png) no-repeat}.fui-drop-panel{border:1px solid #d3d3d3;overflow:hidden;position:relative}.fui-drop-panel .fui-drop-panel-content{display:inline-block}.fui-drop-panel .fui-drop-panel-placeholder{display:none}.fui-drop-panel .fui-drop-panel-button{border-left:1px solid #d3d3d3;visibility:visible}.fui-drop-panel .fui-drop-panel-button:HOVER{border-color:#d5e1f2}.fui-drop-panel .fui-drop-panel-button:ACTIVE{border-color:#87a9da}.fui-drop-panel:HOVER{border-color:#d5e1f2}.fui-drop-panel:HOVER .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-drop-panel:ACTIVE{border-color:#87a9da}.fui-drop-panel:ACTIVE .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-drop-panel.fui-drop-panel-open{overflow:visible}.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-content{border:1px solid #d3d3d3;position:absolute;top:-1px;left:-1px}.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-button{visibility:hidden}.fui-drop-panel.fui-drop-panel-open .fui-drop-panel-placeholder{display:inline-block}.fui-drop-panel-popup{border:1px solid #d3d3d3}.fui-drop-panel-popup:HOVER{border-color:#d5e1f2}.fui-drop-panel-popup:HOVER .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-drop-panel-popup:ACTIVE{border-color:#87a9da}.fui-drop-panel-popup:ACTIVE .fui-drop-panel-button{border-left-color:#d5e1f2}.fui-icon{text-align:center;font-size:0}.fui-icon img{display:inline-block}.fui-input-button{border:1px solid #ababab}.fui-input-button .fui-input{vertical-align:middle;border:none!important}.fui-input-button .fui-button{vertical-align:middle}.fui-input-button:ACTIVE,.fui-input-button:HOVER{border-color:#87a9da}.fui-input{border:1px solid #d3d3d3;padding:1px;margin:0}.fui-input:FOCUS,.fui-input:HOVER{border-color:#4d90fe!important}.fui-item{font-size:0}.fui-item .fui-icon,.fui-item .fui-label{vertical-align:middle}.fui-item.fui-item-selected{background:#87a9da}.fui-label-panel .fui-label-panel-label{width:100%;color:#666}.fui-label-panel.fui-no-position .fui-label-panel-label{position:static!important}.fui-label-panel.fui-layout-bottom .fui-label-panel-label{position:absolute;bottom:0;left:0;top:auto;z-index:2}.fui-label{cursor:default;display:inline-block;white-space:nowrap}.fui-mask{position:fixed;z-index:99998}.fui-menu{background-color:#fff;border:1px solid #d3d3d3}.fui-menu .fui-item{padding:2px 5px;display:block!important}.fui-menu .fui-item:HOVER{background:#d5e1f2}.fui-panel{display:inline-block;vertical-align:top;overflow-y:auto;overflow-x:hidden}.fui-panel .fui-panel-content{position:relative;top:0;left:0;width:100%;height:100%}.fui-panel.fui-container-column{font-size:0}.fui-panel.fui-container-column .fui-column{display:block}.fui-ppanel::-webkit-scrollbar{width:15px}.fui-ppanel::-webkit-scrollbar-button:end:decrement,.fui-ppanel::-webkit-scrollbar-button:end:increment,.fui-ppanel::-webkit-scrollbar-button:start:decrement,.fui-ppanel::-webkit-scrollbar-button:start:increment,.fui-ppanel::-webkit-scrollbar-thumb{border:1px solid #e7e7e7}.fui-ppanel.fui-ppanel-position{position:fixed;z-index:99999}.fui-separator{background:#6d6d6d}.fui-spin-button .fui-spin-down-btn .fui-icon,.fui-spin-button .fui-spin-up-btn .fui-icon{width:16px;height:9px;background:url(images/up.png) 3px 1.5px no-repeat}.fui-spin-button .fui-spin-down-btn .fui-icon{background-image:url(images/down.png)}.fui-tabs .fui-selected{background-color:#d5e1f2}.fui-toggle-button.fui-button-pressed{background-color:#aec5e6}.fui-toggle-button.fui-button-pressed.fui-disabled{background-color:#aec5e6!important} \ No newline at end of file diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/close.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/close.png new file mode 100644 index 0000000..4f8885f Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/close.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/down.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/down.png new file mode 100644 index 0000000..cf92db6 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/down.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/open.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/open.png new file mode 100644 index 0000000..861a04e Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/open.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/up.png b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/up.png new file mode 100644 index 0000000..4e4a6d1 Binary files /dev/null and b/dzz/system/ueditor/kityformula-plugin/kityformula/assets/theme/default/images/up.png differ diff --git a/dzz/system/ueditor/kityformula-plugin/kityformula/js/jquery-1.11.0.min.js b/dzz/system/ueditor/kityformula-plugin/kityformula/js/jquery-1.11.0.min.js new file mode 100644 index 0000000..73f33fb --- /dev/null +++ b/dzz/system/ueditor/kityformula-plugin/kityformula/js/jquery-1.11.0.min.js @@ -0,0 +1,4 @@ +/*! jQuery v1.11.0 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k="".trim,l={},m="1.11.0",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(n.isPlainObject(c)||(b=n.isArray(c)))?(b?(b=!1,f=a&&n.isArray(a)?a:[]):f=a&&n.isPlainObject(a)?a:{},g[d]=n.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray||function(a){return"array"===n.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(l.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&n.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:k&&!k.call("\ufeff\xa0")?function(a){return null==a?"":k.call(a)}:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),n.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||n.guid++,e):void 0},now:function(){return+new Date},support:l}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s="sizzle"+-new Date,t=a.document,u=0,v=0,w=eb(),x=eb(),y=eb(),z=function(a,b){return a===b&&(j=!0),0},A="undefined",B=1<<31,C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=D.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",M=L.replace("w","w#"),N="\\["+K+"*("+L+")"+K+"*(?:([*^$|!~]?=)"+K+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+M+")|)|)"+K+"*\\]",O=":("+L+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+N.replace(3,8)+")*)|.*)\\)|)",P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(O),U=new RegExp("^"+M+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L.replace("w","w*")+")"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=/'|\\/g,ab=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),bb=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{G.apply(D=H.call(t.childNodes),t.childNodes),D[t.childNodes.length].nodeType}catch(cb){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function db(a,b,d,e){var f,g,h,i,j,m,p,q,u,v;if((b?b.ownerDocument||b:t)!==l&&k(b),b=b||l,d=d||[],!a||"string"!=typeof a)return d;if(1!==(i=b.nodeType)&&9!==i)return[];if(n&&!e){if(f=Z.exec(a))if(h=f[1]){if(9===i){if(g=b.getElementById(h),!g||!g.parentNode)return d;if(g.id===h)return d.push(g),d}else if(b.ownerDocument&&(g=b.ownerDocument.getElementById(h))&&r(b,g)&&g.id===h)return d.push(g),d}else{if(f[2])return G.apply(d,b.getElementsByTagName(a)),d;if((h=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(h)),d}if(c.qsa&&(!o||!o.test(a))){if(q=p=s,u=b,v=9===i&&a,1===i&&"object"!==b.nodeName.toLowerCase()){m=ob(a),(p=b.getAttribute("id"))?q=p.replace(_,"\\$&"):b.setAttribute("id",q),q="[id='"+q+"'] ",j=m.length;while(j--)m[j]=q+pb(m[j]);u=$.test(a)&&mb(b.parentNode)||b,v=m.join(",")}if(v)try{return G.apply(d,u.querySelectorAll(v)),d}catch(w){}finally{p||b.removeAttribute("id")}}}return xb(a.replace(P,"$1"),b,d,e)}function eb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function fb(a){return a[s]=!0,a}function gb(a){var b=l.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function hb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function ib(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||B)-(~a.sourceIndex||B);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function jb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function kb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function lb(a){return fb(function(b){return b=+b,fb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function mb(a){return a&&typeof a.getElementsByTagName!==A&&a}c=db.support={},f=db.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},k=db.setDocument=function(a){var b,e=a?a.ownerDocument||a:t,g=e.defaultView;return e!==l&&9===e.nodeType&&e.documentElement?(l=e,m=e.documentElement,n=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){k()},!1):g.attachEvent&&g.attachEvent("onunload",function(){k()})),c.attributes=gb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=gb(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(e.getElementsByClassName)&&gb(function(a){return a.innerHTML="
    ",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=gb(function(a){return m.appendChild(a).id=s,!e.getElementsByName||!e.getElementsByName(s).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==A&&n){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ab,bb);return function(a){var c=typeof a.getAttributeNode!==A&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==A?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==A&&n?b.getElementsByClassName(a):void 0},p=[],o=[],(c.qsa=Y.test(e.querySelectorAll))&&(gb(function(a){a.innerHTML="",a.querySelectorAll("[t^='']").length&&o.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||o.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll(":checked").length||o.push(":checked")}),gb(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&o.push("name"+K+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||o.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),o.push(",.*:")})),(c.matchesSelector=Y.test(q=m.webkitMatchesSelector||m.mozMatchesSelector||m.oMatchesSelector||m.msMatchesSelector))&&gb(function(a){c.disconnectedMatch=q.call(a,"div"),q.call(a,"[s!='']:x"),p.push("!=",O)}),o=o.length&&new RegExp(o.join("|")),p=p.length&&new RegExp(p.join("|")),b=Y.test(m.compareDocumentPosition),r=b||Y.test(m.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},z=b?function(a,b){if(a===b)return j=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===t&&r(t,a)?-1:b===e||b.ownerDocument===t&&r(t,b)?1:i?I.call(i,a)-I.call(i,b):0:4&d?-1:1)}:function(a,b){if(a===b)return j=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],k=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:i?I.call(i,a)-I.call(i,b):0;if(f===g)return ib(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)k.unshift(c);while(h[d]===k[d])d++;return d?ib(h[d],k[d]):h[d]===t?-1:k[d]===t?1:0},e):l},db.matches=function(a,b){return db(a,null,null,b)},db.matchesSelector=function(a,b){if((a.ownerDocument||a)!==l&&k(a),b=b.replace(S,"='$1']"),!(!c.matchesSelector||!n||p&&p.test(b)||o&&o.test(b)))try{var d=q.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return db(b,l,null,[a]).length>0},db.contains=function(a,b){return(a.ownerDocument||a)!==l&&k(a),r(a,b)},db.attr=function(a,b){(a.ownerDocument||a)!==l&&k(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!n):void 0;return void 0!==f?f:c.attributes||!n?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},db.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},db.uniqueSort=function(a){var b,d=[],e=0,f=0;if(j=!c.detectDuplicates,i=!c.sortStable&&a.slice(0),a.sort(z),j){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return i=null,a},e=db.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=db.selectors={cacheLength:50,createPseudo:fb,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ab,bb),a[3]=(a[4]||a[5]||"").replace(ab,bb),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||db.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&db.error(a[0]),a},PSEUDO:function(a){var b,c=!a[5]&&a[2];return V.CHILD.test(a[0])?null:(a[3]&&void 0!==a[4]?a[2]=a[4]:c&&T.test(c)&&(b=ob(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ab,bb).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=w[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&w(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==A&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=db.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),t=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&t){k=q[s]||(q[s]={}),j=k[a]||[],n=j[0]===u&&j[1],m=j[0]===u&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[u,n,m];break}}else if(t&&(j=(b[s]||(b[s]={}))[a])&&j[0]===u)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(t&&((l[s]||(l[s]={}))[a]=[u,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||db.error("unsupported pseudo: "+a);return e[s]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?fb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:fb(function(a){var b=[],c=[],d=g(a.replace(P,"$1"));return d[s]?fb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:fb(function(a){return function(b){return db(a,b).length>0}}),contains:fb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:fb(function(a){return U.test(a||"")||db.error("unsupported lang: "+a),a=a.replace(ab,bb).toLowerCase(),function(b){var c;do if(c=n?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===m},focus:function(a){return a===l.activeElement&&(!l.hasFocus||l.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:lb(function(){return[0]}),last:lb(function(a,b){return[b-1]}),eq:lb(function(a,b,c){return[0>c?c+b:c]}),even:lb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:lb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:lb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:lb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function qb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=v++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[u,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[s]||(b[s]={}),(h=i[d])&&h[0]===u&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function rb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function sb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function tb(a,b,c,d,e,f){return d&&!d[s]&&(d=tb(d)),e&&!e[s]&&(e=tb(e,f)),fb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||wb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:sb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=sb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=sb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ub(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],i=g||d.relative[" "],j=g?1:0,k=qb(function(a){return a===b},i,!0),l=qb(function(a){return I.call(b,a)>-1},i,!0),m=[function(a,c,d){return!g&&(d||c!==h)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>j;j++)if(c=d.relative[a[j].type])m=[qb(rb(m),c)];else{if(c=d.filter[a[j].type].apply(null,a[j].matches),c[s]){for(e=++j;f>e;e++)if(d.relative[a[e].type])break;return tb(j>1&&rb(m),j>1&&pb(a.slice(0,j-1).concat({value:" "===a[j-2].type?"*":""})).replace(P,"$1"),c,e>j&&ub(a.slice(j,e)),f>e&&ub(a=a.slice(e)),f>e&&pb(a))}m.push(c)}return rb(m)}function vb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,i,j,k){var m,n,o,p=0,q="0",r=f&&[],s=[],t=h,v=f||e&&d.find.TAG("*",k),w=u+=null==t?1:Math.random()||.1,x=v.length;for(k&&(h=g!==l&&g);q!==x&&null!=(m=v[q]);q++){if(e&&m){n=0;while(o=a[n++])if(o(m,g,i)){j.push(m);break}k&&(u=w)}c&&((m=!o&&m)&&p--,f&&r.push(m))}if(p+=q,c&&q!==p){n=0;while(o=b[n++])o(r,s,g,i);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=E.call(j));s=sb(s)}G.apply(j,s),k&&!f&&s.length>0&&p+b.length>1&&db.uniqueSort(j)}return k&&(u=w,h=t),r};return c?fb(f):f}g=db.compile=function(a,b){var c,d=[],e=[],f=y[a+" "];if(!f){b||(b=ob(a)),c=b.length;while(c--)f=ub(b[c]),f[s]?d.push(f):e.push(f);f=y(a,vb(e,d))}return f};function wb(a,b,c){for(var d=0,e=b.length;e>d;d++)db(a,b[d],c);return c}function xb(a,b,e,f){var h,i,j,k,l,m=ob(a);if(!f&&1===m.length){if(i=m[0]=m[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&c.getById&&9===b.nodeType&&n&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(ab,bb),b)||[])[0],!b)return e;a=a.slice(i.shift().value.length)}h=V.needsContext.test(a)?0:i.length;while(h--){if(j=i[h],d.relative[k=j.type])break;if((l=d.find[k])&&(f=l(j.matches[0].replace(ab,bb),$.test(i[0].type)&&mb(b.parentNode)||b))){if(i.splice(h,1),a=f.length&&pb(i),!a)return G.apply(e,f),e;break}}}return g(a,m)(f,b,!n,e,$.test(a)&&mb(b.parentNode)||b),e}return c.sortStable=s.split("").sort(z).join("")===s,c.detectDuplicates=!!j,k(),c.sortDetached=gb(function(a){return 1&a.compareDocumentPosition(l.createElement("div"))}),gb(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||hb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&gb(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||hb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),gb(function(a){return null==a.getAttribute("disabled")})||hb(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),db}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return n.inArray(a,b)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;e>b;b++)if(n.contains(d[b],this))return!0}));for(b=0;e>b;b++)n.find(a,d[b],c);return c=this.pushStack(e>1?n.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=a.document,A=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,B=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:A.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:z,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=z.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return y.find(a);this.length=1,this[0]=d}return this.context=z,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};B.prototype=n.fn,y=n(z);var C=/^(?:parents|prev(?:Until|All))/,D={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!n(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b,c=n(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(n.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?n.inArray(this[0],n(a)):n.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function E(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return E(a,"nextSibling")},prev:function(a){return E(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return n.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(D[a]||(e=n.unique(e)),C.test(a)&&(e=e.reverse())),this.pushStack(e)}});var F=/\S+/g,G={};function H(a){var b=G[a]={};return n.each(a.match(F)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?G[a]||H(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&n.each(arguments,function(a,c){var d;while((d=n.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){if(a===!0?!--n.readyWait:!n.isReady){if(!z.body)return setTimeout(n.ready);n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(z,[n]),n.fn.trigger&&n(z).trigger("ready").off("ready"))}}});function J(){z.addEventListener?(z.removeEventListener("DOMContentLoaded",K,!1),a.removeEventListener("load",K,!1)):(z.detachEvent("onreadystatechange",K),a.detachEvent("onload",K))}function K(){(z.addEventListener||"load"===event.type||"complete"===z.readyState)&&(J(),n.ready())}n.ready.promise=function(b){if(!I)if(I=n.Deferred(),"complete"===z.readyState)setTimeout(n.ready);else if(z.addEventListener)z.addEventListener("DOMContentLoaded",K,!1),a.addEventListener("load",K,!1);else{z.attachEvent("onreadystatechange",K),a.attachEvent("onload",K);var c=!1;try{c=null==a.frameElement&&z.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!n.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}J(),n.ready()}}()}return I.promise(b)};var L="undefined",M;for(M in n(l))break;l.ownLast="0"!==M,l.inlineBlockNeedsLayout=!1,n(function(){var a,b,c=z.getElementsByTagName("body")[0];c&&(a=z.createElement("div"),a.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",b=z.createElement("div"),c.appendChild(a).appendChild(b),typeof b.style.zoom!==L&&(b.style.cssText="border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1",(l.inlineBlockNeedsLayout=3===b.offsetWidth)&&(c.style.zoom=1)),c.removeChild(a),a=b=null)}),function(){var a=z.createElement("div");if(null==l.deleteExpando){l.deleteExpando=!0;try{delete a.test}catch(b){l.deleteExpando=!1}}a=null}(),n.acceptData=function(a){var b=n.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(O,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}n.data(a,b,c)}else c=void 0}return c}function Q(a){var b;for(b in a)if(("data"!==b||!n.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function R(a,b,d,e){if(n.acceptData(a)){var f,g,h=n.expando,i=a.nodeType,j=i?n.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||n.guid++:h),j[k]||(j[k]=i?{}:{toJSON:n.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=n.extend(j[k],b):j[k].data=n.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[n.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[n.camelCase(b)])):f=g,f +}}function S(a,b,c){if(n.acceptData(a)){var d,e,f=a.nodeType,g=f?n.cache:a,h=f?a[n.expando]:n.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){n.isArray(b)?b=b.concat(n.map(b,n.camelCase)):b in d?b=[b]:(b=n.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!Q(d):!n.isEmptyObject(d))return}(c||(delete g[h].data,Q(g[h])))&&(f?n.cleanData([a],!0):l.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}n.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?n.cache[a[n.expando]]:a[n.expando],!!a&&!Q(a)},data:function(a,b,c){return R(a,b,c)},removeData:function(a,b){return S(a,b)},_data:function(a,b,c){return R(a,b,c,!0)},_removeData:function(a,b){return S(a,b,!0)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=n.data(f),1===f.nodeType&&!n._data(f,"parsedAttrs"))){c=g.length;while(c--)d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d]));n._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){n.data(this,a)}):arguments.length>1?this.each(function(){n.data(this,a,b)}):f?P(f,a,n.data(f,a)):void 0},removeData:function(a){return this.each(function(){n.removeData(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=n._data(a,b),c&&(!d||n.isArray(c)?d=n._data(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return n._data(a,c)||n._data(a,c,{empty:n.Callbacks("once memory").add(function(){n._removeData(a,b+"queue"),n._removeData(a,c)})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},X=/^(?:checkbox|radio)$/i;!function(){var a=z.createDocumentFragment(),b=z.createElement("div"),c=z.createElement("input");if(b.setAttribute("className","t"),b.innerHTML="
    a",l.leadingWhitespace=3===b.firstChild.nodeType,l.tbody=!b.getElementsByTagName("tbody").length,l.htmlSerialize=!!b.getElementsByTagName("link").length,l.html5Clone="<:nav>"!==z.createElement("nav").cloneNode(!0).outerHTML,c.type="checkbox",c.checked=!0,a.appendChild(c),l.appendChecked=c.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,a.appendChild(b),b.innerHTML="",l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,l.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){l.noCloneEvent=!1}),b.cloneNode(!0).click()),null==l.deleteExpando){l.deleteExpando=!0;try{delete b.test}catch(d){l.deleteExpando=!1}}a=b=c=null}(),function(){var b,c,d=z.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(l[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),l[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var Y=/^(?:input|select|textarea)$/i,Z=/^key/,$=/^(?:mouse|contextmenu)|click/,_=/^(?:focusinfocus|focusoutblur)$/,ab=/^([^.]*)(?:\.(.+)|)$/;function bb(){return!0}function cb(){return!1}function db(){try{return z.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=n.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof n===L||a&&n.event.triggered===a.type?void 0:n.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(F)||[""],h=b.length;while(h--)f=ab.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=n.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=n.event.special[o]||{},l=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},i),(m=g[o])||(m=g[o]=[],m.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,l):m.push(l),n.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=n.hasData(a)&&n._data(a);if(r&&(k=r.events)){b=(b||"").match(F)||[""],j=b.length;while(j--)if(h=ab.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=m.length;while(f--)g=m[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(m.splice(f,1),g.selector&&m.delegateCount--,l.remove&&l.remove.call(a,g));i&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(k)&&(delete r.handle,n._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,m,o=[d||z],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||z,3!==d.nodeType&&8!==d.nodeType&&!_.test(p+n.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[n.expando]?b:new n.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),k=n.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!n.isWindow(d)){for(i=k.delegateType||p,_.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||z)&&o.push(l.defaultView||l.parentWindow||a)}m=0;while((h=o[m++])&&!b.isPropagationStopped())b.type=m>1?i:k.bindType||p,f=(n._data(h,"events")||{})[b.type]&&n._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&n.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&n.acceptData(d)&&g&&d[p]&&!n.isWindow(d)){l=d[g],l&&(d[g]=null),n.event.triggered=p;try{d[p]()}catch(r){}n.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(n._data(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((n.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?n(c,this).index(i)>=0:n.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),ib=/^\s+/,jb=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,kb=/<([\w:]+)/,lb=/\s*$/g,sb={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:l.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]},tb=eb(z),ub=tb.appendChild(z.createElement("div"));sb.optgroup=sb.option,sb.tbody=sb.tfoot=sb.colgroup=sb.caption=sb.thead,sb.th=sb.td;function vb(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==L?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==L?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||n.nodeName(d,b)?f.push(d):n.merge(f,vb(d,b));return void 0===b||b&&n.nodeName(a,b)?n.merge([a],f):f}function wb(a){X.test(a.type)&&(a.defaultChecked=a.checked)}function xb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function yb(a){return a.type=(null!==n.find.attr(a,"type"))+"/"+a.type,a}function zb(a){var b=qb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ab(a,b){for(var c,d=0;null!=(c=a[d]);d++)n._data(c,"globalEval",!b||n._data(b[d],"globalEval"))}function Bb(a,b){if(1===b.nodeType&&n.hasData(a)){var c,d,e,f=n._data(a),g=n._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)n.event.add(b,c,h[c][d])}g.data&&(g.data=n.extend({},g.data))}}function Cb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!l.noCloneEvent&&b[n.expando]){e=n._data(b);for(d in e.events)n.removeEvent(b,d,e.handle);b.removeAttribute(n.expando)}"script"===c&&b.text!==a.text?(yb(b).text=a.text,zb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),l.html5Clone&&a.innerHTML&&!n.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&X.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}n.extend({clone:function(a,b,c){var d,e,f,g,h,i=n.contains(a.ownerDocument,a);if(l.html5Clone||n.isXMLDoc(a)||!hb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(ub.innerHTML=a.outerHTML,ub.removeChild(f=ub.firstChild)),!(l.noCloneEvent&&l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(d=vb(f),h=vb(a),g=0;null!=(e=h[g]);++g)d[g]&&Cb(e,d[g]);if(b)if(c)for(h=h||vb(a),d=d||vb(f),g=0;null!=(e=h[g]);g++)Bb(e,d[g]);else Bb(a,f);return d=vb(f,"script"),d.length>0&&Ab(d,!i&&vb(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k,m=a.length,o=eb(b),p=[],q=0;m>q;q++)if(f=a[q],f||0===f)if("object"===n.type(f))n.merge(p,f.nodeType?[f]:f);else if(mb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(kb.exec(f)||["",""])[1].toLowerCase(),k=sb[i]||sb._default,h.innerHTML=k[1]+f.replace(jb,"<$1>")+k[2],e=k[0];while(e--)h=h.lastChild;if(!l.leadingWhitespace&&ib.test(f)&&p.push(b.createTextNode(ib.exec(f)[0])),!l.tbody){f="table"!==i||lb.test(f)?""!==k[1]||lb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)n.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}n.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),l.appendChecked||n.grep(vb(p,"input"),wb),q=0;while(f=p[q++])if((!d||-1===n.inArray(f,d))&&(g=n.contains(f.ownerDocument,f),h=vb(o.appendChild(f),"script"),g&&Ab(h),c)){e=0;while(f=h[e++])pb.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=n.expando,j=n.cache,k=l.deleteExpando,m=n.event.special;null!=(d=a[h]);h++)if((b||n.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)m[e]?n.event.remove(d,e):n.removeEvent(d,e,g.handle);j[f]&&(delete j[f],k?delete d[i]:typeof d.removeAttribute!==L?d.removeAttribute(i):d[i]=null,c.push(f))}}}),n.fn.extend({text:function(a){return W(this,function(a){return void 0===a?n.text(this):this.empty().append((this[0]&&this[0].ownerDocument||z).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=xb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(vb(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&Ab(vb(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&n.cleanData(vb(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&n.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return W(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(gb,""):void 0;if(!("string"!=typeof a||nb.test(a)||!l.htmlSerialize&&hb.test(a)||!l.leadingWhitespace&&ib.test(a)||sb[(kb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(jb,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(vb(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(vb(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,k=this.length,m=this,o=k-1,p=a[0],q=n.isFunction(p);if(q||k>1&&"string"==typeof p&&!l.checkClone&&ob.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(k&&(i=n.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=n.map(vb(i,"script"),yb),f=g.length;k>j;j++)d=i,j!==o&&(d=n.clone(d,!0,!0),f&&n.merge(g,vb(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,n.map(g,zb),j=0;f>j;j++)d=g[j],pb.test(d.type||"")&&!n._data(d,"globalEval")&&n.contains(h,d)&&(d.src?n._evalUrl&&n._evalUrl(d.src):n.globalEval((d.text||d.textContent||d.innerHTML||"").replace(rb,"")));i=c=null}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=0,e=[],g=n(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),n(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Db,Eb={};function Fb(b,c){var d=n(c.createElement(b)).appendTo(c.body),e=a.getDefaultComputedStyle?a.getDefaultComputedStyle(d[0]).display:n.css(d[0],"display");return d.detach(),e}function Gb(a){var b=z,c=Eb[a];return c||(c=Fb(a,b),"none"!==c&&c||(Db=(Db||n("'; + case 'embed': + str = ''; break; case 'video': var ext = url.substr(url.lastIndexOf('.') + 1); if(ext == 'ogv') ext = 'ogg'; str = '' + + ' controls preload="none" width="' + width + '" height="' + height + '" src="' + url + '" data-setup="{}">' + ''; break; } @@ -17653,13 +17819,13 @@ UE.plugins['video'] = function (){ } function switchImgAndVideo(root,img2video){ - utils.each(root.getNodesByTagName(img2video ? 'img' : 'video'),function(node){ + utils.each(root.getNodesByTagName(img2video ? 'img' : 'embed video'),function(node){ var className = node.getAttr('class'); - if(className && className.indexOf('edui-faked') != -1){ - var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'iframe':'image'); + if(className && className.indexOf('edui-faked-video') != -1){ + var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'embed':'image'); node.parentNode.replaceChild(UE.uNode.createElement(html),node); } - if(className && className.indexOf('edui-upload') != -1){ + if(className && className.indexOf('edui-upload-video') != -1){ var html = creatInsertStr( img2video ? node.getAttr('_url') : node.getAttr('src'),node.getAttr('width'),node.getAttr('height'),null,node.getStyle('float') || '',className,img2video ? 'video':'image'); node.parentNode.replaceChild(UE.uNode.createElement(html),node); } @@ -17745,17 +17911,17 @@ UE.plugins['video'] = function (){ var html = [],id = 'tmpVedio', cl; for(var i=0,vi,len = videoObjs.length;i') + (uiUtils.getClientRect(this.getDom()).width + 20) + 'px">') ); popup.getDom().className += ' ' + this.className; }, this)); @@ -27748,8 +27914,6 @@ UE.ui = baidu.editor.ui = {}; 'wordimage':'~/dialogs/wordimage/wordimage.html', 'attachment':'~/dialogs/attachment/attachment.html', 'insertframe':'~/dialogs/insertframe/insertframe.html', - 'kityformula':'~/dialogs/kityformula/kityFormulaDialog.html', - 'kityminder':'~/dialogs/kityminder/kityMinderDialog.html', 'edittip':'~/dialogs/table/edittip.html', 'edittable':'~/dialogs/table/edittable.html', 'edittd':'~/dialogs/table/edittd.html', @@ -27988,7 +28152,7 @@ UE.ui = baidu.editor.ui = {}; var dialogBtns = { noOk:['searchreplace', 'help', 'spechars', 'webapp','preview'], ok:['attachment', 'anchor', 'link', 'insertimage', 'map', 'gmap', 'insertframe', 'wordimage', - 'insertvideo', 'insertframe', 'edittip', 'edittable', 'edittd', 'scrawl', 'template', 'music', 'background', 'charts', 'kityminder', 'kityformula'] + 'insertvideo', 'insertframe', 'edittip', 'edittable', 'edittd', 'scrawl', 'template', 'music', 'background', 'charts'] }; for (var p in dialogBtns) { @@ -28012,7 +28176,7 @@ UE.ui = baidu.editor.ui = {}; className:'edui-for-' + cmd, title:title, holdScroll: cmd === 'insertimage', - fullscreen: /charts|preview|kityminder|kityformula/.test(cmd), + fullscreen: /charts|preview/.test(cmd), closeDialog:editor.getLang("closeDialog") }, type == 'ok' ? { buttons:[ @@ -29522,254 +29686,6 @@ UE.ui = baidu.editor.ui = {}; } })(); -///import core -///plugin 编辑器默认的过滤转换机制 - -UE.plugins['defaultfilter'] = function () { - var me = this; - me.setOpt({ - 'allowDivTransToP':true, - 'disabledTableInTable':true, - 'rgb2Hex':true - }); - //默认的过滤处理 - //进入编辑器的内容处理 - me.addInputRule(function (root) { - var allowDivTransToP = this.options.allowDivTransToP; - var val; - function tdParent(node){ - while(node && node.type == 'element'){ - if(node.tagName == 'td'){ - return true; - } - node = node.parentNode; - } - return false; - } - //进行默认的处理 - root.traversal(function (node) { - if (node.type == 'element') { - if (!UE.dom.dtd.$cdata[node.tagName] && me.options.autoClearEmptyNode && UE.dom.dtd.$inline[node.tagName] && !UE.dom.dtd.$empty[node.tagName] && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { - if (!node.firstChild()) node.parentNode.removeChild(node); - else if (node.tagName == 'span' && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { - node.parentNode.removeChild(node, true) - } - return; - } - switch (node.tagName) { - case 'style': - case 'script': - node.setAttr({ - cdata_tag: node.tagName, - cdata_data: (node.innerHTML() || ''), - '_ue_custom_node_':'true' - }); - node.tagName = 'div'; - node.innerHTML(''); - break; - case 'a': - if (val = node.getAttr('href')) { - node.setAttr('_href', val) - } - break; - case 'img': - //todo base64暂时去掉,后边做远程图片上传后,干掉这个 -// if (val = node.getAttr('src')) { -// if (/^data:/.test(val)) { -// node.parentNode.removeChild(node); -// break; -// } -// } - node.setAttr('_src', node.getAttr('src')); - break; - case 'span': - if (UE.browser.webkit && (val = node.getStyle('white-space'))) { - if (/nowrap|normal/.test(val)) { - node.setStyle('white-space', ''); - if (me.options.autoClearEmptyNode && UE.utils.isEmptyObject(node.attrs)) { - node.parentNode.removeChild(node, true) - } - } - } - val = node.getAttr('id'); - if(val && /^_baidu_bookmark_/i.test(val)){ - node.parentNode.removeChild(node) - } - break; - case 'p': - if (val = node.getAttr('align')) { - node.setAttr('align'); - node.setStyle('text-align', val) - } - //trace:3431 -// var cssStyle = node.getAttr('style'); -// if (cssStyle) { -// cssStyle = cssStyle.replace(/(margin|padding)[^;]+/g, ''); -// node.setAttr('style', cssStyle) -// -// } - //p标签不允许嵌套 - UE.utils.each(node.children,function(n){ - if(n.type == 'element' && n.tagName == 'p'){ - var next = n.nextSibling(); - node.parentNode.insertAfter(n,node); - var last = n; - while(next){ - var tmp = next.nextSibling(); - node.parentNode.insertAfter(next,last); - last = next; - next = tmp; - } - return false; - } - }); - if (!node.firstChild()) { - node.innerHTML(UE.browser.ie ? ' ' : '
    ') - } - break; - case 'div': - if(node.getAttr('cdata_tag')){ - break; - } - //针对代码这里不处理插入代码的div - val = node.getAttr('class'); - if(val && /^line number\d+/.test(val)){ - break; - } - if(!allowDivTransToP){ - break; - } - var tmpNode, p = UE.uNode.createElement('p'); - while (tmpNode = node.firstChild()) { - //if (tmpNode.type == 'text' || !UE.dom.UE.dom.dtd.$block[tmpNode.tagName]) { - if (tmpNode.type == 'text' || !UE.dom.dtd.$block[tmpNode.tagName]) { - p.appendChild(tmpNode); - } else { - if (p.firstChild()) { - node.parentNode.insertBefore(p, node); - p = UE.uNode.createElement('p'); - } else { - node.parentNode.insertBefore(tmpNode, node); - } - } - } - if (p.firstChild()) { - node.parentNode.insertBefore(p, node); - } - node.parentNode.removeChild(node); - break; - case 'dl': - node.tagName = 'ul'; - break; - case 'dt': - case 'dd': - node.tagName = 'li'; - break; - case 'li': - var className = node.getAttr('class'); - if (!className || !/list\-/.test(className)) { - node.setAttr() - } - var tmpNodes = node.getNodesByTagName('ol ul'); - UE.utils.each(tmpNodes, function (n) { - node.parentNode.insertAfter(n, node); - }); - break; - case 'td': - case 'th': - case 'caption': - if(!node.children || !node.children.length){ - node.appendChild(UE.browser.ie11below ? UE.uNode.createText(' ') : UE.uNode.createElement('br')) - } - break; - case 'table': - if(me.options.disabledTableInTable && tdParent(node)){ - node.parentNode.insertBefore(UE.uNode.createText(node.innerText()),node); - node.parentNode.removeChild(node) - } - } - - } -// if(node.type == 'comment'){ -// node.parentNode.removeChild(node); -// } - }) - - }); - - //从编辑器出去的内容处理 - me.addOutputRule(function (root) { - - var val; - root.traversal(function (node) { - if (node.type == 'element') { - - if (me.options.autoClearEmptyNode && UE.dom.dtd.$inline[node.tagName] && !UE.dom.dtd.$empty[node.tagName] && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { - - if (!node.firstChild()) node.parentNode.removeChild(node); - else if (node.tagName == 'span' && (!node.attrs || UE.utils.isEmptyObject(node.attrs))) { - node.parentNode.removeChild(node, true) - } - return; - } - switch (node.tagName) { - case 'div': - if (val = node.getAttr('cdata_tag')) { - node.tagName = val; - node.appendChild(UE.uNode.createText(node.getAttr('cdata_data'))); - node.setAttr({cdata_tag: '', cdata_data: '','_ue_custom_node_':''}); - } - break; - case 'a': - if (val = node.getAttr('_href')) { - node.setAttr({ - 'href': UE.utils.html(val), - '_href': '' - }) - } - break; - break; - case 'span': - val = node.getAttr('id'); - if(val && /^_baidu_bookmark_/i.test(val)){ - node.parentNode.removeChild(node) - } - //将color的rgb格式转换为#16进制格式 - if(me.getOpt('rgb2Hex')){ - var cssStyle = node.getAttr('style'); - if(cssStyle){ - node.setAttr('style',cssStyle.replace(/rgba?\(([\d,\s]+)\)/g,function(a,value){ - var array = value.split(","); - if (array.length > 3) - return ""; - value = "#"; - for (var i = 0, color; color = array[i++];) { - color = parseInt(color.replace(/[^\d]/gi, ''), 10).toString(16); - value += color.length == 1 ? "0" + color : color; - } - return value.toUpperCase(); - - })) - } - } - break; - case 'img': - if (val = node.getAttr('_src')) { - node.setAttr({ - 'src': node.getAttr('_src'), - '_src': '' - }) - } - - - } - } - - }) - - - }); -}; // adapter/message.js UE.registerUI('message', function(editor) { @@ -29856,4 +29772,5 @@ UE.registerUI('autosave', function(editor) { }); + })(); diff --git a/dzz/system/ueditor/ueditor.all.min.js b/dzz/system/ueditor/ueditor.all.min.js index 5e54665..7eb72df 100644 --- a/dzz/system/ueditor/ueditor.all.min.js +++ b/dzz/system/ueditor/ueditor.all.min.js @@ -3,4 +3,4 @@ * 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=i&&n===t)return r=u,!1}),r},removeItem:function(n,t){for(var i=0,r=n.length;i'](?:(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(" ")+" >");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;i0&&(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;r1||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||u0)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["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.length0)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?"":"")+" - + diff --git a/dzz/test/template/header_left.htm b/dzz/test/template/header_left.htm index 7ff46d2..8e94919 100644 --- a/dzz/test/template/header_left.htm +++ b/dzz/test/template/header_left.htm @@ -1,6 +1,6 @@ -
    diff --git a/install/language/zh-cn/lang.php b/install/language/zh-cn/lang.php index c8785f7..8e538bf 100644 --- a/install/language/zh-cn/lang.php +++ b/install/language/zh-cn/lang.php @@ -6,7 +6,7 @@ $lang=array ( 'database_connect_error' => '数据库连接错误', 'to_back' => '返回上一步', 'php_version_too_low' => 'php版本太低啦,请先升级php到5.3以上,建议使用php5.4及以上', - 'SC_UTF8' => '双语言 UTF8 版', + 'SC_UTF8' => '简体中文 UTF8 版', 'EN_UTF8' => 'ENGLIST UTF-8', 'error_quit_msg' => '安装出现问题了,无法继续,请解决下面提示的问题后刷新继续', 'title_install' => 'DzzOffice 安装向导', diff --git a/install/update.php b/install/update.php index c32cf1f..4073f6d 100644 --- a/install/update.php +++ b/install/update.php @@ -51,10 +51,10 @@ if($_GET['from']) { $lockfile = DZZ_ROOT.'./data/update.lock'; if(file_exists($lockfile) && !$_GET['from']) { - show_msg('请您先手工删除 ./data/update.lock 文件,再次运行本文件进行升级。'); + show_msg('请您先登录服务器ftp,手工删除 ./data/update.lock 文件,再次运行本文件进行升级。'); } -$sqlfile = 'data/install.sql'; +$sqlfile = DZZ_ROOT.'./install/data/install.sql'; if(!file_exists($sqlfile)) { show_msg('SQL文件 '.$sqlfile.' 不存在'); @@ -102,7 +102,7 @@ if($_GET['step'] == 'start') { show_msg('您的站点未关闭,正在关闭,请稍后...', $theurl.'?step=start', 5000); } show_msg('说明:
    本升级程序会参照最新的SQL文件,对数据库进行同步升级。
    - 请确保您已将最新版文件覆盖至本地文件。
    升级会还原部分默认设置。

    + 请确保当前目录下 ./data/install.sql 文件为最新版本。

    准备完毕,升级开始'); } elseif ($_GET['step'] == 'waitingdb') { @@ -258,155 +258,51 @@ if($_GET['step'] == 'start') { } elseif ($_GET['step'] == 'data') { if(!$_GET['dp']){ - if(!DB::result_first("select COUNT(*) from %t where skey=%s",array('setting','fileVersion'))){ + + + //新增两个配置项 C::t('setting')->update('fileVersion', '1'); - } - if(!DB::result_first("select COUNT(*) from %t where skey=%s",array('setting','fileVersionNumber'))){ C::t('setting')->update('fileVersionNumber', '50'); - } - if(!DB::result_first("select COUNT(*) from %t where skey=%s",array('setting','default_mod'))){ - C::t('setting')->update('default_mod', 'index_simple'); - } - if(!DB::result_first("select COUNT(*) from %t where skey=%s",array('setting','forbiddentime'))){ - C::t('setting')->update('forbiddentime', '900'); - } - if(!DB::result_first("select COUNT(*) from %t where skey=%s",array('setting','numberoflogins'))){ - C::t('setting')->update('numberoflogins', '5'); - } - if(!DB::result_first("select COUNT(*) from %t where skey=%s",array('setting','notification'))){ - C::t('setting')->update('notification', '60'); - } - if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{adminscript}?mod=appmanagement'))){ - DB::delete('app_market', array('appurl' => '{dzzscript}?mod=appmanagement')); - C::t('app_market')->insert(array('appname'=>'管理', - 'appico'=>'appico/201712/21/184312rthhhg9oujti9tuu.png', - 'appurl'=>'{adminscript}?mod=appmanagement', - 'appdesc'=>'管理员应用集合,方便管理员管理各个管理应用', + + //添加云设置和管理应用 + if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{adminscript}?mod=cloud'))){ + + C::t('app_market')->insert(array('appname'=>'云设置和管理', + 'appico'=>'appico/201712/21/171106u1dk40digrrr79ed.png', + 'appurl'=>'{adminscript}?mod=cloud', + 'appdesc'=>'设置和管理第三方云盘、云存储等', 'dateline'=>TIMESTAMP, - 'disp'=>1, - 'mid'=>1, + 'disp'=>5, 'vendor'=>'乐云网络', 'group'=>3, - 'haveflash'=>0, - 'isshow'=>1, - 'havetask'=>0, - 'hideInMarket'=>0, 'system'=>2, 'notdelete'=>1, - 'position'=>1, - 'open'=>1, + 'position'=>0, 'app_path'=>'admin', - 'identifier'=>'appmanagement', + 'identifier'=>'cloud', 'version'=>'2.0', - 'check_upgrade_time'=>'20171115', 'available'=>1),0,1); } - if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{dzzscript}?mod=filemanage'))){ - C::t('app_market')->insert(array('appname'=>'文件管理', - 'appico'=>'appico/201712/21/175535t47bad99b7sssdwq.png', - 'appurl'=>'{dzzscript}?mod=filemanage', - 'appdesc'=>'管理和查看系统所有文件', + //添加用户资料管理应用 + if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{adminscript}?mod=member'))){ + + C::t('app_market')->insert(array('appname'=>'用户资料管理', + 'appico'=>'appico/201712/21/103805dczcm89b0gi8i9gc.png', + 'appurl'=>'{adminscript}?mod=member', + 'appdesc'=>'用户资料项配置,资料审核,认证等', 'dateline'=>TIMESTAMP, - 'disp'=>6, - 'mid'=>6, + 'disp'=>10, 'vendor'=>'乐云网络', - 'haveflash'=>0, - 'isshow'=>1, - 'havetask'=>1, - 'hideInMarket'=>0, - 'group'=>1, - 'position'=>1, + 'group'=>3, 'system'=>2, 'notdelete'=>1, - 'open'=>1, - 'nodup'=>0, - 'identifier'=>'filemanage', - 'app_path'=>'dzz', - 'available'=>1, + 'position'=>0, + 'app_path'=>'admin', + 'identifier'=>'member', 'version'=>'2.0', - 'check_upgrade_time'=>'20180206'),0,1); - }else{ - DB::delete('app_market', array('appurl' => '{adminscript}?mod=filemanage')); - } - if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{dzzscript}?mod=orguser'))){ - C::t('app_market')->insert(array('appname'=>'文件管理', - 'appico'=>'appico/201712/21/175535t47bad99b7sssdwq.png', - 'appurl'=>'{dzzscript}?mod=orguser', - 'appdesc'=>'', - 'dateline'=>TIMESTAMP, - 'disp'=>2, - 'mid'=>2, - 'vendor'=>'乐云网络', - 'haveflash'=>0, - 'isshow'=>1, - 'havetask'=>1, - 'hideInMarket'=>0, - 'group'=>1, - 'position'=>1, - 'system'=>2, - 'notdelete'=>1, - 'open'=>1, - 'nodup'=>0, - 'identifier'=>'orguser', - 'app_path'=>'dzz', - 'available'=>1, - 'version'=>'2.0', - 'check_upgrade_time'=>'20220204'),0,1); - }else{ - DB::delete('app_market', array('appurl' => '{adminscript}?mod=filemanage')); - } - if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{dzzscript}?mod=share'))){ - C::t('app_market')->insert(array('appname'=>'分享管理', - 'appico'=>'appico/201712/21/165535t47bad99b7qqqdwq.png', - 'appurl'=>'{dzzscript}?mod=share', - 'appdesc'=>'管理和查阅所有分享', - 'dateline'=>TIMESTAMP, - 'disp'=>7, - 'mid'=>7, - 'vendor'=>'乐云网络', - 'haveflash'=>0, - 'isshow'=>1, - 'havetask'=>1, - 'hideInMarket'=>0, - 'group'=>1, - 'position'=>1, - 'system'=>2, - 'notdelete'=>1, - 'open'=>1, - 'nodup'=>0, - 'identifier'=>'share', - 'app_path'=>'dzz', - 'available'=>1, - 'version'=>'2.0', - 'check_upgrade_time'=>'20180206'),0,1); - }else{ - DB::delete('app_market', array('appurl' => '{adminscript}?mod=share')); - } - if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{dzzscript}?mod=comment'))){ - C::t('app_market')->insert(array('appname'=>'评论', - 'appico'=>'appico/201712/21/128754pb0s666i6sjws1jc.png', - 'appurl'=>'{dzzscript}?mod=comment', - 'appdesc'=>'Dzz 系统评论组件,结合在其他应用使用,如新闻。其他开发者也可以为自己的应用调用这个通用评论插件', - 'dateline'=>TIMESTAMP, - 'disp'=>12, - 'mid'=>12, - 'vendor'=>'乐云网络', - 'haveflash'=>0, - 'isshow'=>1, - 'havetask'=>1, - 'hideInMarket'=>0, - 'group'=>1, - 'position'=>1, - 'system'=>2, - 'notdelete'=>1, - 'open'=>1, - 'nodup'=>0, - 'identifier'=>'comment', - 'app_path'=>'dzz', - 'available'=>1, - 'version'=>'2.0', - 'check_upgrade_time'=>'20171115'),0,1); + 'available'=>1),0,1); } + //处理更新之后群组开关问题 DB::update('organization',array('manageon'=>1,'available'=>1,'syatemon'=>1),"1"); show_msg("基本设置修改完成", "$theurl?step=data&dp=1"); @@ -449,7 +345,6 @@ if($_GET['step'] == 'start') { $count_i = DB::result_first("select COUNT(*) from %t",array('folder')); if($i>=$count_i) { - show_msg('开始修复回收站...', $theurl.'?step=data&dp=4'); } $arr=DB::fetch_first("select fid from %t order by fid limit $i,1",array('folder')); @@ -719,7 +614,7 @@ function show_header() {
    -

    DzzOffice 小胡版 数据库升级工具

    +

    DzzOffice 数据库升级工具

    diff --git a/share.php b/share.php index 3bb9be4..6446463 100644 --- a/share.php +++ b/share.php @@ -87,78 +87,10 @@ if($_GET['a']=='down'){ exit(); } -}elseif($_GET['a']=='noview'){ - $vid = isset($_GET['vid']) ? intval($_GET['vid']):0; - if($vid){ - if(!$icoarr = C::t('resources_version')->fetch_version_by_rid_vid($path,$vid)){ - showmessage(lang('attachment_nonexistence')); - }else{ - $path = dzzdecode($icoarr['icoid']); - } - }else{ - if(!$icoarr=IO::getMeta($path)){ - showmessage(lang('attachment_nonexistence')); - } - $icoarr['icoid'] = $_GET['s']; - } - $imageexts=array('jpg','jpeg','png','gif'); //图片使用; - $filename=$icoarr['name'];//rtrim($_GET['n'],'.dzz'); - $ext=$icoarr['ext'];//strtolower(substr(strrchr($filename, '.'), 1, 10)); - if(!$ext) $ext=preg_replace("/\?.+/i",'',strtolower(substr(strrchr(rtrim($url,'.dzz'), '.'), 1, 10))); - if(in_array($ext,$imageexts)){ - $url=$_G['siteurl'].'index.php?mod=io&op=thumbnail&original=1&path='.$icoarr['icoid']; - @header("Location: $url"); - exit(); - } - $extall=C::t('app_open')->fetch_all_ext(); - $exts=array(); - $bzarr=explode(':',$icoarr['rbz']?$icoarr['rbz']:$icoarr['bz']); - $bz=($bzarr[0]) ? $bzarr[0]:'dzz'; - foreach($extall as $value){ - if(!isset($exts[$value['ext']]) || $value['isdefault']) $exts[$value['ext']]=$value; - } - - if(isset($exts[$bz.':'.$ext])){ - $data=$exts[$bz.':'.$ext]; - }elseif($exts[$ext]){ - $data=$exts[$ext]; - }elseif($exts[$icoarr['type']]){ - $data=$exts[$icoarr['type']]; - }else $data=array(); - if($data){ - $url=$data['url']; - if(strpos($url,'dzzjs:')!==false){//dzzjs形式时 - @header("Location: $icoarr[url]"); - exit(); - }else{ - //替换参数 - $url=preg_replace_callback("/{(\w+)}/i", function($matches) use($icoarr){ - $key=$matches[1]; - if($key=='path'){ - return $icoarr['icoid']; - }else if($key=='icoid'){ - return 'preview_'.random(5); - }else{ - return urlencode($icoarr[$key]); - } - }, $url); - //添加path参数; - if(strpos($url,'?')!==false && strpos($url,'path=')===false){ - $url.='&path='.$icoarr['icoid']; - } - $url = $_G['siteurl'].$url; - @header("Location: $url"); - exit(); - } - } } -if($_GET['a']=='noview'){ - showmessage('禁止下载'); -}else{ - //获取文件流地址 - if(!$url=(IO::getStream($path))){ - exit(lang('failed_get_file')); - } +//获取文件流地址 +if(!$url=(IO::getStream($path))){ + exit(lang('failed_get_file')); } if(is_array($url)) exit($url['error']); diff --git a/static/css/dlzc.css b/static/css/dlzc.css index ec20c30..67a90f5 100644 --- a/static/css/dlzc.css +++ b/static/css/dlzc.css @@ -175,4 +175,15 @@ } .img-circle{ border-radius: 50%; +} +.rq{ + color: red !important; +} +.form-control{ + background-color: transparent; + border-style: solid; + border-width: 0 0 1px 0; + border-color: #e1e1e1; + box-shadow: none; + border-radius: .5rem; } \ No newline at end of file diff --git a/user.php b/user.php index dd3451a..98a21af 100644 --- a/user.php +++ b/user.php @@ -9,5 +9,4 @@ define('APPTYPEID', 0); define('CURSCRIPT', 'user'); -define('BASESCRIPT', basename(__FILE__)); require './core/dzzstart.php'; \ No newline at end of file diff --git a/user/function/function_user.php b/user/function/function_user.php index 2705629..3f6cdff 100644 --- a/user/function/function_user.php +++ b/user/function/function_user.php @@ -189,21 +189,6 @@ function getinvite() return $result; } -function replacesitevar($string, $replaces = array()) -{ - global $_G; - $sitevars = array( - '{sitename}' => $_G['setting']['sitename'], - - '{time}' => dgmdate(TIMESTAMP, 'Y-n-j H:i'), - '{adminemail}' => $_G['setting']['adminemail'], - '{username}' => $_G['member']['username'], - '{myname}' => $_G['member']['username'] - ); - $replaces = array_merge($sitevars, $replaces); - return str_replace(array_keys($replaces), array_values($replaces), $string); -} - function clearcookies() { global $_G; diff --git a/user/news/ajax.php b/user/news/ajax.php new file mode 100644 index 0000000..3a61c8f --- /dev/null +++ b/user/news/ajax.php @@ -0,0 +1,143 @@ + '/\.(gif|jpe?g|png)$/i', + 'upload_dir' =>$_G['setting']['attachdir'].'cache/', + 'upload_url' => $_G['setting']['attachurl'].'cache/', + 'thumbnail'=>array('max-width'=>240,'max-height'=>160) + ); + $upload_handler = new uploadhandler($options); + exit(); + +} +elseif($_GET['do']=='updateview'){ + $newid=intval($_GET['newid']); + C::t('news')->increase($newid,array('views'=>1)); + if($_G['uid']){ + if($vid=DB::result_first("select vid from %t where newid=%d and uid=%d",array('news_viewer',$newid,$_G['uid']))){ + DB::query("update %t SET views=views+1 where vid=%d",array('news_viewer',$vid)); + }else{ + $addviewer=array('newid'=>$newid, + 'uid'=>$_G['uid'], + 'username'=>$_G['username'], + 'dateline'=>TIMESTAMP + ); + C::t('news_viewer')->insert($addviewer); + } + } + exit('success'); +} +elseif($_GET['do']=='sendModNotice'){ + if(!$_G['cache']['news:setting']) loadcache('news:setting'); + $setting=$_G['cache']['news:setting']; + + //通知管理员审核 + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',1); + foreach($setting['moderators'] as $uid){ + //发送通知 + $notevars=array( + 'from_id'=>$appid, + 'from_idtype'=>'app', + 'url'=>DZZSCRIPT.'?mod=news&status=2', + 'author'=>getglobal('username'), + 'authorid'=>getglobal('uid'), + 'dataline'=>dgmdate(TIMESTAMP), + ); + + $action='news_moderate'; + $type='news_moderate'; + + dzz_notification::notification_add($uid, $type, $action, $notevars, 0,'dzz/news'); + } + exit(json_encode(array('msg'=>lang('alert_messages_to_be_sent_successfully')))); +} +elseif($_GET['do']=='news_delete'){ + include_once libfile('function/news'); + $newid=!empty($_GET['newid'])?intval($_GET['newid']):0; + $data=C::t('news')->fetch($newid); + $perm=getPermByUid($_G['uid']); + if($perm<2 && $data['authorid']!=$_G['uid']) exit(json_encode(array('error'=>lang('have_no_right')))); + if(C::t('news')->delete_by_newid($newid)){ + exit(json_encode(array('msg'=>'success'))); + }else{ + exit(json_encode(array('error'=>lang('delete_failure')))); + } +} +elseif($_GET['do']=='getViewerByNewid'){ + $newid=empty($_GET['newid'])?0:intval($_GET['newid']); + //查阅情况 + $page = empty($_GET['page'])?1:intval($_GET['page']); + $perpage=21; + $gets = array( + 'mod'=>'news', + 'op'=>'ajax', + 'do'=>'getViewerByNewid', + 'newid'=>$newid + ); + $theurl = DZZSCRIPT."?".url_implode($gets); + $start=($page-1)*$perpage; + $limit=($page-1)*$perpage.'-'.$perpage; + if($count=C::t('news_viewer')->fetch_all_by_newid($newid,$limit,1)){ + $list=C::t('news_viewer')->fetch_all_by_newid($newid,$limit); + $multi=multi($count, $perpage, $page, $theurl,'pull-right'); + } + include template('news_ajax'); +} +elseif($_GET['do']=='editcat'){ + $catname = getstr($_GET['catname']); + $cid = isset($_GET['cid']) ? intval($_GET['cid']):0; + if($cid){ + if( !$catname){ + error(lang('name_cannot_be_empty') ); + } + if(DB::result_first("select count(*) from %t where name = %s and status=1",array('news_cat',$catname)) > 0){ + error(lang('the_name_cannot_be_repeated'),array("id"=>$cid)); + } + if(C::t('news_cat')->update_by_catid($cid,array('name'=>$catname))){ + success(lang('modify_successfully'),array("id"=>$cid,'isadd'=>0)); + } + }else{ + if( !$catname){ + error(lang('name_cannot_be_empty') ); + } + if(DB::result_first("select count(*) from %t where name = %s and status=1",array('news_cat',$catname)) > 0){ + error(lang('the_name_cannot_be_repeated'),array("id"=>$cid)); + } + + if($insertid = C::t('news_cat')->insert_by_catid(array('name'=>$catname))){ + success(lang('new_success'),array("id"=>$insertid,'isadd'=>1)); + } + } +} +elseif($_GET['do']=='delcat'){ + $cid = isset($_GET['cid']) ? intval($_GET['cid']):0; + if($cid){ + $result = C::t('news_cat')->delete($cid);//$C::tp_t('news_cat')->where(array("catid"=>$cid))->setField("status",-1); + if($result){ + success(lang('successfully_delete')); + } + } + error(lang('delete_failure')); +} +elseif($_GET['do']=='setorder'){ + $catid = $_GET["disp"]; + if($catid){ + foreach($catid as $k=>$v ){ + if( $v ){ + $result = C::t('news_cat')->update($v,array('disp'=>$k));//C::tp_t('news_cat')->where(array("catid"=>$v))->setField("disp",$k); + } + } + } + success(lang('printf')); +} +?> diff --git a/user/news/cache/cache_setting.php b/user/news/cache/cache_setting.php new file mode 100644 index 0000000..fb00ee4 --- /dev/null +++ b/user/news/cache/cache_setting.php @@ -0,0 +1,25 @@ +fetch_all(); + $data['allownewnews']=intval($data['allownewnews']); + + $data['newsmod']=intval($data['newsmod']); + if($data['moderators']){ + $data['moderators']=explode(',',$data['moderators']); + }else{ + $data['moderators']=array(); + } + if($data['posters']){ + $data['posters']=explode(',',$data['posters']); + }else $data['posters']=array(); + + savecache('news:setting', $data); +} + +?> \ No newline at end of file diff --git a/user/news/cache/index.htm b/user/news/cache/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/class/index.htm b/user/news/class/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/class/table/index.htm b/user/news/class/table/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/class/table/table_news.php b/user/news/class/table/table_news.php new file mode 100644 index 0000000..d1fb528 --- /dev/null +++ b/user/news/class/table/table_news.php @@ -0,0 +1,296 @@ +_table = 'news'; + $this->_pk = 'newid'; + + parent::__construct(); + } + public function mod_by_newid($newids,$pass,$modreason){ //审核处理 + $pass=$pass?1:2; + $newids=(array)$newids; + $ret=DB::query("update %t SET status=%d , modreason=%s,moduid=%d,modtime=%d where newid IN(%n)",array($this->_table,$pass,$modreason,getglobal('uid'),TIMESTAMP,$newids)); + + //发送通知用户审核情况 + if($ret){ + + $ruids=array(); + foreach(DB::fetch_all("select authorid from %t where newid IN(%n)",array($this->_table,$newids)) as $value){ + $ruids[$value['authorid']]=$value['authorid']; + } + if($ruids){ + + //通知发布者审核情况 + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',1); + foreach($ruids as $uid){ + if($uid!=getglobal('uid')){ + //发送通知 + $notevars=array( + 'from_id'=>$appid, + 'from_idtype'=>'app', + 'url'=>DZZSCRIPT.'?mod=news&status='.$pass, + 'author'=>getglobal('username'), + 'authorid'=>getglobal('uid'), + 'dataline'=>dgmdate(TIMESTAMP), + 'modreason'=>getstr($modreason,45), + + ); + + $action='news_moderator_'.$pass; + $type='news_moderator_'.$uid; + + dzz_notification::notification_add($uid, $type, $action, $notevars, 0,'dzz/news'); + } + } + + } + if($pass==1){ + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',0); + foreach($newids as $newid){ + $arr=parent::fetch($newid); + $uids=getUidsByOrgid($arr['orgids'],$arr['uids']); + foreach($uids as $uid){ + if($uid!=getglobal('uid')){ + //发送通知 + $notevars=array( + 'from_id'=>$appid, + 'from_idtype'=>'app', + 'url'=>DZZSCRIPT.'?mod=news&op=view&newid='.$newid, + 'author'=>getglobal('username'), + 'authorid'=>getglobal('uid'), + 'subject'=>$arr['subject'], + 'dataline'=>dgmdate(TIMESTAMP), + ); + + $action='news_publish'; + $type='news_publish_'.$uid; + + dzz_notification::notification_add($uid, $type, $action, $notevars, 0,'dzz/news'); + } + } + } + + } + } + return $ret; + } + + + public function delete_by_newid($newid){//删除信息; + //删除信息 + $data=parent::fetch($newid); + if($ret=parent::delete($newid)){ + //删除编辑器附件 + if($data['attachs']){ + $attachs=explode(',',$data['attachs']); + C::t('attachment')->addcopy_by_aid($attachs,-1); + } + //删除图片内容 + C::t('news_pic')->delete_by_newid($newid); + + //删除信息查阅者 + C::t('news_viewer')->delete_by_newid($newid); + + //删除投票 + C::t('vote')->delete_by_id_idtype($newid,'news'); + + //删除评论 + C::t('comment')->delete_by_id_idtype($newid,'news'); + + } + + return $ret; + } + public function batch_delete_by_newid($newids){//删除信息; + $newids=(array)$newids; + $aids=array(); + foreach(DB::fetch_all("select * from %t where newid IN (%n)",array($this->_table,$newids)) as $value){ + if($value['attachs']){ + $attachs=explode(',',$value['attachs']); + if($attachs) array_merge($aids,$attachs); + } + } + $ret=0; + if($ret=DB::delete($this->_table,"newid IN(".dimplode($newids).")")){ + //删除编辑器附件 + if($aids){ + C::t('attachment')->addcopy_by_aid($aids,-1); + } + //删除图片内容 + C::t('news_pic')->delete_by_newid($newids); + + //删除信息查阅者 + C::t('news_viewer')->delete_by_newid($newids); + //删除投票 + C::t('vote')->delete_by_id_idtype($newids,'news'); + + //删除评论 + C::t('comment')->delete_by_id_idtype($newids,'news'); + } + return $ret; + } + public function insert_by_newid($arr){ + + if($newid=parent::insert($arr,1)){ + if($arr['attachs']){ + $attachs=explode(',',$arr['attachs']); + C::t('attachment')->addcopy_by_aid($attachs,1); + } + + if($arr['status']==2){ //需要审核时,发送通知给管理员; + if(!getglobal('cache/news:setting')) loadcache('news:setting'); + $setting=getglobal('cache/news:setting'); + //通知发布者审核情况 + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',1); + foreach($setting['moderators'] as $uid){ + if($uid!=getglobal('uid')){ + //发送通知 + $notevars=array( + 'from_id'=>$appid, + 'from_idtype'=>'app', + 'url'=>DZZSCRIPT.'?mod=news&status=2', + 'author'=>getglobal('username'), + 'authorid'=>getglobal('uid'), + + 'dataline'=>dgmdate(TIMESTAMP), + ); + + $action='news_moderate1'; + $type='news_moderate1'; + + dzz_notification::notification_add($uid, $type, $action, $notevars, 0,'dzz/news'); + } + } + }elseif($arr['status']==1){//通知发布范围内人员查看 + $uids=getUidsByOrgid($arr['orgids'],$arr['uids']); + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',0); + foreach($uids as $uid){ + if($uid!=getglobal('uid')){ + //发送通知 + $notevars=array( + 'from_id'=>$appid, + 'from_idtype'=>'app', + 'url'=>DZZSCRIPT.'?mod=news&op=view&newid='.$newid, + 'author'=>getglobal('username'), + 'authorid'=>getglobal('uid'), + 'subject'=>$arr['subject'], + 'dataline'=>dgmdate(TIMESTAMP), + ); + + $action='news_publish'; + $type='news_publish_'.$uid; + + dzz_notification::notification_add($uid, $type, $action, $notevars, 0,'dzz/news'); + } + } + } + return $newid; + } + return false; + } + public function update_by_newid($arr){ + $data=parent::fetch($arr['newid']); + if($return=parent::update($arr['newid'],$arr)){ + if($data['attachs']){ + $attachs=explode(',',$data['attachs']); + C::t('attachment')->addcopy_by_aid($attachs,-1); + } + if(isset($arr['attachs'])){ + $attachs=explode(',',$arr['attachs']); + C::t('attachment')->addcopy_by_aid($attachs,1); + } + //新添加的范围重新发送通知 + $orgids=$uids=array(); + if($arr['orgids']!=$data['orgids']){ + $norgids=$arr['orgids']?explode(',',$arr['orgids']):array(); + $oorgids=$data['orgids']?explode(',',$data['orgids']):array(); + $orgids=array_diff($norgids,$oorigids); + } + if($arr['uids']!=$data['uids']){ + $nuids=$arr['uids']?explode(',',$arr['uids']):array(); + $ouids=$data['uids']?explode(',',$data['uids']):array(); + $uids=array_diff($nuids,$ouids); + } + $new_uids=getUidsByOrgid($orgids,$uids); + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',0); + foreach($new_uids as $uid){ + if($uid!=getglobal('uid')){ + //发送通知 + $notevars=array( + 'from_id'=>$appid, + 'from_idtype'=>'app', + 'url'=>DZZSCRIPT.'?mod=news&op=view&newid='.$data['newid'], + 'author'=>getglobal('username'), + 'authorid'=>getglobal('uid'), + 'subject'=>$data['subject'], + 'dataline'=>dgmdate(TIMESTAMP), + ); + + $action='news_publish'; + $type='news_publish_'.$uid; + + dzz_notification::notification_add($uid, $type, $action, $notevars, 0,'dzz/news'); + } + } + + } + return $return; + } + + + + //评论回调函数 + public function callback_by_comment($comment,$action='add',$ats=array()){ + $newid=$comment['id']; + if($action=='add'){ + if($comment['pcid']==0){ + self::increase($newid,array('comments'=>1)); + } + }elseif($action=='delete'){ + if($comment['pcid']==0){ + self::increase($newid,array('comments'=>-1)); + } + } + } + + public function increase($newids, $fieldarr) { + $newids = dintval((array)$newids, true); + $sql = array(); + $num = 0; + $allowkey = array('views', 'comments'); + foreach($fieldarr as $key => $value) { + if(in_array($key, $allowkey)) { + if(is_array($value)) { + $sql[] = DB::field($key, $value[0]); + } else { + $value = dintval($value); + $sql[] = "`$key`=`$key`+'$value'"; + } + } else { + unset($fieldarr[$key]); + } + } + + if(!empty($sql)){ + $cmd = "UPDATE " ; + $num = DB::query($cmd.DB::table($this->_table)." SET ".implode(',', $sql)." WHERE newid IN (".dimplode($newids).")", 'UNBUFFERED'); + + } + return $num; + } +} + +?> diff --git a/user/news/class/table/table_news_cat.php b/user/news/class/table/table_news_cat.php new file mode 100644 index 0000000..1dc632a --- /dev/null +++ b/user/news/class/table/table_news_cat.php @@ -0,0 +1,88 @@ +_table = 'news_cat'; + $this->_pk = 'catid'; + + parent::__construct(); + } + + + public function insert_by_catid($setarr){ + $setarr['disp']=DB::result_first("select max(disp) from %t where pid=%d",array($this->_table,$setarr['pid']))+1; + return parent::insert($setarr,1); + } + public function update_by_catid($catid,$arr){ + if(!$data=parent::fetch($catid)) return false; + if(isset($arr['pid']) && $data['pid']!=$arr['pid']){ + $arr['disp']=DB::result_first("select max(disp) from %t where pid=%d",array($this->_table,$arr['pid']))+1; + } + return parent::update($catid,$arr); + } + public function fetch_all_by_pid($pid){ + return DB::fetch_all("select * from %t where pid=%d order by disp",array($this->_table,$pid)); + } + + public function catmove_by_catid($catid,$up=0){ //移动分类 + $cat=self::fetch($catid); + $disparr=array();$i=0;$cur=0; + foreach(self::fetch_all_by_pid($cat['pid']) as $value){ + $disparr[]=$value; + if($value['catid']==$catid) $cur=$i; + $i++; + } + if($up){ + $disp=$disparr[(($cur-1<0)?0:($cur-1))]['disp']-1; + }else{ + $disp=$disparr[(($cur+1>$i-1)?$i-1:($cur+1))]['disp']+1; + } + foreach($disparr as $value){ + if($value['catid']==$catid) continue; + if(!$up){ + if($value['disp']>=$disp) parent::update($value['catid'],array('disp'=>$value['disp']+1)); + }else{ + if($value['disp']<=$disp) parent::update($value['catid'],array('disp'=>$value['disp']-1)); + } + } + return parent::update($catid,array('disp'=>$disp)); + } + public function delete_by_catid($catid){ //同时删除所有下级分类,分类下的信息失去分类,如果是唯一的顶级分类,不允许删除 + //判断是否为唯一的顶级分类; + if($data=parent::fetch($catid) && $data['pid']==0){ + if(DB::result_first("select COUNT(*) from %t where pid='0'",array($this->_table))<2){ + return 0; + } + } + $catids=self::getSonByCatid($catid); + $ret=0; + if($catids){ + $ret=parent::delete($catids); + DB::update('news',array('catid'=>0),"catid IN (".dimplode($catids).")"); + } + return $ret; + } + public function getSonByCatid($catid){ + static $catids=array(); + $catids[]=$catid; + foreach(self::fetch_all_by_pid($catid) as $value){ + self::getSonByCatid($value['catid']); + } + + return $catids; + } +} + +?> diff --git a/user/news/class/table/table_news_pic.php b/user/news/class/table/table_news_pic.php new file mode 100644 index 0000000..56ece91 --- /dev/null +++ b/user/news/class/table/table_news_pic.php @@ -0,0 +1,97 @@ +_table = 'news_pic'; + $this->_pk = 'picid'; + + parent::__construct(); + } + + public function fetch_by_picid($picid){ + global $_G; + if(!$data=self::fetch($picid)) return false; + if($data['aid']>0){ + $data['img']=C::t('attachment')->getThumbByAid($data['aid'],240,160); + } + return $data; + } + public function insert($arr){ + $ret=0; + if($ret=parent::insert($arr,1)){ + if($arr['aid']) C::t('attachment')->addcopy_by_aid($arr['aid'],1); + } + return $ret; + } + public function insert_by_newid($newid,$newpics,$pics){ + //先删除不在pics中的图片 + + $picids=array_keys($pics); + foreach(DB::fetch_all("select * from %t where picid NOT IN (%n) and newid=%d ",array($this->_table,$picids,$newid)) as $value){ + self::delete_by_picid($value['picid']); + } + //插入新的图片 + foreach($newpics as $value){ + $setarr=array('newid'=>$newid, + 'title'=>$value['title'], + 'aid'=>$value['aid'], + 'dateline'=>TIMESTAMP); + self::insert($setarr); + } + + return true; + } + public function delete_by_picid($picid){ + + if(!$data=parent::fetch($picid)) return 0; + $ret=0; + if($ret=parent::delete($picid)){ + if($data['aid']) C::t('attachment')->delete_by_aid($data['aid']); + } + return $ret; + } + + public function delete_by_newid($newids){ + $newids=(array)$newids; + $ret=0; + $aids=array(); + $picids=array(); + foreach(DB::fetch_all("select picid,aid from %t where newid in (%n)",array($this->_table,$newids)) as $value){ + $picids[]=$value['picid']; + $aids[]=$value['aid']; + } + if($aids){ + C::t('attachment')->addcopy_by_aid($aids,-1); + } + return DB::delete($this->_table,"picid IN (".dimplode($picids).")"); + } + public function fetch_all_by_newid($newids){ + $newids=(array)$newids; + $data=array(); + foreach(DB::fetch_all("select * from %t where newid IN(%n) order by dateline DESC",array($this->_table,$newids)) as $value){ + $value['img']=C::t('attachment')->getThumbByAid($value['aid'],240,160); + $value['url']=C::t('attachment')->getThumbByAid($value['aid'],0,0,1); + $value['filesize']=formatsize($value['filesize']); + $data[$value['picid']]=$value; + } + return $data; + } + + + +} + +?> diff --git a/user/news/class/table/table_news_setting.php b/user/news/class/table/table_news_setting.php new file mode 100644 index 0000000..2ed6abb --- /dev/null +++ b/user/news/class/table/table_news_setting.php @@ -0,0 +1,118 @@ +_table = 'news_setting'; + $this->_pk = 'skey'; + + parent::__construct(); + } + public function getCoverAids(){ + $aids=array(); + if($cover=self::fetch('cover')){ + $aids=explode(',',$cover); + } + return $aids; + } + //获取封面数组 + public function getCovers($width=171,$height=225) { + if($cover=self::fetch('cover')){ + $aids=explode(',',$cover); + } + $return=$data=array(); + if($aids){ + foreach(C::t('attachment')->fetch_all($aids) as $value){ + $value['img']=C::t('attachment')->getThumbByAid($value,$width,$height); + $data[$value['aid']]=$value; + } + //按原aids孙祥排序 + + foreach($aids as $aid){ + $return[]=$data[$aid]; + } + } + return $return; + } + //更新封面数组 + public function updateCovers($aids) { + if($cover=self::fetch('cover')){ + $oaids=explode(',',$cover); + }else{ + $oaids=array(); + } + $delaids=array_diff($oaids,$aids); + $newaids=array_diff($aids,$oaids); + if($delaids){ + foreach($delaids as $aid){ + C::t('attachment')->delete_by_aid($aid); + } + } + if($newaids) C::t('attachment')->addcopy_by_aid($newaids,1); + return self::update('cover',implode(',',$aids)); + } + public function fetch($skey, $auto_unserialize = false) { + $data = DB::result_first('SELECT svalue FROM '.DB::table($this->_table).' WHERE '.DB::field($this->_pk, $skey)); + return $auto_unserialize ? (array)unserialize($data) : $data; + } + + public function fetch_all($skeys = array(), $auto_unserialize = false){ + $data = array(); + $where = !empty($skeys) ? ' WHERE '.DB::field($this->_pk, $skeys) : ''; + $query = DB::query('SELECT * FROM '.DB::table($this->_table).$where); + while($value = DB::fetch($query)) { + $data[$value['skey']] = $auto_unserialize ? (array)unserialize($value['svalue']) : $value['svalue']; + } + return $data; + } + + public function update($skey, $svalue){ + return DB::insert($this->_table, array($this->_pk => $skey, 'svalue' => is_array($svalue) ? serialize($svalue) : $svalue), false, true); + } + + public function update_batch($array) { + $settings = array(); + foreach($array as $key => $value) { + $key = addslashes($key); + $value = addslashes(is_array($value) ? serialize($value) : $value); + $settings[] = "('$key', '$value')"; + } + if($settings) { + return DB::query("REPLACE INTO ".DB::table($this->_table)." (`skey`, `svalue`) VALUES ".implode(',', $settings)); + } + return false; + } + + public function skey_exists($skey) { + return DB::result_first('SELECT skey FROM %t WHERE skey=%s LIMIT 1', array($this->_table, $skey)) ? true : false; + } + + public function fetch_all_not_key($skey) { + return DB::fetch_all('SELECT * FROM '.DB::table($this->_table).' WHERE skey NOT IN('.dimplode($skey).')'); + } + + public function fetch_all_table_status() { + return DB::fetch_all('SHOW TABLE STATUS'); + } + + public function get_tablepre() { + return DB::object()->tablepre; + } + + public function update_count($skey, $num) { + return DB::query("UPDATE %t SET svalue = svalue + %d WHERE skey = %s", array($this->_table, $num, $skey), false, true); + } +} +?> diff --git a/user/news/class/table/table_news_viewer.php b/user/news/class/table/table_news_viewer.php new file mode 100644 index 0000000..3c23883 --- /dev/null +++ b/user/news/class/table/table_news_viewer.php @@ -0,0 +1,42 @@ +_table = 'news_viewer'; + $this->_pk = 'id'; + + parent::__construct(); + } + public function fetch_all_by_newid($newid,$limit,$iscount=0){ + $limitsql=''; + if($limit){ + $limit=explode('-',$limit); + if(count($limit)>1){ + $limitsql.=" limit ".intval($limit[0]).",".intval($limit[1]); + }else{ + $limitsql.=" limit ".intval($limit[0]); + } + } + if($iscount) return DB::result_first("select COUNT(*) from %t where newid=%d",array($this->_table,$newid)); + return DB::fetch_all("select * from %t where newid=%d order by dateline DESC $limitsql ",array($this->_table,$newid),'uid') ; + } + public function delete_by_newid($newids){ + $newids=(array)$newids; + return DB::delete($this->_table,"newid IN (".dimplode($newids).")"); + } +} + +?> diff --git a/user/news/config/config.php b/user/news/config/config.php new file mode 100644 index 0000000..e246b97 --- /dev/null +++ b/user/news/config/config.php @@ -0,0 +1,6 @@ +false, + 'about'=>array('name_en'=>'新闻', + 'version'=>'小胡版 2.42') +); \ No newline at end of file diff --git a/user/news/config/index.htm b/user/news/config/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/edit.php b/user/news/edit.php new file mode 100644 index 0000000..ad5b7b9 --- /dev/null +++ b/user/news/edit.php @@ -0,0 +1,221 @@ +rawurlencode(json_encode(array('error'=>lang('message_header_cannot_be_empty'))))),array('showmsg'=>true)); + } + if($news['type']==0){//文本内容时 + $news['content']=helper_security::checkhtml($news['content']);//str_replace(array("\r\n", "\r", "\n"), "",$_GET['message']); //去除换行 + //获取文档内附件 + $news['attachs']=implode(',',getAidsByMessage($news['content'])); + //unset($news['url']); //删除链接地址 + }elseif($news['type']==1){ //图片内容时 + $pics=array(); + $newpics=array(); + foreach($_GET['picnew']['aid'] as $key=>$aid){ + $newpics[]=array('aid'=>$aid,'title'=>$_GET['picnew']['title'][$key],'dateline'=>TIMESTAMP); + } + $pics=$_GET['pic']; + + }elseif($news['type']==2){ //超链接内容 + + } + + //处理发布状态 + + if($_GET['isdraft']){ + $news['status']=3; + }else{ + if(empty($news['status']) || $news['status']==3){ + if(!$_G['cache']['news:setting']) loadcache('news:setting'); + if($perm>1 || $_G['cache']['news:setting']['newsmod']<1) $news['status']=1; //管理员或者不用审核时直接发布,不需要审核 + else $news['status']=2; //非管理员需要等待审核; + } + } + + //处理阅读范围 + $orgids=array(); + $uids=array(); + if($news['orgids']){ + $orgid_arr=explode(',',$news['orgids']); + foreach($orgid_arr as $value){ + if(is_numeric($value)){ + $orgids[]=$value; + }elseif($value=='other'){ + $orgids[]=$value; + }elseif(strpos($value,'uid_')==0){ + $uids[]=str_replace('uid_','',$value); + } + } + $news['uids']=implode(',',$uids); + $news['orgids']=implode(',',$orgids); + } + if($news['newid']){ + + $news['updatetime']=TIMESTAMP; + + $news['opuid']=$_G['uid']; + + C::t('news')->update_by_newid($news); + if($news['type']==1){ + C::t('news_pic')->insert_by_newid($news['newid'],$newpics,$pics); + } + $forward=$_GET['refer']?$_GET['refer']:dreferer(); + }else{ + $news['dateline']=TIMESTAMP; + $news['updatetime']=TIMESTAMP; + $news['author']=$_G['username']; + $news['authorid']=$_G['uid']; + if($news['newid']=C::t('news')->insert_by_newid($news)){ + if($news['type']==1){ + C::t('news_pic')->insert_by_newid($news['newid'],$newpics,$pics); + } + } + if($news['status']==1){ + $forward=DZZSCRIPT.'?mod=news'; + }else{ + $forward=DZZSCRIPT.'?mod=news&status='.$news['status']; + } + + } + if($news['newid']){ + + //处理投票 + if($news['votestatus']){ + $voteid=empty($_GET['voteid'])?0:intval($_GET['voteid']); + + $vote=$_GET['vote']; + $vote['type']=$vote['type']?intval($vote['type']):1; + $vote['endtime']=strtotime($vote['endtime']); + $vote['subject']=getstr($_GET['vote_subject_'.$vote['type']]); + $vote['module']='news'; + $vote['idtype']='news'; + $vote['id']=$news['newid']; + $vote['uid']=$_G['uid']; + + + //过滤投票项目 + $item=$_GET['voteitem']; + $itemnew=array(); + foreach($_GET['voteitemnew']['content'] as $key =>$value){ + if(empty($value) && $vote['type']==1) continue; //文字投票时项目文本为空,略过; + elseif($vote['type']==2 && !$_GET['voteitemnew']['aid'][$key]) continue; + $itemnew[]=array('content'=>getstr($value), + 'aid'=>intval($_GET['voteitemnew']['aid'][$key]) + ); + } + + if($voteid){ //编辑时 + C::t('vote')->update_by_voteid($voteid,$vote,$item,$itemnew); + + }else{ //新增加 + $vote['starttime']=TIMESTAMP; + C::t('vote')->insert_by_voteid($vote,$itemnew); + } + } + + $news['forward']=$forward; + showmessage('do_success',$forward,array('data'=>rawurlencode(json_encode($news))),array('showmsg'=>true)); + }else{ + showmessage('do_success',$forward,array('data'=>rawurlencode(json_encode(array('error'=>lang('tape_release_failure'),'forward'=>$forward)))),array('showmsg'=>true)); + } +}else{ + $navtitle=''; + $refer=empty($_GET['refer'])?dreferer():$_GET['refer']; + $newid=empty($_GET['newid'])?0:intval($_GET['newid']); + + $sel=array(); + $sel_org=array(); + $sel_user=array(); + if($newid){ + $navtitle=lang('compile').$news['subject'].' - '.lang('appname'); + $navlast=lang('compile'); + $news=C::t('news')->fetch($newid); + $open=array(); + if($news['orgids']){ + $orgids=explode(',',$news['orgids']); + $sel_org=C::t('organization')->fetch_all($orgids); + foreach($sel_org as $key=> $value){ + $orgpath=getPathByOrgid($value['orgid']); + $sel_org[$key]['orgname']=implode('-',($orgpath)); + $sel[]=$value['orgid']; + } + $arr=(array_keys($orgpath)); + array_pop($arr); + $count=count($arr); + if($open[$arr[$count-1]]){ + if(count($open1[$arr[$count-1]])>$count) $open[$arr[count($arr)-1]]=$arr; + }else{ + $open[$arr[$count-1]]=$arr; + } + if(in_array('other',$orgids)){ + $sel[]='other'; + $sel_org[]=array('orgname'=>lang('non_agency_personnel'),'orgid'=>'other','forgid'=>1); + } + } + if($news['uids']){ + $uids=explode(',',$news['uids']); + $sel_user=C::t('user')->fetch_all($uids); + foreach($sel_user as $value){ + $sel[]='uid_'.$value['uid']; + } + if($aorgids=C::t('organization_user')->fetch_orgids_by_uid($uids)){ + foreach($aorgids as $orgid){ + $arr= C::t('organization')->fetch_parent_by_orgid($orgid,true); + $count=count($arr); + if($open[$arr[$count-1]]){ + if(count($open[$arr[$count-1]])>$count) $open[$arr[count($arr)-1]]=$arr; + }else{ + $open[$arr[$count-1]]=$arr; + } + } + } + } + $openarr=json_encode(array('orgids'=>$open)); + $pics=C::t('news_pic')->fetch_all_by_newid($newid); + }else{ + $navtitle=lang('create'); + $navlast=lang('create'); + $news=array('votestatus'=>0,'commentstatus'=>'1','styleswitch'=>'0','youkepinglun'=>'0','catid'=>intval($_GET['catid']),'type'=>0); + } + $sel=implode(',',$sel); + $catoptions=getCatOptions(0,$news['catid']); + if(!DB::result_first("select COUNT(*) from %t where appurl=%s",array('app_market','{dzzscript}?mod=bilibili'))){ + $weianzhuang=1; + } + if($perm>1 || $news['authorid']==$_G['uid']|| $_GET['catid']=='0') { + }else{ + showmessage(lang('该文章不存在或您没有权限编辑')); + } + include template('news_edit'); +} +function getAidsByMessage($message){ + $aids=array(); + if(preg_match_all("/path=\"attach::(\d+)\"/i",$message,$matches)){ + $aids=$matches[1]; + } + if(preg_match_all("/path=\"".rawurlencode('attach::')."(\d+)\"/i",$message,$matches1)){ + $aids=array_merge($aids,$matches1[1]); + } + return array_unique($aids); +} + +?> \ No newline at end of file diff --git a/user/news/enable.php b/user/news/enable.php new file mode 100644 index 0000000..ebc9843 --- /dev/null +++ b/user/news/enable.php @@ -0,0 +1,10 @@ +1) return true; + //游客时,只要设置了范围,就没有权限; + if($_G['uid']<1 && ($news['orgids'] || $news['uids'])) return false; + //草稿箱,限自己发布的和管理员有权限; + if($news['status']==3)return false; + //待审核,限自己发布的和管理员有权限; + if($news['status']==2)return false; + //转换为数组 + if($news['orgids']){ + $news['orgids']=explode(',',$news['orgids']); + }else{ + $news['orgids']=array(); + } + //转换为数组 + if($news['uids']){ + $news['uids']=explode(',',$news['uids']); + }else{ + $news['uids']=array(); + } + + //判断普通用户权限 + if(!$news['uids'] && !$news['orgids']) return true; //未设置范围,全部有权限 + if($news['uids'] && in_array($_G['uid'],$news['uids'])){ //用户在用户列表内,允许查看 + return true; + } + //当未加入机构和部门在部门列表中时,单独判断; + if(in_array('other',$news['orgids']) && !DB::result_first("SELECT COUNT(*) from %t where uid=%d",array('organization_user',$_G['uid']))){ + return true; + } + //获取用户所在的机构或部门 + $orgids=C::t('organization_user')->fetch_orgids_by_uid($_G['uid']); + + if(array_intersect($orgids,$news['orgids'])) return true; + + //检查每个部门的下级 + foreach($orgids as $orgid){ + $upids= C::t('organization')->fetch_parent_by_orgid($orgid,true); + if($upids && array_intersect($upids,$news['orgids'])) return true; + } + return false; +} +function getPermByUid($uid){ //获取用户权限; + global $_G; + if($_G['uid']<1) return 0; + if($_G['adminid']==1) return 3; + if(!$_G['cache']['news:setting']) loadcache('news:setting'); + $setting=$_G['cache']['news:setting']; + if(in_array($_G['uid'],$setting['moderators'])) return 2; + elseif($setting['allownewnews'] && in_array($_G['uid'],$setting['posters'])) return 1; + elseif($setting['allownewnews']<1) return 1; + else return 0; +} +function getCatOptions($catid=0,$scatid=0,$notcatid=0,$padding='' ){ + foreach(C::t('news_cat')->fetch_all_by_pid($catid) as $value){ + if($notcatid==$value['catid']) continue; + $html.=''; + $html.=getCatOptions($value['catid'],$scatid,$notcatid,$padding.'    '); + } + return $html; +} +function getOrgOptions($orgid=0,$sorgid=array(),$padding=''){ + foreach(C::t('organization')->fetch_all_by_forgid($orgid) as $value){ + $html.=''; + $html.=getOrgOptions($value['orgid'],$sorgid,$padding.'    '); + } + return $html; +} +function getCatList($catid=0,$scatid=0){ + $html=''; + return $html; +} +function getUidsByOrgid($orgids,$uids){ //通过获取在此机构数组下的所有用户 + @set_time_limit(0); + if($uids) $uids=explode(',',$uids); + else $uids=array(); + if($orgids) $orgids=explode(',',$orgids); + else $orgids=array(); + if($orgids){//获取机构的id + if(in_array('other',$orgids)){ + if($nots=C::t('organization_user')->fetch_user_not_in_orgid(1000)) $uids=array($uids,array_keys($nots)); + $orgids=array_diff($orgids,array('other')); + } + if($orgids && ($ouids=getUserByOrgid($orgids,1,array(),true))){ + $uids=array_merge($uids,$ouids); + unset($ouids); + } + return array_unique($uids); + }else{//orgids为空时 + if($uids) return array_unique($uids); + else{ //返回全体成员id + foreach(DB::fetch_all("select u.uid from %t u LEFT JOIN %t s on u.uid=s.uid where u.status<1 order by s.lastactivity DESC limit 1000",array('user','user_status')) as $value){ + $uids[]=$value['uid']; + } + return array_unique($uids); + } + } +} +?> diff --git a/user/news/function/function_wx.php b/user/news/function/function_wx.php new file mode 100644 index 0000000..25415fc --- /dev/null +++ b/user/news/function/function_wx.php @@ -0,0 +1,71 @@ +array( + * 'Title'=>'msg title', + * 'Description'=>'summary text', + * 'PicUrl'=>'http://www.domain.com/1.jpg', + * 'Url'=>'http://www.domain.com/1.html' + * ), + * "1"=>.... + * ) + */ +function getLatestData($wx,$uid,$limit=10){ + $param=array('news'); + $sql="status<2"; + $orderby="ORDER BY dateline DESC"; + + //阅读范围查询语句 + $sql.=" and ("; + $sql_gid=array("orgids=''"); + $orgarr=getDepartmentByUid($uid); //获取当前用户所在的部门数组 + foreach($orgarr as $value){ + foreach($value as $value1){ + $sql_gid[]="FIND_IN_SET(%d,orgids)"; + $param[]=$value1['orgid']; + } + } + $sql.="(".implode(' OR ',$sql_gid).") and ( uids='' OR FIND_IN_SET(%d,uids)))"; + $param[]=$uid; + + $data=array(); + $limit=intval($limit); + if(!$limit) $limit=10; + foreach(DB::fetch_all("select * from %t where $sql $orderby limit $limit ",$param) as $value){ + $temp=array(); + $temp['Title']=$value['subject']; + $url=getglobal('siteurl').'index.php?mod=news&op=view&newid='.$value['newid']; + if($value['type']==0){ //文本模式 + $temp['Description']=getstr($value['content'],300,0,0,0,-1); + $temp['Url']=getOauthRedirect($url); + }elseif($value['type']==1){ //图片模式 + $temp['Description']=''; + $temp['Url']=getOauthRedirect($url); + if($pic=DB::fetch_first("select aid from %t where newid=%d limit 1",array('news_pic',$value['newid']))){ + $temp['PicUrl']=getglobal('siteurl').'index.php?mod=io&op=thumbnail&original=1&path='.dzzencode('attach::'.$pic['aid']); + } + }else{ //链接模式 + $temp['Url']=$value['url']; + $temp['Description']=''; + } + $data[]=$temp; + } + return $data; +} +?> diff --git a/user/news/function/index.htm b/user/news/function/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/images/0.jpg b/user/news/images/0.jpg new file mode 100644 index 0000000..2b813b8 Binary files /dev/null and b/user/news/images/0.jpg differ diff --git a/user/news/images/addUser.png b/user/news/images/addUser.png new file mode 100644 index 0000000..1ed7e1b Binary files /dev/null and b/user/news/images/addUser.png differ diff --git a/user/news/images/c.png b/user/news/images/c.png new file mode 100644 index 0000000..e6d5215 Binary files /dev/null and b/user/news/images/c.png differ diff --git a/user/news/images/create.png b/user/news/images/create.png new file mode 100644 index 0000000..557e5eb Binary files /dev/null and b/user/news/images/create.png differ diff --git a/user/news/images/datepicker.css b/user/news/images/datepicker.css new file mode 100644 index 0000000..709b460 --- /dev/null +++ b/user/news/images/datepicker.css @@ -0,0 +1,66 @@ +.ui-datepicker{width:17em;padding:.2em .2em 0;display:none} +.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0} +.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em} +.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px} +.ui-datepicker .ui-datepicker-prev{left:2px} +.ui-datepicker .ui-datepicker-next{right:2px} +.ui-datepicker .ui-datepicker-prev-hover{left:1px} +.ui-datepicker .ui-datepicker-next-hover{right:1px} +.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px} +.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center} +.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0} +.ui-datepicker select.ui-datepicker-month-year{width:100%} +.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:49%} +.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em} +.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0} +.ui-datepicker td{border:0;padding:1px} +.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none} +.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0} +.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible} +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left} +.ui-datepicker.ui-datepicker-multi{width:auto} +.ui-datepicker-multi .ui-datepicker-group{float:left} +.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em} +.ui-datepicker-multi-2 .ui-datepicker-group{width:50%} +.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%} +.ui-datepicker-multi-4 .ui-datepicker-group{width:25%} +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header{border-left-width:0} +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0} +.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left} +.ui-datepicker-row-break{clear:both;width:100%;font-size:0} +.ui-datepicker-rtl{direction:rtl} +.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto} +.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto} +.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto} +.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto} +.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right} +.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left} +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current{float:right} +.ui-datepicker-rtl .ui-datepicker-group{float:right} +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header{border-right-width:0;border-left-width:1px} +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px} +.ui-datepicker-cover{position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px;} + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default{ + border: 1px solid #d3d3d3; +background: #e6e6e6 url(../img/jqui-images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; +font-weight: normal; +color: #555; +} +.ui-datepicker{padding:10px;border:1px solid #CCC;box-shadow:0px 2px 5px #CCC} +.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:40%} +.ui-widget-header{border:0;background:none} +.ui-widget-header .ui-icon{background:none} +.ui-state-hover.ui-datepicker-prev-hover{background:none} +.ui-state-hover.ui-datepicker-next-hover{background:none} +.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:2px;color:#428bca;cursor:pointer;border-radius:0;padding:8px 10px;font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;color:#666;text-align:center} +.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev:active,.ui-datepicker .ui-datepicker-next:active,.ui-datepicker .ui-datepicker-prev[disabled],.ui-datepicker .ui-datepicker-next[disabled],fieldset[disabled] .ui-datepicker .ui-datepicker-prev,fieldset[disabled] .ui-datepicker .ui-datepicker-next{background-color:transparent;-webkit-box-shadow:none;box-shadow:none} +.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next,.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev:focus,.ui-datepicker .ui-datepicker-next:focus,.ui-datepicker .ui-datepicker-prev:active,.ui-datepicker .ui-datepicker-next:active{border-color:transparent} +.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev:focus,.ui-datepicker .ui-datepicker-next:focus{color:#2a6496;text-decoration:none;background-color:transparent} +.ui-datepicker .ui-datepicker-prev[disabled]:hover,.ui-datepicker .ui-datepicker-next[disabled]:hover,fieldset[disabled] .ui-datepicker .ui-datepicker-prev:hover,fieldset[disabled] .ui-datepicker .ui-datepicker-next:hover,.ui-datepicker .ui-datepicker-prev[disabled]:focus,.ui-datepicker .ui-datepicker-next[disabled]:focus,fieldset[disabled] .ui-datepicker .ui-datepicker-prev:focus,fieldset[disabled] .ui-datepicker .ui-datepicker-next:focus{color:#999;text-decoration:none} +/*.ui-datepicker .ui-datepicker-prev:before,.ui-datepicker .ui-datepicker-next:before{content:"\f053"} +.ui-datepicker .ui-datepicker-next:before{content:"\f054"}*/ +.ui-widget-content{border:0;background:#fbfbfb} +.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default{border-color:#e1e1e1;background:none} +.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{background:#fcf8e3} +.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active{color:#fff;background-color:#006dcc} \ No newline at end of file diff --git a/user/news/images/hot_1.gif b/user/news/images/hot_1.gif new file mode 100644 index 0000000..c38eecf Binary files /dev/null and b/user/news/images/hot_1.gif differ diff --git a/user/news/images/hot_2.gif b/user/news/images/hot_2.gif new file mode 100644 index 0000000..464159f Binary files /dev/null and b/user/news/images/hot_2.gif differ diff --git a/user/news/images/hot_3.gif b/user/news/images/hot_3.gif new file mode 100644 index 0000000..ba48b16 Binary files /dev/null and b/user/news/images/hot_3.gif differ diff --git a/user/news/images/icon_main.png b/user/news/images/icon_main.png new file mode 100644 index 0000000..264bfe3 Binary files /dev/null and b/user/news/images/icon_main.png differ diff --git a/user/news/images/icons.png b/user/news/images/icons.png new file mode 100644 index 0000000..9c75176 Binary files /dev/null and b/user/news/images/icons.png differ diff --git a/user/news/images/icons_ZG-QuanXian.png b/user/news/images/icons_ZG-QuanXian.png new file mode 100644 index 0000000..d1103ef Binary files /dev/null and b/user/news/images/icons_ZG-QuanXian.png differ diff --git a/user/news/images/index.htm b/user/news/images/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/images/loading.gif b/user/news/images/loading.gif new file mode 100644 index 0000000..5bb90fd Binary files /dev/null and b/user/news/images/loading.gif differ diff --git a/user/news/images/news.css b/user/news/images/news.css new file mode 100644 index 0000000..5b9c95e --- /dev/null +++ b/user/news/images/news.css @@ -0,0 +1,1127 @@ +/*左边部分*/ +a:focus, a:hover { + color: #e11d2a; +} +.list-info{ + width: 99%; + display: flex; + flex-direction: column; + flex: 1; + min-width: 0; +} +.list-info1{ + white-space: normal; + display: flex; + align-items: center; + margin-top: auto; + font-size: 13px; +} +.swiper-container{ + min-width: 0; + flex: 1; + height: 335px; + --swiper-theme-color: #fff; + border-radius: var(--radius); + margin-left: auto; + margin-right: auto; + position: relative; + overflow: hidden; + list-style: none; + padding: 0; + z-index: 1; +} +.swiper-wrapper{ + position: relative; + width: 100%; + height: 100%; + z-index: 1; + display: flex; + transition-property: transform; + box-sizing: content-box; +} +.list-img{ + flex-shrink: 0; + position: relative; + width: 210px; + height: 140px; + margin-right: 15px; + overflow: hidden; +} +@media (max-width: 1200px){ +.list-img{ + width: 185px; + height: 125px; +} +} +@media (max-width: 768px){ +.list-img{ + width: 120px; + height: 80px; +} +} +.nav-stacked{ + padding: 0px 0px; +} +.nav-stacked>li>a{ + color: #838383; + display: block; + height: 55px; + line-height: 55px; + padding-left: 30px; + color: #818181; + cursor: pointer; + font-size: 14px; +} +.nav-stacked>li>ul>li>a{ + padding-left: 70px !important; +} +.controls{ + display: flex; + width: 100%; +} +.articleCon_left_ul{ + padding-left: 30px; + display: none; +} +.nav-stacked li>a:hover{ + background: #F4F4F4; +} +/*结束*/ + +.left-drager-op .icon-bar{ + background-color: #FFFFFF; + display: block; + width: 22px; + height: 1px; +} +.left-drager-op .icon-bar+.icon-bar { + margin-top: 6px; +} +/*结束*/ + +body{ + font-family:"lucida grande", "lucida sans unicode", "lucida", "Helvetica Neue", "helvetica", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "sans-serif"; +} +.pagination{ + margin:0; +} +.dropdown-menu>li>a{ + padding:5px 10px; +} +.main-header .nav-pills-bottomguide li { + line-height:30px; + +} +.main-header .nav-pills-bottomguide li a { + padding:3px 15px 0px 15px; + font-size:15px; + margin:0 10px; + +} +/*start 修改配色*/ +.bs-navbar-default{ + border-bottom:1px solid #428bca; +} + +/*end 修改配色*/ +/*start 定义圆形按钮*/ + +.list-title a.title{ + color:#666; + font-size: 16px; + text-overflow: ellipsis; + overflow: hidden; + white-space: normal; + word-break: break-word; +} +.list-info span,.list-info a{ + cursor:pointer; + display:inline-block; + padding: 0 3px; +} +.list-info1 span,.list-info1 a{ + cursor:pointer; + color:#999; + display:inline-block; + padding: 0 3px; +} +.list-info .views div{ + width: 20px; + height: 20px; + font-size: 20px; + color: #666; + display: inline-block; + vertical-align: bottom; +} +.list-info1 .views div{ + width: 20px; + height: 20px; + font-size: 20px; + color: #666; + display: inline-block; + vertical-align: bottom; +} +.list-icon{ + text-align: right; +} +.list-icon a{ + height: 30px; + line-height: 40px; + display: inline-block; + vertical-align: bottom; + text-align: center; +} +.list-icon a span{ + font-size: 20px; + color: rgb(85, 85, 85); + opacity: .65; +} +.list-icon a span:hover{ + opacity:1; +} +.list-title a:hover{ + color:#e11d2a; +} +/*end 信息列表*/ +.jstree-root{ + padding:5px 0 0 10px; + line-height:24px; +} +.classtree-topbar{ + position:relative; + bottom:0px; + left:0px; + background:#F7F7F7; + border-bottom:1px solid #D2D2D2; + border-top:1px solid #FFF; + padding:0px 10px 0; +} +.classtree-container,usertree-container{ + border-top:1px solid #FFF; +} +.classtree-topbar a{ + display:inline-block; + margin:5px 2px 0; + width:24px; + height:24px; + background-image:url(icons.png); + _filter: Alpha(opacity=70); + opacity: 0.7; +} +.classtree-topbar .newdir{ + background-position:0 -72px; +} +.classtree-topbar .newdir_1{ + background-position:0 -96px; +} +.classtree-topbar .newdoc{ + background-position:0 -120px; +} +.classtree-topbar .import{ + background-position:0 -144px; +} +.classtree-topbar .search{ + background-position:0 -168px; +} +.classtree-topbar a:hover{ + _filter: Alpha(opacity=100); + opacity: 1; +} + +.classtree-search{ + position:absolute; + left:1px; + top:2px; + right:1px; + + display:none; +} +.classtree-search .form-control{ + padding:5px 40px 5px 5px; +} +.classtree-search .form-control:focus{ + box-shadow:none; +} +.classtree-search .search{ + position:absolute; + right:25px; + top:8px; +} +.classtree-search .delete { + position: absolute; + right: 4px; + top: 8px; +} +.orgtree-topbar{ + position:relative; + bottom:0px; + left:0px; + background:#F7F7F7; + padding:0px 10px 0; +} +.orgtree-topbar .search{ + display:inline-block; + margin:5px 2px 0; + width:24px; + height:24px; + background-image:url(icons.png); + _filter: Alpha(opacity=70); + opacity: 0.7; + background-position:0 -168px; +} +.orgtree-search{ + position:relative; + +} +.orgtree-search .form-control{ + padding:5px 40px 5px 5px; + border:0; + border-top:1px solid #CCC; +} +.orgtree-search .form-control:focus{ + box-shadow:none; +} +.orgtree-search .search{ + position:absolute; + right:25px; + top:8px; +} +.orgtree-search .delete { + position: absolute; + right: 4px; + top: 8px; +} + +/*重定义图标*/ +.jstree-default a i{ + _filter: Alpha(opacity=100); + opacity: 1; +} + +/*start 重定义select2*/ +.select2-container .select2-choice{ + height:32px; + line-height:32px; +} + +/*end 重定义select2*/ +.nav-content .edui-default .edui-editor{ + box-shadow:none; + border: 1px solid #d4d4d4; + border-radius: var(--radius); +} +.nav-content .edui-default .edui-editor-toolbarbox{ + box-shadow:none; +} + +.btn-sorg{ + margin:5px; + padding:1px; + position: relative; +} +.btn-sorg:hover{ + box-shadow: none; +} +.btn-sorg img{ + height:24px; + width:24px; + border-radius: 50%; + +} +.btn-sorg .ibtn.dzz-close{ + margin:0!important; +} + +.image-body .image-item{ + height:175px; + float:left; + padding:10px; + position:relative; +} +.image-item .ibtn{ + display:none; +} +.image-item:hover .ibtn{ + display:block; +} +.image-body .image-item .thumbnail { + max-height:100%; + float:left; + margin:0; +} +.image-item .thumbnail img { + max-height:100px; +} +.image-item .thumbnail .caption { + max-width:200px; + padding:9px 9px 0 9px; +} +.image-item .thumbnail .caption .input-imag-title{ + border:1px solid transparent; + box-shadow:none; + width:100%; + text-align: center; +} +.image-item .thumbnail .caption .input-imag-title:focus{ + border:1px solid #66afe9; +} + +/*start 内容查看页*/ + +.subject{ + font-size: 30px; + font-weight: 700; + line-height: 1.5; + font-family:"lucida grande", "lucida sans unicode", "lucida", "Helvetica Neue", "helvetica", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "sans-serif"; + word-break:break-all; + text-align:center; +} +.content-document{ + padding: 0px 60px; +} + +.content-document-body{ + font-size: 14px; + font-weight: 100; + line-height: 30px; + color: #2f2f2f; + overflow-x: hidden; + position: relative; +} +.content-document-body p{ + overflow: auto +} +.view_top{ + height:40px; + width: 100%; + border-bottom: 1px solid #e1e1e1; + box-shadow: 0px 0px 3px #F4F5F6; +} +.view_top>a{ + line-height: 40px; + color: #6D6D6D; +/* padding-left: 25px;*/ +} + +.content-vote{ + padding: 20px 0; +} + + +.content-info{ + background: #f2f6fc; + padding: 15px; + border-radius: var(--radius); + margin-bottom: 15px; +} +.content-info .info-item{ + color:#909399; + margin-bottom: 5px; +} +.info-item .pipe{ + padding:0 5px; +} +.content-comment{ + border-top:0; +} +.content-comment .document-comment .itemfeed:first-child{ + border-top:0 +} + +.content-comment .comment-reply-form{ + margin:0 20px; +} +.panel{ + border-radius: var(--radius); +} +.content-document { + width:100%; + margin:0; + border:none; + border-top:1px solid #DDD; + background:#FFF; + box-shadow:none; + overflow-x:hidden; +} +.content-document-body{ + margin:0 10px; +} +.content-vote{ + margin:0 10px 20px 10px; +} +} +.content-image-body{ + margin:20px 0; +} +.content-image .content-vote,.content-image .content-info,.content-image .content-comment{ + margin:0 20px 20px 20px; +} + +/*end 内容查看页*/ + +/**/ + +.editor-btn { + border-radius: var(--radius); + margin-left: 5px; + display: inline-block; + width: 38px; + height: 38px; + border: 1px solid #DADFE6; + vertical-align: middle; + font-size: 20px; + text-align: center; + line-height: 38px; + color: #82939E; +} +.editor-btn.active { + background-color: #F3FBFF; + color: #3497DB; + border-color: #3497DB; +} +.cat-container{ + padding:10px 10px 10px 2px; +} +.nav-zstacked{ + padding:0px 0 0px 20px; +} +.nav-zstacked:first-child{ + padding-left: 0px; +} +.nav-zstacked>li{ + overflow:hidden; +} +.nav-zstacked>li>a{ + padding: 5px 10px; + border:1px solid transparent; + border-radius: var(--radius); + margin:2px 0; + white-space:nowrap; +} +.cat-ctrl { + display:none; + position: absolute; + top: 5px; + right: 0px; + width: 20px; + height: 20px; + z-index: 5; + text-align:center; + background:#F7F7F7; + border-radius: var(--radius); +} +.cat-ctrl i{ + font-size:12px; + font-weight:100; + color:#3497DB +} +.cat-ctrl.openpop{ + display:block; +} +.nav-zstacked>li>a:hover, .nav-zstacked>li>a:focus { + text-decoration: none; + background-color: #FbFbFb; + border-color:#3497DB; +} +.nav-zstacked>li>a:hover .cat-ctrl , .nav-zstacked>li>a:focus .cat-ctrl { + display:block; +} +.nav-zstacked>li.active>a, .nav-zstacked>li.active>a:hover, .nav-zstacked>li.active>a:focus { + color: #fff; + background-color: #3497DB; +} + +/*nav-underline 样式 start */ +.nav-underline{ + border-bottom: 1px solid #ddd; +} +.nav-underline li{ + float:left; +} +.nav-underline > li > a{ + padding-left: 0; + padding-right: 0; + text-align: center; + color:#82939e; +} +.nav-underline > li:hover, .nav-underline > .active { + margin-bottom: -1px; + border-bottom: 2px solid #4285F4; +} +.nav-underline > li > a:hover { + background-color: transparent; +} +.nav-underline > .active > a { + font-weight: 700; + color: #4285F4; +} +.nav-underline > li> a{ + padding-bottom: 9px; + padding-left: 10px; + padding-right: 10px; +} +/* nav-underline 样式 end */ + +.news_all{ + display: block; + padding: 20px 8px; + color: #666; + font-size: 14px; +} +.news_add{ + font-size: 26px; + color: #fff; + border-radius: 50%; + border: none; + bottom: 24px; + cursor: pointer; + height: 56px; + position: fixed; + background: #e11d2a; + line-height: 56px; + text-align: center; + webkit-transition-duration: 0.25s; + -webkit-transition-duration: 0.25s; + -moz-transition-duration: 0.25s; + -o-transition-duration: 0.25s; + transition-duration: 0.25s; + -webkit-transition-property: background-color,-webkit-box-shadow; + right: 24px; + transition-property: background-color,box-shadow; + width: 56px; + z-index: 2; + box-shadow: 0px 2px 10px rgba(0,0,0,.3), 0px 0px 1px rgba(0,0,0,.1), inset 0px 1px 0px rgba(255,255,255,.25), inset 0px -1px 0px rgba(0,0,0,.15); + font-family: Roboto,Arial,sans-serif; + -webkit-font-smoothing: antialiased; +} +.news_add1{ + color: #fff; + border-radius: 50%; + border: none; + bottom: 88px; + cursor: pointer; + height: 56px; + position: fixed; + background: #e11d2a; + line-height: 56px; + text-align: center; + webkit-transition-duration: 0.25s; + -webkit-transition-duration: 0.25s; + -moz-transition-duration: 0.25s; + -o-transition-duration: 0.25s; + transition-duration: 0.25s; + -webkit-transition-property: background-color,-webkit-box-shadow; + right: 24px; + transition-property: background-color,box-shadow; + width: 56px; + z-index: 2; + box-shadow: 0px 2px 10px rgba(0,0,0,.3), 0px 0px 1px rgba(0,0,0,.1), inset 0px 1px 0px rgba(255,255,255,.25), inset 0px -1px 0px rgba(0,0,0,.15); + font-family: Roboto,Arial,sans-serif; + -webkit-font-smoothing: antialiased; +} +.news_add:hover{ + color: #fff; + background: #e11d2a; + webkit-box-shadow: 0px 5px 5px rgba(0,0,0,.2), 0px 10px 14px rgba(0,0,0,.1), inset 0px 1px 0px rgba(255,255,255,.25), inset 0px -1px 0px rgba(0,0,0,.10); + -moz-box-shadow: 0px 5px 5px rgba(0,0,0,.2),0px 10px 14px rgba(0,0,0,.1),inset 0px 1px 0px rgba(255,255,255,.25),inset 0px -1px 0px rgba(0,0,0,.10); + box-shadow: 0px 5px 5px rgba(0,0,0,.2), 0px 10px 14px rgba(0,0,0,.1), inset 0px 1px 0px rgba(255,255,255,.25), inset 0px -1px 0px rgba(0,0,0,.10); +} +.news_add1:hover{ + color: #fff; + background: #e11d2a; + webkit-box-shadow: 0px 5px 5px rgba(0,0,0,.2), 0px 10px 14px rgba(0,0,0,.1), inset 0px 1px 0px rgba(255,255,255,.25), inset 0px -1px 0px rgba(0,0,0,.10); + -moz-box-shadow: 0px 5px 5px rgba(0,0,0,.2),0px 10px 14px rgba(0,0,0,.1),inset 0px 1px 0px rgba(255,255,255,.25),inset 0px -1px 0px rgba(0,0,0,.10); + box-shadow: 0px 5px 5px rgba(0,0,0,.2), 0px 10px 14px rgba(0,0,0,.1), inset 0px 1px 0px rgba(255,255,255,.25), inset 0px -1px 0px rgba(0,0,0,.10); +} +.dzz-image{ + display: block; + margin:0px auto; +} +.form-horizontal-left .help-inline{ + padding: 0; +} +/*12.13修改*/ +.checkbox-custom { + margin-bottom: 0; + margin-top:0; +} +.checkbox-custom label{ + padding-left: 20px; +} + +/*12.14修改*/ +.main-title{ + border-bottom: 1px solid #ddd; + width: 100%; + height: 57px; +} +.group-tabul{ + overflow: hidden; + float: right; + margin-right: 10px; + margin-bottom: 0px; +} +@media (max-width: 361px) { +.group-tabul{ + float: left; + } +} +.group-tabul li.active { + background-color: inherit; + border-bottom: 3px solid #e11d2a; +} +.group-tabul li { + float: left; + padding: 0 5px; + line-height: 54px; + text-align: center; +} +.group-tabul li.active a { + color: #e11d2a; +} +.group-tabul li a { + color: #666; + text-decoration: none; + display: inline-block; +} +.checkbox-custom1 label::after{ + line-height: 16px; +} +/*1.23修改*/ +.navbar-inverse { + background: #e11d2a; + border-color: #e11d2a; +} +.bs-left-container .nav-stacked>.active>.a_click2, .bs-left-container .nav-stacked>.active>a, .bs-left-container .nav-stacked>.active>a:hover{ + color: #ae2b34; + border: none; + background: #f9e5e5; +} +.resNav .navbar-nav > .open > a, .resNav .navbar-nav > .open > a:focus, .resNav .navbar-nav > .open > a:hover{ + background: #e11d2a; + border-color: #e11d2a; +} +.bs-left-container .nav-stacked>li>a:hover{ + background: #f2f2f2; +} +.title_label{ + margin-bottom: 0px; + float: left; + line-height:34px; +} +.btn_save label{ + margin-left: 15px; + margin-top: 0px; +} +.select2-container .select2-choice { + border: none; + background-image: none; +} +.select2-container .select2-choice .select2-arrow{ + border: none; + background: none; +} + + +/*结束*/ + + +/*01.25修改*/ + +.list-unstyled img{ + border-radius: 50%; +} +/*01.26修改*/ + +.navtoperate .industry-item-content-icon a{ + display: inline-block; + width: 20px; + height: 20px; + margin-top: 5px; +} +.navtoperate .industry-item-content-icon .dzz{ + color:rgb(78, 85, 99); + font-size: 20px; + opacity: 0.65; +} +.navtoperate .industry-item-content-icon{ + margin-top: 17px; + margin-right: 2.14rem; +} +#ulContainer{ + margin: 0; + width: 100%; + height: 100%; +} +.list-unstyled { + padding-left: 0px; + list-style: none; +} +#ulContainer .industry-item { + border: 1px solid #E6E6E6; + margin-bottom: 30px; + padding: 20px; + background: #FFF; +} +#ulContainer .industry-item .industry-left-icon { + width: 24px; + margin-right: 15px; + float: left; + font-size: 24px; + color: #999; +} +#ulContainer .industry-item .industry-item-content { + width: 100%; + padding-left: 35px; + line-height: 30px; +} +#ulContainer .industry-item .industry-item-content .industry-item-content-top { + overflow: hidden; +} +#ulContainer .industry-item .industry-item-content .industry-item-content-top .industry-item-content-title { + width: 200px; + float: left; +} +.industry-item-show .industry-item-content-icon a{ + display: inline-block; + width: 20px; + height: 20px; + margin-top: 5px; +} +.industry-item-show .industry-item-content-icon .dzz{ + color:rgb(78, 85, 99); + font-size: 20px; + opacity: 0.65; +} +.industry-item-content-icon .dzz:hover{ + opacity: 1; +} +#ulContainer .industry-item .industry-item-content .industry-item-content-top .industry-item-content-title input { + float: left; + color: #5D6770; + font-size: 15px; +} +#ulContainer .industry-item-input .industry-item-content-icon>a { + display: inline-block; + text-align: center; + line-height: 34px; +} +.industry-item-input{ + display: none; +} +.industry-item-content-ok { + color: #33B159; +} +.industry-item-content .dzz-done,.industry-item-content .dzz-close{ + font-size: 20px; + vertical-align: sub; +} +.table>tbody>tr>td, .table>tbody>tr>th, .table>tfoot>tr>td, .table>tfoot>tr>th, .table>thead>tr>td, .table>thead>tr>th{ + padding: 14px 8px; +} +.checkbox-primary input[type=radio]:checked+label::before, .checkbox-primary input[type=checkbox]:checked+label::before { + background-color: #e11d2a; + border-color: #e11d2a; +} +/*结束*/ + + +/*01.27修改*/ +a i{opacity: 1} + +.industry-add{ + text-align: center; +} + +/*01.30修改*/ +#orgids_Menu{ + color:#e11d2a; +} +#orgids_Menu:hover{ + color: #cf1421; +} +#ueditorform_btn{ + background: #e11d2a; +} +.radio-primary input[type=radio]:checked+label::before{ + border-color:#e11d2a; +} + +.navbar-inverse .navbar-nav>li> .navbar-nav-left-appname { + font-size: 22px; +} +.navbar-nav-left-return i { + width: 32px; + height: 34px; + /*margin-right: 5px;*/ + font-size:32px; + vertical-align: middle; +} +/*结束*/ +/*开始-修改红色背景或线框*/ +.select2-results .select2-highlighted{background: #e11d2a;} +.select2-drop-active,.form-control.select2-container.select2-dropdown-open,.nav-underline > li:hover, .nav-underline > .active{border-color: #e11d2a;} +.nav-underline > .active > a,.appuser_sfed{color:#e11d2a;} +#publish_submit_news_1{background-color: #e11d2a; background: #e11d2a;border-color: #e11d2a;} +/*01.31修改*/ +.table-hover tr .list-icon{ + visibility: hidden; +} +.table-hover tr:hover .list-icon{ + visibility: visible; +} +.input-search .input-search-icon{ + left: 20px; +} + +/*2.1修改*/ +.ibtn { + border-radius: var(--radius); + opacity: .65; + font-size: 18px; +} +.ibtn:hover { + background: #e11d2a; + color: #FFF; + opacity: 1; +} + +.form-group .control-label { + text-align: right; + width: 120px; + padding-right: 10px; + width: 120px; + float: left; + padding-top: 7px; + margin-bottom: 0; + text-align: right; + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: 700; +} +/*2.3修改*/ +.checkbox-primary input[type=radio]:checked+label::before, .checkbox-primary input[type=checkbox]:checked+label::before { + background-color: #e11d2a; + border-color: #e11d2a; +} +:focus,input[type=file]:focus, input[type=checkbox]:focus, input[type=radio]:focus,.checkbox-custom input[type=radio]:focus+label::before, .checkbox-custom input[type=checkbox]:focus+label::before{ + outline: #e11d2a; +} +.popbox-container{ + border: none; +} +ul.popbox-menu li>a{ + padding: 0.57rem 0rem 0.57rem 1.78rem; + border-radius: var(--radius); + -webkit-transition: background-color .25s; + -o-transition: background-color .25s; + transition: background-color .25s; +} +ul.popbox-menu li>a:hover { + text-decoration: none; + background-color: #f3f3f3; + border-radius: var(--radius); + color: #333; +} +.tr_nowrap{ + width:300px!important; + white-space: nowrap; + overflow: hidden!important; + text-overflow:ellipsis; +} +.list-title{ + max-width: 100%; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +} +.gb_fc:hover{ + background-color: rgba(0,0,0,0.071); + outline: none; +} +.gb_fc { + -webkit-border-radius: 50%; + border-radius: 50%; + display: inline-block; + margin: 0 4px; + padding: 12px; + overflow: hidden; + vertical-align: middle; + cursor: pointer; + -webkit-user-select: none; + -webkit-flex: 0 0 auto; + flex: 0 0 auto; +} +textarea.input-error, input.input-error{ + border-color: #e1e1e1; +} +.form-control:focus { + border-color: #e11d2a; +} +/*结束*/ +/*02.07添加*/ +.modal-header { + color: rgba(64, 64, 64, 1); + border-bottom: none; +} +.modal-header .modal-title { + text-align: center; + font-size: 22px; +} +.modal-header .close { + color: rgba(118, 118, 132, 1); + opacity: 1; +} +.modal-dialog .modal-content { + background: #fff; +} +.user-select-content-left { + width: 50%; + height: 300px; + border-right: 1px solid #d6d6d6; + float: left; +} +.user-select-content { + margin-top: 20px; + width: 100%; + height: 300px; +} +.user-select-content-left { + width: 50%; + height: 300px; + border-right: 1px solid #d6d6d6; + float: left; +} +.group-content { + height: 260px; +} +.user-select-content-right { + width: 50%; + height: 300px; + float: right; + overflow: auto; +} +.user-select-content-right .selected-member { + padding-left: 30px; + padding-top: 10px; + padding-bottom: 10px; +} +.sele-right-classa{ + list-style: none; + padding: 0; + margin: 0; +} +.group-content ul li { + position: relative; +} +.sele-right-classa li { + height: 40px; + padding-left: 25px; + line-height: 40px; + margin-left: 5px; +} + +.sele-right-classa li img { + width: 20px; + height: 20px; + margin-right: 5px; +} +.sele-right-classa li .ti-close { + float: right; + padding-right: 15px; + line-height: 40px; + display: none; +} + +.iconFirstWord { + width: 24px; + height: 24px; + border-radius: 50%; + display: inline-block; + line-height: 24px; + text-align: center; + margin-right: 2px; + color: #FFFFFF; +} + +.sele-right-classa li:hover { + background-color: #f2f2f2; + border-radius: var(--radius); +} +.sele-right-classa li:hover .ti-close { + display: block; +} +.sele-right-classa li .ti-close { + float: right; + padding-right: 15px; + line-height: 40px; + display: none; +} + + +/*02.08修改*/ +.left_ifed img,.left_icfed img{ + border-radius: 50%; +} +.user-item .thumbnail span { + width: 84px; + height: 84px; + line-height: 84px; + font-size: 30px; + margin-top: 0; +} +/*结束*/ + +/*0209修改*/ +.btn-primary.disabled, .btn-primary.disabled.active, .btn-primary.disabled.focus, .btn-primary.disabled:active, .btn-primary.disabled:focus, .btn-primary.disabled:hover, .btn-primary[disabled], .btn-primary[disabled].active, .btn-primary[disabled].focus, .btn-primary[disabled]:active, .btn-primary[disabled]:focus, .btn-primary[disabled]:hover, fieldset[disabled] .btn-primary, fieldset[disabled] .btn-primary.active, fieldset[disabled] .btn-primary.focus, fieldset[disabled] .btn-primary:active, fieldset[disabled] .btn-primary:focus, fieldset[disabled] .btn-primary:hover{ + background-color: rgba(225,29,42,0.3); + border-color: rgba(225,29,42,0.3); +} +.btn-primary,.btn-primary:focus,.btn-primary:hover,.btn-primary:active ,.btn-primary:link,.btn-primary:visited{ + border-color: #e11d2a; + background-color: #e11d2a; +} +.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover, .btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover, .open>.dropdown-toggle.btn-primary.focus, .open>.dropdown-toggle.btn-primary:focus, .open>.dropdown-toggle.btn-primary:hover{ + border-color: #e11d2a; + background-color: #e11d2a; +} +.comment-reply-form{ + border: none; + margin-left: 0px; +} +.nav>li>a:focus, .nav>li>a:hover { + background: none; +} +/*结束*/ + +.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover{ + background-color: #e11d2a; + border-color: #e11d2a; +} +.pagination>li>a:focus, .pagination>li>a:hover, .pagination>li>span:focus, .pagination>li>span:hover{ + color: #e11d2a; +} + +.onready_top{ + display:inline-block; + width: 60px; + height: 25px; + z-index: 222; + color: #b71c1c; + border-radius: var(--radius); + text-align: center; + line-height: 25px; + background-color: #ffe6e9; +} +.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year{ + height: 25px; +} +.ui-datepicker select.ui-datepicker-year{ + margin-right:3px; +} +.lianjie_cloud{display:flex;align-items:center;padding:10px;border:3px solid #ebeef5;border-radius: var(--radius);overflow:hidden;margin-bottom: 15px;} +.lianjie_cloud__logo{flex-shrink:0;width:40px;height:40px;margin-right:10px;border-radius:100%;} +.lianjie_cloud__describe-title{color:#409eff;font-size:large;margin-bottom:3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis} +.lianjie_cloud__btn{margin-left:auto;background:#377fff;color:#fff;width:40px;height:40px;line-height:45px;border-radius:50%;text-align:center;font-size: large;} +.lianjie_cloud__describe{width: calc(100% - 30px);} \ No newline at end of file diff --git a/user/news/images/no_list.png b/user/news/images/no_list.png new file mode 100644 index 0000000..8cfb5fc Binary files /dev/null and b/user/news/images/no_list.png differ diff --git a/user/news/images/pin.gif b/user/news/images/pin.gif new file mode 100644 index 0000000..0be7964 Binary files /dev/null and b/user/news/images/pin.gif differ diff --git a/user/news/images/pin_1.gif b/user/news/images/pin_1.gif new file mode 100644 index 0000000..effb529 Binary files /dev/null and b/user/news/images/pin_1.gif differ diff --git a/user/news/images/pin_2.gif b/user/news/images/pin_2.gif new file mode 100644 index 0000000..2d7055f Binary files /dev/null and b/user/news/images/pin_2.gif differ diff --git a/user/news/images/pin_3.gif b/user/news/images/pin_3.gif new file mode 100644 index 0000000..ee580b1 Binary files /dev/null and b/user/news/images/pin_3.gif differ diff --git a/user/news/images/pin_4.gif b/user/news/images/pin_4.gif new file mode 100644 index 0000000..d47f05c Binary files /dev/null and b/user/news/images/pin_4.gif differ diff --git a/user/news/images/popbox.css b/user/news/images/popbox.css new file mode 100644 index 0000000..d35cc34 --- /dev/null +++ b/user/news/images/popbox.css @@ -0,0 +1,126 @@ +.popbox{ + position:absolute; + z-index:1229; + display:none; + min-width:240px; + max-width:400px; + padding:1px;text-align:left; + background-color:#fbfbfb; + -webkit-background-clip:padding-box; + -moz-background-clip:padding; + border:1px solid #e1e1e1; + *border:1px solid #e1e1e1; + font-size:14px; + -webkit-box-shadow:0 2px 4px rgba(0,0,0,0.05); + box-shadow:0 2px 4px rgba(0,0,0,0.05); + background-clip:padding-box; + outline:none; +} +.loadding{ + background:url(loading.gif) center no-repeat; + width:100%; + height:100px; +} +.popbox.fade{-webkit-transition:opacity .3s linear, top .3s ease-out;transition:opacity .3s linear, top .3s ease-out;top:-25%} +.popbox.fade.in{top:10%} +.popbox.top{margin-top:-10px} +.popbox.right{margin-left:10px} +.popbox.bottom{margin-top:10px} +.popbox.left{margin-left:-10px} +.popbox-header{position:relative;padding:9px 15px;border-bottom:1px solid #e1e1e1;background-color:#f9f9f7}.popbox-header:before,.popbox-header:after{content:" ";display:table} +.popbox-header:after{clear:both} +.popbox-header i.icon{margin-top:4px;padding:0;float:left} +.popbox-header button.back,.popbox-header button.cancel{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;margin-top:2px;opacity:.2;filter:alpha(opacity=20)}.popbox-header button.back:hover,.popbox-header button.cancel:hover{opacity:.4;filter:alpha(opacity=40)} +.popbox-header button.back{float:left;margin-right:5px;} +.popbox-header button.cancel{float:right} +.popbox-header h3{margin:0;font-size:16px;line-height:20px;} +.popbox-bodywrapper{max-height:400px;overflow:auto;} +.popbox-body{position:relative;padding:15px;}.popbox-body form{margin-bottom:0} +.popbox-body .empty-menu{border:dotted 1px #e1e1e1;background:#f9f9f7;padding:15px;margin:15px;min-height:48px;line-height:48px;text-align:center;min-width:220px;color:#999} +.popbox-body .empty-menu-nomin-h{border:dotted 1px #e1e1e1;background:#f9f9f7;padding:15px;margin:15px;min-height:48px;line-height:48px;text-align:center;color:#999} +.popbox-bodyheader{position:relative;overflow-x:hidden;overflow-y:auto;max-height:400px;padding:15px}.popbox-bodyheader:before,.popbox-bodyheader:after{content:" ";display:table} +.popbox-bodyheader:after{clear:both} +.popbox-bodyheader button.back,.popbox-bodyheader button.cancel{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none;margin-top:4px;opacity:.2;filter:alpha(opacity=20)}.popbox-bodyheader button.back:hover,.popbox-bodyheader button.cancel:hover{opacity:.4;filter:alpha(opacity=40)} +.popbox-bodyheader button.back{float:left} +.popbox-bodyheader button.cancel{float:right} +.popbox-form{margin-bottom:0} +.popbox-footer{padding:0 15px 15px 15px;margin-bottom:0;border-radius:0 0 6px 6px}.popbox-footer:before,.popbox-footer:after{content:" ";display:table} +.popbox-footer:after{clear:both} +.popbox-footer:before,.popbox-footer:after{content:" ";display:table} +.popbox-footer:after{clear:both} +.popbox-footer .btn+.btn{margin-bottom:0} +.popbox-footer .btn-group .btn+.btn{margin-left:-1px} +.popbox-footer .btn-block+.btn-block{margin-left:0} +.popbox-footer .action-item{display:block;margin-top:13px;margin-left:10px} +.popbox-footer.top-divider{border-top:solid 1px #e1e1e1} +ul.popbox-step{padding:0;margin:0}ul.popbox-step li.popbox-step-li{padding:0;list-style-type:none} +.no-padding{padding:0} +ul.popbox-menu{margin:0;margin-left:-15px;margin-right:-15px;margin-top:-15px;margin-bottom:-15px}ul.popbox-menu li{line-height:200%;margin:5px}ul.popbox-menu li.divider{border:0;border-top:solid 1px #e1e1e1;border-bottom:solid 1px #fff;margin:0} +ul.popbox-menu li>a{display:block;cursor:pointer;color:#333;padding:5px 15px} +ul.popbox-menu li>a.active{text-decoration:none;background-color:#f2f2ea;border-radius:3px} +ul.popbox-menu li>a:hover{text-decoration:none;background-color:#f2f2ea;border-radius:3px} +ul.popbox-menu li>a:hover .action{visibility:visible} +ul.popbox-menu li>a:focus{text-decoration:none} +ul.popbox-menu li>a.text-muted{color:#ccc;cursor:not-allowed} +/*ul.popbox-menu li>a i{margin-right:5px}*/ +ul.popbox-menu li>a .small-tip{position:absolute;right:20px} +ul.popbox-menu li>a .action{visibility:hidden;position:absolute;right:5px} +ul.popbox-menu li .icon{float:left;display:block;width:20px;height:20px} +.popbox .arrow,.popbox .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid} +.popbox .arrow{border-width:11px} +.popbox .arrow:after{border-width:10px;content:""} +.popbox.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:#e1e1e1;bottom:-11px}.popbox.top .arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fbfbfb} +.popbox.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:#e1e1e1}.popbox.right .arrow:after{left:1px;bottom:-10px;border-left-width:0;border-right-color:#fbfbfb} +.popbox.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:#e1e1e1;top:-11px}.popbox.bottom .arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fbfbfb} +.popbox.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:#e1e1e1}.popbox.left .arrow:after{right:1px;border-right-width:0;border-left-color:#fbfbfb;bottom:-10px} +ul.popbox-item{margin:-15px;list-style:none;margin-left:0;margin-top:-5px}ul.popbox-item:before,ul.popbox-item:after{content:" ";display:table} +ul.popbox-item:after{clear:both} +ul.popbox-item li{line-height:200%;margin:5px;float:left;cursor:hand} +ul.popbox-item .emoji{width:18px;height:18px;vertical-align:text-bottom;margin-right:5px} +.popbox-avatar .avatar-body { + position: relative; + overflow-x: hidden; + overflow-y: auto; + padding: 15px 15px 8px 15px; + overflow: hidden; + zoom: 1; + width: 300px; + margin-bottom: 10px; +} +.popbox-avatar .avatar-body .avatar { + float: left; + margin-right: 10px; +} +.avatar.avatar-56 img { + width: 56px; + height: 56px; +} +.popbox-avatar .avatar-body button.close, .popbox-avatar .avatar-body button.cancel { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + margin-top: 4px; + opacity: .2; + filter: alpha(opacity=20); +} +.avatar-right { + overflow: hidden; + zoom: 1; + margin-left: 30px; +} +.avatar-right h4.avatar-heading { + font-size: 16px; + margin: 4px 0 8px; + display: inline-block; +} +.popbox-avatar .avatar-footer { + width: 300px; + border-top: solid 1px #fff; + padding: 5px 15px; + text-align: right; + background: #f9f9f7; + line-height: 32px; + border-top: solid 1px #e1e1e1; +} \ No newline at end of file diff --git a/user/news/images/shipin.css b/user/news/images/shipin.css new file mode 100644 index 0000000..0e03426 --- /dev/null +++ b/user/news/images/shipin.css @@ -0,0 +1,45 @@ +.play{ + border-radius: var(--radius);position:relative;background:#f2f6fc;padding:60px 15px 15px +} +.video .play{ + margin-bottom:15px +} +.title{ + position:absolute;top:15px;left:-10px;background:#409eff;color:#fff;font-weight:500;box-shadow:2px 5px 10px rgba(49,58,70,0.15);height:30px;line-height:30px;padding:0 12px;border-radius:2px 2px 2px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none +} +.play .box{ + border-top:1px solid #e4e7ed;padding-top:15px +}.joe_detail__article-video .play{ + margin-bottom:15px +} +.episodes{ + border-radius: var(--radius);position:relative;background:#f2f6fc;padding:60px 15px 15px +} +.episodes .box{ + border-top:1px solid #e4e7ed;padding-top:15px; +} +.episodes .box{ + border-top:1px solid #e4e7ed;padding-top:15px;display:flex;gap:15px;align-content:center;justify-content:center;align-items:stretch;flex-direction:row;flex-wrap:wrap +} +.episodes .box .item{ + height:30px; + line-height:30px; + border-radius:1rem; + background:#fff; + color:#606266; + cursor:pointer; + text-align:center; + font-size:large;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:box-shadow 0.35s, background 0.35s, color 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, box-shadow 0.35s, background 0.35s, color 0.35s;transition:transform 0.35s, box-shadow 0.35s, background 0.35s, color 0.35s, -webkit-transform 0.35s;padding:0 10px +} +.episodes .box .item.active{ + -webkit-transform:translateY(-2px);transform:translateY(-2px);color:#fff;background:#409eff;box-shadow:0 5px 5px rgba(0,0,0,0.1) +} +.episodes .box .item:hover{ + -webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 5px 5px rgba(0,0,0,0.1) +} +iframe{ + display:block;border:none;margin:0 auto;vertical-align:middle;height: 500px;width: 100% +} +#Joe{ + margin: 1rem 0 +} \ No newline at end of file diff --git a/user/news/images/styleswitch.css b/user/news/images/styleswitch.css new file mode 100644 index 0000000..7dfdb1d --- /dev/null +++ b/user/news/images/styleswitch.css @@ -0,0 +1,80 @@ +.content-document-body h1::before{ + content: '¶'; + color: #409eff; +} +.content-document-body h2::before{ + content: '|'; + border-radius: 2px; + color: #409eff; + font-weight: 1000; +} +.content-document-body h3::before{ + content: '「'; + color: #409eff; + font-weight: 600; + margin-right: 5px; +} +.content-document-body h3::after{ + content: '」'; + color: #409eff; + font-weight: 600; + margin-left: 5px; +} +.content-document-body h4{ + margin-left: 26px; +} +.content-document-body h4::before{ + content: ''; + position: absolute; + width: 22px; + height: 29px; + background-size: 100% 100%; + margin: 0 0 0 -26px; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAEI0lEQVRYR+3Xb2wTZRwH8G/vL22RPy5GW8fK6rJpGeFFY9RO3TRRE1HfmEAammEyjZmOSEg1RrPZaTD6xjhU/Ndlf0CZgwmD+qcgZBRIETeqY0Vcnc7pGonhRY2l3m2t5upqjq693l2vcy+8N81zz/NcPvf75fd7rjos8ku3yH34HyjK0PqlDLPzD56vMNL0VHxmpgXAoUIZXKgI3sMSpK+cNTAbylaj/9IkprnLM3+mkg8XQi4EsJ4lSL+ZNbAfVd+JG/XLcSERg3M8IAtZauBtDEkeNdN6fX9NfRqXueQiSwm00wQRMDMGw94snBJkqYBrSYIIXs/ojftqGq6IXHZRFIpkKYC2JSw9SJE663W0nthlqcMawwrJYpVCag1M48pNy1YNvLWRffGNIYSCv6Cnog7rjCtVIbUEXoG7qeqaNMj51F58dWoKPZY62JeWyUJG+ctcIplcIizWCpgTl9EIyODJn9BtceDWq/6B57tO/H4R688fFaZ7AWzWAiiJEyMDx39Ed6UDdyy7Ni/w1ekxbP95VJi/F8CRYoGycGLksaEJdFU6cPdy0zxkR/RbtE6FhPvHATQUm2JFODHSfyyCLmsd7lth/hf53q/jcE8OC+NTAG7PTKiNoCqcGPnpF+PotDrwwNXl+OC3H9A8cVqYPgPgFnFo1QCLwomRg4cvoPMGBzZHTgq3zwKwZ+ddKVATXAZhf+gdnPvuojAUqmJdrspRAtQU93pXEM+8clgwhQHU5itruUBNcTt6TsP9sl8weQC0S/VFOUBNcW/2folt2z+XhZPTZh6kSKJ79aqVRuFszRxfUm8sNbdz9xlsfekz2bhCQBvDMMM8z+ubN92Mjrb71brS+97dM4wtnk8U4SSBBEGErVarzeVywePxoHVLA1pb6lUh3+8bwZMv+BTjpIAVACa9Xq+uqakJ7e3tqpGd/WfR3Jr+81awIJS0mY0A+sLhMGw2W3qfGmTXvhAef/6gapxUBDuqqqoejUQiBvFbKUH2DHyNx54bLAqXF0jT9HBjY6Pd6/XOi7oc5K7936Dp2QNF4/IBrTqdLuLxeIi2tracRSGF/PDgKB55er8muHzATQB2m81m+P1+1NbmPoVyIfsOnUOj+2PNcPmAO1iWbeE4TmexWODz+WQhayrL4No2oCkuJ5Bl2VGO49ZmcisXObdeVSuRaq7ZZ3G10KBTqRQl3pQPGY1GEQgE4HQ6heVDAO5S1cklNmUDXQRB9KZSqXkfESaTCW63G7FYDKFQKDEyMoJoNKqfe/bbAJ7QGpcrxa8xDLOV5/k0kGXZv2ZnZ5FMJtNjmqYvURR1IpFInAcwAeD7ud/pUuDmAY1G41g8Hl9DkmScoqggx3FHAIyJMMlSQfI9V5zKagDC93dsoRFKimQx2dIWOV/U/yn6bx0WyDj8vgLOAAAAAElFTkSuQmCC); +} +.content-document-body h5{ + margin-left: 26px; +} +.content-document-body h5::before{ + content: ''; + position: absolute; + width: 22px; + height: 24px; + margin: 0 0 0 -25px; + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAC8klEQVRYR+3WP2gTURwH8O/vKnVRRHKXP52cBO3g4p/BqYNIhy4muajUQRBFKjQV1En6ZxJBcmlRCoJDRe3FDiJVwamLS3FwqbgIgss1l2ZQF5XeT3I1Z3NJ7u5dLlAwN9699/t97vfe7/EIO/yhHe5DD9jpCv3fFVTu856+Xzi62Y/35hj9CFPNrlUwWeRJAJfBGADwBcBNI0/PRZFdAdo4xlQLjCqKjBzogat7hZCRAgPghJGBgbFnxglAOvS7b/fLb+q+qnv5BHBCyEBAWTdnANy2IxOtWSC1qsY+1jOFwAVG+gIVvXyHQbcaKuZCxmf5iMQogXFQtEsBeO5JT6BcMu+Bcb1lUhcyqfExACUAB6JEtgUqi+U5JrrmmcyFHCjwSYtQO+tSUSFbAmXdnAdwJVASdyWLPAS2kbFA8xsHNS13EzCmlx8R6KJQcBcypfFpho3cKxRna3ADsgEo6+ZjAKMhgjZ1d2KWR2gTSyD0h4jnIB2gXDIXwciFCPZvSnMl0wwshYrJGDImaMUGKovlLBPVOrDjh8APzFx8zDkjNa7FzYoGZsKT9XEarQOHmei1aJA246cqOWW6/i2l8VMGzoWIPW/k6eq2Ja6UwCz8pw2JGZ8sS8pUz8fWau/jGp+SgLchcGBgZD1Py41NUuoI+ZloV8ZU93+ogZKzfBiWfXAPCgMJU8Y42avQdMzI4ZBfmSizocqrUeJaAmsvBZGGBCtTziXeRY1rCxRAViEhXckqK93AeQJ9kYTvlmVlqmcTdhNEtefc+9X3utVmuX+CkK6oyqtu4nwrWP8bF5IZdGYjJ79wDuMCz4D+XmhFWnZbt7ab5ltBB6mbkyAaBPFCJassuwMmNb4L4EZgXwBc4AoGTZrUeA6A9x1yK6tzzvnFDlxBv0D176kCP2TCpbbjBXCRV9DZk0VeAONCE1IQ1zWg3dlF1sFQHWQIXFeBNrLAw5BwHBZWjQl6E3SbbB8X+R4Mg/Ca0wN2WtFeBTut4B84mFI4VpekyAAAAABJRU5ErkJggg==); + background-size: 100% 100%; +} +.content-document-body h6{ + line-height: 26px; + margin-bottom: 18px; + background: #ecf8ff; + border-left: 5px solid #50bfff; + color: #50bfff; + padding: 8px 15px; + font-size: 20px; +} +.fenggebiaoti{ + font-size: 30px; + font-weight: 700; + line-height: 1.5; + font-family:"lucida grande", "lucida sans unicode", "lucida", "Helvetica Neue", "helvetica", "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", "sans-serif"; + word-break:break-all; + text-align:center; + padding: 30px; + position: relative; +} +.fenggebiaoti span{ + padding: 0 10px 0 10px; + background: #ffffff; + position: relative; + color: #2299DD; +} +.fenggebiaoti::before{ + display: block; + content: ''; + position: absolute; + top: 49%; + left: 0; + right: 0; + border-top: 1px solid rgba(0, 0, 0, .05); +} \ No newline at end of file diff --git a/user/news/images/swiper.min.css b/user/news/images/swiper.min.css new file mode 100644 index 0000000..d762419 --- /dev/null +++ b/user/news/images/swiper.min.css @@ -0,0 +1,16 @@ +/** + * Swiper 5.4.5 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * http://swiperjs.com + * + * Copyright 2014-2020 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: June 16, 2020 + */ +.swiper-container{min-width:0;flex:1;height:335px;--swiper-theme-color: #fff;border-radius:var(--radius-inner)}.swiper-container .item{display:block;height:335px;border-radius:var(--radius-inner)}.swiper-container .item .thumbnail{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:opacity 0.35s}.swiper-container .item .thumbnail:hover{opacity:0.85}.swiper-container .item .title{position:absolute;z-index:1;left:0;right:0;bottom:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;font-size:15px;padding:10px;font-weight:normal}.swiper-container .item .icon{position:absolute;z-index:1;top:10px;left:10px;width:18px;height:18px;fill:#fff;opacity:0.5}.swiper-container.swiper-container-horizontal .swiper-pagination-bullets{bottom:unset;left:unset;width:auto;right:10px;top:10px}.swiper-container.swiper-container-vertical .swiper-button-next,.swiper-container.swiper-container-vertical .swiper-button-prev{display:none}.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev{background:rgba(0,0,0,0.1);transition:background 0.35s, right 0.35s, left 0.35s;border-radius:2px}.swiper-container .swiper-button-next:hover,.swiper-container .swiper-button-prev:hover{background:rgba(0,0,0,0.25)}.swiper-container .swiper-button-next::after,.swiper-container .swiper-button-prev::after{font-size:20px}.swiper-container .swiper-button-next{right:-27px}.swiper-container .swiper-button-prev{left:-27px}.swiper-container:hover .swiper-button-next{right:10px}.swiper-container:hover .swiper-button-prev{left:10px} +.thumbnail{ + padding: 0; +} +@font-face{font-family:swiper-icons;src:url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(-1 * var(--swiper-navigation-size)/ 2);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden} \ No newline at end of file diff --git a/user/news/images/swiper.min.js b/user/news/images/swiper.min.js new file mode 100644 index 0000000..9a1e26e --- /dev/null +++ b/user/news/images/swiper.min.js @@ -0,0 +1,14 @@ +/** + * Swiper 5.4.5 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * http://swiperjs.com + * + * Copyright 2014-2020 Vladimir Kharlampidi + * + * Released under the MIT License + * + * Released on: June 16, 2020 + */ + +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e=e||self).Swiper=t()}(this,(function(){"use strict";function e(e){return null!==e&&"object"==typeof e&&"constructor"in e&&e.constructor===Object}function t(i,s){void 0===i&&(i={}),void 0===s&&(s={}),Object.keys(s).forEach((function(a){void 0===i[a]?i[a]=s[a]:e(s[a])&&e(i[a])&&Object.keys(s[a]).length>0&&t(i[a],s[a])}))}var i="undefined"!=typeof document?document:{},s={body:{},addEventListener:function(){},removeEventListener:function(){},activeElement:{blur:function(){},nodeName:""},querySelector:function(){return null},querySelectorAll:function(){return[]},getElementById:function(){return null},createEvent:function(){return{initEvent:function(){}}},createElement:function(){return{children:[],childNodes:[],style:{},setAttribute:function(){},getElementsByTagName:function(){return[]}}},createElementNS:function(){return{}},importNode:function(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};t(i,s);var a="undefined"!=typeof window?window:{};t(a,{document:s,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState:function(){},pushState:function(){},go:function(){},back:function(){}},CustomEvent:function(){return this},addEventListener:function(){},removeEventListener:function(){},getComputedStyle:function(){return{getPropertyValue:function(){return""}}},Image:function(){},Date:function(){},screen:{},setTimeout:function(){},clearTimeout:function(){},matchMedia:function(){return{}}});var r=function(e){for(var t=0;t=0&&d.indexOf(">")>=0){var h="div";for(0===d.indexOf(":~]/)?(t||i).querySelectorAll(e.trim()):[i.getElementById(e.trim().split("#")[1])],n=0;n0&&e[0].nodeType)for(n=0;n=0;u-=1){var v=c[u];r&&v.listener===r||r&&v.listener&&v.listener.dom7proxy&&v.listener.dom7proxy===r?(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1)):r||(p.removeEventListener(d,v.proxyListener,n),c.splice(u,1))}}return this},trigger:function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var s=e[0].split(" "),r=e[1],n=0;n0})),d.dispatchEvent(h),d.dom7EventData=[],delete d.dom7EventData}return this},transitionEnd:function(e){var t,i=["webkitTransitionEnd","transitionend"],s=this;function a(r){if(r.target===this)for(e.call(this,r),t=0;t0){if(e){var t=this.styles();return this[0].offsetWidth+parseFloat(t.getPropertyValue("margin-right"))+parseFloat(t.getPropertyValue("margin-left"))}return this[0].offsetWidth}return null},outerHeight:function(e){if(this.length>0){if(e){var t=this.styles();return this[0].offsetHeight+parseFloat(t.getPropertyValue("margin-top"))+parseFloat(t.getPropertyValue("margin-bottom"))}return this[0].offsetHeight}return null},offset:function(){if(this.length>0){var e=this[0],t=e.getBoundingClientRect(),s=i.body,r=e.clientTop||s.clientTop||0,n=e.clientLeft||s.clientLeft||0,o=e===a?a.scrollY:e.scrollTop,l=e===a?a.scrollX:e.scrollLeft;return{top:t.top+o-r,left:t.left+l-n}}return null},css:function(e,t){var i;if(1===arguments.length){if("string"!=typeof e){for(i=0;ii-1?[]:e<0?(t=i+e)<0?[]:[this[t]]:[this[e]])},append:function(){for(var e,t=[],s=arguments.length;s--;)t[s]=arguments[s];for(var a=0;a=0;s-=1)this[t].insertBefore(a.childNodes[s],this[t].childNodes[0])}else if(e instanceof r)for(s=0;s0?e?this[0].nextElementSibling&&n(this[0].nextElementSibling).is(e)?new r([this[0].nextElementSibling]):new r([]):this[0].nextElementSibling?new r([this[0].nextElementSibling]):new r([]):new r([])},nextAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.nextElementSibling;){var s=i.nextElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},prev:function(e){if(this.length>0){var t=this[0];return e?t.previousElementSibling&&n(t.previousElementSibling).is(e)?new r([t.previousElementSibling]):new r([]):t.previousElementSibling?new r([t.previousElementSibling]):new r([])}return new r([])},prevAll:function(e){var t=[],i=this[0];if(!i)return new r([]);for(;i.previousElementSibling;){var s=i.previousElementSibling;e?n(s).is(e)&&t.push(s):t.push(s),i=s}return new r(t)},parent:function(e){for(var t=[],i=0;i6&&(s=s.split(", ").map((function(e){return e.replace(",",".")})).join(", ")),r=new a.WebKitCSSMatrix("none"===s?"":s)):i=(r=n.MozTransform||n.OTransform||n.MsTransform||n.msTransform||n.transform||n.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,")).toString().split(","),"x"===t&&(s=a.WebKitCSSMatrix?r.m41:16===i.length?parseFloat(i[12]):parseFloat(i[4])),"y"===t&&(s=a.WebKitCSSMatrix?r.m42:16===i.length?parseFloat(i[13]):parseFloat(i[5])),s||0},parseUrlQuery:function(e){var t,i,s,r,n={},o=e||a.location.href;if("string"==typeof o&&o.length)for(r=(i=(o=o.indexOf("?")>-1?o.replace(/\S*\?/,""):"").split("&").filter((function(e){return""!==e}))).length,t=0;t=0,observer:"MutationObserver"in a||"WebkitMutationObserver"in a,passiveListener:function(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});a.addEventListener("testPassiveListener",null,t)}catch(e){}return e}(),gestures:"ongesturestart"in a},p=function(e){void 0===e&&(e={});var t=this;t.params=e,t.eventsListeners={},t.params&&t.params.on&&Object.keys(t.params.on).forEach((function(e){t.on(e,t.params.on[e])}))},c={components:{configurable:!0}};p.prototype.on=function(e,t,i){var s=this;if("function"!=typeof t)return s;var a=i?"unshift":"push";return e.split(" ").forEach((function(e){s.eventsListeners[e]||(s.eventsListeners[e]=[]),s.eventsListeners[e][a](t)})),s},p.prototype.once=function(e,t,i){var s=this;if("function"!=typeof t)return s;function a(){for(var i=[],r=arguments.length;r--;)i[r]=arguments[r];s.off(e,a),a.f7proxy&&delete a.f7proxy,t.apply(s,i)}return a.f7proxy=t,s.on(e,a,i)},p.prototype.off=function(e,t){var i=this;return i.eventsListeners?(e.split(" ").forEach((function(e){void 0===t?i.eventsListeners[e]=[]:i.eventsListeners[e]&&i.eventsListeners[e].length&&i.eventsListeners[e].forEach((function(s,a){(s===t||s.f7proxy&&s.f7proxy===t)&&i.eventsListeners[e].splice(a,1)}))})),i):i},p.prototype.emit=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];var i,s,a,r=this;if(!r.eventsListeners)return r;"string"==typeof e[0]||Array.isArray(e[0])?(i=e[0],s=e.slice(1,e.length),a=r):(i=e[0].events,s=e[0].data,a=e[0].context||r);var n=Array.isArray(i)?i:i.split(" ");return n.forEach((function(e){if(r.eventsListeners&&r.eventsListeners[e]){var t=[];r.eventsListeners[e].forEach((function(e){t.push(e)})),t.forEach((function(e){e.apply(a,s)}))}})),r},p.prototype.useModulesParams=function(e){var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i];s.params&&d.extend(e,s.params)}))},p.prototype.useModules=function(e){void 0===e&&(e={});var t=this;t.modules&&Object.keys(t.modules).forEach((function(i){var s=t.modules[i],a=e[i]||{};s.instance&&Object.keys(s.instance).forEach((function(e){var i=s.instance[e];t[e]="function"==typeof i?i.bind(t):i})),s.on&&t.on&&Object.keys(s.on).forEach((function(e){t.on(e,s.on[e])})),s.create&&s.create.bind(t)(a)}))},c.components.set=function(e){this.use&&this.use(e)},p.installModule=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;s.prototype.modules||(s.prototype.modules={});var a=e.name||Object.keys(s.prototype.modules).length+"_"+d.now();return s.prototype.modules[a]=e,e.proto&&Object.keys(e.proto).forEach((function(t){s.prototype[t]=e.proto[t]})),e.static&&Object.keys(e.static).forEach((function(t){s[t]=e.static[t]})),e.install&&e.install.apply(s,t),s},p.use=function(e){for(var t=[],i=arguments.length-1;i-- >0;)t[i]=arguments[i+1];var s=this;return Array.isArray(e)?(e.forEach((function(e){return s.installModule(e)})),s):s.installModule.apply(s,[e].concat(t))},Object.defineProperties(p,c);var u={updateSize:function(){var e,t,i=this.$el;e=void 0!==this.params.width?this.params.width:i[0].clientWidth,t=void 0!==this.params.height?this.params.height:i[0].clientHeight,0===e&&this.isHorizontal()||0===t&&this.isVertical()||(e=e-parseInt(i.css("padding-left"),10)-parseInt(i.css("padding-right"),10),t=t-parseInt(i.css("padding-top"),10)-parseInt(i.css("padding-bottom"),10),d.extend(this,{width:e,height:t,size:this.isHorizontal()?e:t}))},updateSlides:function(){var e=this.params,t=this.$wrapperEl,i=this.size,s=this.rtlTranslate,r=this.wrongRTL,n=this.virtual&&e.virtual.enabled,o=n?this.virtual.slides.length:this.slides.length,l=t.children("."+this.params.slideClass),h=n?this.virtual.slides.length:l.length,p=[],c=[],u=[];function v(t){return!e.cssMode||t!==l.length-1}var f=e.slidesOffsetBefore;"function"==typeof f&&(f=e.slidesOffsetBefore.call(this));var m=e.slidesOffsetAfter;"function"==typeof m&&(m=e.slidesOffsetAfter.call(this));var g=this.snapGrid.length,b=this.snapGrid.length,w=e.spaceBetween,y=-f,x=0,E=0;if(void 0!==i){var T,S;"string"==typeof w&&w.indexOf("%")>=0&&(w=parseFloat(w.replace("%",""))/100*i),this.virtualSize=-w,s?l.css({marginLeft:"",marginTop:""}):l.css({marginRight:"",marginBottom:""}),e.slidesPerColumn>1&&(T=Math.floor(h/e.slidesPerColumn)===h/this.params.slidesPerColumn?h:Math.ceil(h/e.slidesPerColumn)*e.slidesPerColumn,"auto"!==e.slidesPerView&&"row"===e.slidesPerColumnFill&&(T=Math.max(T,e.slidesPerView*e.slidesPerColumn)));for(var C,M=e.slidesPerColumn,P=T/M,z=Math.floor(h/e.slidesPerColumn),k=0;k1){var L=void 0,I=void 0,D=void 0;if("row"===e.slidesPerColumnFill&&e.slidesPerGroup>1){var O=Math.floor(k/(e.slidesPerGroup*e.slidesPerColumn)),A=k-e.slidesPerColumn*e.slidesPerGroup*O,G=0===O?e.slidesPerGroup:Math.min(Math.ceil((h-O*M*e.slidesPerGroup)/M),e.slidesPerGroup);L=(I=A-(D=Math.floor(A/G))*G+O*e.slidesPerGroup)+D*T/M,$.css({"-webkit-box-ordinal-group":L,"-moz-box-ordinal-group":L,"-ms-flex-order":L,"-webkit-order":L,order:L})}else"column"===e.slidesPerColumnFill?(D=k-(I=Math.floor(k/M))*M,(I>z||I===z&&D===M-1)&&(D+=1)>=M&&(D=0,I+=1)):I=k-(D=Math.floor(k/P))*P;$.css("margin-"+(this.isHorizontal()?"top":"left"),0!==D&&e.spaceBetween&&e.spaceBetween+"px")}if("none"!==$.css("display")){if("auto"===e.slidesPerView){var H=a.getComputedStyle($[0],null),B=$[0].style.transform,N=$[0].style.webkitTransform;if(B&&($[0].style.transform="none"),N&&($[0].style.webkitTransform="none"),e.roundLengths)S=this.isHorizontal()?$.outerWidth(!0):$.outerHeight(!0);else if(this.isHorizontal()){var X=parseFloat(H.getPropertyValue("width")),V=parseFloat(H.getPropertyValue("padding-left")),Y=parseFloat(H.getPropertyValue("padding-right")),F=parseFloat(H.getPropertyValue("margin-left")),W=parseFloat(H.getPropertyValue("margin-right")),R=H.getPropertyValue("box-sizing");S=R&&"border-box"===R?X+F+W:X+V+Y+F+W}else{var q=parseFloat(H.getPropertyValue("height")),j=parseFloat(H.getPropertyValue("padding-top")),K=parseFloat(H.getPropertyValue("padding-bottom")),U=parseFloat(H.getPropertyValue("margin-top")),_=parseFloat(H.getPropertyValue("margin-bottom")),Z=H.getPropertyValue("box-sizing");S=Z&&"border-box"===Z?q+U+_:q+j+K+U+_}B&&($[0].style.transform=B),N&&($[0].style.webkitTransform=N),e.roundLengths&&(S=Math.floor(S))}else S=(i-(e.slidesPerView-1)*w)/e.slidesPerView,e.roundLengths&&(S=Math.floor(S)),l[k]&&(this.isHorizontal()?l[k].style.width=S+"px":l[k].style.height=S+"px");l[k]&&(l[k].swiperSlideSize=S),u.push(S),e.centeredSlides?(y=y+S/2+x/2+w,0===x&&0!==k&&(y=y-i/2-w),0===k&&(y=y-i/2-w),Math.abs(y)<.001&&(y=0),e.roundLengths&&(y=Math.floor(y)),E%e.slidesPerGroup==0&&p.push(y),c.push(y)):(e.roundLengths&&(y=Math.floor(y)),(E-Math.min(this.params.slidesPerGroupSkip,E))%this.params.slidesPerGroup==0&&p.push(y),c.push(y),y=y+S+w),this.virtualSize+=S+w,x=S,E+=1}}if(this.virtualSize=Math.max(this.virtualSize,i)+m,s&&r&&("slide"===e.effect||"coverflow"===e.effect)&&t.css({width:this.virtualSize+e.spaceBetween+"px"}),e.setWrapperSize&&(this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"})),e.slidesPerColumn>1&&(this.virtualSize=(S+e.spaceBetween)*T,this.virtualSize=Math.ceil(this.virtualSize/e.slidesPerColumn)-e.spaceBetween,this.isHorizontal()?t.css({width:this.virtualSize+e.spaceBetween+"px"}):t.css({height:this.virtualSize+e.spaceBetween+"px"}),e.centeredSlides)){C=[];for(var Q=0;Q1&&p.push(this.virtualSize-i)}if(0===p.length&&(p=[0]),0!==e.spaceBetween&&(this.isHorizontal()?s?l.filter(v).css({marginLeft:w+"px"}):l.filter(v).css({marginRight:w+"px"}):l.filter(v).css({marginBottom:w+"px"})),e.centeredSlides&&e.centeredSlidesBounds){var ie=0;u.forEach((function(t){ie+=t+(e.spaceBetween?e.spaceBetween:0)}));var se=(ie-=e.spaceBetween)-i;p=p.map((function(e){return e<0?-f:e>se?se+m:e}))}if(e.centerInsufficientSlides){var ae=0;if(u.forEach((function(t){ae+=t+(e.spaceBetween?e.spaceBetween:0)})),(ae-=e.spaceBetween)1)if(this.params.centeredSlides)this.visibleSlides.each((function(e,t){i.push(t)}));else for(t=0;tthis.slides.length)break;i.push(this.slides.eq(a)[0])}else i.push(this.slides.eq(this.activeIndex)[0]);for(t=0;ts?r:s}s&&this.$wrapperEl.css("height",s+"px")},updateSlidesOffset:function(){for(var e=this.slides,t=0;t=0&&d1&&h<=this.size||d<=0&&h>=this.size)&&(this.visibleSlides.push(o),this.visibleSlidesIndexes.push(r),i.eq(r).addClass(t.slideVisibleClass))}o.progress=s?-l:l}this.visibleSlides=n(this.visibleSlides)}},updateProgress:function(e){if(void 0===e){var t=this.rtlTranslate?-1:1;e=this&&this.translate&&this.translate*t||0}var i=this.params,s=this.maxTranslate()-this.minTranslate(),a=this.progress,r=this.isBeginning,n=this.isEnd,o=r,l=n;0===s?(a=0,r=!0,n=!0):(r=(a=(e-this.minTranslate())/s)<=0,n=a>=1),d.extend(this,{progress:a,isBeginning:r,isEnd:n}),(i.watchSlidesProgress||i.watchSlidesVisibility||i.centeredSlides&&i.autoHeight)&&this.updateSlidesProgress(e),r&&!o&&this.emit("reachBeginning toEdge"),n&&!l&&this.emit("reachEnd toEdge"),(o&&!r||l&&!n)&&this.emit("fromEdge"),this.emit("progress",a)},updateSlidesClasses:function(){var e,t=this.slides,i=this.params,s=this.$wrapperEl,a=this.activeIndex,r=this.realIndex,n=this.virtual&&i.virtual.enabled;t.removeClass(i.slideActiveClass+" "+i.slideNextClass+" "+i.slidePrevClass+" "+i.slideDuplicateActiveClass+" "+i.slideDuplicateNextClass+" "+i.slideDuplicatePrevClass),(e=n?this.$wrapperEl.find("."+i.slideClass+'[data-swiper-slide-index="'+a+'"]'):t.eq(a)).addClass(i.slideActiveClass),i.loop&&(e.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+r+'"]').addClass(i.slideDuplicateActiveClass));var o=e.nextAll("."+i.slideClass).eq(0).addClass(i.slideNextClass);i.loop&&0===o.length&&(o=t.eq(0)).addClass(i.slideNextClass);var l=e.prevAll("."+i.slideClass).eq(0).addClass(i.slidePrevClass);i.loop&&0===l.length&&(l=t.eq(-1)).addClass(i.slidePrevClass),i.loop&&(o.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+o.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicateNextClass),l.hasClass(i.slideDuplicateClass)?s.children("."+i.slideClass+":not(."+i.slideDuplicateClass+')[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass):s.children("."+i.slideClass+"."+i.slideDuplicateClass+'[data-swiper-slide-index="'+l.attr("data-swiper-slide-index")+'"]').addClass(i.slideDuplicatePrevClass))},updateActiveIndex:function(e){var t,i=this.rtlTranslate?this.translate:-this.translate,s=this.slidesGrid,a=this.snapGrid,r=this.params,n=this.activeIndex,o=this.realIndex,l=this.snapIndex,h=e;if(void 0===h){for(var p=0;p=s[p]&&i=s[p]&&i=s[p]&&(h=p);r.normalizeSlideIndex&&(h<0||void 0===h)&&(h=0)}if(a.indexOf(i)>=0)t=a.indexOf(i);else{var c=Math.min(r.slidesPerGroupSkip,h);t=c+Math.floor((h-c)/r.slidesPerGroup)}if(t>=a.length&&(t=a.length-1),h!==n){var u=parseInt(this.slides.eq(h).attr("data-swiper-slide-index")||h,10);d.extend(this,{snapIndex:t,realIndex:u,previousIndex:n,activeIndex:h}),this.emit("activeIndexChange"),this.emit("snapIndexChange"),o!==u&&this.emit("realIndexChange"),(this.initialized||this.params.runCallbacksOnInit)&&this.emit("slideChange")}else t!==l&&(this.snapIndex=t,this.emit("snapIndexChange"))},updateClickedSlide:function(e){var t=this.params,i=n(e.target).closest("."+t.slideClass)[0],s=!1;if(i)for(var a=0;ah?h:s&&ea?"next":is?"next":i=l.length&&(f=l.length-1),(p||o.initialSlide||0)===(h||0)&&i&&r.emit("beforeSlideChangeStart");var m,g=-l[f];if(r.updateProgress(g),o.normalizeSlideIndex)for(var b=0;b=Math.floor(100*d[b])&&(n=b);if(r.initialized&&n!==p){if(!r.allowSlideNext&&gr.translate&&g>r.maxTranslate()&&(p||0)!==n)return!1}if(m=n>p?"next":n=e&&(c=e)})),void 0!==c&&(d=n.indexOf(c))<0&&(d=this.activeIndex-1),this.slideTo(d,e,t,i)},slideReset:function(e,t,i){return void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),this.slideTo(this.activeIndex,e,t,i)},slideToClosest:function(e,t,i,s){void 0===e&&(e=this.params.speed),void 0===t&&(t=!0),void 0===s&&(s=.5);var a=this.activeIndex,r=Math.min(this.params.slidesPerGroupSkip,a),n=r+Math.floor((a-r)/this.params.slidesPerGroup),o=this.rtlTranslate?this.translate:-this.translate;if(o>=this.snapGrid[n]){var l=this.snapGrid[n];o-l>(this.snapGrid[n+1]-l)*s&&(a+=this.params.slidesPerGroup)}else{var d=this.snapGrid[n-1];o-d<=(this.snapGrid[n]-d)*s&&(a-=this.params.slidesPerGroup)}return a=Math.max(a,0),a=Math.min(a,this.slidesGrid.length-1),this.slideTo(a,e,t,i)},slideToClickedSlide:function(){var e,t=this,i=t.params,s=t.$wrapperEl,a="auto"===i.slidesPerView?t.slidesPerViewDynamic():i.slidesPerView,r=t.clickedIndex;if(i.loop){if(t.animating)return;e=parseInt(n(t.clickedSlide).attr("data-swiper-slide-index"),10),i.centeredSlides?rt.slides.length-t.loopedSlides+a/2?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r):r>t.slides.length-a?(t.loopFix(),r=s.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]:not(.'+i.slideDuplicateClass+")").eq(0).index(),d.nextTick((function(){t.slideTo(r)}))):t.slideTo(r)}else t.slideTo(r)}};var g={loopCreate:function(){var e=this,t=e.params,s=e.$wrapperEl;s.children("."+t.slideClass+"."+t.slideDuplicateClass).remove();var a=s.children("."+t.slideClass);if(t.loopFillGroupWithBlank){var r=t.slidesPerGroup-a.length%t.slidesPerGroup;if(r!==t.slidesPerGroup){for(var o=0;oa.length&&(e.loopedSlides=a.length);var d=[],h=[];a.each((function(t,i){var s=n(i);t=a.length-e.loopedSlides&&d.push(i),s.attr("data-swiper-slide-index",t)}));for(var p=0;p=0;c-=1)s.prepend(n(d[c].cloneNode(!0)).addClass(t.slideDuplicateClass))},loopFix:function(){this.emit("beforeLoopFix");var e,t=this.activeIndex,i=this.slides,s=this.loopedSlides,a=this.allowSlidePrev,r=this.allowSlideNext,n=this.snapGrid,o=this.rtlTranslate;this.allowSlidePrev=!0,this.allowSlideNext=!0;var l=-n[t]-this.getTranslate();if(t=i.length-s){e=-i.length+t+s,e+=s,this.slideTo(e,0,!1,!0)&&0!==l&&this.setTranslate((o?-this.translate:this.translate)-l)}this.allowSlidePrev=a,this.allowSlideNext=r,this.emit("loopFix")},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,i=this.slides;e.children("."+t.slideClass+"."+t.slideDuplicateClass+",."+t.slideClass+"."+t.slideBlankClass).remove(),i.removeAttr("data-swiper-slide-index")}};var b={setGrabCursor:function(e){if(!(h.touch||!this.params.simulateTouch||this.params.watchOverflow&&this.isLocked||this.params.cssMode)){var t=this.el;t.style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab"}},unsetGrabCursor:function(){h.touch||this.params.watchOverflow&&this.isLocked||this.params.cssMode||(this.el.style.cursor="")}};var w,y,x,E,T,S,C,M,P,z,k,$,L,I,D,O={appendSlide:function(e){var t=this.$wrapperEl,i=this.params;if(i.loop&&this.loopDestroy(),"object"==typeof e&&"length"in e)for(var s=0;s=r)this.appendSlide(t);else{for(var n=a>e?a+1:a,o=[],l=r-1;l>=e;l-=1){var d=this.slides.eq(l);d.remove(),o.unshift(d)}if("object"==typeof t&&"length"in t){for(var p=0;pe?a+t.length:a}else i.append(t);for(var c=0;c=0||y.indexOf("Trident/")>=0,k=y.indexOf("Edge/")>=0,$=y.indexOf("Gecko/")>=0&&y.indexOf("Firefox/")>=0,L="Win32"===w,I=y.toLowerCase().indexOf("electron")>=0,D="MacIntel"===w,!C&&D&&h.touch&&(1024===E&&1366===T||834===E&&1194===T||834===E&&1112===T||768===E&&1024===T)&&(C=y.match(/(Version)\/([\d.]+)/),D=!1),x.ie=z,x.edge=k,x.firefox=$,S&&!L&&(x.os="android",x.osVersion=S[2],x.android=!0,x.androidChrome=y.toLowerCase().indexOf("chrome")>=0),(C||P||M)&&(x.os="ios",x.ios=!0),P&&!M&&(x.osVersion=P[2].replace(/_/g,"."),x.iphone=!0),C&&(x.osVersion=C[2].replace(/_/g,"."),x.ipad=!0),M&&(x.osVersion=M[3]?M[3].replace(/_/g,"."):null,x.ipod=!0),x.ios&&x.osVersion&&y.indexOf("Version/")>=0&&"10"===x.osVersion.split(".")[0]&&(x.osVersion=y.toLowerCase().split("version/")[1].split(" ")[0]),x.webView=!(!(P||C||M)||!y.match(/.*AppleWebKit(?!.*Safari)/i)&&!a.navigator.standalone)||a.matchMedia&&a.matchMedia("(display-mode: standalone)").matches,x.webview=x.webView,x.standalone=x.webView,x.desktop=!(x.ios||x.android)||I,x.desktop&&(x.electron=I,x.macos=D,x.windows=L,x.macos&&(x.os="macos"),x.windows&&(x.os="windows")),x.pixelRatio=a.devicePixelRatio||1,x);function G(e){var t=this.touchEventsData,s=this.params,r=this.touches;if(!this.animating||!s.preventInteractionOnTransition){var o=e;o.originalEvent&&(o=o.originalEvent);var l=n(o.target);if(("wrapper"!==s.touchEventsTarget||l.closest(this.wrapperEl).length)&&(t.isTouchEvent="touchstart"===o.type,(t.isTouchEvent||!("which"in o)||3!==o.which)&&!(!t.isTouchEvent&&"button"in o&&o.button>0||t.isTouched&&t.isMoved)))if(s.noSwiping&&l.closest(s.noSwipingSelector?s.noSwipingSelector:"."+s.noSwipingClass)[0])this.allowClick=!0;else if(!s.swipeHandler||l.closest(s.swipeHandler)[0]){r.currentX="touchstart"===o.type?o.targetTouches[0].pageX:o.pageX,r.currentY="touchstart"===o.type?o.targetTouches[0].pageY:o.pageY;var h=r.currentX,p=r.currentY,c=s.edgeSwipeDetection||s.iOSEdgeSwipeDetection,u=s.edgeSwipeThreshold||s.iOSEdgeSwipeThreshold;if(!c||!(h<=u||h>=a.screen.width-u)){if(d.extend(t,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=h,r.startY=p,t.touchStartTime=d.now(),this.allowClick=!0,this.updateSize(),this.swipeDirection=void 0,s.threshold>0&&(t.allowThresholdMove=!1),"touchstart"!==o.type){var v=!0;l.is(t.formElements)&&(v=!1),i.activeElement&&n(i.activeElement).is(t.formElements)&&i.activeElement!==l[0]&&i.activeElement.blur();var f=v&&this.allowTouchMove&&s.touchStartPreventDefault;(s.touchStartForcePreventDefault||f)&&o.preventDefault()}this.emit("touchStart",o)}}}}function H(e){var t=this.touchEventsData,s=this.params,a=this.touches,r=this.rtlTranslate,o=e;if(o.originalEvent&&(o=o.originalEvent),t.isTouched){if(!t.isTouchEvent||"touchmove"===o.type){var l="touchmove"===o.type&&o.targetTouches&&(o.targetTouches[0]||o.changedTouches[0]),h="touchmove"===o.type?l.pageX:o.pageX,p="touchmove"===o.type?l.pageY:o.pageY;if(o.preventedByNestedSwiper)return a.startX=h,void(a.startY=p);if(!this.allowTouchMove)return this.allowClick=!1,void(t.isTouched&&(d.extend(a,{startX:h,startY:p,currentX:h,currentY:p}),t.touchStartTime=d.now()));if(t.isTouchEvent&&s.touchReleaseOnEdges&&!s.loop)if(this.isVertical()){if(pa.startY&&this.translate>=this.minTranslate())return t.isTouched=!1,void(t.isMoved=!1)}else if(ha.startX&&this.translate>=this.minTranslate())return;if(t.isTouchEvent&&i.activeElement&&o.target===i.activeElement&&n(o.target).is(t.formElements))return t.isMoved=!0,void(this.allowClick=!1);if(t.allowTouchCallbacks&&this.emit("touchMove",o),!(o.targetTouches&&o.targetTouches.length>1)){a.currentX=h,a.currentY=p;var c=a.currentX-a.startX,u=a.currentY-a.startY;if(!(this.params.threshold&&Math.sqrt(Math.pow(c,2)+Math.pow(u,2))=25&&(v=180*Math.atan2(Math.abs(u),Math.abs(c))/Math.PI,t.isScrolling=this.isHorizontal()?v>s.touchAngle:90-v>s.touchAngle);if(t.isScrolling&&this.emit("touchMoveOpposite",o),void 0===t.startMoving&&(a.currentX===a.startX&&a.currentY===a.startY||(t.startMoving=!0)),t.isScrolling)t.isTouched=!1;else if(t.startMoving){this.allowClick=!1,!s.cssMode&&o.cancelable&&o.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&o.stopPropagation(),t.isMoved||(s.loop&&this.loopFix(),t.startTranslate=this.getTranslate(),this.setTransition(0),this.animating&&this.$wrapperEl.trigger("webkitTransitionEnd transitionend"),t.allowMomentumBounce=!1,!s.grabCursor||!0!==this.allowSlideNext&&!0!==this.allowSlidePrev||this.setGrabCursor(!0),this.emit("sliderFirstMove",o)),this.emit("sliderMove",o),t.isMoved=!0;var f=this.isHorizontal()?c:u;a.diff=f,f*=s.touchRatio,r&&(f=-f),this.swipeDirection=f>0?"prev":"next",t.currentTranslate=f+t.startTranslate;var m=!0,g=s.resistanceRatio;if(s.touchReleaseOnEdges&&(g=0),f>0&&t.currentTranslate>this.minTranslate()?(m=!1,s.resistance&&(t.currentTranslate=this.minTranslate()-1+Math.pow(-this.minTranslate()+t.startTranslate+f,g))):f<0&&t.currentTranslatet.startTranslate&&(t.currentTranslate=t.startTranslate),s.threshold>0){if(!(Math.abs(f)>s.threshold||t.allowThresholdMove))return void(t.currentTranslate=t.startTranslate);if(!t.allowThresholdMove)return t.allowThresholdMove=!0,a.startX=a.currentX,a.startY=a.currentY,t.currentTranslate=t.startTranslate,void(a.diff=this.isHorizontal()?a.currentX-a.startX:a.currentY-a.startY)}s.followFinger&&!s.cssMode&&((s.freeMode||s.watchSlidesProgress||s.watchSlidesVisibility)&&(this.updateActiveIndex(),this.updateSlidesClasses()),s.freeMode&&(0===t.velocities.length&&t.velocities.push({position:a[this.isHorizontal()?"startX":"startY"],time:t.touchStartTime}),t.velocities.push({position:a[this.isHorizontal()?"currentX":"currentY"],time:d.now()})),this.updateProgress(t.currentTranslate),this.setTranslate(t.currentTranslate))}}}}}else t.startMoving&&t.isScrolling&&this.emit("touchMoveOpposite",o)}function B(e){var t=this,i=t.touchEventsData,s=t.params,a=t.touches,r=t.rtlTranslate,n=t.$wrapperEl,o=t.slidesGrid,l=t.snapGrid,h=e;if(h.originalEvent&&(h=h.originalEvent),i.allowTouchCallbacks&&t.emit("touchEnd",h),i.allowTouchCallbacks=!1,!i.isTouched)return i.isMoved&&s.grabCursor&&t.setGrabCursor(!1),i.isMoved=!1,void(i.startMoving=!1);s.grabCursor&&i.isMoved&&i.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var p,c=d.now(),u=c-i.touchStartTime;if(t.allowClick&&(t.updateClickedSlide(h),t.emit("tap click",h),u<300&&c-i.lastClickTime<300&&t.emit("doubleTap doubleClick",h)),i.lastClickTime=d.now(),d.nextTick((function(){t.destroyed||(t.allowClick=!0)})),!i.isTouched||!i.isMoved||!t.swipeDirection||0===a.diff||i.currentTranslate===i.startTranslate)return i.isTouched=!1,i.isMoved=!1,void(i.startMoving=!1);if(i.isTouched=!1,i.isMoved=!1,i.startMoving=!1,p=s.followFinger?r?t.translate:-t.translate:-i.currentTranslate,!s.cssMode)if(s.freeMode){if(p<-t.minTranslate())return void t.slideTo(t.activeIndex);if(p>-t.maxTranslate())return void(t.slides.length1){var v=i.velocities.pop(),f=i.velocities.pop(),m=v.position-f.position,g=v.time-f.time;t.velocity=m/g,t.velocity/=2,Math.abs(t.velocity)150||d.now()-v.time>300)&&(t.velocity=0)}else t.velocity=0;t.velocity*=s.freeModeMomentumVelocityRatio,i.velocities.length=0;var b=1e3*s.freeModeMomentumRatio,w=t.velocity*b,y=t.translate+w;r&&(y=-y);var x,E,T=!1,S=20*Math.abs(t.velocity)*s.freeModeMomentumBounceRatio;if(yt.minTranslate())s.freeModeMomentumBounce?(y-t.minTranslate()>S&&(y=t.minTranslate()+S),x=t.minTranslate(),T=!0,i.allowMomentumBounce=!0):y=t.minTranslate(),s.loop&&s.centeredSlides&&(E=!0);else if(s.freeModeSticky){for(var C,M=0;M-y){C=M;break}y=-(y=Math.abs(l[C]-y)=s.longSwipesMs)&&(t.updateProgress(),t.updateActiveIndex(),t.updateSlidesClasses())}else{for(var k=0,$=t.slidesSizesGrid[0],L=0;L=o[L]&&p=o[L]&&(k=L,$=o[o.length-1]-o[o.length-2])}var D=(p-o[k])/$,O=ks.longSwipesMs){if(!s.longSwipes)return void t.slideTo(t.activeIndex);"next"===t.swipeDirection&&(D>=s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k)),"prev"===t.swipeDirection&&(D>1-s.longSwipesRatio?t.slideTo(k+O):t.slideTo(k))}else{if(!s.shortSwipes)return void t.slideTo(t.activeIndex);t.navigation&&(h.target===t.navigation.nextEl||h.target===t.navigation.prevEl)?h.target===t.navigation.nextEl?t.slideTo(k+O):t.slideTo(k):("next"===t.swipeDirection&&t.slideTo(k+O),"prev"===t.swipeDirection&&t.slideTo(k))}}}function N(){var e=this.params,t=this.el;if(!t||0!==t.offsetWidth){e.breakpoints&&this.setBreakpoint();var i=this.allowSlideNext,s=this.allowSlidePrev,a=this.snapGrid;this.allowSlideNext=!0,this.allowSlidePrev=!0,this.updateSize(),this.updateSlides(),this.updateSlidesClasses(),("auto"===e.slidesPerView||e.slidesPerView>1)&&this.isEnd&&!this.isBeginning&&!this.params.centeredSlides?this.slideTo(this.slides.length-1,0,!1,!0):this.slideTo(this.activeIndex,0,!1,!0),this.autoplay&&this.autoplay.running&&this.autoplay.paused&&this.autoplay.run(),this.allowSlidePrev=s,this.allowSlideNext=i,this.params.watchOverflow&&a!==this.snapGrid&&this.checkOverflow()}}function X(e){this.allowClick||(this.params.preventClicks&&e.preventDefault(),this.params.preventClicksPropagation&&this.animating&&(e.stopPropagation(),e.stopImmediatePropagation()))}function V(){var e=this.wrapperEl,t=this.rtlTranslate;this.previousTranslate=this.translate,this.isHorizontal()?this.translate=t?e.scrollWidth-e.offsetWidth-e.scrollLeft:-e.scrollLeft:this.translate=-e.scrollTop,-0===this.translate&&(this.translate=0),this.updateActiveIndex(),this.updateSlidesClasses();var i=this.maxTranslate()-this.minTranslate();(0===i?0:(this.translate-this.minTranslate())/i)!==this.progress&&this.updateProgress(t?-this.translate:this.translate),this.emit("setTranslate",this.translate,!1)}var Y=!1;function F(){}var W={init:!0,direction:"horizontal",touchEventsTarget:"container",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,preventInteractionOnTransition:!1,edgeSwipeDetection:!1,edgeSwipeThreshold:20,freeMode:!1,freeModeMomentum:!0,freeModeMomentumRatio:1,freeModeMomentumBounce:!0,freeModeMomentumBounceRatio:1,freeModeMomentumVelocityRatio:1,freeModeSticky:!1,freeModeMinimumVelocity:.02,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,spaceBetween:0,slidesPerView:1,slidesPerColumn:1,slidesPerColumnFill:"column",slidesPerGroup:1,slidesPerGroupSkip:0,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,watchOverflow:!1,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:0,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,watchSlidesVisibility:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,preloadImages:!0,updateOnImagesReady:!0,loop:!1,loopAdditionalSlides:0,loopedSlides:null,loopFillGroupWithBlank:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,containerModifierClass:"swiper-container-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-invisible-blank",slideActiveClass:"swiper-slide-active",slideDuplicateActiveClass:"swiper-slide-duplicate-active",slideVisibleClass:"swiper-slide-visible",slideDuplicateClass:"swiper-slide-duplicate",slideNextClass:"swiper-slide-next",slideDuplicateNextClass:"swiper-slide-duplicate-next",slidePrevClass:"swiper-slide-prev",slideDuplicatePrevClass:"swiper-slide-duplicate-prev",wrapperClass:"swiper-wrapper",runCallbacksOnInit:!0},R={update:u,translate:v,transition:f,slide:m,loop:g,grabCursor:b,manipulation:O,events:{attachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl;this.onTouchStart=G.bind(this),this.onTouchMove=H.bind(this),this.onTouchEnd=B.bind(this),e.cssMode&&(this.onScroll=V.bind(this)),this.onClick=X.bind(this);var r=!!e.nested;if(!h.touch&&h.pointerEvents)s.addEventListener(t.start,this.onTouchStart,!1),i.addEventListener(t.move,this.onTouchMove,r),i.addEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("touchstart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.addEventListener(t.start,this.onTouchStart,n),s.addEventListener(t.move,this.onTouchMove,h.passiveListener?{passive:!1,capture:r}:r),s.addEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.addEventListener(t.cancel,this.onTouchEnd,n),Y||(i.addEventListener("touchstart",F),Y=!0)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.addEventListener("mousedown",this.onTouchStart,!1),i.addEventListener("mousemove",this.onTouchMove,r),i.addEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.addEventListener("click",this.onClick,!0),e.cssMode&&a.addEventListener("scroll",this.onScroll),e.updateOnWindowResize?this.on(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N,!0):this.on("observerUpdate",N,!0)},detachEvents:function(){var e=this.params,t=this.touchEvents,s=this.el,a=this.wrapperEl,r=!!e.nested;if(!h.touch&&h.pointerEvents)s.removeEventListener(t.start,this.onTouchStart,!1),i.removeEventListener(t.move,this.onTouchMove,r),i.removeEventListener(t.end,this.onTouchEnd,!1);else{if(h.touch){var n=!("onTouchStart"!==t.start||!h.passiveListener||!e.passiveListeners)&&{passive:!0,capture:!1};s.removeEventListener(t.start,this.onTouchStart,n),s.removeEventListener(t.move,this.onTouchMove,r),s.removeEventListener(t.end,this.onTouchEnd,n),t.cancel&&s.removeEventListener(t.cancel,this.onTouchEnd,n)}(e.simulateTouch&&!A.ios&&!A.android||e.simulateTouch&&!h.touch&&A.ios)&&(s.removeEventListener("mousedown",this.onTouchStart,!1),i.removeEventListener("mousemove",this.onTouchMove,r),i.removeEventListener("mouseup",this.onTouchEnd,!1))}(e.preventClicks||e.preventClicksPropagation)&&s.removeEventListener("click",this.onClick,!0),e.cssMode&&a.removeEventListener("scroll",this.onScroll),this.off(A.ios||A.android?"resize orientationchange observerUpdate":"resize observerUpdate",N)}},breakpoints:{setBreakpoint:function(){var e=this.activeIndex,t=this.initialized,i=this.loopedSlides;void 0===i&&(i=0);var s=this.params,a=this.$el,r=s.breakpoints;if(r&&(!r||0!==Object.keys(r).length)){var n=this.getBreakpoint(r);if(n&&this.currentBreakpoint!==n){var o=n in r?r[n]:void 0;o&&["slidesPerView","spaceBetween","slidesPerGroup","slidesPerGroupSkip","slidesPerColumn"].forEach((function(e){var t=o[e];void 0!==t&&(o[e]="slidesPerView"!==e||"AUTO"!==t&&"auto"!==t?"slidesPerView"===e?parseFloat(t):parseInt(t,10):"auto")}));var l=o||this.originalParams,h=s.slidesPerColumn>1,p=l.slidesPerColumn>1;h&&!p?a.removeClass(s.containerModifierClass+"multirow "+s.containerModifierClass+"multirow-column"):!h&&p&&(a.addClass(s.containerModifierClass+"multirow"),"column"===l.slidesPerColumnFill&&a.addClass(s.containerModifierClass+"multirow-column"));var c=l.direction&&l.direction!==s.direction,u=s.loop&&(l.slidesPerView!==s.slidesPerView||c);c&&t&&this.changeDirection(),d.extend(this.params,l),d.extend(this,{allowTouchMove:this.params.allowTouchMove,allowSlideNext:this.params.allowSlideNext,allowSlidePrev:this.params.allowSlidePrev}),this.currentBreakpoint=n,u&&t&&(this.loopDestroy(),this.loopCreate(),this.updateSlides(),this.slideTo(e-i+this.loopedSlides,0,!1)),this.emit("breakpoint",l)}}},getBreakpoint:function(e){if(e){var t=!1,i=Object.keys(e).map((function(e){if("string"==typeof e&&0===e.indexOf("@")){var t=parseFloat(e.substr(1));return{value:a.innerHeight*t,point:e}}return{value:e,point:e}}));i.sort((function(e,t){return parseInt(e.value,10)-parseInt(t.value,10)}));for(var s=0;s0&&e.slidesOffsetBefore+e.spaceBetween*(this.slides.length-1)+this.slides[0].offsetWidth*this.slides.length;e.slidesOffsetBefore&&e.slidesOffsetAfter&&i?this.isLocked=i<=this.size:this.isLocked=1===this.snapGrid.length,this.allowSlideNext=!this.isLocked,this.allowSlidePrev=!this.isLocked,t!==this.isLocked&&this.emit(this.isLocked?"lock":"unlock"),t&&t!==this.isLocked&&(this.isEnd=!1,this.navigation&&this.navigation.update())}},classes:{addClasses:function(){var e=this.classNames,t=this.params,i=this.rtl,s=this.$el,a=[];a.push("initialized"),a.push(t.direction),t.freeMode&&a.push("free-mode"),t.autoHeight&&a.push("autoheight"),i&&a.push("rtl"),t.slidesPerColumn>1&&(a.push("multirow"),"column"===t.slidesPerColumnFill&&a.push("multirow-column")),A.android&&a.push("android"),A.ios&&a.push("ios"),t.cssMode&&a.push("css-mode"),a.forEach((function(i){e.push(t.containerModifierClass+i)})),s.addClass(e.join(" "))},removeClasses:function(){var e=this.$el,t=this.classNames;e.removeClass(t.join(" "))}},images:{loadImage:function(e,t,i,s,r,o){var l;function d(){o&&o()}n(e).parent("picture")[0]||e.complete&&r?d():t?((l=new a.Image).onload=d,l.onerror=d,s&&(l.sizes=s),i&&(l.srcset=i),t&&(l.src=t)):d()},preloadImages:function(){var e=this;function t(){null!=e&&e&&!e.destroyed&&(void 0!==e.imagesLoaded&&(e.imagesLoaded+=1),e.imagesLoaded===e.imagesToLoad.length&&(e.params.updateOnImagesReady&&e.update(),e.emit("imagesReady")))}e.imagesToLoad=e.$el.find("img");for(var i=0;i1){var u=[];return c.each((function(e,i){var s=d.extend({},a,{el:i});u.push(new t(s))})),u}var v,f,m;return s.swiper=l,c.data("swiper",l),s&&s.shadowRoot&&s.shadowRoot.querySelector?(v=n(s.shadowRoot.querySelector("."+l.params.wrapperClass))).children=function(e){return c.children(e)}:v=c.children("."+l.params.wrapperClass),d.extend(l,{$el:c,el:s,$wrapperEl:v,wrapperEl:v[0],classNames:[],slides:n(),slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal:function(){return"horizontal"===l.params.direction},isVertical:function(){return"vertical"===l.params.direction},rtl:"rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction"),rtlTranslate:"horizontal"===l.params.direction&&("rtl"===s.dir.toLowerCase()||"rtl"===c.css("direction")),wrongRTL:"-webkit-box"===v.css("display"),activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,allowSlideNext:l.params.allowSlideNext,allowSlidePrev:l.params.allowSlidePrev,touchEvents:(f=["touchstart","touchmove","touchend","touchcancel"],m=["mousedown","mousemove","mouseup"],h.pointerEvents&&(m=["pointerdown","pointermove","pointerup"]),l.touchEventsTouch={start:f[0],move:f[1],end:f[2],cancel:f[3]},l.touchEventsDesktop={start:m[0],move:m[1],end:m[2]},h.touch||!l.params.simulateTouch?l.touchEventsTouch:l.touchEventsDesktop),touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,formElements:"input, select, option, textarea, button, video, label",lastClickTime:d.now(),clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,isTouchEvent:void 0,startMoving:void 0},allowClick:!0,allowTouchMove:l.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),l.useModules(),l.params.init&&l.init(),l}}e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t;var i={extendedDefaults:{configurable:!0},defaults:{configurable:!0},Class:{configurable:!0},$:{configurable:!0}};return t.prototype.slidesPerViewDynamic=function(){var e=this.params,t=this.slides,i=this.slidesGrid,s=this.size,a=this.activeIndex,r=1;if(e.centeredSlides){for(var n,o=t[a].swiperSlideSize,l=a+1;ls&&(n=!0));for(var d=a-1;d>=0;d-=1)t[d]&&!n&&(r+=1,(o+=t[d].swiperSlideSize)>s&&(n=!0))}else for(var h=a+1;h1)&&e.isEnd&&!e.params.centeredSlides?e.slideTo(e.slides.length-1,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0))||s(),i.watchOverflow&&t!==e.snapGrid&&e.checkOverflow(),e.emit("update")}function s(){var t=e.rtlTranslate?-1*e.translate:e.translate,i=Math.min(Math.max(t,e.maxTranslate()),e.minTranslate());e.setTranslate(i),e.updateActiveIndex(),e.updateSlidesClasses()}},t.prototype.changeDirection=function(e,t){void 0===t&&(t=!0);var i=this.params.direction;return e||(e="horizontal"===i?"vertical":"horizontal"),e===i||"horizontal"!==e&&"vertical"!==e||(this.$el.removeClass(""+this.params.containerModifierClass+i).addClass(""+this.params.containerModifierClass+e),this.params.direction=e,this.slides.each((function(t,i){"vertical"===e?i.style.width="":i.style.height=""})),this.emit("changeDirection"),t&&this.update()),this},t.prototype.init=function(){this.initialized||(this.emit("beforeInit"),this.params.breakpoints&&this.setBreakpoint(),this.addClasses(),this.params.loop&&this.loopCreate(),this.updateSize(),this.updateSlides(),this.params.watchOverflow&&this.checkOverflow(),this.params.grabCursor&&this.setGrabCursor(),this.params.preloadImages&&this.preloadImages(),this.params.loop?this.slideTo(this.params.initialSlide+this.loopedSlides,0,this.params.runCallbacksOnInit):this.slideTo(this.params.initialSlide,0,this.params.runCallbacksOnInit),this.attachEvents(),this.initialized=!0,this.emit("init"))},t.prototype.destroy=function(e,t){void 0===e&&(e=!0),void 0===t&&(t=!0);var i=this,s=i.params,a=i.$el,r=i.$wrapperEl,n=i.slides;return void 0===i.params||i.destroyed||(i.emit("beforeDestroy"),i.initialized=!1,i.detachEvents(),s.loop&&i.loopDestroy(),t&&(i.removeClasses(),a.removeAttr("style"),r.removeAttr("style"),n&&n.length&&n.removeClass([s.slideVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass].join(" ")).removeAttr("style").removeAttr("data-swiper-slide-index")),i.emit("destroy"),Object.keys(i.eventsListeners).forEach((function(e){i.off(e)})),!1!==e&&(i.$el[0].swiper=null,i.$el.data("swiper",null),d.deleteProps(i)),i.destroyed=!0),null},t.extendDefaults=function(e){d.extend(q,e)},i.extendedDefaults.get=function(){return q},i.defaults.get=function(){return W},i.Class.get=function(){return e},i.$.get=function(){return n},Object.defineProperties(t,i),t}(p),K={name:"device",proto:{device:A},static:{device:A}},U={name:"support",proto:{support:h},static:{support:h}},_={isEdge:!!a.navigator.userAgent.match(/Edge/g),isSafari:function(){var e=a.navigator.userAgent.toLowerCase();return e.indexOf("safari")>=0&&e.indexOf("chrome")<0&&e.indexOf("android")<0}(),isWebView:/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(a.navigator.userAgent)},Z={name:"browser",proto:{browser:_},static:{browser:_}},Q={name:"resize",create:function(){var e=this;d.extend(e,{resize:{resizeHandler:function(){e&&!e.destroyed&&e.initialized&&(e.emit("beforeResize"),e.emit("resize"))},orientationChangeHandler:function(){e&&!e.destroyed&&e.initialized&&e.emit("orientationchange")}}})},on:{init:function(){a.addEventListener("resize",this.resize.resizeHandler),a.addEventListener("orientationchange",this.resize.orientationChangeHandler)},destroy:function(){a.removeEventListener("resize",this.resize.resizeHandler),a.removeEventListener("orientationchange",this.resize.orientationChangeHandler)}}},J={func:a.MutationObserver||a.WebkitMutationObserver,attach:function(e,t){void 0===t&&(t={});var i=this,s=new(0,J.func)((function(e){if(1!==e.length){var t=function(){i.emit("observerUpdate",e[0])};a.requestAnimationFrame?a.requestAnimationFrame(t):a.setTimeout(t,0)}else i.emit("observerUpdate",e[0])}));s.observe(e,{attributes:void 0===t.attributes||t.attributes,childList:void 0===t.childList||t.childList,characterData:void 0===t.characterData||t.characterData}),i.observer.observers.push(s)},init:function(){if(h.observer&&this.params.observer){if(this.params.observeParents)for(var e=this.$el.parents(),t=0;tE)&&t.$wrapperEl.find("."+t.params.slideClass+'[data-swiper-slide-index="'+P+'"]').remove();for(var z=0;z=x&&z<=E&&(void 0===c||e?M.push(z):(z>c&&M.push(z),z'+e+"");return s.attr("data-swiper-slide-index")||s.attr("data-swiper-slide-index",t),i.cache&&(this.virtual.cache[t]=s),s},appendSlide:function(e){if("object"==typeof e&&"length"in e)for(var t=0;t=0;i-=1)this.virtual.slides.splice(e[i],1),this.params.virtual.cache&&delete this.virtual.cache[e[i]],e[i]0&&0===this.$el.parents("."+this.params.slideActiveClass).length)return;var v=a.innerWidth,f=a.innerHeight,m=this.$el.offset();t&&(m.left-=this.$el[0].scrollLeft);for(var g=[[m.left,m.top],[m.left+this.width,m.top],[m.left,m.top+this.height],[m.left+this.width,m.top+this.height]],b=0;b=0&&w[0]<=v&&w[1]>=0&&w[1]<=f&&(u=!0)}if(!u)return}this.isHorizontal()?((o||l||d||h)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),((l||h)&&!t||(o||d)&&t)&&this.slideNext(),((o||d)&&!t||(l||h)&&t)&&this.slidePrev()):((o||l||p||c)&&(s.preventDefault?s.preventDefault():s.returnValue=!1),(l||c)&&this.slideNext(),(o||p)&&this.slidePrev()),this.emit("keyPress",r)}},enable:function(){this.keyboard.enabled||(n(i).on("keydown",this.keyboard.handle),this.keyboard.enabled=!0)},disable:function(){this.keyboard.enabled&&(n(i).off("keydown",this.keyboard.handle),this.keyboard.enabled=!1)}},ae={name:"keyboard",params:{keyboard:{enabled:!1,onlyInViewport:!0,pageUpDown:!0}},create:function(){d.extend(this,{keyboard:{enabled:!1,enable:se.enable.bind(this),disable:se.disable.bind(this),handle:se.handle.bind(this)}})},on:{init:function(){this.params.keyboard.enabled&&this.keyboard.enable()},destroy:function(){this.keyboard.enabled&&this.keyboard.disable()}}};var re={lastScrollTime:d.now(),lastEventBeforeSnap:void 0,recentWheelEvents:[],event:function(){return a.navigator.userAgent.indexOf("firefox")>-1?"DOMMouseScroll":function(){var e="onwheel"in i;if(!e){var t=i.createElement("div");t.setAttribute("onwheel","return;"),e="function"==typeof t.onwheel}return!e&&i.implementation&&i.implementation.hasFeature&&!0!==i.implementation.hasFeature("","")&&(e=i.implementation.hasFeature("Events.wheel","3.0")),e}()?"wheel":"mousewheel"},normalize:function(e){var t=0,i=0,s=0,a=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),s=10*t,a=10*i,"deltaY"in e&&(a=e.deltaY),"deltaX"in e&&(s=e.deltaX),e.shiftKey&&!s&&(s=a,a=0),(s||a)&&e.deltaMode&&(1===e.deltaMode?(s*=40,a*=40):(s*=800,a*=800)),s&&!t&&(t=s<1?-1:1),a&&!i&&(i=a<1?-1:1),{spinX:t,spinY:i,pixelX:s,pixelY:a}},handleMouseEnter:function(){this.mouseEntered=!0},handleMouseLeave:function(){this.mouseEntered=!1},handle:function(e){var t=e,i=this,s=i.params.mousewheel;i.params.cssMode&&t.preventDefault();var a=i.$el;if("container"!==i.params.mousewheel.eventsTarged&&(a=n(i.params.mousewheel.eventsTarged)),!i.mouseEntered&&!a[0].contains(t.target)&&!s.releaseOnEdges)return!0;t.originalEvent&&(t=t.originalEvent);var r=0,o=i.rtlTranslate?-1:1,l=re.normalize(t);if(s.forceToAxis)if(i.isHorizontal()){if(!(Math.abs(l.pixelX)>Math.abs(l.pixelY)))return!0;r=-l.pixelX*o}else{if(!(Math.abs(l.pixelY)>Math.abs(l.pixelX)))return!0;r=-l.pixelY}else r=Math.abs(l.pixelX)>Math.abs(l.pixelY)?-l.pixelX*o:-l.pixelY;if(0===r)return!0;if(s.invert&&(r=-r),i.params.freeMode){var h={time:d.now(),delta:Math.abs(r),direction:Math.sign(r)},p=i.mousewheel.lastEventBeforeSnap,c=p&&h.time=i.minTranslate()&&(u=i.minTranslate()),u<=i.maxTranslate()&&(u=i.maxTranslate()),i.setTransition(0),i.setTranslate(u),i.updateProgress(),i.updateActiveIndex(),i.updateSlidesClasses(),(!v&&i.isBeginning||!f&&i.isEnd)&&i.updateSlidesClasses(),i.params.freeModeSticky){clearTimeout(i.mousewheel.timeout),i.mousewheel.timeout=void 0;var m=i.mousewheel.recentWheelEvents;m.length>=15&&m.shift();var g=m.length?m[m.length-1]:void 0,b=m[0];if(m.push(h),g&&(h.delta>g.delta||h.direction!==g.direction))m.splice(0);else if(m.length>=15&&h.time-b.time<500&&b.delta-h.delta>=1&&h.delta<=6){var w=r>0?.8:.2;i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.mousewheel.timeout=d.nextTick((function(){i.slideToClosest(i.params.speed,!0,void 0,w)}),0)}i.mousewheel.timeout||(i.mousewheel.timeout=d.nextTick((function(){i.mousewheel.lastEventBeforeSnap=h,m.splice(0),i.slideToClosest(i.params.speed,!0,void 0,.5)}),500))}if(c||i.emit("scroll",t),i.params.autoplay&&i.params.autoplayDisableOnInteraction&&i.autoplay.stop(),u===i.minTranslate()||u===i.maxTranslate())return!0}}else{var y={time:d.now(),delta:Math.abs(r),direction:Math.sign(r),raw:e},x=i.mousewheel.recentWheelEvents;x.length>=2&&x.shift();var E=x.length?x[x.length-1]:void 0;if(x.push(y),E?(y.direction!==E.direction||y.delta>E.delta||y.time>E.time+150)&&i.mousewheel.animateSlider(y):i.mousewheel.animateSlider(y),i.mousewheel.releaseScroll(y))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1},animateSlider:function(e){return e.delta>=6&&d.now()-this.mousewheel.lastScrollTime<60||(e.direction<0?this.isEnd&&!this.params.loop||this.animating||(this.slideNext(),this.emit("scroll",e.raw)):this.isBeginning&&!this.params.loop||this.animating||(this.slidePrev(),this.emit("scroll",e.raw)),this.mousewheel.lastScrollTime=(new a.Date).getTime(),!1)},releaseScroll:function(e){var t=this.params.mousewheel;if(e.direction<0){if(this.isEnd&&!this.params.loop&&t.releaseOnEdges)return!0}else if(this.isBeginning&&!this.params.loop&&t.releaseOnEdges)return!0;return!1},enable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.removeEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.on("mouseenter",this.mousewheel.handleMouseEnter),t.on("mouseleave",this.mousewheel.handleMouseLeave),t.on(e,this.mousewheel.handle),this.mousewheel.enabled=!0,!0},disable:function(){var e=re.event();if(this.params.cssMode)return this.wrapperEl.addEventListener(e,this.mousewheel.handle),!0;if(!e)return!1;if(!this.mousewheel.enabled)return!1;var t=this.$el;return"container"!==this.params.mousewheel.eventsTarged&&(t=n(this.params.mousewheel.eventsTarged)),t.off(e,this.mousewheel.handle),this.mousewheel.enabled=!1,!0}},ne={update:function(){var e=this.params.navigation;if(!this.params.loop){var t=this.navigation,i=t.$nextEl,s=t.$prevEl;s&&s.length>0&&(this.isBeginning?s.addClass(e.disabledClass):s.removeClass(e.disabledClass),s[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass)),i&&i.length>0&&(this.isEnd?i.addClass(e.disabledClass):i.removeClass(e.disabledClass),i[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](e.lockClass))}},onPrevClick:function(e){e.preventDefault(),this.isBeginning&&!this.params.loop||this.slidePrev()},onNextClick:function(e){e.preventDefault(),this.isEnd&&!this.params.loop||this.slideNext()},init:function(){var e,t,i=this.params.navigation;(i.nextEl||i.prevEl)&&(i.nextEl&&(e=n(i.nextEl),this.params.uniqueNavElements&&"string"==typeof i.nextEl&&e.length>1&&1===this.$el.find(i.nextEl).length&&(e=this.$el.find(i.nextEl))),i.prevEl&&(t=n(i.prevEl),this.params.uniqueNavElements&&"string"==typeof i.prevEl&&t.length>1&&1===this.$el.find(i.prevEl).length&&(t=this.$el.find(i.prevEl))),e&&e.length>0&&e.on("click",this.navigation.onNextClick),t&&t.length>0&&t.on("click",this.navigation.onPrevClick),d.extend(this.navigation,{$nextEl:e,nextEl:e&&e[0],$prevEl:t,prevEl:t&&t[0]}))},destroy:function(){var e=this.navigation,t=e.$nextEl,i=e.$prevEl;t&&t.length&&(t.off("click",this.navigation.onNextClick),t.removeClass(this.params.navigation.disabledClass)),i&&i.length&&(i.off("click",this.navigation.onPrevClick),i.removeClass(this.params.navigation.disabledClass))}},oe={update:function(){var e=this.rtl,t=this.params.pagination;if(t.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var i,s=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,a=this.pagination.$el,r=this.params.loop?Math.ceil((s-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length;if(this.params.loop?((i=Math.ceil((this.activeIndex-this.loopedSlides)/this.params.slidesPerGroup))>s-1-2*this.loopedSlides&&(i-=s-2*this.loopedSlides),i>r-1&&(i-=r),i<0&&"bullets"!==this.params.paginationType&&(i=r+i)):i=void 0!==this.snapIndex?this.snapIndex:this.activeIndex||0,"bullets"===t.type&&this.pagination.bullets&&this.pagination.bullets.length>0){var o,l,d,h=this.pagination.bullets;if(t.dynamicBullets&&(this.pagination.bulletSize=h.eq(0)[this.isHorizontal()?"outerWidth":"outerHeight"](!0),a.css(this.isHorizontal()?"width":"height",this.pagination.bulletSize*(t.dynamicMainBullets+4)+"px"),t.dynamicMainBullets>1&&void 0!==this.previousIndex&&(this.pagination.dynamicBulletIndex+=i-this.previousIndex,this.pagination.dynamicBulletIndex>t.dynamicMainBullets-1?this.pagination.dynamicBulletIndex=t.dynamicMainBullets-1:this.pagination.dynamicBulletIndex<0&&(this.pagination.dynamicBulletIndex=0)),o=i-this.pagination.dynamicBulletIndex,d=((l=o+(Math.min(h.length,t.dynamicMainBullets)-1))+o)/2),h.removeClass(t.bulletActiveClass+" "+t.bulletActiveClass+"-next "+t.bulletActiveClass+"-next-next "+t.bulletActiveClass+"-prev "+t.bulletActiveClass+"-prev-prev "+t.bulletActiveClass+"-main"),a.length>1)h.each((function(e,s){var a=n(s),r=a.index();r===i&&a.addClass(t.bulletActiveClass),t.dynamicBullets&&(r>=o&&r<=l&&a.addClass(t.bulletActiveClass+"-main"),r===o&&a.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),r===l&&a.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next"))}));else{var p=h.eq(i),c=p.index();if(p.addClass(t.bulletActiveClass),t.dynamicBullets){for(var u=h.eq(o),v=h.eq(l),f=o;f<=l;f+=1)h.eq(f).addClass(t.bulletActiveClass+"-main");if(this.params.loop)if(c>=h.length-t.dynamicMainBullets){for(var m=t.dynamicMainBullets;m>=0;m-=1)h.eq(h.length-m).addClass(t.bulletActiveClass+"-main");h.eq(h.length-t.dynamicMainBullets-1).addClass(t.bulletActiveClass+"-prev")}else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next");else u.prev().addClass(t.bulletActiveClass+"-prev").prev().addClass(t.bulletActiveClass+"-prev-prev"),v.next().addClass(t.bulletActiveClass+"-next").next().addClass(t.bulletActiveClass+"-next-next")}}if(t.dynamicBullets){var g=Math.min(h.length,t.dynamicMainBullets+4),b=(this.pagination.bulletSize*g-this.pagination.bulletSize)/2-d*this.pagination.bulletSize,w=e?"right":"left";h.css(this.isHorizontal()?w:"top",b+"px")}}if("fraction"===t.type&&(a.find("."+t.currentClass).text(t.formatFractionCurrent(i+1)),a.find("."+t.totalClass).text(t.formatFractionTotal(r))),"progressbar"===t.type){var y;y=t.progressbarOpposite?this.isHorizontal()?"vertical":"horizontal":this.isHorizontal()?"horizontal":"vertical";var x=(i+1)/r,E=1,T=1;"horizontal"===y?E=x:T=x,a.find("."+t.progressbarFillClass).transform("translate3d(0,0,0) scaleX("+E+") scaleY("+T+")").transition(this.params.speed)}"custom"===t.type&&t.renderCustom?(a.html(t.renderCustom(this,i+1,r)),this.emit("paginationRender",this,a[0])):this.emit("paginationUpdate",this,a[0]),a[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](t.lockClass)}},render:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.virtual&&this.params.virtual.enabled?this.virtual.slides.length:this.slides.length,i=this.pagination.$el,s="";if("bullets"===e.type){for(var a=this.params.loop?Math.ceil((t-2*this.loopedSlides)/this.params.slidesPerGroup):this.snapGrid.length,r=0;r";i.html(s),this.pagination.bullets=i.find("."+e.bulletClass)}"fraction"===e.type&&(s=e.renderFraction?e.renderFraction.call(this,e.currentClass,e.totalClass):' / ',i.html(s)),"progressbar"===e.type&&(s=e.renderProgressbar?e.renderProgressbar.call(this,e.progressbarFillClass):'',i.html(s)),"custom"!==e.type&&this.emit("paginationRender",this.pagination.$el[0])}},init:function(){var e=this,t=e.params.pagination;if(t.el){var i=n(t.el);0!==i.length&&(e.params.uniqueNavElements&&"string"==typeof t.el&&i.length>1&&(i=e.$el.find(t.el)),"bullets"===t.type&&t.clickable&&i.addClass(t.clickableClass),i.addClass(t.modifierClass+t.type),"bullets"===t.type&&t.dynamicBullets&&(i.addClass(""+t.modifierClass+t.type+"-dynamic"),e.pagination.dynamicBulletIndex=0,t.dynamicMainBullets<1&&(t.dynamicMainBullets=1)),"progressbar"===t.type&&t.progressbarOpposite&&i.addClass(t.progressbarOppositeClass),t.clickable&&i.on("click","."+t.bulletClass,(function(t){t.preventDefault();var i=n(this).index()*e.params.slidesPerGroup;e.params.loop&&(i+=e.loopedSlides),e.slideTo(i)})),d.extend(e.pagination,{$el:i,el:i[0]}))}},destroy:function(){var e=this.params.pagination;if(e.el&&this.pagination.el&&this.pagination.$el&&0!==this.pagination.$el.length){var t=this.pagination.$el;t.removeClass(e.hiddenClass),t.removeClass(e.modifierClass+e.type),this.pagination.bullets&&this.pagination.bullets.removeClass(e.bulletActiveClass),e.clickable&&t.off("click","."+e.bulletClass)}}},le={setTranslate:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=this.rtlTranslate,i=this.progress,s=e.dragSize,a=e.trackSize,r=e.$dragEl,n=e.$el,o=this.params.scrollbar,l=s,d=(a-s)*i;t?(d=-d)>0?(l=s-d,d=0):-d+s>a&&(l=a+d):d<0?(l=s+d,d=0):d+s>a&&(l=a-d),this.isHorizontal()?(r.transform("translate3d("+d+"px, 0, 0)"),r[0].style.width=l+"px"):(r.transform("translate3d(0px, "+d+"px, 0)"),r[0].style.height=l+"px"),o.hide&&(clearTimeout(this.scrollbar.timeout),n[0].style.opacity=1,this.scrollbar.timeout=setTimeout((function(){n[0].style.opacity=0,n.transition(400)}),1e3))}},setTransition:function(e){this.params.scrollbar.el&&this.scrollbar.el&&this.scrollbar.$dragEl.transition(e)},updateSize:function(){if(this.params.scrollbar.el&&this.scrollbar.el){var e=this.scrollbar,t=e.$dragEl,i=e.$el;t[0].style.width="",t[0].style.height="";var s,a=this.isHorizontal()?i[0].offsetWidth:i[0].offsetHeight,r=this.size/this.virtualSize,n=r*(a/this.size);s="auto"===this.params.scrollbar.dragSize?a*r:parseInt(this.params.scrollbar.dragSize,10),this.isHorizontal()?t[0].style.width=s+"px":t[0].style.height=s+"px",i[0].style.display=r>=1?"none":"",this.params.scrollbar.hide&&(i[0].style.opacity=0),d.extend(e,{trackSize:a,divider:r,moveDivider:n,dragSize:s}),e.$el[this.params.watchOverflow&&this.isLocked?"addClass":"removeClass"](this.params.scrollbar.lockClass)}},getPointerPosition:function(e){return this.isHorizontal()?"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientX:e.clientX:"touchstart"===e.type||"touchmove"===e.type?e.targetTouches[0].clientY:e.clientY},setDragPosition:function(e){var t,i=this.scrollbar,s=this.rtlTranslate,a=i.$el,r=i.dragSize,n=i.trackSize,o=i.dragStartPos;t=(i.getPointerPosition(e)-a.offset()[this.isHorizontal()?"left":"top"]-(null!==o?o:r/2))/(n-r),t=Math.max(Math.min(t,1),0),s&&(t=1-t);var l=this.minTranslate()+(this.maxTranslate()-this.minTranslate())*t;this.updateProgress(l),this.setTranslate(l),this.updateActiveIndex(),this.updateSlidesClasses()},onDragStart:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el,r=i.$dragEl;this.scrollbar.isTouched=!0,this.scrollbar.dragStartPos=e.target===r[0]||e.target===r?i.getPointerPosition(e)-e.target.getBoundingClientRect()[this.isHorizontal()?"left":"top"]:null,e.preventDefault(),e.stopPropagation(),s.transition(100),r.transition(100),i.setDragPosition(e),clearTimeout(this.scrollbar.dragTimeout),a.transition(0),t.hide&&a.css("opacity",1),this.params.cssMode&&this.$wrapperEl.css("scroll-snap-type","none"),this.emit("scrollbarDragStart",e)},onDragMove:function(e){var t=this.scrollbar,i=this.$wrapperEl,s=t.$el,a=t.$dragEl;this.scrollbar.isTouched&&(e.preventDefault?e.preventDefault():e.returnValue=!1,t.setDragPosition(e),i.transition(0),s.transition(0),a.transition(0),this.emit("scrollbarDragMove",e))},onDragEnd:function(e){var t=this.params.scrollbar,i=this.scrollbar,s=this.$wrapperEl,a=i.$el;this.scrollbar.isTouched&&(this.scrollbar.isTouched=!1,this.params.cssMode&&(this.$wrapperEl.css("scroll-snap-type",""),s.transition("")),t.hide&&(clearTimeout(this.scrollbar.dragTimeout),this.scrollbar.dragTimeout=d.nextTick((function(){a.css("opacity",0),a.transition(400)}),1e3)),this.emit("scrollbarDragEnd",e),t.snapOnRelease&&this.slideToClosest())},enableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.addEventListener(t.start,this.scrollbar.onDragStart,n),r.addEventListener(t.move,this.scrollbar.onDragMove,n),r.addEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.addEventListener(s.start,this.scrollbar.onDragStart,n),i.addEventListener(s.move,this.scrollbar.onDragMove,n),i.addEventListener(s.end,this.scrollbar.onDragEnd,o))}},disableDraggable:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.touchEventsTouch,s=this.touchEventsDesktop,a=this.params,r=e.$el[0],n=!(!h.passiveListener||!a.passiveListeners)&&{passive:!1,capture:!1},o=!(!h.passiveListener||!a.passiveListeners)&&{passive:!0,capture:!1};h.touch?(r.removeEventListener(t.start,this.scrollbar.onDragStart,n),r.removeEventListener(t.move,this.scrollbar.onDragMove,n),r.removeEventListener(t.end,this.scrollbar.onDragEnd,o)):(r.removeEventListener(s.start,this.scrollbar.onDragStart,n),i.removeEventListener(s.move,this.scrollbar.onDragMove,n),i.removeEventListener(s.end,this.scrollbar.onDragEnd,o))}},init:function(){if(this.params.scrollbar.el){var e=this.scrollbar,t=this.$el,i=this.params.scrollbar,s=n(i.el);this.params.uniqueNavElements&&"string"==typeof i.el&&s.length>1&&1===t.find(i.el).length&&(s=t.find(i.el));var a=s.find("."+this.params.scrollbar.dragClass);0===a.length&&(a=n('
    '),s.append(a)),d.extend(e,{$el:s,el:s[0],$dragEl:a,dragEl:a[0]}),i.draggable&&e.enableDraggable()}},destroy:function(){this.scrollbar.disableDraggable()}},de={setTransform:function(e,t){var i=this.rtl,s=n(e),a=i?-1:1,r=s.attr("data-swiper-parallax")||"0",o=s.attr("data-swiper-parallax-x"),l=s.attr("data-swiper-parallax-y"),d=s.attr("data-swiper-parallax-scale"),h=s.attr("data-swiper-parallax-opacity");if(o||l?(o=o||"0",l=l||"0"):this.isHorizontal()?(o=r,l="0"):(l=r,o="0"),o=o.indexOf("%")>=0?parseInt(o,10)*t*a+"%":o*t*a+"px",l=l.indexOf("%")>=0?parseInt(l,10)*t+"%":l*t+"px",null!=h){var p=h-(h-1)*(1-Math.abs(t));s[0].style.opacity=p}if(null==d)s.transform("translate3d("+o+", "+l+", 0px)");else{var c=d-(d-1)*(1-Math.abs(t));s.transform("translate3d("+o+", "+l+", 0px) scale("+c+")")}},setTranslate:function(){var e=this,t=e.$el,i=e.slides,s=e.progress,a=e.snapGrid;t.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,s)})),i.each((function(t,i){var r=i.progress;e.params.slidesPerGroup>1&&"auto"!==e.params.slidesPerView&&(r+=Math.ceil(t/2)-s*(a.length-1)),r=Math.min(Math.max(r,-1),1),n(i).find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){e.parallax.setTransform(i,r)}))}))},setTransition:function(e){void 0===e&&(e=this.params.speed);this.$el.find("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each((function(t,i){var s=n(i),a=parseInt(s.attr("data-swiper-parallax-duration"),10)||e;0===e&&(a=0),s.transition(a)}))}},he={getDistanceBetweenTouches:function(e){if(e.targetTouches.length<2)return 1;var t=e.targetTouches[0].pageX,i=e.targetTouches[0].pageY,s=e.targetTouches[1].pageX,a=e.targetTouches[1].pageY;return Math.sqrt(Math.pow(s-t,2)+Math.pow(a-i,2))},onGestureStart:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(i.fakeGestureTouched=!1,i.fakeGestureMoved=!1,!h.gestures){if("touchstart"!==e.type||"touchstart"===e.type&&e.targetTouches.length<2)return;i.fakeGestureTouched=!0,s.scaleStart=he.getDistanceBetweenTouches(e)}s.$slideEl&&s.$slideEl.length||(s.$slideEl=n(e.target).closest("."+this.params.slideClass),0===s.$slideEl.length&&(s.$slideEl=this.slides.eq(this.activeIndex)),s.$imageEl=s.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),s.$imageWrapEl=s.$imageEl.parent("."+t.containerClass),s.maxRatio=s.$imageWrapEl.attr("data-swiper-zoom")||t.maxRatio,0!==s.$imageWrapEl.length)?(s.$imageEl&&s.$imageEl.transition(0),this.zoom.isScaling=!0):s.$imageEl=void 0},onGestureChange:function(e){var t=this.params.zoom,i=this.zoom,s=i.gesture;if(!h.gestures){if("touchmove"!==e.type||"touchmove"===e.type&&e.targetTouches.length<2)return;i.fakeGestureMoved=!0,s.scaleMove=he.getDistanceBetweenTouches(e)}s.$imageEl&&0!==s.$imageEl.length&&(i.scale=h.gestures?e.scale*i.currentScale:s.scaleMove/s.scaleStart*i.currentScale,i.scale>s.maxRatio&&(i.scale=s.maxRatio-1+Math.pow(i.scale-s.maxRatio+1,.5)),i.scales.touchesStart.x))return void(s.isTouched=!1);if(!this.isHorizontal()&&(Math.floor(s.minY)===Math.floor(s.startY)&&s.touchesCurrent.ys.touchesStart.y))return void(s.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),s.isMoved=!0,s.currentX=s.touchesCurrent.x-s.touchesStart.x+s.startX,s.currentY=s.touchesCurrent.y-s.touchesStart.y+s.startY,s.currentXs.maxX&&(s.currentX=s.maxX-1+Math.pow(s.currentX-s.maxX+1,.8)),s.currentYs.maxY&&(s.currentY=s.maxY-1+Math.pow(s.currentY-s.maxY+1,.8)),a.prevPositionX||(a.prevPositionX=s.touchesCurrent.x),a.prevPositionY||(a.prevPositionY=s.touchesCurrent.y),a.prevTime||(a.prevTime=Date.now()),a.x=(s.touchesCurrent.x-a.prevPositionX)/(Date.now()-a.prevTime)/2,a.y=(s.touchesCurrent.y-a.prevPositionY)/(Date.now()-a.prevTime)/2,Math.abs(s.touchesCurrent.x-a.prevPositionX)<2&&(a.x=0),Math.abs(s.touchesCurrent.y-a.prevPositionY)<2&&(a.y=0),a.prevPositionX=s.touchesCurrent.x,a.prevPositionY=s.touchesCurrent.y,a.prevTime=Date.now(),i.$imageWrapEl.transform("translate3d("+s.currentX+"px, "+s.currentY+"px,0)")}}},onTouchEnd:function(){var e=this.zoom,t=e.gesture,i=e.image,s=e.velocity;if(t.$imageEl&&0!==t.$imageEl.length){if(!i.isTouched||!i.isMoved)return i.isTouched=!1,void(i.isMoved=!1);i.isTouched=!1,i.isMoved=!1;var a=300,r=300,n=s.x*a,o=i.currentX+n,l=s.y*r,d=i.currentY+l;0!==s.x&&(a=Math.abs((o-i.currentX)/s.x)),0!==s.y&&(r=Math.abs((d-i.currentY)/s.y));var h=Math.max(a,r);i.currentX=o,i.currentY=d;var p=i.width*e.scale,c=i.height*e.scale;i.minX=Math.min(t.slideWidth/2-p/2,0),i.maxX=-i.minX,i.minY=Math.min(t.slideHeight/2-c/2,0),i.maxY=-i.minY,i.currentX=Math.max(Math.min(i.currentX,i.maxX),i.minX),i.currentY=Math.max(Math.min(i.currentY,i.maxY),i.minY),t.$imageWrapEl.transition(h).transform("translate3d("+i.currentX+"px, "+i.currentY+"px,0)")}},onTransitionEnd:function(){var e=this.zoom,t=e.gesture;t.$slideEl&&this.previousIndex!==this.activeIndex&&(t.$imageEl&&t.$imageEl.transform("translate3d(0,0,0) scale(1)"),t.$imageWrapEl&&t.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,e.currentScale=1,t.$slideEl=void 0,t.$imageEl=void 0,t.$imageWrapEl=void 0)},toggle:function(e){var t=this.zoom;t.scale&&1!==t.scale?t.out():t.in(e)},in:function(e){var t,i,s,a,r,n,o,l,d,h,p,c,u,v,f,m,g=this.zoom,b=this.params.zoom,w=g.gesture,y=g.image;(w.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?w.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):w.$slideEl=this.slides.eq(this.activeIndex),w.$imageEl=w.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),w.$imageWrapEl=w.$imageEl.parent("."+b.containerClass)),w.$imageEl&&0!==w.$imageEl.length)&&(w.$slideEl.addClass(""+b.zoomedSlideClass),void 0===y.touchesStart.x&&e?(t="touchend"===e.type?e.changedTouches[0].pageX:e.pageX,i="touchend"===e.type?e.changedTouches[0].pageY:e.pageY):(t=y.touchesStart.x,i=y.touchesStart.y),g.scale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,g.currentScale=w.$imageWrapEl.attr("data-swiper-zoom")||b.maxRatio,e?(f=w.$slideEl[0].offsetWidth,m=w.$slideEl[0].offsetHeight,s=w.$slideEl.offset().left+f/2-t,a=w.$slideEl.offset().top+m/2-i,o=w.$imageEl[0].offsetWidth,l=w.$imageEl[0].offsetHeight,d=o*g.scale,h=l*g.scale,u=-(p=Math.min(f/2-d/2,0)),v=-(c=Math.min(m/2-h/2,0)),(r=s*g.scale)u&&(r=u),(n=a*g.scale)v&&(n=v)):(r=0,n=0),w.$imageWrapEl.transition(300).transform("translate3d("+r+"px, "+n+"px,0)"),w.$imageEl.transition(300).transform("translate3d(0,0,0) scale("+g.scale+")"))},out:function(){var e=this.zoom,t=this.params.zoom,i=e.gesture;i.$slideEl||(this.params.virtual&&this.params.virtual.enabled&&this.virtual?i.$slideEl=this.$wrapperEl.children("."+this.params.slideActiveClass):i.$slideEl=this.slides.eq(this.activeIndex),i.$imageEl=i.$slideEl.find("img, svg, canvas, picture, .swiper-zoom-target"),i.$imageWrapEl=i.$imageEl.parent("."+t.containerClass)),i.$imageEl&&0!==i.$imageEl.length&&(e.scale=1,e.currentScale=1,i.$imageWrapEl.transition(300).transform("translate3d(0,0,0)"),i.$imageEl.transition(300).transform("translate3d(0,0,0) scale(1)"),i.$slideEl.removeClass(""+t.zoomedSlideClass),i.$slideEl=void 0)},enable:function(){var e=this.zoom;if(!e.enabled){e.enabled=!0;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.on("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.on("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.on("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.on(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.on(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.on(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.on(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.on(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}},disable:function(){var e=this.zoom;if(e.enabled){this.zoom.enabled=!1;var t=!("touchstart"!==this.touchEvents.start||!h.passiveListener||!this.params.passiveListeners)&&{passive:!0,capture:!1},i=!h.passiveListener||{passive:!1,capture:!0},s="."+this.params.slideClass;h.gestures?(this.$wrapperEl.off("gesturestart",s,e.onGestureStart,t),this.$wrapperEl.off("gesturechange",s,e.onGestureChange,t),this.$wrapperEl.off("gestureend",s,e.onGestureEnd,t)):"touchstart"===this.touchEvents.start&&(this.$wrapperEl.off(this.touchEvents.start,s,e.onGestureStart,t),this.$wrapperEl.off(this.touchEvents.move,s,e.onGestureChange,i),this.$wrapperEl.off(this.touchEvents.end,s,e.onGestureEnd,t),this.touchEvents.cancel&&this.$wrapperEl.off(this.touchEvents.cancel,s,e.onGestureEnd,t)),this.$wrapperEl.off(this.touchEvents.move,"."+this.params.zoom.containerClass,e.onTouchMove,i)}}},pe={loadInSlide:function(e,t){void 0===t&&(t=!0);var i=this,s=i.params.lazy;if(void 0!==e&&0!==i.slides.length){var a=i.virtual&&i.params.virtual.enabled?i.$wrapperEl.children("."+i.params.slideClass+'[data-swiper-slide-index="'+e+'"]'):i.slides.eq(e),r=a.find("."+s.elementClass+":not(."+s.loadedClass+"):not(."+s.loadingClass+")");!a.hasClass(s.elementClass)||a.hasClass(s.loadedClass)||a.hasClass(s.loadingClass)||(r=r.add(a[0])),0!==r.length&&r.each((function(e,r){var o=n(r);o.addClass(s.loadingClass);var l=o.attr("data-background"),d=o.attr("data-src"),h=o.attr("data-srcset"),p=o.attr("data-sizes"),c=o.parent("picture");i.loadImage(o[0],d||l,h,p,!1,(function(){if(null!=i&&i&&(!i||i.params)&&!i.destroyed){if(l?(o.css("background-image",'url("'+l+'")'),o.removeAttr("data-background")):(h&&(o.attr("srcset",h),o.removeAttr("data-srcset")),p&&(o.attr("sizes",p),o.removeAttr("data-sizes")),c.length&&c.children("source").each((function(e,t){var i=n(t);i.attr("data-srcset")&&(i.attr("srcset",i.attr("data-srcset")),i.removeAttr("data-srcset"))})),d&&(o.attr("src",d),o.removeAttr("data-src"))),o.addClass(s.loadedClass).removeClass(s.loadingClass),a.find("."+s.preloaderClass).remove(),i.params.loop&&t){var e=a.attr("data-swiper-slide-index");if(a.hasClass(i.params.slideDuplicateClass)){var r=i.$wrapperEl.children('[data-swiper-slide-index="'+e+'"]:not(.'+i.params.slideDuplicateClass+")");i.lazy.loadInSlide(r.index(),!1)}else{var u=i.$wrapperEl.children("."+i.params.slideDuplicateClass+'[data-swiper-slide-index="'+e+'"]');i.lazy.loadInSlide(u.index(),!1)}}i.emit("lazyImageReady",a[0],o[0]),i.params.autoHeight&&i.updateAutoHeight()}})),i.emit("lazyImageLoad",a[0],o[0])}))}},load:function(){var e=this,t=e.$wrapperEl,i=e.params,s=e.slides,a=e.activeIndex,r=e.virtual&&i.virtual.enabled,o=i.lazy,l=i.slidesPerView;function d(e){if(r){if(t.children("."+i.slideClass+'[data-swiper-slide-index="'+e+'"]').length)return!0}else if(s[e])return!0;return!1}function h(e){return r?n(e).attr("data-swiper-slide-index"):n(e).index()}if("auto"===l&&(l=0),e.lazy.initialImageLoaded||(e.lazy.initialImageLoaded=!0),e.params.watchSlidesVisibility)t.children("."+i.slideVisibleClass).each((function(t,i){var s=r?n(i).attr("data-swiper-slide-index"):n(i).index();e.lazy.loadInSlide(s)}));else if(l>1)for(var p=a;p1||o.loadPrevNextAmount&&o.loadPrevNextAmount>1){for(var c=o.loadPrevNextAmount,u=l,v=Math.min(a+u+Math.max(c,u),s.length),f=Math.max(a-Math.max(u,c),0),m=a+l;m0&&e.lazy.loadInSlide(h(b));var w=t.children("."+i.slidePrevClass);w.length>0&&e.lazy.loadInSlide(h(w))}}},ce={LinearSpline:function(e,t){var i,s,a,r,n,o=function(e,t){for(s=-1,i=e.length;i-s>1;)e[a=i+s>>1]<=t?s=a:i=a;return i};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(n=o(this.x,e),r=n-1,(e-this.x[r])*(this.y[n]-this.y[r])/(this.x[n]-this.x[r])+this.y[r]):0},this},getInterpolateFunction:function(e){this.controller.spline||(this.controller.spline=this.params.loop?new ce.LinearSpline(this.slidesGrid,e.slidesGrid):new ce.LinearSpline(this.snapGrid,e.snapGrid))},setTranslate:function(e,t){var i,s,a=this,r=a.controller.control;function n(e){var t=a.rtlTranslate?-a.translate:a.translate;"slide"===a.params.controller.by&&(a.controller.getInterpolateFunction(e),s=-a.controller.spline.interpolate(-t)),s&&"container"!==a.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(a.maxTranslate()-a.minTranslate()),s=(t-a.minTranslate())*i+e.minTranslate()),a.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,a),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(r))for(var o=0;o0&&(this.isBeginning?(this.a11y.disableEl(i),this.a11y.makeElNotFocusable(i)):(this.a11y.enableEl(i),this.a11y.makeElFocusable(i))),t&&t.length>0&&(this.isEnd?(this.a11y.disableEl(t),this.a11y.makeElNotFocusable(t)):(this.a11y.enableEl(t),this.a11y.makeElFocusable(t)))}},updatePagination:function(){var e=this,t=e.params.a11y;e.pagination&&e.params.pagination.clickable&&e.pagination.bullets&&e.pagination.bullets.length&&e.pagination.bullets.each((function(i,s){var a=n(s);e.a11y.makeElFocusable(a),e.a11y.addElRole(a,"button"),e.a11y.addElLabel(a,t.paginationBulletMessage.replace(/\{\{index\}\}/,a.index()+1))}))},init:function(){this.$el.append(this.a11y.liveRegion);var e,t,i=this.params.a11y;this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&(this.a11y.makeElFocusable(e),this.a11y.addElRole(e,"button"),this.a11y.addElLabel(e,i.nextSlideMessage),e.on("keydown",this.a11y.onEnterKey)),t&&(this.a11y.makeElFocusable(t),this.a11y.addElRole(t,"button"),this.a11y.addElLabel(t,i.prevSlideMessage),t.on("keydown",this.a11y.onEnterKey)),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.on("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)},destroy:function(){var e,t;this.a11y.liveRegion&&this.a11y.liveRegion.length>0&&this.a11y.liveRegion.remove(),this.navigation&&this.navigation.$nextEl&&(e=this.navigation.$nextEl),this.navigation&&this.navigation.$prevEl&&(t=this.navigation.$prevEl),e&&e.off("keydown",this.a11y.onEnterKey),t&&t.off("keydown",this.a11y.onEnterKey),this.pagination&&this.params.pagination.clickable&&this.pagination.bullets&&this.pagination.bullets.length&&this.pagination.$el.off("keydown","."+this.params.pagination.bulletClass,this.a11y.onEnterKey)}},ve={init:function(){if(this.params.history){if(!a.history||!a.history.pushState)return this.params.history.enabled=!1,void(this.params.hashNavigation.enabled=!0);var e=this.history;e.initialized=!0,e.paths=ve.getPathValues(),(e.paths.key||e.paths.value)&&(e.scrollToSlide(0,e.paths.value,this.params.runCallbacksOnInit),this.params.history.replaceState||a.addEventListener("popstate",this.history.setHistoryPopState))}},destroy:function(){this.params.history.replaceState||a.removeEventListener("popstate",this.history.setHistoryPopState)},setHistoryPopState:function(){this.history.paths=ve.getPathValues(),this.history.scrollToSlide(this.params.speed,this.history.paths.value,!1)},getPathValues:function(){var e=a.location.pathname.slice(1).split("/").filter((function(e){return""!==e})),t=e.length;return{key:e[t-2],value:e[t-1]}},setHistory:function(e,t){if(this.history.initialized&&this.params.history.enabled){var i=this.slides.eq(t),s=ve.slugify(i.attr("data-history"));a.location.pathname.includes(e)||(s=e+"/"+s);var r=a.history.state;r&&r.value===s||(this.params.history.replaceState?a.history.replaceState({value:s},null,s):a.history.pushState({value:s},null,s))}},slugify:function(e){return e.toString().replace(/\s+/g,"-").replace(/[^\w-]+/g,"").replace(/--+/g,"-").replace(/^-+/,"").replace(/-+$/,"")},scrollToSlide:function(e,t,i){if(t)for(var s=0,a=this.slides.length;s'),i.append(e)),e.css({height:a+"px"})):0===(e=t.find(".swiper-cube-shadow")).length&&(e=n('
    '),t.append(e)));for(var u=0;u-1&&(c=90*f+90*b,o&&(c=90*-f-90*b)),v.transform(E),d.slideShadows){var T=h?v.find(".swiper-slide-shadow-left"):v.find(".swiper-slide-shadow-top"),S=h?v.find(".swiper-slide-shadow-right"):v.find(".swiper-slide-shadow-bottom");0===T.length&&(T=n('
    '),v.append(T)),0===S.length&&(S=n('
    '),v.append(S)),T.length&&(T[0].style.opacity=Math.max(-b,0)),S.length&&(S[0].style.opacity=Math.max(b,0))}}if(i.css({"-webkit-transform-origin":"50% 50% -"+l/2+"px","-moz-transform-origin":"50% 50% -"+l/2+"px","-ms-transform-origin":"50% 50% -"+l/2+"px","transform-origin":"50% 50% -"+l/2+"px"}),d.shadow)if(h)e.transform("translate3d(0px, "+(a/2+d.shadowOffset)+"px, "+-a/2+"px) rotateX(90deg) rotateZ(0deg) scale("+d.shadowScale+")");else{var C=Math.abs(c)-90*Math.floor(Math.abs(c)/90),M=1.5-(Math.sin(2*C*Math.PI/360)/2+Math.cos(2*C*Math.PI/360)/2),P=d.shadowScale,z=d.shadowScale/M,k=d.shadowOffset;e.transform("scale3d("+P+", 1, "+z+") translate3d(0px, "+(r/2+k)+"px, "+-r/2/z+"px) rotateX(-90deg)")}var $=_.isSafari||_.isWebView?-l/2:0;i.transform("translate3d(0px,0,"+$+"px) rotateX("+(this.isHorizontal()?0:c)+"deg) rotateY("+(this.isHorizontal()?-c:0)+"deg)")},setTransition:function(e){var t=this.$el;this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),this.params.cubeEffect.shadow&&!this.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)}},we={setTranslate:function(){for(var e=this.slides,t=this.rtlTranslate,i=0;i'),s.append(h)),0===p.length&&(p=n('
    '),s.append(p)),h.length&&(h[0].style.opacity=Math.max(-a,0)),p.length&&(p[0].style.opacity=Math.max(a,0))}s.transform("translate3d("+l+"px, "+d+"px, 0px) rotateX("+o+"deg) rotateY("+r+"deg)")}},setTransition:function(e){var t=this,i=t.slides,s=t.activeIndex,a=t.$wrapperEl;if(i.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),t.params.virtualTranslate&&0!==e){var r=!1;i.eq(s).transitionEnd((function(){if(!r&&t&&!t.destroyed){r=!0,t.animating=!1;for(var e=["webkitTransitionEnd","transitionend"],i=0;i'),f.append(M)),0===P.length&&(P=n('
    '),f.append(P)),M.length&&(M[0].style.opacity=g>0?g:0),P.length&&(P[0].style.opacity=-g>0?-g:0)}}(h.pointerEvents||h.prefixedPointerEvents)&&(s[0].style.perspectiveOrigin=d+"px 50%")},setTransition:function(e){this.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e)}},xe={init:function(){var e=this.params.thumbs,t=this.constructor;e.swiper instanceof t?(this.thumbs.swiper=e.swiper,d.extend(this.thumbs.swiper.originalParams,{watchSlidesProgress:!0,slideToClickedSlide:!1}),d.extend(this.thumbs.swiper.params,{watchSlidesProgress:!0,slideToClickedSlide:!1})):d.isObject(e.swiper)&&(this.thumbs.swiper=new t(d.extend({},e.swiper,{watchSlidesVisibility:!0,watchSlidesProgress:!0,slideToClickedSlide:!1})),this.thumbs.swiperCreated=!0),this.thumbs.swiper.$el.addClass(this.params.thumbs.thumbsContainerClass),this.thumbs.swiper.on("tap",this.thumbs.onThumbClick)},onThumbClick:function(){var e=this.thumbs.swiper;if(e){var t=e.clickedIndex,i=e.clickedSlide;if(!(i&&n(i).hasClass(this.params.thumbs.slideThumbActiveClass)||null==t)){var s;if(s=e.params.loop?parseInt(n(e.clickedSlide).attr("data-swiper-slide-index"),10):t,this.params.loop){var a=this.activeIndex;this.slides.eq(a).hasClass(this.params.slideDuplicateClass)&&(this.loopFix(),this._clientLeft=this.$wrapperEl[0].clientLeft,a=this.activeIndex);var r=this.slides.eq(a).prevAll('[data-swiper-slide-index="'+s+'"]').eq(0).index(),o=this.slides.eq(a).nextAll('[data-swiper-slide-index="'+s+'"]').eq(0).index();s=void 0===r?o:void 0===o?r:o-athis.previousIndex?"next":"prev"}else n=(r=this.realIndex)>this.previousIndex?"next":"prev";a&&(r+="next"===n?s:-1*s),t.visibleSlidesIndexes&&t.visibleSlidesIndexes.indexOf(r)<0&&(t.params.centeredSlides?r=r>o?r-Math.floor(i/2)+1:r+Math.floor(i/2)-1:r>o&&(r=r-i+1),t.slideTo(r,e?0:void 0))}var h=1,p=this.params.thumbs.slideThumbActiveClass;if(this.params.slidesPerView>1&&!this.params.centeredSlides&&(h=this.params.slidesPerView),this.params.thumbs.multipleActiveThumbs||(h=1),h=Math.floor(h),t.slides.removeClass(p),t.params.loop||t.params.virtual&&t.params.virtual.enabled)for(var c=0;c0&&!n(e.target).hasClass(this.params.pagination.bulletClass)&&(!0===this.pagination.$el.hasClass(this.params.pagination.hiddenClass)?this.emit("paginationShow",this):this.emit("paginationHide",this),this.pagination.$el.toggleClass(this.params.pagination.hiddenClass))}}},{name:"scrollbar",params:{scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}},create:function(){d.extend(this,{scrollbar:{init:le.init.bind(this),destroy:le.destroy.bind(this),updateSize:le.updateSize.bind(this),setTranslate:le.setTranslate.bind(this),setTransition:le.setTransition.bind(this),enableDraggable:le.enableDraggable.bind(this),disableDraggable:le.disableDraggable.bind(this),setDragPosition:le.setDragPosition.bind(this),getPointerPosition:le.getPointerPosition.bind(this),onDragStart:le.onDragStart.bind(this),onDragMove:le.onDragMove.bind(this),onDragEnd:le.onDragEnd.bind(this),isTouched:!1,timeout:null,dragTimeout:null}})},on:{init:function(){this.scrollbar.init(),this.scrollbar.updateSize(),this.scrollbar.setTranslate()},update:function(){this.scrollbar.updateSize()},resize:function(){this.scrollbar.updateSize()},observerUpdate:function(){this.scrollbar.updateSize()},setTranslate:function(){this.scrollbar.setTranslate()},setTransition:function(e){this.scrollbar.setTransition(e)},destroy:function(){this.scrollbar.destroy()}}},{name:"parallax",params:{parallax:{enabled:!1}},create:function(){d.extend(this,{parallax:{setTransform:de.setTransform.bind(this),setTranslate:de.setTranslate.bind(this),setTransition:de.setTransition.bind(this)}})},on:{beforeInit:function(){this.params.parallax.enabled&&(this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},init:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTranslate:function(){this.params.parallax.enabled&&this.parallax.setTranslate()},setTransition:function(e){this.params.parallax.enabled&&this.parallax.setTransition(e)}}},{name:"zoom",params:{zoom:{enabled:!1,maxRatio:3,minRatio:1,toggle:!0,containerClass:"swiper-zoom-container",zoomedSlideClass:"swiper-slide-zoomed"}},create:function(){var e=this,t={enabled:!1,scale:1,currentScale:1,isScaling:!1,gesture:{$slideEl:void 0,slideWidth:void 0,slideHeight:void 0,$imageEl:void 0,$imageWrapEl:void 0,maxRatio:3},image:{isTouched:void 0,isMoved:void 0,currentX:void 0,currentY:void 0,minX:void 0,minY:void 0,maxX:void 0,maxY:void 0,width:void 0,height:void 0,startX:void 0,startY:void 0,touchesStart:{},touchesCurrent:{}},velocity:{x:void 0,y:void 0,prevPositionX:void 0,prevPositionY:void 0,prevTime:void 0}};"onGestureStart onGestureChange onGestureEnd onTouchStart onTouchMove onTouchEnd onTransitionEnd toggle enable disable in out".split(" ").forEach((function(i){t[i]=he[i].bind(e)})),d.extend(e,{zoom:t});var i=1;Object.defineProperty(e.zoom,"scale",{get:function(){return i},set:function(t){if(i!==t){var s=e.zoom.gesture.$imageEl?e.zoom.gesture.$imageEl[0]:void 0,a=e.zoom.gesture.$slideEl?e.zoom.gesture.$slideEl[0]:void 0;e.emit("zoomChange",t,s,a)}i=t}})},on:{init:function(){this.params.zoom.enabled&&this.zoom.enable()},destroy:function(){this.zoom.disable()},touchStart:function(e){this.zoom.enabled&&this.zoom.onTouchStart(e)},touchEnd:function(e){this.zoom.enabled&&this.zoom.onTouchEnd(e)},doubleTap:function(e){this.params.zoom.enabled&&this.zoom.enabled&&this.params.zoom.toggle&&this.zoom.toggle(e)},transitionEnd:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.zoom.onTransitionEnd()},slideChange:function(){this.zoom.enabled&&this.params.zoom.enabled&&this.params.cssMode&&this.zoom.onTransitionEnd()}}},{name:"lazy",params:{lazy:{enabled:!1,loadPrevNext:!1,loadPrevNextAmount:1,loadOnTransitionStart:!1,elementClass:"swiper-lazy",loadingClass:"swiper-lazy-loading",loadedClass:"swiper-lazy-loaded",preloaderClass:"swiper-lazy-preloader"}},create:function(){d.extend(this,{lazy:{initialImageLoaded:!1,load:pe.load.bind(this),loadInSlide:pe.loadInSlide.bind(this)}})},on:{beforeInit:function(){this.params.lazy.enabled&&this.params.preloadImages&&(this.params.preloadImages=!1)},init:function(){this.params.lazy.enabled&&!this.params.loop&&0===this.params.initialSlide&&this.lazy.load()},scroll:function(){this.params.freeMode&&!this.params.freeModeSticky&&this.lazy.load()},resize:function(){this.params.lazy.enabled&&this.lazy.load()},scrollbarDragMove:function(){this.params.lazy.enabled&&this.lazy.load()},transitionStart:function(){this.params.lazy.enabled&&(this.params.lazy.loadOnTransitionStart||!this.params.lazy.loadOnTransitionStart&&!this.lazy.initialImageLoaded)&&this.lazy.load()},transitionEnd:function(){this.params.lazy.enabled&&!this.params.lazy.loadOnTransitionStart&&this.lazy.load()},slideChange:function(){this.params.lazy.enabled&&this.params.cssMode&&this.lazy.load()}}},{name:"controller",params:{controller:{control:void 0,inverse:!1,by:"slide"}},create:function(){d.extend(this,{controller:{control:this.params.controller.control,getInterpolateFunction:ce.getInterpolateFunction.bind(this),setTranslate:ce.setTranslate.bind(this),setTransition:ce.setTransition.bind(this)}})},on:{update:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},resize:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},observerUpdate:function(){this.controller.control&&this.controller.spline&&(this.controller.spline=void 0,delete this.controller.spline)},setTranslate:function(e,t){this.controller.control&&this.controller.setTranslate(e,t)},setTransition:function(e,t){this.controller.control&&this.controller.setTransition(e,t)}}},{name:"a11y",params:{a11y:{enabled:!0,notificationClass:"swiper-notification",prevSlideMessage:"Previous slide",nextSlideMessage:"Next slide",firstSlideMessage:"This is the first slide",lastSlideMessage:"This is the last slide",paginationBulletMessage:"Go to slide {{index}}"}},create:function(){var e=this;d.extend(e,{a11y:{liveRegion:n('')}}),Object.keys(ue).forEach((function(t){e.a11y[t]=ue[t].bind(e)}))},on:{init:function(){this.params.a11y.enabled&&(this.a11y.init(),this.a11y.updateNavigation())},toEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},fromEdge:function(){this.params.a11y.enabled&&this.a11y.updateNavigation()},paginationUpdate:function(){this.params.a11y.enabled&&this.a11y.updatePagination()},destroy:function(){this.params.a11y.enabled&&this.a11y.destroy()}}},{name:"history",params:{history:{enabled:!1,replaceState:!1,key:"slides"}},create:function(){d.extend(this,{history:{init:ve.init.bind(this),setHistory:ve.setHistory.bind(this),setHistoryPopState:ve.setHistoryPopState.bind(this),scrollToSlide:ve.scrollToSlide.bind(this),destroy:ve.destroy.bind(this)}})},on:{init:function(){this.params.history.enabled&&this.history.init()},destroy:function(){this.params.history.enabled&&this.history.destroy()},transitionEnd:function(){this.history.initialized&&this.history.setHistory(this.params.history.key,this.activeIndex)},slideChange:function(){this.history.initialized&&this.params.cssMode&&this.history.setHistory(this.params.history.key,this.activeIndex)}}},{name:"hash-navigation",params:{hashNavigation:{enabled:!1,replaceState:!1,watchState:!1}},create:function(){d.extend(this,{hashNavigation:{initialized:!1,init:fe.init.bind(this),destroy:fe.destroy.bind(this),setHash:fe.setHash.bind(this),onHashCange:fe.onHashCange.bind(this)}})},on:{init:function(){this.params.hashNavigation.enabled&&this.hashNavigation.init()},destroy:function(){this.params.hashNavigation.enabled&&this.hashNavigation.destroy()},transitionEnd:function(){this.hashNavigation.initialized&&this.hashNavigation.setHash()},slideChange:function(){this.hashNavigation.initialized&&this.params.cssMode&&this.hashNavigation.setHash()}}},{name:"autoplay",params:{autoplay:{enabled:!1,delay:3e3,waitForTransition:!0,disableOnInteraction:!0,stopOnLastSlide:!1,reverseDirection:!1}},create:function(){var e=this;d.extend(e,{autoplay:{running:!1,paused:!1,run:me.run.bind(e),start:me.start.bind(e),stop:me.stop.bind(e),pause:me.pause.bind(e),onVisibilityChange:function(){"hidden"===document.visibilityState&&e.autoplay.running&&e.autoplay.pause(),"visible"===document.visibilityState&&e.autoplay.paused&&(e.autoplay.run(),e.autoplay.paused=!1)},onTransitionEnd:function(t){e&&!e.destroyed&&e.$wrapperEl&&t.target===this&&(e.$wrapperEl[0].removeEventListener("transitionend",e.autoplay.onTransitionEnd),e.$wrapperEl[0].removeEventListener("webkitTransitionEnd",e.autoplay.onTransitionEnd),e.autoplay.paused=!1,e.autoplay.running?e.autoplay.run():e.autoplay.stop())}}})},on:{init:function(){this.params.autoplay.enabled&&(this.autoplay.start(),document.addEventListener("visibilitychange",this.autoplay.onVisibilityChange))},beforeTransitionStart:function(e,t){this.autoplay.running&&(t||!this.params.autoplay.disableOnInteraction?this.autoplay.pause(e):this.autoplay.stop())},sliderFirstMove:function(){this.autoplay.running&&(this.params.autoplay.disableOnInteraction?this.autoplay.stop():this.autoplay.pause())},touchEnd:function(){this.params.cssMode&&this.autoplay.paused&&!this.params.autoplay.disableOnInteraction&&this.autoplay.run()},destroy:function(){this.autoplay.running&&this.autoplay.stop(),document.removeEventListener("visibilitychange",this.autoplay.onVisibilityChange)}}},{name:"effect-fade",params:{fadeEffect:{crossFade:!1}},create:function(){d.extend(this,{fadeEffect:{setTranslate:ge.setTranslate.bind(this),setTransition:ge.setTransition.bind(this)}})},on:{beforeInit:function(){if("fade"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"fade");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"fade"===this.params.effect&&this.fadeEffect.setTranslate()},setTransition:function(e){"fade"===this.params.effect&&this.fadeEffect.setTransition(e)}}},{name:"effect-cube",params:{cubeEffect:{slideShadows:!0,shadow:!0,shadowOffset:20,shadowScale:.94}},create:function(){d.extend(this,{cubeEffect:{setTranslate:be.setTranslate.bind(this),setTransition:be.setTransition.bind(this)}})},on:{beforeInit:function(){if("cube"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"cube"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"cube"===this.params.effect&&this.cubeEffect.setTranslate()},setTransition:function(e){"cube"===this.params.effect&&this.cubeEffect.setTransition(e)}}},{name:"effect-flip",params:{flipEffect:{slideShadows:!0,limitRotation:!0}},create:function(){d.extend(this,{flipEffect:{setTranslate:we.setTranslate.bind(this),setTransition:we.setTransition.bind(this)}})},on:{beforeInit:function(){if("flip"===this.params.effect){this.classNames.push(this.params.containerModifierClass+"flip"),this.classNames.push(this.params.containerModifierClass+"3d");var e={slidesPerView:1,slidesPerColumn:1,slidesPerGroup:1,watchSlidesProgress:!0,spaceBetween:0,virtualTranslate:!0};d.extend(this.params,e),d.extend(this.originalParams,e)}},setTranslate:function(){"flip"===this.params.effect&&this.flipEffect.setTranslate()},setTransition:function(e){"flip"===this.params.effect&&this.flipEffect.setTransition(e)}}},{name:"effect-coverflow",params:{coverflowEffect:{rotate:50,stretch:0,depth:100,scale:1,modifier:1,slideShadows:!0}},create:function(){d.extend(this,{coverflowEffect:{setTranslate:ye.setTranslate.bind(this),setTransition:ye.setTransition.bind(this)}})},on:{beforeInit:function(){"coverflow"===this.params.effect&&(this.classNames.push(this.params.containerModifierClass+"coverflow"),this.classNames.push(this.params.containerModifierClass+"3d"),this.params.watchSlidesProgress=!0,this.originalParams.watchSlidesProgress=!0)},setTranslate:function(){"coverflow"===this.params.effect&&this.coverflowEffect.setTranslate()},setTransition:function(e){"coverflow"===this.params.effect&&this.coverflowEffect.setTransition(e)}}},{name:"thumbs",params:{thumbs:{swiper:null,multipleActiveThumbs:!0,autoScrollOffset:0,slideThumbActiveClass:"swiper-slide-thumb-active",thumbsContainerClass:"swiper-container-thumbs"}},create:function(){d.extend(this,{thumbs:{swiper:null,init:xe.init.bind(this),update:xe.update.bind(this),onThumbClick:xe.onThumbClick.bind(this)}})},on:{beforeInit:function(){var e=this.params.thumbs;e&&e.swiper&&(this.thumbs.init(),this.thumbs.update(!0))},slideChange:function(){this.thumbs.swiper&&this.thumbs.update()},update:function(){this.thumbs.swiper&&this.thumbs.update()},resize:function(){this.thumbs.swiper&&this.thumbs.update()},observerUpdate:function(){this.thumbs.swiper&&this.thumbs.update()},setTransition:function(e){var t=this.thumbs.swiper;t&&t.setTransition(e)},beforeDestroy:function(){var e=this.thumbs.swiper;e&&this.thumbs.swiperCreated&&e&&e.destroy()}}}];return void 0===j.use&&(j.use=j.Class.use,j.installModule=j.Class.installModule),j.use(Ee),j})); +//# sourceMappingURL=swiper.min.js.map \ No newline at end of file diff --git a/user/news/images/themes/default/32px.png b/user/news/images/themes/default/32px.png new file mode 100644 index 0000000..1532715 Binary files /dev/null and b/user/news/images/themes/default/32px.png differ diff --git a/user/news/images/themes/default/40px.png b/user/news/images/themes/default/40px.png new file mode 100644 index 0000000..9e76db4 Binary files /dev/null and b/user/news/images/themes/default/40px.png differ diff --git a/user/news/images/themes/default/index.htm b/user/news/images/themes/default/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/images/themes/default/organization.png b/user/news/images/themes/default/organization.png new file mode 100644 index 0000000..5f51e34 Binary files /dev/null and b/user/news/images/themes/default/organization.png differ diff --git a/user/news/images/themes/default/style.css b/user/news/images/themes/default/style.css new file mode 100644 index 0000000..9329e45 --- /dev/null +++ b/user/news/images/themes/default/style.css @@ -0,0 +1,917 @@ +/* jsTree default theme */ +.jstree-node, +.jstree-children, +.jstree-container-ul { + display: block; + margin: 0; + padding: 0; + list-style-type: none; + list-style-image: none; +} +.jstree-node { + white-space: nowrap; +} +.jstree-anchor { + display: inline-block; + color: black; + white-space: nowrap; + padding: 0 4px 0 1px; + margin: 0; + vertical-align: top; +} +.jstree-anchor:focus { + outline: 0; +} +.jstree-anchor, +.jstree-anchor:link, +.jstree-anchor:visited, +.jstree-anchor:hover, +.jstree-anchor:active { + text-decoration: none; + color: inherit; +} +.jstree-icon { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-icon:empty { + display: inline-block; + text-decoration: none; + margin: 0; + padding: 0; + vertical-align: top; + text-align: center; +} +.jstree-ocl { + cursor: pointer; +} +.jstree .jstree-open > .jstree-children { + display: block; +} +.jstree .jstree-closed > .jstree-children, +.jstree .jstree-leaf > .jstree-children { + display: none; +} +.jstree-anchor > .jstree-themeicon { + margin-right: 2px; +} +.jstree-no-icons .jstree-themeicon, +.jstree-anchor > .jstree-themeicon-hidden { + display: none; +} +.jstree-rtl .jstree-anchor { + padding: 0 1px 0 4px; +} +.jstree-rtl .jstree-anchor > .jstree-themeicon { + margin-left: 2px; + margin-right: 0; +} +.jstree-rtl .jstree-node { + margin-left: 0; +} +.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; +} +.jstree-wholerow-ul { + position: relative; + display: inline-block; + min-width: 100%; +} +.jstree-wholerow-ul .jstree-anchor, +.jstree-wholerow-ul .jstree-icon { + position: relative; +} +.jstree-wholerow-ul .jstree-wholerow { + width: 100%; + cursor: pointer; + position: absolute; + left: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.vakata-context { + display: none; + z-index:10000; +} +.vakata-context, +.vakata-context ul { + margin: 0; + padding: 2px; + position: absolute; + background: #f5f5f5; + border: 1px solid #979797; + -moz-box-shadow: 5px 5px 4px -4px #666666; + -webkit-box-shadow: 2px 2px 2px #999999; + box-shadow: 2px 2px 2px #999999; +} +.vakata-context ul { + list-style: none; + left: 100%; + margin-top: -2.7em; + margin-left: -4px; +} +.vakata-context .vakata-context-right ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context li { + list-style: none; + display: inline; +} +.vakata-context li > a { + display: block; + padding: 0 2em 0 2em; + text-decoration: none; + width: auto; + color: black; + white-space: nowrap; + line-height: 2.4em; + -moz-text-shadow: 1px 1px 0 white; + -webkit-text-shadow: 1px 1px 0 white; + text-shadow: 1px 1px 0 white; + -moz-border-radius: 1px; + -webkit-border-radius: 1px; + border-radius: 1px; +} +.vakata-context li > a:hover { + position: relative; + background-color: #e8eff7; + -moz-box-shadow: 0 0 2px #0a6aa1; + -webkit-box-shadow: 0 0 2px #0a6aa1; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw=="); + background-position: right center; + background-repeat: no-repeat; +} +.vakata-context li > a:focus { + outline: 0; +} +.vakata-context .vakata-context-hover > a { + position: relative; + background-color: #e8eff7; + -moz-box-shadow: 0 0 2px #0a6aa1; + -webkit-box-shadow: 0 0 2px #0a6aa1; + box-shadow: 0 0 2px #0a6aa1; +} +.vakata-context .vakata-context-separator a, +.vakata-context .vakata-context-separator a:hover { + background: white; + border: 0; + border-top: 1px solid #e2e3e3; + height: 1px; + min-height: 1px; + max-height: 1px; + padding: 0; + margin: 0 0 0 2.4em; + border-left: 1px solid #e0e0e0; + -moz-text-shadow: 0 0 0 transparent; + -webkit-text-shadow: 0 0 0 transparent; + text-shadow: 0 0 0 transparent; + -moz-box-shadow: 0 0 0 transparent; + -webkit-box-shadow: 0 0 0 transparent; + box-shadow: 0 0 0 transparent; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-radius: 0; +} +.vakata-context .vakata-contextmenu-disabled a, +.vakata-context .vakata-contextmenu-disabled a:hover { + color: silver; + background-color: transparent; + border: 0; + box-shadow: 0 0 0; +} +.vakata-context li > a > i { + text-decoration: none; + display: inline-block; + width: 2.4em; + height: 2.4em; + background: transparent; + margin: 0 0 0 -2em; + vertical-align: top; + text-align: center; + line-height: 2.4em; +} +.vakata-context li > a > i:empty { + width: 2.4em; + line-height: 2.4em; +} +.vakata-context li > a .vakata-contextmenu-sep { + display: inline-block; + width: 1px; + height: 2.4em; + background: white; + margin: 0 0.5em 0 0; + border-left: 1px solid #e2e3e3; +} +.vakata-context .vakata-contextmenu-shortcut { + font-size: 0.8em; + color: silver; + opacity: 0.5; + display: none; +} +.vakata-context-rtl ul { + left: auto; + right: 100%; + margin-left: auto; + margin-right: -4px; +} +.vakata-context-rtl li > a.vakata-context-parent { + background-image: url("data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7"); + background-position: left center; + background-repeat: no-repeat; +} +.vakata-context-rtl .vakata-context-separator > a { + margin: 0 2.4em 0 0; + border-left: 0; + border-right: 1px solid #e2e3e3; +} +.vakata-context-rtl .vakata-context-left ul { + right: auto; + left: 100%; + margin-left: -4px; + margin-right: auto; +} +.vakata-context-rtl li > a > i { + margin: 0 -2em 0 0; +} +.vakata-context-rtl li > a .vakata-contextmenu-sep { + margin: 0 0 0 0.5em; + border-left-color: white; + background: #e2e3e3; +} +#jstree-marker { + position: absolute; + top: 0; + left: 0; + margin: 0; + padding: 0; + border-right: 0; + border-top: 5px solid transparent; + border-bottom: 5px solid transparent; + border-left: 5px solid; + width: 0; + height: 0; + font-size: 0; + line-height: 0; +} +#jstree-dnd { + line-height: 16px; + margin: 0; + padding: 4px; +} +#jstree-dnd .jstree-icon, +#jstree-dnd .jstree-copy { + display: inline-block; + text-decoration: none; + margin: 0 2px 0 0; + padding: 0; + width: 16px; + height: 16px; +} +#jstree-dnd .jstree-ok { + background: green; +} +#jstree-dnd .jstree-er { + background: red; +} +#jstree-dnd .jstree-copy { + margin: 0 2px 0 2px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-repeat: no-repeat; + background-color: transparent; +} +.jstree-default .jstree-anchor, +.jstree-default .jstree-wholerow { + transition: background-color 0.15s, box-shadow 0.15s; +} +.jstree-default .jstree-hovered { + background: #e7f4f9; + border-radius: 2px; + box-shadow: inset 0 0 1px #ccc; +} +.jstree-default .jstree-clicked { + background: #beebff; + border-radius: 2px; + box-shadow: inset 0 0 1px #999; +} +.jstree-default .jstree-no-icons .jstree-anchor > .jstree-themeicon { + display: none; +} +.jstree-default .jstree-disabled { + background: transparent; + color: #666; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; + box-shadow: none; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-disabled > .jstree-icon { + opacity: 0.8; + filter: url("data:image/svg+xml;utf8,#jstree-grayscale"); + /* Firefox 10+ */ + filter: gray; + /* IE6-9 */ + -webkit-filter: grayscale(100%); + /* Chrome 19+ & Safari 6+ */ +} +.jstree-default .jstree-search { + font-style: italic; + color: #8b0000; + font-weight: bold; +} +.jstree-default .jstree-no-checkboxes .jstree-checkbox { + display: none !important; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked { + background: transparent; + box-shadow: none; +} +.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered { + background: #e7f4f9; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked { + background: transparent; +} +.jstree-default.jstree-checkbox-no-clicked > .jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered { + background: #e7f4f9; +} +#jstree-dnd.jstree-default .jstree-ok, +#jstree-dnd.jstree-default .jstree-er { + background-image: url("32px.png"); + background-repeat: no-repeat; + background-color: transparent; +} +#jstree-dnd.jstree-default i { + background: transparent; + width: 16px; + height: 16px; +} +#jstree-dnd.jstree-default .jstree-ok { + background-position: -9px -71px; +} +#jstree-dnd.jstree-default .jstree-er { + background-position: -39px -71px; +} +.jstree-default > .jstree-striped { + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==") left top repeat; +} +.jstree-default > .jstree-wholerow-ul .jstree-hovered, +.jstree-default > .jstree-wholerow-ul .jstree-clicked { + background: transparent; + box-shadow: none; + border-radius: 0; +} +.jstree-default .jstree-wholerow { + -moz-box-sizing: border-box; + -webkit-box-sizing: border-box; + box-sizing: border-box; +} +.jstree-default .jstree-wholerow-hovered { + background: #e7f4f9; +} +.jstree-default .jstree-wholerow-clicked { + background: #beebff; + background: -moz-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #beebff), color-stop(100%, #a8e4ff)); + background: -webkit-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: -o-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: -ms-linear-gradient(top, #beebff 0%, #a8e4ff 100%); + background: linear-gradient(to bottom, #beebff 0%, #a8e4ff 100%); + /*filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='@color1', endColorstr='@color2',GradientType=0 );*/ +} +.jstree-default .jstree-node { + min-height: 24px; + line-height: 24px; + margin-left: 24px; + min-width: 24px; +} +.jstree-default .jstree-anchor { + line-height: 24px; + height: 24px; +} +.jstree-default .jstree-icon { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default .jstree-icon:empty { + width: 24px; + height: 24px; + line-height: 24px; +} +.jstree-default.jstree-rtl .jstree-node { + margin-right: 24px; +} +.jstree-default .jstree-wholerow { + height: 24px; +} +.jstree-default .jstree-node, +.jstree-default .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default .jstree-node { + background-position: -292px -4px; + background-repeat: repeat-y; +} +.jstree-default .jstree-last { + background: transparent; +} +.jstree-default .jstree-open > .jstree-ocl { + background-position: -132px -4px; +} +.jstree-default .jstree-closed > .jstree-ocl { + background-position: -100px -4px; +} +.jstree-default .jstree-leaf > .jstree-ocl { + background-position: -68px -4px; +} +.jstree-default .jstree-anchor > .jstree-themeicon { + background-position: -260px -4px; +} +.jstree-default > .jstree-no-dots .jstree-node, +.jstree-default > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -4px; +} +.jstree-default > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -4px; +} +.jstree-default .jstree-disabled { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default .jstree-checkbox { + background-position: -164px -4px; +} +.jstree-default .jstree-checkbox:hover { + background-position: -164px -36px; +} +.jstree-default .jstree-clicked > .jstree-checkbox { + background-position: -228px -4px; +} +.jstree-default .jstree-clicked > .jstree-checkbox:hover { + background-position: -228px -36px; +} +.jstree-default .jstree-anchor > .jstree-undetermined { + background-position: -196px -4px; +} +.jstree-default .jstree-anchor > .jstree-undetermined:hover { + background-position: -196px -36px; +} +.jstree-default > .jstree-striped { + background-size: auto 48px; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -132px -36px; +} +.jstree-default.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -100px -36px; +} +.jstree-default.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -68px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -36px -36px; +} +.jstree-default.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -4px -36px; +} +.jstree-default .jstree-themeicon-custom { + background-color: transparent; + background-image: none; +} +.jstree-default > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); +} +.jstree-default.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-node { + min-height: 18px; + line-height: 18px; + margin-left: 18px; + min-width: 18px; +} +.jstree-default-small .jstree-anchor { + line-height: 18px; + height: 18px; +} +.jstree-default-small .jstree-icon { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small .jstree-icon:empty { + width: 18px; + height: 18px; + line-height: 18px; +} +.jstree-default-small.jstree-rtl .jstree-node { + margin-right: 18px; +} +.jstree-default-small .jstree-wholerow { + height: 18px; +} +.jstree-default-small .jstree-node, +.jstree-default-small .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-small .jstree-node { + background-position: -295px -7px; + background-repeat: repeat-y; +} +.jstree-default-small .jstree-last { + background: transparent; +} +.jstree-default-small .jstree-open > .jstree-ocl { + background-position: -135px -7px; +} +.jstree-default-small .jstree-closed > .jstree-ocl { + background-position: -103px -7px; +} +.jstree-default-small .jstree-leaf > .jstree-ocl { + background-position: -71px -7px; +} +.jstree-default-small .jstree-anchor > .jstree-themeicon { + background-position: -263px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-node, +.jstree-default-small > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -7px; +} +.jstree-default-small > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -7px; +} +.jstree-default-small .jstree-disabled { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-small .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-small .jstree-checkbox { + background-position: -167px -7px; +} +.jstree-default-small .jstree-checkbox:hover { + background-position: -167px -39px; +} +.jstree-default-small .jstree-clicked > .jstree-checkbox { + background-position: -231px -7px; +} +.jstree-default-small .jstree-clicked > .jstree-checkbox:hover { + background-position: -231px -39px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined { + background-position: -199px -7px; +} +.jstree-default-small .jstree-anchor > .jstree-undetermined:hover { + background-position: -199px -39px; +} +.jstree-default-small > .jstree-striped { + background-size: auto 36px; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-small.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -135px -39px; +} +.jstree-default-small.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -103px -39px; +} +.jstree-default-small.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -71px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -39px -39px; +} +.jstree-default-small.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: -7px -39px; +} +.jstree-default-small .jstree-themeicon-custom { + background-color: transparent; + background-image: none; +} +.jstree-default-small > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-small.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg=="); +} +.jstree-default-small.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-node { + min-height: 32px; + line-height: 32px; + margin-left: 32px; + min-width: 32px; +} +.jstree-default-large .jstree-anchor { + line-height: 32px; + height: 32px; +} +.jstree-default-large .jstree-icon { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large .jstree-icon:empty { + width: 32px; + height: 32px; + line-height: 32px; +} +.jstree-default-large.jstree-rtl .jstree-node { + margin-right: 32px; +} +.jstree-default-large .jstree-wholerow { + height: 32px; +} +.jstree-default-large .jstree-node, +.jstree-default-large .jstree-icon { + background-image: url("32px.png"); +} +.jstree-default-large .jstree-node { + background-position: -288px 0px; + background-repeat: repeat-y; +} +.jstree-default-large .jstree-last { + background: transparent; +} +.jstree-default-large .jstree-open > .jstree-ocl { + background-position: -128px 0px; +} +.jstree-default-large .jstree-closed > .jstree-ocl { + background-position: -96px 0px; +} +.jstree-default-large .jstree-leaf > .jstree-ocl { + background-position: -64px 0px; +} +.jstree-default-large .jstree-anchor > .jstree-themeicon { + background-position: -256px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-node, +.jstree-default-large > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px 0px; +} +.jstree-default-large > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px 0px; +} +.jstree-default-large .jstree-disabled { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-hovered { + background: transparent; +} +.jstree-default-large .jstree-disabled.jstree-clicked { + background: #efefef; +} +.jstree-default-large .jstree-checkbox { + background-position: -160px 0px; +} +.jstree-default-large .jstree-checkbox:hover { + background-position: -160px -32px; +} +.jstree-default-large .jstree-clicked > .jstree-checkbox { + background-position: -224px 0px; +} +.jstree-default-large .jstree-clicked > .jstree-checkbox:hover { + background-position: -224px -32px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined { + background-position: -192px 0px; +} +.jstree-default-large .jstree-anchor > .jstree-undetermined:hover { + background-position: -192px -32px; +} +.jstree-default-large > .jstree-striped { + background-size: auto 64px; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg=="); + background-position: 100% 1px; + background-repeat: repeat-y; +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +.jstree-default-large.jstree-rtl .jstree-open > .jstree-ocl { + background-position: -128px -32px; +} +.jstree-default-large.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -96px -32px; +} +.jstree-default-large.jstree-rtl .jstree-leaf > .jstree-ocl { + background-position: -64px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-node, +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-leaf > .jstree-ocl { + background: transparent; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-open > .jstree-ocl { + background-position: -32px -32px; +} +.jstree-default-large.jstree-rtl > .jstree-no-dots .jstree-closed > .jstree-ocl { + background-position: 0px -32px; +} +.jstree-default-large .jstree-themeicon-custom { + background-color: transparent; + background-image: none; +} +.jstree-default-large > .jstree-container-ul .jstree-loading > .jstree-ocl { + background: url("throbber.gif") center center no-repeat; +} +.jstree-default-large.jstree-rtl .jstree-node { + background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg=="); +} +.jstree-default-large.jstree-rtl .jstree-last { + background: transparent; +} +@media (max-width: 768px) { + .jstree-default-responsive { + /* + .jstree-open > .jstree-ocl, + .jstree-closed > .jstree-ocl { border-radius:20px; background-color:white; } + */ + } + .jstree-default-responsive .jstree-icon { + background-image: url("40px.png"); + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-node { + min-height: 40px; + line-height: 40px; + margin-left: 40px; + min-width: 40px; + white-space: nowrap; + } + .jstree-default-responsive .jstree-anchor { + line-height: 40px; + height: 40px; + } + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-icon:empty { + width: 40px; + height: 40px; + line-height: 40px; + } + .jstree-default-responsive > .jstree-container-ul > .jstree-node { + margin-left: 0; + } + .jstree-default-responsive.jstree-rtl .jstree-node { + margin-left: 0; + margin-right: 40px; + } + .jstree-default-responsive.jstree-rtl .jstree-container-ul > .jstree-node { + margin-right: 0; + } + .jstree-default-responsive .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-size: 120px 200px; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background: transparent; + } + .jstree-default-responsive .jstree-open > .jstree-ocl { + background-position: 0 0px !important; + } + .jstree-default-responsive .jstree-closed > .jstree-ocl { + background-position: 0 -40px !important; + } + .jstree-default-responsive.jstree-rtl .jstree-closed > .jstree-ocl { + background-position: -40px 0px !important; + } + .jstree-default-responsive .jstree-anchor > .jstree-themeicon { + background-position: -40px -40px; + } + .jstree-default-responsive .jstree-checkbox, + .jstree-default-responsive .jstree-checkbox:hover { + background-position: -40px -80px; + } + .jstree-default-responsive .jstree-clicked > .jstree-checkbox, + .jstree-default-responsive .jstree-clicked > .jstree-checkbox:hover { + background-position: 0 -80px; + } + .jstree-default-responsive .jstree-anchor > .jstree-undetermined, + .jstree-default-responsive .jstree-anchor > .jstree-undetermined:hover { + background-position: 0 -120px; + } + .jstree-default-responsive .jstree-anchor { + font-weight: bold; + font-size: 1.1em; + text-shadow: 1px 1px white; + } + .jstree-default-responsive > .jstree-striped { + background: transparent; + } + .jstree-default-responsive .jstree-wholerow { + border-top: 1px solid rgba(255, 255, 255, 0.7); + border-bottom: 1px solid rgba(64, 64, 64, 0.2); + background: #ebebeb; + height: 40px; + } + .jstree-default-responsive .jstree-wholerow-hovered { + background: #e7f4f9; + } + .jstree-default-responsive .jstree-wholerow-clicked { + background: #beebff; + } + .jstree-default-responsive .jstree-children .jstree-last > .jstree-wholerow { + box-shadow: inset 0 -6px 3px -5px #666666; + } + .jstree-default-responsive .jstree-children .jstree-open > .jstree-wholerow { + box-shadow: inset 0 6px 3px -5px #666666; + border-top: 0; + } + .jstree-default-responsive .jstree-children .jstree-open + .jstree-open { + box-shadow: none; + } + .jstree-default-responsive .jstree-node, + .jstree-default-responsive .jstree-icon, + .jstree-default-responsive .jstree-node > .jstree-ocl, + .jstree-default-responsive .jstree-themeicon, + .jstree-default-responsive .jstree-checkbox { + background-image: url("40px.png"); + background-size: 120px 200px; + } + .jstree-default-responsive .jstree-node { + background-position: -80px 0; + background-repeat: repeat-y; + } + .jstree-default-responsive .jstree-last { + background: transparent; + } + .jstree-default-responsive .jstree-leaf > .jstree-ocl { + background-position: -40px -120px; + } + .jstree-default-responsive .jstree-last > .jstree-ocl { + background-position: -40px -160px; + } + .jstree-default-responsive .jstree-themeicon-custom { + background-color: transparent; + background-image: none; + } +} +.jstree-default > .jstree-container-ul > .jstree-node { + margin-left: 0; + margin-right: 0; +} diff --git a/user/news/images/themes/default/style.min.css b/user/news/images/themes/default/style.min.css new file mode 100644 index 0000000..e628897 --- /dev/null +++ b/user/news/images/themes/default/style.min.css @@ -0,0 +1 @@ +.jstree-node,.jstree-children,.jstree-container-ul{display:block;margin:0;padding:0;list-style-type:none;list-style-image:none}.jstree-node{white-space:nowrap}.jstree-anchor{display:inline-block;color:#000;white-space:nowrap;padding:0 4px 0 1px;margin:0;vertical-align:top}.jstree-anchor:focus{outline:0}.jstree-anchor,.jstree-anchor:link,.jstree-anchor:visited,.jstree-anchor:hover,.jstree-anchor:active{text-decoration:none;color:inherit}.jstree-icon{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-icon:empty{display:inline-block;text-decoration:none;margin:0;padding:0;vertical-align:top;text-align:center}.jstree-ocl{cursor:pointer}.jstree .jstree-open>.jstree-children{display:block}.jstree .jstree-closed>.jstree-children,.jstree .jstree-leaf>.jstree-children{display:none}.jstree-anchor>.jstree-themeicon{margin-right:2px}.jstree-no-icons .jstree-themeicon,.jstree-anchor>.jstree-themeicon-hidden{display:none}.jstree-rtl .jstree-anchor{padding:0 1px 0 4px}.jstree-rtl .jstree-anchor>.jstree-themeicon{margin-left:2px;margin-right:0}.jstree-rtl .jstree-node{margin-left:0}.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-wholerow-ul{position:relative;display:inline-block;min-width:100%}.jstree-wholerow-ul .jstree-anchor,.jstree-wholerow-ul .jstree-icon{position:relative}.jstree-wholerow-ul .jstree-wholerow{width:100%;cursor:pointer;position:absolute;left:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.vakata-context{display:none;z-index:2222}.vakata-context,.vakata-context ul{margin:0;padding:2px;position:absolute;background:#f5f5f5;border:1px solid #979797;-moz-box-shadow:5px 5px 4px -4px #666;-webkit-box-shadow:2px 2px 2px #999;box-shadow:2px 2px 2px #999}.vakata-context ul{list-style:none;left:100%;margin-top:-2.7em;margin-left:-4px}.vakata-context .vakata-context-right ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context li{list-style:none;display:inline}.vakata-context li>a{display:block;padding:0 2em;text-decoration:none;width:auto;color:#000;white-space:nowrap;line-height:2.4em;-moz-text-shadow:1px 1px 0 #fff;-webkit-text-shadow:1px 1px 0 #fff;text-shadow:1px 1px 0 #fff;-moz-border-radius:1px;-webkit-border-radius:1px;border-radius:1px}.vakata-context li>a:hover{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);background-position:right center;background-repeat:no-repeat}.vakata-context li>a:focus{outline:0}.vakata-context .vakata-context-hover>a{position:relative;background-color:#e8eff7;-moz-box-shadow:0 0 2px #0a6aa1;-webkit-box-shadow:0 0 2px #0a6aa1;box-shadow:0 0 2px #0a6aa1}.vakata-context .vakata-context-separator a,.vakata-context .vakata-context-separator a:hover{background:#fff;border:0;border-top:1px solid #e2e3e3;height:1px;min-height:1px;max-height:1px;padding:0;margin:0 0 0 2.4em;border-left:1px solid #e0e0e0;-moz-text-shadow:0 0 0 transparent;-webkit-text-shadow:0 0 0 transparent;text-shadow:0 0 0 transparent;-moz-box-shadow:0 0 0 transparent;-webkit-box-shadow:0 0 0 transparent;box-shadow:0 0 0 transparent;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0}.vakata-context .vakata-contextmenu-disabled a,.vakata-context .vakata-contextmenu-disabled a:hover{color:silver;background-color:transparent;border:0;box-shadow:0 0 0}.vakata-context li>a>i{text-decoration:none;display:inline-block;width:2.4em;height:2.4em;background:0 0;margin:0 0 0 -2em;vertical-align:top;text-align:center;line-height:2.4em}.vakata-context li>a>i:empty{width:2.4em;line-height:2.4em}.vakata-context li>a .vakata-contextmenu-sep{display:inline-block;width:1px;height:2.4em;background:#fff;margin:0 .5em 0 0;border-left:1px solid #e2e3e3}.vakata-context .vakata-contextmenu-shortcut{font-size:.8em;color:silver;opacity:.5;display:none}.vakata-context-rtl ul{left:auto;right:100%;margin-left:auto;margin-right:-4px}.vakata-context-rtl li>a.vakata-context-parent{background-image:url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);background-position:left center;background-repeat:no-repeat}.vakata-context-rtl .vakata-context-separator>a{margin:0 2.4em 0 0;border-left:0;border-right:1px solid #e2e3e3}.vakata-context-rtl .vakata-context-left ul{right:auto;left:100%;margin-left:-4px;margin-right:auto}.vakata-context-rtl li>a>i{margin:0 -2em 0 0}.vakata-context-rtl li>a .vakata-contextmenu-sep{margin:0 0 0 .5em;border-left-color:#fff;background:#e2e3e3}#jstree-marker{position:absolute;top:0;left:0;margin:0;padding:0;border-right:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:5px solid;width:0;height:0;font-size:0;line-height:0}#jstree-dnd{line-height:16px;margin:0;padding:4px}#jstree-dnd .jstree-icon,#jstree-dnd .jstree-copy{display:inline-block;text-decoration:none;margin:0 2px 0 0;padding:0;width:16px;height:16px}#jstree-dnd .jstree-ok{background:green}#jstree-dnd .jstree-er{background:red}#jstree-dnd .jstree-copy{margin:0 2px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-repeat:no-repeat;background-color:transparent}.jstree-default .jstree-anchor,.jstree-default .jstree-wholerow{transition:background-color .15s,box-shadow .15s}.jstree-default .jstree-hovered{background:#e7f4f9;border-radius:2px;box-shadow:inset 0 0 1px #ccc}.jstree-default .jstree-clicked{background:#beebff;border-radius:2px;box-shadow:inset 0 0 1px #999}.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon{display:none}.jstree-default .jstree-disabled{background:0 0;color:#666}.jstree-default .jstree-disabled.jstree-hovered{background:0 0;box-shadow:none}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-disabled>.jstree-icon{opacity:.8;filter:url("data:image/svg+xml;utf8,#jstree-grayscale");filter:gray;-webkit-filter:grayscale(100%)}.jstree-default .jstree-search{font-style:italic;color:#8b0000;font-weight:700}.jstree-default .jstree-no-checkboxes .jstree-checkbox{display:none!important}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked{background:0 0;box-shadow:none}.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered{background:#e7f4f9}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked{background:0 0}.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered{background:#e7f4f9}#jstree-dnd.jstree-default .jstree-ok,#jstree-dnd.jstree-default .jstree-er{background-image:url(32px.png);background-repeat:no-repeat;background-color:transparent}#jstree-dnd.jstree-default i{background:0 0;width:16px;height:16px}#jstree-dnd.jstree-default .jstree-ok{background-position:-9px -71px}#jstree-dnd.jstree-default .jstree-er{background-position:-39px -71px}.jstree-default>.jstree-striped{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top repeat}.jstree-default>.jstree-wholerow-ul .jstree-hovered,.jstree-default>.jstree-wholerow-ul .jstree-clicked{background:0 0;box-shadow:none;border-radius:0}.jstree-default .jstree-wholerow{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.jstree-default .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default .jstree-wholerow-clicked{background:#beebff;background:-moz-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#beebff),color-stop(100%,#a8e4ff));background:-webkit-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-o-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:-ms-linear-gradient(top,#beebff 0,#a8e4ff 100%);background:linear-gradient(to bottom,#beebff 0,#a8e4ff 100%)}.jstree-default .jstree-node{min-height:24px;line-height:24px;margin-left:24px;min-width:24px}.jstree-default .jstree-anchor{line-height:24px;height:24px}.jstree-default .jstree-icon{width:24px;height:24px;line-height:24px}.jstree-default .jstree-icon:empty{width:24px;height:24px;line-height:24px}.jstree-default.jstree-rtl .jstree-node{margin-right:24px}.jstree-default .jstree-wholerow{height:24px}.jstree-default .jstree-node,.jstree-default .jstree-icon{background-image:url(32px.png)}.jstree-default .jstree-node{background-position:-292px -4px;background-repeat:repeat-y}.jstree-default .jstree-last{background:0 0}.jstree-default .jstree-open>.jstree-ocl{background-position:-132px -4px}.jstree-default .jstree-closed>.jstree-ocl{background-position:-100px -4px}.jstree-default .jstree-leaf>.jstree-ocl{background-position:-68px -4px}.jstree-default .jstree-anchor>.jstree-themeicon{background-position:-260px -4px}.jstree-default>.jstree-no-dots .jstree-node,.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -4px}.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -4px}.jstree-default .jstree-disabled{background:0 0}.jstree-default .jstree-disabled.jstree-hovered{background:0 0}.jstree-default .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default .jstree-checkbox{background-position:-164px -4px}.jstree-default .jstree-checkbox:hover{background-position:-164px -36px}.jstree-default .jstree-clicked>.jstree-checkbox{background-position:-228px -4px}.jstree-default .jstree-clicked>.jstree-checkbox:hover{background-position:-228px -36px}.jstree-default .jstree-anchor>.jstree-undetermined{background-position:-196px -4px}.jstree-default .jstree-anchor>.jstree-undetermined:hover{background-position:-196px -36px}.jstree-default>.jstree-striped{background-size:auto 48px}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default.jstree-rtl .jstree-open>.jstree-ocl{background-position:-132px -36px}.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-100px -36px}.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-68px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-36px -36px}.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-4px -36px}.jstree-default .jstree-themeicon-custom{background-color:transparent;background-image:none}.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)}.jstree-default.jstree-rtl .jstree-last{background:0 0}.jstree-default-small .jstree-node{min-height:18px;line-height:18px;margin-left:18px;min-width:18px}.jstree-default-small .jstree-anchor{line-height:18px;height:18px}.jstree-default-small .jstree-icon{width:18px;height:18px;line-height:18px}.jstree-default-small .jstree-icon:empty{width:18px;height:18px;line-height:18px}.jstree-default-small.jstree-rtl .jstree-node{margin-right:18px}.jstree-default-small .jstree-wholerow{height:18px}.jstree-default-small .jstree-node,.jstree-default-small .jstree-icon{background-image:url(32px.png)}.jstree-default-small .jstree-node{background-position:-295px -7px;background-repeat:repeat-y}.jstree-default-small .jstree-last{background:0 0}.jstree-default-small .jstree-open>.jstree-ocl{background-position:-135px -7px}.jstree-default-small .jstree-closed>.jstree-ocl{background-position:-103px -7px}.jstree-default-small .jstree-leaf>.jstree-ocl{background-position:-71px -7px}.jstree-default-small .jstree-anchor>.jstree-themeicon{background-position:-263px -7px}.jstree-default-small>.jstree-no-dots .jstree-node,.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -7px}.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -7px}.jstree-default-small .jstree-disabled{background:0 0}.jstree-default-small .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-small .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-small .jstree-checkbox{background-position:-167px -7px}.jstree-default-small .jstree-checkbox:hover{background-position:-167px -39px}.jstree-default-small .jstree-clicked>.jstree-checkbox{background-position:-231px -7px}.jstree-default-small .jstree-clicked>.jstree-checkbox:hover{background-position:-231px -39px}.jstree-default-small .jstree-anchor>.jstree-undetermined{background-position:-199px -7px}.jstree-default-small .jstree-anchor>.jstree-undetermined:hover{background-position:-199px -39px}.jstree-default-small>.jstree-striped{background-size:auto 36px}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl{background-position:-135px -39px}.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-103px -39px}.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-71px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-39px -39px}.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:-7px -39px}.jstree-default-small .jstree-themeicon-custom{background-color:transparent;background-image:none}.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-small.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)}.jstree-default-small.jstree-rtl .jstree-last{background:0 0}.jstree-default-large .jstree-node{min-height:32px;line-height:32px;margin-left:32px;min-width:32px}.jstree-default-large .jstree-anchor{line-height:32px;height:32px}.jstree-default-large .jstree-icon{width:32px;height:32px;line-height:32px}.jstree-default-large .jstree-icon:empty{width:32px;height:32px;line-height:32px}.jstree-default-large.jstree-rtl .jstree-node{margin-right:32px}.jstree-default-large .jstree-wholerow{height:32px}.jstree-default-large .jstree-node,.jstree-default-large .jstree-icon{background-image:url(32px.png)}.jstree-default-large .jstree-node{background-position:-288px 0;background-repeat:repeat-y}.jstree-default-large .jstree-last{background:0 0}.jstree-default-large .jstree-open>.jstree-ocl{background-position:-128px 0}.jstree-default-large .jstree-closed>.jstree-ocl{background-position:-96px 0}.jstree-default-large .jstree-leaf>.jstree-ocl{background-position:-64px 0}.jstree-default-large .jstree-anchor>.jstree-themeicon{background-position:-256px 0}.jstree-default-large>.jstree-no-dots .jstree-node,.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px 0}.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 0}.jstree-default-large .jstree-disabled{background:0 0}.jstree-default-large .jstree-disabled.jstree-hovered{background:0 0}.jstree-default-large .jstree-disabled.jstree-clicked{background:#efefef}.jstree-default-large .jstree-checkbox{background-position:-160px 0}.jstree-default-large .jstree-checkbox:hover{background-position:-160px -32px}.jstree-default-large .jstree-clicked>.jstree-checkbox{background-position:-224px 0}.jstree-default-large .jstree-clicked>.jstree-checkbox:hover{background-position:-224px -32px}.jstree-default-large .jstree-anchor>.jstree-undetermined{background-position:-192px 0}.jstree-default-large .jstree-anchor>.jstree-undetermined:hover{background-position:-192px -32px}.jstree-default-large>.jstree-striped{background-size:auto 64px}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==);background-position:100% 1px;background-repeat:repeat-y}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl{background-position:-128px -32px}.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-96px -32px}.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl{background-position:-64px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node,.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl{background-position:-32px -32px}.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl{background-position:0 -32px}.jstree-default-large .jstree-themeicon-custom{background-color:transparent;background-image:none}.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl{background:url(throbber.gif) center center no-repeat}.jstree-default-large.jstree-rtl .jstree-node{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)}.jstree-default-large.jstree-rtl .jstree-last{background:0 0}@media (max-width:768px){.jstree-default-responsive .jstree-icon{background-image:url(40px.png)}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-node{min-height:40px;line-height:40px;margin-left:40px;min-width:40px;white-space:nowrap}.jstree-default-responsive .jstree-anchor{line-height:40px;height:40px}.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-icon:empty{width:40px;height:40px;line-height:40px}.jstree-default-responsive>.jstree-container-ul>.jstree-node{margin-left:0}.jstree-default-responsive.jstree-rtl .jstree-node{margin-left:0;margin-right:40px}.jstree-default-responsive.jstree-rtl .jstree-container-ul>.jstree-node{margin-right:0}.jstree-default-responsive .jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-size:120px 200px}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background:0 0}.jstree-default-responsive .jstree-open>.jstree-ocl{background-position:0 0!important}.jstree-default-responsive .jstree-closed>.jstree-ocl{background-position:0 -40px!important}.jstree-default-responsive.jstree-rtl .jstree-closed>.jstree-ocl{background-position:-40px 0!important}.jstree-default-responsive .jstree-anchor>.jstree-themeicon{background-position:-40px -40px}.jstree-default-responsive .jstree-checkbox,.jstree-default-responsive .jstree-checkbox:hover{background-position:-40px -80px}.jstree-default-responsive .jstree-clicked>.jstree-checkbox,.jstree-default-responsive .jstree-clicked>.jstree-checkbox:hover{background-position:0 -80px}.jstree-default-responsive .jstree-anchor>.jstree-undetermined,.jstree-default-responsive .jstree-anchor>.jstree-undetermined:hover{background-position:0 -120px}.jstree-default-responsive .jstree-anchor{font-weight:700;font-size:1.1em;text-shadow:1px 1px #fff}.jstree-default-responsive>.jstree-striped{background:0 0}.jstree-default-responsive .jstree-wholerow{border-top:1px solid rgba(255,255,255,.7);border-bottom:1px solid rgba(64,64,64,.2);background:#ebebeb;height:40px}.jstree-default-responsive .jstree-wholerow-hovered{background:#e7f4f9}.jstree-default-responsive .jstree-wholerow-clicked{background:#beebff}.jstree-default-responsive .jstree-children .jstree-last>.jstree-wholerow{box-shadow:inset 0 -6px 3px -5px #666}.jstree-default-responsive .jstree-children .jstree-open>.jstree-wholerow{box-shadow:inset 0 6px 3px -5px #666;border-top:0}.jstree-default-responsive .jstree-children .jstree-open+.jstree-open{box-shadow:none}.jstree-default-responsive .jstree-node,.jstree-default-responsive .jstree-icon,.jstree-default-responsive .jstree-node>.jstree-ocl,.jstree-default-responsive .jstree-themeicon,.jstree-default-responsive .jstree-checkbox{background-image:url(40px.png);background-size:120px 200px}.jstree-default-responsive .jstree-node{background-position:-80px 0;background-repeat:repeat-y}.jstree-default-responsive .jstree-last{background:0 0}.jstree-default-responsive .jstree-leaf>.jstree-ocl{background-position:-40px -120px}.jstree-default-responsive .jstree-last>.jstree-ocl{background-position:-40px -160px}.jstree-default-responsive .jstree-themeicon-custom{background-color:transparent;background-image:none}}.jstree-default>.jstree-container-ul>.jstree-node{margin-left:0;margin-right:0} \ No newline at end of file diff --git a/user/news/images/themes/default/throbber.gif b/user/news/images/themes/default/throbber.gif new file mode 100644 index 0000000..1b5b2fd Binary files /dev/null and b/user/news/images/themes/default/throbber.gif differ diff --git a/user/news/images/themes/default/user.png b/user/news/images/themes/default/user.png new file mode 100644 index 0000000..857beab Binary files /dev/null and b/user/news/images/themes/default/user.png differ diff --git a/user/news/images/themes/index.htm b/user/news/images/themes/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/index.htm b/user/news/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/index.php b/user/news/index.php new file mode 100644 index 0000000..2fada06 --- /dev/null +++ b/user/news/index.php @@ -0,0 +1,160 @@ +'news', + 'keyword'=>$keyword, + 'catid'=>$catid, + 'status'=>$status + ); +$theurl = DZZSCRIPT."?".url_implode($gets); +$refer=urlencode($theurl.'&page='.$page); +$start=($page-1)*$perpage; + +//查询 +$param=array('news'); +$param[]='news_viewer'; +$param[]=$_G['uid']; +$sql="1"; +$orderby="ORDER BY n.istop DESC , n.dateline DESC"; +if($perm<2){ + + //阅读范围查询语句 + if($_G['uid']<1){ + $sql.=" and n.orgids='' and n.uids=''"; + }else{ + + $sql.=" and ( n.authorid=%d OR ("; + $param[]=$_G['uid']; + + $sql_gid=array("n.orgids=''"); + if($orgarr=getDepartmentByUid($_G['uid'])){ //获取当前用户所在的部门数组 + foreach($orgarr as $value){ + foreach($value as $value1){ + $sql_gid[]="FIND_IN_SET(%d,orgids)"; + $param[]=$value1['orgid']; + } + } + }else{ + $sql_gid[]="FIND_IN_SET(%s,orgids)"; + $param[]='other'; + } + + $sql.="(".implode(' OR ',$sql_gid).") and ( n.uids='' OR FIND_IN_SET(%d,n.uids))"; + + $sql.="))"; + $param[]=$_G['uid']; + } + +} +if(!empty($keyword)){ //关键词查询时忽略分类 + $sql.=' and n.subject like %s'; + $param[]='%'.$keyword.'%'; + $catid=0; + $status=1; +} + +if($catid){ + /*$sql.=' and n.catid=%d'; + $param[]=$catid;*/ + $subids=C::t('news_cat')->getSonByCatid($catid); + $sql.=' and catid IN(%n)'; + $param[]=$subids; +} +if($status==1){//已发布,待审核和草稿 + $sql.=' and n.status=%d'; + $param[]=$status; + $navlast=$keyword?lang('search').$keyword:lang('have_published'); +}elseif($status==6 ){//我发布的 + $sql.=' and n.status<2 and authorid=%d'; + $param[]=$_G['uid']; + $navlast=lang('my_released'); +}elseif($status==2 ){//待审核 + if($perm>1){ //管理员,调取所有需要审核的 + $sql.=" and n.status='2'"; + }else{ //非管理员只调取本人发布的等待审核的条目 + $sql.=" and n.status='2' and authorid=%d "; + $param[]=$_G['uid']; + } + $orderby="ORDER BY n.istop DESC , n.updatetime DESC"; + $navlast=lang('check_pending'); +}elseif($status==3){ //草稿箱,只调取当前用户的 + $sql.=" and n.status='3' and authorid=%d "; + $param[]=$_G['uid']; + $navlast=lang('drafts'); +}elseif($status==4 ){ //未读 + + $sql.=" and status='1' and isnull(v.vid)"; + $param[]=$_G['uid']; + + $navlast=lang('unread'); + +}elseif($status==5){ //已读 + $sql.=" and status='1' and v.vid>0"; + $param[]=$_G['uid']; + + $navlast=lang('read'); +} +$data=array(); +$topupdate=array(); +if($count=DB::result_first("select count(*) from %t n LEFT JOIN %t v ON n.newid=v.newid and v.uid=%d where $sql",$param)){ + foreach(DB::fetch_all("select n.*,v.vid as isread from %t n LEFT JOIN %t v ON n.newid=v.newid and v.uid=%d where $sql $orderby limit $start,$perpage",$param) as $value){ + $today=strtotime(dgmdate(TIMESTAMP,'Y-m-d')); + $value['real_set_endtime']=""; + if($value['highlightendtime'] ) $value["real_set_endtime"]= dgmdate($value['highlightendtime'],'Y-m-d') ; + $value['real_set_topendtime']=""; + if($value['topendtime'] ) $value["real_set_topendtime"]= dgmdate($value['topendtime'],'Y-m-d') ; + if($value['topendtime']<$today){ + if($value['istop']){ + $updatearr[]=$value['newid']; + } + $value['istop']=0; + } + if($value['highlightendtime']<$today ){ + $value['ishighlight']=0; + } + if($value['opuid'] && $opuser=getuserbyuid($value['opuid'])){ + $value['opauthor']=$opuser['username']; + } + if($status==2 && $value['moduid'] && $moduser=getuserbyuid($value['moduid'])){ + $value['modusername']=$moduser['username']; + } + $data[]=$value; + } + $multi=multi($count, $perpage, $page, $theurl,'pull-center'); +} +if($topupdate){ //置顶时间过期的,设置istop=0 + DB::update('news',array('istop'=>0),"newid IN (".dimplode($topupdate).")"); +} +$catlist=getCatList(0,$catid); +//if($ismobile){ +// include template('news_list_mobile'); +//}else{ + include template('news_list'); +//} +?> diff --git a/user/news/install.php b/user/news/install.php new file mode 100644 index 0000000..87451ed --- /dev/null +++ b/user/news/install.php @@ -0,0 +1,96 @@ +'The information was reviewed and returned', + 'news_moderator_2'=>'{author} has reviewed your published news article, review comments:{modreason} Now go check it out', + 'news_moderator_2_wx' =>'{author} The news articles you published have been reviewed. The comments are as follows:{modreason}', + 'news_moderator_2_redirecturl' =>'{url}', + + //发表评论,通知信息发布者 + 'news_moderator_1_title'=>'The information was approved', + 'news_moderator_1'=>'{author} The news articles you published have been reviewed. The comments are as follows:{modreason} Now go check it out', + 'news_moderator_1_wx' =>'{author} The news articles you published have been reviewed. The comments are as follows:{modreason}', + 'news_moderator_1_redirecturl' =>'{url}', + + //发表评论,通知信息发布者 + 'news_moderate_title' =>'There is information that needs to be reviewed', + 'news_moderate1' =>'{author} Remind you of new information that needs to be reviewed Now go check it out', + 'news_moderate' =>'{author} Remind you of new information that needs to be reviewed Now go check it out', + 'news_moderate_wx' =>'{author} Remind you of new information that needs to be reviewed', + 'news_moderate_redirecturl' =>'{url}', + + //通知用户查看信息 + 'news_publish_title' =>'There is a new release of information', + 'news_publish' =>'{author} The news was released {subject}', + 'news_publish_wx' =>'{author} You view new information', + 'news_publish_redirecturl'=> '{url}', + 'appname'=>'news', + 'manage_setting'=>'Management Settings', + 'base_setting'=>'Basic setup', + 'wx_setting'=>'WeChat set', + 'model_setting'=>'Plate setting', + 'manager_setting'=>'Administrator Settings', + 'add_manager'=>'Adding a Management Member', + + + 'message_setting'=>'Information release Authority', + 'all_user'=>'Total station users', + 'only_user'=>'Specify a user', + 'add_user'=>'Add members', + 'message_audit'=>' Information audit', + 'none_audit'=>' no audit required ', + 'need_audit'=>' need to audit (administrator exception) ', + 'click_can_editorupdate'=>' Click to editor delete ', + 'model_name'=>' panel name', + 'add_new_model'=>' Add new plate ', + 'do_success' => 'operation succeeded ', + + + // 2.2添加 + 'return' => 'return', + 'Style_switch' => 'Style switch', + 'Visitors'=>'Visitors to comment on', + 'news_title'=>' News title', + 'news_type'=>' Information classification ', + 'choose_news_type'=>' Please select classification ', + 'news_content_type'=>' information content type', + 'text_content'=>' text content', + 'img_content'=>' image content', + 'ahref_address'=>' hyperlink address', + 'href_address'=>' link address', + 'comment_switch'=>' comment switch', + 'vote_switch'=>' vote switch', + 'information_title'=>' information title', + 'can_also_type_in'=>' can also type ', + 'character'=>' character', + 'issue_range'=>' Issue range', + 'no_choose_click_add_issue_range'=>' Do not select publish range, all visible; Click the publication scope on the left to add and delete the publication scope ', + 'from_desktop_selection'=>' Select from desktop ', + 'can_drag_img_this_place'=>' can also drag images into this area ', + 'save_as_draft'=>' Save as draft', + 'no_save_leave_sure'=>' Current content is not saved, are you sure you want to leave? ', + 'input_link_address'=>' Please enter the link address', + // 结束 + + + // 2.4修改 + 'all_news'=>' all information ', + 'controller_options'=>' Action options', + 'have_published'=>' published', + 'unread' => 'unread', + 'read' => 'read', + 'check_pending'=>' pending', + 'draft' => 'draft', + 'highlight_deadline'=>' Highlight deadline', + 'top_off_date'=>' top_off_date', + 'back_in'=>' back to ', + 'reasons_for_returning'=>' reasons_for_returning', + 'last_modified'=>' last_modified', + 'promulgator'=>' publisher ', + 'comments'=>' number of comments', + 'human_count'=>' number of views ', + 'people' => 'people', + 'information_transmission'=>' Information being sent... ', + 'remind_the_administrator_to_review'=>' Remind the administrator of the review', + 'the compile' => 'edit', + 'successfully_add_desktop_shortcuts'=>' Add Desktop Shortcut Successfully ', + 'no_any_pictures'=>' No pictures yet! ', + 'too_little_information'=>' Too little information content! ', + 'the_poll_title_cannot_be_empty'=>' Poll title cannot be empty', + 'vote_for_at_least_two_items'=>' Vote for at least 2 items! ', + 'move' => 'mobile', + 'top_off' => 'top', + 'highlight' => 'highlight', + 'check' => 'review', + 'move_to_scan'=>' Move to ', + 'term_set_top'=>' top term ', + 'select_the_top_closing_date_and_leave_the_top_blank'=>' select top deadline, leave blank to cancel top ', + 'highlight_set'=>' highlightset ', + 'select_the_highlight_deadline_and_leave_the_highlight_blank'=>' Select highlight deadline and leave blank to cancel highlight ', + 'click_choose_color'=>' Click to select color', + 'bold' => 'bold', + 'italic' => 'italics', + 'underline' => 'underline', + 'are_you_sure_you_want_to_delete_the_selected_information'=>' Are you sure you want to delete the selected information (this operation is unrecoverable)? ', + 'audit_opinion'=>' audit opinion', + 'review_comments_to_inform_the_user_of_the_failure_of_the_cause'=>' Review comments to inform the user of the reason for the failure ', + 'Review the return'=>' Review the return', + 'pass_the_audit'=>' approved ', + 'add' => 'add', + 'move_up' => 'up', + 'shift_down' => 'down', + 'add_type'=>' Add a class ', + 'category_parent'=>' Superior classification ', + 'category_delete'=>' category delete', + 'determine_to_delete_the_taxonomy'=>' determine to delete a classification ', + 'classification_of_all_subordinates'=>' (this operation cannot be restored) ', + + + // 2.5修改 + 'informations' =>' information ', + 'publications'=>' publications', + 'changes'=>' changes to ', + 'review_on'=>' audit on', + 'range' => 'range', + 'consult_the_situation'=>' consult the situation', + 'login_system'=>' Log in to system', + 'boardtype'=>' board name ', + 'enter_user_name_search'=>' Enter user name search', + 'no_unloading'=> 'Do not uninstall', + 'determine_uninstall_application'=>' Determine_uninstall_application ', + 'this_operation_deletes_the_application'=>' This operation will delete the application', + 'all_data_be_careful'=>' be careful with all data in the app ', + 'confirm_deletions'=>' If you really need to DELETE, type DELETE below ', + // 结束 + + + // 3.2添加 + 'There is no relevant news in the current version', + 'allowed_to_publish_information'=>' User who allows publishing information', + 'have_no_right'=>' have no permission ', + 'alert_messages_to_be_sent_successfully'=>' Alert message sent successfully', + 'delete_failure'=>' delete failure', + 'message_header_cannot_be_empty'=>' Message header cannot be empty', + 'tape_release_failure'=>' release failure', + 'non_agency_personnel'=>' no agency personnel', + 'name_cannot_be_empty'=>' Name cannot be empty', + 'the_name_cannot_be_repeated'=>' Your name must not be repeated', + 'modify_successfully'=>' modified successfully', + 'new_success'=>' added successfully ', + 'successfully_delete'=>' delete succeeded ', + 'printf'=>' sorted successfully ', + 'shanghai_leyun_net'=>' Shanghai Leyun Network Collaboration Platform ', + 'press_center'=>' Press Center ', + 'search' => 'search', + 'my_released'=>' I released', + 'drafts'=>' Draft box ', + 'headline' => 'title', + 'content' => 'content', + 'content_type'=>' content type', + '0_article'=>'0 for article', + '1_images'=>'1 for images', + '2_link'=>'2 is the link', + 'author' => 'author', + 'approver'=>' approver', + 'add_time'=>' add time', + 'review_status'=>' comment status', + '1_start_0_close'=>'1 for open and 0 for close', + 'vote_state'=>' Voting status ', + 'popular_in_these_categories'=>' popular_these_categories ', + 'state_of_the_news'=>' News status ', + '1_open_2_audit_3_draft'=>'1 for public, 2 for audit, 3 for draft', + 'reading_range'=>' read range', + 'department' => 'department', + 'personnel' => 'staff', + 'top_order'=>' top order', + 'sticky_time'=>' set top time', + 'expiration_date_of_purchase'=>' EXPIRation_expiration date ', + 'is_highlight'=>' is_highlight', + 'highlighting_the_style'=>' Highlight style', + 'highlight_expiration_time'=>' expirationtime highlighted ', + 'number_of_reviews'=>' number of reviews', + 'the_parent_category'=>' parent category', + 'name_of_news_classification'=>' News classification name ', + 'sequence'=>' sequence number ', + '1 _normal' => '1 normal', + '1 _delete' => '1 to delete', + 'reader' => 'readers', + 'reader_UID'=>' reader UID', + 'reading_time'=>' reading time', + 'times_of_view'=>' times_of_view', + 'announcement' => 'announcements', + 'company_news'=>' Company news', + 'staff_presence'=>' Staff Presence ', + 'financial_report'=>' Financial News ', + 'political_news'=>' Political news', + 'company_activity'=>' Company activity', + + 'type_add_failure'=>' class add fail ', + 'new_news'=>' Latest information ', + 'information_center'=>' Information center', + 'wechat_apply_settings'=>' wechat_apply_settings', + 'enterprise_news_information_application'=>' Enterprise news and information application, which enables employees to keep abreast of the latest enterprise information and news. ', + 'check_pending_is'=>' to be audited ', + 'my_draft'=>' my draft', + 'my_unread'=>' I didn’t read', + 'setup_menu'=>' Set menu KEY value ', + 'setup_menu_href'=>' set menu jump link ', + 'tape_release_failure_agentid'=>' Release failed, the application has not created wechat Agentid ', + 'my_news'=>' my information ', + 'unread_messages'=>' unread messages', + 'this_news_has_been_moved'=>' The article does not exist or has been removed ', + 'have_no_right_contact_your_administrator'=>' You do not have permission to view this information, please contact the administrator', + 'no_relevant_content'=>' no relevant_content yet ', + 'send_to_here'=>' Messages and notifications from the platform will be sent here in a timely manner ', +); +?> \ No newline at end of file diff --git a/user/news/language/index.htm b/user/news/language/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/language/zh-cn/index.htm b/user/news/language/zh-cn/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/language/zh-cn/lang.php b/user/news/language/zh-cn/lang.php new file mode 100644 index 0000000..3cf281e --- /dev/null +++ b/user/news/language/zh-cn/lang.php @@ -0,0 +1,230 @@ +'信息被审核退回了', + 'news_moderator_2' =>'{author}审核了你发布的新闻文章,审核意见:{modreason} 现在去看看', + 'news_moderator_2_wx' =>'{author}审核了你发布的新闻文章,审核意见:{modreason}', + 'news_moderator_2_redirecturl' =>'{url}', + + //审核通过,通知信息发布者 + 'news_moderator_1_title' =>'信息审核通过了', + 'news_moderator_1' =>'{author}审核了你发布的新闻文章,审核意见:{modreason} 现在去看看', + 'news_moderator_1_wx' =>'{author}审核了你发布的新闻文章,审核意见:{modreason}', + 'news_moderator_1_redirecturl' =>'{url}', + + //发表文章,通知管理者 + 'news_moderate_title' =>'有需要审核的信息', + 'news_moderate1' =>'{author}发布了信息需要您审核 现在去看看', + 'news_moderate' =>'{author}提醒您有新信息需要审核 现在去看看', + 'news_moderate_wx' =>'{author}提醒您有新信息需要审核', + 'news_moderate_redirecturl' =>'{url}', + + //通知用户查看信息 + 'news_publish_title' =>'有新发布的信息', + 'news_publish' =>'{author}发布了新闻 {subject}', + 'news_publish_wx' =>'{author}您查看新信息', + 'news_publish_redirecturl'=> '{url}', + 'appname'=>'新闻', + 'manage_setting'=>'管理设置', + 'base_setting'=>'基本设置', + 'wx_setting'=>'微信设置', + 'model_setting'=>'板块设置', + 'manager_setting'=>'管理员设置', + 'add_manager'=>'添加管理成员', + + + 'message_setting'=>'信息发布权限', + 'all_user'=>'全站用户', + 'only_user'=>'指定用户', + 'add_user'=>'添加成员', + 'message_audit'=>'信息审核', + 'none_audit'=>'不需要审核', + 'need_audit'=>'需要审核(管理员例外)', + 'click_can_editorupdate'=>'点击可以编辑或删除', + 'model_name'=>'版块名称', + 'add_new_model'=>'添加新板块', + 'do_success' => '操作成功', + + + // 2.2添加 + 'return'=>'返回', + 'Style_switch'=>'风格开关', + 'Visitors'=>'游客评论', + 'news_title'=>'新闻标题', + 'news_type'=>'信息分类', + 'choose_news_type'=>'请选择分类', + 'news_content_type'=>'信息内容类型', + 'text_content'=>'文本内容', + 'img_content'=>'图片内容', + 'ahref_address'=>'超链接地址', + 'href_address'=>'链接地址', + 'comment_switch'=>'评论开关', + 'vote_switch'=>'投票开关', + 'information_title'=>'信息标题', + 'can_also_type_in'=>'还可以输入', + 'character'=>'个字符', + 'issue_range'=>'发布范围', + 'no_choose_click_add_issue_range'=>'不选择发布范围,全部可见;点击左侧的发布范围可以添加删除发布范围', + 'from_desktop_selection'=>'从桌面选择', + 'can_drag_img_this_place'=>'也可以把图片拖放到该区域', + 'save_as_draft'=>'保存为草稿', + 'no_save_leave_sure'=>'当前内容没有保存,确定要离开吗?', + 'input_link_address'=>'请输入链接地址', + // 结束 + + + // 2.4修改 + 'all_news'=>'全部信息', + 'controller_options'=>'操作选项', + 'have_published'=>'已发布', + 'unread'=>'未读', + 'read'=>'已读', + 'check_pending'=>'待审核', + 'draft'=>'草稿', + 'highlight_deadline'=>'高亮截止日期', + 'top_off_date'=>'置顶截止日期', + 'back_in'=>'退回于', + 'reasons_for_returning'=>'退回原因', + 'last_modified'=>'最后修改', + 'promulgator'=>'发布者', + 'comments'=>'评论数量', + 'human_count'=>'查看次数', + 'people'=>'人', + 'information_transmission'=>'信息发送中...', + 'remind_the_administrator_to_review'=>'提醒管理员审核', + 'compile'=>'编辑', + 'successfully_add_desktop_shortcuts'=>'成功添加桌面快捷方式', + 'no_any_pictures'=>'还没有图片!', + 'too_little_information'=>'信息内容太少!', + 'the_poll_title_cannot_be_empty'=>'投票标题不能为空', + 'vote_for_at_least_two_items'=>'投票项目至少为2项!', + 'move'=>'移动', + 'top_off'=>'置顶', + 'highlight'=>'高亮', + 'check'=>'审核', + 'move_to_scan'=>'移动至', + 'term_set_top'=>'置顶期限', + 'select_the_top_closing_date_and_leave_the_top_blank'=>'选择置顶截止日期,留空取消置顶', + 'highlight_set'=>'高亮设置', + 'select_the_highlight_deadline_and_leave_the_highlight_blank'=>'选择高亮截止日期,留空取消高亮', + 'click_choose_color'=>'点击选择颜色', + 'bold'=>'粗体', + 'italic'=>'斜体', + 'underline'=>'下划线', + 'are_you_sure_you_want_to_delete_the_selected_information'=>'确定要删除所选择的信息吗(此操作不可恢复)?', + 'audit_opinion'=>'审核意见', + 'review_comments_to_inform_the_user_of_the_failure_of_the_cause'=>'审核意见,借此通知用户未通过原因', + 'Review the return'=>'审核退回', + 'pass_the_audit'=>'审核通过', + 'add'=>'添加', + 'move_up'=>'上移', + 'shift_down'=>'下移', + 'add_type'=>'添加分类', + 'category_parent'=>'上级分类', + 'category_delete'=>'分类删除', + 'determine_to_delete_the_taxonomy'=>'确定要删除分类', + 'classification_of_all_subordinates'=>'及其所有下属分类(此操作不可恢复)?', + + + // 2.5修改 + 'informations'=>'信息', + 'publications'=>'发布于', + 'changes'=>'修改于', + 'review_on'=>'审核于', + 'range'=>'范围', + 'consult_the_situation'=>'查阅情况', + 'login_system'=>'登录系统', + 'boardtype'=>'版块名称', + 'enter_user_name_search'=>'输入用户名搜索', + 'no_unloading'=>'不卸载', + 'determine_uninstall_application'=>'确定卸载应用', + 'this_operation_deletes_the_application'=>'此操作将删除应用', + 'all_data_be_careful'=>'内所有数据,请慎重', + 'confirm_deletions'=>'如果确实需要删除,请在下面输入 DELETE 字样确认删除', + // 结束 + + + // 3.2添加 + 'there_is_no_news_in_the_current_version'=>'目前版本内暂无相关新闻', + 'allowed_to_publish_information'=>'允许发布信息的用户', + 'have_no_right'=>'没有权限', + 'alert_messages_to_be_sent_successfully'=>'提醒信息发送成功', + 'delete_failure'=>'删除失败', + 'message_header_cannot_be_empty'=>'信息标题不能为空', + 'tape_release_failure'=>'发布失败', + 'non_agency_personnel'=>'无机构人员', + 'name_cannot_be_empty'=>'名称不能为空', + 'the_name_cannot_be_repeated'=>'名称不能重复', + 'modify_successfully'=>'修改成功', + 'new_success'=>'新增成功', + 'successfully_delete'=>'删除成功', + 'printf'=>'排序成功', + 'shanghai_leyun_net'=>'上海乐云网络协作平台', + 'press_center'=>'新闻中心', + 'search'=>'搜索', + 'my_released'=>'我发布的', + 'drafts'=>'草稿箱', + 'headline'=>'标题', + 'content'=>'内容', + 'content_type'=>'内容类型', + '0_article'=>'0为文章', + '1_images'=>'1为图片', + '2_link'=>'2为链接', + 'author'=>'作者', + 'approver'=>'审批人', + 'add_time'=>'添加时间', + 'review_status'=>'评论状态', + '1_start_0_close'=>'1为开启0为关闭', + 'vote_state'=>'投票状态', + 'popular_in_these_categories'=>'所属分类', + 'state_of_the_news'=>'新闻状态', + '1_open_2_audit_3_draft'=>'1为公开2为审核3为草稿', + 'reading_range'=>'阅读范围', + 'department'=>'部门', + 'personnel'=>'人员', + 'top_order'=>'置顶顺序', + 'sticky_time'=>'置顶时间', + 'expiration_date_of_purchase'=>'置顶过期时间', + 'is_highlight'=>'是否高亮', + 'highlighting_the_style'=>'高亮样式', + 'highlight_expiration_time'=>'高亮过期时间', + 'number_of_reviews'=>'评论数量', + 'the_parent_category'=>'父分类', + 'name_of_news_classification'=>'新闻分类名称', + 'sequence'=>'排序号', + '1_normal'=>'1正常', + '1_delete'=>'1删除', + 'reader'=>'读者', + 'reader_UID'=>'阅读者UID', + 'reading_time'=>'阅读时间', + 'times_of_view'=>'阅读次数', + 'announcement'=>'公告', + 'company_news'=>'公司新闻', + 'staff_presence'=>'员工风采', + 'financial_report'=>'财经新闻', + 'political_news'=>'时政新闻', + 'company_activity'=>'公司活动', + + 'type_add_failure'=>'分类添加失败', + 'new_news'=>'最新信息', + 'information_center'=>'信息中心', + 'wechat_apply_settings'=>'微信信息应用设置', + 'enterprise_news_information_application'=>'企业新闻和信息应用,通过它可以让员工随时了解企业的最新资讯和新闻。', + 'check_pending_is'=>'待审核的', + 'my_draft'=>'我的草稿', + 'my_unread'=>'我未读的', + 'setup_menu'=>'设置菜单KEY值', + 'setup_menu_href'=>'设置菜单跳转链接', + 'tape_release_failure_agentid'=>'发布失败,应用还没有创建微信agentid', + 'my_news'=>'我的信息', + 'unread_messages'=>'未读信息', + 'this_news_has_been_moved'=>'文章不存在或已删除', + 'have_no_right_contact_your_administrator'=>'您没有查看此信息的权限,请联系管理员', + 'no_relevant_content'=>'还没有相关内容', + 'send_to_here'=>'平台的消息和通知会及时的发送到此处', +); +?> \ No newline at end of file diff --git a/user/news/menu.php b/user/news/menu.php new file mode 100644 index 0000000..243f926 --- /dev/null +++ b/user/news/menu.php @@ -0,0 +1,153 @@ +true)); + $catid=intval($_GET['catid']); + $newids=!empty($_GET['newid'])?explode(',',$_GET['newid']):array(); + if($catid) DB::update('news',array('catid'=>$catid),"newid IN (".dimplode($newids).")"); + showmessage('do_success',dreferer(),array(),array('showmsg'=>true)); + }else{ + $catoptions=getCatOptions(); + } + }elseif($step==2){//置顶 + if(submitcheck('istopsubmit')){ + $perm=getPermByUid($_G['uid']); + if($perm<2) showmessage(lang('have_no_right'),dreferer(),array(),array('showmsg'=>true)); + $topendtime=strtotime($_GET['topendtime']); + $today=strtotime(dgmdate(TIMESTAMP,'Y-m-d')); + if($topendtime<$today) $istop=0; + else $istop=1; + $newids=!empty($_GET['newid'])?explode(',',$_GET['newid']):array(); + if($newids) DB::update('news',array('istop'=>$istop,'topendtime'=>$topendtime),"newid IN (".dimplode($newids).")"); + showmessage('do_success',dreferer(),array(),array('showmsg'=>true)); + }else{ + $now=dgmdate(TIMESTAMP,'Y-m-d'); + } + }elseif($step==3){ + if(submitcheck('highlightsubmit')){ + $perm=getPermByUid($_G['uid']); + if($perm<2) showmessage(lang('have_no_right'),dreferer(),array(),array('showmsg'=>true)); + $highlightendtime=strtotime($_GET['highlightendtime']); + $today=strtotime(dgmdate(TIMESTAMP,'Y-m-d')); + if($highlightendtime<$today) $ishighlight=0; + else $ishighlight=1; + $highlightstyle=''; + if($_GET['highlight_color']) $highlightstyle.='color:'.trim($_GET['highlight_color']).';'; + if($_GET['highlight_bold']) $highlightstyle.='font-weight:700;'; + if($_GET['highlight_italic']) $highlightstyle.='font-style:italic;'; + if($_GET['highlight_underline']) $highlightstyle.='text-decoration:underline;'; + if(empty($highlightstyle)) $ishighlight=0; + $newids=!empty($_GET['newid'])?explode(',',$_GET['newid']):array(); + if($newids) DB::update('news',array('ishighlight'=>$ishighlight,'highlightendtime'=>$highlightendtime,'highlightstyle'=>$highlightstyle),"newid IN (".dimplode($newids).")"); + showmessage('do_success',dreferer(),array(),array('showmsg'=>true)); + }else{ + $now=dgmdate(TIMESTAMP,'Y-m-d'); + } + }elseif($step==4){//删除 + if(submitcheck('deletesubmit')){ + $perm=getPermByUid($_G['uid']); + if($perm<2) showmessage(lang('have_no_right'),dreferer(),array(),array('showmsg'=>true)); + + $newids=!empty($_GET['newid'])?explode(',',$_GET['newid']):array(); + + if($newids) C::t('news')->batch_delete_by_newid($newids); + showmessage('do_success',dreferer(),array(),array('showmsg'=>true)); + }else{ + $now=dgmdate(TIMESTAMP,'Y-m-d'); + } + }elseif($step==5){//审核 + if(submitcheck('modsubmit')){ + $perm=getPermByUid($_G['uid']); + if($perm<2) showmessage(lang('have_no_right'),dreferer(),array(),array('showmsg'=>true)); + $modreason=trim($_GET['modreason']); + $pass=intval($_GET['pass']); + $newids=!empty($_GET['newid'])?explode(',',$_GET['newid']):array(); + if($newids) C::t('news')->mod_by_newid($newids,$pass,$modreason); + showmessage('do_success',dreferer(),array(),array('showmsg'=>true)); + }else{ + + } + } +}elseif($do=='catmenu'){ + $catid=intval($_GET['catid']); + $step=intval($_GET['step']); + if(!$step){ //主菜单 + + + }elseif($step==1 || $step==2){//编辑 + if(submitcheck('cateditsubmit')){ + $perm=getPermByUid($_G['uid']); + if($perm<2) showmessage(lang('have_no_right'),dreferer(),array(),array('showmsg'=>true)); + $ncatid=intval($_GET['ncatid']); + $pid=intval($_GET['pid']); + $name=getstr(trim($_GET['name']),60); + if($ncatid){ + C::t('news_cat')->update_by_catid($ncatid,array('name'=>$name,'pid'=>$pid)); + showmessage('do_success',dreferer(),array('data'=>rawurlencode(json_encode(array('catid'=>$ncatid,'pid'=>$pid,'name'=>$name)))),array('showmsg'=>true)); + }else { + if($ncatid=C::t('news_cat')->insert_by_catid(array('name'=>$name,'pid'=>$pid))){ + showmessage('do_success',dreferer(),array('data'=>rawurlencode(json_encode(array('catid'=>$ncatid,'pid'=>$pid,'name'=>$name)))),array('showmsg'=>true)); + }else{ + showmessage(lang('type_add_failure'),dreferer(),array(),array('showmsg'=>true)); + } + } + + }else{ + $catoptions=getCatOptions(0,$catid); + if($step==2){ + $cat=C::t('news_cat')->fetch($catid); + $catoptions=getCatOptions(0,$cat['pid'],$cat['catid']); + }else{ + $cat=array('catid'=>0); + $catoptions=getCatOptions(0,$catid); + } + } + + }elseif($step==4){//删除 + if(submitcheck('catdeletesubmit')){ + $perm=getPermByUid($_G['uid']); + if($perm<2) showmessage(lang('have_no_right'),dreferer(),array(),array('showmsg'=>true)); + if(C::t('news_cat')->delete_by_catid($catid)){ + showmessage('do_success',dreferer(),array('catid'=>$catid),array('showmsg'=>true)); + }else{ + showmessage(lang('delete_failure'),dreferer(),array(),array('showmsg'=>true)); + } + }else{ + $cat=C::t('news_cat')->fetch($catid); + } + } +}elseif($do=='catmove'){ + $catid=intval($_GET['catid']); + $up=intval($_GET['up']); + $perm=getPermByUid($_G['uid']); + if($perm<2) exit(json_encode(array('error'=>lang('have_no_right')))); + C::t('news_cat')->catmove_by_catid($catid,$up); + exit(json_encode(array('msg'=>'success','catid'=>$catid,'up'=>$up))); +} +include template('news_menu'); + + + + +?> diff --git a/user/news/news.md5 b/user/news/news.md5 new file mode 100644 index 0000000..1f85eaa --- /dev/null +++ b/user/news/news.md5 @@ -0,0 +1,73 @@ +dcd24ec7b4c67100d26fd4cf91f70e94 *class/table/table_news.php +1047b09008286aabeeaaf4d2fb26fabb *class/table/table_news_cat.php +a8fbe6166bf2a49144f6a5194214979c *class/table/table_news_pic.php +b5f48c9052a95154e1c46ce4cdb44dec *class/table/table_news_setting.php +d6dbf2eab10db38c153cb3222042dc0e *class/table/table_news_viewer.php +64570944f8da2557943c3f17624384cb *config/config.php +5f3769b876c7f0dedea0cf3f8009775c *function/function_news.php +f3a549ec0ece961d25a0c93fbb4bcd22 *function/function_wx.php +1925be5a63d95c0fed4da4d284b1bd4a *images/0.jpg +a35efffbc8ffb84994c399cac01fb592 *images/addUser.png +e4321814873d2c9716af82c1c8d60dc7 *images/c.png +9dfdf213dd78cba0fed2b9b6e8eb2e47 *images/create.png +103b886b7ec68915e5b5a0daac7f75ee *images/datepicker.css +78e0ad21e05de35d386b7a917ca5721c *images/hot_1.gif +bd5556691aa1348524bea43625c7a834 *images/hot_2.gif +bb7dd949e393e6df60ece0a5a77cc0d4 *images/hot_3.gif +8f42245dc8a051c9c426527d73e85b4f *images/icons.png +9a6b21493ccd51465b69b7335183c6ee *images/icons_ZG-QuanXian.png +38d1a8e23d1bc2ab3846822af9e57f4b *images/icon_main.png +50c5e3e79b276c92df6cc52caeb464f0 *images/loading.gif +6ed017032dc6a304c5ae1252171aeca0 *images/news.css +5a8ca151fd7a1287a91a8adfb237be42 *images/no_list.png +5191e9ce394d568e947783b462e51370 *images/pin.gif +d0f9d0897af71896e9677444de8f9059 *images/pin_1.gif +859d28ebc4b631a629243002ee6be48b *images/pin_2.gif +ac0d312e8b452c49e1846dc2c72b3a9d *images/pin_3.gif +ce4ffcea51e07af9492b95ca24c55885 *images/pin_4.gif +2b81f9eb3509b34a81af24383e1bb7d3 *images/popbox.css +db49c8de4f267eede40a9a8843efcdec *images/themes/default/32px.png +dcc40378fa4081a8521e9685a67c4e9a *images/themes/default/40px.png +3a9e331936bca971087db8cf7e71beab *images/themes/default/organization.png +b66c481771c3da042b6119ef956be56a *images/themes/default/style.css +38587716062199cc1113c656e513fc82 *images/themes/default/style.min.css +9ed4669f524bec38319be63a2ee4ba26 *images/themes/default/throbber.gif +e4ed91ad5de8eebcfbcb0e94d4dac420 *images/themes/default/user.png +7df41e0ded9b1ab1cfd0333fc71c645c *language/zh-cn/lang.php +7e6274a1780df6ddeeb2a88b8bbadb2a *scripts/jquery-ui.js +5849f3ff1537c3f9541bc7ad6e488ba0 *scripts/jquery.dragsort.js +ee254ae59bce22c259a41784322a456b *scripts/jquery.popbox.js +4f523e957d958b8851cd9a05938fda34 *scripts/news.js +cd6dfa114ae0000075c09bb6a0901533 *scripts/selorg.js +f04fc29d8ac395314376d5fef98b6ba7 *template/header_left.htm +b24585a0a8209f62686a280834afcc24 *template/header_search.htm +347c29c912a83c9036dd410497e6a67a *template/manage_left.htm +0786a0279310fc4cf8d5f2489221a227 *template/news_ajax.htm +a9fd79c1c09db4660c71c9054c08f4c6 *template/news_edit.htm +52b781652331c5f19aa743d7e3de004f *template/news_list.htm +55b6c82e8b050e5ca81c716c4ce8004e *template/news_menu.htm +b33fd9716d585d68688ebf12ac0b3283 *template/news_setting.htm +d41d8cd98f00b204e9800998ecf8427e *template/news_top.htm +bf18e42191b9d1ce79eae282cf03acbe *template/news_view.htm +2303eef061c8e6a1d08ae45d05826807 *template/news_view_top.htm +6261e830121ae8ab9b3992530e2556ae *template/setting_basic.htm +ad9c720a211320f5d4db6edf026935a2 *template/setting_block.htm +2d81baa2a05d56505e99d165a858d42f *template/setting_left.htm +59a3bcf25bf24394b28046cf903e779b *template/setting_utree.htm +05c1ed1fbf438991d46e34bf68530d4f *template/uninstall_confirm.htm +3499fa96e3bb706816976c3166e2d789 *template/user_select_list.htm +49299b4ce282c7ea465676e6448baf1b *./ajax.php +97e458f11eac9abfb67c7a298a6a42b9 *./dzz_app_news.xml +e2b5ef06a41585f11517acfd52e0157c *./edit.php +c8a141e2527dab16eb9502a528d861d1 *./enable.php +dd34904b39c581c27882ef01be4e419d *./index.php +7ac76ebc97e5fb2a59a4e26abc418c56 *./install.php +3e547f4a0b98dd0c4db317ca8b4f8742 *./menu.php +2ddb91438ca6f970e74acf25508b925f *./notice.php +4fa52da0788a3f195a0c793a17473b89 *./setting.php +653b81f4659567d5961e744d274381b3 *./uninstall.php +400a63a186d1360a250167f270385667 *./uninstall_real.php +c8a141e2527dab16eb9502a528d861d1 *./upgrade.php +a67bc9db7b43f39d0bc6b27daca68fd3 *./view.php +f50afc008f45c97b3bd6d4aab21ef52d *./wxreply.php +499cd8af26384c67082a78cf263d97c3 *cache/cache_setting.php diff --git a/user/news/notice.php b/user/news/notice.php new file mode 100644 index 0000000..1409393 --- /dev/null +++ b/user/news/notice.php @@ -0,0 +1,84 @@ +%d and status<2 and authorid!=%d"; +$param[]=$lasttime; +$param[]=$_G['uid']; +$orderby="ORDER BY dateline DESC"; +if($perm<2){ + if($_G['uid']<1){//游客时 + $sql=" and orgids='' and uids=''"; + }else{ + //阅读范围查询语句 + $sql.=" and ("; + $sql_gid=array("orgids=''"); + $orgarr=getDepartmentByUid($_G['uid']); //获取当前用户所在的部门数组 + foreach($orgarr as $value){ + foreach($value as $value1){ + $sql_gid[]="FIND_IN_SET(%d,orgids)"; + $param[]=$value1['orgid']; + } + } + + $sql.="(".implode(' OR ',$sql_gid).") and ( uids='' OR FIND_IN_SET(%d,uids))"; + + $sql.=")"; + $param[]=$_G['uid']; + } +} + +$data['sum']=DB::result_first("select count(*) from %t where $sql",$param); +if($data['sum']){//获取最新信息列表; + $list=DB::fetch_all("select newid,subject,authorid,author from %t where $sql $orderby limit 10 ",$param); +} +if($list){ + $html='
    '; + $html.='
    '; + $html.='

    '; + $html.=lang('new_news'); + $html.=' '; + $html.='

    '; + $html.='
    '; + $html.='
    '; + $html.='
    '; + foreach($list as $value){ + $html.= ''; + } + $html.='
    '.$value['subject'].' by '.$value['author'].'
    '; + $html.='
    '; + $html.='
    '; + } + if($html){ + $data['notice']=array('closetime'=>60,'html'=>rawurlencode($html)); //关闭时间1分钟 + }else{ + $data['notice']=''; + } + +echo "noticeCallback(".json_encode($data).")"; + +exit(); +?> diff --git a/user/news/scripts/iframe.js b/user/news/scripts/iframe.js new file mode 100644 index 0000000..d785720 --- /dev/null +++ b/user/news/scripts/iframe.js @@ -0,0 +1,7 @@ +document.addEventListener("DOMContentLoaded",()=>{ + if($(".joe_detail__article-video").length>0){ + const e=$(".joe_detail__article-video .play iframe").attr("data-player");$(".joe_detail__article-video .episodes .item").on("click",function(){ + $(this).addClass("active").siblings().removeClass("active");const t=$(this).attr("data-src");$(".joe_detail__article-video .play iframe").attr({src:e+t}) + }),$(".joe_detail__article-video .episodes .item").first().click() + } +}); \ No newline at end of file diff --git a/user/news/scripts/index.htm b/user/news/scripts/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/scripts/jquery-ui.js b/user/news/scripts/jquery-ui.js new file mode 100644 index 0000000..b6af315 --- /dev/null +++ b/user/news/scripts/jquery-ui.js @@ -0,0 +1,2346 @@ +/*! jQuery UI - v1.11.4 - 2018-01-24 +* http://jqueryui.com +* Includes: core.js, widget.js, mouse.js, sortable.js +* Copyright jQuery Foundation and other contributors; Licensed MIT */ + +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + + // AMD. Register as an anonymous module. + define([ "jquery" ], factory ); + } else { + + // Browser globals + factory( jQuery ); + } +}(function( $ ) { +/*! + * jQuery UI Core 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/category/ui-core/ + */ + + +// $.ui might exist from components with no dependencies, e.g., $.ui.position +$.ui = $.ui || {}; + +$.extend( $.ui, { + version: "1.11.4", + + keyCode: { + BACKSPACE: 8, + COMMA: 188, + DELETE: 46, + DOWN: 40, + END: 35, + ENTER: 13, + ESCAPE: 27, + HOME: 36, + LEFT: 37, + PAGE_DOWN: 34, + PAGE_UP: 33, + PERIOD: 190, + RIGHT: 39, + SPACE: 32, + TAB: 9, + UP: 38 + } +}); + +// plugins +$.fn.extend({ + scrollParent: function( includeHidden ) { + var position = this.css( "position" ), + excludeStaticParent = position === "absolute", + overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/, + scrollParent = this.parents().filter( function() { + var parent = $( this ); + if ( excludeStaticParent && parent.css( "position" ) === "static" ) { + return false; + } + return overflowRegex.test( parent.css( "overflow" ) + parent.css( "overflow-y" ) + parent.css( "overflow-x" ) ); + }).eq( 0 ); + + return position === "fixed" || !scrollParent.length ? $( this[ 0 ].ownerDocument || document ) : scrollParent; + }, + + uniqueId: (function() { + var uuid = 0; + + return function() { + return this.each(function() { + if ( !this.id ) { + this.id = "ui-id-" + ( ++uuid ); + } + }); + }; + })(), + + removeUniqueId: function() { + return this.each(function() { + if ( /^ui-id-\d+$/.test( this.id ) ) { + $( this ).removeAttr( "id" ); + } + }); + } +}); + +// selectors +function focusable( element, isTabIndexNotNaN ) { + var map, mapName, img, + nodeName = element.nodeName.toLowerCase(); + if ( "area" === nodeName ) { + map = element.parentNode; + mapName = map.name; + if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) { + return false; + } + img = $( "img[usemap='#" + mapName + "']" )[ 0 ]; + return !!img && visible( img ); + } + return ( /^(input|select|textarea|button|object)$/.test( nodeName ) ? + !element.disabled : + "a" === nodeName ? + element.href || isTabIndexNotNaN : + isTabIndexNotNaN) && + // the element and all of its ancestors must be visible + visible( element ); +} + +function visible( element ) { + return $.expr.filters.visible( element ) && + !$( element ).parents().addBack().filter(function() { + return $.css( this, "visibility" ) === "hidden"; + }).length; +} + +$.extend( $.expr[ ":" ], { + data: $.expr.createPseudo ? + $.expr.createPseudo(function( dataName ) { + return function( elem ) { + return !!$.data( elem, dataName ); + }; + }) : + // support: jQuery <1.8 + function( elem, i, match ) { + return !!$.data( elem, match[ 3 ] ); + }, + + focusable: function( element ) { + return focusable( element, !isNaN( $.attr( element, "tabindex" ) ) ); + }, + + tabbable: function( element ) { + var tabIndex = $.attr( element, "tabindex" ), + isTabIndexNaN = isNaN( tabIndex ); + return ( isTabIndexNaN || tabIndex >= 0 ) && focusable( element, !isTabIndexNaN ); + } +}); + +// support: jQuery <1.8 +if ( !$( "" ).outerWidth( 1 ).jquery ) { + $.each( [ "Width", "Height" ], function( i, name ) { + var side = name === "Width" ? [ "Left", "Right" ] : [ "Top", "Bottom" ], + type = name.toLowerCase(), + orig = { + innerWidth: $.fn.innerWidth, + innerHeight: $.fn.innerHeight, + outerWidth: $.fn.outerWidth, + outerHeight: $.fn.outerHeight + }; + + function reduce( elem, size, border, margin ) { + $.each( side, function() { + size -= parseFloat( $.css( elem, "padding" + this ) ) || 0; + if ( border ) { + size -= parseFloat( $.css( elem, "border" + this + "Width" ) ) || 0; + } + if ( margin ) { + size -= parseFloat( $.css( elem, "margin" + this ) ) || 0; + } + }); + return size; + } + + $.fn[ "inner" + name ] = function( size ) { + if ( size === undefined ) { + return orig[ "inner" + name ].call( this ); + } + + return this.each(function() { + $( this ).css( type, reduce( this, size ) + "px" ); + }); + }; + + $.fn[ "outer" + name] = function( size, margin ) { + if ( typeof size !== "number" ) { + return orig[ "outer" + name ].call( this, size ); + } + + return this.each(function() { + $( this).css( type, reduce( this, size, true, margin ) + "px" ); + }); + }; + }); +} + +// support: jQuery <1.8 +if ( !$.fn.addBack ) { + $.fn.addBack = function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter( selector ) + ); + }; +} + +// support: jQuery 1.6.1, 1.6.2 (http://bugs.jquery.com/ticket/9413) +if ( $( "" ).data( "a-b", "a" ).removeData( "a-b" ).data( "a-b" ) ) { + $.fn.removeData = (function( removeData ) { + return function( key ) { + if ( arguments.length ) { + return removeData.call( this, $.camelCase( key ) ); + } else { + return removeData.call( this ); + } + }; + })( $.fn.removeData ); +} + +// deprecated +$.ui.ie = !!/msie [\w.]+/.exec( navigator.userAgent.toLowerCase() ); + +$.fn.extend({ + focus: (function( orig ) { + return function( delay, fn ) { + return typeof delay === "number" ? + this.each(function() { + var elem = this; + setTimeout(function() { + $( elem ).focus(); + if ( fn ) { + fn.call( elem ); + } + }, delay ); + }) : + orig.apply( this, arguments ); + }; + })( $.fn.focus ), + + disableSelection: (function() { + var eventType = "onselectstart" in document.createElement( "div" ) ? + "selectstart" : + "mousedown"; + + return function() { + return this.bind( eventType + ".ui-disableSelection", function( event ) { + event.preventDefault(); + }); + }; + })(), + + enableSelection: function() { + return this.unbind( ".ui-disableSelection" ); + }, + + zIndex: function( zIndex ) { + if ( zIndex !== undefined ) { + return this.css( "zIndex", zIndex ); + } + + if ( this.length ) { + var elem = $( this[ 0 ] ), position, value; + while ( elem.length && elem[ 0 ] !== document ) { + // Ignore z-index if position is set to a value where z-index is ignored by the browser + // This makes behavior of this function consistent across browsers + // WebKit always returns auto if the element is positioned + position = elem.css( "position" ); + if ( position === "absolute" || position === "relative" || position === "fixed" ) { + // IE returns 0 when zIndex is not specified + // other browsers return a string + // we ignore the case of nested elements with an explicit value of 0 + //
    + value = parseInt( elem.css( "zIndex" ), 10 ); + if ( !isNaN( value ) && value !== 0 ) { + return value; + } + } + elem = elem.parent(); + } + } + + return 0; + } +}); + +// $.ui.plugin is deprecated. Use $.widget() extensions instead. +$.ui.plugin = { + add: function( module, option, set ) { + var i, + proto = $.ui[ module ].prototype; + for ( i in set ) { + proto.plugins[ i ] = proto.plugins[ i ] || []; + proto.plugins[ i ].push( [ option, set[ i ] ] ); + } + }, + call: function( instance, name, args, allowDisconnected ) { + var i, + set = instance.plugins[ name ]; + + if ( !set ) { + return; + } + + if ( !allowDisconnected && ( !instance.element[ 0 ].parentNode || instance.element[ 0 ].parentNode.nodeType === 11 ) ) { + return; + } + + for ( i = 0; i < set.length; i++ ) { + if ( instance.options[ set[ i ][ 0 ] ] ) { + set[ i ][ 1 ].apply( instance.element, args ); + } + } + } +}; + + +/*! + * jQuery UI Widget 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/jQuery.widget/ + */ + + +var widget_uuid = 0, + widget_slice = Array.prototype.slice; + +$.cleanData = (function( orig ) { + return function( elems ) { + var events, elem, i; + for ( i = 0; (elem = elems[i]) != null; i++ ) { + try { + + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } + + // http://bugs.jquery.com/ticket/8235 + } catch ( e ) {} + } + orig( elems ); + }; +})( $.cleanData ); + +$.widget = function( name, base, prototype ) { + var fullName, existingConstructor, constructor, basePrototype, + // proxiedPrototype allows the provided prototype to remain unmodified + // so that it can be used as a mixin for multiple widgets (#8876) + proxiedPrototype = {}, + namespace = name.split( "." )[ 0 ]; + + name = name.split( "." )[ 1 ]; + fullName = namespace + "-" + name; + + if ( !prototype ) { + prototype = base; + base = $.Widget; + } + + // create selector for plugin + $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + return !!$.data( elem, fullName ); + }; + + $[ namespace ] = $[ namespace ] || {}; + existingConstructor = $[ namespace ][ name ]; + constructor = $[ namespace ][ name ] = function( options, element ) { + // allow instantiation without "new" keyword + if ( !this._createWidget ) { + return new constructor( options, element ); + } + + // allow instantiation without initializing for simple inheritance + // must use "new" keyword (the code above always passes args) + if ( arguments.length ) { + this._createWidget( options, element ); + } + }; + // extend with the existing constructor to carry over any static properties + $.extend( constructor, existingConstructor, { + version: prototype.version, + // copy the object used to create the prototype in case we need to + // redefine the widget later + _proto: $.extend( {}, prototype ), + // track widgets that inherit from this widget in case this widget is + // redefined after a widget inherits from it + _childConstructors: [] + }); + + basePrototype = new base(); + // we need to make the options hash a property directly on the new instance + // otherwise we'll modify the options hash on the prototype that we're + // inheriting from + basePrototype.options = $.widget.extend( {}, basePrototype.options ); + $.each( prototype, function( prop, value ) { + if ( !$.isFunction( value ) ) { + proxiedPrototype[ prop ] = value; + return; + } + proxiedPrototype[ prop ] = (function() { + var _super = function() { + return base.prototype[ prop ].apply( this, arguments ); + }, + _superApply = function( args ) { + return base.prototype[ prop ].apply( this, args ); + }; + return function() { + var __super = this._super, + __superApply = this._superApply, + returnValue; + + this._super = _super; + this._superApply = _superApply; + + returnValue = value.apply( this, arguments ); + + this._super = __super; + this._superApply = __superApply; + + return returnValue; + }; + })(); + }); + constructor.prototype = $.widget.extend( basePrototype, { + // TODO: remove support for widgetEventPrefix + // always use the name + a colon as the prefix, e.g., draggable:start + // don't prefix for widgets that aren't DOM-based + widgetEventPrefix: existingConstructor ? (basePrototype.widgetEventPrefix || name) : name + }, proxiedPrototype, { + constructor: constructor, + namespace: namespace, + widgetName: name, + widgetFullName: fullName + }); + + // If this widget is being redefined then we need to find all widgets that + // are inheriting from it and redefine all of them so that they inherit from + // the new version of this widget. We're essentially trying to replace one + // level in the prototype chain. + if ( existingConstructor ) { + $.each( existingConstructor._childConstructors, function( i, child ) { + var childPrototype = child.prototype; + + // redefine the child widget using the same prototype that was + // originally used, but inherit from the new version of the base + $.widget( childPrototype.namespace + "." + childPrototype.widgetName, constructor, child._proto ); + }); + // remove the list of existing child constructors from the old constructor + // so the old child constructors can be garbage collected + delete existingConstructor._childConstructors; + } else { + base._childConstructors.push( constructor ); + } + + $.widget.bridge( name, constructor ); + + return constructor; +}; + +$.widget.extend = function( target ) { + var input = widget_slice.call( arguments, 1 ), + inputIndex = 0, + inputLength = input.length, + key, + value; + for ( ; inputIndex < inputLength; inputIndex++ ) { + for ( key in input[ inputIndex ] ) { + value = input[ inputIndex ][ key ]; + if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + // Clone objects + if ( $.isPlainObject( value ) ) { + target[ key ] = $.isPlainObject( target[ key ] ) ? + $.widget.extend( {}, target[ key ], value ) : + // Don't extend strings, arrays, etc. with objects + $.widget.extend( {}, value ); + // Copy everything else by reference + } else { + target[ key ] = value; + } + } + } + } + return target; +}; + +$.widget.bridge = function( name, object ) { + var fullName = object.prototype.widgetFullName || name; + $.fn[ name ] = function( options ) { + var isMethodCall = typeof options === "string", + args = widget_slice.call( arguments, 1 ), + returnValue = this; + + if ( isMethodCall ) { + this.each(function() { + var methodValue, + instance = $.data( this, fullName ); + if ( options === "instance" ) { + returnValue = instance; + return false; + } + if ( !instance ) { + return $.error( "cannot call methods on " + name + " prior to initialization; " + + "attempted to call method '" + options + "'" ); + } + if ( !$.isFunction( instance[options] ) || options.charAt( 0 ) === "_" ) { + return $.error( "no such method '" + options + "' for " + name + " widget instance" ); + } + methodValue = instance[ options ].apply( instance, args ); + if ( methodValue !== instance && methodValue !== undefined ) { + returnValue = methodValue && methodValue.jquery ? + returnValue.pushStack( methodValue.get() ) : + methodValue; + return false; + } + }); + } else { + + // Allow multiple hashes to be passed on init + if ( args.length ) { + options = $.widget.extend.apply( null, [ options ].concat(args) ); + } + + this.each(function() { + var instance = $.data( this, fullName ); + if ( instance ) { + instance.option( options || {} ); + if ( instance._init ) { + instance._init(); + } + } else { + $.data( this, fullName, new object( options, this ) ); + } + }); + } + + return returnValue; + }; +}; + +$.Widget = function( /* options, element */ ) {}; +$.Widget._childConstructors = []; + +$.Widget.prototype = { + widgetName: "widget", + widgetEventPrefix: "", + defaultElement: "
    ", + options: { + disabled: false, + + // callbacks + create: null + }, + _createWidget: function( options, element ) { + element = $( element || this.defaultElement || this )[ 0 ]; + this.element = $( element ); + this.uuid = widget_uuid++; + this.eventNamespace = "." + this.widgetName + this.uuid; + + this.bindings = $(); + this.hoverable = $(); + this.focusable = $(); + + if ( element !== this ) { + $.data( element, this.widgetFullName, this ); + this._on( true, this.element, { + remove: function( event ) { + if ( event.target === element ) { + this.destroy(); + } + } + }); + this.document = $( element.style ? + // element within the document + element.ownerDocument : + // element is window or document + element.document || element ); + this.window = $( this.document[0].defaultView || this.document[0].parentWindow ); + } + + this.options = $.widget.extend( {}, + this.options, + this._getCreateOptions(), + options ); + + this._create(); + this._trigger( "create", null, this._getCreateEventData() ); + this._init(); + }, + _getCreateOptions: $.noop, + _getCreateEventData: $.noop, + _create: $.noop, + _init: $.noop, + + destroy: function() { + this._destroy(); + // we can probably remove the unbind calls in 2.0 + // all event bindings should go through this._on() + this.element + .unbind( this.eventNamespace ) + .removeData( this.widgetFullName ) + // support: jquery <1.6.3 + // http://bugs.jquery.com/ticket/9413 + .removeData( $.camelCase( this.widgetFullName ) ); + this.widget() + .unbind( this.eventNamespace ) + .removeAttr( "aria-disabled" ) + .removeClass( + this.widgetFullName + "-disabled " + + "ui-state-disabled" ); + + // clean up events and states + this.bindings.unbind( this.eventNamespace ); + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + }, + _destroy: $.noop, + + widget: function() { + return this.element; + }, + + option: function( key, value ) { + var options = key, + parts, + curOption, + i; + + if ( arguments.length === 0 ) { + // don't return a reference to the internal hash + return $.widget.extend( {}, this.options ); + } + + if ( typeof key === "string" ) { + // handle nested keys, e.g., "foo.bar" => { foo: { bar: ___ } } + options = {}; + parts = key.split( "." ); + key = parts.shift(); + if ( parts.length ) { + curOption = options[ key ] = $.widget.extend( {}, this.options[ key ] ); + for ( i = 0; i < parts.length - 1; i++ ) { + curOption[ parts[ i ] ] = curOption[ parts[ i ] ] || {}; + curOption = curOption[ parts[ i ] ]; + } + key = parts.pop(); + if ( arguments.length === 1 ) { + return curOption[ key ] === undefined ? null : curOption[ key ]; + } + curOption[ key ] = value; + } else { + if ( arguments.length === 1 ) { + return this.options[ key ] === undefined ? null : this.options[ key ]; + } + options[ key ] = value; + } + } + + this._setOptions( options ); + + return this; + }, + _setOptions: function( options ) { + var key; + + for ( key in options ) { + this._setOption( key, options[ key ] ); + } + + return this; + }, + _setOption: function( key, value ) { + this.options[ key ] = value; + + if ( key === "disabled" ) { + this.widget() + .toggleClass( this.widgetFullName + "-disabled", !!value ); + + // If the widget is becoming disabled, then nothing is interactive + if ( value ) { + this.hoverable.removeClass( "ui-state-hover" ); + this.focusable.removeClass( "ui-state-focus" ); + } + } + + return this; + }, + + enable: function() { + return this._setOptions({ disabled: false }); + }, + disable: function() { + return this._setOptions({ disabled: true }); + }, + + _on: function( suppressDisabledCheck, element, handlers ) { + var delegateElement, + instance = this; + + // no suppressDisabledCheck flag, shuffle arguments + if ( typeof suppressDisabledCheck !== "boolean" ) { + handlers = element; + element = suppressDisabledCheck; + suppressDisabledCheck = false; + } + + // no element argument, shuffle and use this.element + if ( !handlers ) { + handlers = element; + element = this.element; + delegateElement = this.widget(); + } else { + element = delegateElement = $( element ); + this.bindings = this.bindings.add( element ); + } + + $.each( handlers, function( event, handler ) { + function handlerProxy() { + // allow widgets to customize the disabled handling + // - disabled as an array instead of boolean + // - disabled class as method for disabling individual parts + if ( !suppressDisabledCheck && + ( instance.options.disabled === true || + $( this ).hasClass( "ui-state-disabled" ) ) ) { + return; + } + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + + // copy the guid so direct unbinding works + if ( typeof handler !== "string" ) { + handlerProxy.guid = handler.guid = + handler.guid || handlerProxy.guid || $.guid++; + } + + var match = event.match( /^([\w:-]*)\s*(.*)$/ ), + eventName = match[1] + instance.eventNamespace, + selector = match[2]; + if ( selector ) { + delegateElement.delegate( selector, eventName, handlerProxy ); + } else { + element.bind( eventName, handlerProxy ); + } + }); + }, + + _off: function( element, eventName ) { + eventName = (eventName || "").split( " " ).join( this.eventNamespace + " " ) + + this.eventNamespace; + element.unbind( eventName ).undelegate( eventName ); + + // Clear the stack to avoid memory leaks (#10056) + this.bindings = $( this.bindings.not( element ).get() ); + this.focusable = $( this.focusable.not( element ).get() ); + this.hoverable = $( this.hoverable.not( element ).get() ); + }, + + _delay: function( handler, delay ) { + function handlerProxy() { + return ( typeof handler === "string" ? instance[ handler ] : handler ) + .apply( instance, arguments ); + } + var instance = this; + return setTimeout( handlerProxy, delay || 0 ); + }, + + _hoverable: function( element ) { + this.hoverable = this.hoverable.add( element ); + this._on( element, { + mouseenter: function( event ) { + $( event.currentTarget ).addClass( "ui-state-hover" ); + }, + mouseleave: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-hover" ); + } + }); + }, + + _focusable: function( element ) { + this.focusable = this.focusable.add( element ); + this._on( element, { + focusin: function( event ) { + $( event.currentTarget ).addClass( "ui-state-focus" ); + }, + focusout: function( event ) { + $( event.currentTarget ).removeClass( "ui-state-focus" ); + } + }); + }, + + _trigger: function( type, event, data ) { + var prop, orig, + callback = this.options[ type ]; + + data = data || {}; + event = $.Event( event ); + event.type = ( type === this.widgetEventPrefix ? + type : + this.widgetEventPrefix + type ).toLowerCase(); + // the original event may come from any element + // so we need to reset the target on the new event + event.target = this.element[ 0 ]; + + // copy original event properties over to the new event + orig = event.originalEvent; + if ( orig ) { + for ( prop in orig ) { + if ( !( prop in event ) ) { + event[ prop ] = orig[ prop ]; + } + } + } + + this.element.trigger( event, data ); + return !( $.isFunction( callback ) && + callback.apply( this.element[0], [ event ].concat( data ) ) === false || + event.isDefaultPrevented() ); + } +}; + +$.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { + $.Widget.prototype[ "_" + method ] = function( element, options, callback ) { + if ( typeof options === "string" ) { + options = { effect: options }; + } + var hasOptions, + effectName = !options ? + method : + options === true || typeof options === "number" ? + defaultEffect : + options.effect || defaultEffect; + options = options || {}; + if ( typeof options === "number" ) { + options = { duration: options }; + } + hasOptions = !$.isEmptyObject( options ); + options.complete = callback; + if ( options.delay ) { + element.delay( options.delay ); + } + if ( hasOptions && $.effects && $.effects.effect[ effectName ] ) { + element[ method ]( options ); + } else if ( effectName !== method && element[ effectName ] ) { + element[ effectName ]( options.duration, options.easing, callback ); + } else { + element.queue(function( next ) { + $( this )[ method ](); + if ( callback ) { + callback.call( element[ 0 ] ); + } + next(); + }); + } + }; +}); + +var widget = $.widget; + + +/*! + * jQuery UI Mouse 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/mouse/ + */ + + +var mouseHandled = false; +$( document ).mouseup( function() { + mouseHandled = false; +}); + +var mouse = $.widget("ui.mouse", { + version: "1.11.4", + options: { + cancel: "input,textarea,button,select,option", + distance: 1, + delay: 0 + }, + _mouseInit: function() { + var that = this; + + this.element + .bind("mousedown." + this.widgetName, function(event) { + return that._mouseDown(event); + }) + .bind("click." + this.widgetName, function(event) { + if (true === $.data(event.target, that.widgetName + ".preventClickEvent")) { + $.removeData(event.target, that.widgetName + ".preventClickEvent"); + event.stopImmediatePropagation(); + return false; + } + }); + + this.started = false; + }, + + // TODO: make sure destroying one instance of mouse doesn't mess with + // other instances of mouse + _mouseDestroy: function() { + this.element.unbind("." + this.widgetName); + if ( this._mouseMoveDelegate ) { + this.document + .unbind("mousemove." + this.widgetName, this._mouseMoveDelegate) + .unbind("mouseup." + this.widgetName, this._mouseUpDelegate); + } + }, + + _mouseDown: function(event) { + // don't let more than one widget handle mouseStart + if ( mouseHandled ) { + return; + } + + this._mouseMoved = false; + + // we may have missed mouseup (out of window) + (this._mouseStarted && this._mouseUp(event)); + + this._mouseDownEvent = event; + + var that = this, + btnIsLeft = (event.which === 1), + // event.target.nodeName works around a bug in IE 8 with + // disabled inputs (#7620) + elIsCancel = (typeof this.options.cancel === "string" && event.target.nodeName ? $(event.target).closest(this.options.cancel).length : false); + if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) { + return true; + } + + this.mouseDelayMet = !this.options.delay; + if (!this.mouseDelayMet) { + this._mouseDelayTimer = setTimeout(function() { + that.mouseDelayMet = true; + }, this.options.delay); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = (this._mouseStart(event) !== false); + if (!this._mouseStarted) { + event.preventDefault(); + return true; + } + } + + // Click event may never have fired (Gecko & Opera) + if (true === $.data(event.target, this.widgetName + ".preventClickEvent")) { + $.removeData(event.target, this.widgetName + ".preventClickEvent"); + } + + // these delegates are required to keep context + this._mouseMoveDelegate = function(event) { + return that._mouseMove(event); + }; + this._mouseUpDelegate = function(event) { + return that._mouseUp(event); + }; + + this.document + .bind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .bind( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + event.preventDefault(); + + mouseHandled = true; + return true; + }, + + _mouseMove: function(event) { + // Only check for mouseups outside the document if you've moved inside the document + // at least once. This prevents the firing of mouseup in the case of IE<9, which will + // fire a mousemove event if content is placed under the cursor. See #7778 + // Support: IE <9 + if ( this._mouseMoved ) { + // IE mouseup check - mouseup happened when mouse was out of window + if ($.ui.ie && ( !document.documentMode || document.documentMode < 9 ) && !event.button) { + return this._mouseUp(event); + + // Iframe mouseup check - mouseup occurred in another document + } else if ( !event.which ) { + return this._mouseUp( event ); + } + } + + if ( event.which || event.button ) { + this._mouseMoved = true; + } + + if (this._mouseStarted) { + this._mouseDrag(event); + return event.preventDefault(); + } + + if (this._mouseDistanceMet(event) && this._mouseDelayMet(event)) { + this._mouseStarted = + (this._mouseStart(this._mouseDownEvent, event) !== false); + (this._mouseStarted ? this._mouseDrag(event) : this._mouseUp(event)); + } + + return !this._mouseStarted; + }, + + _mouseUp: function(event) { + this.document + .unbind( "mousemove." + this.widgetName, this._mouseMoveDelegate ) + .unbind( "mouseup." + this.widgetName, this._mouseUpDelegate ); + + if (this._mouseStarted) { + this._mouseStarted = false; + + if (event.target === this._mouseDownEvent.target) { + $.data(event.target, this.widgetName + ".preventClickEvent", true); + } + + this._mouseStop(event); + } + + mouseHandled = false; + return false; + }, + + _mouseDistanceMet: function(event) { + return (Math.max( + Math.abs(this._mouseDownEvent.pageX - event.pageX), + Math.abs(this._mouseDownEvent.pageY - event.pageY) + ) >= this.options.distance + ); + }, + + _mouseDelayMet: function(/* event */) { + return this.mouseDelayMet; + }, + + // These are placeholder methods, to be overriden by extending plugin + _mouseStart: function(/* event */) {}, + _mouseDrag: function(/* event */) {}, + _mouseStop: function(/* event */) {}, + _mouseCapture: function(/* event */) { return true; } +}); + + +/*! + * jQuery UI Sortable 1.11.4 + * http://jqueryui.com + * + * Copyright jQuery Foundation and other contributors + * Released under the MIT license. + * http://jquery.org/license + * + * http://api.jqueryui.com/sortable/ + */ + + +var sortable = $.widget("ui.sortable", $.ui.mouse, { + version: "1.11.4", + widgetEventPrefix: "sort", + ready: false, + options: { + appendTo: "parent", + axis: false, + connectWith: false, + containment: false, + cursor: "auto", + cursorAt: false, + dropOnEmpty: true, + forcePlaceholderSize: false, + forceHelperSize: false, + grid: false, + handle: false, + helper: "original", + items: "> *", + opacity: false, + placeholder: false, + revert: false, + scroll: true, + scrollSensitivity: 20, + scrollSpeed: 20, + scope: "default", + tolerance: "intersect", + zIndex: 1000, + + // callbacks + activate: null, + beforeStop: null, + change: null, + deactivate: null, + out: null, + over: null, + receive: null, + remove: null, + sort: null, + start: null, + stop: null, + update: null + }, + + _isOverAxis: function( x, reference, size ) { + return ( x >= reference ) && ( x < ( reference + size ) ); + }, + + _isFloating: function( item ) { + return (/left|right/).test(item.css("float")) || (/inline|table-cell/).test(item.css("display")); + }, + + _create: function() { + this.containerCache = {}; + this.element.addClass("ui-sortable"); + + //Get the items + this.refresh(); + + //Let's determine the parent's offset + this.offset = this.element.offset(); + + //Initialize mouse events for interaction + this._mouseInit(); + + this._setHandleClassName(); + + //We're ready to go + this.ready = true; + + }, + + _setOption: function( key, value ) { + this._super( key, value ); + + if ( key === "handle" ) { + this._setHandleClassName(); + } + }, + + _setHandleClassName: function() { + this.element.find( ".ui-sortable-handle" ).removeClass( "ui-sortable-handle" ); + $.each( this.items, function() { + ( this.instance.options.handle ? + this.item.find( this.instance.options.handle ) : this.item ) + .addClass( "ui-sortable-handle" ); + }); + }, + + _destroy: function() { + this.element + .removeClass( "ui-sortable ui-sortable-disabled" ) + .find( ".ui-sortable-handle" ) + .removeClass( "ui-sortable-handle" ); + this._mouseDestroy(); + + for ( var i = this.items.length - 1; i >= 0; i-- ) { + this.items[i].item.removeData(this.widgetName + "-item"); + } + + return this; + }, + + _mouseCapture: function(event, overrideHandle) { + var currentItem = null, + validHandle = false, + that = this; + + if (this.reverting) { + return false; + } + + if(this.options.disabled || this.options.type === "static") { + return false; + } + + //We have to refresh the items data once first + this._refreshItems(event); + + //Find out if the clicked node (or one of its parents) is a actual item in this.items + $(event.target).parents().each(function() { + if($.data(this, that.widgetName + "-item") === that) { + currentItem = $(this); + return false; + } + }); + if($.data(event.target, that.widgetName + "-item") === that) { + currentItem = $(event.target); + } + + if(!currentItem) { + return false; + } + if(this.options.handle && !overrideHandle) { + $(this.options.handle, currentItem).find("*").addBack().each(function() { + if(this === event.target) { + validHandle = true; + } + }); + if(!validHandle) { + return false; + } + } + + this.currentItem = currentItem; + this._removeCurrentsFromItems(); + return true; + + }, + + _mouseStart: function(event, overrideHandle, noActivation) { + + var i, body, + o = this.options; + + this.currentContainer = this; + + //We only need to call refreshPositions, because the refreshItems call has been moved to mouseCapture + this.refreshPositions(); + + //Create and append the visible helper + this.helper = this._createHelper(event); + + //Cache the helper size + this._cacheHelperProportions(); + + /* + * - Position generation - + * This block generates everything position related - it's the core of draggables. + */ + + //Cache the margins of the original element + this._cacheMargins(); + + //Get the next scrolling parent + this.scrollParent = this.helper.scrollParent(); + + //The element's absolute position on the page minus margins + this.offset = this.currentItem.offset(); + this.offset = { + top: this.offset.top - this.margins.top, + left: this.offset.left - this.margins.left + }; + + $.extend(this.offset, { + click: { //Where the click happened, relative to the element + left: event.pageX - this.offset.left, + top: event.pageY - this.offset.top + }, + parent: this._getParentOffset(), + relative: this._getRelativeOffset() //This is a relative to absolute position minus the actual position calculation - only used for relative positioned helper + }); + + // Only after we got the offset, we can change the helper's position to absolute + // TODO: Still need to figure out a way to make relative sorting possible + this.helper.css("position", "absolute"); + this.cssPosition = this.helper.css("position"); + + //Generate the original position + this.originalPosition = this._generatePosition(event); + this.originalPageX = event.pageX; + this.originalPageY = event.pageY; + + //Adjust the mouse offset relative to the helper if "cursorAt" is supplied + (o.cursorAt && this._adjustOffsetFromHelper(o.cursorAt)); + + //Cache the former DOM position + this.domPosition = { prev: this.currentItem.prev()[0], parent: this.currentItem.parent()[0] }; + + //If the helper is not the original, hide the original so it's not playing any role during the drag, won't cause anything bad this way + if(this.helper[0] !== this.currentItem[0]) { + this.currentItem.hide(); + } + + //Create the placeholder + this._createPlaceholder(); + + //Set a containment if given in the options + if(o.containment) { + this._setContainment(); + } + + if( o.cursor && o.cursor !== "auto" ) { // cursor option + body = this.document.find( "body" ); + + // support: IE + this.storedCursor = body.css( "cursor" ); + body.css( "cursor", o.cursor ); + + this.storedStylesheet = $( "" ).appendTo( body ); + } + + if(o.opacity) { // opacity option + if (this.helper.css("opacity")) { + this._storedOpacity = this.helper.css("opacity"); + } + this.helper.css("opacity", o.opacity); + } + + if(o.zIndex) { // zIndex option + if (this.helper.css("zIndex")) { + this._storedZIndex = this.helper.css("zIndex"); + } + this.helper.css("zIndex", o.zIndex); + } + + //Prepare scrolling + if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { + this.overflowOffset = this.scrollParent.offset(); + } + + //Call callbacks + this._trigger("start", event, this._uiHash()); + + //Recache the helper size + if(!this._preserveHelperProportions) { + this._cacheHelperProportions(); + } + + + //Post "activate" events to possible containers + if( !noActivation ) { + for ( i = this.containers.length - 1; i >= 0; i-- ) { + this.containers[ i ]._trigger( "activate", event, this._uiHash( this ) ); + } + } + + //Prepare possible droppables + if($.ui.ddmanager) { + $.ui.ddmanager.current = this; + } + + if ($.ui.ddmanager && !o.dropBehaviour) { + $.ui.ddmanager.prepareOffsets(this, event); + } + + this.dragging = true; + + this.helper.addClass("ui-sortable-helper"); + this._mouseDrag(event); //Execute the drag once - this causes the helper not to be visible before getting its correct position + return true; + + }, + + _mouseDrag: function(event) { + var i, item, itemElement, intersection, + o = this.options, + scrolled = false; + + //Compute the helpers position + this.position = this._generatePosition(event); + this.positionAbs = this._convertPositionTo("absolute"); + + if (!this.lastPositionAbs) { + this.lastPositionAbs = this.positionAbs; + } + + //Do scrolling + if(this.options.scroll) { + if(this.scrollParent[0] !== this.document[0] && this.scrollParent[0].tagName !== "HTML") { + + if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity) { + this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed; + } else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity) { + this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed; + } + + if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity) { + this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed; + } else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity) { + this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed; + } + + } else { + + if(event.pageY - this.document.scrollTop() < o.scrollSensitivity) { + scrolled = this.document.scrollTop(this.document.scrollTop() - o.scrollSpeed); + } else if(this.window.height() - (event.pageY - this.document.scrollTop()) < o.scrollSensitivity) { + scrolled = this.document.scrollTop(this.document.scrollTop() + o.scrollSpeed); + } + + if(event.pageX - this.document.scrollLeft() < o.scrollSensitivity) { + scrolled = this.document.scrollLeft(this.document.scrollLeft() - o.scrollSpeed); + } else if(this.window.width() - (event.pageX - this.document.scrollLeft()) < o.scrollSensitivity) { + scrolled = this.document.scrollLeft(this.document.scrollLeft() + o.scrollSpeed); + } + + } + + if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour) { + $.ui.ddmanager.prepareOffsets(this, event); + } + } + + //Regenerate the absolute position used for position checks + this.positionAbs = this._convertPositionTo("absolute"); + + //Set the helper position + if(!this.options.axis || this.options.axis !== "y") { + this.helper[0].style.left = this.position.left+"px"; + } + if(!this.options.axis || this.options.axis !== "x") { + this.helper[0].style.top = this.position.top+"px"; + } + + //Rearrange + for (i = this.items.length - 1; i >= 0; i--) { + + //Cache variables and intersection, continue if no intersection + item = this.items[i]; + itemElement = item.item[0]; + intersection = this._intersectsWithPointer(item); + if (!intersection) { + continue; + } + + // Only put the placeholder inside the current Container, skip all + // items from other containers. This works because when moving + // an item from one container to another the + // currentContainer is switched before the placeholder is moved. + // + // Without this, moving items in "sub-sortables" can cause + // the placeholder to jitter between the outer and inner container. + if (item.instance !== this.currentContainer) { + continue; + } + + // cannot intersect with itself + // no useless actions that have been done before + // no action if the item moved is the parent of the item checked + if (itemElement !== this.currentItem[0] && + this.placeholder[intersection === 1 ? "next" : "prev"]()[0] !== itemElement && + !$.contains(this.placeholder[0], itemElement) && + (this.options.type === "semi-dynamic" ? !$.contains(this.element[0], itemElement) : true) + ) { + + this.direction = intersection === 1 ? "down" : "up"; + + if (this.options.tolerance === "pointer" || this._intersectsWithSides(item)) { + this._rearrange(event, item); + } else { + break; + } + + this._trigger("change", event, this._uiHash()); + break; + } + } + + //Post events to containers + this._contactContainers(event); + + //Interconnect with droppables + if($.ui.ddmanager) { + $.ui.ddmanager.drag(this, event); + } + + //Call callbacks + this._trigger("sort", event, this._uiHash()); + + this.lastPositionAbs = this.positionAbs; + return false; + + }, + + _mouseStop: function(event, noPropagation) { + + if(!event) { + return; + } + + //If we are using droppables, inform the manager about the drop + if ($.ui.ddmanager && !this.options.dropBehaviour) { + $.ui.ddmanager.drop(this, event); + } + + if(this.options.revert) { + var that = this, + cur = this.placeholder.offset(), + axis = this.options.axis, + animation = {}; + + if ( !axis || axis === "x" ) { + animation.left = cur.left - this.offset.parent.left - this.margins.left + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollLeft); + } + if ( !axis || axis === "y" ) { + animation.top = cur.top - this.offset.parent.top - this.margins.top + (this.offsetParent[0] === this.document[0].body ? 0 : this.offsetParent[0].scrollTop); + } + this.reverting = true; + $(this.helper).animate( animation, parseInt(this.options.revert, 10) || 500, function() { + that._clear(event); + }); + } else { + this._clear(event, noPropagation); + } + + return false; + + }, + + cancel: function() { + + if(this.dragging) { + + this._mouseUp({ target: null }); + + if(this.options.helper === "original") { + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + } else { + this.currentItem.show(); + } + + //Post deactivating events to containers + for (var i = this.containers.length - 1; i >= 0; i--){ + this.containers[i]._trigger("deactivate", null, this._uiHash(this)); + if(this.containers[i].containerCache.over) { + this.containers[i]._trigger("out", null, this._uiHash(this)); + this.containers[i].containerCache.over = 0; + } + } + + } + + if (this.placeholder) { + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! + if(this.placeholder[0].parentNode) { + this.placeholder[0].parentNode.removeChild(this.placeholder[0]); + } + if(this.options.helper !== "original" && this.helper && this.helper[0].parentNode) { + this.helper.remove(); + } + + $.extend(this, { + helper: null, + dragging: false, + reverting: false, + _noFinalSort: null + }); + + if(this.domPosition.prev) { + $(this.domPosition.prev).after(this.currentItem); + } else { + $(this.domPosition.parent).prepend(this.currentItem); + } + } + + return this; + + }, + + serialize: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected), + str = []; + o = o || {}; + + $(items).each(function() { + var res = ($(o.item || this).attr(o.attribute || "id") || "").match(o.expression || (/(.+)[\-=_](.+)/)); + if (res) { + str.push((o.key || res[1]+"[]")+"="+(o.key && o.expression ? res[1] : res[2])); + } + }); + + if(!str.length && o.key) { + str.push(o.key + "="); + } + + return str.join("&"); + + }, + + toArray: function(o) { + + var items = this._getItemsAsjQuery(o && o.connected), + ret = []; + + o = o || {}; + + items.each(function() { ret.push($(o.item || this).attr(o.attribute || "id") || ""); }); + return ret; + + }, + + /* Be careful with the following core functions */ + _intersectsWith: function(item) { + + var x1 = this.positionAbs.left, + x2 = x1 + this.helperProportions.width, + y1 = this.positionAbs.top, + y2 = y1 + this.helperProportions.height, + l = item.left, + r = l + item.width, + t = item.top, + b = t + item.height, + dyClick = this.offset.click.top, + dxClick = this.offset.click.left, + isOverElementHeight = ( this.options.axis === "x" ) || ( ( y1 + dyClick ) > t && ( y1 + dyClick ) < b ), + isOverElementWidth = ( this.options.axis === "y" ) || ( ( x1 + dxClick ) > l && ( x1 + dxClick ) < r ), + isOverElement = isOverElementHeight && isOverElementWidth; + + if ( this.options.tolerance === "pointer" || + this.options.forcePointerForContainers || + (this.options.tolerance !== "pointer" && this.helperProportions[this.floating ? "width" : "height"] > item[this.floating ? "width" : "height"]) + ) { + return isOverElement; + } else { + + return (l < x1 + (this.helperProportions.width / 2) && // Right Half + x2 - (this.helperProportions.width / 2) < r && // Left Half + t < y1 + (this.helperProportions.height / 2) && // Bottom Half + y2 - (this.helperProportions.height / 2) < b ); // Top Half + + } + }, + + _intersectsWithPointer: function(item) { + + var isOverElementHeight = (this.options.axis === "x") || this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top, item.height), + isOverElementWidth = (this.options.axis === "y") || this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left, item.width), + isOverElement = isOverElementHeight && isOverElementWidth, + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (!isOverElement) { + return false; + } + + return this.floating ? + ( ((horizontalDirection && horizontalDirection === "right") || verticalDirection === "down") ? 2 : 1 ) + : ( verticalDirection && (verticalDirection === "down" ? 2 : 1) ); + + }, + + _intersectsWithSides: function(item) { + + var isOverBottomHalf = this._isOverAxis(this.positionAbs.top + this.offset.click.top, item.top + (item.height/2), item.height), + isOverRightHalf = this._isOverAxis(this.positionAbs.left + this.offset.click.left, item.left + (item.width/2), item.width), + verticalDirection = this._getDragVerticalDirection(), + horizontalDirection = this._getDragHorizontalDirection(); + + if (this.floating && horizontalDirection) { + return ((horizontalDirection === "right" && isOverRightHalf) || (horizontalDirection === "left" && !isOverRightHalf)); + } else { + return verticalDirection && ((verticalDirection === "down" && isOverBottomHalf) || (verticalDirection === "up" && !isOverBottomHalf)); + } + + }, + + _getDragVerticalDirection: function() { + var delta = this.positionAbs.top - this.lastPositionAbs.top; + return delta !== 0 && (delta > 0 ? "down" : "up"); + }, + + _getDragHorizontalDirection: function() { + var delta = this.positionAbs.left - this.lastPositionAbs.left; + return delta !== 0 && (delta > 0 ? "right" : "left"); + }, + + refresh: function(event) { + this._refreshItems(event); + this._setHandleClassName(); + this.refreshPositions(); + return this; + }, + + _connectWith: function() { + var options = this.options; + return options.connectWith.constructor === String ? [options.connectWith] : options.connectWith; + }, + + _getItemsAsjQuery: function(connected) { + + var i, j, cur, inst, + items = [], + queries = [], + connectWith = this._connectWith(); + + if(connectWith && connected) { + for (i = connectWith.length - 1; i >= 0; i--){ + cur = $(connectWith[i], this.document[0]); + for ( j = cur.length - 1; j >= 0; j--){ + inst = $.data(cur[j], this.widgetFullName); + if(inst && inst !== this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element) : $(inst.options.items, inst.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), inst]); + } + } + } + } + + queries.push([$.isFunction(this.options.items) ? this.options.items.call(this.element, null, { options: this.options, item: this.currentItem }) : $(this.options.items, this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), this]); + + function addItems() { + items.push( this ); + } + for (i = queries.length - 1; i >= 0; i--){ + queries[i][0].each( addItems ); + } + + return $(items); + + }, + + _removeCurrentsFromItems: function() { + + var list = this.currentItem.find(":data(" + this.widgetName + "-item)"); + + this.items = $.grep(this.items, function (item) { + for (var j=0; j < list.length; j++) { + if(list[j] === item.item[0]) { + return false; + } + } + return true; + }); + + }, + + _refreshItems: function(event) { + + this.items = []; + this.containers = [this]; + + var i, j, cur, inst, targetData, _queries, item, queriesLength, + items = this.items, + queries = [[$.isFunction(this.options.items) ? this.options.items.call(this.element[0], event, { item: this.currentItem }) : $(this.options.items, this.element), this]], + connectWith = this._connectWith(); + + if(connectWith && this.ready) { //Shouldn't be run the first time through due to massive slow-down + for (i = connectWith.length - 1; i >= 0; i--){ + cur = $(connectWith[i], this.document[0]); + for (j = cur.length - 1; j >= 0; j--){ + inst = $.data(cur[j], this.widgetFullName); + if(inst && inst !== this && !inst.options.disabled) { + queries.push([$.isFunction(inst.options.items) ? inst.options.items.call(inst.element[0], event, { item: this.currentItem }) : $(inst.options.items, inst.element), inst]); + this.containers.push(inst); + } + } + } + } + + for (i = queries.length - 1; i >= 0; i--) { + targetData = queries[i][1]; + _queries = queries[i][0]; + + for (j=0, queriesLength = _queries.length; j < queriesLength; j++) { + item = $(_queries[j]); + + item.data(this.widgetName + "-item", targetData); // Data for target checking (mouse manager) + + items.push({ + item: item, + instance: targetData, + width: 0, height: 0, + left: 0, top: 0 + }); + } + } + + }, + + refreshPositions: function(fast) { + + // Determine whether items are being displayed horizontally + this.floating = this.items.length ? + this.options.axis === "x" || this._isFloating( this.items[ 0 ].item ) : + false; + + //This has to be redone because due to the item being moved out/into the offsetParent, the offsetParent's position will change + if(this.offsetParent && this.helper) { + this.offset.parent = this._getParentOffset(); + } + + var i, item, t, p; + + for (i = this.items.length - 1; i >= 0; i--){ + item = this.items[i]; + + //We ignore calculating positions of all connected containers when we're not over them + if(item.instance !== this.currentContainer && this.currentContainer && item.item[0] !== this.currentItem[0]) { + continue; + } + + t = this.options.toleranceElement ? $(this.options.toleranceElement, item.item) : item.item; + + if (!fast) { + item.width = t.outerWidth(); + item.height = t.outerHeight(); + } + + p = t.offset(); + item.left = p.left; + item.top = p.top; + } + + if(this.options.custom && this.options.custom.refreshContainers) { + this.options.custom.refreshContainers.call(this); + } else { + for (i = this.containers.length - 1; i >= 0; i--){ + p = this.containers[i].element.offset(); + this.containers[i].containerCache.left = p.left; + this.containers[i].containerCache.top = p.top; + this.containers[i].containerCache.width = this.containers[i].element.outerWidth(); + this.containers[i].containerCache.height = this.containers[i].element.outerHeight(); + } + } + + return this; + }, + + _createPlaceholder: function(that) { + that = that || this; + var className, + o = that.options; + + if(!o.placeholder || o.placeholder.constructor === String) { + className = o.placeholder; + o.placeholder = { + element: function() { + + var nodeName = that.currentItem[0].nodeName.toLowerCase(), + element = $( "<" + nodeName + ">", that.document[0] ) + .addClass(className || that.currentItem[0].className+" ui-sortable-placeholder") + .removeClass("ui-sortable-helper"); + + if ( nodeName === "tbody" ) { + that._createTrPlaceholder( + that.currentItem.find( "tr" ).eq( 0 ), + $( "", that.document[ 0 ] ).appendTo( element ) + ); + } else if ( nodeName === "tr" ) { + that._createTrPlaceholder( that.currentItem, element ); + } else if ( nodeName === "img" ) { + element.attr( "src", that.currentItem.attr( "src" ) ); + } + + if ( !className ) { + element.css( "visibility", "hidden" ); + } + + return element; + }, + update: function(container, p) { + + // 1. If a className is set as 'placeholder option, we don't force sizes - the class is responsible for that + // 2. The option 'forcePlaceholderSize can be enabled to force it even if a class name is specified + if(className && !o.forcePlaceholderSize) { + return; + } + + //If the element doesn't have a actual height by itself (without styles coming from a stylesheet), it receives the inline height from the dragged item + if(!p.height()) { p.height(that.currentItem.innerHeight() - parseInt(that.currentItem.css("paddingTop")||0, 10) - parseInt(that.currentItem.css("paddingBottom")||0, 10)); } + if(!p.width()) { p.width(that.currentItem.innerWidth() - parseInt(that.currentItem.css("paddingLeft")||0, 10) - parseInt(that.currentItem.css("paddingRight")||0, 10)); } + } + }; + } + + //Create the placeholder + that.placeholder = $(o.placeholder.element.call(that.element, that.currentItem)); + + //Append it after the actual current item + that.currentItem.after(that.placeholder); + + //Update the size of the placeholder (TODO: Logic to fuzzy, see line 316/317) + o.placeholder.update(that, that.placeholder); + + }, + + _createTrPlaceholder: function( sourceTr, targetTr ) { + var that = this; + + sourceTr.children().each(function() { + $( " ", that.document[ 0 ] ) + .attr( "colspan", $( this ).attr( "colspan" ) || 1 ) + .appendTo( targetTr ); + }); + }, + + _contactContainers: function(event) { + var i, j, dist, itemWithLeastDistance, posProperty, sizeProperty, cur, nearBottom, floating, axis, + innermostContainer = null, + innermostIndex = null; + + // get innermost container that intersects with item + for (i = this.containers.length - 1; i >= 0; i--) { + + // never consider a container that's located within the item itself + if($.contains(this.currentItem[0], this.containers[i].element[0])) { + continue; + } + + if(this._intersectsWith(this.containers[i].containerCache)) { + + // if we've already found a container and it's more "inner" than this, then continue + if(innermostContainer && $.contains(this.containers[i].element[0], innermostContainer.element[0])) { + continue; + } + + innermostContainer = this.containers[i]; + innermostIndex = i; + + } else { + // container doesn't intersect. trigger "out" event if necessary + if(this.containers[i].containerCache.over) { + this.containers[i]._trigger("out", event, this._uiHash(this)); + this.containers[i].containerCache.over = 0; + } + } + + } + + // if no intersecting containers found, return + if(!innermostContainer) { + return; + } + + // move the item into the container if it's not there already + if(this.containers.length === 1) { + if (!this.containers[innermostIndex].containerCache.over) { + this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); + this.containers[innermostIndex].containerCache.over = 1; + } + } else { + + //When entering a new container, we will find the item with the least distance and append our item near it + dist = 10000; + itemWithLeastDistance = null; + floating = innermostContainer.floating || this._isFloating(this.currentItem); + posProperty = floating ? "left" : "top"; + sizeProperty = floating ? "width" : "height"; + axis = floating ? "clientX" : "clientY"; + + for (j = this.items.length - 1; j >= 0; j--) { + if(!$.contains(this.containers[innermostIndex].element[0], this.items[j].item[0])) { + continue; + } + if(this.items[j].item[0] === this.currentItem[0]) { + continue; + } + + cur = this.items[j].item.offset()[posProperty]; + nearBottom = false; + if ( event[ axis ] - cur > this.items[ j ][ sizeProperty ] / 2 ) { + nearBottom = true; + } + + if ( Math.abs( event[ axis ] - cur ) < dist ) { + dist = Math.abs( event[ axis ] - cur ); + itemWithLeastDistance = this.items[ j ]; + this.direction = nearBottom ? "up": "down"; + } + } + + //Check if dropOnEmpty is enabled + if(!itemWithLeastDistance && !this.options.dropOnEmpty) { + return; + } + + if(this.currentContainer === this.containers[innermostIndex]) { + if ( !this.currentContainer.containerCache.over ) { + this.containers[ innermostIndex ]._trigger( "over", event, this._uiHash() ); + this.currentContainer.containerCache.over = 1; + } + return; + } + + itemWithLeastDistance ? this._rearrange(event, itemWithLeastDistance, null, true) : this._rearrange(event, null, this.containers[innermostIndex].element, true); + this._trigger("change", event, this._uiHash()); + this.containers[innermostIndex]._trigger("change", event, this._uiHash(this)); + this.currentContainer = this.containers[innermostIndex]; + + //Update the placeholder + this.options.placeholder.update(this.currentContainer, this.placeholder); + + this.containers[innermostIndex]._trigger("over", event, this._uiHash(this)); + this.containers[innermostIndex].containerCache.over = 1; + } + + + }, + + _createHelper: function(event) { + + var o = this.options, + helper = $.isFunction(o.helper) ? $(o.helper.apply(this.element[0], [event, this.currentItem])) : (o.helper === "clone" ? this.currentItem.clone() : this.currentItem); + + //Add the helper to the DOM if that didn't happen already + if(!helper.parents("body").length) { + $(o.appendTo !== "parent" ? o.appendTo : this.currentItem[0].parentNode)[0].appendChild(helper[0]); + } + + if(helper[0] === this.currentItem[0]) { + this._storedCSS = { width: this.currentItem[0].style.width, height: this.currentItem[0].style.height, position: this.currentItem.css("position"), top: this.currentItem.css("top"), left: this.currentItem.css("left") }; + } + + if(!helper[0].style.width || o.forceHelperSize) { + helper.width(this.currentItem.width()); + } + if(!helper[0].style.height || o.forceHelperSize) { + helper.height(this.currentItem.height()); + } + + return helper; + + }, + + _adjustOffsetFromHelper: function(obj) { + if (typeof obj === "string") { + obj = obj.split(" "); + } + if ($.isArray(obj)) { + obj = {left: +obj[0], top: +obj[1] || 0}; + } + if ("left" in obj) { + this.offset.click.left = obj.left + this.margins.left; + } + if ("right" in obj) { + this.offset.click.left = this.helperProportions.width - obj.right + this.margins.left; + } + if ("top" in obj) { + this.offset.click.top = obj.top + this.margins.top; + } + if ("bottom" in obj) { + this.offset.click.top = this.helperProportions.height - obj.bottom + this.margins.top; + } + }, + + _getParentOffset: function() { + + + //Get the offsetParent and cache its position + this.offsetParent = this.helper.offsetParent(); + var po = this.offsetParent.offset(); + + // This is a special case where we need to modify a offset calculated on start, since the following happened: + // 1. The position of the helper is absolute, so it's position is calculated based on the next positioned parent + // 2. The actual offset parent is a child of the scroll parent, and the scroll parent isn't the document, which means that + // the scroll is included in the initial calculation of the offset of the parent, and never recalculated upon drag + if(this.cssPosition === "absolute" && this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) { + po.left += this.scrollParent.scrollLeft(); + po.top += this.scrollParent.scrollTop(); + } + + // This needs to be actually done for all browsers, since pageX/pageY includes this information + // with an ugly IE fix + if( this.offsetParent[0] === this.document[0].body || (this.offsetParent[0].tagName && this.offsetParent[0].tagName.toLowerCase() === "html" && $.ui.ie)) { + po = { top: 0, left: 0 }; + } + + return { + top: po.top + (parseInt(this.offsetParent.css("borderTopWidth"),10) || 0), + left: po.left + (parseInt(this.offsetParent.css("borderLeftWidth"),10) || 0) + }; + + }, + + _getRelativeOffset: function() { + + if(this.cssPosition === "relative") { + var p = this.currentItem.position(); + return { + top: p.top - (parseInt(this.helper.css("top"),10) || 0) + this.scrollParent.scrollTop(), + left: p.left - (parseInt(this.helper.css("left"),10) || 0) + this.scrollParent.scrollLeft() + }; + } else { + return { top: 0, left: 0 }; + } + + }, + + _cacheMargins: function() { + this.margins = { + left: (parseInt(this.currentItem.css("marginLeft"),10) || 0), + top: (parseInt(this.currentItem.css("marginTop"),10) || 0) + }; + }, + + _cacheHelperProportions: function() { + this.helperProportions = { + width: this.helper.outerWidth(), + height: this.helper.outerHeight() + }; + }, + + _setContainment: function() { + + var ce, co, over, + o = this.options; + if(o.containment === "parent") { + o.containment = this.helper[0].parentNode; + } + if(o.containment === "document" || o.containment === "window") { + this.containment = [ + 0 - this.offset.relative.left - this.offset.parent.left, + 0 - this.offset.relative.top - this.offset.parent.top, + o.containment === "document" ? this.document.width() : this.window.width() - this.helperProportions.width - this.margins.left, + (o.containment === "document" ? this.document.width() : this.window.height() || this.document[0].body.parentNode.scrollHeight) - this.helperProportions.height - this.margins.top + ]; + } + + if(!(/^(document|window|parent)$/).test(o.containment)) { + ce = $(o.containment)[0]; + co = $(o.containment).offset(); + over = ($(ce).css("overflow") !== "hidden"); + + this.containment = [ + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top + ]; + } + + }, + + _convertPositionTo: function(d, pos) { + + if(!pos) { + pos = this.position; + } + var mod = d === "absolute" ? 1 : -1, + scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, + scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + + return { + top: ( + pos.top + // The absolute mouse position + this.offset.relative.top * mod + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.top * mod - // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) ) * mod) + ), + left: ( + pos.left + // The absolute mouse position + this.offset.relative.left * mod + // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.left * mod - // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() ) * mod) + ) + }; + + }, + + _generatePosition: function(event) { + + var top, left, + o = this.options, + pageX = event.pageX, + pageY = event.pageY, + scroll = this.cssPosition === "absolute" && !(this.scrollParent[0] !== this.document[0] && $.contains(this.scrollParent[0], this.offsetParent[0])) ? this.offsetParent : this.scrollParent, scrollIsRootNode = (/(html|body)/i).test(scroll[0].tagName); + + // This is another very weird special case that only happens for relative elements: + // 1. If the css position is relative + // 2. and the scroll parent is the document or similar to the offset parent + // we have to refresh the relative offset during the scroll so there are no jumps + if(this.cssPosition === "relative" && !(this.scrollParent[0] !== this.document[0] && this.scrollParent[0] !== this.offsetParent[0])) { + this.offset.relative = this._getRelativeOffset(); + } + + /* + * - Position constraining - + * Constrain the position to a mix of grid, containment. + */ + + if(this.originalPosition) { //If we are not dragging yet, we won't check for options + + if(this.containment) { + if(event.pageX - this.offset.click.left < this.containment[0]) { + pageX = this.containment[0] + this.offset.click.left; + } + if(event.pageY - this.offset.click.top < this.containment[1]) { + pageY = this.containment[1] + this.offset.click.top; + } + if(event.pageX - this.offset.click.left > this.containment[2]) { + pageX = this.containment[2] + this.offset.click.left; + } + if(event.pageY - this.offset.click.top > this.containment[3]) { + pageY = this.containment[3] + this.offset.click.top; + } + } + + if(o.grid) { + top = this.originalPageY + Math.round((pageY - this.originalPageY) / o.grid[1]) * o.grid[1]; + pageY = this.containment ? ( (top - this.offset.click.top >= this.containment[1] && top - this.offset.click.top <= this.containment[3]) ? top : ((top - this.offset.click.top >= this.containment[1]) ? top - o.grid[1] : top + o.grid[1])) : top; + + left = this.originalPageX + Math.round((pageX - this.originalPageX) / o.grid[0]) * o.grid[0]; + pageX = this.containment ? ( (left - this.offset.click.left >= this.containment[0] && left - this.offset.click.left <= this.containment[2]) ? left : ((left - this.offset.click.left >= this.containment[0]) ? left - o.grid[0] : left + o.grid[0])) : left; + } + + } + + return { + top: ( + pageY - // The absolute mouse position + this.offset.click.top - // Click offset (relative to the element) + this.offset.relative.top - // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.top + // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollTop() : ( scrollIsRootNode ? 0 : scroll.scrollTop() ) )) + ), + left: ( + pageX - // The absolute mouse position + this.offset.click.left - // Click offset (relative to the element) + this.offset.relative.left - // Only for relative positioned nodes: Relative offset from element to offset parent + this.offset.parent.left + // The offsetParent's offset without borders (offset + border) + ( ( this.cssPosition === "fixed" ? -this.scrollParent.scrollLeft() : scrollIsRootNode ? 0 : scroll.scrollLeft() )) + ) + }; + + }, + + _rearrange: function(event, i, a, hardRefresh) { + + a ? a[0].appendChild(this.placeholder[0]) : i.item[0].parentNode.insertBefore(this.placeholder[0], (this.direction === "down" ? i.item[0] : i.item[0].nextSibling)); + + //Various things done here to improve the performance: + // 1. we create a setTimeout, that calls refreshPositions + // 2. on the instance, we have a counter variable, that get's higher after every append + // 3. on the local scope, we copy the counter variable, and check in the timeout, if it's still the same + // 4. this lets only the last addition to the timeout stack through + this.counter = this.counter ? ++this.counter : 1; + var counter = this.counter; + + this._delay(function() { + if(counter === this.counter) { + this.refreshPositions(!hardRefresh); //Precompute after each DOM insertion, NOT on mousemove + } + }); + + }, + + _clear: function(event, noPropagation) { + + this.reverting = false; + // We delay all events that have to be triggered to after the point where the placeholder has been removed and + // everything else normalized again + var i, + delayedTriggers = []; + + // We first have to update the dom position of the actual currentItem + // Note: don't do it if the current item is already removed (by a user), or it gets reappended (see #4088) + if(!this._noFinalSort && this.currentItem.parent().length) { + this.placeholder.before(this.currentItem); + } + this._noFinalSort = null; + + if(this.helper[0] === this.currentItem[0]) { + for(i in this._storedCSS) { + if(this._storedCSS[i] === "auto" || this._storedCSS[i] === "static") { + this._storedCSS[i] = ""; + } + } + this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"); + } else { + this.currentItem.show(); + } + + if(this.fromOutside && !noPropagation) { + delayedTriggers.push(function(event) { this._trigger("receive", event, this._uiHash(this.fromOutside)); }); + } + if((this.fromOutside || this.domPosition.prev !== this.currentItem.prev().not(".ui-sortable-helper")[0] || this.domPosition.parent !== this.currentItem.parent()[0]) && !noPropagation) { + delayedTriggers.push(function(event) { this._trigger("update", event, this._uiHash()); }); //Trigger update callback if the DOM position has changed + } + + // Check if the items Container has Changed and trigger appropriate + // events. + if (this !== this.currentContainer) { + if(!noPropagation) { + delayedTriggers.push(function(event) { this._trigger("remove", event, this._uiHash()); }); + delayedTriggers.push((function(c) { return function(event) { c._trigger("receive", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); + delayedTriggers.push((function(c) { return function(event) { c._trigger("update", event, this._uiHash(this)); }; }).call(this, this.currentContainer)); + } + } + + + //Post events to containers + function delayEvent( type, instance, container ) { + return function( event ) { + container._trigger( type, event, instance._uiHash( instance ) ); + }; + } + for (i = this.containers.length - 1; i >= 0; i--){ + if (!noPropagation) { + delayedTriggers.push( delayEvent( "deactivate", this, this.containers[ i ] ) ); + } + if(this.containers[i].containerCache.over) { + delayedTriggers.push( delayEvent( "out", this, this.containers[ i ] ) ); + this.containers[i].containerCache.over = 0; + } + } + + //Do what was originally in plugins + if ( this.storedCursor ) { + this.document.find( "body" ).css( "cursor", this.storedCursor ); + this.storedStylesheet.remove(); + } + if(this._storedOpacity) { + this.helper.css("opacity", this._storedOpacity); + } + if(this._storedZIndex) { + this.helper.css("zIndex", this._storedZIndex === "auto" ? "" : this._storedZIndex); + } + + this.dragging = false; + + if(!noPropagation) { + this._trigger("beforeStop", event, this._uiHash()); + } + + //$(this.placeholder[0]).remove(); would have been the jQuery way - unfortunately, it unbinds ALL events from the original node! + this.placeholder[0].parentNode.removeChild(this.placeholder[0]); + + if ( !this.cancelHelperRemoval ) { + if ( this.helper[ 0 ] !== this.currentItem[ 0 ] ) { + this.helper.remove(); + } + this.helper = null; + } + + if(!noPropagation) { + for (i=0; i < delayedTriggers.length; i++) { + delayedTriggers[i].call(this, event); + } //Trigger all delayed events + this._trigger("stop", event, this._uiHash()); + } + + this.fromOutside = false; + return !this.cancelHelperRemoval; + + }, + + _trigger: function() { + if ($.Widget.prototype._trigger.apply(this, arguments) === false) { + this.cancel(); + } + }, + + _uiHash: function(_inst) { + var inst = _inst || this; + return { + helper: inst.helper, + placeholder: inst.placeholder || $([]), + position: inst.position, + originalPosition: inst.originalPosition, + offset: inst.positionAbs, + item: inst.currentItem, + sender: _inst ? _inst.element : null + }; + } + +}); + + + +})); \ No newline at end of file diff --git a/user/news/scripts/jquery.dragsort.js b/user/news/scripts/jquery.dragsort.js new file mode 100644 index 0000000..9f5acb2 --- /dev/null +++ b/user/news/scripts/jquery.dragsort.js @@ -0,0 +1,178 @@ +/* @authorcode codestrings + * @copyright Leyun internet Technology(Shanghai)Co.,Ltd + * @license http://www.dzzoffice.com/licenses/license.txt + * @package DzzOffice + * @link http://www.dzzoffice.com + * @author zyx(zyx@dzz.cc) + */ +(function($){ + $.fn.dragsort = function(options,recall) { + var opt={ + 'scrollContainer':$('.bs-main-container'), //滚动层 + 'contentContainer':$('.main-content'), + 'hoder_div_css':'position:relative;background:#f7f7f7;border:1px solid #e1e1e1', + 'width_correct':0, + 'height_correct':0, + } + options=$.extend(opt,options); + //console.log(options.scrollContainer); + var container = this; + var dx,dy,_this,wid,mousedownTimer,scrollHeight,scrollTop=0,scrollLeft=0,clientHeight; + var top,left,oldx,oldy,w,h,w2,h2,_this; + var bs=options.scrollContainer.offset(); + var p0,p; + var clientWidth =Math.max(document.documentElement.clientWidth, document.body.offsetWidth); + if(jQuery('#_blank').length){ + var _blank=jQuery('#_blank'); + }else{ + var _blank=jQuery('').appendTo(options.contentContainer); + } + + //$(container).children().addTouch(); + $(container).children().off("mousedown.subdrager").on('mousedown.subdrager',function(e) { + if($(this).hasClass('nodrager') || e.which != 1 || $(e.target).is("input, textarea") || $(e.target).closest('.nodrager').length || window.kp_only) return; // 排除非左击和表单元素 + jQuery('input').trigger('blur'); + var self=this; + + try{ if(e.preventDefault) e.preventDefault(); + else{ + e.returnvalue=false + } + }catch(e){}; + _this = $(this); + + oldx=e.clientX; + oldy=e.clientY; + p0=_this.offset(); + p = _this.position(); + left = p.left; + top = p.top-options.scrollContainer.scrollTop(); + dx=e.clientX-p0.left; + dy=e.clientY-(p0.top); + + // 绑定mousemove事件 + $(document).on('mousemove.subdrager',function(e) { + e=e?e:window.event; + try{ + if(e.preventDefault) e.preventDefault(); + else{ + e.returnValue=false; + } + }catch(e){}; + + var xx=e.clientX; + var yy=e.clientY; + if(!window.kp_only && (oldx!=xx || oldy!=yy)){//不再原位置,表示拖动开始; + PreMove(); + } + if(!window.kp_only) return; + + + if(yy-dy<=bs.top){ + scrollTop=scrollTop+((yy-dy-bs.top)>-50?-50:(yy-dy-bs.top)); + if(scrollTop<0) scrollTop=0; + options.scrollContainer.scrollTop(scrollTop); + + }else if((yy+(_this.height()-dy))>=clientHeight+bs.top ){ + scrollTop=scrollTop+((yy+(_this.height()-dy)-clientHeight-bs.top)<50?50:(yy+(_this.height()-dy)-clientHeight-bs.top)); + if(scrollTop>scrollHeight-clientHeight) scrollTop=scrollHeight-clientHeight; + options.scrollContainer.scrollTop(scrollTop); + + } + var t = yy -dy-(p0.top-p.top)+scrollTop; + + // 移动选中块 + //var l = left + e.clientX - x; + //var t = top + e.clientY - y; + _this.css({"top":t}); + + // 选中块的中心坐标 + var mt = yy -dy+h2; + + // 遍历所有块的坐标 + $(wid).parent().children().not(_this).not(wid).not('.nodrager').each(function(i) { + var obj = $(this); + var p = obj.offset(); + var a3 = p.top; + var a4 = p.top + obj.height(); + var h2= p.top + obj.height()/2; + if(a3 < mt && mt < a4 ) { + if(mt>h2) { + wid.insertAfter(this); + }else{ + wid.insertBefore(this); + } + //options.scrollContainer.mCustomScrollbar('update'); + return; + } + + }); + + }); + return false; + }); + + $(container).children().off("mouseup").mouseup(function(e) { + if(!window.kp_only) { + $(document).off('mousemove.subdrager'); + } + }); + var PreMove=function() { + //e.preventDefault(); // 阻止选中文本 + window.kp_only=true; + _blank.show(); + w = _this.outerWidth(true); + h = _this.outerHeight(true); + w2 = w/2; + h2 = h/2; + clientHeight =options.scrollContainer.height(); + clientWidth =Math.max(document.documentElement.clientWidth, document.body.offsetWidth); + scrollTop=options.scrollContainer.scrollTop();scrollLeft=0; + scrollHeight = options.contentContainer.outerHeight(true);//Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); + scrollWidth =options.contentContainer.outerWidth(true); + try{ + if(e.preventDefault) e.preventDefault(); + else{ + e.returnvalue=false + } + }catch(e){}; + + + // 添加虚线框 + _this.before('
    '); + wid = $("#kp_widget_holder"); + wid.css({"height":_this.outerHeight(true)-options['height_correct'], "width":_this.outerWidth(true)-options['width_correct']}); + + // 保持原来的宽高 + _this.css({"width": w-options['width_correct'], "height":h-options['height_correct'], "position":"absolute", opacity: 0.9, "z-index": 999, "left":left-options['width_correct'], "top":top-options['height_correct'],'border':'1px solid #e1e1e1','background':'#fbfbfb','box-shadow':'1px 1px 1px RGBA(0,0,0,0.7)'}); + //,"transform":"rotate(2deg)" + // 绑定mouseup事件 + + $(document).on('mouseup.subdrager',function(e) { + $(document).off('mouseup.subdrager').off('mousemove.subdrager'); + + // 拖拽回位,并删除虚线框 + var p = wid.position(); + p.top+=scrollTop; + var data={} + data.subid=_this.attr('subid'); + data.taskid=_this.attr('taskid'); + data.prevsubid=wid.prev()?wid.prev('.todo-item').attr('subid'):0; + _this.animate({"left":p.left-parseInt(wid.css('margin-left')), "top":p.top-parseInt(wid.css('margin-top'))}, 300, function() { + _this.removeAttr("style"); + wid.replaceWith(_this); + + if(typeof recall=='function'){ + recall(data); + } + _blank.hide(); + window.kp_only = null; + + }); + + }); + }; +} +})(jQuery); + + diff --git a/user/news/scripts/jquery.popbox.js b/user/news/scripts/jquery.popbox.js new file mode 100644 index 0000000..5abec82 --- /dev/null +++ b/user/news/scripts/jquery.popbox.js @@ -0,0 +1,139 @@ +/* @authorcode codestrings + * @copyright Leyun internet Technology(Shanghai)Co.,Ltd + * @license http://www.dzzoffice.com/licenses/license.txt + * @package DzzOffice + * @link http://www.dzzoffice.com + * @author zyx(zyx@dzz.cc) + */ + +(function($){ + + $.fn.popbox = function(options){ + var box=$('.popbox'); + if(!box.length){ + box=$('
    ').appendTo('body'); + } + var me=$(this); + + var dataurl=[]; + var current=0; + var open= function(event){ + + if(event) event.preventDefault(); + if(me.data('href')){ + getdata(me.data('data-href')); + } + $('.js-popbox').removeClass('openpop'); + + show(); + if(me.data('closest')){ + me.closest(me.data('closest')).find('.dropdown-toggle').dropdown('toggle'); + } + return false; + } + var show=function(){ + var clientWidth=document.documentElement.clientWidth; + var clientHeight=document.documentElement.clientHeight; + if( me.data('closest')) var target=me.closest(me.data('closest')); + else var target=me; + + me.addClass('openpop'); + var p=target.offset(); + var bw=box.outerWidth(true); + var bh=box.outerHeight(true); + var w=target.outerWidth(true); + var h=target.outerHeight(true); + var left=0,top=0; + switch(me.data('placement')){ + case 'right': + left=p.left+w+2; + top=p.top+h/2-bh/2; + break; + case 'top': + top=p.top-bh-2; + left=p.left+w/2-bw/2; + break; + case 'bottom': + top=p.top+h+2; + left=p.left; + break; + case 'left': + left=p.left-bw-2; + top=p.top+h/2-bh/2; + break; + default: + left=p.left+w+2; + top=p.top+h/2-bh/2; + break; + } + //判断是否超出屏幕 + if(me.data('auto-adapt')){ + if(left+bw>clientWidth) left=clientWidth-bw-10; + if(top+bh>clientHeight) top=clientHeight-bh-10; + if(left<0) left=10; + if(top<0) top=10; + } + + box.css({'display': 'block', 'left':left,'top':top}); + + $(document).off('click.popbox').on('click.popbox',function(event){ + if(!$(event.target).closest('.popbox,.ui-icon,.dzzdate,.ui-corner-all','#jquery-color-picker').length){ + close(); + $('.openpop').removeClass('openpop'); + } + }); + } + var getdata=function(url){ + if(!url) url=me.data('href'); + url+='&t='+new Date().getTime(); + current=dataurl.push(url); + $.get(DZZSCRIPT+'?mod=news&op=menu&do='+url,function(html){ + box.html(html); + box.find('.js-popbox').on('click',function(){ + getdata($(this).data('href')); + return false; + }); + box.find('.js-popbox-prev').on('click',function(){ + goto_prev() + return false; + }); + box.find('.close,.cancel').on('click', function(event){ + event.preventDefault(); + close(); + }); + show(); + }); + } + var goto_prev=function(){ + if(current>1){ + current-=1; + }else{ + current=0; + } + url=dataurl[current-1]; + dataurl.splice(current-1,dataurl.length-current+1); + getdata(url); + } + var close=function(){ + current=0; + dataurl=[]; + box.data('prevel',null); + box.fadeOut("fast",function(){ + box.html('
    '); + }); + me.removeClass('openpop'); + $(document).off('click.popbox'); + } + if(options=='update'){ + show(); + }else if(options=='open'){ + open(); + }else if(options=='close'){ + close(); + }else if(options=='getdata'){ + getdata(); + }else{ + $(this).off('click.popbox').on('click.popbox', open); + } + } +})(jQuery); diff --git a/user/news/scripts/news.js b/user/news/scripts/news.js new file mode 100644 index 0000000..e522b45 --- /dev/null +++ b/user/news/scripts/news.js @@ -0,0 +1,126 @@ +/* @authorcode codestrings + * @copyright Leyun internet Technology(Shanghai)Co.,Ltd + * @license http://www.dzzoffice.com/licenses/license.txt + * @package DzzOffice + * @link http://www.dzzoffice.com + * @author zyx(zyx@dzz.cc) + */ + +function cat_move(catid,up){ + catid=parseInt(catid); + jQuery.getJSON(DZZSCRIPT+'?mod=news&op=menu&do=catmove&catid='+catid+'&up='+up,function(json){ + if(json.error) showmessage(json.error,3000,1); + else{ + var catids=[]; + jQuery('#cat_'+catid).parent().children().each(function(){ + catids.push(jQuery(this).data('catid')); + }); + var cur=jQuery.inArray(catid,catids); + if(up>0 && (cur-1)>-1){ + jQuery('#cat_'+catid).insertBefore('#cat_'+(catids[cur-1])); + } + if(up<1 && (cur+1)0){ + var img=DZZSCRIPT+'?mod=io&op=thumbnail&width=240&height=160&path='+(datas[i].apath?datas[i].apath:datas[i].dpath); + html+='
    '; + html+='
    '; + html+='
    '; + html+=' '; + html+='
    '; + html+=' '; + html+='
    '; + html+='
    '; + html+='
    '; + } + } + if(html!=''){ + if(jQuery('#image_container .image-body .image-item').length>0) jQuery('#image_container .image-body .image-item:first').before(html); + else{ + jQuery('#image_container .image-body').append(html); + } + } + }); +} + +Date.prototype.format = function(format) { + var date = { + "M+": this.getMonth() + 1, + "d+": this.getDate(), + "h+": this.getHours(), + "m+": this.getMinutes(), + "s+": this.getSeconds(), + "q+": Math.floor((this.getMonth() + 3) / 3), + "S+": this.getMilliseconds() + }; + if (/(y+)/i.test(format)) { + format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); + } + for (var k in date) { + if (new RegExp("(" + k + ")").test(format)) { + format = format.replace(RegExp.$1, RegExp.$1.length == 1 + ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); + } + } + return format; +} + + + diff --git a/user/news/scripts/selorg.js b/user/news/scripts/selorg.js new file mode 100644 index 0000000..7d3d65e --- /dev/null +++ b/user/news/scripts/selorg.js @@ -0,0 +1,55 @@ + + +var selorg={}; + +//添加 +selorg.add=function(ctrlid,vals){ + //jQuery('#'+ctrlid).empty(); + for(var i in vals){ + if(jQuery('#'+ctrlid+'_sl_'+vals[i].orgid).length) continue; + if(vals[i].orgid.indexOf('uid_')===0){ + uid=vals[i].orgid.replace('uid_',''); + var headimg = ''; + if(vals[i].icon){ + headimg = ''; + } + var html='
  • ' + + headimg+vals[i].text+'
  • '; + }else{ + var html=''; + //var html='
  • '+vals[i].text+'
  • '; + } + jQuery('#'+ctrlid).append(html); + + } + selorg.set(ctrlid); +} + +//删除 +selorg.del=function(ctrlid,vals){ + for(var i in vals){ + if(jQuery('#'+ctrlid+'_sl_'+vals[i]).find('i.ti-close').length > 0){ + jQuery('#'+ctrlid+'_sl_'+vals[i]).remove(); + } + } + selorg.set(ctrlid); +} + +//设置输入框的值 +selorg.set=function(ctrlid){ + var val=[]; + jQuery('#'+ctrlid+' li').each(function() { + val.push(jQuery(this).data('val')); + }); + jQuery('#sel_'+ctrlid).val(val.join(',')); +} +//y移除,并且取消机构树中的选择 + selorg.remove=function(ctrlid,obj){ + var unsel_val=jQuery(obj).parent().data('val'); + jQuery(obj).parent().remove(); + selorg.set(ctrlid) + try{window.frames[ctrlid+'_iframe'].selectorg_remove(unsel_val);}catch(e){} +} + selorg.search=function(ctrlid,obj){ + try{window.frames[ctrlid+'_iframe'].selectorg_search(obj.value);}catch(e){} + } \ No newline at end of file diff --git a/user/news/setting.php b/user/news/setting.php new file mode 100644 index 0000000..042d3f6 --- /dev/null +++ b/user/news/setting.php @@ -0,0 +1,265 @@ +where(array("status"=>1))->order("disp asc")->select(); +//print_r($cat_list); +if($do=='block'){ + $navtitle=lang('model_setting').' - '.lang('appname'); + } +if($do=='basic'){ + include libfile('function/organization'); + $navtitle=lang('base_setting').' - '.lang('appname'); + if($operation=='selectuser'){ + $type=intval($_GET['type']) ? 1 : 0; + $muids=$type?$setting['moderators']:$setting['posters']; + + if(submitcheck('selectsubmit')){ + $uids = array(); + foreach (explode(',', $_GET['uids']) as $v) { + $uids[] = str_replace('uid_', '', $v); + } + if($uids){ + // $muids=array_unique(array_merge($muids,$uids));//纯增加 + $muids = array_unique($uids);//修改(会删除) + C::t('news_setting')->update($type?'moderators':'posters',implode(',',$muids)); + if(!$type) C::t('news_setting')->update('allownew',1); + updatecache('news:setting'); + } + $users = C::t('user')->fetch_all($muids); + foreach ($users as $key => $value) { + $users[$key]['avatar'] = avatar_block($value['uid']); + } + include template('user_select_list'); + exit(); + //exit(json_encode(array('success' => 1, 'type' => $type, 'basic' => 'basic', 'user' => $user))); + } + } + elseif($operation=='deleteModerator'){ + $uid=intval($_GET['uid']); + $type=intval($_GET['type']); + $muids=$type?$setting['moderators']:$setting['posters']; + foreach($muids as $key=>$value){ + if($value==$uid) unset($muids[$key]); + } + if(C::t('news_setting')->update($type?'moderators':'posters',implode(',',$muids))){ + updatecache('news:setting'); + + } + $users = C::t('user')->fetch_all($muids); + foreach ($users as $key => $value) { + $users[$key]['avatar'] = avatar_block($value['uid']); + } + include template('user_select_list'); + exit(); + }else{ + if(submitcheck('settingsubmit')){ + $setarr=$_GET['settingnew']; + + $setarr['allownewnews']=intval($setarr['allownewnews']); + $setarr['newsmod']=intval($_GET['newsmod']); + $setarr['lbp']=$_GET['lbp']; + $moderators=$_GET['user_1']; + if($moderators) $setarr['moderators']=implode(',',$moderators); + if($setarr['allownewnews']){ + $posters=$_GET['user_0']; + if($posters) $setarr['posters']=implode(',',$posters); + } + C::t('news_setting')->update_batch($setarr); + updatecache('news:setting'); + showmessage('do_success',DZZSCRIPT.'?mod=news&op=setting',array(),array('alert'=>'right')); + }else{ + + $setting['allownewnews']=intval($setting['allownewnews']); + $setting['newsmod']=intval($setting['newsmod']); + $setarr['lbp']=$_GET['lbp']; + $moderators=C::t('user')->fetch_all($setting['moderators']); + $posters=C::t('user')->fetch_all($setting['posters']); + } + } +}elseif($do=='wxapp'){ + $appid=C::t('app_market')->fetch_appid_by_mod('{dzzscript}?mod=news',1); + $baseurl_info=DZZSCRIPT.'?mod=news&op=setting&do=wxapp'; + $baseurl_menu=DZZSCRIPT.'?mod=news&op=setting&do=wxapp&operation=menu'; + $baseurl_ajax=DZZSCRIPT.'?mod=news&op=setting&do=wxapp&operation=ajax'; + if(empty($operation)){ + if(submitcheck('settingsubmit')){ + $settingnew=array(); + $settingnew['agentid']=intval($_GET['agentid']); + $settingnew['appstatus']=intval($_GET['appstatus']); + if($appid) C::t('wx_app')->update($appid,array('agentid'=>$settingnew['agentid'],'status'=>$settingnew['appstatus'])); + C::t('news_setting')->update_batch($settingnew); + updatecache('news:setting'); + showmessage('do_success',dreferer(),array(),array('alert'=>'right')); + }else{ + $navtitle=lang('wechat_apply_settings'); + $navlast=lang('wx_setting'); + $settingnew=array(); + if(empty($setting['token'])) $settingnew['token']=$setting['token']=random(8); + if(empty($setting['encodingaeskey'])) $settingnew['encodingaeskey']=$setting['encodingaeskey']=random(43); + if($settingnew){ + C::t('news_setting')->update_batch($settingnew); + updatecache('news:setting'); + } + $wxapp=array('appid'=>$appid, + 'name'=>lang('information_center'), + 'desc'=>lang('enterprise_news_information_application'), + 'icon'=>'dzz/news/images/0.jpg', + 'agentid'=> $setting['agentid'], + 'token'=>$setting['token'], + 'encodingaeskey'=>$setting['encodingaeskey'], + 'host'=>$_SERVER['HTTP_HOST'], + 'callback'=>$_G['siteurl'].'index.php?mod=news&op=wxreply', + 'otherpic'=>'dzz/news/images/c.png', + 'status'=>$setting['appstatus'], //应用状态 + 'report_msg'=>1, //用户消息上报 + 'notify'=>0, //用户状态变更通知 + 'report_location'=>0, //上报用户地理位置 + ); + C::t('wx_app')->insert($wxapp,1,1); + } + }elseif($operation=='menu'){ + $menu=$setting['menu']?unserialize($setting['menu']):''; + }elseif($operation=='ajax'){ + if($_GET['action']=='setEventkey'){ + //支持的菜单事件 + $menu_select=array('click'=>array('latest'=>lang('new_news')), + 'link'=>array( + $_G['siteurl'].DZZSCRIPT.'?mod=news&status=6'=>lang('my_released'), + $_G['siteurl'].DZZSCRIPT.'?mod=news&status=2'=>lang('check_pending_is'), + $_G['siteurl'].DZZSCRIPT.'?mod=news&status=3'=>lang('my_draft'), + $_G['siteurl'].DZZSCRIPT.'?mod=news&status=4'=>lang('my_unread') + ) + ); + foreach(DB::fetch_all("select * from %t where pid=0 order by disp",array('news_cat')) as $value){ + $menu_select['link'][$_G['siteurl'].DZZSCRIPT.'?mod=news&catid='.$value['catid']]=$value['name']; + } + + $json_menu_select=json_encode($menu_select); + $type=trim($_GET['type']); + $typetitle=array('click'=>lang('setup_menu'),'link'=>lang('setup_menu_href')); + + }elseif($_GET['action']=='menu_save'){ //菜单保存 + C::t('news_setting')->update('menu',array('button'=>$_GET['menu'])); + if($appid) C::t('wx_app')->update($appid,array('menu'=>serialize(array('button'=>$_GET['menu'])))); + updatecache('news:setting'); + exit(json_encode(array('msg'=>'success'))); + }elseif($_GET['action']=='menu_publish'){//发布到微信 + $data=array('button'=>$_GET['menu']); + C::t('news_setting')->update('menu',$data); + if($appid) C::t('wx_app')->update($appid,array('menu'=>serialize($data))); + updatecache('news:setting'); + //发布菜单到微信 + if(getglobal('setting/CorpID') && getglobal('setting/CorpSecret') && $setting['agentid']){ + $wx=new qyWechat(array('appid'=>getglobal('setting/CorpID'),'appsecret'=>getglobal('setting/CorpSecret'))); + //处理菜单数据,所有本站链接添加oauth2地址 + foreach($data['button'] as $key=>$value){ + if($value['url'] && strpos($value['url'],$_G['siteurl'])===0){ + $data['button'][$key]['url']=$wx->getOauthRedirect(getglobal('siteurl').'index.php?mod=system&op=wxredirect&url='.dzzencode($value['url'])); + }elseif($value['sub_button']){ + foreach($value['sub_button'] as $key1=>$value1){ + if($value1['url'] && strpos($value1['url'],$_G['siteurl'])===0){ + $data['button'][$key]['sub_button'][$key1]['url']=$wx->getOauthRedirect(getglobal('siteurl').'index.php?mod=system&op=wxredirect&url='.dzzencode($value1['url'])); + } + } + } + } + if($wx->createMenu($data,$setting['agentid'])){ + exit(json_encode(array('msg'=>'success'))); + }else{ + exit(json_encode(array('error'=>lang('tape_release_failure').',errCode:'.$wx->errCode.',errMsg:'.$wx->errMsg))); + } + }else{ + exit(json_encode(array('error'=>lang('tape_release_failure_agentid')))); + } + + }elseif($_GET['action']=='menu_default'){//恢复默认 + $subclass=array(); + foreach(DB::fetch_all("select * from %t where pid=0 order by disp limit 5",array('news_cat')) as $value){ + $subclass[]=array( + 'type'=>'view', + 'name'=>$value['name'], + 'url'=>$_G['siteurl'].DZZSCRIPT.'?mod=news&catid='.$value['catid'] + ); + } + $menu_default=array('button'=>array( + array( + 'type'=>'click', + 'name'=>lang('new_news'), + 'key'=>'latest' + ), + array( + 'name'=>lang('news_type'), + 'sub_button'=>$subclass + ), + array( + 'name'=>lang('my_news'), + 'sub_button'=>array( + array( + 'type'=>'view', + 'name'=>lang('my_released'), + 'url'=>$_G['siteurl'].DZZSCRIPT.'?mod=news&status=6' + ), + array( + 'type'=>'view', + 'name'=>lang('check_pending'), + 'url'=>$_G['siteurl'].DZZSCRIPT.'?mod=news&status=2' + ), + array( + 'type'=>'view', + 'name'=>lang('unread_messages'), + 'url'=>$_G['siteurl'].DZZSCRIPT.'?mod=news&status=4' + ), + array( + 'type'=>'view', + 'name'=>lang('draft'), + 'url'=>$_G['siteurl'].DZZSCRIPT.'?mod=news&status=3' + ), + /*array( + 'type'=>'view', + 'name'=>'发布信息', + 'url'=>$_G['siteurl'].DZZSCRIPT.'?mod=news&op=edit' + )*/ + ) + ) + ) + ); + C::t('news_setting')->update('menu',$menu_default); + updatecache('news:setting'); + exit('success'); + } + include template('common/wx_ajax'); + exit(); + } +} + +include template('news_setting'); +?> + diff --git a/user/news/template/header_left.htm b/user/news/template/header_left.htm new file mode 100644 index 0000000..bf0d9a4 --- /dev/null +++ b/user/news/template/header_left.htm @@ -0,0 +1,31 @@ +
    \ No newline at end of file diff --git a/user/news/template/header_search.htm b/user/news/template/header_search.htm new file mode 100644 index 0000000..c222298 --- /dev/null +++ b/user/news/template/header_search.htm @@ -0,0 +1,35 @@ + + + + \ No newline at end of file diff --git a/user/news/template/index.htm b/user/news/template/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/template/manage_left.htm b/user/news/template/manage_left.htm new file mode 100644 index 0000000..990f879 --- /dev/null +++ b/user/news/template/manage_left.htm @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/user/news/template/news_ajax.htm b/user/news/template/news_ajax.htm new file mode 100644 index 0000000..7fa652d --- /dev/null +++ b/user/news/template/news_ajax.htm @@ -0,0 +1,20 @@ + + +
      + +
    • +
      + {eval echo avatar_block($value[uid]);} +
      +
      +

      $value[username]

      +

      {eval echo dgmdate($value[dateline],'u');}

      +
      +
    • + +
    + + $multi + + + diff --git a/user/news/template/news_edit.htm b/user/news/template/news_edit.htm new file mode 100644 index 0000000..cb908a3 --- /dev/null +++ b/user/news/template/news_edit.htm @@ -0,0 +1,521 @@ + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + + +
    +
    + + +
    +
    + + +
    +
    + 0}-->checked="checked""> + +
    +
    + checked="checked""> + +
    +
    +
    +
    + + +
    +
    + 0}-->checked="checked" onclick="jQuery('#youkepinglun').val('1');"> + +
    +
    + checked="checked" onclick="jQuery('#youkepinglun').val('0');"> + +
    +
    +
    +
    + + +
    +
    + 0}-->checked="checked" onclick="jQuery('#styleswitch').val('1');"> + +
    +
    + checked="checked" onclick="jQuery('#styleswitch').val('0');"> + +
    +
    +
    +
    + +
    +
    + 0}-->checked="checked" onclick="jQuery('#vote_container').show();jQuery('#votestatus').val('1');"> + +
    +
    + checked="checked" onclick="jQuery('#vote_container').hide();jQuery('#votestatus').val('0');"> + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + + + + + + + + + + +
    + + + {lang can_also_type_in}200{lang character} +
    +
    + +
    +
    + + + + + + +
    + {lang no_choose_click_add_issue_range} + +
    +
    +
    + +
    + 删除 + + + + + + + +
    +
    +
    + +
    + + +
    style="display:none"> +
    + +
    +
    + +
    +
    + +
    + checked="checked" /> + +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + diff --git a/user/news/template/news_list.htm b/user/news/template/news_list.htm new file mode 100644 index 0000000..50f6cdf --- /dev/null +++ b/user/news/template/news_list.htm @@ -0,0 +1,292 @@ + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    +
    +
    +
    +
    + + +
    + + + + + +
    + +
    +
    + + + +
    +
    +
    +
    +
    + + +
    + + +
    + + +
    + +
    + + + + +
    + + + + + + + + + + + + + +
    +
    + + +
    +
    +
    style="display: flex;position: relative;"> + +
    onclick="location.href='$value[url]'"onclick="location.href='{MOD_URL}&op=view&newid=$value[newid]'" class="list-img"> + $value[subject] +
    + +
    + + $value[subject] +   + + + $value[subject] + + 已置顶 + + + + + $value[modusername] + {lang back_in} {eval echo dgmdate($value[modtime],'u');} + {lang reasons_for_returning}:$value['modreason'] + +
    + +
    + + $value[opauthor]  {eval echo dgmdate($value[updatetime],'u');} + + $value[author]  {eval echo dgmdate($value[dateline],'u');} + +
     $value[comments]
    + +
     0
    + +
     $value[views]
    + +
     0
    + + +
    + + +
    + + + + +
    +
    +
    + +
    $multi
    + + +
    +
    + {lang there_is_no_news_in_the_current_version} +
    + +
    +
    + + + + + + + + + + + + + + + + + diff --git a/user/news/template/news_menu.htm b/user/news/template/news_menu.htm new file mode 100644 index 0000000..acd843e --- /dev/null +++ b/user/news/template/news_menu.htm @@ -0,0 +1,409 @@ + + + + + + + +
    + + +

    {lang move_to_scan}

    +
    + +
    + +
    + + + + +
    +
    + + + + + + + + +
    + + +

    {lang term_set_top}

    +
    +
    +
    + + + + + + {lang select_the_top_closing_date_and_leave_the_top_blank} +
    + + + +
    + + +

    {lang highlight_set}

    +
    +
    + + + + + +
    + + {lang select_the_highlight_deadline_and_leave_the_highlight_blank} +
    +
    +
    + + B + I + U +
    + + + + +
    + +
    + + + + +
    + + +

    {lang delete}

    +
    +
    + + + + + + + + {lang are_you_sure_you_want_to_delete_the_selected_information} +
    + + + +
    + + +

    {lang audit_opinion}

    +
    +
    + + + + + + + + + + {lang review_comments_to_inform_the_user_of_the_failure_of_the_cause} +
    + + + + + + +
    + +

    {lang controller_options}

    +
    + + +
    + + +

    {lang add_type}

    +
    + +
    + + + + + + +
    + +
    +
    +
    + +
    + +
    +
    + +
    + + + + + +
    + + +

    {lang category_delete}

    +
    +
    + +
    + + + + + + {lang determine_to_delete_the_taxonomy}"$cat[name]"{lang classification_of_all_subordinates} +
    + + + + + + + + + diff --git a/user/news/template/news_setting.htm b/user/news/template/news_setting.htm new file mode 100644 index 0000000..fdfbfa1 --- /dev/null +++ b/user/news/template/news_setting.htm @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    + + + + + + + + + + + +
    +
    + + + + + + + diff --git a/user/news/template/news_top.htm b/user/news/template/news_top.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/news/template/news_view.htm b/user/news/template/news_view.htm new file mode 100644 index 0000000..a752acf --- /dev/null +++ b/user/news/template/news_view.htm @@ -0,0 +1,285 @@ + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    +
    + +
    $news['subject']
    + +

    $news['subject']

    + + +
    $news['content'] + +
    +
    +
    +
    播放预览
    +
    + +
    +
    +
    +
    剧集列表
    +
    + +
    + +
    +
    +
    +
    + +
    + + + + + + + +
    +
    $news['subject']
    +
    $news['url']
    +
    + + + +
    + + + +
    + +
    + + + + + + + + + +
    + +
    +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    + + + + +
    +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + + + +
    + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + diff --git a/user/news/template/news_view_top.htm b/user/news/template/news_view_top.htm new file mode 100644 index 0000000..07a6a24 --- /dev/null +++ b/user/news/template/news_view_top.htm @@ -0,0 +1,42 @@ + +
    + + +
    \ No newline at end of file diff --git a/user/news/template/setting_basic.htm b/user/news/template/setting_basic.htm new file mode 100644 index 0000000..d173d4e --- /dev/null +++ b/user/news/template/setting_basic.htm @@ -0,0 +1,119 @@ +
    + + + +
    +
    {lang manager_setting}{eval echo count($moderators);}
    +
    +
      + {eval $type=1;$users=$moderators} + +
    +
    +
    + +
    +
    {lang message_setting}
    +
    +
    + checked onclick="jQuery('#allownewnewnews_users').hide()"> + +
    +
    +
    +
    + 0}-->checked onclick="jQuery('#allownewnewnews_users').show();"> + +
    +
    +
    + +
    style="display:none"> +
    {lang allowed_to_publish_information}{eval echo count($posters);}
    +
    +
      + {eval $type=0;$users=$posters} + + +
    +
    +
    + +
    +
    {lang message_audit}
    +
    +
    + checked> + +
    +
    +
    +
    + checked> + +
    +
    +
    +
    +
    轮播图
    +
    + +
    +
    +
    提示信息
    +
      +
    • 格式:图片地址 || 跳转链接 || 标题 (中间使用两个竖杠分隔)
    • +
    • 其他:一行一个,一行代表一个轮播图
    • +
    • 例如:
      + https://puui.qpic.cn/media_img/lena/PICykqaoi_580_1680/0 || https://baidu.com || 百度一下
      + https://puui.qpic.cn/tv/0/1223447268_1680580/0 || https://v.qq.com || 腾讯视频
    • +
    +
    +
    +
    + +
    + +
    + + diff --git a/user/news/template/setting_block.htm b/user/news/template/setting_block.htm new file mode 100644 index 0000000..ea5361f --- /dev/null +++ b/user/news/template/setting_block.htm @@ -0,0 +1,202 @@ + +
    +

    +{lang click_can_editorupdate} +

    +
    + + + + +
    +
    + + \ No newline at end of file diff --git a/user/news/template/setting_left.htm b/user/news/template/setting_left.htm new file mode 100644 index 0000000..6f691d4 --- /dev/null +++ b/user/news/template/setting_left.htm @@ -0,0 +1,4 @@ +
    + {$catlist} +
    + \ No newline at end of file diff --git a/user/news/template/setting_utree.htm b/user/news/template/setting_utree.htm new file mode 100644 index 0000000..e71acac --- /dev/null +++ b/user/news/template/setting_utree.htm @@ -0,0 +1,215 @@ + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + {lang selected} 0 个 {$title}       +
    +
    +
    + + + +
      +
      +
      +
      +
      + + + + + + diff --git a/user/news/template/uninstall_confirm.htm b/user/news/template/uninstall_confirm.htm new file mode 100644 index 0000000..9d74e4f --- /dev/null +++ b/user/news/template/uninstall_confirm.htm @@ -0,0 +1,20 @@ + + +
      +
      +
      + + + + +

      + {lang this_operation_deletes_the_application}:$app[appname]  {lang all_data_be_careful}

      {lang confirm_deletions} +

      +

      + + +     +
      +
      +
      + \ No newline at end of file diff --git a/user/news/template/user_select_list.htm b/user/news/template/user_select_list.htm new file mode 100644 index 0000000..0a96e47 --- /dev/null +++ b/user/news/template/user_select_list.htm @@ -0,0 +1,27 @@ +
    • +
      + + + +
      +

      + + {lang add_user} + +

      +
    • + + +
    • + + + + + + +
      + {eval echo avatar_block($value[uid])} +
      +

      $value[username]

      +
    • + \ No newline at end of file diff --git a/user/news/uninstall.php b/user/news/uninstall.php new file mode 100644 index 0000000..76301ec --- /dev/null +++ b/user/news/uninstall.php @@ -0,0 +1,20 @@ +delete_by_aid($aid); + } + } + } + foreach(DB::fetch_all("select aid from %t where 1",array('news_pic')) as $value){ + C::t('attachment')->delete_by_aid($value['aid']); + } +}catch(Exception $e){} + //删除所有投票 + $voteids=array(); + foreach(DB::fetch_all("select voteid from %t where idtype='news'",array('vote',$idtype)) as $value){ + $voteids[]=$value['voteid']; + } + if($voteids) C::t('vote')->delete_by_voteid($voteids); + + //删除所有评论 + $dels=array(); + foreach(DB::fetch_all("select cid from %t where idtype='news'",array('comment')) as $value){ + $dels[]=$value['cid']; + } + C::t('comment')->delete($dels); + + C::t('comment_at')->delete_by_cid($dels); //删除@ + + C::t('comment_attach')->delete_by_cid($dels);//删除附件 + +$sql = <<fetch($newid)){ + showmessage(lang('this_news_has_been_moved'),dreferer()); +} +include libfile('function/news'); +//根据信息发布权限判断用户是否有查看权限 +$perm=getPermByUid($_G['uid']); +if(!getViewPerm($news)){ + showmessage(lang('have_no_right_contact_your_administrator'),dreferer()); +} +//获取分类名称 +if($news['catid']) $news['catname']=DB::result_first("select name from %t where catid=%d",array('news_cat',$news['catid'])); +if($news['opuid'] && $opuser=getuserbyuid($news['opuid'])){ + $news['opauthor']=$opuser['username']; +} +if( $news['moduid'] && $moduser=getuserbyuid($news['moduid'])){ + $news['modusername']=$moduser['username']; +} +$navtitle=$news['subject'].' - '.lang('appname'); +$navlast=getstr($news['subject'],15); +$refer=empty($_GET['refer'])?dreferer():$_GET['refer']; + +//获取信息的发布范围 + $sel=array(); + $sel_org=array(); + $sel_user=array(); + if($news['orgids']){ + $orgids=explode(',',$news['orgids']); + $sel_org=C::t('organization')->fetch_all($orgids); + foreach($sel_org as $value){ + $sel[]=$value['orgid']; + } + if(in_array('other',$orgids)){ + $sel[]='other'; + $sel_org[]=array('orgname'=>lang('non_agency_personnel'),'orgid'=>'other','forgid'=>1); + } + } + if($news['uids']){ + $uids=explode(',',$news['uids']); + $sel_user=C::t('user')->fetch_all($uids); + foreach($sel_user as $value){ + $sel[]='uid_'.$value['uid']; + } + } + +if($news['type']==1){ //图片内容时,获取图片数组 + $pics=C::t('news_pic')->fetch_all_by_newid($newid); +} + +$catlist=getCatList(); +//更新查阅 +C::t('news')->increase($newid,array('views'=>1)); +if($_G['uid']){ + if($vid=DB::result_first("select vid from %t where newid=%d and uid=%d",array('news_viewer',$newid,$_G['uid']))){ + DB::query("update %t SET views=views+1 where vid=%d",array('news_viewer',$vid)); + }else{ + $addviewer=array('newid'=>$newid, + 'uid'=>$_G['uid'], + 'username'=>$_G['username'], + 'dateline'=>TIMESTAMP + ); + C::t('news_viewer')->insert($addviewer); + } +} +$videotime = explode("\r\n", $news['shipin']); + + include template('news_view'); +?> \ No newline at end of file diff --git a/user/news/wxreply.php b/user/news/wxreply.php new file mode 100644 index 0000000..099b594 --- /dev/null +++ b/user/news/wxreply.php @@ -0,0 +1,65 @@ +$setting['token'],'appid'=>getglobal('setting/CorpID'),'appsecret'=>getglobal('setting/CorpSecret'),'agentid'=>$setting['agentid'],'encodingaeskey'=>$setting['encodingaeskey'])); +$weObj->valid(); //注意, 企业号与普通公众号不同,必须打开验证,不要注释掉 +$type = $weObj->getRev()->getRevType(); +switch($type) { + case qyWechat::MSGTYPE_TEXT://文本消息 + // $weObj->text($weObj->getRev()->getRevContent())->reply(); + break; + case qyWechat::MSGTYPE_IMAGE://图片消息 + /*$imageinfo=$weObj->getRev()->getRevPic(); + $weObj->image($imageinfo['mediaid'])->reply();*/ + break; + case qyWechat::MSGTYPE_VOICE://语音消息 + /*$imageinfo=$weObj->getRev()->getRevPic(); + $weObj->image($imageinfo['mediaid'])->reply();*/ + break; + case qyWechat::MSGTYPE_VIDEO://视频消息 + /*$voice=$weObj->getRev()->getRevVoice(); + $weObj->image($voice['mediaid'])->reply();*/ + break; + case qyWechat::MSGTYPE_LOCATION://地理位置消息 + /*$location=$weObj->getRev()->getRevGeo(); + $weObj->text('X:'.$location['x'].'Y:'.$location['y'].'label:'.$location['label'])->reply();*/ + break; + + case qyWechat::MSGTYPE_EVENT: + $data=$weObj->getRev()->getRevData();//{"ToUserName":"wx735f8743226a8656","FromUserName":"dzz-1","CreateTime":"1413865073","MsgType":"event","AgentID":"0","Event":"unsubscribe","EventKey":{} + ///runlog('wxlog',json_encode($data)); + if($data['Event']=='unsubscribe'){ + DB::update('user',array('wechat_status'=>4),"wechat_userid='{$data[FromUserName]}'"); + }elseif($data['Event']=='subscribe'){ + DB::update('user',array('wechat_status'=>1),"wechat_userid='{$data[FromUserName]}'"); + //发送关注成功消息 + $weObj->text($_G['setting']['sitename'].lang('send_to_here'))->reply(); + }elseif($data['Event']=='view'){ + $weObj->text($data['url'])->reply(); + }elseif($data['Event']=='click'){ + $key=$data['EventKey']; + switch($key){ + case 'latest'://最新新闻 + if($newsdata=getLatestData($wx,ltrim($data['FromUserName'],'dzz-'))){ + $weObj->news($newsdata)->reply(); + }else{ + $weObj->text(lang('no_relevant_content'))->reply(); + } + break; + } + } + break; + + default: + /* $weObj->text("help info")->reply();*/ +} +exit(); +?> \ No newline at end of file diff --git a/user/news/安装文档.txt b/user/news/安装文档.txt new file mode 100644 index 0000000..bbfff72 --- /dev/null +++ b/user/news/安装文档.txt @@ -0,0 +1,364 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/user/profile/password.php b/user/profile/password.php index 1e4c292..aa9eb80 100644 --- a/user/profile/password.php +++ b/user/profile/password.php @@ -158,7 +158,7 @@ elseif ($do == 'bindqq'){//绑定qq showTips(array('lang'=>lang('qq_login_closed'),'referer'=>$_G['siteurl']),'html'); } - require_once DZZ_ROOT."./user/api_qqlogin/qqConnectAPI.php"; + require_once DZZ_ROOT."./user/qqlogin/api_qqlogin/qqConnectAPI.php"; $inurl = $_SERVER["HTTP_REFERER"]; //来路 diff --git a/user/api_qqlogin/class/ErrorCase.class.php b/user/qqlogin/api_qqlogin/class/ErrorCase.class.php similarity index 100% rename from user/api_qqlogin/class/ErrorCase.class.php rename to user/qqlogin/api_qqlogin/class/ErrorCase.class.php diff --git a/user/api_qqlogin/class/Oauth.class.php b/user/qqlogin/api_qqlogin/class/Oauth.class.php similarity index 100% rename from user/api_qqlogin/class/Oauth.class.php rename to user/qqlogin/api_qqlogin/class/Oauth.class.php diff --git a/user/api_qqlogin/class/QC.class.php b/user/qqlogin/api_qqlogin/class/QC.class.php similarity index 100% rename from user/api_qqlogin/class/QC.class.php rename to user/qqlogin/api_qqlogin/class/QC.class.php diff --git a/user/api_qqlogin/class/Recorder.class.php b/user/qqlogin/api_qqlogin/class/Recorder.class.php similarity index 100% rename from user/api_qqlogin/class/Recorder.class.php rename to user/qqlogin/api_qqlogin/class/Recorder.class.php diff --git a/user/api_qqlogin/class/URL.class.php b/user/qqlogin/api_qqlogin/class/URL.class.php similarity index 100% rename from user/api_qqlogin/class/URL.class.php rename to user/qqlogin/api_qqlogin/class/URL.class.php diff --git a/user/api_qqlogin/comm/config.php b/user/qqlogin/api_qqlogin/comm/config.php similarity index 100% rename from user/api_qqlogin/comm/config.php rename to user/qqlogin/api_qqlogin/comm/config.php diff --git a/user/api_qqlogin/comm/inc.php b/user/qqlogin/api_qqlogin/comm/inc.php similarity index 100% rename from user/api_qqlogin/comm/inc.php rename to user/qqlogin/api_qqlogin/comm/inc.php diff --git a/user/api_qqlogin/comm/utils.php b/user/qqlogin/api_qqlogin/comm/utils.php similarity index 100% rename from user/api_qqlogin/comm/utils.php rename to user/qqlogin/api_qqlogin/comm/utils.php diff --git a/user/api_qqlogin/qqConnectAPI.php b/user/qqlogin/api_qqlogin/qqConnectAPI.php similarity index 100% rename from user/api_qqlogin/qqConnectAPI.php rename to user/qqlogin/api_qqlogin/qqConnectAPI.php diff --git a/user/qqlogin/class/index.htm b/user/qqlogin/class/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/qqlogin/class/table/index.htm b/user/qqlogin/class/table/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/qqlogin/class/table/table_user_qqconnect.php b/user/qqlogin/class/table/table_user_qqconnect.php new file mode 100644 index 0000000..e13d13e --- /dev/null +++ b/user/qqlogin/class/table/table_user_qqconnect.php @@ -0,0 +1,35 @@ +_table = 'user_qqconnect'; + $this->_pk = 'openid'; + parent::__construct(); + } + public function fetch_by_openid($openid){ + return DB::fetch_first("select qq.openid,u.* from %t qq LEFT JOIN %t u ON qq.uid=u.uid where qq.openid=%d",array($this->_table,'user',$openid)); + } + public function insert_by_openid($openid,$uid,$uinfo,$unbind=0){ + if(!$openid) return false; + if(!$user=C::t('user')->fetch($uid)) return false; + if(!DB::insert($this->_table,array('openid'=>$openid,'uid'=>$uid,'unbind'=>$unbind,'dateline'=>TIMESTAMP),1,true)){ + return false; + } + //使用qq头像 + /*if($uinfo['figureurl_2'] && !$user['avatarstatus']){ + avatar_by_image($uinfo['figureurl_2'],$uid); + }*/ + } +} +?> diff --git a/user/qqlogin/dzz_app_qqlogin.xml b/user/qqlogin/dzz_app_qqlogin.xml new file mode 100644 index 0000000..81f8a58 --- /dev/null +++ b/user/qqlogin/dzz_app_qqlogin.xml @@ -0,0 +1,40 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/user/qqlogin.php b/user/qqlogin/index.php similarity index 99% rename from user/qqlogin.php rename to user/qqlogin/index.php index 4338f57..4858ea6 100644 --- a/user/qqlogin.php +++ b/user/qqlogin/index.php @@ -3,7 +3,7 @@ if (!defined('IN_DZZ')) { exit('Access Denied'); } define('NOROBOT', TRUE); -require_once DZZ_ROOT . "./user/api_qqlogin/qqConnectAPI.php"; +require_once "api_qqlogin/qqConnectAPI.php"; if (!in_array($_GET['type'], array('login', 'callback', 'newuser', 'olduser'))) { $_GET['type'] = 'login'; } diff --git a/user/qqlogin/install.php b/user/qqlogin/install.php new file mode 100644 index 0000000..bef0d96 --- /dev/null +++ b/user/qqlogin/install.php @@ -0,0 +1,26 @@ +'Setting', + 'open_qq_login'=>' Whether to open QQ login', + 'qq_app_id'=>' APP ID applied in QQ interconnection ', + 'qq_app_key'=>' Application APP KEY applied in QQ interconnection ', + 'whether_allow_direct'=>' whether direct use is allowed ', + 'user_must_binding'=>' User must be bound ', + 'user_must_binding_text'=>' User is not bound to a user, the system will automatically add a user to the system based on the QQ information and bind the user to the QQ. The default user name is QQ nickname. The email address and password are randomly generated. Users can login through QQ normal login or retrieve password ', + 'allow_direct_use'=>' allow direct use', + 'token_url'=>' callback address ', +); \ No newline at end of file diff --git a/user/qqlogin/language/index.htm b/user/qqlogin/language/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/qqlogin/language/zh-cn/index.htm b/user/qqlogin/language/zh-cn/index.htm new file mode 100644 index 0000000..e69de29 diff --git a/user/qqlogin/language/zh-cn/lang.php b/user/qqlogin/language/zh-cn/lang.php new file mode 100644 index 0000000..7c3d11d --- /dev/null +++ b/user/qqlogin/language/zh-cn/lang.php @@ -0,0 +1,13 @@ +'设置', + 'open_qq_login'=>'是否开启QQ登录', + 'qq_app_id'=>'在QQ互联申请的应用APP ID', + 'qq_app_key'=>'在QQ互联申请的应用APP KEY', + 'whether_allow_direct'=>'是否允许直接使用', + 'user_must_binding'=>'必须绑定用户', + 'user_must_binding_text'=>'用户不绑定用户,直接使用的话,系统将根据QQ的信息自动添加用户到系统并且和此QQ绑定。用户名默认使用QQ昵称;邮箱、密码随机生成。用户可以通过QQ登录正常登录或找回密码', + 'allow_direct_use'=>'允许直接使用', + 'token_url'=>'回调地址', +); \ No newline at end of file diff --git a/user/qqlogin/qqlogin.php b/user/qqlogin/qqlogin.php new file mode 100644 index 0000000..ad7101e --- /dev/null +++ b/user/qqlogin/qqlogin.php @@ -0,0 +1,17 @@ + fetch_all(null); +$navtitle="QQ登录配置"; +include template('admin'); diff --git a/user/qqlogin/template/admin.htm b/user/qqlogin/template/admin.htm new file mode 100644 index 0000000..69d2002 --- /dev/null +++ b/user/qqlogin/template/admin.htm @@ -0,0 +1,76 @@ + + + + + + + + + + + +
      +
      + +
      +
      +
      +
      +
      +
      +
      +
      +
      + + +
      +
      {lang open_qq_login}
      +
      + + +
      +
      +
      class="hide"> +
      +
      QQ APPID
      +
      + +
      +
      {lang qq_app_id}
      +
      +
      +
      QQ APPKAY
      +
      + +
      +
      {lang qq_app_key}
      +
      +
      +
      {lang whether_allow_direct}
      +
      + + +
      +
      {lang user_must_binding_text}
      +
      +
      +
      {lang token_url}
      +
      $_G['siteurl']user.php
      +
      +
      +
      + +
      +
      +
      +
      +
      + + + \ No newline at end of file diff --git a/user/qqlogin/template/left.htm b/user/qqlogin/template/left.htm new file mode 100644 index 0000000..1156d4e --- /dev/null +++ b/user/qqlogin/template/left.htm @@ -0,0 +1,4 @@ + + \ No newline at end of file diff --git a/user/template/login_qqcallback.htm b/user/qqlogin/template/login_qqcallback.htm similarity index 100% rename from user/template/login_qqcallback.htm rename to user/qqlogin/template/login_qqcallback.htm diff --git a/user/template/qqcallback.htm b/user/qqlogin/template/qqcallback.htm similarity index 100% rename from user/template/qqcallback.htm rename to user/qqlogin/template/qqcallback.htm diff --git a/user/register/register.php b/user/register/register.php index de341f9..c5bc437 100644 --- a/user/register/register.php +++ b/user/register/register.php @@ -10,16 +10,6 @@ if (!defined('IN_DZZ')) { exit('Access Denied'); } $setting = $_G['setting']; -$htmls = $settings = array(); -foreach($_G['cache']['fields_register'] as $field) { - $fieldid = $field['fieldid']; - $field_val = $_GET[''.$field_key]; - $html = profile_setting($fieldid, array(), false, false, true); - if($html) { - $settings[$fieldid] = $_G['cache']['profilesetting'][$fieldid]; - $htmls[$fieldid] = $html; - } -} $ismobile=helper_browser::ismobile(); $showregisterform = 1; Hook::listen('register_before');//注册预处理钩子 @@ -94,7 +84,7 @@ if(!submitcheck('regsubmit', 0, $seccodecheck)) { 'lastsendmail' => 0 ); //插入用户状态表 - \DB::insert('user_status',$status,1); + DB::insert('user_status',$status,1); //新用户登录 setloginstatus(array( diff --git a/user/register/template/register2.htm b/user/register/template/register2.htm index ba4e853..d04efd5 100644 --- a/user/register/template/register2.htm +++ b/user/register/template/register2.htm @@ -69,19 +69,15 @@
      - +
      - - - - - - -
      *$htmls[$field['fieldid']]
      + * + $htmls[$field['fieldid']] +
      - + -->
      diff --git a/user/scripts/register.js b/user/scripts/register.js index 1f65dd3..cd01afe 100644 --- a/user/scripts/register.js +++ b/user/scripts/register.js @@ -272,5 +272,104 @@ function checkemail(el) { errormessage(el, json.error||''); }); } +function addMailEvent(mailObj) { + mailObj.onclick = function (event) { + emailMenu(event, mailObj.id); + }; + mailObj.onkeyup = function (event) { + emailMenu(event, mailObj.id); + }; + mailObj.onkeydown = function (event) { + emailMenuOp(4, event, mailObj.id); + }; + mailObj.onblur = function () { + if(mailObj.value == '') { + errormessage(mailObj.id, __lang.register_email_tips1); + } + emailMenuOp(3, null, mailObj.id); + }; + stmp['email'] = mailObj.id; +} +var emailMenuST = null, emailMenui = 0, emaildomains = ['qq.com', '163.com', '126.com', 'sina.com', 'sohu.com', 'yahoo.com', 'gmail.com', 'hotmail.com']; +function emailMenuOp(op, e, id) { + if(op == 3 && BROWSER.ie && BROWSER.ie < 7) { + checkemail(id); + } + if(!$('emailmore_menu')) { + return; + } + if(op == 1) { + $('emailmore_menu').style.display = 'none'; + } else if(op == 2) { + showMenu({'ctrlid':'emailmore','pos': '13!'}); + } else if(op == 3) { + emailMenuST = setTimeout(function () { + emailMenuOp(1, id); + checkemail(id); + }, 500); + } else if(op == 4) { + e = e ? e : window.event; + var obj = $(id); + if(e.keyCode == 13) { + var v = obj.value.indexOf('@') != -1 ? obj.value.substring(0, obj.value.indexOf('@')) : obj.value; + obj.value = v + '@' + emaildomains[emailMenui]; + doane(e); + } + } else if(op == 5) { + var as = $('emailmore_menu').getElementsByTagName('a'); + for(i = 0;i < as.length;i++){ + as[i].className = ''; + } + } +} + +function emailMenu(e, id) { + if(BROWSER.ie && BROWSER.ie < 7) { + return; + } + e = e ? e : window.event; + var obj = $(id); + if(obj.value.indexOf('@') != -1) { + if($('emailmore_menu')) $('emailmore_menu').style.display = 'none'; + return; + } + var value = e.keyCode; + var v = obj.value; + if(!obj.value.length) { + emailMenuOp(1); + return; + } + + if(value == 40) { + emailMenui++; + if(emailMenui >= emaildomains.length) { + emailMenui = 0; + } + } else if(value == 38) { + emailMenui--; + if(emailMenui < 0) { + emailMenui = emaildomains.length - 1; + } + } else if(value == 13) { + $('emailmore_menu').style.display = 'none'; + return; + } + if(!$('emailmore_menu')) { + menu = document.createElement('div'); + menu.id = 'emailmore_menu'; + menu.style.display = 'none'; + menu.className = 'p_pop'; + menu.setAttribute('disautofocus', true); + $('append_parent').appendChild(menu); + } + var s = ''; + $('emailmore_menu').innerHTML = s; + + emailMenuOp(2); +}