Thread: Major Additions - Links and Downloads Manager
View Single Post
  #2910  
Old 02-25-2008, 04:51 PM
AndrewD AndrewD is offline
 
Join Date: Jul 2002
Location: Scotland
Posts: 3,486
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Ophelia View Post
We ran into an issue tonight. I have checked the permissions, and this gal should be able to upload, however, we get the following error



Her username is Rachel's Stuff (just like that).

She's in the correct usergroup, she has permissions, but it's deny her the right to upload. Any ideas (I am thinking it's because of her username).
Yes, this is a username problem.

I can't recall which version of LDM you are running - if it is 2.2.8, you can fix the problem (I hope) as follows:

edit includes/local_links_include.php
find function lookup_userids (around line 1843)

replace the following sequence of lines:

Code:
	$ids = array();
	foreach ($usernames as $k=>$v) {
		$usernames[$k] = trim($vbulletin->db->escape_string(htmlspecialchars_uni($v)));
		$ids[$k] = 0;
	}
	$userlist = implode("' ,'", $usernames);
	if (!trim($userlist)) return $ids;

	$query = "
		SELECT userid, username
		FROM " . TABLE_PREFIX . "user AS user
		WHERE username IN ('" . $userlist . "')
		";
	$asb = $vbulletin->db->query_read($query);

	while ($rec=$vbulletin->db->fetch_array($asb)) {
		foreach ($usernames as $k=>$v) {
			if ($v==$rec['username']) {
				$ids[$k] = $rec['userid'];
				continue;
			}
		}
	}
	$vbulletin->db->free_result($asb);

	return $ids;
by

Code:
	$ids = array();
	$safe_usernames = array();
	foreach ($usernames as $k=>$v) {
		$safe_usernames[$k] = trim($vbulletin->db->escape_string(htmlspecialchars_uni($v)));
		$ids[$k] = 0;
	}
	$safe_userlist = implode("' ,'", $safe_usernames);
	if (!trim($safe_userlist)) return $ids;

	$query = "
		SELECT userid, username
		FROM " . TABLE_PREFIX . "user AS user
		WHERE username IN ('" . $safe_userlist . "')
		";
	$asb = $vbulletin->db->query_read($query);

	while ($rec=$vbulletin->db->fetch_array($asb)) {
		foreach ($usernames as $k=>$v) {
			if ($v==$rec['username']) {
				$ids[$k] = $rec['userid'];
				continue;
			}
		}
	}
	$vbulletin->db->free_result($asb);

	return $ids;
Basically, replace most of the references to usernames with safe_usernames.

This will be fixed in the next version of 2.2.9.
Reply With Quote
 
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01205 seconds
  • Memory Usage 1,770KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD_SHOWPOST
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_box
  • (1)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit_info
  • (1)postbit
  • (1)postbit_onlinestatus
  • (1)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • reputationlevel
  • showthread
Included Files:
  • ./showpost.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showpost_start
  • bbcode_fetch_tags
  • bbcode_create
  • postbit_factory
  • showpost_post
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • showpost_complete