/** * Edit Dailyspecail And Campaign Action * @param Request $request * @param $did * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @throws \Exception * @author: Vini Dubey<*****@*****.**> * @since: xx-xx-xxxx */ public function editDailyspecial(Request $request, $did) { $objProductCategory = ProductCategory::getInstance(); $objCampaignModel = Campaigns::getInstance(); $objProductModel = Products::getInstance(); $supplierId = Session::get('fs_supplier')['id']; if ($request->isMethod('post')) { $rules = array('campaign_name' => 'unique:campaigns,campaign_name,' . $did . ',campaign_id', 'dailyspecial_image' => 'image'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } $postData = $request->all(); if (sizeof($postData['product']) >= 10) { if (Input::hasFile('dailyspecial_image')) { $filePath = uploadImageToStoragePath(Input::file('dailyspecial_image'), 'flashsale', 'flashsale_' . $supplierId . '_' . time() . ".jpg"); $data['campaign_banner'] = $filePath; } $data['campaign_name'] = $postData['campaign_name']; $data['campaign_type'] = 2; $data['discount_type'] = '2'; // if ($data['discount_type'] == '1') { // $data['discount_value'] = $postData['flatdiscount']; // } else { $data['discount_value'] = $postData['percentagediscount']; // } $validFrom = strtotime(str_replace("-", "", $postData['availablefromdate'])); $validTo = strtotime(str_replace("-", "", $postData['availableuptodate'])); $data['available_from'] = $validFrom; $data['available_upto'] = $validTo; $categ = $postData['productcategories']; if (isset($postData['productsubcategories'])) { $subcat = $postData['productsubcategories']; } else { $subcat = []; } $tmp = []; foreach ($categ as $index => $item) { $tmp[$item] = array_values(array_filter(array_map(function ($cat) use($item) { if (explode('_', $cat)[0] == $item) { return explode('_', $cat)[1]; } }, $subcat))); } $data['for_category_ids'] = json_encode($tmp); $data['by_user_id'] = $supplierId; // $product = $postData['product']; $data['for_product_ids'] = implode(",", $postData['product']); $where = ['rawQuery' => 'campaign_id = ?', 'bindParams' => [$did]]; $campaigns = 'Flashsale'; // print_a($data); } else { if (Input::hasFile('dailyspecial_image')) { $filePath = uploadImageToStoragePath(Input::file('dailyspecial_image'), 'dailyspecial', 'dailyspecial_' . $supplierId . '_' . time() . ".jpg"); $data['campaign_banner'] = $filePath; } $data['campaign_name'] = $postData['campaign_name']; $data['campaign_type'] = $postData['campaign_type']; $data['discount_type'] = '2'; $data['discount_value'] = $postData['percentagediscount']; $validFrom = strtotime(str_replace("-", "", $postData['availablefromdate'])); $validTo = strtotime(str_replace("-", "", $postData['availableuptodate'])); $data['available_from'] = $validFrom; $data['available_upto'] = $validTo; $categ = $postData['productcategories']; if (isset($postData['productsubcategories'])) { $subcat = $postData['productsubcategories']; } else { $subcat = []; } // print_r($categ); // print_a($subcat); $tmp = []; foreach ($categ as $index => $item) { $tmp[$item] = array_values(array_filter(array_map(function ($cat) use($item) { if (explode('_', $cat)[0] == $item) { return explode('_', $cat)[1]; } }, $subcat))); } // print_a(json_encode($tmp)); $data['for_category_ids'] = json_encode($tmp); $data['by_user_id'] = $supplierId; // $product = $postData['product']; $data['for_product_ids'] = implode(",", $postData['product']); // $data['for_product_ids'] = $postData['product'][0]; $where = ['rawQuery' => 'campaign_id = ?', 'bindParams' => [$did]]; $campaigns = 'Dailyspecial'; // print_a($data); } $campaignUpdate = $objCampaignModel->updateFlashsaleStatus($data, $where); if ($campaignUpdate) { if (isset($filePath)) { deleteImageFromStoragePath($postData['oldImage']); } return Redirect::back()->with(['status' => 'success', 'msg' => $campaigns . ' ' . 'Updated Successfully.']); } else { return Redirect::back()->with(['status' => 'error', 'msg' => $campaigns . ' ' . 'Some Error try again.']); } } $where = ['rawQuery' => 'campaign_id = ? AND by_user_id = ?', 'bindParams' => [$did, $supplierId]]; $selectedColumn = ['campaigns.*', 'users.username']; $dailyspecialInfo = $objCampaignModel->getAllFlashsaleDetails($where, $selectedColumn); // print_a($dailyspecialInfo); if (isset($dailyspecialInfo) && !empty($dailyspecialInfo)) { foreach ($dailyspecialInfo as $flashkey => $flashval) { $categoryIds = json_decode($flashval->for_category_ids, true); $categoryMerg = array_merge(array_keys($categoryIds)); $categoryMergee = array_merge(array_flatten($categoryIds)); $categoryMerge = array_merge(array_keys($categoryIds), array_flatten($categoryIds)); // echo'<pre>';print_r($categoryMerg); // echo'<pre>';print_r($categoryMergee); // print_a($categoryMerge); $where = ['rawQuery' => 'category_id IN(' . implode(",", $categoryMerge) . ')']; $selectedColumn = [DB::raw('GROUP_CONCAT(DISTINCT category_name) AS category_name'), DB::raw('GROUP_CONCAT(DISTINCT category_id) AS category_id')]; $getcategory = $objProductCategory->getCategoryNameById($where, $selectedColumn); foreach ($getcategory as $catkey => $catval) { $dailyspecialInfo[$flashkey]->category = $catval->category_name; $dailyspecialInfo[$flashkey]->category_ids = $catval->category_id; } $whereProduct = ['rawQuery' => 'product_id IN(' . $flashval->for_product_ids . ')']; $selectedColumn = [DB::raw('GROUP_CONCAT(DISTINCT product_name) AS product_name'), DB::raw('GROUP_CONCAT(DISTINCT product_id) AS product_id')]; $getproduct = $objProductModel->getProductNameById($whereProduct, $selectedColumn); foreach ($getproduct as $prodkey => $prodval) { $dailyspecialInfo[$flashkey]->product_name = $prodval->product_name; $dailyspecialInfo[$flashkey]->product_id = $prodval->product_id; } } $where = ['rawQuery' => 'category_status = ? AND parent_category_id = ?', 'bindParams' => [1, 0]]; $selectedColumn = ['category_id', 'category_name', 'category_status', 'for_shop_id']; $allactivecategories = $objProductCategory->getAllMainCategories($where, $selectedColumn); $where = ['rawQuery' => 'category_status = ?', 'bindParams' => [1]]; $selectedColumn = ['product_categories.*', DB::raw('GROUP_CONCAT(category_id)AS main_category_id'), DB::raw('GROUP_CONCAT(category_name)AS main_category_name')]; $allActiveSubcategories = $objProductCategory->getSubCategoriesForMaincategory($where, $selectedColumn); $mainCategory = array_filter(array_map(function ($category) { if ($category->parent_category_id == 0) { return $category; } }, $allActiveSubcategories))[0]; $finalCatData = []; foreach (explode(',', $mainCategory->main_category_id) as $index => $mainCatID) { foreach ($allActiveSubcategories as $subCatKey => $allActiveSubcategory) { if ($allActiveSubcategory->parent_category_id == $mainCatID) { $allActiveSubcategory->main_cat_name = explode(',', $mainCategory->main_category_name)[$index]; $finalCatData[$mainCatID] = $allActiveSubcategory; } } } $where = ['rawQuery' => 'added_by = ? AND product_type = ?', 'bindParams' => [$supplierId, 0]]; $selectedColumn = ['product_id', 'product_name']; $allproducts = $objProductModel->getAllSupplierProducts($where, $selectedColumn); return view('Supplier/Views/dailyspecial/editDailySpecial', ['dailyspecialInfo' => $dailyspecialInfo[0], 'activeCategory' => $allactivecategories, 'allProducts' => $allproducts, 'allcategories' => $finalCatData]); } else { return view('Supplier/Views/dailyspecial/editDailySpecial'); } }
/** * Edit category action * @param Request $request * @param $id Category id * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @throws \FlashSale\Http\Modules\Admin\Models\Exception * @since 20-12-2015 * @author Dinanath Thakur <*****@*****.**> */ public function editCategory(Request $request, $id) { $objCategoryModel = ProductCategory::getInstance(); if ($request->isMethod('post')) { Validator::extend('word_count', function ($field, $value, $parameters) { if (count(explode(' ', $value)) > 10) { return false; } return true; }, 'Meta keywords should not contain more than 10 words.'); $rules = array('category_name' => 'required|max:50|unique:product_categories,category_name,' . $id . ',category_id', 'category_desc' => 'max:255', 'status' => 'required', 'seo_name' => 'max:100', 'page_title' => 'max:70', 'meta_desc' => 'max:160', 'meta_keywords' => 'word_count'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return Redirect::back()->with(["status" => 'error', 'msg' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { if (Input::hasFile('category_image')) { $filePath = uploadImageToStoragePath(Input::file('category_image'), 'category'); if ($filePath) { $dataToUpdate['category_banner_url'] = $filePath; } } $dataToUpdate['category_name'] = $request->input('category_name'); $dataToUpdate['category_desc'] = $request->input('category_desc'); $dataToUpdate['category_status'] = $request->input('status'); $dataToUpdate['is_visible'] = $request->input('is_visible'); $dataToUpdate['parent_category_id'] = $request->input('parent_category'); $dataToUpdate['page_title'] = $request->input('page_title'); $dataToUpdate['meta_description'] = $request->input('meta_desc'); $dataToUpdate['meta_keywords'] = $request->input('meta_keywords'); $whereForUpdate = ['rawQuery' => 'category_id =?', 'bindParams' => [$id]]; $updateResult = $objCategoryModel->updateCategoryWhere($dataToUpdate, $whereForUpdate); if ($updateResult > 0) { if (isset($filePath)) { deleteImageFromStoragePath($request->input('old_image')); } return Redirect::back()->with(['status' => 'success', 'msg' => 'Category details has been updated.']); } else { return Redirect::back()->with(['status' => 'info', 'msg' => 'Nothing to update.']); } } } $where = ['rawQuery' => 'category_id =?', 'bindParams' => [$id]]; $categoryDetails = $objCategoryModel->getCategoryDetailsWhere($where); $allCategories = ''; if ($categoryDetails) { // $where = ['rawQuery' => 'category_status =?', 'bindParams' => [1]]; $where = ['rawQuery' => '1']; $allCategories = $objCategoryModel->getAllCategoriesWhere($where); // foreach ($allCategories as $key => $value) { // $allCategories[$key]->display_name = $this->getCategoryDisplayName($value->category_id); // } } return view('Admin/Views/category/editCategory', ['categoryDetails' => $categoryDetails, 'allCategories' => $allCategories]); }
public function editProduct(Request $request, $productId) { $temp = ["cacheid" => "testcacheid1", "testsdata" => [["lessonid" => "1", "drills" => [["drillid" => "1", "result_ids" => "1,2,3"], ["drillid" => "2", "result_ids" => "4"]]], ["lessonid" => "2", "drills" => [["drillid" => "1", "result_ids" => "1,2,3"], ["drillid" => "2", "result_ids" => "4"]]]]]; dd(json_encode($temp, true)); die; //GET from product //GET from productmeta $objModelProducts = Products::getInstance(); $whereForProduct = ['rawQuery' => 'products.product_id = ?', 'bindParams' => [$productId]]; $productData = json_decode($objModelProducts->getProductWhere($whereForProduct), true); if (!empty($productData['data'])) { $objModelCategory = ProductCategory::getInstance(); $objModelFeatures = ProductFeatures::getInstance(); $objModelProductMeta = ProductMeta::getInstance(); $objModelProductImage = ProductImage::getInstance(); $objModelProductOption = ProductOption::getInstance(); $objModelProductOptionVariant = ProductOptionVariant::getInstance(); $objModelProductOptionVariantRelation = ProductOptionVariantRelation::getInstance(); $objModelProductFeatureVariantRelation = ProductFeatureVariantRelation::getInstance(); $objModelProductOptVarCombination = ProductOptionVariantsCombination::getInstance(); $objModelProductFeature = ProductFeatures::getInstance(); $userId = Session::get('fs_admin')['id']; $whereForCat = ['rawQuery' => 'category_status =?', 'bindParams' => [1]]; $allCategories = $objModelCategory->getAllCategoriesWhere($whereForCat); $whereForFeatureGroup = ['rawQuery' => 'group_flag =? and status = ?', 'bindParams' => [1, 1]]; $allFeatureGroups = $objModelFeatures->getAllFeaturesWhere($whereForFeatureGroup); //GET from product_feature_variant_relation $catId = (int) $productData['data']['category_id']; $catFlag = true; $parentCategory = array(); $count = 1; $bindParamsForFeature = array(); $queryForFeature = ""; $queryForFeatureGroup = ""; while ($catFlag) { if ($count == 1) { $queryForFeatureGroup = '(product_features.group_flag = 1) and (product_features.for_categories LIKE ? OR product_features.for_categories LIKE ? OR product_features.for_categories LIKE ? OR product_features.for_categories LIKE ?'; $queryForFeature = '(group_flag = 0 and parent_id = 0) and (for_categories LIKE ? OR for_categories LIKE ? OR for_categories LIKE ? OR for_categories LIKE ?'; } else { $count++; $catId = $parentCategory['category_id']; $queryForFeatureGroup .= 'OR product_features.for_categories LIKE ? OR product_features.for_categories LIKE ? OR product_features.for_categories LIKE ? OR product_features.for_categories LIKE ?'; $queryForFeature .= 'OR for_categories LIKE ? OR for_categories LIKE ? OR for_categories LIKE ? OR for_categories LIKE ?'; } array_push($bindParamsForFeature, "%,{$catId}"); array_push($bindParamsForFeature, "%,{$catId},%"); array_push($bindParamsForFeature, "{$catId},%"); array_push($bindParamsForFeature, "{$catId}"); $parentCategory = array(); $whereForCat = ['rawQuery' => 'parent_category_id = ?', "bindParams" => [$catId]]; $parentCategory = $objModelCategory->getCategoryDetailsWhere($whereForCat); if (!$parentCategory) { $catFlag = false; } } $queryForFeature .= ")"; $queryForFeatureGroup .= ")"; $whereForFeature = ['rawQuery' => $queryForFeature, 'bindParams' => $bindParamsForFeature]; $featureDetails = json_decode($objModelProductFeature->getAllFeaturesWithVariantsWhere($whereForFeature), true); // $featureDetails = json_decode($objModelProductFeature->getAllFeaturesWithFVRelationWhere($whereForFeature), true); $whereForFeatureGroup = ['rawQuery' => $queryForFeatureGroup, 'bindParams' => $bindParamsForFeature]; $featureGroups = json_decode($objModelProductFeature->getAllFGsWithFsWhere($whereForFeatureGroup), true); foreach ($featureGroups['data'] as $keyFG => $valueFG) { $whereForFs = ['rawQuery' => "product_features.parent_id IN (?)", "bindParams" => [$valueFG['feature_ids']]]; $featureGroups['data'][$keyFG]['featureDetails'] = json_decode($objModelProductFeature->getAllFeaturesWithVariantsWhere($whereForFs), true)['data']; } $whereForFVRelation = ['rawQuery' => "product_id = ?", 'bindParams' => [$productId]]; $fvRelations = $objModelProductFeatureVariantRelation->getAllFeatureVariantRelationsWhere($whereForFVRelation); // dd($fvRelations); $response['code'] = $featureDetails['code']; $response['message'] = $featureDetails['message']; $response['data']['featureDetails'] = $featureDetails['data']; $response['data']['featureGroupDetails'] = $featureGroups['data']; //GET from options $whereForOptions = ['rawQuery' => 'status = 1']; $allOptions = $objModelProductOption->getAllOptionsWhere($whereForOptions); //GET from option_variants // $objModelProductOptionVariant->getVariants //GET from option_variant_relation $whereForOptVar = ['rawQuery' => "1"]; //product_id = ?", 'bindParams' => [$productId]]; $whereForJoin = ['column' => 'product_id', 'condition' => '=', 'value' => "{$productId}"]; $dataOptVarWithRelations = json_decode($objModelProductOptionVariant->getOptionVarWithRelationsWhere($whereForOptVar, ['*'], $whereForJoin), true); // dd(json_decode($dataOptVarWithRelations, true));//$objModelProductOptionVariantRelation //GET from option_variants_combination $whereForOptVarCombinations = ['rawQuery' => "product_id = ?", 'bindParams' => [$productId]]; $dataOptVarCombs = json_decode($objModelProductOptVarCombination->getAllCombinationsWhere($whereForOptVarCombinations), true); // dd(json_decode($dataOptVarCombs, true));//$objModelProductOptionVariantRelation //GET from product_images $whereForImages = ['rawQuery' => 'for_product_id = ? and for_combination_id = ?', 'bindParams' => [$productId, 0]]; $dataDefaultImages = json_decode($objModelProductImage->getAllImagesWhere($whereForImages), true); // dd($dataImages); if ($request->isMethod('post')) { dd($request); // $inputData = $request->input('product_data');//Excludes image $inputData = $request->all()['product_data']; //Includes image // print_a($inputData['options']); // print_a($_FILES); $returnData = ['code' => 400, "message" => "Nothing to update.", "data" => null]; if (isset($inputData['updateFormName'])) { $updateFormName = $inputData['updateFormName']; $errors = array(); switch ($updateFormName) { case "general": $rules = ['product_name' => 'required', 'price' => 'required', 'in_stock' => 'required', 'comment' => 'max:100']; $messages = array(); $validator = Validator::make($inputData, $rules, $messages); if ($validator->fails()) { return Redirect::back()->with(["code" => 400, "status" => 'error', 'message' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { $productData = array(); $productData['product_name'] = trim($inputData['product_name']); $productData['for_shop_id'] = $inputData['shop_id']; if (array_key_exists('product_type', $inputData)) { $productData['product_type'] = 1; } $productData['min_qty'] = $inputData['minimum_order_quantity']; $productData['max_qty'] = $inputData['maximum_order_quantity']; $productData['category_id'] = $inputData['category_id']; $productData['for_gender'] = $inputData['for_gender']; $productData['price_total'] = $inputData['price']; $productData['list_price'] = $inputData['list_price']; $productData['in_stock'] = $inputData['in_stock']; $productData['added_date'] = time(); $productData['added_by'] = $userId; $productData['status_set_by'] = $userId; $returnData = $objModelProducts->updateProductsWhere($productData); // $returnData['code'] = 200; // $returnData['message'] = "General details saved successfully"; // $returnData['data'] = null; } //--------------------------PRODUCT-METADATA----------------------------// $productMetaData['product_id'] = $productId; $productMetaData['full_description'] = trim($inputData['full_description']); $productMetaData['short_description'] = trim($inputData['short_description']); $productMetaData['weight'] = $inputData['shipping_properties']['weight']; $productMetaData['shipping_freight'] = $inputData['shipping_properties']['shipping_freight']; $shippingParams = array(); $shippingParams['min_items'] = $inputData['shipping_properties']['min_items']; $shippingParams['max_items'] = $inputData['shipping_properties']['min_items']; if (array_key_exists('box_length', $inputData['shipping_properties'])) { $shippingParams['box_length'] = $inputData['shipping_properties']['box_length']; } if (array_key_exists('box_width', $inputData['shipping_properties'])) { $shippingParams['box_width'] = $inputData['shipping_properties']['box_width']; } if (array_key_exists('box_height', $inputData['shipping_properties'])) { $shippingParams['box_height'] = $inputData['shipping_properties']['box_height']; } $productMetaData['shipping_params'] = json_encode($shippingParams); $productMetaData['quantity_discount'] = json_encode($inputData['quantity_discount']); $productMetaData['product_tabs'] = json_encode($inputData['product_tabs']); $insertedProductMetaId = $objModelProductMeta->addProductMetaData($productMetaData); if (!$insertedProductMetaId) { $errors[] = 'Sorry, some of the product data were not added, please update the same on the edit section.'; } //--------------------------END PRODUCT-METADATA----------------------------// //------------------------PRODUCT FEATURES START HERE---------------------// if (array_key_exists('features', $inputData)) { $productDataFeatures = $inputData['features']; $fvrDataToInsert = array(); foreach ($productDataFeatures as $keyPDF => $valuePDF) { if (array_key_exists("single", $productDataFeatures[$keyPDF])) { // $fvrDataToInsert[] = ['product_id' => $insertedProductId, 'feature_id' => $keyPDF, 'variant_ids' => 0, 'display_status' => $productDataFeatures[$keyPDF]['status']]; $objModelProductFeatureVariantRelation->addFeatureVariantRelation(['product_id' => $insertedProductId, 'feature_id' => $keyPDF, 'variant_ids' => 0, 'display_status' => $productDataFeatures[$keyPDF]['status']]); } else { if (array_key_exists("muliple", $productDataFeatures[$keyPDF])) { // $fvrDataToInsert[] = ['product_id' => $insertedProductId, 'feature_id' => $keyPDF, 'variant_ids' => implode(",", array_keys($valuePDF['multiple'])), 'display_status' => $valuePDF['status']]; $objModelProductFeatureVariantRelation->addFeatureVariantRelation(['product_id' => $insertedProductId, 'feature_id' => $keyPDF, 'variant_ids' => implode(",", array_keys($valuePDF['multiple'])), 'display_status' => $valuePDF['status']]); } else { if (array_key_exists("select", $productDataFeatures[$keyPDF])) { // $fvrDataToInsert[] = ['product_id' => $insertedProductId, 'feature_id' => $keyPDF, 'variant_ids' => $valuePDF['select'], 'display_status' => $valuePDF['status']]; $objModelProductFeatureVariantRelation->addFeatureVariantRelation(['product_id' => $insertedProductId, 'feature_id' => $keyPDF, 'variant_ids' => "" . $valuePDF['select'], 'display_status' => $valuePDF['status']]); } } } } // $objModelProductFeatureVariantRelation->addFeatureVariantRelation($fvrDataToInsert); } //------------------------PRODUCT FEATURES END HERE---------------------// break; //TODO update main image here //TODO update main image here case "images": $rules = ['mainimage' => 'image|mimes:jpeg,bmp,png|max:1000']; $messages['mainimage.image'] = 'Only jpg, jpeg, gif images allowed for upload.'; $validator = Validator::make($inputData, $rules, $messages); if ($validator->fails()) { return Redirect::back()->with(["code" => 400, "status" => 'error', 'message' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { //TODO update otherimages here //----------------------------PRODUCT-IMAGES------------------------------// $productImages = $_FILES['product_data']; $imageData = array(); if ($productImages['error']['mainimage'] == 0) { $mainImageURL = uploadImageToStoragePath($productImages['tmp_name']['mainimage'], 'product_' . $insertedProductId, 'product_' . $insertedProductId . '_0_' . time() . '.jpg', 724, 1024); if ($mainImageURL) { $mainImageData['for_product_id'] = $insertedProductId; $mainImageData['image_type'] = 0; $mainImageData['image_upload_type'] = 0; $mainImageData['image_url'] = $mainImageURL; $imageData[] = $mainImageData; } } else { $errors[] = 'Sorry, something went wrong. Main image could not be uploaded, You can upload it on edit section.'; } if (array_key_exists('otherimages', $productImages['name'])) { foreach ($productImages['tmp_name']['otherimages'] as $otherImageKey => $otherImage) { if ($otherImage != '') { $otherImageURL = uploadImageToStoragePath($otherImage, 'product_' . $insertedProductId, 'product_' . $insertedProductId . '_' . ($otherImageKey + 1) . '_' . time() . '.jpg', 724, 1024); if ($otherImageURL) { $otherImageData['for_product_id'] = $insertedProductId; $otherImageData['image_type'] = 1; $otherImageData['image_upload_type'] = 0; $otherImageData['image_url'] = $otherImageURL; $imageData[] = $otherImageData; } } } } if (!empty($imageData)) { $objModelProductImage->addNewImage($imageData); } //--------------------------END PRODUCT-IMAGES----------------------------// $returnData['code'] = 200; $returnData['message'] = "Images updated successfully"; $returnData['data'] = null; } break; case "options": $rules = ['mainimage' => 'image|mimes:jpeg,bmp,png|max:1000']; $messages['mainimage.image'] = 'Only jpg, jpeg, gif images allowed for upload.'; $validator = Validator::make($inputData, $rules, $messages); if ($validator->fails()) { return Redirect::back()->with(["code" => 400, "status" => 'error', 'message' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { //TODO options code here if (array_key_exists('options', $inputData)) { $finalOptionVariantRelationData = array(); $varDataForCombinations = array(); foreach ($inputData['options'] as $key => $optionValue) { $optionVariantRelationData['product_id'] = $insertedProductId; $optionVariantRelationData['option_id'] = $optionValue['option_id']; $optionVariantRelationData['status'] = $optionValue['status']; $tempOptionVariantData = array(); $variantIds = array(); //-------------------------OLD OPTION VARIANT START-----------------------// /* if (array_key_exists('variantData', $optionValue)) { foreach ($optionValue['variantData'] as $variantKey => $variantValue) { $temp = array(); if ($variantValue['variant_id'] == 0) { $variantData['option_id'] = $optionValue['option_id']; $variantData['variant_name'] = $variantValue['variant_name']; $variantData['added_by'] = $userId; $variantData['status'] = $variantValue['status']; $variantData['created_at'] = NULL; $insertedVariantId = $objModelProductOptionVariant->addNewVariantAndGetID($variantData); if ($insertedVariantId > 0) { array_push($variantIds, $insertedVariantId); $temp['VID'] = $insertedVariantId; $temp['VN'] = $variantValue['variant_name']; $temp['PM'] = $variantValue['price_modifier']; $temp['PMT'] = $variantValue['price_modifier_type']; $temp['WM'] = $variantValue['weight_modifier']; $temp['WMT'] = $variantValue['weight_modifier_type']; $temp['STTS'] = $variantValue['status']; } } else { array_push($variantIds, $variantValue['variant_id']); $temp['VID'] = $variantValue['variant_id']; $temp['VN'] = $variantValue['variant_name']; $temp['PM'] = $variantValue['price_modifier']; $temp['PMT'] = $variantValue['price_modifier_type']; $temp['WM'] = $variantValue['weight_modifier']; $temp['WMT'] = $variantValue['weight_modifier_type']; $temp['STTS'] = $variantValue['status']; } $tempOptionVariantData[] = $temp; } if (!empty($variantIds) && !empty($tempOptionVariantData)) { $optionVariantRelationData['variant_ids'] = implode(',', $variantIds); $optionVariantRelationData['variant_data'] = json_encode($tempOptionVariantData); } } */ //-------------------------OLD OPTION VARIANT END-----------------------// //-------------------------NEW OPTION VARIANT START---------------------// if (array_key_exists('variantData', $optionValue)) { foreach ($optionValue['variantData'] as $variantKey => $variantValue) { $temp = array(); array_push($variantIds, $variantValue['variant_id']); $temp['VID'] = $variantValue['variant_id']; $temp['VN'] = $variantValue['variant_name']; $temp['PM'] = $variantValue['price_modifier']; $temp['PMT'] = $variantValue['price_modifier_type']; $temp['WM'] = $variantValue['weight_modifier']; $temp['WMT'] = $variantValue['weight_modifier_type']; $temp['STTS'] = $variantValue['status']; $tempOptionVariantData[] = $temp; } } if (array_key_exists('variantDataNew', $optionValue)) { foreach ($optionValue['variantDataNew'] as $variantKey => $variantValue) { $temp = array(); $variantData['option_id'] = $optionValue['option_id']; $variantData['variant_name'] = $variantValue['variant_name']; $variantData['added_by'] = $userId; $variantData['status'] = $variantValue['status']; $variantData['created_at'] = NULL; $insertedVariantId = $objModelProductOptionVariant->addNewVariantAndGetID($variantData); if ($insertedVariantId > 0) { $varDataForCombinations[$variantValue['variant_id']] = $insertedVariantId; array_push($variantIds, $insertedVariantId); $temp['VID'] = $insertedVariantId; $temp['VN'] = $variantValue['variant_name']; $temp['PM'] = $variantValue['price_modifier']; $temp['PMT'] = $variantValue['price_modifier_type']; $temp['WM'] = $variantValue['weight_modifier']; $temp['WMT'] = $variantValue['weight_modifier_type']; $temp['STTS'] = $variantValue['status']; } $tempOptionVariantData[] = $temp; } } if (!empty($variantIds) && !empty($tempOptionVariantData)) { $optionVariantRelationData['variant_ids'] = implode(',', $variantIds); $optionVariantRelationData['variant_data'] = json_encode($tempOptionVariantData); } //-------------------------NEW OPTION VARIANT END---------------------// $finalOptionVariantRelationData[] = $optionVariantRelationData; } if (!empty($finalOptionVariantRelationData)) { $objModelProductOptionVariantRelation->addNewOptionVariantRelation($finalOptionVariantRelationData); } //------------------------PRODUCT OPTION COMBINATIONS START HERE---------------------// foreach ($inputData['opt_combination'] as $keyCombination => $valueCombination) { $flags = explode("_", $valueCombination['newflag']); $combinationVarIds = explode("_", $keyCombination); $flagKeys = array_keys($flags, "1"); foreach ($flagKeys as $keyFK => $valueFK) { $combinationVarIds[$keyFK] = $varDataForCombinations[$combinationVarIds[[$keyFK]]]; } //TODO ADD BARCODE, shippig info and image data for the combination here $dataCombinations['product_id'] = $insertedProductId; $dataCombinations['variant_ids'] = implode("_", $combinationVarIds); $dataCombinations['quantity'] = $valueCombination['quantity']; $dataCombinations['exception_flag'] = 0; if (isset($valueCombination['excludeflag']) && $valueCombination['excludeflag'] == 'on') { $dataCombinations['exception_flag'] = 1; } $objModelProductOptVarCombination->addNewOptionVariantsCombination($dataCombinations); } //------------------------PRODUCT OPTION COMBINATIONS END HERE---------------------// } $returnData['code'] = 200; $returnData['message'] = "Options saved successfully"; $returnData['data'] = null; } break; /* case "features": $returnData['code'] = 200; $returnData['message'] = "Features saved successfully"; $returnData['data'] = null; break; */ /* case "features": $returnData['code'] = 200; $returnData['message'] = "Features saved successfully"; $returnData['data'] = null; break; */ case "filters": $rules = ['mainimage' => 'image|mimes:jpeg,bmp,png|max:1000']; $messages['mainimage.image'] = 'Only jpg, jpeg, gif images allowed for upload.'; $validator = Validator::make($inputData, $rules, $messages); if ($validator->fails()) { return Redirect::back()->with(["code" => 400, "status" => 'error', 'message' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { $returnData['code'] = 200; $returnData['message'] = "Filters saved successfully"; $returnData['data'] = null; } break; case "tabs": $rules = ['mainimage' => 'image|mimes:jpeg,bmp,png|max:1000']; $messages['mainimage.image'] = 'Only jpg, jpeg, gif images allowed for upload.'; $validator = Validator::make($inputData, $rules, $messages); if ($validator->fails()) { return Redirect::back()->with(["code" => 400, "status" => 'error', 'message' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { $returnData['code'] = 200; $returnData['message'] = "Tab details saved successfully"; $returnData['data'] = null; } break; default: break; } } } foreach ($allCategories as $key => $value) { $allCategories[$key]->display_name = $this->getCategoryDisplayName($value->category_id); } return view('Admin/Views/product/editProduct', ['code' => '', 'allCategories' => $allCategories, 'allOptions' => $allOptions, 'featureGroups' => json_decode($allFeatureGroups, true), 'productData' => $productData['data'], 'dataOptVarWithRelations' => $dataOptVarWithRelations, 'dataOptVarCombs' => $dataOptVarCombs, 'dataDefaultImages' => $dataDefaultImages]); } else { return view('Admin/Views/product/editProduct', ['code' => '400', 'message' => 'No such product exists.', 'productData' => array()]); } }
/** * @param Request $request * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function addNewShop(Request $request) { $userId = Session::get('fs_supplier')['id']; $objCategoryModel = ProductCategory::getInstance(); $objLocationModel = Location::getInstance(); $objShopModel = Shop::getInstance(); $objShopMetadataModel = ShopMetadata::getInstance(); $whereforCategory = ['rawQuery' => 'category_status =? and parent_category_id =?', 'bindParams' => [1, 0]]; $allCategories = $objCategoryModel->getAllCategoriesWhere($whereforCategory); $whereforCountry = ['rawQuery' => 'is_visible =? and location_type =?', 'bindParams' => [0, 0]]; $allCountry = $objLocationModel->getAllLocationsWhere($whereforCountry); $whereforShop = ['rawQuery' => 'user_id =?', 'bindParams' => [$userId]]; $allShop = $objShopModel->getAllshopsWhere($whereforShop); //echo "<pre>";print_r($allShop);die; /////////////////////////////Flag Set By admin side///////////////Todo- Flag Set By admin side $multiple_store_flag = 1; // Value 1 if flag is set $sub_store_flag = 1; // Value 1 if flag is set $parent_category_flag = 1; // Value 1 if flag is set ///////////////////////////////////////////////////////////////// $flag['multiple_store_flag'] = $multiple_store_flag; $flag['sub_store_flag'] = $sub_store_flag; $flag['parent_category_flag'] = $parent_category_flag; $data['allCategories'] = $allCategories; $data['Country'] = $allCountry; $data['Shop'] = $allShop; if (!empty($allShop) && $multiple_store_flag != 1) { //Error msg if multiple shop not allowed and shopeady added return view("Supplier/Views/supplier/addNewShop", ['multiple_store_err' => "Shop already added, Can not add Multiple Shop"]); } else { $parentCategoryId = 0; if (isset($request['parent_category']) && !empty($request['parent_category'])) { $parentCategoryId = $request['parent_category']; } $parentShopId = ""; if (isset($request['parent_shop']) && !empty($request['parent_shop'])) { $parentShopId = $request['parent_shop']; } if ($request->isMethod('post')) { if ($parentShopId == '') { //Sub store flag is not set $rules = array('shop_name' => 'required'); } else { //Sub store flag is set $rules = array(); } $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } else { try { $addressLine1 = ""; if (isset($request['address_line_1'])) { $addressLine1 = $request['address_line_1']; } $addressLine2 = ""; if (isset($request['address_line_2'])) { $addressLine2 = $request['address_line_2']; } $country = ""; if (isset($request['country'])) { $country = $request['country']; } $state = ""; if (isset($request['state'])) { $state = $request['state']; } $city = ""; if (isset($request['city'])) { $city = $request['city']; } $zipcode = ""; if (isset($request['zipcode'])) { $zipcode = $request['zipcode']; } $shop_flag = 1; if (isset($request['shop_flag'])) { $shop_flag = $request['shop_flag']; } $show_shop = 2; if (isset($request['show_shop'])) { $show_shop = $request['show_shop']; } ////////////Upload Shop Banner Start/////////////////////// if (isset($_FILES["shop_banner"]["name"]) && !empty($_FILES["shop_banner"]["name"])) { $bannerFilePath = uploadImageToStoragePath(Input::file('shop_banner'), 'shopbanner', 'shopbanner_' . $userId . '_' . time() . ".jpg"); } else { $bannerFilePath = uploadImageToStoragePath($_SERVER['DOCUMENT_ROOT'] . "/assets/images/no-image.png", 'shopbanner', 'shopbanner_' . $userId . '_' . time() . ".jpg"); } ////////////Upload Shop banner End/////////////////////// ////////////Upload Shop Logo Start/////////////////////// if (isset($_FILES["shop_logo"]["name"]) && !empty($_FILES["shop_logo"]["name"])) { $logoFilePath = uploadImageToStoragePath(Input::file('shop_logo'), 'shoplogo', 'shoplogo_' . $userId . '_' . time() . ".jpg"); } else { $logoFilePath = uploadImageToStoragePath($_SERVER['DOCUMENT_ROOT'] . "/assets/images/no-image.png", 'shoplogo', 'shoplogo_' . $userId . '_' . time() . ".jpg"); } ////////////Upload Shop Logo End/////////////////////// if ($parentShopId == "") { //Sub store flag is not set $shopdata = array('user_id' => $userId, 'shop_name' => $request['shop_name'], 'shop_banner' => $bannerFilePath, 'shop_logo' => $logoFilePath, 'parent_category_id' => $parentCategoryId, 'shop_flag' => $shop_flag); $addShop = $objShopModel->addShop($shopdata); $shop_id = $addShop; $shopType = "0"; } else { //Sub store flag is set $shopType = "1"; $shop_id = $parentShopId; } $shopMatadata = array('shop_id' => $shop_id, 'shop_type' => $shopType, 'address_line_1' => $addressLine1, 'address_line_2' => $addressLine2, 'city' => $city, 'state' => $state, 'country' => $country, 'zipcode' => $zipcode, 'added_date' => time(), 'show_shop_address' => $show_shop, 'shop_metadata_status' => 1); $addShop = $objShopMetadataModel->addShopMetadata($shopMatadata); if ($addShop) { if ($parentShopId == "") { return redirect()->back()->with('shop_success_msg', 'Shop Added Successfully, Waiting for Admin Approval.'); } else { return redirect()->back()->with('shop_success_msg', 'Shop Added Successfully.'); } } } catch (\Exception $ex) { return redirect()->back()->with('exception', 'An exception occurred, please reload the page and try again.'); } } } return view("Supplier/Views/supplier/addNewShop", ['data' => $data], ['flag' => $flag]); } }
/** * Edit category action * @param Request $request * @param $id Category id * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View * @throws \FlashSale\Http\Modules\Supplier\Models\Exception * @since 29-01-2016 * @author Dinanath Thakur <*****@*****.**> */ public function editCategory(Request $request, $id) { $objCategoryModel = ProductCategory::getInstance(); $userId = Session::get('fs_supplier')['id']; if ($request->isMethod('post')) { Validator::extend('word_count', function ($field, $value, $parameters) { if (count(explode(' ', $value)) > 10) { return false; } return true; }, 'Meta keywords should not contain more than 10 words.'); $rules = array('category_name' => 'required|max:50|unique:product_categories,category_name,' . $id . ',category_id', 'category_desc' => 'max:255', 'status' => 'required', 'seo_name' => 'max:100', 'page_title' => 'max:70', 'meta_desc' => 'max:160', 'meta_keywords' => 'word_count'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return Redirect::back()->with(["status" => 'error', 'msg' => 'Please correct the following errors.'])->withErrors($validator)->withInput(); } else { if (Input::hasFile('category_image')) { $filePath = uploadImageToStoragePath(Input::file('category_image'), 'category'); if ($filePath) { $dataToUpdate['category_banner_url'] = $filePath; } } $dataToUpdate['category_name'] = $request->input('category_name'); $dataToUpdate['category_desc'] = $request->input('category_desc'); $dataToUpdate['category_status'] = $request->input('status'); $dataToUpdate['parent_category_id'] = $request->input('parent_category'); $dataToUpdate['page_title'] = $request->input('page_title'); $dataToUpdate['meta_description'] = $request->input('meta_desc'); $dataToUpdate['meta_keywords'] = $request->input('meta_keywords'); $whereForUpdate = ['rawQuery' => 'category_id =?', 'bindParams' => [$id]]; $updateResult = $objCategoryModel->updateCategoryWhere($dataToUpdate, $whereForUpdate); if ($updateResult > 0) { if (isset($filePath)) { deleteImageFromStoragePath($request->input('old_image')); } return Redirect::back()->with(['status' => 'success', 'msg' => 'Category details has been updated.']); } else { return Redirect::back()->with(['status' => 'info', 'msg' => 'Nothing to update.']); } } } $where = ['rawQuery' => 'category_id =? AND category_status IN(0,1,2) AND created_by=?', 'bindParams' => [$id, $userId]]; $categoryDetails = $objCategoryModel->getCategoryDetailsWhere($where); $allCategories = ''; if ($categoryDetails) { $allCategories = $objCategoryModel->getAllCategoriesWhere(['rawQuery' => 'created_by IN (' . DB::raw("SELECT `id` FROM `users` WHERE `role` IN(4,5)") . ') OR created_by=? AND category_status IN(0,1,2)', 'bindParams' => [$userId]]); } return view('Supplier/Views/category/editCategory', ['categoryDetails' => $categoryDetails, 'allCategories' => $allCategories]); }
public function editFlashsale(Request $request, $fid) { $objCategoryModel = ProductCategory::getInstance(); $objCampaignModel = Campaigns::getInstance(); $postData = $request->all(); $supplierId = Session::get('fs_supplier')['id']; if ($request->isMethod('POST')) { $rules = array('campaign_name' => 'unique:campaigns,campaign_name,' . $fid . ',campaign_id', 'flashsale_image' => 'image'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } else { if (Input::hasFile('flashsale_image')) { $filePath = uploadImageToStoragePath(Input::file('flashsale_image'), 'flashsale', 'flashsale_' . $supplierId . '_' . time() . ".jpg"); $data['campaign_banner'] = $filePath; } $postData = $request->all(); $data['campaign_name'] = $postData['campaign_name']; $data['for_shop_id'] = $postData['suppliershop']; $data['discount_type'] = $postData['discounttype']; if ($postData['discounttype'] == 1) { $data['discount_value'] = $postData['flatdiscount']; } else { $data['discount_value'] = $postData['percentagediscount']; } $validFrom = strtotime(str_replace("-", "", $postData['availablefromdate'])); $validTo = strtotime(str_replace("-", "", $postData['availableuptodate'])); $data['available_from'] = $validFrom; $data['available_upto'] = $validTo; $categ = $postData['productcategories']; $data['for_category_ids'] = implode(",", $categ); $where = ['rawQuery' => 'campaign_id = ?', 'bindParams' => [$fid]]; $campaignUpdate = $objCampaignModel->updateFlashsaleStatus($data, $where); if ($campaignUpdate) { if (isset($filePath)) { deleteImageFromStoragePath($postData['oldImage']); } return Redirect::back()->with(['status' => 'success', 'msg' => 'FlashSale Added Successfully.']); } else { return Redirect::back()->with(['status' => 'error', 'msg' => 'Some Error try again.']); } } } $where = ['rawQuery' => 'campaign_id = ?', 'bindParams' => [$fid]]; $selectedColumn = ['campaigns.*', 'users.username']; $flashsaleInfo = $objCampaignModel->getAllFlashsaleDetails($where, $selectedColumn); if (isset($flashsaleInfo) && !empty($flashsaleInfo)) { foreach ($flashsaleInfo as $flashkey => $flashval) { $categoryIds = $flashval->for_category_ids; $where = ['rawQuery' => 'category_id IN(' . $categoryIds . ')']; $getcategory = $objCategoryModel->getCategoryNameById($where); foreach ($getcategory as $catkey => $catval) { $flashsaleInfo[$flashkey]->category = $catval->category_name; } } // echo'<pre>';print_r($flashsaleInfo);die("dxv"); $where = ['rawQuery' => 'category_status = ? AND parent_category_id = ?', 'bindParams' => [1, 0]]; $selectedColumn = ['category_id', 'category_name', 'category_status', 'for_shop_id']; $allactivecategories = $objCategoryModel->getAllMainCategories($where, $selectedColumn); return view('Supplier/Views/flashsale/editFlashsale', ['flashsaleDetails' => $flashsaleInfo[0], 'activeflashsale' => $allactivecategories]); } else { return view('Supplier/Views/flashsale/editFlashsale'); } }
/** * This service is use to handle profile it has 4 methods changegeneralinfo, changeshippinginfo, changepassword and changeavtar * @param changegeneralinfo : method, user_id, firstname, lastname, contact_no, api_token, secondary_email * @return $updategeneralinfo * @param changeshippinginfo : method, user_id, mytoken, city, state, zipcode, api_token, address_line_1, address_line_2 * @return $updateshippinginfo * @param changepassword : method, user_id, oldPassword, newPassword, reNewPassword, api_token * @return $Updatepassword * @param changeavtar : method, user_id, api_token, input_file_preview * @return $url */ public function profileAjaxHandler(Request $request) { $response = new stdClass(); if ($request->isMethod("POST")) { $postData = $request->all(); $API_TOKEN = env('API_TOKEN'); $method = ""; if (isset($postData['method'])) { $method = $postData['method']; } $objuser = new User(); $objusermetamodel = new Usersmeta(); switch ($method) { case "changegeneralinfo": $userId = ""; if (isset($postData['user_id'])) { $userId = $postData['user_id']; } $firstname = ""; if (isset($postData['firstname'])) { $firstname = $postData['firstname']; } $lastname = ""; if (isset($postData['lastname'])) { $lastname = $postData['lastname']; } $contact_no = ""; if (isset($postData['contact_no'])) { $contact_no = $postData['contact_no']; } $email = ""; if (isset($postData['email'])) { $email = $postData['email']; } $username = ""; if (isset($postData['username'])) { $username = $postData['username']; } $authFlag = false; if (isset($postData['api_token'])) { $apitoken = $postData['api_token']; if ($apitoken == $API_TOKEN) { $authFlag = true; } else { if ($userId != '') { $whereForUpdate = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $Userscredentials = $objuser->getUsercredsWhere($whereForUpdate); if ($apitoken == $Userscredentials->login_token) { $authFlag = true; } } } } if ($authFlag) { $rules = array('firstname' => 'required|regex:/^[A-Za-z\\s]+$/|max:255', 'lastname' => 'required|regex:/^[A-Za-z\\s]+$/|max:255', 'username' => 'required|regex:/^[A-Za-z0-9._\\s]+$/|max:255', 'email' => 'required|email|max:255', 'user_id' => 'required'); $messages = ['firstname.regex' => 'The :attribute cannot contain special characters.', 'lastname.regex' => 'The :attribute cannot contain special characters.', 'username.regex' => 'The :attribute cannot contain special characters.']; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { $response->code = 100; $response->message = $validator->messages(); $response->data = null; echo json_encode($response, true); } else { $whereForUpdate = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $currentUserDetails = $objuser->getUsercredsWhere($whereForUpdate); $uniqueflag = false; if ($currentUserDetails->username == $username && $currentUserDetails->username == $email) { $uniqueflag = true; } else { if ($currentUserDetails->username != $username && $currentUserDetails->username == $email) { $uniqueflag = true; } else { if ($currentUserDetails->username == $username && $currentUserDetails->username != $email) { $uniqueflag = true; } else { $rules = array('username' => 'unique:users', 'email' => 'unique:users'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { $response->code = 100; $response->message = $validator->messages(); $response->data = null; echo json_encode($response, true); } else { $uniqueflag = true; } } } } if ($uniqueflag) { $whereForId = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $data = array('name' => $firstname, 'last_name' => $lastname, 'username' => $username, 'email' => $email); $updategeneralinfo = $objuser->UpdateUserDetailsbyId($whereForId, $data); $whereForUserId = ['rawQuery' => 'user_id =?', 'bindParams' => [$userId]]; $Isuseravailable = $objusermetamodel->getUsermetaWhere($whereForUserId); if ($Isuseravailable) { $dataupdate = array('phone' => "{$contact_no}"); $UpdateUsermeta = $objusermetamodel->UpdateUsermetawhere($whereForUserId, $dataupdate); } else { $dataadd = array('user_id' => $userId, 'phone' => $contact_no); $Addusermeta = $objusermetamodel->addUsermeta($dataadd); } if ($updategeneralinfo) { $response->code = 200; $response->message = "Update Successful"; $response->data = $updategeneralinfo; echo json_encode($response, true); } else { $response->code = 400; $response->message = "Something went wrong"; $response->data = 1; echo json_encode($response, true); } } } } else { $response->code = 401; $response->message = "Access Denied"; $response->data = null; echo json_encode($response, true); } break; case "changeshippinginfo": $userId = ""; if (isset($postData['user_id'])) { $userId = $postData['user_id']; } $City = ""; if (isset($postData['city'])) { $City = $postData['city']; } $State = ""; if (isset($postData['state'])) { $State = $postData['state']; } $Zip_code = ""; if (isset($postData['zipcode'])) { $Zip_code = $postData['zipcode']; } // $country = ""; // if (isset($postData['country'])) { // $country = $postData['country']; // } $Address1 = ""; if (isset($postData['address_line_1'])) { $Address1 = $postData['address_line_1']; } $Address2 = ""; if (isset($postData['address_line_2'])) { $Address2 = $postData['address_line_2']; } $authFlag = false; if (isset($postData['api_token'])) { $apitoken = $postData['api_token']; if ($apitoken == $API_TOKEN) { $authFlag = true; } else { if ($userId != '') { $whereForUpdate = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $Userscredentials = $objuser->getUsercredsWhere($whereForUpdate); if ($apitoken == $Userscredentials->login_token) { $authFlag = true; } } } } if ($authFlag) { $rules = array('city' => 'required', 'state' => 'required', 'zipcode' => 'required', 'address_line_1' => 'required'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { $response->code = 100; $response->message = $validator->messages(); $response->data = null; echo json_encode($response); } else { $whereForUserId = ['rawQuery' => 'user_id =?', 'bindParams' => [$userId]]; $Isuseravailable = $objusermetamodel->getUsermetaWhere($whereForUserId); if ($Isuseravailable) { $data = array('city' => $City, 'state' => $State, 'zipcode' => $Zip_code, 'addressline1' => $Address1, 'addressline2' => $Address2); $updateshippinginfo = $objusermetamodel->UpdateUsermetawhere($whereForUserId, $data); } else { $dataadd = array('user_id' => $userId, 'city' => $City, 'state' => $State, 'zipcode' => $Zip_code, 'addressline1' => $Address1, 'addressline2' => $Address2); $Addusermeta = $objusermetamodel->addUsermeta($dataadd); } if ($updateshippinginfo || $Addusermeta) { $response->code = 200; $response->message = "Update Successful"; $response->data = 1; echo json_encode($response, true); } else { $response->code = 400; $response->message = "Something went Wrong"; $response->data = null; echo json_encode($response, true); } } } else { $response->code = 401; $response->message = "Access Denied"; $response->data = null; echo json_encode($response, true); } break; case "changepassword": $userId = ""; if (isset($postData['user_id'])) { $userId = $postData['user_id']; } $oldpassword = ""; if (isset($postData['oldPassword'])) { $oldpassword = $postData['oldPassword']; } $newpassword = ""; if (isset($postData['newPassword'])) { $newpassword = $postData['newPassword']; } $renewpassword = ""; if (isset($postData['reNewPassword'])) { $renewpassword = $postData['reNewPassword']; } $authFlag = false; if (isset($postData['api_token'])) { $apitoken = $postData['api_token']; if ($apitoken == $API_TOKEN) { $authFlag = true; } else { if ($userId != '') { $whereForUpdate = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $Userscredentials = $objuser->getUsercredsWhere($whereForUpdate); if ($apitoken == $Userscredentials->login_token) { $authFlag = true; } } } } if ($authFlag) { $rules = array('oldPassword' => 'required', 'newPassword' => 'required', 'reNewPassword' => 'required', 'user_id' => 'required'); $validator = Validator::make($request->all(), $rules); if ($validator->fails()) { $response->code = 100; $response->message = $validator->messages(); $response->data = null; echo json_encode($response); } else { if ($newpassword != $oldpassword) { if ($newpassword == $renewpassword) { $where = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $currentUserDetails = $objuser->getUsercredsWhere($where); if (Hash::check($oldpassword, $currentUserDetails->password)) { $newpassword = Hash::make($newpassword); $data = array('password' => $newpassword); $Updatepassword = $objuser->UpdateUserDetailsbyId($where, $data); $response->code = 200; $response->message = "Password Changed Successfully"; $response->data = 1; echo json_encode($response, true); } else { $response->code = 400; $response->message = "Invalid Password"; $response->data = null; echo json_encode($response, true); } } else { $response->code = 400; $response->message = "Both New password should be same"; $response->data = null; echo json_encode($response, true); } } else { $response->code = 400; $response->message = "New and old password should not be same"; $response->data = null; echo json_encode($response, true); } } } else { $response->code = 401; $response->message = "Access Denied"; $response->data = null; echo json_encode($response, true); } break; case "changeavtar": //This method is directly called from Ajax call of profile-setting.blade.php page $userId = ""; if (isset($postData['user_id'])) { $userId = $postData['user_id']; } $authFlag = false; if (isset($postData['api_token'])) { $apitoken = $postData['api_token']; if ($apitoken == $API_TOKEN) { $authFlag = true; } else { if ($userId != '') { $whereForUpdate = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $Userscredentials = $objuser->getUsercredsWhere($whereForUpdate); if ($apitoken == $Userscredentials->login_token) { $authFlag = true; } } } } if ($authFlag) { if ($userId != '') { if (Input::hasFile('file')) { $validator = Validator::make($request->all(), ['file' => 'image']); if ($validator->fails()) { $response->code = 100; $response->message = $validator->messages(); $response->data = null; echo json_encode($response); } else { $filePath = uploadImageToStoragePath(Input::file('file'), 'profileavatar', 'profileavatar_' . $userId . '_' . time() . ".jpg"); if ($filePath) { $updateData['profilepic'] = $filePath; $where = ['rawQuery' => 'id =?', 'bindParams' => [$userId]]; $UserData = $objuser->getUsercredsWhere($where); $updatedResult = $objuser->UpdateUserDetailsbyId($where, $updateData); if ($updatedResult) { if ($UserData->profilepic != '') { if (!strpos($UserData->profilepic, 'placeholder')) { deleteImageFromStoragePath($UserData->profilepic); } } // $response->code = 200; $response->message = "Successfully updated profile image."; $response->data = $filePath; echo json_encode($response); } else { $response->code = 400; $response->message = "Something went wrong, please try again."; $response->data = null; echo json_encode($response); } } else { $response->code = 400; $response->message = "Something went wrong, please reload the page and try again.."; $response->data = null; echo json_encode($response); } } } else { $response->code = 400; $response->message = "Give correct input and Input Image files should be(jpg,gif,png,jpeg)only"; $response->data = null; echo json_encode($response, true); } } else { $response->code = 400; $response->message = "You need to login to change Avtar."; $response->data = null; echo json_encode($response, true); } } else { $response->code = 401; $response->message = "Access Denied"; $response->data = null; echo json_encode($response, true); } break; default: break; } } else { $response->code = 401; $response->message = "Invalid request"; $response->data = null; echo json_encode($response, true); } }