示例#1
0
    }
    print_input_row($vbphrase['enter_image_url_gcpuser'], 'profilepicurl', 'http://www.');
    print_upload_row($vbphrase['upload_image_from_computer'], 'upload');
    print_submit_row($vbphrase['save']);
}
// ###################### Start Update Profile Pic ################
if ($_POST['do'] == 'updateprofilepic') {
    $vbulletin->input->clean_array_gpc('p', array('userid' => vB_Cleaner::TYPE_UINT, 'useprofilepic' => vB_Cleaner::TYPE_BOOL, 'profilepicurl' => vB_Cleaner::TYPE_STR, 'resize' => vB_Cleaner::TYPE_BOOL));
    $userinfo = fetch_userinfo($vbulletin->GPC['userid']);
    if (!$userinfo) {
        print_stop_message2('invalid_user_specified');
    }
    if ($vbulletin->GPC['useprofilepic']) {
        $vbulletin->input->clean_gpc('f', 'upload', vB_Cleaner::TYPE_FILE);
        require_once DIR . '/includes/class_upload.php';
        $upload = new vB_Upload_Userpic($vbulletin);
        $upload->data = new vB_Datamanager_Userpic_Profilepic($vbulletin, vB_DataManager_Constants::ERRTYPE_CP, 'userpic');
        $upload->image =& vB_Image::instance();
        $upload->userinfo =& $userinfo;
        cache_permissions($userinfo, false);
        // user's group doesn't have permission to use custom avatars so set override
        if (!($userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canprofilepic'])) {
            // init user datamanager
            $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']) {
示例#2
0
文件: profile.php 项目: holandacz/nb4
        print_no_permission();
    }
    if (!$vbulletin->options['profilepicenabled']) {
        print_no_permission();
    }
    $vbulletin->input->clean_array_gpc('p', array('deleteprofilepic' => TYPE_BOOL, 'avatarurl' => TYPE_STR));
    ($hook = vBulletinHook::fetch_hook('profile_updateprofilepic_start')) ? eval($hook) : false;
    if ($vbulletin->GPC['deleteprofilepic']) {
        $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 ###############################
示例#3
0
文件: user.php 项目: holandacz/nb4
 }
 $useavatar = iif($vbulletin->GPC['avatarid'] == -1, 0, 1);
 $userinfo = fetch_userinfo($vbulletin->GPC['userid']);
 if (!$userinfo) {
     print_stop_message('invalid_user_specified');
 }
 // init user datamanager
 $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_CP);
 $userdata->set_existing($userinfo);
 if ($useavatar) {
     if (!$vbulletin->GPC['avatarid']) {
         // custom avatar
         $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_Avatar', $vbulletin, ERRTYPE_CP, 'userpic');
         $upload->image =& vB_Image::fetch_library($vbulletin);
         $upload->userinfo =& $userinfo;
         cache_permissions($userinfo, false);
         // user's group doesn't have permission to use custom avatars so set override
         if (!($userinfo['permissions']['genericpermissions'] & $vbulletin->bf_ugp_genericpermissions['canuseavatar'])) {
             $userdata->set_bitfield('adminoptions', 'adminavatar', 1);
         }
         if (($userinfo['permissions']['avatarmaxwidth'] > 0 or $userinfo['permissions']['avatarmaxheight'] > 0) and ($vbulletin->GPC['resize'] or !($vbulletin->userinfo['permissions']['adminpermissions'] & $vbulletin->bf_ugp_adminpermissions['cancontrolpanel']))) {
             $upload->maxwidth = $userinfo['permissions']['avatarmaxwidth'];
             $upload->maxheight = $userinfo['permissions']['avatarmaxheight'];
         }
         if (!$upload->process_upload($vbulletin->GPC['avatarurl'])) {
             print_stop_message('there_were_errors_encountered_with_your_upload_x', $upload->fetch_error());
         }
 public function UpdatevBAvatar(array $info)
 {
     if (empty($info['username'])) {
         return false;
     }
     $username = $info['username'];
     if (DLE_CHARSET && DLE_CHARSET != $this->vbulletin->userinfo['lang_charset']) {
         $username = iconv($this->vbulletin->userinfo['lang_charset'], DLE_CHARSET, $username);
     }
     if ($this->vbulletin->userinfo['username'] != $username) {
         $this->vbulletin->userinfo = $this->vbulletin->db->query_first("SELECT * FROM " . TABLE_PREFIX . "user WHERE username='******'");
     }
     if ($this->vbulletin->userinfo['userid']) {
         $this->vbulletin->userinfo = fetch_userinfo($this->vbulletin->userinfo['userid'], (defined('IN_CONTROL_PANEL') ? 16 : 0) + (defined('AVATAR_ON_NAVBAR') ? 2 : 0));
         cache_permissions($this->vbulletin->userinfo);
         if (!empty($info['delete'])) {
             if ($this->vbulletin->userinfo['avatarid']) {
                 $userdata =& datamanager_init('User', $this->vbulletin, ERRTYPE_STANDARD);
                 $userdata->set_existing($this->vbulletin->userinfo);
                 $userdata->set('avatarid', 0);
                 $userdata->save();
             } else {
                 $userpic =& datamanager_init('Userpic_Avatar', $this->vbulletin, ERRTYPE_STANDARD, 'userpic');
                 $userpic->condition = 'userid = ' . $this->vbulletin->userinfo['userid'];
                 $userpic->delete();
             }
         } elseif (!empty($info['avatarurl'])) {
             require_once DIR . '/includes/class_upload.php';
             require_once DIR . '/includes/class_image.php';
             $upload = new vB_Upload_Userpic($this->vbulletin);
             $upload->data =& datamanager_init('Userpic_Avatar', $this->vbulletin, ERRTYPE_STANDARD, 'userpic');
             $upload->image =& vB_Image::fetch_library($this->vbulletin);
             $upload->maxwidth = $this->vbulletin->userinfo['permissions']['avatarmaxwidth'];
             $upload->maxheight = $this->vbulletin->userinfo['permissions']['avatarmaxheight'];
             $upload->maxuploadsize = $this->vbulletin->userinfo['permissions']['avatarmaxsize'];
             $upload->allowanimation = $this->vbulletin->userinfo['permissions']['genericpermissions'] & $this->vbulletin->bf_ugp_genericpermissions['cananimateavatar'] ? true : false;
             $upload->process_upload($info['avatarurl']);
             $userdata =& datamanager_init('User', $this->vbulletin, ERRTYPE_STANDARD);
             $userdata->set_existing($this->vbulletin->userinfo);
             $userdata->set('avatarid', 0);
             $userdata->save();
         }
     }
 }
示例#5
0
/**
* 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;
}
示例#6
0
文件: profile.php 项目: 0hyeah/yurivn
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);
}
示例#7
0
 $vbulletin->db->query_write("INSERT IGNORE INTO " . TABLE_PREFIX . "vbnexus_user (service, nonvbid, userid, associated) VALUES ('fb', '" . $fbID . "', '" . $userid . "', '1')");
 $userinfo = fetch_userinfo($userid, FETCH_USERINFO_PROFILEPIC);
 cache_permissions($userinfo, false);
 $userinfo_permissions = $userinfo['permissions']['genericpermissions'];
 $generic_canuseavatar = $vbulletin->bf_ugp_genericpermissions['canuseavatar'];
 $avatar_usergroup_enabled = $userinfo_permissions & $generic_canuseavatar;
 // update avatar if option enabled
 if ($avatar_usergroup_enabled) {
     $userinfo = fetch_userinfo($userid);
     $userdata =& datamanager_init('User', $vbulletin, ERRTYPE_CP);
     $userdata->set_existing($userinfo);
     $vbulletin->input->clean_gpc('f', 'upload', TYPE_FILE);
     $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