261 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			261 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /*
 | |
| =====================================================
 | |
|  DLE Forum - by DLE Files Group
 | |
| -----------------------------------------------------
 | |
|  http://dle-files.ru/
 | |
| -----------------------------------------------------
 | |
|  File: functions.php
 | |
| =====================================================
 | |
|  Copyright (c) 2008,2010 DLE Files Group
 | |
| =====================================================
 | |
| */
 | |
| 
 | |
| if(!defined('DLE_FORUM'))
 | |
| {
 | |
|   die("Hacking attempt!");
 | |
| }
 | |
| 
 | |
| // ********************************************************************************
 | |
| // ACCESS
 | |
| // ********************************************************************************
 | |
| function access_forum($user_group, $forum_id){
 | |
| 	global $access_forum, $db, $f_lg;
 | |
| 	
 | |
| 	$access_mod = array();
 | |
| 	
 | |
| 	$access_topic = array();
 | |
| 	
 | |
| 	$access_write = array();
 | |
| 	
 | |
| 	$access_read = array();
 | |
| 	
 | |
| 	$access_upload = array();
 | |
| 	
 | |
| 	$access_download = array();
 | |
| 	
 | |
| 	// JavaScript by ShVad //
 | |
| 	$access_forum = <<<HTML
 | |
| 	<script language='JavaScript' type="text/javascript">
 | |
| 
 | |
| function access_check( id, value )
 | |
| {
 | |
| 	if (value == 'y'){ value = 1; } else { value = 0; }
 | |
| 	
 | |
| 	document.getElementById( 'access_mod' + '[' + id + ']' ).checked = value;
 | |
| 	
 | |
| 	document.getElementById( 'access_topic' + '[' + id + ']' ).checked = value;
 | |
| 	
 | |
| 	document.getElementById( 'access_write' + '[' + id + ']' ).checked = value;
 | |
| 	
 | |
| 	document.getElementById( 'access_read' + '[' + id + ']' ).checked = value;
 | |
| 	
 | |
| 	document.getElementById( 'access_upload' + '[' + id + ']' ).checked = value;
 | |
| 	
 | |
| 	document.getElementById( 'access_download' + '[' + id + ']' ).checked = value;
 | |
| }
 | |
| 
 | |
| </script>
 | |
| HTML;
 | |
| 	
 | |
| 	if ($forum_id)
 | |
| 	{
 | |
| 		$access_result = $db->query("SELECT * FROM " . PREFIX . "_forum_forums WHERE id = '$forum_id'");
 | |
| 		
 | |
| 		while ($row = $db->get_row($access_result))
 | |
| 		{
 | |
| 			$access_mod = $row['access_mod'];
 | |
| 			
 | |
| 			$access_topic = $row['access_topic'];
 | |
| 			
 | |
| 			$access_write = $row['access_write'];
 | |
| 			
 | |
| 			$access_read = $row['access_read'];
 | |
| 			
 | |
| 			$access_upload = $row['access_upload'];
 | |
| 			
 | |
| 			$access_download = $row['access_download'];
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	$access_forum .= "<table width='100%'><tr>
 | |
|         <td class=\"option\" width='16%'><left><b>{$f_lg['access_forum_group']}</b></left></td>
 | |
|         <td class=\"option\" width='10%'><center><b>{$f_lg['access_forum_mod']}</b></center></td>
 | |
|         <td class=\"option\" width='14%'><center><b>{$f_lg['access_forum_topic']}</b></center></td>
 | |
|         <td class=\"option\" width='14%'><center><b>{$f_lg['access_forum_write']}</b></center></td>
 | |
|         <td class=\"option\" width='14%'><center><b>{$f_lg['access_forum_read']}</b></center></td>
 | |
|         <td class=\"option\" width='14%'><center><b>{$f_lg['access_forum_upload']}</b></center></td>
 | |
|         <td class=\"option\" width='16%'><center><b>{$f_lg['access_forum_download']}</b></center></td>
 | |
| 		</tr></table>
 | |
| 		<div class='hr_line'></div>";
 | |
| 		
 | |
| 	$access_forum .= "<table width='100%'>";
 | |
| 
 | |
|     foreach($user_group as $id => $group_name)
 | |
| 	{
 | |
| 		if ($forum_id)
 | |
| 		{
 | |
| 		$access_mod_array = explode(":",$access_mod);
 | |
| 		if (in_array($id, $access_mod_array)){$checked1 = "checked";}else{$checked1 = "";}
 | |
| 		
 | |
| 		$access_topic_array = explode(":",$access_topic);
 | |
| 		if (in_array($id, $access_topic_array)){$checked2 = "checked";}else{$checked2 = "";}
 | |
| 		
 | |
| 		$access_write_array = explode(":",$access_write);
 | |
| 		if (in_array($id, $access_write_array)){$checked3 = "checked";}else{$checked3 = "";}
 | |
| 		
 | |
| 		$access_read_array = explode(":",$access_read);
 | |
| 		if (in_array($id, $access_read_array)){$checked4 = "checked";}else{$checked4 = "";}
 | |
| 		
 | |
| 		$access_upload_array = explode(":",$access_upload);
 | |
| 		if (in_array($id, $access_upload_array)){$checked5 = "checked";}else{$checked5 = "";}
 | |
| 		
 | |
| 		$access_download_array = explode(":",$access_download);
 | |
| 		if (in_array($id, $access_download_array)){$checked6 = "checked";}else{$checked6 = "";}
 | |
| 		}
 | |
| 		
 | |
| 		$access_forum .= "<tr>
 | |
| 	    <td style=\"padding:4px\" class=\"option\" width='16%'>
 | |
| 		<left>{$group_name[group_name]} [<a href=\"javascript:access_check('$id', 'y')\">+</a> |
 | |
| 		                                                 <a href=\"javascript:access_check('$id', 'n')\">-</a>]</left>
 | |
| 	    </td>
 | |
|         <td style=\"padding:4px\" class=\"option\" width='10%'>
 | |
| 		<center><input type='checkbox' name='access_mod[$id]' id='access_mod[$id]' value='$id' $checked1></center></td>
 | |
|         <td style=\"padding:4px\" class=\"option\" width='14%'>
 | |
| 		<center><input type='checkbox' name='access_topic[$id]' id='access_topic[$id]' value='$id' $checked2></center></td>
 | |
|         <td style=\"padding:4px\" class=\"option\" width='14%'>
 | |
| 		<center><input type='checkbox' name='access_write[$id]' id='access_write[$id]' value='$id' $checked3></center></td>
 | |
|         <td style=\"padding:4px\" class=\"option\" width='14%'>
 | |
| 		<center><input type='checkbox' name='access_read[$id]' id='access_read[$id]' value='$id' $checked4></center></td>
 | |
|         <td style=\"padding:4px\" class=\"option\" width='14%'>
 | |
| 		<center><input type='checkbox' name='access_upload[$id]' id='access_upload[$id]' value='$id' $checked5></center></td>
 | |
|         <td style=\"padding:4px\" class=\"option\" width='16%'>
 | |
| 		<center><input type='checkbox' name='access_download[$id]' id='access_download[$id]' value='$id' $checked6></center></td>
 | |
| 		</tr>";
 | |
| 	}
 | |
|         
 | |
|     $access_forum .= "</table>";
 | |
|     
 | |
|     return($access_forum);
 | |
| }
 | |
| 
 | |
| // ********************************************************************************
 | |
| // Category list
 | |
| // ********************************************************************************
 | |
| function category_list($select_id){
 | |
| 	global $db, $category_list;
 | |
| 	
 | |
| 	$result = $db->query("SELECT * FROM " . PREFIX . "_forum_category");
 | |
| 	
 | |
| 	while ($row = $db->get_row($result)){
 | |
| 	 
 | |
| 	 if ($row['sid'] == $select_id){$sel = "selected";} 
 | |
| 	 
 | |
| 	 else {$sel = "";}
 | |
| 		
 | |
| 		$row['cat_name'] = stripcslashes($row['cat_name']);
 | |
| 		
 | |
| 		$category_list .= "<option $sel value=\"{$row['sid']}\">{$row['cat_name']}</option>";
 | |
| 	}
 | |
| 	
 | |
| 	return($category_list);
 | |
| }
 | |
| 
 | |
| // ********************************************************************************
 | |
| // Forum list
 | |
| // ********************************************************************************
 | |
| function forum_list($select_id){
 | |
| 	global $db, $forum_list;
 | |
| 	
 | |
| 	$forum_list .= "<option value=\"0\"></option>";
 | |
| 	
 | |
| 	$result = $db->query("SELECT * FROM " . PREFIX . "_forum_category LEFT JOIN ". PREFIX ."_forum_forums ON ". PREFIX ."_forum_category.sid=". PREFIX ."_forum_forums.main_id ORDER BY posi, position");
 | |
| 	
 | |
| 	for ($i = 0; $row = $db->get_row($result_content); $i = $row['sid']){
 | |
| 	 
 | |
| 	 if ($row['sid'] != $i)
 | |
| 	 {
 | |
| 	 	$row['cat_name'] = stripcslashes($row['cat_name']);
 | |
| 		
 | |
| 		$forum_list .= "<optgroup label=\"{$row['cat_name']}\">";
 | |
| 	 }
 | |
| 	 
 | |
| 	 if ($row['name'])
 | |
| 	 {
 | |
| 		if ($row['id'] == $select_id){$sel = "selected";}
 | |
| 		
 | |
| 		else {$sel = "";}
 | |
| 		
 | |
| 		$row['name'] = stripcslashes($row['name']);
 | |
| 		
 | |
| 		$forum_list .= "<option $sel value=\"{$row['id']}\"> - {$row['name']}</option>";
 | |
| 	}
 | |
| 
 | |
| 	}
 | |
| 	
 | |
| 	return($forum_list);
 | |
| }
 | |
| 
 | |
| // ********************************************************************************
 | |
| // Category and Forum POSITION
 | |
| // ********************************************************************************
 | |
| function category_posi($category_posi, $category_id, $result_posi){
 | |
| 	global $db;
 | |
| 	
 | |
| 	$cat_posi = array();
 | |
| 	
 | |
| 	$select_posi = "<select name=\"cat_posi[$category_id]\">";
 | |
| 	
 | |
| 	for($j=1; $j<=$result_posi; $j++)
 | |
| 	{
 | |
| 		if ($j == $category_posi)
 | |
| 		{
 | |
| 			$select_posi .= "<option value='$j' selected>$j</option>";
 | |
| 		}
 | |
| 		
 | |
| 		else
 | |
| 		{
 | |
| 			$select_posi .= "<option value='$j'>$j</option>";
 | |
| 		}
 | |
| 	}
 | |
| 	
 | |
| 	$select_posi .= "</select>";
 | |
| 	
 | |
| 	return ($select_posi);
 | |
| }
 | |
| 
 | |
| // ********************************************************************************
 | |
| // SELECT USER GROUP
 | |
| // ********************************************************************************
 | |
| function warn_group($warn_group = false){
 | |
| 	global $db;
 | |
| 	
 | |
| 	if ($warn_group)
 | |
| 	{
 | |
| 		$warn_list = explode (':', $warn_group);
 | |
| 	}
 | |
| 	
 | |
| 	$db->query("SELECT * FROM " . USERPREFIX . "_usergroups GROUP BY id");
 | |
| 	
 | |
| 	$group_list .= "<option value=\"\"></option>";
 | |
| 
 | |
| 	while($row = $db->get_row())
 | |
| 	{	
 | |
| 		if ($warn_group)
 | |
| 		{
 | |
| 			if (in_array($row['id'], $warn_list))
 | |
| 			{
 | |
| 				$selected = "selected";
 | |
| 			} else 
 | |
| 			{
 | |
| 				$selected = "";
 | |
| 			}
 | |
| 		}
 | |
| 		
 | |
| 		$group_list .= "<option value=\"{$row['id']}\" {$selected}>{$row['group_name']}</option>";
 | |
| 	}
 | |
| 	
 | |
| 	return ($group_list);
 | |
| }
 | |
| 
 | |
| ?>
 |