mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-03 14:10:57 +08:00
seedBox record alert + destroy disabled account
This commit is contained in:
@@ -154,7 +154,7 @@ class SeedBoxRepository extends BaseRepository
|
||||
|
||||
private function clearCache()
|
||||
{
|
||||
return true;
|
||||
NexusDB::cache_del('SEED_BOX_RECORD_APPROVAL_NONE');
|
||||
// SeedBoxRecordUpdated::dispatch();
|
||||
}
|
||||
|
||||
|
||||
@@ -204,7 +204,7 @@ function ban_user_with_leech_warning_expired()
|
||||
}
|
||||
|
||||
|
||||
function delete_user(\Illuminate\Database\Eloquent\Builder $query, $reasonKey)
|
||||
function disable_user(\Illuminate\Database\Eloquent\Builder $query, $reasonKey)
|
||||
{
|
||||
$results = $query->where('enabled', \App\Models\User::ENABLED_YES)->get(['id', 'username', 'modcomment', 'lang']);
|
||||
if ($results->isEmpty()) {
|
||||
@@ -228,7 +228,7 @@ function delete_user(\Illuminate\Database\Eloquent\Builder $query, $reasonKey)
|
||||
);
|
||||
sql_query($sql);
|
||||
\App\Models\UserBanLog::query()->insert($userBanLogData);
|
||||
do_log("[DELETE_USER]($reasonKey): " . implode(', ', $uidArr));
|
||||
do_log("[DISABLE_USER]($reasonKey): " . implode(', ', $uidArr));
|
||||
return $uidArr;
|
||||
}
|
||||
|
||||
@@ -537,7 +537,7 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
||||
->whereRaw("added < FROM_UNIXTIME($deadtime)")
|
||||
->whereRaw("last_login < FROM_UNIXTIME($deadtime)")
|
||||
->whereRaw("last_access < FROM_UNIXTIME($deadtime)");
|
||||
delete_user($query, "cleanup.delete_user_unconfirmed");
|
||||
disable_user($query, "cleanup.disable_user_unconfirmed");
|
||||
$log = "delete unconfirmed accounts";
|
||||
do_log($log);
|
||||
if ($printProgress) {
|
||||
@@ -590,7 +590,7 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
||||
->where(function (\Illuminate\Database\Eloquent\Builder $query) use ($iniupload_main) {
|
||||
$query->where('uploaded', 0)->orWhere('uploaded', $iniupload_main);
|
||||
});
|
||||
delete_user($query, "cleanup.delete_user_no_transfer_alt_last_access_time");
|
||||
disable_user($query, "cleanup.disable_user_no_transfer_alt_last_access_time");
|
||||
}
|
||||
$log = "delete inactive user accounts, no transfer. Alt. 1: last access time";
|
||||
do_log($log);
|
||||
@@ -613,7 +613,7 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
||||
->where(function (\Illuminate\Database\Eloquent\Builder $query) use ($iniupload_main) {
|
||||
$query->where('uploaded', 0)->orWhere('uploaded', $iniupload_main);
|
||||
});
|
||||
delete_user($query, "cleanup.delete_user_no_transfer_alt_register_time");
|
||||
disable_user($query, "cleanup.disable_user_no_transfer_alt_register_time");
|
||||
}
|
||||
$log = "delete inactive user accounts, no transfer. Alt. 2: registering time";
|
||||
do_log($log);
|
||||
@@ -632,7 +632,7 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
||||
->where('status', 'confirmed')
|
||||
->where("class","<", $maxclass)
|
||||
->where("last_access","<", $dt);
|
||||
delete_user($query, "cleanup.delete_user_not_parked");
|
||||
disable_user($query, "cleanup.disable_user_not_parked");
|
||||
}
|
||||
$log = "delete inactive user accounts, not parked";
|
||||
do_log($log);
|
||||
@@ -651,7 +651,7 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
||||
->where('status', 'confirmed')
|
||||
->where("class","<", $maxclass)
|
||||
->where("last_access","<", $dt);
|
||||
delete_user($query, "cleanup.delete_user_parked");
|
||||
disable_user($query, "cleanup.disable_user_parked");
|
||||
}
|
||||
$log = "delete parked user accounts, parked";
|
||||
do_log($log);
|
||||
@@ -659,6 +659,22 @@ function docleanup($forceAll = 0, $printProgress = false) {
|
||||
printProgress($log);
|
||||
}
|
||||
|
||||
//destroy disabled accounts
|
||||
$destroyDisabledDays = get_setting('account.destroy_disabled');
|
||||
if ($destroyDisabledDays > 0) {
|
||||
$secs = $destroyDisabledDays*24*60*60;
|
||||
$dt = date("Y-m-d H:i:s",(TIMENOW - $secs));
|
||||
\App\Models\User::query()
|
||||
->where('enabled', 'no')
|
||||
->where("last_access","<", $dt)
|
||||
->delete();
|
||||
}
|
||||
$log = "destroy disabled accounts";
|
||||
do_log($log);
|
||||
if ($printProgress) {
|
||||
printProgress($log);
|
||||
}
|
||||
|
||||
//remove VIP status if time's up
|
||||
$res = sql_query("SELECT id, modcomment FROM users WHERE vip_added='yes' AND vip_until < NOW()") or sqlerr(__FILE__, __LINE__);
|
||||
if (mysql_num_rows($res) > 0)
|
||||
|
||||
@@ -2800,6 +2800,19 @@ if ($msgalert)
|
||||
}
|
||||
}
|
||||
|
||||
//seed box approval
|
||||
if (get_user_class() >= \App\Models\User::CLASS_ADMINISTRATOR && get_setting('seed_box.enabled') == 'yes') {
|
||||
$cacheKey = 'SEED_BOX_RECORD_APPROVAL_NONE';
|
||||
$toApprovalCounts = $Cache->get_value($cacheKey);
|
||||
if ($toApprovalCounts === false) {
|
||||
$toApprovalCounts = get_row_count('seed_box_records', 'where status = 0');
|
||||
$Cache->cache_value($cacheKey, $toApprovalCounts, 60);
|
||||
}
|
||||
if ($toApprovalCounts) {
|
||||
msgalert('/nexusphp/seed-box-records?tableFilters[status][value]=0', sprintf($lang_functions['text_seed_box_record_to_approval'], is_or_are($toApprovalCounts), $toApprovalCounts, add_s($toApprovalCounts)), 'darkred');
|
||||
}
|
||||
}
|
||||
|
||||
if (user_can('staffmem'))
|
||||
{
|
||||
|
||||
|
||||
@@ -329,6 +329,7 @@ $lang_functions = array
|
||||
'input_check_all' => "全选",
|
||||
'input_uncheck_all' => "全不选",
|
||||
'select_at_least_one_record' => '至少选择一条记录!',
|
||||
'text_seed_box_record_to_approval' => '有 %s%u 条待审核的 SeedBox 记录%s',
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -791,6 +791,9 @@ $lang_settings = array
|
||||
'row_upload_deny_approval_deny_count' => '拒绝发布审核不通过数',
|
||||
'text_upload_deny_approval_deny_count_note' => "当审核不通过的种子数大于等于此数值时,不允许发布。设置为 '0' 不使用此规则",
|
||||
'row_nfo_view_style_default' => 'NFO 默认查看样式',
|
||||
'row_destroy_disabled' => '彻底删除账号',
|
||||
'text_destroy_disabled_note_one' => '被封禁的账号如果连续',
|
||||
'text_destroy_disabled_note_two' => "天不登录,将被从数据库彻底物理删除。默认'500',请设置一个大于上边任何一种导致封禁的值。设为'0'来禁止此规则。",
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -336,6 +336,7 @@ $lang_functions = array
|
||||
'input_check_all' => "全選",
|
||||
'input_uncheck_all' => "全不選",
|
||||
'select_at_least_one_record' => '至少選擇一條記錄!',
|
||||
'text_seed_box_record_to_approval' => '有 %s%u 條待審核的 SeedBox 記錄%s',
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -791,6 +791,9 @@ $lang_settings = array
|
||||
'row_upload_deny_approval_deny_count' => '拒絕發布審核不通過數',
|
||||
'text_upload_deny_approval_deny_count_note' => "當審核不通過的種子數大於等於此數值時,不允許發布。設置為 '0' 不使用此規則",
|
||||
'row_nfo_view_style_default' => 'NFO 默認查看樣式',
|
||||
'row_destroy_disabled' => '徹底刪除賬號',
|
||||
'text_destroy_disabled_note_one' => '被封禁的賬號如果連續',
|
||||
'text_destroy_disabled_note_two' => "天不登錄,將被從數據庫徹底物理刪除。默認'500',請設置一個大於上邊任何一種導致封禁的值。設為'0'來禁止此規則。",
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -337,6 +337,7 @@ $lang_functions = array
|
||||
'input_check_all' => "Check All",
|
||||
'input_uncheck_all' => "Uncheck All",
|
||||
'select_at_least_one_record' => 'Select at least one record!',
|
||||
'text_seed_box_record_to_approval' => 'There %s%u not approval seed box record%s.',
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -791,6 +791,9 @@ $lang_settings = array
|
||||
'row_upload_deny_approval_deny_count' => 'Refuse to upload approval deny count',
|
||||
'text_upload_deny_approval_deny_count_note' => "When the number of torrents approval deny is greater than or equal to this value, publishing is not allowed. Set to '0' to not use this rule",
|
||||
'row_nfo_view_style_default' => 'NFO view style default',
|
||||
'row_destroy_disabled' => 'Delete account completely',
|
||||
'text_destroy_disabled_note_one' => 'Disabled accounts if they are continuously',
|
||||
'text_destroy_disabled_note_two' => "Days without logging in, will be physically deleted from the database completely. Default '500', please set a value greater than any of the above to cause disable. Set to '0' to disable this rule." ,
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -304,6 +304,7 @@ return array (
|
||||
8 => '5',
|
||||
9 => '10',
|
||||
),
|
||||
'destroy_disabled' => 500,
|
||||
),
|
||||
'torrent' =>
|
||||
array (
|
||||
|
||||
@@ -11,6 +11,7 @@ header("Pragma: no-cache" );
|
||||
|
||||
$torrentRep = new \App\Repositories\TorrentRepository();
|
||||
$claimRep = new \App\Repositories\ClaimRepository();
|
||||
$seedBoxRep = new \App\Repositories\SeedBoxRepository();
|
||||
$claimTorrentTTL = \App\Models\Claim::getConfigTorrentTTL();
|
||||
$id = intval($_GET['userid'] ?? 0);
|
||||
$type = $_GET['type'];
|
||||
@@ -22,7 +23,7 @@ if(!user_can('torrenthistory') && $id != $CURUSER["id"])
|
||||
function maketable($res, $mode = 'seeding')
|
||||
{
|
||||
global $lang_getusertorrentlistajax,$CURUSER,$smalldescription_main, $lang_functions, $id;
|
||||
global $torrentRep, $claimRep, $claimTorrentTTL;
|
||||
global $torrentRep, $claimRep, $claimTorrentTTL, $seedBoxRep;
|
||||
$showActionClaim = $showClient = false;
|
||||
switch ($mode)
|
||||
{
|
||||
@@ -107,6 +108,10 @@ function maketable($res, $mode = 'seeding')
|
||||
}
|
||||
default: break;
|
||||
}
|
||||
$shouldShowClient = false;
|
||||
if ($showClient && (user_can('userprofile') || $CURUSER['id'] == $id)) {
|
||||
$shouldShowClient = true;
|
||||
}
|
||||
$results = $torrentIdArr = [];
|
||||
while ($row = mysql_fetch_assoc($res)) {
|
||||
$results[] = $row;
|
||||
@@ -131,7 +136,7 @@ function maketable($res, $mode = 'seeding')
|
||||
|
||||
$ret = "<table border=\"1\" cellspacing=\"0\" cellpadding=\"5\" width=\"100%\"><tr><td class=\"colhead\" style=\"padding: 0px\">".$lang_getusertorrentlistajax['col_type']."</td><td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_name']."</td><td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_added']."</td>".
|
||||
($showsize ? "<td class=\"colhead\" align=\"center\"><img class=\"size\" src=\"pic/trans.gif\" alt=\"size\" title=\"".$lang_getusertorrentlistajax['title_size']."\" /></td>" : "").($showsenum ? "<td class=\"colhead\" align=\"center\"><img class=\"seeders\" src=\"pic/trans.gif\" alt=\"seeders\" title=\"".$lang_getusertorrentlistajax['title_seeders']."\" /></td>" : "").($showlenum ? "<td class=\"colhead\" align=\"center\"><img class=\"leechers\" src=\"pic/trans.gif\" alt=\"leechers\" title=\"".$lang_getusertorrentlistajax['title_leechers']."\" /></td>" : "").($showuploaded ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_uploaded']."</td>" : "") . ($showdownloaded ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_downloaded']."</td>" : "").($showratio ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_ratio']."</td>" : "").($showsetime ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_se_time']."</td>" : "").($showletime ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_le_time']."</td>" : "").($showcotime ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_time_completed']."</td>" : "").($showanonymous ? "<td class=\"colhead\" align=\"center\">".$lang_getusertorrentlistajax['col_anonymous']."</td>" : "");
|
||||
if ($showClient) {
|
||||
if ($shouldShowClient) {
|
||||
$ret .= sprintf('<td class="colhead" align="center">%s</td><td class="colhead" align="center">IP</td>', $lang_getusertorrentlistajax['col_client']);
|
||||
}
|
||||
$ret .= sprintf('<td class="colhead" align="center">%s</td>', $lang_functions['std_action']);
|
||||
@@ -217,8 +222,11 @@ function maketable($res, $mode = 'seeding')
|
||||
$ret .= "<td class=\"rowfollow\" align=\"center\">"."". str_replace(" ", "<br />", gettime($arr['completedat'],false)). "</td>";
|
||||
if ($showanonymous)
|
||||
$ret .= "<td class=\"rowfollow\" align=\"center\">".$arr['anonymous']."</td>";
|
||||
if ($showClient) {
|
||||
if ($shouldShowClient) {
|
||||
$ipArr = array_filter([$arr['ipv4'], $arr['ipv6']]);
|
||||
foreach ($ipArr as &$_ip) {
|
||||
$_ip = sprintf('<span class="nowrap">%s</span>', $_ip . $seedBoxRep->renderIcon($_ip, $arr['userid']));
|
||||
}
|
||||
$ret .= sprintf(
|
||||
'<td class="rowfollow" align="center">%s<br/>%s</td><td class="rowfollow" align="center">%s</td>',
|
||||
get_agent($arr['peer_id'], $arr['agent']), $arr['port'],
|
||||
|
||||
@@ -134,7 +134,7 @@ elseif ($action == 'savesettings_account') // save account
|
||||
'exutime', 'exudl', \App\Models\User::CLASS_EXTREME_USER . '_min_seed_points', 'exuprratio', 'exuderatio', \App\Models\User::CLASS_EXTREME_USER . '_alias',
|
||||
'uutime', 'uudl', \App\Models\User::CLASS_ULTIMATE_USER . '_min_seed_points', 'uuprratio', 'uuderatio', \App\Models\User::CLASS_ULTIMATE_USER . '_alias',
|
||||
'nmtime', 'nmdl', \App\Models\User::CLASS_NEXUS_MASTER . '_min_seed_points', 'nmprratio', 'nmderatio', \App\Models\User::CLASS_NEXUS_MASTER . '_alias',
|
||||
'getInvitesByPromotion'
|
||||
'getInvitesByPromotion', 'destroy_disabled'
|
||||
);
|
||||
GetVar($validConfig);
|
||||
$ACCOUNT = [];
|
||||
@@ -486,8 +486,12 @@ elseif ($action == 'authoritysettings') //Authority settings
|
||||
tr($lang_settings['row_see_banned_torrents'], $lang_settings['text_minimum_class'].classlist('seebanned',$maxclass,$AUTHORITY['seebanned'],0,true).$lang_settings['text_default'].get_user_class_name(UC_UPLOADER,false,true,true).$lang_settings['text_see_banned_torrents_note'],1);
|
||||
tr($lang_settings['row_vote_against_offers'], $lang_settings['text_minimum_class'].classlist('againstoffer',$maxclass,$AUTHORITY['againstoffer'],0,true).$lang_settings['text_default'].get_user_class_name(UC_USER,false,true,true).$lang_settings['text_vote_against_offers_note'],1);
|
||||
tr($lang_settings['row_allow_userbar'], $lang_settings['text_minimum_class'].classlist('userbar',$maxclass,$AUTHORITY['userbar'],0,true).$lang_settings['text_default'].get_user_class_name(UC_POWER_USER,false,true,true).$lang_settings['text_allow_userbar_note'],1);
|
||||
tr($lang_settings['row_save_settings'],"<input type='submit' name='save' value='".$lang_settings['submit_save_settings']."'>", 1);
|
||||
print ("</form>");
|
||||
|
||||
// tr(nexus_trans('permission.not-counting-downloaded.text'), $lang_settings['text_minimum_class'].classlist('not-counting-downloaded',$maxclass,$AUTHORITY['not-counting-downloaded'] ?? '',0,true).nexus_trans('permission.not-counting-downloaded.desc'),1);
|
||||
// tr(nexus_trans('permission.not-counting-hit-and-run.text'), $lang_settings['text_minimum_class'].classlist('not-counting-hit-and-run',$maxclass,$AUTHORITY['not-counting-hit-and-run'] ?? '',0,true).nexus_trans('permission.not-counting-hit-and-run.desc'),1);
|
||||
|
||||
tr($lang_settings['row_save_settings'],"<input type='submit' name='save' value='".$lang_settings['submit_save_settings']."'>", 1);
|
||||
print ("</form>");
|
||||
}
|
||||
elseif ($action == 'basicsettings') // basic settings
|
||||
{
|
||||
@@ -651,6 +655,9 @@ elseif ($action == 'accountsettings'){
|
||||
tr($lang_settings['row_delete_packed'],$lang_settings['text_delete_packed_note_one']."<input type='text' style=\"width: 50px\" name=deletepacked value='".(isset($ACCOUNT["deletepacked"]) ? $ACCOUNT["deletepacked"] : 400 )."'>".$lang_settings['text_delete_packed_note_two'], 1);
|
||||
tr($lang_settings['row_delete_unpacked'],$lang_settings['text_delete_unpacked_note_one']."<input type='text' style=\"width: 50px\" name=deleteunpacked value='".(isset($ACCOUNT["deleteunpacked"]) ? $ACCOUNT["deleteunpacked"] : 150 )."'>".$lang_settings['text_delete_unpacked_note_two'], 1);
|
||||
tr($lang_settings['row_delete_no_transfer'],$lang_settings['text_delete_transfer_note_one']."<input type='text' style=\"width: 50px\" name=deletenotransfer value='".(isset($ACCOUNT["deletenotransfer"]) ? $ACCOUNT["deletenotransfer"] : 60 )."'>".$lang_settings['text_delete_transfer_note_two']."<input type='text' style=\"width: 50px\" name=deletenotransfertwo value='".(isset($ACCOUNT["deletenotransfertwo"]) ? $ACCOUNT["deletenotransfertwo"] : 0 )."'>".$lang_settings['text_delete_transfer_note_three'], 1);
|
||||
tr($lang_settings['row_destroy_disabled'],$lang_settings['text_destroy_disabled_note_one']."<input type='text' style=\"width: 50px\" name=destroy_disabled value='".(isset($ACCOUNT["destroy_disabled"]) ? $ACCOUNT["destroy_disabled"] : 500 )."'>".$lang_settings['text_destroy_disabled_note_two'], 1);
|
||||
|
||||
|
||||
print("<tr><td colspan=2 align=center><b>".$lang_settings['text_user_promotion_demotion']."</b></td></tr>");
|
||||
tr($lang_settings['row_ban_peasant_one'].get_user_class_name(UC_PEASANT,false,false,true).$lang_settings['row_ban_peasant_two'],get_user_class_name(UC_PEASANT,false,true,true).$lang_settings['text_ban_peasant_note_one']."<input type='text' style=\"width: 50px\" name=deletepeasant value='".(isset($ACCOUNT["deletepeasant"]) ? $ACCOUNT["deletepeasant"] : 30 )."'>".$lang_settings['text_ban_peasant_note_two'], 1);
|
||||
$inputAlias = "0_alias";
|
||||
|
||||
@@ -13,7 +13,7 @@ begin_main_frame();
|
||||
$torrent_name = get_single_value("torrents", "name", "WHERE id = ".sqlesc($id));
|
||||
print("<h1 align=center>".$lang_viewsnatches['text_snatch_detail_for'] . "<a href=details.php?id=" . htmlspecialchars($id) . "><b>".htmlspecialchars($torrent_name)."</b></a></h1>");
|
||||
$count = get_row_count("snatched", "WHERE finished = 'yes' AND torrentid = ".sqlesc($id));
|
||||
|
||||
$seedBoxRep = new \App\Repositories\SeedBoxRepository();
|
||||
if ($count){
|
||||
$perpage = 25;
|
||||
list($pagertop, $pagerbottom, $limit) = pager($perpage, $count, $_SERVER["SCRIPT_NAME"] . "?id=" . htmlspecialchars($id) . "&" );
|
||||
@@ -53,7 +53,7 @@ if ($count){
|
||||
}
|
||||
else $username = get_username($arr['userid']);
|
||||
$reportImage = "<img class=\"f_report\" src=\"pic/trans.gif\" alt=\"Report\" title=\"".$lang_viewsnatches['title_report']."\" />";
|
||||
print("<tr$highlight><td class=rowfollow align=center>" . $username ."</td>".(user_can('userprofile') ? "<td class=rowfollow align=center>".$arr['ip']."</td>" : "")."<td class=rowfollow align=center>".$uploaded."@".$uprate.$lang_viewsnatches['text_per_second']."<br />".$downloaded."@".$downrate.$lang_viewsnatches['text_per_second']."</td><td class=rowfollow align=center>$ratio</td><td class=rowfollow align=center>$seedtime</td><td class=rowfollow align=center>$leechtime</td><td class=rowfollow align=center>".gettime($arr['completedat'],true,false)."</td><td class=rowfollow align=center>".gettime($arr['last_action'],true,false)."</td><td class=rowfollow align=center style='padding: 0px'>".($userrow['privacy'] != 'strong' || user_can('viewanonymous') ? "<a href=report.php?user={$arr['userid']}>$reportImage</a>" : $reportImage)."</td></tr>\n");
|
||||
print("<tr$highlight><td class=rowfollow align=center>" . $username ."</td>".(user_can('userprofile') || $arr['userid'] == $CURUSER['id'] ? "<td class=rowfollow align=center><span class='nowrap'>".$arr['ip'].$seedBoxRep->renderIcon($arr['ip'], $arr['userid'])."</span></td>" : "")."<td class=rowfollow align=center>".$uploaded."@".$uprate.$lang_viewsnatches['text_per_second']."<br />".$downloaded."@".$downrate.$lang_viewsnatches['text_per_second']."</td><td class=rowfollow align=center>$ratio</td><td class=rowfollow align=center>$seedtime</td><td class=rowfollow align=center>$leechtime</td><td class=rowfollow align=center>".gettime($arr['completedat'],true,false)."</td><td class=rowfollow align=center>".gettime($arr['last_action'],true,false)."</td><td class=rowfollow align=center style='padding: 0px'>".($userrow['privacy'] != 'strong' || user_can('viewanonymous') ? "<a href=report.php?user={$arr['userid']}>$reportImage</a>" : $reportImage)."</td></tr>\n");
|
||||
}
|
||||
print("</table>\n");
|
||||
print($pagerbottom);
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
return [
|
||||
'ban_user_with_leech_warning_expired' => 'Banned by system because of leech warning expired.',
|
||||
'delete_user_unconfirmed' => 'Disable by system because of unconfirmed excess deadline.',
|
||||
'delete_user_no_transfer_alt_last_access_time' => 'Disable inactive user accounts, no transfer. Alt: last access time.',
|
||||
'delete_user_no_transfer_alt_register_time' => 'Disable inactive user accounts, no transfer. Alt: register time.',
|
||||
'delete_user_not_parked' => 'Disable inactive user accounts, not parked.',
|
||||
'delete_user_parked' => 'Disable inactive user accounts, parked.',
|
||||
'disable_user_unconfirmed' => 'Disable by system because of unconfirmed excess deadline.',
|
||||
'disable_user_no_transfer_alt_last_access_time' => 'Disable inactive user accounts, no transfer. Alt: last access time.',
|
||||
'disable_user_no_transfer_alt_register_time' => 'Disable inactive user accounts, no transfer. Alt: register time.',
|
||||
'disable_user_not_parked' => 'Disable inactive user accounts, not parked.',
|
||||
'disable_user_parked' => 'Disable inactive user accounts, parked.',
|
||||
];
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
return [
|
||||
'ban_user_with_leech_warning_expired' => '上传警告到期,被系统禁用.',
|
||||
'delete_user_unconfirmed' => '超时未确认,被系统封禁.',
|
||||
'delete_user_no_transfer_alt_last_access_time' => '封禁非活跃的无流量账号,由最近访问时间断定.',
|
||||
'delete_user_no_transfer_alt_register_time' => '封禁非活跃的无流量账号,由注册时间时间断定.',
|
||||
'delete_user_not_parked' => '定时封禁未挂起的非活跃账号.',
|
||||
'delete_user_parked' => '定时封禁已挂起的非活跃账号.',
|
||||
'disable_user_unconfirmed' => '超时未确认,被系统封禁.',
|
||||
'disable_user_no_transfer_alt_last_access_time' => '封禁非活跃的无流量账号,由最近访问时间断定.',
|
||||
'disable_user_no_transfer_alt_register_time' => '封禁非活跃的无流量账号,由注册时间时间断定.',
|
||||
'disable_user_not_parked' => '定时封禁未挂起的非活跃账号.',
|
||||
'disable_user_parked' => '定时封禁已挂起的非活跃账号.',
|
||||
];
|
||||
|
||||
@@ -213,4 +213,12 @@ return [
|
||||
'text' => '允许个性条',
|
||||
'desc' => '允许用户使用个性条',
|
||||
],
|
||||
// 'not-counting-downloaded' => [
|
||||
// 'text' => '不计下载量',
|
||||
// 'desc' => '用户下载量不增加',
|
||||
// ],
|
||||
// 'not-counting-hit-and-run' => [
|
||||
// 'text' => '不计 H&R',
|
||||
// 'desc' => '下载带 H&R 标记的种子不记 H&R。注意:等级为 VIP 是固定不计的',
|
||||
// ],
|
||||
];
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
return [
|
||||
'ban_user_with_leech_warning_expired' => '上傳警告到期,被系統禁用.',
|
||||
'delete_user_unconfirmed' => '超時未確認,被系統封禁.',
|
||||
'delete_user_no_transfer_alt_last_access_time' => '封禁非活躍的無流量賬號,由最近訪問時間斷定.',
|
||||
'delete_user_no_transfer_alt_register_time' => '封禁非活躍的無流量賬號,由註冊時間時間斷定.',
|
||||
'delete_user_not_parked' => '定時封禁未掛起的非活躍賬號.',
|
||||
'delete_user_parked' => '定時封禁已掛起的非活躍賬號.',
|
||||
'disable_user_unconfirmed' => '超時未確認,被系統封禁.',
|
||||
'disable_user_no_transfer_alt_last_access_time' => '封禁非活躍的無流量賬號,由最近訪問時間斷定.',
|
||||
'disable_user_no_transfer_alt_register_time' => '封禁非活躍的無流量賬號,由註冊時間時間斷定.',
|
||||
'disable_user_not_parked' => '定時封禁未掛起的非活躍賬號.',
|
||||
'disable_user_parked' => '定時封禁已掛起的非活躍賬號.',
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user