$userpic =& datamanager_init('Userpic_Profilepic', $vbulletin, ERRTYPE_STANDARD, 'userpic'); $userpic->condition = "userid = " . $vbulletin->userinfo['userid']; $userpic->delete(); } else { $vbulletin->input->clean_gpc('f', 'upload', TYPE_FILE); require_once DIR . '/includes/class_upload.php'; require_once DIR . '/includes/class_image.php'; $upload = new vB_Upload_Userpic($vbulletin); $upload->data =& datamanager_init('Userpic_Profilepic', $vbulletin, ERRTYPE_STANDARD, 'userpic'); $upload->image =& vB_Image::fetch_library($vbulletin); $upload->maxwidth = $vbulletin->userinfo['permissions']['profilepicmaxwidth']; $upload->maxheight = $vbulletin->userinfo['permissions']['profilepicmaxheight']; $upload->maxuploadsize = $vbulletin->userinfo['permissions']['profilepicmaxsize']; $upload->allowanimation = $vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cananimateprofilepic'] ? true : false; if (!$upload->process_upload($vbulletin->GPC['avatarurl'])) { eval(standard_error($upload->fetch_error())); } } ($hook = vBulletinHook::fetch_hook('profile_updateprofilepic_complete')) ? eval($hook) : false; $vbulletin->url = 'profile.php?' . $vbulletin->session->vars['sessionurl'] . 'do=editprofilepic'; eval(print_standard_redirect('redirect_updatethanks')); } // ############################### start choose displayed usergroup ############################### if ($_POST['do'] == 'updatedisplaygroup') { $vbulletin->input->clean_array_gpc('p', array('usergroupid' => TYPE_UINT)); $membergroups = fetch_membergroupids_array($vbulletin->userinfo); if ($vbulletin->GPC['usergroupid'] == 0) { eval(standard_error(fetch_error('invalidid', $vbphrase['usergroup'], $vbulletin->options['contactuslink']))); } if (!in_array($vbulletin->GPC['usergroupid'], $membergroups)) { eval(standard_error(fetch_error('notmemberofdisplaygroup')));
$userdata = new vB_Datamanager_User($vbulletin, vB_DataManager_Constants::ERRTYPE_CP); $userdata->set_existing($userinfo); $userdata->set_bitfield('adminoptions', 'adminprofilepic', 1); $userdata->save(); unset($userdata); } if ($vbulletin->GPC['resize']) { if ($userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canprofilepic']) { $upload->maxwidth = $userinfo['permissions']['profilepicmaxwidth']; $upload->maxheight = $userinfo['permissions']['profilepicmaxheight']; #$upload->maxuploadsize = $userinfo['permissions']['profilepicmaxsize']; #$upload->allowanimation = ($userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cananimateprofilepic']) ? true : false; } } if (!$upload->process_upload($vbulletin->GPC['profilepicurl'])) { print_stop_message2(array('there_were_errors_encountered_with_your_upload_x', $upload->fetch_error())); } } else { $userpic = new vB_Datamanager_Userpic_Profilepic($vbulletin, vB_DataManager_Constants::ERRTYPE_CP, 'userpic'); $userpic->condition = array(array('field' => 'userid', 'value' => $userinfo['userid'], 'operator' => vB_dB_Query::OPERATOR_EQ)); $userpic->delete(); } print_stop_message2('saved_profile_picture_successfully', 'user', array('do' => 'edit', 'u' => $userinfo['userid'])); } // ###################### Start modify Signature Pic ########### if ($_REQUEST['do'] == 'sigpic') { $userinfo = vB_User::fetchUserinfo($vbulletin->GPC['userid'], array(vB_Api_User::USERINFO_SIGNPIC)); if (!$userinfo) { print_stop_message2('invalid_user_specified'); } if ($userinfo['sigpicwidth'] and $userinfo['sigpicheight']) {
function do_upload_avatar() { global $vbulletin, $db, $show, $vbphrase, $permissions; if (!($permissions['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canmodifyprofile'])) { print_no_permission(); } if (!$vbulletin->options['avatarenabled']) { standard_error(fetch_error('avatardisabled')); } if ($vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar']) { $vbulletin->input->clean_gpc('f', 'upload', TYPE_FILE); // begin custom avatar code require_once DIR . '/includes/class_upload.php'; require_once DIR . '/includes/class_image.php'; $upload = new vB_Upload_Userpic($vbulletin); $upload->data =& datamanager_init('Userpic_Avatar', $vbulletin, ERRTYPE_STANDARD, 'userpic'); $upload->image =& vB_Image::fetch_library($vbulletin); $upload->maxwidth = $vbulletin->userinfo['permissions']['avatarmaxwidth']; $upload->maxheight = $vbulletin->userinfo['permissions']['avatarmaxheight']; $upload->maxuploadsize = $vbulletin->userinfo['permissions']['avatarmaxsize']; $upload->allowanimation = $vbulletin->userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cananimateavatar'] ? true : false; if (!$upload->process_upload($vbulletin->GPC['avatarurl'])) { standard_error($upload->fetch_error()); } } // init user data manager $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_STANDARD); $userdata->set_existing($vbulletin->userinfo); $userdata->set('avatarid', 0); ($hook = vBulletinHook::fetch_hook('profile_updateavatar_complete')) ? eval($hook) : false; $userdata->save(); return array('success' => true); }
/** * Saves the facebook avatar specified from facebook url * * @param vB_DataManager_User, the datamanager to put any upload errors into * @param string, the url to retrieve the avatar from * @param bool, flag denoting if we want to try a different URL if this one fails * @param string, the url to retrieve the avatar from if the first one fails * * @return bool true if saved worked, false otherwise */ function save_fbavatar($userdata, $avatarurl = '', $do_fallback = true, $fallback_avatarurl = '') { global $vbulletin; // if we are not passed an avatar url, grab it from fb api if (empty($avatarurl)) { $pf = get_vbprofileinfo(); $avatarurl = $pf['avatarurl']; } // begin custom avatar code require_once DIR . '/includes/class_upload.php'; require_once DIR . '/includes/class_image.php'; // grab permissions info from logged in user, if user not logged in, use permissions from registered usergroup $usergroup_info = !empty($vbulletin->userinfo['userid']) ? $vbulletin->userinfo['permissions'] : $vbulletin->usergroupcache[2]; // if user does not have permission to user custom avatar, skip this step if (!($usergroup_info['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar'])) { return; } // initialize the uploader and populate with the avatar permissions $upload = new vB_Upload_Userpic($vbulletin); $upload->data =& datamanager_init('Userpic_Avatar', $vbulletin, ERRTYPE_STANDARD, 'userpic'); $upload->image =& vB_Image::fetch_library($vbulletin); $upload->maxwidth = $usergroup_info['avatarmaxwidth']; $upload->maxheight = $usergroup_info['avatarmaxheight']; $upload->maxuploadsize = $usergroup_info['avatarmaxsize']; $upload->allowanimation = $usergroup_info['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cananimateavatar'] ? true : false; // upload and validate if (!$upload->process_upload($avatarurl)) { // check if we want to try a fallback url if ($do_fallback) { // if we are not passed a fallback url, grab smaller pic from FB api if (empty($fallback_avatarurl)) { $pf = get_vbprofileinfo(); $fallback_avatarurl = $pf['fallback_avatarurl']; } // do this again, but don't use a fallback if that one fails return save_fbavatar($userdata, $fallback_avatarurl, false); } else { $userdata->error($upload->fetch_error()); return false; } } // if we get here, there were no errors, so return true return true; }
$vbulletin->GPC['avatarurl'] = $avatar; require_once DIR . '/includes/class_upload.php'; require_once DIR . '/includes/class_image.php'; $upload = new vB_Upload_Userpic($vbulletin); $upload->data =& datamanager_init('Userpic_Avatar', $vbulletin, ERRTYPE_STANDARD, 'userpic'); $upload->data->condition = "userid = " . $userid; $upload->image =& vB_Image::fetch_library($vbulletin); $upload->maxwidth = $userinfo['permissions']['avatarmaxwidth']; $upload->maxheight = $userinfo['permissions']['avatarmaxheight']; $upload->maxuploadsize = $userinfo['permissions']['avatarmaxsize']; $upload->allowanimation = $userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['cananimateavatar'] ? true : false; if (!$upload->process_upload($vbulletin->GPC['avatarurl'])) { $valid_entries = FALSE; $error_type = "upload"; $messages['fields'][] = $error_type; $messages['errors'][] = fetch_error('there_were_errors_encountered_with_your_upload_x', $upload->fetch_error()); } } else { // predefined avatar $userpic =& datamanager_init('Userpic_Avatar', $vbulletin, ERRTYPE_CP, 'userpic'); $userpic->condition = "userid = " . $userid; $userpic->delete(); } $nonvbid = $fbID; $sql = "SELECT activationid FROM useractivation WHERE userid = '" . $userid . "'"; $data = $vbulletin->db->query_first($sql); $activationid = $data["activationid"]; if (!empty($activationid)) { $url = "register.php?a=act&u=" . $userid . "&i=" . $activationid; } else { $url = "index.php";