Compare commits
82 Commits
v5.0-basel
...
ab0d370225
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ab0d370225 | ||
|
|
ee7b52feb2 | ||
|
|
4cb77e9312 | ||
|
|
43e66c7ac4 | ||
|
|
685a49cf57 | ||
|
|
f6617f6d70 | ||
|
|
7c6108e0a7 | ||
|
|
b8aa48a0bb | ||
|
|
8fc0b1076a | ||
|
|
71e1fca6fe | ||
|
|
8dc23e4e67 | ||
|
|
729d0e72e6 | ||
|
|
0b8856d3a0 | ||
|
|
6aa0587a69 | ||
|
|
08c274f5bd | ||
|
|
148df27117 | ||
|
|
e552037e2c | ||
|
|
7011b28542 | ||
|
|
2ac9cb6420 | ||
|
|
9c403b7207 | ||
|
|
11960d6bad | ||
|
|
25f80cb16f | ||
|
|
72773a517a | ||
|
|
d1f5d38480 | ||
|
|
f5f1693f55 | ||
|
|
39165cc7f9 | ||
|
|
20b4e06ee7 | ||
|
|
18e11ac3d0 | ||
|
|
0013b2a025 | ||
|
|
acf9c2e931 | ||
|
|
c144810352 | ||
|
|
b1ed52f7a6 | ||
|
|
70b250a64e | ||
|
|
1eb7e6632f | ||
|
|
98e7652e6b | ||
|
|
852593ecfb | ||
|
|
43de35a66c | ||
|
|
ad57e218af | ||
|
|
d2a20c4831 | ||
|
|
36ad67a37a | ||
|
|
6c55194c9a | ||
|
|
77ee1b9ccc | ||
|
|
6cc68cd56b | ||
|
|
3e328b83a4 | ||
|
|
d82832043c | ||
|
|
da89856e95 | ||
|
|
bf88584dcd | ||
|
|
3eb4078d19 | ||
|
|
5918eded8c | ||
|
|
02361ca64e | ||
|
|
1ca40ce1d7 | ||
|
|
59e52125f7 | ||
|
|
bb139cb0df | ||
|
|
bca94e54cc | ||
|
|
e57209bc64 | ||
|
|
5eeefa5587 | ||
|
|
80094cfdf0 | ||
|
|
587819be9a | ||
|
|
67b52fcc1a | ||
|
|
f7b402fe7a | ||
|
|
8408695473 | ||
|
|
99f89a968b | ||
|
|
3f96f82090 | ||
|
|
942af1f0a8 | ||
|
|
4610fb526b | ||
|
|
c29936f6b9 | ||
|
|
7c12b0e2bf | ||
|
|
a5dab36a14 | ||
|
|
55f135f66c | ||
|
|
6631690f93 | ||
|
|
dd26b1dd4b | ||
|
|
155bc2ce53 | ||
|
|
ef81f0bf25 | ||
|
|
bf078c82bf | ||
|
|
2e29677b90 | ||
|
|
03ea4e84a2 | ||
|
|
3f8c116293 | ||
|
|
9bf1a888a6 | ||
|
|
542f2c64e0 | ||
|
|
1d4c9a5445 | ||
|
|
3698312664 | ||
|
|
a9145ea484 |
@@ -1,6 +0,0 @@
|
||||
# Local Development MinIO Configuration
|
||||
# Copy to .env.local and update with your MinIO credentials
|
||||
|
||||
# MinIO credentials (get from your production server)
|
||||
MINIO_KEY=your_minio_root_user
|
||||
MINIO_SECRET=your_minio_root_password
|
||||
@@ -1,21 +0,0 @@
|
||||
# MinIO S3 Storage Configuration
|
||||
# Add these to your production .env file
|
||||
|
||||
# MinIO Endpoint (internal Docker network)
|
||||
MINIO_ENDPOINT=http://crew-minio-prod:9000
|
||||
|
||||
# MinIO Credentials (get from /var/www/apps/minio-storage/.env)
|
||||
MINIO_KEY=your_minio_root_user
|
||||
MINIO_SECRET=your_minio_root_password
|
||||
|
||||
# Bucket name
|
||||
MINIO_BUCKET=crewsportswear
|
||||
|
||||
# Region (required for S3 compatibility)
|
||||
MINIO_REGION=us-east-1
|
||||
|
||||
# Use path-style endpoint (required for MinIO)
|
||||
MINIO_USE_PATH_STYLE=true
|
||||
|
||||
# Public URL for accessing files (use your actual domain)
|
||||
MINIO_URL=https://minio.crewsportswear.app
|
||||
126
UPGRADE_NOTES.md
126
UPGRADE_NOTES.md
@@ -1,126 +0,0 @@
|
||||
# Laravel 5.0 → 11 Upgrade Progress
|
||||
|
||||
## Current State (Baseline)
|
||||
- **Laravel Version**: 5.0.*
|
||||
- **PHP Version**: 5.6.40 (container), 7.0 (production Dockerfile)
|
||||
- **Database**: MySQL via PDO
|
||||
- **Branch**: feature/laravel-upgrade
|
||||
|
||||
## Dependencies Audit
|
||||
|
||||
### Core Dependencies
|
||||
- ✅ `laravel/framework`: 5.0.* → Need to upgrade incrementally
|
||||
- ✅ `webpatser/laravel-uuid`: ^2.0 → Compatible through Laravel 8
|
||||
- ⚠️ `netshell/paypal`: dev-master → May need replacement (outdated)
|
||||
- ⚠️ `guzzlehttp/guzzle`: ~5.0 → Need to upgrade to ^7.0
|
||||
- ✅ `google/recaptcha`: ~1.1 → Still maintained
|
||||
- ⚠️ `spatie/laravel-analytics`: ^1.4 → Need to upgrade to ^5.0
|
||||
- ✅ `league/flysystem-sftp`: ^1.0 → Upgrade to ^3.0 for Laravel 9+
|
||||
- ✅ `aws/aws-sdk-php`: ~3.0 → Compatible
|
||||
|
||||
### Custom Middleware Found
|
||||
- `CheckTeamStorePassword` - Custom team store authentication
|
||||
- `IsAdmin` - Admin role check
|
||||
- `IsUser` - Normal user role check
|
||||
- `isAuthorized` - Custom authorization
|
||||
- `Cors` - CORS handling
|
||||
|
||||
### Custom Code Patterns Detected
|
||||
- ✅ `app/helpers.php` - Auto-loaded helper functions (minio_url, minio_image_url)
|
||||
- ✅ Routes in `app/Http/routes.php` (Laravel 5.0 pattern)
|
||||
- ⚠️ Controllers echoing HTML directly (needs refactoring)
|
||||
- ⚠️ Boolean stored as strings ("TRUE"/"FALSE" in database)
|
||||
|
||||
## Upgrade Path
|
||||
|
||||
### Phase 1: Laravel 5.0 → 5.1 (Week 1)
|
||||
- [ ] Update composer.json
|
||||
- [ ] Test route compatibility
|
||||
- [ ] Verify middleware still works
|
||||
- [ ] Test authentication flow
|
||||
|
||||
### Phase 2: Laravel 5.1 → 5.5 LTS (Week 2)
|
||||
- [ ] Move routes to `routes/web.php`
|
||||
- [ ] Update exception handler
|
||||
- [ ] Test all database queries
|
||||
- [ ] Update validation rules
|
||||
|
||||
### Phase 3: PHP 7.0 → 7.4 & Laravel 5.5 → 6.x (Week 3)
|
||||
- [ ] Update Dockerfile to PHP 7.4
|
||||
- [ ] Remove mcrypt dependencies (if any encrypted data)
|
||||
- [ ] Add string/array helpers package
|
||||
- [ ] Test file uploads
|
||||
|
||||
### Phase 4: Laravel 6.x → 8.x (Week 4)
|
||||
- [ ] Update factory syntax
|
||||
- [ ] Test rate limiting
|
||||
- [ ] Verify queue jobs
|
||||
|
||||
### Phase 5: PHP 8.0 & Laravel 8.x → 9.x (Week 5)
|
||||
- [ ] Update Dockerfile to PHP 8.0
|
||||
- [ ] Update Flysystem to v3 (affects MinIO config)
|
||||
- [ ] Test query builder changes
|
||||
|
||||
### Phase 6: Laravel 9.x → 10.x (Week 6)
|
||||
- [ ] Update to PHP 8.1
|
||||
- [ ] Add type declarations where needed
|
||||
- [ ] Test invokable validation rules
|
||||
|
||||
### Phase 7: Laravel 10.x → 11.x (Week 7)
|
||||
- [ ] Update to PHP 8.2
|
||||
- [ ] Test new application skeleton
|
||||
- [ ] Verify all functionality
|
||||
|
||||
## Breaking Changes to Watch
|
||||
|
||||
### Database
|
||||
- Boolean fields stored as strings ("TRUE"/"FALSE") - Need migration
|
||||
- Direct DB facade usage throughout codebase
|
||||
|
||||
### Routes
|
||||
- Controller array syntax in routes will be removed
|
||||
- Need to update to standard controller@method or invokable
|
||||
|
||||
### Middleware
|
||||
- Middleware signature changes in later versions
|
||||
- CSRF token handling updates
|
||||
|
||||
### Views
|
||||
- Blade syntax mostly compatible
|
||||
- PHP in controllers (<?php echo) needs refactoring
|
||||
|
||||
### External Services
|
||||
- PayPal integration (netshell/paypal) may need complete rewrite
|
||||
- Google Analytics package needs major upgrade
|
||||
- Screenshot Node.js service should remain compatible
|
||||
|
||||
## Rollback Plan
|
||||
- Keep master branch untouched
|
||||
- Tag current state: `git tag v5.0-baseline`
|
||||
- Can revert entire branch if needed
|
||||
- Parallel testing environment on port 8090
|
||||
|
||||
## Testing Checklist (After Each Upgrade)
|
||||
- [ ] Homepage loads
|
||||
- [ ] User registration/login works
|
||||
- [ ] Sports category pages render
|
||||
- [ ] Designer tool loads
|
||||
- [ ] Pattern/clipart selection works
|
||||
- [ ] Cart functionality
|
||||
- [ ] Team store pages
|
||||
- [ ] PayPal checkout flow
|
||||
- [ ] Admin panel access
|
||||
- [ ] Image serving from MinIO
|
||||
- [ ] Screenshot generation service
|
||||
- [ ] File uploads work
|
||||
|
||||
## Notes
|
||||
- Current Composer version 1.x - may need to use `composer self-update --1` during transition
|
||||
- AWS SDK already at 3.0, compatible with all Laravel versions
|
||||
- Helper functions (minio_url) should remain compatible
|
||||
- Fabric.js designer tool is front-end only, won't be affected
|
||||
|
||||
## Completed Steps
|
||||
1. ✅ Created feature branch
|
||||
2. ✅ Documented current state
|
||||
3. ⏳ Ready to start first upgrade
|
||||
@@ -31,7 +31,7 @@ class MainController extends Controller {
|
||||
foreach ($fetchData as $row) {
|
||||
?>
|
||||
<div class="col-md-3 col-sm-6 col-xs-12 list-sport">
|
||||
<a href="<?php echo url('sports') . "/" . $row->URL; ?>"><img src="<?php echo minio_url('uploads/images/sports-thumbnails/' . $row->Thumbnail); ?>" alt="" class="img img-responsive product-center" /></a>
|
||||
<a href="<?php echo url('sports') . "/" . $row->URL; ?>"><img src="<?php echo config('site_config.uploads') . 'sports-thumbnails/' . $row->Thumbnail; ?>" alt="" class="img img-responsive product-center" /></a>
|
||||
<h3 class="text-center sports-title"><?php echo $row->SportsName ?></h3>
|
||||
</div>
|
||||
<?php
|
||||
|
||||
@@ -367,11 +367,14 @@ class DesignerController extends Controller {
|
||||
?>
|
||||
<div class="form-group col-md-3">
|
||||
<div class="thumbnail clipart-thumnail">
|
||||
<a href="#" class="img-clipart" data-link="<?php echo $row->SVGFilename; ?>"><img src="<?php echo minio_url('uploads/images/cliparts/') . $row->SVGFilename; ?>" width="100%"></a>
|
||||
<a href="#" class="img-clipart" data-link="<?php echo $row->SVGFilename; ?>"><img src="<?php echo config('site_config.uploads') . 'cliparts/'. $row->SVGFilename; ?>" width="100%"></a>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function clipartProperties(Request $request)
|
||||
@@ -826,9 +829,8 @@ class DesignerController extends Controller {
|
||||
}
|
||||
|
||||
$arr = array(
|
||||
|
||||
'small' => minio_url('uploads/images') . $small ,
|
||||
'large' => minio_url('uploads/images') . $large
|
||||
'small' => config('site_config.uploads') . $small ,
|
||||
'large' => config('site_config.uploads') . $large
|
||||
);
|
||||
|
||||
return json_encode($arr);
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
<?php
|
||||
|
||||
if (!function_exists('minio_url')) {
|
||||
/**
|
||||
* Generate MinIO URL for a file
|
||||
*
|
||||
* @param string $path File path relative to bucket
|
||||
* @return string Full MinIO URL
|
||||
*/
|
||||
function minio_url($path)
|
||||
{
|
||||
$bucket = env('MINIO_BUCKET', 'crewsportswear');
|
||||
$baseUrl = env('MINIO_URL', 'https://minio.crewsportswear.app');
|
||||
|
||||
// Remove leading slash if present
|
||||
$path = ltrim($path, '/');
|
||||
|
||||
return $baseUrl . '/' . $bucket . '/' . $path;
|
||||
}
|
||||
}
|
||||
|
||||
if (!function_exists('minio_image_url')) {
|
||||
/**
|
||||
* Generate MinIO URL for an image in uploads/images/
|
||||
*
|
||||
* @param string $filename Image filename
|
||||
* @return string Full MinIO URL
|
||||
*/
|
||||
function minio_image_url($filename)
|
||||
{
|
||||
return minio_url('uploads/images/' . $filename);
|
||||
}
|
||||
}
|
||||
@@ -11,8 +11,7 @@
|
||||
"guzzlehttp/guzzle": "~5.0",
|
||||
"google/recaptcha": "~1.1",
|
||||
"spatie/laravel-analytics": "^1.4",
|
||||
"league/flysystem-sftp": "^1.0",
|
||||
"aws/aws-sdk-php": "~3.0"
|
||||
"league/flysystem-sftp": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0",
|
||||
@@ -25,10 +24,7 @@
|
||||
],
|
||||
"psr-4": {
|
||||
"App\\": "app/"
|
||||
},
|
||||
"files": [
|
||||
"app/helpers.php"
|
||||
]
|
||||
}
|
||||
},
|
||||
"autoload-dev": {
|
||||
"classmap": [
|
||||
|
||||
@@ -86,18 +86,6 @@ return [
|
||||
'driver' => 'local',
|
||||
'root' => '/var/www/html/uploads/images',
|
||||
],
|
||||
|
||||
'minio' => [
|
||||
'driver' => 's3',
|
||||
'key' => env('MINIO_KEY'),
|
||||
'secret' => env('MINIO_SECRET'),
|
||||
'region' => env('MINIO_REGION', 'us-east-1'),
|
||||
'bucket' => env('MINIO_BUCKET', 'crewsportswear'),
|
||||
'endpoint' => env('MINIO_ENDPOINT'),
|
||||
'use_path_style_endpoint' => env('MINIO_USE_PATH_STYLE', true),
|
||||
'url' => env('MINIO_URL', 'https://minio.crewsportswear.app'),
|
||||
],
|
||||
|
||||
],
|
||||
|
||||
];
|
||||
];
|
||||
|
||||
@@ -48,14 +48,6 @@ services:
|
||||
- ANALYTICS_SITE_ID=
|
||||
- ANALYTICS_CLIENT_ID=
|
||||
- ANALYTICS_SERVICE_EMAIL=
|
||||
# MinIO S3 Storage (connect to production MinIO for testing)
|
||||
- MINIO_ENDPOINT=https://minio.crewsportswear.app
|
||||
- MINIO_KEY=${MINIO_KEY:-minioadmin}
|
||||
- MINIO_SECRET=${MINIO_SECRET:-minioadmin}
|
||||
- MINIO_BUCKET=crewsportswear
|
||||
- MINIO_REGION=us-east-1
|
||||
- MINIO_USE_PATH_STYLE=false
|
||||
- MINIO_URL=https://minio.crewsportswear.app
|
||||
volumes:
|
||||
- ./:/var/www/html
|
||||
- ./storage:/var/www/html/storage
|
||||
|
||||
@@ -6,7 +6,7 @@ services:
|
||||
environment:
|
||||
- APP_ENV=${APP_ENV:-production}
|
||||
- APP_DEBUG=${APP_DEBUG:-false}
|
||||
- APP_URL=${APP_URL:-https://crewsportswear.com}
|
||||
- APP_URL=${APP_URL:-https://dev-crew.crewsportswear.app}
|
||||
- DB_CONNECTION=mysql
|
||||
- DB_HOST=${DB_HOST}
|
||||
- DB_PORT=${DB_PORT:-3306}
|
||||
@@ -33,17 +33,17 @@ services:
|
||||
- ./public/uploads:/var/www/html/public/uploads
|
||||
labels:
|
||||
- "traefik.enable=true"
|
||||
# Production environment (crewsportswear.com) - Uses paid SSL certificate
|
||||
- "traefik.http.routers.crewsportswear-prod.rule=Host(`crewsportswear.com`)"
|
||||
# Production environment (dev-crew.crewsportswear.app) - Uses Let's Encrypt
|
||||
- "traefik.http.routers.crewsportswear-prod.rule=Host(`dev-crew.crewsportswear.app`)"
|
||||
- "traefik.http.routers.crewsportswear-prod.entrypoints=websecure"
|
||||
- "traefik.http.routers.crewsportswear-prod.tls=true"
|
||||
- "traefik.http.routers.crewsportswear-prod.tls.certresolver=le"
|
||||
- "traefik.http.services.crewsportswear-prod.loadbalancer.server.port=80"
|
||||
# HTTP to HTTPS redirect
|
||||
- "traefik.http.routers.crewsportswear-prod-http.rule=Host(`crewsportswear.com`)"
|
||||
- "traefik.http.routers.crewsportswear-prod-http.rule=Host(`dev-crew.crewsportswear.app`)"
|
||||
- "traefik.http.routers.crewsportswear-prod-http.entrypoints=web"
|
||||
- "traefik.http.routers.crewsportswear-prod-http.middlewares=https-redirect"
|
||||
- "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https"
|
||||
|
||||
networks:
|
||||
- traefik-public
|
||||
- crew-app-net
|
||||
|
||||
84
readme.md
84
readme.md
@@ -1,79 +1,23 @@
|
||||
# Crew Sportswear
|
||||
## Laravel PHP Framework
|
||||
|
||||
A custom sportswear and apparel e-commerce platform built with Laravel.
|
||||
[](https://travis-ci.org/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
[](https://packagist.org/packages/laravel/framework)
|
||||
|
||||
## Production URL
|
||||
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable, creative experience to be truly fulfilling. Laravel attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, queueing, and caching.
|
||||
|
||||
https://crewsportswear.com
|
||||
Laravel is accessible, yet powerful, providing powerful tools needed for large, robust applications. A superb inversion of control container, expressive migration system, and tightly integrated unit testing support give you the tools you need to build any application with which you are tasked.
|
||||
|
||||
## Requirements
|
||||
## Official Documentation
|
||||
|
||||
- Docker & Docker Compose
|
||||
- PHP 7.4+
|
||||
- MySQL 5.7+
|
||||
- Composer
|
||||
- Node.js & NPM
|
||||
Documentation for the framework can be found on the [Laravel website](http://laravel.com/docs).
|
||||
|
||||
## Installation
|
||||
## Contributing
|
||||
|
||||
1. Clone the repository
|
||||
2. Copy `.env.example` to `.env` and configure your environment variables
|
||||
3. Install PHP dependencies:
|
||||
```bash
|
||||
composer install
|
||||
```
|
||||
4. Install Node dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
5. Generate application key:
|
||||
```bash
|
||||
php artisan key:generate
|
||||
```
|
||||
6. Run migrations:
|
||||
```bash
|
||||
php artisan migrate
|
||||
```
|
||||
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](http://laravel.com/docs/contributions).
|
||||
|
||||
## Docker Deployment
|
||||
### License
|
||||
|
||||
### Local Development
|
||||
```bash
|
||||
docker-compose -f docker-compose.local.yml up -d
|
||||
```
|
||||
|
||||
### Development Environment
|
||||
```bash
|
||||
docker-compose -f docker-compose.dev.yml up -d
|
||||
```
|
||||
|
||||
### Production Environment
|
||||
```bash
|
||||
docker-compose -f docker-compose.prod.yml up -d
|
||||
```
|
||||
|
||||
The production environment uses Traefik as a reverse proxy with paid SSL certificate for crewsportswear.com.
|
||||
|
||||
## Features
|
||||
|
||||
- Custom sportswear design interface
|
||||
- Product catalog and management
|
||||
- Order processing and tracking
|
||||
- User authentication and profiles
|
||||
- Analytics integration
|
||||
- Email notifications
|
||||
- reCAPTCHA integration
|
||||
|
||||
## Environment Variables
|
||||
|
||||
Key environment variables (see `.env.example` for full list):
|
||||
- `APP_ENV` - Application environment (local, development, production)
|
||||
- `APP_URL` - Application URL
|
||||
- `DB_*` - Database configuration
|
||||
- `MAIL_*` - Mail server configuration
|
||||
- `ANALYTICS_*` - Google Analytics configuration
|
||||
- `CAPTCHA_*` - reCAPTCHA keys
|
||||
|
||||
## License
|
||||
|
||||
Proprietary - All rights reserved
|
||||
The Laravel framework is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
|
||||
|
||||
@@ -446,7 +446,7 @@
|
||||
@foreach ($pattern_arrays as $i => $val)
|
||||
<div class="item @if ($i == 0) active @endif">
|
||||
<div class="btn-group patternBox ">
|
||||
<button type="button" data-pattern-path="{{ $val[0]->SVGPath }}" class="patternThumbs btn" data-id="{{ $val[0]->PatternId }}" style="background-image:url('{{ minio_url('uploads/images/' . $val[0]->PatternThumbnail) }}'); background-size:cover; background-repeat: no-repeat;" @if ($i == 0) disabled @endif> @if ($i == 0) <i class="fa fa-2 fa-check" aria-hidden="true"></i> @endif</button>
|
||||
<button type="button" data-pattern-path="{{ $val[0]->SVGPath }}" class="patternThumbs btn" data-id="{{ $val[0]->PatternId }}" style="background-image:url('{{ config('site_config.uploads') }}{{ $val[0]->PatternThumbnail }}'); background-size:cover; background-repeat: no-repeat;" @if ($i == 0) disabled @endif> @if ($i == 0) <i class="fa fa-2 fa-check" aria-hidden="true"></i> @endif</button>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -546,7 +546,7 @@
|
||||
@foreach ($pattern_arrays as $r => $val)
|
||||
<div class="item @if ($r == 0) active @endif">
|
||||
<div class="btn-group patternBox ">
|
||||
<button type="button" data-pattern-path="{{ $val[0]->SVGPath }}" class="patternTrimThumbs patternTrim{{ $i }} btn" data-id="{{ $val[0]->PatternId }}" data-trim="{{ $i }}" style="background-image:url('{{ minio_url('uploads/images/' . $val[0]->PatternThumbnail) }}'); background-size:cover; background-repeat: no-repeat;" @if ($r == 0) disabled @endif> @if ($r == 0) <i class="fa fa-2 fa-check" aria-hidden="true"></i> @endif</button>
|
||||
<button type="button" data-pattern-path="{{ $val[0]->SVGPath }}" class="patternTrimThumbs patternTrim{{ $i }} btn" data-id="{{ $val[0]->PatternId }}" data-trim="{{ $i }}" style="background-image:url('{{ config('site_config.uploads') }}{{ $val[0]->PatternThumbnail }}'); background-size:cover; background-repeat: no-repeat;" @if ($r == 0) disabled @endif> @if ($r == 0) <i class="fa fa-2 fa-check" aria-hidden="true"></i> @endif</button>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
@@ -1306,7 +1306,7 @@
|
||||
|
||||
var patternSVGPath = $(this).attr('data-pattern-path');
|
||||
|
||||
var patternPath = "{{ env('MINIO_URL', 'https://minio.crewsportswear.app') }}/{{ env('MINIO_BUCKET', 'crewsportswear') }}/" + patternSVGPath;
|
||||
var patternPath = "{{ config('site_config.uploads') }}" + patternSVGPath;
|
||||
|
||||
var SideAndPath = {!! json_encode($templatepaths_arrays) !!};
|
||||
|
||||
@@ -1383,7 +1383,7 @@
|
||||
$(document).on('button click', '.patternTrimThumbs', function(){
|
||||
|
||||
var patternSVGPath = $(this).attr('data-pattern-path');
|
||||
var patternPath = "{{ env('MINIO_URL', 'https://minio.crewsportswear.app') }}/{{ env('MINIO_BUCKET', 'crewsportswear') }}/" + patternSVGPath;
|
||||
var patternPath = "{{ config('site_config.uploads') }}" + patternSVGPath;
|
||||
var getTrimId = $(this).attr('data-trim');
|
||||
|
||||
var SideAndPath = {!! json_encode($templatepaths_arrays) !!};
|
||||
@@ -1527,7 +1527,7 @@
|
||||
var gradientIds = sideName+"_"+type+"_Gradients";
|
||||
var gradientPrefix = sideName+"_"+type+"_";
|
||||
|
||||
var tempPath = "{{ env('MINIO_URL', 'https://minio.crewsportswear.app') }}/{{ env('MINIO_BUCKET', 'crewsportswear') }}/" + pathLocation;
|
||||
var tempPath = "{{ config('site_config.uploads') }}" + pathLocation;
|
||||
console.log(tempPath)
|
||||
if(!document.getElementById(objectId))
|
||||
return false;
|
||||
@@ -1711,7 +1711,7 @@
|
||||
var type = SideAndPath[i]['Type'];
|
||||
var pathLocation = SideAndPath[i]['Path'];
|
||||
var canvasName = "canvas_" + type + "_" + sideName;
|
||||
var tempPath = "{{ env('MINIO_URL', 'https://minio.crewsportswear.app') }}/{{ env('MINIO_BUCKET', 'crewsportswear') }}/" + pathLocation;
|
||||
var tempPath = "{{ config('site_config.uploads') }}" + pathLocation;
|
||||
|
||||
window['canvas_' + type + '_' + sideName] = new fabric.Canvas(canvasName);
|
||||
var templateFormat = SideAndPath[i]['TemplateFormat'];
|
||||
@@ -2043,9 +2043,9 @@
|
||||
|
||||
if(objType == "curvedText"){
|
||||
if(obj.effect == "curved"){
|
||||
$('#teamname_text_shape').html('Text Shape: <br><img src="{{ minio_url('uploads/images/text-shapes-logo/curve-logo.png') }}" height="30px">');
|
||||
$('#teamname_text_shape').html('Text Shape: <br><img src="{{ config('site_config.uploads') }}text-shapes-logo/curve-logo.png" height="30px">');
|
||||
}else if(obj.effect == "arc"){
|
||||
$('#teamname_text_shape').html('Text Shape: <br><img src="{{ minio_url('uploads/images/text-shapes-logo/arch-logo.png') }}" height="30px">');
|
||||
$('#teamname_text_shape').html('Text Shape: <br><img src="{{ config('site_config.uploads') }}text-shapes-logo/arch-logo.png" height="30px">');
|
||||
}else{
|
||||
$('#teamname_text_shape').html('Add text Shape');
|
||||
}
|
||||
@@ -3345,7 +3345,7 @@
|
||||
function loadSVGClipart(dataUrl){
|
||||
var k = 0;
|
||||
var arrayPathId = [];
|
||||
var svgUrl = "{{ env('MINIO_URL', 'https://minio.crewsportswear.app') }}/{{ env('MINIO_BUCKET', 'crewsportswear') }}/uploads/images/cliparts/" + dataUrl;
|
||||
var svgUrl = "{{ config('site_config.uploads') }}cliparts/" + dataUrl;
|
||||
fabric.loadSVGFromURL(svgUrl, function(objects, options) {
|
||||
var clipart = fabric.util.groupSVGElements(objects, options );
|
||||
clipart.set({
|
||||
|
||||
@@ -122,13 +122,13 @@
|
||||
</div>
|
||||
|
||||
<div style="border: 1px solid #e2e2e2; padding: 10px;">
|
||||
<a @if($getSubtotal <= 0 ) disabled @endif href="{{ url('getCheckout') }}" class="btn btn-primary btn-block" style="background-color: #ffc300; border-color: #e2ad00; text-align: -webkit-center;" ><img src="{{asset('/images/paypal1.png')}}" class="img img-responsive" style="height:30px;"></a><br>
|
||||
<a @if($getSubtotal <= 0 ) disabled @endif href="{{ url('getCheckout') }}" class="btn btn-primary btn-block" style="background-color: #ffc300; border-color: #e2ad00; text-align: -webkit-center;" ><img src="{{asset('/public/images/paypal1.png')}}" class="img img-responsive" style="height:30px;"></a><br>
|
||||
<a href="{{ url('teamstore') . '/' . $store_array[0]->StoreUrl }}" class="btn btn-default btn-block" type="submit">Continue Shopping</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8 col-md-pull-4">
|
||||
<div style="border: 1px solid #e2e2e2; padding: 10px;">
|
||||
<h4><img height="30px" class="store-logo" src="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo) }}"> {{ $store_array[0]->StoreName }}</h4>
|
||||
<h4><img height="30px" class="store-logo" src="{{ config('site_config.uploads') . 'teamstore/'. $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo }}"> {{ $store_array[0]->StoreName }}</h4>
|
||||
</div>
|
||||
@foreach($item_group as $item)
|
||||
@if($item->VoucherId == null)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<div class="col-md-3 col-sm-6 col-xs-12 list-sport">
|
||||
<div class="thumb-border">
|
||||
<a href="{{ url() }}/{{ Request::path() }}/{{ $r->Id }}">
|
||||
<img src="{{ minio_url('uploads/images/sports-category/' . $r->Thumbnail) }}" alt="{{ $r->Category }}" class="image" />
|
||||
<img src="{{ config('site_config.uploads') . 'sports-category/' . $r->Thumbnail }}" alt="{{ $r->Category }}" class="image" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
<div class="thumb-border" style="border:1px solid #e2e2e2; padding: 5px;">
|
||||
<a href="{{ url('/designer') }}/{{ md5($r->TemplateCode) }}">
|
||||
<img src="{{ minio_url('uploads/images/' . $r->Thumbnail) }}" alt="" class="image" />
|
||||
<img src="{{ config('site_config.uploads') . $r->Thumbnail}}" alt="" class="image" />
|
||||
</a>
|
||||
<!-- <div class="overlay">
|
||||
<div class="text" style="font-family:Academic M54;"><a href="">{{$r->TemplateName}}</a></div>
|
||||
|
||||
@@ -86,9 +86,9 @@
|
||||
padding-top: 20px;
|
||||
padding-bottom: 20px;
|
||||
@if($store_array[0]->StoreBanner == null)
|
||||
background-image: url("{{ minio_url('uploads/images/teamstore/store-banner-dark.png') }}");
|
||||
background-image: url("{{ config('site_config.uploads') . 'teamstore/store-banner-dark.png' }}");
|
||||
@else
|
||||
background-image: url("{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner) }}");
|
||||
background-image: url("{{ config('site_config.uploads') . 'teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner }}");
|
||||
@endif
|
||||
background-color: #f3f3f3;
|
||||
background-position: center;
|
||||
|
||||
@@ -82,12 +82,12 @@
|
||||
<div style="border: 1px solid #dddddd; padding: 5px;">
|
||||
@if($store->Password != null )
|
||||
<a class="thumbnail password-protected" href="#" data-store-id="{{ $store->Id }}" data-store-url="{{ $store->StoreUrl }}">
|
||||
<img class="store-logo" src="{{ minio_url('uploads/images/teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo) }}">
|
||||
<img class="store-logo" src="{{ config('site_config.uploads') . 'teamstore/'. $store->ImageFolder . '/' . $store->StoreLogo }}">
|
||||
</a>
|
||||
<h4 style="border-top: 1px solid #dddddd; padding: 10px; font-size: 16px; font-weight: bold; text-transform: uppercase;" class="text-center">{{ $store->StoreName }} <i class="fa fa-lock" title="This store is password protected."></i></h4>
|
||||
@else
|
||||
<a class="thumbnail" href="{{ url('teamstore') . '/' . $store->StoreUrl }}">
|
||||
<img class="store-logo" src="{{ minio_url('uploads/images/teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo) }}">
|
||||
<img class="store-logo" src="{{ config('site_config.uploads') . 'teamstore/' . $store->ImageFolder . '/' . $store->StoreLogo }}">
|
||||
</a>
|
||||
<h4 style="border-top: 1px solid #dddddd; padding: 10px; font-size: 16px; font-weight: bold; text-transform: uppercase;" class="text-center">{{ $store->StoreName }}</h4>
|
||||
@endif
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<!-- Control Sidebar Toggle Button -->
|
||||
<li class="user user-menu">
|
||||
<a href="#">
|
||||
<img src="{{ minio_url('uploads/images/user/default-user.png') }}" class="user-image" alt="User Image">
|
||||
<img src="{{ config('site_config.uploads') . 'user/default-user.png' }}" class="user-image" alt="User Image">
|
||||
<span class="hidden-xs">{{ Auth::user()->username }}</span>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<!-- Sidebar user panel -->
|
||||
<div class="user-panel">
|
||||
<div class="pull-left image">
|
||||
<img src="{{ minio_url('uploads/images/user/default-user.png') }}" class="img-circle" alt="User Image">
|
||||
<img src="{{ config('site_config.uploads') . 'user/default-user.png' }}" class="img-circle" alt="User Image">
|
||||
</div>
|
||||
<div class="pull-left info">
|
||||
<p>{{ Auth::user()->name }}</p>
|
||||
|
||||
@@ -63,8 +63,8 @@
|
||||
<div class="col-sm-8">
|
||||
<p>Store Logo Preview:</p>
|
||||
<div class="store-logo-holder">
|
||||
<a href="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo) }}?v={{ time() }}" class="img_store_logo_href" data-toggle="lightbox">
|
||||
<img class="img_store_logo_img" id="img_store_logo" src="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo) }}?v={{ time() }}" style="max-width: 100%; max-height: 100%; ">
|
||||
<a href="{{ config('site_config.uploads') . 'teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo }}?v={{ time() }}" class="img_store_logo_href" data-toggle="lightbox">
|
||||
<img class="img_store_logo_img" id="img_store_logo" src="{{ config('site_config.uploads') . 'teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreLogo }}?v={{ time() }}" style="max-width: 100%; max-height: 100%; ">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -82,8 +82,8 @@
|
||||
<div class="col-sm-8">
|
||||
<p>Store Banner Preview:</p>
|
||||
<div class="store-banner-holder">
|
||||
<a href="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner) }}?v={{ time() }}" class="img_store_banner_href" data-toggle="lightbox">
|
||||
<img class="img_store_banner_img" id="img_store_banner" src="{{ minio_url('uploads/images/teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner) }}?v={{ time() }}" style="max-width: 100%; max-height: 100%;">
|
||||
<a href="{{ config('site_config.uploads') . 'teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner }}?v={{ time() }}" class="img_store_banner_href" data-toggle="lightbox">
|
||||
<img class="img_store_banner_img" id="img_store_banner" src="{{ config('site_config.uploads') . 'teamstore/' . $store_array[0]->ImageFolder . '/' . $store_array[0]->StoreBanner }}?v={{ time() }}" style="max-width: 100%; max-height: 100%;">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user