function handleEdit($p) { $session = SessionHandler::getInstance(); foreach (UserDataField::getAll() as $f) { if (!empty($p['remove_' . $f->id])) { UserSetting::set($session->id, $f->name, 0); continue; } switch ($f->type) { case UserDataField::IMAGE: if ($p[$f->name]['error'] == UPLOAD_ERR_NO_FILE) { continue; } $album = PhotoAlbum::getProfileAlbumId(); $fileId = File::importImage(USER, $p[$f->name], $album); UserSetting::set($session->id, $f->name, $fileId); break; default: UserSetting::set($session->id, $f->name, $p[$f->name]); } } js_redirect('u/profile'); }
function handleFacebookLogin() { if ($this->facebook_id) { throw new \Exception('wiee! already handled'); } // Get User ID $fbuser = $this->fb_handle->getUser(); if (!$fbuser) { return false; } try { $user_profile = $this->fb_handle->api('/me'); } catch (FacebookApiException $e) { // d( $e ); error_log($e); return false; } $this->type = SESSION_FACEBOOK; $this->username = $this->fb_handle->getUser(); $this->facebook_id = $this->fb_handle->getUser(); if (!$this->login($this->facebook_id, '', $this->type)) { return false; } // store email from this result UserSetting::set($this->id, 'email', $user_profile['email']); // store fb_name setting with "name" value UserSetting::set($this->id, 'fb_name', $user_profile['name']); // fetch picture $x = 'https://graph.facebook.com/' . $this->fb_handle->getUser() . '?fields=email,name,picture&access_token=' . $this->fb_handle->getAccessToken(); $res = file_get_contents($x); $res = json_decode($res); //d($res); // store fb_picture setting with "picture" value UserSetting::set($this->id, 'fb_picture', $res->picture); return true; }
return; } if (!empty($_POST['setting_name']) && isset($_POST['setting_val'])) { UserSetting::set($user->id, $_POST['setting_name'], $_POST['setting_val']); echo '<div class="good">Setting added!</div>'; } if (!empty($_GET['remove_setting'])) { UserSetting::delete($user->id, $_GET['remove_setting']); echo '<div class="good">Setting removed!</div>'; } // save changes in edited settings if (!empty($_POST)) { $settings = UserSetting::getAll($user->id); foreach ($settings as $set) { if (!empty($_POST['setting_name_' . $set['id']])) { UserSetting::set($user->id, $_POST['setting_name_' . $set['id']], $_POST['setting_val_' . $set['id']]); } } } if (!empty($_POST['grp_id'])) { UserGroupHandler::addToGroup($user->id, $_POST['grp_id']); } if (!empty($_GET['rm_grp'])) { UserGroupHandler::removeFromGroup($user->id, $_GET['rm_grp']); } echo '<h2>Group membership</h2>'; echo 'This user is member of the following groups:<br/>'; foreach (UserGroupHandler::getGroups($user->id) as $g) { echo '<a href="' . relurl_add(array('rm_grp' => $g->getId())) . '">' . coreButton('Delete') . '</a> '; echo ahref('a/usergroup/' . $g->getId(), $g->getName()) . '<br/>'; }