├── .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 | 2 | # The ServerName directive sets the request scheme, hostname and port that 3 | # the server uses to identify itself. This is used when creating 4 | # redirection URLs. In the context of virtual hosts, the ServerName 5 | # specifies what hostname must appear in the request's Host: header to 6 | # match this virtual host. For the default virtual host (this file) this 7 | # value is not decisive as it is used as a last resort host regardless. 8 | # However, you must set it for any further virtual host explicitly. 9 | #ServerName www.example.com 10 | 11 | ServerAdmin webmaster@localhost 12 | 13 | DocumentRoot "/var/www/html/public" 14 | DirectoryIndex index.php index.html 15 | # php_value include_path "/var/www/html/include" 16 | 17 | Options All +MultiViews -ExecCGI -Indexes 18 | 19 | DAV Off 20 | 21 | AllowOverride All 22 | 23 | LogLevel warn 24 | # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, 25 | # error, crit, alert, emerg. 26 | # It is also possible to configure the loglevel for particular 27 | # modules, e.g. 28 | #LogLevel info ssl:warn 29 | 30 | ErrorLog ${APACHE_LOG_DIR}/error.log 31 | CustomLog ${APACHE_LOG_DIR}/access.log combined 32 | 33 | # For most configuration files from conf-available/, which are 34 | # enabled or disabled at a global level, it is possible to 35 | # include a line for only one particular virtual host. For example the 36 | # following line enables the CGI configuration for this host only 37 | # after it has been globally disabled with "a2disconf". 38 | #Include conf-available/serve-cgi-bin.conf 39 | 40 | 41 | # vim: syntax=apache ts=4 sw=4 sts=4 sr noet -------------------------------------------------------------------------------- /core/docker/develop.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | -------------------------------------------------------------------------------- /core/docker/docker.env: -------------------------------------------------------------------------------- 1 | # -------------------------------------------- 2 | # REQUIRED: BASIC APP SETTINGS 3 | # -------------------------------------------- 4 | APP_ENV=develop 5 | APP_DEBUG=true 6 | APP_KEY= 7 | #APP_URL=http://127.0.0.1 8 | #APP_TIMEZONE=US/Pacific 9 | #APP_LOCALE=en 10 | THEME_FOLDER=default 11 | SHOP_NAME=DEMO 12 | 13 | 14 | # -------------------------------------------- 15 | # REQUIRED: DATABASE SETTINGS 16 | # -------------------------------------------- 17 | 18 | DB_CONNECTION=sqlite 19 | 20 | # -------------------------------------------- 21 | # REQUIRED: OUTGOING MAIL SERVER SETTINGS 22 | # -------------------------------------------- 23 | MAIL_DRIVER=smtp 24 | MAIL_HOST=${MAIL_PORT_587_TCP_ADDR} 25 | MAIL_PORT=${MAIL_PORT_587_TCP_PORT} 26 | MAIL_USERNAME=${MAIL_ENV_USERNAME} 27 | MAIL_PASSWORD=${MAIL_ENV_PASSWORD} 28 | MAIL_ENCRYPTION=${MAIL_ENV_ENCRYPTION} 29 | MAIL_FROM_ADDR=${MAIL_ENV_FROM_ADDR} 30 | MAIL_FROM_NAME=${MAIL_ENV_FROM_NAME} 31 | 32 | TELEGRAM_BOT_TOKEN=test 33 | -------------------------------------------------------------------------------- /core/docker/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | cd /var/www/html/core 3 | php artisan queue:listen -------------------------------------------------------------------------------- /core/flymyshop/Containers/DataContainer.php: -------------------------------------------------------------------------------- 1 | data = []; 12 | } 13 | 14 | public static function instance() 15 | { 16 | static $inst = null; 17 | if ($inst === null) { 18 | $inst = new self(); 19 | } 20 | 21 | return $inst; 22 | } 23 | 24 | public function getData($key) 25 | { 26 | return $this->data[$key]; 27 | } 28 | 29 | public function setData($in = []) 30 | { 31 | array_push($this->data, $in); 32 | } 33 | 34 | public function removeData($in = []) 35 | { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/flymyshop/Containers/HookContainer.php: -------------------------------------------------------------------------------- 1 | hooks = []; 12 | } 13 | 14 | public static function instance() 15 | { 16 | static $inst = null; 17 | if ($inst === null) { 18 | $inst = new self(); 19 | } 20 | 21 | return $inst; 22 | } 23 | 24 | public function getHook($key) 25 | { 26 | return $this->hooks[$key]; 27 | } 28 | 29 | public function setHook($in = []) 30 | { 31 | array_push($this->hooks, $in); 32 | } 33 | 34 | public function removeData($in = []) 35 | { 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/flymyshop/Containers/ProductContainer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/Containers/ProductContainer.php -------------------------------------------------------------------------------- /core/flymyshop/Core/EnablePlugins.php: -------------------------------------------------------------------------------- 1 | getEnabledPlugins(); 22 | 23 | foreach ($plugins as $plugin) { 24 | $plugin = (array) $plugin; 25 | $reflector = new \ReflectionClass('Flymyshop\Plugins\\'.$plugin['name'].'\\'.$plugin['name']); 26 | $main = $reflector->getMethod('main'); 27 | $methods = $reflector->getMethods(); 28 | foreach ($methods as $method) { 29 | if ($method->name == 'i_order_hook') { 30 | $hookContainer->setHook(['i_order_hook' => $reflector->getName()]); 31 | } 32 | } 33 | $main->invoke(''); //invoke main() method 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /core/flymyshop/Core/EnableRequestPlugins.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/Core/EnableRequestPlugins.php -------------------------------------------------------------------------------- /core/flymyshop/Core/EnableResponsePlugins.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/Core/EnableResponsePlugins.php -------------------------------------------------------------------------------- /core/flymyshop/Helpers/PluginHelper.php: -------------------------------------------------------------------------------- 1 | select('name')->where('status', '=', 1)->get(); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /core/flymyshop/Helpers/ThemeHelper.php: -------------------------------------------------------------------------------- 1 | hooks; 28 | 29 | foreach ($hooks as $hook) { 30 | if (array_key_exists('i_order_hook', $hook)) { 31 | call_user_func_array( 32 | [$hook['i_order_hook'], 'i_order_hook'], 33 | [$order] 34 | ); 35 | } 36 | } 37 | } 38 | 39 | /** 40 | * Interrupting order hook. 41 | * 42 | * @param \App\Http\Models\Invoice $order 43 | */ 44 | function i_orderHook(\App\Http\Models\Invoice $order) 45 | { 46 | } 47 | 48 | /** 49 | * Hook to modify cart object. 50 | * 51 | * @param \Gloudemans\Shoppingcart\Cart $cart 52 | */ 53 | function cartHook(\Gloudemans\Shoppingcart\Cart $cart) 54 | { 55 | } 56 | 57 | /** 58 | * Interrupting cart hook. 59 | * 60 | * @param \Gloudemans\Shoppingcart\Cart $cart 61 | */ 62 | function i_cartHook(\Gloudemans\Shoppingcart\Cart $cart) 63 | { 64 | } 65 | 66 | /** 67 | * Hook to modify the page object. 68 | * Called in a page view. 69 | * 70 | * @param \App\Http\Models\Page $page 71 | */ 72 | function pageHook(\App\Http\Models\Page $page) 73 | { 74 | } 75 | 76 | /** 77 | * Modify menu object. 78 | */ 79 | function menuHook() 80 | { 81 | } 82 | -------------------------------------------------------------------------------- /core/flymyshop/plugins/sample/Sample.php: -------------------------------------------------------------------------------- 1 | setData([ 21 | 'footer' => 'This line is added using a plugin!', 22 | ] 23 | ); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /core/flymyshop/plugins/test/config.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/plugins/test/config.php -------------------------------------------------------------------------------- /core/flymyshop/plugins/test/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/plugins/test/index.php -------------------------------------------------------------------------------- /core/flymyshop/plugins/test/install.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/plugins/test/install.php -------------------------------------------------------------------------------- /core/flymyshop/plugins/test/plugin.yml: -------------------------------------------------------------------------------- 1 | plugin_name: Test 2 | plugin_version: 0.0.1 3 | plugin_author: acev 4 | plugin_support_email: test@example.com 5 | plugin_description: The test plugin for shop showing content insertion to view -------------------------------------------------------------------------------- /core/flymyshop/stubs/plugin-config.stub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/stubs/plugin-config.stub -------------------------------------------------------------------------------- /core/flymyshop/stubs/plugin-index.stub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/stubs/plugin-index.stub -------------------------------------------------------------------------------- /core/flymyshop/stubs/plugin-install.stub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/flymyshop/stubs/plugin-install.stub -------------------------------------------------------------------------------- /core/flymyshop/stubs/plugin-yml.stub: -------------------------------------------------------------------------------- 1 | plugin_name: 2 | plugin_version: 3 | plugin_author: 4 | plugin_support_email: 5 | plugin_description: -------------------------------------------------------------------------------- /core/flymyshop/stubs/plugin.stub: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests 15 | 16 | 17 | 18 | 19 | ./app 20 | 21 | ./app/Http/routes.php 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin-includes/head.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{config('flymyshop.shopName')}} 6 | {{----}} 7 | 9 | 10 | 11 | 14 | 16 | 17 | 18 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin-layouts/admin.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @include('admin-includes.head') 5 | 6 | 7 |
8 | 9 |
10 | 11 | @include('admin-includes.admin-header') 12 | 13 |
14 | 15 | 16 |
17 | 20 | 21 |
22 | 23 | 24 |
25 |
26 | 27 | 28 | @yield('title') 29 | 30 | 31 |
32 |
33 | 34 |
35 |
36 | 37 | @yield('content') 38 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |
48 | 49 | 52 | 53 |
54 | 55 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin-partials/_category-form.blade.php: -------------------------------------------------------------------------------- 1 |
2 | {{Form::label('title','Category Name')}} 3 | {{Form::text('title',Input::old('title'),array('class' => 'form-control'))}} 4 |
5 | 6 | {{Form::submit($button_name, array('class' => 'btn btn-primary'))}} 7 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin-partials/_form-error.blade.php: -------------------------------------------------------------------------------- 1 |
2 | {{ HTML::ul($errors->all()) }} 3 |
-------------------------------------------------------------------------------- /core/resources/admin_themes/admin-partials/_page-form.blade.php: -------------------------------------------------------------------------------- 1 | 2 | {{Form::label('title','Page Title')}} 3 | {{Form::text('title',old('title'), array('class' => 'form-control'))}} 4 | 5 | 6 | {{Form::label('content','Page Content')}} 7 | {{Form::textarea('content',old('content'), array('class' => 'form-control'))}} 8 | 9 |

