/***************************************************************************
 *                               upgrade.txt
 *                            -------------------
 *   Version              : 2.6.0
 *   released             : Tuesday, August 19th, 2003
 *   forums               : http://forums.knightsofchaos.com
 *   email                : zarath@knightsofchaos.com
 *
 *   requires             : 2.0.0+ phpbb
 *                          points mod
 *                          OR cash mod version 2.x
 *                          shop mod 1.2.0
 *   files to edit        : /includes/auth.php
 *                        : /index.php
 *                        : /includes/usercp_viewprofile.php
 *                        : /viewtopic.php
 *   difficulty           : medium
 *   time                 : 10-15minutes
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   copyright (C) 2002/2003  IcE-RaiN/Zarath
 *
 *   This program is free software; you can redistribute it and/or
 *   modify it under the terms of the GNU General Public License
 *   as published by the Free Software Foundation; either version 2
 *   of the License, or (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU General Public License for more details.
 *
 *   http://www.gnu.org/copyleft/gpl.html
 *
 ***************************************************************************/

/***************************************************************************
 * Installation
 *
 * 1. Delete /shop_iteminfo.php
 *
 * 2. Upload files
 *		/shop_upgrade.php
 *		/shop.php
 *		/shop_bs.php
 *		/shop_effects.php
 *		/shop_actions.php
 *		/shop_inventory.php
 *		/admin/admin_shop.php
 *		/templates/*/shop_body.tpl
 *		/templates/*/shop_inventory_body.tpl
 *		/templates/*/admin/shop_config_body.tpl
 *		/shop_install.php
 *		/shop/images/icon_store_rpg.gif
 *
 * 2. Run shop_upgrade.php then delete it.
 *
 * 3. Execute Steps Below
 *
 * 4. Read the FAQ!
 ***************************************************************************/

 ------[OPEN]------
includes/auth.php

 ------[FIND]------
	global $db, $lang;

 ------[ADD, AFTER ]------
	//start item auths
	$itemarray = explode('', str_replace("", "", $userdata['user_items']));

	$sql = "select name, accessforum from phpbb_shopitems where accessforum != '0'";
	if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_MESSAGE, "Database Connection Error!<br>".mysql_error()); }
	$num_rows = mysql_num_rows($result);

	$itemformaccess = array();
	for ($x = 0; $x < $num_rows; $x++)
	{
		$row = mysql_fetch_array($result);
		if (in_array($row['name'], $itemarray))
		{
			$itemformaccess[] = $row['accessforum'];
		}
	}

 ------[FIND]------
		if ( $forum_id != AUTH_LIST_ALL )
		{
			$value = $f_access[$key];

 ------[ADD, AFTER ]------
			if (in_array($forum_id, $itemformaccess) && (!in_array("auth_sticky",$auth_fields) && !in_array("auth_announce",$auth_fields) && !in_array("auth_delete",$auth_fields) && ($userdata['user_level'] == 0)))
			{
				$value = 1;
			}

 ------[FIND]------
			for($k = 0; $k < count($f_access); $k++)
			{
				$value = $f_access[$k][$key];
				$f_forum_id = $f_access[$k]['forum_id'];

 ------[ADD, AFTER ]------
				if (in_array($forum_id, $itemformaccess) && (!in_array("auth_sticky",$auth_fields) && !in_array("auth_announce",$auth_fields) && !in_array("auth_delete",$auth_fields) && ($userdata['user_level'] == 0)))
				{
					$value = 1;
				}


 ------[OPEN]------
index.php

 ------[FIND]------
	$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata, $forum_data);

 ------[ADD, AFTER ]------
	$itemarray = explode('', str_replace("", "", $userdata['user_items']));

	$sql = "select name, accessforum from phpbb_shopitems where accessforum != '0' and accessforum > '0'";
	if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_MESSAGE, "Database Connection Error!"); }
	$num_rows = mysql_num_rows($result);

	$itemformaccess = array();
	$itemcataccess = array();
	for ($x = 0; $x < $num_rows; $x++)
	{
		$row = mysql_fetch_array($result);
		if (in_array($row['name'], $itemarray))
		{
			$itemformaccess[] = $row['accessforum'];

			$sql = "select cat_id from " . FORUMS_TABLE . " where forum_id = '{$row['accessforum']}'";
			if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_MESSAGE, "Database Connection Error!"); }
			$row2 = mysql_fetch_array($result);

			$itemcataccess[] = $row2['cat_id'];
		}
	}

 ------[FIND]------
		//
		// Yes, we should, so first dump out the category

 ------[ADD, BEFORE]------
		if (in_array($cat_id, $itemcataccess)) {
			$display_forums = true;
		}

 ------[FIND]------
						if ( $is_auth_ary[$forum_id]['auth_view'] )

 ------[REPLACE WITH]------
						if ( $is_auth_ary[$forum_id]['auth_view'] || in_array($forum_id, $itemformaccess))


 ------[OPEN]------
