├── public ├── favicon.ico ├── robots.txt ├── uploads │ ├── content │ │ └── .gitignore │ └── images │ │ └── .gitignore ├── assets │ ├── icomoon.zip │ ├── img │ │ ├── dog.png │ │ ├── ipad.png │ │ ├── phones.png │ │ ├── intro-bg.jpg │ │ └── banner-bg.jpg │ ├── wechat_alipay.jpg │ ├── css │ │ ├── fonts │ │ │ ├── icomoon.eot │ │ │ ├── icomoon.ttf │ │ │ └── icomoon.woff │ │ └── lib │ │ │ └── reset.css │ └── s │ │ └── lato │ │ ├── lato-v11-latin_latin-ext-300.eot │ │ ├── lato-v11-latin_latin-ext-300.ttf │ │ ├── lato-v11-latin_latin-ext-700.eot │ │ ├── lato-v11-latin_latin-ext-700.ttf │ │ ├── lato-v11-latin_latin-ext-300.woff │ │ ├── lato-v11-latin_latin-ext-300.woff2 │ │ ├── lato-v11-latin_latin-ext-700.woff │ │ ├── lato-v11-latin_latin-ext-700.woff2 │ │ ├── lato-v11-latin_latin-ext-italic.eot │ │ ├── lato-v11-latin_latin-ext-italic.ttf │ │ ├── lato-v11-latin_latin-ext-italic.woff │ │ ├── lato-v11-latin_latin-ext-italic.woff2 │ │ ├── lato-v11-latin_latin-ext-regular.eot │ │ ├── lato-v11-latin_latin-ext-regular.ttf │ │ ├── lato-v11-latin_latin-ext-regular.woff │ │ ├── lato-v11-latin_latin-ext-300italic.eot │ │ ├── lato-v11-latin_latin-ext-300italic.ttf │ │ ├── lato-v11-latin_latin-ext-300italic.woff │ │ ├── lato-v11-latin_latin-ext-700italic.eot │ │ ├── lato-v11-latin_latin-ext-700italic.ttf │ │ ├── lato-v11-latin_latin-ext-700italic.woff │ │ ├── lato-v11-latin_latin-ext-regular.woff2 │ │ ├── lato-v11-latin_latin-ext-300italic.woff2 │ │ └── lato-v11-latin_latin-ext-700italic.woff2 ├── back │ ├── dist │ │ ├── css │ │ │ ├── skins.zip │ │ │ └── orignal.zip │ │ └── img │ │ │ ├── icons.png │ │ │ ├── boxed-bg.jpg │ │ │ ├── boxed-bg.png │ │ │ ├── favicon.ico │ │ │ ├── yas_logo.png │ │ │ ├── default-50x50.gif │ │ │ └── 20150417113714.jpg │ └── plugins │ │ └── ckeditor │ │ ├── plugins │ │ ├── imgupload │ │ │ ├── plugin.js │ │ │ └── README.rst │ │ ├── icons.png │ │ ├── icons_hidpi.png │ │ ├── link │ │ │ └── images │ │ │ │ ├── anchor.png │ │ │ │ └── hidpi │ │ │ │ └── anchor.png │ │ ├── smiley │ │ │ └── images │ │ │ │ ├── heart.gif │ │ │ │ ├── heart.png │ │ │ │ ├── kiss.gif │ │ │ │ ├── kiss.png │ │ │ │ ├── envelope.gif │ │ │ │ ├── envelope.png │ │ │ │ ├── cry_smile.gif │ │ │ │ ├── cry_smile.png │ │ │ │ ├── lightbulb.gif │ │ │ │ ├── lightbulb.png │ │ │ │ ├── omg_smile.gif │ │ │ │ ├── omg_smile.png │ │ │ │ ├── sad_smile.gif │ │ │ │ ├── sad_smile.png │ │ │ │ ├── thumbs_up.gif │ │ │ │ ├── thumbs_up.png │ │ │ │ ├── wink_smile.gif │ │ │ │ ├── wink_smile.png │ │ │ │ ├── angel_smile.gif │ │ │ │ ├── angel_smile.png │ │ │ │ ├── angry_smile.gif │ │ │ │ ├── angry_smile.png │ │ │ │ ├── broken_heart.gif │ │ │ │ ├── broken_heart.png │ │ │ │ ├── devil_smile.gif │ │ │ │ ├── devil_smile.png │ │ │ │ ├── regular_smile.gif │ │ │ │ ├── regular_smile.png │ │ │ │ ├── shades_smile.gif │ │ │ │ ├── shades_smile.png │ │ │ │ ├── teeth_smile.gif │ │ │ │ ├── teeth_smile.png │ │ │ │ ├── thumbs_down.gif │ │ │ │ ├── thumbs_down.png │ │ │ │ ├── tongue_smile.gif │ │ │ │ ├── tongue_smile.png │ │ │ │ ├── tounge_smile.gif │ │ │ │ ├── confused_smile.gif │ │ │ │ ├── confused_smile.png │ │ │ │ ├── embaressed_smile.gif │ │ │ │ ├── embarrassed_smile.gif │ │ │ │ ├── embarrassed_smile.png │ │ │ │ ├── whatchutalkingabout_smile.gif │ │ │ │ └── whatchutalkingabout_smile.png │ │ ├── image │ │ │ └── images │ │ │ │ └── noimage.png │ │ ├── magicline │ │ │ └── images │ │ │ │ ├── icon.png │ │ │ │ ├── hidpi │ │ │ │ ├── icon.png │ │ │ │ └── icon-rtl.png │ │ │ │ └── icon-rtl.png │ │ ├── widget │ │ │ └── images │ │ │ │ └── handle.png │ │ ├── flash │ │ │ └── images │ │ │ │ └── placeholder.png │ │ ├── forms │ │ │ └── images │ │ │ │ └── hiddenfield.gif │ │ ├── about │ │ │ └── dialogs │ │ │ │ ├── logo_ckeditor.png │ │ │ │ └── hidpi │ │ │ │ └── logo_ckeditor.png │ │ ├── iframe │ │ │ └── images │ │ │ │ └── placeholder.png │ │ ├── pagebreak │ │ │ └── images │ │ │ │ └── pagebreak.gif │ │ ├── showblocks │ │ │ └── images │ │ │ │ ├── block_div.png │ │ │ │ ├── block_h1.png │ │ │ │ ├── block_h2.png │ │ │ │ ├── block_h3.png │ │ │ │ ├── block_h4.png │ │ │ │ ├── block_h5.png │ │ │ │ ├── block_h6.png │ │ │ │ ├── block_p.png │ │ │ │ ├── block_pre.png │ │ │ │ ├── block_address.png │ │ │ │ └── block_blockquote.png │ │ ├── imgbrowse │ │ │ ├── LICENSE.txt │ │ │ └── plugin.js │ │ ├── codemirror │ │ │ └── theme │ │ │ │ ├── ambiance-mobile.css │ │ │ │ ├── neat.css │ │ │ │ ├── elegant.css │ │ │ │ ├── neo.css │ │ │ │ ├── eclipse.css │ │ │ │ ├── cobalt.css │ │ │ │ ├── monokai.css │ │ │ │ ├── rubyblue.css │ │ │ │ └── night.css │ │ ├── templates │ │ │ └── templates │ │ │ │ ├── images │ │ │ │ ├── template1.gif │ │ │ │ ├── template2.gif │ │ │ │ └── template3.gif │ │ │ │ └── default.js │ │ ├── codesnippet │ │ │ ├── lib │ │ │ │ └── highlight │ │ │ │ │ └── styles │ │ │ │ │ ├── pojoaque.jpg │ │ │ │ │ ├── school_book.png │ │ │ │ │ ├── brown_papersq.png │ │ │ │ │ ├── ascetic.css │ │ │ │ │ └── mono-blue.css │ │ │ └── dialogs │ │ │ │ └── codesnippet.js │ │ ├── dialog │ │ │ └── dialogDefinition.js │ │ ├── preview │ │ │ └── preview.html │ │ ├── specialchar │ │ │ └── dialogs │ │ │ │ └── lang │ │ │ │ └── _translationstatus.txt │ │ ├── a11yhelp │ │ │ └── dialogs │ │ │ │ └── lang │ │ │ │ └── _translationstatus.txt │ │ ├── wsc │ │ │ ├── README.md │ │ │ ├── dialogs │ │ │ │ └── wsc.css │ │ │ └── LICENSE.md │ │ └── scayt │ │ │ ├── README.md │ │ │ └── LICENSE.md │ │ ├── skins │ │ └── moono │ │ │ ├── icons.png │ │ │ ├── icons_hidpi.png │ │ │ └── images │ │ │ ├── arrow.png │ │ │ ├── close.png │ │ │ ├── lock.png │ │ │ ├── refresh.png │ │ │ ├── hidpi │ │ │ ├── close.png │ │ │ ├── lock.png │ │ │ ├── refresh.png │ │ │ └── lock-open.png │ │ │ └── lock-open.png │ │ └── config.js ├── vendor │ └── editor.md │ │ ├── images │ │ ├── loading.gif │ │ ├── logos │ │ │ ├── vi.png │ │ │ ├── editormd-logo-16x16.png │ │ │ ├── editormd-logo-24x24.png │ │ │ ├── editormd-logo-32x32.png │ │ │ ├── editormd-logo-48x48.png │ │ │ ├── editormd-logo-57x57.png │ │ │ ├── editormd-logo-64x64.png │ │ │ ├── editormd-logo-72x72.png │ │ │ ├── editormd-logo-96x96.png │ │ │ ├── editormd-favicon-16x16.ico │ │ │ ├── editormd-favicon-24x24.ico │ │ │ ├── editormd-favicon-32x32.ico │ │ │ ├── editormd-favicon-48x48.ico │ │ │ ├── editormd-favicon-64x64.ico │ │ │ ├── editormd-logo-114x114.png │ │ │ ├── editormd-logo-120x120.png │ │ │ ├── editormd-logo-144x144.png │ │ │ ├── editormd-logo-180x180.png │ │ │ ├── editormd-logo-240x240.png │ │ │ └── editormd-logo-320x320.png │ │ ├── loading@2x.gif │ │ └── loading@3x.gif │ │ ├── fonts │ │ ├── FontAwesome.otf │ │ ├── editormd-logo.eot │ │ ├── editormd-logo.ttf │ │ ├── editormd-logo.woff │ │ ├── fontawesome-webfont.eot │ │ ├── fontawesome-webfont.ttf │ │ ├── fontawesome-webfont.woff │ │ ├── fontawesome-webfont.woff2 │ │ └── editormd-logo.svg │ │ └── lib │ │ ├── codemirror │ │ ├── theme │ │ │ ├── ambiance-mobile.css │ │ │ ├── neat.css │ │ │ ├── elegant.css │ │ │ ├── neo.css │ │ │ └── eclipse.css │ │ ├── addon │ │ │ ├── display │ │ │ │ └── fullscreen.css │ │ │ ├── search │ │ │ │ └── matchesonscrollbar.css │ │ │ ├── fold │ │ │ │ └── foldgutter.css │ │ │ ├── dialog │ │ │ │ └── dialog.css │ │ │ ├── hint │ │ │ │ └── show-hint.css │ │ │ ├── mode │ │ │ │ └── multiplex_test.js │ │ │ ├── lint │ │ │ │ ├── yaml-lint.js │ │ │ │ ├── json-lint.js │ │ │ │ ├── css-lint.js │ │ │ │ └── coffeescript-lint.js │ │ │ ├── edit │ │ │ │ └── trailingspace.js │ │ │ ├── tern │ │ │ │ └── worker.js │ │ │ └── runmode │ │ │ │ └── colorize.js │ │ ├── mode │ │ │ ├── tiddlywiki │ │ │ │ └── tiddlywiki.css │ │ │ ├── ruby │ │ │ │ └── test.js │ │ │ ├── tiki │ │ │ │ └── tiki.css │ │ │ └── diff │ │ │ │ └── diff.js │ │ ├── bower.json │ │ ├── README.md │ │ ├── package.json │ │ └── LICENSE │ │ └── jquery.flowchart.min.js ├── lib │ └── s │ │ └── sourcesanspro │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-700.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-700.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300.woff2 │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600.woff2 │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-700.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-700.woff2 │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-italic.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-italic.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-italic.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-italic.woff2 │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-regular.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-regular.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-regular.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300italic.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300italic.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300italic.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-300italic.woff2 │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600italic.eot │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600italic.ttf │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600italic.woff │ │ ├── source-sans-pro-v9-vietnamese_latin_latin-ext-600italic.woff2 │ │ └── source-sans-pro-v9-vietnamese_latin_latin-ext-regular.woff2 ├── .htaccess └── web.config ├── douyasi ├── Models │ ├── .gitkeep │ ├── Category.php │ └── Article.php ├── Http │ └── Requests │ │ ├── .gitkeep │ │ └── CategoryRequest.php ├── AppException.php ├── helper.php ├── Dict.php ├── Providers │ └── DouyasiServiceProvider.php ├── Documentation │ └── MarkdownDocumentation.php └── Data │ └── BaseData.php ├── app ├── Listeners │ └── .gitkeep ├── Policies │ └── .gitkeep ├── Events │ ├── Event.php │ ├── UserLogin.php │ ├── UserLogout.php │ ├── UserUpdate.php │ └── UserUpload.php ├── Http │ ├── Requests │ │ └── Request.php │ ├── Controllers │ │ ├── Admin │ │ │ ├── BackController.php │ │ │ ├── DashboardController.php │ │ │ ├── PermissionController.php │ │ │ ├── DemoController.php │ │ │ └── MeController.php │ │ ├── Desktop │ │ │ └── FrontController.php │ │ ├── API │ │ │ ├── CommonController.php │ │ │ └── HomeController.php │ │ ├── Controller.php │ │ ├── MarkdownController.php │ │ └── Auth │ │ │ └── PasswordController.php │ └── Middleware │ │ ├── EncryptCookies.php │ │ ├── VerifyCsrfToken.php │ │ ├── PermissionDenied.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── Authenticate.php │ │ ├── BlockSite.php │ │ ├── ChangeLanguage.php │ │ ├── MultiSiteRedirectIfAuthenticated.php │ │ └── MultiSiteAuthenticate.php ├── Permission.php ├── SystemOption.php ├── Role.php ├── Providers │ ├── AppServiceProvider.php │ ├── EventServiceProvider.php │ ├── RouteServiceProvider.php │ └── AuthServiceProvider.php ├── Jobs │ ├── Job.php │ ├── ChangeLocale.php │ └── SetLocale.php ├── Member.php ├── SystemLog.php ├── Console │ ├── Commands │ │ └── Inspire.php │ └── Kernel.php ├── Interfaces │ └── IData.php ├── Repositories │ └── BaseRepository.php ├── Exceptions │ └── Handler.php └── Loggers │ └── SystemLogger.php ├── database ├── seeds │ ├── .gitkeep │ └── DatabaseSeeder.php ├── .gitignore ├── migrations │ ├── .gitkeep │ ├── 2018_08_15_093124_create_password_resets_table.php │ ├── 2018_08_15_092642_create_role_user_table.php │ ├── 2018_08_15_092241_create_system_options_table.php │ ├── 2018_08_15_092930_create_permission_role_table.php │ ├── 2018_08_15_095244_create_article_tag_relation_table.php │ ├── 2018_08_15_092532_create_roles_table.php │ ├── 2018_08_15_094606_create_tags_table.php │ ├── 2018_08_15_092814_create_permissions_table.php │ ├── 2018_08_15_091646_create_categories_table.php │ ├── 2018_08_15_081730_create_users_table.php │ ├── 2018_08_15_092107_create_system_logs_table.php │ └── 2018_08_15_091842_create_articles_table.php └── factories │ └── ModelFactory.php ├── resources ├── views │ ├── vendor │ │ └── .gitkeep │ ├── admin │ │ ├── errors │ │ │ ├── 403.blade.php │ │ │ └── 404.blade.php │ │ ├── back │ │ │ ├── starter.blade.php │ │ │ ├── cache │ │ │ │ └── index.blade.php │ │ │ ├── exceptions │ │ │ │ └── deny.blade.php │ │ │ └── log │ │ │ │ └── show.blade.php │ │ ├── scripts │ │ │ ├── endChosen.blade.php │ │ │ ├── endBuildHtml.blade.php │ │ │ └── endSimpleCKEditor.blade.php │ │ └── layout │ │ │ └── _layer.blade.php │ ├── desktop │ │ ├── parts │ │ │ └── pagination.blade.php │ │ ├── category.blade.php │ │ ├── index.blade.php │ │ └── detail.blade.php │ └── errors │ │ ├── 404.blade.php │ │ └── 503.blade.php ├── assets │ └── sass │ │ └── app.scss └── lang │ ├── zh-CN │ ├── pagination.php │ ├── auth.php │ └── passwords.php │ └── en │ ├── pagination.php │ ├── auth.php │ └── passwords.php ├── bootstrap ├── cache │ └── .gitignore └── autoload.php ├── storage ├── logs │ └── .gitignore ├── app │ ├── public │ │ └── .gitignore │ └── .gitignore └── framework │ ├── cache │ └── .gitignore │ ├── views │ └── .gitignore │ ├── sessions │ └── .gitignore │ └── .gitignore ├── .gitattributes ├── .gitignore ├── package.json ├── docs ├── index.md └── readme.md ├── tests ├── ExampleTest.php └── TestCase.php ├── gulpfile.js ├── config ├── editor.php ├── compile.php ├── services.php └── view.php ├── server.php ├── .env.example ├── phpunit.xml ├── permission.txt └── readme.md /public/favicon.ico: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /douyasi/Models/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/Listeners/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/Policies/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /database/seeds/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /database/migrations/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /douyasi/Http/Requests/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/views/vendor/.gitkeep: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/uploads/content/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /public/uploads/images/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.less linguist-vendored 4 | -------------------------------------------------------------------------------- /resources/views/admin/errors/403.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.back.exceptions.deny') 2 | -------------------------------------------------------------------------------- /public/assets/icomoon.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/icomoon.zip -------------------------------------------------------------------------------- /public/assets/img/dog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/img/dog.png -------------------------------------------------------------------------------- /public/assets/img/ipad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/img/ipad.png -------------------------------------------------------------------------------- /public/assets/img/phones.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/img/phones.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /node_modules 3 | /public/storage 4 | Homestead.yaml 5 | Homestead.json 6 | .env 7 | -------------------------------------------------------------------------------- /public/assets/img/intro-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/img/intro-bg.jpg -------------------------------------------------------------------------------- /public/back/dist/css/skins.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/css/skins.zip -------------------------------------------------------------------------------- /public/back/dist/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/img/icons.png -------------------------------------------------------------------------------- /public/assets/img/banner-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/img/banner-bg.jpg -------------------------------------------------------------------------------- /public/assets/wechat_alipay.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/assets/wechat_alipay.jpg -------------------------------------------------------------------------------- /public/back/dist/css/orignal.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/css/orignal.zip -------------------------------------------------------------------------------- /public/back/dist/img/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/img/boxed-bg.jpg -------------------------------------------------------------------------------- /public/back/dist/img/boxed-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/img/boxed-bg.png -------------------------------------------------------------------------------- /public/back/dist/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/img/favicon.ico -------------------------------------------------------------------------------- /public/back/dist/img/yas_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/dist/img/yas_logo.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/imgupload/plugin.js: -------------------------------------------------------------------------------- 1 | // Just an PHP Addon that not need JavaScript include. -------------------------------------------------------------------------------- /resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; 2 | 3 | -------------------------------------------------------------------------------- /app/Events/Event.php: -------------------------------------------------------------------------------- 1 | render() }} 3 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/flash/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/flash/images/placeholder.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/forms/images/hiddenfield.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/forms/images/hiddenfield.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/link/images/hidpi/anchor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/link/images/hidpi/anchor.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/cry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/cry_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/cry_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/cry_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/lightbulb.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/lightbulb.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/lightbulb.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/omg_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/omg_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/omg_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/omg_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/sad_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/sad_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/sad_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/sad_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/thumbs_up.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/thumbs_up.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/thumbs_up.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/thumbs_up.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/wink_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/wink_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/wink_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/wink_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/skins/moono/images/hidpi/refresh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/skins/moono/images/hidpi/refresh.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/about/dialogs/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/about/dialogs/logo_ckeditor.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/iframe/images/placeholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/iframe/images/placeholder.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/magicline/images/hidpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/magicline/images/hidpi/icon.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/magicline/images/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/magicline/images/icon-rtl.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/pagebreak/images/pagebreak.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/pagebreak/images/pagebreak.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_div.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_div.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_h1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_h1.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_h2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_h2.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_h3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_h3.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_h4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_h4.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_h5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_h5.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_h6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_h6.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_p.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_p.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_pre.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_pre.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/angel_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/angel_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/angel_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/angel_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/angry_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/angry_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/angry_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/angry_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/broken_heart.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/broken_heart.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/broken_heart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/broken_heart.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/devil_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/devil_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/devil_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/devil_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/regular_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/regular_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/regular_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/regular_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/shades_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/shades_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/shades_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/shades_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/teeth_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/teeth_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/teeth_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/teeth_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/thumbs_down.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/thumbs_down.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/thumbs_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/thumbs_down.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/tongue_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/tongue_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/tongue_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/tongue_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/tounge_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/tounge_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/skins/moono/images/hidpi/lock-open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/skins/moono/images/hidpi/lock-open.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/confused_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/confused_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/confused_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/confused_smile.png -------------------------------------------------------------------------------- /public/vendor/editor.md/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/back/plugins/ckeditor/plugins/imgbrowse/LICENSE.txt: -------------------------------------------------------------------------------- 1 | 2 | Copyright (c) 2014, MarPlo - http;//www.marplo.net/ - http://coursesweb.neet/ 3 | 4 | FREE TO USE, AND CHANGE, FOR EVERY ONE. -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/showblocks/images/block_address.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_address.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/embaressed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/embaressed_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/embarrassed_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/embarrassed_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/embarrassed_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/embarrassed_smile.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/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/back/plugins/ckeditor/plugins/showblocks/images/block_blockquote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/showblocks/images/block_blockquote.png -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/templates/templates/images/template1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/templates/templates/images/template1.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/templates/templates/images/template2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/templates/templates/images/template2.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/templates/templates/images/template3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/templates/templates/images/template3.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.eot -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.ttf -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.eot -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.ttf -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.eot -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.ttf -------------------------------------------------------------------------------- /public/vendor/editor.md/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/back/plugins/ckeditor/plugins/codesnippet/lib/highlight/styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/back/plugins/ckeditor/plugins/codesnippet/lib/highlight/styles/pojoaque.jpg -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.woff -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-300.woff2 -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.woff -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-600.woff2 -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.woff -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-700.woff2 -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-italic.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-italic.eot -------------------------------------------------------------------------------- /public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-italic.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yascmf/base/HEAD/public/lib/s/sourcesanspro/source-sans-pro-v9-vietnamese_latin_latin-ext-italic.ttf -------------------------------------------------------------------------------- /app/Http/Requests/Request.php: -------------------------------------------------------------------------------- 1 | belongsToMany(Role::class); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /douyasi/AppException.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class AppException extends \Exception 14 | { 15 | 16 | } 17 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | 导航 2 | * [YASCMF/BASE](https://github.com/yascmf/base) 3 | * [芽丝博客](http://blog.yascmf.com/) 4 | 5 | 基础文档 6 | * [读我](readme.md) 7 | * [项目开发指南](guide.md) 8 | * [Git设置与使用帮助](git.md) 9 | 10 | YASCMF官方文档 11 | * [安装](install.md) 12 | * [更多](http://www.yascmf.com/docs/index) 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/readme.md: -------------------------------------------------------------------------------- 1 | # 芽丝内容管理框架文档 (YASCMF Documentation) 2 | 3 | > 官方在线文档地址: 4 | 5 | http://www.yascmf.com/docs/index 6 | 7 | ### 贡献代码 8 | 9 | 你可以 `Fork` 本项目,修改代码,向原作者发出 `pull request` ,合理有效的请求会被接受并入到官方的 `master` 版本中。 10 | 11 | 当然,如果有使用或者开发上的问题,也可提出新的 [issue](https://github.com/yascmf/docs/issues/new) 。 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/SystemOption.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class SystemOption extends Model 13 | { 14 | 15 | protected $table = 'system_options'; 16 | 17 | public $timestamps = false; //关闭自动更新时间戳 18 | } 19 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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/back/plugins/ckeditor/plugins/preview/preview.html: -------------------------------------------------------------------------------- 1 | 14 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /app/Http/Controllers/Admin/BackController.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class BackController extends Controller 14 | { 15 | 16 | public function __construct() 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/Http/Controllers/Admin/DashboardController.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class DashboardController extends BackController 13 | { 14 | 15 | public function getIndex() 16 | { 17 | return view('admin.back.dashboard.index'); 18 | } 19 | 20 | } 21 | -------------------------------------------------------------------------------- /app/Http/Controllers/Desktop/FrontController.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class FrontController extends Controller 14 | { 15 | 16 | public function __construct() 17 | { 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /app/Http/Controllers/API/CommonController.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class CommonController extends Controller 14 | { 15 | 16 | public function __construct() 17 | { 18 | 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /app/Http/Middleware/EncryptCookies.php: -------------------------------------------------------------------------------- 1 | 8 | 起步 9 | 10 | 11 | 15 | @stop 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/Events/UserLogin.php: -------------------------------------------------------------------------------- 1 | user = $user; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/Events/UserLogout.php: -------------------------------------------------------------------------------- 1 | user = $user; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/Events/UserUpdate.php: -------------------------------------------------------------------------------- 1 | user = $user; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/Role.php: -------------------------------------------------------------------------------- 1 | belongsToMany(Permission::class); 15 | } 16 | 17 | public function givePermissionTo($permission) 18 | { 19 | return $this->perms()->save($permission); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /douyasi/helper.php: -------------------------------------------------------------------------------- 1 | getDict($dot_key, $default); 23 | } 24 | -------------------------------------------------------------------------------- /douyasi/Models/Category.php: -------------------------------------------------------------------------------- 1 | call('UsersTableSeeder'); 15 | $this->call('SystemOptionsSeeder'); 16 | $this->call('UserRolePermissionSeeder'); 17 | $this->call('CategoriesAndArticlesSeeder'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /tests/ExampleTest.php: -------------------------------------------------------------------------------- 1 | visit('/') 17 | ->see('Laravel 5'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /resources/views/errors/404.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 404 Not Found! 5 | 6 | 7 |