10 | 11 | {{Form::submit($buttonName, array('class' => 'btn btn-primary'))}} 12 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin-partials/_pull-from-git.blade.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 |

Add a new {{$type}} to FlyMyShop

5 | 6 |
7 | You can add any {{$type}} provided it has met all the requirements to be a 8 | Flymyshop {{$type}} 9 |
10 | 11 | 12 | @include('admin-partials._form-error') 13 | 14 | {{Form::open(array('action' =>$action))}} 15 | 16 |
17 | {{Form::label('url',"Enter GitHub ".$type." Project URL")}} 18 | {{Form::text('url',old('url'),array('class'=>'form-control', 'placeholder'=>'https://github.com/aasisvinayak/'.$sample))}} 19 |
20 | 21 |
22 | {{Form::submit("Add ".$type, array('class'=>'form-control'))}} 23 |
24 | 25 | 26 | {{Form::close()}} 27 | 28 |
-------------------------------------------------------------------------------- /core/resources/admin_themes/admin/add-category.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Add category 4 | @stop 5 | 6 | @section('content') 7 | 8 | 9 |

Add Category

10 | 11 | @include('admin-partials._form-error') 12 | 13 | {{Form::open( array('action' => "CategoryController@store"))}} 14 | @include('admin-partials._category-form',array("button_name" => "Add")) 15 | {{Form::close()}} 16 | 17 | @stop 18 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/add-page.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Add a new page 4 | @stop 5 | 6 | @section('content') 7 | 8 | 9 | @include('admin-partials._form-error') 10 | 11 |
12 | 13 | 14 | 15 |
16 |
17 | {{Form::open( array('action' => "PageController@store"))}} 18 | @include('admin-partials._page-form',array("buttonName"=>"Add Page")) 19 | {{Form::close()}} 20 | 21 |

22 |
23 |
24 |
25 | 26 | @stop 27 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/add-product.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Add product 4 | @stop 5 | 6 | @section('content') 7 | 8 | @include('admin-partials._form-error') 9 | 10 | 11 |
12 |
13 | 14 | {{Form::open(array('action'=>'ProductController@store', 'files' => true))}} 15 | 16 | @include('admin-partials._product-form',array('productButton'=>'Add Product')) 17 | 18 | {{Form::close()}} 19 | 20 | 21 |
22 |
23 | @stop 24 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/customer.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/resources/admin_themes/admin/customer.blade.php -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/edit-category.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Edit category 4 | @stop 5 | 6 | @section('content') 7 | 8 | @include('admin-partials._form-error') 9 | 10 | {{Form::model($category, array("action" => array("CategoryController@update",$category->id) , "method" => "PATCH"))}} 11 | @include('admin-partials._category-form',array("button_name" => "Update")) 12 | {{Form::close()}} 13 | 14 | @stop -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/edit-page.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Edit page 4 | @stop 5 | 6 | @section('content') 7 | 8 | 9 | @include('admin-partials._form-error') 10 | 11 |
12 | 13 | 14 | 15 |
16 |
17 | {{Form::model($page, array('action' => array("PageController@update",$page->id), "method" => "PUT"))}} 18 | @include('admin-partials._page-form',array("buttonName"=>"Update Page")) 19 | {{Form::close()}} 20 | 21 |

22 |
23 |
24 |
25 | 26 | @stop 27 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/edit-product.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Edit product 4 | @stop 5 | 6 | @section('content') 7 | 8 | 9 | @include('admin-partials._form-error') 10 | 11 | {{Form::model($product,array('action'=> array('ProductController@update', $product->id), 'method'=>"PATCH"))}} 12 | 13 | @include('admin-partials._product-form',array('productButton'=>'Edit Product')) 14 | 15 | {{Form::close()}} 16 | 17 | @stop 18 | -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/marketing.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @extends('admin-layouts.admin') 5 | @section('title') 6 | Reports 7 | @stop 8 | 9 | @section('content') 10 | 11 | 12 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | @stop -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/payment-methods.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/resources/admin_themes/admin/payment-methods.blade.php -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/plugins/add.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Add a plugin 4 | @stop 5 | 6 | @section('content') 7 | 8 | 9 |
10 | 11 | 12 |

