public function changeStatusPaymentRequest()
 {
     $id = Input::has('id') ? Input::get('id') : '';
     $status = Input::has('status') ? Input::get('status') : '';
     if ($id != "") {
         $paymentRe = new PaymentRequestBaseModel();
         $paymentRe->updateItem($id, array('status' => $status));
     }
 }
 public function createMonthlyPaymentRequest()
 {
     $startDate = Carbon::now()->firstOfMonth()->subMonth();
     $endDate = Carbon::now()->firstOfMonth()->subMonth()->lastOfMonth();
     $date = $startDate->format('Y-m');
     $check = PaymentRequestBaseModel::where(array('publisher_id' => $this->id, 'date' => $date))->first();
     $websiteLists = $this->publisherSite->lists('id');
     if (empty($check)) {
         $tracking = new TrackingSummaryBaseModel();
         $data = $tracking->sumEarnPerCampaign($websiteLists, $startDate, $endDate);
         $campaigns = $data['campaign'];
         $total = $data['total'];
         $pr = new PaymentRequestBaseModel();
         $pr->publisher_id = $this->id;
         $pr->date = $date;
         $pr->amount = $total;
         $pr->save();
         if (!empty($campaigns)) {
             foreach ($campaigns as $campaignID => $campaign) {
                 $prd = new PaymentRequestDetailBaseModel();
                 $prd->publisher_id = $this->id;
                 $prd->campaign_id = $campaignID;
                 $prd->amount = $campaign['cost'];
                 $prd->impression = $campaign['impression'];
                 $prd->click = $campaign['click'];
                 if ($campaign['click'] != 0 && $campaign['impression'] != 0) {
                     $prd->ctr = $campaign['click'] / $campaign['impression'];
                 } else {
                     $prd->ctr = 0;
                 }
                 $prd->date = $date;
                 $prd->payment_request_id = $pr->id;
                 $prd->save();
             }
         }
     }
 }
 public function paymentRequestDetail($id)
 {
     $model = new PaymentRequestDetailBaseModel();
     $data['payment'] = PaymentRequestBaseModel::find($id);
     $items = $model->getItemsByPaymentRequestId($id);
     $data['items'] = $items;
     if (count($data['items']) > 0) {
         $this->layout->content = View::make('advertiser_manager.publisher_advertiser_manager.paymentRequestDetail', $data);
     } else {
         return Redirect::to($this->moduleURL . 'payment-request');
     }
 }