Пример #1
0
         $userpic->set_existing($image);
         $userpic->setr('filedata', $image['afiledata']);
         if (!$userpic->save()) {
             print_stop_message2(array('error_writing_x', $image['afilename']));
         }
     }
     if (!empty($image['pfiledata'])) {
         $userpic = vB_DataManager_Userpic::fetch_library($vbulletin, vB_DataManager_Constants::ERRTYPE_CP, 'userpic_profilepic', true);
         $userpic->set_existing($image);
         $userpic->setr('filedata', $image['pfiledata']);
         if (!$userpic->save()) {
             print_stop_message2(array('error_writing_x', $image['pfilename']));
         }
     }
     if (!empty($image['sfiledata'])) {
         $userpic = vB_DataManager_Userpic::fetch_library($vbulletin, vB_DataManager_Constants::ERRTYPE_CP, 'userpic_sigpic', true);
         $userpic->set_existing($image);
         $userpic->setr('filedata', $image['sfiledata']);
         if (!$userpic->save()) {
             print_stop_message2(array('error_writing_x', $image['sfilename']));
         }
     }
     unset($userpic);
     $vbulletin->options['usefileavatar'] = false;
 } else {
     $vbulletin->options['usefileavatar'] = false;
     // Converting FROM fs TO mysql
     if (!empty($image['afilename'])) {
         $path = $vbulletin->options['avatarpath'] . "/{$image['afilename']}";
         $thumbpath = $vbulletin->options['avatarpath'] . "/thumbs/{$image['afilename']}";
         chdir(DIR);
Пример #2
0
/**
* Class factory. This is used for instantiating the extended classes.
*
* @param	string			The type of the class to be called (user, forum etc.)
* @param	vB_Registry		An instance of the vB_Registry object.
* @param	integer			One of the ERRTYPE_x constants
* @param	string			Option to force loading a class from a specific file; no extension
*
* @return	vB_DataManager	An instance of the desired class
*/
function &datamanager_init($classtype, &$registry, $errtype = ERRTYPE_STANDARD, $forcefile = '')
{
	static $called;

	if (empty($called))
	{
		// include the abstract base class
		require_once(DIR . '/includes/class_dm.php');
		$called = true;
	}

	if (preg_match('#^\w+$#', $classtype))
	{
		$classtype = strtolower($classtype);
		if ($forcefile)
		{
			$classfile = preg_replace('#[^a-z0-9_]#i', '', $forcefile);
		}
		else
		{
			$classfile = str_replace('_multiple', '', $classtype);
		}
		require_once(DIR . '/includes/class_dm_' . $classfile . '.php');

		switch($classtype)
		{
			case 'userpic_avatar':
			case 'userpic_profilepic':
			case 'userpic_sigpic':
				$object = vB_DataManager_Userpic::fetch_library($registry, $errtype, $classtype);
				break;
			case('socialgroupicon'):
				$object = vB_DataManager_SocialGroupIcon::fetch_library($registry, $errtype, $classtype);
				break;
			default:
				$classname = 'vB_DataManager_' . $classtype;
				$object = new $classname($registry, $errtype);
		}

		return $object;
	}
}
Пример #3
0
 $useavatar = iif($vbulletin->GPC['avatarid'] == -1, 0, 1);
 $userinfo = fetch_userinfo($vbulletin->GPC['userid']);
 if (!$userinfo) {
     print_modcp_stop_message2('invalid_user_specified');
 }
 // init user datamanager
 $userdata = new vB_Datamanager_User($vbulletin, vB_DataManager_Constants::ERRTYPE_CP);
 $userdata->set_existing($userinfo);
 if ($useavatar) {
     if (!$vbulletin->GPC['avatarid']) {
         // custom avatar
         $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_Avatar($vbulletin, vB_DataManager_Constants::ERRTYPE_CP);
         $object =& vB_DataManager_Userpic::fetch_library($vbulletin, vB_DataManager_Constants::ERRTYPE_CP);
         $upload->data->validfields = array_merge($object->validfields, $upload->data->validfields);
         $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['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_modcp_stop_message2(array('there_were_errors_encountered_with_your_upload_x', $upload->fetch_error()));
         }