Ответить в теме

В первом сообщении темы два понятия - приватная тема и приватное сообщение. Что приватное-то в итоге?


Для снятия группы есть старое дополнение вот такое:

[PHP]Мод позволяет установить дату автоматического удаления пользователя из группы (TorrentPier II r400)


Файлы к редактированию:


ajax/index_data.php

includes/functions_group.php

includes/cron/jobs/clean_dlstat.php

language/lang_russian/lang_main.php

templates/default/groupcp.tpl

groupcp.php


===============================================================================


# ----[ SQL ]---------------------------------


ALTER TABLE `bb_user_group` ADD `time_del` date NOT NULL DEFAULT '0000-00-00';


# ---- [ Открыть ] -------------------


groupcp.php


# ---- [ Найти ] -------------------


$page_cfg['use_tablesorter'] = true;

  

# ---- [ Вставить после ] -------------------

  

$time = bb_date(TIMENOW, 'Y-m-d', 'false');


# ---- [ Найти ] -------------------


, &$user_time


# ---- [ Вставить после ] -------------------


, &$time_del


# ---- [ Найти ] -------------------


$from   = ( !empty($row['user_from']) ) ? $row['user_from'] : '';


# ---- [ Вставить до ] -------------------


$time_del = (!empty($row['time_del'])) ? $row['time_del'] : $lang['NONE'];


# ---- [ Найти ] -------------------


add_user_into_group($group_id, $userdata['user_id'], 1, TIMENOW);


# ----[ Заменить ]------------------------------------------


add_user_into_group($group_id, $userdata['user_id'], 1, TIMENOW, @$_POST['time_del']);


# ---- [ Найти ] -------------------


            if (!$row = get_userdata(@$_POST['username'], true))

            {

                bb_die($lang['COULD_NOT_ADD_USER']);

            }


# ---- [ Вставить после ] -------------------


            if(@$_POST['time_del'] <= $time)

            {

                bb_die($lang['TIME_DEL_MIN']);

            }

          

# ---- [ Найти ] -------------------


add_user_into_group($group_id, $row['user_id']);


# ----[ Заменить ]------------------------------------------


add_user_into_group($group_id, $row['user_id'], '', TIMENOW, @$_POST['time_del']);


# ----[ Найти 2 раза ]------------------------------------------


, ug.user_time


# ---- [ Вставить после ] -------------------


, ug.time_del


# ---- [ Найти ] -------------------


generate_user_info($group_moderator, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time);


# ----[ Заменить ]------------------------------------------


generate_user_info($group_moderator, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $time_del);


# ----[ Найти 2 раза ]------------------------------------------


generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time);


# ----[ Заменить ]------------------------------------------


generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www, $user_time, $time_del);


# ---- [ Найти ] -------------------


'TIME' => $user_time,


# ---- [ Вставить после ] -------------------


'TIME_DEL' => $time_del,


# ---- [ Найти ] -------------------


print_page('groupcp.tpl');


# ---- [ Вставить до ] -------------------


$template->assign_vars(array(

    'TIME_DEL'  => $time,

));


# ---- [ Открыть ] -------------------


includes/functions_group.php


# ---- [ Найти ] -------------------


function add_user_into_group ($group_id, $user_id, $user_pending = 0, $user_time = TIMENOW)


# ----[ Заменить ]------------------------------------------


function add_user_into_group ($group_id, $user_id, $user_pending = 0, $user_time = TIMENOW, $time_del = '0000-00-00')


# ---- [ Найти ] -------------------


'user_time'    => (int) $user_time,


# ---- [ Вставить после ] -------------------


'time_del'     => (string) $time_del,


# ---- [ Открыть ] -------------------


templates/default/groupcp.tpl


# ---- [ Найти ] -------------------


<input type="text" name="username" maxlength="50" size="20" />


# ---- [ Вставить после ] -------------------


<input type="date" name="time_del" value="{TIME_DEL}" title="{L_TIME_AUTODEL}" />


# ----[ Найти (ВСЕ значения) ]------------------------------------------


colspan="10"


# ----[ Заменить ]------------------------------------------


colspan="<!-- IF IS_ADMIN -->11<!-- ELSE -->10<!-- ENDIF -->"


# ---- [ Найти ] -------------------


<td class="small">{member.TIME}</td>


# ---- [ Вставить после ] -------------------


    <!-- IF IS_ADMIN --><td><input type="date" onblur="ajax.exec({action: 'index_data', mode: 'time_del', user_id: '{member.USER_ID}', time_del: $('#cu-{member.USER_ID}').val() });" id="cu-{member.USER_ID}" value="{member.TIME_DEL}" /></td><!-- ENDIF -->


# ---- [ Найти ] -------------------


<td class="small">{MOD_TIME}</td>


# ---- [ Вставить после ] -------------------


<!-- IF IS_ADMIN --><td width="3%">&nbsp;</td><!-- ENDIF -->


# ---- [ Найти ] -------------------


<th class="{sorter: false}" ><b class="tbs-text">#</b></th>


# ---- [ Вставить до ] -------------------


<!-- IF IS_ADMIN --><th class="{sorter: false}" ><b class="tbs-text">{L_TIME_DELOUT}</b></th><!-- ENDIF -->


# ---- [ Открыть ] -------------------


ajax/index_data.php


# ---- [ Найти ] -------------------


    break;


# ---- [ Вставить после ] -------------------

  

    case 'time_del':

        if(!IS_ADMIN) $this->ajax_die($lang['NOT_ADMIN']);

      

        $time_del = (string) $this->request['time_del'];

        $user_id  = (int) $this->request['user_id'];

      

        $time = bb_date(TIMENOW, 'Y-m-d', 'false');

        if ($time_del == '' || $time_del < $time) $this->ajax_die($lang['TIME_DEL_MIN']);


        DB()->query("UPDATE ". BB_USER_GROUP ." SET time_del = '$time_del' WHERE user_id = ". $user_id);

    break;

  

# ---- [ Открыть ] -------------------

  

includes/cron/jobs/clean_dlstat.php


#

#-----[ Вставить (в конец) ]------------------------------------------

#


require(INC_DIR .'functions_group.php');

$time = bb_date(TIMENOW, 'Y-m-d', 'false');

$times_del = DB()->fetch_rowset("SELECT group_id, user_id FROM ". BB_USER_GROUP ." WHERE time_del <= '$time' AND time_del != '0000-00-00'");


foreach($times_del as $row)

{

    delete_user_group ($row['group_id'], $row['user_id']);

}


# ---- [ Открыть ] -------------------


language/lang_russian/lang_main.php


#

#-----[ Вставить ]------------------------------------------

#


// Удаление из группы по истечении срока

$lang['TIME_AUTODEL'] = 'Дата автоудаления пользователя из группы';

$lang['TIME_DEL_MIN'] = 'Дата выбытия должна отличаться от сегодняшней';

$lang['TIME_DELOUT'] = 'Выбытие';



# ----[ Сохранить / Закрыть ]--------------------------                    [/PHP]


Сверху