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);
|
|
}
|
|
|
|
?>
|