Ejemplo n.º 1
0
 public function UploadBidProfile(Request $request)
 {
     //        return dd($request->all());
     if (Auth::check()) {
         if (in_array('ADD_EDIT_BIDPROFILE', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($request->hasFile('upload_bid_profile') and $validate->passes()) {
                 if (User::isSuperAdmin()) {
                     $advertiser_obj = Advertiser::with('GetClientID')->find($request->input('advertiser_id'));
                 } else {
                     $usr_company = $this->user_company();
                     $advertiser_obj = Advertiser::whereHas('GetClientID', function ($p) use($usr_company) {
                         $p->whereIn('user_id', $usr_company);
                     })->find($request->input('advertiser_id'));
                     if (!$advertiser_obj) {
                         return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
                     }
                 }
                 if ($advertiser_obj) {
                     $destpath = public_path();
                     $extension = $request->file('upload_bid_profile')->getClientOriginalExtension();
                     // getting image extension
                     $fileName = str_random(32) . '.' . $extension;
                     $request->file('upload_bid_profile')->move($destpath . '/cdn/test/', $fileName);
                     $upload = Excel::load('public/cdn/test/' . $fileName, function ($reader) {
                     })->get();
                     //                        return dd($upload);
                     $t = array();
                     foreach ($upload[0] as $key => $value) {
                         array_push($t, $key);
                     }
                     if ($t[0] != 'domain' or $t[1] != 'bid_strategy' or $t[2] != 'bid_value') {
                         File::delete($destpath . '/cdn/test/' . $fileName);
                         return Redirect::back()->withErrors(['success' => false, 'msg' => 'please be sure that file is correct'])->withInput();
                     }
                     $chk = Bid_Profile::where('advertiser_id', $request->input('advertiser_id'))->get();
                     foreach ($chk as $index) {
                         if ($index->name == $request->input('name')) {
                             File::delete($destpath . '/cdn/test/' . $fileName);
                             return Redirect::back()->withErrors(['success' => false, 'msg' => 'this name already existed !!!'])->withInput();
                         }
                     }
                     $bid_profile = new Bid_Profile();
                     $bid_profile->name = $request->input('name');
                     $bid_profile->advertiser_id = $request->input('advertiser_id');
                     $bid_profile->status = 'Active';
                     $bid_profile->save();
                     foreach ($upload as $test) {
                         $flg = 0;
                         if ($test['bid_strategy'] == 'Absolute') {
                             if ($test['bid_value'] < 0 and $test['bid_value'] > 10) {
                                 $flg = 1;
                             }
                         } elseif ($test['bid_strategy'] == 'Percentage') {
                             if ($test['bid_value'] < 0 and $test['bid_value'] > 100) {
                                 $flg = 1;
                             }
                         } elseif (!preg_match($this->pattern, $test['domain'])) {
                             $flg = 1;
                         }
                         if ($flg == 0) {
                             $bid_profile_entry = new Bid_Profile_Entry();
                             $bid_profile_entry->domain = $test['domain'];
                             $bid_profile_entry->bid_strategy = $test['bid_strategy'];
                             $bid_profile_entry->bid_value = $test['bid_value'];
                             $bid_profile_entry->bid_profile_id = $bid_profile->id;
                             $bid_profile_entry->save();
                         }
                     }
                     $msg = "Bid Profile added successfully";
                     return Redirect::back()->withErrors(['success' => true, 'msg' => $msg]);
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select a file or fill name '])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }