Exemplo n.º 1
0
 /**
  * Show the list of conversation between contributor.
  *
  * @param Request $request
  * @param $username
  * @return \Illuminate\Http\Response
  */
 public function conversation(Request $request, $username)
 {
     /*
      * --------------------------------------------------------------------------
      * Retrieve conversation
      * --------------------------------------------------------------------------
      * Retrieve conversation 15 data per request, because we implement lazy
      * pagination via ajax so return json data when 'page' variable exist, and
      * return view if doesn't.
      */
     $contributor = Contributor::whereUsername($username)->firstOrFail();
     $user_id = $request->input("contributor_id");
     $conversations = $this->conversation->retrieveConversation($contributor->id, Input::get('last', null), $user_id);
     return response()->json(['request_id' => uniqid(), 'status' => 'success', 'timestamp' => Carbon::now(), 'conversations' => $conversations]);
 }
 /**
  * Show the form for editing the specified contributor.
  *
  * @param $username
  * @return \Illuminate\Http\Response
  */
 public function edit($username)
 {
     $contributor = Contributor::whereUsername($username)->firstOrFail();
     return view('admin.contributor.edit', compact('contributor'));
 }
Exemplo n.º 3
0
 /**
  * Update the specified contributor in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request)
 {
     $rules = ['avatar' => 'mimes:jpg,jpeg,gif,png|max:1000', 'cover' => 'mimes:jpg,jpeg,gif,png|max:1000'];
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         $failedRules = $validator->failed();
         $validAvatar = isset($failedRules['avatar']);
         $validCover = isset($failedRules['cover']);
         $errorMessage = "Invalid avatar or cover";
         if ($validAvatar && $validCover) {
             $errorMessage = "Cover and Avatar is invalid";
         } else {
             if ($validAvatar) {
                 $errorMessage = "Avatar is invalid";
             } else {
                 if ($validCover) {
                     $errorMessage = "Cover is invalid";
                 }
             }
         }
         $errorMessage .= ", must image and less than 1MB";
         return response()->json(['request_id' => uniqid(), 'status' => 'denied', 'message' => $errorMessage, 'timestamp' => Carbon::now()], 400);
     }
     $contributor = Contributor::findOrFail($request->input('contributor_id'));
     if ($request->has('new_password') && !empty($request->get('new_password'))) {
         $credential = Hash::check($request->input('password'), $contributor->password);
         if (!$credential) {
             return response()->json(['request_id' => uniqid(), 'status' => 'mismatch', 'message' => 'Current password is mismatch', 'timestamp' => Carbon::now()], 401);
         }
     }
     $usernameExist = Contributor::whereUsername($request->input('username'))->where('id', '!=', $contributor->id)->count();
     if ($usernameExist) {
         return response()->json(['request_id' => uniqid(), 'status' => 'denied', 'message' => 'Username has been taken', 'timestamp' => Carbon::now()], 400);
     }
     $emailExist = Contributor::whereEmail($request->input('email'))->where('id', '!=', $contributor->id)->count();
     if ($emailExist) {
         return response()->json(['request_id' => uniqid(), 'status' => 'denied', 'message' => 'Email has been taken', 'timestamp' => Carbon::now()], 400);
     }
     $contributor->name = $request->input('name');
     $contributor->gender = $request->input('gender');
     $contributor->birthday = $request->input('birthday');
     $contributor->location = $request->input('location');
     $contributor->contact = $request->input('contact');
     $contributor->about = $request->input('about');
     $contributor->username = $request->input('username');
     $contributor->email = $request->input('email');
     $image = new Uploader();
     if ($image->upload($request, 'avatar', base_path('public/images/contributors/'), 'avatar_' . $request->input('contributor_id'))) {
         $contributor->avatar = $request->input('avatar');
     }
     if ($image->upload($request, 'cover', base_path('public/images/covers/'), 'cover_' . $request->input('contributor_id'))) {
         $contributor->cover = $request->input('cover');
     }
     $contributor->instagram = $request->input('instagram');
     $contributor->facebook = $request->input('facebook');
     $contributor->twitter = $request->input('twitter');
     $contributor->googleplus = $request->input('googleplus');
     $contributor->email_subscription = $request->input('email_subscription');
     $contributor->email_message = $request->input('email_message');
     $contributor->email_follow = $request->input('email_follow');
     $contributor->email_feed = $request->input('email_feed');
     $contributor->mobile_notification = $request->input('mobile_notification');
     if ($request->has('new_password') && !empty($request->get('new_password'))) {
         $request->merge(['password' => Hash::make($request->input('new_password'))]);
         $contributor->password = $request->input('password');
     }
     $contributor->bank_id = $request->input('bank_id');
     $contributor->account_name = $request->input('account_name');
     $contributor->account_number = $request->input('account_number');
     if ($contributor->save()) {
         return response()->json(['request_id' => uniqid(), 'status' => 'success', 'message' => 'Setting was updated', 'timestamp' => Carbon::now(), 'contributor' => $contributor->profile($contributor->username, false, $request->input('contributor_id'), true)]);
     } else {
         return response()->json(['request_id' => uniqid(), 'status' => 'failure', 'message' => Lang::get('alert.database.generic'), 'timestamp' => Carbon::now()], 500);
     }
 }
Exemplo n.º 4
0
 /**
  * Show the list of conversation between contributor.
  *
  * @param Request $request
  * @param $username
  * @return \Illuminate\Http\Response
  */
 public function conversation(Request $request, $username)
 {
     /*
      * --------------------------------------------------------------------------
      * Retrieve conversation
      * --------------------------------------------------------------------------
      * Retrieve conversation 15 data per request, because we implement lazy
      * pagination via ajax so return json data when 'page' variable exist, and
      * return view if doesn't.
      */
     $contributor = Contributor::whereUsername($username)->firstOrFail();
     $conversations = $this->conversation->retrieveConversation($contributor->id, Input::get('last', null));
     if ((Input::get('page', false) || Input::has('last')) && $request->ajax()) {
         return $conversations;
     } else {
         return view('contributor.conversation', compact('contributor', 'conversations'));
     }
 }