includes/usercp_viewprofile.php

 ------[REPLACE ALL BETWEEN]------
//start of profile-items

 ------[AND]------
	$usernameurl = "<a href=\"".append_sid("shop.".$phpEx."?action=inventory&searchid=".$profiledata['user_id'])."\" class=\"nav\">Items</a>";
}
 ------[WITH]------
if ($board_config['viewprofile'] == "images")
{
	$itempurge = str_replace("", "", $profiledata['user_items']);
	$itemarray = explode('',$itempurge);
	$itemcount = count ($itemarray);
	$user_items = "<br>";
	for ($xe = 0;$xe < $itemcount;$xe++)
	{
		if ($itemarray[$xe] != NULL)
		{
			if (file_exists('shop/images/'.$itemarray[$xe].'.jpg'))
			{
				$user_items .= ' <img src="shop/images/'.$itemarray[$xe].'.jpg" title="'.$itemarray[$xe].'" alt="'.$itemaray[$xe].'">';
			}
			elseif (file_exists('shop/images/'.$itemarray[$xe].'.gif'))
			{
				$user_items .= ' <img src="shop/images/'.$itemarray[$xe].'.gif" title="'.$itemarray[$xe].'" alt="'.$itemaray[$xe].'">';
			}
		}
	}
	$usernameurl = '<a href="'.append_sid('shop.'.$phpEx.'?action=inventory&searchid='.$profiledata['user_id'], true).'" class="nav">Items</a>: ';
}
elseif ($board_config['viewprofile'] == "link")
{
	$usernameurl = '<a href="'.append_sid('shop.'.$phpEx.'?action=inventory&searchid='.$profiledata['user_id'], true).'" class="nav">Items</a>';
}

//start of effects store checks
$shoparray = explode("", $board_config['specialshop']);
$shoparraycount = count ($shoparray);
$shopstatarray = array();
for ($x = 0; $x < $shoparraycount; $x++)
{
	$temparray = explode("", $shoparray[$x]);
	$shopstatarray[] = $temparray[0];
	$shopstatarray[] = $temparray[1];
}
//end of effects store checks

$usereffects = explode("", $profiledata['user_effects']);
$userprivs = explode("", $profiledata['user_privs']);
$usercustitle = explode("", $profiledata['user_custitle']);
$userbs = array();
$usercount = count($userprivs);
for ($x = 0; $x < $usercount; $x++) { $temppriv = explode("", $userprivs[$x]); $userbs[] = $temppriv[0]; $userbs[] = $temppriv[1]; }
$usercount = count($usereffects);
for ($x = 0; $x < $usercount; $x++) { $temppriv = explode("", $usereffects[$x]); $userbs[] = $temppriv[0]; $userbs[] = $temppriv[1]; }
$usercount = count($usercustitle);
for ($x = 0; $x < $usercount; $x++) { $temppriv = explode("", $usercustitle[$x]); $userbs[] = $temppriv[0]; $userbs[] = $temppriv[1]; }


//start glows and such
if ((($userbs[24] == on) && ($shopstatarray[24] == on)) || (($userbs[20] == on) && ($shopstatarray[22] == on)) || (($userbs[22] == on) && ($shopstataray[20] = on)) || (($userbs[18] == on) && ($shopstatarray[18] == on))) {
	$titleeffects = '<span style="height:10';
	if (($userbs[22] == on) && ($shopstatarray[20] == on)) { $titleeffects .= "; filter:shadow(color=#".$userbs[23].", strength=5)"; }
	if (($userbs[20] == on) && ($shopstatarray[22] == on)) { $titleeffects .= "; filter:glow(color=#".$userbs[21].", strength=5)"; }
	if (($userbs[24] == on) && ($shopstatarray[24] == on)) { $poster_rank = $userbs[25]; }
	if (($userbs[18] == on) && ($shopstatarray[18] == on)) { $poster_rank = '<font color="'.$userbs[19].'">'.$poster_rank.'</font>'; }
	$titleeffects .= '">'.$poster_rank.'</span>';
	$poster_rank = $titleeffects;
}
//end glows and such
//start avatar and rank override
if (($shopstatarray[6] == on) && ($userbs[2] != on) && ($profiledata['user_level'] != 1)) { $avatar_img = ""; }
if (($shopstatarray[10] == on) && ($userbs[6] != on) && ($profiledata['user_level'] != 1)) { $poster_rank = "None"; $rank_image = ""; }
//end avatar and rank override


 ------[OPEN]------
viewtopic.php

 ------[FIND]------
u.user_items,

 ------[ADD, AFTER]------
