├── .gitattributes ├── .gitignore ├── .htaccess ├── LICENSE.txt ├── README.md ├── application ├── .htaccess ├── admin │ ├── config.php │ ├── controller │ │ ├── AdminUser.php │ │ ├── Article.php │ │ ├── AuthGroup.php │ │ ├── Category.php │ │ ├── ChangePassword.php │ │ ├── Index.php │ │ ├── Link.php │ │ ├── Login.php │ │ ├── Menu.php │ │ ├── Nav.php │ │ ├── Slide.php │ │ ├── SlideCategory.php │ │ ├── System.php │ │ └── User.php │ └── validate │ │ ├── AdminUser.php │ │ ├── Article.php │ │ ├── Category.php │ │ ├── Link.php │ │ ├── Login.php │ │ ├── Menu.php │ │ ├── Nav.php │ │ ├── Slide.php │ │ └── User.php ├── api │ └── controller │ │ ├── Ueditor.php │ │ └── Upload.php ├── command.php ├── common.php ├── common │ ├── controller │ │ ├── AdminBase.php │ │ └── HomeBase.php │ └── model │ │ ├── AdminUser.php │ │ ├── Article.php │ │ ├── AuthGroup.php │ │ ├── AuthGroupAccess.php │ │ ├── AuthRule.php │ │ ├── Category.php │ │ ├── Link.php │ │ ├── Nav.php │ │ ├── Slide.php │ │ ├── SlideCategory.php │ │ └── User.php ├── config.php ├── database.php ├── index │ ├── config.php │ └── controller │ │ ├── Article.php │ │ ├── Index.php │ │ └── ShowList.php ├── route.php └── tags.php ├── build.php ├── composer.json ├── composer.lock ├── extend └── org │ ├── Auth.php │ └── UeditorUpload.php ├── index.php ├── open_source_bms.sql ├── public └── static │ ├── css │ ├── admin.css │ ├── font-awesome-ie7.min.css │ ├── font-awesome.min.css │ └── ztree-metro-style.css │ ├── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 │ ├── images │ ├── admin_logo.png │ ├── default_thumb.png │ ├── line_conn.png │ ├── loading.gif │ ├── login-bg.png │ ├── metro.gif │ └── metro.png │ └── js │ ├── admin.js │ ├── excanvas.min.js │ ├── html5shiv.min.js │ ├── jquery.cookie.min.js │ ├── jquery.min.js │ ├── jquery.validate.js │ ├── jquery.ztree.all.min.js │ ├── layui │ ├── css │ │ ├── layui.css │ │ ├── layui.mobile.css │ │ └── modules │ │ │ ├── code.css │ │ │ ├── laydate │ │ │ ├── icon.png │ │ │ └── laydate.css │ │ │ └── layer │ │ │ └── default │ │ │ ├── icon-ext.png │ │ │ ├── icon.png │ │ │ ├── layer.css │ │ │ ├── loading-0.gif │ │ │ ├── loading-1.gif │ │ │ └── loading-2.gif │ ├── font │ │ ├── iconfont.eot │ │ ├── iconfont.svg │ │ ├── iconfont.ttf │ │ └── iconfont.woff │ ├── images │ │ └── face │ │ │ ├── 0.gif │ │ │ ├── 1.gif │ │ │ ├── 10.gif │ │ │ ├── 11.gif │ │ │ ├── 12.gif │ │ │ ├── 13.gif │ │ │ ├── 14.gif │ │ │ ├── 15.gif │ │ │ ├── 16.gif │ │ │ ├── 17.gif │ │ │ ├── 18.gif │ │ │ ├── 19.gif │ │ │ ├── 2.gif │ │ │ ├── 20.gif │ │ │ ├── 21.gif │ │ │ ├── 22.gif │ │ │ ├── 23.gif │ │ │ ├── 24.gif │ │ │ ├── 25.gif │ │ │ ├── 26.gif │ │ │ ├── 27.gif │ │ │ ├── 28.gif │ │ │ ├── 29.gif │ │ │ ├── 3.gif │ │ │ ├── 30.gif │ │ │ ├── 31.gif │ │ │ ├── 32.gif │ │ │ ├── 33.gif │ │ │ ├── 34.gif │ │ │ ├── 35.gif │ │ │ ├── 36.gif │ │ │ ├── 37.gif │ │ │ ├── 38.gif │ │ │ ├── 39.gif │ │ │ ├── 4.gif │ │ │ ├── 40.gif │ │ │ ├── 41.gif │ │ │ ├── 42.gif │ │ │ ├── 43.gif │ │ │ ├── 44.gif │ │ │ ├── 45.gif │ │ │ ├── 46.gif │ │ │ ├── 47.gif │ │ │ ├── 48.gif │ │ │ ├── 49.gif │ │ │ ├── 5.gif │ │ │ ├── 50.gif │ │ │ ├── 51.gif │ │ │ ├── 52.gif │ │ │ ├── 53.gif │ │ │ ├── 54.gif │ │ │ ├── 55.gif │ │ │ ├── 56.gif │ │ │ ├── 57.gif │ │ │ ├── 58.gif │ │ │ ├── 59.gif │ │ │ ├── 6.gif │ │ │ ├── 60.gif │ │ │ ├── 61.gif │ │ │ ├── 62.gif │ │ │ ├── 63.gif │ │ │ ├── 64.gif │ │ │ ├── 65.gif │ │ │ ├── 66.gif │ │ │ ├── 67.gif │ │ │ ├── 68.gif │ │ │ ├── 69.gif │ │ │ ├── 7.gif │ │ │ ├── 70.gif │ │ │ ├── 71.gif │ │ │ ├── 8.gif │ │ │ └── 9.gif │ ├── lay │ │ ├── dest │ │ │ └── layui.all.js │ │ └── modules │ │ │ ├── code.js │ │ │ ├── element.js │ │ │ ├── flow.js │ │ │ ├── form.js │ │ │ ├── jquery.js │ │ │ ├── laydate.js │ │ │ ├── layedit.js │ │ │ ├── layer.js │ │ │ ├── laypage.js │ │ │ ├── laytpl.js │ │ │ ├── mobile.js │ │ │ ├── tree.js │ │ │ ├── upload.js │ │ │ └── util.js │ └── layui.js │ ├── respond.min.js │ └── ueditor │ ├── config.json │ ├── dialogs │ ├── anchor │ │ └── anchor.html │ ├── attachment │ │ ├── attachment.css │ │ ├── attachment.html │ │ ├── attachment.js │ │ ├── fileTypeImages │ │ │ ├── icon_chm.gif │ │ │ ├── icon_default.png │ │ │ ├── icon_doc.gif │ │ │ ├── icon_exe.gif │ │ │ ├── icon_jpg.gif │ │ │ ├── icon_mp3.gif │ │ │ ├── icon_mv.gif │ │ │ ├── icon_pdf.gif │ │ │ ├── icon_ppt.gif │ │ │ ├── icon_psd.gif │ │ │ ├── icon_rar.gif │ │ │ ├── icon_txt.gif │ │ │ └── icon_xls.gif │ │ └── images │ │ │ ├── alignicon.gif │ │ │ ├── alignicon.png │ │ │ ├── bg.png │ │ │ ├── file-icons.gif │ │ │ ├── file-icons.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── image.png │ │ │ ├── progress.png │ │ │ ├── success.gif │ │ │ └── success.png │ ├── background │ │ ├── background.css │ │ ├── background.html │ │ ├── background.js │ │ └── images │ │ │ ├── bg.png │ │ │ └── success.png │ ├── charts │ │ ├── chart.config.js │ │ ├── charts.css │ │ ├── charts.html │ │ ├── charts.js │ │ └── images │ │ │ ├── charts0.png │ │ │ ├── charts1.png │ │ │ ├── charts2.png │ │ │ ├── charts3.png │ │ │ ├── charts4.png │ │ │ └── charts5.png │ ├── emotion │ │ ├── emotion.css │ │ ├── emotion.html │ │ ├── emotion.js │ │ └── images │ │ │ ├── 0.gif │ │ │ ├── bface.gif │ │ │ ├── cface.gif │ │ │ ├── fface.gif │ │ │ ├── jxface2.gif │ │ │ ├── neweditor-tab-bg.png │ │ │ ├── tface.gif │ │ │ ├── wface.gif │ │ │ └── yface.gif │ ├── gmap │ │ └── gmap.html │ ├── help │ │ ├── help.css │ │ ├── help.html │ │ └── help.js │ ├── image │ │ ├── image.css │ │ ├── image.html │ │ ├── image.js │ │ └── images │ │ │ ├── alignicon.jpg │ │ │ ├── bg.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── image.png │ │ │ ├── progress.png │ │ │ ├── success.gif │ │ │ └── success.png │ ├── insertframe │ │ └── insertframe.html │ ├── internal.js │ ├── link │ │ └── link.html │ ├── map │ │ ├── map.html │ │ └── show.html │ ├── music │ │ ├── music.css │ │ ├── music.html │ │ └── music.js │ ├── preview │ │ └── preview.html │ ├── scrawl │ │ ├── images │ │ │ ├── addimg.png │ │ │ ├── brush.png │ │ │ ├── delimg.png │ │ │ ├── delimgH.png │ │ │ ├── empty.png │ │ │ ├── emptyH.png │ │ │ ├── eraser.png │ │ │ ├── redo.png │ │ │ ├── redoH.png │ │ │ ├── scale.png │ │ │ ├── scaleH.png │ │ │ ├── size.png │ │ │ ├── undo.png │ │ │ └── undoH.png │ │ ├── scrawl.css │ │ ├── scrawl.html │ │ └── scrawl.js │ ├── searchreplace │ │ ├── searchreplace.html │ │ └── searchreplace.js │ ├── snapscreen │ │ └── snapscreen.html │ ├── spechars │ │ ├── spechars.html │ │ └── spechars.js │ ├── table │ │ ├── dragicon.png │ │ ├── edittable.css │ │ ├── edittable.html │ │ ├── edittable.js │ │ ├── edittd.html │ │ └── edittip.html │ ├── template │ │ ├── config.js │ │ ├── images │ │ │ ├── bg.gif │ │ │ ├── pre0.png │ │ │ ├── pre1.png │ │ │ ├── pre2.png │ │ │ ├── pre3.png │ │ │ └── pre4.png │ │ ├── template.css │ │ ├── template.html │ │ └── template.js │ ├── video │ │ ├── images │ │ │ ├── bg.png │ │ │ ├── center_focus.jpg │ │ │ ├── file-icons.gif │ │ │ ├── file-icons.png │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── image.png │ │ │ ├── left_focus.jpg │ │ │ ├── none_focus.jpg │ │ │ ├── progress.png │ │ │ ├── right_focus.jpg │ │ │ ├── success.gif │ │ │ └── success.png │ │ ├── video.css │ │ ├── video.html │ │ └── video.js │ ├── webapp │ │ └── webapp.html │ └── wordimage │ │ ├── fClipboard_ueditor.swf │ │ ├── imageUploader.swf │ │ ├── tangram.js │ │ ├── wordimage.html │ │ └── wordimage.js │ ├── index.html │ ├── lang │ ├── en │ │ ├── en.js │ │ └── images │ │ │ ├── addimage.png │ │ │ ├── alldeletebtnhoverskin.png │ │ │ ├── alldeletebtnupskin.png │ │ │ ├── background.png │ │ │ ├── button.png │ │ │ ├── copy.png │ │ │ ├── deletedisable.png │ │ │ ├── deleteenable.png │ │ │ ├── listbackground.png │ │ │ ├── localimage.png │ │ │ ├── music.png │ │ │ ├── rotateleftdisable.png │ │ │ ├── rotateleftenable.png │ │ │ ├── rotaterightdisable.png │ │ │ ├── rotaterightenable.png │ │ │ └── upload.png │ └── zh-cn │ │ ├── images │ │ ├── copy.png │ │ ├── localimage.png │ │ ├── music.png │ │ └── upload.png │ │ └── zh-cn.js │ ├── themes │ ├── default │ │ ├── css │ │ │ ├── ueditor.css │ │ │ └── ueditor.min.css │ │ ├── dialogbase.css │ │ └── images │ │ │ ├── anchor.gif │ │ │ ├── arrow.png │ │ │ ├── arrow_down.png │ │ │ ├── arrow_up.png │ │ │ ├── button-bg.gif │ │ │ ├── cancelbutton.gif │ │ │ ├── charts.png │ │ │ ├── cursor_h.gif │ │ │ ├── cursor_h.png │ │ │ ├── cursor_v.gif │ │ │ ├── cursor_v.png │ │ │ ├── dialog-title-bg.png │ │ │ ├── filescan.png │ │ │ ├── highlighted.gif │ │ │ ├── icons-all.gif │ │ │ ├── icons.gif │ │ │ ├── icons.png │ │ │ ├── loaderror.png │ │ │ ├── loading.gif │ │ │ ├── lock.gif │ │ │ ├── neweditor-tab-bg.png │ │ │ ├── pagebreak.gif │ │ │ ├── scale.png │ │ │ ├── sortable.png │ │ │ ├── spacer.gif │ │ │ ├── sparator_v.png │ │ │ ├── table-cell-align.png │ │ │ ├── tangram-colorpicker.png │ │ │ ├── toolbar_bg.png │ │ │ ├── unhighlighted.gif │ │ │ ├── upload.png │ │ │ ├── videologo.gif │ │ │ ├── word.gif │ │ │ └── wordpaste.png │ └── iframe.css │ ├── third-party │ ├── SyntaxHighlighter │ │ ├── shCore.js │ │ └── shCoreDefault.css │ ├── codemirror │ │ ├── codemirror.css │ │ └── codemirror.js │ ├── highcharts │ │ ├── adapters │ │ │ ├── mootools-adapter.js │ │ │ ├── mootools-adapter.src.js │ │ │ ├── prototype-adapter.js │ │ │ ├── prototype-adapter.src.js │ │ │ ├── standalone-framework.js │ │ │ └── standalone-framework.src.js │ │ ├── highcharts-more.js │ │ ├── highcharts-more.src.js │ │ ├── highcharts.js │ │ ├── highcharts.src.js │ │ ├── modules │ │ │ ├── annotations.js │ │ │ ├── annotations.src.js │ │ │ ├── canvas-tools.js │ │ │ ├── canvas-tools.src.js │ │ │ ├── data.js │ │ │ ├── data.src.js │ │ │ ├── drilldown.js │ │ │ ├── drilldown.src.js │ │ │ ├── exporting.js │ │ │ ├── exporting.src.js │ │ │ ├── funnel.js │ │ │ ├── funnel.src.js │ │ │ ├── heatmap.js │ │ │ ├── heatmap.src.js │ │ │ ├── map.js │ │ │ ├── map.src.js │ │ │ ├── no-data-to-display.js │ │ │ └── no-data-to-display.src.js │ │ └── themes │ │ │ ├── dark-blue.js │ │ │ ├── dark-green.js │ │ │ ├── gray.js │ │ │ ├── grid.js │ │ │ └── skies.js │ ├── jquery-1.10.2.js │ ├── jquery-1.10.2.min.js │ ├── jquery-1.10.2.min.map │ ├── snapscreen │ │ └── UEditorSnapscreen.exe │ ├── video-js │ │ ├── font │ │ │ ├── vjs.eot │ │ │ ├── vjs.svg │ │ │ ├── vjs.ttf │ │ │ └── vjs.woff │ │ ├── video-js.css │ │ ├── video-js.min.css │ │ ├── video-js.swf │ │ ├── video.dev.js │ │ └── video.js │ ├── webuploader │ │ ├── Uploader.swf │ │ ├── webuploader.css │ │ ├── webuploader.custom.js │ │ ├── webuploader.custom.min.js │ │ ├── webuploader.flashonly.js │ │ ├── webuploader.flashonly.min.js │ │ ├── webuploader.html5only.js │ │ ├── webuploader.html5only.min.js │ │ ├── webuploader.js │ │ ├── webuploader.min.js │ │ ├── webuploader.withoutimage.js │ │ └── webuploader.withoutimage.min.js │ ├── xss.min.js │ └── zeroclipboard │ │ ├── ZeroClipboard.js │ │ ├── ZeroClipboard.min.js │ │ └── ZeroClipboard.swf │ ├── ueditor.all.js │ ├── ueditor.all.min.js │ ├── ueditor.config.js │ ├── ueditor.parse.js │ └── ueditor.parse.min.js ├── robots.txt ├── router.php ├── themes ├── admin │ ├── admin_user │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── article │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── auth_group │ │ ├── add.html │ │ ├── auth.html │ │ ├── edit.html │ │ └── index.html │ ├── base.html │ ├── category │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── index │ │ └── index.html │ ├── link │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── login │ │ └── index.html │ ├── menu │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── nav │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── slide │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── slide_category │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html │ ├── system │ │ ├── change_password.html │ │ └── site_config.html │ └── user │ │ ├── add.html │ │ ├── edit.html │ │ └── index.html ├── default │ └── index │ │ └── index.html └── mobile │ └── index │ └── index.html ├── think └── web.config /.gitattributes: -------------------------------------------------------------------------------- 1 | *js linguist-language=php 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.log 3 | runtime/ 4 | vendor/ 5 | thinkphp 6 | -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Options +FollowSymlinks -Multiviews 3 | RewriteEngine On 4 | 5 | RewriteCond %{REQUEST_FILENAME} !-d 6 | RewriteCond %{REQUEST_FILENAME} !-f 7 | RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L] 8 | 9 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Open Source BMS遵循Apache2开源协议发布,并提供免费使用。 2 | 版权所有Copyright © 2016-2017 by Open Source BMS (https://github.com/xiayulei/open_source_bms) 3 | All rights reserved。 4 | 5 | Apache Licence是著名的非盈利开源组织Apache采用的协议。 6 | 该协议和BSD类似,鼓励代码共享和尊重原作者的著作权, 7 | 允许代码修改,再作为开源或商业软件发布。需要满足 8 | 的条件: 9 | 1. 需要给代码的用户一份Apache Licence ; 10 | 2. 如果你修改了代码,需要在被修改的文件中说明; 11 | 3. 在延伸的代码中(修改和有源代码衍生的代码中)需要 12 | 带有原来代码中的协议,商标,专利声明和其他原来作者规 13 | 定需要包含的说明; 14 | 4. 如果再发布的产品中包含一个Notice文件,则在Notice文 15 | 件中需要带有本协议内容。你可以在Notice中增加自己的 16 | 许可,但不可以表现为对Apache Licence构成更改。 17 | 具体的协议参考:http://www.apache.org/licenses/LICENSE-2.0 18 | 19 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 20 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 21 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 22 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 23 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 24 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 25 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 26 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 29 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 30 | POSSIBILITY OF SUCH DAMAGE. 31 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## 项目停止维护 3 | 4 | ## Open Source BMS是什么? 5 | 全称Open Source Background Manager System,开源后台管理系统 6 | 一个节省开发时间的后台管理系统,程序基于ThinkPHP 5开发,后台UI使用LayUI搭建 7 | 8 | ## 安装使用: 9 | * 方式一:git克隆下载,请执行`composer install`命令进行完整安装 10 | * 方式二:非git用户请下载完整版,完整版无须执行`composer install`命令 11 | * 数据库文件为`open_source_bms.sql` 12 | * 下载程序至本地,请搭建虚拟域名,并开启URL重写(必须) 13 | * 站点开发前,建议修改`application`目录下的`config`配置文件,找到`salt`项,此项为全站加密公用盐值,请先修改,然后使用`md5('新密码' . config('salt'))`生成新密码,替换`admin_user`表中的默认管理员密码 14 | * 默认后台账号 `admin`,密码`admin` 15 | 16 | ## 2017.4.19更新(v1.1.1): 17 | 18 | * 核心框架同步更新为官方5.0.7 19 | * 后台UI同步更新为官方1.0.9_rls 20 | * 更换后台富文本编辑器为Ueditor 1.4.3.3 21 | * 调整后台模板目录至themes目录下 22 | * 入口文件移至根目录 23 | * 重命名项目名为Open Source BMS 24 | * 增加composer.lock文件 25 | * 此版本功能方向无大变动,目的为修复BUG,下一版本会进行功能方向调整 26 | * 修复一些BUG 27 | 28 | ## 2016.12.29更新(v1.1): 29 | 30 | * 核心框架同步更新为官方5.0.4 31 | * 后台UI同步更新为官方1.0.7 32 | * 调整`model`模型目录至`common`公共目录 33 | * 统一上传接口为`api`模块下`Upload`控制器 34 | * 分类表增加path字段,优化子分类查询 35 | * 增加单独密码修改功能,防止低权管理员随意修改自己权限组 36 | * 更换后台富文本编辑器为KindEditor 37 | * 恢复入口文件至public目录,减少整体结构调整 38 | * 修复一些BUG 39 | 40 | 其它更新请自行查看 41 | 42 | ## 版权信息 43 | 44 | Open Source BMS遵循Apache2开源协议发布,并提供免费使用。 45 | 46 | 版权所有Copyright © 2016-2017 by Open Source BMS All rights reserved。 47 | -------------------------------------------------------------------------------- /application/.htaccess: -------------------------------------------------------------------------------- 1 | deny from all -------------------------------------------------------------------------------- /application/admin/config.php: -------------------------------------------------------------------------------- 1 | [ 9 | // 模板路径 10 | 'view_path' => './themes/admin/' 11 | ], 12 | ]; -------------------------------------------------------------------------------- /application/admin/controller/ChangePassword.php: -------------------------------------------------------------------------------- 1 | fetch('system/change_password'); 23 | } 24 | 25 | /** 26 | * 更新密码 27 | */ 28 | public function updatePassword() 29 | { 30 | if ($this->request->isPost()) { 31 | $admin_id = Session::get('admin_id'); 32 | $data = $this->request->param(); 33 | $result = Db::name('admin_user')->find($admin_id); 34 | 35 | if ($result['password'] == md5($data['old_password'] . Config::get('salt'))) { 36 | if ($data['password'] == $data['confirm_password']) { 37 | $new_password = md5($data['password'] . Config::get('salt')); 38 | $res = Db::name('admin_user')->where(['id' => $admin_id])->setField('password', $new_password); 39 | 40 | if ($res !== false) { 41 | $this->success('修改成功'); 42 | } else { 43 | $this->error('修改失败'); 44 | } 45 | } else { 46 | $this->error('两次密码输入不一致'); 47 | } 48 | } else { 49 | $this->error('原密码不正确'); 50 | } 51 | } 52 | } 53 | } -------------------------------------------------------------------------------- /application/admin/controller/Index.php: -------------------------------------------------------------------------------- 1 | $_SERVER['HTTP_HOST'], 28 | 'document_root' => $_SERVER['DOCUMENT_ROOT'], 29 | 'server_os' => PHP_OS, 30 | 'server_port' => $_SERVER['SERVER_PORT'], 31 | 'server_soft' => $_SERVER['SERVER_SOFTWARE'], 32 | 'php_version' => PHP_VERSION, 33 | 'mysql_version' => $version[0]['ver'], 34 | 'max_upload_size' => ini_get('upload_max_filesize') 35 | ]; 36 | 37 | return $this->fetch('index', ['config' => $config]); 38 | } 39 | } -------------------------------------------------------------------------------- /application/admin/controller/Login.php: -------------------------------------------------------------------------------- 1 | fetch(); 23 | } 24 | 25 | /** 26 | * 登录验证 27 | * @return string 28 | */ 29 | public function login() 30 | { 31 | if ($this->request->isPost()) { 32 | $data = $this->request->only(['username', 'password', 'verify']); 33 | $validate_result = $this->validate($data, 'Login'); 34 | 35 | if ($validate_result !== true) { 36 | $this->error($validate_result); 37 | } else { 38 | $where['username'] = $data['username']; 39 | $where['password'] = md5($data['password'] . Config::get('salt')); 40 | 41 | $admin_user = Db::name('admin_user')->field('id,username,status')->where($where)->find(); 42 | 43 | if (!empty($admin_user)) { 44 | if ($admin_user['status'] != 1) { 45 | $this->error('当前用户已禁用'); 46 | } else { 47 | Session::set('admin_id', $admin_user['id']); 48 | Session::set('admin_name', $admin_user['username']); 49 | Db::name('admin_user')->update( 50 | [ 51 | 'last_login_time' => date('Y-m-d H:i:s', time()), 52 | 'last_login_ip' => $this->request->ip(), 53 | 'id' => $admin_user['id'] 54 | ] 55 | ); 56 | $this->success('登录成功', 'admin/index/index'); 57 | } 58 | } else { 59 | $this->error('用户名或密码错误'); 60 | } 61 | } 62 | } 63 | } 64 | 65 | /** 66 | * 退出登录 67 | */ 68 | public function logout() 69 | { 70 | Session::delete('admin_id'); 71 | Session::delete('admin_name'); 72 | $this->success('退出成功', 'admin/login/index'); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /application/admin/controller/SlideCategory.php: -------------------------------------------------------------------------------- 1 | select(); 27 | 28 | return $this->fetch('index', ['slide_category_list' => $slide_category_list]); 29 | } 30 | 31 | /** 32 | * 添加分类 33 | * @return mixed 34 | */ 35 | public function add() 36 | { 37 | return $this->fetch(); 38 | } 39 | 40 | /** 41 | * 保存分类 42 | */ 43 | public function save() 44 | { 45 | if ($this->request->isPost()) { 46 | $data = $this->request->post(); 47 | 48 | if (Db::name('slide_category')->insert($data)) { 49 | $this->success('保存成功'); 50 | } else { 51 | $this->error('保存失败'); 52 | } 53 | } 54 | } 55 | 56 | /** 57 | * 编辑分类 58 | * @param $id 59 | * @return mixed 60 | */ 61 | public function edit($id) 62 | { 63 | $slide_category = Db::name('slide_category')->find($id); 64 | 65 | return $this->fetch('edit', ['slide_category' => $slide_category]); 66 | } 67 | 68 | /** 69 | * 更新分类 70 | * @throws \think\Exception 71 | */ 72 | public function update() 73 | { 74 | if ($this->request->isPost()) { 75 | $data = $this->request->post(); 76 | 77 | if (Db::name('slide_category')->update($data) !== false) { 78 | $this->success('更新成功'); 79 | } else { 80 | $this->error('更新失败'); 81 | } 82 | } 83 | } 84 | 85 | /** 86 | * 删除分类 87 | * @param $id 88 | * @throws \think\Exception 89 | */ 90 | public function delete($id) 91 | { 92 | if (Db::name('slide_category')->delete($id) !== false) { 93 | $this->success('删除成功'); 94 | } else { 95 | $this->error('删除失败'); 96 | } 97 | } 98 | } -------------------------------------------------------------------------------- /application/admin/controller/System.php: -------------------------------------------------------------------------------- 1 | field('value')->where('name', 'site_config')->find(); 26 | $site_config = unserialize($site_config['value']); 27 | 28 | return $this->fetch('site_config', ['site_config' => $site_config]); 29 | } 30 | 31 | /** 32 | * 更新配置 33 | */ 34 | public function updateSiteConfig() 35 | { 36 | if ($this->request->isPost()) { 37 | $site_config = $this->request->post('site_config/a'); 38 | $site_config['site_tongji'] = htmlspecialchars_decode($site_config['site_tongji']); 39 | $data['value'] = serialize($site_config); 40 | if (Db::name('system')->where('name', 'site_config')->update($data) !== false) { 41 | $this->success('提交成功'); 42 | } else { 43 | $this->error('提交失败'); 44 | } 45 | } 46 | } 47 | 48 | /** 49 | * 清除缓存 50 | */ 51 | public function clear() 52 | { 53 | if (delete_dir_file(CACHE_PATH) || delete_dir_file(TEMP_PATH)) { 54 | $this->success('清除缓存成功'); 55 | } else { 56 | $this->error('清除缓存失败'); 57 | } 58 | } 59 | } -------------------------------------------------------------------------------- /application/admin/validate/AdminUser.php: -------------------------------------------------------------------------------- 1 | 'require|unique:admin_user', 15 | 'password' => 'confirm:confirm_password', 16 | 'confirm_password' => 'confirm:password', 17 | 'status' => 'require', 18 | 'group_id' => 'require' 19 | ]; 20 | 21 | protected $message = [ 22 | 'username.require' => '请输入用户名', 23 | 'username.unique' => '用户名已存在', 24 | 'password.confirm' => '两次输入密码不一致', 25 | 'confirm_password.confirm' => '两次输入密码不一致', 26 | 'status.require' => '请选择状态', 27 | 'group_id.require' => '请选择所属权限组' 28 | ]; 29 | } -------------------------------------------------------------------------------- /application/admin/validate/Article.php: -------------------------------------------------------------------------------- 1 | 'require', 10 | 'title' => 'require', 11 | 'sort' => 'require|number' 12 | ]; 13 | 14 | protected $message = [ 15 | 'cid.require' => '请选择所属栏目', 16 | 'title.require' => '请输入标题', 17 | 'sort.require' => '请输入排序', 18 | 'sort.number' => '排序只能填写数字' 19 | ]; 20 | } -------------------------------------------------------------------------------- /application/admin/validate/Category.php: -------------------------------------------------------------------------------- 1 | 'require', 10 | 'name' => 'require', 11 | 'sort' => 'require|number' 12 | ]; 13 | 14 | protected $message = [ 15 | 'pid.require' => '请选择上级栏目', 16 | 'name.require' => '请输入栏目名称', 17 | 'sort.require' => '请输入排序', 18 | 'sort.number' => '排序只能填写数字' 19 | ]; 20 | } -------------------------------------------------------------------------------- /application/admin/validate/Link.php: -------------------------------------------------------------------------------- 1 | 'require' 15 | ]; 16 | 17 | protected $message = [ 18 | 'name.require' => '请输入名称' 19 | ]; 20 | } -------------------------------------------------------------------------------- /application/admin/validate/Login.php: -------------------------------------------------------------------------------- 1 | 'require', 15 | 'password' => 'require', 16 | 'verify' => 'require|captcha' 17 | ]; 18 | 19 | protected $message = [ 20 | 'username.require' => '请输入用户名', 21 | 'password.require' => '请输入密码', 22 | 'verify.require' => '请输入验证码', 23 | 'verify.captcha' => '验证码不正确' 24 | ]; 25 | } -------------------------------------------------------------------------------- /application/admin/validate/Menu.php: -------------------------------------------------------------------------------- 1 | 'require', 10 | 'title' => 'require', 11 | 'name' => 'require', 12 | 'sort' => 'require|number' 13 | ]; 14 | 15 | protected $message = [ 16 | 'pid.require' => '请选择上级菜单', 17 | 'title.require' => '请输入菜单名称', 18 | 'name.require' => '请输入控制器方法', 19 | 'sort.require' => '请输入排序', 20 | 'sort.number' => '排序只能填写数字' 21 | ]; 22 | } -------------------------------------------------------------------------------- /application/admin/validate/Nav.php: -------------------------------------------------------------------------------- 1 | 'require', 10 | 'name' => 'require', 11 | 'sort' => 'require|number' 12 | ]; 13 | 14 | protected $message = [ 15 | 'pid.require' => '请选择上级导航', 16 | 'name.require' => '请输入导航名称', 17 | 'sort.require' => '请输入排序', 18 | 'sort.number' => '排序只能填写数字' 19 | ]; 20 | } -------------------------------------------------------------------------------- /application/admin/validate/Slide.php: -------------------------------------------------------------------------------- 1 | 'require', 15 | 'name' => 'require', 16 | 'sort' => 'require|number' 17 | ]; 18 | 19 | protected $message = [ 20 | 'cid.require' => '请选择所属分类', 21 | 'name.require' => '请输入名称', 22 | 'sort.require' => '请输入排序', 23 | 'sort.number' => '排序只能填写数字' 24 | ]; 25 | } -------------------------------------------------------------------------------- /application/admin/validate/User.php: -------------------------------------------------------------------------------- 1 | 'require|unique:user', 10 | 'password' => 'confirm:confirm_password', 11 | 'confirm_password' => 'confirm:password', 12 | 'mobile' => 'number|length:11', 13 | 'email' => 'email', 14 | 'status' => 'require', 15 | ]; 16 | 17 | protected $message = [ 18 | 'username.require' => '请输入用户名', 19 | 'username.unique' => '用户名已存在', 20 | 'password.confirm' => '两次输入密码不一致', 21 | 'confirm_password.confirm' => '两次输入密码不一致', 22 | 'mobile.number' => '手机号格式错误', 23 | 'mobile.length' => '手机号长度错误', 24 | 'email.email' => '邮箱格式错误', 25 | 'status.require' => '请选择状态' 26 | ]; 27 | } -------------------------------------------------------------------------------- /application/api/controller/Upload.php: -------------------------------------------------------------------------------- 1 | 1, 20 | 'message' => '未登录' 21 | ]; 22 | 23 | return json($result); 24 | } 25 | } 26 | 27 | /** 28 | * 通用图片上传接口 29 | * @return \think\response\Json 30 | */ 31 | public function upload() 32 | { 33 | $config = [ 34 | 'size' => 2097152, 35 | 'ext' => 'jpg,gif,png,bmp' 36 | ]; 37 | 38 | $file = $this->request->file('file'); 39 | 40 | $upload_path = str_replace('\\', '/', ROOT_PATH . 'public/uploads'); 41 | $save_path = '/uploads/'; 42 | $info = $file->validate($config)->move($upload_path); 43 | 44 | if ($info) { 45 | $result = [ 46 | 'error' => 0, 47 | 'url' => str_replace('\\', '/', $save_path . $info->getSaveName()) 48 | ]; 49 | } else { 50 | $result = [ 51 | 'error' => 1, 52 | 'message' => $file->getError() 53 | ]; 54 | } 55 | 56 | return json($result); 57 | } 58 | } -------------------------------------------------------------------------------- /application/command.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return []; -------------------------------------------------------------------------------- /application/common/controller/AdminBase.php: -------------------------------------------------------------------------------- 1 | checkAuth(); 23 | $this->getMenu(); 24 | 25 | // 输出当前请求控制器(配合后台侧边菜单选中状态) 26 | $this->assign('controller', Loader::parseName($this->request->controller())); 27 | } 28 | 29 | /** 30 | * 权限检查 31 | * @return bool 32 | */ 33 | protected function checkAuth() 34 | { 35 | 36 | if (!Session::has('admin_id')) { 37 | $this->redirect('admin/login/index'); 38 | } 39 | 40 | $module = $this->request->module(); 41 | $controller = $this->request->controller(); 42 | $action = $this->request->action(); 43 | 44 | // 排除权限 45 | $not_check = ['admin/Index/index', 'admin/AuthGroup/getjson', 'admin/System/clear']; 46 | 47 | if (!in_array($module . '/' . $controller . '/' . $action, $not_check)) { 48 | $auth = new Auth(); 49 | $admin_id = Session::get('admin_id'); 50 | if (!$auth->check($module . '/' . $controller . '/' . $action, $admin_id) && $admin_id != 1) { 51 | $this->error('没有权限'); 52 | } 53 | } 54 | } 55 | 56 | /** 57 | * 获取侧边栏菜单 58 | */ 59 | protected function getMenu() 60 | { 61 | $menu = []; 62 | $admin_id = Session::get('admin_id'); 63 | $auth = new Auth(); 64 | 65 | $auth_rule_list = Db::name('auth_rule')->where('status', 1)->order(['sort' => 'DESC', 'id' => 'ASC'])->select(); 66 | 67 | foreach ($auth_rule_list as $value) { 68 | if ($auth->check($value['name'], $admin_id) || $admin_id == 1) { 69 | $menu[] = $value; 70 | } 71 | } 72 | $menu = !empty($menu) ? array2tree($menu) : []; 73 | 74 | $this->assign('menu', $menu); 75 | } 76 | } -------------------------------------------------------------------------------- /application/common/controller/HomeBase.php: -------------------------------------------------------------------------------- 1 | getSystem(); 15 | $this->getNav(); 16 | $this->getSlide(); 17 | } 18 | 19 | /** 20 | * 获取站点信息 21 | */ 22 | protected function getSystem() 23 | { 24 | if (Cache::has('site_config')) { 25 | $site_config = Cache::get('site_config'); 26 | } else { 27 | $site_config = Db::name('system')->field('value')->where('name', 'site_config')->find(); 28 | $site_config = unserialize($site_config['value']); 29 | Cache::set('site_config', $site_config); 30 | } 31 | 32 | $this->assign($site_config); 33 | } 34 | 35 | /** 36 | * 获取前端导航列表 37 | */ 38 | protected function getNav() 39 | { 40 | if (Cache::has('nav')) { 41 | $nav = Cache::get('nav'); 42 | } else { 43 | $nav = Db::name('nav')->where(['status' => 1])->order(['sort' => 'ASC'])->select(); 44 | $nav = !empty($nav) ? array2tree($nav) : []; 45 | if (!empty($nav)) { 46 | Cache::set('nav', $nav); 47 | } 48 | } 49 | 50 | $this->assign('nav', $nav); 51 | } 52 | 53 | /** 54 | * 获取前端轮播图 55 | */ 56 | protected function getSlide() 57 | { 58 | if (Cache::has('slide')) { 59 | $slide = Cache::get('slide'); 60 | } else { 61 | $slide = Db::name('slide')->where(['status' => 1, 'cid' => 1])->order(['sort' => 'DESC'])->select(); 62 | if (!empty($slide)) { 63 | Cache::set('slide', $slide); 64 | } 65 | } 66 | 67 | $this->assign('slide', $slide); 68 | } 69 | } -------------------------------------------------------------------------------- /application/common/model/AdminUser.php: -------------------------------------------------------------------------------- 1 | pid; 17 | if ($pid > 0) { 18 | $parent = self::get($pid); 19 | $category->path = $parent->path . $pid . ','; 20 | } else { 21 | $category->path = 0 . ','; 22 | } 23 | 24 | $category->save(); 25 | }); 26 | 27 | self::event('after_update', function ($category) { 28 | $id = $category->id; 29 | $pid = $category->pid; 30 | $data = []; 31 | 32 | if ($pid == 0) { 33 | $data['path'] = 0 . ','; 34 | } else { 35 | $parent = self::get($pid); 36 | $data['path'] = $parent->path . $pid . ','; 37 | } 38 | 39 | if ($category->where('id', $id)->update($data) !== false) { 40 | $children = self::all(['path' => ['like', "%{$id},%"]]); 41 | foreach ($children as $value) { 42 | $value->path = $data['path'] . $id . ','; 43 | $value->save(); 44 | } 45 | } 46 | }); 47 | } 48 | 49 | /** 50 | * 反转义HTML实体标签 51 | * @param $value 52 | * @return string 53 | */ 54 | protected function setContentAttr($value) 55 | { 56 | return htmlspecialchars_decode($value); 57 | } 58 | 59 | /** 60 | * 自动生成时间 61 | * @return bool|string 62 | */ 63 | protected function setCreateTimeAttr() 64 | { 65 | return date('Y-m-d H:i:s'); 66 | } 67 | 68 | /** 69 | * 获取层级缩进列表数据 70 | * @return array 71 | */ 72 | public function getLevelList() 73 | { 74 | $category_level = $this->order(['sort' => 'DESC'])->select(); 75 | 76 | return array2level($category_level); 77 | } 78 | } -------------------------------------------------------------------------------- /application/common/model/Link.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | // 数据库类型 14 | 'type' => 'mysql', 15 | // 服务器地址 16 | 'hostname' => '127.0.0.1', 17 | // 数据库名 18 | 'database' => 'open_source_bms', 19 | // 用户名 20 | 'username' => 'root', 21 | // 密码 22 | 'password' => 'root', 23 | // 端口 24 | 'hostport' => '', 25 | // 连接dsn 26 | 'dsn' => '', 27 | // 数据库连接参数 28 | 'params' => [], 29 | // 数据库编码默认采用utf8 30 | 'charset' => 'utf8', 31 | // 数据库表前缀 32 | 'prefix' => 'os_', 33 | // 数据库调试模式 34 | 'debug' => true, 35 | // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 36 | 'deploy' => 0, 37 | // 数据库读写是否分离 主从式有效 38 | 'rw_separate' => false, 39 | // 读写分离后 主服务器数量 40 | 'master_num' => 1, 41 | // 指定从服务器序号 42 | 'slave_no' => '', 43 | // 是否严格检查字段是否存在 44 | 'fields_strict' => true, 45 | // 数据集返回类型 array 数组 collection Collection对象 46 | 'resultset_type' => 'array', 47 | // 是否自动写入时间戳字段 48 | 'auto_timestamp' => false, 49 | // 时间字段取出后的默认时间格式 50 | 'datetime_format' => false, 51 | // 是否需要进行SQL性能分析 52 | 'sql_explain' => false, 53 | ]; 54 | -------------------------------------------------------------------------------- /application/index/config.php: -------------------------------------------------------------------------------- 1 | [ 8 | // 模板路径 9 | 'view_path' => './themes/default/', 10 | ], 11 | ]; -------------------------------------------------------------------------------- /application/index/controller/Article.php: -------------------------------------------------------------------------------- 1 | request->param('id/d'); 20 | $cid = $this->request->param('cid/d'); 21 | 22 | if (empty($cid) || empty($id)) { 23 | return false; 24 | } 25 | 26 | $category_model = new CategoryModel(); 27 | $article_model = new ArticleModel(); 28 | 29 | // 当前分类 30 | $current = $category_model->get($cid); 31 | if (empty($current)) { 32 | return false; 33 | } 34 | 35 | $path = explode(',', $current['path']); 36 | $pid = !empty($path[1]) ? $path[1] : $cid; 37 | // 当前分类顶级父类 38 | $parent = $category_model->get($pid); 39 | // 当前分类所有子分类 40 | $children = get_category_children($pid); 41 | // 当前文章 42 | $article = $article_model->get($id); 43 | 44 | return $this->fetch(":{$current['detail_template']}", [ 45 | 'parent' => $parent, 46 | 'current' => $current, 47 | 'children' => $children, 48 | 'article' => $article 49 | ]); 50 | } 51 | } -------------------------------------------------------------------------------- /application/index/controller/Index.php: -------------------------------------------------------------------------------- 1 | fetch(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /application/index/controller/ShowList.php: -------------------------------------------------------------------------------- 1 | request->param('cid/d'); 19 | 20 | if (empty($cid)) { 21 | return false; 22 | } 23 | 24 | // 当前分类 25 | $current = CategoryModel::get($cid); 26 | if (empty($current)) { 27 | return false; 28 | } 29 | 30 | $article_list = []; 31 | $path = explode(',', $current['path']); 32 | $pid = !empty($path[1]) ? $path[1] : $cid; 33 | // 当前分类顶级父类 34 | $parent = CategoryModel::get($pid); 35 | // 当前分类所有子分类 36 | $children = get_category_children($pid); 37 | 38 | if ($current['type'] == 1) { 39 | $article_list = get_articles_by_cid_paged($cid); 40 | $template = $current['list_template']; 41 | } else { 42 | $template = $current['detail_template']; 43 | } 44 | 45 | return $this->fetch(":{$template}", [ 46 | 'parent' => $parent, 47 | 'current' => $current, 48 | 'children' => $children, 49 | 'article_list' => $article_list 50 | ]); 51 | } 52 | } -------------------------------------------------------------------------------- /application/route.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | '__pattern__' => [ 14 | 'name' => '\w+', 15 | ], 16 | 17 | ]; 18 | -------------------------------------------------------------------------------- /application/tags.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | // 应用行为扩展定义文件 13 | return [ 14 | // 应用初始化 15 | 'app_init' => [], 16 | // 应用开始 17 | 'app_begin' => [], 18 | // 模块初始化 19 | 'module_init' => [], 20 | // 操作开始执行 21 | 'action_begin' => [], 22 | // 视图内容过滤 23 | 'view_filter' => [], 24 | // 日志写入 25 | 'log_write' => [], 26 | // 应用结束 27 | 'app_end' => [], 28 | ]; 29 | -------------------------------------------------------------------------------- /build.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | return [ 13 | // 生成应用公共文件 14 | '__file__' => ['common.php', 'config.php', 'database.php'], 15 | 16 | // 定义demo模块的自动生成 (按照实际定义的文件名生成) 17 | 'demo' => [ 18 | '__file__' => ['common.php'], 19 | '__dir__' => ['behavior', 'controller', 'model', 'view'], 20 | 'controller' => ['Index', 'Test', 'UserType'], 21 | 'model' => ['User', 'UserType'], 22 | 'view' => ['index/index'], 23 | ], 24 | // 其他更多的模块定义 25 | ]; 26 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "topthink/think", 3 | "description": "the new thinkphp framework", 4 | "type": "project", 5 | "keywords": [ 6 | "framework", 7 | "thinkphp", 8 | "ORM" 9 | ], 10 | "homepage": "http://thinkphp.cn/", 11 | "license": "Apache-2.0", 12 | "authors": [ 13 | { 14 | "name": "liu21st", 15 | "email": "liu21st@gmail.com" 16 | } 17 | ], 18 | "require": { 19 | "php": ">=5.4.0", 20 | "topthink/framework": "^5.0", 21 | "topthink/think-captcha": "^1.0" 22 | }, 23 | "extra": { 24 | "think-path": "thinkphp" 25 | }, 26 | "config": { 27 | "preferred-install": "dist" 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | // [ 应用入口文件 ] 13 | 14 | // 定义应用目录 15 | define('APP_PATH', __DIR__ . '/application/'); 16 | // 加载框架引导文件 17 | require __DIR__ . '/thinkphp/start.php'; 18 | -------------------------------------------------------------------------------- /public/static/css/admin.css: -------------------------------------------------------------------------------- 1 | /*后台公用样式*/ 2 | 3 | .login {background: url(../images/login-bg.png) #56bc94;} 4 | .login .login-title {color: #fff;text-align: center;font-size: 20px;margin-top: 200px;} 5 | .login .login-form {max-width: 450px;margin: 10px auto;position: relative;left: -50px;color: #fff;} 6 | .login .login-form .captcha {width: 140px;height: 38px;} 7 | .login .login-form input {background-color: rgba(255, 255, 255, 0.3);border: 1px solid rgba(255, 255, 255, 0.3);color: #fff;} 8 | .login .login-form button {width: 100%;background-color: #048f74;} 9 | 10 | .logo {margin-top: 20px;margin-left: 20px;} 11 | 12 | .header {background-color: #393D49;} 13 | 14 | .footer {line-height: 44px;} 15 | 16 | .layui-body {left: 210px;} 17 | .layui-side {top: 60px;} 18 | .layui-table tbody tr:hover {background-color: #f2f2f2;} 19 | .layui-tab {overflow: visible;} 20 | .layui-tab-title > li > a {display: block;} 21 | .layui-btn-normal {background: #4caf50;} 22 | .layui-btn-danger {background: #e90d24;} 23 | .layui-nav-tree .layui-nav-child dd a {text-indent: 16px;} 24 | 25 | .form-container {max-width: 800px;} 26 | .form-container .edui-editor {margin-top: -7px;margin-bottom: -7px;margin-left: -11px;} 27 | 28 | /*分页*/ 29 | .pagination {} 30 | .pagination li {display: inline-block;margin-right: -1px;padding: 5px;border: 1px solid #e2e2e2;min-width: 20px;text-align: center;} 31 | .pagination li.active {background: #009688;color: #fff;border: 1px solid #009688;} 32 | .pagination li a {display: block;text-align: center;} 33 | 34 | .photo-list {margin: 5px 0;} -------------------------------------------------------------------------------- /public/static/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/static/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/static/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/static/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/static/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /public/static/images/admin_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/admin_logo.png -------------------------------------------------------------------------------- /public/static/images/default_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/default_thumb.png -------------------------------------------------------------------------------- /public/static/images/line_conn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/line_conn.png -------------------------------------------------------------------------------- /public/static/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/loading.gif -------------------------------------------------------------------------------- /public/static/images/login-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/login-bg.png -------------------------------------------------------------------------------- /public/static/images/metro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/metro.gif -------------------------------------------------------------------------------- /public/static/images/metro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/images/metro.png -------------------------------------------------------------------------------- /public/static/js/html5shiv.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @preserve HTML5 Shiv 3.7.3 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed 3 | */ 4 | !function(a,b){function c(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x",d.insertBefore(c.lastChild,d.firstChild)}function d(){var a=t.elements;return"string"==typeof a?a.split(" "):a}function e(a,b){var c=t.elements;"string"!=typeof c&&(c=c.join(" ")),"string"!=typeof a&&(a=a.join(" ")),t.elements=c+" "+a,j(b)}function f(a){var b=s[a[q]];return b||(b={},r++,a[q]=r,s[r]=b),b}function g(a,c,d){if(c||(c=b),l)return c.createElement(a);d||(d=f(c));var e;return e=d.cache[a]?d.cache[a].cloneNode():p.test(a)?(d.cache[a]=d.createElem(a)).cloneNode():d.createElem(a),!e.canHaveChildren||o.test(a)||e.tagUrn?e:d.frag.appendChild(e)}function h(a,c){if(a||(a=b),l)return a.createDocumentFragment();c=c||f(a);for(var e=c.frag.cloneNode(),g=0,h=d(),i=h.length;i>g;g++)e.createElement(h[g]);return e}function i(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return t.shivMethods?g(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+d().join().replace(/[\w\-:]+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(t,b.frag)}function j(a){a||(a=b);var d=f(a);return!t.shivCSS||k||d.hasCSS||(d.hasCSS=!!c(a,"article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")),l||i(a,d),a}var k,l,m="3.7.3",n=a.html5||{},o=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,p=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,q="_html5shiv",r=0,s={};!function(){try{var a=b.createElement("a");a.innerHTML="",k="hidden"in a,l=1==a.childNodes.length||function(){b.createElement("a");var a=b.createDocumentFragment();return"undefined"==typeof a.cloneNode||"undefined"==typeof a.createDocumentFragment||"undefined"==typeof a.createElement}()}catch(c){k=!0,l=!0}}();var t={elements:n.elements||"abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video",version:m,shivCSS:n.shivCSS!==!1,supportsUnknownElements:l,shivMethods:n.shivMethods!==!1,type:"default",shivDocument:j,createElement:g,createDocumentFragment:h,addElements:e};a.html5=t,j(b),"object"==typeof module&&module.exports&&(module.exports=t)}("undefined"!=typeof window?window:this,document); -------------------------------------------------------------------------------- /public/static/js/jquery.cookie.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * JavaScript Cookie v2.0.4 3 | * https://github.com/js-cookie/js-cookie 4 | * 5 | * Copyright 2006, 2015 Klaus Hartl & Fagner Brack 6 | * Released under the MIT license 7 | */ 8 | !function(e){if("function"==typeof define&&define.amd)define(e);else if("object"==typeof exports)module.exports=e();else{var n=window.Cookies,t=window.Cookies=e();t.noConflict=function(){return window.Cookies=n,t}}}(function(){function e(){for(var e=0,n={};e1){if(i=e({path:"/"},o.defaults,i),"number"==typeof i.expires){var s=new Date;s.setMilliseconds(s.getMilliseconds()+864e5*i.expires),i.expires=s}try{c=JSON.stringify(r),/^[\{\[]/.test(c)&&(r=c)}catch(a){}return r=encodeURIComponent(String(r)),r=r.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g,decodeURIComponent),n=encodeURIComponent(String(n)),n=n.replace(/%(23|24|26|2B|5E|60|7C)/g,decodeURIComponent),n=n.replace(/[\(\)]/g,escape),document.cookie=[n,"=",r,i.expires&&"; expires="+i.expires.toUTCString(),i.path&&"; path="+i.path,i.domain&&"; domain="+i.domain,i.secure?"; secure":""].join("")}n||(c={});for(var p=document.cookie?document.cookie.split("; "):[],u=/(%[0-9A-Z]{2})+/g,d=0;d/g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); -------------------------------------------------------------------------------- /public/static/js/layui/lay/modules/flow.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(e){"use strict";var l=layui.jquery,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var u=l(e.elem);if(u[0]){var f=l(e.scrollElem||document),m=e.mb||50,s=!("isAuto"in e)||e.isAuto,y=e.end||"没有更多了",v=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");u.find(".layui-flow-more")[0]||u.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(y):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(f.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=v?e.height():l(window).height(),n=v?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=m&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var f=e.attr("lay-src");layui.img(f,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",f).removeAttr("lay-src"),l[0]&&u(l),i++})}},u=function(e,o){var u=a?(o||n).height():l(window).height(),f=n.scrollTop(),m=f+u;if(t.lazyimg.elem=l(r),e)c(e,u);else for(var s=0;sm)break}};if(u(),!o){var f;n.on("scroll",function(){var e=l(this);f&&clearTimeout(f),f=setTimeout(function(){u(null,e)},50)}),o=!0}return u},e("flow",new o)}); -------------------------------------------------------------------------------- /public/static/js/layui/lay/modules/laytpl.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},n={exp:function(e){return new RegExp(e,"g")},query:function(e,n,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return c((n||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var n="Laytpl Error:";return"object"==typeof console&&console.error(n+e+"\n"+(r||"")),n+e}},c=n.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=c("^"+r.open+"#",""),l=c(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(c(r.open+"#"),r.open+"# ").replace(c(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(/(?="|')/g,"\\").replace(n.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(n.query(1),function(e){var n='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(c(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),n='"+_escape_('),n+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,n.escape)}catch(u){return delete o.cache,n.error(u,p)}},t.pt.render=function(e,r){var c,t=this;return e?(c=t.cache?t.cache(e,n.escape):t.parse(t.tpl,e),r?void r(c):c):n.error("no data")};var o=function(e){return"string"!=typeof e?n.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var n in e)r[n]=e[n]},o.v="1.2.0",e("laytpl",o)}); -------------------------------------------------------------------------------- /public/static/js/layui/lay/modules/upload.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define("layer",function(e){"use strict";var a=layui.jquery,t=layui.layer,i=(layui.device(),"layui-upload-enter"),n="layui-upload-iframe",r={icon:2,shift:6},o={file:"文件",video:"视频",audio:"音频"},s=function(e){this.options=e};s.prototype.init=function(){var e=this,t=e.options,r=a("body"),s=a(t.elem||".layui-upload-file"),u=a('');return a("#"+n)[0]||r.append(u),s.each(function(r,s){s=a(s);var u='
',l=s.attr("lay-type")||t.type;t.unwrap||(u='
'+u+''+(s.attr("lay-title")||t.title||"上传"+(o[l]||"图片"))+"
"),u=a(u),t.unwrap||u.on("dragover",function(e){e.preventDefault(),a(this).addClass(i)}).on("dragleave",function(){a(this).removeClass(i)}).on("drop",function(){a(this).removeClass(i)}),s.parent("form").attr("target")===n&&(t.unwrap?s.unwrap():(s.parent().next().remove(),s.unwrap().unwrap())),s.wrap(u),s.off("change").on("change",function(){e.action(this,l)})})},s.prototype.action=function(e,i){var o=this,s=o.options,u=e.value,l=a(e),p=l.attr("lay-ext")||s.ext||"";if(u){switch(i){case"file":if(p&&!RegExp("\\w\\.("+p+")$","i").test(escape(u)))return t.msg("不支持该文件格式",r),e.value="";break;case"video":if(!RegExp("\\w\\.("+(p||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(u)))return t.msg("不支持该视频格式",r),e.value="";break;case"audio":if(!RegExp("\\w\\.("+(p||"mp3|wav|mid")+")$","i").test(escape(u)))return t.msg("不支持该音频格式",r),e.value="";break;default:if(!RegExp("\\w\\.("+(p||"jpg|png|gif|bmp|jpeg")+")$","i").test(escape(u)))return t.msg("不支持该图片格式",r),e.value=""}s.before&&s.before(e),l.parent().submit();var c=a("#"+n),f=setInterval(function(){var a;try{a=c.contents().find("body").text()}catch(i){t.msg("上传接口存在跨域",r),clearInterval(f)}if(a){clearInterval(f),c.contents().find("body").html("");try{a=JSON.parse(a)}catch(i){return a={},t.msg("请对上传接口返回JSON字符",r)}"function"==typeof s.success&&s.success(a,e)}},30);e.value=""}},e("upload",function(e){var a=new s(e=e||{});a.init()})}); -------------------------------------------------------------------------------- /public/static/js/layui/lay/modules/util.js: -------------------------------------------------------------------------------- 1 | /** layui-v1.0.9_rls MIT License By http://www.layui.com */ 2 | ;layui.define("jquery",function(l){"use strict";var o=layui.jquery,i={fixbar:function(l){l=l||{},l.bgcolor=l.bgcolor?"background-color:"+l.bgcolor:"";var i,a,c="layui-fixbar-top",t=[l.bar1===!0?"":l.bar1,l.bar2===!0?"":l.bar2,""],r=o(['
    ',l.bar1?'
  • '+t[0]+"
  • ":"",l.bar2?'
  • '+t[1]+"
  • ":"",'
  • '+t[2]+"
  • ","
"].join("")),e=r.find("."+c),s=function(){var i=o(document).scrollTop();i>=(l.showHeight||200)?a||(e.show(),a=1):a&&(e.hide(),a=0)};o(".layui-fixbar")[0]||("object"==typeof l.css&&r.css(l.css),o("body").append(r),s(),r.find("li").on("click",function(){var i=o(this),a=i.attr("lay-type");"top"===a&&o("html,body").animate({scrollTop:0},200),l.click&&l.click.call(this,a)}),o(document).on("scroll",function(){i&&clearTimeout(i),i=setTimeout(function(){s()},100)}))}};l("util",i)}); -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/anchor/anchor.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 13 | 14 | 15 |
16 | 17 |
18 | 19 | 39 | 40 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/attachment.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ueditor图片对话框 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 |
22 | 23 | 24 |
25 |
26 | 27 |
28 |
29 |
30 |
31 | 0% 32 | 33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
    45 |
  • 46 |
47 |
48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 |
56 |
57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_chm.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_default.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_doc.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_exe.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_jpg.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_mp3.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_mv.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_pdf.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_ppt.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_psd.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_rar.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_txt.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/fileTypeImages/icon_xls.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/alignicon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/alignicon.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/alignicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/alignicon.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/file-icons.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/file-icons.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/icons.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/icons.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/image.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/progress.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/success.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/attachment/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/attachment/images/success.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/background/background.css: -------------------------------------------------------------------------------- 1 | .wrapper{ width: 424px;margin: 10px auto; zoom:1;position: relative} 2 | .tabbody{height:225px;} 3 | .tabbody .panel { position: absolute;width:100%; height:100%;background: #fff; display: none;} 4 | .tabbody .focus { display: block;} 5 | 6 | body{font-size: 12px;color: #888;overflow: hidden;} 7 | input,label{vertical-align:middle} 8 | .clear{clear: both;} 9 | .pl{padding-left: 18px;padding-left: 23px\9;} 10 | 11 | #imageList {width: 420px;height: 215px;margin-top: 10px;overflow: hidden;overflow-y: auto;} 12 | #imageList div {float: left;width: 100px;height: 95px;margin: 5px 10px;} 13 | #imageList img {cursor: pointer;border: 2px solid white;} 14 | 15 | .bgarea{margin: 10px;padding: 5px;height: 84%;border: 1px solid #A8A297;} 16 | .content div{margin: 10px 0 10px 5px;} 17 | .content .iptradio{margin: 0px 5px 5px 0px;} 18 | .txt{width:280px;} 19 | 20 | .wrapcolor{height: 19px;} 21 | div.color{float: left;margin: 0;} 22 | #colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;margin: 0;float: left;} 23 | div.alignment,#custom{margin-left: 23px;margin-left: 28px\9;} 24 | #custom input{height: 15px;min-height: 15px;width:20px;} 25 | #repeatType{width:100px;} 26 | 27 | 28 | /* 图片管理样式 */ 29 | #imgManager { 30 | width: 100%; 31 | height: 225px; 32 | } 33 | #imgManager #imageList{ 34 | width: 100%; 35 | overflow-x: hidden; 36 | overflow-y: auto; 37 | } 38 | #imgManager ul { 39 | display: block; 40 | list-style: none; 41 | margin: 0; 42 | padding: 0; 43 | } 44 | #imgManager li { 45 | float: left; 46 | display: block; 47 | list-style: none; 48 | padding: 0; 49 | width: 113px; 50 | height: 113px; 51 | margin: 9px 0 0 19px; 52 | background-color: #eee; 53 | overflow: hidden; 54 | cursor: pointer; 55 | position: relative; 56 | } 57 | #imgManager li.clearFloat { 58 | float: none; 59 | clear: both; 60 | display: block; 61 | width:0; 62 | height:0; 63 | margin: 0; 64 | padding: 0; 65 | } 66 | #imgManager li img { 67 | cursor: pointer; 68 | } 69 | #imgManager li .icon { 70 | cursor: pointer; 71 | width: 113px; 72 | height: 113px; 73 | position: absolute; 74 | top: 0; 75 | left: 0; 76 | z-index: 2; 77 | border: 0; 78 | background-repeat: no-repeat; 79 | } 80 | #imgManager li .icon:hover { 81 | width: 107px; 82 | height: 107px; 83 | border: 3px solid #1094fa; 84 | } 85 | #imgManager li.selected .icon { 86 | background-image: url(images/success.png); 87 | background-position: 75px 75px; 88 | } 89 | #imgManager li.selected .icon:hover { 90 | width: 107px; 91 | height: 107px; 92 | border: 3px solid #1094fa; 93 | background-position: 72px 72px; 94 | } -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/background/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/background/images/bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/background/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/background/images/success.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/chart.config.js: -------------------------------------------------------------------------------- 1 | /* 2 | * 图表配置文件 3 | * */ 4 | 5 | 6 | //不同类型的配置 7 | var typeConfig = [ 8 | { 9 | chart: { 10 | type: 'line' 11 | }, 12 | plotOptions: { 13 | line: { 14 | dataLabels: { 15 | enabled: false 16 | }, 17 | enableMouseTracking: true 18 | } 19 | } 20 | }, { 21 | chart: { 22 | type: 'line' 23 | }, 24 | plotOptions: { 25 | line: { 26 | dataLabels: { 27 | enabled: true 28 | }, 29 | enableMouseTracking: false 30 | } 31 | } 32 | }, { 33 | chart: { 34 | type: 'area' 35 | } 36 | }, { 37 | chart: { 38 | type: 'bar' 39 | } 40 | }, { 41 | chart: { 42 | type: 'column' 43 | } 44 | }, { 45 | chart: { 46 | plotBackgroundColor: null, 47 | plotBorderWidth: null, 48 | plotShadow: false 49 | }, 50 | plotOptions: { 51 | pie: { 52 | allowPointSelect: true, 53 | cursor: 'pointer', 54 | dataLabels: { 55 | enabled: true, 56 | color: '#000000', 57 | connectorColor: '#000000', 58 | formatter: function() { 59 | return ''+ this.point.name +': '+ ( Math.round( this.point.percentage*100 ) / 100 ) +' %'; 60 | } 61 | } 62 | } 63 | } 64 | } 65 | ]; 66 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/images/charts0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/charts/images/charts0.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/images/charts1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/charts/images/charts1.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/images/charts2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/charts/images/charts2.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/images/charts3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/charts/images/charts3.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/images/charts4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/charts/images/charts4.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/charts/images/charts5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/charts/images/charts5.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/emotion.css: -------------------------------------------------------------------------------- 1 | .jd img{ 2 | background:transparent url(images/jxface2.gif?v=1.1) no-repeat scroll left top; 3 | cursor:pointer;width:35px;height:35px;display:block; 4 | } 5 | .pp img{ 6 | background:transparent url(images/fface.gif?v=1.1) no-repeat scroll left top; 7 | cursor:pointer;width:25px;height:25px;display:block; 8 | } 9 | .ldw img{ 10 | background:transparent url(images/wface.gif?v=1.1) no-repeat scroll left top; 11 | cursor:pointer;width:35px;height:35px;display:block; 12 | } 13 | .tsj img{ 14 | background:transparent url(images/tface.gif?v=1.1) no-repeat scroll left top; 15 | cursor:pointer;width:35px;height:35px;display:block; 16 | } 17 | .cat img{ 18 | background:transparent url(images/cface.gif?v=1.1) no-repeat scroll left top; 19 | cursor:pointer;width:35px;height:35px;display:block; 20 | } 21 | .bb img{ 22 | background:transparent url(images/bface.gif?v=1.1) no-repeat scroll left top; 23 | cursor:pointer;width:35px;height:35px;display:block; 24 | } 25 | .youa img{ 26 | background:transparent url(images/yface.gif?v=1.1) no-repeat scroll left top; 27 | cursor:pointer;width:35px;height:35px;display:block; 28 | } 29 | 30 | .smileytable td {height: 37px;} 31 | #tabPanel{margin-left:5px;overflow: hidden;} 32 | #tabContent {float:left;background:#FFFFFF;} 33 | #tabContent div{display: none;width:480px;overflow:hidden;} 34 | #tabIconReview.show{left:17px;display:block;} 35 | .menuFocus{background:#ACCD3C;} 36 | .menuDefault{background:#FFFFFF;} 37 | #tabIconReview{position:absolute;left:406px;left:398px \9;top:41px;z-index:65533;width:90px;height:76px;} 38 | img.review{width:90px;height:76px;border:2px solid #9cb945;background:#FFFFFF;background-position:center;background-repeat:no-repeat;} 39 | 40 | .wrapper .tabbody{position:relative;float:left;clear:both;padding:10px;width: 95%;} 41 | .tabbody table{width: 100%;} 42 | .tabbody td{border:1px solid #BAC498;} 43 | .tabbody td span{display: block;zoom:1;padding:0 4px;} -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/0.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/bface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/bface.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/cface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/cface.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/fface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/fface.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/jxface2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/jxface2.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/tface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/tface.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/wface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/wface.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/emotion/images/yface.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/emotion/images/yface.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/help/help.css: -------------------------------------------------------------------------------- 1 | .wrapper{width: 370px;margin: 10px auto;zoom: 1;} 2 | .tabbody{height: 360px;} 3 | .tabbody .panel{width:100%;height: 360px;position: absolute;background: #fff;} 4 | .tabbody .panel h1{font-size:26px;margin: 5px 0 0 5px;} 5 | .tabbody .panel p{font-size:12px;margin: 5px 0 0 5px;} 6 | .tabbody table{width:90%;line-height: 20px;margin: 5px 0 0 5px;;} 7 | .tabbody table thead{font-weight: bold;line-height: 25px;} -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/help/help.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created with JetBrains PhpStorm. 3 | * User: xuheng 4 | * Date: 12-9-26 5 | * Time: 下午1:06 6 | * To change this template use File | Settings | File Templates. 7 | */ 8 | /** 9 | * tab点击处理事件 10 | * @param tabHeads 11 | * @param tabBodys 12 | * @param obj 13 | */ 14 | function clickHandler( tabHeads,tabBodys,obj ) { 15 | //head样式更改 16 | for ( var k = 0, len = tabHeads.length; k < len; k++ ) { 17 | tabHeads[k].className = ""; 18 | } 19 | obj.className = "focus"; 20 | //body显隐 21 | var tabSrc = obj.getAttribute( "tabSrc" ); 22 | for ( var j = 0, length = tabBodys.length; j < length; j++ ) { 23 | var body = tabBodys[j], 24 | id = body.getAttribute( "id" ); 25 | body.onclick = function(){ 26 | this.style.zoom = 1; 27 | }; 28 | if ( id != tabSrc ) { 29 | body.style.zIndex = 1; 30 | } else { 31 | body.style.zIndex = 200; 32 | } 33 | } 34 | 35 | } 36 | 37 | /** 38 | * TAB切换 39 | * @param tabParentId tab的父节点ID或者对象本身 40 | */ 41 | function switchTab( tabParentId ) { 42 | var tabElements = $G( tabParentId ).children, 43 | tabHeads = tabElements[0].children, 44 | tabBodys = tabElements[1].children; 45 | 46 | for ( var i = 0, length = tabHeads.length; i < length; i++ ) { 47 | var head = tabHeads[i]; 48 | if ( head.className === "focus" )clickHandler(tabHeads,tabBodys, head ); 49 | head.onclick = function () { 50 | clickHandler(tabHeads,tabBodys,this); 51 | } 52 | } 53 | } 54 | switchTab("helptab"); 55 | 56 | document.getElementById('version').innerHTML = parent.UE.version; -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/alignicon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/alignicon.jpg -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/icons.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/icons.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/image.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/progress.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/success.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/image/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/image/images/success.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/music/music.css: -------------------------------------------------------------------------------- 1 | .wrapper{margin: 5px 10px;} 2 | 3 | .searchBar{height:30px;padding:7px 0 3px;text-align:center;} 4 | .searchBtn{font-size:13px;height:24px;} 5 | 6 | .resultBar{width:460px;margin:5px auto;border: 1px solid #CCC;border-radius: 5px;box-shadow: 2px 2px 5px #D3D6DA;overflow: hidden;} 7 | 8 | .listPanel{overflow: hidden;} 9 | .panelon{display:block;} 10 | .paneloff{display:none} 11 | 12 | .page{width:220px;margin:20px auto;overflow: hidden;} 13 | .pageon{float:right;width:24px;line-height:24px;height:24px;margin-right: 5px;background: none;border: none;color: #000;font-weight: bold;text-align:center} 14 | .pageoff{float:right;width:24px;line-height:24px;height:24px;cursor:pointer;background-color: #fff; 15 | border: 1px solid #E7ECF0;color: #2D64B3;margin-right: 5px;text-decoration: none;text-align:center;} 16 | 17 | .m-box{width:460px;} 18 | .m-m{float: left;line-height: 20px;height: 20px;} 19 | .m-h{height:24px;line-height:24px;padding-left: 46px;background-color:#FAFAFA;border-bottom: 1px solid #DAD8D8;font-weight: bold;font-size: 12px;color: #333;} 20 | .m-l{float:left;width:40px; } 21 | .m-t{float:left;width:140px;} 22 | .m-s{float:left;width:110px;} 23 | .m-z{float:left;width:100px;} 24 | .m-try-t{float: left;width: 60px;;} 25 | 26 | .m-try{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/try_music.gif') no-repeat ;} 27 | .m-trying{float:left;width:20px;height:20px;background:url('http://static.tieba.baidu.com/tb/editor/images/stop_music.gif') no-repeat ;} 28 | 29 | .loading{width:95px;height:7px;font-size:7px;margin:60px auto;background:url(http://static.tieba.baidu.com/tb/editor/images/loading.gif) no-repeat} 30 | .empty{width:300px;height:40px;padding:2px;margin:50px auto;line-height:40px; color:#006699;text-align:center;} -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/music/music.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 插入音乐 6 | 7 | 8 | 9 | 10 |
11 | 15 |
16 | 17 |
18 |
19 |
20 |
21 | 22 | 31 | 32 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/preview/preview.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 |
29 | 30 | 40 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/addimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/addimg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/brush.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/brush.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/delimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/delimg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/delimgH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/delimgH.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/empty.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/emptyH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/emptyH.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/eraser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/eraser.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/redo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/redo.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/redoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/redoH.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/scale.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/scaleH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/scaleH.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/size.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/undo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/undo.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/scrawl/images/undoH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/scrawl/images/undoH.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/snapscreen/snapscreen.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 47 | 48 | 49 |
50 |

51 |
52 |
53 |
54 |
55 |
56 |
57 | 58 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/spechars/spechars.html: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 6 | 7 | 8 | 14 | 15 | 16 |
17 |
18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/table/dragicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/table/dragicon.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/table/edittable.css: -------------------------------------------------------------------------------- 1 | body{ 2 | overflow: hidden; 3 | width: 540px; 4 | } 5 | .wrapper { 6 | margin: 10px auto 0; 7 | font-size: 12px; 8 | overflow: hidden; 9 | width: 520px; 10 | height: 315px; 11 | } 12 | 13 | .clear { 14 | clear: both; 15 | } 16 | 17 | .wrapper .left { 18 | float: left; 19 | margin-left: 10px;; 20 | } 21 | 22 | .wrapper .right { 23 | float: right; 24 | border-left: 2px dotted #EDEDED; 25 | padding-left: 15px; 26 | } 27 | 28 | .section { 29 | margin-bottom: 15px; 30 | width: 240px; 31 | overflow: hidden; 32 | } 33 | 34 | .section h3 { 35 | font-weight: bold; 36 | padding: 5px 0; 37 | margin-bottom: 10px; 38 | border-bottom: 1px solid #EDEDED; 39 | font-size: 12px; 40 | } 41 | 42 | .section ul { 43 | list-style: none; 44 | overflow: hidden; 45 | clear: both; 46 | 47 | } 48 | 49 | .section li { 50 | float: left; 51 | width: 120px;; 52 | } 53 | 54 | .section .tone { 55 | width: 80px;; 56 | } 57 | 58 | .section .preview { 59 | width: 220px; 60 | } 61 | 62 | .section .preview table { 63 | text-align: center; 64 | vertical-align: middle; 65 | color: #666; 66 | } 67 | 68 | .section .preview caption { 69 | font-weight: bold; 70 | } 71 | 72 | .section .preview td { 73 | border-width: 1px; 74 | border-style: solid; 75 | height: 22px; 76 | } 77 | 78 | .section .preview th { 79 | border-style: solid; 80 | border-color: #DDD; 81 | border-width: 2px 1px 1px 1px; 82 | height: 22px; 83 | background-color: #F7F7F7; 84 | } -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/table/edittable.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 |
11 |
12 |

13 |
    14 |
  • 15 | 16 |
  • 17 |
  • 18 | 19 |
  • 20 |
21 |
    22 |
  • 23 | 24 |
  • 25 |
  • 26 | 27 |
  • 28 |
29 |
30 |
31 |
32 |

33 |
    34 |
  • 35 | 36 |
  • 37 |
  • 38 | 39 |
  • 40 |
41 |
42 |
43 |
44 |

45 |
    46 |
  • 47 | 48 | 49 |
  • 50 |
51 |
52 |
53 |
54 |
55 |
56 |

57 |
58 |
59 |
60 |
61 |
62 | 63 | 64 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/table/edittd.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 16 | 17 | 18 |
19 | 20 | 21 |
22 | 60 | 61 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/table/edittip.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 表格删除提示 5 | 6 | 17 | 18 | 19 |
20 |
21 | 22 |
23 |
24 | 25 |
26 |
27 | 32 | 33 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/images/bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/template/images/bg.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/images/pre0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/template/images/pre0.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/images/pre1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/template/images/pre1.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/images/pre2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/template/images/pre2.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/images/pre3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/template/images/pre3.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/images/pre4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/template/images/pre4.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/template.css: -------------------------------------------------------------------------------- 1 | .wrap{ padding: 5px;font-size: 14px;} 2 | .left{width:425px;float: left;} 3 | .right{width:160px;border: 1px solid #ccc;float: right;padding: 5px;margin-right: 5px;} 4 | .right .pre{height: 332px;overflow-y: auto;} 5 | .right .preitem{border: white 1px solid;margin: 5px 0;padding: 2px 0;} 6 | .right .preitem:hover{background-color: lemonChiffon;cursor: pointer;border: #ccc 1px solid;} 7 | .right .preitem img{display: block;margin: 0 auto;width:100px;} 8 | .clear{clear: both;} 9 | .top{height:26px;line-height: 26px;padding: 5px;} 10 | .bottom{height:320px;width:100%;margin: 0 auto;} 11 | .transparent{ background: url("images/bg.gif") repeat;} 12 | .bottom table tr td{border:1px dashed #ccc;} 13 | #colorPicker{width: 17px;height: 17px;border: 1px solid #CCC;display: inline-block;border-radius: 3px;box-shadow: 2px 2px 5px #D3D6DA;} 14 | .border_style1{padding:2px;border: 1px solid #ccc;border-radius: 5px;box-shadow:2px 2px 5px #d3d6da;} 15 | p{margin: 5px 0} 16 | table{clear:both;margin-bottom:10px;border-collapse:collapse;word-break:break-all;} 17 | li{clear:both} 18 | ol{padding-left:40px; } -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
12 |
13 | 14 |
15 |
16 |
17 |
18 | 19 |
20 |
21 |
22 |
23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/template/template.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created with JetBrains PhpStorm. 3 | * User: xuheng 4 | * Date: 12-8-8 5 | * Time: 下午2:09 6 | * To change this template use File | Settings | File Templates. 7 | */ 8 | (function () { 9 | var me = editor, 10 | preview = $G( "preview" ), 11 | preitem = $G( "preitem" ), 12 | tmps = templates, 13 | currentTmp; 14 | var initPre = function () { 15 | var str = ""; 16 | for ( var i = 0, tmp; tmp = tmps[i++]; ) { 17 | str += '
'; 18 | } 19 | preitem.innerHTML = str; 20 | }; 21 | var pre = function ( n ) { 22 | var tmp = tmps[n - 1]; 23 | currentTmp = tmp; 24 | clearItem(); 25 | domUtils.setStyles( preitem.childNodes[n - 1], { 26 | "background-color":"lemonChiffon", 27 | "border":"#ccc 1px solid" 28 | } ); 29 | preview.innerHTML = tmp.preHtml ? tmp.preHtml : ""; 30 | }; 31 | var clearItem = function () { 32 | var items = preitem.children; 33 | for ( var i = 0, item; item = items[i++]; ) { 34 | domUtils.setStyles( item, { 35 | "background-color":"", 36 | "border":"white 1px solid" 37 | } ); 38 | } 39 | }; 40 | dialog.onok = function () { 41 | if ( !$G( "issave" ).checked ){ 42 | me.execCommand( "cleardoc" ); 43 | } 44 | var obj = { 45 | html:currentTmp && currentTmp.html 46 | }; 47 | me.execCommand( "template", obj ); 48 | }; 49 | initPre(); 50 | window.pre = pre; 51 | pre(2) 52 | 53 | })(); -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/center_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/center_focus.jpg -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/file-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/file-icons.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/file-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/file-icons.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/icons.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/icons.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/image.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/left_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/left_focus.jpg -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/none_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/none_focus.jpg -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/progress.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/right_focus.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/right_focus.jpg -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/success.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/success.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/video/images/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/video/images/success.png -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/webapp/webapp.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | 14 |
15 |
16 |
17 | 52 | 53 | -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/wordimage/fClipboard_ueditor.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/wordimage/fClipboard_ueditor.swf -------------------------------------------------------------------------------- /public/static/js/ueditor/dialogs/wordimage/imageUploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/dialogs/wordimage/imageUploader.swf -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/addimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/addimage.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/alldeletebtnhoverskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/alldeletebtnhoverskin.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/alldeletebtnupskin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/alldeletebtnupskin.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/background.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/background.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/button.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/copy.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/deletedisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/deletedisable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/deleteenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/deleteenable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/listbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/listbackground.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/localimage.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/music.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/rotateleftdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/rotateleftdisable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/rotateleftenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/rotateleftenable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/rotaterightdisable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/rotaterightdisable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/rotaterightenable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/rotaterightenable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/en/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/en/images/upload.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/zh-cn/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/zh-cn/images/copy.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/zh-cn/images/localimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/zh-cn/images/localimage.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/zh-cn/images/music.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/zh-cn/images/music.png -------------------------------------------------------------------------------- /public/static/js/ueditor/lang/zh-cn/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/lang/zh-cn/images/upload.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/dialogbase.css: -------------------------------------------------------------------------------- 1 | /*弹出对话框页面样式组件 2 | */ 3 | 4 | /*reset 5 | */ 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, font, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td { 15 | margin: 0; 16 | padding: 0; 17 | outline: 0; 18 | font-size: 100%; 19 | } 20 | 21 | body { 22 | line-height: 1; 23 | } 24 | 25 | ol, ul { 26 | list-style: none; 27 | } 28 | 29 | blockquote, q { 30 | quotes: none; 31 | } 32 | 33 | ins { 34 | text-decoration: none; 35 | } 36 | 37 | del { 38 | text-decoration: line-through; 39 | } 40 | 41 | table { 42 | border-collapse: collapse; 43 | border-spacing: 0; 44 | } 45 | 46 | /*module 47 | */ 48 | body { 49 | background-color: #fff; 50 | font: 12px/1.5 sans-serif, "宋体", "Arial Narrow", HELVETICA; 51 | color: #646464; 52 | } 53 | 54 | /*tab*/ 55 | .tabhead { 56 | position: relative; 57 | z-index: 10; 58 | } 59 | 60 | .tabhead span { 61 | display: inline-block; 62 | padding: 0 5px; 63 | height: 30px; 64 | border: 1px solid #ccc; 65 | background: url("images/dialog-title-bg.png") repeat-x; 66 | text-align: center; 67 | line-height: 30px; 68 | cursor: pointer; 69 | *margin-right: 5px; 70 | } 71 | 72 | .tabhead span.focus { 73 | height: 31px; 74 | border-bottom: none; 75 | background: #fff; 76 | } 77 | 78 | .tabbody { 79 | position: relative; 80 | top: -1px; 81 | margin: 0 auto; 82 | border: 1px solid #ccc; 83 | } 84 | 85 | /*button*/ 86 | a.button { 87 | display: block; 88 | text-align: center; 89 | line-height: 24px; 90 | text-decoration: none; 91 | height: 24px; 92 | width: 95px; 93 | border: 0; 94 | color: #838383; 95 | background: url(../../themes/default/images/icons-all.gif) no-repeat; 96 | } 97 | 98 | a.button:hover { 99 | background-position: 0 -30px; 100 | } -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/anchor.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/anchor.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/arrow.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/arrow_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/arrow_down.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/arrow_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/arrow_up.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/button-bg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/button-bg.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/cancelbutton.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/cancelbutton.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/charts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/charts.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/cursor_h.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/cursor_h.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/cursor_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/cursor_h.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/cursor_v.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/cursor_v.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/cursor_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/cursor_v.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/dialog-title-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/dialog-title-bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/filescan.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/filescan.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/highlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/highlighted.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/icons-all.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/icons-all.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/icons.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/icons.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/loaderror.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/loaderror.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/loading.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/lock.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/lock.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/neweditor-tab-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/neweditor-tab-bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/pagebreak.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/scale.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/sortable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/sortable.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/spacer.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/spacer.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/sparator_v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/sparator_v.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/table-cell-align.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/table-cell-align.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/tangram-colorpicker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/tangram-colorpicker.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/toolbar_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/toolbar_bg.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/unhighlighted.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/unhighlighted.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/upload.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/upload.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/videologo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/videologo.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/word.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/word.gif -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/default/images/wordpaste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/themes/default/images/wordpaste.png -------------------------------------------------------------------------------- /public/static/js/ueditor/themes/iframe.css: -------------------------------------------------------------------------------- 1 | /*可以在这里添加你自己的css*/ 2 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/highcharts/adapters/mootools-adapter.js: -------------------------------------------------------------------------------- 1 | /* 2 | Highcharts JS v3.0.6 (2013-10-04) 3 | MooTools adapter 4 | 5 | (c) 2010-2013 Torstein Hønsi 6 | 7 | License: www.highcharts.com/license 8 | */ 9 | (function(){var e=window,h=document,f=e.MooTools.version.substring(0,3),i=f==="1.2"||f==="1.1",j=i||f==="1.3",g=e.$extend||function(){return Object.append.apply(Object,arguments)};e.HighchartsAdapter={init:function(a){var b=Fx.prototype,c=b.start,d=Fx.Morph.prototype,e=d.compute;b.start=function(b,d){var e=this.element;if(b.d)this.paths=a.init(e,e.d,this.toD);c.apply(this,arguments);return this};d.compute=function(b,c,d){var f=this.paths;if(f)this.element.attr("d",a.step(f[0],f[1],d,this.toD));else return e.apply(this, 10 | arguments)}},adapterRun:function(a,b){if(b==="width"||b==="height")return parseInt($(a).getStyle(b),10)},getScript:function(a,b){var c=h.getElementsByTagName("head")[0],d=h.createElement("script");d.type="text/javascript";d.src=a;d.onload=b;c.appendChild(d)},animate:function(a,b,c){var d=a.attr,f=c&&c.complete;if(d&&!a.setStyle)a.getStyle=a.attr,a.setStyle=function(){var a=arguments;this.attr.call(this,a[0],a[1][0])},a.$family=function(){return!0};e.HighchartsAdapter.stop(a);c=new Fx.Morph(d?a:$(a), 11 | g({transition:Fx.Transitions.Quad.easeInOut},c));if(d)c.element=a;if(b.d)c.toD=b.d;f&&c.addEvent("complete",f);c.start(b);a.fx=c},each:function(a,b){return i?$each(a,b):Array.each(a,b)},map:function(a,b){return a.map(b)},grep:function(a,b){return a.filter(b)},inArray:function(a,b,c){return b?b.indexOf(a,c):-1},offset:function(a){a=a.getPosition();return{left:a.x,top:a.y}},extendWithEvents:function(a){a.addEvent||(a.nodeName?$(a):g(a,new Events))},addEvent:function(a,b,c){typeof b==="string"&&(b=== 12 | "unload"&&(b="beforeunload"),e.HighchartsAdapter.extendWithEvents(a),a.addEvent(b,c))},removeEvent:function(a,b,c){typeof a!=="string"&&a.addEvent&&(b?(b==="unload"&&(b="beforeunload"),c?a.removeEvent(b,c):a.removeEvents&&a.removeEvents(b)):a.removeEvents())},fireEvent:function(a,b,c,d){b={type:b,target:a};b=j?new Event(b):new DOMEvent(b);b=g(b,c);if(!b.target&&b.event)b.target=b.event.target;b.preventDefault=function(){d=null};a.fireEvent&&a.fireEvent(b.type,b);d&&d(b)},washMouseEvent:function(a){if(a.page)a.pageX= 13 | a.page.x,a.pageY=a.page.y;return a},stop:function(a){a.fx&&a.fx.cancel()}}})(); 14 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/highcharts/modules/funnel.js: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Highcharts funnel module, Beta 4 | 5 | (c) 2010-2012 Torstein Hønsi 6 | 7 | License: www.highcharts.com/license 8 | */ 9 | (function(d){var u=d.getOptions().plotOptions,p=d.seriesTypes,D=d.merge,z=function(){},A=d.each;u.funnel=D(u.pie,{center:["50%","50%"],width:"90%",neckWidth:"30%",height:"100%",neckHeight:"25%",dataLabels:{connectorWidth:1,connectorColor:"#606060"},size:!0,states:{select:{color:"#C0C0C0",borderColor:"#000000",shadow:!1}}});p.funnel=d.extendClass(p.pie,{type:"funnel",animate:z,translate:function(){var a=function(k,a){return/%$/.test(k)?a*parseInt(k,10)/100:parseInt(k,10)},g=0,e=this.chart,f=e.plotWidth, 10 | e=e.plotHeight,h=0,c=this.options,C=c.center,b=a(C[0],f),d=a(C[0],e),p=a(c.width,f),i,q,j=a(c.height,e),r=a(c.neckWidth,f),s=a(c.neckHeight,e),v=j-s,a=this.data,w,x,u=c.dataLabels.position==="left"?1:0,y,m,B,n,l,t,o;this.getWidthAt=q=function(k){return k>j-s||j===s?r:r+(p-r)*((j-s-k)/(j-s))};this.getX=function(k,a){return b+(a?-1:1)*(q(k)/2+c.dataLabels.distance)};this.center=[b,d,j];this.centerX=b;A(a,function(a){g+=a.y});A(a,function(a){o=null;x=g?a.y/g:0;m=d-j/2+h*j;l=m+x*j;i=q(m);y=b-i/2;B=y+ 11 | i;i=q(l);n=b-i/2;t=n+i;m>v?(y=n=b-r/2,B=t=b+r/2):l>v&&(o=l,i=q(v),n=b-i/2,t=n+i,l=v);w=["M",y,m,"L",B,m,t,l];o&&w.push(t,o,n,o);w.push(n,l,"Z");a.shapeType="path";a.shapeArgs={d:w};a.percentage=x*100;a.plotX=b;a.plotY=(m+(o||l))/2;a.tooltipPos=[b,a.plotY];a.slice=z;a.half=u;h+=x});this.setTooltipPoints()},drawPoints:function(){var a=this,g=a.options,e=a.chart.renderer;A(a.data,function(f){var h=f.graphic,c=f.shapeArgs;h?h.animate(c):f.graphic=e.path(c).attr({fill:f.color,stroke:g.borderColor,"stroke-width":g.borderWidth}).add(a.group)})}, 12 | sortByAngle:z,drawDataLabels:function(){var a=this.data,g=this.options.dataLabels.distance,e,f,h,c=a.length,d,b;for(this.center[2]-=2*g;c--;)h=a[c],f=(e=h.half)?1:-1,b=h.plotY,d=this.getX(b,e),h.labelPos=[0,b,d+(g-5)*f,b,d+g*f,b,e?"right":"left",0];p.pie.prototype.drawDataLabels.call(this)}})})(Highcharts); 13 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/highcharts/modules/heatmap.js: -------------------------------------------------------------------------------- 1 | (function(b){var k=b.seriesTypes,l=b.each;k.heatmap=b.extendClass(k.map,{colorKey:"z",useMapGeometry:!1,pointArrayMap:["y","z"],translate:function(){var c=this,b=c.options,i=Number.MAX_VALUE,j=Number.MIN_VALUE;c.generatePoints();l(c.data,function(a){var e=a.x,f=a.y,d=a.z,g=(b.colsize||1)/2,h=(b.rowsize||1)/2;a.path=["M",e-g,f-h,"L",e+g,f-h,"L",e+g,f+h,"L",e-g,f+h,"Z"];a.shapeType="path";a.shapeArgs={d:c.translatePath(a.path)};typeof d==="number"&&(d>j?j=d:d dataMax) { 39 | dataMax = value; 40 | } else if (value < dataMin) { 41 | dataMin = value; 42 | } 43 | } 44 | }); 45 | 46 | series.translateColors(dataMin, dataMax); 47 | }, 48 | 49 | getBox: function () {} 50 | 51 | }); 52 | 53 | }(Highcharts)); 54 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/highcharts/modules/no-data-to-display.js: -------------------------------------------------------------------------------- 1 | /* 2 | Highcharts JS v3.0.6 (2013-10-04) 3 | Plugin for displaying a message when there is no data visible in chart. 4 | 5 | (c) 2010-2013 Highsoft AS 6 | Author: Øystein Moseng 7 | 8 | License: www.highcharts.com/license 9 | */ 10 | (function(c){function f(){return!!this.points.length}function g(){this.hasData()?this.hideNoData():this.showNoData()}var d=c.seriesTypes,e=c.Chart.prototype,h=c.getOptions(),i=c.extend;i(h.lang,{noData:"No data to display"});h.noData={position:{x:0,y:0,align:"center",verticalAlign:"middle"},attr:{},style:{fontWeight:"bold",fontSize:"12px",color:"#60606a"}};d.pie.prototype.hasData=f;if(d.gauge)d.gauge.prototype.hasData=f;if(d.waterfall)d.waterfall.prototype.hasData=f;c.Series.prototype.hasData=function(){return this.dataMax!== 11 | void 0&&this.dataMin!==void 0};e.showNoData=function(a){var b=this.options,a=a||b.lang.noData,b=b.noData;if(!this.noDataLabel)this.noDataLabel=this.renderer.label(a,0,0,null,null,null,null,null,"no-data").attr(b.attr).css(b.style).add(),this.noDataLabel.align(i(this.noDataLabel.getBBox(),b.position),!1,"plotBox")};e.hideNoData=function(){if(this.noDataLabel)this.noDataLabel=this.noDataLabel.destroy()};e.hasData=function(){for(var a=this.series,b=a.length;b--;)if(a[b].hasData()&&!a[b].options.isInternal)return!0; 12 | return!1};e.callbacks.push(function(a){c.addEvent(a,"load",g);c.addEvent(a,"redraw",g)})})(Highcharts); 13 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/highcharts/themes/grid.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Grid theme for Highcharts JS 3 | * @author Torstein Hønsi 4 | */ 5 | 6 | Highcharts.theme = { 7 | colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'], 8 | chart: { 9 | backgroundColor: { 10 | linearGradient: { x1: 0, y1: 0, x2: 1, y2: 1 }, 11 | stops: [ 12 | [0, 'rgb(255, 255, 255)'], 13 | [1, 'rgb(240, 240, 255)'] 14 | ] 15 | }, 16 | borderWidth: 2, 17 | plotBackgroundColor: 'rgba(255, 255, 255, .9)', 18 | plotShadow: true, 19 | plotBorderWidth: 1 20 | }, 21 | title: { 22 | style: { 23 | color: '#000', 24 | font: 'bold 16px "Trebuchet MS", Verdana, sans-serif' 25 | } 26 | }, 27 | subtitle: { 28 | style: { 29 | color: '#666666', 30 | font: 'bold 12px "Trebuchet MS", Verdana, sans-serif' 31 | } 32 | }, 33 | xAxis: { 34 | gridLineWidth: 1, 35 | lineColor: '#000', 36 | tickColor: '#000', 37 | labels: { 38 | style: { 39 | color: '#000', 40 | font: '11px Trebuchet MS, Verdana, sans-serif' 41 | } 42 | }, 43 | title: { 44 | style: { 45 | color: '#333', 46 | fontWeight: 'bold', 47 | fontSize: '12px', 48 | fontFamily: 'Trebuchet MS, Verdana, sans-serif' 49 | 50 | } 51 | } 52 | }, 53 | yAxis: { 54 | minorTickInterval: 'auto', 55 | lineColor: '#000', 56 | lineWidth: 1, 57 | tickWidth: 1, 58 | tickColor: '#000', 59 | labels: { 60 | style: { 61 | color: '#000', 62 | font: '11px Trebuchet MS, Verdana, sans-serif' 63 | } 64 | }, 65 | title: { 66 | style: { 67 | color: '#333', 68 | fontWeight: 'bold', 69 | fontSize: '12px', 70 | fontFamily: 'Trebuchet MS, Verdana, sans-serif' 71 | } 72 | } 73 | }, 74 | legend: { 75 | itemStyle: { 76 | font: '9pt Trebuchet MS, Verdana, sans-serif', 77 | color: 'black' 78 | 79 | }, 80 | itemHoverStyle: { 81 | color: '#039' 82 | }, 83 | itemHiddenStyle: { 84 | color: 'gray' 85 | } 86 | }, 87 | labels: { 88 | style: { 89 | color: '#99b' 90 | } 91 | }, 92 | 93 | navigation: { 94 | buttonOptions: { 95 | theme: { 96 | stroke: '#CCCCCC' 97 | } 98 | } 99 | } 100 | }; 101 | 102 | // Apply the theme 103 | var highchartsOptions = Highcharts.setOptions(Highcharts.theme); 104 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/highcharts/themes/skies.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Skies theme for Highcharts JS 3 | * @author Torstein Hønsi 4 | */ 5 | 6 | Highcharts.theme = { 7 | colors: ["#514F78", "#42A07B", "#9B5E4A", "#72727F", "#1F949A", "#82914E", "#86777F", "#42A07B"], 8 | chart: { 9 | className: 'skies', 10 | borderWidth: 0, 11 | plotShadow: true, 12 | plotBackgroundImage: 'http://www.highcharts.com/demo/gfx/skies.jpg', 13 | plotBackgroundColor: { 14 | linearGradient: [0, 0, 250, 500], 15 | stops: [ 16 | [0, 'rgba(255, 255, 255, 1)'], 17 | [1, 'rgba(255, 255, 255, 0)'] 18 | ] 19 | }, 20 | plotBorderWidth: 1 21 | }, 22 | title: { 23 | style: { 24 | color: '#3E576F', 25 | font: '16px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 26 | } 27 | }, 28 | subtitle: { 29 | style: { 30 | color: '#6D869F', 31 | font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 32 | } 33 | }, 34 | xAxis: { 35 | gridLineWidth: 0, 36 | lineColor: '#C0D0E0', 37 | tickColor: '#C0D0E0', 38 | labels: { 39 | style: { 40 | color: '#666', 41 | fontWeight: 'bold' 42 | } 43 | }, 44 | title: { 45 | style: { 46 | color: '#666', 47 | font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 48 | } 49 | } 50 | }, 51 | yAxis: { 52 | alternateGridColor: 'rgba(255, 255, 255, .5)', 53 | lineColor: '#C0D0E0', 54 | tickColor: '#C0D0E0', 55 | tickWidth: 1, 56 | labels: { 57 | style: { 58 | color: '#666', 59 | fontWeight: 'bold' 60 | } 61 | }, 62 | title: { 63 | style: { 64 | color: '#666', 65 | font: '12px Lucida Grande, Lucida Sans Unicode, Verdana, Arial, Helvetica, sans-serif' 66 | } 67 | } 68 | }, 69 | legend: { 70 | itemStyle: { 71 | font: '9pt Trebuchet MS, Verdana, sans-serif', 72 | color: '#3E576F' 73 | }, 74 | itemHoverStyle: { 75 | color: 'black' 76 | }, 77 | itemHiddenStyle: { 78 | color: 'silver' 79 | } 80 | }, 81 | labels: { 82 | style: { 83 | color: '#3E576F' 84 | } 85 | } 86 | }; 87 | 88 | // Apply the theme 89 | var highchartsOptions = Highcharts.setOptions(Highcharts.theme); 90 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/snapscreen/UEditorSnapscreen.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/snapscreen/UEditorSnapscreen.exe -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/video-js/font/vjs.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/video-js/font/vjs.eot -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/video-js/font/vjs.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/video-js/font/vjs.ttf -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/video-js/font/vjs.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/video-js/font/vjs.woff -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/video-js/video-js.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/video-js/video-js.swf -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/webuploader/Uploader.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/webuploader/Uploader.swf -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/webuploader/webuploader.css: -------------------------------------------------------------------------------- 1 | .webuploader-container { 2 | position: relative; 3 | } 4 | .webuploader-element-invisible { 5 | position: absolute !important; 6 | clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 7 | clip: rect(1px,1px,1px,1px); 8 | } 9 | .webuploader-pick { 10 | position: relative; 11 | display: inline-block; 12 | cursor: pointer; 13 | background: #00b7ee; 14 | padding: 10px 15px; 15 | color: #fff; 16 | text-align: center; 17 | border-radius: 3px; 18 | overflow: hidden; 19 | } 20 | .webuploader-pick-hover { 21 | background: #00a2d4; 22 | } 23 | 24 | .webuploader-pick-disable { 25 | opacity: 0.6; 26 | pointer-events:none; 27 | } 28 | 29 | -------------------------------------------------------------------------------- /public/static/js/ueditor/third-party/zeroclipboard/ZeroClipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xyl-tools/open_source_bms/605494685dfa133c722177d6f5a6f62973f4041b/public/static/js/ueditor/third-party/zeroclipboard/ZeroClipboard.swf -------------------------------------------------------------------------------- /robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /router.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | // $Id$ 12 | 13 | if (is_file($_SERVER["DOCUMENT_ROOT"] . $_SERVER["REQUEST_URI"])) { 14 | return false; 15 | } else { 16 | require __DIR__ . "/index.php"; 17 | } 18 | -------------------------------------------------------------------------------- /themes/admin/admin_user/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | {foreach name="admin_user_list" item="vo"} 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 37 | 38 | {/foreach} 39 | 40 |
ID用户名状态创建时间最后登录时间最后登录IP操作
{$vo.id}{$vo.username}{php}echo $vo['status']==1 ? '启用' : '禁用';{/php}{$vo.create_time}{$vo.last_login_time}{$vo.last_login_ip} 34 | 编辑 35 | 删除 36 |
41 |
42 |
43 |
44 |
45 | {/block} -------------------------------------------------------------------------------- /themes/admin/auth_group/add.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 |
13 |
14 | 15 |
16 | 17 |
18 |
19 |
20 | 21 |
22 | 23 | 24 |
25 |
26 |
27 |
28 | 29 | 30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 | {/block} -------------------------------------------------------------------------------- /themes/admin/auth_group/edit.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 11 |
12 |
13 |
14 |
15 | 16 |
17 | 18 |
19 |
20 |
21 | 22 |
23 | 24 | 25 |
26 |
27 |
28 |
29 | 30 | 31 | 32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 | {/block} -------------------------------------------------------------------------------- /themes/admin/auth_group/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {foreach name="auth_group_list" item="vo"} 23 | 24 | 25 | 26 | 27 | 32 | 33 | {/foreach} 34 | 35 |
ID名称状态操作
{$vo.id}{$vo.title}{php}echo $vo['status']==1 ? '启用' : '禁用';{/php} 28 | 授权 29 | 编辑 30 | 删除 31 |
36 |
37 |
38 |
39 |
40 | {/block} -------------------------------------------------------------------------------- /themes/admin/category/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {foreach name="category_level_list" item="vo"} 23 | 24 | 25 | 26 | 27 | 32 | 33 | {/foreach} 34 | 35 |
ID排序栏目名称操作
{$vo.id}{$vo.sort}{neq name="vo.level" value="1"}|{php}for($i=1;$i<$vo['level'];$i++){echo ' ----';}{/php}{/neq} {$vo.name} 28 | 添加子栏目 29 | 编辑 30 | 删除 31 |
36 |
37 |
38 |
39 |
40 | {/block} -------------------------------------------------------------------------------- /themes/admin/index/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 |
    7 |
  • 网站概览
  • 8 |
9 |
10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
网站域名{$config.url}
网站目录{$config.document_root}
服务器操作系统{$config.server_os}
服务器端口{$config.server_port}
服务器环境{$config.server_soft}
PHP版本{$config.php_version}
MySQL版本{$config.mysql_version}
最大上传限制{$config.max_upload_size}
45 |
46 |
47 |
48 |
49 | {/block} -------------------------------------------------------------------------------- /themes/admin/link/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | {foreach name="link_list" item="vo"} 25 | 26 | 27 | 28 | 29 | 30 | 31 | 35 | 36 | {/foreach} 37 | 38 |
ID排序名称链接状态操作
{$vo.id}{$vo.sort}{$vo.name}{$vo.link}{php}echo $vo['status'] ? '显示' : '隐藏';{/php} 32 | 编辑 33 | 删除 34 |
39 |
40 |
41 |
42 |
43 | {/block} -------------------------------------------------------------------------------- /themes/admin/login/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Open Source BMS 6 | 7 | 8 | 9 | 16 | 17 | 18 | 19 | 45 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /themes/admin/menu/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | {foreach name="admin_menu_level_list" item="vo"} 25 | 26 | 27 | 28 | 29 | 30 | 31 | 36 | 37 | {/foreach} 38 | 39 |
ID排序菜单名称控制器方法状态操作
{$vo.id}{$vo.sort}{neq name="vo.level" value="1"}|{php}for($i=1;$i<$vo['level'];$i++){echo ' ----';}{/php}{/neq} {$vo.title}{$vo.name}{php}echo $vo['status']==1 ? '显示' : '隐藏';{/php} 32 | 添加子菜单 33 | 编辑 34 | 删除 35 |
40 |
41 |
42 |
43 |
44 | {/block} -------------------------------------------------------------------------------- /themes/admin/nav/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | {foreach name="nav_level_list" item="vo"} 24 | 25 | 26 | 27 | 28 | 29 | 34 | 35 | {/foreach} 36 | 37 |
ID排序导航名称状态操作
{$vo.id}{$vo.sort}{neq name="vo.level" value="1"}|{php}for($i=1;$i<$vo['level'];$i++){echo ' ----';}{/php}{/neq} {$vo.name}{php}echo $vo['status']==1 ? '显示' : '隐藏';{/php} 30 | 添加子导航 31 | 编辑 32 | 删除 33 |
38 |
39 |
40 |
41 |
42 | {/block} -------------------------------------------------------------------------------- /themes/admin/slide/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | {foreach name="slide_list" item="vo"} 25 | 26 | 27 | 28 | 29 | 30 | 31 | 35 | 36 | {/foreach} 37 | 38 |
ID排序名称分类状态操作
{$vo.id}{$vo.sort}{$vo.name}{$slide_category_list[$vo['cid']]|default='未分类'}{php}echo $vo['status'] ? '显示' : '隐藏';{/php} 32 | 编辑 33 | 删除 34 |
39 |
40 |
41 |
42 |
43 | {/block} -------------------------------------------------------------------------------- /themes/admin/slide_category/add.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 |
13 |
14 | 15 |
16 | 17 |
18 |
19 |
20 |
21 | 22 | 23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | {/block} -------------------------------------------------------------------------------- /themes/admin/slide_category/edit.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 11 |
12 |
13 |
14 |
15 | 16 |
17 | 18 |
19 |
20 |
21 |
22 | 23 | 24 | 25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 | {/block} -------------------------------------------------------------------------------- /themes/admin/slide_category/index.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | {foreach name="slide_category_list" item="vo"} 22 | 23 | 24 | 25 | 29 | 30 | {/foreach} 31 | 32 |
ID分类名称操作
{$vo.id}{$vo.name} 26 | 编辑 27 | 删除 28 |
33 |
34 |
35 |
36 |
37 | {/block} -------------------------------------------------------------------------------- /themes/admin/system/change_password.html: -------------------------------------------------------------------------------- 1 | {extend name="base" /} 2 | {block name="body"} 3 |
4 | 5 |
6 |
    7 |
  • 修改密码
  • 8 |
9 |
10 |
11 |
12 |
13 | 14 |
15 | 16 |
17 |
18 |
19 | 20 |
21 | 22 |
23 |
24 |
25 | 26 |
27 | 28 |
29 |
30 |
31 |
32 | 33 | 34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 | {/block} -------------------------------------------------------------------------------- /themes/mobile/index/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Mobile Index 8 | 9 | 10 | Mobile Index 11 | 12 | -------------------------------------------------------------------------------- /think: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | 11 | // +---------------------------------------------------------------------- 12 | 13 | // 定义项目路径 14 | define('APP_PATH', __DIR__ . '/application/'); 15 | 16 | // 加载框架引导文件 17 | require './thinkphp/console.php'; -------------------------------------------------------------------------------- /web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | --------------------------------------------------------------------------------