first commit

This commit is contained in:
franknstayn
2021-07-03 18:39:08 +08:00
commit 5483c9517d
1555 changed files with 417773 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\ApiModel;
use ArrayObject;
use Carbon\Carbon;
use Illuminate\Support\Facades\Input;
class ApiController extends Controller
{
public function login(Request $request)
{
$ApiModel = new ApiModel;
$post = $request->all();
$response = $ApiModel->loginProductionUser($post['username'], $post['password']);
if (!$response) {
return response()->json(['status' => false, 'message' => "Invalid user"], 401);
}
$selectTrackingStepLabel = $ApiModel->selectTrackingStepLabel($response[0]->StepId);
$response[0]->AssignedStep = $selectTrackingStepLabel[0]->StepLabel;
return response()->json(['status' => true, 'data' => $response[0]], 200);
}
public function insert(Request $request)
{
$ApiModel = new ApiModel;
$post = $request->json()->all();
$data = array(
"StepId" => $post['StepId'],
"ScannedBy" => $post['ScannedBy'],
"InvoiceNumber" => $post['invoice'],
"OrdersId" => $post['ordersId'],
"ProductId" => $post['productId'],
"QuantityCounter" => $post['quantityCounter'],
"Timezone" => $post['timezone'],
"TimezoneOffset" => date('H:i:s', strtotime($post['timezoneOffset'])),
"DeviceId" => $post['deviceId'],
"created_at" => date('Y-m-d H:i:s', strtotime($post['datetime']))
);
$checkIfTrackExist = $ApiModel->checkIfTrackExist($post['StepId'], $post['productId'], $post['ordersId'], $post['invoice'], $post['quantityCounter']);
if ($checkIfTrackExist) {
return response()->json(['status' => false, 'message' => "Already scanned."], 500);
}
// $selectNextStep = $ApiModel->selectNextStep($post['invoice']);
// if(($selectNextStep->StepId + 1) != $post['StepId']){
// return response()->json(['status' => false, 'message' => "Your account is not allowed to update this item."], 401);
// }
$response = $ApiModel->insertTracking($data);
if (!$response) {
return response()->json(['status' => false, 'message' => "Something went wrong."], 500);
}
return response()->json(['status' => true, 'message' => 'Successfully updated.'], 201);
}
// public function getTrackingStatus()
// {
// $ApiModel = new ApiModel;
// $invoice = Input::get('invoice');
// $response = $ApiModel->getTrackingStatus($invoice);
// return response()->json(['status' => true, 'data' => $response], 200);
// }
public function getTrackingStatus()
{
$ApiModel = new ApiModel;
$invoice = Input::get('invoice');
$getStep = Input::get('step');
// $response = $ApiModel->getTrackingStatus($invoice);
$selectPaymentDetails = $ApiModel->selectPaymentDetails($invoice);
if (!$selectPaymentDetails) {
return response()->json(['status' => false, 'message' => "Not found."], 404);
}
$selectOrderList = $ApiModel->selectOrderList($selectPaymentDetails[0]->CartKey);
$getCurrentTrackingSteps = $ApiModel->getCurrentTrackingSteps($invoice);
$selectPaymentDetails[0]->tracking_steps = $getCurrentTrackingSteps;
$currentStep = $ApiModel->selectCurrentStep($invoice);
$selectPaymentDetails[0]->current_step = $currentStep;
$stp = ($getStep != "") ? $getStep : $currentStep->Order; // check if step
foreach ($selectOrderList as $k => $order) {
$table_fields[] = $ApiModel->selectOrderListTableFields($order->CartKey, $order->ProductId, $stp);
$product_images[] = $ApiModel->selectProductImages($order->ProductId);
$selectOrderList[$k]->table_fields = $table_fields[$k];
$selectOrderList[$k]->product_images = $product_images[$k];
}
return response()->json([
'status' => true,
'payment_details' => $selectPaymentDetails[0],
'order_list' => $selectOrderList
], 200);
}
public function getOrderStatus()
{
$ApiModel = new ApiModel;
$invoice = Input::get('invoice');
$productid = Input::get('productid');
$orderid = Input::get('orderid');
$qcounter = Input::get('qcounter');
$getStatus = $ApiModel->getStatus($invoice, $productid, $orderid, $qcounter);
if (!$getStatus) {
return response()->json(['status' => false, 'data' => ""], 404);
}
return response()->json([
'status' => true,
'data' => $getStatus[0]
], 200);
}
public function getSteps(){
$ApiModel = new ApiModel;
$selectSteps = $ApiModel->selectSteps();
if (!$selectSteps) {
return response()->json(['status' => false, 'data' => ""], 404);
}
return response()->json([
'status' => true,
'data' => $selectSteps
], 200);
}
}

View File

@@ -0,0 +1,40 @@
<?php namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\Registrar;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;
class AuthController extends Controller {
/*
|--------------------------------------------------------------------------
| Registration & Login Controller
|--------------------------------------------------------------------------
|
| This controller handles the registration of new users, as well as the
| authentication of existing users. By default, this controller uses
| a simple trait to add these behaviors. Why don't you explore it?
|
*/
use AuthenticatesAndRegistersUsers;
protected $redirectTo = '/';
/**
* Create a new authentication controller instance.
*
* @param \Illuminate\Contracts\Auth\Guard $auth
* @param \Illuminate\Contracts\Auth\Registrar $registrar
* @return void
*/
public function __construct(Guard $auth, Registrar $registrar)
{
$this->auth = $auth;
$this->registrar = $registrar;
$this->middleware('guest', ['except' => 'getLogout']);
}
}

View File

@@ -0,0 +1,39 @@
<?php namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Contracts\Auth\Guard;
use Illuminate\Contracts\Auth\PasswordBroker;
use Illuminate\Foundation\Auth\ResetsPasswords;
class PasswordController extends Controller {
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
protected $redirectPath = '/user';
/**
* Create a new password controller instance.
*
* @param \Illuminate\Contracts\Auth\Guard $auth
* @param \Illuminate\Contracts\Auth\PasswordBroker $passwords
* @return void
*/
public function __construct(Guard $auth, PasswordBroker $passwords)
{
$this->auth = $auth;
$this->passwords = $passwords;
$this->middleware('guest');
}
}

View File

@@ -0,0 +1,11 @@
<?php namespace App\Http\Controllers;
use Illuminate\Foundation\Bus\DispatchesCommands;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Foundation\Validation\ValidatesRequests;
abstract class Controller extends BaseController {
use DispatchesCommands, ValidatesRequests;
}

View File

@@ -0,0 +1,109 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Auth;
use App\Traits\CaptchaTrait;
use App\User;
use Validator;
use Illuminate\Http\Request;
class CustomAuthController extends Controller {
use CaptchaTrait;
public function authenticate(Request $request){
$post = $request->all();
$email = $post['email'];
$password = $post['password'];
if (Auth::attempt(['email' => $email, 'password' => $password])){
if (Auth::user()->role == 'admin') {
$message = '
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> ERROR:</h4>
You are not allowed to enter to this site.
</div>';
return response()->json(array('success' => false, 'message'=>$message));
}
$message = "success";
$navbar = view('layout.navbar', compact('view'))->render();
$save_design_button = ' <button type="button" class="btn btn-lg btn-primary pull-right" data-toggle="modal" data-target="#modalDesignName"><i class="fa fa-floppy-o" aria-hidden="true"></i> Save Design</button>';
return response()->json(array(
'success' => true,
'message'=>$message,
'navbar'=>$navbar,
'save_design_button' => $save_design_button
));
}else{
$message = '
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> ERROR:</h4>
Username or Password is incorrect.
</div>';
return response()->json(array('success' => false, 'message'=>$message));
}
}
public function postRegister(Request $request){
$post = $request->all();
$post['captcha'] = $this->captchaCheck();
$validator = Validator::make($post, [
'username' => 'unique:user_logins',
'email' => 'unique:user_logins',
'g-recaptcha-response' => 'required',
'captcha' => 'required|min:1'
],
[
'g-recaptcha-response.required' => 'Captcha is required',
'captcha.min' => 'Wrong captcha, please try again.'
]);
if ($validator->fails())
{
$errors = "";
foreach($validator->errors()->all() as $error){
$errors .= "<li>".$error."</li>";
}
$message = '
<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-ban"></i> ERROR:</h4>
'.$errors.
'</div>';
return response()->json(array(
'success' => false,
'message' => $message
));
}
User::create([
'name' => $post['name'],
'username' => $post['username'],
'email' => $post['email'],
'password' => bcrypt($post['password']),
'role' => 'user'
]);
Auth::attempt(['email' => $post['email'], 'password' => $post['password']]);
return response()->json(array(
'success' => true
));
}
}

View File

@@ -0,0 +1,36 @@
<?php namespace App\Http\Controllers;
class HomeController extends Controller {
/*
|--------------------------------------------------------------------------
| Home Controller
|--------------------------------------------------------------------------
|
| This controller renders your application's "dashboard" for users that
| are authenticated. Of course, you are free to change or remove the
| controller as you wish. It is just here to get your app started!
|
*/
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard to the user.
*
* @return Response
*/
public function index()
{
return view('home');
}
}

View File

@@ -0,0 +1,159 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\MainModel;
// use Illuminate\Support\Facades\Request;
use Analytics;
use Illuminate\Support\Facades\Session;
class MainController extends Controller {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
return view('sublayouts.index');
}
public function sports()
{
// if(Request::ajax()){
$m = new MainModel;
$fetchData = $m->selectAllSports();
//var_dump($fetchData);
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 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
}
// }else{
// return response()->view('errors/403');
// }
}
public function templatesCat($url)
{
$m = new MainModel;
$data = $m->selectSportsId($url);
$categoryids = array();
foreach($data as $row){
$categoryids[] = $row->Category;
}
$array_sports = $m->selectSportsByURL($url);
$array_category = $m->selectCategory($categoryids);
// $array_templateby_category = $m->selectTemplatesByCategory($url, $id);
// var_dump($array_category);
return view('sublayouts.sports-category')
->with('array_sports', $array_sports)
->with('row', $array_category);
}
public function templatesByCategory($url, $id)
{
$m = new MainModel;
$data = $m->selectTemplatesByCategory($url, $id);
$categoryids = array();
$categoryids[] = $id;
$array_category = $m->selectCategory($categoryids);
// var_dump($array_category);
return view('sublayouts.sports-styles')
->with('cat', $url)
->with('row', $data)
->with('array_category', $array_category);
// if(count($data) > 1){
// return view('sublayouts.sports-styles')
// ->with('cat', $url)
// ->with('row', $data);
// }else{
// $url = url('/designer'). '/'.$data[0]->HashTemplateCode; // desinger url
// return redirect()->to($url);
// }
}
public function fetchTemplates()
{
// if(Request::ajax()){
// $m = new MainModel;
//
// $data = $m->selectSportsId($url);
// echo $data[0]->id;
//$fetchData = $m->selectSportsTemplates();
//var_dump($fetchData);
// }else{
// return response()->view('errors/403');
// }
}
//call this from blade view
public static function getCountCart(){
$m = new MainModel;
if(Session::get('cartkey')){
$cartKey = Session::get('cartkey');
echo $i = $m->cartCount($cartKey);
}else{
echo 0;
}
}
public function countCart(Request $request){
$m = new MainModel;
if($request->session()->has('cartkey')){
$cartKey = $request->session()->get('cartkey');
echo $i = $m->cartCount($cartKey);
}else{
echo 0;
}
}
public function removeCartItem($id){
$m = new MainModel;
$row = $m->removeItem($id);
if($row > 0)
{
// \Session::flash('message', 'Record successfully deleted.');
echo '<script>
alert("Item removed");
</script>';
return redirect('cart');
}
}
}

View File