Add a new plugin to FlyMyShop

13 | 14 |
15 | You can add any plugin provided it has met all the requirements to be a 16 | Flymyshop plugin 17 |
18 | 19 | 20 | @include('admin-partials._form-error') 21 | 22 | {{Form::open(array('action' =>"PluginController@processAddPlugin"))}} 23 | 24 |
25 | {{Form::label('url',"Enter GitHub Plugin Project URL")}} 26 | {{Form::text('url',old('url'),array('class'=>'form-control', 'placeholder'=>'https://github.com/aasisvinayak/fms_promo_code_plugin'))}} 27 |
28 | 29 |
30 | {{Form::submit("Add Plugin", array('class'=>'form-control'))}} 31 |
32 | 33 | 34 | {{Form::close()}} 35 | 36 |
37 | 38 | @stop -------------------------------------------------------------------------------- /core/resources/admin_themes/admin/themes/add.blade.php: -------------------------------------------------------------------------------- 1 | @extends('admin-layouts.admin') 2 | @section('title') 3 | Add a new theme 4 | @stop 5 | 6 | @section('content') 7 | 8 | @include('admin-partials._pull-from-git', array( 9 | 10 | 'type' => "Theme", 11 | 'action' => "ThemeController@processAddTheme", 12 | 'sample' => "fms_sample_theme", 13 | )) 14 | 15 | @stop -------------------------------------------------------------------------------- /core/resources/assets/js/app.js: -------------------------------------------------------------------------------- 1 | new Vue({ 2 | el: '#plugins', 3 | data: { 4 | names: [ 5 | { fname: "Name 1" }, 6 | { fname: "Name 2" }, 7 | { fname: "Name 3" } 8 | ], 9 | test: 'test101', 10 | plugins: '' 11 | 12 | }, 13 | 14 | ready: function () { 15 | this.getPlugins(); 16 | }, 17 | 18 | methods: { 19 | getPlugins: function () { 20 | that=this; 21 | $.get( "/plugin_list", function( data ) { 22 | that.plugins=data; 23 | }); 24 | } 25 | 26 | }, 27 | 28 | 29 | }); 30 | -------------------------------------------------------------------------------- /core/resources/assets/sass/app.scss: -------------------------------------------------------------------------------- 1 | // @import "node_modules/bootstrap-sass/assets/stylesheets/bootstrap"; 2 | 3 | -------------------------------------------------------------------------------- /core/resources/install_themes/install-includes/head.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{config('flymyshop.shopName')}} 6 | {{----}} 7 | 9 | 10 | 11 | 14 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /core/resources/install_themes/install-includes/header.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | @foreach (['danger', 'warning', 'success', 'info'] as $msg) 5 | @if(Session::has('alert-' . $msg)) 6 |

{{ Session::get('alert-' . $msg) }} ×

7 | @endif 8 | @endforeach 9 |
10 | 33 | -------------------------------------------------------------------------------- /core/resources/install_themes/install-layouts/layout.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @include('install-includes.head') 5 | 6 | 7 |
8 | 9 |
10 | @include('install-includes.header') 11 |
12 | 13 |
14 |
15 | @yield('content') 16 |
17 | 18 |
19 | 20 | 24 | 25 |
26 | 27 | -------------------------------------------------------------------------------- /core/resources/install_themes/install/admin-setup.blade.php: -------------------------------------------------------------------------------- 1 | @extends('install-layouts.layout') 2 | 3 | @section('content') 4 | 5 | 6 |

Welcome to FlyMyShop Installation Wizard

7 | 8 |
9 | 10 |

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 |

26 | {{Form::submit('Save',array('class' => 'btn btn-primary'))}} 27 | 28 |

29 | 30 | {{Form::close()}} 31 | 32 | @stop 33 | -------------------------------------------------------------------------------- /core/resources/install_themes/install/install.blade.php: -------------------------------------------------------------------------------- 1 | @extends('install-layouts.layout') 2 | @section('content') 3 | 4 |

Welcome to FlyMyShop Installation Wizard

5 | 6 |
7 |

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 |

26 | {{Form::submit('Install',array('class' => 'btn btn-primary'))}} 27 | 28 |