404 Not Found!

8 |

Go To {{ request()->header('HOST') }}

9 |

powered by YASCMF

10 | 11 | -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | user = $user; //用户信息 object 22 | $this->file = $file; //文件信息 array 23 | $this->type = $type; //文件类型 string ('pictrue' 或 'document') 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | } -------------------------------------------------------------------------------- /app/Jobs/Job.php: -------------------------------------------------------------------------------- 1 | 'true', //emoji表情 10 | 'toc' => 'true', //目录 11 | 'tocm' => 'false', //目录下拉菜单 12 | 'taskList' => 'true', //任务列表 13 | 'flowChart' => 'false', //流程图 14 | 'tex' => 'false', //开启科学公式TeX语言支持,默认关闭 15 | 'imageUpload' => 'true', //图片上传支持 16 | 'saveHTMLToTextarea' => 'true', //保存 HTML 到 Textarea 17 | 'codeFold' => 'true', //代码折叠 18 | 'sequenceDiagram' => 'false', //开启时序/序列图支持,默认关闭 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/zh-CN/pagination.php: -------------------------------------------------------------------------------- 1 | '« 上一页', 17 | 'next' => '下一页 »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /app/Http/Controllers/MarkdownController.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | 15 | class MarkdownController extends Controller 16 | { 17 | 18 | /** 19 | * 解析Markdown文档并生存响应页面 20 | * @param string $md markdown文档 21 | * @return Response 22 | */ 23 | public function getMarkdownDoc(MarkdownDocumentation $doc, $md) { 24 | 25 | return $doc->parseMarkdownFile($md, 'docs'); 26 | 27 | } 28 | 29 | } 30 | -------------------------------------------------------------------------------- /app/Http/Middleware/PermissionDenied.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class PermissionDenied 13 | { 14 | 15 | /** 16 | * Handle an incoming request. 17 | * 18 | * @param \Illuminate\Http\Request $request 19 | * @param \Closure $next 20 | * @return mixed 21 | */ 22 | public function handle($request, Closure $next) 23 | { 24 | return response()->view('admin.back.exceptions.deny', array(), 403); 25 | return $next($request); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /app/SystemLog.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class SystemLog extends Model 13 | { 14 | 15 | protected $table = 'system_logs'; 16 | 17 | protected $fillable = ['user_id', 'type', 'url', 'content', 'operator_ip']; 18 | 19 | /** 20 | * 操作用户 21 | * 模型对象关系:系统日志对应的操作用户 22 | * 23 | * @return Illuminate\Database\Eloquent\Relations\BelongsTo 24 | */ 25 | public function user() 26 | { 27 | return $this->belongsTo('App\User', 'user_id', 'id'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Redirect Trailing Slashes If Not A Folder... 9 | RewriteCond %{REQUEST_FILENAME} !-d 10 | RewriteRule ^(.*)/$ /$1 [L,R=301] 11 | 12 | # Handle Front Controller... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_FILENAME} !-f 15 | RewriteRule ^ index.php [L] 16 | 17 | # Handle Authorization Header 18 | RewriteCond %{HTTP:Authorization} . 19 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 20 | 21 | -------------------------------------------------------------------------------- /resources/views/admin/back/cache/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layout._back') 2 | 3 | @section('content-header') 4 | @parent 5 |

