Пример #1
0
 /**
  * Displays the index (home) page.
  * Use it in case your home page contains static content.
  *
  * @return string
  */
 public function actionIndex()
 {
     $searchModel = new ServiceSearch();
     $searchModel->promo = true;
     $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
     return $this->render('tempindex', ['cat' => Category::find()->orderBy('name_pt')->all(), 'serv' => Service::find()->orderBy('title_pt')->all(), 'modelImg' => Campaign::find()->one(), 'dataProvider' => $dataProvider]);
 }
 public function updateCampaign($parameters)
 {
     try {
         $id = $parameters['id'];
         $campaign = Campaign::find($id);
         $columns = array_intersect_key($parameters, array_flip($campaign->getFillableColumns()));
         if (!empty($columns)) {
             $campaign->update($columns);
         }
         $relationships = array_intersect_key($parameters, array_flip(Campaign::$relationshipsAllowedToUpdate));
         if (!empty($relationships)) {
             foreach ($relationships as $relationshipType => $relationshipValue) {
                 if (!empty($relationshipValue)) {
                     if (!is_array($relationshipValue)) {
                         $relationshipValue = explode(',', $relationshipValue);
                     }
                     $campaign->{$relationshipType}()->sync($relationshipValue);
                 }
             }
         }
         return $campaign;
     } catch (\Exception $e) {
         throw $e;
     }
 }
Пример #3
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Campaign::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]);
     $query->andFilterWhere(['like', 'name_en', $this->name_en])->andFilterWhere(['like', 'name_pt', $this->name_pt])->andFilterWhere(['like', 'intro_en', $this->intro_en])->andFilterWhere(['like', 'intro_pt', $this->intro_pt]);
     return $dataProvider;
 }
 protected function validateCampaign($attribute, $value)
 {
     if (!is_array($value)) {
         $value = array($value);
     }
     foreach ($value as $campaignId) {
         if (!Campaign::find($campaignId)) {
             $this->invalidCampaignIds[] = $campaignId;
         }
     }
     if (empty($this->invalidCampaignIds)) {
         return true;
     }
     $this->customValidatorMessages['custom'] = 'Campaign id(s) ' . implode(', ', $this->invalidCampaignIds) . ' are invalid';
     $this->setCustomMessages($this->customValidatorMessages);
     return false;
 }
Пример #5
0
 public function ChangeStatus($id)
 {
     if (Auth::check()) {
         if (in_array('ADD_EDIT_CAMPAIGN', $this->permission)) {
             if (User::isSuperAdmin()) {
                 $entity = Campaign::find($id);
             } else {
                 $usr_company = User::where('company_id', Auth::user()->company_id)->get(['id'])->toArray();
                 if (count($usr_company) > 0 and in_array(Auth::user()->id, $usr_company)) {
                     $entity = Campaign::with(['getAdvertiser' => function ($q) use($usr_company) {
                         $q->with(['GetClientID' => function ($p) use($usr_company) {
                             $p->whereIn('user_id', $usr_company);
                         }]);
                     }])->find($id);
                 } else {
                     return Redirect::back()->withErrors(['success' => false, 'msg' => 'please Select your Client'])->withInput();
                 }
             }
             if ($entity) {
                 $data = array();
                 $audit = new AuditsController();
                 if ($entity->status == 'Active') {
                     array_push($data, 'status');
                     array_push($data, $entity->status);
                     array_push($data, 'Inactive');
                     $entity->status = 'Inactive';
                     $msg = 'disable';
                 } elseif ($entity->status == 'Inactive') {
                     array_push($data, 'status');
                     array_push($data, $entity->status);
                     array_push($data, 'Active');
                     $entity->status = 'Active';
                     $msg = 'actived';
                 }
                 $audit->store('campaign', $id, $data, 'edit');
                 $entity->save();
                 return $msg;
             }
         }
         return "You don't have permission";
     }
     return Redirect::to(url('user/login'));
 }