29 | 30 | {{Form::close()}} 31 | 32 | @stop 33 | -------------------------------------------------------------------------------- /core/resources/lang/en/account.php: -------------------------------------------------------------------------------- 1 | 'Account Centre', 5 | ]; 6 | -------------------------------------------------------------------------------- /core/resources/lang/en/admin.php: -------------------------------------------------------------------------------- 1 | '', 5 | ]; 6 | -------------------------------------------------------------------------------- /core/resources/lang/en/auth.php: -------------------------------------------------------------------------------- 1 | 'These credentials do not match our records.', 17 | 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /core/resources/lang/en/pagination.php: -------------------------------------------------------------------------------- 1 | '« Previous', 17 | 'next' => 'Next »', 18 | 19 | ]; 20 | -------------------------------------------------------------------------------- /core/resources/lang/en/passwords.php: -------------------------------------------------------------------------------- 1 | 'Passwords must be at least six characters and match the confirmation.', 17 | 'reset' => 'Your password has been reset!', 18 | 'sent' => 'We have e-mailed your password reset link!', 19 | 'token' => 'This password reset token is invalid.', 20 | 'user' => "We can't find a user with that e-mail address.", 21 | 22 | ]; 23 | -------------------------------------------------------------------------------- /core/resources/lang/en/shop.php: -------------------------------------------------------------------------------- 1 | 'Welcome to ', 5 | ]; 6 | -------------------------------------------------------------------------------- /core/server.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | $uri = urldecode( 9 | parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH) 10 | ); 11 | 12 | // This file allows us to emulate Apache's "mod_rewrite" functionality from the 13 | // built-in PHP web server. This provides a convenient way to test a Laravel 14 | // application without having installed a "real" web server software here. 15 | //if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { 16 | // return false; 17 | //} 18 | // 19 | //require_once __DIR__.'/public/index.php'; 20 | 21 | 22 | if ($uri !== '/' && file_exists(__DIR__.'/../public_html'.$uri)) { 23 | return false; 24 | } 25 | require_once __DIR__.'/../public/index.php'; 26 | -------------------------------------------------------------------------------- /core/storage/app/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !public/ 3 | !.gitignore 4 | -------------------------------------------------------------------------------- /core/storage/app/public/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /core/storage/database.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/core/storage/database.sqlite -------------------------------------------------------------------------------- /core/storage/framework/.gitignore: -------------------------------------------------------------------------------- 1 | config.php 2 | routes.php 3 | schedule-* 4 | compiled.php 5 | services.json 6 | events.scanned.php 7 | routes.scanned.php 8 | down 9 | -------------------------------------------------------------------------------- /core/storage/framework/cache/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /core/storage/framework/sessions/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /core/storage/framework/views/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /core/storage/logs/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /core/tests/AdminAccessTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 21 | $this->visit('/admin/users') 22 | ->assertViewHas('users'); 23 | } 24 | 25 | /** 26 | * Check user without admin privileges cannot access admin pages. 27 | * 28 | * @test 29 | * 30 | * @return void 31 | */ 32 | public function testAccessAdminPageForUser() 33 | { 34 | $this->userLogin(); 35 | $this->visit('/admin/users') 36 | ->assertViewMissing('users'); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /core/tests/AdminCategoriesAccessTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 14 | $this->visit('admin/categories') 15 | ->assertViewHas('categories'); 16 | } 17 | 18 | /** 19 | * Test admin can add a new category. 20 | * 21 | * @return void 22 | */ 23 | public function testAdminCanAddCategory() 24 | { 25 | $this->adminLogin(); 26 | $this->visit('admin/categories/create') 27 | ->type('Test category', 'title') 28 | ->press('Add') 29 | ->seePageIs('/admin/categories') 30 | ->see('Category added!'); 31 | } 32 | 33 | /** 34 | * Test that admin can edit can existing category. 35 | * 36 | * @return void 37 | */ 38 | public function testAdminCanEditCategory() 39 | { 40 | $this->adminLogin(); 41 | $this->visit('admin/categories/1/edit') 42 | ->see('Cat 1') 43 | ->type('Test category', 'title') 44 | ->press('Update') 45 | ->seePageIs('/admin/categories') 46 | ->see('Category name has been updated!'); 47 | } 48 | 49 | /** 50 | * Test that admin can delete an existing category. 51 | * 52 | * @return void 53 | */ 54 | public function testAdminCanDeleteCategory() 55 | { 56 | $this->adminLogin(); 57 | $this->visit('admin/categories/') 58 | ->see('Cat 1') 59 | ->press('deleteButton1') 60 | ->seePageIs('/admin/categories') 61 | ->see('Category has been deleted!'); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /core/tests/AdminManagePaymentTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 17 | // $this->visit('/admin/payments') 18 | // ->assertViewHas('charges'); 19 | // } 20 | //} 21 | -------------------------------------------------------------------------------- /core/tests/AdminOrdersAccessTest.php: -------------------------------------------------------------------------------- 1 | randomPurchase(); 17 | $this->adminLogin(); 18 | $this->visit('admin/orders/') 19 | ->seePageIs('admin/orders/') 20 | ->assertViewHas('orders') 21 | ->click('view-order-1') 22 | ->see('Order #'); 23 | } 24 | 25 | /** 26 | * Test admin user can change the status of an order. 27 | * 28 | * @return void 29 | */ 30 | public function testAdminCanUpdateOrderStatus() 31 | { 32 | $this->randomPurchase(); 33 | $this->adminLogin(); 34 | $this->visit('admin/orders/') 35 | ->seePageIs('admin/orders/') 36 | ->assertViewHas('orders') 37 | // ->select('2', 'update-order-status-1') to switch to an option that's not default 38 | ->press('Update') 39 | ->see('Order Status Updated!'); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /core/tests/AdminSalesAccessTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 16 | $this->visit('admin/reports') 17 | ->assertViewHas('stats'); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /core/tests/AdminSettingsTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 13 | $this->visit('/admin/settings') 14 | ->seePageIs('/admin/settings'); 15 | } 16 | 17 | /** 18 | * Test admin user can change settings. 19 | */ 20 | public function testAdminCanChangeSettings() 21 | { 22 | $this->adminLogin(); 23 | $this->visit('/admin/settings') 24 | ->type('DEMO', 'SHOP_NAME') 25 | ->press('Save') 26 | ->seePageIs('/admin/settings') 27 | ->see('DEMO'); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /core/tests/AdminShopPageAccessTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 16 | $this->visit('/admin/pages') 17 | ->assertViewHas('pages'); 18 | } 19 | 20 | /** 21 | * Test admin can add a new shop page. 22 | * 23 | * @return void 24 | */ 25 | public function testAdminCanAddPage() 26 | { 27 | $this->adminLogin(); 28 | $this->visit('/admin/pages/create') 29 | ->type('Test Page', 'title') 30 | ->type('Test Content', 'content') 31 | ->press('Add Page') 32 | ->seePageIs('/admin/pages'); 33 | } 34 | 35 | /** 36 | * Test admin can edit can existing page. 37 | * 38 | * @return void 39 | */ 40 | public function testAdminCanEditPage() 41 | { 42 | $this->testAdminCanAddPage(); 43 | $this->visit('/admin/pages') 44 | ->click('Edit') 45 | ->type('New Content', 'content') 46 | ->press('Update Page') 47 | ->seePageIs('/admin/pages') 48 | ->see('Page has been updated'); 49 | } 50 | 51 | /** 52 | * Test admin delete an existing page. 53 | * 54 | * @return void 55 | */ 56 | public function testAdminCanDeletePage() 57 | { 58 | $this->testAdminCanAddPage(); 59 | $this->visit('/admin/pages') 60 | ->press('Delete') 61 | ->seePageIs('/admin/pages') 62 | ->see('Page has been deleted'); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /core/tests/AdminUsersAccessTest.php: -------------------------------------------------------------------------------- 1 | adminLogin(); 17 | $this->visit('admin/users/') 18 | ->seePageIs('admin/users/') 19 | ->assertViewHas('users'); 20 | } 21 | 22 | /** 23 | * Test admin user cannot disable admin (current user) account. 24 | * 25 | * @return void 26 | */ 27 | public function testAdminCannotDisableAdminAccount() 28 | { 29 | $this->randomPurchase(); 30 | $this->adminLogin(); 31 | $this->visit('admin/users/') 32 | ->seePageIs('admin/users/') 33 | ->assertViewHas('users') 34 | // ->select('2', 'update-status-status-1') to switch to an option that's not default 35 | ->press('update-user-status-btn-1') 36 | ->see('Cannot disable admin (you) account!'); 37 | } 38 | 39 | /** 40 | * Test admin user can disable/enable users. 41 | * 42 | * @return void 43 | */ 44 | public function testAdminCanUpdateUserStatus() 45 | { 46 | $this->randomPurchase(); 47 | $this->adminLogin(); 48 | $this->visit('admin/users/') 49 | ->seePageIs('admin/users/') 50 | ->assertViewHas('users') 51 | // ->select('2', 'update-status-status-1') to switch to an option that's not default 52 | ->press('update-user-status-btn-2') 53 | ->see('User Status Updated!'); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /core/tests/CartTest.php: -------------------------------------------------------------------------------- 1 | visit('/shop/cart') 16 | ->seePageIs('/') 17 | ->see('Empty Cart!'); 18 | } 19 | 20 | /** 21 | * Verify that user can add a product to cart. 22 | * 23 | * @return void 24 | */ 25 | public function testUserCanAddItemToCart() 26 | { 27 | $product = $this->getSampleProduct(); 28 | $this->visit('/shop/product/'.$product['product_id']) 29 | ->press('Buy') 30 | ->seePageIs('/shop/cart') 31 | ->see($product['title']); 32 | } 33 | 34 | /** 35 | * Verify that user can update number of units of a product that is already 36 | * in the cart. 37 | * 38 | * @return void 39 | */ 40 | public function testUserCanUpdateProductQuantityInCart() 41 | { 42 | $this->randomCart(); 43 | $this->visit('/shop/cart') 44 | ->type('2', 'qty') 45 | ->press('Update') 46 | ->seePageIs('/shop/cart') 47 | ->seeInField('qty', 2); 48 | } 49 | 50 | /** 51 | * Verify that user can remove a product from the cart. 52 | * 53 | * @return void 54 | */ 55 | public function testUserCanRemoveProductFromCart() 56 | { 57 | $this->randomCart(); 58 | $this->visit('/shop/cart') 59 | ->press('Remove') 60 | ->see('Empty Cart!'); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /core/tests/CategoryTest.php: -------------------------------------------------------------------------------- 1 | visit('/') 16 | ->see('CAT 1'); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /core/tests/FavouritesTest.php: -------------------------------------------------------------------------------- 1 | visit('/shop/favourites') 16 | ->seePageIs('/') 17 | ->see('You have no saved items!'); 18 | } 19 | 20 | /** 21 | * Test user can add a product to favourite. 22 | * 23 | * @return void 24 | */ 25 | public function testUserCanAddItemToFavourites() 26 | { 27 | $product = $this->getSampleProduct(); 28 | $this->visit('/shop/product/'.$product['product_id']) 29 | ->press('Favourite') 30 | ->seePageIs('/shop/favourites') 31 | ->see($product['title']); 32 | } 33 | 34 | /** 35 | * Test user can delete product from favourite. 36 | * 37 | * @return void 38 | */ 39 | public function testUserCanDeleteProductFromFavourites() 40 | { 41 | $this->randomFavourite(); 42 | $this->visit('/shop/favourites') 43 | ->press('Remove') 44 | ->seePageIs('/') 45 | ->see('You have no saved items!'); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /core/tests/FunctionsTest.php: -------------------------------------------------------------------------------- 1 | assertTrue(function_exists('fmc_footer')); 18 | } 19 | 20 | /** 21 | * Test categories function. 22 | * 23 | * @return void 24 | */ 25 | public function testCategoriesFunction() 26 | { 27 | $categories = categories(); 28 | $this->assertTrue(is_array($categories)); 29 | } 30 | 31 | /** 32 | * Test products function is working. 33 | * 34 | * @return void 35 | */ 36 | public function testProductsFunction() 37 | { 38 | $product = products(0, 0); 39 | $this->assertTrue(is_array($product)); 40 | } 41 | 42 | /** 43 | * Test token function is working. 44 | * 45 | * @return void 46 | */ 47 | public function testTokenFunction() 48 | { 49 | $token = token(); 50 | $this->assertTrue($token == csrf_field()); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /core/tests/InvoiceTest.php: -------------------------------------------------------------------------------- 1 | userLogin(); 17 | $this->randomPurchase(); 18 | $this->visit('/account/order_history') 19 | ->assertViewHas('invoices'); 20 | } 21 | 22 | /** 23 | * Test user can view the invoice details. 24 | * 25 | * @return void 26 | */ 27 | public function testUserCanViewAnInvoice() 28 | { 29 | $this->userLogin(); 30 | $this->randomPurchase(); 31 | $this->visit('/account/order_history') 32 | ->assertViewHas('invoices') 33 | ->click('view-invoice-1') 34 | ->see('Order #'); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /core/tests/LoginTest.php: -------------------------------------------------------------------------------- 1 | visit('/login') 19 | ->see('email') 20 | ->see('password'); 21 | } 22 | 23 | /** 24 | * Test login using a seed data. 25 | * 26 | * @return void 27 | */ 28 | public function testLogin() 29 | { 30 | $this->visit('/login') 31 | ->type('test@example.com', 'email') 32 | ->type('passw0rd', 'password') 33 | ->press('Login') 34 | ->seePageIs('/home') 35 | ->see('Account'); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /core/tests/MenuTest.php: -------------------------------------------------------------------------------- 1 | assertTrue(true); 10 | // } 11 | //} 12 | -------------------------------------------------------------------------------- /core/tests/ProductTest.php: -------------------------------------------------------------------------------- 1 | getSampleProduct(); 16 | $this->visit('shop/product/'.$product->product_id) 17 | ->see($product->title); 18 | } 19 | 20 | /** 21 | * Test that a product can be added to cart. 22 | * TODO: move to cart check. 23 | * 24 | * @return void 25 | */ 26 | public function testProductCanBeAddedToCart() 27 | { 28 | $product = $this->getSampleProduct(); 29 | $this->visit('shop/product/'.$product->product_id) 30 | ->see($product->title) 31 | ->press('Buy') 32 | ->seePageIs('/shop/cart'); 33 | } 34 | 35 | /** 36 | * Verify that product can be added to favourites. 37 | * TODO: move to favourites check. 38 | * 39 | * @return void 40 | */ 41 | public function testProductCanBeAddedToFavourites() 42 | { 43 | $product = $this->getSampleProduct(); 44 | $this->visit('shop/product/'.$product->product_id) 45 | ->see($product->title) 46 | ->press('Favourite') 47 | ->seePageIs('/shop/favourites'); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /core/tests/RegisterTest.php: -------------------------------------------------------------------------------- 1 | visit('/register') 17 | ->type('unitTest@domain.com', 'email') 18 | ->type('password', 'password') 19 | ->type('password', 'password_confirmation') 20 | ->press('Register') 21 | ->seePageIs('/home'); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /core/tests/SearchTest.php: -------------------------------------------------------------------------------- 1 | visit('/') 22 | ->type('98', 'q') 23 | ->press('searchButton') 24 | ->seePageIs('/search') 25 | ->see('98'); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /core/tests/ShopTest.php: -------------------------------------------------------------------------------- 1 | visit('/')->see('Welcome'); 18 | } 19 | 20 | /** 21 | * Test homepage has products listing. 22 | * 23 | * @test 24 | * 25 | * @return void 26 | */ 27 | public function testHomePageListing() 28 | { 29 | $this->visit('/') 30 | ->assertViewHas('products'); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /core/vendor/index.html: -------------------------------------------------------------------------------- 1 | nothing here! -------------------------------------------------------------------------------- /flymyshop_phpcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Additional Coding Standards for Fly My Shop 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | 3 | Options -MultiViews 4 | 5 | 6 | RewriteEngine On 7 | 8 | # Redirect Trailing Slashes If Not A Folder... 9 | RewriteCond %{REQUEST_FILENAME} !-d 10 | RewriteRule ^(.*)/$ /$1 [L,R=301] 11 | 12 | # Handle Front Controller... 13 | RewriteCond %{REQUEST_FILENAME} !-d 14 | RewriteCond %{REQUEST_FILENAME} !-f 15 | RewriteRule ^ index.php [L] 16 | 17 | # Handle Authorization Header 18 | RewriteCond %{HTTP:Authorization} . 19 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 20 | 21 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/favicon.ico -------------------------------------------------------------------------------- /public/js/app.js: -------------------------------------------------------------------------------- 1 | new Vue({ 2 | el: '#plugins', 3 | data: { 4 | names: [ 5 | { fname: "Name 1" }, 6 | { fname: "Name 2" }, 7 | { fname: "Name 3" } 8 | ], 9 | test: 'test101', 10 | plugins: '' 11 | 12 | }, 13 | 14 | ready: function () { 15 | this.getPlugins(); 16 | }, 17 | 18 | methods: { 19 | getPlugins: function () { 20 | that=this; 21 | $.get( "/plugin_list", function( data ) { 22 | that.plugins=data; 23 | }); 24 | } 25 | 26 | }, 27 | 28 | 29 | }); 30 | 31 | //# sourceMappingURL=app.js.map 32 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/themes/default/account/address-add.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.lmain') 2 | @section('content') 3 | 4 | 5 | 6 | Update address 7 | 8 | @stop -------------------------------------------------------------------------------- /public/themes/default/account/address.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.lmain') 2 | @section('content') 3 | Contact Page 4 | @stop -------------------------------------------------------------------------------- /public/themes/default/account/address/create.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.lmain') 2 | @section('content') 3 | 4 | 5 | 6 |