6 | 控制面板 7 | 重建缓存 8 |

9 | 13 | @stop 14 | 15 | @section('content') 16 |
17 |

提示

18 |

重建缓存成功!

19 |
20 | @stop 21 | -------------------------------------------------------------------------------- /resources/lang/zh-CN/auth.php: -------------------------------------------------------------------------------- 1 | '用户名或密码错误。', 17 | 'throttle' => '您的尝试登录次数过多. 请 :seconds 秒后再试。', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/views/admin/errors/404.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layout._back') 2 | 3 | @section('content-header') 4 | @parent 5 |

6 | 异常 7 | 8 |

9 | 13 | @stop 14 | 15 | @section('content') 16 |
17 |

404错误 未找到该页面

18 |

404错误,未找到该页面,请访问其它页面节点!

19 |
20 | @stop 21 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | make(Illuminate\Contracts\Console\Kernel::class)->bootstrap(); 22 | 23 | return $app; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /server.php: -------------------------------------------------------------------------------- 1 | 8 | */ 9 | 10 | $uri = urldecode( 11 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 12 | ); 13 | 14 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 15 | // built-in PHP web server. This provides a convenient way to test a Laravel 16 | // application without having installed a "real" web server software here. 17 | if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 18 | return false; 19 | } 20 | 21 | require_once __DIR__.'/public/index.php'; 22 | -------------------------------------------------------------------------------- /app/Http/Middleware/RedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /resources/views/admin/back/exceptions/deny.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layout._back') 2 | 3 | @section('content-header') 4 | @parent 5 |

6 | 异常 7 | 8 |

9 | 13 | @stop 14 | 15 | @section('content') 16 |
17 |

异常警告:403错误 权限不足

18 |

您没有权限访问当前页面内容,请联系超级管理员或访问其它页面节点!

