├── .gitattributes
├── .gitignore
├── .styleci.yml
├── .travis.yml
├── Dockerfile
├── LICENSE
├── README.md
├── artisan
├── circle.yml
├── composer.json
├── core
├── .env.example
├── .env.sample
├── .env.travis
├── .gitignore
├── TODO.txt
├── app
│ ├── Console
│ │ ├── Commands
│ │ │ ├── CreatePlugin.php
│ │ │ ├── CreateTheme.php
│ │ │ └── Inspire.php
│ │ └── Kernel.php
│ ├── Events
│ │ ├── Event.php
│ │ ├── OrderPlaced.php
│ │ ├── OrderShipped.php
│ │ ├── ProcessPayment.php
│ │ └── SomeEvent.php
│ ├── Exceptions
│ │ └── Handler.php
│ ├── Flymyshop.php
│ ├── Http
│ │ ├── Controllers
│ │ │ ├── AccountController.php
│ │ │ ├── AddressController.php
│ │ │ ├── AdminController.php
│ │ │ ├── Auth
│ │ │ │ ├── AuthController.php
│ │ │ │ └── PasswordController.php
│ │ │ ├── CategoryController.php
│ │ │ ├── Controller.php
│ │ │ ├── InstallController.php
│ │ │ ├── OrderController.php
│ │ │ ├── PageController.php
│ │ │ ├── PaymentCardController.php
│ │ │ ├── PluginController.php
│ │ │ ├── ProductController.php
│ │ │ ├── ShopController.php
│ │ │ ├── ThemeController.php
│ │ │ └── UserDetailController.php
│ │ ├── Kernel.php
│ │ ├── Middleware
│ │ │ ├── Authenticate.php
│ │ │ ├── CheckSettings.php
│ │ │ ├── CheckUserType.php
│ │ │ ├── EncryptCookies.php
│ │ │ ├── MakeMenu.php
│ │ │ ├── RedirectIfAuthenticated.php
│ │ │ ├── VerifyCheckOut.php
│ │ │ └── VerifyCsrfToken.php
│ │ ├── Models
│ │ │ ├── Address.php
│ │ │ ├── Category.php
│ │ │ ├── FailedLogin.php
│ │ │ ├── Invoice.php
│ │ │ ├── InvoiceItem.php
│ │ │ ├── Page.php
│ │ │ ├── PaymentCard.php
│ │ │ ├── Plugin.php
│ │ │ ├── Product.php
│ │ │ ├── ProductImage.php
│ │ │ ├── Setting.php
│ │ │ ├── Theme.php
│ │ │ ├── UserDetail.php
│ │ │ └── UserType.php
│ │ ├── Requests
│ │ │ ├── AddressRequest.php
│ │ │ ├── CategoryRequest.php
│ │ │ ├── ContactFormRequest.php
│ │ │ ├── InstallAdminUserRequest.php
│ │ │ ├── InstallRequest.php
│ │ │ ├── PageRequest.php
│ │ │ ├── PluginRequest.php
│ │ │ ├── ProductRequest.php
│ │ │ ├── Request.php
│ │ │ └── UserDetailRequest.php
│ │ ├── Traits
│ │ │ └── TelegramTrait.php
│ │ └── routes.php
│ ├── Jobs
│ │ ├── CreateThumbnail.php
│ │ ├── Job.php
│ │ └── SendReminderEmail.php
│ ├── Listeners
│ │ ├── .gitkeep
│ │ ├── EventListener.php
│ │ ├── SendOrderNotification.php
│ │ ├── SendShipmentNotification.php
│ │ └── TakePayment.php
│ ├── Policies
│ │ ├── .gitkeep
│ │ ├── AddressPolicy.php
│ │ ├── InvoicePolicy.php
│ │ ├── PaymentCardPolicy.php
│ │ └── UserDetailPolicy.php
│ ├── Providers
│ │ ├── AppServiceProvider.php
│ │ ├── AuthServiceProvider.php
│ │ ├── EventServiceProvider.php
│ │ ├── FmsContainerServiceProvider.php
│ │ ├── PluginHelperServiceProvider.php
│ │ └── RouteServiceProvider.php
│ └── User.php
├── bootstrap
│ ├── app.php
│ ├── autoload.php
│ └── cache
│ │ └── .gitignore
├── config
│ ├── app.php
│ ├── auth.php
│ ├── broadcasting.php
│ ├── cache.php
│ ├── compile.php
│ ├── currency.php
│ ├── database.php
│ ├── filesystems.php
│ ├── flymyshop.php
│ ├── laravel-newsletter.php
│ ├── mail.php
│ ├── queue.php
│ ├── recaptcha.php
│ ├── services.php
│ ├── session.php
│ ├── telegram.php
│ └── view.php
├── database
│ ├── .gitignore
│ ├── factories
│ │ └── ModelFactory.php
│ ├── migrations
│ │ ├── .gitkeep
│ │ ├── 2013_11_26_161501_create_currency_table.php
│ │ ├── 2014_10_12_000000_create_users_table.php
│ │ ├── 2014_10_12_100000_create_password_resets_table.php
│ │ ├── 2016_08_30_212400_create_categories_table.php
│ │ ├── 2016_08_30_212557_create_products_table.php
│ │ ├── 2016_08_31_114243_create_idme_token.php
│ │ ├── 2016_09_05_191402_create_payment_cards_table.php
│ │ ├── 2016_09_06_101601_create_user_types_table.php
│ │ ├── 2016_09_06_111614_create_failed_logins_table.php
│ │ ├── 2016_09_06_203028_create_addresses_table.php
│ │ ├── 2016_09_08_005950_create_invoices_table.php
│ │ ├── 2016_09_08_010353_create_invoice_items_table.php
│ │ ├── 2016_09_08_133106_create_user_details_table.php
│ │ ├── 2016_09_09_161211_create_settings_table.php
│ │ ├── 2016_09_09_162235_create_pages_table.php
│ │ ├── 2016_09_12_184914_create_jobs_table.php
│ │ ├── 2016_09_13_205515_create_product_images_table.php
│ │ ├── 2016_10_05_111915_create_plugins_table.php
│ │ └── 2016_10_05_114426_create_themes_table.php
│ └── seeds
│ │ ├── .gitkeep
│ │ ├── CategoriesTableSeeder.php
│ │ ├── DatabaseSeeder.php
│ │ ├── PluginsTableSeeder.php
│ │ ├── ProductsTableSeeder.php
│ │ ├── SettingsTableSeeder.php
│ │ ├── ThemesTableSeeder.php
│ │ ├── UserTypesTableSeeder.php
│ │ └── UsersTableSeeder.php
├── docker
│ ├── 000-default.conf
│ ├── develop.sh
│ ├── docker.env
│ └── entrypoint.sh
├── flymyshop
│ ├── Containers
│ │ ├── DataContainer.php
│ │ ├── HookContainer.php
│ │ └── ProductContainer.php
│ ├── Core
│ │ ├── EnablePlugins.php
│ │ ├── EnableRequestPlugins.php
│ │ └── EnableResponsePlugins.php
│ ├── Helpers
│ │ ├── ApplicationHelper.php
│ │ ├── PluginHelper.php
│ │ └── ThemeHelper.php
│ ├── Plugins
│ │ ├── Plugin.php
│ │ └── ProcessOrder
│ │ │ ├── ProcessOrder.php
│ │ │ ├── config.php
│ │ │ ├── index.php
│ │ │ ├── install.php
│ │ │ └── plugin.yml
│ ├── functions.php
│ ├── hooks.php
│ ├── plugins
│ │ ├── sample
│ │ │ ├── Sample.php
│ │ │ ├── config.php
│ │ │ ├── index.php
│ │ │ ├── install.php
│ │ │ └── plugin.yml
│ │ └── test
│ │ │ ├── Test.php
│ │ │ ├── config.php
│ │ │ ├── index.php
│ │ │ ├── install.php
│ │ │ └── plugin.yml
│ └── stubs
│ │ ├── plugin-config.stub
│ │ ├── plugin-index.stub
│ │ ├── plugin-install.stub
│ │ ├── plugin-yml.stub
│ │ └── plugin.stub
├── gulpfile.js
├── package.json
├── phpunit.xml
├── resources
│ ├── admin_themes
│ │ ├── admin-includes
│ │ │ ├── admin-header.blade.php
│ │ │ ├── admin-sidebar.blade.php
│ │ │ ├── footer.blade.php
│ │ │ └── head.blade.php
│ │ ├── admin-layouts
│ │ │ └── admin.blade.php
│ │ ├── admin-partials
│ │ │ ├── _category-form.blade.php
│ │ │ ├── _form-error.blade.php
│ │ │ ├── _page-form.blade.php
│ │ │ ├── _product-form.blade.php
│ │ │ ├── _product-list.blade.php
│ │ │ ├── _pull-from-git.blade.php
│ │ │ └── _report-block.blade.php
│ │ └── admin
│ │ │ ├── add-category.blade.php
│ │ │ ├── add-page.blade.php
│ │ │ ├── add-product.blade.php
│ │ │ ├── categories.blade.php
│ │ │ ├── customer.blade.php
│ │ │ ├── edit-category.blade.php
│ │ │ ├── edit-page.blade.php
│ │ │ ├── edit-product.blade.php
│ │ │ ├── marketing.blade.php
│ │ │ ├── order.blade.php
│ │ │ ├── orders.blade.php
│ │ │ ├── pages.blade.php
│ │ │ ├── payment-methods.blade.php
│ │ │ ├── plugins
│ │ │ ├── add.blade.php
│ │ │ └── list.blade.php
│ │ │ ├── product.blade.php
│ │ │ ├── products.blade.php
│ │ │ ├── reports.blade.php
│ │ │ ├── sales.blade.php
│ │ │ ├── settings.blade.php
│ │ │ ├── stocks.blade.php
│ │ │ ├── themes
│ │ │ ├── add.blade.php
│ │ │ └── list.blade.php
│ │ │ ├── users.blade.php
│ │ │ └── welcome.blade.php
│ ├── assets
│ │ ├── js
│ │ │ └── app.js
│ │ └── sass
│ │ │ └── app.scss
│ ├── install_themes
│ │ ├── install-includes
│ │ │ ├── head.blade.php
│ │ │ └── header.blade.php
│ │ ├── install-layouts
│ │ │ └── layout.blade.php
│ │ └── install
│ │ │ ├── admin-setup.blade.php
│ │ │ └── install.blade.php
│ └── lang
│ │ └── en
│ │ ├── account.php
│ │ ├── admin.php
│ │ ├── auth.php
│ │ ├── pagination.php
│ │ ├── passwords.php
│ │ ├── shop.php
│ │ └── validation.php
├── server.php
├── storage
│ ├── app
│ │ ├── .gitignore
│ │ └── public
│ │ │ └── .gitignore
│ ├── database.sqlite
│ ├── framework
│ │ ├── .gitignore
│ │ ├── cache
│ │ │ └── .gitignore
│ │ ├── sessions
│ │ │ └── .gitignore
│ │ └── views
│ │ │ └── .gitignore
│ └── logs
│ │ └── .gitignore
├── tests
│ ├── AddressTest.php
│ ├── AdminAccessTest.php
│ ├── AdminCategoriesAccessTest.php
│ ├── AdminManagePaymentTest.php
│ ├── AdminOrdersAccessTest.php
│ ├── AdminPagesAccessTest.php
│ ├── AdminProductAccessTest.php
│ ├── AdminSalesAccessTest.php
│ ├── AdminSettingsTest.php
│ ├── AdminShopPageAccessTest.php
│ ├── AdminUsersAccessTest.php
│ ├── CartTest.php
│ ├── CategoryTest.php
│ ├── CheckoutTest.php
│ ├── FavouritesTest.php
│ ├── FunctionsTest.php
│ ├── InvoiceTest.php
│ ├── LoginTest.php
│ ├── MenuTest.php
│ ├── NewsletterTest.php
│ ├── ProductTest.php
│ ├── RegisterTest.php
│ ├── SearchTest.php
│ ├── ShopTest.php
│ └── TestCase.php
└── vendor
│ └── index.html
├── flymyshop_phpcs.xml
├── public
├── .htaccess
├── favicon.ico
├── index.php
├── js
│ ├── app.js
│ └── card.js
├── robots.txt
├── themes
│ ├── default
│ │ ├── account
│ │ │ ├── address-add.blade.php
│ │ │ ├── address.blade.php
│ │ │ ├── address
│ │ │ │ ├── create.blade.php
│ │ │ │ ├── edit.blade.php
│ │ │ │ └── index.blade.php
│ │ │ ├── order-list.blade.php
│ │ │ ├── order.blade.php
│ │ │ ├── payment
│ │ │ │ ├── create.blade.php
│ │ │ │ ├── edit.blade.php
│ │ │ │ └── index.blade.php
│ │ │ ├── profile
│ │ │ │ ├── edit.blade.php
│ │ │ │ └── profile.blade.php
│ │ │ └── settings.blade.php
│ │ ├── auth
│ │ │ ├── emails
│ │ │ │ └── password.blade.php
│ │ │ ├── login.blade.php
│ │ │ ├── passwords
│ │ │ │ ├── email.blade.php
│ │ │ │ └── reset.blade.php
│ │ │ └── register.blade.php
│ │ ├── emails
│ │ │ ├── contact.php
│ │ │ ├── invoice.php
│ │ │ ├── order.php
│ │ │ └── welcome.php
│ │ ├── errors
│ │ │ └── 503.blade.php
│ │ ├── includes
│ │ │ ├── admin-header.blade.php
│ │ │ ├── admin-sidebar.blade.php
│ │ │ ├── footer.blade.php
│ │ │ ├── head.blade.php
│ │ │ └── header.blade.php
│ │ ├── layouts
│ │ │ ├── admin.blade.php
│ │ │ ├── app.blade.php
│ │ │ ├── lmain.blade.php
│ │ │ ├── lrmain.blade.php
│ │ │ ├── main.blade.php
│ │ │ ├── page.blade.php
│ │ │ └── rmain.blade.php
│ │ ├── pages
│ │ │ ├── about.blade.php
│ │ │ ├── contact.blade.php
│ │ │ ├── home.blade.php
│ │ │ ├── login.blade.php
│ │ │ ├── password.blade.php
│ │ │ └── register.blade.php
│ │ ├── partials
│ │ │ ├── _address-form.blade.php
│ │ │ ├── _category-form.blade.php
│ │ │ ├── _form-error.blade.php
│ │ │ ├── _page-form.blade.php
│ │ │ ├── _product-form.blade.php
│ │ │ └── _product-list.blade.php
│ │ ├── payment
│ │ │ └── stripe.blade.php
│ │ ├── shop
│ │ │ ├── cart.blade.php
│ │ │ ├── categories.blade.php
│ │ │ ├── favourite.blade.php
│ │ │ ├── page.blade.php
│ │ │ ├── product.blade.php
│ │ │ ├── products.blade.php
│ │ │ └── search.blade.php
│ │ └── theme.yaml
│ ├── index.html
│ └── vue
│ │ ├── account
│ │ ├── address-add.blade.php
│ │ ├── address.blade.php
│ │ ├── address
│ │ │ ├── create.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── index.blade.php
│ │ ├── order-list.blade.php
│ │ ├── order.blade.php
│ │ ├── payment
│ │ │ ├── create.blade.php
│ │ │ ├── edit.blade.php
│ │ │ └── index.blade.php
│ │ ├── profile
│ │ │ ├── edit.blade.php
│ │ │ └── profile.blade.php
│ │ └── settings.blade.php
│ │ ├── assets
│ │ ├── css
│ │ │ └── shop.css
│ │ └── js
│ │ │ ├── shop.js
│ │ │ ├── vendor.js
│ │ │ └── vendor.js.map
│ │ ├── auth
│ │ ├── emails
│ │ │ └── password.blade.php
│ │ ├── login.blade.php
│ │ ├── passwords
│ │ │ ├── email.blade.php
│ │ │ └── reset.blade.php
│ │ └── register.blade.php
│ │ ├── emails
│ │ ├── contact.php
│ │ ├── invoice.php
│ │ ├── order.php
│ │ └── welcome.php
│ │ ├── errors
│ │ └── 503.blade.php
│ │ ├── includes
│ │ ├── admin-header.blade.php
│ │ ├── admin-sidebar.blade.php
│ │ ├── footer.blade.php
│ │ ├── head.blade.php
│ │ └── header.blade.php
│ │ ├── layouts
│ │ ├── admin.blade.php
│ │ ├── app.blade.php
│ │ ├── lmain.blade.php
│ │ ├── lrmain.blade.php
│ │ ├── main.blade.php
│ │ ├── page.blade.php
│ │ └── rmain.blade.php
│ │ ├── pages
│ │ ├── about.blade.php
│ │ ├── contact.blade.php
│ │ ├── home.blade.php
│ │ ├── login.blade.php
│ │ ├── password.blade.php
│ │ └── register.blade.php
│ │ ├── partials
│ │ ├── _address-form.blade.php
│ │ ├── _category-form.blade.php
│ │ ├── _form-error.blade.php
│ │ ├── _page-form.blade.php
│ │ ├── _product-form.blade.php
│ │ └── _product-list.blade.php
│ │ ├── payment
│ │ └── stripe.blade.php
│ │ ├── shop
│ │ ├── cart.blade.php
│ │ ├── categories.blade.php
│ │ ├── favourite.blade.php
│ │ ├── page.blade.php
│ │ ├── product.blade.php
│ │ ├── products.blade.php
│ │ └── search.blade.php
│ │ └── theme.yaml
├── uploads
│ ├── favicon-shopping-basket.ico
│ ├── icon.png
│ └── index.html
└── web.config
└── thumbnail.png
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 | *.css linguist-vendored
3 | *.scss linguist-vendored
4 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .env
2 | vendor/
3 | node_modules/
4 | files/
5 |
6 | # Laravel 4 specific
7 | bootstrap/compiled.php
8 | app/storage/
9 |
10 | # Laravel 5 & Lumen specific
11 | bootstrap/cache/compiled.php
12 | .env.*.php
13 | .env.php
14 |
15 |
16 | # Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer
17 | .rocketeer/
18 | composer.lock
19 | /vendor
20 | /node_modules
21 | /public/storage
22 | Homestead.yaml
23 | Homestead.json
24 | .idea
25 |
--------------------------------------------------------------------------------
/.styleci.yml:
--------------------------------------------------------------------------------
1 | preset: laravel
2 |
3 | linting: true
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | php:
4 | - 5.6
5 |
6 | env:
7 | global:
8 | - setup=basic
9 |
10 | services:
11 | - mysql
12 |
13 | before_script:
14 | - cd core
15 | - cp .env.travis .env
16 | - mysql -e 'create database homestead_test;'
17 | - chmod -R 777 storage
18 | - cd ..
19 | - composer self-update
20 | - composer install
21 | - php artisan key:generate --no-interaction
22 |
23 | script:
24 | - php artisan migrate --env=testing --no-interaction -vvv
25 | - php artisan db:seed --no-interaction --class=UsersTableSeeder
26 | - php artisan db:seed --no-interaction --class=UserTypesTableSeeder
27 | - php artisan db:seed --no-interaction --class=CategoriesTableSeeder
28 | - php artisan db:seed --no-interaction --class=ProductsTableSeeder
29 | - php artisan db:seed --no-interaction --class=SettingsTableSeeder
30 | - php artisan db:seed --no-interaction --class=PluginsTableSeeder
31 | - php artisan db:seed --no-interaction --class=ThemesTableSeeder
32 | - php artisan serve --port=8000 --host=localhost &
33 | - cd core
34 | - vendor/bin/phpunit
--------------------------------------------------------------------------------
/artisan:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env php
2 | make(Illuminate\Contracts\Console\Kernel::class);
32 |
33 | $status = $kernel->handle(
34 | $input = new Symfony\Component\Console\Input\ArgvInput,
35 | new Symfony\Component\Console\Output\ConsoleOutput
36 | );
37 |
38 | /*
39 | |--------------------------------------------------------------------------
40 | | Shutdown The Application
41 | |--------------------------------------------------------------------------
42 | |
43 | | Once Artisan has finished running. We will fire off the shutdown events
44 | | so that any final work may be done by the application before we shut
45 | | down the process. This is the last thing to happen to the request.
46 | |
47 | */
48 |
49 | $kernel->terminate($input, $status);
50 |
51 | exit($status);
52 |
--------------------------------------------------------------------------------
/circle.yml:
--------------------------------------------------------------------------------
1 | machine:
2 | timezone:
3 | US/Pacific
4 | php:
5 | version: 5.6.2
6 | hosts:
7 | localhost: 127.0.0.1
8 | environment:
9 | ENVIRONMENT: testing-ci
10 | DB_DATABASE: testing.sqlite
11 | test:
12 | post:
13 | - php vendor/bin/phpunit
--------------------------------------------------------------------------------
/core/.env.example:
--------------------------------------------------------------------------------
1 | APP_ENV=local
2 | APP_DEBUG=true
3 | APP_KEY=Random
4 | APP_URL=http://localhost
5 | THEME_FOLDER=default
6 |
7 | DB_CONNECTION=sqlite
8 |
9 | CACHE_DRIVER=file
10 | SESSION_DRIVER=file
11 | QUEUE_DRIVER=sync
12 |
13 | REDIS_HOST=127.0.0.1
14 | REDIS_PASSWORD=null
15 | REDIS_PORT=6379
16 |
17 | MAIL_DRIVER=smtp
18 | MAIL_HOST=
19 | MAIL_PORT=
20 | MAIL_USERNAME=
21 | MAIL_PASSWORD=
22 | MAIL_ENCRYPTION=
23 | MAIL_FROM=
24 | MAIL_NAME=
25 |
26 |
27 |
28 | STRIPE_KEY=
29 | STRIPE_PUBLISHABLE_SECRET=
30 | STRIPE_SECRET=
31 | SPARKPOST_SECRET=
32 |
33 | MAILCHIMP_APIKEY=
34 | MAILCHIMP_LIST_ID=
35 |
36 | TAX_RATE=0
37 | CURRENCY_SYMBOL=USD
38 | SHIPPING_CHARGE=
39 | RECAPTCHA_PUBLIC_KEY=
40 | RECAPTCHA_PRIVATE_KEY=
41 |
42 | FACEBOOK_CLIENT_ID=
43 | FACEBOOK_CLIENT_SECRET=
44 | CALLBACK_URL=
45 |
46 |
47 | CLIENT_ID=
48 | CLIENT_SECRET=
49 | API_AUTH_URL=
50 | API_URL=
51 | CLIENT_RETURN_URL=
52 |
53 | SHOP_NAME=DEMO
54 | SITE_SUB_HEADING=
55 | FACEBOOK_PAGE_URL=
56 | TWITTER_PAGE_URL=
57 | YOUTUBE_CHANNEL_URL=
58 | INSTAGRAM_URL=
59 | TELEGRAM_BOT_TOKEN=replace_me
--------------------------------------------------------------------------------
/core/.env.sample:
--------------------------------------------------------------------------------
1 | APP_ENV=production
2 | APP_DEBUG=false
3 | APP_KEY=base64:IImXGk2dwtaTL85agQL+BfNQ/Pd81rr07fj6Wuvy9sM=
4 | APP_URL=http://localhost
5 | THEME_FOLDER=default
6 |
7 | DB_CONNECTION=mysql
8 |
9 | DB_HOST=localhost
10 | DB_PORT=3306
11 | DB_USERNAME=root
12 | DB_PASSWORD=password
13 |
14 | CACHE_DRIVER=file
15 | SESSION_DRIVER=file
16 | QUEUE_DRIVER=sync
17 |
18 | REDIS_HOST=127.0.0.1
19 | REDIS_PASSWORD=null
20 | REDIS_PORT=6379
21 |
22 | MAIL_DRIVER=smtp
23 | MAIL_HOST=
24 | MAIL_PORT=
25 | MAIL_USERNAME=
26 | MAIL_PASSWORD=
27 | MAIL_ENCRYPTION=
28 | MAIL_FROM=
29 | MAIL_NAME=
30 |
31 |
32 |
33 | STRIPE_KEY=
34 | STRIPE_PUBLISHABLE_SECRET=
35 | STRIPE_SECRET=
36 | SPARKPOST_SECRET=
37 |
38 | MAILCHIMP_APIKEY=
39 | MAILCHIMP_LIST_ID=
40 |
41 | TAX_RATE=0
42 | CURRENCY_SYMBOL=USD
43 | SHIPPING_CHARGE=
44 | RECAPTCHA_PUBLIC_KEY=
45 | RECAPTCHA_PRIVATE_KEY=
46 |
47 | FACEBOOK_CLIENT_ID=
48 | FACEBOOK_CLIENT_SECRET=
49 | CALLBACK_URL=
50 |
51 |
52 | CLIENT_ID=
53 | CLIENT_SECRET=
54 | API_AUTH_URL=
55 | API_URL=
56 | CLIENT_RETURN_URL=
57 |
58 | SHOP_NAME=DEMO
59 | SITE_SUB_HEADING=
60 | FACEBOOK_PAGE_URL=
61 | TWITTER_PAGE_URL=
62 | YOUTUBE_CHANNEL_URL=
63 | INSTAGRAM_URL=
64 | TELEGRAM_BOT_TOKEN=replace_me
--------------------------------------------------------------------------------
/core/.env.travis:
--------------------------------------------------------------------------------
1 | APP_ENV=testing
2 | APP_KEY=SomeRandomString
3 | APP_URL=http://localhost:8000
4 | THEME_FOLDER=default
5 |
6 |
7 | DB_CONNECTION=testing
8 | DB_TEST_USERNAME=root
9 | DB_TEST_PASSWORD=
10 |
11 | CACHE_DRIVER=file
12 | SESSION_DRIVER=file
13 | QUEUE_DRIVER=sync
14 |
15 | TELEGRAM_BOT_TOKEN=test
16 | SHOP_NAME=TEST
--------------------------------------------------------------------------------
/core/.gitignore:
--------------------------------------------------------------------------------
1 | .env
2 | vendor/
3 | node_modules/
4 | files/
5 |
6 | # Laravel 4 specific
7 | bootstrap/compiled.php
8 | app/storage/
9 |
10 | # Laravel 5 & Lumen specific
11 | bootstrap/cache/compiled.php
12 | .env.*.php
13 | .env.php
14 |
15 |
16 | # Rocketeer PHP task runner and deployment package. https://github.com/rocketeers/rocketeer
17 | .rocketeer/
18 |
19 |
20 | /vendor
21 | /node_modules
22 | /public/storage
23 | Homestead.yaml
24 | Homestead.json
25 | .idea
26 |
--------------------------------------------------------------------------------
/core/TODO.txt:
--------------------------------------------------------------------------------
1 | Un-publish categories
2 | Un-publish products
3 | Use contextual binds for selected plugin hooks
4 | Add reports
5 | Promo codes
6 | "Danger Zone" implementation (admin menu)
7 | Localization support (+remove messages from code)
8 |
--------------------------------------------------------------------------------
/core/app/Console/Commands/Inspire.php:
--------------------------------------------------------------------------------
1 | comment(PHP_EOL.Inspiring::quote().PHP_EOL);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/app/Console/Kernel.php:
--------------------------------------------------------------------------------
1 | command('inspire')
31 | // ->hourly();
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/app/Events/Event.php:
--------------------------------------------------------------------------------
1 | order = $order;
26 | }
27 |
28 | /**
29 | * Get the channels the event should be broadcast on.
30 | *
31 | * @return array
32 | */
33 | public function broadcastOn()
34 | {
35 | return [];
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/app/Events/OrderShipped.php:
--------------------------------------------------------------------------------
1 | user = $user;
22 | $this->total = $total;
23 | // $user->charge($total * 100);
24 | }
25 |
26 | /**
27 | * Get the channels the event should be broadcast on.
28 | *
29 | * @return array
30 | */
31 | public function broadcastOn()
32 | {
33 | return [];
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/app/Events/SomeEvent.php:
--------------------------------------------------------------------------------
1 | basePath.DIRECTORY_SEPARATOR.'/../public';
19 | }
20 |
21 | /**
22 | * Over-ride function
23 | * TODO: add checks.
24 | *
25 | * @return string
26 | */
27 | public function getNamespace()
28 | {
29 | if (! is_null($this->namespace)) {
30 | return $this->namespace;
31 | }
32 |
33 | $this->namespace = 'App\\';
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/app/Http/Controllers/AccountController.php:
--------------------------------------------------------------------------------
1 |
13 | * @license https://github.com/aasisvinayak/flymyshop/blob/master/LICENSE GPL-3.0
14 | *
15 | * @link https://github.com/aasisvinayak/flymyshop
16 | */
17 | class AccountController extends Controller
18 | {
19 | }
20 |
--------------------------------------------------------------------------------
/core/app/Http/Controllers/Auth/PasswordController.php:
--------------------------------------------------------------------------------
1 | 'required|email|max:255|unique:users',
32 | 'password' => 'required|min:6|confirmed',
33 | 'g-recaptcha-response' => 'required|recaptcha',
34 | ]);
35 | }
36 |
37 | public function __construct()
38 | {
39 | $this->middleware('guest');
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/core/app/Http/Controllers/Controller.php:
--------------------------------------------------------------------------------
1 |
17 | * @license https://github.com/laravel/laravel/blob/master/LICENSE GPL-3.0
18 | *
19 | * @link https://github.com/laravel/laravel
20 | */
21 | class Controller extends BaseController
22 | {
23 | use AuthorizesRequests, AuthorizesResources, DispatchesJobs, ValidatesRequests;
24 | }
25 |
--------------------------------------------------------------------------------
/core/app/Http/Middleware/Authenticate.php:
--------------------------------------------------------------------------------
1 | guest()) {
22 | if ($request->ajax() || $request->wantsJson()) {
23 | return response('Unauthorized.', 401);
24 | } else {
25 | return redirect()->guest('login');
26 | }
27 | }
28 |
29 | return $next($request);
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/core/app/Http/Middleware/CheckUserType.php:
--------------------------------------------------------------------------------
1 | id;
31 | $type = UserType::getType($id);
32 |
33 | if (count($type) > 0) {
34 | $isAdmin = $type[0]->type == 'admin' ? true : false;
35 | } else {
36 | $isAdmin = false;
37 | }
38 |
39 | if ($isAdmin == false) {
40 | Session::flash('alert-danger', 'You are not admin!');
41 |
42 | return redirect('/');
43 | }
44 | }
45 |
46 |
47 |
48 | return $next($request);
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/core/app/Http/Middleware/EncryptCookies.php:
--------------------------------------------------------------------------------
1 | make(
28 | // creates the main menu object
29 | 'MainMenu', function ($menu) {
30 | $menu->add('Home');
31 | $menu->add('About', 'about');
32 | $menu->add('services', 'services');
33 | $menu->add('Contact', 'contact');
34 | }
35 | );
36 |
37 | $menu->make(
38 | // create category menu object
39 | // TODO: obsolete now as the category function does the trick
40 | // unwanted object to be removed
41 | 'CategoryMenu', function ($menu) {
42 | $categories = Category::all();
43 |
44 | foreach ($categories as $category) {
45 | $menu->add($category->title, $category->category_id);
46 | }
47 | }
48 | );
49 |
50 | $menu->make(
51 | // created shop page menu
52 | 'PageMenu', function ($menu) {
53 | $pages = Page::all();
54 | foreach ($pages as $page) {
55 | $menu->add($page->title, $page->title.'/'.$page->page_id);
56 | }
57 | }
58 | );
59 |
60 | return $next($request);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/core/app/Http/Middleware/RedirectIfAuthenticated.php:
--------------------------------------------------------------------------------
1 | check()) {
22 | return redirect('/');
23 | }
24 |
25 | return $next($request);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/core/app/Http/Middleware/VerifyCheckOut.php:
--------------------------------------------------------------------------------
1 | addresses->all();
29 | $payment_cards = $user->payment_cards->all();
30 | $profile = $user->profile()->get();
31 |
32 | if (count($profile) == 0) {
33 | return redirect('account/profile/edit')->with('next-page', 'store/checkout');
34 | }
35 |
36 |
37 | if (count($addresses) == 0) {
38 | return redirect('account/addresses/create')->with('next-page', 'store/checkout');
39 | }
40 |
41 | if (count($payment_cards) == 0) {
42 | return redirect('account/payment_cards/create')->with('next-page', 'store/checkout');
43 | }
44 |
45 | $request->session()->forget('next-page');
46 |
47 | return $next($request);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/core/app/Http/Middleware/VerifyCsrfToken.php:
--------------------------------------------------------------------------------
1 | where('address_id', '=', $slug)->get();
32 | }
33 |
34 | /**
35 | * Each address belong to a user.
36 | *
37 | * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
38 | */
39 | public function user()
40 | {
41 | return $this->belongsTo('App\User');
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/core/app/Http/Models/Category.php:
--------------------------------------------------------------------------------
1 | where('category_id', '=', $slug);
30 | }
31 |
32 | /**
33 | * Each category has many products.
34 | *
35 | * @return \Illuminate\Database\Eloquent\Relations\HasMany
36 | */
37 | public function products()
38 | {
39 | return $this->hasMany('App\Http\Models\Product');
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/core/app/Http/Models/FailedLogin.php:
--------------------------------------------------------------------------------
1 | subMinutes(10);
31 | $count = $query->where('attempted_at', '>', $period)
32 | ->where('email', '=', $email)
33 | ->where('ip', '=', $ip);
34 |
35 | return $count;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/app/Http/Models/InvoiceItem.php:
--------------------------------------------------------------------------------
1 | belongsTo('App\Http\Models\Invoice');
20 | }
21 |
22 | /**
23 | * Fetch number of products sold after $time.
24 | *
25 | * @param $query
26 | * @param $time
27 | * @return mixed
28 | */
29 | public function scopeProductsSold($query, $time)
30 | {
31 | return $query->select('qty', 'created_at')
32 | ->where('created_at', '>', $time)->sum('qty');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/app/Http/Models/Page.php:
--------------------------------------------------------------------------------
1 | where('page_id', '=', $page_id)->get();
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/app/Http/Models/PaymentCard.php:
--------------------------------------------------------------------------------
1 | belongsTo('App\User');
25 | }
26 |
27 | /**
28 | * Get card object from card_id.
29 | *
30 | * @param $query
31 | * @param $slug
32 | * @return mixed
33 | */
34 | public function scopeGetInfo($query, $slug)
35 | {
36 | return $query->where('card_id', '=', $slug)->get();
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/core/app/Http/Models/Plugin.php:
--------------------------------------------------------------------------------
1 | where('product_id', '=', $product_id);
30 | }
31 |
32 | /**
33 | * Each product image belongs to product.
34 | *
35 | * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
36 | */
37 | public function product()
38 | {
39 | return $this->belongsTo('App\Http\Models\Product');
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/core/app/Http/Models/Setting.php:
--------------------------------------------------------------------------------
1 | value.
10 | */
11 | class Setting extends Model
12 | {
13 | protected $fillable = [
14 | 'value',
15 | ];
16 |
17 | public function scopeRow($query, $title)
18 | {
19 | return $query->select('id', 'title', 'value')
20 | ->where('title', '=', $title)->get();
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/app/Http/Models/Theme.php:
--------------------------------------------------------------------------------
1 | attributes['dob'] = Carbon::createFromFormat('d/m/Y', $value);
28 | }
29 |
30 | /**
31 | * Get profile from profile_id.
32 | *
33 | * @param $query
34 | * @param $profile_id
35 | * @return mixed
36 | */
37 | public function scopeGetId($query, $profile_id)
38 | {
39 | return $query->select('id')->where('profile_id', '=', $profile_id)->get();
40 | }
41 |
42 | /**
43 | * Each profile belongs to a user.
44 | *
45 | * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
46 | */
47 | public function user()
48 | {
49 | return $this->belongsTo('App\User');
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/core/app/Http/Models/UserType.php:
--------------------------------------------------------------------------------
1 | 'string',
19 | ];
20 |
21 | /**
22 | * Get user type by user_id.
23 | *
24 | * @param $query
25 | * @param $user_id
26 | * @return mixed
27 | */
28 | public function scopeGetType($query, $user_id)
29 | {
30 | return $query->select('type')->where('user_id', '=', $user_id)->get();
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/AddressRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
28 | 'address_l2' => 'required',
29 | 'city' => 'required',
30 | 'state' => 'required',
31 | 'country' => 'required',
32 | 'postcode' => 'required',
33 | ];
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/CategoryRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
30 |
31 | ];
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/ContactFormRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
26 | 'email' => 'required|email',
27 | 'message' => 'required',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/InstallAdminUserRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
26 | 'admin_password' => 'required',
27 | ];
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/InstallRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
27 | 'DB_HOST' => 'required',
28 | 'DB_PORT' => 'required',
29 | 'DB_USERNAME' => 'required',
30 | 'DB_PASSWORD' => 'required',
31 | 'DB_DATABASE' => 'required',
32 | ];
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/PageRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
26 | 'content' => 'required',
27 | ];
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/PluginRequest.php:
--------------------------------------------------------------------------------
1 | 'required|active_url',
26 | ];
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/ProductRequest.php:
--------------------------------------------------------------------------------
1 | 'required',
26 | 'make' => 'required',
27 | 'category_id' => 'required',
28 | 'description' => 'required',
29 | 'details' => 'required',
30 | 'image' => 'required',
31 | 'price' => 'required',
32 | 'is_featured' => 'required',
33 |
34 | ];
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/core/app/Http/Requests/Request.php:
--------------------------------------------------------------------------------
1 | 'required',
26 | 'dob' => 'required',
27 | 'phone' => 'required',
28 | ];
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/app/Http/Traits/TelegramTrait.php:
--------------------------------------------------------------------------------
1 | telegram = new Api(env('TELEGRAM_BOT_TOKEN'));
19 | }
20 |
21 | /**
22 | * Checking if there are any conversations to the bot.
23 | *
24 | * @return bool
25 | */
26 | public function checkChatID()
27 | {
28 | $response = $this->telegram->getUpdates();
29 |
30 | return is_null($response) ? false : true;
31 | }
32 |
33 | /**
34 | * if there are conversations returning the chat id.
35 | *
36 | * @return mixed
37 | */
38 | public function getChatID()
39 | {
40 | $response = $this->telegram->getUpdates();
41 | if (count($response) > 0) {
42 | return $response[0]['message']['chat']['id'];
43 | }
44 | }
45 |
46 | /**
47 | * Send message to user's telegram.
48 | *
49 | * @param string $msg Order related message e.g. Order no
50 | *
51 | * @return int
52 | */
53 | public function sendTelegram($msg)
54 | {
55 | $chatID = $this->getChatID();
56 | $response = $this->telegram->sendMessage([
57 | 'chat_id' => $chatID,
58 | 'text' => $msg,
59 | ]);
60 |
61 | return $response->getMessageId();
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/core/app/Jobs/CreateThumbnail.php:
--------------------------------------------------------------------------------
1 | order_id = $event->order->order_no;
34 | Mail::queue(
35 | [],
36 | [],
37 | function ($message) {
38 | $message->from(env('MAIL_FROM'));
39 | $message->to(env('MAIL_TO'));
40 | $message->subject('Order Placed');
41 | $message->setBody('Order id '.$this->order_id);
42 | }
43 | );
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/core/app/Listeners/SendShipmentNotification.php:
--------------------------------------------------------------------------------
1 | user;
28 | $total = $event->total;
29 |
30 | $user->charge($total * 100);
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/app/Policies/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/core/app/Policies/AddressPolicy.php:
--------------------------------------------------------------------------------
1 | id === (int) $address->user_id;
26 | }
27 |
28 | public function update(User $user, Address $address)
29 | {
30 | return $user->id === (int) $address->user_id;
31 | }
32 |
33 | public function delete(User $user, Address $address)
34 | {
35 | return $user->id === (int) $address->user_id;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/app/Policies/InvoicePolicy.php:
--------------------------------------------------------------------------------
1 | id === (int) $invoice->user_id;
35 | }
36 |
37 | /**
38 | * Only an admin can update the invoice (for updating invoice status).
39 | *
40 | * @return bool
41 | */
42 | public function update()
43 | {
44 | $id = Auth::user()->id;
45 | $type = UserType::getType($id);
46 |
47 | return $type == 'admin' ? true : false;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/core/app/Policies/PaymentCardPolicy.php:
--------------------------------------------------------------------------------
1 | id === $paymentCard->user_id;
26 | }
27 |
28 | public function delete(User $user, PaymentCard $paymentCard)
29 | {
30 | $user->id === $paymentCard->user_id;
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/core/app/Policies/UserDetailPolicy.php:
--------------------------------------------------------------------------------
1 | id === (int) $userDetail->user_id;
26 | }
27 |
28 | public function show(User $user, UserDetail $userDetail)
29 | {
30 | return $user->id === $userDetail->user_id;
31 | }
32 |
33 | public function delete(User $user, UserDetail $userDetail)
34 | {
35 | return $user->id === $userDetail->user_id;
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/app/Providers/AppServiceProvider.php:
--------------------------------------------------------------------------------
1 | app->bind('path.storage', function () {
30 | return 'files';
31 | });
32 |
33 |
34 | if (DB::connection()->getDatabaseName()) {
35 | if (Schema::hasTable('plugins')) {
36 | new EnablePlugins();
37 | }
38 | }
39 | }
40 | }
41 |
42 | require base_path().'/flymyshop/functions.php';
43 | require base_path().'/flymyshop/hooks.php';
44 |
--------------------------------------------------------------------------------
/core/app/Providers/AuthServiceProvider.php:
--------------------------------------------------------------------------------
1 | 'App\Policies\ModelPolicy',
25 | Address::class => AddressPolicy::class,
26 | PaymentCard::class => PaymentCardPolicy::class,
27 | UserDetail::class => UserDetailPolicy::class,
28 | Invoice::class => InvoicePolicy::class,
29 |
30 | ];
31 |
32 | /**
33 | * Register any application authentication / authorization services.
34 | *
35 | * @param \Illuminate\Contracts\Auth\Access\Gate $gate
36 | *
37 | * @return void
38 | */
39 | public function boot(GateContract $gate)
40 | {
41 | $this->registerPolicies($gate);
42 |
43 | //
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/core/app/Providers/EventServiceProvider.php:
--------------------------------------------------------------------------------
1 | [
17 | 'App\Listeners\EventListener',
18 | ],
19 |
20 | 'App\Events\OrderShipped' => [
21 | 'App\Listeners\SendShipmentNotification',
22 | ],
23 |
24 | 'App\Events\OrderPlaced' => [
25 | 'App\Listeners\SendOrderNotification',
26 | ],
27 |
28 | 'App\Events\ProcessPayment' => [
29 | 'App\Listeners\TakePayment',
30 | ],
31 | ];
32 |
33 | /**
34 | * Register any other events for your application.
35 | *
36 | * @param \Illuminate\Contracts\Events\Dispatcher $events
37 | *
38 | * @return void
39 | */
40 | public function boot(DispatcherContract $events)
41 | {
42 | parent::boot($events);
43 |
44 | //
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/core/app/Providers/FmsContainerServiceProvider.php:
--------------------------------------------------------------------------------
1 | app->bind('PluginHelper', function () {
28 | return new PluginHelper();
29 | });
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/core/app/Providers/RouteServiceProvider.php:
--------------------------------------------------------------------------------
1 | mapWebRoutes($router);
43 |
44 | //
45 | }
46 |
47 | /**
48 | * Define the "web" routes for the application.
49 | *
50 | * These routes all receive session state, CSRF protection, etc.
51 | *
52 | * @param \Illuminate\Routing\Router $router
53 | *
54 | * @return void
55 | */
56 | protected function mapWebRoutes(Router $router)
57 | {
58 | $router->group([
59 | 'namespace' => $this->namespace, 'middleware' => 'web',
60 | ], function ($router) {
61 | require app_path('Http/routes.php');
62 | });
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/core/bootstrap/app.php:
--------------------------------------------------------------------------------
1 | singleton(
36 | Illuminate\Contracts\Http\Kernel::class,
37 | App\Http\Kernel::class
38 | );
39 |
40 | $app->singleton(
41 | Illuminate\Contracts\Console\Kernel::class,
42 | App\Console\Kernel::class
43 | );
44 |
45 | $app->singleton(
46 | Illuminate\Contracts\Debug\ExceptionHandler::class,
47 | App\Exceptions\Handler::class
48 | );
49 |
50 | /*
51 | |--------------------------------------------------------------------------
52 | | Return The Application
53 | |--------------------------------------------------------------------------
54 | |
55 | | This script returns the application instance. The instance is given to
56 | | the calling script so we can separate the building of the instances
57 | | from the actual running of the application and sending responses.
58 | |
59 | */
60 |
61 | return $app;
62 |
--------------------------------------------------------------------------------
/core/bootstrap/autoload.php:
--------------------------------------------------------------------------------
1 | env('BROADCAST_DRIVER', 'pusher'),
17 |
18 | /*
19 | |--------------------------------------------------------------------------
20 | | Broadcast Connections
21 | |--------------------------------------------------------------------------
22 | |
23 | | Here you may define all of the broadcast connections that will be used
24 | | to broadcast events to other systems or over websockets. Samples of
25 | | each available type of connection are provided inside this array.
26 | |
27 | */
28 |
29 | 'connections' => [
30 |
31 | 'pusher' => [
32 | 'driver' => 'pusher',
33 | 'key' => env('PUSHER_KEY'),
34 | 'secret' => env('PUSHER_SECRET'),
35 | 'app_id' => env('PUSHER_APP_ID'),
36 | 'options' => [
37 | //
38 | ],
39 | ],
40 |
41 | 'redis' => [
42 | 'driver' => 'redis',
43 | 'connection' => 'default',
44 | ],
45 |
46 | 'log' => [
47 | 'driver' => 'log',
48 | ],
49 |
50 | ],
51 |
52 | ];
53 |
--------------------------------------------------------------------------------
/core/config/compile.php:
--------------------------------------------------------------------------------
1 | [
17 | //
18 | ],
19 |
20 | /*
21 | |--------------------------------------------------------------------------
22 | | Compiled File Providers
23 | |--------------------------------------------------------------------------
24 | |
25 | | Here you may list service providers which define a "compiles" function
26 | | that returns additional files that should be compiled, providing an
27 | | easy way to get common files from any packages you are utilizing.
28 | |
29 | */
30 |
31 | 'providers' => [
32 | //
33 | ],
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/core/config/flymyshop.php:
--------------------------------------------------------------------------------
1 | str_replace('_', ' ', env('SHOP_NAME')),
5 | ];
6 |
--------------------------------------------------------------------------------
/core/config/laravel-newsletter.php:
--------------------------------------------------------------------------------
1 | env('MAILCHIMP_APIKEY'),
10 |
11 | /*
12 | * When not specifying a listname in the various methods, use the list with this name
13 | */
14 | 'defaultListName' => 'subscribers',
15 |
16 | /*
17 | * Here you can define properties of the lists you want to
18 | * send campaigns.
19 | */
20 | 'lists' => [
21 |
22 | /*
23 | * This key is used to identify this list. It can be used
24 | * in the various methods provided by this package.
25 | *
26 | * You can set it to any string you want and you can add
27 | * as many lists as you want.
28 | */
29 | 'subscribers' => [
30 |
31 | /*
32 | * A mail chimp list id. Check the mailchimp docs if you don't know
33 | * how to get this value:
34 | * http://kb.mailchimp.com/lists/managing-subscribers/find-your-list-id
35 | */
36 | 'id' => env('MAILCHIMP_LIST_ID'),
37 | ],
38 | ],
39 | ];
40 |
--------------------------------------------------------------------------------
/core/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 | 'facebook' => [
39 | 'client_id' => env('FACEBOOK_CLIENT_ID'),
40 | 'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
41 | 'redirect' => env('CALLBACK_URL'),
42 | ],
43 |
44 | ];
45 |
--------------------------------------------------------------------------------
/core/config/view.php:
--------------------------------------------------------------------------------
1 | [
17 | realpath(base_path('resources/admin_themes')),
18 | realpath(base_path('resources/install_themes')),
19 | realpath(__DIR__.'/../../public/themes/'.env('THEME_FOLDER')),
20 | ],
21 |
22 | /*
23 | |--------------------------------------------------------------------------
24 | | Compiled View Path
25 | |--------------------------------------------------------------------------
26 | |
27 | | This option determines where all the compiled Blade templates will be
28 | | stored for your application. Typically, this is within the storage
29 | | directory. However, as usual, you are free to change this value.
30 | |
31 | */
32 |
33 | 'compiled' => realpath(storage_path('framework/views')),
34 |
35 | ];
36 |
--------------------------------------------------------------------------------
/core/database/.gitignore:
--------------------------------------------------------------------------------
1 | *.sqlite
2 |
--------------------------------------------------------------------------------
/core/database/factories/ModelFactory.php:
--------------------------------------------------------------------------------
1 | define(App\User::class, function (Faker\Generator $faker) {
15 | return [
16 | 'name' => $faker->name,
17 | 'email' => $faker->safeEmail,
18 | 'password' => bcrypt(str_random(10)),
19 | 'remember_token' => str_random(10),
20 | ];
21 | });
22 |
--------------------------------------------------------------------------------
/core/database/migrations/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/core/database/migrations/2014_10_12_000000_create_users_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name')->nullable();
18 | $table->string('email')->unique();
19 | $table->string('password');
20 | $table->string('facebook_id', 255)->unique()->nullable();
21 | $table->string('avatar', 255)->nullable();
22 | $table->rememberToken();
23 | $table->string('stripe_id')->nullable();
24 | $table->string('card_brand')->nullable();
25 | $table->string('card_last_four')->nullable();
26 | $table->timestamp('trial_ends_at')->nullable();
27 | $table->smallInteger('status')->nullable();
28 | $table->timestamps();
29 | });
30 |
31 | Schema::create('subscriptions', function ($table) {
32 | $table->increments('id');
33 | $table->integer('user_id');
34 | $table->string('name');
35 | $table->string('stripe_id');
36 | $table->string('stripe_plan');
37 | $table->integer('quantity');
38 | $table->timestamp('trial_ends_at')->nullable();
39 | $table->timestamp('ends_at')->nullable();
40 | $table->timestamps();
41 | });
42 | }
43 |
44 | /**
45 | * Reverse the migrations.
46 | *
47 | * @return void
48 | */
49 | public function down()
50 | {
51 | Schema::drop('users');
52 | Schema::drop('subscriptions');
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/core/database/migrations/2014_10_12_100000_create_password_resets_table.php:
--------------------------------------------------------------------------------
1 | string('email')->index();
17 | $table->string('token')->index();
18 | $table->timestamp('created_at');
19 | });
20 | }
21 |
22 | /**
23 | * Reverse the migrations.
24 | *
25 | * @return void
26 | */
27 | public function down()
28 | {
29 | Schema::drop('password_resets');
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_08_30_212400_create_categories_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('category_id', 255);
18 | $table->string('title', 255);
19 | $table->string('parent_id', 255);
20 | $table->smallInteger('status');
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('categories');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_08_30_212557_create_products_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('product_id', 255)->nullable();
18 | $table->string('title', 255);
19 | $table->string('make', 255);
20 | $table->integer('category_id')->unsigned();
21 | $table->mediumText('description');
22 | $table->longText('details');
23 | $table->string('image', 255)->nullable();
24 | $table->string('image_name', 255)->nullable();
25 | $table->decimal('price', 10, 2);
26 | $table->integer('stock');
27 | $table->integer('sold_count');
28 | $table->smallInteger('is_featured');
29 | $table->smallInteger('status');
30 | $table->timestamps();
31 | $table->foreign('category_id')->references('id')->on('categories');
32 | });
33 | }
34 |
35 | /**
36 | * Reverse the migrations.
37 | *
38 | * @return void
39 | */
40 | public function down()
41 | {
42 | Schema::drop('products');
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_08_31_114243_create_idme_token.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('user_id')->unsigned();
18 | $table->string('token', 255);
19 | $table->string('refresh_token', 255);
20 | $table->smallInteger('status');
21 | $table->timestamps();
22 | $table->foreign('user_id')
23 | ->references('id')->on('users');
24 | });
25 | }
26 |
27 | /**
28 | * Reverse the migrations.
29 | *
30 | * @return void
31 | */
32 | public function down()
33 | {
34 | Schema::drop('idme_token');
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_05_191402_create_payment_cards_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('user_id')->unsigned()->nullable();
18 | $table->string('customer_id', 255);
19 | $table->string('card_id', 255);
20 | $table->string('card_four_digit', 255);
21 | $table->string('expiry_month', 255);
22 | $table->string('expiry_year', 255);
23 | $table->string('vendor', 255);
24 | $table->string('country', 255);
25 | $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
26 | $table->timestamps();
27 | });
28 | }
29 |
30 | /**
31 | * Reverse the migrations.
32 | *
33 | * @return void
34 | */
35 | public function down()
36 | {
37 | Schema::drop('payment_cards');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_06_101601_create_user_types_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('user_id')->unsigned();
18 | $table->string('type', 10);
19 | $table->foreign('user_id')->references('id')
20 | ->on('users')->onDelete('cascade');
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('user_types');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_06_111614_create_failed_logins_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('email', 255);
18 | $table->string('ip', 255);
19 | $table->timestamp('attempted_at')->index();
20 | $table->timestamps();
21 | });
22 | }
23 |
24 | /**
25 | * Reverse the migrations.
26 | *
27 | * @return void
28 | */
29 | public function down()
30 | {
31 | Schema::drop('failed_logins');
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_06_203028_create_addresses_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('user_id')->unsigned()->nullable();
18 | $table->string('address_id', 255)->nullable();
19 | $table->string('address_l1', 255);
20 | $table->string('address_l2', 255);
21 | $table->string('city', 255);
22 | $table->string('state', 255);
23 | $table->string('postcode', 255);
24 | $table->string('country', 255);
25 | $table->timestamps();
26 | });
27 | }
28 |
29 | /**
30 | * Reverse the migrations.
31 | *
32 | * @return void
33 | */
34 | public function down()
35 | {
36 | Schema::drop('addresses');
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_08_005950_create_invoices_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('user_id')->unsigned();
18 | $table->string('invoice_id', 255);
19 | $table->integer('order_no');
20 | $table->decimal('sub_total', 10, 2);
21 | $table->decimal('tax', 10, 2);
22 | $table->decimal('shipping', 10, 2)->nullable();
23 | $table->smallInteger('status')->nullable();
24 | $table->timestamps();
25 | $table->foreign('user_id')->references('id')
26 | ->on('users')->onDelete('cascade');
27 | });
28 | }
29 |
30 | /**
31 | * Reverse the migrations.
32 | *
33 | * @return void
34 | */
35 | public function down()
36 | {
37 | Schema::drop('invoices');
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_08_010353_create_invoice_items_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('invoice_id')->unsigned();
18 | $table->integer('product_id')->unsigned();
19 | $table->integer('qty');
20 | $table->foreign('invoice_id')->references('id')
21 | ->on('invoices')->onDelete('cascade');
22 | $table->foreign('product_id')->references('id')
23 | ->on('products');
24 | $table->timestamps();
25 | });
26 | }
27 |
28 | /**
29 | * Reverse the migrations.
30 | *
31 | * @return void
32 | */
33 | public function down()
34 | {
35 | Schema::drop('invoice_items');
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_08_133106_create_user_details_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('user_id')->unsigned();
18 | $table->string('profile_id', 255);
19 | $table->string('name', 255);
20 | $table->date('dob');
21 | $table->string('phone', 255);
22 | $table->integer('pin');
23 | $table->foreign('user_id')->references('id')
24 | ->on('users')->onDelete('cascade');
25 | $table->timestamps();
26 | });
27 | }
28 |
29 | /**
30 | * Reverse the migrations.
31 | *
32 | * @return void
33 | */
34 | public function down()
35 | {
36 | Schema::drop('user_details');
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_09_162235_create_pages_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('title', 255);
18 | $table->string('page_id', 255)->nullable();
19 | $table->longText('content');
20 | $table->smallInteger('status')->default(1);
21 | $table->timestamps();
22 | });
23 | }
24 |
25 | /**
26 | * Reverse the migrations.
27 | *
28 | * @return void
29 | */
30 | public function down()
31 | {
32 | Schema::drop('pages');
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_12_184914_create_jobs_table.php:
--------------------------------------------------------------------------------
1 | bigIncrements('id');
17 | $table->string('queue');
18 | $table->longText('payload');
19 | $table->tinyInteger('attempts')->unsigned();
20 | $table->tinyInteger('reserved')->unsigned();
21 | $table->unsignedInteger('reserved_at')->nullable();
22 | $table->unsignedInteger('available_at');
23 | $table->unsignedInteger('created_at');
24 | $table->index(['queue', 'reserved', 'reserved_at']);
25 | });
26 | }
27 |
28 | /**
29 | * Reverse the migrations.
30 | *
31 | * @return void
32 | */
33 | public function down()
34 | {
35 | Schema::drop('jobs');
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_09_13_205515_create_product_images_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->integer('product_id')->unsigned();
18 | $table->string('image', 255)->nullable();
19 | $table->string('image_name', 255)->nullable();
20 | $table->timestamps();
21 | $table->foreign('product_id')
22 | ->references('id')->on('products')->onDelete('cascade');
23 | });
24 | }
25 |
26 | /**
27 | * Reverse the migrations.
28 | *
29 | * @return void
30 | */
31 | public function down()
32 | {
33 | Schema::drop('product_images');
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_10_05_111915_create_plugins_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name', 255);
18 | $table->string('plugin_version', 255)->nullable();
19 | $table->string('plugin_author', 255)->nullable();
20 | $table->string('plugin_support_email', 255)->nullable();
21 | $table->string('plugin_description', 255)->nullable();
22 | $table->string('plugin_table', 255)->nullable();
23 | $table->string('plugin_config', 2555)->nullable();
24 | $table->smallInteger('status')->nullable();
25 | $table->timestamps();
26 | });
27 | }
28 |
29 | /**
30 | * Reverse the migrations.
31 | *
32 | * @return void
33 | */
34 | public function down()
35 | {
36 | Schema::drop('plugins');
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/core/database/migrations/2016_10_05_114426_create_themes_table.php:
--------------------------------------------------------------------------------
1 | increments('id');
17 | $table->string('name', 255);
18 | $table->string('theme_version', 255)->nullable();
19 | $table->string('theme_description', 255)->nullable();
20 | $table->string('theme_author', 255)->nullable();
21 | $table->smallInteger('status')->nullable();
22 | $table->timestamps();
23 | });
24 | }
25 |
26 | /**
27 | * Reverse the migrations.
28 | *
29 | * @return void
30 | */
31 | public function down()
32 | {
33 | Schema::drop('themes');
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/core/database/seeds/.gitkeep:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/core/database/seeds/CategoriesTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert(
18 | [
19 | 'category_id' => str_random(50),
20 | 'title' => 'Cat '.$i,
21 | 'parent_id' => '',
22 | 'status' => 1,
23 | ]
24 | );
25 | }
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/core/database/seeds/DatabaseSeeder.php:
--------------------------------------------------------------------------------
1 | call('CategoriesTableSeeder');
17 | $this->call('ProductsTableSeeder');
18 | $this->call('UsersTableSeeder');
19 | $this->call('UserTypesTableSeeder');
20 | $this->call('SettingsTableSeeder');
21 | $this->call('PluginsTableSeeder');
22 | $this->call('ThemesTableSeeder');
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/core/database/seeds/PluginsTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
15 | 'name' => 'Sample',
16 | 'plugin_version' => '0.0.1',
17 | 'plugin_author' => 'acev',
18 | 'plugin_support_email' => 'test@example.com',
19 | 'plugin_description' => 'The sample plugin for shop',
20 | 'plugin_table' => '',
21 | 'plugin_config' => '',
22 | 'status' => 1,
23 | ]);
24 |
25 | DB::table('plugins')->insert([
26 | 'name' => 'Test',
27 | 'plugin_version' => '0.0.1',
28 | 'plugin_author' => 'acev',
29 | 'plugin_support_email' => 'test@example.com',
30 | 'plugin_description' => 'The test plugin for shop',
31 | 'plugin_table' => '',
32 | 'plugin_config' => '',
33 | 'status' => 1,
34 | ]);
35 |
36 | DB::table('plugins')->insert([
37 | 'name' => 'ProcessOrder',
38 | 'plugin_version' => '0.0.1',
39 | 'plugin_author' => 'acev',
40 | 'plugin_support_email' => 'test@example.com',
41 | 'plugin_description' => 'Process order plugin',
42 | 'plugin_table' => '',
43 | 'plugin_config' => '',
44 | 'status' => 1,
45 | ]);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/core/database/seeds/ThemesTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
15 | 'name' => 'default',
16 | 'theme_version' => '0.3',
17 | 'theme_description' => 'Vue based theme for FlyMyShop',
18 | 'theme_author' => 'acev',
19 | 'status' => 1,
20 | ]);
21 |
22 | DB::table('themes')->insert([
23 | 'name' => 'vue',
24 | 'theme_version' => '0.1',
25 | 'theme_description' => 'The default theme for FlyMyShop',
26 | 'theme_author' => 'acev',
27 | 'status' => 1,
28 | ]);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/core/database/seeds/UserTypesTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
18 | 'user_id' => 1,
19 | 'type' => 'admin',
20 | ]);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/core/database/seeds/UsersTableSeeder.php:
--------------------------------------------------------------------------------
1 | insert([
17 | 'email' => 'test@example.com',
18 | 'password' => Hash::make('passw0rd'),
19 | ]);
20 |
21 | DB::table('users')->insert([
22 | 'email' => 'user@example.com',
23 | 'password' => Hash::make('passw0rd'),
24 | ]);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/core/docker/000-default.conf:
--------------------------------------------------------------------------------
1 |
{{ Session::get('alert-' . $msg) }} ×
7 | @endif 8 | @endforeach 9 |11 | Please complete the following details to install the shop. 12 | 13 |
14 | 15 | 16 | {{Form::open(array('action'=>'InstallController@process'))}} 17 | 18 | 19 | {{Form::label('admin_user','Admin username (email)')}} 20 | {{Form::email('admin_user',old('admin_user'),array('class'=>'form-control'))}} 21 | 22 | {{Form::label('admin_password','Admin password')}} 23 | {{Form::password('admin_password',array('class'=>'form-control'))}} 24 | 25 |8 | Please complete the following details to install the shop. 9 |
10 | 11 | {{Form::open(array('action'=>'InstallController@installShop'))}} 12 | {{Form::label('SHOP_NAME','Name of the shop')}} 13 | {{Form::text('SHOP_NAME',old('SHOP_NAME'),array('class'=>'form-control'))}} 14 | {{Form::label('DB_HOST','Database host')}} 15 | {{Form::text('DB_HOST',old('DB_HOST'),array('class'=>'form-control'))}} 16 | {{Form::label('DB_PORT','Database port')}} 17 | {{Form::text('DB_PORT',old('DB_PORT'),array('class'=>'form-control'))}} 18 | {{Form::label('DB_USERNAME','Database username')}} 19 | {{Form::text('DB_USERNAME',old('DB_USERNAME'),array('class'=>'form-control'))}} 20 | {{Form::label('DB_PASSWORD','Database password')}} 21 | {{Form::password('DB_PASSWORD',array('class'=>'form-control'))}} 22 | {{Form::label('DB_DATABASE','Database name')}} 23 | {{Form::text('DB_DATABASE',old('DB_DATABASE'),array('class'=>'form-control'))}} 24 | 25 |Order Number | 25 |Invoice Date | 26 |Total | 27 |Action | 28 |
---|---|---|---|
{{$item->order_no}} | 38 |{{$item->created_at}} | 39 |{{$item->sub_total}} | 40 |41 | 42 | View 43 | | 44 |
*Please provide us with 28 | this PIN number when you contact us on the phone. Thank you!
29 | Edit your profile 30 | 31 | 32 |2 | Name: {{$name}} 3 |
4 | 5 |6 | {{$email}} 7 |
8 | 9 |10 | {{$message}} 11 |
-------------------------------------------------------------------------------- /public/themes/default/emails/invoice.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/emails/invoice.php -------------------------------------------------------------------------------- /public/themes/default/emails/order.php: -------------------------------------------------------------------------------- 1 |2 | Order No: {{$order_id}} 3 |
4 | 5 |6 | {{$content}} 7 |
8 | -------------------------------------------------------------------------------- /public/themes/default/emails/welcome.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/emails/welcome.php -------------------------------------------------------------------------------- /public/themes/default/errors/503.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
18 | {{ $errors->first('email') }}
19 | {{ $errors->first('password') }}
20 |
{{ Form::submit('Send',array('class' => 'btn btn btn-primary')) }}
39 | {{ Form::close() }} 40 | 41 | @stop -------------------------------------------------------------------------------- /public/themes/default/pages/home.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.main') 2 | @section('content') 3 | 4 | 9 | 10 |
22 | {{ $errors->first('email') }}
23 | {{ $errors->first('password') }}
24 |
{{ Form::submit('Login',array('class' => 'btn btn btn-primary')) }}
47 | {{ Form::close() }} 48 |
22 | {{ $errors->first('email') }}
23 | {{ $errors->first('password') }}
24 |
{{ Form::submit('Register',array('class' => 'btn btn btn-primary')) }}
42 | {{ Form::close() }} 43 |