Add Address

7 | 8 | 9 | @include('partials._form-error') 10 | 11 | {{ Form::open(array('action' => 'AddressController@store')) }} 12 | 13 | @if (session('next-page')) 14 | 15 | 16 | 17 | @endif 18 | 19 | 20 | @include('partials._address-form',array("buttonName"=>"Add Address")) 21 | 22 | 23 | {{ Form::close() }} 24 | 25 | 26 |
27 | 28 | 29 | @stop 30 | -------------------------------------------------------------------------------- /public/themes/default/account/address/edit.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.lmain') 2 | @section('content') 3 | 4 |

Edit Address

5 | 6 | @include('partials._form-error') 7 | {{ Form::model($address, array('action' => array('AddressController@update', $address->address_id), 'method' => 'PUT')) }} 8 | 9 | 10 | @include('partials._address-form',array("buttonName"=>"Update Address")) 11 | 12 | 13 | {{ Form::close() }} 14 | 15 |
16 | 17 | 18 | @stop 19 | -------------------------------------------------------------------------------- /public/themes/default/account/order-list.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.lmain') 2 | @section('content') 3 | 4 | 5 | 18 | 19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | @foreach($invoices as $item) 34 | 35 | 36 | 37 | 38 | 39 | 40 | 44 | 45 | 46 | @endforeach 47 | 48 |
Order NumberInvoice DateTotal Action
{{$item->order_no}}{{$item->created_at}}{{$item->sub_total}} 41 | 42 | View 43 |
49 |
50 |
51 | 52 | 53 | {{ $invoices->links() }} 54 | 55 | @stop -------------------------------------------------------------------------------- /public/themes/default/account/payment/edit.blade.php: -------------------------------------------------------------------------------- 1 | {{--@extends('layouts.lmain')--}} 2 | {{--@section('content')--}} 3 | 4 | {{--

Edit Address

--}} 5 | 6 | {{--@include('partials._form-error')--}} 7 | {{--{{ Form::model($address, array('action' => array('AddressController@update', $address->address_id), 'method' => 'PUT')) }}--}} 8 | 9 | 10 | {{--@include('partials._address-form',array("buttonName"=>"Update Address"))--}} 11 | 12 | 13 | {{--{{ Form::close() }}--}} 14 | 15 | {{--
--}} 16 | 17 | 18 | {{--@stop--}} 19 | -------------------------------------------------------------------------------- /public/themes/default/account/profile/profile.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.lmain') 2 | @section('content') 3 | 4 | 5 | 6 | 7 |

