Files
crewsportswear/app/Http/Controllers/user/UserController.php
2021-11-03 21:30:42 +08:00

1188 lines
32 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php namespace App\Http\Controllers\user;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\Models\user\UserModel;
use App\Models\teamstore\TeamStoreModel;
use App\Models\MainModel;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Mail;
use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Facades\Storage;
class UserController extends Controller {
public function index(){
$m = new UserModel;
$userRole = Auth::user()->role;
if($userRole == "store_owner"){
$storeId = Auth::user()->store_id;
$countStoreOrder = $m->countStoreOrder($storeId);
$storeIncome = $m->storeIncome($storeId);
$countStoreProduct = $m->countStoreProduct($storeId);
$countStorePublishedProduct = $m->countStorePublishedProduct($storeId);
$post_data = array(
'isStoreOwner' => true,
'store_order' => $countStoreOrder[0]->count_order,
'store_income' => $storeIncome[0]->store_income,
'store_product_count' => $countStoreProduct[0]->store_product_count,
'store_published_product' => $countStorePublishedProduct[0]->store_published_product
);
}else{
$post_data = array(
'isStoreOwner' => false,
'store_order' => "",
'store_income' => "",
'store_product_count' => "",
'store_published_product' => ""
);
}
// $post_data = json_encode($post_data, JSON_FORCE_OBJECT);
return view('user-layouts.index')->with('data', $post_data);
}
public function addressBook(){
$m = new UserModel;
$userId = Auth::user()->id;
$array_address_book = $m->selectAddresBook('UserId', $userId);
return view('user-layouts.address_book')
->with('array_address_book', $array_address_book);
}
public function createAddressBook(){
return view('user-layouts.create_address_book');
}
public function saveAddressBook(Request $request){
$post = $request->all();
$m = new UserModel;
$userId = Auth::user()->id;
$data = array(
'UserId' => $userId,
'Fullname' => $post['fullname'],
'ContactNumber' => $post['mobilenumber'],
'OtherNotes' => $post['othernotes'],
'Address' => $post['address'],
'Address2' => $post['address2'],
'State' => $post['state'],
'City' => $post['city'],
'ZipCode' => $post['zipcode'],
'CountryCode' => $post['countryCode'],
'Country' => $post['country']
);
echo $i = $m->insertAddressBook($data);
}
public function editAddressBook($id){
$m = new UserModel;
$userId = Auth::user()->id;
$array_address_book = $m->selectAddresBook('Id', $id);
if($array_address_book[0]->UserId != $userId){
return redirect('user/address-book');
}
return view('user-layouts.edit_address_book')
->with('array_address_book', $array_address_book);
}
public function updateAddressBook(Request $request){
$post = $request->all();
$m = new UserModel;
$userId = Auth::user()->id;
$id = $post['id'];
$data = array(
'UserId' => $userId,
'Fullname' => $post['fullname'],
'ContactNumber' => $post['mobilenumber'],
'OtherNotes' => $post['othernotes'],
'Address' => $post['address'],
'Address2' => $post['address2'],
'State' => $post['state'],
'City' => $post['city'],
'ZipCode' => $post['zipcode'],
'CountryCode' => $post['countryCode'],
'Country' => $post['country']
);
echo $i = $m->saveUpdateAddressBook($data, $id);
}
public function profile(){
$m = new UserModel;
$userId = Auth::user()->id;
$array_profile_info = $m->selectProfileInfo($userId);
return view('user-layouts.profile')
->with('array_profile_info', $array_profile_info);
}
public function editProfile(){
$m = new UserModel;
$userId = Auth::user()->id;
$array_profile_info = $m->selectProfileInfo($userId);
return view('user-layouts.edit_profile')
->with('array_profile_info', $array_profile_info);
}
public function updateProfile(Request $request){
$post = $request->all();
$m = new UserModel;
$userId = Auth::user()->id;
$user_logins_data = array(
'name' => $post['fullname'],
'email' => $post['email']
);
$user_info_data = array(
'UserId' => $userId,
'ContactNumber' => $post['contactnumber'],
'Gender' => $post['gender'],
'Birthday' => date('Y-m-d', strtotime($post['birthday']))
);
$i = $m->saveUpdateUserLogins($user_logins_data, $userId);
$i1 = $m->saveUpdateUserInfo($user_info_data, $userId);
return $i;
}
public function changePassword(){
return view('user-layouts.change_password');
}
public function updatePassword(Request $request){
$post = $request->all();
$m = new UserModel;
$c_password = Auth::user()->password;
$userId = Auth::user()->id;
if(!(Hash::check($post['current_password'], $c_password))){
$message = "Your current password does not matches with the password you provided. Please try again.";
return $message;
}
if(strcmp($post['current_password'], $post['new_password']) == 0){
//Current password and new password are same
$message = "New Password cannot be same as your current password. Please choose a different password.";
return $message;
}
if ($post['new_password'] != $post['con_new_password']) {
// The passwords matches
$message = "Password confirmation and New Password must match. Please try again.";
return $message;
}
$i = $m->saveUpdatePassword(bcrypt($post['new_password']) , $userId);
return $i;
}
public function orders(){
$m = new UserModel;
$userId = Auth::user()->id;
$array_payment_details = $m->selectPaymentDetails('UserId', $userId);
// var_dump($array_payment_details);
// var_dump($array_payment_details);
return view('user-layouts.orders')->with('array_payment_details', $array_payment_details);
}
public function myDesigns(){
$m = new UserModel;
$userId = Auth::user()->id;
$array_client_designs = $m->selectClientDesigns($userId);
// var_dump($array_client_designs);
return view('user-layouts.my-design')->with('array_client_designs', $array_client_designs);
}
public function viewDesign($designCode){
$m = new UserModel;
$newMainModel = new MainModel;
$userId = Auth::user()->id;
$array_client_designs = $m->selectClientDesignsbyCode($designCode);
// check if its your design
if($userId != $array_client_designs[0]->ClientId){
return redirect()->back();
}
$array_template_paths = $m->selectTemplatePaths('TemplateCode', $array_client_designs[0]->TemplateCode);
$array_cat_name = $newMainModel->selectCategoryName($array_client_designs[0]->TemplateCode);
return view('user-layouts.view-design')
->with('array_client_designs', $array_client_designs)
->with('array_template_paths', $array_template_paths)
->with('array_cat_name', $array_cat_name);
}
public function updateDesignDetails(Request $request){
$post = $request->all();
$m = new UserModel;
$design_name = $post['design_name'];
$design_code = $post['design_code'];
$client_design_data = array(
'DesignName' => $design_name
);
$i = $m->updateClientDesign($client_design_data, $design_code);
return $i;
}
public function store(){
$m = new UserModel;
$userRole = Auth::user()->role;
$array_store_info = array();
if($userRole == "store_owner"){
$storeId = Auth::user()->store_id;
$array_store_info = $m->selectStoreInfo($storeId);
return redirect('teamstore/'. $array_store_info[0]->StoreUrl);
}
}
public function storeItems(){
$thumbnails = array();
$newUserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$user_role = Auth::user()->role;
$store_id = Auth::user()->store_id;
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
$product_array = $newTeamStoreModel->selectTeamStoreProducts('TeamStoreId', $store_id);
foreach ($product_array as $p => $pr_arr) {
$thumbnails_array = $newTeamStoreModel->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"
);
}
}
return view('user-layouts.store_items')->with('store_array', $store_array)
->with('product_array', $product_array)
->with('thumbnails', $thumbnails);
}
public function viewStoreItem($url){
$product_array = array();
$newUserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$product_array = $newTeamStoreModel->selectTeamStoreProducts('ProductURL', $url);
$thumbnails_array = $newTeamStoreModel->getThumbnails($product_array[0]->Id);
$available_size = explode(",", $product_array[0]->AvailableSizes);
$shipping_cost = $newUserModel->selectShippingCost();
return view('user-layouts.view-store-item')->with('product_array', $product_array)
->with('available_size', $available_size)
->with('thumbnails_array', $thumbnails_array)
->with('shipping_cost', $shipping_cost);
}
public function storeItemUpdate(Request $request){
$post = $request->all();
$newTeamStoreModel = new TeamStoreModel;
if($post['shipping_cost'] == 0){
$shipping_cost_id = null;
}else{
$shipping_cost_id = $post['shipping_cost'];
}
$item_url = $post['item_url'];
$data = array(
'ProductName' => $post['itemName'],
'ProductPrice' => str_replace('$ ', '', $post['item_price']),
'ProductDescription' => $post['itemDescription'],
'PrivacyStatus' => $post['item_privacy'],
'ProductForm' => $post['itemForm'],
'AvailableSizes' => implode(",", $post['available_size']),
'ShippingCostId' => $shipping_cost_id
);
$i = $newTeamStoreModel->updateStoreItem($data, $item_url);
return $i;
}
public function storeSetting()
{
$TeamStoreModel = new TeamStoreModel;
$store_id = Auth::user()->store_id;
$store_array = $TeamStoreModel->selectTeamStore('Id', $store_id);
return view('user-layouts.store_setting')
->with('store_array', $store_array);
}
public function emailVerify()
{
$m = new UserModel;
$userId = Auth::user()->id;
$email_is_verified = Auth::user()->email_is_verified;
if($email_is_verified == 0){
$array_profile_info = $m->selectProfileInfo($userId);
return view('user-layouts.email_verify')
->with('array_profile_info', $array_profile_info);
}
return redirect('user/profile');
}
public function resendVericationCode(Request $request){
$post = $request->all();
$random_hash = rand(1000, 9999);
$newUserModel = new UserModel;
$emailDetails = [
'receiver' => $post['email'],
'subject' => 'CREW Sportswear Email Verification Code',
'verification_code' => $random_hash
];
Mail::send('emails.resend_code', $emailDetails, function($message) use ($emailDetails) {
$message->from('no-reply@crewsportswear.com', 'CREW Sportswear');
$message->to($emailDetails['receiver'])->subject('CREW Sportswear Email Verification Code');
});
if( count(Mail::failures()) > 0 ) {
echo '0';
}else{
$data = array(
'EmailAddress' => $post['email'],
'VerCode' => $random_hash
);
$i = $newUserModel->saveResendCode($data);
echo $i;
}
}
public function verifyCode(Request $request){
$post = $request->all();
$verification_code = $post['verification_code'];
$userEmail = Auth::user()->email;
$newUserModel = new UserModel;
$userId = Auth::user()->id;
$data = array(
'EmailAddress' => $userEmail,
'Code' => $verification_code
);
$i = $newUserModel->validateCode($data);
// var_dump($i);
if($i){
$user_logins_data = array(
'email_is_verified' => 1
);
$newUserModel->saveUpdateUserLogins($user_logins_data, $userId);
return response()->json(array(
'success' => true,
'message'=>'Your email is successfully verified.'
));
}else{
return response()->json(array(
'success' => false,
'message'=>'Invalid verification code.'
));
}
}
public function orderDetails($ck){
$newUserModel = new UserModel;
$order_item_array = $newUserModel->selectOrderItem($ck);
$item_goup_array = $newUserModel->itemGroup($ck);
$item_thumbs = $newUserModel->selectDisplayItemThumb();
$array_payment_details = $newUserModel->selectPaymentDetails('CartKey', $ck);
return view('user-layouts.order_details')
->with('array_payment_details', $array_payment_details)
->with('img_thumb', $item_thumbs)
->with('item_goup_array', $item_goup_array)
->with('order_item_array', $order_item_array);
}
public function sellDesign($designCode){
$m = new UserModel;
$newMainModel = new MainModel;
$newTeamStoreModel = new TeamStoreModel;
$userId = Auth::user()->id;
$store_id = Auth::user()->store_id;
$array_client_designs = $m->selectClientDesignsbyCode($designCode);
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
// check if its your design
if($userId != $array_client_designs[0]->ClientId){
return redirect()->back();
}
// var_dump($store_array);
$array_template_paths = $m->selectTemplatePaths('TemplateCode', $array_client_designs[0]->TemplateCode);
$array_cat_name = $newMainModel->selectCategoryName($array_client_designs[0]->TemplateCode);
return view('user-layouts.sell_design')
->with('array_client_designs', $array_client_designs)
->with('array_template_paths', $array_template_paths)
->with('store_array', $store_array)
->with('array_cat_name', $array_cat_name);
}
public function buyDesign($designCode){
$m = new UserModel;
$newMainModel = new MainModel;
$newTeamStoreModel = new TeamStoreModel;
$userId = Auth::user()->id;
// $store_id = Auth::user()->store_id;
$array_client_designs = $m->selectClientDesignsbyCode($designCode);
// $store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
// check if its your design
if($userId != $array_client_designs[0]->ClientId){
return redirect()->back();
}
// var_dump($store_array);
$array_template_paths = $m->selectTemplatePaths('TemplateCode', $array_client_designs[0]->TemplateCode);
$array_cat_name = $newMainModel->selectCategoryName($array_client_designs[0]->TemplateCode);
return view('user-layouts.buy_design')
->with('array_client_designs', $array_client_designs)
->with('array_template_paths', $array_template_paths)
// ->with('store_array', $store_array)
->with('array_cat_name', $array_cat_name);
}
//save item from my design //
public function saveNewStoreItem(Request $request){
$post = $request->all();
$UserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$getYear = date('y');
$store_id = Auth::user()->store_id;
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
$templateCode = $post['templateCode'];
$designCode = $post['designCode'];
$itemName = $post['itemName'];
$itemDescription = $post['itemDescription'];
$itemPrice = $post['itemPrice'];
$itemForm = $post['itemForm'];
$itemUrl = $store_array[0]->StoreUrl . '-' . $post['itemUrl'];
$itemPrivacy = $post['itemPrivacy'];
$available_size = implode(",", $_POST['available_size']);
$check_product_url = array(
'ProductURL' => $itemUrl
);
$validator = Validator::make($check_product_url, [
'ProductURL' => 'unique:teamstore_products'
],
[
'ProductURL.unique' => 'The Item URL has already been taken.',
]);
if ($validator->fails())
{
$errors = "";
// var_dump(($validator->errors()->all()));
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
));
}
$data = array(
'TeamStoreId' => $store_id,
'ProductName' => $itemName,
'ProductPrice' => str_replace('$ ', '', $itemPrice),
'ProductDescription'=> $itemDescription,
'ProductURL' => $itemUrl,
'ProductForm' => $itemForm,
'AvailableSizes' => $available_size,
'PrivacyStatus' => $itemPrivacy,
'TemplateCode' => $templateCode,
'DesignCode' => $designCode,
);
$id = $UserModel->insertNewProduct($data); // product item id
// echo $i;
$array_template_paths = $UserModel->selectTemplatePaths('TemplateCode', $templateCode);
foreach($array_template_paths as $key => $row1){
if($key == 0){
$thumb = $designCode . '-front-thumbnail.png';
$class = "active";
}else{
$thumb = $designCode . '-' . strtolower($row1->Side) . '-thumbnail.png';
$class = null;
}
$thumbs = $data = array(
'ProductId' => $id,
'Image' => $thumb,
'ImageClass' =>$class
);
$UserModel->insertNewProductThumbnails($thumbs);
}
$prod_code = array('ProductCode' => $getYear . '-' .str_pad($id, 10,'0', STR_PAD_LEFT));
$i = $UserModel->updateProductCode($prod_code, $id);
return response()->json(array(
'success' => true
));
}
function addStoreItem(){
$newTeamStoreModel = new TeamStoreModel;
$user_role = Auth::user()->role;
$store_id = Auth::user()->store_id;
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
return view('user-layouts.add_item')->with('store_array', $store_array);
}
//manually uploading item
function saveNewItem(Request $request){
$post = $request->all();
// var_dump($post['imgupload']);
$UserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$getYear = date('y');
$store_id = Auth::user()->store_id;
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
$templateCode = $post['templateCode'];
$designCode = $post['designCode'];
$itemName = $post['itemName'];
$itemDescription = $post['itemDescription'];
$itemPrice = $post['itemPrice'];
$itemForm = $post['itemForm'];
$itemUrl = $store_array[0]->StoreUrl . '-' . $post['itemUrl'];
$itemPrivacy = $post['itemPrivacy'];
$available_size = implode(",", $_POST['available_size']);
$check_product_url = array(
'ProductURL' => $itemUrl
);
$validator = Validator::make($check_product_url, [
'ProductURL' => 'unique:teamstore_products'
],
[
'ProductURL.unique' => 'The Item URL has already been taken.',
]);
if ($validator->fails())
{
$errors = "";
// var_dump(($validator->errors()->all()));
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
));
}
$data = array(
'TeamStoreId' => $store_id,
'ProductName' => $itemName,
'ProductPrice' => str_replace('$ ', '', $itemPrice),
'ProductDescription'=> $itemDescription,
'ProductURL' => $itemUrl,
'ProductForm' => $itemForm,
'AvailableSizes' => $available_size,
'PrivacyStatus' => $itemPrivacy,
'TemplateCode' => $templateCode,
'DesignCode' => $designCode,
);
$id = $UserModel->insertNewProduct($data); // product item id
// echo $id;
for($i = 0; $i < count($post['imgupload']); $i++){
$rawName = date('Ymd') . "-" . time().'-'.$request->file('imgupload')[$i]->getClientOriginalName();
$imageExt = $request->file('imgupload')[$i]->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 = $NewImageName;
if($i == 0){
$imageClass = "active";
}else{
$imageClass = null;
}
$thumbs = $data = array(
'ProductId' => $id,
'Image' => $thumbnail,
'ImageClass' =>$imageClass
);
$u = $UserModel->insertNewProductThumbnails($thumbs);
// var_dump($thumbs);
Storage::disk('sftp')->put($thumbnail, fopen($request->file('imgupload')[$i], 'r+')); //live
//Storage::disk('localdir')->put($thumbnail, fopen($request->file('imgupload')[$i], 'r+'));
// var_dump($s);
}
$prod_code = array('ProductCode' => $getYear . '-' .str_pad($id, 10,'0', STR_PAD_LEFT));
$i = $UserModel->updateProductCode($prod_code, $id);
return response()->json(array(
'success' => true,
'message' => 'success'
));
}
function saveNewItemImage(Request $request){
$post = $request->all();
$UserModel = new UserModel;
$getYear = date('y');
$id = $post['_id'];
$getActiveDisplay = $UserModel->selectDisplayItemThumbById($id);
for($i = 0; $i < count($post['upload_images']); $i++){
$rawName = date('Ymd') . "-" . time().'-'.$request->file('upload_images')[$i]->getClientOriginalName();
$imageExt = $request->file('upload_images')[$i]->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 = $NewImageName;
if($i == 0 && empty($getActiveDisplay)){
$imageClass = "active";
}else{
$imageClass = null;
}
$thumbs = $data = array(
'ProductId' => $id,
'Image' => $thumbnail,
'ImageClass' =>$imageClass
);
$u = $UserModel->insertNewProductThumbnails($thumbs);
Storage::disk('sftp')->put($thumbnail, fopen($request->file('upload_images')[$i], 'r+')); //live
//Storage::disk('localdir')->put($thumbnail, fopen($request->file('upload_images')[$i], 'r+'));
}
return response()->json(array(
'success' => true,
'message' => 'success'
));
}
function deleteImageThumb(Request $request){
$file = $request->thumb_filename;
$id = $request->thumb_id;
$UserModel = new UserModel;
$storagePath = Storage::disk('sftp')->getDriver()->getAdapter()->getPathPrefix();
if(file_exists($storagePath.$file)) {
unlink($storagePath.$file);
}
$i = $UserModel->deleteImageThumb('Id', $id);
return response()->json(array(
'success' => true,
'message' => 'success',
'delete_row' => 'item-' . $id
));
}
function updateActiveThumbnail(Request $request){
$post = $request->all();
$UserModel = new UserModel;
$i = $UserModel->updateActiveThumb($post['id'], $post['product_id']);
// var_dump($i);
}
function saveThumbnailOrdering(Request $request){
$post = $request->all();
$arrayItems = $post['item'];
$order = 1;
$UserModel = new UserModel;
foreach ($arrayItems as $item) {
$i = $UserModel->updateThumbnailOrdering($order, $item);
$order++;
}
return response()->json(array(
'success' => true,
'message' => 'success'
));
}
function saveItemOrdering(Request $request){
$post = $request->all();
$arrayItems = $post['order_number'];
$order = 1;
$UserModel = new UserModel;
foreach ($arrayItems as $item) {
$i = $UserModel->updateItemOrdering($order, $item);
$order++;
}
return response()->json(array(
'success' => true,
'message' => 'success'
));
}
function storeSettingUpdate(Request $request){
$post = $request->all();
$UserModel = new UserModel;
$store_id = Auth::user()->store_id;
$store_name = $post['store_name'];
$store_url = $post['store_url'];
$orig_store_url = $post['orig_store_url'];
if($post['store_status'] == "Public"){
$store_status = "true";
}else{
$store_status = "false";
}
if(isset($post['set_store_password'])){
$store_password = $post['store_password'];
}else{
$store_password = null;
}
if($request->file('store_logo') != null){
$store_logo_name = 'logo.'. $request->file('store_logo')->getClientOriginalExtension();
}else{
$store_logo_name = $post['orig_store_logo'];
}
if($request->file('store_banner') != null){
$store_banner_name = 'banner.'. $request->file('store_banner')->getClientOriginalExtension();
}else{
$store_banner_name = $post['orig_store_banner'];
}
if($orig_store_url != $store_url){
$check_store_url = array(
'StoreUrl' => $store_url
);
$validator = Validator::make($check_store_url, [
'StoreUrl' => 'unique:teamstores'
],
[
'StoreUrl.unique' => 'The Store URL has already been taken.',
]);
if ($validator->fails())
{
$errors = "";
foreach($validator->errors()->all() as $error){
$errors .= "<li>".$error."</li>";
}
return response()->json(array(
'success' => false,
'clearform' => false,
'message' => $errors
));
}
}
$data = array(
'StoreUrl' => $store_url,
// 'ImageFolder' => $store_url,
'Password' => $store_password,
'HashId' => md5($store_url),
'StoreName' => $store_name,
'StoreLogo' => $store_logo_name,
'StoreBanner' => $store_banner_name,
'IsActive' => $store_status
);
// var_dump($data);
$res = $UserModel->updateTeamstore($store_id, $data);
// var_dump($res);
// if($res){
if($request->file('store_logo') != null){
Storage::disk('uploads')->put('/teamstore/'. $orig_store_url . '/' . $store_logo_name, fopen($request->file('store_logo'), 'r+'));
}
if($request->file('store_banner') != null){
Storage::disk('uploads')->put('/teamstore/'. $orig_store_url . '/' . $store_banner_name, fopen($request->file('store_banner'), 'r+'));
}
return response()->json(array(
'success' => true,
'clearform' => false,
'message'=>'Store is successfully updated.'
));
// }else{
// return response()->json(array(
// 'success' => false,
// 'clearform' => true,
// 'message' => 'Something went wrong. Please refresh the page and try again.'
// ));
// }
}
function storeOrders(){
$UserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$store_id = Auth::user()->store_id;
$array_store_orders = $UserModel->selectStoreOrders($store_id);
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
return view('user-layouts.store-orders')
->with('store_array', $store_array)
->with('array_store_orders', $array_store_orders);
}
function showStoreOrderDetails(Request $request){
$post = $request->all();
// var_dump($post['pid']);
$UserModel = new UserModel;
$array_payment_details = $UserModel->selectPaymentDetails('CartKey', $post['ck']);
$array_shipping_add = $UserModel->selectShippingAddress('PaymentDetail_Id', $array_payment_details[0]->Id);
$array_thumbnail_display = $UserModel->selectDisplayItemThumbById($post['pid']);
$array_item = $UserModel->selectOrder('Id', $post['id']);
$handle_order_detail_body = view('user-layouts.order-details-body')
->with('array_payment_details', $array_payment_details)
->with('array_shipping_add', $array_shipping_add)
->with('array_thumbnail_display', $array_thumbnail_display)
->with('array_item', $array_item)
->render();
return response()->json(array(
'success' => true,
'payment_details_response' => $handle_order_detail_body,
'thumb' => $array_thumbnail_display,
'item' => $array_item
));
}
function itemStoreReArrange(){
$thumbnails = array();
$newUserModel = new UserModel;
$newTeamStoreModel = new TeamStoreModel;
$user_role = Auth::user()->role;
$store_id = Auth::user()->store_id;
$store_array = $newTeamStoreModel->selectTeamStore('Id', $store_id);
$product_array = $newTeamStoreModel->selectTeamStoreProducts('TeamStoreId', $store_id);
foreach ($product_array as $p => $pr_arr) {
$thumbnails_array = $newTeamStoreModel->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"
);
}
}
return view('user-layouts.store_items_arrange')->with('store_array', $store_array)
->with('product_array', $product_array)
->with('thumbnails', $thumbnails);
}
function deleteStoreItem(Request $request){
//
$post = $request->all();
$UserModel = new UserModel;
$res = $UserModel->deleteStoreItem($post['id']);
if($res){
return response()->json(array(
'success' => true,
'message' => "Store item is successfully delete."
));
}else{
return response()->json(array(
'success' => false,
'message' => "Something went wrong. Please try again!"
));
}
}
function announcementIndex(){
$UserModel = new UserModel;
$storeId = Auth::user()->store_id;
$getAnnouncement = $UserModel->getAnnouncement($storeId);
if(count($getAnnouncement) > 0){
$data = $getAnnouncement[0];
}else{
$data = (object) array(
'Id' => 0,
'StoreId' => "",
'Announcement' => "",
'IsActive' => 0,
'DateCreated' => ""
);
}
return view('user-layouts.announcement')
->with("data", $data)
->render();
}
function announcementUpdateSave(Request $request){
$post = $request->all();
$UserModel = new UserModel;
$storeId = Auth::user()->store_id;
$getAnnouncement = $UserModel->getAnnouncement($storeId);
$data = array(
'StoreId' => $storeId,
'Announcement' => htmlentities($post['announcementInput'])
);
// var_dump($getAnnouncement[0]->Id);
if(count($getAnnouncement) > 0){
$response = $UserModel->updateAnnouncement($getAnnouncement[0]->Id, $data);
}else{
$data['IsActive'] = 0;
$response = $UserModel->saveNewAnnouncement($data);
}
try {
return response()->json(array(
'success' => true,
'message' => "Announcement is successfully updated."
));
} catch (\Throwable $th) {
//throw $th;
return response()->json(array(
'success' => false,
'message' => $th
));
}
}
function announcementUpdateStatus(Request $request){
$post = $request->all();
$UserModel = new UserModel;
$storeId = Auth::user()->store_id;
$getAnnouncement = $UserModel->getAnnouncement($storeId);
if(!count($getAnnouncement)){
return response()->json(array(
'success' => false,
'message' => 'Please update your announcement first.'
));
}
$data = array(
'IsActive' => ($post['IsActive'] == 'true') ? 1 : 0
);
$UserModel->updateAnnouncement($getAnnouncement[0]->Id, $data);
return response()->json(array(
'success' => true,
'message' => "Announcement is successfully updated."
));
// var_dump($data);
// $response = $UserModel->updateAnnouncement($getAnnouncement[0]->Id, $data);
}
}