@@ -0,0 +1,53 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Request1;
use Illuminate\Http\Request;
use App\Models\PatternsModel;
class PatternsController extends Controller {
public function getPatterns()
{
//if(Request::ajax()){
$m = new PatternsModel;
$data = $m->selectAllPattern();
foreach ($data as $row) {
if($row->PatternName == "None"){
echo '<option value="'.$row->PatternId.'" data-img="'.url("/public/images"). "/" .$row->PatternThumbnail.'" selected="selected" aria-disabled="true" disabled>'.$row->PatternName.'</option>';
}else{
echo '<option value="'.$row->PatternId.'" data-img="'.url("/public/images"). "/" .$row->PatternThumbnail.'">'.$row->PatternName.'</option>';
}
}
//}
}
public function getPatternsWithPostValue(Request $request)
{
$m = new PatternsModel;
$data = $m->selectAllPattern();
$post = $request->all();
$pattern_list = array();
foreach($post['patterns'] as $pt) {
$pattern_list[] = $pt;
//echo $pt;
}
foreach ($data as $row) {
if(in_array($row->PatternId, $pattern_list)) {
echo '<option value="'.$row->PatternId.'" data-img="'.url("/public/images"). "/" . $row->PatternThumbnail.'" selected="selected">'.$row->PatternName.'</option>';
}else{
echo '<option value="'.$row->PatternId.'" data-img="'.url("/public/images"). "/" . $row->PatternThumbnail.'" >'.$row->PatternName.'</option>';
}
}
}
}

View File

@@ -0,0 +1,79 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Request1;
use Illuminate\Http\Request;
use App\Models\PrintPatternModel;
use App\Models\SizesModel;
class PrintPatternController extends Controller {
public function showPrintTemplate()
{
$m = new PrintPatternModel;
$data = $m->selectAllPrintTemplate();
return view('sub_pages.sports_details')->with('data', $data);
}
public function displayAddPrintTemplatePage($tempcode)
{
$m = new SizesModel;
$data = $m->selectAllSizes();
//var_dump($tempcode);
return view('sub_pages.add_print_template')->with('sizeslist', $data)->with('templatecode', $tempcode);
}
public function savePrintPattern (Request $request)
{
$m = new PrintPatternModel;
$post = $request->all();
$templatecode = $post['templatecode'];
$templateType = $post['templateType'];
$templateSize = $post['templateSize'];
$rawName = $request->file('preview_print_template')->getClientOriginalName();
$imageExt = $request->file('preview_print_template')->getClientOriginalExtension();
$custom_file_name = str_replace(' ','-',strtolower($rawName));
$custom_file_name = preg_replace("/\.[^.\s]{3,4}$/", "", $custom_file_name);
$NewImageName = $templateSize.'.'.$imageExt;
$thumbnail = "uniform-templates/".$templatecode."/".$templateType."/SIZES/" . $NewImageName;
$data = array(
'TemplateCode' => $templatecode,
'Path' => $thumbnail,
'Type' => $templateType,
'Size' => $templateSize
);
$i = $m->insertPrintPattern($data);
//var_dump($data);
if($i){
$r = $request->file('preview_print_template')->move(
base_path() . "/public/images/uniform-templates/".$templatecode."/".$templateType."/SIZES/", $NewImageName
);
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Success!</h4>
Print Pattern is successfully uploaded.
</div>';
}else{
echo '<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Error!</h4>
Failed to upload.
</div>';
}
}
}

View File

@@ -0,0 +1,10 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class SizesController extends Controller {
}

View File

@@ -0,0 +1,135 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Request1;
use Illuminate\Http\Request;
use App\Models\SportsModel;
class SportsController extends Controller {
public function displayAllSports()
{
$m = new SportsModel;
$data = $m->selectAllSports();
return view('sub_pages.sports')->with('row', $data);
}
public function displayAddSportPage()
{
return view('sub_pages.add_sports');
}
public function saveNewSports(Request $request)
{
$m = new SportsModel;
$post = $request->all();
$rawName = date('Ymd') . "-" . time().'-'.$request->file('previewImg')->getClientOriginalName();
$imageExt = $request->file('previewImg')->getClientOriginalExtension();
$custom_file_name = str_replace(' ','-',strtolower($rawName));
$custom_file_name = preg_replace("/\.[^.\s]{3,4}$/", "", $custom_file_name);
$NewImageName = $custom_file_name.'.'.$imageExt;
$thumbnail = "images/sports-thumbnails/" . $NewImageName;
$data = array(
'SportsName' => $post['sportsName'],
'URL' => $post['generatedUrl'],
'Thumbnail' => $thumbnail,
'IsActive' => 'FALSE',
);
$i = $m->insertToSports($data);
if($i){
$request->file('previewImg')->move(
base_path() . '/public/images/sports-thumbnails', $NewImageName
);
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Success!</h4>
Sports is successfully added.
</div>';
}else{
echo '<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Error!</h4>
Failed to saved new sports.
</div>';
}
}
public function sportsDetails($q)
{
$m = new SportsModel;
$data = $m->selectSports($q);
return view('sub_pages.sports_details')->with('data', $data);
}
public function updateSports(Request $request)
{
$m = new SportsModel;
$post = $request->all();
if(count($post) > 3){
$rawName = date('Ymd') . "-" . time().'-'.$request->file('previewImg')->getClientOriginalName();
$imageExt = $request->file('previewImg')->getClientOriginalExtension();
$custom_file_name = str_replace(' ','-',strtolower($rawName));
$custom_file_name = preg_replace("/\.[^.\s]{3,4}$/", "", $custom_file_name);
$NewImageName = $custom_file_name.'.'.$imageExt;
$thumbnail = "images/sports-thumbnails/" . $NewImageName;
$data = array(
'SportsName' => $post['sportsName'],
'URL' => $post['generatedUrl'],
'Thumbnail' => $thumbnail
);
$request->file('previewImg')->move(
base_path() . '/public/images/sports-thumbnails', $NewImageName
);
}else{
$data = array(
'SportsName' => $post['sportsName'],
'URL' => $post['generatedUrl']
);
}
$i = $m->upateSportsDetails($data, $post['_id']);
if($i){
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Success!</h4>
Sports details is successfully updated.
</div>';
}else{
echo '<div class="alert alert-warning alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Warning!</h4>
No changes made.
</div>';
}
}
public function selectSportsName()
{
//if(Request1::ajax()){
$m = new SportsModel;
$data = $m->getSportsName();
?>
<option value="">--Select Sports--</option>
<?php
foreach ($data as $row) {
echo '<option value="'.$row->Id.'">'.$row->SportsName.'</option>';
}
?>
<?php
//}
}
}

View File

