# ADDON BY WARCRY crying-wolves.net
# Contact ICQ: 248071529 EMAIL: warcry@gmx.ch

CHANGELOG:
 UPDATE v0.3 to v0.4
  FILES:
  -/scr/func/useraccess.php
  -/admin/admincenter.php
  -/admin/groups.php
  -/admin/group-users.php

CHANGELOG:
 UPDATE v0.4 to v0.5
  FILES:
  -forum.php
  -/scr/func/useraccess.php
  -/admin/groups.php
  -/admin/group-users.php
  -/admin/members.php

GERMAN:

!!!Wenn du nur von v0.3 BETA auf v0.4 BETA updatest berspringe STEP 2!!!
!!!Wenn du nur von v0.4 BETA auf v0.5 BETA updatest berspringe STEP 2!!!

STEP 1 

/upload/ in den webSPELL-Ordner hochladen

STEP 2

http://www.deinehomepage.de/webSPELL-Ordner/install-forumgroups.php ausfhren

ENGLISH:

!!!If you just update from v0.3 BETA to v0.4 BETA skip STEP 2!!!
!!!If you just update from v0.4 BETA to v0.5 BETA skip STEP 2!!!

STEP 1

/upload/ upload to webSPELL-Floder

STEP 2

http://www.yourhomepage.com/webSPELL-Floder/install-forumgroups.php execute

GERMAN/ENGLISH

STEP 3

------------------
------------------
OPEN /scr/func/useraccess.php
------------------
------------------

------------------
FIND
------------------

?>

------------------
ADD-BEFOR
------------------

function isinusergrp($usergrp, $userID, $sp=1) {
	$anz=mysql_num_rows(safe_query("SELECT userID FROM ".PREFIX."user_forum_groups WHERE (`".$usergrp."`='1') AND userID='$userID'"));
  	if($sp) if(!$anz) $anz=issuperadmin($userID);
	return $anz;
}
function isuser($userID) {
	$anz=mysql_num_rows(safe_query("SELECT userID FROM ".PREFIX."user WHERE userID='$userID'"));
	return $anz;
}

------------------
CLOSE AND SAVE /scr/func/useraccess.php
------------------

------------------
------------------
OPEN forum.php
------------------
------------------

------------------
FIND
------------------

		if($dk[intern]) {
			if(isinternboarduser($userID) OR !$hideinternboards) {
				eval ("\$forum_main_kath = \"".gettemplate("forum_main_kath")."\";");
				echo $forum_main_kath;
			}
		}

------------------
ADD-AFTER
------------------

		elseif($dk[usergrp]) {
			if(isinusergrp($dk[usergrp], $userID)) {
				eval ("\$forum_main_kath = \"".gettemplate("forum_main_kath")."\";");
				echo $forum_main_kath;
			}
		}

------------------
FIND
------------------

				elseif(!$hideinternboards) {
					if(!isinternboarduser($userID)) $icon='<img src="images/icons/boardicons/lock.gif">';
					eval ("\$forum_main_board = \"".gettemplate("forum_main_board")."\";");
					echo $forum_main_board;
				}	
			}

------------------
ADD-AFTER
------------------

			elseif($db[usergrp]) {
				if(isinusergrp($db[usergrp], $userID)) {
					eval ("\$forum_main_board = \"".gettemplate("forum_main_board")."\";");
					echo $forum_main_board;
				}
			
			}

------------------
FIND
------------------

			elseif(!$hideinternboards) {
				if(!isinternboarduser($userID)) $icon='<img src="images/icons/boardicons/lock.gif">';
				eval ("\$forum_main_board = \"".gettemplate("forum_main_board")."\";");
				echo $forum_main_board;
			}	
		}

------------------
ADD-AFTER
------------------

		elseif($db[usergrp]) {
			if(isinusergrp($db[usergrp], $userID)) {
				eval ("\$forum_main_board = \"".gettemplate("forum_main_board")."\";");
				echo $forum_main_board;
			}
			
		}

