Пример #1
0
 /**
  * Saves user submissions for Independent Sponsor requests.
  */
 public function postRequest()
 {
     //Grab input
     $address1 = Input::get('address1');
     $address2 = Input::get('address2');
     $city = Input::get('city');
     $state = Input::get('state');
     $postal = Input::get('postal');
     $phone = Input::get('phone');
     $all_input = Input::all();
     //Validate input
     $rules = array('address1' => 'required', 'city' => 'required', 'state' => 'required', 'postal' => 'required', 'phone' => 'required');
     $validation = Validator::make($all_input, $rules);
     if ($validation->fails()) {
         return Redirect::to('/documents/sponsor/request')->withInput()->withErrors($validation);
     }
     //Add new user information to their record
     $user = Auth::user();
     $user->address1 = $address1;
     $user->address2 = $address2;
     $user->city = $city;
     $user->state = $state;
     $user->postal_code = $postal;
     $user->phone = $phone;
     $user->save();
     //Add UserMeta request
     $request = new UserMeta();
     $request->meta_key = UserMeta::TYPE_INDEPENDENT_SPONSOR;
     $request->meta_value = 0;
     $request->user_id = $user->id;
     $request->save();
     return Redirect::to('/user/edit/' . $user->id)->with('message', 'Your request has been received.');
 }
Пример #2
0
 /**
  * Saves user submissions for Independent Sponsor requests.
  */
 public function putRequest()
 {
     //Validate input
     $rules = array('address1' => 'required', 'city' => 'required', 'state' => 'required', 'postal_code' => 'required', 'phone' => 'required');
     $validation = Validator::make(Input::all(), $rules);
     if ($validation->fails()) {
         return Response::json($this->growlMessage($validation->messages()->all(), 'error'), 400);
     }
     //Add new user information to their record
     $user = Auth::user();
     $user->address1 = Input::get('address1');
     $user->address2 = Input::get('address2');
     $user->city = Input::get('city');
     $user->state = Input::get('state');
     $user->postal_code = Input::get('postal_code');
     $user->phone = Input::get('phone');
     $user->save();
     if (!$user->getSponsorStatus()) {
         //Add UserMeta request
         $request = new UserMeta();
         $request->meta_key = UserMeta::TYPE_INDEPENDENT_SPONSOR;
         $request->meta_value = 0;
         $request->user_id = $user->id;
         $request->save();
     }
     return Response::json();
 }
Пример #3
0
 /**
  * sanitize the params .(if there was a problem in a occurred an exception will throw )
  *
  * @param array $wpNeeds
  * @return mixed returns user or errors
  */
 public function register(array $wpNeeds)
 {
     $user = new \stdClass();
     $user->user = null;
     $user->error = false;
     if ($error = $this->sanitize($wpNeeds) === true) {
         /**
          * making object from arrays for easier writability
          */
         $wpNeedsObj = $this->formatter->arrayToStdClass($wpNeeds);
         /**
          * doing the registration
          */
         $id = $this->insertUser($wpNeeds);
         /**
          * fetching registered user
          */
         if (is_integer($id)) {
             $user = new \WP_User($id);
             $user->add_cap("profile");
             $usermeta = new \UserMeta();
             $usermeta->user_id = $id;
             $usermeta->save();
             $usermeta = \UserMeta::where('user_id', $id)->first();
             $user = \WpUser::where("ID", $id)->first();
             $user->meta_id = $usermeta->id;
             $user->save();
             $user->user = $this->db->getRegisteredUser($id);
             unset($user->error);
             /**
              * user structure is
              * $user->user
              * $user->email
              */
             return $user;
         }
         return $user;
     }
     $user->error = $error;
     return $user;
 }
Пример #4
0
 /**
  *	admin_contact.
  *
  *	Sets the user as an admin contact for the site
  *
  *	@param unknownType $setting
  *
  *	@return bool||void
  *
  *	@todo References to this should be removed.  We're allowing all admins to determine notification subscriptions
  */
 public function admin_contact($setting = null)
 {
     if (isset($setting)) {
         $meta = $this->user_meta()->where('meta_key', '=', 'admin_contact')->first();
         if (!isset($meta)) {
             $meta = new UserMeta();
             $meta->user_id = $this->id;
             $meta->meta_key = 'admin_contact';
             $meta->meta_value = $setting;
             $meta->save();
             return true;
         } else {
             $meta->meta_value = $setting;
             $meta->save();
             return true;
         }
     }
     if (!$this->hasRole('Admin')) {
         return false;
     }
     $meta = $this->user_meta()->where('meta_key', '=', 'admin_contact')->first();
     if (isset($meta)) {
         $this->admin_contact = $meta->meta_value == '1' ? true : false;
     } else {
         $this->admin_contact = false;
     }
 }
