Files
IPB/upload/sources/action_admin/moderator.php
T
2025-12-19 00:21:15 -08:00

766 lines
27 KiB
PHP

<?php
/*
+--------------------------------------------------------------------------
| Invision Power Board 2.1.7
| =============================================
| by Matthew Mecham
| (c) 2001 - 2005 Invision Power Services, Inc.
| http://www.invisionpower.com
| =============================================
| Web: http://www.invisionboard.com
| http://www.ibresource.ru/products/invisionpowerboard/
| Time: Tuesday 18th of July 2006 05:56:00 PM
| Release: 52f408a29988b02f45b5e6f4ba5af0ae
| Licence Info: http://www.invisionboard.com/?license
| http://www.ibresource.ru/license
+---------------------------------------------------------------------------
| INVISION POWER BOARD IS NOT FREE / OPEN SOURCE!
+---------------------------------------------------------------------------
| INVISION POWER BOARD ÍÅ ßÂËßÅÒÑß ÁÅÑÏËÀÒÍÛÌ ÏÐÎÃÐÀÌÌÍÛÌ ÎÁÅÑÏÅ×ÅÍÈÅÌ!
| Ïðàâà íà ÏÎ ïðèíàäëåæàò Invision Power Services
| Ïðàâà íà ïåðåâîä IBResource (http://www.ibresource.ru)
+---------------------------------------------------------------------------
| > $Date: 2005-12-08 16:32:40 +0000 (Thu, 08 Dec 2005) $
| > $Revision: 96 $
| > $Author: bfarber $
+---------------------------------------------------------------------------
|
| > Admin Category functions
| > Module written by Matt Mecham
| > Date started: 1st march 2002
|
| > Module Version Number: 1.0.0
| > DBA Checked: Tue 25th May 2004
+--------------------------------------------------------------------------
*/
if ( ! defined( 'IN_ACP' ) )
{
print "<h1>Íåâåðíûé âõîä</h1> Ó Âàñ íåò äîñòóïà ê äèðåêòèâå ýòîãî ôàéëà. Åñëè Âû ïðîâîäèëè îáíîâëåíèÿ, óáåäèòåñü, ÷òî íå çàáûëè îáíîâèòü 'admin.php'.";
exit();
}
class ad_moderator {
var $base_url;
/**
* Section title name
*
* @var string
*/
var $perm_main = "content";
/**
* Section title name
*
* @var string
*/
var $perm_child = "mod";
function auto_run()
{
$this->ipsclass->forums->forums_init();
require ROOT_PATH.'sources/lib/admin_forum_functions.php';
$this->forumfunc = new admin_forum_functions();
$this->forumfunc->ipsclass =& $this->ipsclass;
//-----------------------------------------
// Kill globals - globals bad, Homer good.
//-----------------------------------------
$tmp_in = array_merge( $_GET, $_POST, $_COOKIE );
foreach ( $tmp_in as $k => $v )
{
unset($$k);
}
//-----------------------------------------
switch($this->ipsclass->input['code'])
{
case 'add':
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':add' );
$this->moderator_add_preform();
break;
case 'add_final':
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':add' );
$this->mod_form('add');
break;
case 'doadd':
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':add' );
$this->add_mod();
break;
case 'edit':
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':edit' );
$this->mod_form('edit');
break;
case 'doedit':
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':edit' );
$this->do_edit();
break;
case 'remove':
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':remove' );
$this->do_delete();
break;
default:
$this->ipsclass->admin->cp_permission_check( $this->perm_main.'|'.$this->perm_child.':' );
$this->show_list();
break;
}
}
//-----------------------------------------
//
// DELETE MODERATOR
//
//-----------------------------------------
function do_delete()
{
if ($this->ipsclass->input['mid'] == "")
{
$this->ipsclass->admin->error("Âû äîëæíû ââåñòè ID ìîäåðàòîðà");
}
$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'moderators', 'where' => "mid=".intval($this->ipsclass->input['mid']) ) );
$this->ipsclass->DB->simple_exec();
$mod = $this->ipsclass->DB->fetch_row();
if ( $mod['is_group'] )
{
$name = 'Group: '.$mod['group_name'];
}
else
{
$name = $mod['member_name'];
}
$this->ipsclass->DB->simple_exec_query( array( 'delete' => 'moderators', 'where' => "mid=".intval($this->ipsclass->input['mid']) ) );
$this->rebuild_moderator_cache();
$this->ipsclass->admin->save_log("Óäàëåí ìîäåðàòîð '{$name}'");
$this->ipsclass->main_msg = "Ìîäåðàòîð óäàëåí";
$this->ipsclass->admin->redirect_noscreen( $this->ipsclass->base_url.'&section=content&act=forum' );
}
//-----------------------------------------
//
// EDIT MODERATOR
//
//-----------------------------------------
function do_edit()
{
if ($this->ipsclass->input['mid'] == "")
{
$this->ipsclass->admin->error("Âû äîëæíû ââåñòè ID ìîäåðàòîðà");
}
$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'moderators', 'where' => "mid=".intval($this->ipsclass->input['mid']) ) );
$this->ipsclass->DB->simple_exec();
$mod = $this->ipsclass->DB->fetch_row();
//-----------------------------------------
// Build Mr Hash
//-----------------------------------------
$this->ipsclass->DB->do_update( 'moderators', array(
'forum_id' => $this->ipsclass->input['forum_id'],
'edit_post' => $this->ipsclass->input['edit_post'],
'edit_topic' => $this->ipsclass->input['edit_topic'],
'delete_post' => $this->ipsclass->input['delete_post'],
'delete_topic' => $this->ipsclass->input['delete_topic'],
'view_ip' => $this->ipsclass->input['view_ip'],
'open_topic' => $this->ipsclass->input['open_topic'],
'close_topic' => $this->ipsclass->input['close_topic'],
'mass_move' => $this->ipsclass->input['mass_move'],
'mass_prune' => $this->ipsclass->input['mass_prune'],
'move_topic' => $this->ipsclass->input['move_topic'],
'pin_topic' => $this->ipsclass->input['pin_topic'],
'unpin_topic' => $this->ipsclass->input['unpin_topic'],
'post_q' => $this->ipsclass->input['post_q'],
'topic_q' => $this->ipsclass->input['topic_q'],
'allow_warn' => $this->ipsclass->input['allow_warn'],
'split_merge' => $this->ipsclass->input['split_merge'],
'edit_user' => $this->ipsclass->input['edit_user'],
'can_mm' => $this->ipsclass->input['can_mm'],
) , 'mid='.intval($this->ipsclass->input['mid']) );
$this->rebuild_moderator_cache();
$this->ipsclass->admin->save_log("Èçìåíåí ìîäåðàòîð '{$mod['member_name']}'");
$this->ipsclass->main_msg = "Ìîäåðàòîð èçìåíåí";
$this->ipsclass->admin->redirect_noscreen( $this->ipsclass->base_url.'&section=content&act=forum' );
}
//-----------------------------------------
//
// ADD MODERATOR
//
//-----------------------------------------
function add_mod()
{
if ($this->ipsclass->input['fid'] == "")
{
$this->ipsclass->admin->error("Âû äîëæíû ââåñòè ID ôîðóìà äëÿ äîáàâëåíèÿ ìîäåðàòîðà.");
}
//-----------------------------------------
// Build Mr Hash
//-----------------------------------------
$mr_hash = array(
'edit_post' => $this->ipsclass->input['edit_post'],
'edit_topic' => $this->ipsclass->input['edit_topic'],
'delete_post' => $this->ipsclass->input['delete_post'],
'delete_topic' => $this->ipsclass->input['delete_topic'],
'view_ip' => $this->ipsclass->input['view_ip'],
'open_topic' => $this->ipsclass->input['open_topic'],
'close_topic' => $this->ipsclass->input['close_topic'],
'mass_move' => $this->ipsclass->input['mass_move'],
'mass_prune' => $this->ipsclass->input['mass_prune'],
'move_topic' => $this->ipsclass->input['move_topic'],
'pin_topic' => $this->ipsclass->input['pin_topic'],
'unpin_topic' => $this->ipsclass->input['unpin_topic'],
'post_q' => $this->ipsclass->input['post_q'],
'topic_q' => $this->ipsclass->input['topic_q'],
'allow_warn' => $this->ipsclass->input['allow_warn'],
'split_merge' => $this->ipsclass->input['split_merge'],
'edit_user' => $this->ipsclass->input['edit_user'],
'can_mm' => $this->ipsclass->input['can_mm'],
);
$forum_ids = array();
$this->ipsclass->DB->simple_construct( array( 'select' => 'id', 'from' => 'forums', 'where' => "id IN(".$this->ipsclass->input['fid'].")" ) );
$this->ipsclass->DB->simple_exec();
while( $i = $this->ipsclass->DB->fetch_row() )
{
$forum_ids[ $i['id'] ] = $i['id'];
}
//-----------------------------------------
if ($this->ipsclass->input['mod_type'] == 'group')
{
if ($this->ipsclass->input['gid'] == "")
{
$this->ipsclass->admin->error("Íåâîçìîæíî íàéòè ãðóïïó ñ òàêèì ID");
}
$this->ipsclass->DB->simple_construct( array( 'select' => 'g_id, g_title', 'from' => 'groups', 'where' => "g_id='".$this->ipsclass->input['gid']."'" ) );
$this->ipsclass->DB->simple_exec();
if ( ! $group = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->admin->error("Íåâîçìîæíî íàéòè ãðóïïó ñ òàêèì ID");
}
//-----------------------------------------
// Already using this group on this forum?
//-----------------------------------------
$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'moderators', 'where' => "forum_id IN(".$this->ipsclass->input['fid'].") and group_id={$this->ipsclass->input['gid']}" ) );
$this->ipsclass->DB->simple_exec();
while( $f = $this->ipsclass->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'];
$mr_hash['group_name'] = $group['g_title'];
$mr_hash['is_group'] = 1;
$ad_log = "Äîáàâëåíà ãðóïïà ìîäåðàòîðîâ '{$group['g_title']}'";
}
else
{
if ($this->ipsclass->input['mem'] == "")
{
$this->ipsclass->admin->error("Âû íå âûáðàëè ïîëüçîâàòåëÿ êîòîðîìó õîòèòå äàòü ìîäåðàòîðñêèå ïðàâà");
}
$this->ipsclass->DB->simple_construct( array( 'select' => 'id, name', 'from' => 'members', 'where' => "id=".intval($this->ipsclass->input['mem']) ) );
$this->ipsclass->DB->simple_exec();
if ( ! $mem = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->admin->error("Âû íå âûáðàëè ïîëüçîâàòåëÿ êîòîðîìó õîòèòå äàòü ìîäåðàòîðñêèå ïðàâà.");
}
//-----------------------------------------
// Already using this member on this forum?
//-----------------------------------------
$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'moderators', 'where' => "forum_id IN(".$this->ipsclass->input['fid'].") and member_id={$this->ipsclass->input['mem']}" ) );
$this->ipsclass->DB->simple_exec();
while( $f = $this->ipsclass->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;
$ad_log = "Äîáàâëåí ìîäåðàòîð '{$mem['name']}'";
}
//-----------------------------------------
// Check for legal forums
//-----------------------------------------
if ( count($forum_ids) == 0)
{
$this->ipsclass->admin->error("Âû íå âûáðàëè íè îäíîãî ôîðóìà äëÿ êîòîðûõ õîòèòå äîáàâèòü ìîäåðàòîðîâ.");
}
//-----------------------------------------
// Loopy loopy
//-----------------------------------------
foreach ($forum_ids as $cartman)
{
$mr_hash['forum_id'] = $cartman;
$this->ipsclass->DB->force_data_type = array( 'member_name' => 'string' );
$this->ipsclass->DB->do_insert( 'moderators', $mr_hash );
}
$this->ipsclass->admin->save_log($ad_log);
$this->rebuild_moderator_cache();
$this->ipsclass->main_msg = "Ìîäåðàòîðû äîáàâëåíû";
$this->ipsclass->admin->redirect_noscreen( $this->ipsclass->base_url.'&section=content&act=forum' );
}
//-----------------------------------------
//
// Rebuild moderator cache
//
//-----------------------------------------
function rebuild_moderator_cache()
{
$this->ipsclass->cache['moderators'] = array();
//-----------------------------------------
// Get dem moderators
//-----------------------------------------
$this->ipsclass->DB->build_query( array( 'select' => 'moderator.*',
'from' => array( 'moderators' => 'moderator' ),
'add_join' => array( 0 => array( 'select' => 'm.members_display_name',
'from' => array( 'members' => 'm' ),
'where' => "m.id=moderator.member_id",
'type' => 'left' ) ) ) );
$this->ipsclass->DB->exec_query();
while ( $i = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->cache['moderators'][ $i['mid'] ] = $i;
}
$this->ipsclass->update_cache( array( 'name' => 'moderators', 'array' => 1, 'deletefirst' => 1 ) );
}
//-----------------------------------------
//
// ADD FINAL, display the add / edit form
//
//-----------------------------------------
function mod_form( $type='add' )
{
//-----------------------------------------
// INIT
//-----------------------------------------
$group = array();
if ($type == 'add')
{
if ( $this->ipsclass->input['fid'] == "" )
{
$this->ipsclass->admin->error("Âû äîëæíû ââåñòè ID ôîðóìà äëÿ äîáàâëåíèÿ ìîäåðàòîðà");
}
$mod = array();
$names = array();
//-----------------------------------------
// Get forums
//-----------------------------------------
$this->ipsclass->DB->simple_construct( array( 'select' => 'name', 'from' => 'forums', 'where' => "id IN(".$this->ipsclass->input['fid'].")" ) );
$this->ipsclass->DB->simple_exec();
while ( $r = $this->ipsclass->DB->fetch_row() )
{
$names[] = $r['name'];
}
$thenames = implode( ", ", $names );
//-----------------------------------------
// Start proper
//-----------------------------------------
$button = "Äîáàâèòü ýòîãî ìîäåðàòîðà";
$form_code = 'doadd';
if ( $this->ipsclass->input['group'] )
{
$this->ipsclass->DB->simple_construct( array( 'select' => 'g_id, g_title', 'from' => 'groups', 'where' => "g_id='".$this->ipsclass->input['group']."'" ) );
$this->ipsclass->DB->simple_exec();
if (! $group = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->admin->error("Íåâîçìîæíî íàéòè âûáðàííóþ ãðóïïó ïîëüçîâàòåëåé");
}
$this->ipsclass->admin->page_detail = "Äîáàâëåíèå ãðóïïû:<b> {$group['g_title']}</b> â êà÷åñòâå ìîäåðàòîðà äëÿ: $thenames";
$this->ipsclass->admin->page_title = "Äîáàâëåíèå ãðóïïû ìîäåðàòîðîâ";
}
else
{
if ( ! $this->ipsclass->input['member_id'] )
{
$this->ipsclass->admin->error("Âû äîëæíû óêàçàòü ID ïîëüçîâàòåëÿ");
}
else
{
$this->ipsclass->DB->simple_construct( array( 'select' => 'name, id', 'from' => 'members', 'where' => "id=".intval($this->ipsclass->input['member_id']) ) );
$this->ipsclass->DB->simple_exec();
if ( ! $mem = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->admin->error("îëüçîâàòåëü ñ òàêèì ID íå ñóùåñòâóåò");
}
$member_id = $mem['id'];
$member_name = $mem['name'];
}
$this->ipsclass->admin->page_detail = "Äîáàâëåíèå ïîëüçîâàòåëÿ$member_name â êà÷åñòâå ìîäåðàòîðà äëÿ: $thenames";
$this->ipsclass->admin->page_title = "Äîáàâëåíèå ìîäåðàòîðà";
}
}
else
{
if ($this->ipsclass->input['mid'] == "")
{
$this->ipsclass->admin->error("Âû äîëæíû óêàçàòü ID ñóùåñòâóþùåãî ìîäåðàòîðà.");
}
$button = "Èçìåíèòü ýòîãî ìîäåðàòîðà";
$form_code = "doedit";
$this->ipsclass->admin->page_title = "Èçìåíèå ìîäåðàòîðñêèõ ïðàâ";
$this->ipsclass->admin->page_detail = "Ïîæàëóéñòà, ïåðåä òåì, êàê ïîäòâåðäèòü ôîðìó, ïðîâåðüòå âñå ïîëÿ î÷åíü âíèìàòåëüíî";
$this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'moderators', 'where' => "mid=".intval($this->ipsclass->input['mid']) ) );
$this->ipsclass->DB->simple_exec();
if ( ! $mod = $this->ipsclass->DB->fetch_row() )
{
$this->ipsclass->admin->error("Íåâîçìîæíî íàéòè çàïèñü ñ ýòèì ìîäåðàòîðîì");
}
$member_id = $mod['member_id'];
$member_name = $mod['member_name'];
}
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->start_form( array( 1 => array( 'code' , $form_code ),
2 => array( 'act' , 'mod' ),
3 => array( 'mid' , $mod['mid']),
4 => array( 'fid' , $this->ipsclass->input['fid'] ),
5 => array( 'mem' , $member_id ),
6 => array( 'mod_type' , $this->ipsclass->input['group'] ? 'group' : 'name' ),
7 => array( 'gid' , $group['g_id'] ),
8 => array( 'gname' , $group['g_name'] ),
9 => array( 'section' , $this->ipsclass->section_code ),
) );
//-----------------------------------------
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "40%" );
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "60%" );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->start_table( "Îñíîâíûå íàñòðîéêè" );
//-----------------------------------------
if ($type == 'edit')
{
$forums = array();
$this->ipsclass->DB->simple_construct( array( 'select' => 'id, name', 'from' => 'forums', 'order' => "position" ) );
$this->ipsclass->DB->simple_exec();
while ( $r = $this->ipsclass->DB->fetch_row() )
{
$forums[] = array( $r['id'], $r['name'] );
}
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Êàêîé ôîðóì ìîäåðèðóåò?</b>" ,
$this->ipsclass->adskin->form_dropdown( "forum_id", $forums, $mod['forum_id'] )
) );
}
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò èçìåíÿòü ÷óæèå òåìû/ãîëîñîâàíèÿ?</b>" ,
$this->ipsclass->adskin->form_yes_no("edit_post", $mod['edit_post'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò èçìåíÿòü íàçâàíèå ÷óæèõ òåì?</b>" ,
$this->ipsclass->adskin->form_yes_no("edit_topic", $mod['edit_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò óäàëÿòü ÷óæèå ñîîáùåíèÿ?</b>" ,
$this->ipsclass->adskin->form_yes_no("delete_post", $mod['delete_post'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò óäàëÿòü ÷óæèå òåìû/ãîëîñîâàíèÿ?</b>" ,
$this->ipsclass->adskin->form_yes_no("delete_topic", $mod['delete_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò âèäåòü IP-àäðåñà ïîëüçîâàòåëåé?</b>" ,
$this->ipsclass->adskin->form_yes_no("view_ip", $mod['view_ip'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò îòêðûâàòü òåìû?</b>" ,
$this->ipsclass->adskin->form_yes_no("open_topic", $mod['open_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò çàêðûâàòü òåìû?</b>" ,
$this->ipsclass->adskin->form_yes_no("close_topic", $mod['close_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò ïåðåìåùàòü òåìû?</b>" ,
$this->ipsclass->adskin->form_yes_no("move_topic", $mod['move_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò çàêðåïëÿòü òåìû?</b>" ,
$this->ipsclass->adskin->form_yes_no("pin_topic", $mod['pin_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò îïóñêàòü òåìû?</b>" ,
$this->ipsclass->adskin->form_yes_no("unpin_topic", $mod['unpin_topic'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò ñîåäèíÿòü/ðàçúåäèíÿòü òåìû?</b>" ,
$this->ipsclass->adskin->form_yes_no("split_merge", $mod['split_merge'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->end_table();
//-----------------------------------------
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "40%" );
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "60%" );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->start_table( "Íàñòðîéêè ìîäåðàòîðñêîé ïàíåëè óïðàâëåíèÿ" );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò ïåðåìåùàòü ìíîæåñòâî òåì?</b>" ,
$this->ipsclass->adskin->form_yes_no("mass_move", $mod['mass_move'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò óäàëÿòü ìíîæåñòâî òåì?</b>" ,
$this->ipsclass->adskin->form_yes_no("mass_prune", $mod['mass_prune'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò ïåðåêëþ÷àòü 'âèäèìîñòü' òåì?</b>" ,
$this->ipsclass->adskin->form_yes_no("topic_q", $mod['topic_q'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò ïåðåêëþ÷àòü 'âèäèìîñòü' ñîîáùåíèé?</b>" ,
$this->ipsclass->adskin->form_yes_no("post_q", $mod['post_q'] )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->end_table();
//-----------------------------------------
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "40%" );
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "60%" );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->start_table( "Äîïîëíèòåëüíûå íàñòðîéêè" );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò ìåíÿòü óðîâåíü ïðåäóïðæäåíèé ïîëüçîâàòåëåé?</b>" ,
$this->ipsclass->adskin->form_yes_no("allow_warn", $mod['allow_warn'] )
) );
//$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Can edit user avatars and signatures?</b>" ,
// $this->ipsclass->adskin->form_yes_no("edit_user", $mod['edit_user'] )
// ) );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ìîæåò èñïîëüçîâàòü ìóëüòè-ìîäåðàöèþ?</b><br>".$this->ipsclass->adskin->js_help_link('mod_mmod', 'Âàæíàÿ èíôîðìàöèÿ' ) ,
$this->ipsclass->adskin->form_yes_no("can_mm", $mod['can_mm'] )
) );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->end_form($button);
$this->ipsclass->html .= $this->ipsclass->adskin->end_table();
$this->ipsclass->admin->output();
}
/*-------------------------------------------------------------------------*/
// REFINE MEMBER SEARCH
/*-------------------------------------------------------------------------*/
function moderator_add_preform()
{
//-----------------------------------------
// INIT
//-----------------------------------------
$type = $this->ipsclass->input['name'] ? 'name' : 'group';
$this->ipsclass->input['fid'] = preg_replace( "#^,#", "", $this->ipsclass->input['modforumids'] );
//-----------------------------------------
// Are we adding a group as a mod?
//-----------------------------------------
if ( $type == 'group' )
{
$this->mod_form();
exit();
}
//-----------------------------------------
// Got forums?
//-----------------------------------------
if ( ! $this->ipsclass->input['fid'] )
{
$this->ipsclass->main_msg = "Âû äîëæíû âûáðàòü ôîðóì (íåñêîëüêî ôîðóìîâ) äëÿ äîáàâëåíèÿ ìîäåðàòîðà!";
$this->ipsclass->admin->redirect_noscreen( $this->ipsclass->base_url.'&section=content&act=forum' );
}
//-----------------------------------------
// Else continue as normal.
//-----------------------------------------
if ( $this->ipsclass->input['name'] == "" )
{
$this->ipsclass->main_msg = "Âû äîëæíû ââåñòè èìÿ";
$this->ipsclass->admin->redirect_noscreen( $this->ipsclass->base_url.'&section=content&act=forum' );
}
$this->ipsclass->DB->simple_construct( array( 'select' => 'id, members_display_name as name', 'from' => 'members', 'where' => "name LIKE '".$this->ipsclass->input['name']."%' OR members_display_name LIKE '".$this->ipsclass->input['name']."%'" ) );
$this->ipsclass->DB->simple_exec();
if (! $this->ipsclass->DB->get_num_rows() )
{
$this->ipsclass->main_msg = "Íåò ïîëüçîâàòåëåé ïîäõîäÿùèõ âàøåìó çàïðîñó.";
$this->ipsclass->admin->redirect_noscreen( $this->ipsclass->base_url.'&section=content&act=forum' );
}
//-----------------------------------------
// Show possible matches
//-----------------------------------------
$form_array = array();
while ( $r = $this->ipsclass->DB->fetch_row() )
{
$form_array[] = array( $r['id'] , $r['name'] );
}
$this->ipsclass->admin->page_title = "Äîáàâëåíèå ìîäåðàòîðà";
$this->ipsclass->admin->page_detail = "Ïîæàëóéñòà, íàéäèòå ïîëüçîâàòåëÿ (èëè ãðóïïó ïîëüçîâàòåëåé) äëÿ ìîäåðèðîâàíèÿ âûáðàííûõ ôîðóìîâ.";
//-----------------------------------------
// Show form
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->start_form( array( 1 => array( 'code' , 'add_final' ),
2 => array( 'act' , 'mod' ),
3 => array( 'fid' , $this->ipsclass->input['fid']),
4 => array( 'section', $this->ipsclass->section_code ),
) );
//-----------------------------------------
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "40%" );
$this->ipsclass->adskin->td_header[] = array( "&nbsp;" , "60%" );
//-----------------------------------------
$this->ipsclass->html .= $this->ipsclass->adskin->start_table( "Ïîèñê ïîëüçîâàòåëÿ" );
$this->ipsclass->html .= $this->ipsclass->adskin->add_td_row( array( "<b>Ââåäèòå íà÷àëî èìåíè èëè âñå èìÿ ïîëüçîâàòåëÿ:</b>" ,
$this->ipsclass->adskin->form_dropdown( "member_id", $form_array )
) );
$this->ipsclass->html .= $this->ipsclass->adskin->end_form("Íàéòè ïîëüçîâàòåëÿ");
$this->ipsclass->html .= $this->ipsclass->adskin->end_table();
$this->ipsclass->admin->output();
}
}
?>