698 lines
22 KiB
PHP
698 lines
22 KiB
PHP
<?php
|
||
|
||
namespace App\Http\Controllers\admin;
|
||
|
||
use Illuminate\Http\Request;
|
||
|
||
use App\Http\Requests;
|
||
use App\Http\Controllers\Controller;
|
||
use App\Models\admin\AdminModel;
|
||
use Illuminate\Support\Facades\Storage;
|
||
use Validator;
|
||
use App\User;
|
||
|
||
|
||
class AdminController extends Controller
|
||
|
||
{
|
||
public function dashboard(){
|
||
|
||
return view('admin_pages.dashboard');
|
||
|
||
}
|
||
|
||
public function orders(){
|
||
$AdminModel = new AdminModel;
|
||
$array_payment_details = $AdminModel->selectPaymentDetails('All', null);
|
||
// var_dump($array_payment_details);
|
||
return view('admin_pages.orders')
|
||
->with('array_payment_details', $array_payment_details);
|
||
}
|
||
|
||
public function viewOrders($ck){
|
||
$AdminModel = new AdminModel;
|
||
$order_item_array = $AdminModel->selectOrderItem('CartKey', $ck);
|
||
$item_goup_array = $AdminModel->itemGroup($ck);
|
||
$item_thumbs = $AdminModel->selectDisplayItemThumb();
|
||
$array_payment_details = $AdminModel->selectPaymentDetails('CartKey', $ck);
|
||
$array_shipping_add = $AdminModel->selectShippingAddress('PaymentDetail_Id', $array_payment_details[0]->Id);
|
||
|
||
|
||
if(empty($array_shipping_add)){
|
||
$array_payment_details = array();
|
||
}
|
||
|
||
return view('admin_pages.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)
|
||
->with('array_shipping_add', $array_shipping_add);
|
||
}
|
||
|
||
public function createStore(){
|
||
$AdminModel = new AdminModel;
|
||
return view('admin_pages.create_store');
|
||
}
|
||
|
||
public function printOrder($ck){
|
||
$AdminModel = new AdminModel;
|
||
// $array_shipping_add = null;
|
||
$order_item_array = $AdminModel->selectOrderItem('CartKey', $ck);
|
||
$item_goup_array = $AdminModel->itemGroup($ck);
|
||
$item_thumbs = $AdminModel->selectDisplayItemThumb();
|
||
$array_payment_details = $AdminModel->selectPaymentDetails('CartKey', $ck);
|
||
$array_shipping_add = $AdminModel->selectShippingAddress('PaymentDetail_Id', $array_payment_details[0]->Id);
|
||
|
||
return view('admin_pages.print_order')
|
||
->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)
|
||
->with('array_shipping_add', $array_shipping_add);
|
||
|
||
|
||
}
|
||
|
||
public function downloadPrintFile_tshirt($dc, $id){
|
||
$AdminModel = new AdminModel;
|
||
$client_design_array = $AdminModel->selectClientDesign($dc);
|
||
$order_item_array = $AdminModel->selectOrderItem('Id', $id);
|
||
|
||
return view('admin_pages.download_pages.tshirt')
|
||
->with('client_design_array', $client_design_array)
|
||
->with('order_item_array', $order_item_array);
|
||
|
||
|
||
}
|
||
|
||
public function downloadPrintFile_jersey($dc, $id){
|
||
$AdminModel = new AdminModel;
|
||
$client_design_array = $AdminModel->selectClientDesign($dc);
|
||
$order_item_array = $AdminModel->selectOrderItem('Id', $id);
|
||
// var_dump($order_item_array);
|
||
return view('admin_pages.download_pages.jersey')
|
||
->with('client_design_array', $client_design_array)
|
||
->with('order_item_array', $order_item_array);
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
public function download(Request $request){
|
||
$post = $request->all();
|
||
$svgText = $post['svgText'];
|
||
$filename = $post['filename'];
|
||
header('Content-type: image/svg+xml');
|
||
header('Content-Disposition: attachment; filename="'.$filename.'.svg"');
|
||
echo '<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">';
|
||
print "$svgText";
|
||
}
|
||
|
||
public function saveNewStore(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$store_name = $post['store_name'];
|
||
$store_url = $post['store_url'];
|
||
$store_currency = $post['store_currency'];
|
||
|
||
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;
|
||
}
|
||
|
||
$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
|
||
));
|
||
}
|
||
|
||
|
||
|
||
|
||
$store_logo_name = 'logo.'. $request->file('store_logo')->getClientOriginalExtension();
|
||
$store_banner_name = 'banner.'. $request->file('store_banner')->getClientOriginalExtension();
|
||
|
||
|
||
$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,
|
||
'StoreCurrency' => $store_currency,
|
||
'IsActive' => $store_status
|
||
);
|
||
|
||
$res = $AdminModel->insertTeamstore($data);
|
||
|
||
if($res){
|
||
|
||
Storage::disk('uploads')->put('/teamstore/'. $store_url . '/' . $store_logo_name, fopen($request->file('store_logo'), 'r+'));
|
||
Storage::disk('uploads')->put('/teamstore/'. $store_url . '/' . $store_banner_name, fopen($request->file('store_banner'), 'r+'));
|
||
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'clearform' => true,
|
||
'message'=>'Store is successfully created.'
|
||
));
|
||
|
||
}else{
|
||
return response()->json(array(
|
||
'success' => false,
|
||
'clearform' => true,
|
||
'message' => 'Something went wrong. Please refresh the page and try again.'
|
||
));
|
||
}
|
||
|
||
}
|
||
|
||
public function storeList(){
|
||
$AdminModel = new AdminModel;
|
||
$q = null;
|
||
$sort = null;
|
||
|
||
$q = request()->get('q');
|
||
$sort = request()->get('s'); // sort
|
||
|
||
if(isset($q) && isset($sort)){
|
||
|
||
if($sort == "al-asc"){
|
||
$field = "StoreName";
|
||
$sort_value = "ASC";
|
||
}elseif($sort == "al-desc"){
|
||
$field = "StoreName";
|
||
$sort_value = "DESC";
|
||
}else{
|
||
$field = "Id";
|
||
$sort_value = "ASC";
|
||
}
|
||
|
||
if($q != ""){
|
||
// keyword and sort
|
||
$teamstore_array = $AdminModel->selectTeamstoreSearch($field, $sort_value, $q);
|
||
}else{
|
||
// sort only
|
||
$teamstore_array = $AdminModel->selectTeamstoreFilter($field, $sort_value);
|
||
}
|
||
|
||
}else{
|
||
// first load
|
||
$teamstore_array = $AdminModel->selectTeamstore();
|
||
}
|
||
|
||
return view('admin_pages.list_of_stores')
|
||
->with('teamstore_array', $teamstore_array)
|
||
->with('keyword', $q)
|
||
->with('filter', $sort);
|
||
|
||
}
|
||
|
||
public function viewStore($id){
|
||
|
||
$AdminModel = new AdminModel;
|
||
$teamstore_array = $AdminModel->selectTeamstoreById($id);
|
||
$store_owners_array = $AdminModel->selectStoreOwners($id);
|
||
|
||
return view('admin_pages.edit_store')
|
||
->with('teamstore_array', $teamstore_array)
|
||
->with('store_owners_array', $store_owners_array);
|
||
}
|
||
|
||
public function updateStore(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$store_id = $post['store_id'];
|
||
$store_name = $post['store_name'];
|
||
$store_url = $post['store_url'];
|
||
$orig_store_url = $post['orig_store_url'];
|
||
$store_currency = $post['store_currency'];
|
||
|
||
|
||
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,
|
||
'StoreCurrency' => $store_currency,
|
||
'IsActive' => $store_status
|
||
);
|
||
|
||
// var_dump($data);
|
||
|
||
|
||
$res = $AdminModel->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.'
|
||
// ));
|
||
// }
|
||
|
||
}
|
||
|
||
public function deleteStore(Request $request){
|
||
$AdminModel = new AdminModel;
|
||
$post = $request->all();
|
||
$teamstore_array = $AdminModel->selectTeamstoreById($post['id']);
|
||
|
||
if($teamstore_array[0]->StoreUrl == $post['store_url']){
|
||
$res = $AdminModel->deleteTeamstoreById($post['id']);
|
||
|
||
if($res){
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'message' => 'This Store is successfully deleted.'
|
||
));
|
||
}else{
|
||
return response()->json(array(
|
||
'success' => false,
|
||
'message' => 'Something went wrong. Please refresh the page and try again.'
|
||
));
|
||
}
|
||
|
||
|
||
}else{
|
||
return response()->json(array(
|
||
'success' => false,
|
||
'message' => 'Something went wrong. Please refresh the page and try again.'
|
||
));
|
||
}
|
||
}
|
||
|
||
|
||
public function overlayPattern(){
|
||
$AdminModel = new AdminModel;
|
||
$pattern_array = $AdminModel->selectPattern();
|
||
|
||
return view('admin_pages.overlay_pattern')
|
||
->with('pattern_array', $pattern_array);
|
||
}
|
||
|
||
public function viewOverlayPattern($id){
|
||
|
||
$AdminModel = new AdminModel;
|
||
$pattern_array = $AdminModel->selectPatternWithfield('Id', $id);
|
||
|
||
return view('admin_pages.edit_overlay_pattern')
|
||
->with('pattern_array', $pattern_array);
|
||
}
|
||
|
||
public function viewReports(){
|
||
$AdminModel = new AdminModel;
|
||
|
||
$array_store_orders = $AdminModel->selectStoreOrders();
|
||
// var_dump($array_store_orders);
|
||
return view('admin_pages.reports')
|
||
->with('array_store_orders', $array_store_orders);
|
||
}
|
||
|
||
public function addClipart(){
|
||
$AdminModel = new AdminModel;
|
||
$clipart_categories_array = $AdminModel->selectClipartCategory();
|
||
|
||
return view('admin_pages.add_clipart')
|
||
->with('clipart_categories_array', $clipart_categories_array);
|
||
}
|
||
|
||
public function saveClipartCategory(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$data = array(
|
||
'CategoryName' => $post['category'],
|
||
'IsActive' => $post['is_active']
|
||
);
|
||
|
||
$res = $AdminModel->insertClipartCategory($data);
|
||
// var_dump($res);
|
||
if($res){
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'addClass'=> 'modal-close-reload',
|
||
'message' => 'Clipart Category is successfully added.',
|
||
'last_inserted_id' => $res
|
||
));
|
||
|
||
}else{
|
||
return response()->json(array(
|
||
'success' => false,
|
||
'addClass'=> '',
|
||
'message' => 'Something went wrong. Please refresh the page and try again.'
|
||
));
|
||
}
|
||
}
|
||
|
||
public function saveSVGClipart(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$category = $post['category'];
|
||
$tags = $post['clipart_tags'];
|
||
$orig_filename = $request->file('upload_clipart')->getClientOriginalName();
|
||
|
||
$lower_filename = str_replace(' ','-',strtolower($orig_filename));
|
||
$getExt = substr($lower_filename, strrpos($lower_filename, '.'));;
|
||
$clean_filename = preg_replace("/\.[^.\s]{3,4}$/", "", $lower_filename);
|
||
$final_filename = $clean_filename . "-".uniqid().$getExt;
|
||
|
||
$data = array(
|
||
'CategoryId' => $category,
|
||
'OriginalSVGFilename' => $orig_filename,
|
||
'SVGFilename' => $final_filename,
|
||
'Tags' => $tags,
|
||
'IsActive' => 1,
|
||
);
|
||
|
||
|
||
$res = $AdminModel->insertClipart($data);
|
||
Storage::disk('uploads')->put('/cliparts/' . $final_filename, fopen($request->file('upload_clipart'), 'r+'));
|
||
|
||
if($res){
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'message' => 'Clipart is successfully added.'
|
||
));
|
||
}
|
||
}
|
||
|
||
function userList(){
|
||
|
||
$AdminModel = new AdminModel;
|
||
$result = $AdminModel->userList();
|
||
|
||
return response()->json([
|
||
"count" => count($result),
|
||
"results" => $result
|
||
]);
|
||
}
|
||
|
||
function updatUserAsStoreOwner(Request $request){
|
||
$AdminModel = new AdminModel;
|
||
|
||
$data = array(
|
||
'user_id' => $request->user_id,
|
||
'store_id' => $request->store_id
|
||
);
|
||
|
||
$res = $AdminModel->makeUserAsStoreOwner($data);
|
||
|
||
return response()->json([
|
||
"result" => $res
|
||
]);
|
||
}
|
||
|
||
public function removeStoreAccess(Request $request){
|
||
|
||
|
||
$AdminModel = new AdminModel;
|
||
|
||
$data = array(
|
||
'user_id' => $request->id,
|
||
'store_id' => null
|
||
);
|
||
|
||
$res = $AdminModel->model_removeStoreAccess($data);
|
||
|
||
return response()->json([
|
||
"result" => $res
|
||
]);
|
||
}
|
||
|
||
public function saveNewStoreOwner(Request $request){
|
||
$AdminModel = new AdminModel;
|
||
$post = $request->all();
|
||
|
||
$validator = Validator::make($post, [
|
||
'username' => 'unique:user_logins',
|
||
'email' => 'unique:user_logins'
|
||
]);
|
||
|
||
|
||
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' => 'store_owner',
|
||
'store_id' => $post['store_id'],
|
||
]);
|
||
|
||
return response()->json(array(
|
||
'success' => true
|
||
));
|
||
|
||
}
|
||
|
||
public function viewClipartCategories(){
|
||
$AdminModel = new AdminModel;
|
||
$clipart_categories_array = $AdminModel->ClipartCategory();
|
||
return view('admin_pages.clipart_categories')
|
||
->with('clipart_categories_array', $clipart_categories_array);
|
||
}
|
||
|
||
public function deleteClipartCategory(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$res = $AdminModel->deleteClipartCategory($post['id']);
|
||
|
||
if($res){
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'message' => "Clipart Category is successfully deleted."
|
||
));
|
||
}
|
||
}
|
||
|
||
public function saveClipartCatOrdering(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$arrayClipartCat = $post['clip_cat_id'];
|
||
$order = 1;
|
||
|
||
foreach ($arrayClipartCat as $item) {
|
||
$i = $AdminModel->updateClipartCatOrdering($order, $item);
|
||
$order++;
|
||
}
|
||
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'message' => "Clipart Category ordering is succcessfully updated!"
|
||
));
|
||
|
||
}
|
||
|
||
public function updateClipartCategory(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
$id = $post['id'];
|
||
$category = $post['category'];
|
||
$is_active = $post['is_active'];
|
||
|
||
$data = array (
|
||
'CategoryName' => $category,
|
||
'IsActive' => $is_active
|
||
);
|
||
|
||
$res = $AdminModel->updateClipartCategory($id, $data);
|
||
|
||
if($res){
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'message' => "Clipart Category ordering is succcessfully updated!"
|
||
));
|
||
}else{
|
||
return response()->json(array(
|
||
'success' => false,
|
||
'message' => "Something went wrong. Please refresh the page and try again."
|
||
));
|
||
}
|
||
|
||
|
||
}
|
||
|
||
public function viewClipart(){
|
||
$AdminModel = new AdminModel;
|
||
$clipart_array = $AdminModel->selectCliparts();
|
||
|
||
return view('admin_pages.cliparts')
|
||
->with('clipart_array', $clipart_array);
|
||
}
|
||
|
||
public function visualizerAdd(){
|
||
$AdminModel = new AdminModel;
|
||
$sports_array = $AdminModel->selectSports();
|
||
$pattern_array = $AdminModel->selectPattern();
|
||
|
||
return view('admin_pages.add_visualizer')
|
||
->with('sports_array', $sports_array)
|
||
->with('pattern_array', $pattern_array);
|
||
}
|
||
|
||
|
||
public function selectSportsCategory(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
$sports_category_array = $AdminModel->selectSportsCategory($post['id']);
|
||
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'data'=> $sports_category_array
|
||
));
|
||
}
|
||
|
||
|
||
public function getOverlayPattern(){
|
||
$AdminModel = new AdminModel;
|
||
$pattern_array = $AdminModel->selectPattern();
|
||
return response()->json(array(
|
||
'success' => true,
|
||
'data' => $pattern_array
|
||
));
|
||
}
|
||
|
||
public function saveNewVisualizer(Request $request){
|
||
$post = $request->all();
|
||
$AdminModel = new AdminModel;
|
||
|
||
var_dump($post);
|
||
}
|
||
|
||
|
||
|
||
} |