Пример #5
0
 /**
  *	putEdit.
  *
  *	User's put request to update their profile
  *
  *	@param User $user
  *
  *	@return Illuminate\Http\RedirectResponse
  */
 public function putEdit(User $user)
 {
     if (!Auth::check()) {
         return Response::json($this->growlMessage('Please log in to edit user profile', 'error'), 401);
     } elseif (Auth::user()->id != $user->id) {
         return Response::json($this->growlMessage('You do not have access to that profile.', 'error'), 403);
     } elseif ($user == null) {
         return Response::error('404');
     }
     if (strlen(Input::get('password')) > 0) {
         $user->password = Input::get('password');
     }
     $verify = Input::get('verify_request');
     $user->email = Input::get('email');
     $user->fname = Input::get('fname');
     $user->lname = Input::get('lname');
     $user->url = Input::get('url');
     $user->phone = Input::get('phone');
     $user->verify = $verify;
     // Don't allow oauth logins to update the user's data anymore,
     // since they've set values within Madison.
     $user->oauth_update = false;
     if (!$user->save()) {
         $messages = $user->getErrors()->toArray();
         $messageArray = [];
         foreach ($messages as $key => $value) {
             //If an array of messages have been passed, push each one onto messageArray
             if (is_array($value)) {
                 Log::info($value);
                 foreach ($value as $message) {
                     array_push($messageArray, $message);
                 }
             } else {
                 //Otherwise just push the message value
                 array_push($messageArray, $value);
             }
         }
         return Response::json($this->growlMessage($messageArray, 'error'), 400);
     }
     if (isset($verify)) {
         $meta = new UserMeta();
         $meta->meta_key = 'verify';
         $meta->meta_value = 'pending';
         $meta->user_id = $user->id;
         $meta->save();
         Event::fire(MadisonEvent::VERIFY_REQUEST_USER, $user);
         return Response::json($this->growlMessage(['Your profile has been updated', 'Your verified status has been requested.'], 'success'));
     }
     return Response::json($this->growlMessage('Your profile has been updated.', 'success'));
 }
Пример #6
0
 /**
  *	putEdit
  *
  *	User's put request to update their profile
  *
  *	@param User $user
  *	@return Illuminate\Http\RedirectResponse
  */
 public function putEdit(User $user)
 {
     if (!Auth::check()) {
         return Redirect::to('user/login')->with('error', 'Please log in to edit user profile');
     } else {
         if (Auth::user()->id != $user->id) {
             return Redirect::back()->with('error', 'You do not have access to that profile.');
         } else {
             if ($user == null) {
                 return Response::error('404');
             }
         }
     }
     if (strlen(Input::get('password_1')) > 0 || strlen(Input::get('password_2')) > 0) {
         if (Input::get('password_1') !== Input::get('password_2')) {
             return Redirect::to('user/edit/' . $user->id)->with('error', 'The passwords you\'ve entered do not match.');
         } else {
             $password = Input::get('password_1');
         }
     }
     $verify = Input::get('verify');
     $user->email = Input::get('email');
     $user->fname = Input::get('fname');
     $user->lname = Input::get('lname');
     $user->url = Input::get('url');
     $user->phone = Input::get('phone');
     $user->verify = $verify;
     // Don't allow oauth logins to update the user's data anymore,
     // since they've set values within Madison.
     $user->oauth_update = false;
     if (!$user->save()) {
         return Redirect::to('user/edit/' . $user->id)->withInput()->withErrors($user->getErrors());
     }
     if (isset($verify)) {
         $meta = new UserMeta();
         $meta->meta_key = 'verify';
         $meta->meta_value = 'pending';
         $meta->user_id = $user->id;
         $meta->save();
         Event::fire(MadisonEvent::VERIFY_REQUEST_USER, $user);
         return Redirect::back()->with('success_message', 'Your profile has been updated')->with('message', 'Your verified status has been requested.');
     }
     return Redirect::back()->with('success_message', 'Your profile has been updated.');
 }
Пример #7
0
 /**
  * 添加用户meta信息
  * @param $metas 用户的一些扩展信息
  * @param $user 用户名、用户状态及uuid
  *
  */
 public function create($user, $metas)
 {
     //存储用户扩展信息
     if (array_key_exists('extend', $metas) && !empty($metas['extend'])) {
         foreach ($metas['extend'] as $key => $value) {
             if ($value === null) {
                 continue;
             }
             $userMeta = UserMeta::model()->find("user_id=:user_id and meta_key=:key", array(":user_id" => $user['id'], ':key' => $key));
             if (!empty($userMeta)) {
                 if ($userMeta['meta_value'] != $value) {
                     $userMeta['meta_value'] = $value;
                     $userMeta->save();
                 }
             } else {
                 $userMeta = new UserMeta();
                 $userMeta["user_id"] = $user["id"];
                 $userMeta["meta_key"] = $key;
                 $userMeta["meta_value"] = $value;
                 $userMeta->save();
             }
         }
     }
 }
Пример #8
0
 /**
  * 后台创建用户
  */
 public function adminCreateUser($userData)
 {
     if ($this->validateName($userData["user_name"])) {
         //用户验证随机数
         $salt = MiniUtil::genRandomString(6);
         //存储User数据
         $user = new User();
         $user["user_uuid"] = uniqid();
         $user["user_name"] = trim($userData["user_name"]);
         $user["salt"] = $salt;
         $user["user_status"] = 1;
         $user["user_pass"] = MiniUtil::signPassword($userData["password"], $salt);
         $user->save();
         //存储UserMeta数据
         if (strlen($userData["email"])) {
             //email
             $userMeta = new UserMeta();
             $userMeta["user_id"] = $user["id"];
             $userMeta["meta_key"] = "email";
             $userMeta["meta_value"] = $userData["email"];
             $userMeta->save();
         }
         if (strlen($userData["nick"])) {
             //nick
             $userMeta = new UserMeta();
             $userMeta["user_id"] = $user["id"];
             $userMeta["meta_key"] = "nick";
             $userMeta["meta_value"] = $userData["nick"];
             $userMeta->save();
         }
         $userMeta = new UserMeta();
         //管理员
         $userMeta["user_id"] = $user["id"];
         $userMeta["meta_key"] = "is_admin";
         $userMeta["meta_value"] = $userData["is_admin"];
         $userMeta->save();
         $userMeta = new UserMeta();
         //空间数
         $userMeta["user_id"] = $user["id"];
         $userMeta["meta_key"] = "space";
         $userMeta["meta_value"] = $userData["space"];
         $userMeta->save();
         //更新用户的拼音信息
         MiniUser::getInstance()->updateUserNamePinYin($user["id"]);
         return true;
     }
     return 'exist';
 }