コード例 #1
0
 public function edit(Request $request)
 {
     $id = 0;
     if (isset($request->id)) {
         $id = $request->id;
     }
     $modelData = new \stdClass();
     if ($id > 0) {
         try {
             $modelData = AdBanEmail::findOrFail($id);
         } catch (ModelNotFoundException $e) {
             session()->flash('message', trans('admin_common.Invalid Mail ID'));
             return redirect(url('admin/mailban'));
         }
     }
     /**
      * form is submitted check values and save if needed
      */
     if ($request->isMethod('post')) {
         /**
          * validate data
          */
         $rules = ['ban_email' => 'required|email|unique:ad_ban_email,ban_email', 'ban_reason' => 'required|max:255'];
         if (isset($modelData->ban_email_id)) {
             $rules['ban_email'] = 'required|email|unique:ad_ban_email,ban_email,' . $modelData->ban_email_id . ',ban_email_id';
         }
         $validator = Validator::make($request->all(), $rules);
         if ($validator->fails()) {
             $this->throwValidationException($request, $validator);
         }
         /**
          * get data from form
          */
         $data = $request->all();
         /**
          * save or update
          */
         if (!isset($modelData->ban_email_id)) {
             AdBanEmail::create($data);
             //send email to inform the user
             Mail::send('emails.user_ban_email', ['data' => $data], function ($m) use($data) {
                 $m->from('*****@*****.**', 'dclassifieds banned');
                 $m->to($data['ban_email'])->subject('You are banner in DClassifieds');
             });
         } else {
             $modelData->update($data);
         }
         /**
          * clear cache, set message, redirect to list
          */
         Cache::flush();
         session()->flash('message', trans('admin_common.Banned Mail saved'));
         return redirect(url('admin/mailban'));
     }
     return view('admin.mail_ban.mail_ban_edit', ['modelData' => $modelData]);
 }