Пример #6
0
 public function campaign_bulk(Request $request)
 {
     //        return dd($request->all());
     if (Auth::check()) {
         if (in_array('ADD_EDIT_CAMPAIGN', $this->permission)) {
             $validate = $this->validation($request);
             if ($validate->passes()) {
                 $usr_company = $this->user_company();
                 $audit = new AuditsController();
                 $audit_key = $audit->generateRandomString();
                 if ($request->input('advertiser_id') == 'all' and !$request->has('campaign_list')) {
                     if ($request->input('client_id') == 'all') {
                         if (User::isSuperAdmin()) {
                             $campaign_list = Campaign::get(['id'])->toArray();
                         } else {
                             $campaign_list = Campaign::whereHas('getAdvertiser', function ($q) use($usr_company) {
                                 $q->whereHas('GetClientID', function ($p) use($usr_company) {
                                     $p->whereIn('user_id', $usr_company);
                                 });
                             })->get(['id'])->toArray();
                         }
                     } elseif ($request->input('client_id') != 'all') {
                         if (User::isSuperAdmin()) {
                             $campaign_list = Campaign::whereHas('getAdvertiser', function ($q) use($request) {
                                 $q->where('client_id', $request->input('client_id'));
                             })->get(['id'])->toArray();
                         } else {
                             ////////////////////////
                             $campaign_list = Campaign::whereHas('getAdvertiser', function ($q) use($usr_company, $request) {
                                 $q->whereHas('GetClientID', function ($p) use($usr_company, $request) {
                                     $p->where('id', $request->input('client_id'))->whereIn('user_id', $usr_company);
                                 });
                             })->get(['id'])->toArray();
                         }
                     }
                 } elseif ($request->input('advertiser_id') != 'all' and !$request->has('campaign_list')) {
                     if (User::isSuperAdmin()) {
                         $campaign_list = Campaign::whereHas('getAdvertiser', function ($q) use($request) {
                             $q->where('id', $request->input('advertiser_id'));
                         })->get(['id'])->toArray();
                     } else {
                         ////////////////////////
                         $campaign_list = Campaign::whereHas('getAdvertiser', function ($q) use($usr_company, $request) {
                             $q->where('id', $request->input('advertiser_id'))->whereHas('GetClientID', function ($p) use($usr_company, $request) {
                                 $p->whereIn('user_id', $usr_company);
                             });
                         })->get(['id'])->toArray();
                     }
                 } else {
                     $campaign_list = explode(',', $request->input('campaign_list'));
                 }
                 if (count($campaign_list) > 0) {
                     foreach ($campaign_list as $index) {
                         $data = array();
                         if (!$request->has('campaign_list')) {
                             $campaign_id = $index['id'];
                             $campaign = Campaign::find($campaign_id);
                         } else {
                             $campaign_id = $index;
                             if (User::isSuperAdmin()) {
                                 $campaign = Campaign::find($campaign_id);
                             } else {
                                 $usr_company = $this->user_company();
                                 $campaign = Campaign::whereHas('getAdvertiser', function ($q) use($usr_company) {
                                     $q->whereHas('GetClientID', function ($p) use($usr_company) {
                                         $p->whereIn('user_id', $usr_company);
                                     });
                                 })->find($campaign_id);
                             }
                         }
                         if ($campaign) {
                             if ($request->has('date_range')) {
                                 $check_date = $this->date_validation($request->input('date_range'));
                                 if (!$check_date) {
                                     return Redirect::back()->withErrors(['success' => false, 'msg' => 'please check your date range!']);
                                 }
                                 $date_range = explode('-', $request->input('date_range'));
                                 $start_date = Carbon::createFromFormat('m/d/Y', str_replace(' ', '', $date_range[0]))->toDateString();
                                 $end_date = Carbon::createFromFormat('m/d/Y', str_replace(' ', '', $date_range[1]))->toDateString();
                             }
                             if ($request->has('name')) {
                                 array_push($data, 'Name');
                                 array_push($data, $request->input('name'));
                                 $campaign->name = $request->input('name');
                             }
                             if ($request->has('active')) {
                                 $active = 'Inactive';
                                 if ($request->input('active') == 'on') {
                                     $active = 'Active';
                                 }
                                 array_push($data, 'Status');
                                 array_push($data, $active);
                                 $campaign->status = $active;
                             }
                             if ($request->has('max_impression')) {
                                 array_push($data, 'Max Imps');
                                 array_push($data, $request->input('max_impression'));
                                 $campaign->max_impression = $request->input('max_impression');
                             }
                             if ($request->has('daily_max_impression')) {
                                 array_push($data, 'Daily Max Imps');
                                 array_push($data, $request->input('daily_max_impression'));
                                 $campaign->daily_max_impression = $request->input('daily_max_impression');
                             }
                             if ($request->has('max_budget')) {
                                 array_push($data, 'Max Budget');
                                 array_push($data, $request->input('max_budget'));
                                 $campaign->max_budget = $request->input('max_budget');
                             }
                             if ($request->has('daily_max_budget')) {
                                 array_push($data, 'Daily Max Budget');
                                 array_push($data, $request->input('daily_max_budget'));
                                 $campaign->daily_max_budget = $request->input('daily_max_budget');
                             }
                             if ($request->has('cpm')) {
                                 array_push($data, 'CPM');
                                 array_push($data, $request->input('cpm'));
                                 $campaign->cpm = $request->input('cpm');
                             }
                             if ($request->has('advertiser_domain_name')) {
                                 array_push($data, 'Domain Name');
                                 array_push($data, $request->input('advertiser_domain_name'));
                                 $campaign->advertiser_domain_name = $request->input('advertiser_domain_name');
                             }
                             if ($request->has('description')) {
                                 array_push($data, 'Description');
                                 array_push($data, $request->input('description'));
                                 $campaign->description = $request->input('description');
                             }
                             if (isset($start_date)) {
                                 array_push($data, 'Start Date');
                                 array_push($data, $start_date);
                                 $campaign->start_date = $start_date;
                             }
                             if (isset($end_date)) {
                                 array_push($data, 'End Date');
                                 array_push($data, $end_date);
                                 $campaign->end_date = $end_date;
                             }
                             $audit->store('campaign', $campaign_id, $data, 'bulk_edit', $audit_key);
                             $campaign->save();
                         }
                     }
                     return Redirect::back()->withErrors(['success' => true, 'msg' => 'Campaigns Edited Successfully']);
                 }
             }
             return Redirect::back()->withErrors(['success' => false, 'msg' => $validate->messages()->all()])->withInput();
         }
         return Redirect::back()->withErrors(['success' => false, 'msg' => 'don\'t have Edit Permission']);
     }
     return Redirect::to(url('/user/login'));
 }