├── .env.example ├── .gitattributes ├── .gitignore ├── app ├── Admin │ ├── Controllers │ │ ├── ExampleController.php │ │ └── HomeController.php │ ├── bootstrap.php │ └── routes.php ├── Console │ └── Kernel.php ├── Exceptions │ └── Handler.php ├── Http │ ├── Controllers │ │ ├── Api │ │ │ └── AuthController.php │ │ ├── Auth │ │ │ ├── ForgotPasswordController.php │ │ │ ├── LoginController.php │ │ │ ├── RegisterController.php │ │ │ └── ResetPasswordController.php │ │ ├── AuthController.php │ │ ├── Controller.php │ │ ├── HomeController.php │ │ ├── PapersController.php │ │ └── ScoresController.php │ ├── Kernel.php │ ├── Middleware │ │ ├── EncryptCookies.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── TrimStrings.php │ │ ├── TrustProxies.php │ │ └── VerifyCsrfToken.php │ └── Requests │ │ ├── PaperRequest.php │ │ ├── Request.php │ │ └── UserRequest.php ├── Models │ ├── Model.php │ ├── Paper.php │ ├── Score.php │ └── User.php ├── Observers │ ├── PaperObserver.php │ └── UserObserver.php ├── Policies │ ├── PaperPolicy.php │ ├── Policy.php │ └── ScorePolicy.php └── Providers │ ├── AppServiceProvider.php │ ├── AuthServiceProvider.php │ ├── BroadcastServiceProvider.php │ ├── EventServiceProvider.php │ └── RouteServiceProvider.php ├── artisan ├── bootstrap ├── app.php ├── cache │ └── .gitignore └── helper.php ├── composer.json ├── composer.lock ├── config ├── admin.php ├── app.php ├── auth.php ├── broadcasting.php ├── cache.php ├── database.php ├── filesystems.php ├── jwt.php ├── mail.php ├── queue.php ├── services.php ├── session.php ├── socialite.php └── view.php ├── database ├── .gitignore ├── factories │ ├── PaperFactory.php │ ├── ScoreFactory.php │ └── UserFactory.php ├── migrations │ ├── 2014_10_12_000000_create_users_table.php │ ├── 2014_10_12_100000_create_password_resets_table.php │ ├── 2016_01_04_173148_create_admin_tables.php │ ├── 2017_12_31_013201_create_papers_table.php │ ├── 2017_12_31_062118_add_oauth_github_qq_weixin.php │ ├── 2018_01_02_192924_add_scores_table.php │ ├── 2018_01_18_130456_add_paper_password.php │ ├── 2018_01_19_081332_add_open_time_for_test.php │ ├── 2018_01_20_061215_add_paper_repeat_limit.php │ └── 2018_01_21_230242_add_close_time_in_paper.php └── seeds │ ├── DatabaseSeeder.php │ ├── PapersTableSeeder.php │ ├── ScoresTableSeeder.php │ └── UsersTableSeeder.php ├── package-lock.json ├── package.json ├── phpunit.xml ├── public ├── .htaccess ├── app.html ├── css │ └── app.css ├── favicon.ico ├── fonts │ └── vendor │ │ └── element-ui │ │ └── lib │ │ └── theme-chalk │ │ ├── element-icons.ttf │ │ └── element-icons.woff ├── index.php ├── js │ └── app.js ├── mix-manifest.json ├── robots.txt ├── vendor │ └── laravel-admin │ │ ├── AdminLTE │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ └── bootstrap.min.css │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── js │ │ │ │ └── bootstrap.min.js │ │ ├── dist │ │ │ ├── css │ │ │ │ ├── AdminLTE.min.css │ │ │ │ └── skins │ │ │ │ │ ├── _all-skins.min.css │ │ │ │ │ ├── skin-black-light.min.css │ │ │ │ │ ├── skin-black.min.css │ │ │ │ │ ├── skin-blue-light.min.css │ │ │ │ │ ├── skin-blue.min.css │ │ │ │ │ ├── skin-green-light.min.css │ │ │ │ │ ├── skin-green.min.css │ │ │ │ │ ├── skin-purple-light.min.css │ │ │ │ │ ├── skin-purple.min.css │ │ │ │ │ ├── skin-red-light.min.css │ │ │ │ │ ├── skin-red.min.css │ │ │ │ │ ├── skin-yellow-light.min.css │ │ │ │ │ └── skin-yellow.min.css │ │ │ ├── img │ │ │ │ ├── boxed-bg.jpg │ │ │ │ ├── boxed-bg.png │ │ │ │ ├── credit │ │ │ │ │ ├── american-express.png │ │ │ │ │ ├── cirrus.png │ │ │ │ │ ├── mastercard.png │ │ │ │ │ ├── mestro.png │ │ │ │ │ ├── paypal.png │ │ │ │ │ ├── paypal2.png │ │ │ │ │ └── visa.png │ │ │ │ ├── default-50x50.gif │ │ │ │ ├── icons.png │ │ │ │ └── user2-160x160.jpg │ │ │ └── js │ │ │ │ └── app.min.js │ │ └── plugins │ │ │ ├── bootstrap-slider │ │ │ ├── bootstrap-slider.js │ │ │ └── slider.css │ │ │ ├── colorpicker │ │ │ ├── bootstrap-colorpicker.min.css │ │ │ ├── bootstrap-colorpicker.min.js │ │ │ └── img │ │ │ │ ├── alpha-horizontal.png │ │ │ │ ├── alpha.png │ │ │ │ ├── hue-horizontal.png │ │ │ │ ├── hue.png │ │ │ │ └── saturation.png │ │ │ ├── iCheck │ │ │ ├── all.css │ │ │ ├── flat │ │ │ │ ├── _all.css │ │ │ │ ├── aero.css │ │ │ │ ├── aero.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue.css │ │ │ │ ├── blue.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── flat.css │ │ │ │ ├── flat.png │ │ │ │ ├── flat@2x.png │ │ │ │ ├── green.css │ │ │ │ ├── green.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey.css │ │ │ │ ├── grey.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── orange.css │ │ │ │ ├── orange.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── pink.css │ │ │ │ ├── pink.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.css │ │ │ │ ├── purple.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── red.css │ │ │ │ ├── red.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.css │ │ │ │ ├── yellow.png │ │ │ │ └── yellow@2x.png │ │ │ ├── futurico │ │ │ │ ├── futurico.css │ │ │ │ ├── futurico.png │ │ │ │ └── futurico@2x.png │ │ │ ├── icheck.min.js │ │ │ ├── line │ │ │ │ ├── _all.css │ │ │ │ ├── aero.css │ │ │ │ ├── blue.css │ │ │ │ ├── green.css │ │ │ │ ├── grey.css │ │ │ │ ├── line.css │ │ │ │ ├── line.png │ │ │ │ ├── line@2x.png │ │ │ │ ├── orange.css │ │ │ │ ├── pink.css │ │ │ │ ├── purple.css │ │ │ │ ├── red.css │ │ │ │ └── yellow.css │ │ │ ├── minimal │ │ │ │ ├── _all.css │ │ │ │ ├── aero.css │ │ │ │ ├── aero.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue.css │ │ │ │ ├── blue.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── green.css │ │ │ │ ├── green.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey.css │ │ │ │ ├── grey.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── minimal.css │ │ │ │ ├── minimal.png │ │ │ │ ├── minimal@2x.png │ │ │ │ ├── orange.css │ │ │ │ ├── orange.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── pink.css │ │ │ │ ├── pink.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.css │ │ │ │ ├── purple.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── red.css │ │ │ │ ├── red.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── yellow.css │ │ │ │ ├── yellow.png │ │ │ │ └── yellow@2x.png │ │ │ ├── polaris │ │ │ │ ├── polaris.css │ │ │ │ ├── polaris.png │ │ │ │ └── polaris@2x.png │ │ │ └── square │ │ │ │ ├── _all.css │ │ │ │ ├── aero.css │ │ │ │ ├── aero.png │ │ │ │ ├── aero@2x.png │ │ │ │ ├── blue.css │ │ │ │ ├── blue.png │ │ │ │ ├── blue@2x.png │ │ │ │ ├── green.css │ │ │ │ ├── green.png │ │ │ │ ├── green@2x.png │ │ │ │ ├── grey.css │ │ │ │ ├── grey.png │ │ │ │ ├── grey@2x.png │ │ │ │ ├── orange.css │ │ │ │ ├── orange.png │ │ │ │ ├── orange@2x.png │ │ │ │ ├── pink.css │ │ │ │ ├── pink.png │ │ │ │ ├── pink@2x.png │ │ │ │ ├── purple.css │ │ │ │ ├── purple.png │ │ │ │ ├── purple@2x.png │ │ │ │ ├── red.css │ │ │ │ ├── red.png │ │ │ │ ├── red@2x.png │ │ │ │ ├── square.css │ │ │ │ ├── square.png │ │ │ │ ├── square@2x.png │ │ │ │ ├── yellow.css │ │ │ │ ├── yellow.png │ │ │ │ └── yellow@2x.png │ │ │ ├── input-mask │ │ │ ├── jquery.inputmask.bundle.min.js │ │ │ └── phone-codes │ │ │ │ ├── phone-be.json │ │ │ │ ├── phone-codes.json │ │ │ │ └── readme.txt │ │ │ ├── ionslider │ │ │ ├── img │ │ │ │ ├── sprite-skin-flat.png │ │ │ │ └── sprite-skin-nice.png │ │ │ ├── ion.rangeSlider.css │ │ │ ├── ion.rangeSlider.min.js │ │ │ ├── ion.rangeSlider.skinFlat.css │ │ │ └── ion.rangeSlider.skinNice.css │ │ │ ├── jQuery │ │ │ └── jQuery-2.1.4.min.js │ │ │ ├── select2 │ │ │ ├── i18n │ │ │ │ ├── ar.js │ │ │ │ ├── az.js │ │ │ │ ├── bg.js │ │ │ │ ├── ca.js │ │ │ │ ├── cs.js │ │ │ │ ├── da.js │ │ │ │ ├── de.js │ │ │ │ ├── el.js │ │ │ │ ├── en.js │ │ │ │ ├── es.js │ │ │ │ ├── et.js │ │ │ │ ├── eu.js │ │ │ │ ├── fa.js │ │ │ │ ├── fi.js │ │ │ │ ├── fr.js │ │ │ │ ├── gl.js │ │ │ │ ├── he.js │ │ │ │ ├── hi.js │ │ │ │ ├── hr.js │ │ │ │ ├── hu.js │ │ │ │ ├── id.js │ │ │ │ ├── is.js │ │ │ │ ├── it.js │ │ │ │ ├── ja.js │ │ │ │ ├── km.js │ │ │ │ ├── ko.js │ │ │ │ ├── lt.js │ │ │ │ ├── lv.js │ │ │ │ ├── mk.js │ │ │ │ ├── ms.js │ │ │ │ ├── nb.js │ │ │ │ ├── nl.js │ │ │ │ ├── pl.js │ │ │ │ ├── pt-BR.js │ │ │ │ ├── pt.js │ │ │ │ ├── ro.js │ │ │ │ ├── ru.js │ │ │ │ ├── sk.js │ │ │ │ ├── sr-Cyrl.js │ │ │ │ ├── sr.js │ │ │ │ ├── sv.js │ │ │ │ ├── th.js │ │ │ │ ├── tr.js │ │ │ │ ├── uk.js │ │ │ │ ├── vi.js │ │ │ │ ├── zh-CN.js │ │ │ │ └── zh-TW.js │ │ │ ├── select2.full.min.js │ │ │ └── select2.min.css │ │ │ └── slimScroll │ │ │ └── jquery.slimscroll.min.js │ │ ├── bootstrap-duallistbox │ │ └── dist │ │ │ ├── bootstrap-duallistbox.min.css │ │ │ └── jquery.bootstrap-duallistbox.min.js │ │ ├── bootstrap-fileinput │ │ ├── css │ │ │ └── fileinput.min.css │ │ ├── img │ │ │ ├── loading-sm.gif │ │ │ └── loading.gif │ │ └── js │ │ │ ├── fileinput.min.js │ │ │ └── plugins │ │ │ ├── canvas-to-blob.js │ │ │ ├── canvas-to-blob.min.js │ │ │ ├── purify.js │ │ │ ├── purify.min.js │ │ │ ├── sortable.js │ │ │ └── sortable.min.js │ │ ├── bootstrap-switch │ │ └── dist │ │ │ ├── css │ │ │ └── bootstrap3 │ │ │ │ └── bootstrap-switch.min.css │ │ │ └── js │ │ │ └── bootstrap-switch.min.js │ │ ├── bootstrap3-editable │ │ ├── css │ │ │ └── bootstrap-editable.css │ │ ├── img │ │ │ ├── clear.png │ │ │ └── loading.gif │ │ └── js │ │ │ └── bootstrap-editable.min.js │ │ ├── eonasdan-bootstrap-datetimepicker │ │ └── build │ │ │ ├── css │ │ │ └── bootstrap-datetimepicker.min.css │ │ │ └── js │ │ │ └── bootstrap-datetimepicker.min.js │ │ ├── font-awesome │ │ ├── css │ │ │ └── font-awesome.min.css │ │ └── fonts │ │ │ ├── FontAwesome.otf │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── fontawesome-iconpicker │ │ └── dist │ │ │ ├── css │ │ │ └── fontawesome-iconpicker.min.css │ │ │ └── js │ │ │ └── fontawesome-iconpicker.min.js │ │ ├── google-fonts │ │ ├── fonts.css │ │ └── fonts │ │ │ ├── Source-Sans-Pro-Bold.ttf │ │ │ ├── Source-Sans-Pro-Bold.woff │ │ │ ├── Source-Sans-Pro-Bold.woff2 │ │ │ ├── Source-Sans-Pro-Italic.ttf │ │ │ ├── Source-Sans-Pro-Italic.woff │ │ │ ├── Source-Sans-Pro-Italic.woff2 │ │ │ ├── Source-Sans-Pro-Light-Italic.ttf │ │ │ ├── Source-Sans-Pro-Light-Italic.woff │ │ │ ├── Source-Sans-Pro-Light-Italic.woff2 │ │ │ ├── Source-Sans-Pro-Light.ttf │ │ │ ├── Source-Sans-Pro-Light.woff │ │ │ ├── Source-Sans-Pro-Light.woff2 │ │ │ ├── Source-Sans-Pro-Semibold-Italic.ttf │ │ │ ├── Source-Sans-Pro-Semibold-Italic.woff │ │ │ ├── Source-Sans-Pro-Semibold-Italic.woff2 │ │ │ ├── Source-Sans-Pro-Semibold.ttf │ │ │ ├── Source-Sans-Pro-Semibold.woff │ │ │ ├── Source-Sans-Pro-Semibold.woff2 │ │ │ ├── Source-Sans-Pro.eot │ │ │ ├── Source-Sans-Pro.svg │ │ │ ├── Source-Sans-Pro.ttf │ │ │ ├── Source-Sans-Pro.woff │ │ │ └── Source-Sans-Pro.woff2 │ │ ├── jquery-pjax │ │ └── jquery.pjax.js │ │ ├── laravel-admin │ │ ├── laravel-admin.css │ │ └── laravel-admin.js │ │ ├── moment │ │ └── min │ │ │ └── moment-with-locales.min.js │ │ ├── nestable │ │ ├── jquery.nestable.js │ │ └── nestable.css │ │ ├── nprogress │ │ ├── nprogress.css │ │ └── nprogress.js │ │ ├── number-input │ │ └── bootstrap-number-input.js │ │ ├── sweetalert │ │ └── dist │ │ │ ├── sweetalert.css │ │ │ └── sweetalert.min.js │ │ └── toastr │ │ └── build │ │ ├── toastr.min.css │ │ └── toastr.min.js └── web.config ├── readme.md ├── resources ├── assets │ ├── js │ │ ├── App.vue │ │ ├── app.js │ │ ├── components │ │ │ ├── AnswerSheet.vue │ │ │ ├── Question.vue │ │ │ ├── QuestionChart.vue │ │ │ ├── QuestionComponent.vue │ │ │ ├── ScoreChart.vue │ │ │ └── user │ │ │ │ └── Navbar.vue │ │ ├── pages │ │ │ ├── ExamStatus.vue │ │ │ ├── Login.vue │ │ │ ├── MyPapers.vue │ │ │ ├── PaperEditor.vue │ │ │ ├── Scores.vue │ │ │ └── Test.vue │ │ ├── routes.js │ │ └── store │ │ │ ├── module │ │ │ └── user.js │ │ │ ├── mutationTypes.js │ │ │ └── store.js │ └── sass │ │ ├── _variables.scss │ │ └── app.scss ├── lang │ ├── en │ │ ├── admin.php │ │ ├── auth.php │ │ ├── pagination.php │ │ ├── passwords.php │ │ └── validation.php │ ├── es │ │ └── admin.php │ ├── fr │ │ └── admin.php │ ├── he │ │ └── admin.php │ ├── nl │ │ └── admin.php │ ├── pl │ │ └── admin.php │ ├── ru │ │ └── admin.php │ ├── zh-CN │ │ └── admin.php │ └── zh-TW │ │ └── admin.php └── views │ ├── auth │ ├── login.blade.php │ ├── passwords │ │ ├── email.blade.php │ │ └── reset.blade.php │ └── register.blade.php │ ├── common │ └── error.blade.php │ ├── home.blade.php │ ├── layouts │ ├── _footer.blade.php │ ├── _header.blade.php │ ├── _message.blade.php │ └── app.blade.php │ └── papers │ ├── create_and_edit.blade.php │ ├── index.blade.php │ ├── scores.blade.php │ └── show.blade.php ├── routes ├── api.php ├── channels.php ├── console.php └── web.php ├── server.php ├── storage ├── app │ ├── .gitignore │ └── public │ │ └── .gitignore ├── debugbar │ └── .gitignore ├── framework │ ├── .gitignore │ ├── cache │ │ └── .gitignore │ ├── sessions │ │ └── .gitignore │ ├── testing │ │ └── .gitignore │ └── views │ │ └── .gitignore └── logs │ └── .gitignore ├── tests ├── CreatesApplication.php ├── Feature │ └── AuthTest.php ├── TestCase.php └── Unit │ └── ExampleTest.php └── webpack.mix.js /.env.example: -------------------------------------------------------------------------------- 1 | APP_NAME=Laravel 2 | APP_ENV=local 3 | APP_KEY= 4 | APP_DEBUG=true 5 | APP_LOG_LEVEL=debug 6 | APP_URL=http://localhost 7 | 8 | DB_CONNECTION=mysql 9 | DB_HOST=127.0.0.1 10 | DB_PORT=3306 11 | DB_DATABASE=homestead 12 | DB_USERNAME=homestead 13 | DB_PASSWORD=secret 14 | 15 | BROADCAST_DRIVER=log 16 | CACHE_DRIVER=file 17 | SESSION_DRIVER=file 18 | SESSION_LIFETIME=120 19 | QUEUE_DRIVER=sync 20 | 21 | REDIS_HOST=127.0.0.1 22 | REDIS_PASSWORD=null 23 | REDIS_PORT=6379 24 | 25 | MAIL_DRIVER=smtp 26 | MAIL_HOST=smtp.mailtrap.io 27 | MAIL_PORT=2525 28 | MAIL_USERNAME=null 29 | MAIL_PASSWORD=null 30 | MAIL_ENCRYPTION=null 31 | 32 | PUSHER_APP_ID= 33 | PUSHER_APP_KEY= 34 | PUSHER_APP_SECRET= 35 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto 2 | *.css linguist-vendored 3 | *.scss linguist-vendored 4 | *.js linguist-vendored 5 | CHANGELOG.md export-ignore 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /public/hot 3 | /public/storage 4 | /storage/*.key 5 | /vendor 6 | /.idea 7 | /.vagrant 8 | Homestead.json 9 | Homestead.yaml 10 | npm-debug.log 11 | yarn-error.log 12 | .env 13 | -------------------------------------------------------------------------------- /app/Admin/Controllers/HomeController.php: -------------------------------------------------------------------------------- 1 | header('Dashboard'); 19 | $content->description('Description...'); 20 | 21 | $content->row(Dashboard::title()); 22 | 23 | $content->row(function (Row $row) { 24 | 25 | $row->column(4, function (Column $column) { 26 | $column->append(Dashboard::environment()); 27 | }); 28 | 29 | $row->column(4, function (Column $column) { 30 | $column->append(Dashboard::extensions()); 31 | }); 32 | 33 | $row->column(4, function (Column $column) { 34 | $column->append(Dashboard::dependencies()); 35 | }); 36 | }); 37 | }); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/Admin/bootstrap.php: -------------------------------------------------------------------------------- 1 | 6 | * 7 | * Bootstraper for Admin. 8 | * 9 | * Here you can remove builtin form field: 10 | * Encore\Admin\Form::forget(['map', 'editor']); 11 | * 12 | * Or extend custom form field: 13 | * Encore\Admin\Form::extend('php', PHPEditor::class); 14 | * 15 | * Or require js and css assets: 16 | * Admin::css('/packages/prettydocs/css/styles.css'); 17 | * Admin::js('/packages/prettydocs/js/main.js'); 18 | * 19 | */ 20 | 21 | Encore\Admin\Form::forget(['map', 'editor']); 22 | -------------------------------------------------------------------------------- /app/Admin/routes.php: -------------------------------------------------------------------------------- 1 | config('admin.route.prefix'), 9 | 'namespace' => config('admin.route.namespace'), 10 | 'middleware' => config('admin.route.middleware'), 11 | ], function (Router $router) { 12 | 13 | $router->get('/', 'HomeController@index'); 14 | 15 | }); 16 | -------------------------------------------------------------------------------- /app/Console/Kernel.php: -------------------------------------------------------------------------------- 1 | command('inspire') 28 | // ->hourly(); 29 | } 30 | 31 | /** 32 | * Register the commands for the application. 33 | * 34 | * @return void 35 | */ 36 | protected function commands() 37 | { 38 | $this->load(__DIR__.'/Commands'); 39 | 40 | require base_path('routes/console.php'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/Exceptions/Handler.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/LoginController.php: -------------------------------------------------------------------------------- 1 | middleware('guest')->except('logout'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/Http/Controllers/Auth/ResetPasswordController.php: -------------------------------------------------------------------------------- 1 | middleware('guest'); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/Http/Controllers/Controller.php: -------------------------------------------------------------------------------- 1 | check()) { 21 | return redirect('/home'); 22 | } 23 | 24 | return $next($request); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/Http/Middleware/TrimStrings.php: -------------------------------------------------------------------------------- 1 | 'FORWARDED', 24 | Request::HEADER_X_FORWARDED_FOR => 'X_FORWARDED_FOR', 25 | Request::HEADER_X_FORWARDED_HOST => 'X_FORWARDED_HOST', 26 | Request::HEADER_X_FORWARDED_PORT => 'X_FORWARDED_PORT', 27 | Request::HEADER_X_FORWARDED_PROTO => 'X_FORWARDED_PROTO', 28 | ]; 29 | } 30 | -------------------------------------------------------------------------------- /app/Http/Middleware/VerifyCsrfToken.php: -------------------------------------------------------------------------------- 1 | 'required|string|max:150', 11 | 'time_limit' => 'required|numeric|min:1', 12 | 'need_password' => 'boolean', 13 | 'password' => 'required_if:need_password,true|string|min:1', 14 | 'open_later' => 'boolean', 15 | 'open_time' => 'required_if:open_later,true|date', 16 | 'close_on_time' => 'boolean', 17 | 'close_time' => 'required_if:close_on_time,true|date', 18 | 'questions' => 'required|array|min:1', 19 | 'answers' => 'required|array', 20 | 'repeat_limit' => 'required|numeric|min:1' 21 | ]; 22 | } 23 | 24 | public function messages() 25 | { 26 | return [ 27 | 'same_length' => '问题与答案的数量不匹配', 28 | 'type_match' => '问题与答案的类型不匹配', 29 | ]; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /app/Http/Requests/Request.php: -------------------------------------------------------------------------------- 1 | 'required|email', 31 | ]; 32 | if (strpos($this->path(), 'register') !== false) { 33 | array_push($rules, [ 34 | 'username' => 'required|between:3,25|regex:/^[A-Za-z0-9\-\_\p{Han}]+$/u|unique:users,name,'. Auth::id(), 35 | 'service' => 'required|true' 36 | ]); 37 | } 38 | return $rules; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/Models/Model.php: -------------------------------------------------------------------------------- 1 | orderBy('id', 'desc'); 12 | } 13 | 14 | public function scopeOrdered($query) 15 | { 16 | return $query->orderBy('order', 'desc'); 17 | } 18 | 19 | } 20 | -------------------------------------------------------------------------------- /app/Models/Paper.php: -------------------------------------------------------------------------------- 1 | belongsTo(User::class); 18 | } 19 | 20 | public function setContentAttribute($value) 21 | { 22 | if (!is_string($value)) { 23 | $value = json_encode($value); 24 | } 25 | $this->attributes['content'] = $value; 26 | } 27 | 28 | public function setAnswersAttribute($value) 29 | { 30 | if (!is_string($value)) { 31 | $value = json_encode($value); 32 | } 33 | $this->attributes['answers'] = $value; 34 | } 35 | 36 | // public function getQuestionsAttribute() 37 | // { 38 | // if ($this->attributes['content'] === null) { 39 | // return null; 40 | // } 41 | // return json_decode($this->attributes['content']); 42 | // } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /app/Models/Score.php: -------------------------------------------------------------------------------- 1 | belongsTo(User::class); 16 | } 17 | 18 | public function paper() 19 | { 20 | return $this->belongsTo(Paper::class); 21 | } 22 | 23 | public function setAnswersAttribute($value) 24 | { 25 | if (!is_string($value)) { 26 | $value = json_encode($value, true); 27 | } 28 | $this->attributes['answers'] = $value; 29 | } 30 | } -------------------------------------------------------------------------------- /app/Models/User.php: -------------------------------------------------------------------------------- 1 | hasMany(Paper::class); 34 | } 35 | 36 | public function Scores() 37 | { 38 | return $this->hasMany(Score::class); 39 | } 40 | 41 | /** 42 | * Get the identifier that will be stored in the subject claim of the JWT. 43 | * 44 | * @return mixed 45 | */ 46 | public function getJWTIdentifier() 47 | { 48 | return $this->getKey(); 49 | } 50 | 51 | /** 52 | * Return a key value array, containing any custom claims to be added to the JWT. 53 | * 54 | * @return array 55 | */ 56 | public function getJWTCustomClaims() 57 | { 58 | return []; 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /app/Observers/PaperObserver.php: -------------------------------------------------------------------------------- 1 | id . ' ' . $paper->id); 14 | return $paper->creator_id == $user->id; 15 | } 16 | 17 | public function destroy(User $user, Paper $paper) 18 | { 19 | return $paper->creator_id == $user->id; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/Policies/Policy.php: -------------------------------------------------------------------------------- 1 | isSuperAdmin()) { 19 | // return true; 20 | // } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /app/Policies/ScorePolicy.php: -------------------------------------------------------------------------------- 1 | user_id === $user->id; 47 | } 48 | 49 | /** 50 | * Determine whether the user can delete the score. 51 | * 52 | * @param \App\Models\User $user 53 | * @param \App\Score $score 54 | * @return mixed 55 | */ 56 | public function delete(User $user, Score $score) 57 | { 58 | $paper = Paper::find($score->paper_id); 59 | return $paper->creator_id === $user->id; 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /app/Providers/AppServiceProvider.php: -------------------------------------------------------------------------------- 1 | get($params[0])) !== sizeof($value)) { 24 | return false; 25 | } 26 | }); 27 | \Validator::extend('type_match', function($attribute, $answers, $params) { 28 | $questions = request()->get($params[0]); 29 | foreach ($questions as $index => $question) { 30 | if ($question['type'] === 'single') { 31 | if (gettype($answers[$index] !== 'boolean')) { 32 | return false; 33 | } 34 | } else if ($question['type'] === 'multi') { 35 | if (gettype($answers[$index] !== 'array')) { 36 | return false; 37 | } 38 | } else { 39 | return false; 40 | } 41 | } 42 | }); 43 | } 44 | 45 | /** 46 | * Register any application services. 47 | * 48 | * @return void 49 | */ 50 | public function register() 51 | { 52 | // 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /app/Providers/AuthServiceProvider.php: -------------------------------------------------------------------------------- 1 | \App\Policies\PaperPolicy::class, 19 | Score::class => ScorePolicy::class, 20 | 'App\Model' => 'App\Policies\ModelPolicy', 21 | ]; 22 | 23 | /** 24 | * Register any authentication / authorization services. 25 | * 26 | * @return void 27 | */ 28 | public function boot() 29 | { 30 | $this->registerPolicies(); 31 | 32 | // 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /app/Providers/BroadcastServiceProvider.php: -------------------------------------------------------------------------------- 1 | [ 17 | 'App\Listeners\EventListener', 18 | ], 19 | ]; 20 | 21 | /** 22 | * Register any events for your application. 23 | * 24 | * @return void 25 | */ 26 | public function boot() 27 | { 28 | parent::boot(); 29 | 30 | // 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /app/Providers/RouteServiceProvider.php: -------------------------------------------------------------------------------- 1 | mapApiRoutes(); 39 | 40 | $this->mapWebRoutes(); 41 | 42 | // 43 | } 44 | 45 | /** 46 | * Define the "web" routes for the application. 47 | * 48 | * These routes all receive session state, CSRF protection, etc. 49 | * 50 | * @return void 51 | */ 52 | protected function mapWebRoutes() 53 | { 54 | Route::middleware('web') 55 | ->namespace($this->namespace) 56 | ->group(base_path('routes/web.php')); 57 | } 58 | 59 | /** 60 | * Define the "api" routes for the application. 61 | * 62 | * These routes are typically stateless. 63 | * 64 | * @return void 65 | */ 66 | protected function mapApiRoutes() 67 | { 68 | Route::prefix('api') 69 | ->middleware('api') 70 | ->namespace($this->namespace) 71 | ->group(base_path('routes/api.php')); 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /artisan: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | make(Illuminate\Contracts\Console\Kernel::class); 34 | 35 | $status = $kernel->handle( 36 | $input = new Symfony\Component\Console\Input\ArgvInput, 37 | new Symfony\Component\Console\Output\ConsoleOutput 38 | ); 39 | 40 | /* 41 | |-------------------------------------------------------------------------- 42 | | Shutdown The Application 43 | |-------------------------------------------------------------------------- 44 | | 45 | | Once Artisan has finished running, we will fire off the shutdown events 46 | | so that any final work may be done by the application before we shut 47 | | down the process. This is the last thing to happen to the request. 48 | | 49 | */ 50 | 51 | $kernel->terminate($input, $status); 52 | 53 | exit($status); 54 | -------------------------------------------------------------------------------- /bootstrap/app.php: -------------------------------------------------------------------------------- 1 | singleton( 32 | Illuminate\Contracts\Http\Kernel::class, 33 | App\Http\Kernel::class 34 | ); 35 | 36 | $app->singleton( 37 | Illuminate\Contracts\Console\Kernel::class, 38 | App\Console\Kernel::class 39 | ); 40 | 41 | $app->singleton( 42 | Illuminate\Contracts\Debug\ExceptionHandler::class, 43 | App\Exceptions\Handler::class 44 | ); 45 | 46 | /* 47 | |-------------------------------------------------------------------------- 48 | | Return The Application 49 | |-------------------------------------------------------------------------- 50 | | 51 | | This script returns the application instance. The instance is given to 52 | | the calling script so we can separate the building of the instances 53 | | from the actual running of the application and sending responses. 54 | | 55 | */ 56 | 57 | return $app; 58 | -------------------------------------------------------------------------------- /bootstrap/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /bootstrap/helper.php: -------------------------------------------------------------------------------- 1 | answers); 16 | $content = json_decode($paper->content); 17 | if (count($answers) != count($paperAnswers)) { 18 | return -1; 19 | } 20 | $score = 0; 21 | for ($index = 0; $index < count($paperAnswers); $index++) { 22 | $rightAnswer = $paperAnswers[$index]; 23 | $question = $content[$index]; 24 | $answer = $answers[$index]; 25 | if ($question->type === 'single') { 26 | if ($rightAnswer === $answer) { 27 | $score += $question->score; 28 | } 29 | } else if ($question->type === 'multi') { 30 | if (count($answer) === count($rightAnswer) && 31 | count(array_diff($rightAnswer, $answer)) === 0) { 32 | $score += $question->score; 33 | } 34 | } 35 | } 36 | return $score; 37 | } 38 | 39 | function isApiRequest() 40 | { 41 | return strpos(request()->url(), '/api/') !== false; 42 | } -------------------------------------------------------------------------------- /config/broadcasting.php: -------------------------------------------------------------------------------- 1 | env('BROADCAST_DRIVER', 'null'), 19 | 20 | /* 21 | |-------------------------------------------------------------------------- 22 | | Broadcast Connections 23 | |-------------------------------------------------------------------------- 24 | | 25 | | Here you may define all of the broadcast connections that will be used 26 | | to broadcast events to other systems or over websockets. Samples of 27 | | each available type of connection are provided inside this array. 28 | | 29 | */ 30 | 31 | 'connections' => [ 32 | 33 | 'pusher' => [ 34 | 'driver' => 'pusher', 35 | 'key' => env('PUSHER_APP_KEY'), 36 | 'secret' => env('PUSHER_APP_SECRET'), 37 | 'app_id' => env('PUSHER_APP_ID'), 38 | 'options' => [ 39 | // 40 | ], 41 | ], 42 | 43 | 'redis' => [ 44 | 'driver' => 'redis', 45 | 'connection' => 'default', 46 | ], 47 | 48 | 'log' => [ 49 | 'driver' => 'log', 50 | ], 51 | 52 | 'null' => [ 53 | 'driver' => 'null', 54 | ], 55 | 56 | ], 57 | 58 | ]; 59 | -------------------------------------------------------------------------------- /config/services.php: -------------------------------------------------------------------------------- 1 | [ 18 | 'domain' => env('MAILGUN_DOMAIN'), 19 | 'secret' => env('MAILGUN_SECRET'), 20 | ], 21 | 22 | 'ses' => [ 23 | 'key' => env('SES_KEY'), 24 | 'secret' => env('SES_SECRET'), 25 | 'region' => 'us-east-1', 26 | ], 27 | 28 | 'sparkpost' => [ 29 | 'secret' => env('SPARKPOST_SECRET'), 30 | ], 31 | 32 | 'stripe' => [ 33 | 'model' => App\User::class, 34 | 'key' => env('STRIPE_KEY'), 35 | 'secret' => env('STRIPE_SECRET'), 36 | ], 37 | 38 | ]; 39 | -------------------------------------------------------------------------------- /config/socialite.php: -------------------------------------------------------------------------------- 1 | [ 10 | 'client_id' => env('GITHUB_KEY'), 11 | 'client_secret' => env('GITHUB_SECRET'), 12 | 'redirect' => env('APP_URL') . '/oauth/github/callback', 13 | ], 14 | ]; 15 | -------------------------------------------------------------------------------- /config/view.php: -------------------------------------------------------------------------------- 1 | [ 17 | resource_path('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 | -------------------------------------------------------------------------------- /database/.gitignore: -------------------------------------------------------------------------------- 1 | *.sqlite 2 | -------------------------------------------------------------------------------- /database/factories/PaperFactory.php: -------------------------------------------------------------------------------- 1 | define(App\Models\Paper::class, function (Faker $faker) { 9 | static $users; 10 | 11 | $users = $users ?: User::all()->pluck('id')->toArray(); 12 | 13 | $updated_at = $faker->dateTimeThisMonth(); 14 | $created_at = $faker->dateTimeThisMonth($updated_at); 15 | 16 | $content = genPaperContent($faker, rand(10, 100)); 17 | $answers = genAnswers($faker, $content); 18 | 19 | return [ 20 | 'title' => $faker->sentence(), 21 | 'content' => json_encode($content), 22 | 'answers' => json_encode($answers), 23 | 'creator_id' => $faker->randomElement($users), 24 | 'created_at' => $created_at, 25 | 'updated_at' => $updated_at, 26 | 'total_score' => sizeof($content )* 5, 27 | 'password' => $faker->boolean() ? $faker->password(3, 6) : null, 28 | 'open_time' => $faker->boolean() ? $faker->dateTimeBetween('now', '2 months') : null, 29 | 'repeat_limit' => $faker->boolean() ? $faker->randomNumber(5) : 1, 30 | ]; 31 | }); 32 | 33 | 34 | -------------------------------------------------------------------------------- /database/factories/ScoreFactory.php: -------------------------------------------------------------------------------- 1 | define(Score::class, function (Faker $faker) { 9 | static $users; 10 | static $papers; 11 | 12 | $users = $users ?: User::all()->pluck('id')->toArray(); 13 | $papers = $papers ?: Paper::all()->pluck('id')->toArray(); 14 | 15 | $paper = Paper::find($faker->randomElement($papers)); 16 | $answers = genAnswers($faker, json_decode($paper->content), json_decode($paper->answers)); 17 | $score = computeScore($answers, $paper); 18 | $startTime = $faker->dateTimeBetween($paper->created_at); 19 | $completeTime = Carbon\Carbon::instance($startTime)->addMinute($paper->time_limit - $faker->numberBetween(10, $paper->time_limit)); 20 | return [ 21 | 'user_id' => $faker->randomElement($users), 22 | 'paper_id' => $paper->id, 23 | 'answers' => $answers, 24 | 'score' => $score, 25 | 'start_time' => $startTime, 26 | 'complete_time' => $completeTime, 27 | 'created_at' => $startTime, 28 | 'updated_at' => $startTime, 29 | ]; 30 | }); -------------------------------------------------------------------------------- /database/factories/UserFactory.php: -------------------------------------------------------------------------------- 1 | define(App\Models\User::class, function (Faker $faker) { 17 | static $password; 18 | 19 | $updated_at = $faker->dateTimeThisMonth(); 20 | $created_at = $faker->dateTimeThisMonth($updated_at); 21 | 22 | return [ 23 | 'name' => $faker->name, 24 | 'email' => $faker->unique()->safeEmail, 25 | 'password' => $password ?: $password = bcrypt('111111'), 26 | 'remember_token' => str_random(10), 27 | 'created_at' => $created_at, 28 | 'updated_at' => $updated_at, 29 | ]; 30 | }); 31 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_000000_create_users_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->string('name'); 19 | $table->string('email')->unique(); 20 | $table->string('password'); 21 | $table->rememberToken(); 22 | $table->timestamps(); 23 | }); 24 | } 25 | 26 | /** 27 | * Reverse the migrations. 28 | * 29 | * @return void 30 | */ 31 | public function down() 32 | { 33 | Schema::dropIfExists('users'); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /database/migrations/2014_10_12_100000_create_password_resets_table.php: -------------------------------------------------------------------------------- 1 | string('email')->index(); 18 | $table->string('token'); 19 | $table->timestamp('created_at')->nullable(); 20 | }); 21 | } 22 | 23 | /** 24 | * Reverse the migrations. 25 | * 26 | * @return void 27 | */ 28 | public function down() 29 | { 30 | Schema::dropIfExists('password_resets'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2017_12_31_013201_create_papers_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 12 | $table->string('title')->comment('标题'); 13 | $table->unsignedInteger('creator_id')->index()->comment('创建者'); 14 | $table->unsignedInteger('total_score')->default(100)->comment('总分'); 15 | $table->text('content')->comment('内容'); 16 | $table->text('answers')->comment('答案'); 17 | $table->unsignedInteger('time_limit')->default(120)->comment('限时'); 18 | $table->unsignedInteger('participation_count')->default(0)->comment('参与人数'); 19 | $table->timestamps(); 20 | 21 | $table->softDeletes(); 22 | 23 | $table->foreign('creator_id')->references('id')->on('users')->onDelete('cascade'); 24 | }); 25 | } 26 | 27 | public function down() 28 | { 29 | Schema::drop('papers'); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /database/migrations/2017_12_31_062118_add_oauth_github_qq_weixin.php: -------------------------------------------------------------------------------- 1 | string('avatar')->nullable(); 18 | $table->integer('github_id')->nullable()->unique(); 19 | $table->integer('qq_id')->nullable()->unique(); 20 | $table->integer('weixin_id')->nullable()->unique(); 21 | }); 22 | } 23 | 24 | /** 25 | * Reverse the migrations. 26 | * 27 | * @return void 28 | */ 29 | public function down() 30 | { 31 | Schema::table('users', function (Blueprint $table) { 32 | $table->dropColumn('avatar'); 33 | $table->dropColumn('github_id'); 34 | $table->dropColumn('qq_id'); 35 | $table->dropColumn('weixin_id'); 36 | }); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /database/migrations/2018_01_02_192924_add_scores_table.php: -------------------------------------------------------------------------------- 1 | increments('id'); 18 | $table->unsignedInteger('user_id')->index(); 19 | $table->unsignedInteger('paper_id')->index(); 20 | $table->json('answers')->nullable(); 21 | $table->float('score')->nullable(); 22 | $table->dateTime('start_time'); 23 | $table->dateTime('complete_time')->nullable(); 24 | $table->timestamps(); 25 | 26 | $table->softDeletes(); 27 | 28 | $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); 29 | $table->foreign('paper_id')->references('id')->on('papers')->onDelete('cascade'); 30 | }); 31 | } 32 | 33 | /** 34 | * Reverse the migrations. 35 | * 36 | * @return void 37 | */ 38 | public function down() 39 | { 40 | Schema::drop('scores'); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /database/migrations/2018_01_18_130456_add_paper_password.php: -------------------------------------------------------------------------------- 1 | text('password')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('papers', function (Blueprint $table) { 29 | $table->dropColumn('password'); 30 | }); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_01_19_081332_add_open_time_for_test.php: -------------------------------------------------------------------------------- 1 | dateTime('open_time')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('papers', function (Blueprint $table) { 29 | $table->dropColumn('open_time'); 30 | }); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_01_20_061215_add_paper_repeat_limit.php: -------------------------------------------------------------------------------- 1 | integer('repeat_limit')->default(1); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('papers', function (Blueprint $table) { 29 | $table->dropColumn('repeat_limit'); 30 | }); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/migrations/2018_01_21_230242_add_close_time_in_paper.php: -------------------------------------------------------------------------------- 1 | dateTime('close_time')->nullable(); 18 | }); 19 | } 20 | 21 | /** 22 | * Reverse the migrations. 23 | * 24 | * @return void 25 | */ 26 | public function down() 27 | { 28 | Schema::table('papers', function (Blueprint $table) { 29 | $table->dropColumn('close_time'); 30 | }); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /database/seeds/PapersTableSeeder.php: -------------------------------------------------------------------------------- 1 | times(50)->make(); 12 | 13 | Paper::insert($papers->toArray()); 14 | } 15 | 16 | } 17 | 18 | -------------------------------------------------------------------------------- /database/seeds/ScoresTableSeeder.php: -------------------------------------------------------------------------------- 1 | times(5000)->make(); 12 | 13 | Score::insert($scores->toArray()); 14 | 15 | \DB::update('UPDATE papers, (SELECT paper_id, count(paper_id) as number FROM scores group by paper_id) as c SET papers.`participation_count`=c.number WHERE papers.id=c.paper_id;'); 16 | } 17 | 18 | } -------------------------------------------------------------------------------- /database/seeds/UsersTableSeeder.php: -------------------------------------------------------------------------------- 1 | times(10) 12 | ->make(); 13 | 14 | $user_array = $users->makeVisible(['password', 'remember_token'])->toArray(); 15 | 16 | User::insert($user_array); 17 | 18 | $user = User::find(1); 19 | $user->name = 'Harlan'; 20 | $user->email = 'luoxwen@gmail.com'; 21 | $user->github_id = 948001; 22 | $user->avatar = 'https://avatars0.githubusercontent.com/u/948001?v=4'; 23 | $user->save(); 24 | } 25 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "dev": "npm run development", 5 | "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 6 | "watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js", 7 | "watch-poll": "npm run watch -- --watch-poll", 8 | "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js", 9 | "prod": "npm run production", 10 | "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" 11 | }, 12 | "devDependencies": { 13 | "bootstrap-sass": "^3.3.7", 14 | "cross-env": "^5.1", 15 | "jquery": "^3.2", 16 | "laravel-mix": "^1.0", 17 | "lodash": "^4.17.4", 18 | "vue": "^2.5.7" 19 | }, 20 | "dependencies": { 21 | "axios": "^0.17.1", 22 | "chart.js": "^2.7.1", 23 | "element-ui": "^2.0.11", 24 | "vue-chartjs": "^3.1.0", 25 | "vue-router": "^3.0.1", 26 | "vuex": "^3.0.1" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- 1 | 2 | 11 | 12 | 13 | ./tests/Feature 14 | 15 | 16 | 17 | ./tests/Unit 18 | 19 | 20 | 21 | 22 | ./app 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews -Indexes 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Handle Authorization Header 9 | RewriteCond %{HTTP:Authorization} . 10 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 11 | 12 | # Redirect Trailing Slashes If Not A Folder... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_URI} (.+)/$ 15 | RewriteRule ^ %1 [L,R=301] 16 | 17 | # Handle Front Controller... 18 | RewriteCond %{REQUEST_FILENAME} !-d 19 | RewriteCond %{REQUEST_FILENAME} !-f 20 | RewriteRule ^ index.php [L] 21 | 22 | -------------------------------------------------------------------------------- /public/app.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 在线答题系统 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 |
20 | 23 | 24 | -------------------------------------------------------------------------------- /public/css/app.css: -------------------------------------------------------------------------------- 1 | html{position:relative;min-height:100%}body{font-family:Hiragino Sans GB,Helvetica,Microsoft YaHei,Arial,sans-serif;margin-bottom:60px}.footer{position:absolute;bottom:0;width:100%;height:60px;background-color:#000}.footer .container{padding-right:15px;margin-left:15px}.footer .container p{color:#c1c1c1}.footer .container p a{color:inherit}.login-page .oauth label,.register-page .oauth label{text-align:right;padding-top:4px}.login-page .oauth a,.register-page .oauth a{color:inherit}.login-page .oauth i,.register-page .oauth i{margin-right:8px;font-size:24px} -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/favicon.ico -------------------------------------------------------------------------------- /public/fonts/vendor/element-ui/lib/theme-chalk/element-icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/fonts/vendor/element-ui/lib/theme-chalk/element-icons.ttf -------------------------------------------------------------------------------- /public/fonts/vendor/element-ui/lib/theme-chalk/element-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/fonts/vendor/element-ui/lib/theme-chalk/element-icons.woff -------------------------------------------------------------------------------- /public/mix-manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "/js/app.js": "/js/app.js", 3 | "/css/app.css": "/css/app.css" 4 | } -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/bootstrap/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/boxed-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/boxed-bg.jpg -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/boxed-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/boxed-bg.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/american-express.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/american-express.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/cirrus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/cirrus.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/mastercard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/mastercard.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/mestro.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/mestro.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/paypal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/paypal.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/paypal2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/paypal2.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/credit/visa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/credit/visa.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/default-50x50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/default-50x50.gif -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/icons.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/dist/img/user2-160x160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/dist/img/user2-160x160.jpg -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/alpha-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/alpha-horizontal.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/alpha.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/alpha.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/hue-horizontal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/hue-horizontal.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/hue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/hue.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/saturation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/colorpicker/img/saturation.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/all.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin skins 2 | ----------------------------------- */ 3 | @import url("minimal/_all.css"); 4 | /* 5 | @import url("minimal/minimal.css"); 6 | @import url("minimal/red.css"); 7 | @import url("minimal/green.css"); 8 | @import url("minimal/blue.css"); 9 | @import url("minimal/aero.css"); 10 | @import url("minimal/grey.css"); 11 | @import url("minimal/orange.css"); 12 | @import url("minimal/yellow.css"); 13 | @import url("minimal/pink.css"); 14 | @import url("minimal/purple.css"); 15 | */ 16 | 17 | @import url("square/_all.css"); 18 | /* 19 | @import url("square/square.css"); 20 | @import url("square/red.css"); 21 | @import url("square/green.css"); 22 | @import url("square/blue.css"); 23 | @import url("square/aero.css"); 24 | @import url("square/grey.css"); 25 | @import url("square/orange.css"); 26 | @import url("square/yellow.css"); 27 | @import url("square/pink.css"); 28 | @import url("square/purple.css"); 29 | */ 30 | 31 | @import url("flat/_all.css"); 32 | /* 33 | @import url("flat/flat.css"); 34 | @import url("flat/red.css"); 35 | @import url("flat/green.css"); 36 | @import url("flat/blue.css"); 37 | @import url("flat/aero.css"); 38 | @import url("flat/grey.css"); 39 | @import url("flat/orange.css"); 40 | @import url("flat/yellow.css"); 41 | @import url("flat/pink.css"); 42 | @import url("flat/purple.css"); 43 | */ 44 | 45 | @import url("line/_all.css"); 46 | /* 47 | @import url("line/line.css"); 48 | @import url("line/red.css"); 49 | @import url("line/green.css"); 50 | @import url("line/blue.css"); 51 | @import url("line/aero.css"); 52 | @import url("line/grey.css"); 53 | @import url("line/orange.css"); 54 | @import url("line/yellow.css"); 55 | @import url("line/pink.css"); 56 | @import url("line/purple.css"); 57 | */ 58 | 59 | @import url("polaris/polaris.css"); 60 | 61 | @import url("futurico/futurico.css"); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_flat-aero, 4 | .iradio_flat-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-aero.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-aero.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-aero.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-aero { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-aero.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-aero.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-aero.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-aero, 51 | .iradio_flat-aero { 52 | background-image: url(aero@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/aero.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/aero@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_flat-blue, 4 | .iradio_flat-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-blue.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-blue.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-blue.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-blue { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-blue.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-blue.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-blue.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-blue, 51 | .iradio_flat-blue { 52 | background-image: url(blue@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/blue.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/blue@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/flat.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin flat skin, black 2 | ----------------------------------- */ 3 | .icheckbox_flat, 4 | .iradio_flat { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(flat.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat, 51 | .iradio_flat { 52 | background-image: url(flat@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/flat.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/flat@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/flat@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/green.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, green 2 | ----------------------------------- */ 3 | .icheckbox_flat-green, 4 | .iradio_flat-green { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(green.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-green { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-green.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-green.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-green.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-green { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-green.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-green.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-green.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-green, 51 | .iradio_flat-green { 52 | background-image: url(green@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/green.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/green@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_flat-grey, 4 | .iradio_flat-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-grey.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-grey.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-grey.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-grey { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-grey.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-grey.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-grey.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-grey, 51 | .iradio_flat-grey { 52 | background-image: url(grey@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/grey.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/grey@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/orange.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, orange 2 | ----------------------------------- */ 3 | .icheckbox_flat-orange, 4 | .iradio_flat-orange { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(orange.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-orange { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-orange.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-orange.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-orange.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-orange { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-orange.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-orange.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-orange.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-orange, 51 | .iradio_flat-orange { 52 | background-image: url(orange@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/orange.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/orange@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/pink.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, pink 2 | ----------------------------------- */ 3 | .icheckbox_flat-pink, 4 | .iradio_flat-pink { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(pink.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-pink { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-pink.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-pink.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-pink.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-pink { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-pink.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-pink.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-pink.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-pink, 51 | .iradio_flat-pink { 52 | background-image: url(pink@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/pink.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/pink@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/purple.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, purple 2 | ----------------------------------- */ 3 | .icheckbox_flat-purple, 4 | .iradio_flat-purple { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(purple.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-purple { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-purple.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-purple.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-purple.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-purple { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-purple.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-purple.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-purple.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-purple, 51 | .iradio_flat-purple { 52 | background-image: url(purple@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/purple.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/purple@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, red 2 | ----------------------------------- */ 3 | .icheckbox_flat-red, 4 | .iradio_flat-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-red.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-red.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-red.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-red { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-red.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-red.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-red.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-red, 51 | .iradio_flat-red { 52 | background-image: url(red@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/red.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/red@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/yellow.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Flat skin, yellow 2 | ----------------------------------- */ 3 | .icheckbox_flat-yellow, 4 | .iradio_flat-yellow { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 20px; 11 | height: 20px; 12 | background: url(yellow.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_flat-yellow { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_flat-yellow.checked { 21 | background-position: -22px 0; 22 | } 23 | .icheckbox_flat-yellow.disabled { 24 | background-position: -44px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_flat-yellow.checked.disabled { 28 | background-position: -66px 0; 29 | } 30 | 31 | .iradio_flat-yellow { 32 | background-position: -88px 0; 33 | } 34 | .iradio_flat-yellow.checked { 35 | background-position: -110px 0; 36 | } 37 | .iradio_flat-yellow.disabled { 38 | background-position: -132px 0; 39 | cursor: default; 40 | } 41 | .iradio_flat-yellow.checked.disabled { 42 | background-position: -154px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_flat-yellow, 51 | .iradio_flat-yellow { 52 | background-image: url(yellow@2x.png); 53 | -webkit-background-size: 176px 22px; 54 | background-size: 176px 22px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/yellow.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/flat/yellow@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/futurico/futurico.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Futurico skin 2 | ----------------------------------- */ 3 | .icheckbox_futurico, 4 | .iradio_futurico { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 16px; 11 | height: 17px; 12 | background: url(futurico.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_futurico { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_futurico.checked { 21 | background-position: -18px 0; 22 | } 23 | .icheckbox_futurico.disabled { 24 | background-position: -36px 0; 25 | cursor: default; 26 | } 27 | .icheckbox_futurico.checked.disabled { 28 | background-position: -54px 0; 29 | } 30 | 31 | .iradio_futurico { 32 | background-position: -72px 0; 33 | } 34 | .iradio_futurico.checked { 35 | background-position: -90px 0; 36 | } 37 | .iradio_futurico.disabled { 38 | background-position: -108px 0; 39 | cursor: default; 40 | } 41 | .iradio_futurico.checked.disabled { 42 | background-position: -126px 0; 43 | } 44 | 45 | /* Retina support */ 46 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 47 | only screen and (-moz-min-device-pixel-ratio: 1.5), 48 | only screen and (-o-min-device-pixel-ratio: 3/2), 49 | only screen and (min-device-pixel-ratio: 1.5) { 50 | .icheckbox_futurico, 51 | .iradio_futurico { 52 | background-image: url(futurico@2x.png); 53 | -webkit-background-size: 144px 19px; 54 | background-size: 144px 19px; 55 | } 56 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/futurico/futurico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/futurico/futurico.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/futurico/futurico@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/futurico/futurico@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/line/line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/line/line.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/line/line@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/line/line@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/aero.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/aero@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/blue.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/blue@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/green.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/green@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/grey.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/grey@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/minimal.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, black 2 | ----------------------------------- */ 3 | .icheckbox_minimal, 4 | .iradio_minimal { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(minimal.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal, 57 | .iradio_minimal { 58 | background-image: url(minimal@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/minimal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/minimal.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/minimal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/minimal@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/orange.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/orange@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/pink.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/pink@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/purple.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/purple@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Minimal skin, red 2 | ----------------------------------- */ 3 | .icheckbox_minimal-red, 4 | .iradio_minimal-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 18px; 11 | height: 18px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_minimal-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_minimal-red.hover { 21 | background-position: -20px 0; 22 | } 23 | .icheckbox_minimal-red.checked { 24 | background-position: -40px 0; 25 | } 26 | .icheckbox_minimal-red.disabled { 27 | background-position: -60px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_minimal-red.checked.disabled { 31 | background-position: -80px 0; 32 | } 33 | 34 | .iradio_minimal-red { 35 | background-position: -100px 0; 36 | } 37 | .iradio_minimal-red.hover { 38 | background-position: -120px 0; 39 | } 40 | .iradio_minimal-red.checked { 41 | background-position: -140px 0; 42 | } 43 | .iradio_minimal-red.disabled { 44 | background-position: -160px 0; 45 | cursor: default; 46 | } 47 | .iradio_minimal-red.checked.disabled { 48 | background-position: -180px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 1.5), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_minimal-red, 57 | .iradio_minimal-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 200px 20px; 60 | background-size: 200px 20px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/red.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/red@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/yellow.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/minimal/yellow@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/polaris/polaris.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Polaris skin 2 | ----------------------------------- */ 3 | .icheckbox_polaris, 4 | .iradio_polaris { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 29px; 11 | height: 29px; 12 | background: url(polaris.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_polaris { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_polaris.hover { 21 | background-position: -31px 0; 22 | } 23 | .icheckbox_polaris.checked { 24 | background-position: -62px 0; 25 | } 26 | .icheckbox_polaris.disabled { 27 | background-position: -93px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_polaris.checked.disabled { 31 | background-position: -124px 0; 32 | } 33 | 34 | .iradio_polaris { 35 | background-position: -155px 0; 36 | } 37 | .iradio_polaris.hover { 38 | background-position: -186px 0; 39 | } 40 | .iradio_polaris.checked { 41 | background-position: -217px 0; 42 | } 43 | .iradio_polaris.disabled { 44 | background-position: -248px 0; 45 | cursor: default; 46 | } 47 | .iradio_polaris.checked.disabled { 48 | background-position: -279px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_polaris, 57 | .iradio_polaris { 58 | background-image: url(polaris@2x.png); 59 | -webkit-background-size: 310px 31px; 60 | background-size: 310px 31px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/polaris/polaris.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/polaris/polaris.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/polaris/polaris@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/polaris/polaris@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/aero.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, aero 2 | ----------------------------------- */ 3 | .icheckbox_square-aero, 4 | .iradio_square-aero { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(aero.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-aero { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-aero.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-aero.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-aero.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-aero.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-aero { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-aero.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-aero.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-aero.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-aero.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-aero, 57 | .iradio_square-aero { 58 | background-image: url(aero@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/aero.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/aero.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/aero@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/aero@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/blue.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, blue 2 | ----------------------------------- */ 3 | .icheckbox_square-blue, 4 | .iradio_square-blue { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(blue.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-blue { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-blue.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-blue.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-blue.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-blue.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-blue { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-blue.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-blue.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-blue.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-blue.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-blue, 57 | .iradio_square-blue { 58 | background-image: url(blue@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/blue.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/blue@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/blue@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/green.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/green.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/green@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/green@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/grey.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, grey 2 | ----------------------------------- */ 3 | .icheckbox_square-grey, 4 | .iradio_square-grey { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(grey.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-grey { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-grey.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-grey.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-grey.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-grey.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-grey { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-grey.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-grey.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-grey.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-grey.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-grey, 57 | .iradio_square-grey { 58 | background-image: url(grey@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/grey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/grey.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/grey@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/grey@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/orange.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/orange.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/orange@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/orange@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/pink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/pink.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/pink@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/pink@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/purple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/purple.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/purple@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/purple@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/red.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, red 2 | ----------------------------------- */ 3 | .icheckbox_square-red, 4 | .iradio_square-red { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(red.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square-red { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square-red.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square-red.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square-red.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square-red.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square-red { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square-red.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square-red.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square-red.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square-red.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square-red, 57 | .iradio_square-red { 58 | background-image: url(red@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/red.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/red.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/red@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/red@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/square.css: -------------------------------------------------------------------------------- 1 | /* iCheck plugin Square skin, black 2 | ----------------------------------- */ 3 | .icheckbox_square, 4 | .iradio_square { 5 | display: inline-block; 6 | *display: inline; 7 | vertical-align: middle; 8 | margin: 0; 9 | padding: 0; 10 | width: 22px; 11 | height: 22px; 12 | background: url(square.png) no-repeat; 13 | border: none; 14 | cursor: pointer; 15 | } 16 | 17 | .icheckbox_square { 18 | background-position: 0 0; 19 | } 20 | .icheckbox_square.hover { 21 | background-position: -24px 0; 22 | } 23 | .icheckbox_square.checked { 24 | background-position: -48px 0; 25 | } 26 | .icheckbox_square.disabled { 27 | background-position: -72px 0; 28 | cursor: default; 29 | } 30 | .icheckbox_square.checked.disabled { 31 | background-position: -96px 0; 32 | } 33 | 34 | .iradio_square { 35 | background-position: -120px 0; 36 | } 37 | .iradio_square.hover { 38 | background-position: -144px 0; 39 | } 40 | .iradio_square.checked { 41 | background-position: -168px 0; 42 | } 43 | .iradio_square.disabled { 44 | background-position: -192px 0; 45 | cursor: default; 46 | } 47 | .iradio_square.checked.disabled { 48 | background-position: -216px 0; 49 | } 50 | 51 | /* Retina support */ 52 | @media only screen and (-webkit-min-device-pixel-ratio: 1.5), 53 | only screen and (-moz-min-device-pixel-ratio: 1.5), 54 | only screen and (-o-min-device-pixel-ratio: 3/2), 55 | only screen and (min-device-pixel-ratio: 1.5) { 56 | .icheckbox_square, 57 | .iradio_square { 58 | background-image: url(square@2x.png); 59 | -webkit-background-size: 240px 24px; 60 | background-size: 240px 24px; 61 | } 62 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/square.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/square@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/square@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/yellow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/yellow.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/yellow@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/iCheck/square/yellow@2x.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/input-mask/phone-codes/readme.txt: -------------------------------------------------------------------------------- 1 | more phone masks can be found at https://github.com/andr-04/inputmask-multi -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/ionslider/img/sprite-skin-flat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/ionslider/img/sprite-skin-flat.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/ionslider/img/sprite-skin-nice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/AdminLTE/plugins/ionslider/img/sprite-skin-nice.png -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ar.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ar",[],function(){return{errorLoading:function(){return"لا يمكن تحميل النتائج"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="الرجاء حذف "+t+" عناصر";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="الرجاء إضافة "+t+" عناصر";return n},loadingMore:function(){return"جاري تحميل نتائج إضافية..."},maximumSelected:function(e){var t="تستطيع إختيار "+e.maximum+" بنود فقط";return t},noResults:function(){return"لم يتم العثور على أي نتائج"},searching:function(){return"جاري البحث…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/az.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/az",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return t+" simvol silin"},inputTooShort:function(e){var t=e.minimum-e.input.length;return t+" simvol daxil edin"},loadingMore:function(){return"Daha çox nəticə yüklənir…"},maximumSelected:function(e){return"Sadəcə "+e.maximum+" element seçə bilərsiniz"},noResults:function(){return"Nəticə tapılmadı"},searching:function(){return"Axtarılır…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/bg.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/bg",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Моля въведете с "+t+" по-малко символ";return t>1&&(n+="a"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Моля въведете още "+t+" символ";return t>1&&(n+="a"),n},loadingMore:function(){return"Зареждат се още…"},maximumSelected:function(e){var t="Можете да направите до "+e.maximum+" ";return e.maximum>1?t+="избора":t+="избор",t},noResults:function(){return"Няма намерени съвпадения"},searching:function(){return"Търсене…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ca.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ca",[],function(){return{errorLoading:function(){return"La càrrega ha fallat"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Si us plau, elimina "+t+" car";return t==1?n+="àcter":n+="àcters",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Si us plau, introdueix "+t+" car";return t==1?n+="àcter":n+="àcters",n},loadingMore:function(){return"Carregant més resultats…"},maximumSelected:function(e){var t="Només es pot seleccionar "+e.maximum+" element";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No s'han trobat resultats"},searching:function(){return"Cercant…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/cs.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/cs",[],function(){function e(e,t){switch(e){case 2:return t?"dva":"dvě";case 3:return"tři";case 4:return"čtyři"}return""}return{errorLoading:function(){return"Výsledky nemohly být načteny."},inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím zadejte o jeden znak méně":n<=4?"Prosím zadejte o "+e(n,!0)+" znaky méně":"Prosím zadejte o "+n+" znaků méně"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím zadejte ještě jeden znak":n<=4?"Prosím zadejte ještě další "+e(n,!0)+" znaky":"Prosím zadejte ještě dalších "+n+" znaků"},loadingMore:function(){return"Načítají se další výsledky…"},maximumSelected:function(t){var n=t.maximum;return n==1?"Můžete zvolit jen jednu položku":n<=4?"Můžete zvolit maximálně "+e(n,!1)+" položky":"Můžete zvolit maximálně "+n+" položek"},noResults:function(){return"Nenalezeny žádné položky"},searching:function(){return"Vyhledávání…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/da.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/da",[],function(){return{errorLoading:function(){return"Resultaterne kunne ikke indlæses."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Angiv venligst "+t+" tegn mindre";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Angiv venligst "+t+" tegn mere";return n},loadingMore:function(){return"Indlæser flere resultater…"},maximumSelected:function(e){var t="Du kan kun vælge "+e.maximum+" emne";return e.maximum!=1&&(t+="r"),t},noResults:function(){return"Ingen resultater fundet"},searching:function(){return"Søger…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/de.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/de",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Bitte "+t+" Zeichen weniger eingeben"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Bitte "+t+" Zeichen mehr eingeben"},loadingMore:function(){return"Lade mehr Ergebnisse…"},maximumSelected:function(e){var t="Sie können nur "+e.maximum+" Eintr";return e.maximum===1?t+="ag":t+="äge",t+=" auswählen",t},noResults:function(){return"Keine Übereinstimmungen gefunden"},searching:function(){return"Suche…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/el.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/el",[],function(){return{errorLoading:function(){return"Τα αποτελέσματα δεν μπόρεσαν να φορτώσουν."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Παρακαλώ διαγράψτε "+t+" χαρακτήρ";return t==1&&(n+="α"),t!=1&&(n+="ες"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Παρακαλώ συμπληρώστε "+t+" ή περισσότερους χαρακτήρες";return n},loadingMore:function(){return"Φόρτωση περισσότερων αποτελεσμάτων…"},maximumSelected:function(e){var t="Μπορείτε να επιλέξετε μόνο "+e.maximum+" επιλογ";return e.maximum==1&&(t+="ή"),e.maximum!=1&&(t+="ές"),t},noResults:function(){return"Δεν βρέθηκαν αποτελέσματα"},searching:function(){return"Αναζήτηση…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/en.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/en",[],function(){return{errorLoading:function(){return"The results could not be loaded."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Please delete "+t+" character";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Please enter "+t+" or more characters";return n},loadingMore:function(){return"Loading more results…"},maximumSelected:function(e){var t="You can only select "+e.maximum+" item";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No results found"},searching:function(){return"Searching…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/es.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/es",[],function(){return{errorLoading:function(){return"La carga falló"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor, elimine "+t+" car";return t==1?n+="ácter":n+="acteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Por favor, introduzca "+t+" car";return t==1?n+="ácter":n+="acteres",n},loadingMore:function(){return"Cargando más resultados…"},maximumSelected:function(e){var t="Sólo puede seleccionar "+e.maximum+" elemento";return e.maximum!=1&&(t+="s"),t},noResults:function(){return"No se encontraron resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/et.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/et",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" vähem",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Sisesta "+t+" täht";return t!=1&&(n+="e"),n+=" rohkem",n},loadingMore:function(){return"Laen tulemusi…"},maximumSelected:function(e){var t="Saad vaid "+e.maximum+" tulemus";return e.maximum==1?t+="e":t+="t",t+=" valida",t},noResults:function(){return"Tulemused puuduvad"},searching:function(){return"Otsin…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/eu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/eu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gutxiago",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Idatzi ";return t==1?n+="karaktere bat":n+=t+" karaktere",n+=" gehiago",n},loadingMore:function(){return"Emaitza gehiago kargatzen…"},maximumSelected:function(e){return e.maximum===1?"Elementu bakarra hauta dezakezu":e.maximum+" elementu hauta ditzakezu soilik"},noResults:function(){return"Ez da bat datorrenik aurkitu"},searching:function(){return"Bilatzen…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/fa.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fa",[],function(){return{errorLoading:function(){return"امکان بارگذاری نتایج وجود ندارد."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="لطفاً "+t+" کاراکتر را حذف نمایید";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="لطفاً تعداد "+t+" کاراکتر یا بیشتر وارد نمایید";return n},loadingMore:function(){return"در حال بارگذاری نتایج بیشتر..."},maximumSelected:function(e){var t="شما تنها می‌توانید "+e.maximum+" آیتم را انتخاب نمایید";return t},noResults:function(){return"هیچ نتیجه‌ای یافت نشد"},searching:function(){return"در حال جستجو..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/fi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Ole hyvä ja anna "+t+" merkkiä vähemmän"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Ole hyvä ja anna "+t+" merkkiä lisää"},loadingMore:function(){return"Ladataan lisää tuloksia…"},maximumSelected:function(e){return"Voit valita ainoastaan "+e.maximum+" kpl"},noResults:function(){return"Ei tuloksia"},searching:function(){}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/fr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/fr",[],function(){return{errorLoading:function(){return"Les résultats ne peuvent pas être chargés."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Supprimez "+t+" caractère";return t!==1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Saisissez "+t+" caractère";return t!==1&&(n+="s"),n},loadingMore:function(){return"Chargement de résultats supplémentaires…"},maximumSelected:function(e){var t="Vous pouvez seulement sélectionner "+e.maximum+" élément";return e.maximum!==1&&(t+="s"),t},noResults:function(){return"Aucun résultat trouvé"},searching:function(){return"Recherche en cours…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/gl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/gl",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Elimine ";return t===1?n+="un carácter":n+=t+" caracteres",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Engada ";return t===1?n+="un carácter":n+=t+" caracteres",n},loadingMore:function(){return"Cargando máis resultados…"},maximumSelected:function(e){var t="Só pode ";return e.maximum===1?t+="un elemento":t+=e.maximum+" elementos",t},noResults:function(){return"Non se atoparon resultados"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/he.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/he",[],function(){return{errorLoading:function(){return"שגיאה בטעינת התוצאות"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="נא למחוק ";return t===1?n+="תו אחד":n+=t+" תווים",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="נא להכניס ";return t===1?n+="תו אחד":n+=t+" תווים",n+=" או יותר",n},loadingMore:function(){return"טוען תוצאות נוספות…"},maximumSelected:function(e){var t="באפשרותך לבחור עד ";return e.maximum===1?t+="פריט אחד":t+=e.maximum+" פריטים",t},noResults:function(){return"לא נמצאו תוצאות"},searching:function(){return"מחפש…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/hi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hi",[],function(){return{errorLoading:function(){return"परिणामों को लोड नहीं किया जा सका।"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" अक्षर को हटा दें";return t>1&&(n=t+" अक्षरों को हटा दें "),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="कृपया "+t+" या अधिक अक्षर दर्ज करें";return n},loadingMore:function(){return"अधिक परिणाम लोड हो रहे है..."},maximumSelected:function(e){var t="आप केवल "+e.maximum+" आइटम का चयन कर सकते हैं";return t},noResults:function(){return"कोई परिणाम नहीं मिला"},searching:function(){return"खोज रहा है..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/hr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hr",[],function(){function e(e){var t=" "+e+" znak";return e%10<5&&e%10>0&&(e%100<5||e%100>19)?e%10>1&&(t+="a"):t+="ova",t}return{errorLoading:function(){return"Preuzimanje nije uspjelo."},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Unesite "+e(n)},inputTooShort:function(t){var n=t.minimum-t.input.length;return"Unesite još "+e(n)},loadingMore:function(){return"Učitavanje rezultata…"},maximumSelected:function(e){return"Maksimalan broj odabranih stavki je "+e.maximum},noResults:function(){return"Nema rezultata"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/hu.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/hu",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum;return"Túl hosszú. "+t+" karakterrel több, mint kellene."},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Túl rövid. Még "+t+" karakter hiányzik."},loadingMore:function(){return"Töltés…"},maximumSelected:function(e){return"Csak "+e.maximum+" elemet lehet kiválasztani."},noResults:function(){return"Nincs találat."},searching:function(){return"Keresés…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/id.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/id",[],function(){return{errorLoading:function(){return"Data tidak boleh diambil."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Hapuskan "+t+" huruf"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Masukkan "+t+" huruf lagi"},loadingMore:function(){return"Mengambil data…"},maximumSelected:function(e){return"Anda hanya dapat memilih "+e.maximum+" pilihan"},noResults:function(){return"Tidak ada data yang sesuai"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/is.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/is",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vinsamlegast styttið texta um "+t+" staf";return t<=1?n:n+"i"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vinsamlegast skrifið "+t+" staf";return t>1&&(n+="i"),n+=" í viðbót",n},loadingMore:function(){return"Sæki fleiri niðurstöður…"},maximumSelected:function(e){return"Þú getur aðeins valið "+e.maximum+" atriði"},noResults:function(){return"Ekkert fannst"},searching:function(){return"Leita…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/it.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/it",[],function(){return{errorLoading:function(){return"I risultati non possono essere caricati."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Per favore cancella "+t+" caratter";return t!==1?n+="i":n+="e",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Per favore inserisci "+t+" o più caratteri";return n},loadingMore:function(){return"Caricando più risultati…"},maximumSelected:function(e){var t="Puoi selezionare solo "+e.maximum+" element";return e.maximum!==1?t+="i":t+="o",t},noResults:function(){return"Nessun risultato trovato"},searching:function(){return"Sto cercando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ja.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ja",[],function(){return{errorLoading:function(){return"結果が読み込まれませんでした"},inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" 文字を削除してください";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="少なくとも "+t+" 文字を入力してください";return n},loadingMore:function(){return"読み込み中…"},maximumSelected:function(e){var t=e.maximum+" 件しか選択できません";return t},noResults:function(){return"対象が見つかりません"},searching:function(){return"検索しています…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/km.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/km",[],function(){return{errorLoading:function(){return"មិនអាចទាញយកទិន្នន័យ"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="សូមលុបចេញ "+t+" អក្សរ";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="សូមបញ្ចូល"+t+" អក្សរ រឺ ច្រើនជាងនេះ";return n},loadingMore:function(){return"កំពុងទាញយកទិន្នន័យបន្ថែម..."},maximumSelected:function(e){var t="អ្នកអាចជ្រើសរើសបានតែ "+e.maximum+" ជម្រើសប៉ុណ្ណោះ";return t},noResults:function(){return"មិនមានលទ្ធផល"},searching:function(){return"កំពុងស្វែងរក..."}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ko.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ko",[],function(){return{errorLoading:function(){return"결과를 불러올 수 없습니다."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="너무 깁니다. "+t+" 글자 지워주세요.";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="너무 짧습니다. "+t+" 글자 더 입력해주세요.";return n},loadingMore:function(){return"불러오는 중…"},maximumSelected:function(e){var t="최대 "+e.maximum+"개까지만 선택 가능합니다.";return t},noResults:function(){return"결과가 없습니다."},searching:function(){return"검색 중…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/lt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lt",[],function(){function e(e,t,n,r){return e%10===1&&(e%100<11||e%100>19)?t:e%10>=2&&e%10<=9&&(e%100<11||e%100>19)?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Pašalinkite "+n+" simbol";return r+=e(n,"į","ius","ių"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Įrašykite dar "+n+" simbol";return r+=e(n,"į","ius","ių"),r},loadingMore:function(){return"Kraunama daugiau rezultatų…"},maximumSelected:function(t){var n="Jūs galite pasirinkti tik "+t.maximum+" element";return n+=e(t.maximum,"ą","us","ų"),n},noResults:function(){return"Atitikmenų nerasta"},searching:function(){return"Ieškoma…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/lv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/lv",[],function(){function e(e,t,n,r){return e===11?t:e%10===1?n:r}return{inputTooLong:function(t){var n=t.input.length-t.maximum,r="Lūdzu ievadiet par "+n;return r+=" simbol"+e(n,"iem","u","iem"),r+" mazāk"},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Lūdzu ievadiet vēl "+n;return r+=" simbol"+e(n,"us","u","us"),r},loadingMore:function(){return"Datu ielāde…"},maximumSelected:function(t){var n="Jūs varat izvēlēties ne vairāk kā "+t.maximum;return n+=" element"+e(t.maximum,"us","u","us"),n},noResults:function(){return"Sakritību nav"},searching:function(){return"Meklēšana…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/mk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/mk",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Ве молиме внесете "+e.maximum+" помалку карактер";return e.maximum!==1&&(n+="и"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Ве молиме внесете уште "+e.maximum+" карактер";return e.maximum!==1&&(n+="и"),n},loadingMore:function(){return"Вчитување резултати…"},maximumSelected:function(e){var t="Можете да изберете само "+e.maximum+" ставк";return e.maximum===1?t+="а":t+="и",t},noResults:function(){return"Нема пронајдено совпаѓања"},searching:function(){return"Пребарување…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ms.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ms",[],function(){return{errorLoading:function(){return"Keputusan tidak berjaya dimuatkan."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Sila hapuskan "+t+" aksara"},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Sila masukkan "+t+" atau lebih aksara"},loadingMore:function(){return"Sedang memuatkan keputusan…"},maximumSelected:function(e){return"Anda hanya boleh memilih "+e.maximum+" pilihan"},noResults:function(){return"Tiada padanan yang ditemui"},searching:function(){return"Mencari…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/nb.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nb",[],function(){return{errorLoading:function(){return"Kunne ikke hente resultater."},inputTooLong:function(e){var t=e.input.length-e.maximum;return"Vennligst fjern "+t+" tegn"},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vennligst skriv inn ";return t>1?n+=" flere tegn":n+=" tegn til",n},loadingMore:function(){return"Laster flere resultater…"},maximumSelected:function(e){return"Du kan velge maks "+e.maximum+" elementer"},noResults:function(){return"Ingen treff"},searching:function(){return"Søker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/nl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/nl",[],function(){return{errorLoading:function(){return"De resultaten konden niet worden geladen."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Gelieve "+t+" karakters te verwijderen";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Gelieve "+t+" of meer karakters in te voeren";return n},loadingMore:function(){return"Meer resultaten laden…"},maximumSelected:function(e){var t=e.maximum==1?"kan":"kunnen",n="Er "+t+" maar "+e.maximum+" item";return e.maximum!=1&&(n+="s"),n+=" worden geselecteerd",n},noResults:function(){return"Geen resultaten gevonden…"},searching:function(){return"Zoeken…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/pl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pl",[],function(){var e=["znak","znaki","znaków"],t=["element","elementy","elementów"],n=function(t,n){if(t===1)return n[0];if(t>1&&t<=4)return n[1];if(t>=5)return n[2]};return{errorLoading:function(){return"Nie można załadować wyników."},inputTooLong:function(t){var r=t.input.length-t.maximum;return"Usuń "+r+" "+n(r,e)},inputTooShort:function(t){var r=t.minimum-t.input.length;return"Podaj przynajmniej "+r+" "+n(r,e)},loadingMore:function(){return"Trwa ładowanie…"},maximumSelected:function(e){return"Możesz zaznaczyć tylko "+e.maximum+" "+n(e.maximum,t)},noResults:function(){return"Brak wyników"},searching:function(){return"Trwa wyszukiwanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/pt-BR.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt-BR",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Apague "+t+" caracter";return t!=1&&(n+="es"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Digite "+t+" ou mais caracteres";return n},loadingMore:function(){return"Carregando mais resultados…"},maximumSelected:function(e){var t="Você só pode selecionar "+e.maximum+" ite";return e.maximum==1?t+="m":t+="ns",t},noResults:function(){return"Nenhum resultado encontrado"},searching:function(){return"Buscando…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/pt.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/pt",[],function(){return{errorLoading:function(){return"Os resultados não puderam ser carregados."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Por favor apague "+t+" ";return n+=t!=1?"caracteres":"carácter",n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Introduza "+t+" ou mais caracteres";return n},loadingMore:function(){return"A carregar mais resultados…"},maximumSelected:function(e){var t="Apenas pode seleccionar "+e.maximum+" ";return t+=e.maximum!=1?"itens":"item",t},noResults:function(){return"Sem resultados"},searching:function(){return"A procurar…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ro.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ro",[],function(){return{errorLoading:function(){return"Rezultatele nu au putut fi incărcate."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vă rugăm să ștergeți"+t+" caracter";return t!==1&&(n+="e"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vă rugăm să introduceți "+t+"sau mai multe caractere";return n},loadingMore:function(){return"Se încarcă mai multe rezultate…"},maximumSelected:function(e){var t="Aveți voie să selectați cel mult "+e.maximum;return t+=" element",e.maximum!==1&&(t+="e"),t},noResults:function(){return"Nu au fost găsite rezultate"},searching:function(){return"Căutare…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/ru.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/ru",[],function(){function e(e,t,n,r){return e%10<5&&e%10>0&&e%100<5||e%100>20?e%10>1?n:t:r}return{errorLoading:function(){return"Невозможно загрузить результаты"},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Пожалуйста, введите на "+n+" символ";return r+=e(n,"","a","ов"),r+=" меньше",r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Пожалуйста, введите еще хотя бы "+n+" символ";return r+=e(n,"","a","ов"),r},loadingMore:function(){return"Загрузка данных…"},maximumSelected:function(t){var n="Вы можете выбрать не более "+t.maximum+" элемент";return n+=e(t.maximum,"","a","ов"),n},noResults:function(){return"Совпадений не найдено"},searching:function(){return"Поиск…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/sk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sk",[],function(){var e={2:function(e){return e?"dva":"dve"},3:function(){return"tri"},4:function(){return"štyri"}};return{inputTooLong:function(t){var n=t.input.length-t.maximum;return n==1?"Prosím, zadajte o jeden znak menej":n>=2&&n<=4?"Prosím, zadajte o "+e[n](!0)+" znaky menej":"Prosím, zadajte o "+n+" znakov menej"},inputTooShort:function(t){var n=t.minimum-t.input.length;return n==1?"Prosím, zadajte ešte jeden znak":n<=4?"Prosím, zadajte ešte ďalšie "+e[n](!0)+" znaky":"Prosím, zadajte ešte ďalších "+n+" znakov"},loadingMore:function(){return"Loading more results…"},maximumSelected:function(t){return t.maximum==1?"Môžete zvoliť len jednu položku":t.maximum>=2&&t.maximum<=4?"Môžete zvoliť najviac "+e[t.maximum](!1)+" položky":"Môžete zvoliť najviac "+t.maximum+" položiek"},noResults:function(){return"Nenašli sa žiadne položky"},searching:function(){return"Vyhľadávanie…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/sr-Cyrl.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr-Cyrl",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Преузимање није успело."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Обришите "+n+" симбол";return r+=e(n,"","а","а"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Укуцајте бар још "+n+" симбол";return r+=e(n,"","а","а"),r},loadingMore:function(){return"Преузимање још резултата…"},maximumSelected:function(t){var n="Можете изабрати само "+t.maximum+" ставк";return n+=e(t.maximum,"у","е","и"),n},noResults:function(){return"Ништа није пронађено"},searching:function(){return"Претрага…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/sr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sr",[],function(){function e(e,t,n,r){return e%10==1&&e%100!=11?t:e%10>=2&&e%10<=4&&(e%100<12||e%100>14)?n:r}return{errorLoading:function(){return"Preuzimanje nije uspelo."},inputTooLong:function(t){var n=t.input.length-t.maximum,r="Obrišite "+n+" simbol";return r+=e(n,"","a","a"),r},inputTooShort:function(t){var n=t.minimum-t.input.length,r="Ukucajte bar još "+n+" simbol";return r+=e(n,"","a","a"),r},loadingMore:function(){return"Preuzimanje još rezultata…"},maximumSelected:function(t){var n="Možete izabrati samo "+t.maximum+" stavk";return n+=e(t.maximum,"u","e","i"),n},noResults:function(){return"Ništa nije pronađeno"},searching:function(){return"Pretraga…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/sv.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/sv",[],function(){return{errorLoading:function(){return"Resultat kunde inte laddas."},inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vänligen sudda ut "+t+" tecken";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vänligen skriv in "+t+" eller fler tecken";return n},loadingMore:function(){return"Laddar fler resultat…"},maximumSelected:function(e){var t="Du kan max välja "+e.maximum+" element";return t},noResults:function(){return"Inga träffar"},searching:function(){return"Söker…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/th.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/th",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="โปรดลบออก "+t+" ตัวอักษร";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="โปรดพิมพ์เพิ่มอีก "+t+" ตัวอักษร";return n},loadingMore:function(){return"กำลังค้นข้อมูลเพิ่ม…"},maximumSelected:function(e){var t="คุณสามารถเลือกได้ไม่เกิน "+e.maximum+" รายการ";return t},noResults:function(){return"ไม่พบข้อมูล"},searching:function(){return"กำลังค้นข้อมูล…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/tr.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/tr",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n=t+" karakter daha girmelisiniz";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="En az "+t+" karakter daha girmelisiniz";return n},loadingMore:function(){return"Daha fazla…"},maximumSelected:function(e){var t="Sadece "+e.maximum+" seçim yapabilirsiniz";return t},noResults:function(){return"Sonuç bulunamadı"},searching:function(){return"Aranıyor…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/uk.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/uk",[],function(){function e(e,t,n,r){return e%100>10&&e%100<15?r:e%10===1?t:e%10>1&&e%10<5?n:r}return{errorLoading:function(){return"Неможливо завантажити результати"},inputTooLong:function(t){var n=t.input.length-t.maximum;return"Будь ласка, видаліть "+n+" "+e(t.maximum,"літеру","літери","літер")},inputTooShort:function(e){var t=e.minimum-e.input.length;return"Будь ласка, введіть "+t+" або більше літер"},loadingMore:function(){return"Завантаження інших результатів…"},maximumSelected:function(t){return"Ви можете вибрати лише "+t.maximum+" "+e(t.maximum,"пункт","пункти","пунктів")},noResults:function(){return"Нічого не знайдено"},searching:function(){return"Пошук…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/vi.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/vi",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="Vui lòng nhập ít hơn "+t+" ký tự";return t!=1&&(n+="s"),n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="Vui lòng nhập nhiều hơn "+t+' ký tự"';return n},loadingMore:function(){return"Đang lấy thêm kết quả…"},maximumSelected:function(e){var t="Chỉ có thể chọn được "+e.maximum+" lựa chọn";return t},noResults:function(){return"Không tìm thấy kết quả"},searching:function(){return"Đang tìm…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/zh-CN.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-CN",[],function(){return{errorLoading:function(){return"无法载入结果。"},inputTooLong:function(e){var t=e.input.length-e.maximum,n="请删除"+t+"个字符";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="请再输入至少"+t+"个字符";return n},loadingMore:function(){return"载入更多结果…"},maximumSelected:function(e){var t="最多只能选择"+e.maximum+"个项目";return t},noResults:function(){return"未找到结果"},searching:function(){return"搜索中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/AdminLTE/plugins/select2/i18n/zh-TW.js: -------------------------------------------------------------------------------- 1 | /*! Select2 4.0.3 | https://github.com/select2/select2/blob/master/LICENSE.md */ 2 | 3 | (function(){if(jQuery&&jQuery.fn&&jQuery.fn.select2&&jQuery.fn.select2.amd)var e=jQuery.fn.select2.amd;return e.define("select2/i18n/zh-TW",[],function(){return{inputTooLong:function(e){var t=e.input.length-e.maximum,n="請刪掉"+t+"個字元";return n},inputTooShort:function(e){var t=e.minimum-e.input.length,n="請再輸入"+t+"個字元";return n},loadingMore:function(){return"載入中…"},maximumSelected:function(e){var t="你只能選擇最多"+e.maximum+"項";return t},noResults:function(){return"沒有找到相符的項目"},searching:function(){return"搜尋中…"}}}),{define:e.define,require:e.require}})(); -------------------------------------------------------------------------------- /public/vendor/laravel-admin/bootstrap-duallistbox/dist/bootstrap-duallistbox.min.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Bootstrap Duallistbox - v3.0.6 3 | * A responsive dual listbox widget optimized for Twitter Bootstrap. It works on all modern browsers and on touch devices. 4 | * http://www.virtuosoft.eu/code/bootstrap-duallistbox/ 5 | * 6 | * Made by István Ujj-Mészáros 7 | * Under Apache License v2.0 License 8 | */ 9 | 10 | .bootstrap-duallistbox-container .buttons{width:100%;margin-bottom:-1px}.bootstrap-duallistbox-container label{display:block}.bootstrap-duallistbox-container .info{display:inline-block;margin-bottom:5px;font-size:11px}.bootstrap-duallistbox-container .clear1,.bootstrap-duallistbox-container .clear2{display:none;font-size:10px}.bootstrap-duallistbox-container .box1.filtered .clear1,.bootstrap-duallistbox-container .box2.filtered .clear2{display:inline-block}.bootstrap-duallistbox-container .move,.bootstrap-duallistbox-container .remove{width:60%}.bootstrap-duallistbox-container .btn-group .btn{border-bottom-left-radius:0;border-bottom-right-radius:0}.bootstrap-duallistbox-container select{border-top-left-radius:0;border-top-right-radius:0}.bootstrap-duallistbox-container .moveall,.bootstrap-duallistbox-container .removeall{width:40%}.bootstrap-duallistbox-container.bs2compatible .btn-group>.btn+.btn{margin-left:0}.bootstrap-duallistbox-container select{width:100%;height:300px;padding:0}.bootstrap-duallistbox-container .filter{display:inline-block;width:100%;height:31px;margin:0 0 5px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.bootstrap-duallistbox-container .filter.placeholder{color:#aaa}.bootstrap-duallistbox-container.moveonselect .move,.bootstrap-duallistbox-container.moveonselect .remove{display:none}.bootstrap-duallistbox-container.moveonselect .moveall,.bootstrap-duallistbox-container.moveonselect .removeall{width:100%} -------------------------------------------------------------------------------- /public/vendor/laravel-admin/bootstrap-fileinput/img/loading-sm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/bootstrap-fileinput/img/loading-sm.gif -------------------------------------------------------------------------------- /public/vendor/laravel-admin/bootstrap-fileinput/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/elfman/online-exam/fc032a1ecd8add6923f1afd7347e14a1884c5afb/public/vendor/laravel-admin/bootstrap-fileinput/img/loading.gif -------------------------------------------------------------------------------- /public/vendor/laravel-admin/bootstrap-fileinput/js/plugins/canvas-to-blob.min.js: -------------------------------------------------------------------------------- 1 | !function(a){"use strict";var b=a.HTMLCanvasElement&&a.HTMLCanvasElement.prototype,c=a.Blob&&function(){try{return Boolean(new Blob)}catch(a){return!1}}(),d=c&&a.Uint8Array&&function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(a){return!1}}(),e=a.BlobBuilder||a.WebKitBlobBuilder||a.MozBlobBuilder||a.MSBlobBuilder,f=(c||e)&&a.atob&&a.ArrayBuffer&&a.Uint8Array&&function(a){var b,f,g,h,i,j;for(b=a.split(",")[0].indexOf("base64")>=0?atob(a.split(",")[1]):decodeURIComponent(a.split(",")[1]),f=new ArrayBuffer(b.length),g=new Uint8Array(f),h=0;h button { display: block; position: relative; cursor: pointer; float: left; width: 25px; height: 20px; margin: 5px 0; padding: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; border: 0; background: transparent; font-size: 12px; line-height: 1; text-align: center; font-weight: bold; } 24 | .dd-item > button:before { content: '+'; display: block; position: absolute; width: 100%; text-align: center; text-indent: 0; } 25 | .dd-item > button[data-action="collapse"]:before { content: '-'; } 26 | 27 | .dd-placeholder { margin: 5px 0; padding: 0; min-height: 30px; background: #f2fbff; border: 1px dashed #b6bcbf; box-sizing: border-box; -moz-box-sizing: border-box; } 28 | 29 | .dd-dragel { position: absolute; pointer-events: none; z-index: 9999; } 30 | .dd-dragel > .dd-item .dd-handle { margin-top: 0; } 31 | .dd-dragel .dd-handle { 32 | -webkit-box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1); 33 | box-shadow: 2px 4px 6px 0 rgba(0,0,0,.1); 34 | } -------------------------------------------------------------------------------- /public/vendor/laravel-admin/nprogress/nprogress.css: -------------------------------------------------------------------------------- 1 | /* Make clicks pass-through */ 2 | #nprogress { 3 | pointer-events: none; 4 | } 5 | 6 | #nprogress .bar { 7 | background: #dd441f; 8 | 9 | position: fixed; 10 | z-index: 1031; 11 | top: 0; 12 | left: 0; 13 | 14 | width: 100%; 15 | height: 2px; 16 | } 17 | 18 | /* Fancy blur effect */ 19 | #nprogress .peg { 20 | display: block; 21 | position: absolute; 22 | right: 0px; 23 | width: 100px; 24 | height: 100%; 25 | box-shadow: 0 0 10px #29d, 0 0 5px #29d; 26 | opacity: 1.0; 27 | 28 | -webkit-transform: rotate(3deg) translate(0px, -4px); 29 | -ms-transform: rotate(3deg) translate(0px, -4px); 30 | transform: rotate(3deg) translate(0px, -4px); 31 | } 32 | 33 | /* Remove these to get rid of the spinner */ 34 | #nprogress .spinner { 35 | display: block; 36 | position: fixed; 37 | z-index: 1031; 38 | top: 15px; 39 | right: 15px; 40 | } 41 | 42 | #nprogress .spinner-icon { 43 | width: 18px; 44 | height: 18px; 45 | box-sizing: border-box; 46 | 47 | border: solid 2px transparent; 48 | border-top-color: #29d; 49 | border-left-color: #29d; 50 | border-radius: 50%; 51 | 52 | -webkit-animation: nprogress-spinner 400ms linear infinite; 53 | animation: nprogress-spinner 400ms linear infinite; 54 | } 55 | 56 | .nprogress-custom-parent { 57 | overflow: hidden; 58 | position: relative; 59 | } 60 | 61 | .nprogress-custom-parent #nprogress .spinner, 62 | .nprogress-custom-parent #nprogress .bar { 63 | position: absolute; 64 | } 65 | 66 | @-webkit-keyframes nprogress-spinner { 67 | 0% { -webkit-transform: rotate(0deg); } 68 | 100% { -webkit-transform: rotate(360deg); } 69 | } 70 | @keyframes nprogress-spinner { 71 | 0% { transform: rotate(0deg); } 72 | 100% { transform: rotate(360deg); } 73 | } 74 | 75 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # online-exam 2 | Laravel+Vue编写的在线考试系统。http://exam.harlanluo.com 3 | 4 | 测试账号: 5 | 6 | ``` 7 | email: luoxwen@gmail.com 8 | password: 111111 9 | ``` -------------------------------------------------------------------------------- /resources/assets/js/App.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 24 | 25 | -------------------------------------------------------------------------------- /resources/assets/js/components/QuestionChart.vue: -------------------------------------------------------------------------------- 1 | 2 | 17 | -------------------------------------------------------------------------------- /resources/assets/js/components/ScoreChart.vue: -------------------------------------------------------------------------------- 1 | 2 | 15 | -------------------------------------------------------------------------------- /resources/assets/js/routes.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by luoxiongwen on 2018/1/7. 3 | */ 4 | import MyPapers from './pages/MyPapers.vue'; 5 | import Login from './pages/Login.vue'; 6 | import Test from './pages/Test.vue'; 7 | import PaperEditor from './pages/PaperEditor.vue'; 8 | import Scores from './pages/Scores.vue'; 9 | import ExamStatus from './pages/ExamStatus.vue'; 10 | 11 | function requireAuth(to, from, next) { 12 | if (!localStorage.token) { 13 | next({ 14 | name: 'login', 15 | query: { redirect: to.fullPath }, 16 | }); 17 | } else { 18 | next(); 19 | } 20 | } 21 | 22 | const routes = [ 23 | { 24 | path: '/', 25 | name: 'mypapers', 26 | component: MyPapers, 27 | alias: '/papers', 28 | beforeEnter: requireAuth, 29 | }, { 30 | path: '/login', 31 | name: 'login', 32 | component: Login, 33 | alias: '/register', 34 | }, { 35 | path: '/papers/:id/edit', 36 | name: 'editPaper', 37 | component: PaperEditor, 38 | beforeEnter: requireAuth, 39 | }, { 40 | path: '/papers/create', 41 | name: 'createPaper', 42 | component: PaperEditor, 43 | beforeEnter: requireAuth, 44 | }, { 45 | path: '/papers/:id', 46 | name: 'paper', 47 | component: Test, 48 | beforeEnter: requireAuth, 49 | }, { 50 | path: '/scores', 51 | name: 'myscores', 52 | component: Scores, 53 | beforeEnter: requireAuth, 54 | }, { 55 | path: '/papers/:id/status', 56 | name: 'examStatus', 57 | component: ExamStatus, 58 | beforeEnter: requireAuth, 59 | } 60 | ]; 61 | 62 | export default routes; -------------------------------------------------------------------------------- /resources/assets/js/store/mutationTypes.js: -------------------------------------------------------------------------------- 1 | export default { 2 | LOGIN_SUCCESS: 'LOGIN_SUCCESS', 3 | LOGIN_FAILED: 'LOGIN_FAILED', 4 | REGISTER_SUCCESS: 'REGISTER_SUCCESS', 5 | REGISTER_FAILED: 'REGISTER_FAILED', 6 | LOGOUT: 'LOGOUT', 7 | LOAD_USER_FROM_LOCAL: 'LOAD_USER_FROM_LOCAL', 8 | SET_USER_INFO: 'SET_USER_INFO', 9 | CLEAR_USER_INFO: 'CLEAR_USER_INFO', 10 | SET_AUTH_INFO: 'SET_AUTH_INFO', 11 | CLEAR_AUTH_INFO: 'CLEAR_AUTH_INFO', 12 | }; -------------------------------------------------------------------------------- /resources/assets/js/store/store.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by luoxiongwen on 2018/1/7. 3 | */ 4 | 5 | import user from './module/user'; 6 | 7 | export default new Vuex.Store({ 8 | modules: { 9 | user, 10 | } 11 | }); -------------------------------------------------------------------------------- /resources/assets/sass/_variables.scss: -------------------------------------------------------------------------------- 1 | 2 | // Body 3 | $body-bg: #f5f8fa; 4 | 5 | // Borders 6 | $laravel-border-color: darken($body-bg, 10%); 7 | $list-group-border: $laravel-border-color; 8 | $navbar-default-border: $laravel-border-color; 9 | $panel-default-border: $laravel-border-color; 10 | $panel-inner-border: $laravel-border-color; 11 | 12 | // Brands 13 | $brand-primary: #3097D1; 14 | $brand-info: #8eb4cb; 15 | $brand-success: #2ab27b; 16 | $brand-warning: #cbb956; 17 | $brand-danger: #bf5329; 18 | 19 | // Typography 20 | $icon-font-path: "~bootstrap-sass/assets/fonts/bootstrap/"; 21 | $font-family-sans-serif: "Raleway", sans-serif; 22 | $font-size-base: 14px; 23 | $line-height-base: 1.6; 24 | $text-color: #636b6f; 25 | 26 | // Navbar 27 | $navbar-default-bg: #fff; 28 | 29 | // Buttons 30 | $btn-default-color: $text-color; 31 | 32 | // Inputs 33 | $input-border: lighten($text-color, 40%); 34 | $input-border-focus: lighten($brand-primary, 25%); 35 | $input-color-placeholder: lighten($text-color, 30%); 36 | 37 | // Panels 38 | $panel-default-heading-bg: #fff; 39 | -------------------------------------------------------------------------------- /resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | 2 | html { 3 | position: relative; 4 | min-height: 100%; 5 | } 6 | 7 | body { 8 | font-family: Hiragino Sans GB, "Hiragino Sans GB", Helvetica, "Microsoft YaHei", Arial,sans-serif; 9 | 10 | margin-bottom: 60px; 11 | } 12 | 13 | .footer { 14 | position: absolute; 15 | bottom: 0; 16 | width: 100%; 17 | height: 60px; 18 | background-color: #000; 19 | 20 | .container { 21 | padding-right: 15px; 22 | margin-left: 15px; 23 | 24 | p { 25 | color: #c1c1c1; 26 | 27 | a { 28 | color: inherit; 29 | } 30 | } 31 | } 32 | } 33 | 34 | .register-page, .login-page { 35 | .oauth { 36 | label { 37 | text-align: right; 38 | padding-top: 4px; 39 | } 40 | 41 | a { 42 | color: inherit; 43 | } 44 | i { 45 | margin-right: 8px; 46 | font-size: 24px; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /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/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /resources/views/common/error.blade.php: -------------------------------------------------------------------------------- 1 | @if (count($errors) > 0) 2 |
3 |

There were some problems with your input.

4 | 9 |
10 | @endif -------------------------------------------------------------------------------- /resources/views/home.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 在线答题系统 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 |
27 | 29 | 30 | -------------------------------------------------------------------------------- /resources/views/layouts/_footer.blade.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/views/layouts/_message.blade.php: -------------------------------------------------------------------------------- 1 | @if (Session::has('message')) 2 |
3 | 4 | {{ Session::get('message') }} 5 |
6 | @endif 7 | 8 | @if (Session::has('success')) 9 |
10 | 11 | {{ Session::get('success') }} 12 |
13 | @endif 14 | 15 | @if (Session::has('danger')) 16 |
17 | 18 | {{ Session::get('danger') }} 19 |
20 | @endif -------------------------------------------------------------------------------- /resources/views/layouts/app.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | @yield('title', '在线答题系统') 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | @yield('style') 24 | 25 | 26 |
27 | @include('layouts._header') 28 | 29 |
30 | @include('layouts._message') 31 | @yield('content') 32 |
33 | 34 | @include('layouts._footer') 35 |
36 | 37 | 38 | 39 | @yield('script') 40 | 41 | 42 | -------------------------------------------------------------------------------- /resources/views/papers/create_and_edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 10 | @endsection 11 | 12 | @section('script') 13 | 14 | 15 | 16 | 21 | @endsection -------------------------------------------------------------------------------- /resources/views/papers/scores.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | @foreach($scores as $index => $score) 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | @endforeach 26 | 27 |
#标题分数总分开始时间用时
{{ $index }}{{ $score->paper->title }}{{ $score->score }}{{ $score->paper->total_score }}{{ $score->start_time }}{{ \Carbon\Carbon::parse($score->start_time)->diffInMinutes(\Carbon\Carbon::parse($score->complete_time)) }}分钟
28 | {!! $scores->render() !!} 29 | @endsection -------------------------------------------------------------------------------- /resources/views/papers/show.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.app') 2 | 3 | @section('content') 4 | 5 | 6 | 7 | @endsection 8 | 9 | @section('script') 10 | 15 | @endsection -------------------------------------------------------------------------------- /routes/api.php: -------------------------------------------------------------------------------- 1 | 'api', 18 | 'namespace' => 'Api', 19 | 'prefix' => 'auth', 20 | ], function ($router) { 21 | $router->post('login', 'AuthController@login'); 22 | $router->get('logout', 'AuthController@logout'); 23 | $router->post('refresh', 'AuthController@refresh'); 24 | $router->get('me', 'AuthController@me'); 25 | $router->post('register', 'AuthController@register'); 26 | 27 | }); 28 | 29 | Route::group([ 30 | 'middleware' => 'api', 31 | 'prefix' => 'papers', 32 | ], function ($router) { 33 | $router->get('my', 'PapersController@myPapers'); 34 | $router->get('/{paper}/status', 'PapersController@status'); 35 | $router->get('/{paper}/edit', 'PapersController@edit'); 36 | $router->post('/{paper}/update', 'PapersController@update'); 37 | $router->get('/{paper}/remove', 'PapersController@destroy'); 38 | $router->post('/store', 'PapersController@store'); 39 | $router->post('/submit/{score}', 'ScoresController@submit'); 40 | $router->post('/{paper}/start', 'ScoresController@startTest'); 41 | $router->get('/myscores', 'ScoresController@myScores'); 42 | $router->post('/autoSave', 'ScoresController@autoSave'); 43 | $router->get('/{paper}/check', 'ScoresController@checkTestStatus'); 44 | }); 45 | 46 | 47 | Route::get('/scores/{score}/remove', 'PapersController@removeScore'); -------------------------------------------------------------------------------- /routes/channels.php: -------------------------------------------------------------------------------- 1 | id === (int) $id; 16 | }); 17 | -------------------------------------------------------------------------------- /routes/console.php: -------------------------------------------------------------------------------- 1 | comment(Inspiring::quote()); 18 | })->describe('Display an inspiring quote'); 19 | -------------------------------------------------------------------------------- /routes/web.php: -------------------------------------------------------------------------------- 1 | name('root'); 17 | 18 | Route::get('/oauth/github', 'AuthController@redirectToProvider')->name('oauth.github.redirect'); 19 | Route::get('/oauth/github/callback', 'AuthController@handleProviderCallback')->name('oauth.github.callback'); 20 | 21 | Route::resource('papers', 'PapersController', ['only' => ['index', 'show', 'create', 'store', 'update', 'edit', 'destroy']]); 22 | 23 | Route::get('/papers/{id}/start', 'PapersController@startTest')->name('papers.start'); 24 | Route::post('/papers/submit', 'PapersController@submit')->name('papers.submit'); 25 | Route::get('/myscores', 'PapersController@myScores')->name('papers.scores'); 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 | -------------------------------------------------------------------------------- /storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/debugbar/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | schedule-* 4 | compiled.php 5 | services.json 6 | events.scanned.php 7 | routes.scanned.php 8 | down 9 | -------------------------------------------------------------------------------- /storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/testing/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /tests/CreatesApplication.php: -------------------------------------------------------------------------------- 1 | make(Kernel::class)->bootstrap(); 19 | 20 | return $app; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /tests/Feature/AuthTest.php: -------------------------------------------------------------------------------- 1 | json('POST', '/api/auth/login', [ 12 | 'email' => 'luoxwen@gmail.com', 13 | 'password' => '111111', 14 | ]); 15 | 16 | $response->assertStatus(200)->assertJson([ 17 | 'errors' => 0, 18 | ]); 19 | 20 | $response = $this->json('POST', '/api/auth/login', [ 21 | 'email' => 'luoxwen@gmail.com', 22 | 'password' => '222223', 23 | ]); 24 | $response->assertStatus(200)->assertJson([ 25 | 'errors' => 1, 26 | 'msg' => 'login failed', 27 | ]); 28 | 29 | $response = $this->json('POST', '/api/auth/login', [ 30 | 'email' => 'luoxwen22@gmail.com', 31 | 'password' => '111111', 32 | ]); 33 | $response->assertStatus(200)->assertJson([ 34 | 'errors' => 1, 35 | 'msg' => 'login failed', 36 | ]); 37 | 38 | $response = $this->json('POST', '/api/auth/login', [ 39 | 'email' => 'luoxwen', 40 | 'password' => '222223', 41 | ]); 42 | $response->assertStatus(422); 43 | 44 | echo 'Test Login Pass'; 45 | } 46 | } -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /webpack.mix.js: -------------------------------------------------------------------------------- 1 | let mix = require('laravel-mix'); 2 | 3 | /* 4 | |-------------------------------------------------------------------------- 5 | | Mix Asset Management 6 | |-------------------------------------------------------------------------- 7 | | 8 | | Mix provides a clean, fluent API for defining some Webpack build steps 9 | | for your Laravel application. By default, we are compiling the Sass 10 | | file for the application as well as bundling up all the JS files. 11 | | 12 | */ 13 | 14 | mix.js('resources/assets/js/app.js', 'public/js') 15 | .sass('resources/assets/sass/app.scss', 'public/css'); 16 | --------------------------------------------------------------------------------