added shipping fee

This commit is contained in:
franknstayn
2020-05-12 20:52:21 +08:00
parent bca94e54cc
commit a2cddafa5f
7 changed files with 417 additions and 374 deletions

View File

@@ -6,7 +6,7 @@
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$public /$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.crewsportswear.com/beta/$1 [R,L]
#RewriteRule ^(.*)$ https://www.crewsportswear.com/beta/$1 [R,L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

View File

@@ -1,4 +1,6 @@
<?php namespace App\Http\Controllers\paypal;
<?php
namespace App\Http\Controllers\paypal;
use App\Http\Requests;
use App\Http\Controllers\Controller;
@@ -13,66 +15,65 @@ use Session;
use Redirect;
use Mail;
class PaypalController extends Controller {
class PaypalController extends Controller
{
private $_apiContext;
public function __construct()
{
$this->_apiContext = PayPal::ApiContext(
config('services.paypal.client_id'),
config('services.paypal.secret'));
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',
'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 payPremium()
{
return view('payPremium');
}
public function getCheckout(Request $request)
public function getCheckout(Request $request)
{
if(Auth::guest()){
if (Auth::guest()) {
$message = 'Please <a href="'. url('auth/login'). '">Sign in</a> to your account to proceed.';
$message = 'Please <a href="' . url('auth/login') . '">Sign in</a> to your account to proceed.';
Session::flash('msg', $message);
return Redirect::back();
}
$payer = PayPal::Payer();
$payer->setPaymentMethod('paypal');
$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);
$invoice_num = str_pad($last_id[0]->Id, 4, '0', STR_PAD_LEFT);
$cartKey = $request->session()->get('cartkey');
$items = $m->myCart($cartKey);
@@ -80,15 +81,15 @@ class PaypalController extends Controller {
$getSubtotal = $m->getSubtotal($cartKey);
$grouped_item = $m->selectTeamStoreGroupByCartKey($cartKey);
$store_array = $m->selectTeamStore('Id', $grouped_item[0]->StoreId);
$shipping_charges = 0;
foreach($items as $item){
if($item->VoucherId != null){
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"){
if ($voucher[0]->VoucherType == "Percentage") {
$getPercentageValue = $totalValue / 100;
$getDiscountValue = ($getSubtotal[0]->Subtotal * $getPercentageValue);
$data = array(
@@ -96,13 +97,15 @@ class PaypalController extends Controller {
);
$m->updateVoucherValueInCart($data, $item_id);
}else{
} else {
$voucherData = array(
'totalValue'=> $totalValue,
'type'=>'Flat'
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
$shipping_charges += $item->ShippingFee * $item->Quantity;
}
$order_items = array();
@@ -112,15 +115,15 @@ class PaypalController extends Controller {
// $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){
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) {
$tax_value = 0;
}else{
} else {
$tax_value = 0.10;
}
$tax = $order_grandtotal * $tax_value;
foreach($updated_items as $key => $item){
foreach ($updated_items as $key => $item) {
// $descriptions = "Name: " . $item->Name . " Number: " . $item->Number . " Size: " . $item->Size;"?"
@@ -131,19 +134,20 @@ class PaypalController extends Controller {
// $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($shipping_charges);
$amount = PayPal::Amount();
$amount->setCurrency($store_array[0]->StoreCurrency);
$amount->setDetails($amount_details);
$amount->setTotal($order_grandtotal + $tax);
$amount->setTotal($order_grandtotal + $tax + $shipping_charges);
$transaction = PayPal::Transaction();
$transaction->setAmount($amount);
@@ -152,23 +156,23 @@ class PaypalController extends Controller {
// $transaction->setDescription('Your transaction description');
$transaction->setInvoiceNumber(date('Ymd') . '-' . $invoice_num);
$redirectUrls = PayPal:: RedirectUrls();
$redirectUrls->setReturnUrl(route('getDone'));
$redirectUrls->setCancelUrl(route('getCancel'));
$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));
$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;
$response = $payment->create($this->_apiContext);
$redirectUrl = $response->links[1]->href;
return redirect()->to( $redirectUrl );
return redirect()->to($redirectUrl);
}
public function getDoneTest()
@@ -198,25 +202,25 @@ class PaypalController extends Controller {
public function getDone(Request $request)
{
$id = $request->get('paymentId');
$token = $request->get('token');
$payer_id = $request->get('PayerID');
$id = $request->get('paymentId');
$token = $request->get('token');
$payer_id = $request->get('PayerID');
$payment = PayPal::getById($id, $this->_apiContext);
$payment = PayPal::getById($id, $this->_apiContext);
$paymentExecution = PayPal::PaymentExecution();
$paymentExecution->setPayerId($payer_id);
$executePayment = $payment->execute($paymentExecution, $this->_apiContext);
$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 **/
// /** 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');
// // \Session::put('success','Payment success');
// // return Redirect::route('paywithpaypal');
// echo 'Payment success';
// }
@@ -229,6 +233,13 @@ class PaypalController extends Controller {
$total = $obj->transactions[0]->amount->total;
$sub_total = $obj->transactions[0]->amount->details->subtotal;
$tax = $obj->transactions[0]->amount->details->tax;
$shipping_cost = $obj->transactions[0]->amount->details->shipping;
$relatedResources = $obj->transactions[0]->related_resources[0];
$saleId = $relatedResources->sale->id; // transaction_id
//
// $sale = $relatedResources[0]->getSale();
// echo $saleId = $sale->getId();
$currency = $obj->transactions[0]->amount->currency;
$invoice_number = $obj->transactions[0]->invoice_number;
@@ -236,7 +247,7 @@ class PaypalController extends Controller {
//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)){
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;
@@ -263,23 +274,23 @@ class PaypalController extends Controller {
$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
);
'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_cost,
'TransactionId' => $saleId,
);
$p_id = $paypal_model->insertToPaypalDetails($payment_details);
@@ -308,29 +319,30 @@ class PaypalController extends Controller {
$array_storename = $newUserModel->selectTeamStoreName($cartKey); // email subject
foreach($array_storename as $storname){
foreach ($array_storename as $storname) {
$sName[] = $storname->StoreName;
$sid[] = $storname->Id;
}
$sName = implode (", ", $sName);
$sName = implode(", ", $sName);
$user_loginsArray = $newUserModel->selectUserLoginsWhereIn($sid);
foreach($user_loginsArray as $userdata){
foreach ($user_loginsArray as $userdata) {
$other_email[] = $userdata->other_email;
}
if($other_email[0] != null){
$other_email = implode (", ", $other_email);
if ($other_email[0] != null) {
$other_email = implode(", ", $other_email);
$email_cc = "orders@crewsportswear.com" . "," . $other_email;
}else{
} else {
$email_cc = "orders@crewsportswear.com";
}
$explode_other_email = explode(",", $email_cc);
// $explode_other_email = explode(",", $email_cc);
$explode_other_email = "orders@crewsportswear.com"; // test_email
$data = array(
'order_item_array' => $order_item_array,
@@ -347,8 +359,9 @@ class PaypalController extends Controller {
$message->bcc($data['email_cc'], 'Orders From CREW Sportswear');
$message->to($data['receiver'])->subject($data['subject']);
});
// end email sending
// end email sending
$m->delete_cartTmp("CartKey", $cartKey);
$request->session()->forget('cartkey'); // clear session for cartkey
// redirect to thank you page.
@@ -367,27 +380,26 @@ class PaypalController extends Controller {
$items = $m->myCart($cartKey);
$getSubtotal = $m->getSubtotal($cartKey);
foreach($items as $item){
if($item->VoucherId != null){
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"){
if ($voucher[0]->VoucherType == "Percentage") {
$data = array(
'Price' => '00.00'
);
$m->updateVoucherValueInCart($data, $item_id);
}else{
} else {
$voucherData = array(
'totalValue'=> $totalValue,
'type'=>'Flat'
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
}
return redirect()->route('cart');
return redirect()->route('cart');
}
}

View File

@@ -1,4 +1,6 @@
<?php namespace App\Http\Controllers\teamstore;
<?php
namespace App\Http\Controllers\teamstore;
use App\Http\Requests;
use App\Http\Controllers\Controller;
@@ -11,7 +13,8 @@ use Mail;
use Analytics;
class TeamStoreController extends Controller {
class TeamStoreController extends Controller
{
public function index(Request $request, $teamStoreURL)
{
@@ -21,28 +24,27 @@ class TeamStoreController extends Controller {
$product_array = $m->selectTeamStoreProducts('TeamStoreId', $store_array[0]->Id);
$user_role = '';
if (Auth::check()){
if (Auth::check()) {
$user_role = Auth::user()->role;
$store_id = Auth::user()->store_id;
}else{
} 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){
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{
} else {
if($user_role != "store_owner"){
if($request->session()->get('teamstore_data_array')[0]->StoreUrl != $store_array[0]->StoreUrl){
if ($user_role != "store_owner") {
if ($request->session()->get('teamstore_data_array')[0]->StoreUrl != $store_array[0]->StoreUrl) {
return redirect()->back();
}
}
}
}
@@ -50,41 +52,40 @@ class TeamStoreController extends Controller {
foreach ($product_array as $p => $pr_arr) {
$thumbnails_array = $m->getProductThumbnails($pr_arr->Id);
if(!empty($thumbnails_array)){
if (!empty($thumbnails_array)) {
foreach ($thumbnails_array as $t => $thumb) {
if($thumb->ImageClass == 'custom'){
if ($thumb->ImageClass == 'custom') {
$displayThumbnails = $thumb->Image;
break;
}
if($thumb->ImageClass == 'active'){
if ($thumb->ImageClass == 'active') {
$displayThumbnails = $thumb->Image;
break;
}
}
$thumbnails[] = array(
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => $displayThumbnails
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => $displayThumbnails
);
}else{
} else {
$thumbnails[] = array(
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => "product-image-placeholder.png"
'folder' => $store_array[0]->ImageFolder,
'product_id' => $pr_arr->Id,
'thumb' => "product-image-placeholder.png"
);
}
}
// var_dump($thumbnails);
return view('teamstore-sublayouts.index')
->with('store_array', $store_array)
->with('product_array', $product_array)
->with('thumbnails', $thumbnails);
->with('store_array', $store_array)
->with('product_array', $product_array)
->with('thumbnails', $thumbnails);
}
public function storelist(Request $request)
@@ -112,31 +113,30 @@ class TeamStoreController extends Controller {
$q = $request->input('q');
$sort = $request->input('s');
if(isset($q) && isset($sort)){
if (isset($q) && isset($sort)) {
if($sort == "latest"){
if ($sort == "latest") {
$field = "Id";
$sort_value = "DESC";
}elseif($sort == "al-desc"){
$field = "StoreName";
$sort_value = "DESC";
}elseif($sort == "oldest"){
} elseif ($sort == "al-desc") {
$field = "StoreName";
$sort_value = "DESC";
} elseif ($sort == "oldest") {
$field = "Id";
$sort_value = "ASC";
}else{
$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{
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";
@@ -144,9 +144,9 @@ class TeamStoreController extends Controller {
}
return view('teamstore-sublayouts.stores')
->with('stores_array', $stores_array)
->with('keyword', $q)
->with('filter', $sort);
->with('stores_array', $stores_array)
->with('keyword', $q)
->with('filter', $sort);
}
public function checkTeamStorePassword(Request $request)
@@ -155,14 +155,12 @@ class TeamStoreController extends Controller {
$post = $request->all();
$store_array = $m->selectTeamStore('Password', $post['password']);
if($store_array){
if ($store_array) {
$request->session()->put('teamstore_data_array', $store_array);
return redirect('teamstore/'. $store_array[0]->StoreUrl);
}else{
return redirect('teamstore/' . $store_array[0]->StoreUrl);
} else {
return redirect()->back()->with('errors', 'Invalid Password.');
}
}
private $teams_array;
@@ -178,46 +176,44 @@ class TeamStoreController extends Controller {
$teams_array = $m->getTeams($product_array[0]->Id);
// $sizes_array = $m->getSizes();
if(empty($thumbnails_array)){
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){
$x = explode(",", $product_array[0]->AvailableSizes);
foreach ($x as $s) {
$h[] = $m->getSizesByBracket($s);
}
foreach($h as $d){
foreach($d as $g){
foreach ($h as $d) {
foreach ($d as $g) {
$sizes_array[] = $g;
}
}
if($product_array[0]->ProductAvailableQty != null){
if ($product_array[0]->ProductAvailableQty != null) {
$soldQty = $m->getSoldQty($product_array[0]->Id);
$availableQty = $product_array[0]->ProductAvailableQty - $soldQty[0]->SoldQty;
}else{
} 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);
->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)
@@ -239,32 +235,30 @@ class TeamStoreController extends Controller {
$item = $TeamStoreModel->selectTeamStoreProductByIdHash($post['p_id']);
$x = explode(",", $item[0]->AvailableSizes);
foreach($x as $s){
foreach ($x as $s) {
$h[] = $TeamStoreModel->getSizesByBracket($s);
}
foreach($h as $d){
foreach($d as $g){
foreach ($h as $d) {
foreach ($d as $g) {
$sizes_array[] = $g;
}
}
if($item[0]->ProductAvailableQty != null){
if ($item[0]->ProductAvailableQty != null) {
$soldQty = $m->getSoldQty($product_array[0]->Id);
$availableQty = $item[0]->ProductAvailableQty - $soldQty[0]->SoldQty;
}else{
} else {
// echo 'no qty';
$availableQty = null;
}
$handle_form = view('teamstore-sublayouts.forms.' . $item[0]->ProductForm )
->with('sizes_array', $sizes_array)
->with('availableQty', $availableQty)
->render();
$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)
@@ -273,9 +267,9 @@ class TeamStoreController extends Controller {
$m = new TeamStoreModel;
$hash_product_id = $post['p_id'];
if($request->session()->has('cartkey')){
if ($request->session()->has('cartkey')) {
$cartKey = $request->session()->get('cartkey');
}else{
} else {
$request->session()->put('cartkey', sha1(time() . str_random(6)));
$cartKey = $cartKey = $request->session()->get('cartkey');
}
@@ -288,23 +282,24 @@ class TeamStoreController extends Controller {
$product_form = $product_array[0]->ProductForm;
$design_code = $product_array[0]->DesignCode;
$product_name = $product_array[0]->ProductName;
$shipping_fee = $product_array[0]->ShippingFee;
$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"){
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){
foreach ($order_names 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{
} else {
$final_price = $ProductPrice;
}
@@ -322,10 +317,11 @@ class TeamStoreController extends Controller {
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $final_price,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}elseif($product_form == "tshirt-form"){
} elseif ($product_form == "tshirt-form") {
$items[] = array(
'ProductId' => $product_id,
@@ -338,9 +334,10 @@ class TeamStoreController extends Controller {
'ProductName' => $product_name,
'Size' => $post['uniformSize'],
'Price' => $ProductPrice,
'Quantity' => $post['quantity']
'Quantity' => $post['quantity'],
'ShippingFee' => $shipping_fee
);
}elseif($product_form == "quantity-form"){
} elseif ($product_form == "quantity-form") {
$items[] = array(
'ProductId' => $product_id,
@@ -352,16 +349,15 @@ class TeamStoreController extends Controller {
'ProductURL' => $ProductURL,
'ProductName' => $product_name,
'Price' => $ProductPrice,
'Quantity' => $post['quantity']
'Quantity' => $post['quantity'],
'ShippingFee' => $shipping_fee
);
}elseif($product_form == "name-number-form"){
} elseif ($product_form == "name-number-form") {
$order_names = $post['order_names'];
$order_number = $post['order_number'];
foreach($order_names as $key => $val){
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
@@ -374,16 +370,17 @@ class TeamStoreController extends Controller {
'Name' => $order_names[$key],
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}elseif($product_form == "name-number-size-form"){
} 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){
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
@@ -397,15 +394,15 @@ class TeamStoreController extends Controller {
'Size' => $order_size[$key],
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}elseif($product_form == "number-form"){
} elseif ($product_form == "number-form") {
$order_number = $post['order_number'];
foreach($order_number as $key => $val){
foreach ($order_number as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
@@ -417,16 +414,17 @@ class TeamStoreController extends Controller {
'ProductName' => $product_name,
'Number' => $order_number[$key],
'Price' => $ProductPrice,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}elseif($product_form == "name-name2-size-form"){
} 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){
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
@@ -440,15 +438,16 @@ class TeamStoreController extends Controller {
'Name2' => $order_names2[$key],
'Size' => $order_size[$key],
'Price' => $ProductPrice,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}elseif($product_form == "name-size-form"){
} elseif ($product_form == "name-size-form") {
$order_names = $post['order_names'];
$order_size = $post['order_size'];
foreach($order_names as $key => $val){
foreach ($order_names as $key => $val) {
$items[] = array(
'ProductId' => $product_id,
'StoreURL' => $store_url,
@@ -461,21 +460,22 @@ class TeamStoreController extends Controller {
'Name' => $order_names[$key],
'Size' => $order_size[$key],
'Price' => $ProductPrice,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}elseif($product_form == "jersey-and-shorts-quantity-form"){
} 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"){
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"){
if ($order_jersey_size[$key] == "none" || $order_shorts_size[$key] == "none") {
$final_price = $ProductPrice / 2;
}else{
} else {
$final_price = $ProductPrice;
}
@@ -491,22 +491,22 @@ class TeamStoreController extends Controller {
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $final_price,
'Quantity' => $quantity[$key]
'Quantity' => $quantity[$key],
'ShippingFee' => $shipping_fee
);
}
}
}elseif($product_form == "number-jersey-shorts-form"){
} 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){
foreach ($order_number 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{
} else {
$final_price = $ProductPrice;
}
@@ -523,14 +523,15 @@ class TeamStoreController extends Controller {
'JerseySize' => $order_jersey_size[$key],
'ShortsSize' => $order_shorts_size[$key],
'Price' => $final_price,
'Quantity' => 1
'Quantity' => 1,
'ShippingFee' => $shipping_fee
);
}
}
$i = $m->insertToCart($items);
if($i['i']){
if ($i['i']) {
return response()->json(array(
'success' => true
));
@@ -543,7 +544,8 @@ class TeamStoreController extends Controller {
));
}
public function cart(Request $request){
public function cart(Request $request)
{
$m = new TeamStoreModel;
$cartKey = $request->session()->get('cartkey');
@@ -552,66 +554,70 @@ class TeamStoreController extends Controller {
$items_group = $m->myCartGroup($cartKey);
//var_dump($items_group);
$grouped_item = $m->selectTeamStoreGroupByCartKey($cartKey);
if($grouped_item){
if ($grouped_item) {
$defId = $grouped_item[0]->StoreId;
}else{
} else {
$defId = 0;
}
$item_thumbs = $m->selectDisplayCartThumb();
$store_array = $m->selectTeamStore('Id', $defId);
$shipping_cost = 0;
if($items){
if ($items) {
$voucherIds = array();
foreach($items as $item){
if($item->VoucherId != null){
foreach ($items as $item) {
if ($item->VoucherId != null) {
$voucherIds[] = $item->VoucherId;
}
$shipping_cost += $item->ShippingFee * $item->Quantity;
}
$vouchers = $m->selectVoucherWhereIn($voucherIds);
}
$totalValue = 0;
if(!empty($vouchers)){
foreach($vouchers as $voucher){
if (!empty($vouchers)) {
foreach ($vouchers as $voucher) {
$totalValue = $totalValue + $voucher->VoucherValue;
if($voucher->VoucherType == "Percentage"){
if ($voucher->VoucherType == "Percentage") {
$voucherData = array(
'totalValue'=> $totalValue,
'type'=>'Percentage'
'totalValue' => $totalValue,
'type' => 'Percentage'
);
}else{
} else {
$voucherData = array(
'totalValue'=> $totalValue,
'type'=>'Flat'
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
if($voucherData['type'] == "Percentage"){
if ($voucherData['type'] == "Percentage") {
$getPercentageValue = $voucherData['totalValue'] / 100;
$getDiscountValue = ($getSubtotal[0]->Subtotal * $getPercentageValue);
$finalSubTotal = $getSubtotal[0]->Subtotal - $getDiscountValue;
}else{
} else {
//Flat voucher computation here..
}
}else{
} 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);
->with('item_group', $items_group)
->with('row', $items)
->with('img_thumb', $item_thumbs)
->with('getSubtotal', $finalSubTotal)
->with('store_array', $store_array)
->with('shipping_cost', $shipping_cost);
}
public function addVoucher(Request $request){
public function addVoucher(Request $request)
{
$cartKey = $request->session()->get('cartkey');
if($cartKey == ""){
if ($cartKey == "") {
return false;
}
@@ -631,12 +637,12 @@ class TeamStoreController extends Controller {
$getVoucher = $TeamStoreModel->selectVoucher($data);
if($getVoucher){
if ($getVoucher) {
$items = $TeamStoreModel->myCart($cartKey);
// check if if voucher is already in used;
foreach($items as $item){
if($getVoucher[0]->Id == $item->VoucherId){
foreach ($items as $item) {
if ($getVoucher[0]->Id == $item->VoucherId) {
return response()->json(array(
'success' => false,
'message' => 'This voucher is already in used.'
@@ -661,59 +667,58 @@ class TeamStoreController extends Controller {
//get all voucher used.
$updated_items = $TeamStoreModel->myCart($cartKey);
foreach($updated_items as $item){
if($item->VoucherId != null){
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){
if (!empty($vouchers)) {
foreach ($vouchers as $voucher) {
$totalValue = $totalValue + $voucher->VoucherValue;
if($voucher->VoucherType == "Percentage"){
if ($voucher->VoucherType == "Percentage") {
$voucherData = array(
'totalValue'=> $totalValue,
'type'=>'Percentage'
'totalValue' => $totalValue,
'type' => 'Percentage'
);
}else{
} else {
$voucherData = array(
'totalValue'=> $totalValue,
'type'=>'Flat'
'totalValue' => $totalValue,
'type' => 'Flat'
);
}
}
if($voucherData['type'] == "Percentage"){
if ($voucherData['type'] == "Percentage") {
$getPercentageValue = $voucherData['totalValue'] / 100;
$getDiscountValue = ($getSubtotal[0]->Subtotal * $getPercentageValue);
$finalSubTotal = $getSubtotal[0]->Subtotal - $getDiscountValue;
}else{
} else {
//Flat voucher computation here..
}
}else{
} else {
$finalSubTotal = $getSubtotal[0]->Subtotal;
}
if($getVoucher[0]->VoucherType == "Percentage"){
if ($getVoucher[0]->VoucherType == "Percentage") {
$offData = $getVoucher[0]->VoucherValue . '%';
}else{
} 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 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>
<li><a href="' . $removeItemURL . '"><i class="fa fa-times"></i> Remove</a></li>
</ul>
</div>';
@@ -721,12 +726,9 @@ class TeamStoreController extends Controller {
return response()->json(array(
'success' => true,
'message' => $message,
'subtotal' =>$finalSubTotal
'subtotal' => $finalSubTotal
));
}else{
} else {
return response()->json(array(
'success' => false,
@@ -752,10 +754,9 @@ class TeamStoreController extends Controller {
$getSubtotal = $m->getSubtotal($cartKey);
return view('sublayouts.checkout')
->with('row', $items)
->with('getSubtotal', $getSubtotal)
->with('array_address_book', $array_address_book);
->with('row', $items)
->with('getSubtotal', $getSubtotal)
->with('array_address_book', $array_address_book);
}
public function mail()
@@ -771,13 +772,10 @@ class TeamStoreController extends Controller {
// dd('Mail Send Successfully');
Mail::raw('Text to e-mail', function($message)
{
Mail::raw('Text to e-mail', function ($message) {
$message->from('us@example.com', 'Laravel');
$message->to('frank.begornia@yahoo.com')->subject('sample email');
});
}
}

View File

@@ -219,4 +219,10 @@ class TeamStoreModel extends Model {
return $i;
}
function delete_cartTmp($field, $cartKey){
$i = DB::table('cart_tmp')
->where($field, $cartKey)
->delete();
return $i;
}
}

View File

@@ -35,15 +35,15 @@ return [
],
// sandbox
/* 'paypal' => [
'client_id' => 'AQuz-HKzQiL7FygkG8skSekaWf-RP6Rgj4f1XeX1Ghp86bUFj7tQXVT1xbpluu5_WCGRbQpOVGtlJKVB',
'secret' => 'EJAMKxQsl-mFkL_4J_90cvTamYfcsgswqgIxz9wQPiRAwJ6sy_wNsttMlmrXIpxI96JpYzdMXkLCHAPz'
], */
// live
'paypal' => [
'client_id' => 'AUqBUFW5lfyYmrlBtFZA3RNw45sttM3ltbvS_d4qCVBMrkcMG9rEeivGvtNFSy8XTiEp50YyQ6khKxbq',
'secret' => 'ELlnuiupoFKwGUSc2g5j-sD1EmsvKpdhth1gFV7njpfvyNtKsK8WwIKUMOS0ehJcRatV865eMhfgsnd_'
'paypal' => [
'client_id' => 'AR1FObcz7lD_p53BJpOw1Frf0hIJ1-VOArYoDnsNJXVvoxjYv6mOKBBvdvZBzQcpBPfB_AJnofdalO0t',
'secret' => 'EK0CB8Re802HTxLQawwjAYzOu-SxrFOwuVG7qZ_nSovwgkp77wVs6k4XelXj2v5Il5llCFzsWs_Eb4o-'
],
// live
// 'paypal' => [
// 'client_id' => 'AUqBUFW5lfyYmrlBtFZA3RNw45sttM3ltbvS_d4qCVBMrkcMG9rEeivGvtNFSy8XTiEp50YyQ6khKxbq',
// 'secret' => 'ELlnuiupoFKwGUSc2g5j-sD1EmsvKpdhth1gFV7njpfvyNtKsK8WwIKUMOS0ehJcRatV865eMhfgsnd_'
// ],
];

View File

@@ -387,6 +387,10 @@
<td class="col-md-3">Tax</td>
<td>{{ $array_payment_details[0]->Tax . ' ' . $array_payment_details[0]->Currency }}</td>
</tr>
<tr>
<td class="col-md-3">Shipping Fee</td>
<td>{{ $array_payment_details[0]->ShippingCost . ' ' . $array_payment_details[0]->Currency }}</td>
</tr>
<tr>
<td class="col-md-3">Total</td>
<td>{{ $array_payment_details[0]->Total . ' ' . $array_payment_details[0]->Currency }}</td>

View File

@@ -46,14 +46,37 @@
</div>
<div style="border: 1px solid #e2e2e2; padding: 10px; border-bottom: none;">
<h3>Subtotal: <span id="my_subtotal">{{ round($getSubtotal, 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</small></h3>
{{-- <h3>Subtotal: <span id="my_subtotal">{{ round($getSubtotal, 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</small></h3> --}}
<div class="alert alert-info">
<a href="#" class="close" data-dismiss="alert" aria-label="close">&times;</a>
<p>Free Shipping on orders with subtotal over 150.00 {{ $store_array[0]->StoreCurrency }}</p>
</div>
<table class="table table-bordered">
<tr>
<th>Subtotal</th>
<td>{{ round($getSubtotal, 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</td>
</tr>
<tr>
<th>Tax</th>
<td>{{ round($getSubtotal, 2) * 0.10 }}</span> <small>{{ $store_array[0]->StoreCurrency }}</td>
</tr>
<tr>
<th>Shipping Fee</th>
<td>{{ round($shipping_cost, 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</td>
</tr>
<tr>
<th><h5>Total<h5></th>
<td><h5>{{ round($getSubtotal + $shipping_cost + ($getSubtotal * 0.10), 2) }}</span> <small>{{ $store_array[0]->StoreCurrency }}</h5></td>
</tr>
</table>
<hr>
<div class="form-group" id="voucher_list">
@foreach($row as $item)
@if($item->VoucherId != null)
<div class="btn-group">
@if($item->VoucherType == "Percentage")
<button type="button" class="btn btn-default btn-xs">{{ $item->VoucherCode . ' ' . $item->VoucherValue . '%' }} OFF</button>
<button type="button" class="btn btn-default btn-xs">{{ $item->VoucherCode . ' ' . $item->VoucherValue . '%' }} OFF</button>
@else
<button type="button" class="btn btn-default btn-xs">{{ $item->VoucherCode . ' ' . $item->VoucherValue . ' ' . $store_array[0]->StoreCurrency }} OFF</button>
@endif