diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 7cbc2c3f0cbc4fd1d2b2734a0301b416f54f479e..3e178a8ab182963a060e208f1186a0aaffc768f0 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -3,6 +3,8 @@ namespace App\Http\Controllers; use Illuminate\Http\Request; +use Illuminate\Support\Facades\DB; +use Illuminate\Support\Facades\Auth; class HomeController extends Controller { @@ -23,6 +25,30 @@ class HomeController extends Controller */ public function index() { - return view('home'); + $profile = DB::table('users')->where('id', Auth::id())->first(); + $role = 'Siswa'; + if ($profile->role == 1) { + $role = 'Pengajar'; + } + + $courses = DB::table('courses')->get(); + $teachers = []; + $enrolled_id = DB::table('user_course')->where('id_user', Auth::id())->pluck('id_course'); + + $enrolled = []; + foreach($enrolled_id as $id) { + $enrolled[] = DB::table('courses')->where('id', $id)->first(); + } + + foreach($courses as $course) { + $temp = DB::table('user_course')->where([ + ['id_course', '=', $course->id], + ['role', '=', 1] + ])->first(); + $teacher = DB::table('users')->where('id', $temp->id_user)->first(); + $teachers[] = $teacher->name; + } + + return view('home', ['profile' => $profile, 'role' => $role, 'courses' => $courses, 'teachers' => $teachers, 'enrolled' => $enrolled]); } } diff --git a/composer.json b/composer.json index 2ffde8300cfe37f5467d6e0daf1799b66d72cde9..126837d74289203308e826c9b23444f46f0051cb 100644 --- a/composer.json +++ b/composer.json @@ -10,8 +10,10 @@ "require": { "php": "^7.2", "fideloper/proxy": "^4.0", + "google/apiclient": "2.0", "laravel/framework": "^6.2", - "laravel/tinker": "^2.0" + "laravel/tinker": "^2.0", + "monolog/monolog": "1.17" }, "require-dev": { "facade/ignition": "^1.4", diff --git a/composer.lock b/composer.lock index 983e5bec5d385f3473104043c1cc68e3c74d4a0a..f0b1b9d9bb209973fa0a7ee555513490a0f96e0c 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2b83301481fedaab4e4fb0c15ce4ec4f", + "content-hash": "432896b112566dbc214d7e89066edd36", "packages": [ { "name": "dnoegel/php-xdg-base-dir", @@ -334,6 +334,364 @@ ], "time": "2020-02-22T01:51:47+00:00" }, + { + "name": "firebase/php-jwt", + "version": "v3.0.0", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1", + "reference": "fa8a06e96526eb7c0eeaa47e4f39be59d21f16e1", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "time": "2015-07-22T18:31:08+00:00" + }, + { + "name": "google/apiclient", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-api-php-client.git", + "reference": "cd4d61678bc26267f3e5371735ae3f579709ea30" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-api-php-client/zipball/cd4d61678bc26267f3e5371735ae3f579709ea30", + "reference": "cd4d61678bc26267f3e5371735ae3f579709ea30", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0", + "google/apiclient-services": "*@dev", + "google/auth": "0.8", + "guzzlehttp/guzzle": "~5.2|~6.0", + "guzzlehttp/psr7": "^1.2", + "monolog/monolog": "^1.17", + "php": ">=5.4", + "phpseclib/phpseclib": "~2.0" + }, + "require-dev": { + "phpunit/phpunit": "~4", + "squizlabs/php_codesniffer": "~2.3", + "symfony/css-selector": "~2.1", + "symfony/dom-crawler": "~2.1", + "tedivm/stash": "^0.14.1" + }, + "suggest": { + "tedivm/stash": "For caching certs and tokens (using Google_Client::setCache)" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-0": { + "Google_": "src/" + }, + "classmap": [ + "src/Google/Service/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2016-06-08T01:30:25+00:00" + }, + { + "name": "google/apiclient-services", + "version": "v0.127", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-api-php-client-services.git", + "reference": "19eacad739807e522891bf3f911ffab4a4c29869" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-api-php-client-services/zipball/19eacad739807e522891bf3f911ffab4a4c29869", + "reference": "19eacad739807e522891bf3f911ffab4a4c29869", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "phpunit/phpunit": "^4.8|^5" + }, + "type": "library", + "autoload": { + "psr-0": { + "Google_Service_": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Client library for Google APIs", + "homepage": "http://developers.google.com/api-client-library/php", + "keywords": [ + "google" + ], + "time": "2020-02-17T00:24:19+00:00" + }, + { + "name": "google/auth", + "version": "v0.8", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-auth-library-php.git", + "reference": "ec4edcb043e523267973fda308d9412d7db78e17" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/ec4edcb043e523267973fda308d9412d7db78e17", + "reference": "ec4edcb043e523267973fda308d9412d7db78e17", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "~2.0|~3.0", + "guzzlehttp/guzzle": "~5.3|~6.0", + "guzzlehttp/psr7": "1.2.*", + "php": ">=5.4", + "psr/cache": "^1.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "fabpot/php-cs-fixer": "^1.11", + "phpunit/phpunit": "3.7.*" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ], + "psr-4": { + "Google\\Auth\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google Auth Library for PHP", + "homepage": "http://github.com/google/google-auth-library-php", + "keywords": [ + "Authentication", + "google", + "oauth2" + ], + "time": "2016-05-11T16:56:35+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "6.2.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "d094e337976dff9d8e2424e8485872194e768662" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d094e337976dff9d8e2424e8485872194e768662", + "reference": "d094e337976dff9d8e2424e8485872194e768662", + "shasum": "" + }, + "require": { + "guzzlehttp/promises": "~1.0", + "guzzlehttp/psr7": "~1.1", + "php": ">=5.5.0" + }, + "require-dev": { + "ext-curl": "*", + "phpunit/phpunit": "~4.0", + "psr/log": "~1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.2-dev" + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "homepage": "http://guzzlephp.org/", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "rest", + "web service" + ], + "time": "2016-03-21T20:02:09+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "v1.3.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "reference": "a59da6cf61d80060647ff4d3eb2c03a2bc694646", + "shasum": "" + }, + "require": { + "php": ">=5.5.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "time": "2016-12-20T10:07:11+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/2e89629ff057ebb49492ba08e6995d3a6a80021b", + "reference": "2e89629ff057ebb49492ba08e6995d3a6a80021b", + "shasum": "" + }, + "require": { + "php": ">=5.4.0", + "psr/http-message": "~1.0" + }, + "provide": { + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + }, + "files": [ + "src/functions_include.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + } + ], + "description": "PSR-7 message implementation", + "keywords": [ + "http", + "message", + "stream", + "uri" + ], + "time": "2016-02-18T21:54:00+00:00" + }, { "name": "jakub-onderka/php-console-color", "version": "v0.2", @@ -424,16 +782,16 @@ }, { "name": "laravel/framework", - "version": "v6.18.1", + "version": "v6.18.2", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "367c2c8dfdfe83cb2ddbc029c0222174098d093a" + "reference": "9425a2f410d05d5bba493f62cff03854a8b19559" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/367c2c8dfdfe83cb2ddbc029c0222174098d093a", - "reference": "367c2c8dfdfe83cb2ddbc029c0222174098d093a", + "url": "https://api.github.com/repos/laravel/framework/zipball/9425a2f410d05d5bba493f62cff03854a8b19559", + "reference": "9425a2f410d05d5bba493f62cff03854a8b19559", "shasum": "" }, "require": { @@ -518,7 +876,7 @@ "ext-memcached": "Required to use the memcache cache driver.", "ext-pcntl": "Required to use all features of the queue worker.", "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "filp/whoops": "Required for friendly error pages in development (^2.4).", "fzaninotto/faker": "Required to use the eloquent factory builder (^1.9.1).", "guzzlehttp/guzzle": "Required to use the Mailgun mail driver and the ping methods on schedules (^6.0|^7.0).", @@ -566,28 +924,28 @@ "framework", "laravel" ], - "time": "2020-03-10T14:11:04+00:00" + "time": "2020-03-17T17:08:02+00:00" }, { "name": "laravel/tinker", - "version": "v2.2.0", + "version": "v2.3.0", "source": { "type": "git", "url": "https://github.com/laravel/tinker.git", - "reference": "37579c93271ec30ef099dd633ec7c2de5e5fb112" + "reference": "5271893ec90ad9f8d3e34792ac6b72cad3b84cc2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/tinker/zipball/37579c93271ec30ef099dd633ec7c2de5e5fb112", - "reference": "37579c93271ec30ef099dd633ec7c2de5e5fb112", + "url": "https://api.github.com/repos/laravel/tinker/zipball/5271893ec90ad9f8d3e34792ac6b72cad3b84cc2", + "reference": "5271893ec90ad9f8d3e34792ac6b72cad3b84cc2", "shasum": "" }, "require": { - "illuminate/console": "^6.0|^7.0", - "illuminate/contracts": "^6.0|^7.0", - "illuminate/support": "^6.0|^7.0", + "illuminate/console": "^6.0|^7.0|^8.0", + "illuminate/contracts": "^6.0|^7.0|^8.0", + "illuminate/support": "^6.0|^7.0|^8.0", "php": "^7.2", - "psy/psysh": "^0.9", + "psy/psysh": "^0.9|^0.10", "symfony/var-dumper": "^4.0|^5.0" }, "require-dev": { @@ -595,7 +953,7 @@ "phpunit/phpunit": "^8.0|^9.0" }, "suggest": { - "illuminate/database": "The Illuminate Database package (^6.0|^7.0)." + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0)." }, "type": "library", "extra": { @@ -630,7 +988,7 @@ "laravel", "psysh" ], - "time": "2020-02-05T15:00:44+00:00" + "time": "2020-03-17T15:34:59+00:00" }, { "name": "league/commonmark", @@ -708,16 +1066,16 @@ }, { "name": "league/flysystem", - "version": "1.0.65", + "version": "1.0.66", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "8f17b3ba67097aafb8318cd5c553b1acf7c891c8" + "reference": "021569195e15f8209b1c4bebb78bd66aa4f08c21" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8f17b3ba67097aafb8318cd5c553b1acf7c891c8", - "reference": "8f17b3ba67097aafb8318cd5c553b1acf7c891c8", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/021569195e15f8209b1c4bebb78bd66aa4f08c21", + "reference": "021569195e15f8209b1c4bebb78bd66aa4f08c21", "shasum": "" }, "require": { @@ -788,62 +1146,57 @@ "sftp", "storage" ], - "time": "2020-03-08T18:53:20+00:00" + "time": "2020-03-17T18:58:12+00:00" }, { "name": "monolog/monolog", - "version": "2.0.2", + "version": "1.17.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8" + "reference": "877ae631713cc961952df713ae785735b90df682" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c861fcba2ca29404dc9e617eedd9eff4616986b8", - "reference": "c861fcba2ca29404dc9e617eedd9eff4616986b8", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/877ae631713cc961952df713ae785735b90df682", + "reference": "877ae631713cc961952df713ae785735b90df682", "shasum": "" }, "require": { - "php": "^7.2", - "psr/log": "^1.0.1" + "php": ">=5.3.0", + "psr/log": "~1.0" }, "provide": { "psr/log-implementation": "1.0.0" }, "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "aws/aws-sdk-php": "^2.4.9", "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^6.0", - "graylog2/gelf-php": "^1.4.2", - "jakub-onderka/php-parallel-lint": "^0.9", - "php-amqplib/php-amqplib": "~2.4", + "graylog2/gelf-php": "~1.0", "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.6.1", - "phpunit/phpunit": "^8.3", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3", + "phpunit/phpunit": "~4.5", + "phpunit/phpunit-mock-objects": "2.3.0", + "raven/raven": "~0.11", "ruflin/elastica": ">=0.90 <3.0", - "swiftmailer/swiftmailer": "^5.3|^6.0" + "swiftmailer/swiftmailer": "~5.3", + "videlalvaro/php-amqplib": "~2.4" }, "suggest": { "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-mongo": "Allow sending log messages to a MongoDB server", "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", "php-console/php-console": "Allow sending log messages to Google Chrome", + "raven/raven": "Allow sending log messages to a Sentry server", "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + "ruflin/elastica": "Allow sending log messages to an Elastic Search server", + "videlalvaro/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "1.16.x-dev" } }, "autoload": { @@ -869,7 +1222,7 @@ "logging", "psr-3" ], - "time": "2019-12-20T14:22:59+00:00" + "time": "2015-08-30T11:40:25+00:00" }, { "name": "nesbot/carbon", @@ -1101,20 +1454,20 @@ }, { "name": "phpoption/phpoption", - "version": "1.7.2", + "version": "1.7.3", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959" + "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", - "reference": "77f7c4d2e65413aff5b5a8cc8b3caf7a28d81959", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/4acfd6a4b33a509d8c88f50e5222f734b6aeebae", + "reference": "4acfd6a4b33a509d8c88f50e5222f734b6aeebae", "shasum": "" }, "require": { - "php": "^5.5.9 || ^7.0" + "php": "^5.5.9 || ^7.0 || ^8.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.3", @@ -1152,7 +1505,145 @@ "php", "type" ], - "time": "2019-12-15T19:35:24+00:00" + "time": "2020-03-21T18:07:53+00:00" + }, + { + "name": "phpseclib/phpseclib", + "version": "2.0.26", + "source": { + "type": "git", + "url": "https://github.com/phpseclib/phpseclib.git", + "reference": "09655fcc1f8bab65727be036b28f6f20311c126c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/09655fcc1f8bab65727be036b28f6f20311c126c", + "reference": "09655fcc1f8bab65727be036b28f6f20311c126c", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "phing/phing": "~2.7", + "phpunit/phpunit": "^4.8.35|^5.7|^6.0", + "sami/sami": "~2.0", + "squizlabs/php_codesniffer": "~2.0" + }, + "suggest": { + "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.", + "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.", + "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.", + "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations." + }, + "type": "library", + "autoload": { + "files": [ + "phpseclib/bootstrap.php" + ], + "psr-4": { + "phpseclib\\": "phpseclib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jim Wigginton", + "email": "terrafrost@php.net", + "role": "Lead Developer" + }, + { + "name": "Patrick Monnerat", + "email": "pm@datasphere.ch", + "role": "Developer" + }, + { + "name": "Andreas Fischer", + "email": "bantu@phpbb.com", + "role": "Developer" + }, + { + "name": "Hans-Jürgen Petrich", + "email": "petrich@tronic-media.com", + "role": "Developer" + }, + { + "name": "Graham Campbell", + "email": "graham@alt-three.com", + "role": "Developer" + } + ], + "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.", + "homepage": "http://phpseclib.sourceforge.net", + "keywords": [ + "BigInteger", + "aes", + "asn.1", + "asn1", + "blowfish", + "crypto", + "cryptography", + "encryption", + "rsa", + "security", + "sftp", + "signature", + "signing", + "ssh", + "twofish", + "x.509", + "x509" + ], + "time": "2020-03-13T04:15:39+00:00" + }, + { + "name": "psr/cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8", + "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "time": "2016-08-06T20:24:11+00:00" }, { "name": "psr/container", @@ -1203,6 +1694,56 @@ ], "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/http-message", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", + "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "time": "2016-08-06T14:39:51+00:00" + }, { "name": "psr/log", "version": "1.1.2", @@ -1300,32 +1841,31 @@ }, { "name": "psy/psysh", - "version": "v0.9.12", + "version": "v0.10.2", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "90da7f37568aee36b116a030c5f99c915267edd4" + "reference": "573c2362c3cdebe846b4adae4b630eecb350afd8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/90da7f37568aee36b116a030c5f99c915267edd4", - "reference": "90da7f37568aee36b116a030c5f99c915267edd4", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/573c2362c3cdebe846b4adae4b630eecb350afd8", + "reference": "573c2362c3cdebe846b4adae4b630eecb350afd8", "shasum": "" }, "require": { "dnoegel/php-xdg-base-dir": "0.1.*", "ext-json": "*", "ext-tokenizer": "*", - "jakub-onderka/php-console-highlighter": "0.3.*|0.4.*", - "nikic/php-parser": "~1.3|~2.0|~3.0|~4.0", - "php": ">=5.4.0", - "symfony/console": "~2.3.10|^2.4.2|~3.0|~4.0|~5.0", - "symfony/var-dumper": "~2.7|~3.0|~4.0|~5.0" + "jakub-onderka/php-console-highlighter": "0.4.*|0.3.*", + "nikic/php-parser": "~4.0|~3.0|~2.0|~1.3", + "php": "^8.0 || ^7.0 || ^5.5.9", + "symfony/console": "~5.0|~4.0|~3.0|^2.4.2|~2.3.10", + "symfony/var-dumper": "~5.0|~4.0|~3.0|~2.7" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.2", - "hoa/console": "~2.15|~3.16", - "phpunit/phpunit": "~4.8.35|~5.0|~6.0|~7.0" + "hoa/console": "~3.16|~2.15" }, "suggest": { "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", @@ -1340,7 +1880,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-develop": "0.9.x-dev" + "dev-master": "0.10.x-dev" } }, "autoload": { @@ -1370,7 +1910,7 @@ "interactive", "shell" ], - "time": "2019-12-06T14:19:43+00:00" + "time": "2020-03-21T06:55:27+00:00" }, { "name": "ramsey/uuid", @@ -2940,16 +3480,16 @@ }, { "name": "vlucas/phpdotenv", - "version": "v3.6.0", + "version": "v3.6.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156" + "reference": "8f7961f7b9deb3b432452c18093cf16f88205902" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/1bdf24f065975594f6a117f0f1f6cabf1333b156", - "reference": "1bdf24f065975594f6a117f0f1f6cabf1333b156", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/8f7961f7b9deb3b432452c18093cf16f88205902", + "reference": "8f7961f7b9deb3b432452c18093cf16f88205902", "shasum": "" }, "require": { @@ -2958,8 +3498,12 @@ "symfony/polyfill-ctype": "^1.9" }, "require-dev": { + "ext-filter": "*", "phpunit/phpunit": "^4.8.35 || ^5.0 || ^6.0 || ^7.0" }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, "type": "library", "extra": { "branch-alias": { @@ -2993,7 +3537,7 @@ "env", "environment" ], - "time": "2019-09-10T21:37:39+00:00" + "time": "2020-03-12T13:44:00+00:00" } ], "packages-dev": [ diff --git a/database/migrations/2014_10_12_000000_create_users_table.php b/database/migrations/2014_10_12_000000_create_users_table.php index 2bcef7d354b5848e50b5556324bdcd9bd298d072..0a12b85e6c7f35c0e7196b1aa672791cb5a4f4e5 100644 --- a/database/migrations/2014_10_12_000000_create_users_table.php +++ b/database/migrations/2014_10_12_000000_create_users_table.php @@ -19,7 +19,7 @@ class CreateUsersTable extends Migration $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); - $table->string('role'); + $table->integer('role'); $table->rememberToken(); $table->timestamps(); }); diff --git a/database/migrations/2020_03_11_190605_create_courses_table.php b/database/migrations/2020_03_11_190605_create_courses_table.php index 3b34a1a384200aba13261b1c7e0d11d80a07c169..47bc50864d257a6ce1271f3e11eac537f5efe7df 100644 --- a/database/migrations/2020_03_11_190605_create_courses_table.php +++ b/database/migrations/2020_03_11_190605_create_courses_table.php @@ -16,7 +16,7 @@ class CreateCoursesTable extends Migration Schema::create('courses', function (Blueprint $table) { $table->bigIncrements('id'); $table->string('name'); - $table->string('description'); + $table->longText('description'); }); } diff --git a/database/migrations/2020_03_11_190629_create_topics_table.php b/database/migrations/2020_03_11_190629_create_topics_table.php index 6ffb89210c22da8e528dd2b9a7415d5f051d7fb4..c98e5dd14523c472891cf60c81b4a6c492feb8b3 100644 --- a/database/migrations/2020_03_11_190629_create_topics_table.php +++ b/database/migrations/2020_03_11_190629_create_topics_table.php @@ -17,7 +17,7 @@ class CreateTopicsTable extends Migration $table->bigIncrements('id'); $table->bigInteger('id_course')->unsigned(); $table->string('name'); - $table->string('content'); + $table->longText('content'); $table->string('id_spreadsheet'); $table->foreign('id_course')->references('id')->on('courses'); diff --git a/database/migrations/2020_03_11_190641_create_spreadsheets_table.php b/database/migrations/2020_03_11_190641_create_spreadsheets_table.php index 3146c4dbecdefddc54ef20ffb1caba8e51a843bd..1c0313903ac25ef62a137e8ef88760a216f820e2 100644 --- a/database/migrations/2020_03_11_190641_create_spreadsheets_table.php +++ b/database/migrations/2020_03_11_190641_create_spreadsheets_table.php @@ -14,13 +14,13 @@ class CreateSpreadsheetsTable extends Migration public function up() { Schema::create('spreadsheets', function (Blueprint $table) { - $table->string('id'); + $table->bigInteger('id')->unsigned(); $table->string('cell'); $table->string('value'); - $table->string('type'); + $table->integer('type'); $table->primary(['id', 'cell']); - $table->foreign('id')->references('id_spreadsheet')->on('topics'); + $table->foreign('id')->references('id')->on('topics'); }); } diff --git a/database/migrations/2020_03_11_190702_create_user_course_table.php b/database/migrations/2020_03_11_190702_create_user_course_table.php index 4d45657958474a85d3dd6baeb6b6c51499a3128f..bd4047751782e1b429b0912bcd991c38720f88a5 100644 --- a/database/migrations/2020_03_11_190702_create_user_course_table.php +++ b/database/migrations/2020_03_11_190702_create_user_course_table.php @@ -16,7 +16,7 @@ class CreateUserCourseTable extends Migration Schema::create('user_course', function (Blueprint $table) { $table->bigInteger('id_user')->unsigned(); $table->bigInteger('id_course')->unsigned(); - $table->string('role'); + $table->integer('role'); $table->primary(['id_user', 'id_course']); diff --git a/database/seeds/CoursesTableSeeder.php b/database/seeds/CoursesTableSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..6eba673131eb1e0b8caee2e2505de14a65f0be9a --- /dev/null +++ b/database/seeds/CoursesTableSeeder.php @@ -0,0 +1,27 @@ +<?php + +use Illuminate\Database\Seeder; + +class CoursesTableSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + DB::table('courses')->insert([ + 'name' => 'Pengenalan Spreadsheet', + 'description' => 'Belajar pengenalan terkait spreadsheet dari hal yang paling dasar. Cocok untuk anda yang ingin mendalami spreadsheet.' + ]); + DB::table('courses')->insert([ + 'name' => 'Spreadsheet Expert', + 'description' => 'Belajar spreadsheet untuk level menengah. Cocok untuk anda yang ingin mendalami spreadsheet.' + ]); + DB::table('courses')->insert([ + 'name' => 'Data Analisis', + 'description' => 'Belajar data analisis menggunakan spreadsheet. Cocok untuk anda pecinta data.' + ]); + } +} diff --git a/database/seeds/DatabaseSeeder.php b/database/seeds/DatabaseSeeder.php index 91cb6d1c2dede4151cd947c27d31f2faa7ab5a8b..574d439da7f94142563d11735d5cb88611570b9c 100644 --- a/database/seeds/DatabaseSeeder.php +++ b/database/seeds/DatabaseSeeder.php @@ -11,6 +11,9 @@ class DatabaseSeeder extends Seeder */ public function run() { - // $this->call(UsersTableSeeder::class); + $this->call(UsersTableSeeder::class); + $this->call(CoursesTableSeeder::class); + $this->call(TopicsTableSeeder::class); + $this->call(SpreadsheetsTableSeeder::class); } } diff --git a/database/seeds/SpreadsheetsTableSeeder.php b/database/seeds/SpreadsheetsTableSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..50c2f53fa1cfc8c58169a7076611a7fc73918452 --- /dev/null +++ b/database/seeds/SpreadsheetsTableSeeder.php @@ -0,0 +1,21 @@ +<?php + +use Illuminate\Database\Seeder; + +class SpreadsheetsTableSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + DB::table('spreadsheets')->insert([ + 'id' => 1, + 'cell' => 'A1', + 'value' => '23', + 'type' => 0 + ]); + } +} diff --git a/database/seeds/TopicsTableSeeder.php b/database/seeds/TopicsTableSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..cfda993bf1afc9206d3c5b8403684b5634bfd43b --- /dev/null +++ b/database/seeds/TopicsTableSeeder.php @@ -0,0 +1,33 @@ +<?php + +use Illuminate\Database\Seeder; + +class TopicsTableSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + DB::table('topics')->insert([ + 'id_course' => 1, + 'name' => 'Baris dan Kolom', + 'content' => 'Baris adalah blabalbalbalbalbala. Kolom adalah blabalbalblablala.', + 'id_spreadsheet' => 'null' + ]); + DB::table('topics')->insert([ + 'id_course' => 1, + 'name' => 'Formula', + 'content' => 'Formula adalah blabalbalblablala.', + 'id_spreadsheet' => 'null' + ]); + DB::table('topics')->insert([ + 'id_course' => 2, + 'name' => 'Average', + 'content' => 'Average adalah salah satu....', + 'id_spreadsheet' => 'null' + ]); + } +} diff --git a/database/seeds/User_CourseTableSeeder.php b/database/seeds/User_CourseTableSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..61a403eebfd54621ff497d5a65dafee4107672c7 --- /dev/null +++ b/database/seeds/User_CourseTableSeeder.php @@ -0,0 +1,45 @@ +<?php + +use Illuminate\Database\Seeder; + +class User_CourseTableSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + DB::table('user_course')->insert([ + 'id_user' => 5, + 'id_course' => 1, + 'role' => 1 + ]); + DB::table('user_course')->insert([ + 'id_user' => 5, + 'id_course' => 2, + 'role' => 1 + ]); + DB::table('user_course')->insert([ + 'id_user' => 6, + 'id_course' => 3, + 'role' => 1 + ]); + DB::table('user_course')->insert([ + 'id_user' => 7, + 'id_course' => 1, + 'role' => 0 + ]); + DB::table('user_course')->insert([ + 'id_user' => 8, + 'id_course' => 1, + 'role' => 0 + ]); + DB::table('user_course')->insert([ + 'id_user' => 8, + 'id_course' => 2, + 'role' => 0 + ]); + } +} diff --git a/database/seeds/UsersTableSeeder.php b/database/seeds/UsersTableSeeder.php new file mode 100644 index 0000000000000000000000000000000000000000..2bd63d58c17ac6a9a9649be158b9eef46556e4b7 --- /dev/null +++ b/database/seeds/UsersTableSeeder.php @@ -0,0 +1,39 @@ +<?php + +use Illuminate\Database\Seeder; + +class UsersTableSeeder extends Seeder +{ + /** + * Run the database seeds. + * + * @return void + */ + public function run() + { + DB::table('users')->insert([ + 'name' => 'Kurniandha Sukma', + 'email' => 'kurnia@datalearn.com', + 'password' => '$2y$10$20J2FUYhL22ovKKs2Kdfguo4oWEeBfkMxZipexw1BEtIxds3GnT9S', + 'role' => 1 + ]); + DB::table('users')->insert([ + 'name' => 'Fanny Akbar', + 'email' => 'fanny@datalearn.com', + 'password' => '$2y$10$20J2FUYhL22ovKKs2Kdfguo4oWEeBfkMxZipexw1BEtIxds3GnT9S', + 'role' => 1 + ]); + DB::table('users')->insert([ + 'name' => 'Irfan Sanemi', + 'email' => 'irfan@datalearn.com', + 'password' => '$2y$10$20J2FUYhL22ovKKs2Kdfguo4oWEeBfkMxZipexw1BEtIxds3GnT9S', + 'role' => 0 + ]); + DB::table('users')->insert([ + 'name' => 'Jojo Andika', + 'email' => 'jojo@datalearn.com', + 'password' => '$2y$10$20J2FUYhL22ovKKs2Kdfguo4oWEeBfkMxZipexw1BEtIxds3GnT9S', + 'role' => 0 + ]); + } +} diff --git a/public/css/app.css b/public/css/app.css index 41395b9121d78dda793c3ea754da7c3c6ae99454..73d3d2b839a96a3ff7ea37a1fca2a7d94a776252 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -576,8 +576,8 @@ pre code { .container { width: 100%; - padding-right: 15px; - padding-left: 15px; + padding-right: 0px; + padding-left: 0px; margin-right: auto; margin-left: auto; } @@ -5161,7 +5161,6 @@ input[type=button].btn-block { } .card-columns .card { - display: inline-block; width: 100%; } } diff --git a/public/css/home.css b/public/css/home.css new file mode 100644 index 0000000000000000000000000000000000000000..0573cd92651b5b44848354c9c3bc4ac50d5f5e4f --- /dev/null +++ b/public/css/home.css @@ -0,0 +1,13 @@ +.profile { + display: inline-block; + text-align: center; +} + +#name { + font-weight: bold; + margin-top: 5rem; +} + +#edit { + margin-top: 2rem; +} \ No newline at end of file diff --git a/public/img/course1.png b/public/img/course1.png new file mode 100644 index 0000000000000000000000000000000000000000..5835f1b9e122b187fbd4b757753464059c69e091 Binary files /dev/null and b/public/img/course1.png differ diff --git a/public/img/profile.jpg b/public/img/profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c9d2de1809454045034632e4c766d4b11c3c0ee2 Binary files /dev/null and b/public/img/profile.jpg differ diff --git a/public/js/app.js b/public/js/app.js index 1ab8b88d9536ca9bd1081185dd0622a5012a9fed..e21f2599fe3b66a5243e9382d56a944781742d05 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -1932,6 +1932,29 @@ __webpack_require__.r(__webpack_exports__); /***/ }), +/***/ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Page.vue?vue&type=script&lang=js&": +/*!***************************************************************************************************************************************************************!*\ + !*** ./node_modules/babel-loader/lib??ref--4-0!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Page.vue?vue&type=script&lang=js& ***! + \***************************************************************************************************************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +// +// +// +// +// +// +/* harmony default export */ __webpack_exports__["default"] = ({ + mounted: function mounted() { + console.log('Component mounted.'); + } +}); + +/***/ }), + /***/ "./node_modules/bootstrap/dist/js/bootstrap.js": /*!*****************************************************!*\ !*** ./node_modules/bootstrap/dist/js/bootstrap.js ***! @@ -37332,6 +37355,32 @@ render._withStripped = true +/***/ }), + +/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Page.vue?vue&type=template&id=524c0c0c&": +/*!*******************************************************************************************************************************************************************************************************!*\ + !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib??vue-loader-options!./resources/js/components/Page.vue?vue&type=template&id=524c0c0c& ***! + \*******************************************************************************************************************************************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); +var render = function() { + var _vm = this + var _h = _vm.$createElement + var _c = _vm._self._c || _h + return _c("div", { staticClass: "container" }, [ + _vm._v("\n Hola bandung gregreg\n") + ]) +} +var staticRenderFns = [] +render._withStripped = true + + + /***/ }), /***/ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js": @@ -49517,6 +49566,7 @@ window.Vue = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.common. // files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) Vue.component('example-component', __webpack_require__(/*! ./components/ExampleComponent.vue */ "./resources/js/components/ExampleComponent.vue")["default"]); +Vue.component('pagge', __webpack_require__(/*! ./components/Page.vue */ "./resources/js/components/Page.vue")["default"]); /** * Next, we will create a fresh Vue application instance and attach it to * the page. Then, you may begin adding components to this application @@ -49654,6 +49704,75 @@ __webpack_require__.r(__webpack_exports__); +/***/ }), + +/***/ "./resources/js/components/Page.vue": +/*!******************************************!*\ + !*** ./resources/js/components/Page.vue ***! + \******************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _Page_vue_vue_type_template_id_524c0c0c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Page.vue?vue&type=template&id=524c0c0c& */ "./resources/js/components/Page.vue?vue&type=template&id=524c0c0c&"); +/* harmony import */ var _Page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Page.vue?vue&type=script&lang=js& */ "./resources/js/components/Page.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport *//* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); + + + + + +/* normalize component */ + +var component = Object(_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__["default"])( + _Page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], + _Page_vue_vue_type_template_id_524c0c0c___WEBPACK_IMPORTED_MODULE_0__["render"], + _Page_vue_vue_type_template_id_524c0c0c___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + false, + null, + null, + null + +) + +/* hot reload */ +if (false) { var api; } +component.options.__file = "resources/js/components/Page.vue" +/* harmony default export */ __webpack_exports__["default"] = (component.exports); + +/***/ }), + +/***/ "./resources/js/components/Page.vue?vue&type=script&lang=js&": +/*!*******************************************************************!*\ + !*** ./resources/js/components/Page.vue?vue&type=script&lang=js& ***! + \*******************************************************************/ +/*! exports provided: default */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/babel-loader/lib??ref--4-0!../../../node_modules/vue-loader/lib??vue-loader-options!./Page.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Page.vue?vue&type=script&lang=js&"); +/* empty/unused harmony star reexport */ /* harmony default export */ __webpack_exports__["default"] = (_node_modules_babel_loader_lib_index_js_ref_4_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Page_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); + +/***/ }), + +/***/ "./resources/js/components/Page.vue?vue&type=template&id=524c0c0c&": +/*!*************************************************************************!*\ + !*** ./resources/js/components/Page.vue?vue&type=template&id=524c0c0c& ***! + \*************************************************************************/ +/*! exports provided: render, staticRenderFns */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Page_vue_vue_type_template_id_524c0c0c___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../node_modules/vue-loader/lib??vue-loader-options!./Page.vue?vue&type=template&id=524c0c0c& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js?!./node_modules/vue-loader/lib/index.js?!./resources/js/components/Page.vue?vue&type=template&id=524c0c0c&"); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Page_vue_vue_type_template_id_524c0c0c___WEBPACK_IMPORTED_MODULE_0__["render"]; }); + +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_Page_vue_vue_type_template_id_524c0c0c___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); + + + /***/ }), /***/ "./resources/sass/app.scss": diff --git a/resources/js/app.js b/resources/js/app.js index aa19e31aefbfc9439d0502dcf3718ffef8f02e37..ef6326b7bf756acde2147de8c84d55873d2f3744 100644 --- a/resources/js/app.js +++ b/resources/js/app.js @@ -20,6 +20,7 @@ window.Vue = require('vue'); // files.keys().map(key => Vue.component(key.split('/').pop().split('.')[0], files(key).default)) Vue.component('example-component', require('./components/ExampleComponent.vue').default); +Vue.component('pagge', require('./components/Page.vue').default); /** * Next, we will create a fresh Vue application instance and attach it to diff --git a/resources/js/components/Page.vue b/resources/js/components/Page.vue new file mode 100644 index 0000000000000000000000000000000000000000..b4dc7af45dbe155a0d10b1ec0d0c86f289400ecb --- /dev/null +++ b/resources/js/components/Page.vue @@ -0,0 +1,13 @@ +<template> + <div class="container"> + Hola bandung gregreg + </div> +</template> + +<script> + export default { + mounted() { + console.log('Component mounted.') + } + } +</script> \ No newline at end of file diff --git a/resources/views/credentials.json b/resources/views/credentials.json new file mode 100644 index 0000000000000000000000000000000000000000..e5cc528f889652c2d7ce0c1043aa53f930e40655 --- /dev/null +++ b/resources/views/credentials.json @@ -0,0 +1 @@ +{"installed":{"client_id":"203499803850-801l1qnh8emaje13o69djnks4329517c.apps.googleusercontent.com","project_id":"datalearn-1584958564354","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"JWjkNxsT1JQssnD1MXaxlGAc","redirect_uris":["urn:ietf:wg:oauth:2.0:oob","http://localhost"]}} \ No newline at end of file diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 05dfca9228d9a3150d9236434e6a7e0c771f35f3..b24b2c9f7ea9ad5009f0e1fcd5918cec754dd150 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -2,22 +2,71 @@ @section('content') <div class="container"> - <div class="row justify-content-center"> + <div class="row justify-content"> <div class="col-md-8"> <div class="card"> - <div class="card-header">Dashboard</div> - - <div class="card-body"> - @if (session('status')) - <div class="alert alert-success" role="alert"> - {{ session('status') }} + <div class="card-header">Kelasku</div> + <div class="card-columns card-body"> + @foreach($enrolled as $enroll) + <div class="card course" style="width: 14rem"> + <img src="img/course1.png" class="card-img-top" alt="No Picture"> + <div class="card-header">{{ $enroll->name }}</div> + <a href="/class/<?php echo $enroll->id; ?>" class="stretched-link"></a> </div> - @endif + @endforeach + </div> + </div> + </div> + <div class="col-md-4"> + <div class="card"> + <div class="card-header">Profil</div> + <div class="card-body profile"> + <img src="img/profile.jpg" style="width:120px;height:120px;" alt="No Picture"> <br/> <br/> + <a id="name">{{ $profile->name }}</a> <br/> + <a id="email">{{ $profile->email }}</a> <br/> + <a id="role">{{ $role }}</a> <br/> + <a id="edit" href="/edit_profile" class="btn btn-primary" role="button">Edit Profil</a> + </div> + </div> + </div> + </div> + <div class="py-4 row justify-content-center"> + <div class="col-md-12"> + <div class="card"> + <div class="card-header">Kelas Tersedia</div> + <div class="card-body"> + <div class="accordion" id="accordionCourses"> + @foreach($courses as $index => $course) + <div class="card"> + <div class="card-header" id="heading<?php echo $course->id; ?>"> + <h5 class="mb-0"> + <button class="btn btn-link stretched-link" type="button" data-toggle="collapse" data-target="#collapse<?php echo $course->id; ?>" aria-expanded="false" aria-controls="collapse<?php echo $course->id; ?>"> + {{ $course->name }} + </button> + </h5> + </div> - You are logged in! + <div id="collapse<?php echo $course->id; ?>" class="collapse" aria-labelledby="heading<?php echo $course->id; ?>" data-parent="#accordionCourses"> + <div class="card-body"> + {{ $course->description }} <br/> + Pengajar : {{ $teachers[$index] }} <br/> <br/> + <a href="/enroll" class="btn btn-primary" role="button">Daftar Kelas</a> + </div> + </div> + </div> + @endforeach + </div> </div> </div> </div> </div> </div> @endsection + +<style> + courses { + display: block; + width: 100%; + height: 100%; + } +</style> \ No newline at end of file diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 7bcfd316b00efaf35e0cfeb67d745797a9eaaf19..e47b1bc290edbe2f0991819a82d66ecabc6316c2 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -18,6 +18,7 @@ <!-- Styles --> <link href="{{ asset('css/app.css') }}" rel="stylesheet"> + <link href="{{ asset('css/home.css') }}" rel="stylesheet"> </head> <body> <div id="app"> diff --git a/resources/views/test.blade.php b/resources/views/test.blade.php new file mode 100644 index 0000000000000000000000000000000000000000..81804a6e391932c84ba6b28a120c85f9aea1d2cb --- /dev/null +++ b/resources/views/test.blade.php @@ -0,0 +1,4 @@ +<iframe + style="width:100%; height:500px;overflow:auto;" + src="https://docs.google.com/spreadsheets/d/1vSRP2St6tvX-dL9U1uXoyEf9ipDXEyh8_6D1KeH8N_U/edit?usp=sharing&single=true&widget=true&headers=false"> +</iframe> \ No newline at end of file diff --git a/resources/views/token.json b/resources/views/token.json new file mode 100644 index 0000000000000000000000000000000000000000..1deb6f2eb0b02f1bcc9928f62c4055d0c1ee8288 --- /dev/null +++ b/resources/views/token.json @@ -0,0 +1 @@ +{"access_token":"ya29.a0Adw1xeWgubk0UA2GfpfBcE4iZ2KcLD5_2tRMN8z4jo4wO1amESg-M1uof6iStIMrisGg8LPjGJu7rPCoNilqNhWzAnMvitwTZJHwsp2QHO3T1b0lY-Tz8xaFEJ2XS6SbRfGBam5XWsK1dkYpOTZ5G3kzbLSAy5aV21M","expires_in":3599,"refresh_token":"1\/\/0gSzfFC85SeXlCgYIARAAGBASNwF-L9Ir32KqSrEfEjJRCmTLVkBv_yPTMXD4Znx7FklpILGaXjgAFGe2CltDUmruEha5MHTc9mw","scope":"https:\/\/www.googleapis.com\/auth\/spreadsheets.readonly","token_type":"Bearer","created":1584960990} \ No newline at end of file diff --git a/routes/web.php b/routes/web.php index 12fc04c0eb27c456cd30ab90807c66b72711e642..98ecf891cebadf5b158bf926582f16aaf2e39213 100644 --- a/routes/web.php +++ b/routes/web.php @@ -14,7 +14,12 @@ Route::get('/', function () { return view('welcome'); }); +Route::get('/test', function () { + return view('test'); +}); Auth::routes(); - -Route::get('/home', 'HomeController@index')->name('home'); +// Route::get('/home', function () { +// return view('home'); +// }); +Route::get('/home', 'HomeController@index')->name('home'); \ No newline at end of file