Version 1.3.0

This commit is contained in:
Neo committed 2025-12-19 00:17:06 -08:00
1 parent 7ef3d1712a
commit f87d29ba65
290 files changed
+50206 -17930

No files matched your search

+100 -52
View File
@@ -2,15 +2,17 @@
/*
+--------------------------------------------------------------------------
| Invision Board v1.1
| Invision Power Board v1.3 Final
| ========================================
| by Matthew Mecham
| (c) 2001,2002 Invision Power Services
| http://www.ibforums.com
| (c) 2001 - 2003 Invision Power Services
| http://www.invisionpower.com
| ========================================
| Web: http://www.ibforums.com
| Email: phpboards@ibforums.com
| Licence Info: phpib-licence@ibforums.com
| Web: http://www.invisionboard.com
| Time: Sun, 04 Jan 2004 00:30:16 GMT
| Release: 28e7bfb25f08ac72a789cb1b172fa185
| Email: matt@invisionpower.com
| Licence Info: http://www.invisionboard.com/?license
+---------------------------------------------------------------------------
|
| > Admin Category functions
@@ -21,7 +23,11 @@
+--------------------------------------------------------------------------
*/
if ( ! defined( 'IN_ACP' ) )
{
print "<h1>Incorrect access</h1>You cannot access this file directly. If you have recently upgraded, make sure you upgraded 'admin.php'.";
exit();
}
$idx = new ad_mod();
@@ -31,7 +37,20 @@ class ad_mod {
var $base_url;
function ad_mod() {
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
//---------------------------------------
// Kill globals - globals bad, Homer good.
//---------------------------------------
$tmp_in = array_merge( $_GET, $_POST, $_COOKIE );
foreach ( $tmp_in as $k => $v )
{
unset($$k);
}
//---------------------------------------
switch($IN['code'])
{
@@ -75,19 +94,28 @@ class ad_mod {
function do_delete()
{
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
if ($IN['mid'] == "")
{
$ADMIN->error("You did not choose a valid moderator ID");
}
$DB->query("SELECT member_name FROM ibf_moderators WHERE mid='".$IN['mid']."'");
$DB->query("SELECT * FROM ibf_moderators WHERE mid='".$IN['mid']."'");
$mod = $DB->fetch_row();
if ( $mod['is_group'] )
{
$name = 'Group: '.$mod['group_name'];
}
else
{
$name = $mod['member_name'];
}
$DB->query("DELETE FROM ibf_moderators WHERE mid='".$IN['mid']."'");
$ADMIN->save_log("Removed Moderator '{$mod['member_name']}'");
$ADMIN->save_log("Removed Moderator '{$name}'");
$ADMIN->done_screen("Moderator Removed", "Moderator Control", "act=mod" );
@@ -102,7 +130,7 @@ class ad_mod {
function do_edit()
{
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
if ($IN['mid'] == "")
{
@@ -134,7 +162,8 @@ class ad_mod {
'topic_q' => $IN['topic_q'],
'allow_warn' => $IN['allow_warn'],
'split_merge' => $IN['split_merge'],
'edit_user' => $IN['edit_user']
'edit_user' => $IN['edit_user'],
'can_mm' => $IN['can_mm'],
);
@@ -157,7 +186,7 @@ class ad_mod {
function add_mod()
{
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
if ($IN['fid'] == "")
{
@@ -185,9 +214,21 @@ class ad_mod {
'topic_q' => $IN['topic_q'],
'allow_warn' => $IN['allow_warn'],
'split_merge' => $IN['split_merge'],
'edit_user' => $IN['edit_user']
'edit_user' => $IN['edit_user'],
'can_mm' => $IN['can_mm'],
);
$forum_ids = array();
$DB->query("SELECT id FROM ibf_forums WHERE id IN(".$IN['fid'].")");
while( $i = $DB->fetch_row() )
{
$forum_ids[ $i['id'] ] = $i['id'];
}
//---------------------------------------
if ($IN['mod_type'] == 'group')
{
@@ -203,6 +244,17 @@ class ad_mod {
$ADMIN->error("We could not match that group ID");
}
//---------------------------------------
// Already using this group on this forum?
//---------------------------------------
$DB->query("SELECT * FROM ibf_moderators WHERE forum_id IN(".$IN['fid'].") and group_id={$IN['gid']}");
while( $f = $DB->fetch_row() )
{
unset($forum_ids[ $f['forum_id'] ]);
}
$mr_hash['member_name'] = '-1';
$mr_hash['member_id'] = '-1';
$mr_hash['group_id'] = $group['g_id'];
@@ -227,6 +279,17 @@ class ad_mod {
$ADMIN->error("Could not match that member name so there.");
}
//---------------------------------------
// Already using this member on this forum?
//---------------------------------------
$DB->query("SELECT * FROM ibf_moderators WHERE forum_id IN(".$IN['fid'].") and member_id={$IN['mem']}");
while( $f = $DB->fetch_row() )
{
unset($forum_ids[ $f['forum_id'] ]);
}
$mr_hash['member_name'] = $mem['name'];
$mr_hash['member_id'] = $mem['id'];
$mr_hash['is_group'] = 0;
@@ -239,22 +302,11 @@ class ad_mod {
// Check for legal forums
//--------------------------------------
$forum_ids = array();
$DB->query("SELECT id FROM ibf_forums WHERE id IN(".$IN['fid'].")");
while( $i = $DB->fetch_row() )
{
$forum_ids[] = $i['id'];
}
if ( count($forum_ids) == 0)
{
$ADMIN->error("We could not match any forums with those IDS");
$ADMIN->error("You did not select any forums that do not have this group or member already moderating.");
}
//--------------------------------------
// Loopy loopy
//--------------------------------------
@@ -281,7 +333,7 @@ class ad_mod {
//+---------------------------------------------------------------------------------
function mod_form( $type='add' ) {
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$group = array();
@@ -509,7 +561,11 @@ class ad_mod {
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Can edit user avatars and signatures?</b>" ,
$SKIN->form_yes_no("edit_user", $mod['edit_user'] )
) );
) );
$ADMIN->html .= $SKIN->add_td_row( array( "<b>Can use topic multi-moderation?</b><br>".$SKIN->js_help_link('mod_mmod', 'Important Information' ) ,
$SKIN->form_yes_no("can_mm", $mod['can_mm'] )
) );
//+-------------------------------
@@ -530,7 +586,7 @@ class ad_mod {
//+---------------------------------------------------------------------------------
function add_one() {
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
//-----------------------------
// Grab and serialize the input
@@ -628,7 +684,7 @@ class ad_mod {
//+---------------------------------------------------------------------------------
function add_two() {
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
// Are we adding a group as a mod? If so, bounce straight to the mod perms form
@@ -703,7 +759,7 @@ class ad_mod {
//+---------------------------------------------------------------------------------
function show_list() {
global $IN, $root_path, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
global $IN, $INFO, $DB, $SKIN, $ADMIN, $std, $MEMBER, $GROUP;
$ADMIN->page_title = "Moderator Control Overview";
$ADMIN->page_detail = "This section allows you to edit, remove and add new moderators to your forums";
@@ -712,11 +768,9 @@ class ad_mod {
2 => array( 'act' , 'mod' ),
) );
$SKIN->td_header[] = array( "Add" , "5%" );
$SKIN->td_header[] = array( "Forum Name" , "30%" );
$SKIN->td_header[] = array( "Posts" , "10%" );
$SKIN->td_header[] = array( "Topics" , "10%" );
$SKIN->td_header[] = array( "Current Moderators" , "45%" );
$SKIN->td_header[] = array( "Add" , "5%" );
$SKIN->td_header[] = array( "Forum Name" , "40%" );
$SKIN->td_header[] = array( "Current Moderators" , "55%" );
$ADMIN->html .= $SKIN->start_table( "Your Categories and Forums" );
@@ -765,9 +819,7 @@ class ad_mod {
'&nbsp;',
"<a href='{$ADMIN->base_url}&act=cat&code=doeditform&c={$c['id']}'>".$c['name']."</a>",
'&nbsp;',
'&nbsp;',
'&nbsp;',
), 'catrow' );
), 'pformstrip' );
$last_cat_id = $c['id'];
@@ -811,26 +863,24 @@ class ad_mod {
$these_mods = "<center><i>Unmoderated</i></center>";
}
if ($r['subwrap'] == 1)
if ($r['subwrap'] == 1 and $r['sub_can_post'] != 1)
{
$ADMIN->html .= $SKIN->add_td_row( array(
'&nbsp;',
$c['name'],
" - <b>".$r['name']."</b>",
'&nbsp;',
'&nbsp;',
'&nbsp;',
), 'catrow2' );
), 'subforum' );
}
else
{
$css = $r['subwrap'] == 1 ? 'subforum' : '';
$ADMIN->html .= $SKIN->add_td_row( array(
"<center><input type='checkbox' name='add_{$r['id']}' value='1'></center>",
"<b>".$r['name']."</b><br>".$r['description'],
$r['posts'],
$r['topics'],
"<b>".$r['name']."</b>",
$these_mods
) );
) , $css );
}
if ( ( isset($children[ $r['id'] ]) ) and ( count ($children[ $r['id'] ]) > 0 ) )
@@ -874,9 +924,7 @@ class ad_mod {
$ADMIN->html .= $SKIN->add_td_row( array(
"<center><input type='checkbox' name='add_{$rd['id']}' value='1'></center>",
"<b>".$rd['name']."</b><br>".$rd['description'],
$rd['posts'],
$rd['topics'],
" +-- <b>".$rd['name']."</b>",
$these_mods
) ,'subforum' );
}