/** * 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.'); }
/** * 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(); }
/** * 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; }
/** * 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; } }
/** * 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')); }
/** * 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.'); }
/** * 添加用户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(); } } } }
/** * 后台创建用户 */ 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'; }