├── .gitignore ├── Addons └── Demo │ ├── Controller │ ├── ApiController.class.php │ ├── MobileController.class.php │ ├── RespondController.class.php │ └── WebController.class.php │ ├── info.php │ ├── install.sql │ └── logo.png ├── App ├── Admin │ ├── Conf │ │ └── config.php │ ├── Controller │ │ ├── AddonsController.class.php │ │ ├── BaseController.class.php │ │ ├── IndexController.class.php │ │ ├── MpController.class.php │ │ ├── MpGroupController.class.php │ │ ├── NodeController.class.php │ │ ├── RoleController.class.php │ │ ├── SettingController.class.php │ │ └── UserController.class.php │ ├── Model │ │ ├── AccessKeyModel.class.php │ │ ├── AddonsModel.class.php │ │ ├── MpGroupModel.class.php │ │ ├── MpModel.class.php │ │ ├── SystemSettingModel.class.php │ │ ├── UserGroupModel.class.php │ │ └── UserModel.class.php │ └── View │ │ └── default │ │ └── Index │ │ └── index.html ├── Common │ ├── Behavior │ │ └── RbacBehavior.class.php │ ├── Common │ │ ├── function.php │ │ └── index.html │ ├── Conf │ │ ├── config-demo.php │ │ ├── index.html │ │ └── tags.php │ ├── Controller │ │ └── CommonController.class.php │ ├── View │ │ └── default │ │ │ ├── Base │ │ │ ├── add.html │ │ │ ├── common.html │ │ │ ├── edit.html │ │ │ └── lists.html │ │ │ └── Public │ │ │ ├── crumb.html │ │ │ ├── error.html │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ ├── nav.html │ │ │ ├── search.html │ │ │ ├── sidebar.html │ │ │ └── success.html │ └── index.html ├── Home │ ├── Conf │ │ ├── config.php │ │ └── index.html │ ├── Controller │ │ ├── IndexController.class.php │ │ └── index.html │ ├── View │ │ ├── default │ │ │ ├── Index │ │ │ │ └── index.html │ │ │ └── Public │ │ │ │ └── common.html │ │ └── index.html │ └── index.html ├── Install │ ├── Common │ │ └── function.php │ ├── Conf │ │ └── config.php │ ├── Controller │ │ ├── IndexController.class.php │ │ └── InstallController.class.php │ ├── Data │ │ ├── conf.tpl │ │ ├── install.sql │ │ └── update.sql │ └── View │ │ └── default │ │ ├── Index │ │ ├── complete.html │ │ └── index.html │ │ ├── Install │ │ ├── step1.html │ │ ├── step2.html │ │ ├── step3.html │ │ └── update.html │ │ └── Public │ │ ├── error.html │ │ └── success.html ├── Mp │ ├── Behavior │ │ ├── CrumbBehavior.class.php │ │ ├── EditorBehavior.class.php │ │ ├── ImportCssBehavior.class.php │ │ ├── ImportJsBehavior.class.php │ │ ├── JssdkBehavior.class.php │ │ ├── NavBehavior.class.php │ │ ├── SidenavBehavior.class.php │ │ ├── TempmsgController.class.php │ │ └── TipBehavior.class.php │ ├── Conf │ │ └── config.php │ ├── Controller │ │ ├── AccessKeyController.class.php │ │ ├── AddonsController.class.php │ │ ├── ApiBaseController.class.php │ │ ├── ApiController.class.php │ │ ├── AutoReplyController.class.php │ │ ├── BaseController.class.php │ │ ├── CustomMenuController.class.php │ │ ├── FansController.class.php │ │ ├── IndexController.class.php │ │ ├── MaterialController.class.php │ │ ├── MessageController.class.php │ │ ├── MobileBaseController.class.php │ │ ├── MpController.class.php │ │ ├── PaymentController.class.php │ │ ├── SceneQrcodeController.class.php │ │ ├── TempmsgController.class.php │ │ └── UserController.class.php │ ├── Model │ │ ├── AddonEntryModel.class.php │ │ ├── AddonSettingModel.class.php │ │ ├── AddonsModel.class.php │ │ ├── MpAutoReplyModel.class.php │ │ ├── MpFansModel.class.php │ │ ├── MpMaterialModel.class.php │ │ ├── MpMessageModel.class.php │ │ ├── MpModel.class.php │ │ ├── MpRuleModel.class.php │ │ ├── MpScoreRecordModel.class.php │ │ └── MpSettingModel.class.php │ └── View │ │ └── default │ │ ├── Addons │ │ ├── entry.html │ │ ├── index.html │ │ ├── manage.html │ │ ├── preview.html │ │ ├── rule.html │ │ └── setting.html │ │ ├── AutoReply │ │ ├── special.html │ │ └── unrecognize.html │ │ ├── CustomMenu │ │ └── publish.html │ │ ├── Fans │ │ └── bind.html │ │ ├── Index │ │ └── index.html │ │ └── Material │ │ ├── detail.html │ │ ├── image.html │ │ ├── news.html │ │ └── text.html ├── User │ ├── Conf │ │ └── config.php │ ├── Controller │ │ └── PublicController.class.php │ ├── Model │ │ └── UserModel.class.php │ └── View │ │ └── default │ │ ├── Base │ │ └── common.html │ │ └── Public │ │ ├── change_password.html │ │ ├── login.html │ │ ├── profile.html │ │ └── register.html └── index.html ├── Data ├── notify.php └── product.info ├── Public ├── Admin │ ├── css │ │ ├── common.css │ │ ├── login.css │ │ └── register.css │ ├── img │ │ ├── blue-2x.png │ │ ├── blue.png │ │ ├── cry.png │ │ ├── login_bg.jpg │ │ ├── login_logo.png │ │ ├── logo.png │ │ ├── noname.jpg │ │ ├── nopic.jpg │ │ ├── triangle_down.png │ │ ├── triangle_up.png │ │ └── warmming.png │ └── js │ │ ├── common.js │ │ ├── framework.js │ │ ├── global.js │ │ └── remote.js ├── Common │ ├── css │ │ ├── bootstrap-responsive.min.css │ │ ├── bootstrap-theme.css │ │ ├── bootstrap-theme.css.map │ │ ├── bootstrap-theme.min.css │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ ├── font-awesome.min.css │ │ ├── frozen.css │ │ ├── icon.css │ │ ├── weui.css │ │ ├── weui.example.css │ │ └── weui.min.css │ ├── font │ │ ├── iconfont-full.ttf │ │ └── iconfont.ttf │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── README.md │ │ ├── captcha.ttf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.svg │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ ├── glyphicons-halflings-regular.woff2 │ │ ├── icomoon.eot │ │ ├── icomoon.svg │ │ ├── icomoon.ttf │ │ ├── icomoon.woff │ │ └── selection.json │ ├── img │ │ ├── loading_sprite.png │ │ ├── loading_sprite_white.png │ │ ├── nopic.jpg │ │ └── vip │ │ │ ├── icon_qqlevel_sprite.png │ │ │ └── icon_vip.png │ └── js │ │ ├── bootstrap.js │ │ ├── bootstrap.min.js │ │ ├── flipsnap.min.js │ │ ├── frozen.js │ │ ├── jquery-2.0.3.min.js │ │ ├── jquery-3.1.0.js │ │ ├── jquery-ui.min.js │ │ ├── jquery.js │ │ ├── jquery.min.js │ │ ├── jssdk.js │ │ ├── npm.js │ │ ├── respond.js │ │ └── zepto.min.js ├── Home │ └── default │ │ ├── css │ │ ├── site.min.css │ │ └── style.css │ │ └── img │ │ ├── 1.png │ │ ├── 2.png │ │ ├── 3.png │ │ ├── 4.png │ │ └── logo-white.png ├── Install │ ├── css │ │ └── install.css │ └── img │ │ └── logo.png ├── Mp │ ├── css │ │ ├── custom_menu.css │ │ └── mobile_module.css │ ├── img │ │ ├── app │ │ │ ├── home-bg.jpg │ │ │ ├── iphone_head.png │ │ │ ├── nav5back.png │ │ │ ├── shopNavCart.png │ │ │ ├── shopNavPath.png │ │ │ ├── shopNavSides.png │ │ │ ├── shopNavWx.png │ │ │ ├── showcase.png │ │ │ ├── slider-bar.png │ │ │ ├── sprite_v5.png │ │ │ └── titlebar.png │ │ └── nopic.jpg │ └── js │ │ └── custom_menu.js └── Plugins │ ├── bootstrap-datetimepicker │ ├── .gitattributes │ ├── .gitignore │ ├── .npmignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── bower.json │ ├── build │ │ ├── build.less │ │ └── build_standalone.less │ ├── css │ │ ├── bootstrap-datetimepicker.css │ │ └── bootstrap-datetimepicker.min.css │ ├── js │ │ ├── bootstrap-datetimepicker.js │ │ ├── bootstrap-datetimepicker.min.js │ │ └── locales │ │ │ ├── bootstrap-datetimepicker.ar.js │ │ │ ├── bootstrap-datetimepicker.az.js │ │ │ ├── bootstrap-datetimepicker.bg.js │ │ │ ├── bootstrap-datetimepicker.bn.js │ │ │ ├── bootstrap-datetimepicker.ca.js │ │ │ ├── bootstrap-datetimepicker.cs.js │ │ │ ├── bootstrap-datetimepicker.da.js │ │ │ ├── bootstrap-datetimepicker.de.js │ │ │ ├── bootstrap-datetimepicker.ee.js │ │ │ ├── bootstrap-datetimepicker.el.js │ │ │ ├── bootstrap-datetimepicker.es.js │ │ │ ├── bootstrap-datetimepicker.fi.js │ │ │ ├── bootstrap-datetimepicker.fr.js │ │ │ ├── bootstrap-datetimepicker.he.js │ │ │ ├── bootstrap-datetimepicker.hr.js │ │ │ ├── bootstrap-datetimepicker.hu.js │ │ │ ├── bootstrap-datetimepicker.hy.js │ │ │ ├── bootstrap-datetimepicker.id.js │ │ │ ├── bootstrap-datetimepicker.is.js │ │ │ ├── bootstrap-datetimepicker.it.js │ │ │ ├── bootstrap-datetimepicker.ja.js │ │ │ ├── bootstrap-datetimepicker.ka.js │ │ │ ├── bootstrap-datetimepicker.ko.js │ │ │ ├── bootstrap-datetimepicker.lt.js │ │ │ ├── bootstrap-datetimepicker.lv.js │ │ │ ├── bootstrap-datetimepicker.ms.js │ │ │ ├── bootstrap-datetimepicker.nb.js │ │ │ ├── bootstrap-datetimepicker.nl.js │ │ │ ├── bootstrap-datetimepicker.no.js │ │ │ ├── bootstrap-datetimepicker.pl.js │ │ │ ├── bootstrap-datetimepicker.pt-BR.js │ │ │ ├── bootstrap-datetimepicker.pt.js │ │ │ ├── bootstrap-datetimepicker.ro.js │ │ │ ├── bootstrap-datetimepicker.rs-latin.js │ │ │ ├── bootstrap-datetimepicker.rs.js │ │ │ ├── bootstrap-datetimepicker.ru.js │ │ │ ├── bootstrap-datetimepicker.sk.js │ │ │ ├── bootstrap-datetimepicker.sl.js │ │ │ ├── bootstrap-datetimepicker.sv.js │ │ │ ├── bootstrap-datetimepicker.sw.js │ │ │ ├── bootstrap-datetimepicker.th.js │ │ │ ├── bootstrap-datetimepicker.tr.js │ │ │ ├── bootstrap-datetimepicker.ua.js │ │ │ ├── bootstrap-datetimepicker.uk.js │ │ │ ├── bootstrap-datetimepicker.zh-CN.js │ │ │ └── bootstrap-datetimepicker.zh-TW.js │ ├── less │ │ └── datetimepicker.less │ ├── minify.sh │ ├── package.json │ ├── sample in bootstrap v2 │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap.css │ │ │ │ └── bootstrap.min.css │ │ │ ├── img │ │ │ │ ├── glyphicons-halflings-white.png │ │ │ │ └── glyphicons-halflings.png │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ └── bootstrap.min.js │ │ ├── index.html │ │ └── jquery │ │ │ └── jquery-1.8.3.min.js │ ├── sample in bootstrap v3 │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap-theme.css │ │ │ │ ├── bootstrap-theme.min.css │ │ │ │ ├── bootstrap.css │ │ │ │ └── bootstrap.min.css │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ └── glyphicons-halflings-regular.woff │ │ │ └── js │ │ │ │ ├── bootstrap.js │ │ │ │ └── bootstrap.min.js │ │ ├── index.html │ │ └── jquery │ │ │ └── jquery-1.8.3.min.js │ ├── screenshot │ │ ├── standard_day.png │ │ ├── standard_day_meridian.png │ │ ├── standard_decade.png │ │ ├── standard_full.png │ │ ├── standard_hour.png │ │ ├── standard_hour_meridian.png │ │ ├── standard_month.png │ │ └── standard_year.png │ └── tests │ │ ├── README.md │ │ ├── _coverage.html │ │ ├── assets │ │ ├── coverage.js │ │ ├── jquery-1.7.1.min.js │ │ ├── mock.js │ │ ├── qunit-logging.js │ │ ├── qunit.css │ │ ├── qunit.js │ │ └── utils.js │ │ ├── run-qunit.js │ │ ├── suites │ │ ├── component.js │ │ ├── events.js │ │ ├── formats.js │ │ ├── inline.js │ │ ├── keyboard_navigation │ │ │ ├── 2011.js │ │ │ ├── 2012.js │ │ │ └── all.js │ │ ├── mouse_navigation │ │ │ ├── 2011.js │ │ │ ├── 2012.js │ │ │ └── all.js │ │ └── options.js │ │ ├── tests.html │ │ └── tests.min.html │ ├── editormd │ ├── css │ │ ├── editormd.css │ │ ├── editormd.preview.min.css │ │ └── style.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── editormd-logo.eot │ │ ├── editormd-logo.svg │ │ ├── editormd-logo.ttf │ │ ├── editormd-logo.woff │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── images │ │ └── loading.gif │ ├── js │ │ └── editormd.min.js │ ├── lib │ │ ├── codemirror │ │ │ ├── AUTHORS │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── addon │ │ │ │ ├── comment │ │ │ │ │ ├── comment.js │ │ │ │ │ └── continuecomment.js │ │ │ │ ├── dialog │ │ │ │ │ ├── dialog.css │ │ │ │ │ └── dialog.js │ │ │ │ ├── display │ │ │ │ │ ├── fullscreen.css │ │ │ │ │ ├── fullscreen.js │ │ │ │ │ ├── panel.js │ │ │ │ │ ├── placeholder.js │ │ │ │ │ └── rulers.js │ │ │ │ ├── edit │ │ │ │ │ ├── closebrackets.js │ │ │ │ │ ├── closetag.js │ │ │ │ │ ├── continuelist.js │ │ │ │ │ ├── matchbrackets.js │ │ │ │ │ ├── matchtags.js │ │ │ │ │ └── trailingspace.js │ │ │ │ ├── fold │ │ │ │ │ ├── brace-fold.js │ │ │ │ │ ├── comment-fold.js │ │ │ │ │ ├── foldcode.js │ │ │ │ │ ├── foldgutter.css │ │ │ │ │ ├── foldgutter.js │ │ │ │ │ ├── indent-fold.js │ │ │ │ │ ├── markdown-fold.js │ │ │ │ │ └── xml-fold.js │ │ │ │ ├── hint │ │ │ │ │ ├── anyword-hint.js │ │ │ │ │ ├── css-hint.js │ │ │ │ │ ├── html-hint.js │ │ │ │ │ ├── javascript-hint.js │ │ │ │ │ ├── show-hint.css │ │ │ │ │ ├── show-hint.js │ │ │ │ │ ├── sql-hint.js │ │ │ │ │ └── xml-hint.js │ │ │ │ ├── lint │ │ │ │ │ ├── coffeescript-lint.js │ │ │ │ │ ├── css-lint.js │ │ │ │ │ ├── javascript-lint.js │ │ │ │ │ ├── json-lint.js │ │ │ │ │ ├── lint.css │ │ │ │ │ ├── lint.js │ │ │ │ │ └── yaml-lint.js │ │ │ │ ├── merge │ │ │ │ │ ├── merge.css │ │ │ │ │ └── merge.js │ │ │ │ ├── mode │ │ │ │ │ ├── loadmode.js │ │ │ │ │ ├── multiplex.js │ │ │ │ │ ├── multiplex_test.js │ │ │ │ │ ├── overlay.js │ │ │ │ │ └── simple.js │ │ │ │ ├── runmode │ │ │ │ │ ├── colorize.js │ │ │ │ │ ├── runmode-standalone.js │ │ │ │ │ ├── runmode.js │ │ │ │ │ └── runmode.node.js │ │ │ │ ├── scroll │ │ │ │ │ ├── annotatescrollbar.js │ │ │ │ │ ├── scrollpastend.js │ │ │ │ │ ├── simplescrollbars.css │ │ │ │ │ └── simplescrollbars.js │ │ │ │ ├── search │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ ├── matchesonscrollbar.css │ │ │ │ │ ├── matchesonscrollbar.js │ │ │ │ │ ├── search.js │ │ │ │ │ └── searchcursor.js │ │ │ │ ├── selection │ │ │ │ │ ├── active-line.js │ │ │ │ │ ├── mark-selection.js │ │ │ │ │ └── selection-pointer.js │ │ │ │ ├── tern │ │ │ │ │ ├── tern.css │ │ │ │ │ ├── tern.js │ │ │ │ │ └── worker.js │ │ │ │ └── wrap │ │ │ │ │ └── hardwrap.js │ │ │ ├── addons.min.js │ │ │ ├── bower.json │ │ │ ├── codemirror.min.css │ │ │ ├── codemirror.min.js │ │ │ ├── lib │ │ │ │ ├── codemirror.css │ │ │ │ └── codemirror.js │ │ │ ├── mode │ │ │ │ ├── apl │ │ │ │ │ ├── apl.js │ │ │ │ │ └── index.html │ │ │ │ ├── asterisk │ │ │ │ │ ├── asterisk.js │ │ │ │ │ └── index.html │ │ │ │ ├── clike │ │ │ │ │ ├── clike.js │ │ │ │ │ ├── index.html │ │ │ │ │ └── scala.html │ │ │ │ ├── clojure │ │ │ │ │ ├── clojure.js │ │ │ │ │ └── index.html │ │ │ │ ├── cobol │ │ │ │ │ ├── cobol.js │ │ │ │ │ └── index.html │ │ │ │ ├── coffeescript │ │ │ │ │ ├── coffeescript.js │ │ │ │ │ └── index.html │ │ │ │ ├── commonlisp │ │ │ │ │ ├── commonlisp.js │ │ │ │ │ └── index.html │ │ │ │ ├── css │ │ │ │ │ ├── css.js │ │ │ │ │ ├── index.html │ │ │ │ │ ├── less.html │ │ │ │ │ ├── less_test.js │ │ │ │ │ ├── scss.html │ │ │ │ │ ├── scss_test.js │ │ │ │ │ └── test.js │ │ │ │ ├── cypher │ │ │ │ │ ├── cypher.js │ │ │ │ │ └── index.html │ │ │ │ ├── d │ │ │ │ │ ├── d.js │ │ │ │ │ └── index.html │ │ │ │ ├── dart │ │ │ │ │ ├── dart.js │ │ │ │ │ └── index.html │ │ │ │ ├── diff │ │ │ │ │ ├── diff.js │ │ │ │ │ └── index.html │ │ │ │ ├── django │ │ │ │ │ ├── django.js │ │ │ │ │ └── index.html │ │ │ │ ├── dockerfile │ │ │ │ │ ├── dockerfile.js │ │ │ │ │ └── index.html │ │ │ │ ├── dtd │ │ │ │ │ ├── dtd.js │ │ │ │ │ └── index.html │ │ │ │ ├── dylan │ │ │ │ │ ├── dylan.js │ │ │ │ │ └── index.html │ │ │ │ ├── ebnf │ │ │ │ │ ├── ebnf.js │ │ │ │ │ └── index.html │ │ │ │ ├── ecl │ │ │ │ │ ├── ecl.js │ │ │ │ │ └── index.html │ │ │ │ ├── eiffel │ │ │ │ │ ├── eiffel.js │ │ │ │ │ └── index.html │ │ │ │ ├── erlang │ │ │ │ │ ├── erlang.js │ │ │ │ │ └── index.html │ │ │ │ ├── forth │ │ │ │ │ ├── forth.js │ │ │ │ │ └── index.html │ │ │ │ ├── fortran │ │ │ │ │ ├── fortran.js │ │ │ │ │ └── index.html │ │ │ │ ├── gas │ │ │ │ │ ├── gas.js │ │ │ │ │ └── index.html │ │ │ │ ├── gfm │ │ │ │ │ ├── gfm.js │ │ │ │ │ ├── index.html │ │ │ │ │ └── test.js │ │ │ │ ├── gherkin │ │ │ │ │ ├── gherkin.js │ │ │ │ │ └── index.html │ │ │ │ ├── go │ │ │ │ │ ├── go.js │ │ │ │ │ └── index.html │ │ │ │ ├── groovy │ │ │ │ │ ├── groovy.js │ │ │ │ │ └── index.html │ │ │ │ ├── haml │ │ │ │ │ ├── haml.js │ │ │ │ │ ├── index.html │ │ │ │ │ └── test.js │ │ │ │ ├── haskell │ │ │ │ │ ├── haskell.js │ │ │ │ │ └── index.html │ │ │ │ ├── haxe │ │ │ │ │ ├── haxe.js │ │ │ │ │ └── index.html │ │ │ │ ├── htmlembedded │ │ │ │ │ ├── htmlembedded.js │ │ │ │ │ └── index.html │ │ │ │ ├── htmlmixed │ │ │ │ │ ├── htmlmixed.js │ │ │ │ │ └── index.html │ │ │ │ ├── http │ │ │ │ │ ├── http.js │ │ │ │ │ └── index.html │ │ │ │ ├── idl │ │ │ │ │ ├── idl.js │ │ │ │ │ └── index.html │ │ │ │ ├── index.html │ │ │ │ ├── jade │ │ │ │ │ ├── index.html │ │ │ │ │ └── jade.js │ │ │ │ ├── javascript │ │ │ │ │ ├── index.html │ │ │ │ │ ├── javascript.js │ │ │ │ │ ├── json-ld.html │ │ │ │ │ ├── test.js │ │ │ │ │ └── typescript.html │ │ │ │ ├── jinja2 │ │ │ │ │ ├── index.html │ │ │ │ │ └── jinja2.js │ │ │ │ ├── julia │ │ │ │ │ ├── index.html │ │ │ │ │ └── julia.js │ │ │ │ ├── kotlin │ │ │ │ │ ├── index.html │ │ │ │ │ └── kotlin.js │ │ │ │ ├── livescript │ │ │ │ │ ├── index.html │ │ │ │ │ └── livescript.js │ │ │ │ ├── lua │ │ │ │ │ ├── index.html │ │ │ │ │ └── lua.js │ │ │ │ ├── markdown │ │ │ │ │ ├── index.html │ │ │ │ │ ├── markdown.js │ │ │ │ │ └── test.js │ │ │ │ ├── meta.js │ │ │ │ ├── mirc │ │ │ │ │ ├── index.html │ │ │ │ │ └── mirc.js │ │ │ │ ├── mllike │ │ │ │ │ ├── index.html │ │ │ │ │ └── mllike.js │ │ │ │ ├── modelica │ │ │ │ │ ├── index.html │ │ │ │ │ └── modelica.js │ │ │ │ ├── nginx │ │ │ │ │ ├── index.html │ │ │ │ │ └── nginx.js │ │ │ │ ├── ntriples │ │ │ │ │ ├── index.html │ │ │ │ │ └── ntriples.js │ │ │ │ ├── octave │ │ │ │ │ ├── index.html │ │ │ │ │ └── octave.js │ │ │ │ ├── pascal │ │ │ │ │ ├── index.html │ │ │ │ │ └── pascal.js │ │ │ │ ├── pegjs │ │ │ │ │ ├── index.html │ │ │ │ │ └── pegjs.js │ │ │ │ ├── perl │ │ │ │ │ ├── index.html │ │ │ │ │ └── perl.js │ │ │ │ ├── php │ │ │ │ │ ├── index.html │ │ │ │ │ ├── php.js │ │ │ │ │ └── test.js │ │ │ │ ├── pig │ │ │ │ │ ├── index.html │ │ │ │ │ └── pig.js │ │ │ │ ├── properties │ │ │ │ │ ├── index.html │ │ │ │ │ └── properties.js │ │ │ │ ├── puppet │ │ │ │ │ ├── index.html │ │ │ │ │ └── puppet.js │ │ │ │ ├── python │ │ │ │ │ ├── index.html │ │ │ │ │ └── python.js │ │ │ │ ├── q │ │ │ │ │ ├── index.html │ │ │ │ │ └── q.js │ │ │ │ ├── r │ │ │ │ │ ├── index.html │ │ │ │ │ └── r.js │ │ │ │ ├── rpm │ │ │ │ │ ├── changes │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── rpm.js │ │ │ │ ├── rst │ │ │ │ │ ├── index.html │ │ │ │ │ └── rst.js │ │ │ │ ├── ruby │ │ │ │ │ ├── index.html │ │ │ │ │ ├── ruby.js │ │ │ │ │ └── test.js │ │ │ │ ├── rust │ │ │ │ │ ├── index.html │ │ │ │ │ └── rust.js │ │ │ │ ├── sass │ │ │ │ │ ├── index.html │ │ │ │ │ └── sass.js │ │ │ │ ├── scheme │ │ │ │ │ ├── index.html │ │ │ │ │ └── scheme.js │ │ │ │ ├── shell │ │ │ │ │ ├── index.html │ │ │ │ │ ├── shell.js │ │ │ │ │ └── test.js │ │ │ │ ├── sieve │ │ │ │ │ ├── index.html │ │ │ │ │ └── sieve.js │ │ │ │ ├── slim │ │ │ │ │ ├── index.html │ │ │ │ │ ├── slim.js │ │ │ │ │ └── test.js │ │ │ │ ├── smalltalk │ │ │ │ │ ├── index.html │ │ │ │ │ └── smalltalk.js │ │ │ │ ├── smarty │ │ │ │ │ ├── index.html │ │ │ │ │ └── smarty.js │ │ │ │ ├── smartymixed │ │ │ │ │ ├── index.html │ │ │ │ │ └── smartymixed.js │ │ │ │ ├── solr │ │ │ │ │ ├── index.html │ │ │ │ │ └── solr.js │ │ │ │ ├── soy │ │ │ │ │ ├── index.html │ │ │ │ │ └── soy.js │ │ │ │ ├── sparql │ │ │ │ │ ├── index.html │ │ │ │ │ └── sparql.js │ │ │ │ ├── spreadsheet │ │ │ │ │ ├── index.html │ │ │ │ │ └── spreadsheet.js │ │ │ │ ├── sql │ │ │ │ │ ├── index.html │ │ │ │ │ └── sql.js │ │ │ │ ├── stex │ │ │ │ │ ├── index.html │ │ │ │ │ ├── stex.js │ │ │ │ │ └── test.js │ │ │ │ ├── stylus │ │ │ │ │ ├── index.html │ │ │ │ │ └── stylus.js │ │ │ │ ├── tcl │ │ │ │ │ ├── index.html │ │ │ │ │ └── tcl.js │ │ │ │ ├── textile │ │ │ │ │ ├── index.html │ │ │ │ │ ├── test.js │ │ │ │ │ └── textile.js │ │ │ │ ├── tiddlywiki │ │ │ │ │ ├── index.html │ │ │ │ │ ├── tiddlywiki.css │ │ │ │ │ └── tiddlywiki.js │ │ │ │ ├── tiki │ │ │ │ │ ├── index.html │ │ │ │ │ ├── tiki.css │ │ │ │ │ └── tiki.js │ │ │ │ ├── toml │ │ │ │ │ ├── index.html │ │ │ │ │ └── toml.js │ │ │ │ ├── tornado │ │ │ │ │ ├── index.html │ │ │ │ │ └── tornado.js │ │ │ │ ├── turtle │ │ │ │ │ ├── index.html │ │ │ │ │ └── turtle.js │ │ │ │ ├── vb │ │ │ │ │ ├── index.html │ │ │ │ │ └── vb.js │ │ │ │ ├── vbscript │ │ │ │ │ ├── index.html │ │ │ │ │ └── vbscript.js │ │ │ │ ├── velocity │ │ │ │ │ ├── index.html │ │ │ │ │ └── velocity.js │ │ │ │ ├── verilog │ │ │ │ │ ├── index.html │ │ │ │ │ ├── test.js │ │ │ │ │ └── verilog.js │ │ │ │ ├── xml │ │ │ │ │ ├── index.html │ │ │ │ │ ├── test.js │ │ │ │ │ └── xml.js │ │ │ │ ├── xquery │ │ │ │ │ ├── index.html │ │ │ │ │ ├── test.js │ │ │ │ │ └── xquery.js │ │ │ │ ├── yaml │ │ │ │ │ ├── index.html │ │ │ │ │ └── yaml.js │ │ │ │ └── z80 │ │ │ │ │ ├── index.html │ │ │ │ │ └── z80.js │ │ │ ├── modes.min.js │ │ │ ├── package.json │ │ │ └── theme │ │ │ │ ├── 3024-day.css │ │ │ │ ├── 3024-night.css │ │ │ │ ├── ambiance-mobile.css │ │ │ │ ├── ambiance.css │ │ │ │ ├── base16-dark.css │ │ │ │ ├── base16-light.css │ │ │ │ ├── blackboard.css │ │ │ │ ├── cobalt.css │ │ │ │ ├── colorforth.css │ │ │ │ ├── eclipse.css │ │ │ │ ├── elegant.css │ │ │ │ ├── erlang-dark.css │ │ │ │ ├── lesser-dark.css │ │ │ │ ├── mbo.css │ │ │ │ ├── mdn-like.css │ │ │ │ ├── midnight.css │ │ │ │ ├── monokai.css │ │ │ │ ├── neat.css │ │ │ │ ├── neo.css │ │ │ │ ├── night.css │ │ │ │ ├── paraiso-dark.css │ │ │ │ ├── paraiso-light.css │ │ │ │ ├── pastel-on-dark.css │ │ │ │ ├── rubyblue.css │ │ │ │ ├── solarized.css │ │ │ │ ├── the-matrix.css │ │ │ │ ├── tomorrow-night-bright.css │ │ │ │ ├── tomorrow-night-eighties.css │ │ │ │ ├── twilight.css │ │ │ │ ├── vibrant-ink.css │ │ │ │ ├── xq-dark.css │ │ │ │ ├── xq-light.css │ │ │ │ └── zenburn.css │ │ ├── flowchart.min.js │ │ ├── jquery.flowchart.min.js │ │ ├── marked.min.js │ │ ├── prettify.min.js │ │ ├── raphael.min.js │ │ ├── sequence-diagram.min.js │ │ └── underscore.min.js │ └── plugins │ │ ├── code-block-dialog │ │ └── code-block-dialog.js │ │ ├── emoji-dialog │ │ ├── emoji-dialog.js │ │ └── emoji.json │ │ ├── goto-line-dialog │ │ └── goto-line-dialog.js │ │ ├── help-dialog │ │ ├── help-dialog.js │ │ └── help.md │ │ ├── html-entities-dialog │ │ ├── html-entities-dialog.js │ │ └── html-entities.json │ │ ├── image-dialog │ │ └── image-dialog.js │ │ ├── link-dialog │ │ └── link-dialog.js │ │ ├── plugin-template.js │ │ ├── preformatted-text-dialog │ │ └── preformatted-text-dialog.js │ │ ├── reference-link-dialog │ │ └── reference-link-dialog.js │ │ ├── table-dialog │ │ └── table-dialog.js │ │ └── test-plugin │ │ └── test-plugin.js │ ├── font-awesome-4.6.3 │ ├── HELP-US-OUT.txt │ ├── css │ │ ├── font-awesome.css │ │ └── font-awesome.min.css │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.svg │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ └── fontawesome-webfont.woff2 │ ├── less │ │ ├── animated.less │ │ ├── bordered-pulled.less │ │ ├── core.less │ │ ├── fixed-width.less │ │ ├── font-awesome.less │ │ ├── icons.less │ │ ├── larger.less │ │ ├── list.less │ │ ├── mixins.less │ │ ├── path.less │ │ ├── rotated-flipped.less │ │ ├── screen-reader.less │ │ ├── stacked.less │ │ └── variables.less │ └── scss │ │ ├── _animated.scss │ │ ├── _bordered-pulled.scss │ │ ├── _core.scss │ │ ├── _fixed-width.scss │ │ ├── _icons.scss │ │ ├── _larger.scss │ │ ├── _list.scss │ │ ├── _mixins.scss │ │ ├── _path.scss │ │ ├── _rotated-flipped.scss │ │ ├── _screen-reader.scss │ │ ├── _stacked.scss │ │ ├── _variables.scss │ │ └── font-awesome.scss │ ├── markdown-js │ └── markdown.js │ ├── qrcode │ ├── jquery.qrcode.js │ ├── preview_phone.jpg │ └── qrcode.js │ ├── webuploader │ ├── css │ │ ├── style.css │ │ └── webuploader.css │ ├── img │ │ ├── bg.png │ │ ├── icons.png │ │ ├── image.png │ │ ├── progress.png │ │ └── success.png │ ├── index.html │ ├── js │ │ ├── jquery.js │ │ ├── upload.js │ │ └── webuploader.js │ ├── server │ │ ├── fileupload.php │ │ ├── preview.php │ │ ├── test.php │ │ └── upload.rr │ │ │ ├── 骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗01.jpg │ │ │ ├── 骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗02.jpg │ │ │ └── 骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗03.jpg │ └── swf │ │ ├── Uploader.swf │ │ └── expressInstall.swf │ └── weui-master │ ├── .gitignore │ ├── .travis.yml │ ├── CHANGELOG.md │ ├── CONTRIBUTING.md │ ├── README.md │ ├── bower.json │ ├── dist │ ├── example │ │ ├── example.css │ │ ├── example.js │ │ ├── images │ │ │ ├── icon_nav_actionSheet.png │ │ │ ├── icon_nav_article.png │ │ │ ├── icon_nav_button.png │ │ │ ├── icon_nav_cell.png │ │ │ ├── icon_nav_dialog.png │ │ │ ├── icon_nav_icons.png │ │ │ ├── icon_nav_msg.png │ │ │ ├── icon_nav_panel.png │ │ │ ├── icon_nav_progress.png │ │ │ ├── icon_nav_search_bar.png │ │ │ ├── icon_nav_tab.png │ │ │ ├── icon_nav_toast.png │ │ │ ├── pic_article.png │ │ │ ├── pic_article_1.jpg │ │ │ ├── pic_article_2.jpg │ │ │ └── vcode.jpg │ │ ├── index.html │ │ ├── router.min.js │ │ ├── snapshot │ │ │ ├── actionSheet.png │ │ │ ├── button.png │ │ │ ├── cell.png │ │ │ ├── dialog1.png │ │ │ ├── dialog2.png │ │ │ ├── grid.png │ │ │ ├── icons.png │ │ │ ├── progress.png │ │ │ ├── qrcode.png │ │ │ ├── result.png │ │ │ ├── text.png │ │ │ ├── toast1.png │ │ │ └── toast2.png │ │ └── zepto.min.js │ └── style │ │ ├── weui.css │ │ └── weui.min.css │ ├── gulpfile.js │ ├── package.json │ └── src │ ├── example │ ├── example.js │ ├── example.less │ ├── fragment │ │ ├── actionsheet.html │ │ ├── article.html │ │ ├── button.html │ │ ├── cell.html │ │ ├── dialog.html │ │ ├── home.html │ │ ├── icons.html │ │ ├── msg.html │ │ ├── navbar.html │ │ ├── panel.html │ │ ├── progress.html │ │ ├── searchbar.html │ │ ├── tab.html │ │ ├── tabbar.html │ │ └── toast.html │ ├── images │ │ ├── icon_nav_actionSheet.png │ │ ├── icon_nav_article.png │ │ ├── icon_nav_button.png │ │ ├── icon_nav_cell.png │ │ ├── icon_nav_dialog.png │ │ ├── icon_nav_icons.png │ │ ├── icon_nav_msg.png │ │ ├── icon_nav_panel.png │ │ ├── icon_nav_progress.png │ │ ├── icon_nav_search_bar.png │ │ ├── icon_nav_tab.png │ │ ├── icon_nav_toast.png │ │ ├── pic_article.png │ │ └── vcode.jpg │ ├── index.html │ ├── router.min.js │ ├── snapshot │ │ ├── button.png │ │ ├── cell.png │ │ ├── dialog1.png │ │ ├── dialog2.png │ │ ├── grid.png │ │ ├── icons.png │ │ ├── progress.png │ │ ├── qrcode.png │ │ ├── result.png │ │ ├── text.png │ │ ├── toast1.png │ │ └── toast2.png │ └── zepto.min.js │ └── style │ ├── base │ ├── fn.less │ ├── mixin │ │ ├── mobile.less │ │ ├── setArrow.less │ │ ├── setChecked.less │ │ ├── setOnepx.less │ │ └── text.less │ ├── reset.less │ └── variable │ │ ├── global.less │ │ ├── monokai.less │ │ ├── weui_button.less │ │ ├── weui_cell.less │ │ ├── weui_grid.less │ │ ├── weui_msg.less │ │ └── weui_progress.less │ ├── icon │ ├── weui_font.less │ └── weui_icon_font.less │ ├── weui.less │ └── widget │ ├── weui_button │ ├── weui_btn_default.less │ ├── weui_btn_disabled.less │ ├── weui_btn_global.less │ ├── weui_btn_plain.less │ ├── weui_btn_primary.less │ ├── weui_btn_warn.less │ └── weui_button.less │ ├── weui_cell │ ├── weui_access.less │ ├── weui_cell_global.less │ ├── weui_check.less │ ├── weui_check │ │ ├── weui_check_common.less │ │ ├── weui_checkbox.less │ │ └── weui_radio.less │ ├── weui_form.less │ ├── weui_form │ │ ├── weui_form_common.less │ │ ├── weui_select.less │ │ ├── weui_select_after.less │ │ ├── weui_select_before.less │ │ └── weui_vcode.less │ ├── weui_switch.less │ └── weui_uploader.less │ ├── weui_grid │ └── weui_grid.less │ ├── weui_media_box │ └── weui_media_box.less │ ├── weui_page │ ├── weui_article.less │ └── weui_msg.less │ ├── weui_panel │ └── weui_panel.less │ ├── weui_progress │ └── weui_progress.less │ ├── weui_searchbar │ └── weui_searchbar.less │ ├── weui_tab │ ├── navbar.less │ ├── tabbar.less │ └── weui_tab.less │ └── weui_tips │ ├── weui_actionsheet.less │ ├── weui_dialog.less │ ├── weui_mask.less │ └── weui_toast.less ├── README.md ├── Runtime └── index.html ├── ThinkPHP ├── Common │ └── functions.php ├── Conf │ ├── convention.php │ └── debug.php ├── LICENSE.txt ├── Lang │ ├── en-us.php │ ├── pt-br.php │ ├── zh-cn.php │ └── zh-tw.php ├── Library │ ├── Behavior │ │ ├── BuildLiteBehavior.class.php │ │ ├── CheckLangBehavior.class.php │ │ ├── ContentReplaceBehavior.class.php │ │ ├── ParseTemplateBehavior.class.php │ │ ├── ReadHtmlCacheBehavior.class.php │ │ ├── ShowPageTraceBehavior.class.php │ │ ├── ShowRuntimeBehavior.class.php │ │ ├── TokenBuildBehavior.class.php │ │ └── WriteHtmlCacheBehavior.class.php │ ├── Org │ │ └── Util │ │ │ ├── Rbac.class.php │ │ │ └── UploadFile.class.php │ ├── Think │ │ ├── App.class.php │ │ ├── Behavior.class.php │ │ ├── Build.class.php │ │ ├── Cache.class.php │ │ ├── Cache │ │ │ └── Driver │ │ │ │ ├── Apachenote.class.php │ │ │ │ ├── Apc.class.php │ │ │ │ ├── Db.class.php │ │ │ │ ├── Eaccelerator.class.php │ │ │ │ ├── File.class.php │ │ │ │ ├── Memcache.class.php │ │ │ │ ├── Memcached.class.php │ │ │ │ ├── Memcachesae.class.php │ │ │ │ ├── Redis.class.php │ │ │ │ ├── Shmop.class.php │ │ │ │ ├── Sqlite.class.php │ │ │ │ ├── Wincache.class.php │ │ │ │ └── Xcache.class.php │ │ ├── Controller.class.php │ │ ├── Controller │ │ │ └── RestController.class.php │ │ ├── Db.class.php │ │ ├── Db │ │ │ ├── Driver.class.php │ │ │ ├── Driver │ │ │ │ ├── Firebird.class.php │ │ │ │ ├── Mongo.class.php │ │ │ │ ├── Mysql.class.php │ │ │ │ ├── Oracle.class.php │ │ │ │ ├── Pgsql.class.php │ │ │ │ ├── Sqlite.class.php │ │ │ │ └── Sqlsrv.class.php │ │ │ └── Lite.class.php │ │ ├── Dispatcher.class.php │ │ ├── Exception.class.php │ │ ├── Hook.class.php │ │ ├── Log.class.php │ │ ├── Log │ │ │ └── Driver │ │ │ │ ├── File.class.php │ │ │ │ └── Sae.class.php │ │ ├── Model.class.php │ │ ├── Page.class.php │ │ ├── Route.class.php │ │ ├── Storage.class.php │ │ ├── Storage │ │ │ └── Driver │ │ │ │ ├── File.class.php │ │ │ │ └── Sae.class.php │ │ ├── Template.class.php │ │ ├── Template │ │ │ ├── Driver │ │ │ │ ├── Ease.class.php │ │ │ │ ├── Lite.class.php │ │ │ │ ├── Mobile.class.php │ │ │ │ ├── Smart.class.php │ │ │ │ └── Smarty.class.php │ │ │ ├── TagLib.class.php │ │ │ └── TagLib │ │ │ │ ├── Cx.class.php │ │ │ │ └── Html.class.php │ │ ├── Think.class.php │ │ ├── Upload.class.php │ │ ├── Upload │ │ │ └── Driver │ │ │ │ ├── Bcs.class.php │ │ │ │ ├── Bcs │ │ │ │ ├── bcs.class.php │ │ │ │ ├── mimetypes.class.php │ │ │ │ └── requestcore.class.php │ │ │ │ ├── Ftp.class.php │ │ │ │ ├── Local.class.php │ │ │ │ ├── Qiniu.class.php │ │ │ │ ├── Qiniu │ │ │ │ └── QiniuStorage.class.php │ │ │ │ ├── Sae.class.php │ │ │ │ └── Upyun.class.php │ │ └── View.class.php │ ├── Vendor │ │ ├── GeeTest │ │ │ ├── config.php │ │ │ └── geetestlib.php │ │ ├── README.txt │ │ └── WechatPaySdk │ │ │ ├── SDKRuntimeException.php │ │ │ ├── WxPay.pub.config.php │ │ │ ├── WxPayPubHelper.php │ │ │ └── phpqrcode.php │ └── WechatSdk │ │ ├── JsSdk.class.php │ │ ├── SDKRuntimeException.php │ │ ├── WXBizDataCrypt.class.php │ │ ├── Wechat.class.php │ │ ├── WxPay.pub.config.php │ │ ├── WxPayPubHelper.php │ │ └── Wxapp.class.php ├── Mode │ └── common.php ├── ThinkPHP.php ├── Tpl │ ├── dispatch_jump.tpl │ ├── page_trace.tpl │ └── think_exception.tpl └── logo.png ├── UPGRADE.md ├── Uploads └── Pictures │ └── index.html ├── Wxapps └── Demo │ ├── app.js │ ├── app.json │ ├── app.wxss │ ├── ext.js │ ├── image │ ├── add.png │ ├── edit.png │ ├── help.png │ └── reg.png │ ├── jsconfig.json │ ├── pages │ ├── account │ │ ├── account.js │ │ ├── account.json │ │ ├── account.wxml │ │ ├── account.wxss │ │ ├── feedback │ │ │ ├── feedback.js │ │ │ ├── feedback.json │ │ │ ├── feedback.wxml │ │ │ └── feedback.wxss │ │ └── release │ │ │ ├── release.js │ │ │ ├── release.json │ │ │ ├── release.wxml │ │ │ └── release.wxss │ └── common │ │ └── index.wxss │ ├── project.config.json │ ├── style │ ├── footer.wxml │ └── weui.wxss │ └── utils │ ├── util.js │ └── wxParse │ ├── html2json.js │ ├── htmlparser.js │ ├── showdown.js │ ├── wxDiscode.js │ ├── wxParse.js │ ├── wxParse.wxml │ └── wxParse.wxss ├── author.png ├── index.php └── license.txt /.gitignore: -------------------------------------------------------------------------------- 1 | /Runtime/* 2 | /Addons/* 3 | /Wxapps/* 4 | /Uploads/* 5 | /App/Common/Conf/config.php 6 | /Data/* 7 | /MP_* 8 | /.idea/ 9 | /*.txt 10 | -------------------------------------------------------------------------------- /Addons/Demo/Controller/MobileController.class.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Addons/Demo/Controller/RespondController.class.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Addons/Demo/info.php: -------------------------------------------------------------------------------- 1 | '示例插件', 5 | 'bzname' => 'Demo', 6 | 'type' => '1,2', 7 | 'desc' => '豆信核心功能示例,包含小程序接口请求逻辑', 8 | 'version' => '0.4.0', 9 | 'author' => '艾逗笔', 10 | 'logo' => 'logo.png', 11 | 'config' => array( 12 | 'respond_rule' => 1, 13 | 'setting' => 1, 14 | 'entry' => 1, 15 | 'menu' => 1, 16 | 'menu_list' => [ 17 | 'diaryList' => '日记管理' 18 | ], 19 | 'setting_list_group' => [ 20 | 'basic' => [ 21 | 'title' => '基本设置', 22 | 'is_show' => 1 23 | ] 24 | ], 25 | 'setting_list' => [ 26 | 'title' => [ 27 | 'title' => '标题', 28 | 'tip' => '在微信浏览器或小程序顶栏显示的标题', 29 | 'type' => 'text', 30 | 'placeholder' => '豆信示例', 31 | 'group' => 'basic' 32 | ], 33 | 'copyright' => [ 34 | 'title' => '版权信息', 35 | 'type' => 'text', 36 | 'value' => 'Copyright © 2015-2018 豆信', 37 | 'group' => 'basic' 38 | ], 39 | 'about' => [ 40 | 'title' => '关于', 41 | 'tip' => '关于程序的介绍', 42 | 'type' => 'textarea', 43 | 'placeholder' => '豆信是一个简洁、高效、优雅的微信开发框架,学习交流请加QQ群:473027882', 44 | 'group' => 'basic' 45 | ] 46 | ] 47 | ), 48 | 'install_sql' => 'install.sql' 49 | ); 50 | 51 | ?> -------------------------------------------------------------------------------- /Addons/Demo/install.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS `dc_demo_diary` ( 2 | `id` int(10) NOT NULL AUTO_INCREMENT COMMENT '主键ID', 3 | `mpid` int(10) NOT NULL DEFAULT '0' COMMENT '账号ID', 4 | `openid` varchar(255) NOT NULL DEFAULT '' COMMENT '用户标识', 5 | `title` varchar(50) NOT NULL DEFAULT '' COMMENT '日记标题', 6 | `content` text NOT NULL COMMENT '建议内容', 7 | `created_at` int(10) NOT NULL DEFAULT '0' COMMENT '创建时间', 8 | `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态', 9 | `deleted_at` int(10) NOT NULL DEFAULT '0' COMMENT '删除时间', 10 | `updated_at` int(10) NOT NULL DEFAULT '0' COMMENT '更新时间', 11 | PRIMARY KEY (`id`) 12 | ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4; -------------------------------------------------------------------------------- /Addons/Demo/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Addons/Demo/logo.png -------------------------------------------------------------------------------- /App/Admin/Conf/config.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/App/Admin/Conf/config.php -------------------------------------------------------------------------------- /App/Admin/Controller/IndexController.class.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | class IndexController extends BaseController { 11 | 12 | /** 13 | * 后台首页 14 | * @author 艾逗笔<765532665@qq.com> 15 | */ 16 | public function index() { 17 | $this->assign('meta_title', '后台首页'); 18 | $this->display(); 19 | } 20 | } 21 | 22 | ?> -------------------------------------------------------------------------------- /App/Admin/Model/AccessKeyModel.class.php: -------------------------------------------------------------------------------- 1 | field('ak,sk')->where($map)->order('updated_at DESC')->find(); 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /App/Admin/Model/MpGroupModel.class.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | class MpGroupModel extends Model { 11 | 12 | /** 13 | * 获取套餐信息 14 | * @author 艾逗笔<765532665@qq.com> 15 | */ 16 | public function get_group_info($group_id) { 17 | if (!$group_id) { 18 | return false; 19 | } 20 | $mp_group = $this->find($group_id); 21 | if (!$mp_group) { 22 | return false; 23 | } 24 | return $mp_group; 25 | } 26 | 27 | /** 28 | * 获取套餐列表 29 | * @author 艾逗笔<765532665@qq.com> 30 | */ 31 | public function get_group_lists($map = array()) { 32 | $lists = $this->where($map)->select(); 33 | return $lists; 34 | } 35 | } 36 | 37 | ?> -------------------------------------------------------------------------------- /App/Admin/Model/MpModel.class.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | class MpModel extends Model { 11 | 12 | /** 13 | * 根据公众号ID获取公众号基本信息 14 | * @author 艾逗笔<765532665@qq.com> 15 | */ 16 | public function get_mp_info($mpid = '') { 17 | if (!$mpid) { 18 | return false; 19 | } 20 | $mp_info = $this->find(intval($mpid)); 21 | if (!$mp_info) { 22 | return false; 23 | } 24 | return $mp_info; 25 | } 26 | 27 | } 28 | 29 | ?> -------------------------------------------------------------------------------- /App/Admin/Model/UserGroupModel.class.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | public function get_group_lists() { 13 | $lists = M('user_group')->order('create_time desc')->select(); 14 | return $lists; 15 | } 16 | 17 | /** 18 | * 获取单个分组信息 19 | * @author 艾逗笔<765532665@qq.com> 20 | */ 21 | public function get_group_info($group_id) { 22 | if (!$group_id) { 23 | return false; 24 | } 25 | $map['id'] = $group_id; 26 | $info = M('user_group')->where($map)->find(); 27 | return $info; 28 | } 29 | } 30 | 31 | 32 | ?> -------------------------------------------------------------------------------- /App/Common/Behavior/RbacBehavior.class.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | namespace Common\Behavior; 8 | use Think\Behavior; 9 | 10 | class RbacBehavior extends Behavior { 11 | 12 | public function run(&$params) { 13 | header("Content-type: text/html; charset=utf-8"); 14 | $Rbac = new \Org\Util\Rbac; 15 | $user_id = session(C('USER_AUTH_KEY')); 16 | if (empty($user_id)) { // 检测登录 17 | redirect(U('User/Public/login')); 18 | } 19 | 20 | if (!D('User/user')->get_user_info($user_id)) { 21 | die('用户信息不存在'); 22 | } 23 | 24 | if (C('USER_AUTH_ON')) { // 权限节点检测 25 | $Rbac::AccessDecision() || die('没有权限'); 26 | } 27 | $user_access = D('User/User')->get_user_access($user_id); 28 | if (empty($user_access) || empty($user_access['status'])) { // 检测角色权限 29 | die('该用户所属角色未启用'); 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /App/Common/Common/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Common/Conf/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Common/Conf/tags.php: -------------------------------------------------------------------------------- 1 | array('Behavior\TokenBuildBehavior'), 5 | ); 6 | 7 | 8 | ?> -------------------------------------------------------------------------------- /App/Common/View/default/Base/common.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 |
8 | -------------------------------------------------------------------------------- /App/Common/View/default/Public/crumb.html: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | -------------------------------------------------------------------------------- /App/Common/View/default/Public/nav.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Common/View/default/Public/search.html: -------------------------------------------------------------------------------- 1 | 2 | 22 |
23 |
-------------------------------------------------------------------------------- /App/Common/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Home/Conf/config.php: -------------------------------------------------------------------------------- 1 | 'default', 4 | ); -------------------------------------------------------------------------------- /App/Home/Conf/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Home/Controller/IndexController.class.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | class IndexController extends Controller { 11 | 12 | /** 13 | * 初始化 14 | * @author 艾逗笔<765532665@qq.com> 15 | */ 16 | public function _initialize() { 17 | $system_settings = D('Admin/SystemSetting')->get_settings(); 18 | $this->assign('system_settings', $system_settings); 19 | } 20 | 21 | /** 22 | * 首页 23 | * @author 艾逗笔<765532665@qq.com> 24 | */ 25 | public function index() { 26 | $this->display(); 27 | } 28 | } -------------------------------------------------------------------------------- /App/Home/Controller/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Home/View/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/App/Home/View/index.html -------------------------------------------------------------------------------- /App/Home/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /App/Install/Conf/config.php: -------------------------------------------------------------------------------- 1 | 'default', 9 | 'URL_MODEL' => 3, // URL模式 10 | 'URL_ROUTER_ON' => 1 11 | ); 12 | -------------------------------------------------------------------------------- /App/Install/Data/update.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/App/Install/Data/update.sql -------------------------------------------------------------------------------- /App/Install/View/default/Install/update.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
  • 安装协议
  • 5 |
  • 环境检测
  • 6 |
  • 创建数据库
  • 7 |
  • 升级
  • 8 |
  • 完成
  • 9 |
    10 | 11 | 12 |

    升级

    13 |

    检测到已经安装过系统,点击下一步开始进行系统升级!

    14 |
    15 | 16 | 17 | 上一步 18 | 下一步 19 | 20 | -------------------------------------------------------------------------------- /App/Mp/Behavior/CrumbBehavior.class.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | class CrumbBehavior extends Behavior { 11 | 12 | public function run(&$params) { 13 | $addon = get_addon(); 14 | $addon_info = D('Addons')->get_addon_info(); 15 | if ($addon) { 16 | $crumb[] = array( 17 | 'title' => $addon_info['name'], 18 | 'url' => '', 19 | 'class' => '' 20 | ); 21 | if (ACTION_NAME == 'index') { 22 | $crumb[] = array( 23 | 'title' => '功能导航', 24 | 'url' => '', 25 | 'class' => 'active' 26 | ); 27 | } elseif (ACTION_NAME == 'rule') { 28 | $crumb[] = array( 29 | 'title' => '响应规则', 30 | 'url' => '', 31 | 'class' => 'active' 32 | ); 33 | } elseif (ACTION_NAME == 'setting') { 34 | $crumb[] = array( 35 | 'title' => '配置参数', 36 | 'url' => '', 37 | 'class' => 'active' 38 | ); 39 | } elseif (ACTION_NAME == 'entry') { 40 | $crumb[] = array( 41 | 'title' => '公众号入口', 42 | 'url' => '', 43 | 'class' => 'active' 44 | ); 45 | } else { 46 | $crumb[] = array( 47 | 'title' => '功能导航', 48 | 'url' => '', 49 | 'class' => 'active' 50 | ); 51 | } 52 | } 53 | return $crumb; 54 | } 55 | } 56 | 57 | ?> -------------------------------------------------------------------------------- /App/Mp/Behavior/TempmsgController.class.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | namespace Mp\Controller; 8 | use Mp\Controller\BaseController; 9 | 10 | class TempmsgController extends BaseController { 11 | 12 | // 数据列表 13 | public function lists() { 14 | $this->setMetaTitle('模板消息管理') 15 | ->common_lists(); 16 | } 17 | } -------------------------------------------------------------------------------- /App/Mp/Behavior/TipBehavior.class.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | class TipBehavior extends Behavior { 11 | 12 | public function run(&$params) { 13 | $addon = get_addon(); // 插件名称 14 | if ($addon) { 15 | if (ACTION_NAME == 'rule') { 16 | $tip = '用户在微信中发送的文本消息匹配到此处设置的关键词时,系统会把用户发送的消息分发到此插件的交互控制器进行处理'; 17 | } elseif (ACTION_NAME == 'entry') { 18 | $tip = '用户在微信中发送的文本消息匹配到此处设置的关键词时,系统会根据此处设置的封面参数回复一条单图文消息,用户点击图文消息可进入对应的功能页面'; 19 | } 20 | } 21 | return $tip; 22 | } 23 | } 24 | 25 | ?> -------------------------------------------------------------------------------- /App/Mp/Conf/config.php: -------------------------------------------------------------------------------- 1 | 'default', 5 | ); 6 | 7 | 8 | ?> -------------------------------------------------------------------------------- /App/Mp/View/default/Addons/preview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 13 | 14 | 15 | 16 |
    17 | 18 |
    19 |
    20 |
    21 | 用微信扫一扫预览 22 |
    23 | 27 | 28 | -------------------------------------------------------------------------------- /App/User/Conf/config.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/App/User/Conf/config.php -------------------------------------------------------------------------------- /App/User/View/default/Public/profile.html: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /App/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Data/notify.php: -------------------------------------------------------------------------------- 1 | 6 | */ 7 | ini_set('always_populate_raw_post_data',-1); 8 | $xml = file_get_contents('php://input'); 9 | 10 | $arr = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true); // 将xml格式的数据转换为array数组 11 | 12 | $attach = $arr['attach']; // 获取通知中包含的附加参数 13 | $params = json_decode($attach, true); // 将附加参数转换为数组 14 | 15 | if ($params['notify']) { 16 | $notify_url = $params['notify']; // 将通知转发到插件控制器中进行处理 17 | $ch = curl_init(); 18 | curl_setopt($ch, CURLOPT_URL, $notify_url); 19 | curl_setopt($ch, CURLOPT_POST, 1); 20 | curl_setopt($ch, CURLOPT_HEADER, 0); 21 | curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 22 | curl_setopt($ch, CURLOPT_POSTFIELDS, $arr); 23 | curl_setopt($ch, CURLOPT_TIMEOUT, 30); 24 | $return = curl_exec($ch); 25 | curl_close($ch); 26 | } 27 | 28 | 29 | ?> -------------------------------------------------------------------------------- /Data/product.info: -------------------------------------------------------------------------------- 1 | {"version":"4.0.5","upgrade_time":"2020-02-06"} 2 | -------------------------------------------------------------------------------- /Public/Admin/img/blue-2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/blue-2x.png -------------------------------------------------------------------------------- /Public/Admin/img/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/blue.png -------------------------------------------------------------------------------- /Public/Admin/img/cry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/cry.png -------------------------------------------------------------------------------- /Public/Admin/img/login_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/login_bg.jpg -------------------------------------------------------------------------------- /Public/Admin/img/login_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/login_logo.png -------------------------------------------------------------------------------- /Public/Admin/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/logo.png -------------------------------------------------------------------------------- /Public/Admin/img/noname.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/noname.jpg -------------------------------------------------------------------------------- /Public/Admin/img/nopic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/nopic.jpg -------------------------------------------------------------------------------- /Public/Admin/img/triangle_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/triangle_down.png -------------------------------------------------------------------------------- /Public/Admin/img/triangle_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/triangle_up.png -------------------------------------------------------------------------------- /Public/Admin/img/warmming.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Admin/img/warmming.png -------------------------------------------------------------------------------- /Public/Common/font/iconfont-full.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/font/iconfont-full.ttf -------------------------------------------------------------------------------- /Public/Common/font/iconfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/font/iconfont.ttf -------------------------------------------------------------------------------- /Public/Common/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /Public/Common/fonts/README.md: -------------------------------------------------------------------------------- 1 | 资源文件目录 -------------------------------------------------------------------------------- /Public/Common/fonts/captcha.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/captcha.ttf -------------------------------------------------------------------------------- /Public/Common/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /Public/Common/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /Public/Common/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /Public/Common/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /Public/Common/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /Public/Common/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /Public/Common/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /Public/Common/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /Public/Common/fonts/icomoon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/icomoon.eot -------------------------------------------------------------------------------- /Public/Common/fonts/icomoon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/icomoon.ttf -------------------------------------------------------------------------------- /Public/Common/fonts/icomoon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/fonts/icomoon.woff -------------------------------------------------------------------------------- /Public/Common/img/loading_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/img/loading_sprite.png -------------------------------------------------------------------------------- /Public/Common/img/loading_sprite_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/img/loading_sprite_white.png -------------------------------------------------------------------------------- /Public/Common/img/nopic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/img/nopic.jpg -------------------------------------------------------------------------------- /Public/Common/img/vip/icon_qqlevel_sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/img/vip/icon_qqlevel_sprite.png -------------------------------------------------------------------------------- /Public/Common/img/vip/icon_vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Common/img/vip/icon_vip.png -------------------------------------------------------------------------------- /Public/Common/js/npm.js: -------------------------------------------------------------------------------- 1 | // This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment. 2 | require('../../js/transition.js') 3 | require('../../js/alert.js') 4 | require('../../js/button.js') 5 | require('../../js/carousel.js') 6 | require('../../js/collapse.js') 7 | require('../../js/dropdown.js') 8 | require('../../js/modal.js') 9 | require('../../js/tooltip.js') 10 | require('../../js/popover.js') 11 | require('../../js/scrollspy.js') 12 | require('../../js/tab.js') 13 | require('../../js/affix.js') -------------------------------------------------------------------------------- /Public/Home/default/css/style.css: -------------------------------------------------------------------------------- 1 | .navbar{ 2 | min-height: 60px; 3 | } 4 | .navbar-inverse { 5 | background-color: #2c3e50; 6 | border-color: #202d3b; 7 | } 8 | .navbar-inverse .navbar-brand { 9 | color: #fff; 10 | } 11 | .navbar-inverse .navbar-nav>li>a { 12 | color: #fff; 13 | } 14 | .navbar-nav>li>a { 15 | padding-top: 19.5px; 16 | padding-bottom: 19.5px; 17 | font-size: 18px; 18 | } 19 | .navbar-inverse .navbar-brand { 20 | float: left; 21 | padding: 19.5px 15px; 22 | font-size: 24px; 23 | line-height: 21px; 24 | 25 | background: url("../img/logo-white.png") no-repeat scroll 0 0 transparent; 26 | line-height: 600px; 27 | overflow: hidden; 28 | position: relative; 29 | top: 8px; 30 | width: 120px; 31 | margin-right: 20px; 32 | } -------------------------------------------------------------------------------- /Public/Home/default/img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Home/default/img/1.png -------------------------------------------------------------------------------- /Public/Home/default/img/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Home/default/img/2.png -------------------------------------------------------------------------------- /Public/Home/default/img/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Home/default/img/3.png -------------------------------------------------------------------------------- /Public/Home/default/img/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Home/default/img/4.png -------------------------------------------------------------------------------- /Public/Home/default/img/logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Home/default/img/logo-white.png -------------------------------------------------------------------------------- /Public/Install/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Install/img/logo.png -------------------------------------------------------------------------------- /Public/Mp/img/app/home-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/home-bg.jpg -------------------------------------------------------------------------------- /Public/Mp/img/app/iphone_head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/iphone_head.png -------------------------------------------------------------------------------- /Public/Mp/img/app/nav5back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/nav5back.png -------------------------------------------------------------------------------- /Public/Mp/img/app/shopNavCart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/shopNavCart.png -------------------------------------------------------------------------------- /Public/Mp/img/app/shopNavPath.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/shopNavPath.png -------------------------------------------------------------------------------- /Public/Mp/img/app/shopNavSides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/shopNavSides.png -------------------------------------------------------------------------------- /Public/Mp/img/app/shopNavWx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/shopNavWx.png -------------------------------------------------------------------------------- /Public/Mp/img/app/showcase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/showcase.png -------------------------------------------------------------------------------- /Public/Mp/img/app/slider-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/slider-bar.png -------------------------------------------------------------------------------- /Public/Mp/img/app/sprite_v5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/sprite_v5.png -------------------------------------------------------------------------------- /Public/Mp/img/app/titlebar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/app/titlebar.png -------------------------------------------------------------------------------- /Public/Mp/img/nopic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Mp/img/nopic.jpg -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/.gitignore: -------------------------------------------------------------------------------- 1 | # PHP Storm 2 | .idea 3 | *.iml 4 | atlassian-ide-plugin.xml 5 | yuicompressor-* 6 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/.npmignore: -------------------------------------------------------------------------------- 1 | # PHP Storm 2 | .idea 3 | *.iml 4 | atlassian-ide-plugin.xml 5 | yuicompressor-* 6 | build 7 | less 8 | sample* 9 | screenshot 10 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | before_script: 3 | - cd ./tests 4 | - echo "new Date().toString();" | phantomjs 5 | script: phantomjs run-qunit.js tests.html 6 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "smalot-bootstrap-datetimepicker", 3 | "main": ["js/bootstrap-datetimepicker.min.js", "css/bootstrap-datetimepicker.min.css"], 4 | "ignore": [ 5 | "build", 6 | "sample in bootstrap v2", 7 | "sample in bootstrap v3", 8 | "screenshot", 9 | "tests", 10 | ".gitattributes", 11 | ".gitignore", 12 | ".travis.yml", 13 | "minify.sh" 14 | ] 15 | } 16 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ar.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Arabic translation for bootstrap-datetimepicker 3 | * Ala' Mohammad 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ar'] = { 7 | days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], 8 | daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], 9 | daysMin: ["أح", "إث", "ث", "أر", "خ", "ج", "س", "أح"], 10 | months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 11 | monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], 12 | today: "هذا اليوم", 13 | suffix: [], 14 | meridiem: [], 15 | rtl: true 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.az.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Azerbaijani translation for bootstrap-datetimepicker 3 | * Konstantin Kaluzhnikov 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['az'] = { 7 | days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə", "Bazar"], 8 | daysShort: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"], 9 | daysMin: ["B", "Be", "Ça", "Ç", "Ca", "C", "Ş", "B"], 10 | months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], 11 | monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], 12 | today: "Bugün", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bg.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bulgarian translation for bootstrap-datetimepicker 3 | * Apostol Apostolov 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['bg'] = { 7 | days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота", "Неделя"], 8 | daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб", "Нед"], 9 | daysMin: ["Н", "П", "В", "С", "Ч", "П", "С", "Н"], 10 | months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], 11 | monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], 12 | today: "днес", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.bn.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bangla(Bangladesh) translation for bootstrap-datetimepicker 3 | * Mahbub Rabbani 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['bn'] = { 7 | days: ["রবিবার", "সোমবার", "মঙ্গলবার", "বুধবার", "বৃহষ্পতিবার", "শুক্রবার", "শনিবার", "রবিবার"], 8 | daysShort: ["রবি", "সোম", "মঙ্গল", "বুধ", " বৃহঃ", "শুক্র", "শনি", "রবি"], 9 | daysMin: ["রবি", "সোম", "মঙ্গ", "বুধ", "বৃহ", "শুক্র", "শনি", "রবি"], 10 | months: ['জানুয়ারী', 'ফেব্রুয়ারী', 'মার্চ', 'এপ্রিল', 'মে', 'জুন', 'জুলাই', 'অগাস্ট', 'সেপ্টেম্বর', 'অক্টোবর', 'নভেম্বর', 'ডিসেম্বর' ], 11 | monthsShort: ['জানু', 'ফেব্রু', 'মার্চ', 'এপ্রি', 'মে', 'জুন', 'জুলা', 'অগা', 'সেপ্টে', 'অক্টো', 'নভে', 'ডিসে' ], 12 | today: "আজ", 13 | suffix: [], 14 | meridiem: ['পূর্বাহ্ণ', 'অপরাহ্ন'] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ca.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Catalan translation for bootstrap-datetimepicker 3 | * J. Garcia 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ca'] = { 7 | days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte", "Diumenge"], 8 | daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis", "Diu"], 9 | daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds", "dg"], 10 | months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], 12 | today: "Avui", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.cs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Czech translation for bootstrap-datetimepicker 3 | * Matěj Koubík 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['cs'] = { 8 | days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], 9 | daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], 11 | months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], 12 | monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], 13 | today: "Dnes", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1, 17 | format: "dd.mm.yyyy" 18 | }; 19 | }(jQuery)); 20 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.da.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Danish translation for bootstrap-datetimepicker 3 | * Christian Pedersen 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['da'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.de.js: -------------------------------------------------------------------------------- 1 | /** 2 | * German translation for bootstrap-datetimepicker 3 | * Sam Zurcher 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['de'] = { 7 | days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"], 8 | daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], 9 | daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 10 | months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], 11 | monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], 12 | today: "Heute", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd.mm.yyyy" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ee.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Estonian translation for bootstrap-datetimepicker 3 | * Rene Korss 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ee'] = { 7 | days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev", "Pühapäev"], 8 | daysShort: ["P", "E", "T", "K", "N", "R", "L", "P"], 9 | daysMin: ["P", "E", "T", "K", "N", "R", "L", "P"], 10 | months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], 11 | monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], 12 | today: "Täna", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd.mm.yyyy hh:ii" 17 | }; 18 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.el.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Greek translation for bootstrap-datetimepicker 3 | */ 4 | ;(function($){ 5 | $.fn.datetimepicker.dates['el'] = { 6 | days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο", "Κυριακή"], 7 | daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ", "Κυρ"], 8 | daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα", "Κυ"], 9 | months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], 10 | monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], 11 | today: "Σήμερα", 12 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.es.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Spanish translation for bootstrap-datetimepicker 3 | * Bruno Bonamin 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['es'] = { 7 | days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 10 | months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], 11 | monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], 12 | today: "Hoy", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Finnish translation for bootstrap-datetimepicker 3 | * Jaakko Salonen 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['fi'] = { 7 | days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], 8 | daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], 9 | daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], 10 | months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], 11 | monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], 12 | today: "tänään", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.fr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * French translation for bootstrap-datetimepicker 3 | * Nico Mollet 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['fr'] = { 7 | days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi", "Dimanche"], 8 | daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], 9 | daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], 10 | months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], 11 | monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Aujourd'hui", 13 | suffix: [], 14 | meridiem: ["am", "pm"], 15 | weekStart: 1, 16 | format: "dd/mm/yyyy hh:ii" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.he.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hebrew translation for bootstrap-datetimepicker 3 | * Sagie Maoz 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['he'] = { 7 | days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], 8 | daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 9 | daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], 10 | months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], 11 | monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], 12 | today: "היום", 13 | suffix: [], 14 | meridiem: [], 15 | rtl: true 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Croatian localisation 3 | */ 4 | ;(function($){ 5 | $.fn.datetimepicker.dates['hr'] = { 6 | days: ["Nedjelja", "Ponedjelja", "Utorak", "Srijeda", "Četrtak", "Petak", "Subota", "Nedjelja"], 7 | daysShort: ["Ned", "Pon", "Uto", "Srr", "Čet", "Pet", "Sub", "Ned"], 8 | daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su", "Ne"], 9 | months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], 10 | monthsShort: ["Sije", "Velj", "Ožu", "Tra", "Svi", "Lip", "Jul", "Kol", "Ruj", "Lis", "Stu", "Pro"], 11 | today: "Danas", 12 | suffix: [], 13 | meridiem: [] 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hu.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Hungarian translation for bootstrap-datetimepicker 3 | * darevish 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['hu'] = { 7 | days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat", "Vasárnap"], 8 | daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo", "Vas"], 9 | daysMin: ["V", "H", "K", "Sze", "Cs", "P", "Szo", "V"], 10 | months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], 12 | today: "Ma", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.hy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Armenian translation for bootstrap-datepicker 3 | * Hayk Chamyan 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['hy'] = { 7 | days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ", "Կիրակի"], 8 | daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ", "Կիր"], 9 | daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա", "Կի"], 10 | months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"], 11 | monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"], 12 | today: "Այսօր", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.id.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Bahasa translation for bootstrap-datetimepicker 3 | * Azwar Akbar 4 | * Addtional by Yulian Sutopo 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['id'] = { 8 | days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], 9 | daysShort: ["Mng", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mng"], 10 | daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], 11 | months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], 13 | today: "Hari Ini", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1, 17 | format: "dd/mm/yyyy hh:ii:ss" 18 | }; 19 | }(jQuery)); 20 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.is.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Icelandic translation for bootstrap-datetimepicker 3 | * Hinrik Örn Sigurðsson 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['is'] = { 7 | days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur", "Sunnudagur"], 8 | daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], 9 | daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 10 | months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], 12 | today: "Í Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.it.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Italian translation for bootstrap-datetimepicker 3 | * Enrico Rubboli 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['it'] = { 7 | days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"], 8 | daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], 9 | daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], 10 | months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], 11 | monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], 12 | today: "Oggi", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1, 16 | format: "dd/mm/yyyy hh:ii:ss" 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ja.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Japanese translation for bootstrap-datetimepicker 3 | * Norio Suzuki 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ja'] = { 7 | days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜", "日曜"], 8 | daysShort: ["日", "月", "火", "水", "木", "金", "土", "日"], 9 | daysMin: ["日", "月", "火", "水", "木", "金", "土", "日"], 10 | months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 11 | monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], 12 | today: "今日", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ka.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Georgian translation for bootstrap-datetimepicker 3 | * Zura Jijavadze 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ka'] = { 7 | days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი", "კვირა"], 8 | daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ", "კვი"], 9 | daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა", "კვ"], 10 | months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომბერი", "ნოემბერი", "დეკემბერი"], 11 | monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], 12 | today: "დღეს", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ko.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Korean translation for bootstrap-datetimepicker 3 | * Gu Youn 4 | * Baekjoon Choi 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['ko'] = { 8 | days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일", "일요일"], 9 | daysShort: ["일", "월", "화", "수", "목", "금", "토", "일"], 10 | daysMin: ["일", "월", "화", "수", "목", "금", "토", "일"], 11 | months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 12 | monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], 13 | suffix: [], 14 | meridiem: ["오전", "오후"], 15 | today: "오늘", 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Lithuanian translation for bootstrap-datetimepicker 3 | * Šarūnas Gliebus 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['lt'] = { 8 | days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], 9 | daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], 10 | daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], 11 | months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], 12 | monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], 13 | today: "Šiandien", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1 17 | }; 18 | }(jQuery)); 19 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.lv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Latvian translation for bootstrap-datetimepicker 3 | * Artis Avotins 4 | */ 5 | 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['lv'] = { 8 | days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena", "Svētdiena"], 9 | daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], 10 | daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"], 11 | months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec."], 13 | today: "Šodien", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1 17 | }; 18 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ms.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Malay translation for bootstrap-datetimepicker 3 | * Ateman Faiz 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ms'] = { 7 | days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu", "Ahad"], 8 | daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], 9 | daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], 10 | months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], 12 | today: "Hari Ini", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian (bokmål) translation for bootstrap-datetimepicker 3 | * Fredrik Sundmyhr 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['nb'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.nl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Dutch translation for bootstrap-datetimepicker 3 | * Reinier Goltstein 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['nl'] = { 7 | days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], 8 | daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 9 | daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], 10 | months: ["Januari", "Februari", "Maart", "April", "Mei", "Juni", "Juli", "Augustus", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mrt", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Vandaag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.no.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Norwegian translation for bootstrap-datetimepicker 3 | * Rune Warhuus 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['no'] = { 7 | days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], 8 | daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], 9 | daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], 10 | months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Polish translation for bootstrap-datetimepicker 3 | * Robert 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['pl'] = { 7 | days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], 8 | daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], 9 | daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], 10 | months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], 11 | monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], 12 | today: "Dzisiaj", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt-BR.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Brazilian translation for bootstrap-datetimepicker 3 | * Cauan Cabral 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['pt-BR'] = { 7 | format: 'dd/mm/yyyy', 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | today: "Hoje", 14 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.pt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Portuguese translation for bootstrap-datetimepicker 3 | * Original code: Cauan Cabral 4 | * Tiago Melo 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['pt'] = { 8 | days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], 9 | daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], 10 | daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], 11 | months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], 12 | monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], 13 | suffix: [], 14 | meridiem: ["am","pm"], 15 | today: "Hoje" 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ro.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Romanian translation for bootstrap-datetimepicker 3 | * Cristian Vasile 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ro'] = { 7 | days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă", "Duminică"], 8 | daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm", "Dum"], 9 | daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ", "Du"], 10 | months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], 11 | monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], 12 | today: "Astăzi", 13 | suffix: [], 14 | meridiem: [], 15 | weekStart: 1 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs-latin.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian latin translation for bootstrap-datetimepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['rs'] = { 7 | days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub", "Ned"], 9 | daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su", "N"], 10 | months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danas", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.rs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Serbian cyrillic translation for bootstrap-datetimepicker 3 | * Bojan Milosavlević 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['rs'] = { 7 | days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота", "Недеља"], 8 | daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб", "Нед"], 9 | daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су", "Н"], 10 | months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], 11 | monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], 12 | today: "Данас", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ru.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Russian translation for bootstrap-datetimepicker 3 | * Victor Taranenko 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ru'] = { 7 | days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], 8 | daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], 9 | daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], 10 | months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], 11 | monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], 12 | today: "Сегодня", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovak translation for bootstrap-datetimepicker 3 | * Marek Lichtner 4 | * Fixes by Michal Remiš 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates["sk"] = { 8 | days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota", "Nedeľa"], 9 | daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob", "Ned"], 10 | daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pi", "So", "Ne"], 11 | months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], 12 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], 13 | today: "Dnes", 14 | suffix: [], 15 | meridiem: [], 16 | weekStart: 1, 17 | format: "dd.mm.yyyy" 18 | }; 19 | }(jQuery)); 20 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Slovene translation for bootstrap-datetimepicker 3 | * Gregor Rudolf 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['sl'] = { 7 | days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota", "Nedelja"], 8 | daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], 9 | daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], 10 | months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], 12 | today: "Danes", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sv.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swedish translation for bootstrap-datetimepicker 3 | * Patrik Ragnarsson 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['sv'] = { 7 | days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag", "Söndag"], 8 | daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], 9 | daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 10 | months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], 11 | monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], 12 | today: "I Dag", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.sw.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Swahili translation for bootstrap-datetimepicker 3 | * Edwin Mugendi 4 | * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku 5 | */ 6 | ;(function($){ 7 | $.fn.datetimepicker.dates['sw'] = { 8 | days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi", "Jumapili"], 9 | daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1", "J2"], 10 | daysMin: ["2", "3", "4", "5", "A", "I", "1", "2"], 11 | months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], 12 | monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], 13 | today: "Leo", 14 | suffix: [], 15 | meridiem: [] 16 | }; 17 | }(jQuery)); 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.th.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Thai translation for bootstrap-datetimepicker 3 | * Suchau Jiraprapot 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['th'] = { 7 | days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], 8 | daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 9 | daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], 10 | months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], 11 | monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], 12 | today: "วันนี้", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.tr.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Turkish translation for bootstrap-datetimepicker 3 | * Serkan Algur 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['tr'] = { 7 | days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi", "Pazar"], 8 | daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], 9 | daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 10 | months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], 11 | monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], 12 | today: "Bugün", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); 17 | 18 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.ua.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datepicker 3 | * Igor Polynets 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['ua'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четверг", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Квт", "Трв", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Грд"], 12 | today: "Сьогодні", 13 | weekStart: 1 14 | }; 15 | }(jQuery)); 16 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.uk.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Ukrainian translation for bootstrap-datetimepicker 3 | * Andrey Vityuk 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['uk'] = { 7 | days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота", "Неділя"], 8 | daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Нед"], 9 | daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Нд"], 10 | months: ["Січень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], 11 | monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], 12 | today: "Сьогодні", 13 | suffix: [], 14 | meridiem: [] 15 | }; 16 | }(jQuery)); -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-CN.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Simplified Chinese translation for bootstrap-datetimepicker 3 | * Yuan Cheung 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-CN'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今天", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/js/locales/bootstrap-datetimepicker.zh-TW.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Traditional Chinese translation for bootstrap-datetimepicker 3 | * Rung-Sheng Jang 4 | */ 5 | ;(function($){ 6 | $.fn.datetimepicker.dates['zh-TW'] = { 7 | days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], 8 | daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], 9 | daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], 10 | months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 11 | monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], 12 | today: "今天", 13 | suffix: [], 14 | meridiem: ["上午", "下午"] 15 | }; 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/minify.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # You can download yuicompressor here https://github.com/yui/yuicompressor/releases/tag/v2.4.8 4 | # Using WGET: $ wget https://github.com/yui/yuicompressor/releases/download/v2.4.8/yuicompressor-2.4.8.jar 5 | # 6 | # Put the JAR file into root of this project! 7 | # Make this script executable and then run: ./minify.sh 8 | 9 | java -jar yuicompressor-2.4.8.jar css/bootstrap-datetimepicker.css > css/bootstrap-datetimepicker.min.css 10 | java -jar yuicompressor-2.4.8.jar js/bootstrap-datetimepicker.js > js/bootstrap-datetimepicker.min.js 11 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "bootstrap-datetime-picker", 3 | "homepage": "http://www.malot.fr/bootstrap-datetimepicker/", 4 | "description": "Both Date and Time picker widget based on twitter bootstrap", 5 | "version": "2.3.11", 6 | "license": "Apache 2.0", 7 | "author": { 8 | "name": "Sebastien Malot" 9 | }, 10 | "maintainers": [{ 11 | "name": "Sebastien Malot" 12 | },{ 13 | "name": "Christian Vaas", 14 | "email": "christianvaas@auspex.eu" 15 | } 16 | ], 17 | "keywords": [ 18 | "bootstrap", "datetime", "picker" 19 | ], 20 | "repository": { 21 | "type": "git", 22 | "url": "git://github.com/smalot/bootstrap-datetimepicker.git" 23 | }, 24 | "bugs": { 25 | "url": "https://github.com/smalot/bootstrap-datetimepicker" 26 | }, 27 | "main": "./js/bootstrap-datetimepicker.js" 28 | } 29 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v2/bootstrap/img/glyphicons-halflings-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v2/bootstrap/img/glyphicons-halflings-white.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v2/bootstrap/img/glyphicons-halflings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v2/bootstrap/img/glyphicons-halflings.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v3/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v3/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v3/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v3/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v3/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/sample in bootstrap v3/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_day.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_day_meridian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_day_meridian.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_decade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_decade.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_full.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_hour.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_hour.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_hour_meridian.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_hour_meridian.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_month.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/screenshot/standard_year.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/bootstrap-datetimepicker/screenshot/standard_year.png -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/_coverage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 19 | 20 | 21 | 22 | COLORIZED_LINE_HTML 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/assets/mock.js: -------------------------------------------------------------------------------- 1 | ;(function(){ 2 | 3 | window.patch_date = function patch(f){ 4 | var NativeDate = window.Date; 5 | var date = function date(y,m,d,h,i,s,j){ 6 | switch(arguments.length){ 7 | case 0: return date.now ? new NativeDate(date.now) : new NativeDate(); 8 | case 1: return new NativeDate(y); 9 | case 2: return new NativeDate(y,m); 10 | case 3: return new NativeDate(y,m,d); 11 | case 4: return new NativeDate(y,m,d,h); 12 | case 5: return new NativeDate(y,m,d,h,i); 13 | case 6: return new NativeDate(y,m,d,h,i,s); 14 | case 7: return new NativeDate(y,m,d,h,i,s,j); 15 | } 16 | }; 17 | date.UTC = NativeDate.UTC; 18 | return function(){ 19 | Array.prototype.push.call(arguments, date); 20 | window.Date = date; 21 | res = f.apply(this, arguments); 22 | window.Date = NativeDate; 23 | } 24 | } 25 | 26 | }()); 27 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/assets/qunit-logging.js: -------------------------------------------------------------------------------- 1 | // Dummy logging calls (ie, if tests are run in IE) 2 | window.console = window.console || {}; 3 | window.console.log = window.console.log || function(){}; 4 | window.console.debug = window.console.debug || function(){}; 5 | window.console.info = window.console.info || function(){}; 6 | window.console.warn = window.console.warn || function(){}; 7 | window.console.error = window.console.error || function(){}; 8 | 9 | (function() { 10 | var modName, testName; 11 | 12 | //arg: { name } 13 | QUnit.testStart = function(t) { 14 | modName = t.module; 15 | testName = t.name; 16 | }; 17 | 18 | //arg: { name, failed, passed, total } 19 | QUnit.testDone = function(t) { 20 | if (t.failed) 21 | console.log('Test "' + t.module + ': ' + t.name + '" completed: ' + (0 === t.failed ? 'pass' : 'FAIL') + '\n') 22 | }; 23 | 24 | //{ result, actual, expected, message } 25 | QUnit.log = function(t) { 26 | if (!t.result) 27 | console.log('Test "' + modName + ': ' + testName + '" assertion failed. Expected <' + t.expected + '> Actual <' + t.actual + '>' + (t.message ? ': \'' + t.message + '\'' : '')); 28 | }; 29 | }()); 30 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/assets/utils.js: -------------------------------------------------------------------------------- 1 | function UTCDate(){ 2 | return new Date(Date.UTC.apply(Date, arguments)); 3 | } 4 | 5 | 6 | function format_date(date){ 7 | var y = date.getUTCFullYear(), 8 | m = date.getUTCMonth() + 1, 9 | d = date.getUTCDate(), 10 | h = date.getUTCHours(), 11 | i = date.getUTCMinutes(), 12 | s = date.getUTCSeconds(), 13 | l = date.getUTCMilliseconds(); 14 | function z(i){return (i <= 9 ? '0'+i : i);} 15 | return y+'-'+z(m)+'-'+z(d)+' '+z(h)+':'+z(i)+':'+z(s)+'.'+z(l); 16 | } 17 | 18 | 19 | function datesEqual(actual, expected, message){ 20 | QUnit.push(QUnit.equiv(actual, expected), format_date(actual), format_date(expected), message); 21 | } 22 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/suites/inline.js: -------------------------------------------------------------------------------- 1 | module('Inline', { 2 | setup: function(){ 3 | this.component = $('
    ') 4 | .appendTo('#qunit-fixture') 5 | .datetimepicker({format: "dd-mm-yyyy"}); 6 | this.dp = this.component.data('datetimepicker') 7 | this.picker = this.dp.picker; 8 | }, 9 | teardown: function(){ 10 | this.picker.remove(); 11 | } 12 | }); 13 | 14 | 15 | test('Picker gets date/viewDate from data-date attr', function(){ 16 | datesEqual(this.dp.date, UTCDate(2012, 1, 12)); 17 | datesEqual(this.dp.viewDate, UTCDate(2012, 1, 12)); 18 | }); 19 | 20 | 21 | test('Visible after init', function(){ 22 | ok(this.picker.is(':visible')); 23 | }); 24 | 25 | test('update', function(){ 26 | this.dp.update('13-03-2012') 27 | datesEqual(this.dp.date, UTCDate(2012, 2, 13)); 28 | }); 29 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/suites/keyboard_navigation/all.js: -------------------------------------------------------------------------------- 1 | module('Keyboard Navigation (All)', { 2 | setup: function(){ 3 | this.input = $('') 4 | .appendTo('#qunit-fixture') 5 | .datetimepicker({format: "dd-mm-yyyy"}) 6 | .focus(); // Activate for visibility checks 7 | this.dp = this.input.data('datetimepicker') 8 | this.picker = this.dp.picker; 9 | }, 10 | teardown: function(){ 11 | this.picker.remove(); 12 | } 13 | }); 14 | 15 | test('TAB hides picker', function(){ 16 | var target; 17 | 18 | ok(this.picker.is(':visible'), 'Picker is visible'); 19 | 20 | this.input.trigger({ 21 | type: 'keydown', 22 | keyCode: 9 23 | }); 24 | 25 | ok(this.picker.is(':not(:visible)'), 'Picker is hidden'); 26 | }); 27 | -------------------------------------------------------------------------------- /Public/Plugins/bootstrap-datetimepicker/tests/suites/mouse_navigation/all.js: -------------------------------------------------------------------------------- 1 | module('Mouse Navigation (All)', { 2 | setup: function(){ 3 | this.input = $('') 4 | .appendTo('#qunit-fixture') 5 | .datetimepicker({format: "dd-mm-yyyy"}) 6 | .focus(); // Activate for visibility checks 7 | this.dp = this.input.data('datetimepicker') 8 | this.picker = this.dp.picker; 9 | }, 10 | teardown: function(){ 11 | this.picker.remove(); 12 | } 13 | }); 14 | 15 | test('Clicking datetimepicker does not hide datetimepicker', function(){ 16 | ok(this.picker.is(':visible'), 'Picker is visible'); 17 | this.picker.trigger('mousedown'); 18 | ok(this.picker.is(':visible'), 'Picker is still visible'); 19 | }); 20 | 21 | test('Clicking outside datetimepicker hides datetimepicker', function(){ 22 | var $otherelement = $('
    '); 23 | $('body').append($otherelement); 24 | 25 | ok(this.picker.is(':visible'), 'Picker is visible'); 26 | this.input.trigger('click'); 27 | ok(this.picker.is(':visible'), 'Picker is still visible'); 28 | 29 | $otherelement.trigger('mousedown'); 30 | ok(this.picker.is(':not(:visible)'), 'Picker is hidden'); 31 | 32 | $otherelement.remove(); 33 | }); 34 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/editormd-logo.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/editormd-logo.eot -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/editormd-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/editormd-logo.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/editormd-logo.ttf -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/editormd-logo.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/editormd-logo.woff -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /Public/Plugins/editormd/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /Public/Plugins/editormd/images/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/editormd/images/loading.gif -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2014 by Marijn Haverbeke and others 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/README.md: -------------------------------------------------------------------------------- 1 | # CodeMirror 2 | [![Build Status](https://travis-ci.org/codemirror/CodeMirror.svg)](https://travis-ci.org/codemirror/CodeMirror) 3 | [![NPM version](https://img.shields.io/npm/v/codemirror.svg)](https://www.npmjs.org/package/codemirror) 4 | [Funding status: ![maintainer happiness](https://marijnhaverbeke.nl/fund/status_s.png)](https://marijnhaverbeke.nl/fund/) 5 | 6 | CodeMirror is a JavaScript component that provides a code editor in 7 | the browser. When a mode is available for the language you are coding 8 | in, it will color your code, and optionally help with indentation. 9 | 10 | The project page is http://codemirror.net 11 | The manual is at http://codemirror.net/doc/manual.html 12 | The contributing guidelines are in [CONTRIBUTING.md](https://github.com/codemirror/CodeMirror/blob/master/CONTRIBUTING.md) 13 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/dialog/dialog.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-dialog { 2 | position: absolute; 3 | left: 0; right: 0; 4 | background: white; 5 | z-index: 15; 6 | padding: .1em .8em; 7 | overflow: hidden; 8 | color: #333; 9 | } 10 | 11 | .CodeMirror-dialog-top { 12 | border-bottom: 1px solid #eee; 13 | top: 0; 14 | } 15 | 16 | .CodeMirror-dialog-bottom { 17 | border-top: 1px solid #eee; 18 | bottom: 0; 19 | } 20 | 21 | .CodeMirror-dialog input { 22 | border: none; 23 | outline: none; 24 | background: transparent; 25 | width: 20em; 26 | color: inherit; 27 | font-family: monospace; 28 | } 29 | 30 | .CodeMirror-dialog button { 31 | font-size: 70%; 32 | } 33 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/display/fullscreen.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-fullscreen { 2 | position: fixed; 3 | top: 0; left: 0; right: 0; bottom: 0; 4 | height: auto; 5 | z-index: 9; 6 | } 7 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/edit/trailingspace.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) { 13 | if (prev == CodeMirror.Init) prev = false; 14 | if (prev && !val) 15 | cm.removeOverlay("trailingspace"); 16 | else if (!prev && val) 17 | cm.addOverlay({ 18 | token: function(stream) { 19 | for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {} 20 | if (i > stream.pos) { stream.pos = i; return null; } 21 | stream.pos = l; 22 | return "trailingspace"; 23 | }, 24 | name: "trailingspace" 25 | }); 26 | }); 27 | }); 28 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/fold/foldgutter.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-foldmarker { 2 | color: blue; 3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px; 4 | font-family: arial; 5 | line-height: .3; 6 | cursor: pointer; 7 | } 8 | .CodeMirror-foldgutter { 9 | width: .7em; 10 | } 11 | .CodeMirror-foldgutter-open, 12 | .CodeMirror-foldgutter-folded { 13 | cursor: pointer; 14 | } 15 | .CodeMirror-foldgutter-open:after { 16 | content: "\25BE"; 17 | } 18 | .CodeMirror-foldgutter-folded:after { 19 | content: "\25B8"; 20 | } 21 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/hint/show-hint.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-hints { 2 | position: absolute; 3 | z-index: 10; 4 | overflow: hidden; 5 | list-style: none; 6 | 7 | margin: 0; 8 | padding: 2px; 9 | 10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2); 12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2); 13 | border-radius: 3px; 14 | border: 1px solid silver; 15 | 16 | background: white; 17 | font-size: 90%; 18 | font-family: monospace; 19 | 20 | max-height: 20em; 21 | overflow-y: auto; 22 | } 23 | 24 | .CodeMirror-hint { 25 | margin: 0; 26 | padding: 0 4px; 27 | border-radius: 2px; 28 | max-width: 19em; 29 | overflow: hidden; 30 | white-space: pre; 31 | color: black; 32 | cursor: pointer; 33 | } 34 | 35 | li.CodeMirror-hint-active { 36 | background: #08f; 37 | color: white; 38 | } 39 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/lint/css-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on csslint.js from https://github.com/stubbornella/csslint 5 | 6 | // declare global: CSSLint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "css", function(text) { 19 | var found = []; 20 | if (!window.CSSLint) return found; 21 | var results = CSSLint.verify(text), messages = results.messages, message = null; 22 | for ( var i = 0; i < messages.length; i++) { 23 | message = messages[i]; 24 | var startLine = message.line -1, endLine = message.line -1, startCol = message.col -1, endCol = message.col; 25 | found.push({ 26 | from: CodeMirror.Pos(startLine, startCol), 27 | to: CodeMirror.Pos(endLine, endCol), 28 | message: message.message, 29 | severity : message.type 30 | }); 31 | } 32 | return found; 33 | }); 34 | 35 | }); 36 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/lint/json-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // Depends on jsonlint.js from https://github.com/zaach/jsonlint 5 | 6 | // declare global: jsonlint 7 | 8 | (function(mod) { 9 | if (typeof exports == "object" && typeof module == "object") // CommonJS 10 | mod(require("../../lib/codemirror")); 11 | else if (typeof define == "function" && define.amd) // AMD 12 | define(["../../lib/codemirror"], mod); 13 | else // Plain browser env 14 | mod(CodeMirror); 15 | })(function(CodeMirror) { 16 | "use strict"; 17 | 18 | CodeMirror.registerHelper("lint", "json", function(text) { 19 | var found = []; 20 | jsonlint.parseError = function(str, hash) { 21 | var loc = hash.loc; 22 | found.push({from: CodeMirror.Pos(loc.first_line - 1, loc.first_column), 23 | to: CodeMirror.Pos(loc.last_line - 1, loc.last_column), 24 | message: str}); 25 | }; 26 | try { jsonlint.parse(text); } 27 | catch(e) {} 28 | return found; 29 | }); 30 | 31 | }); 32 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/lint/yaml-lint.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | // Depends on js-yaml.js from https://github.com/nodeca/js-yaml 15 | 16 | // declare global: jsyaml 17 | 18 | CodeMirror.registerHelper("lint", "yaml", function(text) { 19 | var found = []; 20 | try { jsyaml.load(text); } 21 | catch(e) { 22 | var loc = e.mark; 23 | found.push({ from: CodeMirror.Pos(loc.line, loc.column), to: CodeMirror.Pos(loc.line, loc.column), message: e.message }); 24 | } 25 | return found; 26 | }); 27 | 28 | }); 29 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/mode/multiplex_test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | CodeMirror.defineMode("markdown_with_stex", function(){ 6 | var inner = CodeMirror.getMode({}, "stex"); 7 | var outer = CodeMirror.getMode({}, "markdown"); 8 | 9 | var innerOptions = { 10 | open: '$', 11 | close: '$', 12 | mode: inner, 13 | delimStyle: 'delim', 14 | innerStyle: 'inner' 15 | }; 16 | 17 | return CodeMirror.multiplexingMode(outer, innerOptions); 18 | }); 19 | 20 | var mode = CodeMirror.getMode({}, "markdown_with_stex"); 21 | 22 | function MT(name) { 23 | test.mode( 24 | name, 25 | mode, 26 | Array.prototype.slice.call(arguments, 1), 27 | 'multiplexing'); 28 | } 29 | 30 | MT( 31 | "stexInsideMarkdown", 32 | "[strong **Equation:**] [delim $][inner&tag \\pi][delim $]"); 33 | })(); 34 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/addon/search/matchesonscrollbar.css: -------------------------------------------------------------------------------- 1 | .CodeMirror-search-match { 2 | background: gold; 3 | border-top: 1px solid orange; 4 | border-bottom: 1px solid orange; 5 | -moz-box-sizing: border-box; 6 | box-sizing: border-box; 7 | opacity: .5; 8 | } 9 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror", 3 | "version":"5.0.0", 4 | "main": ["lib/codemirror.js", "lib/codemirror.css"], 5 | "ignore": [ 6 | "**/.*", 7 | "node_modules", 8 | "components", 9 | "bin", 10 | "demo", 11 | "doc", 12 | "test", 13 | "index.html", 14 | "package.json" 15 | ] 16 | } 17 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/mode/diff/diff.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function(mod) { 5 | if (typeof exports == "object" && typeof module == "object") // CommonJS 6 | mod(require("../../lib/codemirror")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | CodeMirror.defineMode("diff", function() { 15 | 16 | var TOKEN_NAMES = { 17 | '+': 'positive', 18 | '-': 'negative', 19 | '@': 'meta' 20 | }; 21 | 22 | return { 23 | token: function(stream) { 24 | var tw_pos = stream.string.search(/[\t ]+?$/); 25 | 26 | if (!stream.sol() || tw_pos === 0) { 27 | stream.skipToEnd(); 28 | return ("error " + ( 29 | TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, ''); 30 | } 31 | 32 | var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd(); 33 | 34 | if (tw_pos === -1) { 35 | stream.skipToEnd(); 36 | } else { 37 | stream.pos = tw_pos; 38 | } 39 | 40 | return token_name; 41 | } 42 | }; 43 | }); 44 | 45 | CodeMirror.defineMIME("text/x-diff", "diff"); 46 | 47 | }); 48 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/mode/ruby/test.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | (function() { 5 | var mode = CodeMirror.getMode({indentUnit: 2}, "ruby"); 6 | function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); } 7 | 8 | MT("divide_equal_operator", 9 | "[variable bar] [operator /=] [variable foo]"); 10 | 11 | MT("divide_equal_operator_no_spacing", 12 | "[variable foo][operator /=][number 42]"); 13 | 14 | })(); 15 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/mode/tiddlywiki/tiddlywiki.css: -------------------------------------------------------------------------------- 1 | span.cm-underlined { 2 | text-decoration: underline; 3 | } 4 | span.cm-strikethrough { 5 | text-decoration: line-through; 6 | } 7 | span.cm-brace { 8 | color: #170; 9 | font-weight: bold; 10 | } 11 | span.cm-table { 12 | color: blue; 13 | font-weight: bold; 14 | } 15 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/mode/tiki/tiki.css: -------------------------------------------------------------------------------- 1 | .cm-tw-syntaxerror { 2 | color: #FFF; 3 | background-color: #900; 4 | } 5 | 6 | .cm-tw-deleted { 7 | text-decoration: line-through; 8 | } 9 | 10 | .cm-tw-header5 { 11 | font-weight: bold; 12 | } 13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/ 14 | padding-left: 10px; 15 | } 16 | 17 | .cm-tw-box { 18 | border-top-width: 0px ! important; 19 | border-style: solid; 20 | border-width: 1px; 21 | border-color: inherit; 22 | } 23 | 24 | .cm-tw-underline { 25 | text-decoration: underline; 26 | } -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codemirror", 3 | "version":"5.0.0", 4 | "main": "lib/codemirror.js", 5 | "description": "In-browser code editing made bearable", 6 | "licenses": [{"type": "MIT", 7 | "url": "http://codemirror.net/LICENSE"}], 8 | "directories": {"lib": "./lib"}, 9 | "scripts": {"test": "node ./test/run.js"}, 10 | "devDependencies": {"node-static": "0.6.0", 11 | "phantomjs": "1.9.2-5", 12 | "blint": ">=0.1.1"}, 13 | "bugs": "http://github.com/codemirror/CodeMirror/issues", 14 | "keywords": ["JavaScript", "CodeMirror", "Editor"], 15 | "homepage": "http://codemirror.net", 16 | "maintainers":[{"name": "Marijn Haverbeke", 17 | "email": "marijnh@gmail.com", 18 | "web": "http://marijnhaverbeke.nl"}], 19 | "repository": {"type": "git", 20 | "url": "https://github.com/codemirror/CodeMirror.git"} 21 | } 22 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/theme/ambiance-mobile.css: -------------------------------------------------------------------------------- 1 | .cm-s-ambiance.CodeMirror { 2 | -webkit-box-shadow: none; 3 | -moz-box-shadow: none; 4 | box-shadow: none; 5 | } 6 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/theme/eclipse.css: -------------------------------------------------------------------------------- 1 | .cm-s-eclipse span.cm-meta {color: #FF1717;} 2 | .cm-s-eclipse span.cm-keyword { line-height: 1em; font-weight: bold; color: #7F0055; } 3 | .cm-s-eclipse span.cm-atom {color: #219;} 4 | .cm-s-eclipse span.cm-number {color: #164;} 5 | .cm-s-eclipse span.cm-def {color: #00f;} 6 | .cm-s-eclipse span.cm-variable {color: black;} 7 | .cm-s-eclipse span.cm-variable-2 {color: #0000C0;} 8 | .cm-s-eclipse span.cm-variable-3 {color: #0000C0;} 9 | .cm-s-eclipse span.cm-property {color: black;} 10 | .cm-s-eclipse span.cm-operator {color: black;} 11 | .cm-s-eclipse span.cm-comment {color: #3F7F5F;} 12 | .cm-s-eclipse span.cm-string {color: #2A00FF;} 13 | .cm-s-eclipse span.cm-string-2 {color: #f50;} 14 | .cm-s-eclipse span.cm-qualifier {color: #555;} 15 | .cm-s-eclipse span.cm-builtin {color: #30a;} 16 | .cm-s-eclipse span.cm-bracket {color: #cc7;} 17 | .cm-s-eclipse span.cm-tag {color: #170;} 18 | .cm-s-eclipse span.cm-attribute {color: #00c;} 19 | .cm-s-eclipse span.cm-link {color: #219;} 20 | .cm-s-eclipse span.cm-error {color: #f00;} 21 | 22 | .cm-s-eclipse .CodeMirror-activeline-background {background: #e8f2ff !important;} 23 | .cm-s-eclipse .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 24 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/theme/elegant.css: -------------------------------------------------------------------------------- 1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom {color: #762;} 2 | .cm-s-elegant span.cm-comment {color: #262; font-style: italic; line-height: 1em;} 3 | .cm-s-elegant span.cm-meta {color: #555; font-style: italic; line-height: 1em;} 4 | .cm-s-elegant span.cm-variable {color: black;} 5 | .cm-s-elegant span.cm-variable-2 {color: #b11;} 6 | .cm-s-elegant span.cm-qualifier {color: #555;} 7 | .cm-s-elegant span.cm-keyword {color: #730;} 8 | .cm-s-elegant span.cm-builtin {color: #30a;} 9 | .cm-s-elegant span.cm-link {color: #762;} 10 | .cm-s-elegant span.cm-error {background-color: #fdd;} 11 | 12 | .cm-s-elegant .CodeMirror-activeline-background {background: #e8f2ff !important;} 13 | .cm-s-elegant .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 14 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/theme/neat.css: -------------------------------------------------------------------------------- 1 | .cm-s-neat span.cm-comment { color: #a86; } 2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; } 3 | .cm-s-neat span.cm-string { color: #a22; } 4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; } 5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; } 6 | .cm-s-neat span.cm-variable { color: black; } 7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; } 8 | .cm-s-neat span.cm-meta {color: #555;} 9 | .cm-s-neat span.cm-link { color: #3a3; } 10 | 11 | .cm-s-neat .CodeMirror-activeline-background {background: #e8f2ff !important;} 12 | .cm-s-neat .CodeMirror-matchingbracket {outline:1px solid grey; color:black !important;} 13 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/codemirror/theme/neo.css: -------------------------------------------------------------------------------- 1 | /* neo theme for codemirror */ 2 | 3 | /* Color scheme */ 4 | 5 | .cm-s-neo.CodeMirror { 6 | background-color:#ffffff; 7 | color:#2e383c; 8 | line-height:1.4375; 9 | } 10 | .cm-s-neo .cm-comment {color:#75787b} 11 | .cm-s-neo .cm-keyword, .cm-s-neo .cm-property {color:#1d75b3} 12 | .cm-s-neo .cm-atom,.cm-s-neo .cm-number {color:#75438a} 13 | .cm-s-neo .cm-node,.cm-s-neo .cm-tag {color:#9c3328} 14 | .cm-s-neo .cm-string {color:#b35e14} 15 | .cm-s-neo .cm-variable,.cm-s-neo .cm-qualifier {color:#047d65} 16 | 17 | 18 | /* Editor styling */ 19 | 20 | .cm-s-neo pre { 21 | padding:0; 22 | } 23 | 24 | .cm-s-neo .CodeMirror-gutters { 25 | border:none; 26 | border-right:10px solid transparent; 27 | background-color:transparent; 28 | } 29 | 30 | .cm-s-neo .CodeMirror-linenumber { 31 | padding:0; 32 | color:#e0e2e5; 33 | } 34 | 35 | .cm-s-neo .CodeMirror-guttermarker { color: #1d75b3; } 36 | .cm-s-neo .CodeMirror-guttermarker-subtle { color: #e0e2e5; } 37 | 38 | .cm-s-neo div.CodeMirror-cursor { 39 | width: auto; 40 | border: 0; 41 | background: rgba(155,157,162,0.37); 42 | z-index: 1; 43 | } 44 | -------------------------------------------------------------------------------- /Public/Plugins/editormd/lib/jquery.flowchart.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery.flowchart.js v1.1.0 | jquery.flowchart.min.js | jQuery plugin for flowchart.js. | MIT License | By: Pandao | https://github.com/pandao/jquery.flowchart.js | 2015-03-09 */ 2 | (function(factory){if(typeof require==="function"&&typeof exports==="object"&&typeof module==="object"){module.exports=factory}else{if(typeof define==="function"){factory(jQuery,flowchart)}else{factory($,flowchart)}}}(function(jQuery,flowchart){(function($){$.fn.flowChart=function(options){options=options||{};var defaults={"x":0,"y":0,"line-width":2,"line-length":50,"text-margin":10,"font-size":14,"font-color":"black","line-color":"black","element-color":"black","fill":"white","yes-text":"yes","no-text":"no","arrow-end":"block","symbols":{"start":{"font-color":"black","element-color":"black","fill":"white"},"end":{"class":"end-element"}},"flowstate":{"past":{"fill":"#CCCCCC","font-size":12},"current":{"fill":"black","font-color":"white","font-weight":"bold"},"future":{"fill":"white"},"request":{"fill":"blue"},"invalid":{"fill":"#444444"},"approved":{"fill":"#58C4A3","font-size":12,"yes-text":"APPROVED","no-text":"n/a"},"rejected":{"fill":"#C45879","font-size":12,"yes-text":"n/a","no-text":"REJECTED"}}};return this.each(function(){var $this=$(this);var diagram=flowchart.parse($this.text());var settings=$.extend(true,defaults,options);$this.html("");diagram.drawSVG(this,settings)})}})(jQuery)})); -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/HELP-US-OUT.txt: -------------------------------------------------------------------------------- 1 | I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, 2 | Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, 3 | comprehensive icon sets or copy and paste your own. 4 | 5 | Please. Check it out. 6 | 7 | -Dave Gandy 8 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/font-awesome-4.6.3/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/font-awesome-4.6.3/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/animated.less: -------------------------------------------------------------------------------- 1 | // Animated Icons 2 | // -------------------------- 3 | 4 | .@{fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .@{fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/bordered-pulled.less: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em @fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .@{fa-css-prefix}-pull-left { float: left; } 11 | .@{fa-css-prefix}-pull-right { float: right; } 12 | 13 | .@{fa-css-prefix} { 14 | &.@{fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.@{fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .@{fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/core.less: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal @fa-font-size-base/@fa-line-height-base FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/fixed-width.less: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .@{fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/font-awesome.less: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables.less"; 7 | @import "mixins.less"; 8 | @import "path.less"; 9 | @import "core.less"; 10 | @import "larger.less"; 11 | @import "fixed-width.less"; 12 | @import "list.less"; 13 | @import "bordered-pulled.less"; 14 | @import "animated.less"; 15 | @import "rotated-flipped.less"; 16 | @import "stacked.less"; 17 | @import "icons.less"; 18 | @import "screen-reader.less"; 19 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/larger.less: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .@{fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .@{fa-css-prefix}-2x { font-size: 2em; } 11 | .@{fa-css-prefix}-3x { font-size: 3em; } 12 | .@{fa-css-prefix}-4x { font-size: 4em; } 13 | .@{fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/list.less: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: @fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .@{fa-css-prefix}-li { 11 | position: absolute; 12 | left: -@fa-li-width; 13 | width: @fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.@{fa-css-prefix}-lg { 17 | left: (-@fa-li-width + (4em / 14)); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/path.less: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); 7 | src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), 8 | url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), 9 | url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), 10 | url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), 11 | url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/rotated-flipped.less: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } 5 | .@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } 6 | .@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } 7 | 8 | .@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } 9 | .@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .@{fa-css-prefix}-rotate-90, 15 | :root .@{fa-css-prefix}-rotate-180, 16 | :root .@{fa-css-prefix}-rotate-270, 17 | :root .@{fa-css-prefix}-flip-horizontal, 18 | :root .@{fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/screen-reader.less: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { .sr-only(); } 5 | .sr-only-focusable { .sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/less/stacked.less: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .@{fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .@{fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .@{fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .@{fa-css-prefix}-inverse { color: @fa-inverse; } 21 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_animated.scss: -------------------------------------------------------------------------------- 1 | // Spinning Icons 2 | // -------------------------- 3 | 4 | .#{$fa-css-prefix}-spin { 5 | -webkit-animation: fa-spin 2s infinite linear; 6 | animation: fa-spin 2s infinite linear; 7 | } 8 | 9 | .#{$fa-css-prefix}-pulse { 10 | -webkit-animation: fa-spin 1s infinite steps(8); 11 | animation: fa-spin 1s infinite steps(8); 12 | } 13 | 14 | @-webkit-keyframes fa-spin { 15 | 0% { 16 | -webkit-transform: rotate(0deg); 17 | transform: rotate(0deg); 18 | } 19 | 100% { 20 | -webkit-transform: rotate(359deg); 21 | transform: rotate(359deg); 22 | } 23 | } 24 | 25 | @keyframes fa-spin { 26 | 0% { 27 | -webkit-transform: rotate(0deg); 28 | transform: rotate(0deg); 29 | } 30 | 100% { 31 | -webkit-transform: rotate(359deg); 32 | transform: rotate(359deg); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_bordered-pulled.scss: -------------------------------------------------------------------------------- 1 | // Bordered & Pulled 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-border { 5 | padding: .2em .25em .15em; 6 | border: solid .08em $fa-border-color; 7 | border-radius: .1em; 8 | } 9 | 10 | .#{$fa-css-prefix}-pull-left { float: left; } 11 | .#{$fa-css-prefix}-pull-right { float: right; } 12 | 13 | .#{$fa-css-prefix} { 14 | &.#{$fa-css-prefix}-pull-left { margin-right: .3em; } 15 | &.#{$fa-css-prefix}-pull-right { margin-left: .3em; } 16 | } 17 | 18 | /* Deprecated as of 4.4.0 */ 19 | .pull-right { float: right; } 20 | .pull-left { float: left; } 21 | 22 | .#{$fa-css-prefix} { 23 | &.pull-left { margin-right: .3em; } 24 | &.pull-right { margin-left: .3em; } 25 | } 26 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_core.scss: -------------------------------------------------------------------------------- 1 | // Base Class Definition 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix} { 5 | display: inline-block; 6 | font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration 7 | font-size: inherit; // can't have font-size inherit on line above, so need to override 8 | text-rendering: auto; // optimizelegibility throws things off #1094 9 | -webkit-font-smoothing: antialiased; 10 | -moz-osx-font-smoothing: grayscale; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_fixed-width.scss: -------------------------------------------------------------------------------- 1 | // Fixed Width Icons 2 | // ------------------------- 3 | .#{$fa-css-prefix}-fw { 4 | width: (18em / 14); 5 | text-align: center; 6 | } 7 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_larger.scss: -------------------------------------------------------------------------------- 1 | // Icon Sizes 2 | // ------------------------- 3 | 4 | /* makes the font 33% larger relative to the icon container */ 5 | .#{$fa-css-prefix}-lg { 6 | font-size: (4em / 3); 7 | line-height: (3em / 4); 8 | vertical-align: -15%; 9 | } 10 | .#{$fa-css-prefix}-2x { font-size: 2em; } 11 | .#{$fa-css-prefix}-3x { font-size: 3em; } 12 | .#{$fa-css-prefix}-4x { font-size: 4em; } 13 | .#{$fa-css-prefix}-5x { font-size: 5em; } 14 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_list.scss: -------------------------------------------------------------------------------- 1 | // List Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-ul { 5 | padding-left: 0; 6 | margin-left: $fa-li-width; 7 | list-style-type: none; 8 | > li { position: relative; } 9 | } 10 | .#{$fa-css-prefix}-li { 11 | position: absolute; 12 | left: -$fa-li-width; 13 | width: $fa-li-width; 14 | top: (2em / 14); 15 | text-align: center; 16 | &.#{$fa-css-prefix}-lg { 17 | left: -$fa-li-width + (4em / 14); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_path.scss: -------------------------------------------------------------------------------- 1 | /* FONT PATH 2 | * -------------------------- */ 3 | 4 | @font-face { 5 | font-family: 'FontAwesome'; 6 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); 7 | src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), 8 | url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), 9 | url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), 10 | url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), 11 | url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); 12 | // src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts 13 | font-weight: normal; 14 | font-style: normal; 15 | } 16 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_rotated-flipped.scss: -------------------------------------------------------------------------------- 1 | // Rotated & Flipped Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } 5 | .#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } 6 | .#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } 7 | 8 | .#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } 9 | .#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } 10 | 11 | // Hook for IE8-9 12 | // ------------------------- 13 | 14 | :root .#{$fa-css-prefix}-rotate-90, 15 | :root .#{$fa-css-prefix}-rotate-180, 16 | :root .#{$fa-css-prefix}-rotate-270, 17 | :root .#{$fa-css-prefix}-flip-horizontal, 18 | :root .#{$fa-css-prefix}-flip-vertical { 19 | filter: none; 20 | } 21 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Screen Readers 2 | // ------------------------- 3 | 4 | .sr-only { @include sr-only(); } 5 | .sr-only-focusable { @include sr-only-focusable(); } 6 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/_stacked.scss: -------------------------------------------------------------------------------- 1 | // Stacked Icons 2 | // ------------------------- 3 | 4 | .#{$fa-css-prefix}-stack { 5 | position: relative; 6 | display: inline-block; 7 | width: 2em; 8 | height: 2em; 9 | line-height: 2em; 10 | vertical-align: middle; 11 | } 12 | .#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { 13 | position: absolute; 14 | left: 0; 15 | width: 100%; 16 | text-align: center; 17 | } 18 | .#{$fa-css-prefix}-stack-1x { line-height: inherit; } 19 | .#{$fa-css-prefix}-stack-2x { font-size: 2em; } 20 | .#{$fa-css-prefix}-inverse { color: $fa-inverse; } 21 | -------------------------------------------------------------------------------- /Public/Plugins/font-awesome-4.6.3/scss/font-awesome.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Font Awesome 4.6.3 by @davegandy - http://fontawesome.io - @fontawesome 3 | * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) 4 | */ 5 | 6 | @import "variables"; 7 | @import "mixins"; 8 | @import "path"; 9 | @import "core"; 10 | @import "larger"; 11 | @import "fixed-width"; 12 | @import "list"; 13 | @import "bordered-pulled"; 14 | @import "animated"; 15 | @import "rotated-flipped"; 16 | @import "stacked"; 17 | @import "icons"; 18 | @import "screen-reader"; 19 | -------------------------------------------------------------------------------- /Public/Plugins/qrcode/preview_phone.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/qrcode/preview_phone.jpg -------------------------------------------------------------------------------- /Public/Plugins/webuploader/css/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 | #filePicker div:last-child{ 30 | 31 | width: 100%!important; 32 | height: 100px!important; 33 | } 34 | -------------------------------------------------------------------------------- /Public/Plugins/webuploader/img/bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/img/bg.png -------------------------------------------------------------------------------- /Public/Plugins/webuploader/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/img/icons.png -------------------------------------------------------------------------------- /Public/Plugins/webuploader/img/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/img/image.png -------------------------------------------------------------------------------- /Public/Plugins/webuploader/img/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/img/progress.png -------------------------------------------------------------------------------- /Public/Plugins/webuploader/img/success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/img/success.png -------------------------------------------------------------------------------- /Public/Plugins/webuploader/server/test.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Public/Plugins/webuploader/server/upload.rr/骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/server/upload.rr/骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗01.jpg -------------------------------------------------------------------------------- /Public/Plugins/webuploader/server/upload.rr/骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗02.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/server/upload.rr/骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗02.jpg -------------------------------------------------------------------------------- /Public/Plugins/webuploader/server/upload.rr/骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗03.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/webuploader/server/upload.rr/骞寸粓鐩涘吀锛嶆椿鍔ㄤ粙缁峗03.jpg -------------------------------------------------------------------------------- /Public/Plugins/weui-master/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | node_modules 3 | publish.sh -------------------------------------------------------------------------------- /Public/Plugins/weui-master/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | before_script: 5 | - npm install --global gulp -------------------------------------------------------------------------------- /Public/Plugins/weui-master/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ### Contributing 2 | 3 | 欢迎参与 WeUI 的贡献,你可以给我们提出意见、建议,报告 bug,或者贡献代码。在参与贡献之前,请阅读以下指引。 4 | 5 | #### 咨询问题 6 | 7 | 简单的咨询,如询问如何使用、询问示例是如何实现的或其他和 WeUI 无关的技术问题,请在官方 QQ 群(478234996)中询问,效率更高。 8 | 9 | #### 关于 issue 10 | 11 | WeUI 的发展,离不开社区的贡献。如果你对 WeUI 的现状有意见、建议或者发现了 bug,欢迎通过 issue 给我们提出。提 issue 之前,请阅读以下指引。 12 | 13 | - 搜索以往的 issue ,看是否已经提过,避免重复提出; 14 | - 请确认你遇到的问题,是否在最新版本已被修复; 15 | - 提出意见或建议时,请描述: 16 | - 现状 17 | - 给你带来了什么问题 18 | - 你的期望结果 19 | - 可能的实现方式(可选) 20 | - 如果是报告 bug,请提供可以复现的条件: 21 | - 机型 22 | - 平台 23 | - 系统版本 24 | - 微信客户端版本 25 | - WeUI 版本 26 | - bug 表现 27 | - 是否必现 28 | - 最好可以提供截图 29 | - 最好可以提供示例代码,推荐使用 http://codepen.io 30 | - 如果你的问题已经得到解决,请关闭你的 issue。 -------------------------------------------------------------------------------- /Public/Plugins/weui-master/README.md: -------------------------------------------------------------------------------- 1 | WeUI 为微信 Web 服务量身设计 2 | ==== 3 | 4 | [![Build Status](https://travis-ci.org/weui/weui.svg?branch=master)](https://travis-ci.org/weui/weui) 5 | [![npm version](https://img.shields.io/npm/v/weui.svg)](https://www.npmjs.org/package/weui) 6 | [![Gitter](https://badges.gitter.im/weui/weui.svg)](https://gitter.im/weui/weui?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) 7 | 8 | ## 概述 9 | 10 | WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信 Web 开发量身设计,可以令用户的使用感知更加统一。包含`button`、`cell`、`dialog`、 `progress`、 `toast`、`article`、`actionsheet`、`icon`等各式元素。 11 | 12 | ## 视觉标准 13 | 14 | [WeUI-Sketch](https://github.com/weui/weui-sketch) 15 | 16 | ## 手机预览 17 | 18 | 请用微信扫码 19 | 20 | ![https://weui.io](https://cloud.githubusercontent.com/assets/4652816/15662614/178efd46-2725-11e6-8952-09d7836e968d.png) 21 | 22 | [https://weui.io](https://weui.io) 23 | 24 | ## 文档 25 | 26 | WeUI 说明文档参考 [Wiki](https://github.com/weui/weui/wiki) 27 | 28 | ## License 29 | The MIT License(http://opensource.org/licenses/MIT) 30 | 31 | 请自由地享受和参与开源 32 | 33 | ## 贡献 34 | 35 | 如果你有好的意见或建议,欢迎给我们提issue或pull request,为提升微信web体验贡献力量 36 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "weui", 3 | "repository": { 4 | "type": "git", 5 | "url": "https://github.com/weui/weui.git" 6 | }, 7 | "description": "wechat mobile ui", 8 | "main": "dist/style/weui.css", 9 | "version": "0.4.3", 10 | "authors": [ 11 | "wechat ui team" 12 | ], 13 | "license": "MIT", 14 | "keywords": [ 15 | "wechat", 16 | "weixin", 17 | "mobile", 18 | "ui" 19 | ], 20 | "homepage": "https://github.com/weui/weui", 21 | "ignore": [] 22 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_actionSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_actionSheet.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_article.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_button.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_cell.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_dialog.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_icons.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_msg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_msg.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_panel.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_progress.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_search_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_search_bar.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_tab.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/icon_nav_toast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/icon_nav_toast.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/pic_article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/pic_article.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/pic_article_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/pic_article_1.jpg -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/pic_article_2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/pic_article_2.jpg -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/images/vcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/images/vcode.jpg -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/actionSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/actionSheet.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/button.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/cell.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/dialog1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/dialog1.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/dialog2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/dialog2.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/grid.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/icons.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/progress.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/qrcode.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/result.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/text.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/toast1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/toast1.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/dist/example/snapshot/toast2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/dist/example/snapshot/toast2.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "weui", 3 | "version": "0.4.3", 4 | "description": "A UI library by WeChat official design team, includes the most useful widgets/modules in mobile web applications.", 5 | "keywords": [ 6 | "weui", 7 | "wechat", 8 | "weixin", 9 | "css", 10 | "less", 11 | "mobile" 12 | ], 13 | "style": "dist/style/weui.css", 14 | "less": "src/style/weui.less", 15 | "main": "dist/style/weui.css", 16 | "scripts": { 17 | "start": "gulp -ws", 18 | "test": "gulp release" 19 | }, 20 | "author": "wechat ui team", 21 | "repository": { 22 | "type": "git", 23 | "url": "https://github.com/weui/weui.git" 24 | }, 25 | "homepage": "https://github.com/weui/weui", 26 | "bugs": { 27 | "url": "https://github.com/weui/weui/issues" 28 | }, 29 | "license": "MIT", 30 | "devDependencies": { 31 | "autoprefixer": "^6.3.1", 32 | "browser-sync": "^2.9.11", 33 | "gulp": "^3.8.10", 34 | "gulp-cssnano": "^2.0.0", 35 | "gulp-header": "^1.7.1", 36 | "gulp-less": "^3.0.2", 37 | "gulp-postcss": "^6.0.1", 38 | "gulp-rename": "^1.2.2", 39 | "gulp-replace": "^0.5.2", 40 | "gulp-sourcemaps": "^1.6.0", 41 | "gulp-tap": "^0.1.3", 42 | "yargs": "^1.3.3" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/actionsheet.html: -------------------------------------------------------------------------------- 1 |
    2 |

    ActionSheet

    3 |
    4 | 7 | 8 |
    9 |
    10 |
    11 |
    12 |
    示例菜单
    13 |
    示例菜单
    14 |
    示例菜单
    15 |
    示例菜单
    16 |
    17 |
    18 |
    取消
    19 |
    20 |
    21 |
    22 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/button.html: -------------------------------------------------------------------------------- 1 |
    2 |

    Button

    3 |
    4 |
    5 | 按钮 6 | 按钮 7 | 确认 8 | 确认 9 | 按钮 10 | 按钮 11 |
    12 | 按钮 13 | 按钮 14 | 15 | 按钮 16 | 按钮 17 |
    18 |
    -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/icons.html: -------------------------------------------------------------------------------- 1 |
    2 |

    Icons

    3 |
    4 |
    5 | 6 | 7 | 8 | 9 | 10 | 11 |
    12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
    26 |
    -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/msg.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |

    操作成功

    5 |

    内容详情,可根据实际需要安排

    6 |
    7 |
    8 |

    9 | 确定 10 | 取消 11 |

    12 |
    13 |
    14 | 查看详情 15 |
    16 |
    -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/navbar.html: -------------------------------------------------------------------------------- 1 |
    2 |
    3 |
    4 |
    5 | 选项一 6 |
    7 |
    8 | 选项二 9 |
    10 |
    11 | 选项三 12 |
    13 |
    14 |
    15 | 16 |
    17 |
    18 |
    -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/progress.html: -------------------------------------------------------------------------------- 1 |
    2 |

    Progress

    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 |
    -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/tab.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/fragment/tabbar.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_actionSheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_actionSheet.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_article.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_button.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_cell.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_dialog.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_icons.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_msg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_msg.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_panel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_panel.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_progress.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_search_bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_search_bar.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_tab.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/icon_nav_toast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/icon_nav_toast.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/pic_article.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/pic_article.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/images/vcode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/images/vcode.jpg -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/button.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/cell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/cell.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/dialog1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/dialog1.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/dialog2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/dialog2.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/grid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/grid.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/icons.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/progress.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/progress.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/qrcode.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/result.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/text.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/toast1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/toast1.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/example/snapshot/toast2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Public/Plugins/weui-master/src/example/snapshot/toast2.png -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/fn.less: -------------------------------------------------------------------------------- 1 | // mixin 2 | @import "./mixin/mobile"; 3 | @import "./mixin/setOnepx"; 4 | @import "./mixin/setArrow"; 5 | @import "./mixin/text"; 6 | 7 | 8 | // variable 9 | @import "./variable/global"; 10 | @import "./variable/monokai"; 11 | 12 | 13 | @import "./variable/weui_cell"; 14 | @import "./variable/weui_button"; 15 | @import "./variable/weui_msg"; 16 | @import "./variable/weui_progress"; 17 | @import "./variable/weui_grid"; -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/mixin/mobile.less: -------------------------------------------------------------------------------- 1 | // tapcolor 2 | .setTapColor(@c:rgba(0,0,0,0)) { 3 | -webkit-tap-highlight-color: @c; 4 | } 5 | 6 | //user action 7 | .no_select() { 8 | -webkit-touch-callout: none; 9 | -webkit-user-select: none; 10 | -khtml-user-select: none; 11 | -moz-user-select: none; 12 | -ms-user-select: none; 13 | user-select: none; 14 | } 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/mixin/setChecked.less: -------------------------------------------------------------------------------- 1 | .setChecked(@c:#FFFFFF) { 2 | display: inline-block; 3 | content: ''; 4 | width: 4px; 5 | height: 8px; 6 | border-bottom: 2px solid @c; 7 | border-right: 2px solid @c; 8 | transform: translate(0, 0) rotate(45deg); 9 | } 10 | 11 | .setCheckedAbs(@c:#FFFFFF) { 12 | position: absolute; 13 | top: 50%; 14 | left: 50%; 15 | content: ''; 16 | width: 4px; 17 | height: 8px; 18 | border-bottom: 2px solid @c; 19 | border-right: 2px solid @c; 20 | transform: translate(-50%, -65%) rotate(45deg); 21 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/mixin/setOnepx.less: -------------------------------------------------------------------------------- 1 | 2 | .setTopLine(@c: #C7C7C7) { 3 | content: " "; 4 | position: absolute; 5 | left: 0; 6 | top: 0; 7 | width: 100%; 8 | height: 1px; 9 | border-top: 1px solid @c; 10 | color: @c; 11 | transform-origin: 0 0; 12 | transform: scaleY(0.5); 13 | } 14 | 15 | .setBottomLine(@c: #C7C7C7) { 16 | content: " "; 17 | position: absolute; 18 | left: 0; 19 | bottom: 0; 20 | width: 100%; 21 | height: 1px; 22 | border-bottom: 1px solid @c; 23 | color: @c; 24 | transform-origin: 0 100%; 25 | transform: scaleY(0.5); 26 | } 27 | 28 | .setLeftLine(@c: #C7C7C7) { 29 | content: " "; 30 | position: absolute; 31 | left: 0; 32 | top: 0; 33 | width: 1px; 34 | height: 100%; 35 | border-left: 1px solid @c; 36 | color: @c; 37 | transform-origin: 0 0; 38 | transform: scaleX(0.5); 39 | } 40 | 41 | .setRightLine(@c: #C7C7C7) { 42 | content: " "; 43 | position: absolute; 44 | right: 0; 45 | top: 0; 46 | width: 1px; 47 | height: 100%; 48 | border-right: 1px solid @c; 49 | color: @c; 50 | transform-origin: 100% 0; 51 | transform: scaleX(0.5); 52 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/mixin/text.less: -------------------------------------------------------------------------------- 1 | .ellipsis(@w:auto) { 2 | width: @w; 3 | overflow: hidden; 4 | text-overflow: ellipsis; 5 | white-space: nowrap; 6 | word-wrap: normal; 7 | } 8 | 9 | .ellipsisLn(@line) { 10 | overflow: hidden; 11 | text-overflow: ellipsis; 12 | display: -webkit-box; 13 | -webkit-box-orient: vertical; 14 | -webkit-line-clamp: @line; 15 | } 16 | .text_wrap() { 17 | word-wrap:break-word; 18 | word-break:break-all; 19 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/reset.less: -------------------------------------------------------------------------------- 1 | @import "fn"; 2 | 3 | html { 4 | -ms-text-size-adjust: 100%; 5 | -webkit-text-size-adjust: 100%; 6 | } 7 | 8 | body { 9 | line-height: 1.6; 10 | font-family: @sansFont; 11 | } 12 | 13 | * { 14 | margin: 0; 15 | padding: 0; 16 | } 17 | 18 | a img { 19 | border: 0; 20 | } 21 | 22 | a { 23 | text-decoration: none; 24 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/global.less: -------------------------------------------------------------------------------- 1 | // font family 2 | @sansFont:"Helvetica Neue",Helvetica,Arial,sans-serif; 3 | @serifFont:Georgia, "Times New Roman",Times,serif; 4 | @wpFont:"Microsoft YaHei",sans-serif; 5 | @bizFont:"Helvetica Neue",Helvetica,"Hiragino Sans GB","Microsoft YaHei","微软雅黑",Arial,sans-serif; 6 | @globalFont:@sansFont; 7 | @globalFontSize:14px; 8 | 9 | // font color 10 | @globalLinkColor: #61749B; 11 | @globalDescColor: #B2B2B2; 12 | @globalWarnColor: #E64340; 13 | @globalNickNameColor: #576B95; 14 | @globalTextColor: #888; 15 | @globalTitleColor: #000; 16 | 17 | //border 18 | @globalBorderColor: #BCBAB6; 19 | 20 | //arrow 21 | @globalArrowColor: #C7C7CC; 22 | 23 | //component 24 | @itemActiveColor: #E4E4E4; 25 | 26 | //page 27 | @pageDefaultBackgroundColor:#EFEFF4; 28 | 29 | // gap 30 | @gap5:5px; 31 | @gap10:10px; 32 | @gap15:15px; 33 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/monokai.less: -------------------------------------------------------------------------------- 1 | @monokaiCaret:#F8F8F0; 2 | @monokaiGreen:#A6E22E; 3 | @monokaiOrange:#FD971F; 4 | @monokaiBlue:#66D9EF; 5 | @monokaiRed:#F92672; 6 | @monokaiPurple:#AE81FF; 7 | @monokaiBrown:#E6DB74; 8 | @monokaiFindHighlight:#FFE792; 9 | @monokaiLineHighlight:#3E3D32; 10 | @monokaiSelection:#49483E; 11 | @monokaiBg:#272822; -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/weui_button.less: -------------------------------------------------------------------------------- 1 | @weuiBtnDefaultGap:15px; 2 | @weuiBtnHeight:42px; 3 | @weuiBtnMiniHeight:1.9; 4 | @weuiBtnFontSize:18px; 5 | @weuiBtnFontColor:#FFFFFF; 6 | @weuiBtnDisabledFontColor:rgba(255,255,255,.6); 7 | @weuiBtnActiveFontColor:rgba(255,255,255,.4); 8 | @weuiBtnMiniFontSize:14px; 9 | @weuiBtnBorderRadius:5px; 10 | 11 | @weuiBtnDefaultBg:#F7F7F7; 12 | @weuiBtnDefaultActiveBg:#DEDEDE; 13 | @weuiBtnDefaultFontColor:#454545; 14 | @weuiBtnDefaultDisabledFontColor:#C9C9C9; 15 | @weuiBtnDefaultActiveFontColor:#A1A1A1; 16 | 17 | @weuiBtnPrimaryBg:#04BE02; 18 | @weuiBtnPrimaryActiveBg:#039702; 19 | 20 | @weuiBtnWarnBg:#EF4F4F; 21 | @weuiBtnWarnActiveBg:#C13E3E; 22 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/weui_cell.less: -------------------------------------------------------------------------------- 1 | @weuiCellBg:#FFFFFF; 2 | @weuiCellBorderColor:#D9D9D9; 3 | @weuiCellGapV:10px; 4 | @weuiCellGapH:15px; 5 | @weuiCellInnerGapH:.35em; 6 | @weuiCellHeight: 44px; 7 | @weuiCellFontSize:17px; 8 | @weuiCellTipsFontSize:14px; 9 | @weuiCellLabelWidth:105px; 10 | 11 | @weuiCellLineHeight: unit((@weuiCellHeight - 2 * @weuiCellGapV) / @weuiCellFontSize); // 高度为44px,减去上下padding的行高 12 | @weuiCellsMarginTop:unit(20 / @weuiCellFontSize, em); -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/weui_grid.less: -------------------------------------------------------------------------------- 1 | @weuiGridBorderColor:#D9D9D9; 2 | @weuiGridFontSize: 14px; 3 | @weuiGridIconSize: 28px; 4 | @weuiGridColumnCount: 3; -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/weui_msg.less: -------------------------------------------------------------------------------- 1 | @weuiMsgPaddingTop:36px; 2 | @weuiMsgIconGap:30px; 3 | @weuiMsgTitleGap:5px; 4 | @weuiMsgTextGap:25px; 5 | @weuiMsgOprGap:25px; 6 | @weuiMsgExtraAreaGap:15px; 7 | @weuiMsgExtraAreaOfMinHeight:438px; -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/base/variable/weui_progress.less: -------------------------------------------------------------------------------- 1 | @weuiProgressBg: #EBEBEB; 2 | @weuiProgressColor: #09BB07; 3 | @weuiProgressHeight: 3px; 4 | @weuiProgressCloseBg: #EF4F4F; 5 | @weuiProgressActiveBg: #C13E3E; 6 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/weui.less: -------------------------------------------------------------------------------- 1 | @import "./base/reset"; 2 | 3 | // icon font 4 | @import "./icon/weui_icon_font"; 5 | 6 | 7 | // button 8 | @import "./widget/weui_button/weui_button"; 9 | 10 | // cell 11 | @import "./widget/weui_cell/weui_cell_global"; 12 | 13 | @import "./widget/weui_cell/weui_access"; 14 | @import "./widget/weui_cell/weui_check"; 15 | @import "./widget/weui_cell/weui_form"; 16 | @import "./widget/weui_cell/weui_switch"; 17 | @import "./widget/weui_cell/weui_uploader"; 18 | 19 | // msg 20 | @import "./widget/weui_page/weui_msg"; 21 | 22 | // article 23 | @import "./widget/weui_page/weui_article"; 24 | 25 | // tab 26 | @import "./widget/weui_tab/weui_tab"; 27 | 28 | // progress 29 | @import "./widget/weui_progress/weui_progress"; 30 | 31 | // card 32 | @import "./widget/weui_panel/weui_panel"; 33 | 34 | // media box 35 | @import "./widget/weui_media_box/weui_media_box"; 36 | 37 | // grid 38 | @import "./widget/weui_grid/weui_grid"; 39 | 40 | // tips 41 | @import "./widget/weui_tips/weui_dialog"; 42 | @import "./widget/weui_tips/weui_toast"; 43 | @import "./widget/weui_tips/weui_mask"; 44 | 45 | //action sheet 46 | @import "./widget/weui_tips/weui_actionsheet"; 47 | 48 | //searchbar 49 | @import "./widget/weui_searchbar/weui_searchbar"; -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_button/weui_btn_default.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_btn_default { 4 | background-color: @weuiBtnDefaultBg; 5 | color: @weuiBtnDefaultFontColor; 6 | &:not(.weui_btn_disabled):visited { 7 | color: @weuiBtnDefaultFontColor; 8 | } 9 | &:not(.weui_btn_disabled):active { 10 | color: @weuiBtnDefaultActiveFontColor; 11 | background-color: @weuiBtnDefaultActiveBg; 12 | } 13 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_button/weui_btn_disabled.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_btn_disabled { 4 | color: @weuiBtnDisabledFontColor; 5 | &.weui_btn_default { 6 | color: @weuiBtnDefaultDisabledFontColor; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_button/weui_btn_global.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_btn { 4 | position: relative; 5 | display: block; 6 | margin-left: auto; 7 | margin-right: auto; 8 | padding-left: 14px; 9 | padding-right: 14px; 10 | box-sizing: border-box; 11 | font-size: @weuiBtnFontSize; 12 | text-align: center; 13 | text-decoration: none; 14 | color: @weuiBtnFontColor; 15 | line-height: unit(@weuiBtnHeight/@weuiBtnFontSize); 16 | border-radius: @weuiBtnBorderRadius; 17 | .setTapColor(); 18 | overflow: hidden; 19 | &:after { 20 | content: " "; 21 | width: 200%; 22 | height: 200%; 23 | position: absolute; 24 | top: 0; 25 | left: 0; 26 | border: 1px solid rgba(0, 0, 0, .2); 27 | transform: scale(.5); 28 | transform-origin: 0 0; 29 | box-sizing: border-box; 30 | border-radius: @weuiBtnBorderRadius*2; 31 | } 32 | 33 | &.weui_btn_inline { 34 | display: inline-block; 35 | } 36 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_button/weui_btn_plain.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_btn_plain_primary { 4 | color: @weuiBtnPrimaryBg; 5 | border: 1px solid @weuiBtnPrimaryBg; 6 | button&, input& { 7 | border-width: 1px; 8 | background-color: transparent; 9 | } 10 | &:active { 11 | border-color: @weuiBtnPrimaryActiveBg; 12 | } 13 | &:after { 14 | border-width: 0; 15 | } 16 | } 17 | 18 | .weui_btn_plain_default { 19 | color: #5A5A5A; 20 | border: 1px solid #5A5A5A; 21 | button&, input& { 22 | border-width: 1px; 23 | background-color: transparent; 24 | } 25 | &:after { 26 | border-width: 0; 27 | } 28 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_button/weui_btn_primary.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_btn_primary { 4 | background-color: @weuiBtnPrimaryBg; 5 | &:not(.weui_btn_disabled):visited { 6 | color: @weuiBtnFontColor; 7 | } 8 | &:not(.weui_btn_disabled):active { 9 | color: @weuiBtnActiveFontColor; 10 | background-color: @weuiBtnPrimaryActiveBg; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_button/weui_btn_warn.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_btn_warn { 4 | background-color: @weuiBtnWarnBg; 5 | &:not(.weui_btn_disabled):visited { 6 | color: @weuiBtnFontColor; 7 | } 8 | &:not(.weui_btn_disabled):active { 9 | color: @weuiBtnActiveFontColor; 10 | background-color: @weuiBtnWarnActiveBg; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_access.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_cells_access { 4 | .weui_cell:not(.no_access) { 5 | // 在cell_access和其它类型的cell混着用的场景下,其它cell要加no_access,避免有点击态 6 | .setTapColor; 7 | &:active { 8 | background-color: #ECECEC; 9 | } 10 | } 11 | a.weui_cell { 12 | color: inherit; 13 | } 14 | .weui_cell_ft { 15 | &:after { 16 | content: " "; 17 | .setArrow_Wap(right, 6px, #C8C8CD, 2px); 18 | top: -1px; 19 | margin-left:.3em; 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_check.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | @import "./weui_check/weui_check_common"; 3 | @import "./weui_check/weui_radio"; 4 | @import "./weui_check/weui_checkbox"; 5 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_check/weui_check_common.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | 3 | .weui_check_label { 4 | .setTapColor(); 5 | } 6 | 7 | .weui_check{ 8 | position: absolute; 9 | left: -9999em; 10 | } 11 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_check/weui_checkbox.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | 3 | .weui_cells_checkbox { 4 | .weui_cell_hd { 5 | padding-right: @weuiCellInnerGapH; 6 | } 7 | .weui_cell { 8 | &:active { 9 | background-color: #ECECEC; 10 | } 11 | } 12 | .weui_icon_checked { 13 | &:before { 14 | content: '\EA01'; 15 | color: #C9C9C9; 16 | font-size: 23px; 17 | display: block; 18 | } 19 | } 20 | } 21 | 22 | // method2 accessbility 23 | .weui_check { 24 | // checkbox 25 | .weui_cells_checkbox & { 26 | &:checked { 27 | & + .weui_icon_checked { 28 | &:before { 29 | content: '\EA06'; 30 | color: #09BB07; 31 | } 32 | } 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_check/weui_radio.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | 3 | // method2 accessbility 4 | .weui_cells_radio{ 5 | .weui_cell_ft { 6 | padding-left: @weuiCellInnerGapH; 7 | } 8 | .weui_cell { 9 | &:active { 10 | background-color: #ECECEC; 11 | } 12 | } 13 | } 14 | .weui_check { 15 | // radio 16 | .weui_cells_radio & { 17 | &:checked { 18 | & + .weui_icon_checked { 19 | &:before { 20 | display: block; 21 | content: '\EA08'; 22 | color: #09BB07; 23 | font-size: 16px; 24 | } 25 | } 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_form.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | @import "./weui_form/weui_form_common"; 3 | @import "./weui_form/weui_select"; 4 | @import "./weui_form/weui_select_before"; 5 | @import "./weui_form/weui_select_after"; 6 | @import "./weui_form/weui_vcode"; 7 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_form/weui_select.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | 3 | .weui_cell_select { 4 | padding: 0; 5 | .weui_select { 6 | padding-right: 30px; 7 | } 8 | .weui_access_icon { 9 | 10 | } 11 | .weui_cell_bd{ 12 | &:after{ 13 | content: " "; 14 | .setArrow_Wap(right, 6px, #C8C8CD, 2px); 15 | 16 | position: absolute; 17 | top: 50%; 18 | right: @weuiCellGapH; 19 | margin-top: -3px; 20 | } 21 | } 22 | } 23 | 24 | .weui_select { 25 | -webkit-appearance: none; 26 | border: 0; 27 | outline: 0; 28 | background-color: transparent; 29 | width: 100%; 30 | font-size: inherit; 31 | height: @weuiCellHeight; 32 | line-height: @weuiCellHeight; 33 | position: relative; 34 | z-index: 1; 35 | padding-left: @weuiCellGapH; 36 | } 37 | -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_form/weui_select_after.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | @import "./weui_select"; 3 | 4 | .weui_select_after { 5 | padding-left:@weuiCellGapH; 6 | .weui_select { 7 | padding-left:0; 8 | } 9 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_form/weui_select_before.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | @import "./weui_select"; 3 | 4 | .weui_select_before { 5 | padding-right:@weuiCellGapH; 6 | .weui_select { 7 | width:@weuiCellLabelWidth; 8 | box-sizing: border-box; 9 | } 10 | .weui_cell_hd { 11 | position:relative; 12 | &:after { 13 | .setRightLine(@weuiCellBorderColor); 14 | } 15 | &:before{ 16 | content: " "; 17 | .setArrow_Wap(right, 6px, #C8C8CD, 2px); 18 | 19 | position: absolute; 20 | top: 50%; 21 | right: @weuiCellGapH; 22 | margin-top: -3px; 23 | } 24 | } 25 | .weui_cell_bd { 26 | padding-left:@weuiCellGapH; 27 | &:after{ 28 | display:none; 29 | } 30 | } 31 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_cell/weui_form/weui_vcode.less: -------------------------------------------------------------------------------- 1 | @import "../../../base/fn"; 2 | 3 | .weui_vcode { 4 | padding-top: 0; 5 | padding-right: 0; 6 | padding-bottom: 0; 7 | .weui_cell_ft { 8 | img { 9 | margin-left: 5px; 10 | height: @weuiCellHeight; 11 | vertical-align: middle; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_page/weui_article.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_article { 4 | padding: 20px 15px; 5 | font-size: 15px; 6 | section { 7 | margin-bottom: 1.5em; 8 | } 9 | h1 { 10 | font-size: 17px; 11 | font-weight:400; 12 | margin-bottom: .75em; 13 | } 14 | h2 { 15 | font-size: 16px; 16 | font-weight:400; 17 | margin-bottom: .3em; 18 | } 19 | h3 { 20 | font-weight:400; 21 | font-size: 15px; 22 | } 23 | * { 24 | max-width: 100%; 25 | -webkit-box-sizing: border-box; 26 | box-sizing: border-box; 27 | word-wrap: break-word; 28 | } 29 | p { 30 | margin: 10px 0; 31 | } 32 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_page/weui_msg.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | @import "../weui_button/weui_button"; 3 | 4 | .weui_msg { 5 | padding-top: @weuiMsgPaddingTop; 6 | text-align: center; 7 | 8 | .weui_icon_area { 9 | margin-bottom: @weuiMsgIconGap; 10 | } 11 | 12 | .weui_text_area { 13 | margin-bottom: @weuiMsgTextGap; 14 | padding:0 20px; 15 | } 16 | .weui_msg_title { 17 | margin-bottom: @weuiMsgTitleGap; 18 | font-weight: 400; 19 | font-size: 20px; 20 | } 21 | .weui_msg_desc { 22 | font-size: 14px; 23 | color: @globalTextColor; 24 | } 25 | 26 | .weui_opr_area { 27 | margin-bottom: @weuiMsgOprGap; 28 | } 29 | 30 | .weui_extra_area { 31 | margin-bottom: @weuiMsgExtraAreaGap; 32 | font-size: 14px; 33 | color: @globalTextColor; 34 | a{color: @globalLinkColor;} 35 | } 36 | } 37 | 38 | @media screen and (min-height: @weuiMsgExtraAreaOfMinHeight) { 39 | .weui_extra_area { 40 | position: fixed; 41 | left: 0; 42 | bottom: 0; 43 | width: 100%; 44 | text-align: center; 45 | } 46 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_progress/weui_progress.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_progress { 4 | display: flex; 5 | align-items: center; 6 | } 7 | 8 | .weui_progress_bar { 9 | background-color: @weuiProgressBg; 10 | height: @weuiProgressHeight; 11 | flex: 1; 12 | } 13 | 14 | .weui_progress_inner_bar { 15 | width: 0; 16 | height: 100%; 17 | background-color: @weuiProgressColor; 18 | } 19 | 20 | .weui_progress_opr { 21 | display: block; 22 | margin-left: 15px; 23 | font-size: 0; 24 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_tab/navbar.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_navbar { 4 | display: flex; 5 | position: absolute; 6 | z-index: 500; 7 | top: 0; 8 | width: 100%; 9 | background-color: #fafafa; 10 | 11 | &:after { 12 | .setBottomLine(@globalBorderColor); 13 | } 14 | 15 | & + .weui_tab_bd { 16 | padding-top: 50px; 17 | padding-bottom: 0; 18 | } 19 | } 20 | 21 | .weui_navbar_item { 22 | position: relative; 23 | display: block; 24 | flex: 1; 25 | padding: 13px 0; 26 | text-align: center; 27 | font-size: 15px; 28 | -webkit-tap-highlight-color: transparent; 29 | 30 | &:active { 31 | background-color: #ededed; 32 | } 33 | 34 | &.weui_bar_item_on { 35 | background-color: #eaeaea; 36 | } 37 | 38 | &:after { 39 | .setRightLine(#cccccc); 40 | } 41 | 42 | &:last-child { 43 | &:after { 44 | display: none; 45 | } 46 | } 47 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_tab/tabbar.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_tabbar { 4 | display: flex; 5 | position: absolute; 6 | z-index: 500; 7 | bottom: 0; 8 | width: 100%; 9 | background-color: #f7f7fa; 10 | 11 | &:before { 12 | .setTopLine(#979797); 13 | } 14 | } 15 | 16 | .weui_tabbar_item { 17 | display: block; 18 | flex: 1; 19 | padding: 7px 0 0; 20 | -webkit-tap-highlight-color: transparent; 21 | 22 | &.weui_bar_item_on { 23 | .weui_tabbar_label { 24 | color: #09BB07; 25 | } 26 | } 27 | } 28 | 29 | .weui_tabbar_icon { 30 | margin: 0 auto; 31 | width: 24px; 32 | height: 24px; 33 | 34 | img { 35 | display: block; 36 | width: 100%; 37 | height: 100%; 38 | } 39 | 40 | & + .weui_tabbar_label { 41 | margin-top: 5px; 42 | } 43 | } 44 | 45 | .weui_tabbar_label { 46 | text-align: center; 47 | color: @globalTextColor; 48 | font-size: 12px; 49 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_tab/weui_tab.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | @import "tabbar"; 3 | @import "navbar"; 4 | 5 | .weui_tab { 6 | position: relative; 7 | height: 100%; 8 | } 9 | 10 | .weui_tab_bd { 11 | box-sizing: border-box; 12 | height: 100%; 13 | padding-bottom: 55px; 14 | overflow: auto; 15 | -webkit-overflow-scrolling: touch; 16 | } 17 | 18 | .weui_tab_bd_item { 19 | display: none; 20 | } 21 | 22 | .weui_tab_bd_item_active { 23 | display: block; 24 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_tips/weui_actionsheet.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | @bgColor:#ECECEC; 3 | .weui_actionsheet { 4 | position: fixed; 5 | left: 0; 6 | bottom: 0; 7 | transform: translate(0, 100%); 8 | backface-visibility: hidden; 9 | z-index: 5000; 10 | width: 100%; 11 | background-color: @pageDefaultBackgroundColor; 12 | //slide up animation 13 | transition: transform .3s; 14 | } 15 | .weui_actionsheet_menu{ 16 | background-color: #FFFFFF; 17 | } 18 | .weui_actionsheet_action { 19 | margin-top: 6px; 20 | background-color: #FFFFFF; 21 | } 22 | .weui_actionsheet_cell { 23 | position: relative; 24 | padding: 10px 0; 25 | text-align: center; 26 | font-size: 18px; 27 | &:before { 28 | .setTopLine(@weuiCellBorderColor); 29 | } 30 | &:active{ 31 | background-color: @bgColor; 32 | } 33 | &:first-child{ 34 | &:before{ 35 | display: none; 36 | } 37 | } 38 | } 39 | 40 | //actionSheet aniamtion 41 | .weui_actionsheet_toggle{ 42 | transform: translate(0, 0); 43 | } -------------------------------------------------------------------------------- /Public/Plugins/weui-master/src/style/widget/weui_tips/weui_mask.less: -------------------------------------------------------------------------------- 1 | @import "../../base/fn"; 2 | 3 | .weui_mask { 4 | position: fixed; 5 | z-index: 1000; 6 | width: 100%; 7 | height: 100%; 8 | top: 0; 9 | left: 0; 10 | background: rgba(0, 0, 0, .6); 11 | } 12 | 13 | .weui_mask_transparent { 14 | position: fixed; 15 | z-index: 1000; 16 | width: 100%; 17 | height: 100%; 18 | top: 0; 19 | left: 0; 20 | } 21 | 22 | .weui_mask_transition{ 23 | display: none; 24 | position: fixed; 25 | z-index: 1000; 26 | width: 100%; 27 | height: 100%; 28 | top: 0; 29 | left: 0; 30 | background: rgba(0,0,0,0); 31 | transition:background .3s; 32 | } 33 | .weui_fade_toggle{ 34 | background: rgba(0,0,0,.6); 35 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 产品介绍 2 | 3 | #### 豆信是一个专注于微信公众号开发的开源框架,具备“简洁、高效、优雅、易扩展”等特点。自主研发的插件扩展机制与视图构建工具能够帮助开发者快速实现微信端功能的开发。对微信接口进行了高度封装,能够轻松的处理微信端用户发送的文本、图片、语音、视频、位置、链接等类型消息,亦可对关注、取消关注、扫码、点击菜单、上报地理位置等事件进行灵活处理。 4 | 5 | ## 产品特色 6 | 7 | #### 1、引入了Github上最为流行的Wechat-php-sdk类库,对微信接口实现高度封装。 8 | #### 2、自主研发的插件扩展机制,保证功能的高度可扩展性。 9 | #### 3、自主研发的视图构建工具,能够帮助开发者在控制器中通过简单的配置快速生成视图,灵活性强大到甚至不需要写任何一行HTML代码。 10 | #### 4、高度封装的微信交互API,可轻松处理微信端用户发送的文本、图片、语音、视频、位置、链接等类型消息,亦可对关注、取消关注、扫码、点击菜单、上报地理位置等事件进行灵活处理。 11 | #### 5、封装了微信支付、客服群发、模板消息、带参数二维码等微信高级功能的实现方法,开发者在插件开发的过程中可以简单的用一个函数实现上述功能。 12 | #### 6、整合jssdk,封装了图片上传、自定义分享、支付弹窗、LBS定位、ajax请求等js方法,在模板页面可以快速集成。 13 | #### 7、整合了weUI、FrozenUI、bootstrap等前端框架,在UI实现方面可快速集成。 14 | #### 8、详细的开发手册,旨在帮助开发爱好者快速上手豆信开发。 15 | #### 9、活跃的交流社区,让每一个开发爱好者都能分享自己的看法与见解。 16 | #### 10、集成BUG反馈系统,产品保持高频次更新与迭代。 17 | 18 | ## 产品体验 19 | 20 | #### 产品官网:http://douchat.net/ 21 | #### 联系作者: 22 | 23 | ![](./author.png) 24 | -------------------------------------------------------------------------------- /Runtime/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Runtime/index.html -------------------------------------------------------------------------------- /ThinkPHP/Conf/debug.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | 12 | /** 13 | * ThinkPHP 默认的调试模式配置文件 14 | */ 15 | defined('THINK_PATH') or exit(); 16 | // 调试模式下面默认设置 可以在应用配置目录下重新定义 debug.php 覆盖 17 | return array( 18 | 'LOG_RECORD' => true, // 进行日志记录 19 | 'LOG_EXCEPTION_RECORD' => true, // 是否记录异常信息日志 20 | 'LOG_LEVEL' => 'EMERG,ALERT,CRIT,ERR,WARN,NOTIC,INFO,DEBUG,SQL', // 允许记录的日志级别 21 | 'DB_FIELDS_CACHE' => false, // 字段缓存信息 22 | 'DB_DEBUG' => true, // 开启调试模式 记录SQL日志 23 | 'TMPL_CACHE_ON' => false, // 是否开启模板编译缓存,设为false则每次都会重新编译 24 | 'TMPL_STRIP_SPACE' => false, // 是否去除模板文件里面的html空格与换行 25 | 'SHOW_ERROR_MSG' => true, // 显示错误信息 26 | 'URL_CASE_INSENSITIVE' => false, // URL区分大小写 27 | ); -------------------------------------------------------------------------------- /ThinkPHP/Library/Think/Behavior.class.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace Think; 12 | 13 | /** 14 | * ThinkPHP Behavior基础类 15 | */ 16 | abstract class Behavior 17 | { 18 | /** 19 | * 执行行为 run方法是Behavior唯一的接口 20 | * @access public 21 | * @param mixed $params 行为参数 22 | * @return void 23 | */ 24 | abstract public function run(&$params); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /ThinkPHP/Library/Think/Exception.class.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace Think; 12 | /** 13 | * ThinkPHP系统异常基类 14 | */ 15 | class Exception extends \Exception { 16 | } -------------------------------------------------------------------------------- /ThinkPHP/Library/Think/Template/Driver/Mobile.class.php: -------------------------------------------------------------------------------- 1 | 10 | // +---------------------------------------------------------------------- 11 | namespace Think\Template\Driver; 12 | /** 13 | * MobileTemplate模板引擎驱动 14 | */ 15 | class Mobile { 16 | /** 17 | * 渲染模板输出 18 | * @access public 19 | * @param string $templateFile 模板文件名 20 | * @param array $var 模板变量 21 | * @return void 22 | */ 23 | public function fetch($templateFile,$var) { 24 | $templateFile=substr($templateFile,strlen(THEME_PATH)); 25 | $var['_think_template_path']=$templateFile; 26 | exit(json_encode($var)); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /ThinkPHP/Library/Vendor/GeeTest/config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ThinkPHP/Library/Vendor/README.txt: -------------------------------------------------------------------------------- 1 | 第三方类库包目录 -------------------------------------------------------------------------------- /ThinkPHP/Library/Vendor/WechatPaySdk/SDKRuntimeException.php: -------------------------------------------------------------------------------- 1 | getMessage(); 7 | } 8 | 9 | } 10 | 11 | ?> -------------------------------------------------------------------------------- /ThinkPHP/Library/Vendor/WechatPaySdk/WxPay.pub.config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ThinkPHP/Library/WechatSdk/SDKRuntimeException.php: -------------------------------------------------------------------------------- 1 | getMessage(); 9 | } 10 | 11 | } 12 | 13 | ?> -------------------------------------------------------------------------------- /ThinkPHP/Library/WechatSdk/WxPay.pub.config.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ThinkPHP/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/ThinkPHP/logo.png -------------------------------------------------------------------------------- /Uploads/Pictures/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Uploads/Pictures/index.html -------------------------------------------------------------------------------- /Wxapps/Demo/app.json: -------------------------------------------------------------------------------- 1 | { 2 | "pages": [ 3 | "pages/account/account", 4 | "pages/account/release/release", 5 | "pages/account/feedback/feedback" 6 | ], 7 | "window": { 8 | "backgroundTextStyle": "light", 9 | "navigationBarBackgroundColor": "#3891f8", 10 | "navigationBarTitleText": "豆信小程序Demo", 11 | "navigationBarTextStyle": "#fff" 12 | } 13 | } -------------------------------------------------------------------------------- /Wxapps/Demo/ext.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | apiType: 1, // 手动接入的方式 3 | apiBase: { 4 | domain: 'http://dev.douchat.net', 5 | mpid: 4, 6 | addon: 'Demo', 7 | version: '0.4.0', 8 | ak: 'LOFWZR7jPrahA1ZJkeLX1c5qMCQMSqRq', 9 | sk: 'a48xboHhOpQIpnEl1KnzCRyGRWWMLhxMWZz4QCM1QTg' 10 | } 11 | } -------------------------------------------------------------------------------- /Wxapps/Demo/image/add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Wxapps/Demo/image/add.png -------------------------------------------------------------------------------- /Wxapps/Demo/image/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Wxapps/Demo/image/edit.png -------------------------------------------------------------------------------- /Wxapps/Demo/image/help.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Wxapps/Demo/image/help.png -------------------------------------------------------------------------------- /Wxapps/Demo/image/reg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/Wxapps/Demo/image/reg.png -------------------------------------------------------------------------------- /Wxapps/Demo/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2015", 4 | "module": "commonjs" 5 | } 6 | } -------------------------------------------------------------------------------- /Wxapps/Demo/pages/account/account.js: -------------------------------------------------------------------------------- 1 | var app = getApp(); 2 | var util = require('../../utils/util.js'); 3 | util.init(); 4 | 5 | Page({ 6 | data: { 7 | userInfo: null, 8 | copyright: '' 9 | }, 10 | onLoad: function (options) { 11 | var that = this; 12 | that.setData({ 13 | copyright: app.globalData.copyright 14 | }); 15 | app.getUserInfo(function(userInfo) { 16 | that.setData({ 17 | userInfo: userInfo 18 | }); 19 | }); 20 | }, 21 | onShow: function () { 22 | app.setNavigationBarTitle('账户中心'); 23 | }, 24 | about: function (e) { 25 | wx.showModal({ 26 | title: '提示', 27 | content: app.globalData.about || '', 28 | showCancel: false 29 | }); 30 | } 31 | }); -------------------------------------------------------------------------------- /Wxapps/Demo/pages/account/account.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } -------------------------------------------------------------------------------- /Wxapps/Demo/pages/account/account.wxss: -------------------------------------------------------------------------------- 1 | @import "../common/index.wxss"; 2 | 3 | .navigator-hover button { 4 | background-color: #dedede; 5 | } 6 | 7 | .other-navigator-hover button { 8 | background-color: #dedede; 9 | } 10 | 11 | .g-bda-userinfo { 12 | padding-top: 50rpx; 13 | display: flex; 14 | flex-direction: column; 15 | align-items: center; 16 | } 17 | 18 | .userinfo-avatar { 19 | width: 180rpx; 20 | height: 180rpx; 21 | margin: 20rpx; 22 | margin-bottom: 2rpx; 23 | border-radius: 50%; 24 | border: 2px solid #fff; 25 | } 26 | .userinfo-nickname{ 27 | color: #fff; 28 | } 29 | -------------------------------------------------------------------------------- /Wxapps/Demo/pages/account/feedback/feedback.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } -------------------------------------------------------------------------------- /Wxapps/Demo/pages/account/feedback/feedback.wxss: -------------------------------------------------------------------------------- 1 | 2 | .g-bda-userinfo { 3 | padding-top: 50rpx; 4 | display: flex; 5 | flex-direction: column; 6 | align-items: center; 7 | } 8 | 9 | .userinfo-avatar { 10 | width: 180rpx; 11 | height: 180rpx; 12 | margin: 20rpx; 13 | margin-bottom: 2rpx; 14 | border-radius: 50%; 15 | border: 2px solid #fff; 16 | } 17 | .userinfo-nickname{ 18 | color: #fff; 19 | } 20 | -------------------------------------------------------------------------------- /Wxapps/Demo/pages/account/release/release.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /Wxapps/Demo/project.config.json: -------------------------------------------------------------------------------- 1 | { 2 | "description": "项目配置文件。", 3 | "setting": { 4 | "urlCheck": false, 5 | "es6": true, 6 | "postcss": false, 7 | "minified": true, 8 | "newFeature": true 9 | }, 10 | "compileType": "miniprogram", 11 | "libVersion": "1.9.93", 12 | "appid": "wxac98c9744131a615", 13 | "projectname": "%E5%B0%8F%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B", 14 | "condition": { 15 | "search": { 16 | "current": -1, 17 | "list": [] 18 | }, 19 | "conversation": { 20 | "current": -1, 21 | "list": [] 22 | }, 23 | "game": { 24 | "current": -1, 25 | "list": [] 26 | }, 27 | "miniprogram": { 28 | "current": -1, 29 | "list": [ 30 | { 31 | "id": -1, 32 | "name": "聊天", 33 | "pathName": "pages/interface/chatroom/chatroom", 34 | "query": "" 35 | }, 36 | { 37 | "id": -1, 38 | "name": "活动", 39 | "pathName": "pages/interface/article/index", 40 | "query": "" 41 | }, 42 | { 43 | "id": -1, 44 | "name": "test", 45 | "pathName": "pages/test/index", 46 | "query": "" 47 | } 48 | ] 49 | } 50 | } 51 | } -------------------------------------------------------------------------------- /Wxapps/Demo/style/footer.wxml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /author.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/idoubi/douchat/9c332a85daa1a2d6656f27f33525747a8a639fc3/author.png -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | 5.4.0 !'); 8 | } 9 | 10 | define('THINK_PATH', './ThinkPHP/'); // 定义thinkphp框架路径 11 | define('APP_PATH', './App/'); // 定义应用目录 12 | define('RUNTIME_PATH', './Runtime/'); // 定义缓存目录 13 | define('ADDON_PATH', './Addons/'); // 定义插件目录 14 | define('UPLOAD_PATH', './Uploads/'); // 上传目录 15 | define('SITE_PATH', dirname(__FILE__)); // 定义网站物理路径 16 | define('APP_DEBUG', true); // 开启调试模式 17 | define('NOW_TIME', time()); // 定义脚本执行时间 18 | $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://'; 19 | define('SITE_URL', str_replace('index.php', '', $http_type.$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME'])); 20 | 21 | if (!is_file(SITE_PATH.'/Data/install.lock')) { // 如果框架未安装,则跳转到安装页面 22 | $_GET['m'] = 'install'; 23 | } 24 | 25 | $_G = array(); // 声明全局变量 26 | 27 | require THINK_PATH . 'ThinkPHP.php'; // 引入ThinkPHP入口文件 28 | 29 | 30 | ?> --------------------------------------------------------------------------------