------------------
FIND
------------------

	if($db[intern]) {
	    $check=safe_query("SELECT userID FROM ".PREFIX."user_groups WHERE internboards='1' AND userID='$userID'");
		if(! mysql_NUM_ROWS($check)) die('You have no permission to view intern boards!<br><br>
		                                  <meta http-equiv="refresh" content="3;URL=index.php?site=forum">');
	}

------------------
ADD-AFTER
------------------

	if($db[usergrp]) { 
	    $check=safe_query("SELECT userID FROM ".PREFIX."user_forum_groups WHERE `".$db[usergrp]."`='1' AND userID='$userID'");
		if(!mysql_NUM_ROWS($check)) {
			if(!issuperadmin) die('You have no permission to view intern boards!<br><br>
			<meta http-equiv="refresh" content="3;URL=index.php?site=forum">');
		}
	} 

------------------
FIND
------------------

if($dk[intern]) {

------------------
REPLACE WITH 
------------------

if($dk[intern]==1) { 

REPEAT THIS 3x {
------------------
FIND
------------------

if($db[intern]) { 

------------------
REPLACE WITH 
------------------

if($db[intern]==1) { 

} AFTER 3x REPEAT STOP

------------------
CLOSE AND SAVE forum.php
------------------

------------------
------------------
OPEN forum_topic.php
------------------
------------------

------------------
FIND
------------------

	if($db[intern]) {
	    if(! isinternboarduser($userID)) die('You have no permission to view intern boards!<br><br>
		                                  <meta http-equiv="refresh" content="3;URL=index.php?site=forum">');
	}

------------------
ADD-AFTER
------------------

	if($db[usergrp]) {
	    if(! isinusergrp($db[usergrp], $userID)) die('You have no permission to view intern boards! 
														This is a bord of the '.$db[usergrp].'-Usergroup<br><br>
		                                  <meta http-equiv="refresh" content="3;URL=index.php?site=forum">');
	}

------------------
FIND
------------------

		if($db[intern]) {
		    if(! isinternboarduser($userID)) die('You have no permission to view intern boards!<br><br>
			                                      <meta http-equiv="refresh" content="3;URL=index.php?site=forum">');
		}	

------------------
ADD-AFTER
------------------

		if($db[usergrp]) {
	    	if(! isinusergrp($db[usergrp], $userID)) die('You have no permission to view intern boards! 
															This is a bord of the '.$db[usergrp].'-Usergroup<br><br>
		                                  	<meta http-equiv="refresh" content="3;URL=index.php?site=forum">');
		}

REPEAT THIS 2x {
------------------
FIND
------------------

if($db[intern]) { 

------------------
REPLACE WITH
------------------

if($db[intern]==1) { 

} AFTR REPEAT 2x STOP
------------------

------------------
CLOSE AND SAVE forum_topic.php
------------------

------------------
------------------
OPEN /admin/admincenter.php
------------------
------------------

------------------
FIND
------------------

&#8226; <a href="admincenter.php?site=ranks">User-Ranks</a>

------------------
ADD-AFTER
------------------

<br> &#8226; <a href="admincenter.php?site=groups">User-Groups</a>
<br> &#8226; <a href="admincenter.php?site=group-users">User of Groups</a>

------------------
CLOSE AND SAVE /admin/admincenter.php
------------------

------------------
------------------
OPEN /admin/boards.php
------------------
------------------

------------------
FIND
------------------

elseif($_POST['save']) {
	$kath = $_POST['kath'];
	$name = $_POST['name'];
	$boardinfo = $_POST['boardinfo'];
	$intern = $_POST['intern'];

------------------
ADD-AFTER
------------------

	$usergrp = $_POST['usergrp'];
	if(!$usergrp=="") $intern=2;
	elseif($usergrp=="nogrp") $intern=0;

------------------
FIND
------------------

	safe_query("INSERT INTO ".PREFIX."forum_boards ( category, name, info, intern, sort )
                 values( '$kath', '$name', '$boardinfo', '$intern', '1' )");

------------------
REPLACE WITH
------------------

	safe_query("INSERT INTO ".PREFIX."forum_boards ( category, name, info, intern, usergrp, sort )
                 values( '$kath', '$name', '$boardinfo', '$intern', '$usergrp', '1' )");

------------------
FIND
------------------

elseif($_POST['savecat']) {
	$catname = $_POST['catname'];
	$catinfo = $_POST['catinfo'];
	$intern = $_POST['intern'];

------------------
ADD-AFTER
------------------

	$usergrp = $_POST['usergrp'];
	if(!$usergrp=="") $intern=2;
	elseif($usergrp=="nogrp") $intern=0;

------------------
FIND
------------------

	safe_query("INSERT INTO ".PREFIX."forum_categories ( intern, name, info, sort )
	             values( '$intern', '$catname', '$catinfo', '1' )");

------------------
REPLACE WITH
------------------

	safe_query("INSERT INTO ".PREFIX."forum_categories ( intern, usergrp, name, info, sort )
	             values( '$intern', '$usergrp', '$catname', '$catinfo', '1' )");

------------------
FIND
------------------

elseif($_POST['saveedit']) {
	$kath = $_POST['kath'];
	$name = $_POST['name'];
	$boardinfo = $_POST['boardinfo'];
	$intern = $_POST['intern'];
	$boardID = $_POST['boardID'];

------------------
ADD-AFTER
------------------

	$usergrp = $_POST['usergrp'];
	if(!$usergrp=="") $intern=2;
	elseif($usergrp=="nogrp") { $intern=0; $usergrp=""; }

------------------
FIND
------------------

	safe_query("UPDATE ".PREFIX."forum_boards SET category='$kath',
	                                     name='$name',
								         info='$boardinfo',
								         intern='$intern' WHERE boardID='$boardID' ");

------------------
REPLACE WITH
------------------

	safe_query("UPDATE ".PREFIX."forum_boards SET category='$kath',
	                                name='$name',
									info='$boardinfo',
									intern='$intern',
									usergrp='$usergrp' WHERE boardID='$boardID' ");

------------------
FIND
------------------

elseif($_POST['saveeditcat']) {
	$catname = $_POST['catname'];
	$catinfo = $_POST['catinfo'];
	$intern = $_POST['intern'];
	$catID = $_POST['catID'];

------------------
ADD-AFTER
------------------

	$usergrp = $_POST['usergrp'];
	if(!$usergrp=="") $intern=2;
	elseif($usergrp=="nogrp") { $intern=0; $usergrp=""; }

------------------
FIND
------------------

	safe_query("UPDATE ".PREFIX."forum_categories SET intern='$intern', name='$catname', info='$catinfo' WHERE catID='$catID' ");

------------------
REPLACE WITH
------------------

	safe_query("UPDATE ".PREFIX."forum_categories SET intern='$intern', usergrp='$usergrp', name='$catname', info='$catinfo' WHERE catID='$catID' ");

------------------
FIND
------------------

    $ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_categories ORDER BY sort");
    $cats='<select name="kath">';
	while($ds=mysql_fetch_array($ergebnis)) {
	    $cats.='<option value="'.$ds[catID].'">'.$ds[name].'</option>';
	}
	$cats.='</select>';

------------------
ADD-AFTER
------------------

	$sql=safe_query("SELECT * FROM ".PREFIX."forum_groups");
	$groups='<select name="usergrp">';
	$groups.='<option value="nogrp">no user group</option>';
	while($db=mysql_fetch_array($sql)) {
	    $groups.='<option value="'.$db[name].'">'.$db[name].'</option>';
	}
	$groups.='</select>';

------------------
FIND
------------------

		 <tr>
		   <td>Boardtype:</td>
		   <td>
		     <input class="input" name="intern" type="radio" value="0" checked> public
		     <input class="input" name="intern" type="radio" value="1"> intern
		   </td>
		 </tr>

------------------
ADD-AFTER
------------------

		 <tr>
		   <td>Usergroup:</td>
		   <td>'.$groups.'</td>
		 </tr>

------------------
FIND
------------------

elseif($_GET['action']=="edit") { // Board bearbeiten

	$boardID = $_GET['boardID'];

    $ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_boards WHERE boardID='$boardID'");
	$ds=mysql_fetch_array($ergebnis);
	
	$category=safe_query("SELECT * FROM ".PREFIX."forum_categories ORDER BY sort");
    $cats='<select name="kath">';
	while($dc=mysql_fetch_array($category)) {
	    $cats.='<option value="'.$dc[catID].'">'.$dc[name].'</option>';
	}
	$cats.='</select>';

------------------
REPLACE WITH
------------------

elseif($_GET['action']=="edit") { // Board bearbeiten

	$boardID = $_GET['boardID'];

    $ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_boards WHERE boardID='$boardID'");
	$ds=mysql_fetch_array($ergebnis);
	
	$category=safe_query("SELECT * FROM ".PREFIX."forum_categories ORDER BY sort");
    $cats='<select name="kath">';
	while($dc=mysql_fetch_array($category)) {
		if($ds[category]==$dc[catID]) $selected=" selected"; 
		else $selected=""; 
	    $cats.='<option value="'.$dc[catID].'"'.$selected.'>'.$dc[name].'</option>'; 
	}
	$cats.='</select>';
    $sql=safe_query("SELECT * FROM ".PREFIX."forum_groups");
    $groups='<select name="usergrp">';
	$groups.='<option value="">no user group</option>'; 
	while($db=mysql_fetch_array($sql)) {
		if($ds[usergrp]==$db[name]) $selected=" selected";
		else $selected=""; 
	    $groups.='<option value="'.$db[name].'"'.$selected.'>'.$db[name].'</option>';
	}
	$groups.='</select>';

------------------
FIND
------------------

	if($ds[intern]) echo'<input class="input" name="intern" type="radio" value="0"> public
	                     <input class="input" name="intern" type="radio" value="1" checked> intern';
	           else echo'<input class="input" name="intern" type="radio" value="0" checked> public
	                     <input class="input" name="intern" type="radio" value="1"> intern';					 
	echo'  </td>
		 </tr>

------------------
REPLACE WITH
------------------

	if($ds[intern]==1) echo'<input class="input" name="intern" type="radio" value="0"> public
	                     <input class="input" name="intern" type="radio" value="1" checked> intern';
	elseif($ds[intern]==0) echo'<input class="input" name="intern" type="radio" value="0" checked> public
	                     <input class="input" name="intern" type="radio" value="1"> intern';
	else				 echo'<input class="input" name="intern" type="radio" value="0"> public
	                     <input class="input" name="intern" type="radio" value="1"> intern';
	echo'  </td>
		 </tr>
		 <tr>
		   <td>Usergroup:</td>
		   <td>'.$groups.'</td>
		 </tr>

------------------
FIND
------------------

elseif($_GET['action']=="addcat") { // Kategorie erstellen

------------------
ADD-AFTER
------------------

    $sql=safe_query("SELECT * FROM ".PREFIX."forum_groups");
    $groups='<select name="usergrp">';
	$groups.='<option value="nogrp">no user group</option>';
	while($db=mysql_fetch_array($sql)) {
	    $groups.='<option value="'.$db[name].'">'.$db[name].'</option>';
	}
	$groups.='</select>';

------------------
FIND
------------------

		 <tr>
		   <td>Category-Type:</td>
		   <td>
		     <input class="input" name="intern" type="radio" value="0" checked> public
		     <input class="input" name="intern" type="radio" value="1"> intern
		   </td>
		 </tr>

------------------
ADD-AFTER
------------------

		 <tr>
		   <td>Usergroup:</td>
		   <td>'.$groups.'</td>
		 </tr>

------------------
FIND
------------------

elseif($_GET['action']=="editcat") {  // Kategorie bearbeiten

	$catID = $_GET['catID'];

    $ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_categories WHERE catID='$catID'");
	$ds=mysql_fetch_array($ergebnis);

------------------
ADD-AFTER
------------------

    $sql=safe_query("SELECT * FROM ".PREFIX."forum_groups");
    $groups='<select name="usergrp">';
	$groups.='<option value="">no user group</option>';
	while($db=mysql_fetch_array($sql)) {
		if($ds[usergrp]==$db[name]) $selected=" selected";
		else $selected="";
	    $groups.='<option value="'.$db[name].'"'.$selected.'>'.$db[name].'</option>';
	}
	$groups.='</select>';

------------------
FIND
------------------

		 <tr>
		   <td>Category-Type:</td>
		   <td>';
	if($ds[intern]) echo'<input class="input" name="intern" type="radio" value="0"> public
	                     <input class="input" name="intern" type="radio" value="1" checked> intern';
	           else echo'<input class="input" name="intern" type="radio" value="0" checked> public
	                     <input class="input" name="intern" type="radio" value="1"> intern';					 
	echo'  </td>
		 </tr>

-------------------
REPLACE WITH
-------------------

		 <tr>
		   <td>Category-Type:</td>
		   <td>';
	if($ds[intern]==1) echo'<input class="input" name="intern" type="radio" value="0"> public
	                     <input class="input" name="intern" type="radio" value="1" checked> intern';
	elseif($ds[intern]==0) echo'<input class="input" name="intern" type="radio" value="0" checked> public
	                     <input class="input" name="intern" type="radio" value="1"> intern';
	else				 echo'<input class="input" name="intern" type="radio" value="0"> public
	                     <input class="input" name="intern" type="radio" value="1"> intern';				 
	echo'  </td>
		 </tr>
		 <tr>
		   <td>Usergroup:</td>
		   <td>'.$groups.'</td>
		 </tr>

-------------------
FIND
-------------------

	    $ds[intern] ? $type="<b>INTERN</b>" : $type="public";

-------------------
REPLACE WITH
-------------------

	    	if($ds[intern]==1) $type="<b>INTERN</b>";
		elseif($ds[intern]==2) $type="<b>USERGROUP</b>";
		else $type="public";

-------------------
FIND
-------------------

		while($db=mysql_fetch_array($boards)) {
			if($db[intern]) {
				$icon='<img src="../images/icons/boardicons/lock.gif">';
				$type='<b>INTERN</b>';
			}

-------------------
ADD-AFTER
-------------------

			elseif($db[intern]==2) {
				$icon='<img src="../images/icons/boardicons/lock.gif">';
				$type='<b>USERGROUP</b>';
			}

-------------------
FIND
-------------------

	$boards=safe_query("SELECT * FROM ".PREFIX."forum_boards WHERE category='0' ORDER BY sort");
	$anzboards=safe_query("SELECT count(boardID) FROM ".PREFIX."forum_boards WHERE category='0'");
	$anzboards=mysql_result($anzboards, 0);
	
	while($db=mysql_fetch_array($boards)) {
		if($db[intern]) {
			$icon='<img src="../images/icons/boardicons/lock.gif">';
			$type='<b>INTERN</b>';
		}

-------------------
ADD-AFTER
-------------------

		elseif($db[intern]==2) {
			$icon='<img src="../images/icons/boardicons/lock.gif">';
			$type='<b>usergroup</b>';
		}

-------------------
FIND
-------------------

	while($dc=mysql_fetch_array($category)) {
	    $cats.='<option value="'.$dc[catID].'">'.$dc[name].'</option>';
	}

-------------------
REPLACE WITH
-------------------

	while($dc=mysql_fetch_array($category)) {
		if($ds[category]==$dc[catID]) $selected=" selected"; 
		else $selected=""; 
	    $cats.='<option value="'.$dc[catID].'"'.$selected.'>'.$dc[name].'</option>'; 
	}

-------------------
CLOSE AND SAVE /admin/boards.php
-------------------

------------------
------------------
OPEN /admin/members.php
------------------
------------------

------------------
FIND
------------------

		safe_query("UPDATE ".PREFIX."user_groups SET news='$newsadmin', 
												  polls='$pollsadmin',
												  feedback='$feedbackadmin',
												  user='$useradmin', 
												  clanwars='$cwadmin',
												  forum='$boardadmin',
												  moderator='$moderator',
												  internboards='$intern',
												  page='$pageadmin',
												  gallery='$gallery',
												  files='$fileadmin', cash='$cashadmin' WHERE userID='$id'");

------------------
ADD-AFTER
------------------

		$sql=safe_query("SELECT * FROM ".PREFIX."forum_groups");
		while($dc=mysql_fetch_array($sql)) {
			$name=$dc[name];
			$fgrID=$dc[fgrID];
			$abc=safe_query("SELECT COUNT(*) as anz FROM ".PREFIX."user_forum_groups WHERE userID='".$id."'");
        	$row = mysql_fetch_array($abc);
			if($row['anz']==1) {
				safe_query("UPDATE ".PREFIX."user_forum_groups SET `".$name."`='".$_POST[$fgrID]."' WHERE userID='".$id."'");
			} 
			else {
				safe_query("INSERT INTO ".PREFIX."user_forum_groups ( usfgID , userID , `".$name."` ) VALUES ('', '".$id."', '".$_POST[$fgrID]."');");
			}
		}

------------------
FIND
------------------

	if(issuperadmin($id)) $super='<input type="checkbox" class="input" name="superadmin" value="1" checked>';
	else $super='<input type="checkbox" class="input" name="superadmin" value="1">';

------------------
ADD-AFTER
------------------

	$ergebnis=safe_query("SELECT * FROM ".PREFIX."forum_groups");
	while($ds=mysql_fetch_array($ergebnis)) {
		$name=$ds[name];
		$fgrID=$ds[fgrID];
		if(isinusergrp($name, $id, 0)) $usergrp[$fgrID]='<input type="checkbox" class="input" name="'.$fgrID.'" value="1" checked>';
		else $usergrp[$fgrID]='<input type="checkbox" class="input" name="'.$fgrID.'" value="1">';
	}

------------------
FIND
------------------

		   <tr><td>'.$file.' File-Admin</td><td>'.$useradmin.' User-Admin</td></tr>
		   <tr><td>'.$cash.' Cash-Admin</td><td>'.$gallery.' Gallery-Admin</td><td>&nbsp;</td></tr>';
	if(issuperadmin($userID)) echo '<tr><td>'.$super.' <b>Super-Admin</b></td><td>&nbsp;</td></tr>';

------------------
ADD-AFTER
------------------

	echo'<tr><td colspan="2"><table border="0" cellpadding="1" cellspacing="0" width="100%"><tr><td colspan="2" height="1" bgcolor="#CCCCCC"></td></tr></table></td></tr>';
	echo'<tr><td colspan="2">Forum Group Access:</td></tr>';
	$sql=safe_query("SELECT * FROM ".PREFIX."forum_groups");
	$anz=1;
	while($dc=mysql_fetch_array($sql)) {
		$name=$dc[name];
		$fgrID=$dc[fgrID];
		if($anz%2) echo'<tr><td>'.$usergrp[$fgrID].' '.$name.'</td>'; 
		else echo'<td>'.$usergrp[$fgrID].' '.$name.'</td><td>&nbsp;</td></tr>';
		$anz++;
	}

------------------
CLOSE AND SAVE /admin/members.php
------------------


LEGENDE:
OPEN = FFNEN
CLOSE AND SAVE = sCHLISSEN UND SPEICHERN
ADD-AFTER = DANACH EINFGEN
ADD-BEFOR = DAVOR EINFGEN
FIND = FINDEN
REPLACE WITH = ERSETZEN MIT
REPEAT THIS $Zahlx { } AFTR REPEAT $Zahlx STOP = dass zwischen den Klammern $Zahl mal wieder holen