public function add_pixel(Request $request)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_CREATIVE', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($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) {
                     $active = 'Inactive';
                     if ($request->input('active') == 'on') {
                         $active = 'Active';
                     }
                     $rndstr = new AuditsController();
                     $pixel = new Pixel();
                     $pixel->name = $request->input('name');
                     $pixel->status = $active;
                     $pixel->advertiser_id = $request->input('advertiser_id');
                     $pixel->description = $request->input('description');
                     $pixel->version = 'version1';
                     $pixel->part_a = $rndstr->randomStr();
                     $pixel->part_b = $rndstr->randomStr();
                     $pixel->save();
                     $audit = new AuditsController();
                     $audit->store('pixel', $pixel->id, null, 'add');
                     return Redirect::to(url('/client/cl' . $advertiser_obj->GetClientID->id . '/advertiser/adv' . $request->input('advertiser_id') . '/pixel/pxl' . $pixel->id . '/edit'))->withErrors(['success' => true, 'msg' => "Pixel added successfully"]);
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => "Select An Advertiser first"]);
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => $validate->messages()->all()])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 public function add_offer(Request $request)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_OFFER', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($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) {
                     $active = 'Inactive';
                     if ($request->input('active') == 'on') {
                         $active = 'Active';
                     }
                     $offer = new Offer();
                     $offer->name = $request->input('name');
                     $offer->advertiser_id = $request->input('advertiser_id');
                     $offer->description = $request->input('description');
                     $offer->status = $active;
                     $offer->save();
                     $audit = new AuditsController();
                     $audit->store('offer', $offer->id, null, 'add');
                     return Redirect::to(url('/client/cl' . $advertiser_obj->GetClientID->id . '/advertiser/adv' . $request->input('advertiser_id') . '/offer/ofr' . $offer->id . '/edit'))->withErrors(['success' => true, 'msg' => "Offer added successfully"]);
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => $validate->messages()->all()])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 public function UploadCampaign(Request $request)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_CAMPAIGN', $this->permission)) {
             if ($request->hasFile('upload')) {
                 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')->getClientOriginalExtension();
                     // getting image extension
                     $fileName = str_random(32) . '.' . $extension;
                     $request->file('upload')->move($destpath . '/cdn/test/', $fileName);
                     Config::set('excel.import.startRow', 12);
                     $upload = Excel::load('public/cdn/test/' . $fileName, function ($reader) {
                     })->get();
                     $t = array();
                     foreach ($upload[0] as $key => $value) {
                         array_push($t, $key);
                     }
                     if ($t[1] != 'name' or $t[2] != 'max_impression' or $t[3] != 'daily_max_impression' or $t[4] != 'max_budget' or $t[5] != 'daily_max_budget' or $t[6] != 'cpm' or $t[7] != 'advertiser_domain_name' or $t[8] != 'status' or $t[9] != 'start_date' or $t[10] != 'end_date') {
                         File::delete($destpath . '/cdn/test/' . $fileName);
                         return Redirect::back()->withErrors(['success' => false, 'msg' => 'please be sure that file is correct'])->withInput();
                     }
                     $bad_input = array();
                     $count = 0;
                     //                        return dd();
                     foreach ($upload as $test) {
                         $flg = 0;
                         $campaign = new Campaign();
                         if ($test['name'] == '' or $test['max_impression'] == '' or $test['daily_max_impression'] == '' or $test['max_budget'] == '' or $test['daily_max_budget'] == '' or $test['cpm'] == '' or $test['advertiser_domain_name'] == '' or $test['status'] == '' or $test['status'] == '' or $test['end_date'] == '') {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         if (!is_numeric($test['max_impression']) or !is_numeric($test['daily_max_impression']) or !is_numeric($test['max_budget']) or !is_numeric($test['daily_max_budget']) or !is_numeric($test['cpm'])) {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         if (strcasecmp($test['status'], 'active') != 0 and strcasecmp($test['status'], 'inactive') != 0) {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         $campaign->name = $test['name'];
                         $campaign->max_impression = $test['max_impression'];
                         $campaign->daily_max_impression = $test['daily_max_impression'];
                         $campaign->max_budget = $test['max_budget'];
                         $campaign->daily_max_budget = $test['daily_max_budget'];
                         $campaign->cpm = $test['cpm'];
                         $campaign->start_date = $test['start_date'];
                         $campaign->end_date = $test['end_date'];
                         $campaign->advertiser_domain_name = $test['advertiser_domain_name'];
                         $campaign->status = ucwords(strtolower($test['status']));
                         $campaign->advertiser_id = $request->input('advertiser_id');
                         //                            return dd('dd1');
                         $count++;
                         $campaign->save();
                     }
                     $audit = new AuditsController();
                     $audit->store('campaign', 0, $count, 'bulk_add');
                     $msg = "Campaigns added successfully";
                     if (count($bad_input) > 0) {
                         $msg .= " exept: ";
                         foreach ($bad_input as $index) {
                             $msg .= $index . ',';
                         }
                     }
                     return Redirect::back()->withErrors(['success' => true, 'msg' => $msg]);
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select Advertiser First'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select a file'])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 public function jqgrid(Request $request)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_ADVERTISER', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($validate->passes()) {
                 $adver_id = substr($request->input('id'), 3);
                 if (User::isSuperAdmin()) {
                     $adver = Advertiser::find($adver_id);
                 } else {
                     $usr_company = $this->user_company();
                     $adver = Advertiser::whereHas('GetClientID', function ($p) use($usr_company) {
                         $p->whereIn('user_id', $usr_company);
                     })->with('Campaign')->with('Model')->with('GeoSegment')->with('BWList')->with('Creative')->with('GetClientID')->find($adver_id);
                 }
                 if ($adver) {
                     $data = array();
                     $audit = new AuditsController();
                     if ($adver->name != $request->input('name')) {
                         array_push($data, 'Name');
                         array_push($data, $adver->name);
                         array_push($data, $request->input('name'));
                         $adver->name = $request->input('name');
                     }
                     $audit->store('advertiser', $adver_id, $data, 'edit');
                     $adver->save();
                     return $msg = ['success' => true, 'msg' => "your Advertiser name Saved successfully"];
                 }
                 return $msg = ['success' => false, 'msg' => "Please Select an Advertiser First"];
             }
             return $msg = ['success' => false, 'msg' => "Please fill all Fields"];
         }
         return $msg = ['success' => false, 'msg' => "You don't have permission"];
     }
     return Redirect::to(url('user/login'));
 }
 public function add_geosegmentlist(Request $request)
 {
     //        return dd($request->all());
     if (Auth::check()) {
         if (in_array('ADD_EDIT_GEOSEGMENTLIST', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($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) {
                     $chk = GeoSegmentList::where('advertiser_id', $request->input('advertiser_id'))->get();
                     //                        return dd($chk);
                     $flg = 0;
                     foreach ($chk as $index) {
                         if ($index->name == $request->input('name')) {
                             $flg = 1;
                         }
                     }
                     if ($flg == 0) {
                         $active = 'Inactive';
                         if ($request->input('active') == 'on') {
                             $active = 'Active';
                         }
                         $key = new AuditsController();
                         $key = $key->generateRandomString();
                         $audit = new AuditsController();
                         $geosegmentlist = new GeoSegmentList();
                         $geosegmentlist->name = $request->input('name');
                         $geosegmentlist->status = $active;
                         $geosegmentlist->advertiser_id = $request->input('advertiser_id');
                         $geosegmentlist->save();
                         $audit->store('geosegment', $geosegmentlist->id, null, 'add', $key);
                         for ($i = 0; $i < 5; $i++) {
                             if (!is_null($request->input('name' . $i)) and $request->input('name' . $i) != "") {
                                 $geosegment = new GeoSegment();
                                 $geosegment->name = $request->input('name' . $i);
                                 $geosegment->lat = $request->input('lat' . $i);
                                 $geosegment->lon = $request->input('lon' . $i);
                                 $geosegment->segment_radius = $request->input('segment_radius' . $i);
                                 $geosegment->geosegmentlist_id = $geosegmentlist->id;
                                 $geosegment->save();
                                 $audit->store('geosegmententrie', $geosegment->id, null, 'add', $key);
                             }
                         }
                         return Redirect::to(url('/client/cl' . $advertiser_obj->GetClientID->id . '/advertiser/adv' . $request->input('advertiser_id') . '/geosegment/gsm' . $geosegmentlist->id . '/edit'))->withErrors(['success' => true, 'msg' => "Geo Segmnet List added successfully"]);
                     }
                     return Redirect::back()->withErrors(['success' => false, 'msg' => 'this name already existed !!!'])->withInput();
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => $validate->messages()->all()])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 public function add_bwlist(Request $request)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_BWLIST', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($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) {
                     $chk = BWList::where('advertiser_id', $request->input('advertiser_id'))->get();
                     //                        return dd($chk);
                     $flg = 0;
                     foreach ($chk as $index) {
                         if ($index->name == $request->input('name') and $index->list_type == $request->input('list_type')) {
                             $flg = 1;
                         }
                     }
                     if ($flg == 0) {
                         $active = 'Inactive';
                         if ($request->input('active') == 'on') {
                             $active = 'Active';
                         }
                         $key = new AuditsController();
                         $key = $key->generateRandomString();
                         $audit = new AuditsController();
                         $bwlist = new BWList();
                         $bwlist->name = $request->input('name');
                         $bwlist->status = $active;
                         $bwlist->list_type = $request->input('list_type');
                         $bwlist->advertiser_id = $request->input('advertiser_id');
                         $bwlist->save();
                         $audit->store('bwlist', $bwlist->id, null, 'add', $key);
                         $entries = explode(',', $request->input('domain_name'));
                         foreach ($entries as $index) {
                             $bwlistentries = new BWEntries();
                             $bwlistentries->domain_name = $index;
                             $bwlistentries->bwlist_id = $bwlist->id;
                             $bwlistentries->save();
                             $audit->store('bwlistentrie', $bwlistentries->id, null, 'add', $key);
                         }
                         return Redirect::to(url('/client/cl' . $advertiser_obj->GetClientID->id . '/advertiser/adv' . $request->input('advertiser_id') . '/bwlist/bwl' . $bwlist->id . '/edit'))->withErrors(['success' => true, 'msg' => "B/W List added successfully"]);
                     }
                     return Redirect::back()->withErrors(['success' => false, 'msg' => 'this name already existed !!!'])->withInput();
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => $validate->messages()->all()])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 public function getAssign($adv_id)
 {
     if (Auth::check()) {
         if (User::isSuperAdmin()) {
             $adver_obj = Advertiser::with('Creative', 'GeoSegment', 'BWList')->find($adv_id);
         } else {
             $usr_company = $this->user_company();
             $adver_obj = Advertiser::whereHas('GetClientID', function ($p) use($usr_company) {
                 $p->whereIn('user_id', $usr_company);
             })->with('Creative', 'GeoSegment', 'BWList')->find($adv_id);
             if (!$adver_obj) {
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
             }
         }
         if ($adver_obj) {
             $geolocation_obj = Geolocation::get();
             return view('bulk.assign')->with('geolocation_obj', $geolocation_obj)->with('adver_obj', $adver_obj);
         }
     }
 }
 public function add_model(Request $request)
 {
     //        return dd($request->all());
     if (Auth::check()) {
         if (in_array('ADD_EDIT_MODEL', $this->permission)) {
             $validate = \Validator::make($request->all(), ['name' => 'required']);
             if ($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) {
                     $audit = new AuditsController();
                     $audit_key = $audit->generateRandomString();
                     if ($request->has('positive_offer_id')) {
                         $positive_offer_id = implode(',', $request->input('positive_offer_id'));
                     }
                     if ($request->has('negative_offer_id')) {
                         $negative_offer_id = implode(',', $request->input('negative_offer_id'));
                     }
                     //                        return dd('['.$positive_offer_id.']');
                     $modelTable = new ModelTable();
                     $modelTable->name = $request->input('name');
                     $modelTable->advertiser_id = $request->input('advertiser_id');
                     $modelTable->seed_web_sites = $request->has('seed_web_sites') ? json_encode($request->input('seed_web_sites')) : '';
                     $modelTable->algo = $request->input('algo');
                     $modelTable->segment_name_seed = $request->input('segment_name_seed');
                     $modelTable->process_result = 'submitted';
                     $modelTable->description = $request->input('description');
                     $modelTable->feature_recency_in_sec = $request->input('feature_recency_in_sec');
                     $modelTable->max_num_both_neg_pos_devices = $request->input('max_num_both_neg_pos_devices');
                     $modelTable->negative_features_requested = $request->has('negative_features_requested') ? json_encode($request->input('negative_features_requested')) : '';
                     $modelTable->model_type = $request->input('model_type');
                     $modelTable->cut_off_score = $request->input('cut_off_score');
                     $modelTable->pixel_hit_recency_in_seconds = $request->input('pixel_hit_recency_in_seconds');
                     if ($request->has('positive_offer_id')) {
                         $modelTable->positive_offer_id = $positive_offer_id;
                     }
                     if ($request->has('negative_offer_id')) {
                         $modelTable->negative_offer_id = $negative_offer_id;
                     }
                     $modelTable->max_number_of_device_history_per_feature = $request->input('max_number_of_device_history_per_feature');
                     $modelTable->max_number_of_negative_feature_to_pick = $request->input('max_number_of_negative_feature_to_pick');
                     $modelTable->number_of_positive_device_to_be_used_for_modeling = $request->input('number_of_positive_device_to_be_used_for_modeling');
                     $modelTable->number_of_negative_device_to_be_used_for_modeling = $request->input('number_of_negative_device_to_be_used_for_modeling');
                     $modelTable->number_of_both_negative_positive_device_to_be_used = $request->input('number_of_both_negative_positive_device_to_be_used');
                     $modelTable->date_of_request_completion = date('Y-m-d H:i:s');
                     $modelTable->date_of_request = date('Y-m-d H:i:s');
                     $modelTable->save();
                     if ($request->has('positive_offer_id')) {
                         foreach ($request->input('positive_offer_id') as $index) {
                             $audit->store('positive_offer_model', $index, $modelTable->id, 'add', $audit_key);
                         }
                     }
                     if ($request->has('negative_offer_id')) {
                         foreach ($request->input('negative_offer_id') as $index) {
                             $audit->store('negative_offer_model', $index, $modelTable->id, 'add', $audit_key);
                         }
                     }
                     //                        return dd($request->all());
                     $audit->store('modelTable', $modelTable->id, null, 'add', $audit_key);
                     return Redirect::to(url('/client/cl' . $advertiser_obj->GetClientID->id . '/advertiser/adv' . $request->input('advertiser_id') . '/model/mdl' . $modelTable->id . '/edit'))->withErrors(['success' => true, 'msg' => "Model added successfully"]);
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => $validate->messages()->all()])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 public function UploadCreative(Request $request)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_CREATIVE', $this->permission)) {
             if ($request->hasFile('upload')) {
                 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')->getClientOriginalExtension();
                     // getting image extension
                     $fileName = str_random(32) . '.' . $extension;
                     $request->file('upload')->move($destpath . '/cdn/test/', $fileName);
                     Config::set('excel.import.startRow', 12);
                     $upload = Excel::load('public/cdn/test/' . $fileName, function ($reader) {
                     })->get();
                     $t = array();
                     foreach ($upload[0] as $key => $value) {
                         array_push($t, $key);
                     }
                     if ($t[1] != 'name' or $t[2] != 'ad_tag' or $t[3] != 'landing_page_url' or $t[4] != 'preview_url' or $t[5] != 'size' or $t[6] != 'attributes' or $t[7] != 'advertiser_domain_name' or $t[8] != 'status' or $t[9] != 'api' or $t[10] != 'ad_type') {
                         File::delete($destpath . '/cdn/test/' . $fileName);
                         return Redirect::back()->withErrors(['success' => false, 'msg' => 'please be sure that file is correct'])->withInput();
                     }
                     $bad_input = array();
                     $count = 0;
                     foreach ($upload as $test) {
                         $flg = 0;
                         $creative = new Creative();
                         if ($test['name'] == '' or $test['ad_tag'] == '' or $test['landing_page_url'] == '' or $test['preview_url'] == '' or $test['size'] == '' or $test['attributes'] == '' or $test['advertiser_domain_name'] == '' or $test['status'] == '' or $test['api'] == '' or $test['ad_type'] == '') {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         if (strcasecmp($test['status'], 'active') != 0 and strcasecmp($test['status'], 'inactive') != 0) {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         $api = explode(',', $test['api']);
                         if (is_array($api)) {
                             foreach ($api as $index) {
                                 if (strcasecmp($index, 'VPAID_1.0') != 0 and strcasecmp($index, 'VPAID_2.0') != 0 and strcasecmp($index, 'MRAID-1') != 0 and strcasecmp($index, 'ORMMA') != 0 and strcasecmp($index, 'MRAID-2') != 0) {
                                     array_push($bad_input, $test['name']);
                                     $flg = 1;
                                 }
                             }
                             if ($flg == 1) {
                                 $flg = 0;
                                 continue;
                             }
                         } else {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         if (strcasecmp($test['ad_type'], 'IFRAME') != 0 and strcasecmp($test['ad_type'], 'JAVASCRIPT') != 0 and strcasecmp($test['ad_type'], 'XHTML_BANNER_AD') != 0 and strcasecmp($test['ad_type'], 'XHTML_TEXT_AD') != 0) {
                             array_push($bad_input, $test['name']);
                             return dd('ss2');
                             continue;
                         }
                         $size = explode('x', $test['size']);
                         if (!is_array($size) or count($size) != 2 or is_array($size) and count($size) == 2 and !is_numeric($size[0]) or is_array($size) and count($size) == 2 and !is_numeric($size[1])) {
                             array_push($bad_input, $test['name']);
                             continue;
                         }
                         $creative->name = $test['name'];
                         $creative->ad_tag = $test['ad_tag'];
                         $creative->landing_page_url = $test['landing_page_url'];
                         $creative->preview_url = $test['preview_url'];
                         $creative->size = $size[0] . 'x' . $size[1];
                         $creative->attributes = $test['attributes'];
                         $creative->advertiser_domain_name = $test['advertiser_domain_name'];
                         $creative->status = ucwords(strtolower($test['status']));
                         $creative->api = '[' . strtoupper(implode(',', $api)) . ']';
                         $creative->ad_type = strtoupper($test['ad_type']);
                         $creative->advertiser_id = $request->input('advertiser_id');
                         $creative->save();
                         $count++;
                     }
                     $audit = new AuditsController();
                     $audit->store('creative', 0, $count, 'bulk_add');
                     $msg = "Creatives added successfully";
                     if (count($bad_input) > 0) {
                         $msg .= " exept: ";
                         foreach ($bad_input as $index) {
                             $msg .= $index . ',';
                         }
                     }
                     return Redirect::back()->withErrors(['success' => true, 'msg' => $msg]);
                 }
                 return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select Advertiser First'])->withInput();
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select a file'])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => "You don't have permission"]);
     }
     return Redirect::to(url('/user/login'));
 }
 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'));
 }