mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-03 14:10:57 +08:00
skip offer + pt-gen fill subtitle
This commit is contained in:
@@ -61,15 +61,14 @@ class TagResource extends Resource
|
||||
Tables\Columns\TextColumn::make('padding')->label(__('label.tag.padding')),
|
||||
Tables\Columns\TextColumn::make('border_radius')->label(__('label.tag.border_radius')),
|
||||
Tables\Columns\TextColumn::make('priority')->label(__('label.priority'))->sortable(),
|
||||
Tables\Columns\TextColumn::make('torrents_count')->label(__('label.tag.torrents_count')),
|
||||
Tables\Columns\TextColumn::make('updated_at')->dateTime()->label(__('label.updated_at')),
|
||||
])
|
||||
->defaultSort('priority', 'desc')
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->actions([
|
||||
Tables\Actions\EditAction::make(),
|
||||
])
|
||||
->actions(self::getActions())
|
||||
->bulkActions([
|
||||
Tables\Actions\DeleteBulkAction::make(),
|
||||
]);
|
||||
@@ -90,4 +89,17 @@ class TagResource extends Resource
|
||||
'edit' => Pages\EditTag::route('/{record}/edit'),
|
||||
];
|
||||
}
|
||||
|
||||
private static function getActions(): array
|
||||
{
|
||||
$actions = [];
|
||||
$actions[] = Tables\Actions\Action::make('detach_torrents')
|
||||
->label(__('admin.resources.tag.detach_torrents'))
|
||||
->requiresConfirmation()
|
||||
->action(function ($record) {
|
||||
$record->torrent_tags()->delete();
|
||||
});
|
||||
$actions[] = Tables\Actions\EditAction::make();
|
||||
return $actions;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,8 +4,10 @@ namespace App\Filament\Resources\Torrent\TagResource\Pages;
|
||||
|
||||
use App\Filament\PageList;
|
||||
use App\Filament\Resources\Torrent\TagResource;
|
||||
use App\Models\Tag;
|
||||
use Filament\Pages\Actions;
|
||||
use Filament\Resources\Pages\ListRecords;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
|
||||
class ListTags extends PageList
|
||||
{
|
||||
@@ -17,4 +19,11 @@ class ListTags extends PageList
|
||||
Actions\CreateAction::make(),
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
protected function getTableQuery(): Builder
|
||||
{
|
||||
return Tag::query()->withCount('torrents');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -53,6 +53,11 @@ class Tag extends NexusModel
|
||||
return $this->belongsToMany(Torrent::class, 'torrent_tags', 'tag_id', 'torrent_id');
|
||||
}
|
||||
|
||||
public function torrent_tags(): \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
{
|
||||
return $this->hasMany(TorrentTag::class, 'tag_id');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.7.24');
|
||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2022-09-03');
|
||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2022-09-04');
|
||||
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
||||
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
||||
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
||||
|
||||
@@ -137,6 +137,7 @@ $lang_offers = array
|
||||
'text_rule_three_two' => "小时后未被通过,它将被删除。",
|
||||
'text_rule_four_one' => "如在候选通过后",
|
||||
'text_rule_four_two' => "小时内用户没有发布种子,通过的候选将被删除。",
|
||||
'text_rule_skip_offer' => "当用户通过的候选数大于等于<b>%d</b>时,可直接发布种子,无需经过候选。",
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -769,6 +769,8 @@ $lang_settings = array
|
||||
'row_harem_addition' => '后宫加成',
|
||||
'text_user_would_get_by_harem' => '用户将获得直属后宫魔力值的',
|
||||
'text_harem_addition_note' => '倍作为奖励(系数,如填入 0.01,后宫获得 100 魔力则奖励用户 100 * 0.01 = 1)',
|
||||
'row_offer_skip_approved_count' => '直接发布候选通过数',
|
||||
'text_offer_skip_approved_count_note' => '当通过的候选数大于等于此数值时,可直接发布不用提交候选。',
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -137,6 +137,7 @@ $lang_offers = array
|
||||
'text_rule_three_two' => "小時后未被通過,它將被移除。",
|
||||
'text_rule_four_one' => "如在候選通過后",
|
||||
'text_rule_four_two' => "小時內用戶沒有發布種子,通過的候選將被移除。",
|
||||
'text_rule_skip_offer' => "當用戶通過的候選數大於等於<b>%d</b>時,可直接發布種子,無需經過候選。",
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -769,6 +769,8 @@ $lang_settings = array
|
||||
'row_harem_addition' => '後宮加成',
|
||||
'text_user_would_get_by_harem' => '用戶將獲得直屬後宮魔力值的',
|
||||
'text_harem_addition_note' => '倍作為獎勵(系數,如填入 0.01,後宮獲得 100 魔力則獎勵用戶 100 * 0.01 = 1)',
|
||||
'row_offer_skip_approved_count' => '直接發布候選通過數',
|
||||
'text_offer_skip_approved_count_note' => '當通過的候選數大於等於此數值時,可直接發布不用提交候選。',
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -137,6 +137,7 @@ $lang_offers = array
|
||||
'text_rule_three_two' => " hours after added.",
|
||||
'text_rule_four_one' => "Offers will be deleted if not uploaded ",
|
||||
'text_rule_four_two' => " hours after being approved.",
|
||||
'text_rule_skip_offer' => "When the number of offers passed by the user is greater than or equal to <b>%d</b>, user can upload torrents directly without going through offers section.",
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -769,6 +769,8 @@ $lang_settings = array
|
||||
'row_harem_addition' => 'Harem addition',
|
||||
'text_user_would_get_by_harem' => 'The user will receive the bonus value of the direct harem',
|
||||
'text_harem_addition_note' => 'times as reward (factor, e.g. fill in 0.01, if harem gets 100 bonus then reward user 100 * 0.01 = 1)',
|
||||
'row_offer_skip_approved_count' => 'Direct upload offer allow count',
|
||||
'text_offer_skip_approved_count_note' => 'When the number of approved offer is greater than or equal to this value, you can upload directly without submitting offers.',
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
@@ -91,6 +91,7 @@ return array (
|
||||
'site_language_enabled' => \App\Models\Language::DEFAULT_ENABLED,
|
||||
'show_top_uploader' => 'no',
|
||||
'imdb_language' => 'en-US',
|
||||
'offer_skip_approved_count' => 5,
|
||||
),
|
||||
'smtp' =>
|
||||
array (
|
||||
|
||||
@@ -39,9 +39,9 @@ function getPtGen($params)
|
||||
$rep = new Nexus\PTGen\PTGen();
|
||||
$result = $rep->generate($params['url']);
|
||||
if ($rep->isRawPTGen($result)) {
|
||||
return $result['format'];
|
||||
return $result;
|
||||
} elseif ($rep->isIyuu($result)) {
|
||||
return $result['data']['format'];
|
||||
return $result['data'];
|
||||
} else {
|
||||
return '';
|
||||
}
|
||||
|
||||
9
public/js/ptgen.js
vendored
9
public/js/ptgen.js
vendored
@@ -1,5 +1,6 @@
|
||||
jQuery('.btn-get-pt-gen').on('click', function () {
|
||||
let input = jQuery(this).closest('td').find('[data-pt-gen]')
|
||||
let form = jQuery(this).closest('form')
|
||||
let value = input.val().trim()
|
||||
if (value == '') {
|
||||
return
|
||||
@@ -17,6 +18,12 @@ jQuery('.btn-get-pt-gen').on('click', function () {
|
||||
alert(response.msg)
|
||||
return
|
||||
}
|
||||
doInsert(response.data, '', false)
|
||||
doInsert(response.data.format, '', false)
|
||||
if (response.data.aka) {
|
||||
form.find("input[name=small_descr]").val(response.data.aka.join("/"))
|
||||
}
|
||||
if (response.data.imdb_link) {
|
||||
form.find("input[name=url]").val(response.data.imdb_link)
|
||||
}
|
||||
}, 'json')
|
||||
})
|
||||
|
||||
@@ -699,6 +699,10 @@ begin_frame($lang_offers['text_offers_section'], true,10,"100%","center");
|
||||
print("<p align=\"left\"><b><font size=\"5\">".$lang_offers['text_rules']."</font></b></p>\n");
|
||||
print("<div align=\"left\"><ul>");
|
||||
print("<li>".$lang_offers['text_rule_one_one'].get_user_class_name($upload_class, false, true, true).$lang_offers['text_rule_one_two'].get_user_class_name($addoffer_class, false, true, true).$lang_offers['text_rule_one_three']."</li>\n");
|
||||
$offerSkipApprovedCount = get_setting('main.offer_skip_approved_count');
|
||||
if (is_numeric($offerSkipApprovedCount) && $offerSkipApprovedCount > 0) {
|
||||
print("<li>".sprintf($lang_offers['text_rule_skip_offer'], $offerSkipApprovedCount)."</li>\n");
|
||||
}
|
||||
print("<li>".$lang_offers['text_rule_two_one']."<b>".$minoffervotes."</b>".$lang_offers['text_rule_two_two']."</li>\n");
|
||||
if ($offervotetimeout_main)
|
||||
print("<li>".$lang_offers['text_rule_three_one']."<b>".($offervotetimeout_main / 3600)."</b>".$lang_offers['text_rule_three_two']."</li>\n");
|
||||
|
||||
@@ -42,7 +42,7 @@ if ($action == 'savesettings_main') // save main
|
||||
'showpolls','showstats','showlastxtorrents', 'showtrackerload','showshoutbox','showfunbox','showoffer','sptime','showhelpbox','enablebitbucket',
|
||||
'smalldescription','altname','extforum','extforumurl','defaultlang','defstylesheet', 'donation','spsct','browsecat','specialcat','waitsystem',
|
||||
'maxdlsystem','bitbucket','torrentnameprefix', 'showforumstats','verification','invite_count','invite_timeout', 'seeding_leeching_time_calc_start',
|
||||
'startsubid', 'logo', 'showlastxforumposts', 'enable_technical_info', 'site_language_enabled', 'show_top_uploader', 'imdb_language',
|
||||
'startsubid', 'logo', 'showlastxforumposts', 'enable_technical_info', 'site_language_enabled', 'show_top_uploader', 'imdb_language', 'offer_skip_approved_count'
|
||||
);
|
||||
GetVar($validConfig);
|
||||
$MAIN = [];
|
||||
@@ -844,6 +844,8 @@ JS;
|
||||
tr($lang_settings['row_min_offer_votes'],"<input type='text' style=\"width: 100px\" name=minoffervotes value='".($MAIN["minoffervotes"] ? $MAIN["minoffervotes"] : 15)."'> ".$lang_settings['text_min_offer_votes_note'], 1);
|
||||
tr($lang_settings['row_offer_vote_timeout'],"<input type='text' style=\"width: 100px\" name=offervotetimeout value='".(isset($MAIN["offervotetimeout"]) ? $MAIN["offervotetimeout"] : 259200)."'> ".$lang_settings['text_offer_vote_timeout_note'], 1);
|
||||
tr($lang_settings['row_offer_upload_timeout'],"<input type='text' style=\"width: 100px\" name=offeruptimeout value='".(isset($MAIN["offeruptimeout"]) ? $MAIN["offeruptimeout"] : 86400)."'> ".$lang_settings['text_offer_upload_timeout_note'], 1);
|
||||
tr($lang_settings['row_offer_skip_approved_count'],"<input type='text' style=\"width: 100px\" name=offer_skip_approved_count value='".($MAIN["offer_skip_approved_count"] ?? '')."'> ".$lang_settings['text_offer_skip_approved_count_note'], 1);
|
||||
|
||||
tr($lang_settings['row_max_subtitle_size'],"<input type='text' style=\"width: 100px\" name=maxsubsize value='".(isset($MAIN["maxsubsize"]) ? $MAIN["maxsubsize"] : 3145728)."'> ". $lang_settings['text_max_subtitle_size_note'], 1);
|
||||
tr($lang_settings['row_posts_per_page'],"<input type='text' style=\"width: 100px\" name=postsperpage value='".($MAIN["postsperpage"] ? $MAIN["postsperpage"] : 10)."'> ".$lang_settings['text_posts_per_page_note'], 1);
|
||||
tr($lang_settings['row_topics_per_page'],"<input type='text' style=\"width: 100px\" name=topicsperpage value='".($MAIN["topicsperpage"] ? $MAIN["topicsperpage"] : 20)."'> ".$lang_settings['text_topics_per_page_note'], 1);
|
||||
|
||||
@@ -8,9 +8,17 @@ parked();
|
||||
if ($CURUSER["uploadpos"] == 'no')
|
||||
stderr($lang_upload['std_sorry'], $lang_upload['std_unauthorized_to_upload'],false);
|
||||
|
||||
if ($enableoffer == 'yes')
|
||||
$has_allowed_offer = get_row_count("offers","WHERE allowed='allowed' AND userid = ". sqlesc($CURUSER["id"]));
|
||||
else $has_allowed_offer = 0;
|
||||
if ($enableoffer == 'yes') {
|
||||
$offerSkipApprovedCount = get_setting('main.offer_skip_approved_count');
|
||||
$allowCount = get_row_count("offers","WHERE allowed='allowed' AND userid = ". sqlesc($CURUSER["id"]));
|
||||
if (is_numeric($offerSkipApprovedCount) && $offerSkipApprovedCount > 0 && $allowCount >= $offerSkipApprovedCount) {
|
||||
$has_allowed_offer = true;
|
||||
} else {
|
||||
$has_allowed_offer = false;
|
||||
}
|
||||
} else {
|
||||
$has_allowed_offer = false;
|
||||
}
|
||||
$uploadfreely = user_can_upload("torrents");
|
||||
$allowtorrents = ($has_allowed_offer || $uploadfreely);
|
||||
$allowspecial = user_can_upload("music");
|
||||
|
||||
@@ -91,5 +91,8 @@ return [
|
||||
'seed_box_record' => [
|
||||
'toggle_status' => 'Change status',
|
||||
],
|
||||
'tag' => [
|
||||
'detach_torrents' => 'Detach all torrents',
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
@@ -160,6 +160,7 @@ return [
|
||||
'margin' => 'Margin',
|
||||
'padding' => 'Padding',
|
||||
'border_radius' => 'Border radius',
|
||||
'torrents_count' => 'Torrents count',
|
||||
],
|
||||
'agent_allow' => [
|
||||
'label' => 'Agent allow',
|
||||
|
||||
@@ -91,5 +91,8 @@ return [
|
||||
'seed_box_record' => [
|
||||
'toggle_status' => '更改状态',
|
||||
],
|
||||
'tag' => [
|
||||
'detach_torrents' => '分离所有种子',
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
@@ -159,6 +159,7 @@ return [
|
||||
'margin' => '外边距',
|
||||
'padding' => '内边距',
|
||||
'border_radius' => '边框圆角',
|
||||
'torrents_count' => '种子数',
|
||||
],
|
||||
'agent_allow' => [
|
||||
'label' => '允许客户端',
|
||||
|
||||
@@ -91,5 +91,8 @@ return [
|
||||
'seed_box_record' => [
|
||||
'toggle_status' => '更改狀態',
|
||||
],
|
||||
'tag' => [
|
||||
'detach_torrents' => '分離所有種子',
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
@@ -160,6 +160,7 @@ return [
|
||||
'margin' => '外邊距',
|
||||
'padding' => '內邊距',
|
||||
'border_radius' => '邊框圓角',
|
||||
'torrents_count' => '種子數',
|
||||
],
|
||||
'agent_allow' => [
|
||||
'label' => '允許客戶端',
|
||||
|
||||
Reference in New Issue
Block a user