Your Profile

8 | 9 |

10 | @if (Session::has('message')) 11 |
{{ Session::get('message') }}
12 | @endif 13 |
14 | 15 |
16 |
17 |
18 |
19 |
20 |

21 | 22 |

{{ $profile[0]->name }}


23 | Phone: {{ $profile[0]->phone }}
24 | Date of Birth: {{ date('F d, Y', strtotime($profile[0]->dob)) }}
25 | Support PIN: {{ $profile[0]->pin }}*
26 | 27 |

*Please provide us with 28 | this PIN number when you contact us on the phone. Thank you!

29 | Edit your profile 30 | 31 | 32 |
33 |
34 | 35 | 36 |
37 |
38 |
39 | 40 | 41 | @stop -------------------------------------------------------------------------------- /public/themes/default/account/settings.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/account/settings.blade.php -------------------------------------------------------------------------------- /public/themes/default/auth/emails/password.blade.php: -------------------------------------------------------------------------------- 1 | Click here to reset your shop password: {{ $link }} 2 | -------------------------------------------------------------------------------- /public/themes/default/emails/contact.php: -------------------------------------------------------------------------------- 1 |

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 | Be right back. 5 | 6 | 7 | 8 | 39 | 40 | 41 |
42 |
43 |
Be right back.
44 |
45 |
46 | 47 | 48 | -------------------------------------------------------------------------------- /public/themes/default/includes/head.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {{config('flymyshop.shopName')}} 6 | {{----}} 7 | 9 | 10 | 11 | 14 | 16 | 17 | 18 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /public/themes/default/layouts/admin.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | @include('includes.head') 5 | 6 | 7 |
8 | 9 |
10 | 11 | @include('includes.admin-header') 12 | 13 |
14 | 15 | 16 |
17 | 20 | 21 |
22 | 23 | 24 |
25 |
26 | 27 | 28 | @yield('title') 29 | 30 | 31 |
32 |
33 | 34 |
35 |
36 | 37 | @yield('content') 38 | 39 | 40 |
41 |
42 |
43 |
44 | 45 |
46 | 47 |
48 | 49 | 52 | 53 |
54 | 55 | -------------------------------------------------------------------------------- /public/themes/default/layouts/lrmain.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/layouts/lrmain.blade.php -------------------------------------------------------------------------------- /public/themes/default/layouts/main.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @include('includes.head') 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 |
14 | 15 | @include('includes.header') 16 | 17 |
18 | 19 |
20 | 21 | @yield('content') 22 | 23 |
24 | 25 | 32 | 33 |
34 | 35 | -------------------------------------------------------------------------------- /public/themes/default/layouts/page.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/layouts/page.blade.php -------------------------------------------------------------------------------- /public/themes/default/layouts/rmain.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/layouts/rmain.blade.php -------------------------------------------------------------------------------- /public/themes/default/pages/about.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/pages/about.blade.php -------------------------------------------------------------------------------- /public/themes/default/pages/contact.blade.php: -------------------------------------------------------------------------------- 1 | 2 | @extends('layouts.main') 3 | @section('content') 4 | 5 | 6 | 7 |

Contact

8 | 9 | 14 | 15 | {{ Form::open(array('url' => 'contact')) }} 16 | 17 |

18 | {{ $errors->first('email') }}
19 | {{ $errors->first('password') }} 20 |

21 | 22 | 23 |
24 | {{ Form::label('name', 'Name') }} 25 | {{ Form::text('name', Input::old('name'), array('class' => 'form-control')) }} 26 |
27 | 28 |
29 | {{ Form::label('email', 'Email') }} 30 | {{ Form::email('email',Input::old('email'),array('placeholder' => 'user@example.com','class' => 'form-control')) }} 31 |
32 | 33 |
34 | {{ Form::label('message', 'Message') }} 35 | {{ Form::textarea('message',Input::old('message'),array('placeholder' => 'Message','class' => 'form-control')) }} 36 |
37 | 38 |