u.user_custitle,

 ------[REPLACE ALL BETWEEN]------
	//display items

 ------[AND]------
	//end item display

 ------[WITH]------
	if ($board_config['viewtopic'] == "images")
	{
		$itempurge = str_replace("", "", $postrow[$i]['user_items']);
		$itemarray = explode('',$itempurge);
		$itemcount = count ($itemarray);
		$user_items = "<br>";
     		for ($xe = 0;$xe < $itemcount;$xe++)
		{
			if ($itemarray[$xe] != NULL)
			{
				if ($board_config['viewtopiclimit'] < $xe) { $user_items .= ' <a href="'.append_sid("shop.".$phpEx."?action=inventory&searchid=".$postrow[$i]['user_id']).'" title="'.$postrow[$i]['username'].'\'sInventory">more...</a>'; break; }
				if (file_exists("shop/images/".$itemarray[$xe].".jpg"))
				{
					$user_items .= ' <img src="shop/images/'.$itemarray[$xe].'.jpg" title="'.$itemarray[$xe].'" alt="'.$itemaray[$xe].'">';
				}
				elseif (file_exists("shop/images/".$itemarray[$xe].".gif"))
				{
					$user_items .= ' <img src="shop/images/'.$itemarray[$xe].'.gif" title="'.$itemarray[$xe].'" alt="'.$itemaray[$xe].'">';
				}
			}
		}
	}
	$usernameurl = append_sid("shop.".$phpEx."?action=inventory&searchid=".$postrow[$i]['user_id']);

	$usereffects = explode("", $postrow[$i]['user_effects']);
	$userprivs = explode("", $postrow[$i]['user_privs']);
	$usercustitle = explode("", $postrow[$i]['user_custitle']);
	$userbs = array();
	$usercount = count($userprivs);
	for ($x = 0; $x < $usercount; $x++) { $temppriv = explode("", $userprivs[$x]); $userbs[] = $temppriv[0]; $userbs[] = $temppriv[1]; }
	$usercount = count($usereffects);
	for ($x = 0; $x < $usercount; $x++) { $temppriv = explode("", $usereffects[$x]); $userbs[] = $temppriv[0]; $userbs[] = $temppriv[1]; }
	$usercount = count($usercustitle);
	for ($x = 0; $x < $usercount; $x++) { $temppriv = explode("", $usercustitle[$x]); $userbs[] = $temppriv[0]; $userbs[] = $temppriv[1]; }
	$shoparray = explode("", $board_config['specialshop']);
	$shoparraycount = count ($shoparray);
	$shopstatarray = array();
	for ($x = 0; $x < $shoparraycount; $x++)
	{
		$temparray = explode("", $shoparray[$x]);
		$shopstatarray[] = $temparray[0];
		$shopstatarray[] = $temparray[1];
	}
	if (($userbs[10] == on) && ($shopstatarray[12] == on)) { $poster = '<font color="'.$userbs[11].'">'.$poster.'</font>'; }
	if ((($userbs[12] == on) && ($shopstatarray[14] == on)) || (($userbs[14] == on) && ($shopstataray[16] = on))) {
		$nameeffects = "<span style=\"width:100";
		if (($userbs[12] == on) && ($shopstatarray[14] == on)) { $nameeffects .= "; filter:shadow(color=#".$userbs[13].", strength=5)"; }
		if (($userbs[14] == on) && ($shopstatarray[16] == on)) { $nameeffects .= "; filter:glow(color=#".$userbs[15].", strength=5)"; }
		$nameeffects .= '">'.$poster.'</span>';
		$poster = $nameeffects;
	}
	if ((($userbs[24] == on) && ($shopstatarray[24] == on)) || (($userbs[20] == on) && ($shopstatarray[22] == on)) || (($userbs[22] == on) && ($shopstataray[20] = on)) || (($userbs[18] == on) && ($shopstatarray[18] == on))) {
		$titleeffects = '<span style="height:10';
		if (($userbs[22] == on) && ($shopstatarray[20] == on)) { $titleeffects .= "; filter:shadow(color=#".$userbs[23].", strength=5)"; }
		if (($userbs[20] == on) && ($shopstatarray[22] == on)) { $titleeffects .= "; filter:glow(color=#".$userbs[21].", strength=5)"; }
		if (($userbs[24] == on) && ($shopstatarray[24] == on)) { $poster_rank = $userbs[25]; }
		if (($userbs[18] == on) && ($shopstatarray[18] == on)) { $poster_rank = '<font color="'.$userbs[19].'">'.$poster_rank.'</font>'; }
		$titleeffects .= '">'.$poster_rank.'</span>';
		$poster_rank = $titleeffects;
	}
	if (($shopstatarray[6] == on) && ($userbs[2] != on) && ($poster_rank != "Site Admin")) { $poster_avatar = ""; }
	if (($shopstatarray[8] == on) && ($userbs[4] != on) && ($poster_rank != "Site Admin")) { $user_sig = ""; }
	if (($shopstatarray[10] == on) && ($userbs[6] != on) && ($poster_rank != "Site Admin")) { $poster_rank = "None"; $rank_image = ""; }

 ------[SAVE/CLOSE ALL FILES]------