MyBB Community Forums

Full Version: Cookie law modification check me URGENT!!!
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Edit-----

I have modified cookie law and my code looks like this anyone please check it for security issues and what can be done to make it better I am not an expert Smile????

function cookielaw_global_start()
{
	global $mybb, $templates, $cookielaw;
	
	
	
	if(!isset($mybb->cookies['mybb']['allowed_cookies']))
	{
	eval("\$cookielaw = \"".$templates->get("cookielaw_header")."\";");
	cookielaw_clear_cookies();
	my_setcookie('mybb[allow_cookies]', '0');
	}
	
	if($mybb->input['action'] == 'cookielaw_change')
	if(isset($mybb->input['allow']))
	{
	   my_setcookie('mybb[allowed_cookies]', '0');
	   redirect('index.php', "cookies are accepted");
	}
	


}

function cookielaw_clear_cookies()
{
	global $mybb, $session;
	
	if($mybb->cookies['mybb']['allow_cookies'] == '0')
	{
		$cookies = cookielaw_get_cookies(true);
		foreach($cookies as $cookie_name => $info)
		{
			if($cookie_name == 'mybb[allow_cookies]')
			{
				continue;
			}
			my_unsetcookie($cookie_name);
		}
		foreach($mybb->cookies as $key => $val)
		{
			if(strpos($key, 'inlinemod_') !== false)
			{
				my_unsetcookie($key);
			}
		}
		unset($mybb->user);
		unset($mybb->session);
		$session->load_guest();
	}
}

function cookielaw_get_cookies($all = false)
{
	global $mybb;
	
	$cookies = array(
		'sid' => array(
			'member' => true,
			'guest' => true
		),
		'mybbuser' => array(
			'member' => true,
			'guest' => false
		),
		'mybb[lastvisit]' => array(
			'member' => false,
			'guest' => true
		),
		'mybb[lastactive]' => array(
			'member' => false,
			'guest' => true
		),
		'mybb[threadread]' => array(
			'member' => false,
			'guest' => true
		),
		'mybb[forumread]' => array(
			'member' => false,
			'guest' => true
		),
		'mybb[readallforums]' => array(
			'member' => false,
			'guest' => true
		),
		'mybb[announcements]' => array(
			'member' => true,
			'guest' => true
		),
		'mybb[referrer]' => array(
			'member' => false,
			'guest' => true
		),
		'forumpass' => array(
			'member' => true,
			'guest' => true
		),
		'mybblang' => array(
			'member' => false,
			'guest' => true
		),
		'collapsed' => array(
			'member' => true,
			'guest' => true
		),
		'coppauser' => array(
			'member' => false,
			'guest' => true
		),
		'coppadob' => array(
			'member' => false,
			'guest' => true
		),
		'loginattempts' => array(
			'member' => false,
			'guest' => true
		),
		'fcollapse' => array(
			'member' => false,
			'guest' => true
		),
		'multiquote' => array(
			'member' => true,
			'guest' => true
		),
		'pollvotes' => array(
			'member' => true,
			'guest' => true
		),
		'mybbratethread' => array(
			'member' => false,
			'guest' => true
		),
		'mybb[allow_cookies]' => array(
			'member' => true,
			'guest' => true
		)
	);
	
	if($all || is_moderator())
	{
		$cookies['inlinemod_*'] = array(
			'mod' => true
		);
	}
	
	if($all || $mybb->usergroup['cancp'] == 1)
	{
		$cookies['adminsid'] = array(
			'admin' => true
		);
		$cookies['acploginattempts'] = array(
			'admin' => true
		);
	}
	
	return $cookies;
}