{{ 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 |
11 | 12 |

Welcome to {{config('flymyshop.shopName')}}

13 | 14 | 15 |
16 | 17 |
18 |
19 | 20 | @include('partials._product-list') 21 | 22 |
23 |
24 | 25 | @stop -------------------------------------------------------------------------------- /public/themes/default/pages/login.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.main') 2 | @section('content') 3 | 4 | 5 | 11 |
12 |
13 |
14 |

Please Login, or Register

15 | 16 | 17 | {{ Form::open(array('url' => 'login')) }} 18 |

Login

19 | 20 | 21 |

22 | {{ $errors->first('email') }}
23 | {{ $errors->first('password') }} 24 |

25 | 26 | 27 |
28 | {{ Form::label('email', 'Email Address') }} 29 | {{ Form::text('email', Input::old('email'), array('placeholder' => 'user@example.com','class' => 'form-control')) }} 30 |
31 |
32 | Forgot password? 33 | {{ Form::label('password', 'Password') }} 34 | {{ Form::password('password',array('class' => 'form-control')) }} 35 |
36 |
37 | 40 |
41 | 42 | {!! Recaptcha::render() !!} 43 | 44 |


45 | 46 |

{{ Form::submit('Login',array('class' => 'btn btn btn-primary')) }}

47 | {{ Form::close() }} 48 |
49 |
50 | 51 |
52 | 53 | 54 | @stop -------------------------------------------------------------------------------- /public/themes/default/pages/password.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/pages/password.blade.php -------------------------------------------------------------------------------- /public/themes/default/pages/register.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.main') 2 | @section('content') 3 | 4 | 5 | 11 |
12 |
13 |
14 |

If already registered please login

15 | 16 | 17 | {{ Form::open(array('url' => 'register')) }} 18 |

Register

19 | 20 | 21 |

22 | {{ $errors->first('email') }}
23 | {{ $errors->first('password') }} 24 |

25 | 26 | 27 |
28 | {{ Form::label('email', 'Email Address') }} 29 | {{ Form::text('email', Input::old('email'), array('placeholder' => 'user@example.com','class' => 'form-control')) }} 30 |
31 |
32 | {{ Form::label('password', 'Password') }} 33 | {{ Form::password('password',array('class' => 'form-control')) }} 34 |
35 |
36 | {{ Form::label('password_confirmation', 'Confirm Password') }} 37 | {{ Form::password('password_confirmation',array('class' => 'form-control')) }} 38 |
39 | 40 | 41 |

{{ Form::submit('Register',array('class' => 'btn btn btn-primary')) }}

42 | {{ Form::close() }} 43 |
44 |
45 | 46 |
47 | 48 | 49 | @stop -------------------------------------------------------------------------------- /public/themes/default/partials/_address-form.blade.php: -------------------------------------------------------------------------------- 1 |
2 | {{ Form::label('address_l1', 'Address Line 1') }} 3 | {{ Form::text('address_l1', Input::old('address_l1'), array('class' => 'form-control')) }} 4 |
5 | 6 |
7 | {{ Form::label('address_l2', 'Address Line 2') }} 8 | {{ Form::text('address_l2', Input::old('address_l2'), array('class' => 'form-control')) }} 9 |
10 | 11 |
12 | {{ Form::label('city', 'City') }} 13 | {{ Form::text('city', Input::old('city'), array('class' => 'form-control')) }} 14 |
15 | 16 |
17 | {{ Form::label('state', 'State') }} 18 | {{ Form::text('state', Input::old('state'), array('class' => 'form-control')) }} 19 |
20 | 21 | 22 |
23 | {{ Form::label('postcode', 'Post Code or Zip') }} 24 | {{ Form::text('postcode', Input::old('postcode'), array('class' => 'form-control')) }} 25 |
26 | 27 |
28 | {{ Form::label('country', 'Country') }} 29 | {{ Form::text('country', Input::old('country'), array('class' => 'form-control')) }} 30 |
31 | 32 | {{ Form::submit($buttonName, array('class' => 'btn btn-primary')) }} -------------------------------------------------------------------------------- /public/themes/default/partials/_category-form.blade.php: -------------------------------------------------------------------------------- 1 |
2 | {{Form::label('title','Category Name')}} 3 | {{Form::text('title',Input::old('title'),array('class' => 'form-control'))}} 4 |
5 | 6 | {{Form::submit($button_name, array('class' => 'btn btn-primary'))}} 7 | -------------------------------------------------------------------------------- /public/themes/default/partials/_form-error.blade.php: -------------------------------------------------------------------------------- 1 |
2 | {{ HTML::ul($errors->all()) }} 3 |
-------------------------------------------------------------------------------- /public/themes/default/partials/_page-form.blade.php: -------------------------------------------------------------------------------- 1 | 2 | {{Form::label('title','Page Title')}} 3 | {{Form::text('title',old('title'), array('class' => 'form-control'))}} 4 | 5 | 6 | {{Form::label('content','Page Content')}} 7 | {{Form::textarea('content',old('content'), array('class' => 'form-control'))}} 8 | 9 |

10 | 11 | {{Form::submit($buttonName, array('class' => 'btn btn-primary'))}} 12 | -------------------------------------------------------------------------------- /public/themes/default/partials/_product-form.blade.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 4 | {{Form::label('title','Product Name')}} 5 | 6 | {{Form::text('title',null,array('class'=>'form-controller'))}} 7 | 8 |
9 | 10 | 11 |
12 | 13 | {{Form::label('make',"Manufacturer's Name")}} 14 | {{Form::text('make',null,array('class'=>'form-controller'))}} 15 | 16 |
17 | 18 | 19 | 20 |
21 | 22 | {{Form::label('category_id','Category Name')}} 23 | {{Form::select('category_id',$categories_list,null,array('class'=>'form-controller'))}} 24 | 25 |
26 | 27 | 28 |
29 | {{Form::label('description','Product Description')}} 30 | {{Form::textarea('description',null,array('class'=>'form-controller'))}} 31 | 32 |
33 | 34 | 35 |
36 | {{Form::label('details','Product Details')}} 37 | {{Form::textarea('details',null,array('class'=>'form-controller'))}} 38 | 39 |
40 | 41 |
42 | {{Form::label('image','Upload Product Image')}} 43 | {{ Form::file('image','',array('id'=>'','class'=>'form-controller')) }} 44 |
45 | 46 | 47 |
48 | {{Form::label('price','Price')}} 49 | 51 |
52 | 53 | 54 |
55 | {{Form::label('is_featured','Featured Product?')}} 56 | {{Form::select('is_featured', array('1' => 'Yes', '0' => 'No'),null, array('class'=>'form-controller'))}} 57 |
58 | 59 | 60 | {{Form::submit($productButton, array('class'=>'form-control'))}} -------------------------------------------------------------------------------- /public/themes/default/shop/categories.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/default/shop/categories.blade.php -------------------------------------------------------------------------------- /public/themes/default/shop/page.blade.php: -------------------------------------------------------------------------------- 1 | 2 | @extends('layouts.main') 3 | @section('content') 4 | 5 | 6 | 7 |

{{$page->title}}

8 | 9 | 10 |
11 | {{$page->contact}} 12 |
13 | 14 | 15 | 16 | @stop -------------------------------------------------------------------------------- /public/themes/default/shop/products.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.main') 2 | @section('content') 3 | 4 | 9 | 10 |
11 |

{{$category_name}}

12 |
13 | 14 |
15 |
16 | 17 | @include('partials._product-list') 18 | {{ $products->links() }} 19 | 20 |
21 |
22 | 23 | 24 | @stop -------------------------------------------------------------------------------- /public/themes/default/shop/search.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.main') 2 | @section('content') 3 | 4 | 9 | 10 |
11 |

Search Results

12 |
13 | 14 | 15 |
16 |
17 | 18 | @include('partials._product-list') 19 | 20 | {{--TODO enable pagination--}} 21 | {{-- {{ $products->links() }}--}} 22 | 23 |
24 |
25 | 26 | 27 | @stop -------------------------------------------------------------------------------- /public/themes/default/theme.yaml: -------------------------------------------------------------------------------- 1 | theme_name: default 2 | theme_version: 0.3 3 | theme_description: The default theme for FlyMyShop 4 | theme_author: acev 5 | 6 | -------------------------------------------------------------------------------- /public/themes/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/index.html -------------------------------------------------------------------------------- /public/themes/vue/account/address-add.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/address-add.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/address.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/address.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/address/create.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/address/create.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/address/edit.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/address/edit.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/address/index.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/address/index.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/order-list.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/order-list.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/order.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/order.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/payment/create.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/payment/create.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/payment/edit.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/payment/edit.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/payment/index.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/payment/index.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/profile/edit.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/profile/edit.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/profile/profile.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/profile/profile.blade.php -------------------------------------------------------------------------------- /public/themes/vue/account/settings.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/account/settings.blade.php -------------------------------------------------------------------------------- /public/themes/vue/assets/css/shop.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/assets/css/shop.css -------------------------------------------------------------------------------- /public/themes/vue/assets/js/shop.js: -------------------------------------------------------------------------------- 1 | new Vue({ 2 | el: '#plugins', 3 | data: { 4 | names: [ 5 | { fname: "Name 1" }, 6 | { fname: "Name 2" }, 7 | { fname: "Name 3" } 8 | ], 9 | test: 'test101', 10 | plugins: '' 11 | 12 | }, 13 | 14 | ready: function () { 15 | this.getPlugins(); 16 | }, 17 | 18 | methods: { 19 | getPlugins: function () { 20 | that=this; 21 | $.get( "/plugin_list", function( data ) { 22 | that.plugins=data; 23 | }); 24 | } 25 | }, 26 | }); 27 | -------------------------------------------------------------------------------- /public/themes/vue/auth/emails/password.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/auth/emails/password.blade.php -------------------------------------------------------------------------------- /public/themes/vue/auth/login.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/auth/login.blade.php -------------------------------------------------------------------------------- /public/themes/vue/auth/passwords/email.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/auth/passwords/email.blade.php -------------------------------------------------------------------------------- /public/themes/vue/auth/passwords/reset.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/auth/passwords/reset.blade.php -------------------------------------------------------------------------------- /public/themes/vue/auth/register.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/auth/register.blade.php -------------------------------------------------------------------------------- /public/themes/vue/emails/contact.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/emails/contact.php -------------------------------------------------------------------------------- /public/themes/vue/emails/invoice.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/emails/invoice.php -------------------------------------------------------------------------------- /public/themes/vue/emails/order.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/emails/order.php -------------------------------------------------------------------------------- /public/themes/vue/emails/welcome.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/emails/welcome.php -------------------------------------------------------------------------------- /public/themes/vue/errors/503.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/errors/503.blade.php -------------------------------------------------------------------------------- /public/themes/vue/includes/admin-header.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/includes/admin-header.blade.php -------------------------------------------------------------------------------- /public/themes/vue/includes/admin-sidebar.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/includes/admin-sidebar.blade.php -------------------------------------------------------------------------------- /public/themes/vue/includes/footer.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/includes/footer.blade.php -------------------------------------------------------------------------------- /public/themes/vue/includes/head.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /public/themes/vue/includes/header.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/includes/header.blade.php -------------------------------------------------------------------------------- /public/themes/vue/layouts/admin.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/layouts/admin.blade.php -------------------------------------------------------------------------------- /public/themes/vue/layouts/app.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/layouts/app.blade.php -------------------------------------------------------------------------------- /public/themes/vue/layouts/lmain.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/layouts/lmain.blade.php -------------------------------------------------------------------------------- /public/themes/vue/layouts/lrmain.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/layouts/lrmain.blade.php -------------------------------------------------------------------------------- /public/themes/vue/layouts/main.blade.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | @include('includes.head') 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 |
14 | 15 | @include('includes.header') 16 | 17 |
18 | 19 |
20 | 21 | @yield('content') 22 | 23 |
24 | 25 | 32 | 33 |
34 | 35 | -------------------------------------------------------------------------------- /public/themes/vue/layouts/page.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/layouts/page.blade.php -------------------------------------------------------------------------------- /public/themes/vue/layouts/rmain.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/layouts/rmain.blade.php -------------------------------------------------------------------------------- /public/themes/vue/pages/about.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/pages/about.blade.php -------------------------------------------------------------------------------- /public/themes/vue/pages/contact.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/pages/contact.blade.php -------------------------------------------------------------------------------- /public/themes/vue/pages/home.blade.php: -------------------------------------------------------------------------------- 1 | @extends('layouts.main') 2 | @section('content') 3 | 4 |
5 | 6 | 7 |

Categories List

8 | 9 |
  • 10 | @{{ item.title }} 11 |
  • 12 | 13 | 14 |

    Product List

    15 | 16 | 23 | 24 | 25 | {{token()}} 26 | 27 | 28 |
    29 | 30 | 31 | 49 | 50 | @stop -------------------------------------------------------------------------------- /public/themes/vue/pages/login.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/pages/login.blade.php -------------------------------------------------------------------------------- /public/themes/vue/pages/password.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/pages/password.blade.php -------------------------------------------------------------------------------- /public/themes/vue/pages/register.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/pages/register.blade.php -------------------------------------------------------------------------------- /public/themes/vue/partials/_address-form.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/partials/_address-form.blade.php -------------------------------------------------------------------------------- /public/themes/vue/partials/_category-form.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/partials/_category-form.blade.php -------------------------------------------------------------------------------- /public/themes/vue/partials/_form-error.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/partials/_form-error.blade.php -------------------------------------------------------------------------------- /public/themes/vue/partials/_page-form.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/partials/_page-form.blade.php -------------------------------------------------------------------------------- /public/themes/vue/partials/_product-form.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/partials/_product-form.blade.php -------------------------------------------------------------------------------- /public/themes/vue/partials/_product-list.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/partials/_product-list.blade.php -------------------------------------------------------------------------------- /public/themes/vue/payment/stripe.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/payment/stripe.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/cart.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/cart.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/categories.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/categories.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/favourite.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/favourite.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/page.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/page.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/product.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/product.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/products.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/products.blade.php -------------------------------------------------------------------------------- /public/themes/vue/shop/search.blade.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/themes/vue/shop/search.blade.php -------------------------------------------------------------------------------- /public/themes/vue/theme.yaml: -------------------------------------------------------------------------------- 1 | theme_name: vue 2 | theme_version: 0.1 3 | theme_description: Vue based theme for FlyMyShop 4 | theme_author: acev -------------------------------------------------------------------------------- /public/uploads/favicon-shopping-basket.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/uploads/favicon-shopping-basket.ico -------------------------------------------------------------------------------- /public/uploads/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/uploads/icon.png -------------------------------------------------------------------------------- /public/uploads/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/public/uploads/index.html -------------------------------------------------------------------------------- /public/web.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aasisvinayak/flymyshop/defcabf780ce537f949f08510682deb25703178c/thumbnail.png --------------------------------------------------------------------------------