@@ -0,0 +1,380 @@
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\TemplatesModel;
use App\Models\SportsModel;
use App\Models\PrintPatternModel;
class TemplatesController extends Controller {
public function displayTemplates()
{
return view('sub_pages.templates');
}
public function displayEditTemplatePage($q)
{
//return view('sub_pages.edit_template');
$m = new TemplatesModel;
$m1 = new SportsModel;
$m2 = new PrintPatternModel;
$templateData = $m->selectTemplate($q);
$templatePathsData = $m->selectTemplatePaths($q); // plain svg for visualizer
$templateTypes = $m->selectTemplateTypes();
$sportsList = $m1->getSportsName();
$printPatternList = $m2->selectAllPrintTemplate($q);
return view('sub_pages.edit_template')->with('templatedata', $templateData)->with('templatepath', $templatePathsData)->with('sportsname', $sportsList)->with('templatetype', $templateTypes)->with('printpattern', $printPatternList);
}
public function getTemplates(Request $request)
{
$m = new TemplatesModel;
$post = $request->all();
$data = $m->selectTemplates($post['id']);
// /public/images/sports-thumbnails
if(!empty($data)){
foreach ($data as $row) {
?>
<div class="col-md-4 col-sm-4 col-xs-6">
<div style="" class="text-center">
<h3><?php echo $row->TemplateName ?></h3>
</div>
<div class="sports-border">
<a href=""><img src="<?php echo url('public') . "/" . $row->Thumbnail ?>" alt="Sports" height="400px;" class="img img-responsive product-center" /></a>
<div class="sport-edit-btn">
<a href="<?php echo url('admin/templates') . "/edit/" . $row->TemplateCode . "/" ?>" class="btn btn-primary btn-block"><i class="fa fa-edit"></i> Edit</a>
</div>
</div>
</div>
<?php
}
}else{
echo '<script>
alert("No available Template/s");
</script>';
}
}
public function displayAddTemplatePage()
{
return view('sub_pages.add_template');
}
public function getTemplateTypes()
{
//if(Request::ajax()){
$m = new TemplatesModel;
$data = $m->selectTemplateTypes();
?>
<option value="">--Select Type--</option>
<?php
foreach ($data as $row) {
echo '<option value="'.$row->TemplateType.'">'.$row->TemplateType.'</option>';
}
?>
<?php
//}
}
public function getLastId()
{
//if(Request::ajax()){
$m = new TemplatesModel;
$data = $m->selectTemplateLastId();
echo $templateCode = "TEMP-" . str_pad($data->Id + 1, 5,'0',STR_PAD_LEFT);
}
public function saveNewTemplates(Request $request)
{
$m = new TemplatesModel;
$post = $request->all();
$templateCode = $post['templateCode'];
$sportName = $post['sportName'];
$templateName = $post['templateName'];
$templateType = $post['templateType'];
$numberOfTrims = $post['numberOfTrims'];
$getSkins = $post['getSkins'];
$tempateImage = $post['tempateImage'];
$rawName = date('Ymd') . "-" . time().'-'.$request->file('tempateImage')->getClientOriginalName();
$imageExt = $request->file('tempateImage')->getClientOriginalExtension();
$custom_file_name = str_replace(' ','-',strtolower($rawName));
$custom_file_name = preg_replace("/\.[^.\s]{3,4}$/", "", $custom_file_name);
$NewImageName = $custom_file_name.'.'.$imageExt;
$thumbnail = "images/templates/thumbnail/" . $NewImageName;
$data = array(
'SportsId' => $sportName,
'TemplateCode' => $templateCode,
'Thumbnail' => $thumbnail,
'TemplateName' => $templateName,
'TemplateType' => $templateType,
'Trim' => $numberOfTrims,
'PatternId' => $getSkins,
'IsActive' => 'TRUE'
);
$i = $m->insertNewTempalte($data);
if($i){
$request->file('tempateImage')->move(
base_path() . '/public/images/templates/thumbnail', $NewImageName
);
//for front jersey
if(!empty($request->file('svgJerseyFront')->getClientOriginalName())){
$svgName = $request->file('svgJerseyFront')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
//var_dump($svgThumbnail);
$Templatedata = array(
'TemplateCode' => $templateCode,
'Type' => 'Jersey',
'Side' => 'Front',
'Path' => $svgThumbnail,
'IsActive' => 'TRUE'
);
$i = $m->insertTempaltePaths($Templatedata);
if($i){
$request->file('svgJerseyFront')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
if(!empty($request->file('svgJerseyBack')->getClientOriginalName())){
$svgName = $request->file('svgJerseyBack')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'TemplateCode' => $templateCode,
'Type' => 'Jersey',
'Side' => 'Back',
'Path' => $svgThumbnail,
'IsActive' => 'TRUE'
);
$i = $m->insertTempaltePaths($Templatedata);
if($i){
$request->file('svgJerseyBack')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
if(!empty($request->file('svgShortRight')->getClientOriginalName())){
$svgName = $request->file('svgShortRight')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'TemplateCode' => $templateCode,
'Type' => 'Shorts',
'Side' => 'Right',
'Path' => $svgThumbnail,
'IsActive' => 'TRUE'
);
$i = $m->insertTempaltePaths($Templatedata);
if($i){
$request->file('svgShortRight')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
if(!empty($request->file('svgShortLeft')->getClientOriginalName())){
$svgName = $request->file('svgShortLeft')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'TemplateCode' => $templateCode,
'Type' => 'Shorts',
'Side' => 'Left',
'Path' => $svgThumbnail,
'IsActive' => 'TRUE'
);
$i = $m->insertTempaltePaths($Templatedata);
if($i){
$request->file('svgShortLeft')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Success!</h4>
Sports is successfully added.
</div>';
}else{
echo '<div class="alert alert-danger alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Error!</h4>
Failed to saved new sports.
</div>';
}
}
public function updateTemplate(Request $request)
{
$m = new TemplatesModel;
$post = $request->all();
// var_dump($post);
// echo count($post);
// var_dump($post);
// var_dump(array_key_exists('svgShortRight', $post));
$templateCode = $post['templateCode'];
$sportName = $post['sportName'];
$templateName = $post['templateName'];
$templateType = $post['templateType'];
$numberOfTrims = $post['numberOfTrims'];
$getSkins = $post['getSkins'];
if (array_key_exists('tempateImage', $post)) {
$tempateImage = $post['tempateImage'];
$rawName = date('Ymd') . "-" . time().'-'.$request->file('tempateImage')->getClientOriginalName();
$imageExt = $request->file('tempateImage')->getClientOriginalExtension();
$custom_file_name = str_replace(' ','-',strtolower($rawName));
$custom_file_name = preg_replace("/\.[^.\s]{3,4}$/", "", $custom_file_name);
$NewImageName = $custom_file_name.'.'.$imageExt;
$thumbnail = "images/templates/thumbnail/" . $NewImageName;
$data = array(
'SportsId' => trim($sportName),
'TemplateCode' => $templateCode,
'Thumbnail' => $thumbnail,
'TemplateName' => $templateName,
'TemplateType' => trim($templateType),
'Trim' => $numberOfTrims,
'PatternId' => $getSkins
);
$request->file('tempateImage')->move(
base_path() . '/public/images/templates/thumbnail', $NewImageName
);
}else{
$data = array(
'SportsId' => trim($sportName),
'TemplateCode' => $templateCode,
//'Thumbnail' => $thumbnail,
'TemplateName' => $templateName,
'TemplateType' => trim($templateType),
'Trim' => $numberOfTrims,
'PatternId' => $getSkins
);
}
$i = $m->updateNewTemplate($data, $templateCode);
if (array_key_exists('svgJerseyFront', $post)) {
//echo 'meron jerset front';
$svgName = $request->file('svgJerseyFront')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'Type' => 'Jersey',
'Side' => 'Front',
'Path' => $svgThumbnail
);
$i = $m->updateTemplatePaths($Templatedata, $post['id_svgJerseyFront']);
if($i){
$request->file('svgJerseyFront')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
//echo 'image move success';
}
}
if (array_key_exists('svgJerseyBack', $post)) {
$svgName = $request->file('svgJerseyBack')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'Type' => 'Jersey',
'Side' => 'Back',
'Path' => $svgThumbnail
);
$i = $m->updateTemplatePaths($Templatedata, $post['id_svgJerseyBack']);
if($i){
$request->file('svgJerseyBack')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
if (array_key_exists('svgShortRight', $post)) {
$svgName = $request->file('svgShortRight')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'Type' => 'Shorts',
'Side' => 'Right',
'Path' => $svgThumbnail
);
$i = $m->updateTemplatePaths($Templatedata, $post['id_svgShortRight']);
if($i){
$request->file('svgShortRight')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
if (array_key_exists('svgShortLeft', $post)) {
$svgName = $request->file('svgShortLeft')->getClientOriginalName();
$svgThumbnail = "uniform-templates/".$templateCode."/DISPLAY/".$svgName;
$Templatedata = array(
'Type' => 'Shorts',
'Side' => 'Left',
'Path' => $svgThumbnail
);
$i = $m->updateTemplatePaths($Templatedata, $post['id_svgShortLeft']);
if($i){
$request->file('svgShortLeft')->move(
base_path() . '/public/images/uniform-templates/'.$templateCode. '/DISPLAY' , $svgName
);
}
}
echo '<div class="alert alert-success alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Success!</h4>
Template is successfully updated.
</div>';
}
}

View File

@@ -0,0 +1,36 @@
<?php namespace App\Http\Controllers;
class WelcomeController extends Controller {
/*
|--------------------------------------------------------------------------
| Welcome Controller
|--------------------------------------------------------------------------
|
| This controller renders the "marketing page" for the application and
| is configured to only allow guests. Like most of the other sample
| controllers, you are free to modify or remove it as you desire.
|
*/
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
}
/**
* Show the application welcome screen to the user.
*
* @return Response
*/
public function index()
{
return view('welcome');
}
}

View File

@@ -0,0 +1,16 @@
<?php namespace App\Http\Controllers\cliparts;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
class ClipartsController extends Controller {
public function index()
{
return view('cliparts.index');
}
}

View File

@@ -0,0 +1,961 @@
<?php namespace App\Http\Controllers\designer;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\designer\DesignerModel;
use App\Models\teamstore\TeamStoreModel;
use App\Models\MainModel;
use Config;
Use Auth;
use DB;
class DesignerController extends Controller {
public function index($templateid)
{
$newDesignerModel = new DesignerModel;
$template_arrays = $newDesignerModel->selectTemplate($templateid);
// dd($template_arrays);
$patterns = explode(",", $template_arrays[0]->PatternId);
foreach($patterns as $patternId){
$pattern_arrays[] = $newDesignerModel->selectPatterns($patternId);
}
$templatepaths_arrays = $newDesignerModel->selectTemplatePaths($templateid);
$fonts_array = $newDesignerModel->selectFonts();
// var_dump($template_arrays);
return view('designer.designer')->with('template_arrays', $template_arrays)
->with('templatepaths_arrays', $templatepaths_arrays)
->with('pattern_arrays', $pattern_arrays)
->with('fonts_array', $fonts_array);
}
public function gradientAppend(Request $request)
{
$post = $request->all();
$gradientPrefix = $post['gradientPrefix'];
$TrimCount = $post['TrimCount'];
?>
<linearGradient id="<?php echo $gradientPrefix . 'Body_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Body_Gradient_Color2' ; ?>" offset="0" stop-color="#FFFFFF" />
<stop id="<?php echo $gradientPrefix . 'Body_Gradient_Color1' ; ?>" offset="1" stop-color="#000000" />
</linearGradient>
<linearGradient id="<?php echo $gradientPrefix . 'Body_Pattern_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Body_Pattern_Gradient_Color2' ; ?>" offset="0" stop-color="#FFFFFF" />
<stop id="<?php echo $gradientPrefix . 'Body_Pattern_Gradient_Color1' ; ?>" offset="1" stop-color="#000000" />
</linearGradient>
<?php
for($i = 1; $i <= $TrimCount; $i++ ){
?>
<linearGradient id="<?php echo $gradientPrefix . 'Trim_'.$i.'_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Trim_'.$i.'_Gradient_Color2' ; ?>" offset="0" stop-color="#FFFFFF" />
<stop id="<?php echo $gradientPrefix . 'Trim_'.$i.'_Gradient_Color1' ; ?>" offset="1" stop-color="#000000" />
</linearGradient>
<linearGradient id="<?php echo $gradientPrefix . 'Trim_'.$i.'_Pattern_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Trim_'.$i.'_Pattern_Gradient_Color2' ; ?>" offset="0" stop-color="#FFFFFF" />
<stop id="<?php echo $gradientPrefix . 'Trim_'.$i.'_Pattern_Gradient_Color1' ; ?>" offset="1" stop-color="#000000" />
</linearGradient>
<?php
}
}
public function setPattern(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$patternId = $post['patternId'];
$pattern_array = $newDesignerModel->selectPatterns($patternId);
$pattern_colors_array = $newDesignerModel->selectPatternColors($patternId);
$Opacity = $pattern_array[0]->Opacity;
$Gradient = $pattern_array[0]->Gradient;
if($pattern_array[0]->NoOFColor != 0){
$NoOFColor = $pattern_array[0]->NoOFColor;
echo '<div class="form-group col-md-12 col-sm-12 col-xs-12">';
echo 'Pattern Color';
echo '</div>';
echo '<div class="form-group col-md-12 col-sm-12 col-xs-12">';
for($i=1 ; $i <= $pattern_array[0]->NoOFColor ; $i++){
?>
<div class="btn-group">
<input type="text" class="patternColor" id="PatternColor<?php echo $i; ?>" value="<?php echo $pattern_colors_array[$i - 1]->PatternColor ?>" />
</div>
<?php
if($Gradient == "TRUE"){
?>
<button type="button" class="btn" id="btn-body-pattern-gradient" ></button>
<?php
}
}
echo '</div>';
?>
<div class="form-group col-md-12 col-sm-12 col-xs-12">
<div id="row-body-pattern-gradient" style="display:none;">
<div class="row">
<div class="form-group col-md-12 col-sm-12 col-xs-12">
Gradient Colors
</div>
</div>
<div class="row">
<div class="form-group col-md-2 col-sm-2 col-xs-2">
<input type="hidden" class="patternGradientColor pull-right" name="Body_Pattern_Gradient_Color1" id="Body_Pattern_Gradient_Color1" value="rgb(0, 0, 0)" />
</div>
<div class="form-group col-md-10 col-sm-10 col-xs-10">
<input type="range" id="Offset_Body_Pattern_Gradient_Color1" data-gradient-id="Body_Pattern_Gradient_Color1" class="offsetGradientPattern form-control input-sm" value="100" min="0" max="10" />
</div>
</div>
<div class="row">
<div class="form-group col-md-2 col-sm-2 col-xs-2">
<input type="hidden" class="patternGradientColor pull-right" name="Body_Pattern_Gradient_Color2" id="Body_Pattern_Gradient_Color2" value="rgb(255, 255, 255)" />
</div>
<div class="form-group col-md-10 col-sm-10 col-xs-10">
<input type="range" id="Offset_Body_Pattern_Gradient_Color2" data-gradient-id="Body_Pattern_Gradient_Color2" class="offsetGradientPattern form-control input-sm" value="0" min="0" max="10" />
</div>
</div>
</div>
</div>
<?php
if($Opacity == "TRUE"){
?>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<label>Opacity</label>
</div>
</div>
<div class="row">
<div class="form-group col-md-9 col-sm-9 col-xs-9">
<input type="range" id="opacityPattern" class="form-control input-sm" value="10" min="0" max="10" />
</div>
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<input type="text" style="margin-top:5px;" class="form-control input-sm text-center" value="10" id="opacityPatternValue" />
</div>
</div>
<?php
}
}else{
/// no display..
$NoOFColor = 0;
}
?><input type="hidden" name="body-pattern-name" id="body-pattern-name" value="<?php echo $patternId . "," . $NoOFColor; ?>"><?php
}
public function setTrimPattern(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$patternId = $post['patternId'];
$trim = $post['trim'];
$pattern_array = $newDesignerModel->selectPatterns($patternId);
$pattern_colors_array = $newDesignerModel->selectPatternColors($patternId);
$Opacity = $pattern_array[0]->Opacity;
$Gradient = $pattern_array[0]->Gradient;
if($pattern_array[0]->NoOFColor != 0){
$NoOFColor = $pattern_array[0]->NoOFColor;
echo '<div class="form-group col-md-12 col-sm-12 col-xs-12">';
echo 'Pattern Color';
echo '</div>';
echo '<div class="form-group col-md-12 col-sm-12 col-xs-12">';
for($i=1 ; $i <= $pattern_array[0]->NoOFColor ; $i++){
?>
<div class="btn-group">
<input type="text" class="patternColor" data-trim-num="<?php echo $trim ?>" id="<?php echo 'Trim_' . $trim . '_PatternColor'.$i; ?>" value="<?php echo $pattern_colors_array[$i - 1]->PatternColor ?>" />
</div>
<?php
if($Gradient == "TRUE"){
?>
<!-- <button type="button" class="btn" id="btn-body-pattern-gradient" ></button> -->
<?php
}
}
echo '</div>';
?>
<div class="form-group col-md-12 col-sm-12 col-xs-12">
<div id="<?php echo 'row-trim-'.$trim.'-pattern-gradient' ?>" style="display:none;">
<div class="row">
<div class="form-group col-md-12 col-sm-12 col-xs-12">
Gradient Colors
</div>
</div>
<div class="row">
<div class="form-group col-md-2 col-sm-2 col-xs-2">
<input type="hidden" class="patternGradientColor pull-right" name="<?php echo 'Trim_' . $trim . '_Pattern_Gradient_Color1' ?>" id="<?php echo 'Trim_' . $trim . '_Pattern_Gradient_Color1' ?>" data-gradient-type="Pattern" data-trim-num="<?php echo $trim ?>" value="rgb(0, 0, 0)" />
</div>
<div class="form-group col-md-10 col-sm-10 col-xs-10">
<input type="range" id="<?php echo 'Offset_Trim_' . $trim . '_Pattern_Gradient_Color1' ?>" data-gradient-id="<?php echo 'Trim_' . $trim . '_Pattern_Gradient_Color1' ?>" class="offsetGradientPattern form-control input-sm" value="100" min="0" max="10" />
</div>
</div>
<div class="row">
<div class="form-group col-md-2 col-sm-2 col-xs-2">
<input type="hidden" class="patternGradientColor pull-right" name="<?php echo 'Trim_' . $trim . '_Pattern_Gradient_Color2' ?>" id="<?php echo 'Trim_' . $trim . '_Pattern_Gradient_Color2' ?>" data-gradient-type="Pattern" data-trim-num="<?php echo $trim ?>" value="rgb(255, 255, 255)" />
</div>
<div class="form-group col-md-10 col-sm-10 col-xs-10">
<input type="range" id="<?php echo 'Offset_Trim_' . $trim . '_Pattern_Gradient_Color2' ?>" data-gradient-id="<?php echo 'Trim_' . $trim . '_Pattern_Gradient_Color2' ?>" class="offsetGradientPattern form-control input-sm" value="0" min="0" max="10" />
</div>
</div>
</div>
</div>
<?php
if($Opacity == "TRUE"){
?>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<label>Opacity</label>
</div>
</div>
<div class="row">
<div class="form-group col-md-9 col-sm-9 col-xs-9">
<input type="range" id="opacityPattern" class="form-control input-sm" value="10" min="0" max="10" />
</div>
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<input type="text" style="margin-top:5px;" class="form-control input-sm text-center" value="10" id="opacityPatternValue" />
</div>
</div>
<?php
}
}else{
/// no display..
$NoOFColor = 0;
}
?><input type="hidden" name="<?php echo 'Trim_'. $trim . '_patternName' ?>" id="<?php echo 'Trim_'. $trim . '_patternName' ?>" value="<?php echo $patternId . "," . $NoOFColor; ?>"><?php
}
public function getTemplateDefaultColors(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$templateCode = $post['templateCode'];
$default_template_color_array = $newDesignerModel->selectDefaultTemplateColor($templateCode);
// var_dump($default_template_color_array);
return response()->json(array(
'success' => true,
'default_template_color_array' => $default_template_color_array
));
}
public function getFontDisplay(Request $request){
$newDesignerModel = new DesignerModel;
$post = $request->all();
$getFontFamily = $post['fontFamily'];
$font_array = $newDesignerModel->selectFontsByFontFamily($getFontFamily);
foreach($font_array as $row){
$fontNameDisplay = $row->fontNameDisplay;
$additionalSize = $row->additionalSize;
}
$arr = array(
'fontNameDisplay' => $fontNameDisplay,
'additionalSize' => $additionalSize
);
echo json_encode($arr);
}
public function tabClipartContent()
{
$newDesignerModel = new DesignerModel;
$clipart_cat_array = $newDesignerModel->selectClipartCategories();
?>
<div class="row">
<div class="col-md-12">
<h4>Clipart</h4>
</div>
</div>
<hr>
<div id="show-clipart-content">
<div class="row">
<?php
foreach($clipart_cat_array as $row){
if($row->UserId != null){
if(!Auth::guest()){
if(Auth::user()->id == $row->UserId){
?>
<div class="form-group col-md-6">
<a href="#" class="clipart-category" data-id="<?php echo $row->Id ?>" data-type="category" data-title="<?php echo $row->CategoryName ?>">
<div style="height:100px; background-color:#f4f4f4; border-radius: 5px;" class="text-center">
<span style="position:absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-size: 16px;"><?php echo $row->CategoryName ?></span>
</div>
</a>
</div>
<?php
}
}
}
}
foreach($clipart_cat_array as $row){
if($row->UserId == null){
?>
<div class="form-group col-md-6">
<a href="#" class="clipart-category" data-id="<?php echo $row->Id ?>" data-type="category" data-title="<?php echo $row->CategoryName ?>">
<div style="height:100px; background-color:#f4f4f4; border-radius: 5px;" class="text-center">
<span style="position:absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); font-size: 16px;"><?php echo $row->CategoryName ?></span>
</div>
</a>
</div>
<?php
}
}
?>
</div>
</div>
<div class="display-flex" id="featured-cliparts"></div>
<?php
}
public function getCliparts(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$categoryId = $post['categoryId'];
$req_type = $post['req_type'];
$cat_name = $post['cat_name'];
$clipart_array = $newDesignerModel->selectClipartByCategory($categoryId);
?>
<div class="row">
<div class="col-md-6">
<h4><?php echo $cat_name ?></h4>
</div>
<div class="col-md-6">
<button class="btn btn-sm btn-default pull-right addMarginLeft" id="btn-close-clipart-properties" title="Close Clipart Properties"><i class="fa fa-remove" aria-hidden="true"></i> Close</button>
</div>
</div>
<br>
<?php
foreach($clipart_array as $row){
?>
<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 config('site_config.uploads') . 'cliparts/'. $row->SVGFilename; ?>" width="100%"></a>
</div>
</div>
<?php
}
}
public function clipartProperties(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
?>
<div class="row">
<div class="col-md-12">
<h4>Clipart Properties</h4>
</div>
</div>
<hr>
<div class="row">
<div class="form-group col-md-12">
<button class="btn btn-sm btn-default pull-right addMarginLeft" id="btn-close-clipart-properties" title="Close Clipart Properties"><i class="fa fa-remove" aria-hidden="true"></i> Close</button>
<!-- <button type="button" class="btn btn-danger pull-right btn-sm remove addMarginLeft" title="Remove object"><i class="fa fa-trash" aria-hidden="true"></i></button> -->
<!-- <button type="button" class="btn btn-danger pull-right btn-sm addMarginLeft pasteObject" title="Paste object(s)"><i class="fa fa-paste" aria-hidden="true"></i></button> -->
<!-- <button type="button" class="btn btn-danger pull-right btn-sm addMarginLeft copyObject" title="Duplicate object"><i class="fa fa-copy" aria-hidden="true"></i></button> -->
</div>
</div>
<div class="row">
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<label>Color(s)</label>
</div>
<div class="form-group col-md-9 col-sm-9 col-xs-9">
<?php
// var_dump($_POST['PathId']);
foreach($post['PathId'] as $key => $arrayData ){
// echo $arrayData['id'];
?>
<div class="btn-group">
<input type="text" data-number="<?php echo $arrayData['ran_num']; ?>" data-id="<?php echo $arrayData['id']; ?>" class="clipartColor" value="<?php echo $arrayData['fill']; ?>"/>
</div>
<?php
}
?>
</div>
</div>
<div class="row">
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<label>Opacity</label>
</div>
<div class="form-group col-md-6 col-sm-6 col-xs-6">
<input type="range" class="form-control input-sm opacityTextSlider" value="1" min="0" max="10" />
</div>
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<input type="text" style="margin-top:5px;" class="form-control input-sm text-center opacityTextValue" />
</div>
</div>
<div class="row">
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<label>Rotate</label>
</div>
<div class="form-group col-md-6 col-sm-6 col-xs-6">
<input type="range" class="form-control input-sm rotateTextSlider" value="0" min="-180" max="180" />
</div>
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<input type="text" style="margin-top:5px;" class="form-control input-sm text-center rotateTextValue"/>
</div>
</div>
<div class="row">
<div class="form-group col-md-5 col-sm-6 col-xs-6">
<label>Layer Order</label><br>
<button class="btn btn-sm btn-default sendSelectedObjectToFront" title="Bring Forward"></button>
<button class="btn btn-sm btn-default sendSelectedObjectBack" title="Send Backward"></button>
</div>
<div class="form-group col-md-7 col-sm-6 col-xs-6">
<label>Position</label><br>
<!-- <button class="btn btn-sm btn-default " style="margin:2px;" onclick="centerOnly();">Center</button>
<button class="btn btn-sm btn-default" style="margin:2px;" onclick="centerVer();"> <img src="images/align-v1.png" height="16px;" /> Center Vertical</button>
<button class="btn btn-sm btn-default" style="margin:2px;" onclick="centerHor();" > <img src="images/align-h1.png" height="16px;" /> Center Horizontal</button> -->
<!-- <button class="btn btn-sm btn-default btn-send-middle" style="margin:2px;" onclick="centerOnly();"></button>
<button class="btn btn-sm btn-default center-vertical" style="margin:2px;" onclick="centerVer();"></button>
<button class="btn btn-sm btn-default center-horizontal" style="margin:2px;" onclick="centerHor();" ></button> -->
<button class="btn btn-sm btn-default" style="min-width:35px;" title="Center Vertical" onclick="centerVer();"><i class="fa fa-arrows-v"></i></button>
<button class="btn btn-sm btn-default" style="min-width:35px;" title="Center Horizontal" onclick="centerHor();" ><i class="fa fa-arrows-h"></i></button>
<button class="btn btn-sm btn-default flip-vertically" style="min-width:35px;" title="Flip Vertically"><i class="fa fa-angle-double-up"></i></button>
<button class="btn btn-sm btn-default flip-horizontally" style="min-width:35px;" title="Flip Horizontally"><i class="fa fa-angle-double-right"></i></button>
</div>
</div>
<?php
}
public function saveDesign(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$clientId = Auth::user()->id;
$design_name = $post['design_name'];
$tempDecode = json_decode($_POST['templateDetails']);
$getTemPlateCode = $tempDecode[0]->templateCode;
$designCode = sha1(time() . "-" .date('ymd'));
if(isset($post['json_Front'])){
$json_Front = $post['json_Front'];
}else{
$json_Front = null;
}
if(isset($post['json_Back'])){
$json_Back = $post['json_Back'];
}else{
$json_Back = null;
}
if(isset($post['json_Left'])){
$json_Left = $post['json_Left'];
}else{
$json_Left = null;
}
if(isset($post['json_Right'])){
$json_Right = $post['json_Right'];
}else{
$json_Right = null;
}
// if(isset($post['json_Shirts_Front'])){
// $json_Jersey_Front = $post['json_Shirts_Front'];
// }
// if(isset($post['json_Shirts_Back'])){
// $json_Jersey_Back = $post['json_Shirts_Back'];
// }
try {
$design_info = array(
'ClientId' => $clientId,
'DesignName' => $design_name,
'TemplateCode' => $getTemPlateCode,
'DesignCode' => $designCode,
'TemplateDesign'=> $post['templateDetails'],
'ContentFront' => $json_Front,
'ContentBack' => $json_Back,
'ContentLeft' => $json_Left,
'ContentRight' => $json_Right
);
}
catch (\Exception $e) {
return $e->getMessage();
}
$res = $newDesignerModel->insertClientDesign($design_info);
if($res){
// dd(Uuid::generate());
return redirect('/designer/preview/'.$designCode);
// return redirect('http://localhost/crew-designer/mydesign/'.$designCode.'/');
}
// else{
// dd($res);
// }
// dd($design_info);
}
public function getDesign($designCode){
$newDesignerModel = new DesignerModel;
$newTeamStoreModel = new TeamStoreModel;
$newMainModel = new MainModel;
$client_design_array = $newDesignerModel->selectClientDesign($designCode);
$teamstore_array = array();
$clientrole = Auth::user()->role;
if($clientrole == "store_owner"){
$store_id = Auth::user()->store_id;
$teamstore_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
// var_dump(str_slug($teamstore_array[0]->StoreName, '-'));
// var_dump($this->createSlug('shorts-white-1'));
}
// var_dump($this->getProductCode());
$templatepaths_arrays = $newDesignerModel->selectTemplatePathsByTemplateCode($client_design_array[0]->TemplateCode);
$array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode);
// $array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode);
$array_templates = $newDesignerModel->selectTemplate(md5($client_design_array[0]->TemplateCode));
// var_dump($array_templates);
return view('designer.design_preview')
->with('client_design_array', $client_design_array)
->with('templatepaths_arrays', $templatepaths_arrays)
->with('teamstore_array', $teamstore_array)
->with('array_cat_name', $array_cat_name)
->with('array_templates', $array_templates);
}
protected function getProductCode()
{
//if(Request::ajax()){
$m = new DesignerModel;
$data = $m->selectTeamStoreProductLastId();
if($data){
$id = $data->Id;
}else{
$id = 0;
}
return $templateCode = date('y') .'-' . str_pad($id + 1, 10, '0',STR_PAD_LEFT);
}
public function saveDesignDetails(Request $request)
{
$newTeamStoreModel = new TeamStoreModel;
$newDesignerModel = new DesignerModel;
$clientrole = Auth::user()->role;
$post = $request->all();
// var_dump($post);
if($clientrole == "store_owner"){
if(isset($post['sale_chk'])){
$designName = $post['designName'];
$designCode = $post['designCode'];
$templateCode = $post['templateCode'];
$itemName = $post['itemName'];
$itemDescription = $post['itemDescription'];
$storeId = $post['storeId'];
$randomChar = str_random(5);
$producturl = str_slug($itemName .'-'. $randomChar, '-');
$item_price = str_replace('$ ', '', $post['item_price']);
$item_details = array(
'TeamStoreId' => $storeId,
'ProductCode' => $this->getProductCode(),
'ProductName' => $itemName,
'ProductPrice' => $item_price,
'ProductDescription' => $itemDescription,
'ProductURL' => $producturl,
'ProductForm' => 'jersey-form',
'PrivacyStatus' => 'private'
);
$newDesignerModel->updateClientDesign($designName, $designCode);
$res = $newTeamStoreModel->insertTeamStoreProduct($item_details);
if($res['i']){
$templatepaths_array = $newDesignerModel->selectTemplatePathsByTemplateCode($templateCode);
foreach($templatepaths_array as $row){
$imageClass = null;
if($row->Side == 'Front'){
$imageClass = 'active';
}
$productId = $res['lastId'];
$thumbnail = $designCode . '-' . strtolower($row->Side) . '-' . 'thumbnail.png';
$thumbnail_array[] = array(
'ProductId' => $productId,
'Image' => $thumbnail,
'ImageClass' => $imageClass
);
}
$k = $newTeamStoreModel->insertTeamStoreProductThumbnails($thumbnail_array);
if($k = "true"){
$i = 1;
}else{
$i = 0;
}
}
return $i;
}else{
$designName = $post['designName'];
$designCode = $post['designCode'];
$templateCode = $post['templateCode'];
$i = $newDesignerModel->updateClientDesign($designName, $designCode);
return $i;
}
}else{
$designName = $post['designName'];
$designCode = $post['designCode'];
$templateCode = $post['templateCode'];
$i = $newDesignerModel->updateClientDesign($designName, $designCode);
return $i;
}
}
public function saveRoster(Request $request)
{
$post = $request->all();
$newDesignerModel = new DesignerModel;
$newTeamStoreModel = new TeamStoreModel;
// var_dump($post);
$design_code = $post['designCode'];
$order_names = $post['order_names'];
$order_number = $post['order_number'];
$design_name = $post['design_name'];
$order_jersey_size = $post['order_jersey_size'];
$order_shorts_size = $post['order_shorts_size'];
foreach($order_names as $key => $val){
if($order_jersey_size[$key] != "none" && $order_shorts_size[$key] != "none"){
$order = "Both";
$array_default_price_jersey = $newDesignerModel->getDefaultPrice($order_jersey_size[$key], 'JERSEY');
$array_default_price_shorts = $newDesignerModel->getDefaultPrice($order_shorts_size[$key], 'SHORTS');
$price = $array_default_price_jersey[0]->Price + $array_default_price_shorts[0]->Price;
//var_dump($price);
}else if($order_jersey_size[$key] == "none" && $order_shorts_size[$key] != "none"){
$order = "Shorts";
$array_default_price_jersey = 0;
$array_default_price_shorts = $newDesignerModel->getDefaultPrice($order_shorts_size[$key], 'SHORTS');
$price = $array_default_price_jersey + $array_default_price_shorts[0]->Price;
//var_dump($price);
}else if($order_jersey_size[$key] != "none" && $order_shorts_size[$key] == "none"){
$order = "Jersey";
$array_default_price_jersey = $newDesignerModel->getDefaultPrice($order_jersey_size[$key], 'JERSEY');
$array_default_price_shorts = 0;
$price = $array_default_price_jersey[0]->Price + $array_default_price_shorts;
// var_dump($price);
}
if($request->session()->has('cartkey')){
$cartKey = $request->session()->get('cartkey');
}else{
$request->session()->put('cartkey', sha1(time() . str_random(6)));
$cartKey = $cartKey = $request->session()->get('cartkey');
}
$items[] = array(
'Order' => $order,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductName' => $design_name,
'Name' => $order_names[$key],
'Number' => $order_number[$key],
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $price,
'Quantity' => 1
);
}
$i = $newTeamStoreModel->insertToCart($items);
return redirect('cart');
}
public function editDesign($designcode)
{
$newDesignerModel = new DesignerModel;
$client_design_array = $newDesignerModel->selectClientDesign($designcode);
$template_arrays = $newDesignerModel->selectTemplate(md5($client_design_array[0]->TemplateCode));
// var_dump($template_arrays);
$patterns = explode(",", $template_arrays[0]->PatternId);
foreach($patterns as $patternId){
$pattern_arrays[] = $newDesignerModel->selectPatterns($patternId);
}
$templatepaths_arrays = $newDesignerModel->selectTemplatePaths(md5($client_design_array[0]->TemplateCode));
$fonts_array = $newDesignerModel->selectFonts();
// var_dump($client_design_array);
return view('designer.designer_edit')
->with('client_design_array', $client_design_array)
->with('template_arrays', $template_arrays)
->with('templatepaths_arrays', $templatepaths_arrays)
->with('pattern_arrays', $pattern_arrays)
->with('fonts_array', $fonts_array);
}
public function editGradientAppend(Request $request)
{
$post = $request->all();
$gradientFor = $post['gradientFor'];
$gradientPrefix = $post['gradientPrefix'];
$TrimCcount = $post['trimCount'];
$stop_color_1 = $post['stop_color_1'];
$stop_color_2 = $post['stop_color_2'];
$offset_1 = $post['offset_1'];
$offset_2 = $post['offset_2'];
if($gradientFor == "Body"){
?>
<linearGradient id="<?php echo $gradientPrefix . 'Body_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Body_Gradient_Color2' ; ?>" offset="<?php echo $offset_2 ?>" stop-color="<?php echo $stop_color_2 ?>" />
<stop id="<?php echo $gradientPrefix . 'Body_Gradient_Color1' ; ?>" offset="<?php echo $offset_1 ?>" stop-color="<?php echo $stop_color_1 ?>" />
</linearGradient>
<?php
}
if($gradientFor == "Body_Pattern"){
?>
<linearGradient id="<?php echo $gradientPrefix . 'Body_Pattern_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Body_Pattern_Gradient_Color2' ; ?>" offset="<?php echo $offset_2 ?>" stop-color="<?php echo $stop_color_2 ?>" />
<stop id="<?php echo $gradientPrefix . 'Body_Pattern_Gradient_Color1' ; ?>" offset="<?php echo $offset_1 ?>" stop-color="<?php echo $stop_color_1 ?>" />
</linearGradient>
<?php
}
if($gradientFor == "Trim"){
?>
<linearGradient id="<?php echo $gradientPrefix . 'Trim_'.$TrimCcount.'_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Trim_'.$TrimCcount.'_Gradient_Color2' ; ?>" offset="<?php echo $offset_2 ?>" stop-color="<?php echo $stop_color_2 ?>" />
<stop id="<?php echo $gradientPrefix . 'Trim_'.$TrimCcount.'_Gradient_Color1' ; ?>" offset="<?php echo $offset_1 ?>" stop-color="<?php echo $stop_color_1 ?>" />
</linearGradient>
<?php
}
if($gradientFor == "Trim_Pattern"){
?>
<linearGradient id="<?php echo $gradientPrefix . 'Trim_'.$TrimCcount.'_Pattern_Gradient' ; ?>" gradientUnits="userSpaceOnUse" x1="0%" y1="100%" x2="0%" y2="0%">
<stop id="<?php echo $gradientPrefix . 'Trim_'.$TrimCcount.'_Pattern_Gradient_Color2' ; ?>" offset="<?php echo $offset_2 ?>" stop-color="<?php echo $stop_color_2 ?>" />
<stop id="<?php echo $gradientPrefix . 'Trim_'.$TrimCcount.'_Pattern_Gradient_Color1' ; ?>" offset="<?php echo $offset_1 ?>" stop-color="<?php echo $stop_color_1 ?>" />
</linearGradient>
<?php
}
}
public function editPatternProperties(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$patternId = $post['patternId'];
$pattern_array = $newDesignerModel->selectPatterns($patternId);
foreach($pattern_array as $row){
$small = $row->SVGPath;
$large = $row->SVGPath_Actual;
}
$arr = array(
'small' => config('site_config.uploads') . $small ,
'large' => config('site_config.uploads') . $large
);
return json_encode($arr);
// var_dump($arr);
}
public function editSetPattern(Request $request)
{
$newDesignerModel = new DesignerModel;
$post = $request->all();
$patternId = $post['patternId'];
$patternType = $post['patternType'];
$patternFor = $post['patternFor'];
$pcolors = $post['pcolors'];
$gradientColor = $post['gradientColor'];
if($patternType == "Custom"){
$table = "client_patterns";
}else{
$table = "patterns";
}
foreach($gradientColor as $p){
foreach($p as $key => $val){
${$key} = $val;
}
}
$pattern_array = $newDesignerModel->selectPatternsByTable($table, $patternId);
foreach($pattern_array as $row){
$Opacity = $row->Opacity;
$Gradient = $row->Gradient;
if($row->NoOFColor != 0){
$NoOFColor = $row->NoOFColor;
echo '<div class="form-group col-md-12 col-sm-12 col-xs-12">';
echo 'Pattern Color';
echo '</div>';
echo '<div class="form-group col-md-12 col-sm-12 col-xs-12">';
foreach($pcolors as $p){
foreach($p as $key => $val){
?>
<div class="btn-group">
<input type="text" class="patternColor" id="<?php echo $key ?>" value="<?php echo $val ?>" />
</div>
<?php
}
}
if($Gradient == "TRUE"){
?>
<button type="button" style="<?php echo ($patternFor == 'Gradient') ? 'background: linear-gradient('.$gradientColor1.','.$gradientColor2.')' : '' ?>" class="btn" id="btn-body-pattern-gradient"><?php echo ($patternFor == 'Gradient') ? '<i class="fa fa-2 fa-check" aria-hidden="true"></i>' : '' ?></button>
<?php
}
echo '</div>';
?>
<div class="form-group col-md-12 col-sm-12 col-xs-12">
<div id="row-body-pattern-gradient" style="display:<?php echo ($patternFor == 'Gradient') ? 'block' : 'none' ?>;">
<div class="row">
<div class="form-group col-md-12 col-sm-12 col-xs-12">
Gradient Colors
</div>
</div>
<div class="row">
<div class="form-group col-md-2 col-sm-2 col-xs-2">
<input type="hidden" class="patternGradientColor pull-right" data-gradient-type="Body" name="Body_Pattern_Gradient_Color1" id="Body_Pattern_Gradient_Color1" value="<?php echo ($patternFor == 'Gradient') ? $gradientColor1 : 'rgb(0, 0, 0)' ?>" />
</div>
<div class="form-group col-md-10 col-sm-10 col-xs-10">
<input type="range" id="Offset_Body_Pattern_Gradient_Color1" data-gradient-id="Body_Pattern_Gradient_Color1" class="offsetGradientPattern form-control input-sm" value="<?php echo ($patternFor == 'Gradient') ? $gradientColorOffset1 / 10 : '100' ?>" min="0" max="10" />
</div>
</div>
<!-- gradientColorOffset1 -->
<div class="row">
<div class="form-group col-md-2 col-sm-2 col-xs-2">
<input type="hidden" class="patternGradientColor pull-right" data-gradient-type="Body" name="Body_Pattern_Gradient_Color2" id="Body_Pattern_Gradient_Color2" value="<?php echo ($patternFor == 'Gradient') ? $gradientColor2 : 'rgb(255, 255, 255)' ?>" />
</div>
<div class="form-group col-md-10 col-sm-10 col-xs-10">
<input type="range" id="Offset_Body_Pattern_Gradient_Color2" data-gradient-id="Body_Pattern_Gradient_Color2" class="offsetGradientPattern form-control input-sm" value="<?php echo ($patternFor == 'Gradient') ? $gradientColorOffset2 / 10 : '0' ?>" min="0" max="10" />
</div>
</div>
</div>
</div>
<?php if($Opacity == "TRUE"){ ?>
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12">
<label>Opacity</label>
</div>
</div>
<div class="row">
<div class="form-group col-md-9 col-sm-9 col-xs-9">
<input type="range" id="opacityPattern" class="form-control input-sm" value="10" min="0" max="10" />
</div>
<div class="form-group col-md-3 col-sm-3 col-xs-3">
<input type="text" style="margin-top:5px;" class="form-control input-sm text-center" value="10" id="opacityPatternValue" />
</div>
</div>
<?php }
}else{
/// no display..
$NoOFColor = 0;
}
}
?>
<input type="hidden" name="body-pattern-name" id="body-pattern-name" value="<?php echo $patternId . "," . $NoOFColor; ?>">
<?php
}
public function buyForm(Request $request){
$post = $request->all();
// echo $post['temp_code'];
$newDesignerModel = new DesignerModel;
$jersey_sizes = $newDesignerModel->getAvailableSizes($post['temp_code'], 'JERSEY');
$shorts_sizes = $newDesignerModel->getAvailableSizes($post['temp_code'], 'SHORTS');
return view("designer.buy_form")->with('jersey_sizes', $jersey_sizes)
->with('shorts_sizes', $shorts_sizes);
}
}

View File

@@ -0,0 +1,444 @@
<?php
namespace App\Http\Controllers\paypal;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
// use Paypal;
use Netshell\Paypal\Facades\Paypal;
use App\Models\teamstore\TeamStoreModel;
use App\Models\user\UserModel;
use App\Models\ApiModel;
use App\Models\paypal\PayPalModel;
// use Auth;
use Illuminate\Support\Facades\Auth;
// use Session;
use Illuminate\Support\Facades\Session;
// use Redirect;
use Illuminate\Support\Facades\Redirect;
// use Mail;
use Illuminate\Support\Facades\Mail;
class PaypalController extends Controller
{
private $_apiContext;
public function __construct()
{
$this->_apiContext = PayPal::ApiContext(
config('services.paypal.client_id'),
config('services.paypal.secret')
);
// $this->_apiContext->setConfig(array(
// 'mode' => 'sandbox',
// 'service.EndPoint' => 'https://api.sandbox.paypal.com',
// 'http.ConnectionTimeOut' => 30,
// 'log.LogEnabled' => true,
// 'log.FileName' => storage_path('logs/paypal.log'),
// 'log.LogLevel' => 'FINE'
// ));
// live
$this->_apiContext->setConfig(array(
'mode' => 'live',
'service.EndPoint' => 'https://api.paypal.com',
'http.ConnectionTimeOut' => 30,
'log.LogEnabled' => true,
'log.FileName' => storage_path('logs/paypal.log'),
'log.LogLevel' => 'FINE'
));
}
public function payPremium()
{
return view('payPremium');
}
public function getCheckout(Request $request)
{
if (Auth::guest()) {
$message = 'Please <a href="' . url('auth/login') . '">Sign in</a> to your account to proceed.';
Session::flash('msg', $message);
return Redirect::back();
}
// $request->session()->forget('cartkey');
if(!$request->session()->has('cartkey')){
$message = 'Your cart is empty';
Session::flash('cartkeyError', $message);
return Redirect::back();
}
$payer = PayPal::Payer();
$payer->setPaymentMethod('paypal');
$m = new TeamStoreModel;
$paypal_model = new PayPalModel;
$last_id = $paypal_model->getLastIdPaymentDetails();
$invoice_num = str_pad($last_id[0]->Id, 4, '0', STR_PAD_LEFT);
$cartKey = $request->session()->get('cartkey');
$items = $m->myCart($cartKey);
$getSubtotal = $m->getSubtotal($cartKey);
$grouped_item = $m->selectTeamStoreGroupByCartKey($cartKey);
$store_array = $m->selectTeamStore('Id', $grouped_item[0]->StoreId);
$getSmallItemQty = 0;
$getBulkyItemQty = 0;
$getMaskItemQty = 0;
$getDGSItemQty = 0;
$shippingFee = 0;
foreach ($items as $item) {
if ($item->VoucherId != null) {
$voucherIds[] = $item->VoucherId;
$voucher = $m->selectVoucherWhereIn($voucherIds);
$item_id = $item->Id;
$totalValue = $voucher[0]->VoucherValue;
if ($voucher[0]->VoucherType == "Percentage") {
$getPercentageValue = $totalValue / 100;
$getDiscountValue = ($getSubtotal[0]->Subtotal * $getPercentageValue);
$data = array(
'Price' => round($getDiscountValue * -1, 2)
);
$m->updateVoucherValueInCart($data, $item_id);
} else {
$voucherData = array(
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
if($item->ShippingCostId == 1){
$getSmallItemQty += $item->Quantity;
}else if($item->ShippingCostId == 2){
$getBulkyItemQty += $item->Quantity;
}else if($item->ShippingCostId == 3){
$getMaskItemQty += $item->Quantity;
}else if($item->ShippingCostId == 4){
$getDGSItemQty += $item->Quantity;
}
}
$getSmallItemQty = ceil($getSmallItemQty / 3) * 8;
$getBulkyItemQty = ceil($getBulkyItemQty / 1) * 8;
$getMaskItemQty = ceil($getMaskItemQty / 25) * 8;
$getMaskItemQty = ceil($getMaskItemQty / 4) * 5;
$shippingFee = $getSmallItemQty + $getBulkyItemQty + $getMaskItemQty + $getDGSItemQty;
// var_dump($shippingFee);
$order_items = array();
$updated_items = $m->myCart($cartKey);
$updated_getSubtotal = $m->getSubtotal($cartKey);
// $order_subtotal = $updated_getSubtotal[0]->Subtotal;
$order_grandtotal = $updated_getSubtotal[0]->Subtotal;
if ($grouped_item[0]->StoreId == 76 || $grouped_item[0]->StoreId == 78 || $grouped_item[0]->StoreId == 111 || $grouped_item[0]->StoreId == 131 || $grouped_item[0]->StoreId == 30 || $grouped_item[0]->StoreId == 141 || $grouped_item[0]->StoreId == 162 || $grouped_item[0]->StoreId == 185) {
$tax_value = 0;
} else {
$tax_value = 0.10;
}
$tax = $order_grandtotal * $tax_value;
foreach ($updated_items as $key => $item) {
// $descriptions = "Name: " . $item->Name . " Number: " . $item->Number . " Size: " . $item->Size;"?"
$order_items[$key] = PayPal::Item();
$order_items[$key]->setName($item->ProductName);
$order_items[$key]->setCurrency($store_array[0]->StoreCurrency);
$order_items[$key]->setQuantity($item->Quantity);
// $order_items[$key]->setDescription($descriptions);
// $order_items[$key]->setTax(10);
$order_items[$key]->setPrice($item->Price);
}
$item_list = PayPal::ItemList();
$item_list->setItems($order_items);
$amount_details = PayPal::Details();
$amount_details->setSubtotal($order_grandtotal);
$amount_details->setTax($tax);
$amount_details->setShipping($shippingFee);
$amount = PayPal::Amount();
$amount->setCurrency($store_array[0]->StoreCurrency);
$amount->setDetails($amount_details);
$amount->setTotal($order_grandtotal + $tax + $shippingFee);
$transaction = PayPal::Transaction();
$transaction->setAmount($amount);
$transaction->setItemList($item_list);
// $transaction->setDescription('Your transaction description');
$transaction->setInvoiceNumber(date('Ymd') . '-' . $invoice_num);
$redirectUrls = PayPal::RedirectUrls();
$redirectUrls->setReturnUrl(route('getDone'));
$redirectUrls->setCancelUrl(route('getCancel'));
$payment = PayPal::Payment();
$payment->setIntent('sale');
$payment->setPayer($payer);
$payment->setRedirectUrls($redirectUrls);
$payment->setTransactions(array($transaction));
$response = $payment->create($this->_apiContext);
$redirectUrl = $response->links[1]->href;
return redirect()->to($redirectUrl);
}
public function getDoneTest()
{
// $paymentId= "PAY-66Y799521H279203PLOP2X4Y";
// $payment = PayPal::getById($paymentId, $this->_apiContext);
// $obj = json_decode($payment);
// // var_dump($obj);
// $total = $obj->transactions[0]->amount->total;
// $currency = $obj->transactions[0]->amount->currency;
// $invoice_number = $obj->transactions[0]->invoice_number;
// return view('paypal.get_done')
// ->with('currency', $currency)
// ->with('total', $total);
// try {
// $invoice = PayPal::Invoice();
// echo $number = $invoice->generateNumber($this->_apiContext);
// } catch (Exception $ex) {
// echo $ex;
// }
}
public function getDone(Request $request)
{
$id = $request->get('paymentId');
$token = $request->get('token');
$payer_id = $request->get('PayerID');
$payment = PayPal::getById($id, $this->_apiContext);
$paymentExecution = PayPal::PaymentExecution();
$paymentExecution->setPayerId($payer_id);
$executePayment = $payment->execute($paymentExecution, $this->_apiContext);
// print_r($executePayment);
// if ($executePayment->getState() == 'approved') {
// /** it's all right **/
// /** Here Write your database logic like that insert record or value in database if you want **/
// // \Session::put('success','Payment success');
// // return Redirect::route('paywithpaypal');
// echo 'Payment success';
// }
$obj = json_decode($executePayment);
$line2 = null;
//details
$total = $obj->transactions[0]->amount->total;
$sub_total = $obj->transactions[0]->amount->details->subtotal;
$tax = $obj->transactions[0]->amount->details->tax;
$shipping = $obj->transactions[0]->amount->details->shipping;
$relatedResources = $obj->transactions[0]->related_resources[0];
$saleId = $relatedResources->sale->id; // transaction_id
$currency = $obj->transactions[0]->amount->currency;
$invoice_number = $obj->transactions[0]->invoice_number;
//shipping address details
$recipient_name = $obj->transactions[0]->item_list->shipping_address->recipient_name;
$line1 = $obj->transactions[0]->item_list->shipping_address->line1;
if (isset($obj->transactions[0]->item_list->shipping_address->line2)) {
$line2 = $obj->transactions[0]->item_list->shipping_address->line2;
}
$city = $obj->transactions[0]->item_list->shipping_address->city;
$state = $obj->transactions[0]->item_list->shipping_address->state;
$postal_code = $obj->transactions[0]->item_list->shipping_address->postal_code;
$country_code = $obj->transactions[0]->item_list->shipping_address->country_code;
// payer info
$payment_method = $obj->payer->payment_method;
$email = $obj->payer->payer_info->email;
$first_name = $obj->payer->payer_info->first_name;
$last_name = $obj->payer->payer_info->last_name;
$_payer_id = $obj->payer->payer_info->payer_id;
/// end paypal codes
$paypal_model = new PayPalModel;
$m = new TeamStoreModel;
$cartKey = $request->session()->get('cartkey');
$userId = Auth::user()->id;
$user_email = Auth::user()->email;
$items = $m->myCart($cartKey); // item from cart_tmp
$getSubtotal = $m->getSubtotal($cartKey);
$payment_details = array(
'UserId' => $userId,
'CartKey' => $cartKey,
'PaymentId' => $id,
'Token' => $token,
'PayerId' => $payer_id,
'InvoiceNumber' => $invoice_number,
'Currency' => $currency,
'Total' => $total,
'SubTotal' => $sub_total,
'Tax' => $tax,
'Payer_Email' => $email,
'Payer_Firstname' => $first_name,
'Payer_Lastname' => $last_name,
'PaymentMethod' => $payment_method,
'ShippingCost' => $shipping,
'TransactionId' => $saleId
);
$p_id = $paypal_model->insertToPaypalDetails($payment_details);
$shipping_address = array(
'PaymentDetail_Id' => $p_id,
'recipient_name' => $recipient_name,
'line1' => $line1,
'line2' => $line2,
'city' => $city,
'state' => $state,
'postal_code' => $postal_code,
'country_code' => $country_code,
);
// iinsert shipping address
$paypal_model->insertShippingAddress($shipping_address);
// insert order from cart_tmp to orders table
$l = $paypal_model->insertToOrders($cartKey); // insert to orders table
//email sending
$newUserModel = new UserModel;
$order_item_array = $newUserModel->selectOrderItem($cartKey);
$item_goup_array = $newUserModel->itemGroup($cartKey);
$item_thumbs = $newUserModel->selectDisplayItemThumb();
$array_payment_details = $newUserModel->selectPaymentDetails('CartKey', $cartKey);
$array_storename = $newUserModel->selectTeamStoreName($cartKey); // email subject
foreach ($array_storename as $storname) {
$sName[] = $storname->StoreName;
$sid[] = $storname->Id;
}
$sName = implode(", ", $sName);
$user_loginsArray = $newUserModel->selectUserLoginsWhereIn($sid);
foreach ($user_loginsArray as $userdata) {
$other_email[] = $userdata->other_email;
}
if ($other_email[0] != null) {
$other_email = implode(", ", $other_email);
$email_cc = "orders@crewsportswear.com" . "," . $other_email;
} else {
$email_cc = "orders@crewsportswear.com";
}
$explode_other_email = explode(",", $email_cc);
$data = array(
'order_item_array' => $order_item_array,
'item_goup_array' => $item_goup_array,
'img_thumb' => $item_thumbs,
'array_payment_details' => $array_payment_details,
'receiver' => $user_email,
'email_cc' => $explode_other_email,
'subject' => $sName . ' ORDERS',
);
Mail::send('emails.orders', $data, function ($message) use ($data) {
$message->from('no-reply@crewsportswear.com', 'CREW Sportswear');
$message->bcc($data['email_cc'], 'Orders From CREW Sportswear');
$message->to($data['receiver'])->subject($data['subject']);
});
// end email sending
$insertTracking = array(
"StepId" => 1,
"ScannedBy" => 1,
"InvoiceNumber" => $invoice_number,
"created_at" => date('Y-m-d H:i:s')
);
$ApiModel = new ApiModel;
$ApiModel->insertTracking($insertTracking);
$request->session()->forget('cartkey'); // clear session for cartkey
// redirect to thank you page.
return view('paypal.get_done')
->with('currency', $currency)
->with('total', $total);
}
public function getCancel(Request $request)
{
$m = new TeamStoreModel;
$cartKey = $request->session()->get('cartkey');
$items = $m->myCart($cartKey);
$getSubtotal = $m->getSubtotal($cartKey);
foreach ($items as $item) {
if ($item->VoucherId != null) {
$voucherIds[] = $item->VoucherId;
$voucher = $m->selectVoucherWhereIn($voucherIds);
$item_id = $item->Id;
$totalValue = $voucher[0]->VoucherValue;
if ($voucher[0]->VoucherType == "Percentage") {
$data = array(
'Price' => '00.00'
);
$m->updateVoucherValueInCart($data, $item_id);
} else {
$voucherData = array(
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
}
return redirect()->route('cart');
}
}

View File

@@ -0,0 +1,797 @@
<?php
namespace App\Http\Controllers\teamstore;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
// use Auth;
use Illuminate\Support\Facades\Auth;
use App\Models\teamstore\TeamStoreModel;
use App\Models\user\UserModel;
// use Mail;
use Illuminate\Support\Facades\Mail;
use Analytics;
class TeamStoreController extends Controller
{
public function index(Request $request, $teamStoreURL)
{
// var_dump($teamStoreURL);
$m = new TeamStoreModel;
$UserModel = new UserModel;
$store_array = $m->selectTeamStore('StoreUrl', $teamStoreURL);
$product_array = $m->selectTeamStoreProducts('TeamStoreId', $store_array[0]->Id);
$user_role = '';
if (Auth::check()) {
$user_role = Auth::user()->role;
$store_id = Auth::user()->store_id;
} else {
$user_role = null;
$store_id = null;
}
if ($store_array[0]->Password != null) {
if ($request->session()->get('teamstore_data_array') == null) {
if ($store_id != $store_array[0]->Id) {
return redirect('teamstore');
}
} else {
if ($user_role != "store_owner") {
if ($request->session()->get('teamstore_data_array')[0]->StoreUrl != $store_array[0]->StoreUrl) {
return redirect()->back();
}
}
}
}
foreach ($product_array as $p => $pr_arr) {
$thumbnails_array = $m->getProductThumbnails($pr_arr->Id);
if (!empty($thumbnails_array)) {
foreach ($thumbnails_array as $t => $thumb) {
if ($thumb->ImageClass == 'custom') {
$displayThumbnails = $thumb->Image;
break;
}
if ($thumb->ImageClass == 'active') {
$displayThumbnails = $thumb->Image;
break;
}
}
$thumbnails[] = array(
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => $displayThumbnails
);
} else {
$thumbnails[] = array(
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => "product-image-placeholder.png"
);
}
}
$getAnnouncement = $UserModel->getAnnouncement($store_array[0]->Id);
if (count($getAnnouncement) > 0) {
$data = $getAnnouncement[0];
} else {
$data = (object) array(
'Id' => 0,
'StoreId' => "",
'Announcement' => "",
'IsActive' => 0,
'DateCreated' => ""
);
}
return view('teamstore-sublayouts.index')
->with('store_array', $store_array)
->with('product_array', $product_array)
->with('announcement', $data)
->with('thumbnails', $thumbnails);
}
public function storelist(Request $request)
{
// $analyticsData = Analytics::getMostVisitedPages(14, 50);
// foreach($analyticsData as $key => $val){
// if (strpos($val['url'], 'teamstore') !== false) {
// $teamstore[] = $val['url'];
// }
// }
// foreach($teamstore as $t){
// $sad = explode('/', $t);
// if(count($sad) == 4){
// $arr_teamstore[] = explode('?', $sad['3'])['0'];
// }
// }
// var_dump(array_unique($arr_teamstore));
$m = new TeamStoreModel;
$q = $request->input('q');
$sort = $request->input('s');
if (isset($q) && isset($sort)) {
if ($sort == "latest") {
$field = "Id";
$sort_value = "DESC";
} elseif ($sort == "al-desc") {
$field = "StoreName";
$sort_value = "DESC";
} elseif ($sort == "oldest") {
$field = "Id";
$sort_value = "ASC";
} else {
$field = "StoreName";
$sort_value = "ASC";
}
if ($q != "") {
// keyword and sort
$stores_array = $m->selectTeamstoreSearch($field, $sort_value, $q);
} else {
// sort only
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
}
} else {
$field = "StoreName";
$sort_value = "ASC";
$sort = "al-asc";
$stores_array = $m->selectTeamstoreFilter($field, $sort_value);
}
return view('merchbay.index')
->with('stores_array', $stores_array)
->with('keyword', $q)
->with('filter', $sort);
}
public function checkTeamStorePassword(Request $request)
{
$m = new TeamStoreModel;
$post = $request->all();
$store_array = $m->checkStorePassword($post['store_id'], $post['password']);
if ($store_array) {
$request->session()->put('teamstore_data_array', $store_array);
return redirect('teamstore/' . $store_array[0]->StoreUrl);
} else {
return redirect()->back()->with('errors', 'Invalid Password.');
}
}
private $teams_array;
public function productDetails($teamStoreURL, $productURL)
{
$m = new TeamStoreModel;
$teams_array = array();
$store_array = $m->selectTeamStore('StoreUrl', $teamStoreURL);
$product_array = $m->selectTeamStoreProducts('ProductURL', $productURL);
$thumbnails_array = $m->getThumbnails($product_array[0]->Id);
$teams_array = $m->getTeams($product_array[0]->Id);
// $sizes_array = $m->getSizes();
if (empty($thumbnails_array)) {
$data = (object) array(
'Image' => 'product-image-placeholder.png',
'ImageClass' => 'active'
);
$thumbnails_array[] = $data;
}
$x = explode(",", $product_array[0]->AvailableSizes);
foreach ($x as $s) {
$h[] = $m->getSizesByBracket($s);
}
foreach ($h as $d) {
foreach ($d as $g) {
$sizes_array[] = $g;
}
}
if ($product_array[0]->ProductAvailableQty != null) {
$soldQty = $m->getSoldQty($product_array[0]->Id);
$availableQty = $product_array[0]->ProductAvailableQty - $soldQty[0]->SoldQty;
} else {
// echo 'no qty';
$availableQty = null;
}
// $product_array[0]->ProductAvailableQty
return view('teamstore-sublayouts.product-details')
->with('store_array', $store_array)
->with('product_array', $product_array)
->with('thumbnails_array', $thumbnails_array)
->with('teams_array', $teams_array)
->with('sizes_array', $sizes_array)
->with('available_qty', $availableQty);
}
public function login(Request $request)
{
return view('teamstore-sublayouts.login');
}
public function clearSession(Request $request)
{
$request->session()->forget('teamstore_data_array');
return redirect("{{ url('/') }}");
}
public function addNewRow(Request $request)
{
$post = $request->all();
$TeamStoreModel = new TeamStoreModel;
$item = $TeamStoreModel->selectTeamStoreProductByIdHash($post['p_id']);
$x = explode(",", $item[0]->AvailableSizes);
foreach ($x as $s) {
$h[] = $TeamStoreModel->getSizesByBracket($s);
}
foreach ($h as $d) {
foreach ($d as $g) {
$sizes_array[] = $g;
}
}
if ($item[0]->ProductAvailableQty != null) {
$soldQty = $TeamStoreModel->getSoldQty($item[0]->Id);
$availableQty = $item[0]->ProductAvailableQty - $soldQty[0]->SoldQty;
} else {
// echo 'no qty';
$availableQty = null;
}
$handle_form = view('teamstore-sublayouts.forms.' . $item[0]->ProductForm)
->with('sizes_array', $sizes_array)
->with('availableQty', $availableQty)
->render();
return $handle_form;
}
public function addToCart(Request $request)
{
$post = $request->all();
$m = new TeamStoreModel;
$hash_product_id = $post['p_id'];
if ($request->session()->has('cartkey')) {
$cartKey = $request->session()->get('cartkey');
} else {
$request->session()->put('cartkey', sha1(time() . str_random(6)));
$cartKey = $cartKey = $request->session()->get('cartkey');
}
$product_array = $m->selectTeamStoreProductByIdHash($hash_product_id);
$product_id = $product_array[0]->Id;
$TeamStoreId = $product_array[0]->TeamStoreId;
$ProductPrice = $product_array[0]->ProductPrice;
$ProductURL = $product_array[0]->ProductURL;
$product_form = $product_array[0]->ProductForm;
$design_code = $product_array[0]->DesignCode;
$product_name = $product_array[0]->ProductName;
$shipping_cost_id = $product_array[0]->ShippingCostId;
$teamstore_array = $m->selectTeamStore('Id', $TeamStoreId);
$store_url = $teamstore_array[0]->StoreUrl;
$store_id = $teamstore_array[0]->Id;
if ($product_form == "jersey-and-shorts-form") {
$order_names = $post['order_names'];
$order_number = $post['order_number'];
$order_jersey_size = $post['order_jersey_size'];
$order_shorts_size = $post['order_shorts_size'];
foreach ($order_names as $key => $val) {
if ($order_jersey_size[$key] == "none" || $order_shorts_size[$key] == "none") {
$final_price = $ProductPrice / 2;
} else {
$final_price = $ProductPrice;
}
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Name' => $order_names[$key],
'Number' => $order_number[$key],
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $final_price,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "tshirt-form") {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Size' => $post['uniformSize'],
'Price' => $ProductPrice,
'Quantity' => $post['quantity'],
'ShippingCostId' => $shipping_cost_id
);
} elseif ($product_form == "quantity-form") {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Price' => $ProductPrice,
'Quantity' => $post['quantity'],
'ShippingCostId' => $shipping_cost_id
);
} elseif ($product_form == "name-number-form") {
$order_names = $post['order_names'];
$order_number = $post['order_number'];
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Name' => $order_names[$key],
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "name-number-size-form") {
$order_names = $post['order_names'];
$order_number = $post['order_number'];
$order_size = $post['order_size'];
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Name' => $order_names[$key],
'Size' => $order_size[$key],
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "number-form") {
$order_number = $post['order_number'];
foreach ($order_number as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "name-name2-size-form") {
$order_names = $post['order_names'];
$order_names2 = $post['order_names2'];
$order_size = $post['order_size'];
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Name' => $order_names[$key],
'Name2' => $order_names2[$key],
'Size' => $order_size[$key],
'Price' => $ProductPrice,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "name-size-form") {
$order_names = $post['order_names'];
$order_size = $post['order_size'];
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Name' => $order_names[$key],
'Size' => $order_size[$key],
'Price' => $ProductPrice,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
} elseif ($product_form == "jersey-and-shorts-quantity-form") {
$order_shorts_size = $post['order_shorts_size'];
$order_jersey_size = $post['order_jersey_size'];
$quantity = $post['quantity'];
foreach ($order_jersey_size as $key => $val) {
if ($order_jersey_size[$key] != "none" || $order_shorts_size[$key] != "none") {
if ($order_jersey_size[$key] == "none" || $order_shorts_size[$key] == "none") {
$final_price = $ProductPrice / 2;
} else {
$final_price = $ProductPrice;
}
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $final_price,
'Quantity' => $quantity[$key],
'ShippingCostId' => $shipping_cost_id
);
}
}
} elseif ($product_form == "number-jersey-shorts-form") {
$order_number = $post['order_number'];
$order_jersey_size = $post['order_jersey_size'];
$order_shorts_size = $post['order_shorts_size'];
foreach ($order_number as $key => $val) {
if ($order_jersey_size[$key] == "none" || $order_shorts_size[$key] == "none") {
$final_price = $ProductPrice / 2;
} else {
$final_price = $ProductPrice;
}
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
'StoreId' => $store_id,
'FormUsed' => $product_form,
'CartKey' => $cartKey,
'DesignCode' => $design_code,
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Number' => $order_number[$key],
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $final_price,
'Quantity' => 1,
'ShippingCostId' => $shipping_cost_id
);
}
}
$i = $m->insertToCart($items);
if ($i['i']) {
return response()->json(array(
'success' => true
));
}
return response()->json(array(
'success' => false,
'message' => "Something went wrong. Please refresh the page."
));
}
public function cart(Request $request)
{
$m = new TeamStoreModel;
$cartKey = $request->session()->get('cartkey');
$items = $m->myCart($cartKey);
$getSubtotal = $m->getSubtotal($cartKey);
$items_group = $m->myCartGroup($cartKey);
//var_dump($items_group);
$grouped_item = $m->selectTeamStoreGroupByCartKey($cartKey);
if ($grouped_item) {
$defId = $grouped_item[0]->StoreId;
} else {
$defId = 0;
}
$item_thumbs = $m->selectDisplayCartThumb();
$store_array = $m->selectTeamStore('Id', $defId);
if ($items) {
$voucherIds = array();
foreach ($items as $item) {
if ($item->VoucherId != null) {
$voucherIds[] = $item->VoucherId;
}
}
$vouchers = $m->selectVoucherWhereIn($voucherIds);
}
$totalValue = 0;
if (!empty($vouchers)) {
foreach ($vouchers as $voucher) {
$totalValue = $totalValue + $voucher->VoucherValue;
if ($voucher->VoucherType == "Percentage") {
$voucherData = array(
'totalValue' => $totalValue,
'type' => 'Percentage'
);
} else {
$voucherData = array(
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
if ($voucherData['type'] == "Percentage") {
$getPercentageValue = $voucherData['totalValue'] / 100;
$getDiscountValue = ($getSubtotal[0]->Subtotal * $getPercentageValue);
$finalSubTotal = $getSubtotal[0]->Subtotal - $getDiscountValue;
} else {
//Flat voucher computation here..
}
} else {
$finalSubTotal = $getSubtotal[0]->Subtotal;
}
return view('sublayouts.cart')
->with('item_group', $items_group)
->with('row', $items)
->with('img_thumb', $item_thumbs)
->with('getSubtotal', $finalSubTotal)
->with('store_array', $store_array);
}
public function addVoucher(Request $request)
{
$cartKey = $request->session()->get('cartkey');
if ($cartKey == "") {
return false;
}
$TeamStoreModel = new TeamStoreModel;
$post = $request->all();
$grouped_item = $TeamStoreModel->selectTeamStoreGroupByCartKey($cartKey);
$store_id = $grouped_item[0]->StoreId;
$vocher = $post['voucher'];
$store_array = $TeamStoreModel->selectTeamStore('Id', $grouped_item[0]->StoreId);
$getSubtotal = $TeamStoreModel->getSubtotal($cartKey);
$data = array(
'store_id' => $store_id,
'voucher' => $vocher
);
$getVoucher = $TeamStoreModel->selectVoucher($data);
if ($getVoucher) {
$items = $TeamStoreModel->myCart($cartKey);
// check if if voucher is already in used;
foreach ($items as $item) {
if ($getVoucher[0]->Id == $item->VoucherId) {
return response()->json(array(
'success' => false,
'message' => 'This voucher is already in used.'
));
}
}
// insert vocuher to cart_tmp
$voucherData = array(
'VoucherId' => $getVoucher[0]->Id,
'StoreURL' => $store_array[0]->StoreUrl,
'StoreId' => $store_array[0]->Id,
'CartKey' => $cartKey,
'ProductName' => $getVoucher[0]->VoucherCode,
'Price' => '00.00',
'Quantity' => 1
);
$i = $TeamStoreModel->insertToCart($voucherData);
$lastId = $i['lastId'];
$removeItemURL = url('removeitem') . '/' . $lastId;
//get all voucher used.
$updated_items = $TeamStoreModel->myCart($cartKey);
foreach ($updated_items as $item) {
if ($item->VoucherId != null) {
$voucherIds[] = $item->VoucherId;
}
}
$vouchers = $TeamStoreModel->selectVoucherWhereIn($voucherIds);
$totalValue = 0;
if (!empty($vouchers)) {
foreach ($vouchers as $voucher) {
$totalValue = $totalValue + $voucher->VoucherValue;
if ($voucher->VoucherType == "Percentage") {
$voucherData = array(
'totalValue' => $totalValue,
'type' => 'Percentage'
);
} else {
$voucherData = array(
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
if ($voucherData['type'] == "Percentage") {
$getPercentageValue = $voucherData['totalValue'] / 100;
$getDiscountValue = ($getSubtotal[0]->Subtotal * $getPercentageValue);
$finalSubTotal = $getSubtotal[0]->Subtotal - $getDiscountValue;
} else {
//Flat voucher computation here..
}
} else {
$finalSubTotal = $getSubtotal[0]->Subtotal;
}
if ($getVoucher[0]->VoucherType == "Percentage") {
$offData = $getVoucher[0]->VoucherValue . '%';
} else {
$offData = $getVoucher[0]->VoucherValue . ' ' . $store_array[0]->StoreCurrency;
}
$message = '<div class="btn-group">
<button type="button" class="btn btn-default btn-xs">' . $getVoucher[0]->VoucherCode . ' ' . $offData . ' OFF</button>
<button type="button" class="btn btn-default dropdown-toggle btn-xs" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only"></span>
</button>
<ul class="dropdown-menu">
<li><a href="' . $removeItemURL . '"><i class="fa fa-times"></i> Remove</a></li>
</ul>
</div>';
// return success
return response()->json(array(
'success' => true,
'message' => $message,
'subtotal' => $finalSubTotal
));
} else {
return response()->json(array(
'success' => false,
'message' => "Sorry, the voucher code is invalid. Please try again."
));
}
}
public function checkout(Request $request)
{
$m = new TeamStoreModel;
$cartKey = $request->session()->get('cartkey');
$usermodel = new UserModel;
$userId = Auth::user()->id;
$array_address_book = $usermodel->selectAddresBook('UserId', $userId);
// var_dump($array_address_book);
$items = $m->myCart($cartKey);
$getSubtotal = $m->getSubtotal($cartKey);
return view('sublayouts.checkout')
->with('row', $items)
->with('getSubtotal', $getSubtotal)
->with('array_address_book', $array_address_book);
}
public function mail()
{
// $user = User::find(1)->toArray();
// var_dump($user);
// Mail::send('emails.mailExample', $user, function($message) use ($user) {
// $message->to($user->email);
// $message->subject('E-Mail Example');
// });
// dd('Mail Send Successfully');
Mail::raw('Text to e-mail', function ($message) {
$message->from('us@example.com', 'Laravel');
$message->to('frank.begornia@yahoo.com')->subject('sample email');
});
}
}

File diff suppressed because it is too large Load Diff