19 |
20 | @stop 21 | 22 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /resources/lang/zh-CN/passwords.php: -------------------------------------------------------------------------------- 1 | '密码至少是六位字符并且匹配。', 17 | 'reset' => '密码重置成功!', 18 | 'sent' => '密码重置邮件已发送!', 19 | 'token' => '密码重置令牌无效。', 20 | 'user' => '找不到该邮箱对应的用户。', 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /database/factories/ModelFactory.php: -------------------------------------------------------------------------------- 1 | define(App\User::class, function (Faker\Generator $faker) { 15 | return [ 16 | 'name' => $faker->name, 17 | 'email' => $faker->safeEmail, 18 | 'password' => bcrypt(str_random(10)), 19 | 'remember_token' => str_random(10), 20 | ]; 21 | }); 22 | -------------------------------------------------------------------------------- /app/Console/Commands/Inspire.php: -------------------------------------------------------------------------------- 1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire') 28 | // ->hourly(); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/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 | -------------------------------------------------------------------------------- /app/Interfaces/IData.php: -------------------------------------------------------------------------------- 1 | 9 | */ 10 | Interface IData 11 | { 12 | 13 | /** 14 | * 资源列表 15 | * 16 | * @param array $data 必须传入与模型查询相关的数据 17 | * @param string|array $extra 可选额外传入的参数 18 | * @param string $size 分页大小(存在默认值) 19 | * @return Illuminate\Support\Collection|Object-Array (Collection)结果集对象|对象数组 20 | */ 21 | public function index($data, $extra, $size); 22 | 23 | /** 24 | * 特定ID资源 25 | * 26 | * @param int|string $id 主键ID 27 | * @param string|array $extra 可选额外传入的参数 28 | * @return App\Model|Qucheng\Models\Model|Object (模型)对象 29 | */ 30 | public function find($id, $extra); 31 | 32 | } 33 | -------------------------------------------------------------------------------- /resources/views/admin/scripts/endChosen.blade.php: -------------------------------------------------------------------------------- 1 | {{--chosen--}} 2 | 3 | 4 | 5 | 17 | 18 | -------------------------------------------------------------------------------- /douyasi/Models/Article.php: -------------------------------------------------------------------------------- 1 | hasOne('Douyasi\Models\Category', 'id', 'cid'); 30 | } 31 | 32 | } 33 | -------------------------------------------------------------------------------- /app/Http/Middleware/Authenticate.php: -------------------------------------------------------------------------------- 1 | guest()) { 21 | if ($request->ajax() || $request->wantsJson()) { 22 | return response('Unauthorized.', 401); 23 | } else { 24 | return redirect()->guest('login'); 25 | } 26 | } 27 | 28 | return $next($request); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | APP_ENV=local 2 | APP_DEBUG=true 3 | APP_KEY=4fXSYZITSteq6jq0Zr5u2x5Tt3J4O9kF 4 | APP_URL=http://localhost 5 | 6 | DB_HOST=127.0.0.1 7 | DB_DATABASE=yascmf_base 8 | DB_USERNAME=homestead 9 | DB_PASSWORD=secret 10 | DB_PREFIX=yascmf_ 11 | 12 | CACHE_DRIVER=file 13 | SESSION_DRIVER=file 14 | QUEUE_DRIVER=sync 15 | 16 | REDIS_HOST=127.0.0.1 17 | REDIS_PASSWORD=null 18 | REDIS_PORT=6379 19 | 20 | MAIL_DRIVER=smtp 21 | MAIL_HOST=mailtrap.io 22 | MAIL_PORT=2525 23 | MAIL_USERNAME=null 24 | MAIL_PASSWORD=null 25 | MAIL_ENCRYPTION=null 26 | 27 | #When using `php artisan serve` to start YASCMF website , please set DESKTP_SITE value to `//localhost:8000` . 28 | 29 | #DESKTOP_SITE=//localhost:8000 30 | 31 | DESKTOP_SITE=//base.yascmf.dev 32 | API_SITE=//base.yascmf.dev 33 | ADMIN_SITE=//base.yascmf.dev 34 | DOC_SITE=//base.yascmf.dev 35 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or http://ckeditor.com/license 3 | 4 | cs.js Found: 118 Missing: 0 5 | cy.js Found: 118 Missing: 0 6 | de.js Found: 118 Missing: 0 7 | el.js Found: 16 Missing: 102 8 | eo.js Found: 118 Missing: 0 9 | et.js Found: 31 Missing: 87 10 | fa.js Found: 24 Missing: 94 11 | fi.js Found: 23 Missing: 95 12 | fr.js Found: 118 Missing: 0 13 | hr.js Found: 23 Missing: 95 14 | it.js Found: 118 Missing: 0 15 | nb.js Found: 118 Missing: 0 16 | nl.js Found: 118 Missing: 0 17 | no.js Found: 118 Missing: 0 18 | tr.js Found: 118 Missing: 0 19 | ug.js Found: 39 Missing: 79 20 | zh-cn.js Found: 118 Missing: 0 21 | -------------------------------------------------------------------------------- /app/Jobs/ChangeLocale.php: -------------------------------------------------------------------------------- 1 | set($sid, $lng); 30 | } 31 | } 32 | 33 | } 34 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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/vendor/editor.md/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 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_093124_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token')->index(); 19 | $table->timestamp('created_at'); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::drop('password_resets'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/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/vendor/editor.md/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 | -------------------------------------------------------------------------------- /resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_092642_create_role_user_table.php: -------------------------------------------------------------------------------- 1 | integer('user_id')->unsigned(); 18 | $table->integer('role_id')->unsigned()->index('role_user_role_id_foreign'); 19 | $table->primary(['user_id','role_id']); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('role_user'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Repositories/BaseRepository.php: -------------------------------------------------------------------------------- 1 | model->findOrFail($id); 26 | } 27 | 28 | 29 | /** 30 | * IRepository接口destory方法 31 | * [为保证数据完整性,一般不 销毁/删除 某数据对象,故此接口方法废弃不用,只空写实现体] 32 | * 33 | * @param int $id 34 | * @param string|array $extra 35 | * @return void 36 | */ 37 | public function destroy($id = 0, $extra = '') 38 | { 39 | return; 40 | } 41 | 42 | 43 | } 44 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_092241_create_system_options_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name', 32)->unique('system_option_name_unique')->comment('配置选项名'); 19 | $table->text('value', 65535)->nullable()->comment('配置选项值'); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('system_options'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_092930_create_permission_role_table.php: -------------------------------------------------------------------------------- 1 | integer('permission_id')->unsigned(); 18 | $table->integer('role_id')->unsigned()->index('permission_role_role_id_foreign'); 19 | $table->primary(['permission_id', 'role_id']); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::drop('permission_role'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_095244_create_article_tag_relation_table.php: -------------------------------------------------------------------------------- 1 | integer('article_id')->unsigned(); 18 | $table->integer('tag_id')->unsigned()->index('article_tag_relation_tag_id_foreign'); 19 | $table->primary(['article_id', 'tag_id']); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('article_tag_relation'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_092532_create_roles_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name', 40)->unique('roles_name_unique'); 19 | $table->string('display_name', 80)->nullable(); 20 | $table->string('description', 160)->nullable(); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('roles'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/ 14 | 15 | 16 | 17 | 18 | app/ 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/PasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_094606_create_tags_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name', 50)->comment('标签名称'); 19 | $table->string('description', 255)->comment('标签描述'); 20 | $table->bigInteger('ref_count')->default(0)->unsigned()->comment('被引用次数'); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('tags'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/desktop/category.blade.php: -------------------------------------------------------------------------------- 1 | @extends('desktop.layout._base') 2 | 3 | 4 | @section('mainContent') 5 |
6 |

7 |
8 | {{ $category->name }}分类下共有 {{ $count }} 篇文章 9 |
10 | 21 |
22 | @include('desktop.parts.pagination', ['paginator' => $articles]) 23 |
24 |
25 | @endsection -------------------------------------------------------------------------------- /database/migrations/2018_08_15_092814_create_permissions_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name', 50)->unique('permissions_name_unique'); 19 | $table->string('display_name', 100)->nullable(); 20 | $table->string('description')->nullable(); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('permissions'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/Http/Controllers/Admin/PermissionController.php: -------------------------------------------------------------------------------- 1 | 13 | */ 14 | class PermissionController extends BackController 15 | { 16 | 17 | /** 18 | * The RoleRepository instance. 19 | * 20 | * @var App\Repositories\RoleRepository 21 | */ 22 | protected $role; 23 | 24 | public function __construct( 25 | RoleRepository $role) 26 | { 27 | parent::__construct(); 28 | $this->role = $role; 29 | if (Gate::denies('@permission')) { 30 | $this->middleware('deny403'); 31 | } 32 | } 33 | 34 | public function index() 35 | { 36 | // 37 | $permissions = $this->role->permissions(); //获取所有权限许可 38 | return view('admin.back.permission.index', compact('permissions')); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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/back/plugins/ckeditor/config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. 3 | * For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | 6 | CKEDITOR.editorConfig = function( config ) { 7 | // Define changes to default configuration here. For example: 8 | // config.language = 'fr'; 9 | // config.uiColor = '#AADC6E'; 10 | config.pasteFromWordRemoveStyles = true; //从word中粘贴内容时是否移除格式  11 | config.forcePasteAsPlainText = true; //是否强制复制来的内容去除格式,false为不去除  12 | config.image_previewText=' '; 13 | config.filebrowserImageUploadUrl = "/back/plugins/ckeditor/plugins/imgupload/imgupload.php"; 14 | config.filebrowserBrowseUrl = "/back/plugins/ckeditor/plugins/imgbrowse/imgbrowse.html?imgroot=/uploads/images/"; 15 | config.font_names='宋体/宋体, SimSun;'+'微软雅黑/微软雅黑, Microsoft YaHei;'+'黑体/黑体, SimHei;'+'楷体/楷体, 楷体_GB2312, SimKai;'+'隶书/隶书, SimLi;'+ config.font_names; 16 | config.defaultLanguage = 'zh-cn'; 17 | config.font_defaultLabel = '宋体'; 18 | }; 19 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. 2 | For licensing, see LICENSE.md or http://ckeditor.com/license 3 | 4 | cs.js Found: 30 Missing: 0 5 | cy.js Found: 30 Missing: 0 6 | da.js Found: 12 Missing: 18 7 | de.js Found: 30 Missing: 0 8 | el.js Found: 25 Missing: 5 9 | eo.js Found: 30 Missing: 0 10 | fa.js Found: 30 Missing: 0 11 | fi.js Found: 30 Missing: 0 12 | fr.js Found: 30 Missing: 0 13 | gu.js Found: 12 Missing: 18 14 | he.js Found: 30 Missing: 0 15 | it.js Found: 30 Missing: 0 16 | mk.js Found: 5 Missing: 25 17 | nb.js Found: 30 Missing: 0 18 | nl.js Found: 30 Missing: 0 19 | no.js Found: 30 Missing: 0 20 | pt-br.js Found: 30 Missing: 0 21 | ro.js Found: 6 Missing: 24 22 | tr.js Found: 30 Missing: 0 23 | ug.js Found: 27 Missing: 3 24 | vi.js Found: 6 Missing: 24 25 | zh-cn.js Found: 30 Missing: 0 26 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /resources/views/admin/scripts/endBuildHtml.blade.php: -------------------------------------------------------------------------------- 1 | {{-- build_html --}} 2 | function build_html(status,info,operation){ 3 | if(status === 1){ 4 | var html = [ 5 | '
', 6 | '

' + operation + '成功!

', 7 | '

本提示栏2秒之后自动关闭!

', 8 | '
', 9 | ].join(''); 10 | } 11 | else{ 12 | var html = [ 13 | '
', 14 | '

' + operation + '失败!

', 15 | '
', 16 | '

' + info + '

', 17 | '
', 18 | '

本提示栏2秒之后自动关闭!

', 19 | '
', 20 | ].join(''); 21 | } 22 | return html; 23 | } 24 | -------------------------------------------------------------------------------- /douyasi/Dict.php: -------------------------------------------------------------------------------- 1 | [ 15 | 0 => '无', 16 | 1 => '有', 17 | ], 18 | //系统日志类型 19 | 'log_type' => [ 20 | 'session' => '会话', //会话日志 [登录登出相关] 21 | 'upload' => '上传', //上传日志 [上传相关,不包括通过编辑器上传的] 22 | 'security' => '安全', //安全日志 23 | 'system' => '系统', //系统日志 [系统程序自动触发类型的日志] 24 | 'mail' => '邮件', //邮件日志 [记录邮件发送相关日志] 25 | 'management' => '管理', //管理日志 [管理相关,主要包括增改管理员用户、增改角色、修改系统配置参数等] 26 | 'error' => '错误', //错误日志 [主要记录访问400与500类型的错误] 27 | ], 28 | ]; 29 | if(is_null($dot_key)) { 30 | return null; 31 | } 32 | return array_get($dict, $dot_key, $default); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_091646_create_categories_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name', 20)->comment('分类别名'); 19 | $table->integer('sort')->nullable()->default(999)->comment('排序,序号越大越靠前'); 20 | $table->string('slug', 100)->unique('unique_slug')->comment('分类英文或拼音别名'); 21 | $table->timestamps(); 22 | }); 23 | } 24 | 25 | /** 26 | * Reverse the migrations. 27 | * 28 | * @return void 29 | */ 30 | public function down() 31 | { 32 | Schema::dropIfExists('categories'); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /resources/views/admin/scripts/endSimpleCKEditor.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 18 | -------------------------------------------------------------------------------- /app/Jobs/SetLocale.php: -------------------------------------------------------------------------------- 1 | detect($site_langs); 25 | } else { 26 | $preferral_language = Request::getPreferredLanguage($site_langs); 27 | } 28 | 29 | if (!session()->has($sid)) { 30 | session()->put($sid, $preferral_language); 31 | } 32 | 33 | app()->setLocale(session($sid)); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/wsc/README.md: -------------------------------------------------------------------------------- 1 | CKEditor WebSpellChecker Plugin 2 | =============================== 3 | 4 | This plugin brings Web Spell Checker (WSC) into CKEditor. 5 | 6 | WSC is "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. 7 | 8 | Installation 9 | ------------ 10 | 11 | 1. Clone/copy this repository contents in a new "plugins/wsc" folder in your CKEditor installation. 12 | 2. Enable the "wsc" plugin in the CKEditor configuration file (config.js): 13 | 14 | config.extraPlugins = 'wsc'; 15 | 16 | That's all. WSC will appear on the editor toolbar and will be ready to use. 17 | 18 | License 19 | ------- 20 | 21 | Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). 22 | 23 | See LICENSE.md for more information. 24 | 25 | Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). 26 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/scayt/README.md: -------------------------------------------------------------------------------- 1 | CKEditor SCAYT Plugin 2 | ===================== 3 | 4 | This plugin brings Spell Check As You Type (SCAYT) into up to CKEditor 4+. 5 | 6 | SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. 7 | 8 | Installation 9 | ------------ 10 | 11 | 1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. 12 | 2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): 13 | 14 | config.extraPlugins = 'scayt'; 15 | 16 | That's all. SCAYT will appear on the editor toolbar and will be ready to use. 17 | 18 | License 19 | ------- 20 | 21 | Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). 22 | 23 | See LICENSE.md for more information. 24 | 25 | Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). 26 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/codesnippet/lib/highlight/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; padding: 0.5em; 9 | background: white; color: black; 10 | } 11 | 12 | .hljs-string, 13 | .hljs-tag .hljs-value, 14 | .hljs-filter .hljs-argument, 15 | .hljs-addition, 16 | .hljs-change, 17 | .apache .hljs-tag, 18 | .apache .hljs-cbracket, 19 | .nginx .hljs-built_in, 20 | .tex .hljs-formula { 21 | color: #888; 22 | } 23 | 24 | .hljs-comment, 25 | .hljs-template_comment, 26 | .hljs-shebang, 27 | .hljs-doctype, 28 | .hljs-pi, 29 | .hljs-javadoc, 30 | .hljs-deletion, 31 | .apache .hljs-sqbracket { 32 | color: #CCC; 33 | } 34 | 35 | .hljs-keyword, 36 | .hljs-tag .hljs-title, 37 | .ini .hljs-title, 38 | .lisp .hljs-title, 39 | .clojure .hljs-title, 40 | .http .hljs-title, 41 | .nginx .hljs-title, 42 | .css .hljs-tag, 43 | .hljs-winutils, 44 | .hljs-flow, 45 | .apache .hljs-tag, 46 | .tex .hljs-command, 47 | .hljs-request, 48 | .hljs-status { 49 | font-weight: bold; 50 | } 51 | -------------------------------------------------------------------------------- /public/vendor/editor.md/fonts/editormd-logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Generated by IcoMoon 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/Providers/EventServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'App\Listeners\EventListener', 18 | ], 19 | ]; 20 | 21 | /** 22 | * The subscriber classes to register. 23 | * 24 | * @var array 25 | */ 26 | protected $subscribe = [ 27 | 'App\Listeners\UserEventListener', 28 | ]; 29 | 30 | /** 31 | * Register any other events for your application. 32 | * 33 | * @param \Illuminate\Contracts\Events\Dispatcher $events 34 | * @return void 35 | */ 36 | public function boot(DispatcherContract $events) 37 | { 38 | parent::boot($events); 39 | 40 | // 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Http/Controllers/API/HomeController.php: -------------------------------------------------------------------------------- 1 | 404, 17 | 'error' => '404 Not Found', 18 | 'error_description' => 'please read documentation at `http://www.yascmf.com/docs/api.md`', 19 | ]; 20 | return new JsonResponse($json, '404'); 21 | } 22 | 23 | /** 24 | * 汉字转拼音 25 | * 由内建的第三方composer包 `overtrue/laravel-pinyin` 提供 26 | */ 27 | public function getPinyin(Request $request) 28 | { 29 | $content = $request->input('content'); 30 | $pinyin = new Pinyin(); 31 | $slug = $pinyin->permalink(strtolower($content)); 32 | $data = [ 33 | 'status' => 1, 34 | 'content' => $content, 35 | 'slug' => $slug, 36 | ]; 37 | return new JsonResponse($data); 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /config/compile.php: -------------------------------------------------------------------------------- 1 | [ 17 | // 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled File Providers 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may list service providers which define a "compiles" function 26 | | that returns additional files that should be compiled, providing an 27 | | easy way to get common files from any packages you are utilizing. 28 | | 29 | */ 30 | 31 | 'providers' => [ 32 | // 33 | ], 34 | 35 | ]; 36 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | ], 21 | 22 | 'mandrill' => [ 23 | 'secret' => env('MANDRILL_SECRET'), 24 | ], 25 | 26 | 'ses' => [ 27 | 'key' => env('SES_KEY'), 28 | 'secret' => env('SES_SECRET'), 29 | 'region' => 'us-east-1', 30 | ], 31 | 32 | 'stripe' => [ 33 | 'model' => App\User::class, 34 | 'key' => env('STRIPE_KEY'), 35 | 'secret' => env('STRIPE_SECRET'), 36 | ], 37 | 38 | ]; 39 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | realpath(base_path('resources/views')), 18 | ], 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Compiled View Path 23 | |-------------------------------------------------------------------------- 24 | | 25 | | This option determines where all the compiled Blade templates will be 26 | | stored for your application. Typically, this is within the storage 27 | | directory. However, as usual, you are free to change this value. 28 | | 29 | */ 30 | 31 | 'compiled' => realpath(storage_path('framework/views')), 32 | 33 | ]; 34 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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/vendor/editor.md/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/back/plugins/ckeditor/plugins/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 | -------------------------------------------------------------------------------- /resources/views/admin/layout/_layer.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin.layout._base') 2 | 3 | @section('title') Layer - YASCMF @stop 4 | 5 | @section('meta') 6 | 7 | @stop 8 | 9 | @section('head_css') 10 | 11 | 12 | 13 | @stop 14 | 15 | @section('head_js') 16 | 17 | 18 | @stop 19 | 20 | @section('body') 21 |
{{-- 自定义关闭 按钮 --}} 22 | close 23 |
24 |
25 | @section('mainLayerCon') 26 | @show{{-- layer表单页面主体内容 --}} 27 |
28 | @stop 29 | 30 | @section('afterBody') 31 | @parent 32 | @section('endChosen') 33 | @show{{-- chosen下拉选择表单 --}} 34 | @section('endLayerJS') 35 | @show{{-- layer响应部分事件JS --}} 36 | @stop 37 | -------------------------------------------------------------------------------- /app/Http/Middleware/BlockSite.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | class BlockSite 17 | { 18 | 19 | /** 20 | * Handle an incoming request. 21 | * 22 | * @param \Illuminate\Http\Request $request 23 | * @param \Closure $next 24 | * @param string $site 25 | * @return mixed 26 | */ 27 | public function handle($request, Closure $next, $site) 28 | { 29 | 30 | $host = ltrim(url('/'), 'http:'); 31 | $host = ltrim($host, 'https:'); 32 | $site_host = ltrim(config('site.route.domain.'.$site), 'http:'); 33 | $site_host = ltrim($site_host, 'https:'); 34 | $site_host = rtrim($site_host, '/'); 35 | try { 36 | if($host !== $site_host) { 37 | throw new Exception('403 site blocked !'); 38 | } 39 | } catch (Exception $e) { 40 | return abort(403, $e->getMessage()); 41 | } 42 | return $next($request); 43 | 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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/back/plugins/ckeditor/plugins/imgupload/README.rst: -------------------------------------------------------------------------------- 1 | CKEditor Free PHP Image Uploader Addon, `From: ` 2 | ============================= 3 | 4 | **imgupload** is a `CKEditor `_ addon that can be used to upload images on server with CKEditor. 5 | 6 | This addon integrates with the **image** plugin (part of CKEditor), 7 | by making it provide a **Upload** tab-button in the Image dialog window. 8 | 9 | To use the upload addon 10 | ------------------------ 11 | 12 | Open the ``imgupload.php`` file and change the value of $upload_dir variable (line 5), to replace the default path to the folder with images-directory on your server, RELATIVE TO THE ROOT OF YOUR WEBSITE ON SERVER. 13 | 14 | Copy the ``imgupload.php`` file into ``plugins/`` directory in your CKEditor install. 15 | 16 | Sets CHMOD writable permision (0777) to image-upload folder on your server (if on Linux system), to allow PHP to upload the files 17 | 18 | Enable the plugin by adding the `filebrowserImageUploadUrl` parameter:: 19 | 20 | CKEDITOR.replace('textareaId', { 21 | "filebrowserImageUploadUrl": "/path_to/ckeditor/plugins/imgupload.php" 22 | }); 23 | 24 | -------------------------------------------------------------------------------- /resources/views/desktop/index.blade.php: -------------------------------------------------------------------------------- 1 | @extends('desktop.layout._base') 2 | 3 | 4 | @section('mainContent') 5 | 6 |
7 | 21 |
22 | @include('desktop.parts.pagination', ['paginator' => $articles]) 23 |
24 |
25 | 26 | @endsection -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/codesnippet/dialogs/codesnippet.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | (function(){CKEDITOR.dialog.add("codeSnippet",function(c){var b=c._.codesnippet.langs,d=c.lang.codesnippet,g=document.documentElement.clientHeight,e=[],f;e.push([c.lang.common.notSet,""]);for(f in b)e.push([b[f],f]);b=CKEDITOR.document.getWindow().getViewPaneSize();c=Math.min(b.width-70,800);b=b.height/1.5;650>g&&(b=g-220);return{title:d.title,minHeight:200,resizable:CKEDITOR.DIALOG_RESIZE_NONE,contents:[{id:"info",elements:[{id:"lang",type:"select",label:d.language,items:e,setup:function(a){a.ready&& 6 | a.data.lang&&this.setValue(a.data.lang);if(CKEDITOR.env.gecko&&(!a.data.lang||!a.ready))this.getInputElement().$.selectedIndex=-1},commit:function(a){a.setData("lang",this.getValue())}},{id:"code",type:"textarea",label:d.codeContents,setup:function(a){this.setValue(a.data.code)},commit:function(a){a.setData("code",this.getValue())},required:!0,validate:CKEDITOR.dialog.validate.notEmpty(d.emptySnippetError),inputStyle:"cursor:auto;width:"+c+"px;height:"+b+"px;tab-size:4;text-align:left;","class":"cke_source"}]}]}})})(); -------------------------------------------------------------------------------- /bootstrap/autoload.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class DemoController extends BackController 18 | { 19 | 20 | /** 21 | * 推荐位属性 22 | */ 23 | protected $flags = [ 24 | 'l' => '可用于友情链接', 25 | 'f' => '可用于页面幻灯片模型', 26 | 's' => '可用于页面滚动效果的文章', 27 | 'h' => '可用于页面推荐性文章', 28 | ]; 29 | 30 | /** 31 | * 分类演示 32 | */ 33 | protected $categories = [ 34 | 'test' => '测试', 35 | 'development' => '开发', 36 | 'news' => '新闻', 37 | 'document' => '文档', 38 | ]; 39 | 40 | public function getForm() 41 | { 42 | $flag = 'f,h'; 43 | $is_locked = 1; 44 | $categories = $this->categories; 45 | return view('admin.back.demo.form', compact('flag', 'is_locked', 'categories')); 46 | } 47 | 48 | public function getIcon() 49 | { 50 | return view('admin.back.demo.icon'); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /database/migrations/2018_08_15_081730_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('username', 20); 19 | $table->string('email', 120)->unique('users_email_unique'); 20 | $table->string('password', 60); 21 | $table->string('remember_token', 60)->nullable(); 22 | $table->string('nickname', 20); 23 | $table->string('phone', 20)->nullable(); 24 | $table->string('realname', 20); 25 | $table->boolean('is_locked')->default(0)->comment('1锁定,0正常'); 26 | $table->timestamps(); 27 | }); 28 | } 29 | 30 | /** 31 | * Reverse the migrations. 32 | * 33 | * @return void 34 | */ 35 | public function down() 36 | { 37 | Schema::dropIfExists('users'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /permission.txt: -------------------------------------------------------------------------------- 1 | 'member-index', 2 | 'member-show', 3 | 'member-block', 4 | 'member-search', 5 | 'article-index', 6 | 'article-create', 7 | 'article-store', 8 | 'article-show', 9 | 'article-edit', 10 | 'article-update', 11 | 'article-search', 12 | 'category-index', 13 | 'category-create', 14 | 'category-store', 15 | 'category-show', 16 | 'category-edit', 17 | 'category-update', 18 | 'company-index', 19 | 'company-create', 20 | 'company-store', 21 | 'company-show', 22 | 'company-edit', 23 | 'company-update', 24 | 'company-search', 25 | 'project-index', 26 | 'project-create', 27 | 'project-store', 28 | 'project-edit', 29 | 'project-update', 30 | 'project_info-write', 31 | 'team-index', 32 | 'team-create', 33 | 'team-store', 34 | 'team-edit', 35 | 'team-update', 36 | 'file-index', 37 | 'file-create', 38 | 'file-store', 39 | 'file-edit', 40 | 'file-update', 41 | 'role-index', 42 | 'role-create', 43 | 'role-store', 44 | 'role-edit', 45 | 'role-update', 46 | 'permission-index', 47 | 'permission-create', 48 | 'permission-store', 49 | 'permission-edit', 50 | 'permission-update', 51 | 'user-index', 52 | 'user-create', 53 | 'user-store', 54 | 'user-edit', 55 | 'user-update', 56 | 'user-search', 57 | 'me-write', 58 | 'log-index', 59 | 'log-show', 60 | 'log-search', -------------------------------------------------------------------------------- /database/migrations/2018_08_15_092107_create_system_logs_table.php: -------------------------------------------------------------------------------- 1 | bigInteger('id', true)->unsigned(); 18 | $table->integer('user_id')->nullable()->default(0)->comment('用户id(为0表示系统级操作,其它一般为管理型用户操作)'); 19 | $table->string('type')->nullable()->default('system')->comment('操作类型'); 20 | $table->string('url', 200)->nullable()->default('-')->comment('操作发起的url'); 21 | $table->string('content')->nullable()->comment('操作内容'); 22 | $table->string('operator_ip', 50)->nullable()->comment('操作者ip'); 23 | $table->timestamps(); 24 | }); 25 | } 26 | 27 | /** 28 | * Reverse the migrations. 29 | * 30 | * @return void 31 | */ 32 | public function down() 33 | { 34 | Schema::dropIfExists('system_logs'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/codesnippet/lib/highlight/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; padding: 0.5em; 6 | background: #EAEEF3; color: #00193A; 7 | } 8 | 9 | .hljs-keyword, 10 | .hljs-title, 11 | .hljs-important, 12 | .hljs-request, 13 | .hljs-header, 14 | .hljs-javadoctag { 15 | font-weight: bold; 16 | } 17 | 18 | .hljs-comment, 19 | .hljs-chunk, 20 | .hljs-template_comment { 21 | color: #738191; 22 | } 23 | 24 | .hljs-string, 25 | .hljs-title, 26 | .hljs-parent, 27 | .hljs-built_in, 28 | .hljs-literal, 29 | .hljs-filename, 30 | .hljs-value, 31 | .hljs-addition, 32 | .hljs-tag, 33 | .hljs-argument, 34 | .hljs-link_label, 35 | .hljs-blockquote, 36 | .hljs-header { 37 | color: #0048AB; 38 | } 39 | 40 | .hljs-decorator, 41 | .hljs-prompt, 42 | .hljs-yardoctag, 43 | .hljs-subst, 44 | .hljs-symbol, 45 | .hljs-doctype, 46 | .hljs-regexp, 47 | .hljs-preprocessor, 48 | .hljs-pragma, 49 | .hljs-pi, 50 | .hljs-attribute, 51 | .hljs-attr_selector, 52 | .hljs-javadoc, 53 | .hljs-xmlDocTag, 54 | .hljs-deletion, 55 | .hljs-shebang, 56 | .hljs-string .hljs-variable, 57 | .hljs-link_url, 58 | .hljs-bullet, 59 | .hljs-sqbracket, 60 | .hljs-phony { 61 | color: #4C81C9; 62 | } 63 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | group(['namespace' => $this->namespace], function ($router) { 41 | require app_path('Http/routes.php'); 42 | }); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /app/Http/Middleware/ChangeLanguage.php: -------------------------------------------------------------------------------- 1 | bus = $bus; 40 | $this->setLocale = $setLocale; 41 | } 42 | 43 | /** 44 | * Handle an incoming request. 45 | * 46 | * @param Illuminate\Http\Request $request 47 | * @param Closure $next 48 | * @return mixed 49 | */ 50 | public function handle($request, Closure $next, $site = null) 51 | { 52 | $this->bus->dispatch($this->setLocale); 53 | 54 | return $next($request); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/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 | -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.php: -------------------------------------------------------------------------------- 1 | 'App\Policies\ModelPolicy', 19 | ]; 20 | 21 | /** 22 | * Register any application authentication / authorization services. 23 | * 24 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate 25 | * @return void 26 | */ 27 | public function boot(GateContract $gate) 28 | { 29 | $this->registerPolicies($gate); 30 | 31 | // 32 | if (Schema::hasTable('permissions')) { 33 | $permissions = Permission::with('roles')->get(); 34 | foreach ($permissions as $permission) { 35 | $gate->define($permission->name, function($user) use ($permission) { 36 | return $user->hasPermission($permission); 37 | }); 38 | } 39 | } 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /douyasi/Providers/DouyasiServiceProvider.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | class DouyasiServiceProvider extends ServiceProvider 17 | { 18 | 19 | /** 20 | * Bootstrap the application services. 21 | * 22 | * @return void 23 | */ 24 | public function boot() 25 | { 26 | // 27 | /*注册自定义Blade标签*/ 28 | DouyasiBlade::register(); 29 | /*注册自定义验证类*/ 30 | /* 31 | Validator::resolver(function($translator, $data, $rules, $messages) 32 | { 33 | return new DouyasiValidator($translator, $data, $rules, $messages); 34 | }); 35 | */ 36 | $this->app['validator']->resolver(function ($translator, $data, $rules, $messages) { 37 | return new DouyasiValidator($translator, $data, $rules, $messages); 38 | }); 39 | } 40 | 41 | /** 42 | * Register the application services. 43 | * 44 | * @return void 45 | */ 46 | public function register() 47 | { 48 | // 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /public/assets/css/lib/reset.css: -------------------------------------------------------------------------------- 1 | /* http://meyerweb.com/eric/tools/css/reset/ 2 | v2.0 | 20110126 3 | License: none (public domain) 4 | */ 5 | 6 | html, body, div, span, applet, object, iframe, 7 | h1, h2, h3, h4, h5, h6, p, blockquote, pre, 8 | a, abbr, acronym, address, big, cite, code, 9 | del, dfn, em, img, ins, kbd, q, s, samp, 10 | small, strike, strong, sub, sup, tt, var, 11 | b, u, i, center, 12 | dl, dt, dd, ol, ul, li, 13 | fieldset, form, label, legend, 14 | table, caption, tbody, tfoot, thead, tr, th, td, 15 | article, aside, canvas, details, embed, 16 | figure, figcaption, footer, header, hgroup, 17 | menu, nav, output, ruby, section, summary, 18 | time, mark, audio, video { 19 | margin: 0; 20 | padding: 0; 21 | border: 0; 22 | font-size: 100%; 23 | font: inherit; 24 | vertical-align: baseline; 25 | } 26 | /* HTML5 display-role reset for older browsers */ 27 | article, aside, details, figcaption, figure, 28 | footer, header, hgroup, menu, nav, section { 29 | display: block; 30 | } 31 | body { 32 | line-height: 1; 33 | } 34 | ol, ul { 35 | list-style: none; 36 | } 37 | blockquote, q { 38 | quotes: none; 39 | } 40 | blockquote:before, blockquote:after, 41 | q:before, q:after { 42 | content: ''; 43 | content: none; 44 | } 45 | table { 46 | border-collapse: collapse; 47 | border-spacing: 0; 48 | } -------------------------------------------------------------------------------- /resources/views/errors/503.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Be right back. 5 | 6 | 7 | 8 | 39 | 40 | 41 |
42 |
43 |
Be right back.
44 |
45 |
46 | 47 | 48 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /app/Http/Middleware/MultiSiteRedirectIfAuthenticated.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class MultiSiteRedirectIfAuthenticated 14 | { 15 | 16 | /** 17 | * Handle an incoming request. 18 | * 19 | * @param \Illuminate\Http\Request $request 20 | * @param \Closure $next 21 | * @param string|null $site 22 | * @return mixed 23 | */ 24 | public function handle($request, Closure $next, $site = null) 25 | { 26 | $backend_home_url = config('site.route.prefix.admin', 'admin').'/dashboard'; 27 | $desktop_home_url = config('site.route.prefix.desktop', '').'/i/welcome.html'; 28 | switch ($site) { 29 | case 'admin': 30 | $guard = 'web'; 31 | $home_url = $backend_home_url; 32 | break; 33 | case 'desktop': 34 | default: 35 | # code... 36 | $guard = 'member'; 37 | $home_url = $desktop_home_url; 38 | break; 39 | } 40 | if (Auth::guard($guard)->check()) { 41 | return redirect($home_url); 42 | } 43 | 44 | return $next($request); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /douyasi/Documentation/MarkdownDocumentation.php: -------------------------------------------------------------------------------- 1 | text($markdown); 26 | } 27 | else{ 28 | $markdown_index = ''; 29 | } 30 | 31 | $file = $docsDir.'/'.$md.'.md'; 32 | if(is_file($file)){ 33 | $markdown = file_get_contents($file); 34 | $title = $md; 35 | $body = $ParsedownExtra->text($markdown); 36 | $md_doc_nav = '
'.$markdown_index.'
'; 37 | return view('vendor.mdoc.doc', ['md_doc_title' => $title, 'md_doc_body' => $body, 'md_doc_nav' => $md_doc_nav]); 38 | } else { 39 | return abort(404); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /resources/views/desktop/detail.blade.php: -------------------------------------------------------------------------------- 1 | @extends('desktop.layout._base') 2 | 3 | 4 | @section('mainContent') 5 |
6 |
7 |

{{ $article->title }}

8 |
9 | 12 |
13 | {!! mark2html($article->content) !!} 14 |
15 |
16 | category->slug, $article->slug, false); 18 | ?> 19 | 26 | @endsection -------------------------------------------------------------------------------- /public/vendor/editor.md/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 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # 芽丝内容管理框架 - 基础开发版(YASCMF/BASE) 2 | 3 | ### ⚠️警告⚠️ 4 | 5 | 本项目已归档停止维护! 6 | ABANDONED! 7 | 8 | ### 更新日志 9 | 10 | - 2016年 完成 `Laravel 5.2.x` 适配版本,并断续修补漏洞。 11 | - 2017年 由于工作原因,暂停更新。 12 | - 2018年07月 开始前后端分离版本([YASCMF/API](https://github.com/yascmf/api) + [YASCMF/ADMIN](https://github.com/yascmf/admin))的开发。 13 | - 2018年08月 使用 `migration` 来迁移数据库,并发布 `LTS 5.5 release` 版本。 14 | - 2019年之后,本项目已实质性进入停滞阶段。随着前端发展,开源管理后台框架轮子层出不穷,前后分离版本已成为最佳选择,特意宣布本项目停止维护,之后 `www.yascmf.com` 域名也将无法访问。 15 | 16 | 详细见 [change-log](https://www.yuque.com/yascmf/docs/change_log.md) 。 17 | 18 | ### 安装 19 | 20 | 安装请参考:[docs/install.md](https://www.yuque.com/yascmf/docs/install.md) 21 | 22 | 23 | ### 文档 24 | 25 | 更多帮助,请查阅下面文档。 26 | 27 | `Laravel` 文档地址:https://laravel.com/docs/5.2 (目前国内中文文档暂未完全更新) 28 | 29 | `YASCMF` 官方文档地址:https://www.yuque.com/yascmf/docs 30 | 31 | `YASCMF` 官方文档仓库:https://github.com/yascmf/docs 32 | 33 | ### 授权协议 34 | 35 | 本系统基础开发版遵循 [MIT](http://opensource.org/licenses/MIT) 授权协议。 36 | 37 | ### 打赏支持 38 | 39 | 40 | 最新打赏支持记录:https://www.yuque.com/yascmf/docs/donation.md 41 | 42 | 43 | ### 贡献代码 44 | 45 | 你可以 [`Fork`](https://github.com/yascmf/base/fork) 本项目,修改代码,向原作者发出 `pull request` ,合理有效的请求会被接受并入到官方的 `master` 版本中。 46 | 47 | 当然,如果有使用或者开发上的问题,也可在 `Github` 上提出新的 [issue](https://github.com/yascmf/base/issues/new) 。 48 | 49 | ### 联系作者 50 | 51 | > Email: raoyc2009#gmail.com (请修改改`#` 为`@`) 52 | -------------------------------------------------------------------------------- /public/vendor/editor.md/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)})); -------------------------------------------------------------------------------- /database/migrations/2018_08_15_091842_create_articles_table.php: -------------------------------------------------------------------------------- 1 | bigInteger('id', true)->unsigned(); 18 | $table->string('title', 100)->nullable()->index('title')->comment('标题'); 19 | $table->string('flag', 50)->nullable()->default('')->index('flag')->comment('推荐位'); 20 | $table->string('thumb', 200)->nullable(); 21 | $table->string('slug', 200)->nullable()->unique('content_slug_unique')->comment('网址缩略名,文章、单页与碎片模型有缩略名'); 22 | $table->integer('cid')->unsigned()->nullable()->default(0)->comment('分类id:文章分类id不为0,单页与碎片分类id默认为0'); 23 | $table->string('description')->nullable()->comment('内容摘要'); 24 | $table->text('content', 65535)->comment('文章正文'); 25 | $table->timestamps(); 26 | }); 27 | } 28 | 29 | /** 30 | * Reverse the migrations. 31 | * 32 | * @return void 33 | */ 34 | public function down() 35 | { 36 | Schema::dropIfExists('articles'); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /douyasi/Http/Requests/CategoryRequest.php: -------------------------------------------------------------------------------- 1 | segment(3) ? ','.$this->segment(3).',id' : ''; 29 | $rules = [ 30 | 'name' => 'required|alpha', 31 | 'slug' => 'required|regex:/^[a-z0-9\-_]{3,20}$/|unique:categories,slug'.$id, 32 | 'sort' => 'required|numeric', 33 | ]; 34 | return $rules; 35 | } 36 | 37 | /** 38 | * 自定义验证信息 39 | * 40 | * @return array 41 | */ 42 | public function messages() 43 | { 44 | return [ 45 | 'name.required' => '分类名称不能为空', 46 | 'name.alpha' => '分类名称必须为常规字符', 47 | 'slug.required' => '分类别名不能为空', 48 | 'slug.regex' => '分类别名不符合组合规则([a-z0-9\-_]{3,20})', 49 | 'slug.unique' => '分类别名已存在', 50 | 'sort.required' => '分类排序不能为空', 51 | 'sort.numeric' => '分类排序必须为数字', 52 | ]; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /public/vendor/editor.md/lib/codemirror/addon/tern/worker.js: -------------------------------------------------------------------------------- 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE 3 | 4 | // declare global: tern, server 5 | 6 | var server; 7 | 8 | this.onmessage = function(e) { 9 | var data = e.data; 10 | switch (data.type) { 11 | case "init": return startServer(data.defs, data.plugins, data.scripts); 12 | case "add": return server.addFile(data.name, data.text); 13 | case "del": return server.delFile(data.name); 14 | case "req": return server.request(data.body, function(err, reqData) { 15 | postMessage({id: data.id, body: reqData, err: err && String(err)}); 16 | }); 17 | case "getFile": 18 | var c = pending[data.id]; 19 | delete pending[data.id]; 20 | return c(data.err, data.text); 21 | default: throw new Error("Unknown message type: " + data.type); 22 | } 23 | }; 24 | 25 | var nextId = 0, pending = {}; 26 | function getFile(file, c) { 27 | postMessage({type: "getFile", name: file, id: ++nextId}); 28 | pending[nextId] = c; 29 | } 30 | 31 | function startServer(defs, plugins, scripts) { 32 | if (scripts) importScripts.apply(null, scripts); 33 | 34 | server = new tern.Server({ 35 | getFile: getFile, 36 | async: true, 37 | defs: defs, 38 | plugins: plugins 39 | }); 40 | } 41 | 42 | var console = { 43 | log: function(v) { postMessage({type: "debug", message: v}); } 44 | }; 45 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | 14 | */ 15 | class MeController extends BackController 16 | { 17 | 18 | 19 | /** 20 | * The UserRepository instance. 21 | * 22 | * @var App\Repositories\UserRepository 23 | */ 24 | protected $user; 25 | 26 | 27 | public function __construct( 28 | UserRepository $user) 29 | { 30 | parent::__construct(); 31 | if (Gate::denies('@me')) { 32 | $this->middleware('deny403'); 33 | } 34 | $this->user = $user; 35 | } 36 | 37 | 38 | /** 39 | * 个人资料页面 40 | * 41 | * @return Response 42 | */ 43 | public function getMe() 44 | { 45 | $me = auth()->user(); 46 | return view('admin.back.me.index', compact('me')); 47 | } 48 | 49 | 50 | /** 51 | * 提交修改个人资料 52 | * 53 | * @return Response 54 | */ 55 | public function putMe(MeRequest $request) 56 | { 57 | if (Gate::denies('me-write')) { 58 | return deny(); 59 | } 60 | //使用Bootstrap后台框架,可以废弃ajax提交方式,使用表单自动验证 61 | $this->user->updateMe(auth()->user(), $request->all()); 62 | return redirect()->back()->with('message', '成功更新个人资料!'); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /public/vendor/editor.md/lib/codemirror/addon/lint/coffeescript-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 coffeelint.js from http://www.coffeelint.org/js/coffeelint.js 5 | 6 | // declare global: coffeelint 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", "coffeescript", function(text) { 19 | var found = []; 20 | var parseError = function(err) { 21 | var loc = err.lineNumber; 22 | found.push({from: CodeMirror.Pos(loc-1, 0), 23 | to: CodeMirror.Pos(loc, 0), 24 | severity: err.level, 25 | message: err.message}); 26 | }; 27 | try { 28 | var res = coffeelint.lint(text); 29 | for(var i = 0; i < res.length; i++) { 30 | parseError(res[i]); 31 | } 32 | } catch(e) { 33 | found.push({from: CodeMirror.Pos(e.location.first_line, 0), 34 | to: CodeMirror.Pos(e.location.last_line, e.location.last_column), 35 | severity: 'error', 36 | message: e.message}); 37 | } 38 | return found; 39 | }); 40 | 41 | }); 42 | -------------------------------------------------------------------------------- /app/Loggers/SystemLogger.php: -------------------------------------------------------------------------------- 1 | 16 | */ 17 | class SystemLogger 18 | { 19 | 20 | /** 21 | * 记录系统日志 22 | * @param array $data = [ 23 | * 'user_id' => 0, //默认为0,表示操作者为系统 24 | * 'type' => 'system', //默认为'system',表示系统级操作 25 | * 'url' => '-', //默认为空 26 | * 'content' => '', //*操作内容,必须传入 27 | * 'operator_ip' => '', //默认为当前登录用户ip 28 | * ] 29 | * @return boolean 记录系统日志成功,返回true;失败返回false 30 | */ 31 | public static function write($data) 32 | { 33 | if (is_array($data)) { 34 | if (array_key_exists('content', $data)) { //如果操作内容不存在,则拒绝记录系统日志 35 | $data = array_add($data, 'user_id', 0); //默认为0,表示操作者为系统 36 | $data = array_add($data, 'type', 'system'); //默认为系统级操作 37 | $data = array_add($data, 'url', '-'); 38 | $data = array_add($data, 'operator_ip', app('request')->ip()); //操作者ip 39 | $sys_log = new SystemLog; 40 | $sys_log->fill($data); 41 | return $sys_log->save($data); 42 | } else { 43 | return false; 44 | } 45 | } else { 46 | return false; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/templates/templates/default.js: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.md or http://ckeditor.com/license 4 | */ 5 | CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Image and Title",image:"template1.gif",description:"One main image with a title and text that surround the image.",html:'

Type the title here

Type the text here

'},{title:"Strange Template",image:"template2.gif",description:"A template that defines two colums, each one with a title, and some text.", 6 | html:'

Title 1

Title 2

Text 1Text 2

More text goes here.

'},{title:"Text and Table",image:"template3.gif",description:"A title with some text and a table.",html:'

Title goes here

Table title
   
   
   

Type the text here

'}]}); -------------------------------------------------------------------------------- /public/vendor/editor.md/lib/codemirror/addon/runmode/colorize.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"), require("./runmode")); 7 | else if (typeof define == "function" && define.amd) // AMD 8 | define(["../../lib/codemirror", "./runmode"], mod); 9 | else // Plain browser env 10 | mod(CodeMirror); 11 | })(function(CodeMirror) { 12 | "use strict"; 13 | 14 | var isBlock = /^(p|li|div|h\\d|pre|blockquote|td)$/; 15 | 16 | function textContent(node, out) { 17 | if (node.nodeType == 3) return out.push(node.nodeValue); 18 | for (var ch = node.firstChild; ch; ch = ch.nextSibling) { 19 | textContent(ch, out); 20 | if (isBlock.test(node.nodeType)) out.push("\n"); 21 | } 22 | } 23 | 24 | CodeMirror.colorize = function(collection, defaultMode) { 25 | if (!collection) collection = document.body.getElementsByTagName("pre"); 26 | 27 | for (var i = 0; i < collection.length; ++i) { 28 | var node = collection[i]; 29 | var mode = node.getAttribute("data-lang") || defaultMode; 30 | if (!mode) continue; 31 | 32 | var text = []; 33 | textContent(node, text); 34 | node.innerHTML = ""; 35 | CodeMirror.runMode(text.join(""), mode, node); 36 | 37 | node.className += " cm-s-default"; 38 | } 39 | }; 40 | }); 41 | -------------------------------------------------------------------------------- /app/Http/Middleware/MultiSiteAuthenticate.php: -------------------------------------------------------------------------------- 1 | 12 | */ 13 | class MultiSiteAuthenticate 14 | { 15 | 16 | /** 17 | * Handle an incoming request. 18 | * 19 | * @param \Illuminate\Http\Request $request 20 | * @param \Closure $next 21 | * @param string|null $site 22 | * @return mixed 23 | */ 24 | public function handle($request, Closure $next, $site = null) 25 | { 26 | $backend_login_url = config('site.route.prefix.admin', 'admin').'/auth/login'; 27 | $desktop_login_url = config('site.route.prefix.desktop', '').'/i/login.html'; 28 | switch ($site) { 29 | case 'admin': 30 | $guard = 'web'; 31 | $login_url = $backend_login_url; 32 | break; 33 | case 'desktop': 34 | default: 35 | # code... 36 | $guard = 'member'; 37 | $login_url = $desktop_login_url; 38 | break; 39 | } 40 | if (Auth::guard($guard)->guest()) { 41 | if ($request->ajax() || $request->wantsJson()) { 42 | return response('Unauthorized.', 401); 43 | } else { 44 | return redirect()->guest($login_url); 45 | } 46 | } 47 | return $next($request); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/codemirror/theme/monokai.css: -------------------------------------------------------------------------------- 1 | /* Based on Sublime Text's Monokai theme */ 2 | 3 | .cm-s-monokai.CodeMirror {background: #272822; color: #f8f8f2;} 4 | .cm-s-monokai div.CodeMirror-selected {background: #49483E !important;} 5 | .cm-s-monokai .CodeMirror-gutters {background: #272822; border-right: 0px;} 6 | .cm-s-monokai .CodeMirror-guttermarker { color: white; } 7 | .cm-s-monokai .CodeMirror-guttermarker-subtle { color: #d0d0d0; } 8 | .cm-s-monokai .CodeMirror-linenumber {color: #d0d0d0;} 9 | .cm-s-monokai .CodeMirror-cursor {border-left: 1px solid #f8f8f0 !important;} 10 | 11 | .cm-s-monokai span.cm-comment {color: #75715e;} 12 | .cm-s-monokai span.cm-atom {color: #ae81ff;} 13 | .cm-s-monokai span.cm-number {color: #ae81ff;} 14 | 15 | .cm-s-monokai span.cm-property, .cm-s-monokai span.cm-attribute {color: #a6e22e;} 16 | .cm-s-monokai span.cm-keyword {color: #f92672;} 17 | .cm-s-monokai span.cm-string {color: #e6db74;} 18 | 19 | .cm-s-monokai span.cm-variable {color: #a6e22e;} 20 | .cm-s-monokai span.cm-variable-2 {color: #9effff;} 21 | .cm-s-monokai span.cm-def {color: #fd971f;} 22 | .cm-s-monokai span.cm-bracket {color: #f8f8f2;} 23 | .cm-s-monokai span.cm-tag {color: #f92672;} 24 | .cm-s-monokai span.cm-link {color: #ae81ff;} 25 | .cm-s-monokai span.cm-error {background: #f92672; color: #f8f8f0;} 26 | 27 | .cm-s-monokai .CodeMirror-activeline-background {background: #373831 !important;} 28 | .cm-s-monokai .CodeMirror-matchingbracket { 29 | text-decoration: underline; 30 | color: white !important; 31 | } 32 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/codemirror/theme/rubyblue.css: -------------------------------------------------------------------------------- 1 | .cm-s-rubyblue.CodeMirror { background: #112435; color: white; } 2 | .cm-s-rubyblue div.CodeMirror-selected { background: #38566F !important; } 3 | .cm-s-rubyblue .CodeMirror-gutters { background: #1F4661; border-right: 7px solid #3E7087; } 4 | .cm-s-rubyblue .CodeMirror-guttermarker { color: white; } 5 | .cm-s-rubyblue .CodeMirror-guttermarker-subtle { color: #3E7087; } 6 | .cm-s-rubyblue .CodeMirror-linenumber { color: white; } 7 | .cm-s-rubyblue .CodeMirror-cursor { border-left: 1px solid white !important; } 8 | 9 | .cm-s-rubyblue span.cm-comment { color: #999; font-style:italic; line-height: 1em; } 10 | .cm-s-rubyblue span.cm-atom { color: #F4C20B; } 11 | .cm-s-rubyblue span.cm-number, .cm-s-rubyblue span.cm-attribute { color: #82C6E0; } 12 | .cm-s-rubyblue span.cm-keyword { color: #F0F; } 13 | .cm-s-rubyblue span.cm-string { color: #F08047; } 14 | .cm-s-rubyblue span.cm-meta { color: #F0F; } 15 | .cm-s-rubyblue span.cm-variable-2, .cm-s-rubyblue span.cm-tag { color: #7BD827; } 16 | .cm-s-rubyblue span.cm-variable-3, .cm-s-rubyblue span.cm-def { color: white; } 17 | .cm-s-rubyblue span.cm-bracket { color: #F0F; } 18 | .cm-s-rubyblue span.cm-link { color: #F4C20B; } 19 | .cm-s-rubyblue span.CodeMirror-matchingbracket { color:#F0F !important; } 20 | .cm-s-rubyblue span.cm-builtin, .cm-s-rubyblue span.cm-special { color: #FF9D00; } 21 | .cm-s-rubyblue span.cm-error { color: #AF2018; } 22 | 23 | .cm-s-rubyblue .CodeMirror-activeline-background {background: #173047 !important;} 24 | -------------------------------------------------------------------------------- /resources/views/admin/back/log/show.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | layer 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 |
15 |

系统日志详情

16 |
17 |
    18 |
  • ID:{{ $sys_log->id }}
  • 19 |
  • 操作者:{{ $sys_log->user->username or '--' }} / {{ $sys_log->user->realname or '--' }}
  • 20 |
  • 21 | 类型: 22 | 23 | {{ dict('log_type.'.$sys_log->type) }} 24 | 25 |
  • 26 |
  • 操作URL:{{ $sys_log->url }}
  • 27 |
  • 操作内容:{{ $sys_log->content }}
  • 28 |
  • 操作时间:{{ $sys_log->created_at }}
  • 29 |
30 |
31 |
32 |
33 | 34 | 35 | -------------------------------------------------------------------------------- /douyasi/Data/BaseData.php: -------------------------------------------------------------------------------- 1 | model->findOrFail($id); 34 | } 35 | 36 | /** 37 | * Get the database query Builder instance 38 | * 39 | * @return \Illuminate\Database\Query\Builder|AppException 40 | */ 41 | public function query() 42 | { 43 | if(isset($this->table) && is_string($this->table)) { 44 | return $this->query = app('db')->table($this->table); 45 | } else { 46 | throw new AppException('No table have set and the table name must be a string !'); 47 | } 48 | } 49 | 50 | /** 51 | * Void function for find() , you can overwrite in your derived class 52 | * 53 | * @param int|string $id 主键ID 54 | * @param string|array $extra 可选额外传入的参数 55 | * @return void 56 | */ 57 | public function find($id, $extra = '') 58 | { 59 | return; 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/codemirror/theme/night.css: -------------------------------------------------------------------------------- 1 | /* Loosely based on the Midnight Textmate theme */ 2 | 3 | .cm-s-night.CodeMirror { background: #0a001f; color: #f8f8f8; } 4 | .cm-s-night div.CodeMirror-selected { background: #447 !important; } 5 | .cm-s-night .CodeMirror-gutters { background: #0a001f; border-right: 1px solid #aaa; } 6 | .cm-s-night .CodeMirror-guttermarker { color: white; } 7 | .cm-s-night .CodeMirror-guttermarker-subtle { color: #bbb; } 8 | .cm-s-night .CodeMirror-linenumber { color: #f8f8f8; } 9 | .cm-s-night .CodeMirror-cursor { border-left: 1px solid white !important; } 10 | 11 | .cm-s-night span.cm-comment { color: #6900a1; } 12 | .cm-s-night span.cm-atom { color: #845dc4; } 13 | .cm-s-night span.cm-number, .cm-s-night span.cm-attribute { color: #ffd500; } 14 | .cm-s-night span.cm-keyword { color: #599eff; } 15 | .cm-s-night span.cm-string { color: #37f14a; } 16 | .cm-s-night span.cm-meta { color: #7678e2; } 17 | .cm-s-night span.cm-variable-2, .cm-s-night span.cm-tag { color: #99b2ff; } 18 | .cm-s-night span.cm-variable-3, .cm-s-night span.cm-def { color: white; } 19 | .cm-s-night span.cm-bracket { color: #8da6ce; } 20 | .cm-s-night span.cm-comment { color: #6900a1; } 21 | .cm-s-night span.cm-builtin, .cm-s-night span.cm-special { color: #ff9e59; } 22 | .cm-s-night span.cm-link { color: #845dc4; } 23 | .cm-s-night span.cm-error { color: #9d1e15; } 24 | 25 | .cm-s-night .CodeMirror-activeline-background {background: #1C005A !important;} 26 | .cm-s-night .CodeMirror-matchingbracket {outline:1px solid grey; color:white !important;} 27 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/wsc/dialogs/wsc.css: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. 3 | For licensing, see LICENSE.html or http://ckeditor.com/license 4 | */ 5 | 6 | html, body 7 | { 8 | background-color: transparent; 9 | margin: 0px; 10 | padding: 0px; 11 | } 12 | 13 | body 14 | { 15 | padding: 10px; 16 | } 17 | 18 | body, td, input, select, textarea 19 | { 20 | font-size: 11px; 21 | font-family: 'Microsoft Sans Serif' , Arial, Helvetica, Verdana; 22 | } 23 | 24 | .midtext 25 | { 26 | padding:0px; 27 | margin:10px; 28 | } 29 | 30 | .midtext p 31 | { 32 | padding:0px; 33 | margin:10px; 34 | } 35 | 36 | .Button 37 | { 38 | border: #737357 1px solid; 39 | color: #3b3b1f; 40 | background-color: #c7c78f; 41 | } 42 | 43 | .PopupTabArea 44 | { 45 | color: #737357; 46 | background-color: #e3e3c7; 47 | } 48 | 49 | .PopupTitleBorder 50 | { 51 | border-bottom: #d5d59d 1px solid; 52 | } 53 | .PopupTabEmptyArea 54 | { 55 | padding-left: 10px; 56 | border-bottom: #d5d59d 1px solid; 57 | } 58 | 59 | .PopupTab, .PopupTabSelected 60 | { 61 | border-right: #d5d59d 1px solid; 62 | border-top: #d5d59d 1px solid; 63 | border-left: #d5d59d 1px solid; 64 | padding: 3px 5px 3px 5px; 65 | color: #737357; 66 | } 67 | 68 | .PopupTab 69 | { 70 | margin-top: 1px; 71 | border-bottom: #d5d59d 1px solid; 72 | cursor: pointer; 73 | } 74 | 75 | .PopupTabSelected 76 | { 77 | font-weight: bold; 78 | cursor: default; 79 | padding-top: 4px; 80 | border-bottom: #f1f1e3 1px solid; 81 | background-color: #f1f1e3; 82 | } 83 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/wsc/LICENSE.md: -------------------------------------------------------------------------------- 1 | Software License Agreement 2 | ========================== 3 | 4 | **CKEditor WSC Plugin** 5 | Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. 6 | 7 | Licensed under the terms of any of the following licenses at your choice: 8 | 9 | * GNU General Public License Version 2 or later (the "GPL"): 10 | http://www.gnu.org/licenses/gpl.html 11 | 12 | * GNU Lesser General Public License Version 2.1 or later (the "LGPL"): 13 | http://www.gnu.org/licenses/lgpl.html 14 | 15 | * Mozilla Public License Version 1.1 or later (the "MPL"): 16 | http://www.mozilla.org/MPL/MPL-1.1.html 17 | 18 | You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. 19 | 20 | Sources of Intellectual Property Included in this plugin 21 | -------------------------------------------------------- 22 | 23 | Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. 24 | 25 | Trademarks 26 | ---------- 27 | 28 | CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. 29 | -------------------------------------------------------------------------------- /public/back/plugins/ckeditor/plugins/scayt/LICENSE.md: -------------------------------------------------------------------------------- 1 | Software License Agreement 2 | ========================== 3 | 4 | **CKEditor SCAYT Plugin** 5 | Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. 6 | 7 | Licensed under the terms of any of the following licenses at your choice: 8 | 9 | * GNU General Public License Version 2 or later (the "GPL"): 10 | http://www.gnu.org/licenses/gpl.html 11 | 12 | * GNU Lesser General Public License Version 2.1 or later (the "LGPL"): 13 | http://www.gnu.org/licenses/lgpl.html 14 | 15 | * Mozilla Public License Version 1.1 or later (the "MPL"): 16 | http://www.mozilla.org/MPL/MPL-1.1.html 17 | 18 | You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. 19 | 20 | Sources of Intellectual Property Included in this plugin 21 | -------------------------------------------------------- 22 | 23 | Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. 24 | 25 | Trademarks 26 | ---------- 27 | 28 | CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. 29 | --------------------------------------------------------------------------------