diff options
Diffstat (limited to 'phpBB/includes')
| -rw-r--r-- | phpBB/includes/acp/acp_prune.php | 8 | ||||
| -rw-r--r-- | phpBB/includes/db/oracle.php | 5 | ||||
| -rw-r--r-- | phpBB/includes/db/postgres.php | 5 | ||||
| -rw-r--r-- | phpBB/includes/functions.php | 7 | ||||
| -rw-r--r-- | phpBB/includes/functions_display.php | 7 | ||||
| -rw-r--r-- | phpBB/includes/functions_user.php | 1 | 
6 files changed, 25 insertions, 8 deletions
| diff --git a/phpBB/includes/acp/acp_prune.php b/phpBB/includes/acp/acp_prune.php index 7eeb37133f..ffe20f86f5 100644 --- a/phpBB/includes/acp/acp_prune.php +++ b/phpBB/includes/acp/acp_prune.php @@ -315,8 +315,8 @@ class acp_prune  					'mode'			=> $mode,  					'prune'			=> 1, -					'users'			=> request_var('users', '', true), -					'username'		=> request_var('username', '', true), +					'users'			=> utf8_normalize_nfc(request_var('users', '', true)), +					'username'		=> utf8_normalize_nfc(request_var('username', '', true)),  					'email'			=> request_var('email', ''),  					'joined_select'	=> request_var('joined_select', ''),  					'joined'		=> request_var('joined', ''), @@ -369,7 +369,7 @@ class acp_prune  	{  		global $user, $db; -		$users = request_var('users', '', true); +		$users = utf8_normalize_nfc(request_var('users', '', true));  		if ($users)  		{ @@ -378,7 +378,7 @@ class acp_prune  		}  		else  		{ -			$username = request_var('username', '', true); +			$username = utf8_normalize_nfc(request_var('username', '', true));  			$email = request_var('email', '');  			$joined_select = request_var('joined_select', 'lt'); diff --git a/phpBB/includes/db/oracle.php b/phpBB/includes/db/oracle.php index 55b3599800..5a9b18abf0 100644 --- a/phpBB/includes/db/oracle.php +++ b/phpBB/includes/db/oracle.php @@ -261,6 +261,10 @@ class dbal_oracle extends dbal  						{  							$cols = explode(', ', $regs[2]); +/*						The code inside this comment block breaks clob handling, but does allow the +						database restore script to work.  If you want to allow no posts longer than 4KB +						and/or need the db restore script, uncomment this. +  							preg_match_all('/\'(?:[^\']++|\'\')*+\'|[\d-.]+/', $regs[3], $vals, PREG_PATTERN_ORDER);  							if (sizeof($cols) !== sizeof($vals)) @@ -310,6 +314,7 @@ class dbal_oracle extends dbal  								$vals = array(0 => $vals);  							} +*/  							$inserts = $vals[0];  							unset($vals); diff --git a/phpBB/includes/db/postgres.php b/phpBB/includes/db/postgres.php index b3139b3d79..2a885f1d04 100644 --- a/phpBB/includes/db/postgres.php +++ b/phpBB/includes/db/postgres.php @@ -46,7 +46,10 @@ class dbal_postgres extends dbal  		if ($sqlserver)  		{ -			if (strpos($sqlserver, ':') !== false) +			// $sqlserver can carry a port separated by : for compatibility reasons +			// If $sqlserver has more than one : it's probably an IPv6 address. +			// In this case we only allow passing a port via the $port variable. +			if (substr_count($sqlserver, ':') === 1)  			{  				list($sqlserver, $port) = explode(':', $sqlserver);  			} diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index 3e80f93114..3f097f171f 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -1660,10 +1660,11 @@ function get_complete_topic_tracking($forum_id, $topic_ids, $global_announce_lis  * @param string $sql_extra		Extra WHERE SQL statement  * @param string $sql_sort		ORDER BY SQL sorting statement  * @param string $sql_limit		Limits the size of unread topics list, 0 for unlimited query +* @param string $sql_limit_offset  Sets the offset of the first row to search, 0 to search from the start  *  * @return array[int][int]		Topic ids as keys, mark_time of topic as value  */ -function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001) +function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $sql_limit = 1001, $sql_limit_offset = 0)  {  	global $config, $db, $user; @@ -1709,7 +1710,7 @@ function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $s  		);  		$sql = $db->sql_build_query('SELECT', $sql_array); -		$result = $db->sql_query_limit($sql, $sql_limit); +		$result = $db->sql_query_limit($sql, $sql_limit, $sql_limit_offset);  		while ($row = $db->sql_fetchrow($result))  		{ @@ -1742,7 +1743,7 @@ function get_unread_topics($user_id = false, $sql_extra = '', $sql_sort = '', $s  			WHERE t.topic_last_post_time > ' . $user_lastmark . "  			$sql_extra  			$sql_sort"; -		$result = $db->sql_query_limit($sql, $sql_limit); +		$result = $db->sql_query_limit($sql, $sql_limit, $sql_limit_offset);  		while ($row = $db->sql_fetchrow($result))  		{ diff --git a/phpBB/includes/functions_display.php b/phpBB/includes/functions_display.php index ec348138f5..5e6239b070 100644 --- a/phpBB/includes/functions_display.php +++ b/phpBB/includes/functions_display.php @@ -969,11 +969,16 @@ function display_user_activity(&$userdata)  	$forum_ary = array_unique($forum_ary);  	$forum_sql = (sizeof($forum_ary)) ? 'AND ' . $db->sql_in_set('forum_id', $forum_ary, true) : ''; +	$fid_m_approve = $auth->acl_getf('m_approve', true); +	$sql_m_approve = (!empty($fid_m_approve)) ? 'OR ' . $db->sql_in_set('forum_id', array_keys($fid_m_approve)) : ''; +  	// Obtain active forum  	$sql = 'SELECT forum_id, COUNT(post_id) AS num_posts  		FROM ' . POSTS_TABLE . '  		WHERE poster_id = ' . $userdata['user_id'] . "  			AND post_postcount = 1 +			AND (post_approved = 1 +				$sql_m_approve)  			$forum_sql  		GROUP BY forum_id  		ORDER BY num_posts DESC"; @@ -996,6 +1001,8 @@ function display_user_activity(&$userdata)  		FROM ' . POSTS_TABLE . '  		WHERE poster_id = ' . $userdata['user_id'] . "  			AND post_postcount = 1 +			AND (post_approved = 1 +				$sql_m_approve)  			$forum_sql  		GROUP BY topic_id  		ORDER BY num_posts DESC"; diff --git a/phpBB/includes/functions_user.php b/phpBB/includes/functions_user.php index 21e82030ee..271542efdd 100644 --- a/phpBB/includes/functions_user.php +++ b/phpBB/includes/functions_user.php @@ -297,6 +297,7 @@ function user_add($user_row, $cp_data = false)  			if ($config['new_member_group_default'])  			{  				group_user_add($add_group_id, $user_id, false, false, true); +				$user_row['group_id'] = $add_group_id;  			}  			else  			{ | 
